@charset "utf-8";
/* CSS Document */


/* header
   ================================================================== */
header{
	border-top: 5vw solid #e95672;
}

header .bg{
	background: url("../images/kv/bg_sp.webp") no-repeat center center;
    background-size: cover;
    overflow: hidden;
}

header .kv .inner{
	padding: 7vw 3vw 10vw;
    position: relative;
}

header .item{
	position: absolute;
    bottom: -7vw;
    left: -3vw;
    width: 57%;
    transform: rotate(5deg);
}

header .inbox{
	position: relative;
    z-index: 1;
}

header h1{
    font-size: 7.7vw;
    font-weight: bold;
    color: #fd3e86;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝","Noto Serif JP";
	text-align: right;
    text-shadow:
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73);
}

header h1 span{
    display: inline-block;
    transform: translateX(2vw);
    color: inherit;
    font-family: inherit;
}

header .sub{
    margin: 6vw 0 0;
    text-align: right;
}

header .sub > span{
    display: inline-block;
    vertical-align: baseline;
    line-height: 150%;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝","Noto Serif JP";
    text-shadow:
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73),
        0 0 2px rgba(255,255,255,.73);
}

header .sub .siz_ss{
    font-size: 4.2vw;
}

header .sub .siz_s{
    font-size: 4.8vw;
}

header .sub .siz_m{
    font-size: 5.5vw;
}

header .sub .siz_l{
    font-size: 5.8vw;
}

header .sub .siz_xl{
    font-size: 6.5vw;
    line-height: 100%;
    color: #fd3e86;
    background: linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,0) 60%,#fff782 60%,#fff782 100%);
}

header .circles{
    margin: 8vw 0 0;
    display: flex;
    justify-content: center;
}

header .circles li{
    width: 31vw;
    height: 31vw;
    box-sizing: border-box;
    background: url("../images/kv/circle.webp") no-repeat center center;
    background-size: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 5vw;
    line-height: 150%;
    text-align: center;
    color: #fd3e86;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝","Noto Serif JP";
}

header .circles li:nth-child(2){
    margin: 0 2vw;
}


/* kv_bottom
   ================================================================== */
.kv_bottom{
    background: #e95672;
}

.kv_bottom .inner{
	padding: 4vw 3vw 12vw;
    position: relative;
    display: flex;
}

.kv_bottom .text_box{
    padding: 6vw 0 0;
	width: 73%;
    box-sizing: border-box;
}

.kv_bottom h2{
	display: flex;
    align-items: center;
}

.kv_bottom h2 .text{
	font-size: 5vw;
    line-height: 150%;
    color: #fff;
}

.kv_bottom p,
.kv_bottom h2 .text{
	text-shadow: 0 2px 0 #aa2658;
    letter-spacing: 0;
}

.kv_bottom h2 .icon{
    margin-left: 3vw;
	width: 11vw;
    line-height: 0;
}

.kv_bottom p{
    margin: 3vw 0 0 -2vw;
	font-size: 4.2vw;
    line-height: 150%;
    color: #fff;
    font-weight: bold;
}

.kv_bottom .book{
	width: 27%;
}


/* footer
   ================================================================== */
footer{
    padding: 8vw 0 12vw;
	background: #e95672;
    position: relative;
    z-index: 5;
}

footer .nav li{
    text-align: center;
}

footer .nav li + li{
    margin: 3vw 0 0;
}

footer .nav li a{
    font-size: 3.8vw;
    color: #fff;
    display: inline-block;
}

footer address{
    margin: 6vw 0 0;
    font-size: 3.5vw;
    color: #fff;
    text-align: center;
}


/* diagonal
   ================================================================== */
.diagonal{
    margin: 0 auto;
    width: 150%;
    background: #fff;
    transform: rotate(-3deg) translateX(-15vw);
    overflow: hidden;
    position: relative;
}

.diagonal .inner{
    margin: 0;
    padding: 10vw 3vw 20vw;
    width: 67%;
    box-sizing: border-box;
    transform: rotate(3deg) translateX(15vw);
    position: relative;
    z-index: 1;
}

.mat_minus{
    margin-top: -8vw !important;
}

.mab_minus{
    margin-bottom: -8vw !important;
}

.zinx_over{
    position: relative;
    z-index: 10;
}


/* cv
   ================================================================== */
.cv{
    margin: 0 auto;
    width: 150%;
    background: #eba6ba;
    transform: rotate(-3deg) translateX(-15vw);
    overflow: hidden;
}

.cv::after{
    content: "";
    width: 100%;
    height: 120%;
    background: url("../images/cv/bg.webp") repeat-x 72% bottom;
    background-size: 190%;
    position: absolute;
    bottom: -10vw;
    left: 0;
}

.cv .inner{
    margin: 0;
    padding: 10vw 3vw 20vw;
    width: 67%;
    box-sizing: border-box;
    transform: rotate(3deg) translateX(15vw);
    position: relative;
    z-index: 1;
}

.cv.last .inner{
    padding-bottom: 20vw;
}

.cv .cv_main{
    margin: 8vw 0 0;
}
    
.cv.last .cv_main{
    margin: 0 0 0;
}

.cv .cv_main h2{
    text-align: center;
}

.cv .cv_main h2 > span{
    display: inline-block;
    vertical-align: baseline;
    line-height: 200%;
    color: #fff;
}

.cv .cv_main h2 .siz_s{
    font-size: 4.8vw;
}

.cv .cv_main h2 .siz_m{
    font-size: 5.5vw;
}

.cv .cv_main h2 .siz_l{
    font-size: 6.8vw;
}

.cv .cv_main h2 .mercari{
    margin: 0 4vw 0 0;
}

.mercari{
    padding: 1vw 3vw;
    font-size: 6.8vw;
    color: #fff !important;
    line-height: 1 !important;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
    background: #ff0211 !important;
    position: relative;
    border-radius: 6px;
}

.mercari::after{
    content: "";
    width: 7vw;
    height: 7vw;
    background: #4dc9ff;
    position: absolute;
    top: -3.5vw;
    right: -3.5vw;
    border-radius: 100px;
}

.cv .cv_main h2 + p{
    margin: 4vw 0 0;
    font-size: 4.2vw;
    text-align: center;
    line-height: 150%;
    color: #fff;
    font-weight: bold;
}

.cv .cv_main .btn_area{
    margin: 3vw 0 0;
}

.cv .cv_main .btn_area .posi_box{
    height: 42vw;
    position: relative;
}

.cv .cv_main .btn_area .book{
    position: absolute;
    width: 31vw;
    top: 0;
    left: 5%;
}

.cv .cv_main .btn_area .present{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 3.5vw;
    font-weight: bold;
    color: #fff;
    line-height: 120%;
    position: absolute;
    top: 0;
    left: 40%;
    width: 20vw;
    height: 20vw;
    background: #ec3983;
    border-radius: 100px;
}

.cv .cv_main .btn_area .woman{
    position: absolute;
    width: 51%;
    bottom: -18vw;
    right: 0;
}

.cv .cv_main .btn_area .btn{
    text-align: center;
    line-height: 0;
    position: relative;
    z-index: 1;
}

.cv .cv_main .btn_area .btn a{
    display: inline-block;
    line-height: 0;
}


/* cv_top step
   ================================================================== */
.cv_top.step h2{
    text-align: center;
}

.cv_top.step h2 > span{
    display: block;
    vertical-align: baseline;
    line-height: 150%;
    color: #fff;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝","Noto Serif JP";
}

.cv_top.step h2 .siz_s{
    font-size: 5.5vw;
}

.cv_top.step h2 .siz_l{
    margin: 4vw 0 0;
    font-size: 8vw;
    line-height: 1;
    display: inline-block;
    background: linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,0) 70%,#ec3983 70%,#ec3983 100%);
}

.cv_top.step ul{
    margin: 7vw 0 0;
    display: flex;
}

.cv_top.step ul li{
    padding: 4vw 0;
    border: 2px solid #ec3983;
    background: #fff;
    text-align: center;
    box-sizing: border-box;
    width: 32%;
    border-radius: 10px;
}

.cv_top.step ul li:nth-child(2){
    margin: 0 2%;
}

.cv_top.step ul li h3{
    font-size: 6vw;
    font-weight: normal;
    color: #ec3983;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝","Noto Serif JP";
}

.cv_top.step ul li p{
    margin: 3vw 0 0;
    font-size: 3.2vw;
    font-weight: 500;
    letter-spacing: 0;
    color: #ec3983;
}


/* cv_top only
   ================================================================== */
.cv_top.only h2{
    text-align: center;
}

.cv_top.only h2 > span{
    display: block;
    vertical-align: baseline;
    line-height: 150%;
    color: #fff;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝","Noto Serif JP";
}

.cv_top.only h2 .icon{
    margin: 0 auto;
    width: 25%;
    line-height: 0;
}

.cv_top.only h2 .siz_l{
    margin: 4vw 0 0;
    font-size: 8vw;
    line-height: 1;
    display: inline-block;
    background: linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,0) 70%,#ec3983 70%,#ec3983 100%);
}

.cv_top.only ul{
    margin: 7vw 0 0;
}

.cv_top.only ul li{
    padding: 4vw 1vw 4vw 3vw;
    min-height: 25vw;
    border: 2px solid #ec3983;
    background: #fff;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border-radius: 10px;
}

.cv_top.only ul li:nth-child(2){
    margin: 4vw 0;
}

.cv_top.only ul li h3{
    font-size: 4.5vw;
    width: 45%;
    line-height: 150%;
    letter-spacing: 0;
    color: #39b2a3;
}

.cv_top.only ul li p{
    margin: 0 0 0;
    width: 55%;
    font-size: 3.7vw;
    line-height: 150%;
    font-weight: bold;
    letter-spacing: 0;
}

.cv_top.only ul li p .green{
    color: #39b2a3;
}


/* block_title
   ================================================================== */
.block_title{
    text-align: center;
}

.block_title > span{
    display: inline-block;
    vertical-align: baseline;
    line-height: 100%;
    color: #fd3e86;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝","Noto Serif JP";
    font-size: 5.5vw;
    background: linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,0) 70%,#fff782 70%,#fff782 100%);
    white-space: nowrap;
}

.block_title > br + span{
    margin: 2vw 0 0;
}


/* worries
   ================================================================== */
.worries{
    background: #fff;
}

.worries .inner{
    padding-bottom: 25vw;
    position: relative;
}

.worries .inner::after{
    content: "";
    width: 140vw;
    height: 100vw;
    background: url("../images/worries_photo.webp") no-repeat center center;
    background-size: 100%;
    position: absolute;
    bottom: -15vw;
    left: 0;
}

.worries .inbox{
    position: relative;
    z-index: 1;
}

.worries ul{
    margin: 8vw 0 0;
}

.worries ul li + li{
    margin: 3vw 0 0;
}

.worries ul li p{
    padding-left: 7vw;
    font-size: 4.2vw;
    line-height: 150%;
    font-weight: bold;
    position: relative;
    text-shadow: 0 0 5px #fff,0 0 5px #fff;
}

.worries ul li p::before{
    content: "";
    background: url("../images/common/check-circle-solid.svg") no-repeat center center,#fff;
    width: 5vw;
    height: 5vw;
    border-radius: 100%;
    position: absolute;
    top: 0.8vw;
    left: 0;
}


/* solution
   ================================================================== */
.solution{
    background: #f0e7e5;
}

.solution .inner{
    padding-bottom: 0;
    position: relative;
}

.solution .inbox{
    position: relative;
    z-index: 1;
}

.solution ul{
    margin: 8vw 1vw 0;
    font-size: 0;
}

.solution ul + ul{
    margin-top: 0;
}

.solution ul li{
    margin: 5vw 0 0;
    padding: 4vw 3vw;
    border: 1px solid #e97ba7;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 3px #e97ba7;
    text-align: center;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width: 48%;
}

.solution ul li:nth-child(2n+2){
    margin-left: 4%;
}

.solution ul li .photo{
    text-align: center;
}

.solution ul li .text{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 15vw;
}

.solution ul li .text p{
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0;
}

.solution .item{
    margin: 5vw 5vw -2vw 10vw;
}


/* reason
   ================================================================== */
.reason{
    background: #fff;
    position: relative;
}
    
.reason::after{
    content: "";
    width: 100%;
    height: 100%;
    background: url("../images/reason/bg_sp.webp") no-repeat center top;
    background-size: 100% auto;
    position: absolute;
    bottom: -17vw;
    left: 0;
    transform: rotate(3deg);
}

.reason .inner{
    padding-bottom: 15vw;
    position: relative;
}

.reason .inbox{
    position: relative;
    z-index: 1;
}

.reason .block_title + p{
    margin: 4vw 0 0;
    text-align: center;
    font-weight: bold;
}

.reason .graph_box{
    margin: 9vw 0 0;
}

.reason .graph_box .box{
    margin: 6vw 0 0;
    padding: 6vw .5vw;
    background: #ebecee;
}

.reason .graph_box .box p{
    margin: 4vw auto 0;
    text-align: center;
    font-weight: bold;
}

.reason .graph_box .box p .siz_l{
    font-size: 4.2vw;
}

.reason .get{
    margin: 8vw auto 0;
}

.reason .get .block_title span{
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.reason .get .text_box{
    margin: 8vw 0 0;
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.reason .get .text_box .photo{
    position: absolute;
    top: -5vw;
    right: 30%;
    width: 90vw;
}

.reason .get .text_box p{
    font-weight: bold;
    position: relative;
    z-index: 1;
}

.reason .get .text_box p .siz_l{
    font-size: 4.2vw;
}


/* ng
   ================================================================== */
.ng{
    padding: 15vw 0 19vw;
    position: relative;
    z-index: 3;
}
    
.ng::after{
    content: "";
    width: 100%;
    height: 100%;
    background: url("../images/ng/bg_sp.webp") no-repeat center bottom;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 0;
}

.ng .bg{
    
}

.ng .inner{
    padding: 0 3vw;
    position: relative;
    z-index: 1;
}

.ng .top_box{
    margin: 0;
}

.ng .top_icon{
    margin: 0 auto;
    width: 20vw;
    line-height: 0;
}

.ng .top_box h2{
    margin: 6vw auto 0;
    font-size: 6vw;
    line-height: 150%;
    color: #273143;
    text-align: center;
    text-shadow:
        0 0 2px rgba(255,255,255,.73),
        0 0 8px rgba(255,255,255,.73),
        0 0 8px rgba(255,255,255,.73),
        0 0 8px rgba(255,255,255,.73);
}

.ng .top_box h2 .underline{
    color: inherit;
    line-height: 1;
    display: inline-block;
    background: linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,0) 70%,#fcff00 70%,#fcff00 100%);
}

.ng .bottom_box{
    margin: 2vw 0 0;
    display: flex;
}

.ng .bottom_box ul{
    margin: 4vw 0 0;
    width: 50%;
    position: relative;
    z-index: 1;
}

.ng .bottom_box ul li{
    margin: 3vw 0 0;
    padding: 1vw 0 1vw 3vw;
    min-height: 14vw;
    background: #fff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.ng .bottom_box ul li p{
    padding-left: 9vw;
    font-size: 4.5vw;
    color: #273143;
    line-height: 130%;
    letter-spacing: 0;
    font-weight: bold;
    position: relative;
}

.ng .bottom_box ul li p::before{
    content: "";
    background: url("../images/ng/batsu_icon.webp") no-repeat center center;
    background-size: 100%;
    width: 6vw;
    height: 6.5vw;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.ng .bottom_box .photo{
    margin: 0 -2% 0 6%;
    width: 46%;
}


/* merit
   ================================================================== */
.merit{
    margin: -19vw 0 0;
    position: relative;
    z-index: 1;
    background: url("../images/merit/bg_sp.webp") no-repeat center center,#fff;
    background-size: cover;
}

.merit .inner{
    padding: 25vw 3vw 0;
}

.merit .top_box{
    padding: 5vw 2vw;
    background: url("../images/merit/item_sp.webp") no-repeat 98% bottom,#f0e7e5;
    background-size: auto 98%;
}

.merit .top_box p{
    font-size: 4.7vw;
    line-height: 150%;
    font-weight: bold;
}

.merit .block_title{
    margin: 9vw 0 0;
    font-size: 5.6vw;
}

.merit .block_title span{
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    display: inline-block;
}

.merit .block_title .blcak{
    margin-left: 3vw;
    color: #606060;
    background: none;
}

.merit_list{
    margin: 6vw 0 0;
    font-size: 0;
    position: relative;
    z-index: 1;
}

.merit_list li{
    margin: 3vw 0 0;
    padding: 4vw 0;
    background: rgba(255,255,255,.8);
    border: 2px solid #e97ba7;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width: 48%;
    text-align: center;
    border-radius: 8px;
}

.merit_list li:nth-child(2n+2){
    margin-left: 4%;
}

.merit_list li h3{
    font-size: 6vw;
    line-height: 1;
    color: #fd3e86;
}

.merit_list li p{
    margin: 2vw 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 15vw;
    font-size: 4vw;
    line-height: 130%;
    font-weight: bold;
}

.merit > .photo{
    margin: -5vw 0 0 -16vw;
    width: 120%;
}


/* voice
   ================================================================== */
.voice{
    background: #f58c97;
}

.voice .block_title span{
    font-size: 8vw;
    font-weight: normal;
    color: #fff;
    background: linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,0) 70%,#f57480 70%,#f57480 100%);
    text-shadow: 0 0 5px #d7525e,0 0 10px #d7525e;
}

.voice_list{
    margin: 20vw 0 0;
}

.voice_list li{
    margin: 0 0 0;
    padding: 12vw 5vw;
    position: relative;
    background: #fff;
    border-radius: 10px;
}

.voice_list li + li{
    margin: 15vw 0 0;
}

.voice_list li h3{
    margin: auto;
    padding: 2vw 0 0;
    position: absolute;
    left: 0;
    right: 0;
    top: -10vw;
    width: 20vw;
    height: 20vw;
    background: #39b2a3;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 100%;
    box-sizing: border-box;
}

.voice_list li h3 .inbox span{
    display: block;
    font-size: 4vw;
    font-weight: bold;
    color: #fff;
    line-height: 130%;
}

.voice_list .top_box{
    display: flex;
    align-items: center;
}

.voice_list .top_box .photo{
    width: 40%;
}

.voice_list .top_box .user_box{
    padding: 0 0 0 4vw;
    width: 60%;
    box-sizing: border-box;
}

.voice_list .top_box .user_box h4{
    font-size: 4.5vw;
    line-height: 130%;
}

.voice_list .top_box .user_box .name{
    margin: 2vw 0 0;
    font-size: 3.8vw;
    font-weight: bold;
}

.voice_list .bottom_box{
    margin: 4vw -1vw 0;
}

.voice_list .bottom_box p{
    font-size: 3.7vw;
    line-height: 150%;
    font-weight: bold;
}


/* fit
   ================================================================== */
.fit{
    background: url("../images/fit/bg_sp.webp") no-repeat center top,#fff;
    background-size: 100% auto;
}

.fit .inner{
    padding-top: 15vw;
    padding-bottom: 9vw;
}

.fit .block_title span{
    color: #606060;
    background: none;
}

.fit .block_title .pink{
    color: #ec3983;
    font-size: 5.8vw;
    font-family: inherit;
}

.fit .top_text{
    margin: 6vw 0 0;
    text-align: center;
}

.fit .top_text p{
    font-size: 4.5vw;
    font-weight: bold;
}

.fit .top_text p + p{
    margin-top: 3vw;
}

.fit .bg_box{
    margin: 8vw 0 0;
    padding: 12vw 5vw 25vw;
    background: url("../images/fit/item_sp.webp") no-repeat 98% bottom,url("../images/fit/box_bg.webp") repeat 0 0;
    background-size: 60%,20%;
}

.fit .bg_box .top_box{
    text-align: center;
}

.fit .bg_box .top_box h3{
    font-size: 6vw;
    color: #242f41;
}

.fit .bg_box .top_box .photo{
    margin: 4vw auto 0;
    width: 90%;
}

.fit .bg_box .top_box p{
    margin: 6vw auto 0;
    font-size: 5vw;
    font-weight: bold;
}

.fit .bg_box .bottom_box{
    margin: 6vw auto 0;
    text-align: center;
}

.fit .bg_box .bottom_box h4{
    font-size: 3.8vw;
    font-weight: bold;
    color: #242f41;
}

.fit .bg_box .bottom_box .photo{
    margin: 4vw -1vw 0;
}

.fit .bg_box .bottom_box .text_box{
    margin: 4vw auto 0;
    text-align: left;
}

.fit .bg_box .bottom_box .text_box .siz_l{
    font-size: 5vw;
    font-weight: bold;
    color: #242f41;
}

.fit .bg_box .bottom_box .text_box .pink{
    margin: 6vw 0 0;
    font-size: 4.5vw;
    font-weight: bold;
}


/* faq
   ================================================================== */
.faq{
    background: #fdedf6;
}

.faq .block_title span {
    font-size: 8vw;
}

.oc_list{
	margin: 7vw 0 0;
}

.oc_list > dl{
	margin: 4vw 0 0;
}

.oc_list > dl:first-child{
	margin: 0 0 0;
}

.oc_list > dl dt{
	padding: 6vw 3vw;
	padding-right: 10vw;
	background: #fd3e86;
	position: relative;
}

.oc_list > dl dt::after{
	content: "";
	background: url("../images/common/chevron-down-regular.svg") no-repeat center center;
	background-size: 100%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	right: 3vw;
	top: 0;
    bottom: 0;
    margin: auto;
    transition: .3s;
}

.oc_list > dl dt.active::after{
	transform: rotate(-180deg) !important;
}

.oc_list > dl dt > span{
	padding-left: 11vw;
	font-size: 4vw;
	line-height: 150%;
	font-weight: bold;
	color: #fff;
	position: relative;
    display: block;
}

.oc_list > dl dt > span::before{
	content: "Q";
	font-size: 8vw;
	line-height: 100%;
	font-weight: bold;
	color: #fff;
    position: absolute;
    top: -.5vw;
    left: 0;
}

.oc_list > dl dd{
	padding: 3vw 3vw;
	font-size: 3.5vw;
	line-height: 170%;
    font-weight: 500;
	letter-spacing: 0.03em;
	background: #fdedf6;
	display: none;
    border: 1px solid #fd3e86;
    border-top: none;
}

.oc_list > dl dd a{
	font-size: inherit;
}


@media screen and (min-width : 500px){


    /* header
       ================================================================== */
    header{
    	border-top: 5vw solid #e95672;
    }
    
    header .bg{
    	background: url("../images/kv/bg.webp") no-repeat center center;
        background-size: cover;
    }
    
    header .kv .inner{
    	padding: 2vw 3vw 1vw;
    }
    
    header .item{
        bottom: -14vw;
        left: -3vw;
        width: 45%;
        transform: rotate(0);
    }
    
    header h1{
        font-size: 8vw;
        letter-spacing: 0;
    }

    header h1 span{
        transform: translateX(3vw);
    }
    
    header .sub{
        margin: 1vw 0 0;
    }
    
    header .sub .siz_ss{
        font-size: 4.2vw;
    }
    
    header .sub .siz_s{
        font-size: 4.5vw;
    }
    
    header .sub .siz_m{
        font-size: 5.2vw;
    }
    
    header .sub .siz_l{
        font-size: 5.5vw;
    }
    
    header .sub .siz_xl{
        font-size: 6.2vw;
    }
    
    header .circles{
        margin: 2vw 0 0 auto;
        width: 70%;
    }
    
    header .circles li{
        width: 22vw;
        height: 22vw;
        font-size: 3vw;
    }
    
    header .circles li:nth-child(2){
        margin: 0 2vw;
    }


    /* kv_bottom
       ================================================================== */
    .kv_bottom .inner{
    	padding: 4vw 4vw 10vw;
    }
    
    .kv_bottom .text_box{
        padding: 5vw 0 0;
    	width: 78%;
    }
    
    .kv_bottom h2 .text{
    	font-size: 4.7vw;
    }
    
    .kv_bottom h2 .icon{
        margin-left: 4vw;
    	width: 9vw;
    }
    
    .kv_bottom p{
        margin: 3vw 0 0 -2vw;
    	font-size: 4.2vw;
    }
    
    .kv_bottom .book{
    	width: 22%;
    }


    /* footer
       ================================================================== */
    footer{
        padding: 6vw 0;
    }
    
    footer .nav li + li{
        margin: 1vw 0 0;
    }
    
    footer .nav li a{
        font-size: 1.8vw;
    }
    
    footer .nav li a:hover{
        text-decoration: underline;
    }
    
    footer address{
        margin: 3vw 0 0;
        font-size: 1.5vw;
    }


    /* diagonal
       ================================================================== */
    .diagonal{
        margin: 0 auto;
        width: 150%;
        transform: rotate(-2deg) translateX(-15vw);
    }
    
    .diagonal .inner{
        margin: 0;
        padding: 6vw 2vw 10vw;
        width: 67%;
        transform: rotate(2deg) translateX(15vw);
    }

    .mat_minus{
        margin-top: -4.5vw !important;
    }
    
    .mab_minus{
        margin-bottom: -4.5vw !important;
    }


    /* cv
       ================================================================== */
    .cv{
        margin: 0 auto;
        width: 150%;
        transform: rotate(-2deg) translateX(-15vw);
    }
    
    .cv::after{
        background: url("../images/cv/bg.webp") repeat-x center bottom;
        background-size: 180vw;
        bottom: -10vw;
    }
    
    .cv .inner{
        margin: 0;
        padding: 6vw 2vw 10vw;
        width: 67%;
        transform: rotate(2deg) translateX(15vw);
    }

    .cv.last .inner{
        padding-bottom: 15vw;
    }
    
    .cv .cv_main{
        margin: 5vw 0 0;
    }
    
    .cv .cv_main h2 > span{
        line-height: 200%;
    }
    
    .cv .cv_main h2 + p,
    .cv .cv_main h2 .siz_l,
    .cv .cv_main h2 .siz_m,
    .cv .cv_main h2 .siz_s{
        font-size: 2.8vw;
    }
    
    .cv .cv_main h2 .mercari{
        margin: 0 2vw 0 0;
    }
    
    .mercari{
        padding: .8vw 2vw .5vw;
        font-size: 2.8vw;
    }
    
    .mercari::after{
        width: 3.6vw;
        height: 3.6vw;
        top: -1.8vw;
        right: -1.8vw;
    }
    
    .cv .cv_main h2 + p{
        margin: 3vw 0 0;
    }
    
    .cv .cv_main .btn_area{
        margin: 3vw 0 0;
    }
    
    .cv .cv_main .btn_area .posi_box{
        height: 30vw;
    }
    
    .cv .cv_main .btn_area .book{
        width: 20vw;
        top: 3vw;
        left: 21%;
    }
    
    .cv .cv_main .btn_area .present{
        font-size: 2vw;
        line-height: 150%;
        top: 4vw;
        left: 44%;
        width: 13vw;
        height: 13vw;
    }
    
    .cv .cv_main .btn_area .woman{
        position: absolute;
        width: 36%;
        bottom: -10vw;
        right: 10%;
    }
    
    .cv .cv_main .btn_area .btn{
        text-align: center;
        line-height: 0;
        position: relative;
        z-index: 1;
    }
    
    .cv .cv_main .btn_area .btn a{
        background: url("../images/cv/btn_bg.webp") no-repeat center center;
        background-size: 100%;
    }
    
    .cv .cv_main .btn_area .btn a img{
        transition: .3s;
    }
    
    .cv .cv_main .btn_area .btn a:hover img{
        opacity: .6;
    }


    /* cv_top step
       ================================================================== */
    .cv_top.step h2 .siz_s{
        font-size: 3.5vw;
    }
    
    .cv_top.step h2 .siz_l{
        margin: 2vw 0 0;
        font-size: 6vw;
    }
    
    .cv_top.step ul{
        margin: 6vw 2vw 0;
    }
    
    .cv_top.step ul li{
        padding: 3vw 0;
        border: 4px solid #ec3983;
        width: 32%;
    }
    
    .cv_top.step ul li:nth-child(2){
        margin: 0 2%;
    }
    
    .cv_top.step ul li h3{
        font-size: 6vw;
    }
    
    .cv_top.step ul li p{
        margin: 3vw 0 0;
        font-size: 3.2vw;
    }


    /* cv_top only
       ================================================================== */
    .cv_top.only h2{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .cv_top.only h2 > span{
        display: inline-block;
        vertical-align: middle;
    }
    
    .cv_top.only h2 .icon{
        margin: 0;
        width: 12%;
    }
    
    .cv_top.only h2 .siz_l{
        margin: 1vw 0 0 3vw;
        font-size: 5vw;
    }
    
    .cv_top.only ul{
        margin: 7vw 0 0;
        display: flex;
    }
    
    .cv_top.only ul li{
        padding: 4vw 1vw;
        width: 31%;
        min-height: 35vw;
        border: 4px solid #ec3983;
        display: block;
        text-align: center;
    }
    
    .cv_top.only ul li:nth-child(2){
        margin: 0 3.5%;
    }
    
    .cv_top.only ul li h3{
        font-size: 3.5vw;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 10vw;
    }
    
    .cv_top.only ul li p{
        margin: 1vw 0 0;
        width: 100%;
        font-size: 2.5vw;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 15vw;
    }


    /* block_title
       ================================================================== */
    .block_title > span{
        font-size: 5vw;
    }
    
    .block_title > br + span{
        margin: 1vw 0 0;
    }


    /* worries
       ================================================================== */
    .worries{
        background: url("../images/worries_bg.webp") no-repeat center 5%,#fff;
        background-size: cover;
    }
    
    .worries .inner{
        padding-top: 10vw;
        padding-bottom: 25vw;
        position: relative;
    }
    
    .worries .inner::after{
        content: "";
        width: 140vw;
        height: 100vw;
        background: url("../images/worries_photo.webp") no-repeat center center;
        background-size: 100%;
        position: absolute;
        bottom: -15vw;
        left: 0;
    }
    
    .worries .inbox{
        position: relative;
        z-index: 1;
    }
    
    .worries ul{
        margin: 7vw 0 0 5vw;
    }
    
    .worries ul li + li{
        margin: 2vw 0 0;
    }
    
    .worries ul li p{
        padding-left: 4vw;
        font-size: 3vw;
    }
    
    .worries ul li p::before{
        width: 3vw;
        height: 3vw;
        top: 0.8vw;
    }


    /* solution
       ================================================================== */
    .solution .inner{
        padding-bottom: 8vw;
    }
    
    .solution ul{
        margin: 3vw 2vw 0;
    }
    
    .solution ul + ul{
        margin-top: 0;
        width: 50%;
    }
    
    .solution ul li{
        margin: 3vw 0 0;
        padding: 2vw 2vw;
        box-shadow: 0 4px #e97ba7;
        width: 21.5vw;
    }
    
    .solution ul li,
    .solution ul li:nth-child(2n+2){
        margin-left: 2.1vw;
    }
    
    .solution ul.all li:first-child{
        margin-left: 0;
    }
    
    .solution ul.half li:nth-child(2n+1){
        margin-left: 0;
    }
    
    .solution ul li .text{
        height: 8vw;
    }
    
    .solution ul li .text p{
        font-size: 1.8vw;
    }
    
    .solution .item{
        margin: 0;
        width: 60%;
        position: absolute;
        right: -4vw;
        bottom: 0;
    }


    /* reason
       ================================================================== */
    .reason::after{
        height: 106%;
        background: url("../images/reason/bg.webp") no-repeat center top;
        background-size: cover;
        bottom: -10vw;
        transform: rotate(2deg);
    }
    
    .reason .inner{
        padding-bottom: 10vw;
    }
        
    .reason .inbox{
        position: relative;
        z-index: 1;
    }
    
    .reason .block_title + p{
        margin: 4vw 0 0;
        font-size: 2.5vw;
    }
    
    .reason .graph_box{
        margin: 6vw 0 0;
        padding: 6vw 3vw;
        background: #ebecee;
    }
    
    .reason .graph_box .box{
        margin: 0 0 0;
        padding: 0;
    }
    
    .reason .graph_box .graph01{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .reason .graph_box .graph01 .photo{
        width: 45vw;
    }
    
    .reason .graph_box .box p{
        margin: 0 auto 0;
        text-align: left;
        font-size: 2vw;
    }

    .reason .graph_box .box p .siz_l{
        font-size: 2.2vw;
    }
    
    .reason .graph_box .comparison{
        margin: 6vw 0 0;
        display: flex;
        justify-content: center;
    }
    
    .reason .get{
        margin: 5vw auto 0;
    }

    .reason .get .block_title span{
        font-size: 4.2vw;
    }
    
    .reason .get .text_box{
        margin: 5vw 0 0;
    }
    
    .reason .get .text_box .photo{
        top: -7vw;
        right: 40%;
        width: 60vw;
    }
    
    .reason .get .text_box p{
        font-size: 2.5vw;
    }

    .reason .get .text_box p .siz_l{
        font-size: 3vw;
    }


    /* ng
       ================================================================== */
    .ng{
        padding: 10vw 2vw 23vw;
    }
    
    .ng::after{
        background: url("../images/ng/bg.webp") no-repeat center bottom;
        background-size: auto 100%;
    }
    
    .ng .inner{
        padding: 0;
    }
    
    .ng .top_box{
        margin: 0;
        width: 78%;
    }
    
    .ng .top_icon{
        width: 10vw;
    }
    
    .ng .top_box h2{
        margin: 3vw auto 0;
        font-size: 3.5vw;
    }
    
    .ng .bottom_box{
        margin: 5vw 0 0;
        position: relative;
    }
    
    .ng .bottom_box ul{
        margin: 0 0 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    
    .ng .bottom_box ul li{
        margin: 0 0 0;
        padding: 1vw 0 1vw 2vw;
        min-height: 5vw;
        width: 31%;
    }
    
    .ng .bottom_box ul li p{
        padding-left: 7vw;
        font-size: 2.5vw;
    }
    
    .ng .bottom_box ul li p::before{
        width: 4vw;
        height: 4.3vw;
    }
    
    .ng .bottom_box .photo{
        margin: 0;
        width: 23%;
        position: absolute;
        right: 4%;
        bottom: 100%;
    }
    
    
    /* merit
       ================================================================== */
    .merit{
        margin: -23vw 0 0;
        background: url("../images/merit/bg.webp") no-repeat center center,#fff;
        background-size: cover;
        position: relative;
    }
    
    .merit .inner{
        padding: 25vw 2vw 15vw;
    }
    
    .merit .top_box{
        padding: 4vw 3vw;
        background: url("../images/merit/item.webp") no-repeat 93% bottom,#f0e7e5;
        background-size: auto 98%;
    }
    
    .merit .top_box p{
        font-size: 3.2vw;
    }
    
    .merit .block_title{
        margin: 7vw 0 0;
        font-size: inherit;
    }
    
    .merit .block_title span{
        font-size: 3.6vw;
    }
    
    .merit .block_title .blcak{
        margin-left: 2vw;
    }

    .merit .block_title > br + span {
        margin: 2vw 0 0;
    }
    
    .merit_list{
        margin: 3vw 0 0;
        text-align: center;
    }
    
    .merit_list li{
        margin: 2vw 0 0;
        padding: 2vw 0;
        background: rgba(255,255,255,.8);
        border: 3px solid #e97ba7;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
        width: 26%;
        text-align: center;
        border-radius: 8px;
    }
    
    .merit_list li:nth-child(2n+2){
        margin-left: 0;
    }
    
    .merit_list li:nth-child(3n+2){
        margin-left: 4%;
        margin-right: 4%;
    }
    
    .merit_list li h3{
        font-size: 5vw;
    }
    
    .merit_list li p{
        margin: 1vw 0 0;
        height: 10vw;
        font-size: 2.7vw;
    }
    
    .merit > .photo{
        margin: 0;
        width: 60%;
        position: absolute;
        left: -15vw;
        bottom: 0;
    }


    /* voice
       ================================================================== */
    .voice .block_title span{
        font-size: 5vw;
    }
    
    .voice_list{
        margin: 10vw 0 0;
    }
    
    .voice_list li{
        padding: 8vw 4vw;
    }
    
    .voice_list li + li{
        margin: 8vw 0 0;
    }
    
    .voice_list li h3{
        padding: .6vw 0 0;
        top: -3vw;
        width: 20vw;
        height: 6vw;
        border-radius: 50px;
    }
    
    .voice_list li h3 .inbox span{
        display: inline-block;
        font-size: 3vw;
    }
    
    .voice_list li h3 .inbox span:last-child{
        margin-left: 8px;
    }
    
    .voice_list .show_box{
        padding-left: 40%;
        position: relative;
    }
    
    .voice_list .top_box{
        display: flex;
        align-items: center;
    }
    
    .voice_list .top_box .photo{
        width: 35%;
        position: absolute;
        top: 0;
        left: 0;
    }
    
    .voice_list .top_box .user_box{
        padding: 0 0 0;
        width: 100%;
    }
    
    .voice_list .top_box .user_box h4{
        font-size: 2.8vw;
        line-height: 130%;
        letter-spacing: 0.02em;
    }
    
    .voice_list .top_box .user_box .name{
        margin: 2vw 0 0;
        font-size: 2.5vw;
        text-align: right;
    }
    
    .voice_list .bottom_box{
        margin: 4vw 0 0;
    }
    
    .voice_list .bottom_box p{
        font-size: 1.9vw;
    }


    /* fit
       ================================================================== */
    .fitr{
        background: url("../images/fit/bg.webp") no-repeat center top,#fff;
        background-size: 100% auto;
    }
    
    .fit .inner{
        padding-top: 10vw;
        padding-bottom: 9vw;
    }
    
    .fit .block_title .pink{
        font-size: 5.3vw;
    }
    
    .fit .top_text{
        margin: 5vw 0 0;
    }
    
    .fit .top_text p{
        font-size: 2.8vw;
    }

    .fit .top_text p + p{
        margin-top: 2vw;
    }
    
    .fit .bg_box{
        margin: 6vw 0 0;
        padding: 8vw 5vw 10vw;
        background: url("../images/fit/item.webp") no-repeat 98% bottom,url("../images/fit/box_bg.webp") repeat 0 0;;
        background-size: 41%,15%;
    }
    
    .fit .bg_box .top_box h3{
        font-size: 4vw;
    }
    
    .fit .bg_box .top_box .photo{
        margin: 2vw auto 0;
        width: 50%;
    }
    
    .fit .bg_box .top_box p{
        margin: 4vw auto 0;
        font-size: 3.8vw;
    }
    
    .fit .bg_box .bottom_box{
        margin: 5vw 0 0;
        width: 60%;
    }
    
    .fit .bg_box .bottom_box h4{
        font-size: 2.6vw;
    }
    
    .fit .bg_box .bottom_box .photo{
        margin: 2vw 0 0;
    }
    
    .fit .bg_box .bottom_box .text_box{
        margin: 1vw auto 0;
        text-align: center;
    }
    
    .fit .bg_box .bottom_box .text_box .siz_l{
        font-size: 3.7vw;
    }
    
    .fit .bg_box .bottom_box .text_box .pink{
        margin: 1vw 0 0;
        font-size: 2.2vw;
    }


    /* faq
       ================================================================== */
    .faq .block_title span {
        font-size: 5vw;
    }

    .oc_list{
    	margin: 5vw 0 0;
    }
    
    .oc_list > dl{
    	margin: 2vw 0 0;
    }
    
    .oc_list > dl dt{
    	padding: 3vw 3vw;
    	padding-right: 8vw;
        cursor: pointer;
    }
    
    .oc_list > dl dt::after{
    	width: 3vw;
    	height: 3vw;
    	right: 3vw;
    }
    
    .oc_list > dl dt > span{
    	padding-left: 6vw;
    	font-size: 2.5vw;
    }
    
    .oc_list > dl dt > span::before{
    	font-size: 4.5vw;
        top: -.7vw;
    }
    
    .oc_list > dl dd{
    	padding: 3vw;
    	font-size: 2.2vw;
    }

    
}
@media screen and (min-width : 1110px){    


    /* header
       ================================================================== */
    header{
    	border-top: 58px solid #e95672;
    }
    
    header .bg{
    	background: url("../images/kv/bg.webp") no-repeat center center;
        background-size: cover;
    }
    
    header .kv .inner{
    	padding: 45px 0 20px;
    }
    
    header .item{
        bottom: -168px;
        left: -55px;
        width: auto;
        transform: rotate(0);
    }
    
    header h1{
        font-size: 98px;
        line-height: 1;
        letter-spacing: -1px;
    }

    header h1 span{
        transform: translateX(45px);
    }
    
    header .sub{
        margin: 35px 0 0;
    }
    
    header .sub .siz_ss{
        font-size: 46px;
    }
    
    header .sub .siz_s{
        font-size: 54px;
    }
    
    header .sub .siz_m{
        font-size: 62px;
    }
    
    header .sub .siz_l{
        font-size: 67px;
    }
    
    header .sub .siz_xl{
        font-size: 74px;
    }
    
    header .circles{
        margin: 20px 0 0 auto;
        width: 72%;
    }
    
    header .circles li{
        width: 232px;
        height: 232px;
        font-size: 38px;
    }
    
    header .circles li:nth-child(2){
        margin: 0 20px;
    }


    /* kv_bottom
       ================================================================== */
    .kv_bottom .inner{
    	padding: 25px 0 100px;
        justify-content: center;
    }
    
    .kv_bottom .text_box{
        margin-right: 50px;
        padding: 35px 0 0;
    	width: 70%;
    }
    
    .kv_bottom h2 .text{
    	font-size: 54px;
    }
    
    .kv_bottom h2 .icon{
        margin-left: 35px;
    	width: 91px;
    }
    
    .kv_bottom p{
        margin: 20px 0 0 -20px;
    	font-size: 48px;
    }
    
    .kv_bottom .book{
    	width: 178px;
    }


    /* footer
       ================================================================== */
    footer{
        padding: 65px 0;
    }
    
    footer .nav li + li{
        margin: 25px 0 0;
    }
    
    footer .nav li a{
        font-size: 19px;
    }
    
    footer address{
        margin: 30px 0 0;
        font-size: 12px;
    }


    /* diagonal
       ================================================================== */
    .diagonal{
        margin: 0 auto;
        width: 200%;
        transform: rotate(-2deg) translateX(-25%);
    }
    
    .diagonal .inner{
        margin: auto;
        padding: 90px 0 120px;
        width: 1091px;
        transform: rotate(2deg) translateX(0);
    }

    .mat_minus{
        margin-top: -60px !important;
    }
    
    .mab_minus{
        margin-bottom: -60px !important;
    }


    /* cv
       ================================================================== */
    .cv{
        margin: 0 auto;
        width: 200%;
        transform: rotate(-2deg) translateX(-25%);
    }
    
    .cv::after{
        background: url("../images/cv/bg.webp") repeat-x center bottom;
        background-size: auto;
        bottom: -75px;
    }
    
    .cv.last::after{
        bottom: -20px;
    }
    
    .cv .inner{
        margin: auto;
        padding: 90px 0 120px;
        width: 1091px;
        transform: rotate(2deg) translateX(0);
    }

    .cv.last .inner{
        padding-bottom: 220px;
    }
    
    .cv .cv_main{
        margin: 45px 0 0;
    }
    
    .cv .cv_main h2 > span{
        line-height: 150%;
    }
    
    .cv .cv_main h2 + p,
    .cv .cv_main h2 .siz_l,
    .cv .cv_main h2 .siz_m,
    .cv .cv_main h2 .siz_s{
        font-size: 35px;
    }
    
    .cv .cv_main h2 .mercari{
        margin: 0 20px 0 0;
    }
    
    .mercari{
        padding: 8px 20px 5px;
        font-size: 40px;
        letter-spacing: 0;
    }
    
    .mercari::after{
        width: 32px;
        height: 32px;
        top: -16px;
        right: -16px;
    }
    
    .cv .cv_main h2 + p{
        margin: 40px 0 0;
    }
    
    .cv .cv_main .btn_area{
        margin: 15px 0 0;
    }
    
    .cv .cv_main .btn_area .posi_box{
        height: 340px;
    }
    
    .cv .cv_main .btn_area .book{
        width: 227px;
        top: 40px;
        left: 23%;
    }
    
    .cv .cv_main .btn_area .present{
        font-size: 25px;
        line-height: 140%;
        top: 42px;
        left: 48%;
        width: 140px;
        height: 140px;
    }
    
    .cv .cv_main .btn_area .woman{
        width: 359px;
        bottom: -80px;
        right: 10%;
    }


    /* cv_top step
       ================================================================== */
    .cv_top.step h2 .siz_s{
        font-size: 50px;
    }
    
    .cv_top.step h2 .siz_l{
        margin: 15px 0 0;
        font-size: 65px;
    }
    
    .cv_top.step ul{
        margin: 65px 30px 0;
        justify-content: center;
    }
    
    .cv_top.step ul li{
        padding: 25px 0 60px;
        border: 4px solid #ec3983;
        width: 30%;
    }
    
    .cv_top.step ul li:nth-child(2){
        margin: 0 3%;
    }
    
    .cv_top.step ul li h3{
        font-size: 58px;
    }
    
    .cv_top.step ul li p{
        margin: 40px 0 0;
        font-size: 34px;
        line-height: 43px;
    }


    /* cv_top only
       ================================================================== */
    .cv_top.only h2 .icon{
        width: 120px;
    }
    
    .cv_top.only h2 .siz_l{
        margin: 10px 0 0 30px;
        font-size: 51px;
    }
    
    .cv_top.only ul{
        margin: 40px 0 0;
    }
    
    .cv_top.only ul li{
        padding: 34px 10px;
        width: 31%;
        min-height: 335px;
    }
    
    .cv_top.only ul li:nth-child(2){
        margin: 0 3.5%;
    }
    
    .cv_top.only ul li h3{
        font-size: 37px;
        line-height: 130%;
        height: 89px;
    }
    
    .cv_top.only ul li p{
        margin: 10px 0 0;
        font-size: 30px;
        line-height: 40px;
        height: 160px;
    }


    /* block_title
       ================================================================== */
    .block_title > span{
        font-size: 51px;
    }
    
    .block_title > br + span{
        margin: 10px 0 0;
    }


    /* worries
       ================================================================== */
    .worries{
        background: url("../images/worries_bg.webp") no-repeat center 5%,#fff;
        background-size: cover;
    }
    
    .worries .inner{
        padding-top: 140px;
        padding-bottom: 150px;
        position: relative;
    }
    
    .worries .inner::after{
        width: 1362px;
        height: 1000px;
        background: url("../images/worries_photo.webp") no-repeat center center;
        background-size: 100%;
        position: absolute;
        bottom: -50px;
        left: 140px;
    }
    
    .worries .inbox{
        position: relative;
        z-index: 1;
    }
    
    .worries ul{
        margin: 70px 0 0 90px;
    }
    
    .worries ul li + li{
        margin: 40px 0 0;
    }
    
    .worries ul li p{
        padding-left: 50px;
        font-size: 37px;
    }
    
    .worries ul li p::before{
        width: 39px;
        height: 39px;
        top: 7px;
    }


    /* solution
       ================================================================== */
    .solution .inner{
        padding-bottom: 125px;
    }
    
    .solution ul{
        margin: 35px 0 0;
    }
    
    .solution ul + ul{
        margin-top: 0;
        width: 50%;
    }
    
    .solution ul li{
        margin: 30px 0 0;
        padding: 20px 25px 25px;
        box-shadow: 0 5px #e97ba7;
        width: 242px;
    }
    
    .solution ul li,
    .solution ul li:nth-child(2n+2){
        margin-left: 41px;
    }
    
    .solution ul.all li:first-child{
        margin-left: 0;
    }
    
    .solution ul.half li:nth-child(2n+1){
        margin-left: 0;
    }
    
    .solution ul li .photo{
        margin: 0 10px;
    }
    
    .solution ul li .text{
        height: 80px;
    }
    
    .solution ul li .text p{
        font-size: 21px;
        line-height: 26px;
    }
    
    .solution .item{
        width: 739px;
        position: absolute;
        right: -120px;
        bottom: -5px;
    }


    /* reason
       ================================================================== */
    .reason::after{
        height: 106%;
        background: url("../images/reason/bg.webp") no-repeat center top;
        background-size: cover;
        bottom: -80px;
    }
    
    .reason .inner{
        padding-bottom: 220px;
    }
    
    .reason .block_title + p{
        margin: 50px 0 0;
        font-size: 30px;
    }
    
    .reason .graph_box{
        margin: 85px 0 0;
        padding: 90px 0 80px;
        position: relative;
    }
    
    .reason .graph_box::after{
        content: "";
        background: #ebecee;
        width: 1452px;
        height: 100%;
        margin: 0;
        position: absolute;
        top: 0;
        left: -180px;
        z-index: -1;
    }
    
    .reason .graph_box .box{
        margin: 0 0 0;
        padding: 0;
    }
    
    .reason .graph_box .graph01{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .reason .graph_box .graph02 .photo{
        margin-right: 47px;
    }
    
    .reason .graph_box .box .photo{
        width: 522px;
    }
    
    .reason .graph_box .box p{
        font-size: 25px;
        letter-spacing: 0;
    }

    .reason .graph_box .box p .siz_l{
        font-size: 29px;
    }
    
    .reason .graph_box .comparison{
        margin: 75px 0 0;
        display: flex;
        justify-content: center;
    }
    
    .reason .get{
        margin: 90px auto 0;
    }

    .reason .get .block_title span{
        font-size: 45px;
    }
    
    .reason .get .text_box{
        margin: 60px 0 0;
    }
    
    .reason .get .text_box .photo{
        top: -60px;
        right: 48%;
        width: 645px;
    }
    
    .reason .get .text_box p{
        font-size: 35px;
        line-height: 160%;
        letter-spacing: 0;
    }

    .reason .get .text_box p .siz_l{
        font-size: 40px;
    }


    /* ng
       ================================================================== */
    .ng{
        padding: 60px 0 220px;
    }
    
    .ng::after{
        background: url("../images/ng/bg.webp") no-repeat center bottom;
        background-size: auto;
    }
    
    .ng .bg{
        background: url("../images/ng/bg_rep.webp") repeat center top;
        background-size: auto;
    }
    
    .ng .inner{
        padding: 80px 0 115px;
    }
    
    .ng .top_box{
        margin: 0;
        width: 743px;
    }
    
    .ng .top_icon{
        width: 130px;
    }
    
    .ng .top_box h2{
        margin: 50px auto 0;
        font-size: 51px;
        line-height: 72px;
    }
    
    .ng .bottom_box{
        margin: 78px 0 0;
        position: relative;
    }
    
    .ng .bottom_box ul{
        margin: 0 0 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    
    .ng .bottom_box ul li{
        margin: 0 0 0;
        padding: 10px 0 10px 20px;
        min-height: 119px;
        width: 330px;
    }
    
    .ng .bottom_box ul li p{
        padding-left: 80px;
        font-size: 31px;
    }
    
    .ng .bottom_box ul li p::before{
        width: 59px;
        height: 61px;
    }
    
    .ng .bottom_box .photo{
        margin: 0;
        width: 332px;
        right: 0;
        bottom: 67%;
    }
    
    
    /* merit
       ================================================================== */
    .merit{
        margin: -220px 0 0;
    }
    
    .merit .inner{
        padding: 250px 0 120px;
    }
    
    .merit .top_box{
        padding: 40px 35px;
        background: url("../images/merit/item.webp") no-repeat 91% bottom,#f0e7e5;
        background-size: auto;
    }
    
    .merit .top_box p{
        font-size: 38px;
        line-height: 53px;
    }
    
    .merit .block_title{
        margin: 90px 0 0;
        font-size: inherit;
    }
    
    .merit .block_title span{
        font-size: 45px;
    }
    
    .merit .block_title .blcak{
        margin-left: 20px;
    }

    .merit .block_title > br + span {
        margin: 20px 0 0;
    }
    
    .merit_list{
        margin: 50px auto 0;
        width: 80%;
    }
    
    .merit_list li{
        margin: 40px 0 0;
        padding: 20px 0;
        width: 239px;
    }
    
    .merit_list li:nth-child(2n+2){
        margin-left: 0;
    }
    
    .merit_list li:nth-child(3n+2){
        margin-left: 40px;
        margin-right: 40px;
    }
    
    .merit_list li h3{
        font-size: 50px;
    }
    
    .merit_list li p{
        margin: 15px 0 0;
        height: 93px;
        font-size: 27px;
        line-height: 30px;
    }
    
    .merit > .photo{
        width: 50%;
        max-width: 1165px;
        left: 0;
        bottom: 0;
    }


    /* voice
       ================================================================== */
    .voice .inner{
        padding-top: 100px;
        padding-bottom: 200px;
    }
    
    .voice .block_title span{
        font-size: 51px;
    }
    
    .voice_list{
        margin: 110px 0 0;
    }
    
    .voice_list li{
        padding: 105px 40px;
    }
    
    .voice_list li + li{
        margin: 90px 0 0;
    }
    
    .voice_list li h3{
        padding: 0;
        top: -32px;
        width: 194px;
        height: 65px;
    }
    
    .voice_list li h3 .inbox span{
        font-size: 35px;
        letter-spacing: 0;
    }
    
    .voice_list .show_box{
        padding-left: 40%;
        height: 390px;
        display: flex;
        align-items: center;
        box-sizing: border-box;
    }
    
    .voice_list .top_box .photo{
        width: 37%;
        max-width: 370px;
    }
    
    .voice_list .top_box .user_box{
        padding: 0 0 0;
    }
    
    .voice_list .top_box .user_box h4{
        font-size: 31px;
        line-height: 130%;
    }
    
    .voice_list .top_box .user_box .name{
        margin: 10px 0 0;
        font-size: 23px;
    }
    
    .voice_list .bottom_box{
        margin: 40px 0 0;
    }
    
    .voice_list .bottom_box p{
        font-size: 22px;
        line-height: 33px;
    }


    /* fit
       ================================================================== */
    .fit{
        background: url("../images/fit/bg.webp") no-repeat center 0,#fff;
        background-size: cover;
    }
    
    .fit .inner{
        padding-top: 150px;
        padding-bottom: 160px;
    }
    
    .fit .block_title .pink{
        font-size: 51px;
    }
    
    .fit .top_text{
        margin: 55px 0 0;
    }
    
    .fit .top_text p{
        font-size: 28px;
    }

    .fit .top_text p + p{
        margin-top: 20px;
    }
    
    .fit .bg_box{
        margin: 70px 0 0;
        padding: 65px 85px 90px;
        background: url("../images/fit/item.webp") no-repeat 96% bottom,url("../images/fit/box_bg.webp") repeat 0 0;;
        background-size: auto;
    }
    
    .fit .bg_box .top_box h3{
        font-size: 49px;
    }
    
    .fit .bg_box .top_box .photo{
        margin: 35px auto 0;
        width: auto;
    }
    
    .fit .bg_box .top_box p{
        margin: 35px auto 0;
        font-size: 45px;
    }
    
    .fit .bg_box .bottom_box{
        margin: 40px 0 0;
        width: 56%;
    }
    
    .fit .bg_box .bottom_box h4{
        font-size: 28px;
    }
    
    .fit .bg_box .bottom_box .photo{
        margin: 25px 0 0;
    }
    
    .fit .bg_box .bottom_box .text_box{
        margin: 15px auto 0;
    }
    
    .fit .bg_box .bottom_box .text_box .siz_l{
        font-size: 41px;
        letter-spacing: 0;
    }
    
    .fit .bg_box .bottom_box .text_box .pink{
        margin: 20px 0 0;
        font-size: 25px;
    }


    /* faq
       ================================================================== */
    .faq .block_title span {
        font-size: 51px;
    }

    .oc_list{
    	margin: 60px 0 0;
    }
    
    .oc_list > dl{
    	margin: 25px 0 0;
    }
    
    .oc_list > dl dt{
    	padding: 25px 25px;
    	padding-right: 75px;
    }
    
    .oc_list > dl dt::after{
    	width: 25px;
    	height: 25px;
    	right: 25px;
    }
    
    .oc_list > dl dt > span{
    	padding-left: 60px;
    	font-size: 28px;
    }
    
    .oc_list > dl dt > span::before{
    	font-size: 45px;
        top: -5px;
    }
    
    .oc_list > dl dd{
    	padding: 25px;
    	font-size: 21px;
    }
    
    
}
@media screen and (min-width : 1600px){


    /* kv_bottom
       ================================================================== */
    .kv_bottom .inner{
    	padding: 2vw 0 5vw;
    }


    /* cv
       ================================================================== */
    .cv.last{
        padding-bottom: 3vw;
    }
    
    .cv.last::after{
        bottom: -1vw;
    }

    .mat_minus{
        margin-top: -4vw !important;
    }
    
    .mab_minus{
        margin-bottom: -3vw !important;
    }


    /* ng
       ================================================================== */
    .ng .inner{
        padding-top: 5vw;
    }      
    
    
    /* merit
       ================================================================== */
    .merit .inner{
        padding-bottom: 6vw;
    }
    
    
}