@charset "UTF-8";
/*
Theme Name: 20250627
Theme URI:
Author:　株式会社プラセム
description: 20250522のアップデート、LP05の追加
*/

*{
    box-sizing: border-box;
    scroll-behavior: smooth;
    color:#323232;
}
img{
    width:100%;
    height:auto;
}

a{
    text-decoration:none;
}

.inline-b{
    display:inline-block;
}

.all-content{
    overflow: hidden;
    position:relative;
}
.inline{
    display: inline-block;
}
main{
    margin-top: 99px;
}
@media screen and (max-width: 1200px){
    main{
    margin-top: 144px;
}
}
@media screen and (max-width: 980px){
    main{
    margin-top: 71px;
}
}
@media screen and (max-width: 768px){
    main{
    margin-top: 63px;
}
}
@media screen and (max-width: 480px){
    main{
    margin-top: 59px;
}
}
/* @media screen and (max-width: 380px){
    main{
    margin-top: 48px;
}
} */
/* fonts */

p, span, a{
    font-family: "Noto Sans JP", serif;
    color:#323232;
}

.pink{
    color:#ff78a0;
}

.maru{
    font-family: "Zen Maru Gothic", serif;
    font-weight:400;
  }
    .maru.light{
        font-weight:400;
        }

    .maru.mid{
        font-weight:500;
        }

    .maru.bold{
        font-weight:700;
        }

    .maru.black{
        font-weight:900;
        }

.outfit{
    font-family: "Outfit", serif;
    font-weight:400;
}

    .outfit.thin{
        font-weight:100;
    }

    .outfit.light{
        font-weight:300;
    }

    .outfit.mid{
        font-weight:500;
    }

    .outfit.bold{
        font-weight:700;
    }

    .outfit.black{
        font-weight:900;
    }

.noto{
    font-family: "Noto Sans JP", serif;
    font-weight:400;
}


    .noto.light{
        font-weight:300;
    }

    .noto.mid{
        font-weight:500;
    }

    .noto.bold{
        font-weight:700;
    }

    .noto.black{
        font-weight:900;
    }

    /* br */

    .tb, .sp, .tb-only{
        display:none;
    }

    @media screen and (max-width:768px){
        .pc{
            display:none !important;
        }

        .tb{
            display:inherit !important;
        }

        .tb-only{
            display:inherit !important;
        }
    }

    @media screen and (max-width:480px){
        .sp{
            display:inherit !important;
        }

        .tb-only{
            display:none !important;
        }
    }

    /* banner */
    .sp-banner{
        width:100%;
        position:fixed;
        bottom:10px;
        right: 0;
        z-index:999;
        max-width: 600px
    }
    @media screen and (max-width: 768px){
        .sp-banner{
            bottom: -3px;
        }
    }

    .banner-flex{
        display:flex;
        align-items: baseline;
    }

    .banner-flex a{
        display:block;
        margin-right:-1px;
    }

/* header */
header{
  position: fixed;
  top: 0;
  z-index: 10;
  display: block;
  width: 100%;
  background: #fff;
}
.header-content{
    width:95%;
    margin:0 auto;
    padding:15px 0;
}

.header-flex{
    display:flex;
    justify-content: space-between;
    align-items: end;
}

.header-content .left,
.header-content .right{
    display:flex;
}

.header-content .left{
    gap:20px;
}

.header-content .right{
    gap:15px;
    align-items: center;
}

.header-content .logo{
    width:265px;
}

.header-content .info{
    font-size:14px;
    letter-spacing:0.04em;
    line-height:1.7;
}

.header-content .right .head-btn{
    display:flex;
    gap:10px;
}
.header-content .right .head-btn a{
    display:block;
    max-height:40px;
    transition:0.3s;
    font-size:16px;
    position:relative;
    border-radius:100px;
    padding:10px 17px;
    color:#fff;
    top:0;
    font-family: "Noto Sans JP", serif;
    font-weight:500;
    letter-spacing:0.04em;
}

.header-content .right .head-btn a span{
    color:#fff;
    font-size:18px;
    letter-spacing:0.04em;
}

.header-content .right .head-btn a.btn01{
    background:linear-gradient(180deg,#00b400, #8ce68c);
    box-shadow:0px 5px 0 #00b400;
}

.header-content .right .head-btn a.btn01::after{
    content:"";
    width:calc(100% + 4px);
    height:calc(100% + 4px);
    background:linear-gradient(180deg,#8ce68c, #00b400) border-box border-box;
    position:absolute;
    left:-2px;
    top:-2px;
    z-index:-1;
    border-radius: 100px;;
}
.header-content .right .head-btn a.btn02{
    background:linear-gradient(180deg,#f35078, #f08fa0);
    box-shadow:0px 5px 0 #f35078;
}

.header-content .right .head-btn a.btn02::after{
    content:"";
    width:calc(100% + 4px);
    height:calc(100% + 4px);
    background:linear-gradient(180deg,#f08fa0, #f35078) border-box border-box;
    position:absolute;
    left:-2px;
    top:-2px;
    z-index:-1;
    border-radius: 100px;
}

.header-content .right .head-btn a.btn03{
    background:linear-gradient(180deg,#5a88e5, #36d1dc);
    box-shadow:0px 5px 0 #5b86e5;
}

.header-content .right .head-btn a.btn03::after{
    content:"";
    width:calc(100% + 4px);
    height:calc(100% + 4px);
    background:linear-gradient(180deg,#36d1dc, #5a88e5) border-box border-box;
    position:absolute;
    left:-2px;
    top:-2px;
    z-index:-1;
    border-radius: 100px;
}

.header-content .right .head-btn a:hover{
    top:4px;
    box-shadow:0px 0px 0 transparent;
}

.header-content .tel{
    font-size:13px;
    text-align: left;
    padding-top:15px;
    position:relative;
    width:fit-content;
}

.header-content .tel a{
    white-space: nowrap;
}

.header-content .tel::before{
    content:"ゴーナース";
    font-family: "Noto Sans JP", serif;
    font-weight:600;
    color:#ff78a0;
    position:absolute;
    top:1px;
    right:3px;
}

.header-content .tel .big{
    font-size:30px;
}

.header-content .tel .time{
    font-size:15px;
}

@media screen and (max-width:1300px){
    .header-content{
        padding:1.2vw 0;
    }

    .header-content .left{
        gap:1.5vw;
    }
    
    .header-content .right{
        gap:1.1vw;
    }
    
    .header-content .logo{
        width:20.4vw;
        min-width:220px;
    }
    
    .header-content .right .head-btn{
        gap:0.77vw;
    }

}

@media screen and (max-width:1200px){
    .header-content .left{
    flex-direction: column;
    align-items:end;
    gap:20px;
}

}

@media screen and (max-width:980px){
    .header-content .left{
    flex-direction: row;
    align-items:center;
}
.header-content .right{
    display:none;
}
}

@media screen and (max-width:480px){

    .header-content{
        padding:10px 0;
    }

    .header-content .left{
        justify-content: space-between;
        width:100%;
        gap: 10px;
    }

    .header-content .logo{
        width:196px;
        min-width: initial;
    }

    .header-content .info{
        font-size:10px;
    }
    
}
@media screen and (max-width:380px){
    .header-content .info{
        font-size:9px;
    }
}

/* mv */

#mv{
    background-image:url(assets/img/mv-back02.jpg);
    background-size:cover;
    background-position: center;
    background-repeat: no-repeat;
}
@media screen and (max-width:768px){
    #mv{
        background-image:url(assets/img/mv-back02_sp.png);
    }
}

.mv-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
    position:relative;
    display:flex;
    padding:40px 0 10px;
}

.mv-content::after{
    content:"";
    width: 399px;
    height: 485px;
    background-image:url(assets/img/mv-img.png);
    background-size: contain;
    background-repeat: no-repeat;
    position:absolute;
    bottom:-1px;
    left: 612px;
}

.mv-left{
    max-width:675px;
}

.mv-left h2 span{
    color:#fff;
    font-size:15px;
    text-shadow:1px 1px 0 #ff648c,-1px 1px 0 #ff648c,1px -1px 0 #ff648c,-1px -1px 0 #ff648c;
}

.mv-left .mv-logo{
    max-width:600px;
    width: 100%;
}
@media screen and (max-width: 768px){
    .mv-left .mv-logo{
        max-width:initial;
        width: 100%;
        transform: translateX(5px);
    }
}


.mv-wrap{
    display:flex;
    justify-content: space-between;
    display: none;
}

/* .mv-wrap p{
    text-align: center;
    font-size:17px;
    line-height:1.3;
    padding:25px 0;
    border:solid .75px #fff;
    border-radius:9999px;
    width: 134px;
    height: 134px;
    display:block;
    box-sizing: border-box;
} */

.mv-wrap p span{
    font-size:14px;
    color: #fff;
}

.mv-left .note{
    font-feature-settings: 'palt';
}
.mv-left .note.top{
    /* font-family: 'GothicMB101Pro-Medium'; */
    font-size:14px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: calc(19 / 14);
    margin-top:20px;
}
@media screen and (max-width:768px){
    .mv-left .note.top{
        text-align: center;
        font-size: 3.5vw;
        margin-top: -2vw;
    }
}
@media screen and (max-width:400px){
    .mv-left .note.top{
        font-size: 3.25vw;
        white-space: nowrap;
    }
}
.mv-left .note.bottom{
    margin-top: 7px;
    font-size:12px;
    letter-spacing: .02em;
}
@media screen and (max-width:768px){
    .mv-left .note.bottom{
        font-size: 8px;
        text-align: center;
        font-size: 2vw;
        margin-top: 2vw;
    }
}

.mv-right{
    position:absolute;
    right: 0;
    top:40px;
    z-index:0;
    width:80px;
}
@media screen and (max-width:1300px){

    .mv-content{
        padding:6.2vw 0;
    }
    
    .mv-content::after{
        width: 34.7vw;
        height: 38vw;
        bottom:-0.01vw;
        left:52vw;
    }
    
    .mv-left{
        max-width:52vw;
    }
    
    .mv-left h2 span{
        color:#fff;
        font-size:15px;
        text-shadow:1px 1px 0 #ff648c,-1px 1px 0 #ff648c,1px -1px 0 #ff648c,-1px -1px 0 #ff648c;
    }
    
    .mv-wrap{
        display:flex;
        justify-content: space-between;
    }
    
    .mv-wrap p{
        text-align: center;
        font-size:17px;
        line-height:1.3;
        padding:10px 0;
        padding-bottom:13px;
        background-color:#fff;
        border:solid 3px #ff648c;
        border-radius:10px;
        width:23.8%;
        display:block;
        box-sizing: border-box;
    }
    
    .mv-wrap p span{
        font-size:14px;
    }
    
    .mv-left .note{
        margin-top:20px;
    }

}

.mv-logo h2 img.tb{
    display:none;
}

@media screen and (max-width:768px){

    .mv-content{
        padding:20px 0 20px;
    }

    .mv-logo h2 img.pc{
        display:none;
    }

    .mv-logo h2 img.tb{
        display:block;
    }

    .mv-content::after{
        width:0;
        height:0;
    }

    .mv-left{
        max-width:1000px;
        width:100%;
        z-index:3;
    }

    .mv-right{
        top:5.2vw;
        width:11vw;
        display: none;
    }

    .mv-wrap p span{
        font-size:14px;
    }
    
    .mv-left .note{
        margin-top:20px;
        font-feature-settings: 'palt';
        font-size:14px;
    }
    
    .mv-right .copy{
        font-size:3.6vw;
        z-index:0;
        }
    
    .mv-right .copy .box{
        padding:0.8vw 0.5vw;
        padding-left:0.4vw;
    }
    
    .box01{
        margin-left:0.8vw;
    }

}

@media screen and (max-width:670px){
    .mv-wrap{
        flex-wrap: wrap;
        gap:3vw 2%;
        margin-top:10px;
    }
    
    .mv-wrap p{
        padding:15px 0;
        width:48%;
    }
}

@media screen and (max-width:480px){
    .mv-left .note{
        margin-top:10px;
        font-size:8px;
    }
}
/* step */

#steps{
    background-color:#ff78a0;
    padding:18px 0;
}

.step-flex{
    display:flex;
    align-items: center;
    margin:0 auto;
    width:max-content;
    gap:20px;
}

#steps .step{
    color:#fff;
    font-size:18px;
    letter-spacing:0.06em;
}
.step-nums{
    display:flex;
    align-items: center;
    gap:20px;
    position:relative;
    z-index:5;
}

.step-nums::after{
    content:"";
    width:100%;
    height:1px;
    background-color:#fff;
    position:absolute;
    z-index:0;
    top:50%;
    transform: translateY(-50%);
    left:0;
}

.step-nums p{
    color:#fff;
    background-color:#ff4682;
    display:block;
    width:34px;
    height:34px;
    text-align: center;
    box-sizing: border-box;
    padding:7px 0;
    border-radius:50%;
    font-size:16px;    
    position:relative;
    z-index:5;
    transition:0.3s;

}

.step-nums p.active{
    color:#ff78a0;
    background-color:#fff;
}

#steps .kantan{
    color:#fff;
    font-size:16px;
    letter-spacing:0.06em;
}

@media screen and (max-width:768px){
    #steps{
        padding:15px 0;
    }
    
    .step-flex{
        gap:15px;
    }
    
    #steps .step{
        font-size:16px;
    }
    .step-nums{
        gap:15px;
    }
    
    .step-nums p{
        width:32px;
        height:32px;
        font-size:15px;
    }
    
    #steps .kantan{
        font-size:15px;
    }
}

@media screen and (max-width:480px){

    .step-flex{
        gap:12px;
    }

    .step-nums{
        gap:12px;
    }
    
}


/* support */

#support{
    background-image:url(assets/img/service-back.png);
    background-size:cover;
    background-repeat: no-repeat;
    padding:115px 0;
}

.sup-content{
    max-width:1000px;
    width:90%;
    margin:0 auto;
    position:relative;
}

.sup-top{
    position:relative;
    width:82.4%;
    margin:0 auto;
    padding-bottom:65px;
}

.sup-top::after{
    content:"";
    background-image:url(assets/img/service-img.png);
    width:43%;
    height:100%;
    background-size:contain;
    background-repeat: no-repeat;
    position:absolute;
    background-position: bottom;
    right:0;
    bottom:0;
    z-index:0;
}

.sup-content .left{
    width:57%;
}

.sup-check p{
    font-size:18px;
    letter-spacing:0.06em;
    position:relative;
    display:block;
    padding:13px;
    padding-left:50px;
    background-color:#fff5f5;
    border-radius:10px;
    margin-top:18px;
    font-weight:600;
}

.sup-check p::before{
    content:"";
    width:21px;
    height:18px;
    background-image:url(assets/img/check.png);
    background-size: contain;
    background-repeat: no-repeat;
    position:absolute;
    left:20px;
    top:14px;
}

.sup-box{
    background-color:#fff5f5;
    border-radius:50px;
    border:solid 10px #ff78a0;
    padding:70px 85px;
    box-sizing: border-box; 
    margin-top:-2px;
    position:relative;
    z-index:1;
}

.sup-box h4{
    font-size:30px;
    text-align: center;
    line-height:1.5;
    letter-spacing:0.06em;
    font-weight:600;
    font-feature-settings: 'palt';
}

.sup-box h4 .light{
    font-weight:300;
}

.sup-box-txt{
    font-size:16px;
    text-align: center;
    margin-top:23px;
    line-height:1.5;
}

.sup-wrap{
    display:flex;
    justify-content: space-between;
    margin-top:40px;
}

.sup-wrap .a-sup{
    width:47.6%;
    background-color:#fff;
    border-radius:30px;
    padding:40px;
}

.sup-wrap .a-sup .a-sup-txt{
    font-size:16px;
    font-feature-settings: 'palt';
    line-height:1.9;
    margin-top:20px;
}

@media screen and (max-width:768px){
    #support{
        padding:70px 0;
    }
    

    .sup-top{
        width:90%;
        padding-bottom:50px;
    }


    .sup-check p{
        font-size:16px;
        padding-left:45px;
    }
    
    .sup-check p::before{
        width:18px;
        height:16px;
    }
    
    .sup-box{
        border-radius:30px;
        padding:50px 30px;
    }
    
    .sup-box h4{
        font-size:24px;
    }
    
    .sup-box-txt{
        font-size:16px;
        text-align: left;
        margin-top:20px;
    }
}

@media screen and (max-width:670px){

    .sup-top::after{
        width:38%;
    }
    
    .sup-content .left{
        width:100%;
    }

    .sup-check{
        width:64%;
    }

    
    .sup-wrap{
        display:block;
        margin-top:30px;
    }
    
    .sup-wrap .a-sup{
        width:100%;
        border-radius:20px;
        padding:30px;
    }
    
    .sup-wrap .a-sup .a-sup-txt{
        margin-top:15px;
    }

    .sup-wrap .a-sup img{
        width:70%;
        margin:0 auto;
        display:block;
    }

    .sup-wrap .a-sup + .a-sup{
        margin-top:15px;
    }
}

@media screen and (max-width:480px){
    #support{
        padding:50px 0;
    }

    .sup-top{
        padding-bottom:40px;
    }

    .sup-check p{
        font-size:15px;
        padding:10px;
        padding-left:35px;
        margin-top:18px;
    }

    .sup-wrap .a-sup img{
        width:90%;
    }
    
    .sup-check p::before{
        width:17px;
        height:15px;
        left:15px;
        top:10px;
    }
    
    .sup-box{
        border:solid 5px #ff78a0;
        padding:30px 20px;
    }
    
    .sup-box h4{
        font-size:20px;

    }
    
    .sup-box-txt{
        font-size:15px;
    }
    
    .sup-wrap{
        margin-top:20px;
    }
    
    .sup-wrap .a-sup{
        border-radius:20px;
    }
    
    .sup-wrap .a-sup .a-sup-txt{
        font-size:15px;
        margin-top:15px;
    }
}

/* soudan */
#soudan{
    background-image:url(assets/img/soudan-back.jpg);
    background-size:cover;
    background-repeat: no-repeat;
}

.soudan-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
    position:relative;
    padding:75px 0;
}

.soudan-content::after{
    content:"";
    width:360px;
    height:516px;
    background-image:url(assets/img/soudan-img.png);
    background-size:contain;
    background-repeat: no-repeat;
    position:absolute;
    background-position:bottom left;
    left:75%;
    bottom:-1px;
    z-index:0;
}

.soudan-content .left{
    width:74%;
    position:relative;
    z-index:5;
}

.soudan-content .left .soudan-txt{
    font-size:16px;
    color:#fff;
    line-height:1.9;
    letter-spacing:0.06em;
    margin-top:10px;
}

.soudan-wrap .a-btn{
    background-size:cover;
    background-repeat: no-repeat;
    background-position:center 5%;
    width:48%;
    border-radius:11px;
    border:3px solid #fff;
    box-sizing: border-box;
    box-shadow: 5px 5px 0 rgba(255,120,160,0.8);
    padding:30px 24px;
}

.a-btn .btn-flex{
    display:flex;
    flex-direction: column;
    align-items: center;
    width:fit-content;
    margin-right:auto;
}

.soudan-wrap .a-btn.btn01{
    background-image:url(assets/img/soudan-btn01.jpg);
}

.soudan-wrap .a-btn.btn02{
    background-image:url(assets/img/soudan-btn02.jpg);
}

.soudan-wrap{
    display:flex;
    justify-content: space-between;
    margin-top:30px;
    gap:10px;
}
@media screen and (max-width: 768px){
    .soudan-wrap{
        flex-wrap: wrap;
    }
}

.a-btn p{
    font-size:16px;
    letter-spacing:0.1em;
}

.a-btn.btn01 p{
    color:#f00078;
    white-space: nowrap;
}

.a-btn.btn02 p{
    color:#00b400;
    white-space: nowrap;
}

.a-btn a{
    display:block;
    width:fit-content;
    color:#fff;
    font-size:17.6px;
    width:225px;
    border-radius:5.5px;
    padding:9px 10px;
    padding-right:40px;
    letter-spacing:-0.09em;
    margin-top:13px;
    transition:0.3s;
    position:relative;
    white-space: nowrap;
    font-weight:600;
    letter-spacing:0.01em;
}

.a-btn a::after{
    content:"";
    width:17px;
    height:17px;
    background-image:url(assets/img/btn-arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    right:10px;
}

.a-btn.btn01 a{
    background: linear-gradient(180deg, #f35078, #f08fa0);
    box-shadow:0px 3px 0 #f35078;
}

.a-btn.btn02 a{
    background: linear-gradient(180deg, #00b400, #8ce68c);
    box-shadow:0px 3px 0 #00b400;
    padding-left:40px;
}

.a-btn a:hover{
    transform: translateY(3px);
    box-shadow:0px 0px 0 transparent;
}


@media screen and (max-width:1300px){
    .soudan-content{
        padding:5.8vw 0;
    }
    
    .soudan-content::after{
        width:27.7vw;
        height:39.7vw;
    }
}
@media screen and (max-width:850px){
    .soudan-content::after{
        width:25vw;
        height:35vw;
        left: 82%;
    }
}

@media screen and (max-width:980px){

    .soudan-wrap .a-btn{
        background-position:right;
    }

    .souda-wrap{
        display:block;
    }

    .soudan-wrap .a-btn{
        width:100%;
        padding:40px 25px; 
    }
}

@media screen and (max-width:768px){

    .soudan-content{
        padding:70px 0;
    }
    
    .soudan-content::after{
        width:0;
        height:0;
    }
    
    .soudan-content .left{
        width:100%;
        position:relative;
        z-index:0;
    }
    
    .soudan-content .left .soudan-txt{
        margin-top:-21vw;
        text-shadow:0 0 5px #f0889b;
    }

    .soudan-wrap{
        margin-top:4vw;
    }
    
}

@media screen and (max-width:580px){
    .soudan-content .left .soudan-txt{
        font-size:2.8vw;
    }
}

@media screen and (max-width:480px){

    .soudan-content{
        padding:50px 0;
    }
    

    .a-btn p{
        font-size:12px;
    }


    .soudan-wrap .a-btn{
        padding:20px 15px; 
    }

    .a-btn a{
        font-size:15px;
        width:185px;
        padding:9px 6px;
        padding-right:30px;
        margin-top:8px;
    }

    .a-btn.btn02 a{
        padding-left:25px;
    }
    
    .a-btn a::after{
        width:14px;
        height:14px;
        right:8px;
    }
}
/* free */

#free{
    background-color:#fff5f5;
    padding:160px 0;
}

.free-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
}

.free-wrap{
    display:flex;
    flex-wrap:wrap;
    gap:20px 2%;
}

.a-free{
    width:32%;
}

.free-01 h2{
    max-width:327px;
}

.free-01 p{
    font-size:16px;
    line-height:1.9;
    margin-top:10px;
}

.a-free-box{
    background-color:#fff;
    border-radius:15px;
    padding:30px;
    box-sizing: border-box;
    position:relative;
}

.a-free-box::before{
    content:"";
    background-size:contain;
    width:78px;
    height:46px;
    position:absolute;
    top:-9px;
    right:-9px;
    background-repeat: no-repeat;
}

.free-02::before{
    background-image:url(assets/img/num-01.png);
}
.free-03::before{
    background-image:url(assets/img/num-02.png);
}
.free-04::before{
    background-image:url(assets/img/num-03.png);
}
.free-05::before{
    background-image:url(assets/img/num-04.png);
}
.free-06::before{
    background-image:url(assets/img/num-05.png);
}

.a-free-box::after{
    content:"";
    width:115px;
    height:146px;
    background-size:contain;
    background-repeat: no-repeat;
    position:absolute;
    bottom:30px;
    right:15px;
}

.free-02::after{
    background-image:url(assets/img/sup-01.png);
}
.free-03::after{
    background-image:url(assets/img/sup-02.png);
}
.free-04::after{
    background-image:url(assets/img/sup-03.png);
}
.free-05::after{
    background-image:url(assets/img/sup-04.png);
}
.free-06::after{
    background-image:url(assets/img/sup-05.png);
}

.a-free .a-free-title{
    font-size:20px;
    letter-spacing:0.06em;
    line-height:1.5;
    font-weight:800;
}

.a-free-txt{
    font-size:16px;
    margin-top:13px;
    line-height:1.9;
    max-width:180px;
    font-feature-settings: 'palt';
    margin-right:115px;
}

@media screen and (max-width:1300px){

.a-free-box::after{
    width:8.8vw;
    height:11.2vw;
    bottom:2.3vw;
    right:15px;
}

.a-free-txt{
    margin-right:6.8vw;
}
}

@media screen and (max-width:960px){

    #free{
        padding:70px 0;
    }


    .a-free{
        width:48%;
    }
    .a-free-box::after{
        width:115px;
        height:146px;
        bottom:30px;
        right:25px;
    }
    
    .a-free-txt{
        margin-right:120px;
    }

    .a-free .a-free-title{
        font-size:18px;
    }
    }

    @media screen and (max-width:768px){
        .a-free{
            width:100%;
            padding-top:50px;
        }

        .free-wrap{
            display:block;
        }

        .free-wrap .free-03,
        .free-wrap .free-04,
        .free-wrap .free-05,
        .free-wrap .free-06{
            margin-top:20px;
        }
        .a-free-box::after{
            width:115px;
            height:146px;
            bottom:10px;
            right:25px;
        }
        
        .a-free-txt{
            margin-right:0px;
            font-size:15px;
            max-width:1000px;
            margin-right:130px;
        }
    
        .a-free .a-free-title{
            font-size:18px;
        }

        .a-free-box::before{
            width:9.25vw;
            height:5.25vw;
            min-width:38px;
            min-height:22px;
            top:-9px;
            left:-9px;
        }
        
        .free-02::before{
            background-image:url(assets/img/sp-num-01.png);
        }
        .free-03::before{
            background-image:url(assets/img/sp-num-02.png);
        }
        .free-04::before{
            background-image:url(assets/img/sp-num-03.png);
        }
        .free-05::before{
            background-image:url(assets/img/sp-num-04.png);
        }
        .free-06::before{
            background-image:url(assets/img/sp-num-05.png);
        }

        .free-02{
            margin-top:0;
        }

        .free-01 h2{
            max-width:1000px;
        }

    }

    @media screen and (max-width:480px){

        #free{
            padding:50px 0;
        }

        .a-free{
            width:100%;
            padding-top:30px;
        }

        .a-free.free-01{
            padding-top:0;
        }
    }



/* about */

#about{
    background-image:url(assets/img/about-back.jpg);
    background-size:cover;
    background-repeat: no-repeat;
    padding:160px 0;
}

.about-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
}

.about-content h2{
    text-align: center;
    position:relative;
    padding-bottom:25px;
}

.about-content h2::after{
    content:"";
    width:50px;
    height:2px;
    background-color:#323232;
    position:absolute;
    left:50%;
    transform: translateX(-50%);
    bottom:0;
}

.about-content h2 span{
    color:#ff78a0;
}

.about-content h2 .h2-en{
    font-size:18px;
    letter-spacing:0.3em;
}

.about-content h2 .h2-jp{
    font-size:40px;
    letter-spacing:0.06em;
    line-height:1.8;
    font-weight:600;
}

.about-content h3{
    text-align: center;
    font-size:24px;
    line-height:1.625;
    letter-spacing:0.1em;
    margin-top:25px;
    font-feature-settings: 'palt';
    font-weight:500;
}

.about-txt{
    font-size:16px;
    line-height:1.9;
    text-align: center;
    letter-spacing:0.06em;
    margin-top:25px;
    font-feature-settings: 'palt';
}

@media screen and (max-width:768px){
    #about{
    padding:70px 0;
}

.about-content h2{
    padding-bottom:20px;
}

.about-content h2::after{
    width:45px;
}

.about-content h2 .h2-en{
    font-size:16px;
}

.about-content h2 .h2-jp{
    font-size:28px;
    line-height:1.45;
}

.about-content h3{
    font-size:20px;
    margin-top:20px;
}

.about-txt{
    text-align: left;
    margin-top:20px;
}
}

@media screen and (max-width:480px){
    #about{
    padding:50px 0;
}

.about-content h2{
    padding-bottom:15px;
}

.about-content h2::after{
    width:40px;
    height:1px;
}

.about-content h2 .h2-en{
    font-size:14px;
}

.about-content h2 .h2-jp{
    font-size:24px;
    line-height:1.7;
}

.about-content h3{
    font-size:18px;
    margin-top:17px;
}

.about-txt{
    font-size:15px;
}
}

/* tenshoku */

#tenshoku{
    padding:160px 0;
}

.tenshoku-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
}

.tenshoku-content h2{
    text-align: center;
    position:relative;
    padding-bottom:8px;
}

.tenshoku-content h2::after{
    content:"";
    width:50px;
    height:2px;
    background-color:#323232;
    position:absolute;
    left:50%;
    transform: translateX(-50%);
    bottom:0;
}

.tenshoku-content h2 span{
    color:#1e5096;
}

.tenshoku-content h2 .h2-en{
    font-size:16px;
    letter-spacing:0.3em;
}

.tenshoku-content h2 .h2-jp{
    font-size:40px;
    letter-spacing:0.06em;
    line-height:1.8;
    font-weight:600;
}

.tenshoku-content h3{
    text-align: center;
    font-size:24px;
    line-height:1.625;
    letter-spacing:0.1em;
    margin-top:40px;
    font-feature-settings: 'palt';
    font-weight:500;
}

.tenshoku-content .listwrap{
    display: flex;
    align-items: center;
    margin-top: 25px;
}
.tenshoku-content .listwrap .left{
    display: block;
    max-width: 430px;
    width: 100%;
}
.tenshoku-content .listwrap .right{
    display: flex;
}
.tenshoku-content .listwrap .right .item{}
.tenshoku-content .attention{
    text-align: center;
    font-size: 12px;
    line-height: calc(22 / 12);
}
.tenshoku-content .txt{
    display: block;
    font-size: 50px;
    font-weight: 600;
    margin-top: 50px;
    text-align: center;
}
.tenshoku-content .txt .blue{
    font-size: 52px;
    color: #1e5096;
}
.tenshoku-content .percent{
    display: block;
    margin-top: 60px;
}
@media screen and (max-width:768px){
    #tenshoku{
    padding:70px 0;
}

.tenshoku-content h2{
    padding-bottom:20px;
}

.tenshoku-content h2::after{
    width:45px;
}

.tenshoku-content h2 .h2-en{
    font-size:16px;
}

.tenshoku-content h2 .h2-jp{
    font-size:28px;
    line-height:1.45;
}

.tenshoku-content h3{
    font-size:20px;
    margin-top:30px;
}

.tenshoku-txt{
    text-align: left;
    margin-top:20px;
}

.tenshoku-content .txt{
    margin-top: 30px;
    font-size: 30px;
}

.tenshoku-content .percent{
    margin-top: 30px;
}

.tenshoku-content .txt .blue{
    font-size: 30px;
}

.tenshoku-content .attention{
    line-height: 1.5;
}

.tenshoku-content .listwrap{
    flex-wrap: wrap;
    justify-content: center;
}
.tenshoku-content .listwrap .left{
    width: 90%;
    max-width: initial;
}

.tenshoku-content .listwrap{
    margin-top: 30px;
}

}

@media screen and (max-width:480px){
    #tenshoku{
    padding:50px 0;
}

.tenshoku-content h2{
    padding-bottom:15px;
}

.tenshoku-content h2::after{
    width:40px;
    height:1px;
}

.tenshoku-content h2 .h2-en{
    font-size:14px;
}

.tenshoku-content h2 .h2-jp{
    font-size:24px;
    line-height:1.7;
}

.tenshoku-content h3{
    font-size:18px;
    margin-top: 20px;
}

.tenshoku-txt{
    font-size:15px;
}
.tenshoku-content .listwrap{
    margin-top: 20px;
}
.tenshoku-content .txt{
    margin-top: 20px;
    font-size: 20px;
}
.tenshoku-content .txt .blue{
    font-size: 22px;
}

.tenshoku-content .percent{
    margin-top: 20px;
}
}


/* information */

#information{
    background-color:#ff78a0;
    padding:40px 0;
}

.info-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
}

.info-content .info-flex{
    display:flex;
    justify-content: space-between;
    align-self: center;
}

.info-content .info-flex .a-info{
    background-color:#fff;
    width:49%;
}

.info-content .info-flex .a-info{
    display:flex;
    border-radius:20px;
    padding:20px;
    align-items: center;
}

.info-content .info-flex .a-info .a-info-icon{
    width:23.4%;
}

.info-content .info-flex .a-info .a-info-txt{
    width:76.6%;
    padding-left:20px;
    font-size:16px;
    line-height:1.625;
    font-feature-settings: 'palt';
}


.info-content .info-flex .a-info .a-info-icon.icon01{
    width:86px;
}

.info-content .info-flex .a-info .a-info-icon.icon02{
    width:95px;
}

@media screen and (max-width:768px){


.info-content .info-flex{
    display:block;
}

.info-content .info-flex .a-info{
    width:100%;
}

.info-content .info-flex .a-info + .a-info{
    margin-top:15px;
}

.info-content .info-flex .a-info{
    border-radius:10px;
}

.info-content .info-flex .a-info .a-info-txt{
    font-size:15px;
}


.info-content .info-flex .a-info .a-info-icon.icon01{
    width:77.4px;
}

.info-content .info-flex .a-info .a-info-icon.icon02{
    width:85.5px;
}
}

@media screen and (max-width:768px){


    .info-content .info-flex{
        display:block;
    }
    
    .info-content .info-flex .a-info{
        width:100%;
    }
    
    .info-content .info-flex .a-info + .a-info{
        margin-top:15px;
    }
    
    .info-content .info-flex .a-info{
        border-radius:10px;
    }
    
    .info-content .info-flex .a-info .a-info-txt{
        font-size:15px;
    }
    
    
    .info-content .info-flex .a-info .a-info-icon.icon01{
        width:77.4px;
    }
    
    .info-content .info-flex .a-info .a-info-icon.icon02{
        width:85.5px;
    }
    }

    @media screen and (max-width:480px){

        .info-content .info-flex .a-info + .a-info{
            margin-top:10px;
        }
        
        .info-content .info-flex .a-info{
            border-radius:10px;
            padding:15px;
        }
        
        .info-content .info-flex .a-info .a-info-txt{
            font-size:14px;
            padding-left:15px;
        }
        
    
        .info-content .info-flex .a-info .a-info-icon.icon01{
            width:70px;
        }
        
        .info-content .info-flex .a-info .a-info-icon.icon02{
            width:77px;
        }
    }
/* footer */

footer{
    padding-top:80px;
    padding-bottom:60px;
}

.footer-content{
    max-width:1080px;
    width:90%;
    margin:0 auto;
    display:flex;
    align-items: end;
    justify-content: space-between;
    flex-wrap:wrap;
    gap:20px;
}

.footer-nav,
.nav-flex{
    display:flex;
}

.footer-nav li a{
    font-size:16px;
    letter-spacing:0.06em;
    line-height:0.9;
    white-space: nowrap;
}

.footer-nav li{
    position:relative;
    border-left:1px solid rgba(50,50,50,0.5);
}

.footer-nav li{
    padding:0 15px;
}

.footer-nav li.li01{
    padding-left:0;
    border-left:none;
}

.copyright{
    font-size:12px;
    letter-spacing:0.06em;
    color:#323232;
}

@media screen and (max-width:768px){
    footer{
        padding-top:70px;
        padding-bottom:50px;
    }
    
    .footer-nav li a{
        font-size:15px;
    }

    .footer-nav li{
        padding:0 10px;
    }
    
}

@media screen and (max-width:680px){
    footer{
        padding:30px 0;
    }

    
    .footer-nav{
        display:block;
    }

    .footer-nav li.li04{
        padding-left:0;
        border-left:none;
    }

    .footer-nav .nav-flex + .nav-flex{
        margin-top:10px;
    }

    .footer-content{
        display:block;
    }

    .footer-right{
        margin-top:20px;
    }
}

/* アンケート */
.question-group {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    position:relative;
  }
  
  .question-group.active {
    opacity: 1;
    z-index:1;
  }

  .question-group.active::before{
    content:"";
    width:100%;
    height:100%;
    position: absolute;
    animation:white 0.5s ease;
    z-index:-1;
  }

  @keyframes white{
    0%{
        background-color:#fff;
        z-index:2;
    }

    100%{
        background-color:transparent;
        z-index:-1;
    }
  }


  button[data-answer] {
    background-color: #fff; /* デフォルトの色 */
    border: none;
    color: #323232;
    cursor: pointer;
    padding: 40px 15px;
    width:32%;
    text-align: center;
    transition: 0.3s;
    border-radius:10px;
    font-size:20px;
    font-family: "Noto Sans JP", serif;
    font-weight:600;
    letter-spacing:0.06em;
    display:block;
  }

  button[data-answer] span{
    background-color: transparent;
    transition:0.3s;
  }
  
  button[data-answer]:hover {
    background-color: #ff78a0; /* ホバー時の色 */
    color: #fff;
  }

  button[data-answer]:hover span{
    color: #fff;
  }

  button[data-answer].selected,
  button[data-answer].selected span{
    background-color: #ff78a0; /* 選択時の背景色 */
    color: #fff; /* 選択時の文字色 */
  }

  .btn-wrap{
    display:flex;
    gap:20px 2%;
    flex-wrap: wrap;
  }

  .btn-wrap.ni{
    max-width:715px;
    margin:0 auto;
  }

  .btn-wrap.ni button[data-answer] {
    width:49%;
  }
  
  @media screen and (max-width:768px){
    button[data-answer] {
        padding: 25px 5px;
        font-size:18px;
      }
    
      .btn-wrap{
        gap:10px 2%;
      }

      .btn-wrap.ni-tb{
        max-width:715px;
        margin:0 auto;
      }
    
      .btn-wrap.ni-tb button[data-answer] {
        width:49%;
      }
      
  }

  @media screen and (max-width:480px){
    button[data-answer] {
        padding: 15px 5px;
        font-size:16px;
      }
    
      .btn-wrap{
        gap:7px 2%;
      }

      .btn-wrap01 button[data-answer]{
        width:100%;
      }

      .btn-wrap.ni-sp{
        max-width:715px;
        margin:0 auto;
      }
    
      .btn-wrap.ni-sp button[data-answer] {
        width:49%;
      }
  }


  .q-title{
    font-size:30px;
    font-family: "Noto Sans JP", serif;
    font-weight:600;
    text-align: center;
    letter-spacing:0.06em;
    margin:40px 0;
    line-height:1.4;
  }

  .a-q.first .q-title{
    margin-top:20px;
  }


  .a-q + .a-q{
    margin-top:80px;
  }

  @media screen and (max-width:768px){

      .q-title{
        font-size:24px;
        margin:35px 0;
      }
    
      .a-q.first .q-title{
        margin-top:15px;
      }
    
    
      .a-q + .a-q{
        margin-top:50px;
      }
  }

  @media screen and (max-width:480px){

    .q-title{
      font-size:18px;
      margin:30px 0;
    }
  
    .a-q.first .q-title{
      margin-top:12px;
    }
  
  
    .a-q + .a-q{
      margin-top:40px;
    }
}


  /* 質問のフェード切り替え */
.question-group {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.question-group.active {
    display: block;
    opacity: 1;
}


/* #question{
    background-color:#fff5f5;
    padding:120px 0;
} */

.q-content{
    width:90%;
    margin:0 auto;
}

.step-num{
    max-width:63px;
    margin:0 auto;
}

.q-content .notion p{
    text-align: center;
    font-size:16px;
    letter-spacing:0.06em;
    line-height:1.625;
}

.q-content .notion{
    margin-top:40px;
}

@media screen and (max-width:768px){
    /* #question{
        padding:70px 0;
    } */
    
    .step-num{
        max-width:55px;
    }
    
    .q-content .notion p{
        font-size:15px;
    }
    
    .q-content .notion{
        margin-top:35px;
    }
}

@media screen and (max-width:480px){
    /* #question{
        padding:50px 0;
    } */
    
    .step-num{
        max-width:45px;
    }
    
    .q-content .notion p{
        font-size:14px;
    }
    
    .q-content .notion{
        margin-top:30px;
    }
}

.next-btn{
    color: #fff;
    padding: 18px 35px;
    padding-right: 60px;
    font-size: 18px;
    letter-spacing: 0.06em;
    border:none;
    background-color:#b4b4b4;
    border-radius:100px;
    margin:0 auto;
    margin-top:40px;
    position:relative;
    border:4px solid #b4b4b4;
    white-space: nowrap;
    font-weight:600;
}

.next-btn::before{
    content:"";
    background-image:url(assets/img/btn-arrow.png);
    width:27px;
    height:27px;
    background-size:contain;
    background-repeat: no-repeat;
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    right:15px;
}

.next-btn.completed {
    z-index: 5;
    border-image-slice: 1;
    background:linear-gradient(90deg,#f35078, #f08fa0) border-box border-box;
    cursor: pointer;
    border:4px solid transparent;
}


.next-btn.completed::after{
    content:"";
    width:calc(100% + 4px);
    height:calc(100% + 4px);
    background:linear-gradient(90deg,#f08fa0, #f35078) border-box border-box;
    position:absolute;
    left:-2px;
    top:-2px;
    z-index:-1;
    border-radius: 100px;;
}


#navigation button{
    display:block;
    width:fit-content;
}

/* #question.completed{
    position:relative;
}

#question.completed::after{
    content:"";
    width:100%;
    height:100%;
    mix-blend-mode: multiply;
    background-color:#a0a0a0;
    position:absolute;
    top:0;
    left:0;
    z-index:2;
} */

#navigation.flex{
    display:flex;
    align-items: center;
    width:715px;
    margin:0 auto;
    margin-top:40px;
    gap:154px;
}

#navigation.flex .next-btn{
    margin:0;
}

#prev{
    border:none;
    font-family: "Noto Sans JP", serif;
    font-weight:600;
    border-bottom:1px solid rgba(50,50,50,0.5);
    line-height:1;
    padding-bottom:5px;
    background:none;
    height:fit-content;
    padding-left:25px;
    position:relative;
    cursor: pointer;
    white-space:nowrap;
}

#prev::before{
    content:"";
    width:15px;
    height:15px;
    background-image:url(assets/img/back-btn.png);
    background-size:contain;
    background-repeat: no-repeat;
    position:absolute;
    top:0;
    left:0;
}

@media screen and (max-width:768px){
    #next{
        scale:0.9;
        transform-origin:center;
    }

    .next-btn{
        margin-top:30px;
    }

    #navigation.flex{
        width:100%;
        margin-top:30px;
        gap:14%;
    }
}

@media screen and (max-width:480px){
    #next{
        scale:0.8;
    }

    .next-btn{
        margin-top:20px;
    }

    #navigation.flex{
        flex-direction: column-reverse;
    }

    #prev{
        margin-top:10px;
    }
}

#year {
    -webkit-appearance: none; /* Safari/Chrome */
    -moz-appearance: none;    /* Firefox */
    appearance: none;         /* 他のブラウザ */
    background-color:#fff !important;

  }


  .textbox{
    display:flex;
    align-items: top;
    max-width:713px;
    margin:0 auto;
  }

  .textbox p,
  .textbox input,
  .texbox select{
    height:80px;
    font-family: "Noto Sans JP", serif;
    font-size:18px;
    letter-spacing:0.06em;
  }

  .texbox select{
    background-color:#fff;
  }

  .textbox p{
    display:block;
    width:23%;
    min-width:165px;
    background-color:#ffaab4;
    color:#fff;
    font-size:20px;
    letter-spacing:0.06em;
    box-sizing: border-box;
    padding:30px 40px;
    border-radius:10px 0 0 10px;
    padding-right:0;
    font-weight:600;
  }

  .textbox.long p{
    width:30%;
  }

  .textbox input,
  #year{
    width:77%;
    border:none;
    border-radius:0 10px 10px 0;
    font-size:18px;
    letter-spacing:0.06em;
    padding-left:20px;
    font-weight:400;
  }

  .textbox input::placeholder{
    color: #969696;
  }
  .textbox.long input{
    width:70%;
  }

  @media screen and (max-width:768px){

      .textbox p,
      .textbox input,
      .texbox select{
        height:70px;
        font-size:16px;
      }
    
      .textbox p{
        min-width:150px;
        font-size:18px;
        padding:25px 30px;
      }
    
      .textbox.long p{
        min-width:195px;
      }
    
      .textbox input,
      #year{
        font-size:16px;
        padding-left:15px;
      }
}

@media screen and (max-width:480px){

    .textbox p,
    .textbox input,
    .texbox select{
      height:50px;
    }
  
    .textbox p{
      min-width:100px;
      font-size:15px;
      padding:16px;
    }
  
    .textbox.long p{
      min-width:145px;
    }
  
    .textbox input,
    #year{
      padding-left:10px;
    }

      /* 初期状態でグレーの色に対応 */
  #year.placeholder,
  input::placeholder{
    font-size:12px;
  }

}


  /* 初期状態でグレーの色に対応 */
  #year.placeholder {
    color: #969696; /* 初期値のフォント色 */
  }


  .textbox + .textbox{
    margin-top:40px;
  }

  .postal-btn button{
    border:none;
    font-family: "Noto Sans JP", serif;
    font-weight:600;
    background-color:#fff;
    border:1px solid #ff78a0;
    border-radius:10px;
    font-size:20px;
    letter-spacing:0.06em;
    padding:19px 37px;
    padding-right:78px;
    position:relative;
    margin:0 auto;
    width:fit-content;
    display:block;
    margin-top:40px;
    cursor:pointer;
}

.postal-btn button::after{
    content:'';
    width:19px;
    height:19px;
    background-image:url(assets/img/postal-btn.png);
    background-size:contain;
    background-repeat: no-repeat;
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    right:20px;
}

.postalselect {
    /* display: none; */
  }

  .postal-flex{
    display:flex;
    gap:2%;
    max-width:713px;
    margin:0 auto;
    justify-content: center;
  }

#pref,
#city{
    width:48%;
    background-color:#fff;
    -webkit-appearance: none; /* Safari/Chrome */
    -moz-appearance: none;    /* Firefox */
    appearance: none;         /* 他のブラウザ */
    height:80px;
    font-family: "Noto Sans JP", serif;
    font-size:18px;
    padding:0 20px;
    border:none;
    border-radius:10px;
    border:1px solid #333;
    margin-top: 0px;
    padding: 20px;
    text-align: center;
}

@media screen and (max-width:768px){
      .textbox + .textbox{
        margin-top:35px;
      }
    
      .postal-btn button{
        font-size:18px;
        padding:15px 30px;
        padding-right:60px;
        margin-top:30px;
    }
    
    .postal-btn button::after{
        width:15px;
        height:15px;
        right:15px;
    }
    #pref,
    #city{
        height:70px;
        margin-top:35px;
        font-size:16px;
    }
}

@media screen and (max-width:480px){
    .textbox + .textbox{
      margin-top:30px;
    }
  
    .postal-btn button{
        font-size:15px;
        padding:15px 20px;
        padding-right:40px;
        margin-top:20px;
    }
  
    .postal-btn button::after{
        width:13px;
        height:13px;
        right:15px;
    }

  #pref,
  #city{
      height:50px;
      margin-top:20px;
      font-size:15px;
  }
}


.sagasu-btn,
.soudan-btn{
    font-family: "Noto Sans JP", serif;
    font-weight:600;
    font-size:24px;
    width:332px;
    border-radius:100px;
    border:none;
    padding:20px 0;
    padding-right:46px;
    position:relative;
    color:#fff;
    cursor: pointer;
    transition:0.3s;
    font-feature-settings: 'palt';
}

.sagasu-btn::after,
.soudan-btn::after{
    content:"";
    width:31px;
    height:31px;
    background-image:url(assets/img/btn-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    right:20px;
}

.sagasu-btn{
    background:linear-gradient(180deg, #5b86e5,#36d1dc );
    box-shadow: 0 5px 0 #5b86e5;
}

.soudan-btn{
    background:linear-gradient(180deg, #f35078,#f08fa0 );
    box-shadow: 0 5px 0 #f35078;
}

.sagasu-btn:hover,
.soudan-btn:hover{
    transform: translateY(5px);
    box-shadow: 0 0px 0 transparent;
}

.finish-btn{
    max-width:683px;
    margin:0 auto;
    display:flex;
    justify-content: space-between;
    margin-top:40px;
}

.finish-btn button{
    display:block;
}

.policy{
    margin-top:60px;
}

.policy p{
    text-align: center;
    font-family: "Noto Sans JP", serif;
    font-size:16px;
    letter-spacing:0.06em;
	line-height: 1.5;
}

.policy a{
    text-decoration:underline;
}

@media screen and (max-width:768px){
    .sagasu-btn,
    .soudan-btn{
        scale:0.9;
}

.finish-btn{
    margin-top:35px;
    display:block;
}

.finish-btn button{
    margin:0 auto;
}

.finish-btn button + button{
    margin-top:10px;
}

.policy{
    margin-top:50px;
}

.policy p{
    font-size:15px;
}
}

@media screen and (max-width:480px){
    .sagasu-btn,
    .soudan-btn{
        scale:0.75;
}

.finish-btn{
    margin-top:30px;
}

.finish-btn button + button{
    margin-top:-3px;
}



.policy{
    margin-top:35px;
}

.policy p{
    font-size:14px;
}
}

/* お問い合わせページ */
.g-main{
    width: 90%;
margin: 0 auto;
}
.c-page-hl{
    font-size: 34px;
    font-weight: bold;
    line-height: 1.9;
    padding-left: 37px;
    position: relative;
    margin-bottom: 40px;
    margin-top: 100px;
}
@media screen and (max-width: 768px){
    .c-page-hl {
        padding-left: 20px;
        font-size: 20px;
        margin-bottom: 20px;
    }
    
    .c-page-hl:after {
        height: 100%;
        border-radius: 4px;
    }
    
    .c-page-hl._1 {
        padding-left: 20px;
        font-size: 20px;
    }
    
    .c-page-hl._1:after {
        height: 28px;
        width: 7px;
    }
}

.c-page-hl:after{
    content: "";
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 8px;
border-radius: 8px;
background: -webkit-gradient(linear, left top, left bottom, from(#FF78A0), to(#E31E7B));
background: -o-linear-gradient(#FF78A0, #E31E7B);
background: linear-gradient(#FF78A0, #E31E7B);
}
@media screen and (max-width: 768px){
    .c-page-hl:after {
        height: 100%;
        border-radius: 4px;
    }
}
.l-inner{
    max-width: 1200px;
margin-left: auto;
margin-right: auto;
padding-left: 8px;
padding-right: 8px;
}
.l-inner:after{
    content: " ";
    display: block;
    clear: both;
}
.c-bread{
    padding: 25px 0 38px;
}
#contact_form {
    padding: 10px 0 80px;
}

#contact_form .form_box {
    border-radius: 6px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    padding: 40px;
    -webkit-box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.2);
}

#contact_form .form_box .text1 {
    margin-bottom: 30px;
}

#contact_form .form_box .text2 {
    padding-top: 28px;
    margin-bottom: 32px;
    text-align: center;
}

#contact_form .form_box .text2 a {
    color: #ff78a0;
    text-decoration: underline;
}

#contact_form .form_box dl {
    margin-bottom: 23px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and (max-width: 768px){
    #contact_form {
        padding: 20px 10px 58px;
    }

    #contact_form .form_box {
        padding: 20px;
    }

    #contact_form .form_box .text1 {
        margin-bottom: 2px;
    }

    #contact_form .form_box .text2 {
        padding-top: 15px;
        margin-bottom: 15px;
        font-size: 14px;
    }

    #contact_form .form_box dl {
        margin-bottom: 7px;
    }

    #contact_form .form_box dl dt {
        margin-bottom: 10px;
    }

    #contact_form .form_box dl dt .any {
        top: 10px;
        right: 0;
        width: 40px;
        font-size: 11px;
    }

    #contact_form .form_box textarea {
        height: 239px;
    }

    #contact_form .form_box .submit .back {
        width: 92px;
        line-height: 44px;
    }
}
@media screen and (min-width: 768px){
    #contact_form .form_box dl{
        padding: 0 50px;
        display: table;
        table-layout: fixed;
    }
}

#contact_form .form_box dl dt {
    font-weight: 800;
    color: #ff78a0;
    font-size: 16px;
    position: relative;
    padding-top: 10px;
}
@media screen and (min-width: 768px){
    #contact_form .form_box dl dt {
        display: table-cell;
    vertical-align: top;
    width: 29%;
    }
}


#contact_form .form_box dl dt .any {
    position: absolute;
    right: 15px;
    top: 8px;
    padding: 2px 0 3px;
    width: 62px;
    text-align: center;
    color: #B0BEC5;
    font-weight: 300;
    border: 1px solid #B0BEC5;
    border-radius: 40px;
}

#contact_form .form_box dl dt .any.required {
    color: #FF1744;
    border-color: #FF1744;
}

#contact_form .form_box dl dd {
    overflow: hidden;
}
@media screen and (min-width: 768px){
    #contact_form .form_box dl dd {
        display: table-cell;
        width: 71%;
    }
}

#contact_form .form_box dl dd .name_box {
    float: left;
    overflow: hidden;
    width: 45%;
}

#contact_form .form_box dl dd .name_box + .name_box {
    float: right;
}

#contact_form .form_box dl dd .name_box .name {
    text-align: center;
    font-size: 16px;
    float: left;
    width: 10%;
    padding-top: 10px;
}

#contact_form .form_box dl dd .year_box {
    float: left;
    width: 38%;
    margin-right: 3%;
}

#contact_form .form_box dl dd .month_box {
    float: left;
    width: 28%;
    margin-right: 3%;
}

#contact_form .form_box dl dd .day_box {
    float: left;
    width: 28%;
}

#contact_form .form_box dl dd .name_box input[type="text"] {
    float: right;
    width: 84%;
}

#contact_form .form_box dl dd .name_box .wpcf7-not-valid-tip {
    clear: both;
}

#contact_form .form_box dl dd .select_box {
    position: relative;
}

#contact_form .form_box dl dd .select_box select {
    background: #fff;
}

#contact_form .form_box dl dd .select_box select::-ms-expand {
    display: none;
}

#contact_form .form_box dl dd .select_box .hide {
    line-height: 1;
    font-size: 16px;
    position: absolute;
    top: 10px;
    z-index: 5;
    color: #E0E0E0;
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    pointer-events: none;
    border-radius: 5px;
    padding: 5px 18px;
    margin: 1px;
}

#contact_form .form_box dl dd .select_box:after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    right: 12px;
    top: 18px;
    z-index: 5;
    background: url(assets/img/page/arr01.png) no-repeat center center;
    background-size: 100%;
}

#contact_form .form_box input[type="text"],
#contact_form .form_box input[type="email"],
#contact_form .form_box .submit input,
#contact_form .form_box select,
#contact_form .form_box textarea {
    font-family: "Futura", "Noto Sans JP", "メイリオ", Meiryo, sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    font-size: 16px;
    -webkit-appearance: button;
    -moz-appearance: none;
    appearance: none;
    border-radius: 5px;
    border: 1px solid #E0E0E0;
    padding: 10px 18px;
}

#contact_form .form_box input[readonly] {
    border-color: transparent;
}

#contact_form .form_box textarea {
    resize: none;
    height: 200px;
}

#contact_form .form_box :placeholder-shown {
    color: #E0E0E0;
}

#contact_form .form_box ::-webkit-input-placeholder {
    color: #E0E0E0;
}

#contact_form .form_box :-moz-placeholder {
    color: #E0E0E0;
    opacity: 1;
}

#contact_form .form_box ::-moz-placeholder {
    color: #E0E0E0;
    opacity: 1;
}

#contact_form .form_box :-ms-input-placeholder {
    color: #E0E0E0;
}

#contact_form .form_box .submit {
    text-align: center;
}

#contact_form .form_box .submit .back {
    display: inline-block;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 16px;
    line-height: 55px;
    width: 128px;
    vertical-align: bottom;
}

#contact_form .form_box .submit input {
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
    max-width: 320px;
    cursor: pointer;
    border: none;
    font-weight: 800;
    padding: 14px 15px;
    font-size: 20px;
}
@media screen and (max-width: 768px){
    #contact_form .form_box .submit input {
        padding: 10px 15px;
        font-size: 16px;
        max-width: 220px;
    }
}

#contact_form .form_box .submit input:not(.confirm) {
    background: #FFA000;
    border-bottom: 4px solid #C67100;
    color: #fff;
}

#contact_form .form_box .submit input.confirm {
    padding-top: 8px;
    padding-bottom: 8px;
    border: 3px solid;
    color: inherit;
}

#contact_form .form_box .submit input:hover {
    text-decoration: none;
    opacity: 0.7;
}

#contact_form._confirm .name_box p:first-child {
    color: rgba(34, 34, 34, 0.5);
}