@charset "UTF-8";
/*======================
*
header
*
=======================*/
/*tb*/
@media (max-width:1024px) {
    header {
        width: 96%;
    }

    header .logo {
        position: relative;
        z-index: 5;
        width: 150px;
    }

    /*ハンバーガーメニュー*/
    .ham-btn {
        position: fixed;
        top: 32px;
        right: 2%;
        z-index: 9999;
        width: 54px;
        height: 54px;
        margin-left: auto;
        border: solid 4px#FFF;
        background-color: var(--main-color);
        border-radius: 50%;
        transition: 0.3s ease-in-out;
    }

    .ham-btn>span {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        width: 100%;
        height: 100%;
    }

    .ham-btn>span span {
        width: 20px;
        border-bottom: solid 2px #FFF;
        background-color: #FFF;
        transition: 0.3s ease-in-out;
        will-change: opacity, transform;
    }

    .ham-btn.active>span span:nth-of-type(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .ham-btn.active>span span:nth-of-type(2) {
        opacity: 0;
    }

    .ham-btn.active>span span:nth-of-type(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    /*menu*/
    .header__menu-area {
        flex-direction: column;
        gap: 0;
        position: fixed;
        transform: translateX(-50%);
        top: -100dvh;
        left: 50%;
        font-size: 18px;
        color: #000;
        width: 100vw;
        /* height: 85vh; */
        padding-top: 180px;
        border-radius: 0;
        overflow: auto;
        transition: 0.8s ease-in-out;
    }

    .header__menu-area.active {
        top: -40px;
    }

    .header__menu-area .global-nav {
        width: 80%;
        max-width: 550px;
    }

    .header__menu-area .global-nav>ul {
        flex-direction: column;
        gap: 0;
        padding: 24px;
        background-color: #F4F4F4;
        border-radius: 16px;
    }

    .header__menu-area .global-nav>ul>li>a {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 20px;
        border-bottom: solid 1px var(--main-color);
    }

    .header__menu-area .global-nav>ul>li:not(:first-of-type)>a {
        padding-top: 20px;
    }

    .header__menu-area .global-nav>ul li span:not(.en) {
        font-size: calc((12 / 18) * 1.0em);
    }

    .header__menu-area .global-nav>ul li span:not(.en) {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .header__menu-area .global-nav>ul li span:not(.en)::after {
        content: "";
        display: block;
        width: 9.7px;
        aspect-ratio: 9.7 / 6.7;
        background: url(img/common/arrow_black_small.webp) no-repeat 50% / 100%;
    }

    /*子ページリンク*/
    .header__menu-area .global-nav>ul li:has(ul) ul {
        display: grid;
        gap: 12px 20px;
        grid-template-columns: repeat(2, 1fr);
        margin-top: 20px;
    }

    .header__menu-area .global-nav>ul li:has(ul) ul li {
        font-size: calc((12 / 18) * 1.0em);
        text-align: start;
    }

    /*header btn*/
    .header__menu-area .header-btn {
        margin-top: 24px;
        background-color: #000;
    }

    /*bg*/
    .ham-bg {
        position: fixed;
        z-index: 9990;
        transform: translateX(-50%);
        top: 0;
        left: 50%;
        width: 100vw;
        height: 100dvh;
        background-color: rgba(0, 0, 0, 0.5);
        opacity: 0;
        pointer-events: none;
        transition: 0.3s ease-in-out 0.5s;
    }

    .ham-bg.active {
        opacity: 1.0;
        pointer-events: auto;
    }
}

/*sp*/
@media (max-width:767px) {
    header {
        top: 12px;
        width: calc((351 / 375) * 100%);
    }

    header .logo {
        width: calc((112 / 351) * 100%);
    }

    /*ハンバーガーメニュー*/
    .ham-btn {
        top: 12px;
        width: 48px;
        height: 48px;
    }

    .ham-btn.active>span span:nth-of-type(1) {
        transform: translateY(4px) rotate(45deg);
    }

    .ham-btn.active>span span:nth-of-type(3) {
        transform: translateY(-4px) rotate(-45deg);
    }

    .ham-btn>span {
        gap: 3px;
    }

    .ham-btn>span span {
        width: 16px;
        border-bottom: solid 1px #FFF;
    }

    /*menu*/
    .header__menu-area {
        /* height: calc((522 / 667) * 100dvh); */
        padding: calc((84 / 375) * 100%) 0 calc((24 / 375) * 100%);
    }

    .header__menu-area.active {
        top: -12px;
    }

    .header__menu-area .global-nav {
        width: calc((351 / 375) * 100%);
        margin: auto;
    }

    .header__menu-area .global-nav>ul {
        flex-direction: column;
        gap: 0;
        padding: 24px;
        background-color: #F4F4F4;
        border-radius: 16px;
    }

    .header__menu-area .global-nav>ul>li:not(:first-of-type)>a {
        padding-top: 17px;
    }

    .header__menu-area .global-nav>ul li span:not(.en) {
        font-size: calc((12 / 18) * 1.0em);
    }

    /*header btn*/
    .header__menu-area .header-btn {
        padding: calc((7 / 18) * 1.0em) calc((108 / 18) * 1.0em);
    }
}

/*======================
*
top
*
=======================*/
/*======================
mv
=======================*/
/*tb*/
@media (max-width:1024px) {
    .mv-area {
        position: sticky;
        top: 0;
        display: flex;
        width: 100%;
    }

    /*slider*/
    .mv-area .slider-wrapper {
        position: static;
        transform: initial;
        width: 50%;
    }

    .mv-area #mv-slider {
        width: 100%;
        min-height: initial;
        aspect-ratio: initial;
        border-radius: 0;
    }

    .mv-area #mv-slider ul {
        align-items: flex-end;
    }

    .mv-area #mv-slider .sldier-cont {
        aspect-ratio: 192 / 201;
    }

    /*01*/
    .mv-area #mv-slider .sldier-cont01 img.main {
        width: 43%;
    }

    /*02*/
    .mv-area #mv-slider .sldier-cont02 img.main {
        width: 43%;
    }

    /*03*/
    .mv-area #mv-slider .sldier-cont03 img.main {
        width: 43%;
    }

    /*slider ここまで*/
    /*見出し部分*/
    .mv-area .hd-area {
        justify-content: center;
        width: 54%;
        padding: 25px 2%;
    }

    .mv-area .hd-area span.arrow {
        width: 50px;
    }
}

/*sp*/
@media (max-width:599px) {
    .mv-area {
        position: static;
        flex-direction: column;
    }

    /*slider*/
    .mv-area .slider-wrapper {
        position: fixed;
        transform: translateX(-50%);
        left: 50%;
        padding-top: var(--header, 65px);
        width: calc((351 / 375) * 100%);
    }

    .mv-area #mv-slider {
        border-radius: 16px;
    }

    .mv-area #mv-slider .sldier-cont {
        aspect-ratio: 351 / 429;
    }

    .mv-area #mv-slider .sldier-cont .img-area {
        overflow: hidden;
    }

    .mv-area #mv-slider .sldier-cont img.main {
        filter: drop-shadow(40px 16px 0px rgba(0, 0, 0, 0.05));
    }

    /*01*/
    .mv-area #mv-slider .sldier-cont01::after {
        width: calc((421 / 351) * 100%);
        aspect-ratio: 427 / 384;
        transform: translateX(-50%);
        top: calc((34 / 429) * 100%);
        left: 50%;
    }

    .mv-area #mv-slider .sldier-cont01 img.main {
        width: calc((201 / 351) * 100%);
    }

    /*02*/
    .mv-area #mv-slider .sldier-cont02::after {
        width: calc((421 / 351) * 100%);
        aspect-ratio: 427 / 290;
        transform: translateX(-50%);
        top: calc((69 / 429) * 100%);
        left: 50%;
    }

    .mv-area #mv-slider .sldier-cont02 img.main {
        width: calc((189 / 351) * 100%);
    }

    /*03*/
    .mv-area #mv-slider .sldier-cont03::after {
        width: calc((421 / 351) * 100%);
        aspect-ratio: 427 / 290;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
    }

    .mv-area #mv-slider .sldier-cont03 img.main {
        width: calc((234 / 351) * 100%);
    }

    /*slider ここまで*/
    /*見出し部分*/
    .mv-area .hd-area {
        justify-content: flex-start;
        align-items: flex-start;
        width: 100% !important;
        margin-top: var(--topslider, 300px);
        padding: 25px calc((24 / 375) * 100%);
        background-color: #FFF;
    }

    .mv-area .hd-area .inner {
        width: 100%;
    }

    .mv-area .hd-area h1 {
        font-size: 22px;
        line-height: calc(34 / 22);
    }

    .mv-area .hd-area img {
        width: 180px;
        margin-top: 8px;
    }

    .mv-area .hd-area span.arrow {
        position: absolute;
        transform: translate(0);
        left: initial;
        right: calc((24 / 375) * 100%);
        bottom: 25px;
        width: 36px;
        padding: 0;
        background-size: 6px;
    }
}

/*======================
top message
=======================*/
/*tb*/
@media (max-width:1024px) {
    #top .message-sec {
        width: 100%;
        padding: 100px;
        background-color: #FFF;
    }
}

/*sp*/
@media (max-width:599px) {
    #top .message-sec {
        padding: 120px calc((24 / 375) * 100%) 80px;
        margin: 0;
    }

    #top .message-sec p {
        font-size: 18px;
        line-height: calc(34 / 18);
        margin-top: 13px;
    }
}

/*======================
top reason
=======================*/
/*sp*/
@media (max-width:767px) {
    #top .reason-sec::before {
        transform: translateX(-50%);
        right: initial;
        left: 50%;
        width: calc((327 / 375) * 100%);
    }

    #top .reason-sec .cont-area .inner {
        flex-direction: column;
        padding-left: 0px;
        border-bottom-left-radius: 80px;
    }

    #top .reason-sec .cont-area .inner::before {
        right: initial;
        left: 50%;
        transform: translateX(-50%);
    }

    #top .reason-sec .cont-area .catch-text {
        align-items: flex-end;
        width: calc((327 / 375) * 100%);
        margin: 0 auto;
        padding-top: 30px;
        padding-bottom: 0;
    }

    #top .reason-sec .cont-area .catch-text::before {
        content: none;
    }

    #top .reason-sec .cont-area .catch-text p {
        font-size: 32px;
    }

    #top .reason-sec .cont-area .text-area {
        flex: initial;
        width: calc((327 / 375) * 100%);
        padding-top: 0;
        padding-left: 0;
        margin: auto;
    }

    #top .reason-sec .cont-area .hd02 {
        justify-content: center;
    }

    #top .reason-sec .cont-area .text-area p {
        font-size: var(--sp_fs15);
        text-align: center;
        margin-top: 25px;
        margin-bottom: 20px;
    }

    #top .reason-sec .cont-area .text-area .btn01 {
        justify-content: center;
        margin: auto;
    }

    #top .reason-sec .cont-area .text-area img {
        left: initial;
        right: 0;
        bottom: -34px;
        width: 30%;
    }

    #top .reason-sec .cont-area .img-area {
        top: 70px;
        transform: translateY(0);
        width: 30%;
    }
}

@media (max-width:599px) {
    #top .reason-sec .cont-area .catch-text p {
        font-size: var(--sp_fs24);
    }

    #top .reason-sec .cont-area .text-area {
        padding-top: 138px;
    }

    #top .reason-sec .cont-area .text-area img {
        top: 0;
        left: 0;
        bottom: initial;
        right: initial;
        width: calc((158 / 351) * 100%);
    }

    #top .reason-sec .cont-area .img-area {
        width: min(calc((182 / 375) * 100%), 480px);
    }
}

/*======================
top info
=======================*/
/*sp*/
@media (max-width:767px) {
    #top .info-sec {
        padding-bottom: 75px;
    }

    #top .info-sec .inner {
        z-index: 2;
        flex-direction: column;
        width: 100% !important;
        margin: 0;
        padding: 83px 20px 86px;
        border-radius: 0;
    }

    #top .info-sec .inner .text-area {
        flex-direction: column;
        gap: 0;
    }

    #top .info-sec .inner .text-area p {
        font-size: var(--sp_fs15);
        text-align: center;
        margin: 20px 0;
    }
}

@media (max-width:599px) {
    #top .info-sec .inner::after {
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        font-size: 12.8vw;
        white-space: nowrap;
    }

    #top .info-sec .inner .text-area p {
        width: 100%;
        font-size: var(--sp_fs15);
    }
}

/*======================
top recruit link
=======================*/
/*sp*/
@media (max-width:767px) {
    #top .recruit_link-sec>img {
        width: 100%;
        margin: 0;
    }

    #top .recruit_link-sec .cont-area {
        position: initial;
        transform: translate(0, 0);
        padding: 30px 0 40px;
    }

    #top .recruit_link-sec .cont-area img {
        width: 50%;
        margin: 23px auto 20px;
        opacity: 0;
    }

    #top .recruit_link-sec .cont-area p {
        font-size: var(--sp_fs15);
        text-align: center;
    }
}

@media (max-width:599px) {
    #top .recruit_link-sec .cont-area {
        width: calc((331 / 375) * 100%);
        margin: auto;
    }

    #top .recruit_link-sec .cont-area img {
        width: 100%;
    }

    #top .recruit_link-sec .cont-area p {
        font-size: var(--sp_fs15);
    }

}

/*======================
*
under
*
=======================*/
/*======================
common
=======================*/
/*tb*/
@media (max-width:1024px) {
    .under-head:not(:has(.recruit)) .head-cont .hd-area .en {
        font-size: calc((25 / 40) * 1.0em);
    }

    .under-head:not(:has(.recruit)) .head-cont:has(.btn-area) .cont {
        flex-wrap: wrap;
    }

    .under-head:not(:has(.recruit)) .head-cont .hd-area {
        width: 100%;
    }

    /*anker btn*/
    .under-head .btn-area {
        width: 100%;
        margin-top: 24px;
    }

    /*end*/
    /*cont*/
    .under-page .cont-wrapper.pt100 {
        padding-top: 80px;
    }

    .under-page .cont-wrapper.pb100 {
        padding-bottom: 80px;
    }

    /*end*/
}

/*sp*/
@media (max-width:767px) {
    body:has(.under-page)::after {
        background-image: url(img/under/fixed_bg_sp.webp);
    }

    /*head*/
    .under-head:not(:has(.recruit)) .head-cont {
        padding-top: calc((120 / 343) * 100%);
        padding-bottom: 32px;
    }

    .under-head:not(:has(.recruit)) .head-cont .hd-area .en {
        font-size: calc((12 / 40) * 1.0em);
        margin-bottom: 5px;
    }

    .under-head:not(:has(.recruit)) .head-cont .hd-area {
        font-size: min(40px, 10.67vw);
        margin-top: 40px;
    }

    .under-head:not(:has(.recruit)) .head-cont .hd-area h1:has(span) {
        flex-direction: column;
        align-items: flex-start;
        gap: calc((5 / 40) * 1.0em);
    }

    .under-head:not(:has(.recruit)) .head-cont .hd-area h1:has(span) span {
        font-size: calc((12 / 40) * 1.0em);
        margin-bottom: 0;
    }


    /*end*/

    /*anker btn*/
    .under-head .btn-area {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 6px;
    }

    .under-head .anker-btn {
        width: 100%;
        font-size: var(--sp_fs15);
    }

    /*end*/

    /*cont*/
    .under-page .cont-wrapper {
        border-radius: 16px;
    }

    .under-page .cont-wrapper+.cont-wrapper {
        margin-top: 30px;
    }

    .under-page .cont-wrapper.pt100 {
        padding-top: 32px;
    }

    .under-page .cont-wrapper.pb100 {
        padding-bottom: 32px;
    }

    .under-page .cont-wrapper.pl75 {
        padding-left: calc((32 / 375) * 100%);
    }

    .under-page .cont-wrapper.pr75 {
        padding-right: calc((32 / 375) * 100%);
    }

    /*end*/
}

/*======================
*
page
*
=======================*/
/*======================
compnay profile
=======================*/
/*tb*/
@media (max-width:1024px) {
    #page .profile-sec .profile-cont .table-cont {
        font-size: 13px;
    }
}

/*sp*/
@media (max-width:767px) {
    #page .profile-sec .profile-cont {
        display: block;

    }

    #page .profile-sec .profile-cont .table-cont {
        display: block;
        font-size: var(--sp_fs15);
        margin-top: 32px;
        margin-bottom: -21px;
    }

    #page .profile-sec .profile-cont .table-cont .th {
        margin: 0;
        padding: 0;
        border: 0;
    }

    #page .profile-sec .profile-cont .table-cont .td {
        margin-top: 2px;
        margin-bottom: 21px;
        padding-bottom: 21px;
    }
}

/*======================
compnay access
=======================*/
/*tb*/
@media (max-width:1024px) {
    #page .access-sec .access-cont .hd-area [class*="hd"]+p {
        font-size: 13px;
    }

    #page .access-sec .access-cont .map-cont {
        min-height: 350px;
    }
}

@media (max-width:899px) {
    #page .access-sec .access-cont {
        display: block;
    }

    #page .access-sec .access-cont .hd-area {
        width: fit-content;
        margin: auto;
        padding: 80px calc((75 / 1195) * 100%);
    }

    #page .access-sec .access-cont .hd-area .hd03 {
        text-align: center;
    }
}

/*sp*/
@media (max-width:767px) {
    #page .access-sec .access-cont .hd-area {
        padding: 32px calc((32 / 375) * 100%);
    }

    #page .access-sec .access-cont .hd-area [class*="hd"]+p {
        font-size: var(--sp_fs15);
        margin-top: 29px;
    }

    #page .access-sec .access-cont .map-cont {
        aspect-ratio: 1 / 1;
    }
}

/*======================
company message
=======================*/
/*tb*/
@media (max-width:899px) {
    #page .message-sec .message-cont .cont {
        width: 100%;
        padding: 80px 0;
    }

    #page .message-sec .message-cont .cont .hd03 {
        text-align: center;
    }


    #page .message-sec .message-cont .text-wrapper.pctb {
        display: none;
    }

    #page .message-sec .message-cont h3 {
        font-size: 16px;
        padding: 0 calc((75 / 1195) * 100%);
    }

    #page .message-sec .message-cont .text-wrapper.tbsp {
        display: flex;
        flex-direction: column;
        gap: 21px;
        margin-top: 20px;
        padding: 0 calc((75 / 1195) * 100%);
    }


    #page .message-sec .message-cont .text-wrapper p {
        font-size: 13px;
    }

    #page .message-sec .message-cont .text-wrapper .inner .name {
        margin-top: 21px;
    }

    #page .message-sec .message-cont .img-area.pctb {
        display: none;
    }

    #page .message-sec .message-cont .img-area.tbsp {
        display: block;
        margin-top: 29px;
    }
}

/*sp*/
@media (max-width:767px) {
    #page .message-sec .message-cont .cont {
        padding: 32px 0;
    }

    #page .message-sec .message-cont h3 {
        font-size: var(--sp_fs15);
        margin-top: calc((35 / 15) * 1.0em);
        padding: 0 calc((32 / 343) * 100%);
    }

    #page .message-sec .message-cont .text-wrapper.tbsp {
        padding: 0 calc((32 / 343) * 100%);
    }


    #page .message-sec .message-cont .text-wrapper p {
        font-size: var(--sp_fs15);
    }

}

/*======================
company logo
=======================*/
/*tb*/
@media (max-width:899px) {
    #page .logo-sec .logo-cont .logo-area {
        margin-top: 32px;
        flex-wrap: wrap;
    }

    #page .logo-sec .logo-cont .logo-area .cont:not(:has(.inner)) {
        width: 100%;
    }

    #page .logo-sec .logo-cont .logo-area .wrapper {
        flex: initial;
        width: 100%;
    }

    #page .logo-sec .logo-cont .logo-area .wrapper {
        flex-direction: row;
    }

    #page .logo-sec .logo-cont p.text-cont {
        font-size: 13px;
        margin-top: 21px;
    }
}

/*sp*/
@media (max-width:767px) {
    #page .logo-sec .logo-cont .logo-area {
        gap: 5px;
    }

    #page .logo-sec .logo-cont .logo-area .wrapper {
        gap: 5px;
    }

    #page .logo-sec .logo-cont .logo-area .cont:not(:has(.inner)) {
        padding-top: 53px;
        padding-bottom: 53px;
    }

    #page .logo-sec .logo-cont .logo-area .cont:has(.inner) {
        padding-top: 19px;
        padding-bottom: 19px;
    }

    #page .logo-sec .logo-cont .logo-area .cont:not(:has(.inner)) img {
        width: calc((187 / 259) * 100%);
    }

    #page .logo-sec .logo-cont .logo-area .cont .inner .img-area {
        width: calc((41 / 70) * 100%);
    }

    #page .logo-sec .logo-cont .logo-area .cont .inner .img-area img {
        width: calc((24/ 32) * 100%);
    }

    #page .logo-sec .logo-cont .logo-area .cont .inner p {
        font-size: min(4.27vw, 16px);
    }

    #page .logo-sec .logo-cont p.text-cont {
        font-size: var(--sp_fs15);
        text-align: start;
    }

    #page .logo-sec .logo-cont p.text-cont br {
        display: none;
    }
}

/*======================
strength service
=======================*/
/*tb*/
@media (max-width:1024px) {
    #page .service-sec .cont-area.grid-cont .cont .hd {
        font-size: 18px;
    }

    #page .service-sec .cont-area.grid-cont .cont p:not(.deco) {
        font-size: 13px;
    }
}

/*sp*/
@media (max-width:767px) {
    #page .service-sec .head-img {
        aspect-ratio: 343 / 200;
    }

    #page .service-sec .head-img>* {
        width: 100%;
        height: 100%;
    }

    #page .service-sec .head-img figure {
        width: 100%;
        height: 100%;
    }

    #page .service-sec .head-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #page .service-sec .hd-area {
        margin-top: 32px;
        margin-bottom: 32px;
    }

    #page .service-sec .hd-area div[class*="hd"]+p {
        font-size: var(--sp_fs24);
        margin-top: 32px;
    }

    #page .service-sec .cont-area.grid-cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 32px;
        padding: 0 calc((32 / 343) * 100%) 32px;
    }

    #page .service-sec .cont-area.grid-cont .cont .hd {
        flex-direction: column;
        align-items: center;
        gap: 5px;
        font-size: var(--sp_fs18);
        margin: 32px 0 13px;
    }

    #page .service-sec .cont-area.grid-cont .cont .hd .deco {
        font-size: calc((9 / 18) * 1.0em);
    }

    #page .service-sec .cont-area.grid-cont .cont p:not(.deco) {
        font-size: var(--sp_fs15);
    }
}

/*======================
strength thought
=======================*/
/*tb*/
@media (min-width:768px) and (max-width:1024px) {
    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area h4 br {
        display: none;
    }
}

@media (max-width:1024px) {
    #page .thought-sec .thought-cont .cont .hd span {
        font-size: 15px;
        margin-top: 0.7em;
    }

    #page .thought-sec .thought-cont .cont p {
        font-size: 13px;
    }

    #page .thought-sec .thought_topics__cont {
        background: url(img/under/strength_thought_point_bg.webp) no-repeat right top / 100%;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top {
        flex-direction: column-reverse;
        gap: 25px;
        padding-left: 0;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .img-area {
        justify-content: center;
        gap: 30px;
        width: 100%;
        padding: 0 30px;
        background: none;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .img-area img {
        width: 100%;
        padding: 30px 0 0;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area {
        width: 100%;
        padding-right: calc((75 / 1366) * 100%);
        padding-left: calc((75 / 1366) * 100%);
        padding-top: 0;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area h3 {
        font-size: 13px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area h4+p {
        font-size: 13px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area .about__100 .about__100_hd {
        font-size: 12px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area .about__100 .about__100_text__wrapper .about__100_text_cont {
        font-size: 12px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area .about__100 .about__100_text__wrapper .btn01 a {
        font-size: 12px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont {
        grid-template-columns: repeat(1, 1fr);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont .img-area {
        width: 30%;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont01 .img-area img {
        max-height: 90px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont02 .img-area img {
        max-height: 90px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont03 .img-area img {
        max-height: 90px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont .text-area .hd {
        font-size: 13px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont .text-area .hd p {
        font-size: calc((10 / 13) * 1.0em);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont .text-area p.text-cont {
        font-size: 12PX;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__text {
        font-size: 13px;
    }

    #page .beginning-sec .text-cont {
        padding: 40px 0 80px;
    }

    #page .beginning-sec .text-cont p {
        font-size: 13px;
    }

    #page .beginning-sec .text-cont h3 {
        font-size: 21px;
        margin-top: 30px;
    }

}

/*sp*/
@media (max-width:767px) {
    #page .thought-sec {
        padding-bottom: 0;
        margin-bottom: 30px;
    }

    #page .thought-sec .thought-cont {
        gap: 32px;
        padding: 32px 0 50px calc((32 / 343) * 100%);
    }

    #page .thought-sec .thought-cont .hd03 {
        margin: auto;
    }

    #page .thought-sec .thought-cont .wrapper {
        width: 100%;
    }

    #page .thought-sec .thought-cont .cont .hd {
        gap: 9px;
        font-size: var(--sp_fs24);
        margin: 24px 0 24px;
        margin-right: calc((32 / 311) * 100%);
        padding-bottom: 24px;
    }

    #page .thought-sec .thought-cont .cont .hd span {
        font-size: calc((12 / 24) * 1.0em);
    }

    #page .thought-sec .thought-cont .cont p {
        font-size: var(--sp_fs15);
        margin-right: calc((32 / 311) * 100%);
    }

    #page .thought-sec .thought_topics__cont {
        margin: 0;
        border-width: 2px 0 0 0;
        border-radius: 0;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top {
        gap: 0;
        padding-bottom: 24px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .img-area {
        gap: calc((15 / 343) * 100%);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .img-area img {
        width: 100%;
        padding: 64px 0 58px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area {
        width: 100%;
        padding-right: calc((32 / 343) * 100%);
        padding-left: calc((32 / 343) * 100%);
        margin-top: calc((9 / 343) * -100%);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area h3 {
        font-size: var(--sp_fs12);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area h4 {
        font-size: var(--sp_fs18);
        margin: 24px 0 13px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area h4+p {
        font-size: var(--sp_fs15);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area .about__100 .about__100_text__wrapper {
        flex-direction: column;
        align-items: flex-end;
        gap: 9px;
        margin-top: 9px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area .about__100 .about__100_hd {
        font-size: var(--sp_fs12);
        padding: calc((4 / 12) * 1.0em) calc((8 / 12) * 1.0em);
    }


    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area .about__100 .about__100_text__wrapper .about__100_text_cont {
        font-size: var(--sp_fs12);
        width: 100%;
        padding-right: 0;
        margin-bottom: 12px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__top .text-area .about__100 .about__100_text__wrapper .about__100_text_cont::after {
        top: calc(100% + 9px);
        right: 0;
        width: 100%;
        height: 1px;
        background: radial-gradient(circle, var(--main-color) 0.5px, transparent 0.5px) repeat-x left bottom / 4px 1px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom {
        margin: 0 calc((32 / 343) * 100%);
        padding: 24px 0 0;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont {
        padding: 32px calc((24 / 279) * 100%) 32px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont .img-area {
        display: block;
        width: 100%;
        aspect-ratio: initial;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont01 .img-area img {
        width: calc((58 / 231) * 100%);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont02 .img-area img {
        width: calc((80 / 231) * 100%);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont03 .img-area img {
        width: calc((64 / 231) * 100%);
    }

    #page .thought-sec .thought_topics__cont .thought_topics__bottom .point-cont .cont .text-area .hd {
        font-size: var(--sp_fs15);
        margin-top: 24px;
        margin-bottom: 16px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__text {
        font-size: var(--sp_fs15);
        margin-top: 13px;
    }

    #page .thought-sec .thought_topics__cont .thought_topics__text {
        font-size: var(--sp_fs15);
        text-align: start;
        margin: 21px calc((32 / 343) * 100%) 0;
    }
}

/*======================
strength beginning
=======================*/
/*sp*/
@media (max-width:767px) {
    #page .beginning-sec .head-text {
        font-size: var(--sp_fs24);
        line-height: calc(55 / 40);
        margin-top: 32px;
    }

    #page .beginning-sec .slider-wrapper {
        min-width: calc((532 / 343) * 100%);
        margin-top: calc((30 / 532) * -100%);
        margin-bottom: 32px;
    }

    #page .beginning-sec .slider-wrapper .slider {
        padding-right: 8px;
    }

    #page .beginning-sec .slider-wrapper .slider figure {
        width: calc((100 / 532) * 100%);
    }

    #page .beginning-sec .slider-wrapper .slider figure:not(:last-of-type) {
        margin-right: 8px;
    }

    #page .beginning-sec .text-cont {
        padding: 32px 0 32px;
    }

    #page .beginning-sec .text-cont p {
        font-size: var(--sp_fs15);
    }

    #page .beginning-sec .text-cont h3 {
        font-size: var(--sp_fs18);
        margin-top: 24px;
        line-height: calc((30 / 18));
    }

}

/*======================
contact
=======================*/
/*tb*/
@media (max-width:1024px) {
    #page.contact .attention_text {
        font-size: 15px;
    }
}

/*status*/
/*sp*/
@media (max-width:599px) {
    #page.contact .attention_text {
        font-size: var(--sp_fs15);
        line-height: 2.0;
        padding-block: calc((15 / 15) * 1.0em);
    }

    section.contact-sec .status_area {
        margin-bottom: 30px;
    }

    section.contact-sec .status_area .status {
        flex: 1 1;
        gap: calc((6 / 12) * 1.0em);
        font-size: var(--sp_fs12);
        padding: calc((4 / 12) * 1.0em) 0 calc((4 / 12) * 1.0em) calc((4 / 12) * 1.0em);
    }

    section.contact-sec .status_area .status span {
        width: calc((24 / 12) * 1.0em);
    }

    section.contact-sec .status_area .status.current span {
        border: solid #FFF calc((6 / 12) * 1.0em);
    }

    section.contact-sec .status_area .status.complete span {
        border: solid #FFF calc((2 / 12) * 1.0em);
        background-size: calc((9 / 12) * 1.0em);
    }
}

/*contact cont*/
/*tb*/
@media (max-width:1024px) {
    section.contact-sec .contact-wrapper {
        width: 100%;
    }

    section.contact-sec .contact-wrapper .cont .form-hd {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .cont .form-cont :is(input, select, textarea) {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .cont .form-cont :is(input, select, textarea):not(:is([type="radio"], [type="file"])) {
        padding: 13px 24px;
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has(select)::after,
    section.contact-sec .contact-wrapper .cont .form-cont .birth .inner:has(select)::after,
    section.contact-sec .contact-wrapper .cont .form-cont .address .inner:has(select)::after {
        top: 16px;
    }

    section.contact-sec .contact-wrapper .privacy-text {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .agree-cont label {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .btn-area .btn-text {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([type="radio"]) {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .cont .form-cont .address {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([type="file"]) {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([type="hidden"]) .mw-wp-form_file {
        font-size: 15px;
    }

    section.contact-sec .contact-wrapper .error {
        font-size: 15px !important;
    }

}

/*sp*/
@media (max-width:767px) {
    section.contact-sec .contact-wrapper .cont {
        padding-bottom: 24px;
    }

    section.contact-sec .contact-wrapper .cont+.cont {
        margin-top: 24px;
    }

    section.contact-sec .contact-wrapper .cont .form-hd {
        font-size: var(--sp_fs15);
    }

    section.contact-sec .contact-wrapper .cont .form-cont :is(input, select, textarea) {
        font-size: var(--sp_fs13);
    }

    section.contact-sec .contact-wrapper .cont .form-cont :is(input, select, textarea):not(:is([type="radio"], [type="file"])) {
        padding: calc((17 / 13) * 1.0em) calc((16 / 13) * 1.0em);
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has(select)::after,
    section.contact-sec .contact-wrapper .cont .form-cont .birth .inner:has(select)::after,
    section.contact-sec .contact-wrapper .cont .form-cont .address .inner:has(select)::after {
        content: "";
        top: calc((18 / 13) * 1.0em);
        right: 16px;
        width: calc((24 /13) * 1.0em);
        font-size: var(--sp_fs13);
        border-radius: calc((6 / 13) * 1.0em);
        background-size: calc((6 / 13) * 1.0em);
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has(.birth) {
        display: flex;
        flex-wrap: wrap;
        row-gap: calc((8 / 13) * 1.0em);
        column-gap: calc((16 / 13) * 1.0em);
    }

    section.contact-sec .contact-wrapper .cont .form-cont .birth select[name="form_year"] {
        width: calc((176 / 13) * 1.0em);
    }

    section.contact-sec .contact-wrapper .cont .form-cont .birth :is(select[name="form_day"], select[name="form_month"]) {
        width: calc((104/ 13) * 1.0em);
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([type="radio"]) {
        font-size: var(--sp_fs15);
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([type="radio"])>span {
        width: 100%;
    }

    section.contact-sec .contact-wrapper .cont .form-cont .address {
        flex-wrap: wrap;
        gap: calc((6 / 15) * 1.0em);
        font-size: var(--sp_fs15);
    }

    section.contact-sec .contact-wrapper .cont .form-cont .address>span {
        width: 100%;
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([name^="form_address"]) {
        margin-top: calc((16 / 15) * 1.0em);
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([type="file"]) {
        flex-direction: column;
        align-items: center;
        font-size: var(--sp_fs15);
    }

    section.contact-sec .contact-wrapper .cont .form-cont:has([type="file"]) [for^="form_file"] {
        width: 100%;
    }


    section.contact-sec .contact-wrapper .cont .form-cont:has([type="hidden"]) .mw-wp-form_file {
        font-size: var(--sp_fs15);
    }

    section.contact-sec .contact-wrapper .agree-cont label {
        font-size: var(--sp_fs15);
    }

    section.contact-sec .contact-wrapper .privacy-text {
        font-size: var(--sp_fs13);
        padding: calc((13 / 13) * 1.0em) calc((16 / 13) * 1.0em);
    }

    section.contact-sec .contact-wrapper .btn-area {
        margin-top: 40px;
    }

    section.contact-sec .contact-wrapper .btn-area .btn-text {
        font-size: var(--sp_fs15);
    }

    section.contact-sec .contact-wrapper .error {
        font-size: var(--sp_fs15) !important;
    }
}

/*テキスト*/
/*tb*/
@media (max-width:1024px) {
    section.contact-sec .text-cont h2 {
        font-size: 24px;
    }

    section.contact-sec .text-cont p.cont-text {
        font-size: 13px;
    }
}

/*sp*/
@media (max-width:767px) {
    section.contact-sec .text-cont {
        width: 100%
    }

    section.contact-sec .text-cont h2 {
        font-size: var(--sp_fs24);
    }

    section.contact-sec .text-cont p.cont-text {
        font-size: var(--sp_fs15);
        margin: 13px auto 30px;
    }
}

/*======================
*
pagination
*
=======================*/
@media (max-width:767px) {
    .pagination ul {
        padding: 0 36px;
    }

    .pagination:not(:has(.prev)) ul:before,
    .pagination:not(:has(.next)) ul:after,
    .pagination ul li :is(.prev, .next) {
        width: 36px;
        background-size: 9px;
    }
}

/*======================
*
archive
*
=======================*/
/*sp*/
@media (max-width:767px) {
    #archive.archive-page .cont-wrapper {
        flex-direction: column;
        gap: 36px;
        padding: 32px calc((32 / 375) * 100%) 40px;
    }

    /*cate list*/
    #archive.archive-page .cont-wrapper .side_cate-list ul {
        flex-direction: row;
    }

    /*end*/

    /*post list*/
    #archive.archive-page .cont-wrapper .post-list>ul>li>a {
        flex-direction: column;
        gap: 12px;
        padding-bottom: 24px;
    }

    #archive.archive-page .cont-wrapper .post-list>ul>li:not(:first-of-type)>a {
        padding-top: 24px;
    }

    #archive.archive-page .cont-wrapper .post-list {
        margin-bottom: 40px;
    }

    /*end*/
}

/*======================
*
single
*
=======================*/
/*tb*/
@media (max-width:1024px) {
    #single.single-cont .cont-wrapper {
        padding: 80px 5%;
    }

    /*single head*/
    #single.single-cont .cont-wrapper .single_cont__head .time__cate {
        font-size: 12px;
    }
}

/*sp*/
@media (max-width:767px) {
    #single.single-cont .cont-wrapper {
        padding: 32px calc((32 / 375) * 100%);
    }

    /*single head*/
    #single.single-cont .cont-wrapper .single_cont__head {
        margin-bottom: 24px;
    }

    #single.single-cont .cont-wrapper .single_cont__head .time__cate .cate-list ul {
        margin-bottom: 16px;
    }

    #single.single-cont .cont-wrapper .single_cont__head h1 {
        font-size: 24px;
        padding-bottom: 24px;
        margin-bottom: 24px;
    }

    /*single cont_area*/
    /*見出し*/
    #single.single-cont .cont-area h2 {
        font-size: 18px;
        padding: calc((12 / 18) * 1.0em);
    }

    #single.single-cont .cont-area *+h2 {
        margin-top: 30px;
    }

    #single.single-cont .cont-area *+ :is(h3, h4, h5) {
        margin-top: 13px;
    }


    /*テキスト*/
    #single.single-cont .cont-area *+p {
        margin-top: 13px;
    }

    /*リスト*/
    #single.single-cont .cont-area *+:is(ul, ol) {
        margin-top: 13px;
    }

    /*注釈*/
    #single.single-cont .cont-area .annotation-text {
        padding: 13px 16px;
    }

    #single.single-cont .cont-area *+.annotation-text {
        margin-top: 24px;
    }

    /*画像*/
    #single.single-cont .cont-area *+figure {
        margin-top: 16px;
    }

    /*line*/
    #single.single-cont .cont-area .line {
        margin: 32px 0;
    }

    /*point*/
    #single.single-cont .cont-area .point {
        margin: 32px auto;
    }

    #single.single-cont .cont-area .point .inner {
        padding: 0 16px;
    }

    #single.single-cont .cont-area .point .en {
        font-size: 12px;
    }

    #single.single-cont .cont-area .point .num {
        font-size: 18px;
    }

    /*btn*/
    #single.single-cont .cont-area *+.btn01 {
        margin-top: 48px;
    }

    /*table*/
    #single.single-cont .cont-area .single_table {
        font-size: 12px;
    }

    #single.single-cont .cont-area .single_table tr td:first-of-type {
        width: 30%;
    }
}

/*======================
*
breadcrumbs
*
=======================*/
/*sp*/
@media (max-width:767px) {
    .breadcrumbs ul li {
        font-size: 9px;
    }


}

/*======================
*
footer
*
=======================*/
/*tb*/
@media (max-width:1024px) {
    footer {
        gap: 5px;
        padding: 90px 2% 22px;
    }
}

/*sp*/
@media (max-width:767px) {
    footer {
        display: block;
        padding: 12px calc((12 / 375) * 100%) 12px;
        margin-top: 90px;
    }

    main:has(.strength)+footer {
        margin-top: 90px;
    }

    footer.top {
        padding-top: 63px;
    }

    footer .foot-cont:not(.menu-area) {
        width: 100%;
        padding: calc((24/351) * 100%) calc((24/351) * 100%);
    }

    footer .foot-cont+.foot-cont {
        margin-top: 8px;
    }

    /*logo area*/
    footer .logo-area .logo {
        width: calc((112 / 303) * 100%);
        margin: auto;
    }

    footer .logo-area p {
        font-size: 3.2vw;
        text-align: center;
        margin: 17px auto 0;
    }

    /*menu*/
    footer .menu-area {
        width: 100%;
        font-size: 4.8vw;
        padding: calc((24/351) * 100%) calc((24/351) * 100%);
    }

    footer .footer-nav {
        display: block;
    }

    footer .footer-nav>ul li:has(ul) {
        padding-top: 20px;
        border-top: solid 1px var(--main-color);
    }

    /*子ページリンク*/
    footer .footer-nav>ul li:has(ul)>ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    /*sns copyright*/
    footer .sns__copyright {
        gap: 32px;
    }

    footer .sns__copyright .sns-link {
        display: grid;
        gap: 0;
        grid-template-columns: repeat(2, 1fr);
    }

    footer .sns__copyright .sns-link a+a {
        margin-top: 0;
    }

}