/*
Font Family
font-family: 'Lato', sans-serif;
font-family: 'Noto Sans JP', sans-serif;

Web Font
【>】
<span class="material-icons-round">chevron_right</span>
e5cc

【<】
<span class="material-icons-round">chevron_left</span>
e5cb

【↑】
<span class="material-icons-round">expand_less</span>
e5ce

【↓】
<span class="material-icons-round">expand_more</span>
e5cf

【menu】
<span class="material-icons-round">menu</span>
e5d2

【close】
<span class="material-icons-round">close</span>
e5cd

【丸下矢印】
<span class="material-icons-round">expand_circle_down</span>
e7cd

【menu 点付き】
<span class="material-icons-round">format_list_bulleted</span>
e241

【home】
<span class="material-icons-round">home</span>
e88a

【window】
<span class="material-icons-round">open_in_new</span>
e89e

【pdf】
<span class="material-icons-round">picture_as_pdf</span>
e415

【拡大】
<span class="material-icons-round">zoom_in</span>
e8ff
*/

/* ==================================================
   shared layout styles - 共通スタイル（全テンプレート向け）
   ================================================== */

:root {
    --main-theme-color: #2896D2;
    --sub-theme-color: #7EC0E4;
    --bg-blue-color: #E9F6FB;
    --bg-blue-color2: #6BC1E5;
    --bg-beige-color: #F7F5ED;
    --bg-gray-color: #f8f8f8;
    --form-bg-header: #EDF7FC;
    --accent-theme-color: #F9A23A;
    --title-bg-color: #F1F1F1;
    --border-base-color: #D9D9D9;
    --main-font-color: #666666;
    --sub-font-color: #808080;
    --sub-font-color2: #8F8F8F;
    --button-font-color: #9B9B9B;}

* {
  box-sizing: border-box;
  color: var(--main-font-color);
  font-family: 'Noto Sans JP', sans-serif;
  list-style: none;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.visually-hidden {
  position: fixed !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.ft-bold {
  font-weight: bold;
}

.ft-18 {
  font-size: 18px !important;
}

.section-block__title {
  margin: 0 auto 35px;
  text-align: center;
  padding: 0 15px;
  width: 100%;
}

.section-block__title h2 {
  font-size: 32px;
}
    /* font-size: 10px; */
a:hover,
a img:hover {
    opacity: .9;
}
/* (img max-width/height is now in shared layout styles) */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
button {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
table {
    border: 1px solid var(--border-base-color);
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
}
table th,
table td {
    border: 1px solid var(--border-base-color);
    padding: 20px;
}
/* .visually-hidden, .pc, .sp, .ft-bold, .ft-18 are now in shared layout styles */
.container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
/* header */
.header {
    background: #fff;
}

@media screen and (max-width: 768px) {
    .header {
        position: fixed;
        z-index: 10000;
        width: 100%;
    }
}



.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    max-width: 1280px;
}
.header-left {
    display: inline-block;
    padding-left: 25px;
}

.header-nav__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.header-nav__item {
    display: inline-block;
    text-align: center;
}
.header-nav__item:not(:last-child) {
    margin-right: 25px;
}
.header-nav__item:first-child {
    margin-right: 40px;
}
.header-nav__item:nth-child(2) {
    margin-right: 23px;
}
.header-nav__item a {
    display: block;
}
.header-nav__accent-btn a {
    background: var(--accent-theme-color);
    display: inline-block;
    height: 100%;
    padding: 10px 22px;
}
.header-nav__item img {
    height: 30px;
}
.header-nav__list li:nth-child(2) img {
    height: 26px;
    display: block;
    margin: 2px auto 0;
}
.header-nav__item a p {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    margin: 5px 0 0;
}
.header-nav__list li:nth-child(2) p {
    margin: 9px 0 0;
    position: relative;
    top: 1px;
}
.header-nav__item a p span {
    color: var(--main-font-color);
    font-size: 15px;
    position: static;
}
.header-nav__accent-btn a p {
    color: #fff;
    font-weight: bold;
}

/* footer */

.footer {
    background: #fff;
    margin-top: auto;
}
.footer-inner {
    padding: 50px 0 0;
}
.footer-logo {
    text-align: center;
}
.footer-address {
    margin: 15px 0 0;
}
.footer-address p {
    font-size: 14px;
    text-align: center;
}
.footer-nav {
    padding: 35px 0 0;
}
.footer-nav__list {
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer-nav__list li {
    display: inline-block;
}
.footer-nav__list li:not(:last-child) {
    border-right: 1px solid var(--border-base-color);
}
.footer-nav__list li a {
    display: block;
    font-size: 14px;
    text-align: center;
    padding: 0 25px;
    width: 100%;
}
.footer-logo__sub {
    padding: 35px 0 50px;
    text-align: center;
}
.footer-copyright {
    background: var(--main-theme-color);
    padding: 15px 0;
}
.footer-copyright p {
    color: #fff;
    font-size: 13px;
    text-align: center;
}

/* main */
.main {
    margin: 0 auto;
    width: 100%;
    /* max-width: 1280px; */
}
/* title */
/* .section-block__title, .section-block__title h2 are now in shared layout styles */
/* sign */
.sign-contents {
    line-height: 0;
    position: relative;
}
.sign-contents img {
    width: 100%;
}
.sign-contents h2 {
    color: #fff;
    font-size: 3.1vw;
    font-weight: normal;
    line-height: 1.5em;
    letter-spacing: 0px;
    position: absolute;
    bottom: 13%;
    left: 11%;
    margin: auto;
    text-shadow: 0 2px 15px rgb(0 0 0);
    width: 90%;
    max-width: max-content;
}

.sign-contents p {
    position: absolute;
    width: 12%;
    left: 81.7%;
    bottom: 7.8%;
}
/* information */
.information-content {
    background: var(--bg-blue-color);
    padding: 50px 0;
}

.information-content__top {
    background: var(--bg-blue-color);
}
.information-content_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 850px;
    margin: 0 auto;
    padding: 70px 0;
}

.information-content__item {
    width: 200px;
    height: 200px;
    border-radius: 20px;
    overflow: hidden;
}

.information-content__lead .service-block__btn {
    margin: 0;
}

.information-content__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.information-content__lead {
    width: 590px;
    font-size: 21px;
}

.information-content__lead p {
    margin-bottom: 25px;
}

.information-sphide {
    display: none;
}

.information-content__btn {
    display: flex;
    gap: 30px;
}

.service-block__btnOrange {
    width: 60%;
    min-width: 280px;
    margin: 0 auto;
}

.service-block__btnOrange a {
    border: 2px solid var(--accent-theme-color);
    border-radius: 50px;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 13px 0;
    position: relative;
    text-align: center;
    width: 100%;
    background: var(--accent-theme-color);
    color: #fff;
}

.service-block__btnOrange img {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}



@media screen and (max-width: 768px) {
    .information-content_inner {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        margin: 0 auto;
        padding: 70px 0;
    }
    
    .information-content__item {
        width: 50vw;
        height: 50vw;
        border-radius: 20px;
        overflow: hidden;
    }
    
    .information-content__item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    .information-content__lead {
        width: auto;
        margin-top: 25px;
        padding: 0 20px;
        font-size: 21px;
    }
    
    .information-content__lead p {
        margin: 0 auto 25px;
    }

    .information-content__lead .service-block__btn {
        margin: 0 auto;
    }

    .information-sphide {
        display: block;
    }
    .information-content__btn {
        flex-direction: column;
    }

    .service-block__btnOrange {
        padding: 10px 0;
    }

    .service-block__btnOrange a {
        padding: 8px 0;
    }
}


.information-content__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0;
    width: 90%;
    padding: 50px 0;
}
.information-content__inner h2 {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
}

.information-content__inner h2 div {
    transform: translateY(4px);
}

.information-content__right {
    width: 75%;
}
.information-content__left h2 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.information-content__left h2 p {
    font-size: 20px;
    margin-left: 10px;
}

.information-content__list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.information-content__list dt {
    font-size: 16px;
    margin: 0 0 15px;
    width: 80%;
}
.information-content__list dd {
    color: var(--sub-theme-color);
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 15px;
    width: 20%;
}
/* top service */
.service-information {
    padding: 50px 0 80px;
}
.service-block__body {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0;
    width: 90%;
    max-width: 1000px;
}
.service-block__item {
    width: 48%;
}
.service-block__image {
    margin: 0 0 15px;
    padding: 0 0 15px;
    position: relative;
}
.service-block__icon {
    background: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
    margin: auto;
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    width: 70px;
}
.service-block__text {
    margin: 0 0 25px;
    text-align: center;
}
.service-block__text h3 {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 10px;
}
.service-block__text p {
    font-size: 16px;
}
.service-block__btn {
    margin: 0 auto;
    width: 60%;
    min-width: 280px;
}
.service-block__btn a {
    background: var(--main-theme-color);
    border-radius: 50px;
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 15px 0;
    position: relative;
    text-align: center;
}
.service-block__btn a span {
    color: #fff;
    display: flex;
    align-items: center;
    font-weight: 600;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
}
/* 勧誘方針 お問い合わせ窓口 */
.contents-body__contact-info {
    border: 8px solid var(--bg-blue-color);
    border-radius: 10px;
    padding: 40px 50px;
}
.contact-info__text h3 {
    font-size: 20px;
    font-weight: bold;
}
.address,
.address span {
    font-size: 14px;
}
.address span {
    display: inline-block;
}
/* sitemap */
.sitemap-contents {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
.sitemap-contents__link-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
}
.sitemap-contents__link-list li {
    margin: 0 0 10px 0;
}
.sitemap-contents__link-list li:not(:last-child) {
    margin: 0 25px 10px 0;
}
.sitemap-contents__link-list li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.sitemap-contents__link-list li a span {
    color: var(--main-theme-color);
}
.sitemap-contents__link-list li a p {
    font-size: 16px;
}
/* cancer */
.cancer-contents {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
/* plague */
.plague-contents {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
.contents-body__plague-contact {
    border: 8px solid var(--bg-blue-color);
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: 0 auto 35px;
    padding: 40px 30px;
    width: 100%;
}
.plague-contact__text {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    width: 75%;
}
.plague-contact__text-left {
    width: 50%;
}
.plague-contact__text-right {
    width: 48%;
}
.plague-contact__text-left h3 {
    font-size: 20px;
}
.plague-contact__btn {
    width: 25%;
}
.plague-contact__btn a {
    background: var(--accent-theme-color);
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    margin: 0 auto;
    padding: 8px 0;
    text-align: center;
    width: 95%;
    max-width: 220px;
}
.plague-contact__btn a p {
    color: #fff;
    font-weight: bold;
    margin: 0 0 0 15px;
}
.plague-contact__btn .plague-contact__dantai {
    margin-bottom: 20px;
    background-color: #dee492;
    color: var(--main-font-color);
}
.plague-contact__btn .plague-contact__dantai p {
    color: var(--main-font-color);
}

/* injury */
.injury-contents {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
.contents-contact__other-text {
    margin: 0 auto;
    padding: 50px 0;
    width: 90%;
    max-width: 1000px;
}
.contents-contact__other-text p {
    font-size: 16px;
}
/* contact block */
.coop-contents__popup-contact,
.contents-contact__block {
    background: var(--bg-gray-color);
    border-radius: 10px;
    margin: 0 auto;
    padding: 50px 0;
 /*    width: 90%;*/
    max-width: 1000px;
}
.popup-content__btn,
.contents-contact__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 80%;
}
.contents-contact__inner a,
.popup-content__btn a {
    border: 2px solid var(--accent-theme-color);
    border-radius: 50px;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 15px 0;
    position: relative;
    text-align: center;
    width: 100%;
    max-width: 280px;
}
.contents-contact__def-btn {
    background: #fff;
    margin: 0 25px 0 0;
}
.contents-contact__web-btn {
    background: var(--accent-theme-color);
    color: #fff;
}
.popup-content__btn a span,
.contents-contact__inner a span {
    color: var(--accent-theme-color);
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
.popup-content__btn a.contents-contact__web-btn span,
.contents-contact__inner a.contents-contact__web-btn span {
    color: #fff;
}
.popup-content__btn a {
    border-radius: 50px;
}
/* coop */
.coop-service {
    background: var(--bg-beige-color);
    border-radius: 10px;
    margin: 0 auto 50px;
    padding: 45px 45px 30px;
    width: 90%;
    max-width: 1000px;
}
.coop-service__inner h2 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    margin: 0 0 25px;
    text-align: center;
}
.coop-service__inner h2 span {
    color: var(--main-theme-color);
    font-weight: bold;
    margin-right: 10px;
}
.coop-service__list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.coop-service__list li {
    display: inline-block;
    margin: 0 0 15px 25px;
}
.coop-service__list li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.coop-service__list li a span {
    background: var(--main-theme-color);
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20px;
    margin: 0 5px 0 0;
    text-align: center;
    transform: rotate(90deg);
    width: 20px;
}
.coop-service__list li a p {
    font-size: 16px;
}

.coop-contents {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
.coop-contents__flex-list {
    display: flex;
    justify-content: space-between;
}
.coop-contents__flex-list dl {
    width: 48%;
}
.coop-contents__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.coop-contents__list::before,
.coop-contents__list::after {
    content: "";
    display: block;
    width: 23.5%;
}
.coop-contents__list::before {
    order: 1;
}
.coop-contents__list li {
    border: 1px solid var(--border-base-color);
    border-radius: 10px;
    cursor: pointer;
    margin: 0 0 25px;
    padding: 20px;
    position: relative;
    width: 23.5%;
}
.coop-contents__flex-list .coop-contents__list li {
    width: 100%;
}
.web-application__icon::after {
    background: #f17c24;
    border-radius: 10px 0 10px 0;
    content: "WEB申込可能";
    color: #fff;
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    padding: 5px 0;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    width: 108px;
}
.coop-contents__list-image {
    margin: 0 0 15px;
    text-align: center;
}
.coop-contents__list-text h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px;
}
.coop-contents__list-text p {
    font-size: 16px;
}

.coop-contents__popup {
    background: #fff;
    border-radius: 10px;
    display: none;
    justify-content: center;
    align-items: center;
    max-height: 80vh;
    height: max-content;
    padding: 20px 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 85%;
    max-width: 840px;
    z-index: 2;
}
.popup-contents__main {
    background: #fff;
    border-radius: 10px;
    height: max-content;
    max-height: 75vh;
    margin: 0 auto;
    margin-top: 20px;
    overflow-y: scroll;
    width: 100%;
    max-width: 840px;
}
.popup-contents__main-inner {
    padding: 25px;
}
.popup-contents__main-inner h2 {
    font-size: 20px;
    margin: 0 auto 15px;
    text-align: center;
}
.coop-contents__popup-image {
    overflow: hidden;
    position: relative;
    text-align: center;
}
.coop-contents__popup-contact {
    background: var(--bg-beige-color);
    margin: 35px 0 0;
    width: 100%;
}
.coop-contents__popup-text a {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 10px 0;
}
.coop-contents__popup-text a span {
    color: #7EC0E4;
}
.coop-contents__popup-text a p {
    color: #7EC0E4;
    font-size: 16px;
    text-decoration: underline;
}
.popup-contents__close {
    background: var(--main-theme-color);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    position: absolute;
    top: -25px;
    right: -25px;
    width: 50px;
    z-index: 10000;
}
.coop-contents__popup-bg {
    background: rgba(0, 0, 0, .5);
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
.popup-contents__close {
    cursor: pointer;
}
.popup-contents__close span {
    color: #fff;
}
.contact-insurance .contact-block__left {
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
/* insurance */
.insurance-contents {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
.insurance-body__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.insurance-body__list.flex-start {
    align-items: flex-start;
    margin: 0;
}
.insurance-body__list.flex-column {
    flex-direction: column;
}
.insurance-body__list.mini-bn.flex-start {
    justify-content: flex-start;
    margin: 0 0 35px;
}
.insurance-body__list li {
    margin: 0 0 25px;
    width: 48%;
}
.insurance-body__list li:first-child {
    width: 100%;
}
.insurance-body__list .insurance-body__list-item {
    border: 1px solid var(--border-base-color);
    border-radius: 10px;
    padding: 15px;
    width: 48%;
}
@media screen and (min-width: 769px) {
    .insurance-body__list-anikom li:first-of-type {
        display: flex;
        width: 100% !important;
        gap: 25px;
    }
    .insurance-body__list-anikom li:first-of-type a {
        min-width: 480px;
        width: 480px;
    }
}
.insurance-body__list.flex-start li:first-child,
.insurance-body__list .insurance-body__list-item:first-child {
    width: 48%;
}
.insurance-body__list.mini-bn.flex-start li {
    display: inline-block;
    margin: 0 25px 0 0;
    width: max-content;
}
.insurance-body__list.mini-bn.flex-start li button {
    background: none;
    border: 0;
}
.insurance-body__image {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 5px;
    text-align: center;
}
.insurance-body__image-add {
    width: 198px;
}
.insurance-body__image a {
    display: inline-block;
    padding: 0 15px;
}
.insurance-body__text h3 {
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 15px;
}
/* insurance */
.insurance-body__text p {
    color: var(--sub-font-color);
    font-size: 16px;
    line-height: 1.8em;
}
.insurance-body__text p .small {
    color: var(--sub-font-color);
    display: block;
    font-size: 15px;
    margin-top: 10px;;
    line-height: 1.8em;
}

/* === 保険ページ：段落テキストカラー（ブロックエディタ対応） === */

/* 保険ページ：.definition-contents 配下の段落ブロックにも適用（ブロックエディタ汎用） */
.definition-contents p,
.definition-contents .wp-block-paragraph {
  color: var(--sub-font-color);
  font-size: 16px;
  line-height: 1.8em;
  margin: 1em 0;
}

/* 保険ページ：p.insurance-body__text に直接クラスが付与される場合の対応 */
p.insurance-body__text,
p.insurance-body__text.has-small-font-size {
  color: var(--sub-font-color);
  font-size: 16px;
  margin-top: 10px;
  line-height: 1.8em;
}

.insurance__text {
    text-align: center;
    font-weight: 700;
    font-size: 18px;
}


.insurance-body__ul-list {
    margin: 15px 0 0;
}
.insurance-body__ul-list li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-weight: bold;
    margin: 0 0 8px !important;
    width: 100%;
}
.insurance-body__ul-list li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
/* page header */
.contents-header {
    background: rgb(107 193 229 / 15%);
    padding: 80px 0;
}
@media screen and (max-width: 768px) {
    .contents-header {
        margin-top: 67px;
    }
}

@media screen and (max-width: 767px) {
    .sign-contents p {
        position: absolute;
        width: 17%;
        left: 72.9%;
        bottom: 4.5%;
    }
}


.contents-header__inner {
    text-align: center;
}
.contents-header__title {
    font-size: 32px;
}
.contents-header__sub-title {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 5px;
}
/* definition contents */
.definition-contents {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
/* section dl dt dd contents */
.contents-title {
    background: var(--title-bg-color);
    border-radius: 10px;
    margin: 0 auto 25px;
    padding: 12px 15px;
    width: 100%;
    max-width: 1000px;
}
.contents-title h2 {
    color: var(--main-font-color);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 24px;
}
.contents-title h2 span {
    color: var(--main-theme-color);
    display: flex;
    align-items: center;
}
.contents-title h2 .bg-icon {
    background: var(--main-theme-color);
    border-radius: 50%;
    color: #fff;
    padding: 1px 0 0 0px;
    height: 23px;
    width: 22px;
}
.contents-title h2 p {
    color: var(--main-font-color);
    font-size: 24px;
    margin-left: 15px;
}
.contents-body {
    margin: 0 auto 50px;
    padding: 0;
    width: 100%;
    max-width: 1000px;
}
.contents-body__title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px;
}
.contents-body__sub-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 20px;
    margin: 0 0 25px;
    padding: 3px 0;
}
.contents-body__sub-title::before {
    background: var(--main-theme-color);
    border-radius: 8px;
    content: "";
    display: inline-block;
    height: 28px;
    margin: 0 10px 0 0;
    width: 6px;
}
.contents-body__sub-title.no-border-l::before {
    display: none;
}
.contents-body__text {
    font-size: 16px;
    line-height: 1.8em;
    margin: 0 0 25px;
}
.contents-body__text a {
    color: var(--sub-theme-color);
    font-size: 16px;
    line-height: 1.8em;
    text-decoration: underline;
}
.contents-body__text span {
    font-size: 16px;
    line-height: 1.8em;
}
.contents-body__sub-title + .contents-body__text {
    margin: 0 0 35px;
}
.contents-body__text + .contents-body__sub-title {
    margin: 35px 0 25px;
}
.contents-body__image {
    margin: 0 auto 35px;
    text-align: center;
}
.contents-body__image.wm700 {
    max-width: 700px;
}
.contents-body__image-changer {
    display: block;
    margin: 0 auto 35px;
    max-width: 270px;
}

/* privacy policy */
.contents-body__information table th {
    border-right: 0 !important;
}
.contents-body__information table td {
    border-left: 0;
}

/* section ol list */
.contents-body__ol-list {
    counter-reset: ol_li;
    list-style: none;
    margin: 15px 0 35px;
}
.contents-body__ol-list li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 16px;
    line-height: 1.8em;
    margin: 0 0 10px;
}
.contents-body__ol-list li:before {
    counter-increment: ol_li;
    content: counter(ol_li)".";
    color: var(--sub-theme-color);
    font-weight: bold;
    margin-right: .25em;
}

/* section ul list */
.contents-body__ul-list {
    list-style: disc;
    margin: 15px 0 35px 20px;
}
.contents-body__ul-list li {
    font-size: 16px;
    list-style: disc;
    line-height: 1.8em;
    margin: 0 0 10px;
}
.contents-body__ul-list.link-list li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.contents-body__ul-list li p {
    list-style: disc;
    display: list-item;
    font-size: 16px;
    line-height: 1.8em;
}
.contents-body__ul-list li a {
    color: var(--sub-theme-color);
    font-size: 16px;
    text-decoration: underline;
    white-space: pre-wrap;
}
.contents-body__ul-list li a::before,
.contents-body__ul-list li a::after {
    color: var(--main-font-color);
    display: inline-block;
}
.contents-body__ul-list li a::after {
    content: "）";
}
.contents-body__ul-list li a::before {
    content: "（";
}
.link-list__flex {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.contents-body__ul-list li a span {
    color: var(--sub-theme-color);
    font-size: 20px;
    position: relative;
    top: 5px;
    text-decoration: none;
}

/* section table */
.contents-body__information {
    margin: 35px 0 50px;
}
.contents-body__table th,
.contents-body__table td {
    padding: 15px;
}
.contents-body__table th {
    background: var(--bg-blue-color);
    font-size: 16px;
    font-weight: 400;
    text-align: left;
    width: 25%;
}
.company-info__table th {
    background: var(--form-bg-header);
}
.contents-body__table td {
    width: 75%;
}
.contents-body__table td p {
    font-size: 16px;
}
.text-spacer {
    margin: 0 0 0 8px;
}

/* breadcrumb */
.breadcrumb {
    margin: 15px auto 50px;
    width: 90%;
    max-width: 1000px;
}
.breadcrumb ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.breadcrumb ul li {
    display: flex;
    align-items: center;
    line-height: 1em;
}
.breadcrumb ul li a {
    color: var(--sub-theme-color);
    font-size: 14px;
    text-decoration: underline;
}

.breadcrumb ul li span {
    color: var(--sub-font-color2);
    display: inline-block;
    font-size: 18px;
    margin: 0 5px;
}
.breadcrumb ul li:first-child span {
    color: var(--sub-theme-color);
}
.breadcrumb ul li p {
    color: var(--sub-font-color2);
    font-size: 14px;
}
/* contact */
.contact-block {
    background: var(--bg-beige-color);
    margin: 0 auto;
    padding: 50px 25px 65px;
    width: 100%;
}
.contact-block__body {
    background: #fff;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 35px 0;
    width: 100%;
    max-width: 1000px;
}
.contact-block__left {
    border-right: 2px dotted var(--border-base-color);
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 25px 0 0;
    padding: 0 25px 0 0;
    width: 55%;
}

.contact-block__right {
    width: 30%;
}
.contact-block__insurance-btn {
    text-align: center;
    min-width: 180px;
    width: 30%;
}
.contact-block__insurance-btn a {
    background: var(--accent-theme-color);
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}
.contact-block__insurance-btn a p {
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    margin-left: 10px;
}
.contact-block__text h3 {
    font-size: 20px;
}
.tel span {
    font-family: 'Lato', sans-serif;
    font-size: 36px;
    font-weight: bold;
}
.time {
    font-size: 14px;
}
/* request form */
.request-contents {
    margin: 50px auto 0;
}
.request-block,
.request-contents__list {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}
.request-form__list {
    border: 1px solid var(--border-base-color);
    border-top: 0;
}
.request-form__list,
.request-form__pamphlet-list {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.request-form__list dt,
.request-form__list dd {
    padding: 20px;
}
.request-form__list .request-form__body.no-pad {
    padding: 0;
}
.request-form__title {
    background: #EDF7FC;
    border: 1px solid var(--border-base-color);
    border-bottom: 0;
    border-left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    width: 25%;
}
.request-form__sub-title {
    background: rgb(237 247 252 / 50%);
    border: 1px solid var(--border-base-color);
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    display: flex;
    align-items: center;
    width: 38%;
}
.request-form__body {
    border: 1px solid var(--border-base-color);
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    display: flex;
    align-items: center;
    width: 75%;
}
.request-form__sub-body {
    border: 1px solid var(--border-base-color);
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    display: flex;
    align-items: center;
    width: 62%;
}
.request-form__sub-title:first-child,
.request-form__sub-body:first-of-type {
    border-top: 0;
}
.request-form__title label,
.request-form__sub-title label {
    font-size: 16px;
    font-weight: 400;
}
.request-form__row {
    width: 100%;
}
.required-symbol {
    background: var(--accent-theme-color);
    border-radius: 50px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    height: max-content;
    padding: 2px 10px;
}
.form-w__half,
.postal-code {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.request-form__input input {
    border: 1px solid var(--border-base-color);
    border-radius: 8px;
    display: block;
    font-size: 16px;
    outline: none;
    padding: 8px 10px;
    width: 100%;
}
::placeholder {
    color: rgb(102 102 102 / 30%);
}
.postal-code input {
    display: inline-block;
    max-width: 125px;
}
.form-w__half input {
    width: 50%;
}
.request-form__input p,
.request-form__textarea p {
    font-size: 16px;
}
.request-form__checkbox ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 5px;
}
.icon-block {
    display: block;
    position: relative;
}
.request-form__checkbox ul li input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid var(--border-base-color);
    border-radius: 50%;
    display: block;
    height: 24px;
    outline: none;
    width: 24px;
}
.request-form__checkbox ul li input[type="checkbox"]:checked ~ .active-check__bg {
    background: var(--main-theme-color);
    border-radius: 50%;
    display: block;
    height: 16px;
    position: absolute;
    top: 4px;
    left: 4px;
    margin: auto;
    width: 16px;
}
.request-form__checkbox ul li label {
    display: block;
    font-size: 16px;
    margin: 0 0 4px 10px;
}
.request-form__checkbox ul li .wafuton_label,
.request-form__checkbox ul li .flex_label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.request-form__checkbox ul li .wafuton_label .icon-block,
.request-form__checkbox ul li .flex_label .icon-block {
    margin: 0 5px 0 0;
}
.request-form__select {
    display: inline-block;
    margin: 0 0 15px;
    position: relative;
    width: 100%;
    max-width: 150px;
}
.request-form__select label {
    display: block;
    position: relative;
    width: 100%;
}
.request-form__select label::before {
    content: "\e5cf";
    color: #666666;
    display: flex;
    align-items: center;
    font-family: 'Material Icons Round';
    font-size: 20px;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    z-index: 0;
}
.request-form__select select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    border: 1px solid var(--border-base-color);
    border-radius: 10px;
    display: inline-block;
    font-size: 16px;
    outline: none;
    padding: 8px 10px;
    position: relative;
    z-index: 1;
    width: 100%;
}
.postal-code__symbol {
    font-size: 16px;
    margin: 0 5px;
}
.request-form__textarea textarea {
    border: 1px solid var(--border-base-color);
    border-radius: 10px;
    display: block;
    font-size: 16px;
    outline: none;
    padding: 8px 10px;
    width: 100%;
}
.request-form__text {
    margin: 0 0 15px;
}
.request-form__text p {
    font-size: 16px;
}

.request-form__submit {
    margin: 45px auto 70px;
}
.request-form__submit.column_btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
.request-form__submit button {
    background: var(--accent-theme-color);
    border: 0;
    border-radius: 50px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 16px;
    font-weight: bold;
    margin: 0 auto;
    text-align: center;
    padding: 15px 0;
    position: relative;
    width: 100%;
    max-width: 300px;
}
.request-form__submit.column_btn button {
    margin: 0 0 0 25px !important;
}
.request-form__submit.column_btn a, .request-form__submit.column_btn button {
    display: inline-block;
    margin: 0;
    min-width: 300px;
    width: auto;
}
.request-form__submit.column_btn .return_btn {
    background: var(--title-bg-color);
    color: #9B9B9B;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;;
    text-align: center;
    padding: 15px 0;
    position: relative;
    max-width: 300px;
}
.request-form__submit .home_btn {
    background: var(--main-theme-color);
    color: #fff;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;;
    text-align: center;
    padding: 15px 0;
    position: relative;
    max-width: 300px;
}
.request-form__submit span {
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 30px;
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto;
}
.return_btn span {
    color: #9B9B9B !important;
    left: 10px;
    right: initial;
}
.home_btn span {
    color: #fff;
    left: 10px;
    right: initial;
}
/* request message */
.request-message {
    border: 8px solid var(--bg-blue-color);
    border-radius: 10px;
    margin: 0 auto;
    padding: 40px;
    width: 90%;
    max-width: 1000px;
}
.request-message__inner h2 {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 8px;
}
.request-message__inner p {
    font-size: 16px;
    line-height: 1.8em;
}
.request-form__alert {
    margin: 0 0 15px;
}
.request-form__alert p {
    color: #e60012;
    font-size: 16px;
    margin: 0 0 15px;
}
.request-form__alert2 p {
    color: #e60012;
    font-size: 16px;
    margin: 0 0 15px;
}
.request-form__alert3 p {
    color: #e60012;
    font-size: 16px;
    margin: 0 0 15px;
}
/* application */
.request-form__option-text {
    color: var(--sub-font-color);
    font-size: 14px;
    margin: 10px 0 0;
}
.request-form__block-inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 15px 30px;
}
.inner-block__item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 30%;
}
.inner-block__item:nth-child(2) {
    width: 27%;
}
.inner-block__item.confirm {
    width: 23%;
}
.inner-block__item.confirm:nth-child(2) {
    width: 20%;
}
.request-form__input ul li .inner-block__item label,
.request-form__checkbox ul li .inner-block__item label {
    display: block;
    font-size: 16px;
    margin: 0;
}
.inner-block__item .inner-select__wrapper {
    display: block;
    margin: 0 5px;
    position: relative;
    width: 50%;
}
.inner-block__item:nth-child(2) .inner-select__wrapper {
    width: 65%;
}
.inner-block__item .inner-select__wrapper::before {
    content: "\e5cf";
    color: #666666;
    display: flex;
    align-items: center;
    font-family: 'Material Icons Round';
    font-size: 20px;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    z-index: 0;
}
.inner-block__item select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    border: 1px solid var(--border-base-color);
    border-radius: 10px;
    display: inline-block;
    font-size: 16px;
    outline: none;
    padding: 8px 10px;
    position: relative;
    width: 100%;
    z-index: 1;
}
.inner-block__item input {
    border: 1px solid var(--border-base-color);
    border-radius: 10px;
    display: block;
    font-size: 16px;
    margin: 0 5px;
    outline: none;
    padding: 8px 10px;
    width: 50%;
}
.request-form__checkbox ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.request-form__checkbox ul li .request-form__block-inner {
    margin: 0;
    width: auto;
    max-width: 250px;
}
.request-form__checkbox ul li .request-form__block-inner .inner-block__item,
.request-form__checkbox ul li .request-form__block-inner .inner-block__item input {
    width: 100%;
}
/* .request-form__checkbox ul li .request-form__block-inner .inner-block__item {
    margin: 0 0 0 15px;
} */
.request-form__checkbox ul li .request-form__block-inner .inner-block__item.quantity-wrapper {
    width: 60%;
}
.request-form__checkbox ul li .request-form__block-inner .inner-block__item.quantity-wrapper input {
    width: 25%;
}
.request-form__block-inner .inner-block__item label,
.request-form__checkbox ul li .request-form__block-inner .inner-block__item p {
    font-size: 16px;
}
.request-form__checkbox ul li .request-form__block-inner.other-contents {
    width: 85%;
}
.request-form__checkbox .flex-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.request-form__checkbox .flex-list li {
    margin: 0 0 15px;
    width: 49%;
}
.request-form__title p {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.request-form__title p label {
    width: 75%;
}
.request-form__title p span {
    width: 25%;
    max-width: max-content;
}
/* top back btn */
.top-return__btn {
    background: #fff;
    border: 2px solid var(--border-base-color);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
}
.top-return__btn a {
    display: block;
}
.top-return__btn a span {
    color: var(--main-theme-color);
    font-size: 40px;
}
.no-border-r .request-form__title {
    border-right: 0;
}
@media screen and (max-width: 1150px) {
    /* plague */
    .contents-body__plague-contact {
        padding: 40px 20px;
        width: 100%;
    }
    .plague-contact__text {
        width: 100%;
    }
    .plague-contact__text-left {
        width: 100%;
    }
    .plague-contact__text-right {
        width: 100%;
    }
    .plague-contact__text-left h3 {
        margin: 0 0 10px;
        text-align: center;
    }
    .plague-contact__text-left .tel {
        text-align: center;
    }
    .plague-contact__text-right .address,
    .plague-contact__text-right .address span {
        text-align: center;
    }
    .plague-contact__btn {
        margin: 25px 0 0;
        width: 100%;
    }
    .plague-contact__btn a {
        padding: 10px 0;
        width: 85%;
    }
    .plague-contact__btn a p {
        color: #fff;
        margin: 0 0 0 15px;
    }
    /* contact */
    .contact-block__left {
        border-right: 0;
        border-bottom: 1px dotted var(--border-base-color);
        flex-wrap: wrap;
        margin: 0 0 25px 0;
        padding: 0 0 25px;
        width: 100%;
    }
    .contact-block .contact-block__left {
        border-bottom: 0;
        margin: 0;
        padding: 0;
    }
    .contact-block .top-contact .contact-block__left {
        border-bottom: 2px dotted var(--border-base-color);
        margin: 0 0 25px 0;
        padding: 0 0 25px;
    }
    .contact-block .contact-block__left.mb-25 {
        margin: 0 0 25px;
    }
    .contact-block__right {
        padding: 0 15px;
        width: 100%;
    }
    .contact-block__insurance {
        width: 100%;
    }
    .contact-block__insurance-btn {
        margin: 25px auto 0;
        width: 100%;
        max-width: 280px;
    }
    .contact-block__insurance-btn a {
        padding: 20px 0;
    }
    .contact-block__text h3 {
        text-align: center;
    }
    .tel {
        text-align: center;
    }
    .time {
        text-align: center;
    }
}
@media screen and (max-width: 856px) {
    body {
        text-size-adjust: none;
        -webkit-text-size-adjust: none;
        -ms-text-size-adjust: none;
        -moz-text-size-adjust: none;
    }
    .pc {
        display: none !important;
    }
    .sp {
        display: block;
    }
    .w90 {
        margin-left: auto;
        margin-right: auto;
        width: 90% !important;
    }
    /* header */
    .header-left {
        padding-left: 15px;
        width: 50%;
    }
    .header-menu__list {
        display: flex;
        justify-content: flex-end;
        align-items: stretch;
    }
    .header-menu__list li {
        text-align: center;
    }
    .header-nav__menu-btn {
        display: flex;
        align-items: center;
    }
    .header-nav__accent-btn a,
    .header-nav__menu-btn button {
        padding: 10px 15px;
    }
    .icon-image {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 26px;
        margin: 0 0 5px;
    }
    .header-nav__accent-btn a p {
        font-size: 11px;
    }
    .header-nav__menu-btn button {
        background: var(--main-theme-color);
        border: 0;
        height: 100%;
        outline: none;
        text-align: center;
        width: 100%;
    }
    .header-nav__menu-btn button p {
        color: #fff;
        font-size: 11px;
        font-weight: bold;
        min-width: 44px
    }
    .header-nav {
        background: #fff;
        height: calc(100vh - 68px);
        overflow-y: scroll;
        padding: 0 0 50px;
        position: fixed;
        right: -200%;
        transition-duration: .5s;
        width: 100%;
        z-index: 1;
    }

    .header-nav .header-block {
        overflow-y: scroll;
        height: 90vh;
    }
    .header-nav.open {
        right: 0;
    }
    .header-nav__list {
        display: block;
    }
    .header-nav__item {
        border-bottom: 1px solid var(--border-base-color);
        text-align: left;
        width: 100%;
    }
    .header-nav__item:not(:last-child) {
        margin-right: 0;
    }
    .header-nav__item a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        padding: 10px;
    }
    .header-nav__list li:nth-child(2) img {
        display: inline;
        margin: 0;
    }
    .header-nav__item a p,
    .header-nav__list li:nth-child(2) p {
        font-size: 15px;
        font-weight: bold;
        margin: 0 0 0 15px;
        position: static;
    }
    .header-nav__item a span {
        color: var(--main-theme-color);
        display: flex;
        align-items: center;
        position: absolute;
        right: 15px;
        top: 0;
        bottom: 0;
        margin: auto;
    }
    .header-nav__item a .bg-icon {
        background: var(--main-theme-color);
        border-radius: 50%;
        color: #fff;
        padding: 1px 0 0 1px;
        height: 25px;
        width: 25px;
    }
    .header-nav__inner-list {
        border-top: 1px solid var(--border-base-color);
        padding: 0 0 0 55px;
        width: 100%;
    }
    .header-nav__inner-list li {
        margin: 0 0 0 auto;
        width: 100%;
    }
    .header-nav__inner-list li:not(:last-child) {
        border-bottom: 1px solid var(--border-base-color);
    }
    .header-nav__inner-list li a {
        padding: 10px 10px 10px 00;
    }
    .header-nav__inner-list li a p {
        font-size: 14px !important;
        font-weight: 400 !important;
        margin: 0 !important;
    }
    .header.nav__sub-menu {
        margin: 15px 0 0;
        position: unset;
    }
    .header.nav__sub-menu li {
        margin: 0 auto 15px;
        width: 90%;
    }
    .header.nav__sub-menu li a {
        background: var(--bg-beige-color);
        border-radius: 10px;
        display: block;
        font-size: 13px;
        padding: 15px 0;
        text-align: center;
    }
    /* main */
    /* page header */
    .contents-header {
        background: rgb(107 193 229 / 15%);
        max-height: 170px;
        min-height: 170px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .contents-header__title {
        font-size: 25px;
    }
    /* title */
    .section-block__title {
        width: 100%;
    }
    .section-block__title h2 {
        font-size: 25px;
    }
    /* section dl dt dd contents */
    .contents-title h2 {
        font-size: 20px;
    }
    .contents-title h2 .bg-icon {
        height: 23px;
        padding: 0;
        width: 23px;
    }
    .contents-body__text {
        font-size: 16px;
    }
    .contents-title h2 p {
        font-size: 20px;
    }
    /* information */
    .information-content__left {
        margin: 0 0 25px;
        width: 100%;
    }
    .information-content__right {
        width: 100%;
    }
    .information-content__left h2 {
        justify-content: center;
    }
    .information-content__left h2 p {
        font-size: 20px;
        margin-left: 10px;
    }
    .information-content__list {
        flex-wrap: wrap;
    }
    .information-content__list dt {
        width: 100%;
    }
    .information-content__list dd {
        margin: 0 0 5px;
        width: 100%;
    }
    /* 会社概要 */
    section.definition-contents.company-contents {
        width: 100%;
    }
    .company-contents table {
        border-bottom: 0;
        border-left: 0;
        border-right: 0;
    }
    .company-contents .contents-body__information table th {
        border: 0 !important;
    }
    .company-contents .contents-body__information table td {
        border-left: 0;
        border-right: 0;
        border-top: 0;
    }
    /* 勧誘方針 お問い合わせ窓口 */
    .contents-body__contact-info {
        padding: 40px 20px;
    }
    .contact-info__text h3 {
        font-size: 20px;
        text-align: center;
    }
    .address,
    .address span {
        font-size: 14px;
        text-align: center;
    }
    /* コンテンツ お問い合わせ */
    .popup-content__btn,
    .contents-contact__inner {
        flex-wrap: wrap;
        width: 85%;
    }
    .popup-content__btn a,
    .contents-contact__inner a {
        border: 2px solid var(--accent-theme-color);
        border-radius: 50px;
        display: inline-block;
        font-size: 16px;
        font-weight: bold;
        padding: 15px 0;
        text-align: center;
        width: 100%;
        max-width: none;
    }
    .contents-contact__def-btn {
        margin: 0 0 25px;
    }
    .popup-content__btn a span,
    .contents-contact__inner a span {
        right: 12px;
    }
    .popup-content__btn a {
        border-radius: 50px;
    }
    /* coop */
    .coop-service {
        padding: 25px 15px 15px;
    }
    .coop-service__list li {
        margin: 0 0 15px;
        width: 48%;
    }
    .coop-service__list li a p {
        font-size: 16px;
    }
    .coop-contents__flex-list {
        flex-wrap: wrap;
    }
    .coop-contents__flex-list dl {
        width: 100%;
    }
    .coop-contents__list::before,
    .coop-contents__list::after {
        display: none;
    }
    .coop-contents__list li {
        width: 49%;
    }
    .web-application__icon::after {
        font-size: 14px;
        padding: 3px 0;
    }
    .coop-contents__list-image {
        margin: 0 0 15px;
    }
    .coop-contents__list-text h3 {
        font-size: 18px;
    }
    .coop-contents__list-text p {
        font-size: 16px;
    }
    .coop-contents__popup {
        border-radius: 0;
        width: 100%;
    }
    .coop-contents__popup {
        max-height: none;
        bottom: inherit;
    }
    .popup-contents__main {
        max-height: 100%;
    }
    .popup-contents__main-inner {
        overflow-x: hidden;
        overflow-y: scroll;
        padding: 0px 15px;
    }
    .coop-contents__popup-header {
        display: flex !important;
        justify-content: center;
        align-items: center;
        margin: 0 0 15px;
    }
    .coop-contents__popup-header p {
        font-size: 14px;
        margin: 0 0 0 10px;
    }
    .popup-contents__close {
        height: 35px;
        top: 78px;
        right: 15px;
        width: 35px;
    }
    .coop-contents__popup-image img {
        transform-origin: 50% 50%;
    }
    /* Avoid Chrome to see Safari hack */
    @supports (-webkit-touch-callout: none) {
        body.fixed {
            /* The hack for Safari */
            height: -webkit-fill-available;
        }
    }
    /* insurance */
    .insurance-body__list li {
        margin: 0 0 15px;
        width: 100%;
    }
    .insurance-body__list .insurance-body__list-item {
        padding: 10px;
        width: 100%;
    }
    .insurance-body__list.flex-start li:first-child,
    .insurance-body__list .insurance-body__list-item:first-child {
        width: 100%;
    }
    .insurance-body__list.mini-bn.flex-start li {
        margin: 0 0 15px;
        width: 100%;
    }
    .insurance-body__text h3 {
        font-size: 22px;
    }
    .insurance-body__text p {
        font-size: 16px;
    }
    .insurance-body__ul-list li span {
        height: 20px;
        width: 20px;
    }
    /* contact */
    .contact-block__insurance-btn a p {
        font-size: 16px;
    }
    .contact-block__text h3 {
        font-size: 20px;
    }
    .tel span {
        font-size: 34px;
    }
    .time {
        font-size: 14px;
    }
    /* request form */
    .request-block {
        width: 100%;
    }
    .request-form__list {
        border-left: 0;
        border-right: 0;
    }
    .request-form__list,
    .request-form__pamphlet-list {
        flex-wrap: wrap;
    }
    .request-form__pamphlet-list {
        border: 1px solid var(--border-base-color);
        margin: 20px auto;
        width: 92%;
    }
    .request-form__list dt,
    .request-form__list dd {
        padding: 15px 10px;
    }
    .request-form__list dt {
        border-bottom: 0;
    }
    .request-form__list dd {
        border-top: 0;
    }
    .request-form__list .request-form__body.no-pad {
        padding: 0;
    }
    .request-form__title {
        border-right: 0;
        width: 100%;
    }
    .request-form__sub-title,
    .request-form__body,
    .request-form__sub-body {
        width: 100%;
    }
    .request-form__sub-title:first-child,
    .request-form__sub-body:first-of-type {
        border-top: 0;
    }
    .form-w__half,
    .postal-code {
        flex-wrap: wrap;
    }
    .request-form__input input {
        border: 1px solid var(--border-base-color);
        border-radius: 8px;
        display: block;
        font-size: 16px;
        outline: none;
        padding: 8px 10px;
        width: 100%;
    }
    .postal-code input {
        display: inline-block;
        max-width: 125px;
    }
    .form-w__half input {
        width: 50%;
    }
    .request-form__input p {
        font-size: 16px;
    }
    .request-form__checkbox ul li {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin: 0 0 5px;
    }
    .icon-block {
        display: block;
        position: relative;
    }
    .request-form__checkbox ul li input[type="checkbox"] {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        border: 1px solid var(--border-base-color);
        border-radius: 50%;
        display: block;
        outline: none;
    }
    .request-form__checkbox ul li input[type="checkbox"]:checked ~ .active-check__bg {
        background: var(--main-theme-color);
        border-radius: 50%;
        display: block;
        position: absolute;
        top: 4px;
        left: 4px;
        margin: auto;
    }
    .request-form__checkbox ul li label {
        display: block;
        font-size: 16px;
        margin: 0 0 0 10px;
    }
    .request-form__select {
        display: inline-block;
        margin: 0 0 15px;
        position: relative;
        width: 100%;
        max-width: 150px;
    }
    .request-form__select label {
        display: block;
        position: relative;
        width: 100%;
    }
    .request-form__select select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background: none;
        border: 1px solid var(--border-base-color);
        border-radius: 10px;
        display: inline-block;
        font-size: 16px;
        outline: none;
        padding: 8px 10px;
        position: relative;
        width: 100%;
        z-index: 1;
    }
    .postal-code__symbol {
        font-size: 16px;
        margin: 0 5px;
    }
    .request-form__textarea textarea {
        border: 1px solid var(--border-base-color);
        border-radius: 10px;
        display: block;
        font-size: 16px;
        outline: none;
        padding: 8px 10px;
        width: 100%;
    }
    .request-form__text {
        margin: 0 0 15px;
    }
    .request-form__text p {
        font-size: 16px;
    }

    .request-form__submit {
        margin: 45px auto 60px;
    }
    .request-form__submit.column_btn {
        flex-wrap: wrap;
    }
    .request-form__submit button {
        background: var(--accent-theme-color);
        border: 0;
        border-radius: 50px;
        color: #fff;
        cursor: pointer;
        display: block;
        font-size: 16px;
        font-weight: bold;
        margin: 0 auto;
        text-align: center;
        padding: 15px 0;
        position: relative;
        width: 100%;
        max-width: 300px;
    }
    .request-form__submit.column_btn button {
        margin: 25px 0 0 0 !important;
    }
    .request-form__submit.column_btn a,
    .request-form__submit.column_btn button {
        min-width: auto;
        max-width: 80% !important;
        width: 100%;
    }
    .request-form__submit span {
        color: #fff;
        display: flex;
        align-items: center;
        font-size: 30px;
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        margin: auto;
    }
    /* request message */
    .request-message {
        padding: 30px 20px;
        width: 90%;
    }
    .request-message__inner h2 {
        font-size: 20px;
        font-weight: 600;
        margin: 0 0 8px;
    }
    .request-message__inner p {
        font-size: 16px;
        line-height: 1.8em;
    }
    .request-form__alert {
        margin: 0 auto 15px;
        width: 90%;
    }
    .request-form__alert3{
        margin: 0 auto 15px;
        width: 90%;
    }
    .request-form__alert2{
        margin: 0 auto 15px;
        width: 90%;
    }
    /* application */
    .request-form__checkbox ul li .request-form__block-inner {
        margin: 10px 0 0 25px;
        flex-wrap: wrap;
    }
    .request-form__checkbox ul li .request-form__block-inner.confirm {
        margin: 0px 0 0 5px;
    }
    .request-form__checkbox .flex-list li {
        margin: 0 0 5px;
        width: 100%;
    }
    .inner-block__item {
        margin: 0 0 15px;
        width: 100%;
    }
    .inner-block__item:nth-child(2) {
        width: 100%;
    }
    .inner-block__item.confirm {
        width: 100%;
    }
    .inner-block__item.confirm:first-child {
        margin: 0;
    }
    .inner-block__item.confirm:nth-child(2) {
        width: 100%;
    }
    .inner-block__item:nth-child(2) .inner-select__wrapper {
        width: 50%;
    }
    .request-form__block-inner.form7 {
        margin: 0 0 25px 0px;
    }
    .request-form__block-inner.form7 .inner-block__item.confirm {
        align-items: center;
        display: flex;
        justify-content: flex-start;
        margin: 15px 5px 10px 0;
    }
    /* top back btn */
    .top-return__btn {
        height: 44px;
        bottom: 25px;
        right: 10px;
        width: 44px;
    }
    .top-return__btn a {
        display: block;
    }
    .top-return__btn a span {
        font-size: 30px;
    }
}
@media screen and (min-width: 769px) {
    .contents-body__plague-contact {
        align-items: center;
    }
    .plague-contact__text {
        align-items: center;
    }
}
@media screen and (max-width: 768px) {
    table {
        border: 1px solid var(--border-base-color);
    }
    table th,
    table td {
        border: 1px solid var(--border-base-color);
    }
    table th {
        border: 0;
    }
    table td {
        border-top: 0;
        border-right: 0;
    }
    /* footer */
    .footer-nav__list li a {
        padding: 0 15px;
    }
    /* main */
    .service-block__btn a {
        padding: 10px 0;
    }
    /* sign */
    .sign-contents h2 {
        font-size: 6.7vw;
        letter-spacing: 1px;
        bottom: 22.3%;
        left: 0;
        right: 0;
        text-align: center;
        width: 100%;
    }
    /* service */
    .service-block__item {
        margin: 0 0 35px;
        width: 100%;
    }
    .service-block__text h3 {
        font-size: 20px;
    }
    .contact-block__insurance-btn {
        margin: 25px auto 0;
    }
    .contact-block__insurance-btn a {
        padding: 10px 0;
    }
    /* company */
    .contents-body__table th,
    .contents-body__table td {
        display: block;
        padding: 10px;
        width: 100%;
    }
    .contents-body__image-changer {
        max-width: 100%;
    }
    /* request */
    .request-form__block-inner {
        flex-wrap: wrap;
        margin: 0 0 15px 0;
        max-width: 65%;
    }
    .inner-block__item {
        justify-content: flex-start;
    }
}
@media screen and (max-width: 480px) {
    /* contact */
    .contact-block__text h3 {
        font-size: 18px;
    }
    .time {
        font-size: 14px;
    }
    /* breadcrumb */
    .breadcrumb {
        overflow-x: scroll;
        padding: 0 0 10px;
    }
    .breadcrumb ul {
        width: max-content;
    }
    /* plague */
    .contents-body__plague-contact {
        padding: 40px 15px;
    }
    .plague-contact__text-right .address {
        font-size: 14px;
    }
    /* coop */
    .coop-service__list li {
        width: 100%;
    }
    .spacer {
        margin: 0 0 0 70px;
    }
}
@media screen and (max-width: 367px) {
    /* header */
    .header-nav__accent-btn a,
    .header-nav__menu-btn button {
        padding: 7px 10px;
    }
    .icon-image {
        height: 18px;
    }
    .icon-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .header-nav__accent-btn a p {
        font-size: 10px;
    }
    .header-nav {
        height: calc(100vh - 54px);
    }
    /* footer */
    .footer-nav__list li a {
        padding: 0 10px;
    }
    /* contact */
    .contact-block__text h3 {
        font-size: 15px;
    }
    .tel img {
        height: 23px;
    }
    .tel span {
        font-size: 28px;
    }
    .time {
        font-size: 14px;
    }
    .service-block__btn {
        width: 60%;
        min-width: 280px;
    }
    .contact-block__insurance-btn {
        width: 90%;
    }
    /* コンテンツ お問い合わせ */
    .popup-content__btn,
    .contents-contact__inner {
        width: 90%;
    }
    .popup-content__btn a span,
    .contents-contact__inner a span {
        right: 10px;
    }
    .spacer {
        margin: 0 0 0 55px;
    }
    /* plague */
    .contents-body__plague-contact {
        padding: 40px 10px;
    }
}
/* Contact Form 7 のコントロールラップに余計なマージン／パディングを消す */
form.wpcf7-form .wpcf7-form-control-wrap {
    margin: 0;
    padding: 0;
    display: contents; /* wrapper 自体を “なかったもの” として扱いたい場合 */
  }
  
  /* もしくは display:block／inline-block でテーマと同じ挙動に */
  form.wpcf7-form .wpcf7-form-control-wrap {
    margin: 0;
    padding: 0;
    display: block; /* 必要に応じて inline-block に */
  }

/* 組合員コード＆電話番号だけラッパーを消して表示を揃える */
.request-form__input > .wpcf7-form-control-wrap[data-name="code"],
.request-form__input > .wpcf7-form-control-wrap[data-name="tel"] {
  display: contents;
}

/* 入力周りの余計な wrapper を消してレイアウト崩れを防ぐ */
.wpcf7-form-control-wrap {
    display: contents;
  }
  /* ボタン周りも余白リセット */
  .wpcf7-form-control.wpcf7-submit {
    margin: 0;
    padding: 0; /* 必要に応じて */
  }


/* ————————————
 CF7 スピナーを非表示
———————————— */
.wpcf7-spinner {
    display: none !important;
  }
  
  /* ————————————
   CF7 の input[type=submit] を元ボタン風に
  ———————————— */
  .wpcf7-submit {
    /* ボタン風リセット */
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    /* 必要なら以下をコメントアウト解除して色や余白を指定 */
    /* padding: .7em 1.2em;
       border-radius: .2em;
       background-color: #0056b3;
       color: #fff; */
  }
  
  /* ————————————
   アイコンの余白調整
  ———————————— */
  .wpcf7-submit + .material-icons-round {
    margin-left: .5em;
  }
  /* ラジオ/チェックのラベル周り余白をリセット */
.wpcf7-form .wpcf7-list-item-label {
    margin: 0;
    padding: 0;
    display: inline-flex; /* flex_label と同じ振る舞いに */
    align-items: center;
  }
  
  /* アイコン背景がクリックを遮らないように */
  .icon-block,
  .icon-block .active-check__bg {
    pointer-events: none;
  }