@charset "UTF-8";
/* @media screen and (max-width: 768px) { */
@media screen and (max-width: 896px) {
    /* 共通 */
    .pc {display:none!important;}
    .sp {display:block!important;}
    html {
        font-size: calc(100vw / 50.5);
    }
    /* #wrapper{
        background-size: 100%;
    } */
    /*
    # =================================================================
    # エフェクト要素
    # =================================================================*/
    /*------------------- ローディング画面 -------------------*/


    .hvrbtn02 {
        width: 52%;
        max-width: none;
        height: 10vw;
        border: none;
        background: #fff;
    }
    .hvrbtn02 a {
        color: #000 !important;
    }

    /*
    # =================================================================
    # 共通要素
    # =================================================================*/
    /*
    /* コンテンツ */
    /* メイン見出し 画像なし */
    .mainTtlarea{
        padding: 26vw 0 14vw;
    }

    /* メイン見出し 画像あり */
    .mainTtlarea02{
        padding: 27vw 0 0vw;
    }
    .mainTtlarea02 .mainTtl01 {
        margin-bottom: 6.8vw;
    }
    .mainTtlarea02 .mainTtlCatch{
        margin-bottom: 0;
        font-size: 2.4rem;
        letter-spacing: 0.02em;
    }
    .mainTtlarea02 .mainTtlCatch.line3{
        margin-bottom: 0;
    }
    .mainTtlarea02 .mdsblk{
        width: 100%;
        padding: 10.2vw 0 21.2vw 0;
    }
    .mainTtlarea02 .inner1 .mdsblk{
        width: 100%;
    }
    .kasou .mainTtlarea02 .bgimg{
        position: static;
        width: 100%;
    }

    /* メイン見出し 画像なし サービス下層ver */
    .mainTtlarea03{
        padding: 26vw 0 14vw;
    }
    .mainTtlarea03 .mainTtl01{
        margin-bottom: 7.4vw;
    }
    .mainTtlarea03 .mainTtl01 span.jp{
        font-size: 1.5rem;
        margin: 0 0 0.3em 0.8em;
    }
    .mainTtlarea03 .mainTtlCatch{
        margin-bottom: 0;
        font-size: 2.4rem;
    }

    /* 下層共通h1タイトル */
    .mainTtl01.jp{
        font-size: 1.5rem;
        font-weight: 500;
    }
    .mainTtl01 span{
        font-size: 1.8rem;
    }
    .mainTtl01 span:after{
        width: 1.5em;
    }

    .kasou .mainTtl01.jp{
        font-size: 1.8rem;
    }
    .kasou .mainTtl01 span{
        font-size: 2rem;
    }
    .kasou .mainTtl01 span:after{
        width: 2em;
    }

    .mainTtlCatch{
        font-size: 2.4rem;
        line-height: 1.6;
        letter-spacing: 0.02em;
    }

    /* 共通h2タイトル */
    .contTtl01 span{
        margin-bottom: 2.3vw;
        font-size: 6.2rem;
    }
    /* contTtl02 */
    .contTtl02 span{
        margin-bottom: 2.3vw;
        font-size: 6.2rem;
    }

    /* リキャプチャバナー */
    .grecaptcha-badge{
        z-index: 2 !important;
        bottom: 20vw !important;
    }
    /*
    # =================================================================
    # コンテンツ要素
    # =================================================================*/
    /*
    /* ヘッダー */
    header{
        position: absolute;
    }
    header .hd_bg{
        width: 100%;
        height: auto;
        margin-bottom: 0;
        padding: 9vw 1vw 0;
    }
    header .logo{
        width: 24.3vw;
    }
    /* スマホメニューボタン */
    .spNavWp{
        position: fixed;
        z-index: 200;
        top: 9vw;
        right: 4vw;
        display: flex !important;
        align-items: center;
    }
    .spNavMenu{
        /* position: fixed; */
        z-index: 200;
        top: 10vw;
        right: 14vw;
        margin-right: 2vw;
        color: #fff;
        transition: opacity 0.5s;
    }
    .spNavMenu p{
        position: relative;
    }
    .spNavMenu p:before{
        position: absolute;
        content: "BACK";
        opacity: 0;
        transition: opacity 0.5s;
    }
    .spNavMenu p span{
        opacity: 1;
        transition: opacity 0.5s;
    }
    .spNavMenu.act p span{
        opacity: 0;
    }
    .spNavMenu.act p:before{
        opacity: 1;
    }



    .spNav {
        /* position: fixed;	 */
        z-index: 200;
        top: 9vw;
        right: 4vw;
        left: auto;
        display: flex !important;
        width: 7.6vw;
        height: 7.6vw;
        border: 1px solid #fff;
        border-radius: 100px;
        background: transparent;
    }
    .spNav > div {
		position: relative;
        width: 2.9vw;
        height: 1.9vw;
		margin: auto;
    }
	
    .spNav span {
    position: absolute;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #fff;
    transition: all .4s;
    }

    .spNav span:nth-of-type(1) {
    top: 0%;
    transition: top .2s .2s, transform .2s;
    }

    .spNav span:nth-of-type(2) {
    top: 50%;
    }

    .spNav span:nth-of-type(3) {
    top: 100%;
    transition: top .2s .2s, transform .2s;
    }

    .spNav.act div span:nth-of-type(1) {
    top: 50%;
    transition: top .2s, transform .2s .2s;
    transform: rotate(-45deg);
    }

    .spNav.act div span:nth-of-type(2) {
    opacity: 0;
    }

    .spNav.act div span:nth-of-type(3) {
    top: 50%;
    transition: top .2s, transform .2s .2s;
    transform: rotate(45deg);
    }
    
    /* スマホメニュー */
    .navsp {
        position: fixed;
		z-index: -1;
		top: 0%;
		left: 0%;
		width: 0;
		height: 0;		
		color: #fff;
		text-align: left;
		opacity: 0;
        transition: opacity .5s ease-in-out;
    }
    .navsp.act {
        z-index: 100;
		width: 100%;
		height: 100%;
        background: #333;
        opacity: 1;
        transition: opacity .5s ease-in-out;
    }
    .navmenu {
		z-index: -1;
		display: flex;
		overflow-y: scroll;
		flex-direction: column;
		height: 100%;
		padding: 25vw 13% 20vw;
		opacity: 0;
		transition: opacity .5s ease-in-out;
		/* justify-content: center; */
		align-items: center;
		/* flex-wrap: wrap; */
		-webkit-overflow-scrolling: touch;
    }
    .navsp.act .navmenu{
		z-index: 100;
		opacity: 1;
	}
    .navmenu > ul{
        display: inline-block;
        margin: 0 auto 9vw;
    }
    .navmenu a{
        padding: 0.3em 0;
        font-size: 2rem;
        color: #fff;
    }
    .navmenu li{
        width: 100%;
        opacity: 1;
		transform: translate(0);
    }
    .navmenu  ul li:not(:last-child){
		margin: 0 0 10vw;
	}

    .navmenu .submenu{
        margin: 0;
    }
    .navmenu .submenu li{
        margin: 0 !important;
    }
    .navmenu .submenu a{
        position: relative;
        display: flex;
        padding: 3.5vw 0 0;
        font-size: 1.6rem;
        font-weight: 400;
        letter-spacing: 0;
        align-items: center;
    }
    .navmenu .submenu a:before {
        width: 0.8em;
        height: 1px;
        background: #fff;
        content: '';
    }
    .navmenu .submenu a span{
        padding-left: 0.1em;
    }
    .navmenu .submenu a span::after{
        display: none;
    }

    .navmenu .cntct{
        width: 100%;
        margin: 0 auto;
    }
    .navmenu .cntct a{
        padding: 0.5em 0 0.6em;
        color: #fff;
    }
    /* info */
    /* .slide-nav-list{
        position: static;
        z-index: 999;
        display: flex;
        overflow: visible;
        flex-direction: column;
        width: 100%;
        height: 100%;
        justify-content: flex-start;
    } */
    
    /*------------------------ footer ------------------------*/
    /* リクルートコンバージョンエリア */
    .recruitbox {
        padding: 0 0 24vw;
        background: url(../img/fotRecruitBgsp.png) no-repeat center bottom;
        background-size: 100%;
    }
    .recruitbox .inner2{
        position: relative;
        flex-direction: column;
        width: auto;
    }
    .recruitbox .mainimg {
        width: 100vw;
        margin: 0vw calc(50% - 50vw) 0vw;
    }
    .recruitbox .txtbox{
        width: 100%;
        margin-top: 22.8vw;
    }
    .recruitbox .contTtl01 {
        margin-bottom: 8vw;
    }
    .recruitbox .mainTtlCatch{
        margin-bottom: 10vw;
        font-size: 2.4rem;
        line-height: 1.6;
        letter-spacing: 0.02em;
    }
    .recruitbox .imgbox{
        position: absolute;
        top: -20vw;
        right: 4vw;
        width: 40.5vw;
    }


    
    /* フッター */
    footer{
        padding: 17vw 0 23.6vw;
    }
    footer .info_wrap{
        display: contents;
    }
    footer .infoname{
        margin-bottom: 12vw;
        order: 1;
    }
    footer .prfitem{
        margin: 0 auto 5vw;
        order: 3;
    }
    footer .copy{
        order: 4;
    }
    footer .nav_wrap{
        width: 100%;
        margin-bottom: 10vw;
        order: 2;
    }

    footer .fot01{
        flex-direction: column;
        padding-bottom: 16vw;
    }
    footer .fot01 .contTtl02{
        margin-bottom: 10vw;
    }
    footer .fot01 .box01{
        width: 100%;
        max-width: none;
        margin-bottom: 12vw;
    }
    footer .fot01 .box01 .txt{
        font-weight: 400;
        line-height: 1.9;
    }

    footer .fot01 .box02{
        width: auto;
        max-width: none;
    }
    footer .fot01 .box02 .tel{
        /* margin-right: 6vw; */
        margin-bottom: 4vw;
    }
    footer .fot01 .box02 .txt{
        margin-bottom: 7.2vw;
        letter-spacing: 0;
    }

    footer .fot02{
    padding-top: 16vw;
    }

    /* フッターロゴ */
    footer .fotlogo {
        margin-bottom: 4vw;
    }
    footer .fotlogo a{
        justify-content: center;
    }
    footer .fotlogo span{
        margin-top: 4vw;
        margin-left: 0;
        font-size: 2.1rem;
        line-height: 1.2;
        em{
            text-align: center;
        }
        .name01{
            margin-bottom: 2vw;
        }
    }
    footer .address{
        font-size: 1.4rem;
        line-height: 1.8;
        text-align: center;
    }
    footer .fotlogo a img{
        width: clamp(121px, 121 / 375 * 100vw, 242px);

    }


    /* フッターメニュー */
    footer .nav_wrap .menu01{
        flex-direction: column;
        margin-bottom: 7.8vw;
    }
    footer .nav_wrap .menu01 > ul{
        width: 100%;
        max-width: none;
    }
    footer .nav_wrap .menu01 > ul:not(:last-child){
        margin-right: 0;
        margin-bottom: 8vw;
    }
    footer .nav_wrap .menu01 > ul > li:not(:last-child){
        margin-bottom: 7.6vw;
    }
    footer .nav_wrap .menu01 > ul > li > a{
        padding: 0 0 2.6vw;
    }

    footer .nav_wrap .menu01 .submenu a{
        padding: 4vw 0 0;
    }
    footer .nav_wrap .menu01 .submenu a:before{
        width: 1em;
        height: 2px;
    }
    footer .nav_wrap .menu01 .submenu span {
        padding-left: 0.5em;
    }

    footer .nav_wrap .menu02{
        font-size: 1.4rem;
        justify-content: flex-start;
    }
    footer .nav_wrap .menu02 li:not(:last-child) {
        margin-right: 4.2vw;
    }
    footer .nav_wrap .menu01 .gaibu_note a {
        padding: 1.5vw;
    }
    footer .nav_wrap .menu01 .gaibu_note img{
        width: 30vw;
    }
    

    /* コピーライト */
    footer .copy{
        width: 100%;
        padding-top: 6vw;
        font-size: 1.1rem;
        text-align: center;
        letter-spacing: 0;
    }

    /*------------------------ TOPページ ------------------------*/
    /* mainビジュアル */
    #top .mainVisual {
        background: url(../img/img-top/top_main_mv01sp.jpg) no-repeat center bottom;
	    background-size: cover;
    }
    /* キャッチテキスト */
    #top .fvHeroCatch .catch,
    #top .mainVisual .catch{
        right: 0;
        bottom: 25.3vw;
        left: 0;
        /* width: 89%; */
        font-size: 4rem;
        /* justify-content: flex-start; */
        margin: auto;
        text-align: center;
        transform: translate3d(0.5em, 0, 0);
    }


    /* 背景光 */
    .whlight{
        top:auto;
        width: 170vw;
        height: 170vw;
    }

    /* TOP共通コンテンツ */
    #top .cntCmn .mainTtl01,
    #top .cntCmn .mainTtlCatch{
        margin-bottom: 7vw;
    }
    #top .cntCmn .txt01{
        margin-bottom: 10vw;
    }


    /* cntBlk01 */
    #top .cntBlk01{
        padding: 40vw 0 40vw;
    }
    #top .cntBlk01 .mainTtlCatch{
        font-size: 4rem;
        text-align: center;
        letter-spacing: 0.1em;
        width: 80%;
        margin: 0 auto 17.8vw;
    }
    #top .cntBlk01 .txtbox .mainTtlCatch .textAnimeFadein{
        height: 3em;
    }
    .topmarquee {
        top: 55%;
    }
    .topmarquee span {
        font-size: 10.8rem;
        animation-duration: 9s;
    }
    #top .cntBlk01 .txtbox--philosophy .txt01{
        font-size: 1.4rem;
    }
    #top .cntBlk01 .hvrbtn02{
        width: 65%;
        height: 12vw;
        background: transparent;
        border: 1px solid #fff;
    }
    #top .cntBlk01 .hvrbtn02 a{
        color: #fff !important;
    }

    /* #top .cntBlk01 .inner.flex{
        flex-direction: column;
        align-items: flex-start;
    } */
    /* #top .cntBlk01 .imgbox{
        width: 100%;
        margin: 0 0 5vw;
        order: 3;
    } */
    /* #top .cntBlk01 .txtbox{
        display: contents;
        width: 100%;
    } */
    /* #top .cntBlk01 .txtbox .mainTtl01 {
        order: 1;
    }
    #top .cntBlk01 .txtbox .mainTtlCatch {
        order: 2;
    } */
    /* #top .cntBlk01 .txtbox .mainTtlCatch .textAnimeFadein {
        height: 3.2em;
    }

    #top .cntBlk01 .txt01{
        line-height: 2;
        order: 4;
    }
    #top .cntBlk01:after{
        display: none;
    }
    #top .cntBlk01 .whlight{
        top: -20%;
        right: -17%;
    }
    #top .cntBlk01 .hvrbtn02{
        margin: auto;
        order: 5;
    } */

    /* cntBlk02 */
    #top .cntBlk02{
        z-index: 2;
        padding: 20vw 0 32vw;
    }
    #top .cntBlk02 .txtbox{
        display: contents;
        width: 100%;
    }
    #top .cntBlk02 .imgbox{
        width: 96%;
        max-width: none;
        margin: 0 auto 6vw;
        order: 3;
    }
    #top .cntBlk02 .inner.flex{
        flex-direction: column;
        align-items: flex-start;
    }
    #top .cntBlk02 .txtbox .mainTtl01 {
        order: 1;
    }
    #top .cntBlk02 .txtbox .mainTtlCatch {
        order: 2;
    }
    #top .cntBlk02 .txtbox .mainTtlCatch .textAnimeFadein {
        height: 4.8em;
    }
    #top .cntBlk02 .txt01{
        line-height: 2;
        order: 4;
    }
    #top .cntBlk02 .whlight{
        display: none;
    }
    #top .cntBlk02 .hvrbtn02{
        margin: auto;
        order: 5;
    }

    /* cntBlk03 */
    #top .cntBlk03{
        padding: 20vw 0 36vw;
    }
    #top .cntBlk03 .txtbox{
        flex-direction: column;
        width: 100%;
        margin: 0 0 8vw;
        align-items: flex-start;
    }
    #top .cntBlk03 .txtbox .txt01{
        margin: 0;
        margin-bottom: 10vw;
    }
    #top .cntBlk03 .contTtl01{
        margin-bottom: 12vw;
    }

    #top .cntBlk03 .box {
        overflow: visible;
        margin: 0  0 15vw;
        align-items: flex-start;
    }
    #top .cntBlk03 .box li{
        background-color: rgba(255, 255, 255, 0.5);
        /* margin-left: 4vw; */
        opacity: 1;
    }
    #top .cntBlk03 .box li a{
        padding: 8vw 6.5vw 8vw;
    }
    #top .cntBlk03 .box .ttl{
        /* height: 4.5em; */
        height: auto;
        margin: 0 0 4vw;
        font-size: 1.8rem;
        /* -webkit-line-clamp: 3; */
    }
    #top .cntBlk03 .box .cat01{
        margin: 0 0 4vw;
        gap: 2vw;
    }
    #top .cntBlk03 .box .cat01 .ctgr{
        padding: 0.1vw 3vw;
        font-size: 1.3rem;
    }
    #top .cntBlk03 .box .cat02{
        margin: 0 0 7.5vw;
        padding: 3.7vw 0;
        font-size: 1.3rem;
    }
    #top .cntBlk03 .box .cat02 span{
        /* display: block; */
        font-size: 1.6rem;
    }
    #top .cntBlk03 .box .hvrbtn{
        width: 100%;
    }
    #top .cntBlk03 .whlight{
        top: -50%;
        left: -60%;
        width: 170vw;
        height: 170vw;
    }


    /* cntBlk04 */
    #top .cntBlk04{
        padding:0
    }
    #top .cntBlk04in{
        padding: 30vw 0;
    }
    #top .cntBlk04 .contTtl01{
        margin-bottom: 10.2vw;
        text-align: left;
    }
    #top .cntBlk04 .txtbox{
        width: 100%;
    }
    #top .cntBlk04 .memberList{
        width: 100vw;
        margin: 0 calc(50% - 50vw);
    }
    #top .cntBlk04 .memberList .memberList__item .txtbox {
        margin-top: 6vw;
    }
    #top .cntBlk04 .memberList .memberList__item .txtbox .position {
        margin-top: 3vw;
    }
    #top .cntBlk04 .hvrbtn02{
        margin:15vw auto 0;
    }

    /* cntBlk05 */
    #top .cntBlk05{
        padding: 30vw 0 36vw;
    }
    #top .cntBlk05 .inner.flex{
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    #top .cntBlk05 .imgbox{
        width: 100%;
        margin: 0 0 10vw;
        order: 3;
    }
    #top .cntBlk05 .txtbox{
        display: contents;
        width: 100%;
    }
    #top .cntBlk05 .contTtl02 {
        margin-bottom: 8.2vw;
        order: 1;
    }

    #top .cntBlk05 .tab_menu_wp{
        width: 100vw;
        margin-bottom: 5.5vw;
        order: 2;
    }
    #top .cntBlk05 .tab_menu{
        display:block;
        overflow: auto;
        overflow-x: auto;
        overflow-y: hidden;
        margin: 0;
        padding: 0 0 2vw;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        /* overflow-scrolling: touch; */
    }
    #top .cntBlk05 .tab_menu .hvrbtn{
        display: inline-flex;
        /* width: 40vw; */
        width: fit-content;
        padding: 0 2vw;
    }
    #top .cntBlk05 .tab_menu .hvrbtn:not(:last-child){
        margin: 0 2vw 0 0;
    }
    #top .cntBlk05 .tab_area li .dt .ctgr{
        padding: 1.2vw 1.5vw;
    }
    #top .cntBlk05 .tab_area li .dt .ctgr:not(:nth-child(2)){
        margin-left: 1.5vw;
    }
    #top .cntBlk05 .tab_area li .dd{
        display: -webkit-box;
        overflow: hidden;
        font-size: 1.6rem;
        white-space:unset;
        text-overflow:unset;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    #top .cntBlk05 .hvrbtn02{
        margin: auto;
        order: 4;
    }

    /* cntBlk06 */
    #top .cntBlk06 .inner{
        display: block;
    }
    #top .cntBlk06::before{
        width: 100%;
        top: 0;
        opacity: 0.4;
    }
    #top .cntBlk06 .contTtl01{
        margin-bottom: 14.1vw;
    }
    #top .cntBlk06 .txtbox{
        width: 100%;
    }
    #top .cntBlk06 .txt01{
        margin-top: 10.3vw;
    }
    #top .cntBlk06 .imgbox{
        width: 100vw;
        margin: 0 calc(50% - 50vw);
    }
    #top .cntBlk06 .hvrbtn02{
        margin: 10.3vw auto 0;
    }

    
    /*
    # =================================================================
    # 下層共通（kasou）
    # =================================================================*/
    .kasou #contents{
        /* padding-bottom: 16vw; */
        padding-bottom: 46vw;
    }

    /*
    # =================================================================
    # 私たちの想い（philosopy）
    # =================================================================*/
    .philosopy #contents{
        padding-bottom: 0vw;
    }
    /* MISSION / VISION / VALUE */
    
    .philosopy .mvvScroll{
        height: auto;
    }
    .philosopy .mvvSticky{
        position: static;
        display: block;
        height: auto;
        overflow: visible;
        padding: 16vw 0;
    }
    .philosopy .mvvViewport{
        display: block;
        width: var(--cont_width);
        max-width: 600px;
    }
    .philosopy .mvvItem{
        display: flex;
        flex-direction: column;
        align-items: center;
        opacity: 0;
        visibility: visible;
        transform: translate3d(0, 8vw, 0);
        transition: opacity 1s ease, transform 1s ease;
        pointer-events: auto;
        text-align: center;
    }
    .philosopy .mvvItem.is-show{
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    .philosopy .mvvItem:not(:first-child){
        margin-top: 16vw;
    }
    .philosopy .mvvLabel{
        order: 1;
        font-size: 1.6rem;
        justify-content: flex-start;
        margin-right: auto;
    }
    .philosopy .mvvLabel .en{
        font-size: 2rem;
    }
    .philosopy .mvvLabel .mvvLine{
        width: 40px;
        margin: 0 4.8vw;
    }
    .philosopy .mvvFig{
        order: 2;
        width: 74.6%;
        max-width: 340px;
        margin: 8vw auto 0;
    }
    .philosopy .mvvFig img{
        width: 100%;
        margin: 0 auto;
    }
    .philosopy .mvvCatch.jp{
        order: 3;
        margin-top: 8vw;
        font-size: 3.6rem;
        line-height: 1.6;
        letter-spacing: 0;
    }
    .philosopy .mvvDesc{
        order: 4;
        margin-top: 6vw;
        font-size: 1.8rem;
        line-height: 1.8;
        text-align: left;
    }
    .philosopy .mvvDesc--list{
        gap: 5vw 0;
    }
    .philosopy .mvvDescList dt{
        font-size: 1.6rem;
    }
    .philosopy .mvvDescList dd{
        font-size: 1.6rem;
        line-height: 1.5;
    }
    /* 行動指針 */
    .philosopy .ismBlock{
        padding: 16vw 0;
    }
    .philosopy .ismInner{
        display: block;
    }
    .philosopy .ismHead{
        width: 100%;
        position: static;
        top: auto;
        margin-bottom: 9.6vw;
    }
    .philosopy .ismLabel{
        font-size: 1.6rem;
    }
    .philosopy .ismLabel .en{
        font-size: 2rem;
    }
    .philosopy .ismTtl.jp{
        margin: 9.8vw 0 0;
        font-size: 3.6rem;
        line-height: 1.6;
        text-align: center;
        letter-spacing: 0;
    }
    .philosopy .ismLead{
        display: none;
    }
    .philosopy .ismList{
        width: 100%;
        margin-top: 3.5vw;
    }
    .philosopy .ismItem{
        padding: 10.2vw 0 4.2vw;
    }
    .philosopy .ismItem .en{
        font-size: 2rem;
    }
    .philosopy .ismItem .jp{
        margin-top: 1.6vw;
        font-size: 2.4rem;
        line-height: 1.8;
    }

    /* ご挨拶 */
    .philosopy .block01{
        width: 100%;
        margin-bottom: 0vw !important;
        z-index: 0;
    }
    .philosopy .block01 .inner1{
        padding: 14vw 0 40vw;
    }
    .philosopy .block01 .txtblk,
    .philosopy .block01 .imgblk{
        width: 100%;
    }
    .philosopy .block01 .txtblk{
        margin-bottom: 18vw;
    }
    .philosopy .block01 .imgblk{
        width: 90%;
        margin: auto;
    }
    .philosopy .block01 .imgblk img{
        width: 100%;
    }
    .philosopy .block01 .txtblk .mainTtl01{
        margin: 0 0 6.2vw;
    }
    .philosopy .block01 .txtblk p{
        font-size: 1.8rem;
        line-height: 1.9;
    }
    .philosopy .block01 .txtblk p:not(:last-child){
        margin-bottom: 11vw;
    }
    .philosopy .block01 .txtblk .catch{
        font-size: 2.8rem;
        margin-bottom: 6vw !important;
    }
    .philosopy .block01 .imgblk p{
        margin-top: 8.8vw;
        text-align: center;
    }


    /*
    # =================================================================
    # 私たちについて（company）
    # =================================================================*/
    
    /* 会社概要 */
    .company .block03 {
        padding: 16vw 0 10vw;
    }
    .company .block03 .mainTtl01 {
        margin-bottom: 6.8vw;
    }
    .company .block03 .flex{
        display: block;
        margin-bottom: 16.2vw;
    }
    .company .block03 table{
        width: 100%;
    }
    .company .block03 table th{
        display: block;
        width: auto;
        padding: 5.2vw 0 2vw;
        border-bottom: none;
    }
    .company .block03 table td{
        display: block;
        padding: 0 0 6.2vw;
    }
    .company .block03 table th.noBorder{
        padding-top: 5.2vw;
    }
    .company .block03 table th.noPadding{
        padding-top: 5.2vw;
    }
    
    .company .block03 .gmap{
        padding-top: 70%;
    }

    /* 水平方向に等速でループする画像スライダー（会社概要 .slideImage 用） */
    .company .slideImage figure {
        margin: 0 5.3vw 0 0;
    }
    .company .slideImage figure img {
        width: 73.6vw;
    }

    /*
    # =================================================================
    # サービス（service）
    # =================================================================*/
    /* テキスト */
    .service .block01 {
        padding: 8vw 0 5vw;
        font-size: 1.8rem;
        line-height: 1.9;
    }
    .service .block01 .sub{
        margin-top: 5vw;
        font-size: 1.6rem;
    }

    /* 私たちにできること */
    .service .block02{
        padding: 5vw 0 0;
    }
    .service .block02 .mainTtl01{
        display: block;
        margin-bottom: 8vw;
    }
    .service .block02 .mainTtl01 span{
        display: block;
        margin-bottom: 2vw;
    }
    .service .block02 .mainTtl01 span:after{
        display: block;
        margin: 2vw 0 0;
    }
    .service .block02 .menublk{
        display: block;
        gap: 0;
    }
    .service .block02 .menublk li{
        width: 100%;
        /* height: clamp(0px, 90 / 375 * 100vw, 90px); */
        height: 100%;
        margin-bottom: 4.2vw;
    }
    .service .block02 .menublk.ptn02{
        margin: 0;
    }
    .service .block02 .menublk li a{
        padding: 8% 6%;
    }
    .service .block02 .menublk li .ttl{
        display: flex;
        justify-content: flex-start;
        flex-direction: row;
        margin-bottom: 3vw;
        margin-right: auto;
    }
    .service .block02 .menublk img{
        margin: 0 5vw 0 0;
    }
    .service .block02 .menublk h3,
    .service .block02 .menublk li h3.line01{
        margin: 0;
        font-size: 1.8rem;
        text-align: left;
    }
    .service .block02 .menublk p.txt{
        font-size: 1.4rem;
        width: 100%;
        margin-bottom: 5.3vw;
    }
    .service .block02 .menublk p.btn{
        width: clamp(0px, 240 / 375 * 100vw, 240px);
        height: clamp(0px, 36 / 375 * 100vw, 36px);
    }


    /*
    # =================================================================
    # サービス（service）---下層共通
    # =================================================================*/
    .scmn .block01{
        padding: 12vw 0 0;
    }
    .scmn .scmn_txt{
        line-height: 1.94;
    }
    .scmn .scmn_txt:not(:last-child){
        margin-bottom: 8.8vw;
    }
    .scmn .mainTtl01{
        margin-bottom: 7.4vw;
    }
    .scmn .blockcmn .mainTtl01,
    .scmn .block02 .mainTtl01{
        display: block;
    }
    .scmn .blockcmn .mainTtl01 span,
    .scmn .block02 .mainTtl01 span{
        display: block;
        margin-bottom: 2vw;
    }
    .scmn .blockcmn .mainTtl01 span:after,
    .scmn .block02 .mainTtl01 span:after{
        display: block;
        margin: 2vw 0 0;
    }
    .scmn .blockcmn{
        margin-bottom: 17.3vw;
    }
    .scmn .ptmt10{
        padding-top: 15vw;
        margin-top: -15vw;
    }


    /* 当社の事例 */
    .scmn .case_list .mainTtl01{
        margin-bottom: 12.8vw;
    }
    .scmn .blockcmn{
        margin-bottom: 16vw;
    }
    .scmn .blockcmn .txtblk{
        margin-bottom: 17.3vw;
    }

    .scmn .case_list .listblk .swiper-wrapper{
        width: 100%;
        display: flex;
    }
    .scmn .case_list .listblk li a{
        padding-left: 4.5vw;
        padding-right: 4.5vw;
    }
    .scmn .case_list .hvrbtn02{
        margin: 12.5vw auto 0;
    }
    .scmn .case_list .nolist{
        text-align: center;
    }


    /* サイドサブメニュー */
    .scmn .subsidemenuwpsp{
        margin-top: 12vw;
        display: block;
    }
    .scmn .subsidemenu li{
        width: 47%;
    }
    .scmn .subsidemenu li:not(:last-child){
        margin-bottom: 4vw;
    }
    .scmn .subsidemenu li a{
        font-size: 1.2rem;
        padding: 0 0 2.4vw;
    }





    /*
    # =================================================================
    # サービス（service）---MAAアドバイザリー
    # =================================================================*/
    .ma .block01{
        margin-bottom: 16vw;
    }
    .ma .block01 .txtblk{
        width: 100%;
    }
    .ma .block01 .imgblk{
        width: 42%;
        margin: 8.8vw auto 0;
    }
    .ma .block01 .imgblk img{
        margin-bottom: 3.4vw;
    }
    .ma .block01 .blk1{
        margin-bottom: 16vw;
        display: block;
    }
    .ma .block01 .pdf::before{
        width: 1.5em;
        height: 2em;
    }

    /*
    # =================================================================
    # サービス（service）---組織再編
    # =================================================================*/
    .restructuring .blockcmn .imgblk{
        width: 100%;
    }
    .restructuring .plinkblk .ttl{
        font-size: 1.8rem;
        margin-bottom: 5.6vw;
        line-height: 1.45;
    }
    .restructuring .plinkblk .linklist{
        gap: 5vw;
        flex-wrap: wrap;
    }
    .restructuring .plinkblk .linklist li{
        max-width: none;
        width: 43vw;
        height: 10.4vw;
    }
    .restructuring .plinkblk .linklist li a{
        font-size: 1.6rem;
    }

    /*
    # =================================================================
    # サービス（service）---ハンズオン経営
    # =================================================================*/
    .managementsupport .blockcmn .txtblk{
        margin-bottom: 10vw;
    }
    .managementsupport .blockcmn .listblk{
        margin-bottom: 5.6vw;
        gap: 4vw 0;
    }
    .managementsupport .blockcmn .listblk li{
        width: 47.2%;
        border-radius: 8px;
        padding: 6% 4%;
        gap: 4vw 0;
        flex-direction: column;
        justify-content: flex-start;
        
    }
    .managementsupport .blockcmn .listblk .scmn_txt{
        font-size: 1.3rem;
        line-height: 1.9;
    }

    /*
    # =================================================================
    # 主要メンバー紹介（member）
    # =================================================================*/
    .member .mainTtlarea02 .mdsblk {
        padding-bottom: 11.2vw;
    }
    .member .block01 {
        padding: 21vw 0 1vw;
    }
    .member .block01 ul {
        gap: 8vw 5.3vw;
    }
    .member .block01 ul li{
        width: calc(50% - 2.65vw);
    }
    .member .block01 ul li img{
        margin-bottom: 4.5vw;
    }
    .member .block01 ul li .sub{
        font-size: 2.2rem;
    }
    .member .block01 ul li .sub .name_eng{
        font-size: 1.4rem;
        display: block;
    }
    .member .block01 ul li .sub .role{
        font-size: 1.2rem;
        display: block;
        margin-top: 1vw;
    }
    .member .block01 ul li .sub .rolekata{
        font-size: 1rem;
        display: block;
    }

    /* モーダル */
    .memberModal {
		width: 93vw;
		max-height: 88vh;
	}
	.memberModal__wrap {
		gap: 1rem;
	}
	.memberModal__card {
		flex-direction: column;
		align-items: center;
		gap: 2.4rem;
		padding: 3.2rem 2rem;
	}
	.memberModal__img {
		width: 21rem;
		height: auto;
	}
	.memberModal__body {
		gap: 2.96rem;
		width: 100%;
		letter-spacing: 0.072em;
	}
	.memberModal__head {
		gap: 1.89rem;
	}
	.memberModal__name {
		font-size: 2.6rem;
	}
	.memberModal__role {
		font-size: 1.6rem;
	}
    .memberModal__name_eng {
		font-size: 1.6rem;
	}
	.memberModal__detail {
		gap: 2.1rem;
	}
	.memberModal__block {
		gap: 1.5rem;
	}
	.memberModal__ttl {
		font-size: 1.8rem;
	}
	.memberModal__career {
		gap: 1rem;
	}
	.memberModal__career li {
		gap: 1.6rem;
		font-size: 1.3rem;
	}
	.memberModal__list li {
		font-size: 1.3rem;
	}
	.memberModal__date {
		width: 8rem;
	}
	.memberModal__close-label {
		font-size: 1.8rem;
	}
	.memberModal__close-icon {
		width: 2.4rem;
		height: 2.4rem;
	}
	.memberModal__close-icon::before,
	.memberModal__close-icon::after {
		width: 1.7rem;
	}

    /*
    # =================================================================
    # 主要メンバー紹介詳細ページ（memberCmn）
    # =================================================================*/
    .memberCmn .block01 {
        padding: 12.5vw 0 11vw;
    }
    .memberCmn .block01 .blk01 {
        display: block;
        margin-bottom: 13.3vw;
    }
    .memberCmn .block01 .blk01 .txtblk{
        width: 100%;
    }
    .memberCmn .block01 .blk01 .imgblk{
        width: 100%;
        margin-bottom: 16vw;
    }
    .memberCmn .block01 .blk01 .txtblk .maxim{
        margin: 0 0 13vw;
        padding: 0;
        font-size: 2.8rem;
        line-height: 1.7;
    }
    .memberCmn .block01 .blk01 .txtblk .maxim span{
        display: block;
        text-align: center;
    }
    .memberCmn .block01 .blk01 .txtblk .maxim span:before,
    .memberCmn .block01 .blk01 .txtblk .maxim span:after{
        width: 1.3em;
    }
    .memberCmn .block01 .blk01 .txtblk .maxim span:before{
        top: -1.3em;
        left: 0;
    }
    .memberCmn .block01 .blk01 .txtblk .maxim span:after{
        right: 0;
        bottom: -1.5em;
    }
    .memberCmn .block01 .blk01 .txtblk .name{
        margin-bottom: 4vw;
    }
    .memberCmn .block01 .blk01 .txtblk p{
        font-size: 1.6rem;
        line-height: 2.2;
    }

    .memberCmn .block01 .blk02 {
        display: block;
    }
    .memberCmn .block01 .blk02 > div{
        width: 100%;
        margin-bottom: 11vw;
    }
    .memberCmn .block01 .blk02 h3{
        margin-bottom: 3.5vw;
    }

    /* その他メンバー */
    .memberCmn #contents{
        padding-bottom: 0;
    }
    .memberCmn .otherlink{
        padding: 12vw 0 24vw;
   }
   .memberCmn .otherlink .title{
        margin-bottom: 10.5vw;
    }
    .memberCmn .otherlink .title span{
        margin-bottom: 3.4vw;
        font-size: 4rem;
    }

    .memberCmn .otherlink ul{
        margin-bottom: 6vw;
        justify-content: flex-start;
    }
    .memberCmn .otherlink ul li img{
        margin-bottom: 3.3vw;
    }
    .memberCmn .otherlink ul li .ttl{
        display: -webkit-box;
        overflow: hidden;
        margin-bottom: 0.8vw;
        font-size: 1.8rem;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .memberCmn .otherlink ul li .sub span{
        margin-right: 1em;
    }
    .memberCmn .otherlink #memberCmnSlide .swiper-pagination{
        position: static;
        margin-bottom: 10vw;
    }
    .memberCmn .otherlink #memberCmnSlide .swiper-pagination span {
        width: 10px;
        height: 10px;
        margin: 0 3vw;
        border: 1px solid #333;
        border-radius: 50px;
        background: transparent;
        opacity: 1;
        transition: 0.8s;
    }
    .memberCmn .otherlink #memberCmnSlide .swiper-pagination .swiper-pagination-bullet-active {
        border: none;
        background: var(--linear-gradient03);
    }

    /*
    # =================================================================
    # お知らせ（news）
    # =================================================================*/
    .news_cm #contents{
        padding-top: 12.4vw;
    }

    /* ------------ 一覧（news_list） ------------ */
    .news_list .catblk{
        margin-bottom: 8.7vw;
    }
    .news_list .catblk .hvrbtn03{
        height: 11vw;
    }
    .news_list .catblk .hvrbtn03 a{
        font-size: 1.6rem;
    }

    .news_list .category{
        position: relative;
        text-align: center;
        border: 1px solid #333;
        margin-bottom: 8.7vw;
    }
    .news_list .category:after{
        position: absolute;
        top: 0;
        right: 1em;
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 5px 0 5px;
        border-color: #333 transparent transparent transparent;
        bottom: 0;
        margin: auto;
        pointer-events: none;
    }
    .news_list .category select{
        text-align:-webkit-center;
        text-align: center;
        width: 100%;
        padding: 2vw 5vw;
        border-radius: 100px;
        background: transparent;
    }



    .news_list .listblk .list:not(:last-child) {
        margin-bottom: 4.8%;
    }
    .news_list .listblk .list a{
        padding-bottom: 6.4%;
    }
    .news_list .listblk .list .date{
        margin-right: 0.8em;
    }
    .news_list .listblk .list .cat .ctgr{
        padding: 1.2vw 1.5vw;
    }
    .news_list .listblk .list .cat .ctgr:not(:first-child){
        margin-left: 2vw;
    }
    .news_list .listblk .list .ttl{
        display: -webkit-box;
        overflow: hidden;
        font-size: 1.8rem;
        white-space: unset;
        text-overflow: unset;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    /* note一覧 */
    .news_list .notearea {
        margin-bottom: 18vw;
        display: flex;
        flex-direction: column;
    }
    .news_list .notearea .ttl_box {
        display: contents;
    }
    .news_list .notearea .ttl {
        font-size: 3.6rem;
        margin-bottom: 11.2vw;
        order: 1;
    }
    .news_list .notearea .ttl_box .hvrbtn02 {
        order: 3;
        width: 59.4vw;
        height: 13.2vw;
        margin: 8vw auto 0;
        background: transparent;
    }
    .news_list .notearea .ttl_box .hvrbtn02.bk {
        border: 1px solid #333;
    }
    .news_list .notearea .ttl img {
        width: 40%;
    }
    .news_list .notearea .note_list {
        grid-template-columns: repeat(1, 1fr);
        gap: 9vw;
        order: 2;
    }
    .news_list .notearea .note_list_col .card-thumbnail{
        margin-bottom: 3.2vw;
    }
    .news_list .notearea .note_list_col .card-date {
        margin-bottom: 3.2vw;
        font-size: 1.8rem;
    }
    .news_list .notearea .note_list_col .card-title {
        font-size: 1.6rem;
    }

    /* ページング */
    .news_cm .pagination,
    .blog_cm .pagination{
        margin-top: 13vw;
        justify-content: center;
    }


    /* ------------ news_page ------------ */
    .news_page .content_box,
    .case_page .content_box{
	    padding: 0 0 10%;
    }
    .news_page .content_box .content table,
    .case_page .content_box .content table{
	    width: 100% !important;
    }
    .news_page .content_box .info{
        margin-bottom: 5.3vw;
        padding-bottom: 5.4vw;
    }
    .news_page .content_box .date{
        margin-right: 0.8em;
    }
    .news_page .content_box .cat{
        padding: 2vw 3vw;
    }
    .news_page .content_box .ttl{
        margin-bottom: 6vw;
        font-size: 2.2rem;
        line-height: 1.5;
    }



    /* 前後記事リンク */
    .news_page .pagination{
        margin-top: 6vw;
    }
    .news_page .pagination li{
        letter-spacing: 0.05em;
    }
    .news_page .pagination a{
        font-size: 2rem;
        justify-content: center;
    }
    .news_page .pagination .listlink a{
        font-size: 2.2rem;
    }
    .news_page .pagination .prev:before, .news_page .pagination .next:before{
        top: auto;
    }


    /*
    # =================================================================
    # 実績・事例（case）
    # =================================================================*/
    .case_cm #contents{
        padding: 9.4vw 0 30vw;
    }

    /* ------------ 一覧（case_list） ------------ */
    /* カテゴリー */
    .case_list .catblk{
        margin-bottom: 9.7vw;
    }
    .case_list .catblk .title{
        margin-bottom: 2vw;
    }

    .case_list .catblk .category{
        position: relative;
        text-align: center;
    }
    .case_list .catblk .category:after{
        position: absolute;
        top: 0;
        right: 1em;
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 5px 0 5px;
        border-color: #fff transparent transparent transparent;
        bottom: 0;
        margin: auto;
        pointer-events: none;
    }
    .case_list .catblk .category select{
        text-align:-webkit-center;
        text-align: center;
        width: 100%;
        padding: 2vw 5vw;
        border-radius: 100px;
        background: var(--linear-gradient);
        color: #fff;
    }
    .case_list .catblk .category select option{
        background: #fff;
        color: #333;
    }

    /* 一覧 */
    .case_list .listblk ul{
        display: block;
        width: 80%;
    }
    .case_list .listblk li{
        width: 100%;
        margin-bottom: 8vw;
    }
    .case_list .listblk li a{
        padding: 11vw 7.5vw 6vw;
    }
    .case_list .listblk .ttl{
        margin: 0 0 5vw;
        -webkit-line-clamp: 3;
        height: auto;
    }
    .case_list .listblk .cat01{
        margin: 0 0 7vw;
        gap: 2vw;
    }
    .case_list .listblk .cat01 .ctgr{
        padding: 1vw 3.5vw;
        font-size: 1.3rem;
    }
    .case_list .listblk .cat02{
        margin: 0 0 7.5vw;
        padding: 3.7vw 0;
        font-size: 1.3rem;
    }
    .case_list .listblk .cat02 span{
        /* display: block; */
        font-size: 1.6rem;
    }
    .case_list .listblk .hvrbtn{
        width: 100%;
    }
    .case_list .pagination {
        margin: 14vw 0 0;
        justify-content: center;
    }

    /* ------------ case_page ------------ */
    .case_page #contents{
        padding: 10.4vw 0 23vw;
    }
    .case_page .content_box .ttl{
        margin-bottom: 6vw;
        font-size: 2.2rem;
        line-height: 1.5;
    }
    .case_page .content_box .cat01{
        margin: 0 0 9.5vw;
        gap: 2vw;
    }
    .case_page .content_box .cat01 .ctgr{
        padding: 2vw 4vw 2.1vw;
    }
    /* .case_page .content_box .cat01 .ctgr:not(:first-child){
        margin-left: 2vw;
    } */
    .case_page .content_box .info{
        border-spacing: 0;
        border-collapse: unset;
    }
    .case_page .content_box .info th,
    .case_page .content_box .info td{
        display: block;
        width: 100%;
        padding: 1.8% 4%;
        border-bottom: 2vw solid #EFEFEF;
        text-align: left;
    }
    .case_page .content_box .content {
        margin-top: 6.3vw;
        padding-top: 10vw;
    }
    .case_page .content_box .content .midashi01{
        font-size: 2rem;
        line-height: 1.9;
    }
    .case_page .content_box .content .midashi02{
        font-size: 1.8rem;
        line-height: 2;
    }
    .case_page .content_box .content .txt{
        margin-bottom: 1.6em;
        font-size: 1.8rem;
    }

    /* 前後記事リンク */
    .case_page .pagingblk{
        justify-content: center;
        margin-top: 9vw;
    }
    .case_page .pagingblk .pageprev,
    .case_page .pagingblk .pagenext{
        width: 100%;
        max-width: none;
        margin-bottom: 10vw;
    }
    .case_page .pagingblk .pageprev{
        order: 1;
    }
    .case_page .pagingblk .pagenext{
        order: 2;
    }
    .case_page .pagingblk .listlink{
        order: 3;
    }
    .case_page .pagingblk .pageprev .title{
        padding-left: 13vw;
    }
    .case_page .pagingblk .pagenext .title{
        padding-right: 13vw;
    }
    
    
    /*
    # =================================================================
    # お問い合わせ（contact）
    # =================================================================*/
    .contact #contents{
        padding: 8vw 0 22vw;
    }

    .contact .firstbox{
        margin: 0 0 10vw;
    }
    .contact .firstbox .txt{
        margin-bottom: 5.8vw;
        font-size: 1.8rem;
    }
    .contact .firstbox .tel{
        margin-bottom: 5vw;
        font-size: 3.7rem;
    }
    .contact .firstbox .tel a{
        padding: 0 0 0 1em;
    }
    .contact .firstbox .tel a:before{
        bottom: 15%;
        width: 0.7em;
        height: 0.7em;
    }

    /* フォームエリア */
    .contact .input_area th,
    .contact .input_area td {
        display: block;
        width: 100%;
        padding: 0;
    }
    .contact .input_area th {
        margin-bottom: 5vw;
        font-size: 1.6rem;
    }
    .contact .input_area td {
        margin-bottom: 6vw;
    }

    .contact .input_area td input, 
    .contact .input_area td textarea,
    .contact .input_area td select {
        width: 100%;
        max-width: none;
        padding: 3vw;
    }

    /* 住所 */
    .contact .input_area td .zipRow {
        margin: 0 0 2.8vw;
    }
    
    /* ラジオボックス */
    .contact .input_area td .wpcf7-radio .wpcf7-list-item{
        display: block;
        margin: 0 0 1.5em;
    }
    .contact .input_area td .wpcf7-radio .wpcf7-list-item.last{
        margin: 0;
    }
    /* テキストエリア */
    .contact .input_area td textarea {
        height: 12em;
    }
    .contact .input_area td input::-webkit-input-placeholder, .contact .input_area td textarea::-webkit-input-placeholder {
        font-size: 1.4rem;
    }
    .contact .input_area td input::-moz-placeholder, .contact .input_area td textarea::-moz-placeholder {
        font-size: 1.4rem;
    }
    .contact .input_area td input:-ms-input-placeholder, .contact .input_area td textarea:-ms-input-placeholder {
        font-size: 1.4rem;
    }
    .contact .input_area td input::-ms-input-placeholder, .contact .input_area td textarea::-ms-input-placeholder {
        font-size: 1.4rem;
    }
    .contact .input_area td input::placeholder,
    .contact .input_area td textarea::placeholder {
        font-size: 1.4rem;
    }

    /* 注釈 */
    .contact .input_area td .cauText {
        margin-top: 2.5vw;
        text-indent: -1em;
        margin-left: 1em;
    }

    .contact #contents .lastBlk{
        margin: 5vw 0 10vw;
        line-height: 1.5;
    }
    .contact #contents .lastBlk a:after{
        right: 0.4em;
        width: 0.8em;
        height: 0.8em;
    }
    .wpcf7-list-item{
        margin: 0;
    }
    
    .contact .subscribeBtn, .thanks .subscribeBtn {
        width: clamp(0px, 280 / 375 * 100vw, 560px);
        height: clamp(0px, 65 / 375 * 100vw, 130px);
    }
    .subscribeBtn .wpcf7-spinner{
        bottom: -8vw;
    }


    /*
    # =================================================================
    # 完了画面（thanks）
    # =================================================================*/
    .thanks #contents{
        padding: 13vw 0 22vw;
    }
    .thanks #contents .ttl{
        margin-bottom: 11vw;
        font-size: 2.8rem;
        line-height: 1.4;
    }
    .thanks #contents .txt{
        font-size: 1.8rem;
        text-align: left;
    }
    .thanks #contents .txt:not(:last-child){
        margin-bottom: 7vw;
    }
    .thanks #contents .hvrbtn02{
        margin-top: 20vw;
        width: 69%;
        height: 13vw;
    }


    /*
    # =================================================================
    # プライバシーポリシー（policy）
    # =================================================================*/
    .policy #contents{
        padding: 13vw 0 22vw;
    }
    .policy .infobox{
        font-size: 1.4rem;
    }
    .policy .firsttxt{
        font-size: 1.4rem;
        margin-bottom: 5vw;
    }
    .policy .firsttxt h2{
        font-size: 2rem;
        margin-bottom: 1vw;
    }
    .policy .policy-box{
        font-size: 1.4rem;
    }
    .policy .policy-box dl{
        margin-bottom: 4vw;
    }
    .policy .policy-box dt{
        font-size: 1.8rem;
        margin-bottom: 2vw;
    }
    .policy .policy-box dt::before{
        width: 20%;
    }

}
    
/* mobile L */
@media screen and (max-width: 428px) {
    /* 共通 */
    html {
        font-size: calc(100vw / 37.5);
    }
    /*------------------- ローディング画面 -------------------*/
    #loading img{
        width:clamp(0px , 152 / 375 * 100vw, 152px);
    }
}

/* mobile S */
@media screen and (max-width: 320px) {
}
/* mobile SS */
@media screen and (max-width: 280px) {
}
