@charset "utf-8";
/* CSS Document */

/* -------------------------------- root -------------------------------- */

:root{
    --header_height: clamp(0rem, 8.33vw, 100px);
    --color_main: #004097;
    --f14:clamp(0px,1.17vw,14px);
    --f15:clamp(0px,1.25vw,15px);
    --f16:clamp(0px,1.33vw,16px);
    --f17:clamp(0px,1.42vw,17px);
    --f18:clamp(0px,1.5vw,18px);
    --f19:clamp(0px,1.58vw,19px);
    --f20:clamp(0px,1.67vw,20px);
    --f21:clamp(0px,1.75vw,21px);
    --f22:clamp(0rem,1.83vw,22px);
    --f24:clamp(0px,2vw,24px);
    --f25:clamp(0px,2.08vw,25px);
    --f26:clamp(0px,2.17vw,26px);
    --f27:clamp(0px,2.25vw,27px);
    --f30:clamp(0px,2.5vw,30px);
    --f33:clamp(0px,2.75vw,33px);
    --f35:clamp(0px,2.92vw,35px);
    --f40:clamp(0px,3.33vw,40px);
    --f50:clamp(0px,4.17vw,50px);
    --f70:clamp(0px,5.83vw,70px);
}

@media (min-width:1200px) {
    :root{
        --header_height: 100px;
        --f14:14px;
        --f15:15px;
        --f16:16px;
        --f17:17px;
        --f18:18px;
        --f19:19px;
        --f20:20px;
        --f21:21px;
        --f22:22px;
        --f24:24px;
        --f25:25px;
        --f26:26px;
        --f27:27px;
        --f30:30px;
        --f33:33px;
        --f35:35px;
        --f40:40px;
        --f50:50px;
        --f70:70px;
    }
}

@media (max-width:750px){
    :root{
        --header_height: clamp(50px, 7.4vh ,100px);
        --f14:clamp(0.75rem, 0.657rem + 0.47vw, 0.875rem);
        --f15:clamp(0.75rem, 0.61rem + 0.7vw, 0.938rem);
        --f17:clamp(0.75rem, 0.462rem + 1.28vw, 1.063rem);
        --f16:1rem;
        --f18:clamp(1rem, 0.907rem + 0.47vw, 1.125rem);
        --f19:clamp(1rem, 0.827rem + 0.77vw, 1.188rem);
        --f20:clamp(0.875rem, 0.596rem + 1.4vw, 1.25rem);
        --f21:clamp(0.75rem, 0.231rem + 2.31vw, 1.313rem);
        --f22:clamp(1rem, 0.721rem + 1.4vw, 1.375rem);
        --f24:clamp(1rem, 0.628rem + 1.86vw, 1.5rem);
        --f25:clamp(0.938rem, 0.472rem + 2.33vw, 1.563rem);
        --f26:clamp(0.75rem, 0.099rem + 3.26vw, 1.625rem);
        --f27:clamp(0.75rem, 0.052rem + 3.49vw, 1.688rem);
        --f28:clamp(1rem, 0.442rem + 2.79vw, 1.75rem);
        --f30:clamp(1.25rem, 0.785rem + 2.33vw, 1.875rem);
        --f33:clamp(1rem, 0.209rem + 3.95vw, 2.063rem);
        --f40:clamp(1.313rem, 0.429rem + 4.42vw, 2.5rem);
    }
}

/* ---------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
    scroll-padding-top: var(--header_height);
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    box-sizing: border-box;
    color: #4d4d4d;
}

p{
    font-size: var(--f20);
    line-height: 1.4;
    font-feature-settings: "palt";
}

a{
    color: #4d4d4d;
    transition: all 0.3s;
}

a:hover{
    opacity: 0.8;
}

img {
    width: 100%;
}

.sp{
    display: none;
}

#pageTop_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 106px;
    height: 106px;
    border-radius: 50%;
    background-color: var(--color_main);
    right: 5%;
    bottom: 5%;
    z-index: -1;
    opacity: 0;
    cursor: pointer;
    transition: all 0.3s;
}

#pageTop_btn.pageTop_show{
    opacity: 1;
    z-index: 99;
}

#pageTop_btn.pageTop_show:hover{
    opacity: 0.8;
}

#pageTop_btn span{
    position: relative;
    color: #fff;
    font-size: var(--f22);
    font-weight: 600;
    padding-top: 32px;
}

#pageTop_btn span::before{
    content: "";
    width: 49.4px;
    height: 30.1px;
    background: url(../images/header+footer/pagetop.svg) no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
}

#recruit_banner{
    display: none;
}

.br_pc{
    display: block;
}

.br_750{
    display: none;
}

.br_359{
    display: none;
}

.keep-all-break-word{
    word-break: keep-all;
    overflow-wrap: anywhere;
}

@media (max-width:750px) {
    .sp{
        display: block;
    }

    .pc{
        display: none;
    }
    p{
        font-feature-settings:normal;
    }

    #pageTop_btn{
        width: clamp(3.313rem, 0.847rem + 12.33vw, 6.625rem);
        height: clamp(3.313rem, 0.847rem + 12.33vw, 6.625rem);
        bottom: calc(clamp(3.438rem, 0.879rem + 12.79vw, 6.875rem) + 1.5rem);
    }

    #pageTop_btn span{
        padding-top:clamp(0.938rem, 0.007rem + 4.65vw, 2.188rem);
    }

    #pageTop_btn span::before{
        width: clamp(1.544rem, 0.395rem + 5.74vw, 3.087rem);
        height: clamp(0.938rem, 0.235rem + 3.51vw, 1.881rem);
    }

    #recruit_banner{
        display: block;
        position: fixed;
        bottom: -2px;
        left: 0;
        width: 100vw;
        z-index: 99;
    }
    
    #recruit_banner img{
        width: 100%;
    }

    .br_pc{
        display: none;
    }

    .br_750{
        display: block;
    }
}

@media(max-width:480px){
    .br_not_480{
        display: none;
    }
}

@media (max-width:359px) {
    .br_359{
        display: block;
    }
}

/* ----------------------------------------------------------------

header

---------------------------------------------------------------- */

header{
    width: 100%;
    height: var(--header_height);
    position: sticky;
    top: 0;
    left: 0;
    background: #fff;
    border-bottom: solid 1px #336699;
    z-index: 999;
}

header .header_inner{
    width: 90%;
    height: inherit;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width:750px) {
    header{
        min-height: 50px;
        border-bottom: solid 2px #336699;
    }

    header .header_inner{
        width: 92%;
        height: 100%;
    }
}

/* -------------------------------- logo -------------------------------- */

header .header_inner h1 img{
    width: auto;
    height: clamp(0rem, 5.83vw, 70px);
}

@media (min-width:1200px) {
    header .header_inner h1 img{
        height:70px;
    }
}

@media (max-width:750px) {
    header .header_inner h1 img{
        height:4.4vh;
        min-height: 30px;
    }
}

/* -------------------------------- PC header_nav -------------------------------- */

header .header_inner nav ul{
    display: flex;
    justify-content: right;
    gap: 2em;
    font-size: var(--f15);
}

header .header_inner nav ul li{
    position: relative;
    padding-left: clamp(0rem, -0.227rem + 1.14vw, 0.625rem);
    vertical-align: top;
}

header .header_inner nav ul li a,
header .header_inner nav ul li{
    color: #000;
}

header .header_inner nav ul li.current{
    font-weight: 800;
}

header .header_inner nav ul li::after{
    content: "";
    width: clamp(0rem, -0.205rem + 1.02vw, 0.563rem);
    height: clamp(0rem, -0.25rem + 1.25vw, 0.688rem);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url(../images/header+footer/nav_icon.svg) no-repeat;
    background-size: contain;
}

@media (min-width:1200px) {
    header .header_inner nav ul li::after{
        width: 9px;
        height: 11px;
    }
}

@media (max-width:750px){

    /* -------------------------------- SP hamburger_button -------------------------------- */

    header .header_inner .hamburger_button{
        width: calc(var(--header_height) * 0.65);
        min-width: 33px;
        aspect-ratio: 1 / 0.8;
        position: relative;
        transition: all 0.3s;
    }

    header .header_inner .hamburger_button:hover{
        cursor: pointer;
    }

    header .header_inner .hamburger_button span{
        content: "";
        width: 100%;
        height: calc(var(--header_height) / 10);
        display: block;
        background: var(--color_main);
        transition: all 0.3s;
        position: absolute;
        left: 0;
    }

    header .header_inner .hamburger_button span:first-child{
        top: 0;
    }

    header .header_inner .hamburger_button span:nth-child(2){
        top: 50%;
        transform: translateY(-50%);
    }

    header .header_inner .hamburger_button span:last-child{
        bottom: 0;
    }

    header .header_inner .hamburger_button.active span:first-child{
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%) rotate(-41deg);
    }

    header .header_inner .hamburger_button.active span:nth-child(2){
        opacity: 0;
    }

    header .header_inner .hamburger_button.active span:last-child{
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%) rotate(41deg);
    }

    /* -------------------------------- SP sp_nav -------------------------------- */

    header .header_inner .sp_nav{
        position: fixed;
        top: calc(var(--header_height) + 2px);
        left: 100%;
        background: rgba(255, 255, 255, 0.9);
        width: 100%;
        height: calc(100vh - var(--header_height) - 2px);
        overflow-y: scroll;
        overflow-x: hidden;
        transition: all 0.3s;
        z-index: 999;
    }

    header .header_inner .sp_nav.active{
        left: 0;
    }

    header .header_inner .sp_nav::-webkit-scrollbar{
        display: none;
    }

    header .header_inner .sp_nav ul{
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    header .header_inner .sp_nav ul li{
        width: 100%;
        height: 11.09vh;
        min-height: 80px;
        font-size: var(--f30);
        line-height: 1.209;
        font-feature-settings: "palt";
    }

    header .header_inner .sp_nav ul li:not(:last-child){
        border-bottom:solid 2px #336699;
    }

    header .header_inner .sp_nav ul li::after{
        display: none;
    }

    header .header_inner .sp_nav ul li a{
        display: flex;
        height: 100%;
        padding-left: 16.67dvw;
        align-items: center;
    }

    header .header_inner .sp_nav ul li .current{
        display: flex;
        height: 100%;
        padding-left: 16.67dvw;
        align-items: center;
        font-weight: 800;
    }

    header .header_inner .sp_nav ul li .sp_nav_dec{
        position: relative;
        padding-left: 0.8em;
    }

    header .header_inner .sp_nav ul li .sp_nav_dec::after{
        content: "";
        width: 0.6em;
        height: 0.76em;
        position: absolute;
        top: 0.3em;
        left: 0;
        background: url(../images/header+footer/nav_icon.svg) no-repeat;
        background-size: contain;
    }

    header .header_inner .sp_nav ul li .sp_nav_dec span{
        font-size: var(--f25);
    }

    header .header_inner .sp_nav ul li .sp_nav_dec.sp_recruit_nav::before{
        position: absolute;
        content: "";
        width: clamp(1.938rem, 1.24rem + 3.49vw, 2.875rem);
        height: clamp(1.938rem, 1.24rem + 3.49vw, 2.875rem);
        background: url(../images/header+footer/footer_nav_recruit.svg) no-repeat;
        background-size: contain;
        top: 50%;
        right: -2em;
        transform: translateY(-50%);
    }

}

/* ----------------------------------------------------------------

共通

---------------------------------------------------------------- */

.main_bg_wrap{
    position: relative;
    width: 100%;
    min-height: 100vh;
    z-index: 1;
    overflow: hidden;
}

.page_bg .main_bg_wrap{
    /*padding-bottom: clamp(0rem, -5.227rem + 26.14vw, 14.375rem);*/
}

.main_bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.main_bg div{
    position: sticky;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/index/back_left.svg), url(../images/index/back_right.svg);
    background-repeat: no-repeat, no-repeat;
    background-size: clamp(0rem, -8.932rem + 44.66vw, 24.563rem) clamp(0rem, -16.205rem + 81.02vw, 44.563rem);
    background-position: left 0 top 0,  right 0 top 0;
    z-index: -1;
}

.company_main_bg.main_bg div{
    background-position: left 0 top calc(var(--header_height) + 100px),  right 0 top calc(var(--header_height) + 100px);
}

.service_main_bg.main_bg div{
    background-position: left 0 top calc(var(--header_height)),  right 0 top calc(var(--header_height));
}

@media(max-width:750px){

    .page_bg .main_bg_wrap{
        padding-bottom: 0;
    }

    .main_bg div{
        background-image: url(../images/index/sp_catch_bg_left.svg), url(../images/index/sp_catch_bg_right.svg);
        background-size: clamp(6.563rem, 0.043rem + 28.97vw, 13.625rem) clamp(14.188rem, -0.005rem + 63.08vw, 29.563rem);
    }

    .company_main_bg.main_bg div{
        background-position: left 0 top calc(var(--header_height) + 100px),  right 0 top calc(var(--header_height) + 100px);
    }
    
    .service_main_bg.main_bg div{
        background-position: left 0 top calc(var(--header_height)),  right 0 top calc(var(--header_height));
    }
}


/* -------------------------------- 背景：ライン -------------------------------- */

/* index */
.line_bg{
    padding: clamp(0rem, -3.25rem + 16.25vw, 8.938rem) 0 clamp(0rem, -6.386rem + 31.93vw, 17.563rem);
    background: url(../images/index/line2_index.svg) no-repeat;
    background-size: contain;
    background-position:center;
}

/* ニュース */
.line_bg.page_bg{
    padding: 0 0 clamp(0rem, -5.273rem + 26.36vw, 14.5rem);
    background: url(../images/news/line2_news.svg) no-repeat;
    background-size: contain;
    background-position:center;
}

/* サービス */
.line_bg.service_bg{
    padding: clamp(0rem, -3.773rem + 18.86vw, 10.375rem) 0 clamp(0rem, -4.932rem + 24.66vw, 13.563rem);
    background: url(../images/service/line2_service.svg) no-repeat;
    background-size: contain;
    background-position:center;
}

/* 企業情報 */
.line_bg.company_bg{
    padding: clamp(0rem, -4.591rem + 22.95vw, 12.625rem) 0 clamp(0rem, -5.273rem + 26.36vw, 14.5rem);
    background: url(../images/company/line2_company.svg) no-repeat;
    background-size: contain;
    background-position:center;
}

@media (min-width:1200px) {
    .line_bg{
        padding: 143px 0 281px;
    }

    .line_bg.page_bg{
        padding: 0 0 232px;
    }

    .line_bg.service_bg{
        padding: 166px 0 217px;
    }

    .line_bg.company_bg{
        padding: 202px 0 232px;
    }
}

@media(max-width:750px){
    .line_bg,
    .line_bg.page_bg,
    .line_bg.service_bg,
    .line_bg.company_bg{
        background: none;
        padding: 0;
    }
}


/* -------------------------------- ボタン -------------------------------- */
.content_btn{
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: solid 1px #999999;
    width: clamp(0rem, -9.727rem + 48.64vw, 26.75rem);
    height: clamp(0rem, -1.75rem + 8.75vw, 4.813rem);
    position: relative;
    text-align: center;
    font-size: var(--f21);
    font-weight: 500;
    box-sizing: border-box;
    font-feature-settings: "palt";
    margin: 0 auto;
}

.content_btn::before{
    content: "";
    width: clamp(0rem, -0.386rem + 1.93vw, 1.063rem);
    height: clamp(0rem, -0.5rem + 2.5vw, 1.375rem);
    position: absolute;
    top: 50%;
    right: var(--f20);
    transform: translateY(-50%);
    -webkit-mask:   url("../images/header+footer/nav_icon.svg") no-repeat center center / contain;
    mask-image:     url("../images/header+footer/nav_icon.svg");
    mask-repeat:    no-repeat;
    mask-position:  center center;
    mask-size:      contain;
     background-color: #b3b3b3;
}

.sp.content_btn{
    display: none;
}

@media (min-width:1200px) {
    .content_btn{
        width: 428px;
        height: 77px;
    }
}

@media (max-width:750px){
    .sp.content_btn{
        display: flex;
    }

    .content_btn{
        width: 100%;
        height: clamp(2.75rem, 0.904rem + 8.21vw, 4.75rem);
        margin-top: clamp(1rem, 0.535rem + 2.33vw, 1.625rem);
    }

    .pc.content_btn{
        display: none;
    }

    .content_btn::before{
        width: 0.91em;
        height: 1.1em;
    }

}

/* -------------------------------- タイトル -------------------------------- */
.section_title{
    font-size: var(--f20);
    font-weight: 600;
    border-bottom: solid 2px var(--color_main);
    padding: 0.8em 0;
    margin-bottom: 0.5em;
}

/* -------------------------------- コンテンツ内 -------------------------------- */

/* ---- スライドイン ---- */

.slide-in{
    position: relative;
    width: 100%;
    transition: 1s cubic-bezier(0.75, 0, 0.25, 1);
}

.slide-in.show{
    transform: translateX(0);
}

.slide_left{
    margin: clamp(0rem, -3.568rem + 17.84vw, 9.813rem) 0;
    transform: translateX(calc(-50vw - 50%));
}

.slide_right{
    transform: translateX(calc(50vw + 50%));
}

.slide_bg_left{
    width: calc((100vw - clamp(0rem, -18.182rem + 90.91vw, 50rem)) / 2 + clamp(0rem, -21.364rem + 106.82vw, 58.75rem));
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 clamp(0rem, -1.841rem + 9.2vw, 5.063rem) clamp(0rem, -0.705rem + 3.52vw, 1.938rem) 0;
    box-shadow: 0px clamp(0rem, -0.114rem + 0.57vw, 0.313rem) clamp(0rem, -0.341rem + 1.7vw, 0.938rem) 0px  #004d8c4d;
    box-sizing: border-box;
}

.slide_bg_right{
    width: calc((100vw - clamp(0rem, -18.182rem + 90.91vw, 50rem)) / 2 + clamp(0rem, -21.364rem + 106.82vw, 58.75rem));
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: clamp(0rem, -1.841rem + 9.2vw, 5.063rem) 0 0 clamp(0rem, -0.705rem + 3.52vw, 1.938rem);
    box-shadow: 0px clamp(0rem, -0.114rem + 0.57vw, 0.313rem) clamp(0rem, -0.341rem + 1.7vw, 0.938rem) 0px  #004d8c4d;
    box-sizing: border-box;
}

.main_content.slide_left{
    margin:0;
}

/* ---- スライドイン タイトル ---- */

.main_content_title{
    position: relative;
    /* height: clamp(0rem, -3.591rem + 17.95vw, 9.875rem); */
    color: #000033;
}


.slide-in.slide_left .main_content_title::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: calc((100vw - clamp(0rem, -22.727rem + 113.64vw, 62.5rem)) / 2 + clamp(0rem, -22.727rem + 113.64vw, 62.5rem));
    height:100%;
    border-radius: 0 0 clamp(0rem, -3.909rem + 19.55vw, 10.75rem) 0;
}

.slide-in.slide_left .main_content_title div{
    width: 90%;
    max-width: 1200px;
    text-align: left;
    margin: 0 auto;
    padding-bottom: 0.5em;
}

.slide-in.slide_right .main_content_title div{
    width: 90%;
    max-width: 1200px;
    text-align: right;
    margin: 0 auto;
    padding-bottom: 0.5em;
}

.slide-in.slide_right .main_content_title::before{
    border-radius: 0 0 0 clamp(0rem, -3.909rem + 19.55vw, 10.75rem);
    max-width: 1520px;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: calc((100vw - clamp(0rem, -22.727rem + 113.64vw, 62.5rem)) / 2 + clamp(0rem, -22.727rem + 113.64vw, 62.5rem));
    height:100%;
}

@media (min-width:1200px){
    .main_content_title{
        height: 158px;
    }

    .slide-in.slide_left .main_content_title::before{
        width: calc((100vw - 1000px) / 2 + 1000px);
    }
}

/* ---- スライドイン コンテンツ ---- */

.content_flex{
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.slide_content{
    position: relative;
    width: fit-content;
    max-width: 800px;
    margin: 0 auto;
    padding: 2em;
    padding-bottom: 3em;
}

.slide_content div{
    width: auto;
}

.slide-in h2{
    font-size: var(--f24);
    font-weight: 600;
    font-feature-settings: "palt";
    color: #000033;
}

.slide-in.slide_left h2{
    text-align: right;
}

.slide-in p{
    font-size: var(--f19);
    font-weight: 500;
}

.slide-in h2 span{
    display: block;
    font-size: 4.375em;
    color: #ffffff4d;
    text-transform: uppercase;
    font-feature-settings: normal;
}

.content_inner{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.content_inner h4{
    font-size: var(--f18);
    font-weight: 600;
    color: #000033;
    margin: 2em 0 1em;
}

@media(max-width:750px){

    .slide_left{
        margin: clamp(4.188rem, 1.071rem + 15.58vw, 8.375rem) 0;
    }

    .slide_bg_left{
        width: 91.8%;
        border-radius: 0 clamp(2.375rem, -0.106rem + 11.03vw, 5.063rem) clamp(0.912rem, -0.034rem + 4.21vw, 1.938rem) 0;
    }

    .slide_bg_right{
        width: 91.8%;
        border-radius: clamp(2.375rem, -0.106rem + 11.03vw, 5.063rem) 0 0 clamp(0.912rem, -0.034rem + 4.21vw, 1.938rem);
    }

    .content_flex{
        flex-direction: column;
    }

    .slide_content{
        padding: 0;
    }

    .slide_content div{
        height: 100%;
    }

    .slide-in h2{
        font-size: var(--f24);
        font-weight: 600;
        font-feature-settings: "palt";
    }

    .slide-in h2 span{
        font-size: 3.75em;
    }

    h2.main_content_title{
        height: 100%;
        font-size: var(--f14);
    }

    h2.main_content_title span{
        font-size: 5em;
        padding-bottom: 0.3rem;
    }

    .slide-in.slide_left .main_content_title::before{
        width: 91.8%;
        border-radius:  0px 0px 95px 0px;
    }

    .slide-in.slide_right .main_content_title::before{
        width: 91.8%;
        border-radius:  0px 0px 0px  95px;
    }

    .slide-in.slide_left .main_content_title div,
    .slide-in.slide_right .main_content_title div{
        max-width: 500px;
    }

    .content_inner{
       max-width: 500px;
    }
}

@media(max-width:376px){

    .slide_bg_right,
    .slide_bg_left{
        width: 95%;
    }
}

/* -------------------------------- パンくずリスト -------------------------------- */

.breadcrumbs{
    width: 90%;
    max-width: 1000px;
    margin:0 auto;
    font-size: var(--f14);
    color: #999999;
    background: #fff;
    padding: 1em 0;
    font-feature-settings: "palt";
}

.breadcrumbs ul{
    display: flex;
    gap: 1em;
}

.breadcrumbs ul li{
    position: relative;
}

.breadcrumbs ul li:not(:first-child){
    padding-left: 2em;
}

.breadcrumbs ul li:not(:first-child):before{
    content: "＞";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.breadcrumbs ul li a{
    color: #999999;
    text-decoration: underline;
}

@media(max-width:750px){
    .breadcrumbs{
        max-width: 500px;
        font-size: clamp(0.625rem, 0.439rem + 0.93vw, 0.875rem);
    }
}

/* -------------------------------- contact -------------------------------- */

#contact{
    width: 100%;
    background: var(--color_main);
    color: #fff;
    text-align: center;
    height: clamp(0rem, -4.25rem + 21.25vw, 11.688rem);
    display: flex;
    justify-content: center;
    align-items: center;
}

#contact p{
    margin-bottom: 1em;
    font-size: var(--f22);
    font-weight: 600;
}

.contact_line{
    width: 100%;
    height: 2px;
    background-color: #336699;
}

@media (min-width:1200px) {
    #contact{
        height: 187px;
    }
}

@media (max-width:750px){
    #contact{
        margin-top: clamp(4.188rem, 1.071rem + 15.58vw, 8.375rem);
        height: 100%;
        padding: clamp(1.125rem, 0.334rem + 3.95vw, 2.188rem) 0;
    }

    #contact p{
        margin-bottom: 0;
    }

    #contact .content_btn{
        margin-top: 16px;
        width: clamp(13.375rem, 3.422rem + 49.77vw, 26.75rem);
        font-size: var(--f22);
    }
}

/* ----------------------------------------------------------------

footer

---------------------------------------------------------------- */

footer{
    width: 100%;
    color: #000;
    font-weight: 500;
}

footer .footer_inner{
    width: 90%;
    max-width: 1200px;
    margin: var(--f50) auto clamp(0rem, -1.477rem + 7.39vw, 4.063rem);
    display: flex;
    gap: 2em;
    justify-content: space-between;
}

footer .footer_inner .footer_logo img{
    width: 50%;
    max-width: clamp(0rem, -5.568rem + 27.84vw, 15.313rem);
    margin-bottom: 1em;
}

footer .footer_inner dl{
    font-size: var(--f15);
    line-height: 1.4;
}

footer .footer_inner .footer_banner{
    display: flex;
    gap: 1em;
    margin-top: clamp(0rem, -1.205rem + 6.02vw, 3.313rem);
}

footer .footer_inner .footer_banner img{
    width: clamp(0rem, -2.386rem + 11.93vw, 6.563rem);
}

footer .footer_inner .footer_nav_flex{
   display: flex;
   gap: var(--f30);
   font-size: var(--f18);
   justify-content: space-between;
}

footer .footer_inner .footer_nav_flex .footer_nav li{
    margin-bottom: 2em;
    padding-left: 2em;
    position: relative;
}

footer .footer_inner .footer_nav_flex .footer_nav li::before{
    position: absolute;
    content: "";
    top: 0.5em;
    left: 0;
    width: 1em;
    height: 2px;
    background: #000;
}

footer .footer_inner .footer_nav_flex .footer_nav li span{
    display: block;
    font-size: 0.667em;
    margin-top: 1em;
    line-height: 1.4;
}

footer .footer_inner .footer_nav_flex .footer_nav li a{
    color: #000;
}

.footer_nav_recruit img{
    width: 1em;
    padding-left: 0.5em;
}

.copylight{
    text-align: center;
    font-size: var(--f14);
    padding-bottom: 1.92em;
}

@media (min-width:1200px) {
    footer .footer_inner{
        margin: 50px auto 65px;
    }
}

@media (max-width:750px){

    footer{
        margin-bottom: clamp(3.313rem, 0.847rem + 12.33vw, 6.625rem);
    }

    footer .footer_inner{
        display: block;
        width: fit-content;
        margin: var(--f30) auto;
    }

    footer .footer_inner .footer_logo{
        display: block;
        width: clamp(12.5rem, 10.407rem + 10.47vw, 15.313rem);
        margin: 0 auto;
    }

    footer .footer_inner .footer_logo img{
        max-width: 100%;
        width: 100%;
        margin-bottom: var(--f30);
    }

    footer .footer_inner .footer_banner{
        justify-content: center;
        gap: clamp(1.813rem, 0.464rem + 6.74vw, 3.625rem);
        margin-top: clamp(1rem, 0.535rem + 2.33vw, 1.625rem);
    }
    
    footer .footer_inner .footer_banner img{
        width: clamp(3.281rem, 0.839rem + 12.21vw, 6.563rem);
    }

    footer .footer_inner .pc.footer_nav_flex{
        display: none;
    }
}

/* ----------------------------------------------------------------

index_mv

---------------------------------------------------------------- */

/* -------------------------------- mv -------------------------------- */

.mv{
    width: 100%;
    height: clamp(0rem, -11.364rem + 56.82vw, 31.25rem);
    background: url(../images/index/index_mv_bg.jpg?20250212) no-repeat;
    background-size: cover;
    background-position: center top;
    display: flex;
}

.mv.mv_service{
    background: url(../images/service/mv_service.jpg) no-repeat;
    background-size: cover;
    background-position: center top;
    display: block;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .mv{
        background: url(../images/index/index_mv_bg@2x.jpg?20250212) no-repeat;
        background-size: cover;
        background-position: center top;
    }
    .mv.mv_service{
        background: url(../images/service/mv_service@2x.jpg) no-repeat;
        background-size: cover;
        background-position: center top;
    }
}

@media(750px < width <= 1200px){
    .mv.mv_service{
        height: auto;
        padding: 0.5em 0;
    }
}

.mv .mv_inner{
    width: 90%;
    max-width: 1200px;
    margin: auto auto 1em;
    display: flex;
    justify-content: space-between;
    color: #fff;
}

/* -------------------------------- mv_inner_text -------------------------------- */

.mv .mv_inner .mv_inner_text p {
    transform:scale(0.98,1);
    font-size: var(--f26);
    font-weight: 900;
    font-feature-settings: "palt";
}

.mv .mv_inner .mv_inner_text p .mv_text_first{
    height: 1.8em;
}

.mv .mv_inner .mv_inner_text p .mv_text_first::first-letter{
    font-size: 1.8em;
}

.mv .mv_inner .mv_inner_text p > span{
    display: inline-block;
    transform: skew(-5deg);
    letter-spacing: 2px;
}

.mv .mv_inner .mv_inner_text p > span .mv_text_small{
    font-size: 0.84em;
}

.mv .mv_inner .mv_inner_text h2{
    font-size: var(--f30);
    height: 1.9em;
    margin-top: clamp(0rem, -0.114rem + 0.57vw, 0.313rem);
}

.mv .mv_inner .mv_inner_text h2 span{
    display: inline-block;
    font-weight: 700;
    letter-spacing: clamp(0rem, -0.114rem + 0.57vw, 0.313rem)
}

.mv .mv_inner .mv_inner_text h2 span::first-letter{
    font-size: 1.9em;
}

/* -------------------------------- mv_inner_youth-yell -------------------------------- */

.mv .mv_inner .mv_inner_youth-yell{
    display: flex;
    justify-content: right;
    align-items: end;
    font-size: var(--f17);
    font-weight: 700;
}

.mv .mv_inner .mv_inner_youth-yell p{
    background: rgb(2,177,255);
    background: linear-gradient(101deg, rgba(2,177,255,0) 0%, rgba(2,177,255,0.6) 40%, rgba(2,177,255,0.6) 100%);
    padding: 0.3em 1em 0.3em 2.5em;
}

.mv .mv_inner .mv_inner_youth-yell img{
    width: clamp(0rem, -2.841rem + 14.2vw, 125px);
}


/* -------------------------------- sp mv -------------------------------- */

@media(max-width:750px){
    .mv{
        height: clamp(12rem, 2.326rem + 48.37vw, 25rem);
        background: url(../images/index/sp_index_mv.jpg?20250212) no-repeat;
        background-size: cover;
        background-position: center top;
        display: block;
    }

    .mv .pc.mv_inner{
        display: none;
    }

    .mv .sp_mv_inner{
        position: relative;
        width: 100%;
        height: 100%;
    }

    .mv.mv_service{
        height: clamp(8.688rem, 0.036rem + 43.26vw, 20.313rem);
        background: url(../images/service/sp_service_mv.jpg) no-repeat;
        background-size: cover;
        background-position: center top;
        display: block;
        padding: 0.5em 0;
    }

    /* -------------------------------- sp mv_inner_text -------------------------------- */

    .mv .sp_mv_inner .mv_inner_text{
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        color: #fff;
    }

    .mv .sp_mv_inner .mv_inner_text .sp_mv_inner_text_bg{
        background: rgba(0, 0, 0, 0.6);
        padding:0 0 0.3em;
    }

    .mv .sp_mv_inner .mv_inner_text p {
        margin: 0 auto;
        width: fit-content;
        transform:scale(0.98,1);
        font-size: var(--f26);
        font-weight: 900;
        font-feature-settings: "palt";
    }

    .mv .sp_mv_inner .mv_inner_text p .mv_text_first{
        height: 1.8em;
    }

    .mv .sp_mv_inner .mv_inner_text p .mv_text_first::first-letter{
        font-size: 1.8em;
    }

    .mv .sp_mv_inner .mv_inner_text p > span{
        display: inline-block;
        transform: skew(-5deg);
    }

    .mv .sp_mv_inner .mv_inner_text p > span .mv_text_small{
        font-size: 0.84em;
    }

    .mv .sp_mv_inner .mv_inner_text h2{
        text-align: center;
        font-size: var(--f30);
        height: 1.9em;
        margin-top: 0;
        padding-bottom: 0.5em;
        background: rgba(0,0,0,0.4);
    }

    .mv .sp_mv_inner .mv_inner_text h2 span{
        display: inline-block;
        font-weight: 700;
        letter-spacing: clamp(0rem, -0.114rem + 0.57vw, 0.313rem)
    }

    .mv .sp_mv_inner .mv_inner_text h2 span::first-letter{
        font-size: 1.9em;
    }

    /* -------------------------------- sp_youth-yell -------------------------------- */

    .sp_youth-yell{
        background: #000;
        padding: clamp(1.125rem, 0.663rem + 2.05vw, 1.625rem) 0;
    }

    .sp_youth-yell .sp_youth-yell_inner{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1em;
    }

    .sp_youth-yell .sp_youth-yell_inner p{
        color: #57b530;
        font-size: var(--f20);
        font-weight: 700;
    }

    .sp_youth-yell .sp_youth-yell_inner img{
        width: clamp(2.688rem, -0.024rem + 12.05vw, 5.625rem);
    }
    }

/* ----------------------------------------------------------------

index_content

---------------------------------------------------------------- */

/* -------------------------------- catch -------------------------------- */
.catch{
    width: fit-content;
    margin: 0 auto 1em;
    padding-top: clamp(0rem, -4.636rem + 23.18vw, 12.75rem);
    text-align: center;
    position: relative;
}

.catch::before{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: clamp(0rem, -0.568rem + 2.84vw, 1.563rem);
    height: clamp(0rem, -2.955rem + 14.77vw, 8.125rem);
    padding-top: clamp(0rem, -2.409rem + 12.05vw, 6.625rem);
    background: url(../images/index/line1_index.svg) no-repeat;
    background-size: contain;
    background-position:center;
}

.catch h3{
    font-size: 2.368rem;
    font-weight: 700;
    color: var(--color_main);
    transform: skew(-5deg);
    margin-bottom: 0.62em;
    line-height: 1.4;
}

.catch h3 span{
    font-size: 2.631rem;
}

@media(max-width:750px){
    .catch{
        padding-top: clamp(2.813rem, 0.216rem + 11.54vw, 5.625rem);
        padding-bottom: clamp(2.875rem, 0.735rem + 10.7vw, 5.75rem);
    }

    .catch::before{
        content: none;
    }

    .catch h3{
        font-size: var(--f40);
    }

    .catch h3 span{
        font-size: 1.125em;
    }

    .catch p{
        font-size: var(--f17);
    }
}

@media(max-width:420px){
    .catch p{
        width: 90%;
        margin: 0 auto;
    }
}

/* -------------------------------- #index_ses -------------------------------- */

#index_ses.slide-in h2{
    color: #4d4d4d;
}

#index_ses .slide_bg_right{
    background: #6fcfdc;
}

#index_ses .slide_content{
    padding-top: clamp(0rem, -0.75rem + 3.75vw, 2.063rem);
    padding-bottom: clamp(0rem, -1.227rem + 6.14vw, 3.375rem);
}

#index_ses .slide_content h3{
    position: relative;
    margin-top:  var(--f19);
    padding-left: calc(var(--f19) * 2.105 + 0.5em);
    display: inline-block;
    width: fit-content;
    margin-bottom: calc(var(--f19) * 3.21);
}

#index_ses .slide_content h3::before
{
    content: "";
    width: calc(var(--f19) * 2.105);
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0;
    background: #4d4d4d;
}

#index_ses .slide_content h3::after{
    content: "";
    width: calc(var(--f19) * 2.105);
    height: 1px;
    position: absolute;
    top: 50%;
    left: calc(100% + 0.5em);
    background: #4d4d4d;
}

#index_ses .slide_content h3 span{
    display: inline-block;
    font-size: var(--f19);
    font-weight: 600;
}

#index_ses .ses_text{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

#index_ses .ses_text p{
    font-feature-settings: "palt";
}

#index_ses .ses_text a{
    margin-top: auto;
    padding-right: 2em;
}

#index_ses .slide_content h3 span::first-letter{
    font-size: 2.105em;
}

#index_ses ul{
    min-height: clamp(0rem, -10.705rem + 53.52vw, 29.438rem);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

#index_ses ul li:not(:last-child){
    border: solid 2px #fff;
    color: #fff;
    text-align: center;
    padding: var(--f17);
    margin-bottom: 0.315em;
    font-weight: 500;
    font-size: var(--f19);
}

#index_ses ul li:last-child{
    margin-top: auto;
}

#index_ses img{
    width: clamp(0rem, -7.023rem + 35.11vw, 19.313rem);
}

@media(min-width:1200px){
    #index_ses .slide_content{
        padding-top: 33px;
        padding-bottom: 54px;
    }

    #index_ses ul{
        min-height: 471px;
    }

    #index_ses img{
        width: 309px;
    }
}

@media(max-width:750px){
    #index_ses .slide_content {
        padding-top: clamp(2.25rem, 0.808rem + 6.41vw, 3.813rem);
        padding-bottom: clamp(2.438rem, 0.938rem + 6.67vw, 4.063rem);
        width: 71.6%;
        min-width: 292px;
    }

    #index_ses ul{
        width: 88%;
        margin: 0 auto;
    }

    #index_ses ul li:last-child{
        margin-top: clamp(0.75rem, -0.058rem + 3.59vw, 1.625rem);
    }

    #index_ses img{
        width: 100%;
        height: auto;
    }

    #index_ses .ses_text p{
        font-feature-settings: normal;
    }

    #index_ses .slide_content h3{
        padding-left: calc(var(--f19) * 1.8 + 0.5em);
        margin-bottom: clamp(1.625rem, 1.02rem + 3.02vw, 2.438rem);
    }
    
    #index_ses .slide_content h3::before{
        width: calc(var(--f19) * 1.8);
    }
    
    #index_ses .slide_content h3::after{
        width: calc(var(--f19) * 1.8);
    }
}

@media(max-width:359px){
    #index_ses .slide_content {
        width: 85%;
        min-width: 240px;
    }

    #index_ses .slide_content h3{
        padding-left: calc(var(--f19) * 1 + 0.5em);
    }
    
    #index_ses .slide_content h3::before{
        width: calc(var(--f19) * 1);
    }
    
    #index_ses .slide_content h3::after{
        width: calc(var(--f19) * 1);
    }
}


/* -------------------------------- #index_news -------------------------------- */

#index_news.slide-in h2{
    color: #4d4d4d;
}

#index_news .slide_content{
    padding-top: clamp(0rem, -0.545rem + 2.73vw, 1.5rem);
    padding-bottom: clamp(0rem, -1.386rem + 6.93vw, 3.813rem);
}

#index_news .slide_bg_left{
    background: #aee3ff;
}

.index_news_inner{
    margin-top: clamp(0rem, -1.409rem + 7.05vw, 3.875rem);
}

.index_news_title{
    display: flex;
    flex-direction: column;
}

#index_news ul{
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    justify-content: space-between;
    font-weight: 500;
    max-width: 403px;
    word-break: break-all;
}

#index_news ul li a{
    display: flex;
}

#index_news ul li time{
    padding-right: 1em;
    width: max-content;
}

#index_news ul li a span{
    flex-grow: 1;
    width: 70%;
}

#index_news .content_btn{
    margin-top: auto;
}

#index_news .content_flex{
    gap: 2.92vw;
}

#index_news .content_btn{
    width:clamp(0rem, 17.6vw, 21.125rem);
}

@media(min-width:1200px){
    #index_news .slide_content{
        padding-top: 24px;
        padding-bottom: 61px;
    }
    .index_news_inner{
        margin-top: 62px;
    }
}

@media( 750px < width <= 1090px ){
    #index_news .slide_content{
        padding-right: 8em;
    }
}

@media(max-width:750px){
    #index_news .slide_content{
        padding-top: clamp(2.25rem, 0.808rem + 6.41vw, 3.813rem);
        padding-bottom: clamp(2.438rem, 0.938rem + 6.67vw, 4.063rem);
        width: 66.6%;
        min-width: 292px;
        flex-direction: column-reverse;
        gap: 0;
    }

    #index_news ul{
        margin: 0 auto;
        gap: 2em;
    }

    #index_news ul:before,
    #index_news ul:after {
        content: "";
        clear: both;
        display: block;
      }

      #index_news ul li a span{
        width: 60%;
      }

      #index_news .content_btn{
        width:clamp(14.375rem, 9.352rem + 25.12vw, 21.125rem);
        margin-top: clamp(1.594rem, 0.408rem + 5.93vw, 3.188rem);
        font-size: var(--f22);
    }
}

@media(max-width:359px){
    #index_news .slide_content {
        width: 85%;
        min-width: 240px;
    }
}

/* -------------------------------- recruit -------------------------------- */

#recruit.slide-in h2{
    color: #4d4d4d;
}

#recruit .slide_content{
    padding-top: 22.7px;
    padding-bottom: 32px;
}

#recruit.slide_left{
    margin-bottom: 0;
}

#recruit .slide_bg_right,
#recruit .slide_bg_left{
    background-color:#6fcfdc;
}

#recruit p{
    line-height: 1.27;
}

#recruit a{
    display: block;
    margin: 1.56em 0 0.75em;
}

#recruit a img{
    width: clamp(0rem, -18.182rem + 90.91vw, 50rem);
}

@media(min-width:1200px){
    #recruit .slide_content{
        padding-top: clamp(0rem, -0.516rem + 2.58vw, 1.419rem);
        padding-bottom: clamp(0rem, -0.727rem + 3.64vw, 2rem);
    }
}

@media(max-width:750px){
    #recruit .slide_content{
        padding-top: clamp(2.25rem, 0.808rem + 6.41vw, 3.813rem);
        padding-bottom: clamp(2.438rem, 0.938rem + 6.67vw, 4.063rem);
        width: 66.6%;
        min-width: 292px;
    }

    #recruit a img{
        width: 100%;
        height: auto;
    }

    #recruit a{
        display: block;
        margin: clamp(1.625rem, 1.02rem + 3.02vw, 2.438rem) 0 clamp(1rem, 0.395rem + 3.02vw, 1.813rem);
    }
}

@media(max-width:359px){
    #recruit .slide_content {
        width: 85%;
        min-width: 240px;
    }
}


/* ----------------------------------------------------------------

NEWS

---------------------------------------------------------------- */

.news_list_title.main_content_title::before{
    background: #6fcfdc;
    z-index: -1;
}

.news_list_wrap{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto clamp(0rem, -4.795rem + 23.98vw, 13.188rem);
    line-height: 1.4;
    background: #fff;
    padding: var(--f19) 0;
}

.news_list_wrap dl{
    transition: all 1s;
    word-break: break-all;
}

.news_list_wrap dl .news_list_inner{
    padding: clamp(0rem, -0.432rem + 2.16vw, 1.188rem) calc(var(--f15) * 0.5);
    border-bottom: dotted 2px #cccccc;
}

.news_list_wrap dl dt{
    display: flex;
    gap: 2em;
    font-size: var(--f17);
    font-weight: 600;
}

.news_list_wrap .news_list_inner:has(dd) dt{
    cursor: pointer;
}

.news_list_wrap dl time{
    font-weight: 500;
}

.news_list_wrap dl a{
    text-decoration: underline;
}

.news_list_wrap dl dd{
    margin-left: 8.4em;
    font-size: var(--f15);
    display: flex;
    gap: 1em;
    padding-top: 2.26em;
    color: #666666;
    transition: all 1s;
    height: auto;
    opacity: 1;
}

.news_list_wrap dl dd.hidden{
    display: none;
    height: 0;
    opacity: 0;
}

.news_list_wrap dl dd .news_img{
    width: 320px;
}

@media(min-width:1200px){
    .news_list_wrap dl .news_list_inner{
        padding: 19px calc(var(--f15) * 0.5);
    }
}

@media(max-width:750px){

    .news_list_wrap{
        max-width: 500px;
    }

    .news_list_wrap dl dd .news_img{
        width: 100%;
    }

    .news_list_wrap dl .news_list_inner{
        padding: clamp(0.688rem, 0.222rem + 2.33vw, 1.313rem) calc(var(--f15) * 0.5);
    }

    .news_list_wrap dl dt{
        gap: 0;
        font-size: clamp(0.875rem, 0.735rem + 0.7vw, 1.063rem);
    }

    .news_list_wrap dl time{
        padding-right: clamp(1.25rem, 0.18rem + 5.35vw, 2.688rem);
        width: max-content;
    }
    
    .news_list_wrap dl span{
        flex-grow: 1;
        width: 65%;
    }

    .news_list_wrap dl dd{
        font-size: clamp(0.875rem, 0.735rem + 0.7vw, 1.063rem);
        font-weight: 500;
        color: #333333;
        padding-top: 1em;
        margin-left: clamp(5.875rem, 4.061rem + 9.07vw, 8.313rem);
        gap: 0;
        flex-direction: column;
    }
}

/* ----------------------------------------------------------------

Privacy

---------------------------------------------------------------- */

#privacy{
    padding-bottom: clamp(0rem, -5.227rem + 26.14vw, 14.375rem);
    background-color: #fff;
}

#privacy .main_content_title::before{
    background: #0099cc;
    z-index: -1;
    border-radius: 0;
    width: 100%;
    max-width: none;
}

#privacy.slide_left,
#security.slide_right{
    transform: translateX(0);
}

#privacy .main_content_title{
    color: #fff;
    position: relative;
    z-index: 0;
}

#privacy .main_content_title span{
    letter-spacing: -0.3em;
}

#privacy h3 + p{
    font-size: var(--f18);
    padding-left: 1em;
    line-height: 1.4;
    letter-spacing: 0.8px;
}

.content_inner h4 + div{
    margin-left: 1em;
}

.content_inner h4 + div p,
.content_inner h4 + div ul{
    font-size: var(--f14);
    font-weight: 500;
    color: #000;
}

.content_inner h4 + div ul{
    list-style: disc;
    padding-left: 1.5em;
    line-height: 1.4;
    margin-bottom: 1em;
}

@media(max-width:1200px){
    #privacy .main_content_title{
        height: auto;
    }
}

@media(max-width:750px){

    #privacy .main_content_title span{
        font-size: clamp(2.5rem, 1.105rem + 6.98vw, 4.375rem);
    }

    #privacy h3 + p{
        line-height: 1.611;
    }

    .content_inner h4 + div p,
    .content_inner h4 + div ul{
    font-size: 14px;
}
}

/* ----------------------------------------------------------------

security

---------------------------------------------------------------- */

#security .main_content_title{
    color: #fff;
    position: relative;
    z-index: 1;
}

#security .main_content_title::before{
    background: #0099cc;
    z-index: -1;
    border-radius: 0;
    width: 100%;
    max-width: none;
}

#security .main_content_title span{
    letter-spacing: -0.3em;
}

#security h3 + p{
    font-size: var(--f18);
    padding-left: 1em;
    line-height: 1.4;
    letter-spacing: 0.8px;
}

#security ol{
    list-style: decimal;
    font-weight: 500;
    padding-left: 2em;
    line-height: 1.4;
    margin: 2em 0;
}

#security .content_inner{
    background-color: #fff;
    padding: 2em 0 3em;
}

@media(max-width:1200px){
    #security .main_content_title{
        height: auto;
    }
}

@media(max-width:750px){

    #security .main_content_title span{
        font-size: clamp(2.5rem, 1.105rem + 6.98vw, 4.375rem);
    }

    #security ol{
        font-size: var(--f18);
        line-height: 1.611;
    }
}

/* ----------------------------------------------------------------

service

---------------------------------------------------------------- */

/* -------------------------------- mv_service -------------------------------- */
.mv.mv_service{
    display: flex;
    align-items: center;
}

.mv.mv_service .mv_inner{
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    font-feature-settings: "palt";
    box-sizing: border-box;
    margin: 0 auto;
}

.mv.mv_service .mv_inner p span{
    font-size: var(--f26);
    color: #000;
    font-weight: 600;
    padding-right: 1em;
    display: inline-block;
}

.mv.mv_service .mv_inner p span::first-letter{
    font-size: 1.44em;
}

.mv.mv_service .mv_inner h2{
    font-size: var(--f35);
    color: #ffff00;
    font-weight: 600;
    letter-spacing: 0.4px;
    line-height: 1.4;
}

.mv.mv_service .mv_inner div{
    border: solid 1px #fff;
    text-align: center;
    font-size: var(--f40);
    font-weight: 600;
    line-height: 1.4;
    padding: 0.5em;
    margin: var(--f24) 0 1.07em;
}

.mv.mv_service .mv_inner p:last-child{
    letter-spacing: 0.6px;
    font-size: var(--f25);
    font-weight: 600;
}

.sp_service_mv_under{
    display: none;
}

@media(min-width:1200px){
    .mv.mv_service .mv_inner div{
        margin: 24px 0 43px;
    }
}

@media(max-width:750px){

    .mv.mv_service .mv_inner p span{
        font-size: var(--f20);
    }

    .mv.mv_service .mv_inner h2{
        font-size: var(--f27);
    }

    .mv.mv_service .mv_inner div{
        font-size: var(--f33);
        line-height: 1.545;
        padding:clamp(0.688rem, -0.01rem + 3.49vw, 1.625rem) 0.5em;
        margin:clamp(0.438rem, 0.065rem + 1.86vw, 0.938rem) 0;
    }

    .sp_service_mv_under{
        display: block;
        background: #0099cb;
        padding: clamp(1.188rem, -0.068rem + 6.28vw, 2.875rem) 0;
    }

    .sp_service_mv_under p{
        color: #fff;
        width: fit-content;
        margin: 0 auto;
        font-size: var(--f20);
        font-weight: 500;
    }
}

@media(max-width:480px){
    .sp_service_mv_under p{
        width: 90%
    }
}

/* -------------------------------- service_catch -------------------------------- */

.catch.service_catch h3{
    font-feature-settings: "palt";
    transform: skew(-10deg);
}

.catch.service_catch{
    padding-top: clamp(0rem, -6.023rem + 30.11vw, 16.563rem);
}

.catch.service_catch::before{
    top: clamp(0rem, -2.159rem + 10.8vw, 5.938rem);
    padding-top: 0;
}

.catch.service_catch p{
    padding-bottom: clamp(0rem, -1.614rem + 8.07vw, 4.438rem);
    font-feature-settings: "palt";
}

@media(min-width:1200px){
    .catch.service_catch{
        padding-top: 265px;
    }

    .catch.service_catch::before{
        padding-top: 0;
        top: 95px;
    }

    .catch.service_catch p{
        padding-bottom: 71px;
    }
}

@media(max-width:750px){
    .catch.service_catch{
        padding-top:clamp(3.125rem, 0.892rem + 11.16vw, 6.125rem);
        padding-bottom: 0;
    }

    .catch.service_catch h3{
        font-size: var(--f28);
    }

    .catch.service_catch p{
        max-width: 500px;
        width: 90%;
        margin: 0 auto;
        font-size: var(--f20);
        padding-bottom: clamp(2.688rem, 0.734rem + 9.77vw, 5.313rem);
    }
}

/* -------------------------------- service_content_title -------------------------------- */

.service_content_title{
    position: relative;
    z-index: 1;
    height:clamp(0rem, -3rem + 15vw, 8.25rem);
    display: flex;
    align-items: center;
}

.slide-in.slide_left .service_content_title::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: calc((100vw - clamp(0rem, -25.806rem + 129.03vw, 75rem)) / 2 + clamp(0rem, -25.806rem + 129.03vw, 75rem));
    height:100%;
    z-index: -1;
    background-color: #c2cfef;
    border-radius: 0 clamp(0rem, -1.591rem + 7.95vw, 4.375rem) clamp(0rem, -0.341rem + 1.7vw, 0.938rem) 0;
}

.slide-in.slide_right .service_content_title::before{
    content: "";
    position: absolute;
    right: -2vw;
    top: 0;
    width: calc((100vw - clamp(0rem, -25.806rem + 129.03vw, 75rem)) / 2 + clamp(0rem, -25.806rem + 129.03vw, 75rem));
    height:100%;
    z-index: -1;
    background-color: #b9e7ee;
    border-radius: clamp(0rem, -1.591rem + 7.95vw, 4.375rem) 0 0 clamp(0rem, -0.341rem + 1.7vw, 0.938rem);
}

.slide-in.slide_left .service_content_title div{
    width: clamp(0rem, -22.727rem + 113.64vw, 62.5rem);
    max-width: 1000px;
    text-align: right;
    margin: 0 auto;
}

.slide-in.slide_right .service_content_title div{
    width: clamp(0rem, -22.727rem + 113.64vw, 62.5rem);
    max-width: 1000px;
    text-align: left;
    margin: 0 auto;
}


.slide-in .service_content_title span{
    font-size: 2.5em;
    letter-spacing: clamp(0rem, -0.182rem + 0.91vw, 0.5rem);
    padding-bottom: clamp(0rem, -0.17rem + 0.85vw, 0.469rem);
}

.service_content{
    width: clamp(0rem, -18.182rem + 90.91vw, 50rem);
    max-width: 800px;
    margin: clamp(0rem, -1.25rem + 6.25vw, 3.438rem) auto clamp(0rem, -5.091rem + 25.45vw, 14rem);
    background: #fff;
    padding: 2em 0;
    box-sizing: border-box;
}

@media(min-width:1200px){
    .service_content{
        margin: 55px auto 224px;
    }
    .service_content_title{
        height:132px;
    }
    .slide-in.slide_left .service_content_title div{
        width: 1000px;
    }
    .slide-in .service_content_title span{
        font-size: 60px;
        letter-spacing: 8px;
        padding-bottom: 7.5px;
    }
    .slide-in.slide_left .service_content_title::before{
        left: -25px;
        width: calc((100vw - 1200px) / 2 + 1200px);
        height: 132px;
        border-radius: 0 70px 15px 0;
    }
    .slide-in.slide_right .service_content_title::before{
        right: -25px;
        width: calc((100vw - 1200px) / 2 + 1200px);
        border-radius: 70px 0 0 15px;
    }
}

@media(max-width:750px){
    .service_content_title{
        height: clamp(5.5rem, 3.453rem + 10.23vw, 8.25rem);
    }

    .slide-in.slide_left .service_content_title::before{
        width: 91.8%;
        border-radius: 0 clamp(2.313rem, 0.778rem + 7.67vw, 4.375rem) clamp(0.5rem, 0.174rem + 1.63vw, 0.938rem) 0;
    }
    .slide-in.slide_right .service_content_title::before{
        width: 91.8%;
        border-radius: clamp(2.313rem, 0.778rem + 7.67vw, 4.375rem) 0 0 clamp(0.5rem, 0.174rem + 1.63vw, 0.938rem);
    }

    .slide-in .service_content_title span{
        font-size: clamp(2.5rem, 1.105rem + 6.98vw, 4.375rem)
    }

    .slide-in.slide_left .service_content_title div{
        width: 81.2%;
        margin: 0;
    }

    .slide-in.slide_right .service_content_title div{
        width: 81.2%;
        margin: 0;
        margin-left: auto;
    }
}

.service_content ul{
    display: flex;
    width: 100%;
    justify-content:space-between;
}

.service_content ul li{
    display: flex;
    flex-direction: column;
    justify-content:space-between;
    border: solid 1px #cccccc;
    padding: 1em 0;
    text-align: center;
    font-size: var(--f27);
    font-weight: 600;
    color: #004097;
    font-feature-settings: "palt";
    line-height: 1.2;
    width: clamp(0rem, -5.955rem + 29.77vw, 16.375rem);
    height: clamp(0rem, -5.955rem + 29.77vw, 16.375rem);
    box-sizing: border-box;
}

.service_content ul li span{
    padding-top: 0.5em;
}

.service_content ul li img{
    width: clamp(0rem, -4.091rem + 20.45vw, 11.25rem);
    height: clamp(0rem, -3.068rem + 15.34vw, 8.438rem);
}

.service_content ul li p{
    font-size: var(--f17);
    color: #4d4d4d;
    margin-top: 0.5em;
}

@media (min-width:1200px){
    .service_content ul li{
        width: 262px;
        height: 262px;
    }
}

@media(max-width:1019px){
    .service_content ul li{
        font-size: clamp(0px,1.9vw,27px);
        padding: 0.8em 0;
    }
}

@media(max-width:750px){

    .service_content{
        margin: clamp(2rem, 0.558rem + 7.21vw, 3.938rem) auto clamp(4.063rem, 0.807rem + 16.28vw, 8.438rem);
        padding: 0;
    }

    .service_content ul{
        flex-direction: column;
        align-items: center;
        gap: 9px;
    }

    .service_content ul li{
        width: clamp(10.813rem, 6.673rem + 20.7vw, 16.375rem);
        height: clamp(10.813rem, 6.673rem + 20.7vw, 16.375rem);
        gap: 1em;
        font-size: var(--f27);
        padding: 1em 0;
    }

    .service_content ul li img{
        width: clamp(7.438rem, 4.6rem + 14.19vw, 11.25rem);
        height: auto;
    }

    .service_content ul li:last-child{
        gap: 0;
    }

    .service_content ul li:last-child img{
        width: clamp(7.438rem, 6.051rem + 6.93vw, 11.25rem);
    }
}

.area_content{
    width: 90%;
    max-width: 1000px;
    margin: clamp(0rem, -0.841rem + 4.2vw, 2.313rem) auto clamp(0rem, -5.023rem + 25.11vw, 13.813rem);
    background: #fff;
    padding-bottom: var(--f30);
    box-sizing: border-box;
}

.area_content p{
   font-size: var(--f20);
   letter-spacing: 0.8px;
   line-height: 1.8
}

.area_content .area_img{
    width: clamp(0rem, -18.182rem + 90.91vw, 50rem);
    max-width: 800px;
    position: relative;
    margin: clamp(0rem, -1.909rem + 9.55vw, 5.25rem) auto clamp(0rem, -1.727rem + 8.64vw, 4.75rem);
}

.area_content .area_img figcaption{
    position: absolute;
    top: 1em;
    left: 0;
    background: url(../images/service/service_area_mark.svg) no-repeat;
    background-size: contain;
    background-position: center;
    aspect-ratio: 160 / 45;
    padding: 0.9em 1.5em 0.5em;
    font-size: var(--f21);
    font-weight: 500;
    color: #fff;
}

.area_content ul{
    display: flex;
    justify-content: center;
    gap:1em;
    width: 80%;
    margin: clamp(0rem, -1.818rem + 9.09vw, 5rem) auto 0;
    max-width: 640px;
}

.area_content ul li{
    display: flex;
    flex-direction: column;
    justify-content:space-between;
    border: solid 1px #cccccc;
    padding: 1em 0.5em;
    width: clamp(0rem, -4.545rem + 22.73vw, 12.5rem);
    height: clamp(0rem, -4.545rem + 22.73vw, 12.5rem);
    text-align: center;
    font-size: var(--f22);
    font-weight: 600;
    color: #004097;
    font-feature-settings: "palt";
    line-height: 1.2;
    box-sizing: border-box;
}

.area_content ul li img{
    width: clamp(0rem, -3.295rem + 16.48vw, 9.063rem);
    height: clamp(0rem, -2.5rem + 12.5vw, 6.875rem);
}

.area_content ul li span{
    padding-top: 0.5em;
}

@media (min-width:1200px){
    .area_content{
        margin: 37px auto 221px;
    }

    .area_content .area_img{
        margin: 84px auto 76px;
    }
    .area_content ul li{
        width: 200px;
        height: 200px;
    }
}

@media(750px < width <= 1200px){
    .area_content{
        width: 70%;
    }
    .area_content ul li{
        font-size: clamp(0rem,1.7vw,22px);
    }
}

@media(max-width:1100px){
    .area_content .area_img figcaption{
        background: url(../images/service/sp_service_zenkoku.png) no-repeat;
        background-size: contain;
        background-position: center;
        color: transparent;
    }
}

@media(max-width:750px){

    .area_content{
        max-width: 500px;
        width: 85%;
        font-feature-settings: "palt";
    }

    .area_content .area_img{
        width: 100%;
        height: auto;
        margin: clamp(1.563rem, 0.307rem + 6.28vw, 3.25rem) auto clamp(0.875rem, 0.317rem + 2.79vw, 1.625rem);
    }

    .area_content ul{
        width: 100%;
        gap: 1em;
    }

    .area_content ul li{
        font-size: var(--f17);
        width: calc(100% / 3);
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .area_content ul li img{
        width: 72.44%;
        height: auto;
    }
}

@media(max-width:619px){
    .area_content{
        margin: 1em 1em clamp(4.063rem, 0.807rem + 16.28vw, 8.438rem) auto;
    }
}


.skill_content{
    width: 90%;
    max-width: 1000px;
    margin: clamp(0rem, -0.5rem + 2.5vw, 1.375rem) auto clamp(0rem, -4.705rem + 23.52vw, 12.938rem);
    padding: 26.6px 0 var(--f18);
    background-color: #fff;
}

.skill_content{
    margin-bottom: clamp(0rem, -5.227rem + 26.14vw, 14.375rem);
}

.skill_content p{
    font-size: var(--f20);
    letter-spacing: 0.8px;
    line-height: 1.8;
    margin-bottom: clamp(0rem, -1.136rem + 5.68vw, 3.125rem);
}

.skill_content dl div{
    box-sizing: border-box;
    font-size: var(--f14);
    font-weight: 600;
    margin-bottom: 1em;
    letter-spacing: 0.4px;
}

.skill_content dl dt{
    background: var(--color_main);
    border: solid 2px var(--color_main);
    color:#fff;
    padding: 0.5em;
    margin-right: 0.5em;
    border-radius: clamp(0rem, -0.114rem + 0.57vw, 0.313rem);
    display: inline-block
}

.skill_content dl dd{
    border: solid 2px #666666;
    padding: 0.5em;
    border-radius: clamp(0rem, -0.114rem + 0.57vw, 0.313rem);
    display: inline-block;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
}

@media (min-width:1200px){
    .skill_content{
        margin: 22px auto 207px;
    }

    .skill_content p{
        margin-bottom:50px;
    }
}

@media(max-width:750px){
    .skill_content{
        max-width: 500px;
        font-feature-settings: "palt";
    }
}

/* ----------------------------------------------------------------

company

---------------------------------------------------------------- */

.catch.company_catch{
    padding-top: clamp(0rem, -5.227rem + 26.14vw, 14.375rem);
    margin-bottom: 0;
}

.catch.company_catch::before{
    padding-top: 0;
    top: clamp(0rem, -1.659rem + 8.3vw, 4.563rem);
}

.catch.company_catch h3{
    font-size: var(--f70);
    font-weight: 700;
    line-height: 1.486;
}

@media (min-width:1200px){
    .catch.company_catch{
        padding-top: 230px;
    }
    .catch.company_catch::before{
        top: 73px;
    }
}


#company .main_content_title::before{
    background: #6fcfdc;
    z-index: -1;
}

#company_content{
    position: relative;
    z-index: 0;
}

#company_content table{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto clamp(0rem, -5.455rem + 27.27vw, 15rem);
    background-color: #fff;
    border-top: solid 2px #336699;
    line-height: 1.8;
    font-size: var(--f16);
    font-weight: 500;
}

#company_content table tr{
    border-bottom: dotted 2px #cccccc;
    color: #000;
}

#company_content table tr th,
#company_content table tr td{
    padding: var(--f26) 1em;
}

#company_content table tr th{
    width: 12em;
    padding-right: 5em;
    text-align: left;
    vertical-align: top;
}

#company_content table tr td p{
    font-size: var(--f16);
    line-height: 1.8;
    letter-spacing: 0.4px;
}

#company_content table tr td span{
    font-size: var(--f14);
    color: #666666;
}

#company_content table tr td a{
    font-size: var(--f14);
    color: #666666;
    position:relative;
    padding-right: 1.3em;
    display: inline-block;
    border-bottom: solid 1px #666;
    margin-top: 1em;
}

#company_content table tr td a::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 13px;
    height: 10px;
    transform: translateY(-50%);
    background: url(../images/company/link_icon.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

#company_content .company_content_img{
    width: clamp(0rem, -2.273rem + 11.36vw, 6.25rem);
}

@media(max-width:750px){

    #company h2.main_content_title span{
        font-size: 4.5em;
    }

    .catch.company_catch{
        padding: clamp(2.813rem, 0.58rem + 11.16vw, 5.813rem) 0;
    }

    .catch.company_catch h3{
        font-size: var(--f40);
    }

    #company_content table{
        margin: 0 auto 79px;
    }

    #company_content table{
        max-width: 500px;
    }

    #company_content table tr th,
    #company_content table tr td{
        display: block;
    }

    #company_content table tr th{
        font-size: 18px;
        font-weight: 600;
        padding: 24px 1em 0;
    }

    #company_content table tr td{
        padding: 0 1em 24px;
    }

    #company_content .company_content_img{
        width: 100px;
    }
}



#access .main_content_title::before{
    background: #6ecfdc;
    z-index: -1;
}

#access {
    position: relative;
    z-index: 0;
}

.access_content{
    background: #fff;
    margin: clamp(0rem, -3.636rem + 18.18vw, 10rem) auto clamp(0rem, -5.227rem + 26.14vw, 14.375rem);
    width: clamp(0rem, -22.727rem + 113.64vw, 62.5rem);
    max-width: 1000px;
    color: #333333;
}

.access_content h3{
    padding: 0.5em 0;
    border-bottom:  dotted 2px #cccccc;
    font-size: var(--f20);
    font-weight: 600;
}

.access_content ul{
    margin: 0.5em 0;
    line-height: 1.4;
    font-weight: 500;
}

.map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 28%; 
    margin: 1em 0;
  }
   
.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .company_recruit#recruit .slide_bg_left{
    background-color: #aee3ff;
  }

  @media (min-width:1200px){
    .access_content{
        margin: 158px auto 230px;
    }
  }

  @media(max-width:750px){

    .access_content{
        width: 85%;
        max-width: 500px;
    }

    .access_content ul{
        margin: 1em 0;
    }

    .access_content ul li{
        padding-bottom: 22px;
    }

    .map {
        padding-top: 56%; 
    }

    .company_recruit#recruit  {
        margin: 137px 0 clamp(4.188rem, 1.071rem + 15.58vw, 8.375rem);
    }

  }

  @media(max-width:619px){
    .access_content{
        margin: 85px 1em 62px auto;
    }
  }

  /** -----------------------------------------------------------------
                    お問い合わせフォーム
----------------------------------------------------------------- **/

#page_contact .main_content_title::before{
    background: #c2cfef;
    z-index: -1;
}

.page_contact_inner{
    width: clamp(0rem, -22.727rem + 113.64vw, 62.5rem);
    max-width: 1000px;
    margin: 2em auto clamp(0rem, -5.114rem + 25.57vw, 14.063rem);
    font-weight: 500;
}

.caution_wrap{
    color: red;
    margin: var(--f30) auto;
    line-height: 1.4;
    font-size: var(--f20);
}

.caution{
    color: red;
}

.contact_wrap{
    margin: clamp(0rem, -2.273rem + 11.36vw, 6.25rem) auto;
    font-size: var(--f18);
    line-height: 1.4;
}

.contact_wrap dl{
    display: flex;
    flex-wrap: wrap;
}

.contact_wrap dl dt{
    width: clamp(0rem, -5.409rem + 27.05vw, 14.875rem);
    margin-bottom: clamp(0rem, -0.818rem + 4.09vw, 2.25rem);
}

.contact_wrap dl dd{
    width: clamp(0rem, -17.318rem + 86.59vw, 47.625rem);
    margin-bottom: clamp(0rem, -0.818rem + 4.09vw, 2.25rem);
}

.contact_wrap dl dd input,
.contact_wrap dl dd select,
.contact_wrap dl dd textarea{
    width: 100%;
    font-size: var(--f18);
    line-height: 1.4;
    padding: 0.5em;
    box-sizing: border-box;
    border: solid 1px #707070;
    background: #fff;
    color: #4d4d4d;
    -webkit-appearance: none;
    border-radius: 0;
}

.contact_wrap dl dd textarea{
    height: clamp(0rem, -11.818rem + 59.09vw, 32.5rem);
}

.contact_wrap dl dd #zip{
    width: clamp(0rem, -8.409rem + 42.05vw, 23.125rem);
}

.contact_wrap dl dd select{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}

.contact_wrap dl .select_wrap{
    position: relative;
}

.contact_wrap dl .select_wrap::before{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: clamp(0rem, -0.409rem + 2.05vw, 1.125rem) solid transparent;
    border-left: clamp(0rem, -0.409rem + 2.05vw, 1.125rem) solid transparent;
    border-top: clamp(0rem, -0.705rem + 3.52vw, 1.938rem) solid #7b7b7b;
    border-bottom: 0;
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 1;
}


.contact_wrap dl .select_wrap::after{
    content: "";
    width: 3em;
    height: calc(1em * 0.4 + 2em);
    border: solid 1px #7b7b7b;
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    background: #fff;
}

@media(max-width:750px){
    .page_contact_inner{
        width:90%;
        max-width: 500px;
        font-feature-settings: "palt";
    }

    .contact_wrap{
        margin: 73px 0;
    }


    .contact_wrap dl{
        flex-direction: column;
    }

    .contact_wrap dl dd{
        margin-bottom: 28px;
    }

    .contact_wrap dl dt,
    .contact_wrap dl dd{
        width: 100%;
    }

    .contact_wrap dl dt{
        margin-bottom: 0;
    }

    .contact_wrap dl dd #zip{
        width: 50%;
    }

    .contact_wrap dl dd textarea{
        height: 520px;
    }

    .privacy-policy_content .section_title{
        font-size: 20px;
        color: #333333;
    }

    .contact_wrap dl .select_wrap::before{
        border-right: 17px solid transparent;
        border-left: 17px solid transparent;
        border-top: 29px solid #7b7b7b;
    }

    .privacy-policy_wrap p{
        font-feature-settings: "palt";
    }
}

/** --------------------プライバシーポリシー-------------------- **/

.privacy-policy_wrap{
    margin: 2em 0;
}

.privacy-policy_wrap > p{
    text-align: center;
    margin-bottom: 0.5em;
    font-size: var(--f25);
}

.privacy-policy_content{
    width: 100%;
    height: 275px;
    border: solid 1px #000;
    padding: 1em;
    overflow-y: scroll;
    scrollbar-color: #7b7b7b #fff;
    box-sizing: border-box;
}

.privacy-policy_content::-webkit-scrollbar{
    background-color: #fff; 
    width: 15px;
}

.privacy-policy_content::-webkit-scrollbar-track{
    border: 1px solid #7b7b7b;
}

.privacy-policy_content::-webkit-scrollbar-thumb{
    background: #7b7b7b;
}

.privacy-policy_wrap h3 + p{
    font-size: var(--f18);
    padding-left: 1em;
    line-height: 1.4;
    letter-spacing: 0.8px;
}

.privacy-policy_wrap h4 + div{
    margin-left: 1em;
}

.privacy-policy_wrap h4 + div p,
.privacy-policy_wrap h4 + div ul{
    font-size: var(--f14);
    font-weight: 500;
    color: #000;
}

.privacy-policy_wrap h4 + div ul{
    list-style: disc;
    padding-left: 1.5em;
    line-height: 1.4;
    margin-bottom: 1em;
}

.privacy-policy_wrap h4{
    font-size: var(--f18);
    font-weight: 600;
    color: #000033;
    margin: 2em 0 1em;
}

.submit_wrap{
    text-align: center;
    position: relative;
    width: clamp(0rem, -12.273rem + 61.36vw, 33.75rem);
    margin: 0 auto;
}

.form_back{
    text-align: center;
    position: relative;
    width: clamp(0rem, -10.909rem + 54.55vw, 30rem);
    margin: clamp(0rem, -0.773rem + 3.86vw, 2.125rem) auto 0;
}

.submit_wrap input[type='submit'] {
    width: clamp(0rem, -12.273rem + 61.36vw, 33.75rem);
    height: clamp(0rem, -2.841rem + 14.2vw, 7.813rem);
    font-size: var(--f33);
    font-weight: 500;
    background-color: #004097;
    border: solid 1px #999999;
    color: #fff;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    -webkit-appearance: none;
    border-radius: 0;
}

.form_back input[type='submit']{
    width: 100%;
    height: clamp(0rem, -2.045rem + 10.23vw, 5.625rem);
    font-size: var(--f33);
    font-weight: 500;
    background-color: #fff;
    box-sizing: border-box;
    text-align: center;
    color: #4d4d4d;
    border: solid 1px #4d4d4d;
    cursor: pointer;
    -webkit-appearance: none;
    border-radius: 0;
}

.submit_wrap::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: clamp(0rem, -0.659rem + 3.3vw, 1.813rem);
    transform: translateY(-50%);
    width:clamp(0rem, -0.636rem + 3.18vw, 1.75rem);
    height: clamp(0rem, -0.773rem + 3.86vw, 2.125rem);
    -webkit-mask:   url("../images/header+footer/nav_icon.svg") no-repeat center center / contain;
    mask-image:     url("../images/header+footer/nav_icon.svg");
    mask-repeat:    no-repeat;
    mask-position:  center center;
    mask-size:      contain;
     background-color: #fff;
}

.form_back::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left:clamp(0rem, -0.705rem + 3.52vw, 1.938rem);
    transform: translateY(-50%) rotateY(180deg);
    width:clamp(0rem, -0.636rem + 3.18vw, 1.75rem);
    height: clamp(0rem, -0.773rem + 3.86vw, 2.125rem);
    -webkit-mask:   url("../images/header+footer/nav_icon.svg") no-repeat center center / contain;
    mask-image:     url("../images/header+footer/nav_icon.svg");
    mask-repeat:    no-repeat;
    mask-position:  center center;
    mask-size:      contain;
     background-color: #b3b3b3;
}

@media(min-width:1200px){
    .submit_wrap{
        width: 540px;
    }
    .submit_wrap input[type='submit'] {
        width: 540px;
        height: 125px;
    }
    .submit_wrap::after{
        width: 28px;
        height: 35px;
        right: 29px;
    }

    .form_back::after{
        width: 28px;
        height: 35px;
        right: 29px;
    }

    .form_back{
        width:480px;
        height: 90px;
        margin: 35px auto 0;
    }

    .form_back::after{
        left:31px;
    }
}

@media(max-width:750px){
    .submit_wrap{
        width:100%;
        max-width: 500px;
    }

    .submit_wrap input[type='submit']{
        width: 100%;
        height: clamp(3rem, -0.581rem + 17.91vw, 7.813rem);
    }

    .submit_wrap::after{
        width: 0.848em;
        height: 1.06em;
        right: 20px;
    }

    .form_back::after{
        width: 0.848em;
        height: 1.06em;
        left: 20px;
    }

    .form_back{
        width: 95%;
        max-width: 450px;
        margin: 33px auto 133px;
    }

    .form_back input[type='submit']{
        width: 100%;
        height: clamp(3rem, -0.581rem + 17.91vw, 7.813rem);
    }
}

.check_p{
    margin-top: clamp(0rem, -2.5rem + 12.5vw, 6.875rem);
}

.contact_check{
    width: clamp(0rem, -18.182rem + 90.91vw, 50rem);
    max-width: 800px;
    margin-top: clamp(0rem, -1.705rem + 8.52vw, 4.688rem);
}

.contact_check dl dt{
    width: 35%;
    margin-bottom: var(--f50);
}

.contact_check dl dd{
    width: 60%;
    margin-bottom: var(--f50);
}

.contact_check .submit_wrap{
    margin-top: 75px;
}

.contact_submit_inner{
    width: 90%;
    max-width: 1000px;
    margin: 220px auto 0;
}

.contact_submit_inner p{
    font-size: var(--f22);
    letter-spacing: 0.4px;
}

.contact_submit_inner p:first-child{
    font-size: var(--f50);
    font-weight: 600;
    margin-bottom: 0.5em;
}

@media(max-width:750px){

    .contact_submit_inner{
        max-width: 500px;
        margin: 34px auto 133px;
    }

    .contact_submit_inner p{
        font-size: 20px;
    }
    
    .contact_submit_inner p:first-child{
        font-size: var(--f30);
        margin-bottom: 1.46em;
    }



    .contact_check{
        width: 100%;
        max-width: 500px;
        margin: 0;
    }

    .check_p{
        font-size: clamp(1.125rem, 1.032rem + 0.47vw, 1.25rem);
    }

    .contact_check dl {
        margin: 70px 0 0;
    }

    .contact_check dl dt{
        width: 100%;
        font-size: clamp(1.125rem, 1.032rem + 0.47vw, 1.25rem);
        font-weight: 600;
        margin-bottom: 13px;
    }
    
    .contact_check dl dd{
        width: 100%;
        font-size:var(--f18);
        margin-bottom: 40px;
    }
}