@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
--------------------*/

/*----------
01.top
----------*/

/* --- loading --- */
#contents.hidden{
opacity: 0;
}

#showloading {
width: 100%;
height: 100vh;
background-color: #F5F3EC;
position: fixed;
top: 0;
z-index: 10;
-webkit-transition: cubic-bezier(.65,.05,.36,1) .8s;
transition: cubic-bezier(.65,.05,.36,1) .8s;
}
#showloading img {
max-width: 150px;
width: 100%;
height: auto;
opacity: 0;
margin: 0 auto 30px;
transition: opacity 1s;
}

#showloading img.active {
opacity: 1;
}

#showloading .loading_box{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

#showloading .loading_box p{
font-weight: 500;
font-size: 20px;
letter-spacing: 0.4em;
}

#showloading .loading_box p span {
opacity: 1;
transition: all 1s;
}

#showloading .passing_box{
display: block;
text-align: center;
/*
transform: rotate(-5deg);
-moz-transform: rotate(-5deg);
-webkit-transform: rotate(-5deg);
*/
}

#showloading .passing_box .passing_bar{
position: relative;
display: inline-block;
-webkit-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}

#showloading .passing_box .passing_bar::before {
content: '';
display: inline-block;
width: 0;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 1;
/* 任意の値 */
background: #000;
}

#showloading .passing_box .passing_txt {
opacity: 0;
-webkit-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
font-weight: 500;
font-size: 24px;
line-height: 1.5em;
/*
background: #000;
color: #fff;
padding: 0 10px;
*/
}

#showloading .passing_box.move .passing_bar::before {
-webkit-animation: passing_bar 1s cubic-bezier(.65,.05,.36,1) 0s 1 normal forwards;
animation: passing_bar 1s cubic-bezier(.65,.05,.36,1) 0s 1 normal forwards;
}
#showloading .passing_box.move .passing_txt{
-webkit-animation: passing_txt 0s cubic-bezier(.65,.05,.36,1) .5s 1 normal forwards;
animation:passing_txt 0s cubic-bezier(.65,.05,.36,1) .5s 1 normal forwards;
}

@-webkit-keyframes passing_bar{
	0% {
		left: 0;
		right: auto;
		width: 0;
	}
	50% {
		left: 0;
		right: auto;
		width: 100%;
	}
	51% {
		left: auto;
		right: 0;
		width: 100%;
	}
	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}
@keyframes passing_bar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@-webkit-keyframes passing_txt{
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes passing_txt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}

#showloading.slide_up{
top: -100%;
background: #fff;
}


#showloading .loading_cover01,
#showloading .loading_cover02{
display: block;
height: 40%;
width: 100%;
z-index: 11;
background: #000;
position: absolute;
top: 100%;
-webkit-transition: cubic-bezier(.65,.05,.36,1) 1s;
transition: cubic-bezier(.65,.05,.36,1) 1s;
}

#showloading .loading_cover02{
background: #fff;
}

#showloading .loading_cover01.slide_up,
#showloading .loading_cover02.slide_up{
top: 0%;
height: 100%;
}

/* --- END loading --- */








#front_page section{
position: relative;
z-index: 5;
}

#front_page #section01{
height: 100vh;
}

#front_page section .on{
position: fixed;
width: 100%;
top: 0;
}

#front_page .bg{
height: 100vh;
}

#front_page .full{
}

#front_page #section01 #main_visual{
width: 100%;
overflow: hidden;
width: 100%;
margin: 0 auto;
}

#front_page #section01 #main_visual.off{
display: none;
}

#front_page #section01 #main_visual .pic{
height: 100vh;
position: absolute;
top: 0;
display: flex;
align-items: flex-end;
}

#front_page #section01 #main_visual .pic img{
height: 100vh;
width: auto;
}

#front_page #section01 #main_visual .pic_left{
width: 50%;
right: 50%;
}

#front_page #section01 #main_visual .pic_left img{
/* margin: 0 -13px 0 auto;
margin-right: calc(-1 * (((100vh * 27)/717)/2)); */
position: relative;
z-index: 1;
margin: 0 0 0 auto;
object-fit: cover;
object-position: right top;
width: 100%;
}

#front_page #section01 #main_visual .pic_right{
/* max-width: 650.5px; */
/* width: 55.84%;
left: 44.16%; */
width: 50%;
left: 50%;
}

#front_page #section01 #main_visual .pic_right img{
/* margin: 0 auto 0 -13px;
margin-left: calc(-1 * (((100vh * 26.5)/717)/2)); */
position: relative;
z-index: 1;
object-fit: cover;
object-position: left top;
width: 100%;
}

#front_page #section01 .contents{
position: absolute;
top: 0;
left: 0;
right: 0;
max-width: 1080px;
width: 100%;
height: 100vh;
margin: 0 auto;
/* display: flex;
align-items: center;
justify-content: center; */
}

#front_page #section01 .contents .logo{
position: absolute;
z-index: 1;
max-width: 120px;
width: 100%;
top: 33px;
left: 0;
}

#front_page #section01 .contents .main_text{
position: absolute;
left: 0;
z-index: 1;
width: 100%;
bottom: 115px;
}

#front_page #section01 .contents .catchcopy{
font-family: 'DIN Condensed Bold';
font-size: 97px;
line-height: 97px;
position: relative;
z-index: 1;
color: rgba(255,255,255,.8);
text-align: center;
}

#front_page #section01 .contents p{
font-weight: 500;
font-size: 30px;
line-height: 36px;
text-align: center;
position: relative;
z-index: 1;
}

#front_page #section01 .contents .bnr{
max-width: 400px;
width: 100%;
position: absolute;
z-index: 1;
/*
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
*/
bottom: 20px;
right: 0;
}




/* 二つ目開くやつ */


#front_page #section02{
height: 100vh;
}

#front_page #section02 #second_visual{
width: 100%;
/* height: 100vh; */
overflow: hidden;
/* display: flex;
align-items: start; */
/* max-width: 1164px; */
width: 100%;
margin: 0 auto;
/* position: static !important; */
}

#front_page #section02 #second_visual.off{
display: none;
}

#front_page #section02 #second_visual .pic{
height: 100vh;
position: absolute;
top: 0;
overflow: hidden;
width: 50%;
}

#front_page #section02 #second_visual .pic img{
/* height: 100vh;
width: auto; */
width: 100%;
position: relative;
z-index: 1;
object-fit: cover;
height: 100vh;
}

#front_page #section02 #second_visual.section02_start .pic_left{
right: 50% !important;
}


#front_page #section02 #second_visual .pic_left img{
margin: 0 0 0 auto;
object-position: right top;
}

#front_page #section02 #second_visual.section02_start .pic_right{
left: 50% !important;
}

#front_page #section02 #second_visual .pic_right img{
margin: 0 auto 0 0;
object-position: left top;
}


#front_page #section02 .contents{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
padding: 0 100px 0;
color: #000;
}

#front_page #section02 .contents .title_box{
position: absolute;
top: 38%;
left: 0;
width: 100%;
}

#front_page #section02 .contents .title{
font-family: 'DIN Condensed Bold';
font-size: 160px;
letter-spacing: -0.02em;
text-align: center;
position: relative;
z-index: 1;
}

#front_page #section02 .contents .sub_title{
font-weight: 500;
font-size: 32px;
line-height: 36px;
text-align: center;
position: relative;
z-index: 1;
}

#front_page #section02 .contents .catchcopy_box{
max-width: 420px;
width: 100%;
position: absolute;
left: 0;
right: 0;
bottom: 0;
margin: 0 auto;
z-index: 1;
height: 184px;
overflow: hidden;
padding: 71px 0 0;
}

#front_page #section02 .contents .catchcopy_box::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 420px;
background: #000;
border-radius: 50%;
}

#front_page #section02 .contents .catchcopy_box .catchcopy{
font-weight: 500;
font-size: 26px;
line-height: 38px;
letter-spacing: -0.05em;
color: #fff;
text-align: center;
position: relative;
z-index: 1;
}

#front_page #section02 .contents .catchcopy_box .catchcopy span{
font-size: 22px;
}



#front_page #section02.active #power_area{
position: fixed;
top: 0;
left: 0;
width: 100%;
}




#front_page{
}

#front_page header{
position: absolute;

width: 100%;
top: 0;
left: 0;
background: none;
position: fixed;
z-index: 6;
}

/*最初の画像が表示されているとき*/
#front_page header.first_none{
z-index: 1;
}

/*グローバルナビが開いた場合*/
#front_page header.active{
height: 100vh;
background: #fff;
z-index: 20;
}

#front_page #header_top{
background: none;
border: none;
}

#front_page #header_top .contents_in{
max-width: 1040px;
padding: 38px 0 0;
}

#front_page #header_top .logo{
max-width: 102px;
margin: 0;
}

#front_page #header_top .header_right{
max-width: 386px;
justify-content: flex-end;
}

#front_page #header_top .header_right .nav_btn{
background: none;
width: 50px;
height: 36px;
}

#front_page #header_top .header_right .nav_btn .nav_line{
border-top-color: #000;
}

#front_page #header_top .header_right .nav_btn .nav_line01{
top: 0;
}

#front_page #header_top .header_right .nav_btn .nav_line02{
top: 15px;
}

#front_page #header_top .header_right .nav_btn .nav_line03{
top: 32px;
}

#front_page header.active #header_top .header_right .nav_btn .nav_line01{
-webkit-transform: translateY(16px) rotate(-45deg);
    transform: translateY(16px) rotate(-45deg);
}

#front_page header.active #header_top .header_right .nav_btn .nav_line03{
-webkit-transform: translateY(-16px) rotate(45deg);
    transform: translateY(-16px) rotate(45deg);
}

#front_page #globalnav_area .globalnav_box .page_title{
border-color: #000;
}

#front_page #globalnav_area .globalnav_box li::before{
color: #000;
}


#front_page .btn_ptn03{
max-width: 330px;
width: 100%;
margin: 0 auto;
background: #000000;
}

#front_page .btn_ptn03 a{
display: inline-block;
width: 100%;
padding: 33px 25px 33px 28px;
color: #fff;
font-size: 16px;
position: relative;
}

#front_page .btn_ptn03 a::before{
content: "";
display: block;
width: 32px;
height: 7px;
background: url(../common/img/arrow_right04.png) no-repeat center bottom;
background-size: 100% auto;
position: absolute;
top: 37px;
right: 35px;
}

#front_page #globalnav_area{
border-bottom: none;
/* background: rgba(255,255,255,.8); */
height: calc(100vh - 101px);
overflow-y: scroll;
}



#front_page #mainvisual_area{
background: #F5F3EC;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
}

#front_page #mainvisual_area.on{
opacity: 0;
}

#front_page #mainvisual_area .contents_in{
max-width: none;
width: 81.25%;
position: relative;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
padding: 73px 0 0;
}

#front_page #mainvisual_area .cnt_g.big{
width: 80%;
margin: 0 auto;
}

#front_page #mainvisual_area h1{
position: relative;
/* opacity: 0; */
}

#front_page #mainvisual_area h1 img{
max-width: 523px;
width: 45.53%;
margin: 0 auto;
}

#front_page #mainvisual_area h1::before,#front_page #mainvisual_area h1::after{
content: "";
display: block;
/* max-width: 230px; */
max-width: 0;
width: 100%;
height: 1px;
background: #000;
position: absolute;
top: 50%;
transform: translateY(-50%);
transition: all 1s;
}

#front_page #mainvisual_area h1::before{
/* left: 0; */
right: calc(100% - 230px);
}

#front_page #mainvisual_area h1::after{
left: calc(100% - 230px);
}

#front_page #mainvisual_area h1.play::before,#front_page #mainvisual_area h1.play::after{
max-width: 230px;
}

#front_page #mainvisual_area .mainimg{
/* max-width: 1040px; */
width: 100%;
margin: -49px auto 0;
position: relative;
opacity: 0;
}

#front_page #mainvisual_area .mainimg img{
position: relative;
z-index: 1;
}

#front_page #mainvisual_area .mainimg::before{
content: "";
display: block;
width: 100%;
height: 1px;
background: #000;
position: absolute;
bottom: 32px;
left: 0;
}


#front_page #mainvisual_area .counseling_btn{
/*opacity: 0;*/
max-width: 330px;
width: 100%;
position: absolute;
bottom: 69px;
left: 29px;
z-index: 2;
}

#front_page #mainvisual_area .counseling_btn a{
display: inline-block;
width: 100%;
padding: 33px 25px 33px 28px;
color: #fff;
position: relative;
font-size: 16px;
letter-spacing: 0.05em;
background: #000;
}

#front_page #mainvisual_area .counseling_btn a:after{
content: "";
display: block;
background: url(../common/img/arrow_right04.png) no-repeat center bottom;
width: 32px;
height: 7px;
background-size: 100% auto;
position: absolute;
top: 37px;
right: 25px;
}

#front_page #mainvisual_area .bnr{
max-width: 400px;
width: 100%;
position: absolute;
z-index: 1;
/*
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
*/
bottom: 20px;
right: 0;
}

#front_page #mainvisual_area .bnr a{
display: block;
}


#front_page .cnt_area{
background-size: auto 100%;
background-repeat: no-repeat;
background-position: center top;
position: relative;
}

#front_page .cnt_area::before{
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 0;
z-index: 10;
display: block;
transition: all 1s;
}

#front_page .cnt_ptn01::before{
left: 0;
background: #fff;
}

#front_page .cnt_ptn01.play::before{
left: 100%;
}

#front_page .cnt_ptn02::before{
right: 0;
background: #F5F3EC;
}

#front_page .cnt_ptn02.play::before{
right: 100%;
}

#front_page .cnt_area .contents_in{
max-width: 1040px;
position: relative;
height: 378px;
}

#front_page .cnt_area .cnt_box h2{
font-size: 147px;
letter-spacing: -0.02em;
font-family: 'DIN Condensed Bold';
color: rgba(0,0,0,.18);
}

#front_page .cnt_area .cnt_box .target_text{
position: absolute;
z-index: 1;
}

#front_page .cnt_area .cnt_box .target_text span{
display: inline-block;
background: #000000;
padding: 6px 20px 6px 10px;
color: #fff;
font-weight: 300;
font-size: 16px;
letter-spacing: 0.05em;
}

#front_page .cnt_area .cnt_box .target_text span.text02{
padding: 6px 13px 5px 10px;
font-size: 17px;
font-weight: 500;
margin: 2px 0 0;
}

#front_page .cnt_area .cnt_box .gene_box{
position: absolute;
}

#front_page .cnt_area .cnt_box .gene_box .gene_title{
font-family: 'DIN Condensed Bold';
font-size: 28px;
line-height: 27px;
margin: 0 0 4px;
}

#front_page .cnt_area .cnt_box .gene_box .gene_text{
font-family: 'DIN Condensed Bold';
font-size: 117px;
line-height: 93px;
letter-spacing: -0.02em;
margin: 13px 0 0px;
}

#front_page .cnt_area .cnt_box .gene_box p{
/* font-family: 'A-OTF-UDShinGoPro-DeBold',sans-serif; */
font-weight: 500;
font-size: 7px;
letter-spacing: 0.05em;
line-height: 10px;
margin: -6px 0 0;
}

#front_page .cnt_area .cnt_box .cnt_img{
position: absolute;
bottom: 0;
left: 0;
right: 0;
margin: 0 auto;
opacity: 0;
}

#front_page .cnt_ptn01{
background-color: #fff;
}

#front_page .cnt_ptn01 .cnt_box .target_text{
bottom: 92px;
right: 100px;
}

#front_page .cnt_ptn01 .cnt_box .gene_box{
bottom: 14px;
left: 30px;
}

#front_page .cnt_ptn02{
background-color: #F5F3EC;
}

#front_page .cnt_ptn02 .cnt_box h2{
margin: 0 0 0 auto;
text-align: right;
}

#front_page .cnt_ptn02 .cnt_box .target_text{
bottom: 91px;
left: 38px;
}

#front_page .cnt_ptn02 .cnt_box .gene_box{
bottom: 19px;
right: 24px;
}



#front_page #beauty_area{
background-image: url(../img/top/bg_beuaty.png);
}

#front_page #beauty_area .cnt_img{
max-width: 360px;
width: 100%;
padding: 0 70px 0 0;
}

#front_page #goodstyle_area{
background-image: url(../img/top/bg_goodstyle.png);
}

#front_page #goodstyle_area .cnt_img{
max-width: 464px;
width: 100%;
padding: 0 0 0 27px;
}

#front_page #dietbeauty01_area{
background-image: url(../img/top/bg01_beautydiet.png);
}

#front_page #dietbeauty01_area .cnt_box .cnt_img{
max-width: 364px;
width: 100%;
padding: 0 97px 0 0;
}

#front_page #dietbeauty01_area .cnt_box .target_text{
bottom: 51px;
right: 99px;
}

#front_page #dietbeauty02_area{
background-image: url(../img/top/bg02_beautydiet.png);
}

#front_page #dietbeauty02_area .cnt_box .cnt_img{
max-width: 326px;
width: 100%;
padding: 0 56px 0 0;
}

#front_page #dietbeauty02_area .cnt_box .target_text{
bottom: 101px;
left: 38px;
}

#front_page #dietbeauty03_area{
background-image: url(../img/top/bg03_beautydiet.png);
}

#front_page #dietbeauty03_area .cnt_box .cnt_img{
max-width: 512px;
width: 100%;
padding: 0 175px 0 0;
}

#front_page #dietbeauty03_area .cnt_box .target_text{
bottom: 73px;
right: 80px;
}





#front_page #power_area{
background: url(../img/top/bg_gympower.png) no-repeat center center;
background-size: auto 100%;
background-color: #000;
padding: 0 0 44px;
/* position: relative;
z-index: 5; */

height: 100vh;
}

#front_page #power_area .contents_in{
height: 100vh;
position: relative;
}

#front_page #power_area h2{
/* text-align: center;
font-family: 'DIN Condensed Bold';
-ms-filter: blur(6px);
  filter: blur(10px);

filter: brightness(90%)blur(20);
color: #fff;
font-size: 160px;
letter-spacing: -0.02em;
position: relative; */
max-width: 570px;
width: 100%;
margin: 0 auto 10px;
/* padding: 32.69% 0 0; */
padding-top: calc(100vh*353/800);
opacity: 0;
}

#front_page #power_area .cnt_g{
max-width: 857px;
width: 100%;
margin: 0 auto;
display: flex;
align-items: start;
justify-content: space-between;
/* position: absolute;
width: 100%;
bottom: 22.33%;
left: 50%;
transform: translateX(-50%); */
}

#front_page #power_area .cnt_box{
max-width: 422px;
width: 49.25%;
opacity: 0;
}

#front_page #power_area .cnt_box a{
display: inline-block;
width: 100%;
padding: 42px 20px 38px;
border: 1px solid #909090;
background: rgba(38,38,38,.79);
text-align: center;
}

#front_page #power_area .cnt_box h3{
font-weight: 300;
font-size: 22px;
color: #fff;
padding: 0 0 25px;
}

#front_page #power_area .cnt_box h3 span{
font-weight: 500;
margin: 0 0 0 4px;
}

#front_page #power_area .cnt_box .next_btn{
font-family: 'DINPro';
font-size: 12px;
letter-spacing: 0.05em;
color: #fff;
position: relative;
}

#front_page #power_area .cnt_box .next_btn::after{
content: "";
display: inline-block;
width: 32px;
height: 4px;
background: url(../common/img/arrow_right05.png) no-repeat center bottom;
background-size: 100% auto;
margin: 0 0 0 13px;
transition: all .4s;
}

#front_page #power_area .cnt_box a:hover .next_btn::after{
margin: 0 0 0 23px;
}

#front_page #power_area .parts{
font-weight: 300;
color: #fff;
-ms-writing-mode: tb-rl;
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
font-size: 12px;
letter-spacing: 0.05em;
width: 12px;
position: absolute;
top: 22px;
}

#front_page #power_area .parts span{
display: block;
}

#front_page #power_area .parts::after{
content: "";
display: block;
width: 1px;
height: 232px;
background: #fff;
position: absolute;
left: 50%;
transform: translateX(-50%);
}

#front_page #power_area .left_parts{
left: 36px;
padding: 0 0 251px;
}

#front_page #power_area .left_parts::after{
bottom: 0;
}

#front_page #power_area .right_parts{
right: 21px;
padding: 251px 0 0;
}

#front_page #power_area .right_parts::after{
top: 0;
}



#front_page #voice_area{
background: #F5F3EC;
position: relative;
z-index: 5;
padding: 0 0 65px;
}

#front_page #voice_area .contents_in{
max-width: 1280px;
width: 86%;
position: relative;
}

#front_page #voice_area h2{
text-align: center;
font-family: 'DIN Condensed Bold';
color: #000001;
font-size: 160px;
letter-spacing: -0.02em;
position: relative;
padding: 34px 0 0;
opacity: 0;
}

#front_page #voice_area .cnt_g{
max-width: 1040px;
width: 100%;
margin: -11px auto 0;
display: flex;
align-items: start;
justify-content: space-between;
}

#front_page #voice_area .cnt_box{
max-width: 310px;
width: 29.81%;
position: relative;
padding: 12px 0 0;
}

#front_page #voice_area .cnt_box .number{
font-family: 'DIN Condensed Bold';
font-size: 27px;
letter-spacing: -0.02em;
position: absolute;
top: 0;
left: 6px;
z-index: 2;
opacity: 0;
}

#front_page #voice_area .cnt_box .number span{
font-size: 36px;
}

#front_page #voice_area .cnt_box .cnt_img{
position: relative;
max-width: 263px;
width: 84.84%;
margin: 0 auto;
opacity: 0;
position: relative;
z-index: 1;
}

#front_page #voice_area .cnt_box .cnt_img img.pc{
display: block;
}

#front_page #voice_area .cnt_box .cnt_img img.sp{
display: none;
}

#front_page #voice_area .cnt_box .cnt_text{
border: 1px solid #000;
padding: 64px 16px 37px 24px;
margin: -42px auto 0;
opacity: 0;
}

#front_page #voice_area .cnt_box .cnt_text .name_box{
max-width: 168px;
width: 100%;
background: #000;
color: #F5F3EC;
padding: 7px 0 7px 10px;
font-weight: 700;
font-size: 14px;
margin: 0 0 16px;
}

#front_page #voice_area .cnt_box .cnt_text .title{
font-weight: 500;
font-size: 28px;
line-height: 34px;
margin: 0 0 16px;
}

#front_page #voice_area .cnt_box .cnt_text p{
font-size: 14px;
line-height: 25px;
margin: 0 0 12px;
}

#front_page #voice_area .cnt_box .cnt_text .next_btn{
/* text-align: center; */
max-width: 200px;
}

#front_page #voice_area .cnt_box .cnt_text .next_btn a{
padding: 18px 25px 18px 28px;
}

#front_page #voice_area .cnt_box .cnt_text .next_btn a::before{
top: 27px;
}


#front_page #faq_area{
background: #fff;
padding: 29px 0 32px;
position: relative;
z-index: 5;
}

#front_page #faq_area .contents_in{
max-width: 1040px;
}

#front_page #faq_area .h2_g{
position: relative;
padding: 0 0 10px;
}

#front_page #faq_area .h2_g::before,#front_page #faq_area .h2_g::after{
content: "";
display: block;
width: 1px;
height: 48px;
background: #000;
position: absolute;
bottom: 0;
}

#front_page #faq_area .h2_g::before{
left: 0;
}

#front_page #faq_area .h2_g::after{
right: 0;
}

#front_page #faq_area h2{
font-family: 'DIN Condensed Bold';
font-size: 106px;
text-align: center;
position: relative;
opacity: 0;
}

#front_page #faq_area h2::before,#front_page #faq_area h2::after{
content: "";
display: block;
width: 305px;
height: 1px;
background: #000;
position: absolute;
bottom: 38px;
}

#front_page #faq_area h2::before{
left: 0;
}

#front_page #faq_area h2::after{
right: 0;
}

#front_page #faq_area h2 span{
font-size: 90px;
}

#front_page #faq_area .cnt_g{
max-width: 800px;
width: 100%;
margin: 0 auto;
}

#front_page #faq_area .cnt_box{
opacity: 0;
}

#front_page #faq_area .question_box{
border: 1px solid #B7B7B7;
background: #fff;
padding: 28px 22px;
position: relative;
}

#front_page #faq_area .question_box::after{
content: "";
display: block;
width: 9px;
height: 8px;
background: url(../common/img/arrow_down.png) no-repeat center center;
background-size: 100% auto;
position: absolute;
top: 43px;
right: 31px;
transition: all .3s;
}

#front_page #faq_area .question_box.active::before{
transform: rotate(180deg);
}

#front_page #faq_area .question_box dl{
display: flex;
align-items: center;
}

#front_page #faq_area .question_box dt{
font-weight: 700;
background: #000;
color: #fff;
padding: 9px;
font-size: 17px;
max-width: 35px;
width: 100%;
text-align: center;
}

#front_page #faq_area .question_box dd{
font-weight: 500;
font-size: 18px;
line-height: 24px;
margin: 0 0 0 28px;
}

#front_page #faq_area .answer_box{
background: #F5F5F5;
padding: 24px 22px 50px;
display: none;
}

#front_page #faq_area .answer_box dl{
display: flex;
align-items: start;
}

#front_page #faq_area .answer_box dt{
font-weight: 700;
background: #000;
color: #fff;
padding: 9px;
font-size: 17px;
max-width: 35px;
width: 100%;
text-align: center;
}

#front_page #faq_area .answer_box dd{
/*font-family: 'Noto Sans JP', sans-serif;*/
font-weight: 400;
font-size: 14px;
line-height: 25px;
margin: 0 0 0 11px;
}

#front_page #faq_area .btn_ptn03{
margin: 27px auto 0;
}
#front_page #news_area{
background: #F5F3EC;
padding: 39px 0 34px;
position: relative;
z-index: 5;
}

#front_page #news_area h2{
font-family: 'DIN Condensed Bold';
font-size: 106px;
text-align: center;
position: relative;
margin: 0 0 9px;
opacity: 0;
}

#front_page #news_area .cnt_g{
max-width: 800px;
width: 100%;
margin: 0 auto 25px;
border-top: 1px solid #000000;
}

#front_page #news_area dl{
border-bottom: 1px solid #000000;
/*font-family: 'Noto Sans JP', sans-serif;*/
padding: 23px 0 24px;
}

#front_page #news_area dt{
font-weight: 700;
margin: 0 0 9px;
}

#front_page #news_area dd{
font-weight: 500;
line-height: 20px;
}

#front_page #news_area dd a{
}


/* FCUL */
#front_page #news_area img.fcul_title{
	width:300px;
	height:auto;
	margin:0 auto;
}


#front_page #blog_area{
background: #fff;
padding: 39px 0 34px;
position: relative;
z-index: 5;
}

#front_page #blog_area h2{
font-family: 'DIN Condensed Bold';
font-size: 106px;
text-align: center;
position: relative;
margin: 0 0 9px;
opacity: 0;
}

#front_page #blog_area .cnt_g{
width: 100%;
margin: 0 auto 25px;
display: flex;
justify-content: flex-start;
flex-flow: wrap;
}
#front_page #blog_area .cnt_g .cnt_box{
display: block;
max-width: 320px;
width: 29.6%;
margin: 0 5.55% 40px 0;
}

#front_page #blog_area .cnt_g .cnt_box:nth-of-type(3n){
margin: 0 0 40px;
}

#front_page #blog_area .cnt_g .cnt_box .cnt_img{
display: block;
margin-bottom: 12px;
}

#front_page #blog_area .cnt_g .cnt_box .date_box{
display: flex;
justify-content: flex-start;
flex-flow: wrap;
align-items: center;
margin-bottom: 8px;
}

#front_page #blog_area .cnt_g .cnt_box .date{
font-family: 'DINPRO-MEDIUM',sans-serif;
font-size: 18px;
margin: 0 10px 8px 0;
}
#front_page #blog_area .cnt_g .cnt_box ul.cat_li li{
display: inline-block;
font-size: 14px;
color: #fff;
background: #000;
padding: 6px 8px 5px;
margin: 0 4px 6px 0;
}

#front_page #blog_area .cnt_g .cnt_box p{
font-size: 18px;
line-height: 24px;
}






#front_page footer{
position: relative;
z-index: 10;
padding: 35px 0 70px;
background: #000;
}

#front_page footer .contents_in{
max-width: 1040px;
}

#front_page footer #footer_top{
border: none;
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 0 29px;
}

#front_page footer .logo{
max-width: 75px;
width: 100%;
}

#front_page footer .sns_g{
max-width: 200px;
width: 100%;
display: flex;
align-items: start;
justify-content: space-between;

}

#front_page footer .sns_g li{
max-width: 29px;
width: 100%;
}

#front_page footer #footer_bottom{
display: flex;
align-items: center;
justify-content: space-between;
flex-direction: row-reverse;
}

#front_page footer .sitemap_g{
display: flex;
align-items: center;
justify-content: center;
font-weight: 500;
font-size: 12px;
max-width: 624px;
width: 100%;
}

#front_page footer .sitemap_g li a{
color: #fff;
padding: 0 0 0 12px;
display: inline-block;
position: relative;
}

#front_page footer .sitemap_g li a::after{
content: "｜";
display: inline-block;
font-size: 12px;
padding: 0 0 0 12px;
}

#front_page footer .sitemap_g li:first-child a{
padding: 0;
}

#front_page footer .sitemap_g li:last-child a::after{
content: none;
}

#front_page footer .copyright{
font-weight: 300;
font-size: 10px;
color: #999999;
}



/*HERO's PROFILE*/


.modaal-container{
max-width: 1280px;
}

.modaal-content-container{
padding:0;
}

.modaal-wrapper .modaal-close {
display: none;
}

.hero_area{
width: 100%;
padding: 150px 0 100px;
border: 0.5px solid #707070;
position: relative;
overflow: hidden;
}

.hero_area::after{
content: "";
display: block;
background: #000;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
transition: all .6s;
}

.hero_area.play::after{
left: 100%;
}

#hero01.hero_area{
background: url("../img/top/bg01_hero.jpg") no-repeat right center;
background-size: cover;
}

#hero02.hero_area{
background: url("../img/top/bg02_hero.jpg") no-repeat right center;
background-size: cover;
}

#hero03.hero_area{
background: url("../img/top/bg03_hero.jpg") no-repeat right center;
background-size: cover;
}

#hero04.hero_area{
background: url("../img/top/bg04_hero.jpg") no-repeat right center;
background-size: cover;
}

#hero05.hero_area{
background: url("../img/top/bg05_hero.jpg") no-repeat right center;
background-size: cover;
}

.hero_area .cnt_box{
max-width: 965px;
width: 90%;
color: #fff;
margin: 0 auto 141px;
}

.hero_area .cnt_box .profile_g{
margin: 0 0 60px;
}

.hero_area .cnt_box .profile_g .profile{
color: rgba(245,243,236,0.49);
font-family: 'DIN Condensed Bold';
font-size: 108px;
line-height: 117px;
margin: 0 0 5px;
}

.hero_area .cnt_box .profile_g .sub_text{
font-weight: 500;
font-size: 14px;
line-height: 36px;
}

.hero_area .cnt_box .title{
font-size: 22px;
font-weight: 500;
line-height: 36px;
margin: 0 0 15px;
}

.hero_area .cnt_box p{
font-weight: 300;
font-size: 14px;
font-weight: lighter;
line-height: 36px;
}

.hero_area .cnt_box p .big_text{
/* font-family: 'A-OTF-UDShinGoPro-DeBold',sans-serif; */
font-weight: 500;
display: inline-block;
padding: 0 3px;
}

.hero_area .close_btn{
width: 79px;
height: 79px;
border: 1px solid #fff;
border-radius: 50%;
background: url("../img/top/icon_close.png") no-repeat center center;
background-size: 20px;
background-color: #fff;
margin: 0 auto;
-webkit-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
cursor: pointer;
}

.hero_area .close_btn:hover{
border: 1px solid #707070;
background: url("../img/top/icon_close_w.png") no-repeat center center;
background-size: 20px;
background-color: #707070;
}
/*END HERO's PROFILE*/

/* topページの下にオファーボタンを表示 start */

/*ボタンをページ下部に固定*/
#sp-fixed-menu{
position: fixed;
width: 100%;
bottom: 0px;
opacity: 0.9;
z-index: 99;
}

#sp-fixed-menu a img {
margin: 0 5px 0 0;
display: inline-block;
max-width: 18px;
width: 100%;
vertical-align: middle;
}

/*ボタンを横並びにする*/
#sp-fixed-menu ul{
display: flex;
list-style: none;
padding:0;
margin:0;
width:100%;
}

#sp-fixed-menu li{
justify-content: center;
align-items: center;
width: 50%;
padding:0;
margin:0;
font-size: 14px;
border-right: 1px solid #fff;
line-height: 2em;
}

/*左側ボタン*/
#sp-fixed-menu li:first-child{
background: #3f5fc0;
}

/*右側ボタン*/
#sp-fixed-menu li:last-child{
background: #48D1CC;
}

/*ボタンを調整*/
#sp-fixed-menu li a{
color: #fff;
font-weight: bold;
text-align: center;
display:block;
width: 100%;
padding:20px;
}
/* topページの下にオファーボタンを表示 end */


@media only screen and (max-width:1024px){
.pc1024{
display: none;
}



/*----------
01.top
----------*/

/* 二つ目開くやつ */
#front_page #section02 .contents .title{
font-size: 120px;
}

#front_page #section02 .contents .sub_title{
font-size: 28px;
line-height: 28px;
margin: -20px 0 0;
}

#front_page #mainvisual_area .contents_in{
position: static;
width: 100%;
padding: 0;
transform: translate(0,0);
}

#front_page #mainvisual_area h1{
margin: 76px auto 0;
}

#front_page #mainvisual_area .mainimg{
margin: 0 auto;
}


#front_page #power_area .cnt_box h3{
font-size: 20px;
}


#front_page #power_area .parts::after{
height: 162px;
}

#front_page #power_area .left_parts{
padding: 0 0 181px;
}

#front_page #power_area .right_parts{
padding: 181px 0 0;
}


#front_page #voice_area h2{
font-size: 100px;
line-height: 100px;
/* top: -14px;
margin: 0 0 8px; */
}


#front_page #voice_area .cnt_box .cnt_text .title{
font-size: 24px;
line-height: 30px;
}

#front_page #faq_area .h2_g{
padding: 0;
}

#front_page #faq_area .h2_g::before, #front_page #faq_area .h2_g::after{
bottom: 10px;
}

#front_page #faq_area h2{
font-size: 100px;
}

#front_page #faq_area h2::before, #front_page #faq_area h2::after{
bottom: 58px;
}

#front_page #faq_area .cnt_g{
width: 92%;
}

#front_page #news_area h2{
font-size: 100px;
}

#front_page #blog_area h2{
font-size: 100px;
}

#front_page #blog_area .cnt_g .cnt_box{
width: 30.8%;
margin: 0 3.75% 40px 0
}

#front_page #blog_area .cnt_g .cnt_box p {
font-size: 16px;
line-height: 22px;
}




#front_page footer #footer_bottom{
display: block;
}

#front_page footer .sitemap_g{
margin: 0 auto 20px;
}

/*HERO's PROFILE*/
.hero_area .cnt_box .profile_g .profile {
font-size: 78px;
line-height: 100px;
}

#hero01.hero_area{
background: url("../img/top/bg01_hero.jpg") no-repeat 85% center;
background-size: cover;
}

#hero02.hero_area{
background: url("../img/top/bg02_hero.jpg") no-repeat 85% center;
background-size: cover;
}

#hero03.hero_area{
background: url("../img/top/bg03_hero.jpg") no-repeat 85% center;
background-size: cover;
}

#hero05.hero_area{
background: url("../img/top/bg05_hero.jpg") no-repeat 85% center;
background-size: cover;
}

/*END HERO's PROFILE*/

}

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

/*----------
01.top
----------*/

/*HERO's PROFILE*/

#hero01.hero_area{
background: url("../img/top/bg01_hero.jpg") no-repeat 82% center;
background-size: cover;
}

#hero02.hero_area{
background: url("../img/top/bg02_hero.jpg") no-repeat 76% center;
background-size: cover;
}

#hero03.hero_area{
background: url("../img/top/bg03_hero.jpg") no-repeat 75% center;
background-size: cover;
}

#hero04.hero_area{
background: url("../img/top/bg04_hero.jpg") no-repeat 85% center;
background-size: cover;
}

#hero05.hero_area{
background: url("../img/top/bg05_hero.jpg") no-repeat 76% center;
background-size: cover;
}

}


@media only screen and (max-width:750px){
/*----------
01.top
----------*/

#sp-fixed-menu li {
	/* font-size: 12px; */
	font-size: 10px;
}
#sp-fixed-menu li a{
	padding:10px;
}

/* --- loading --- */
#showloading.slide_up{
top: -150%;
background: #fff;
}

#showloading .passing_box .passing_txt {
font-size: 18px;
}
/* --- END loading --- */

#front_page #section01 .contents .logo{
max-width: 98px;
top: 12px;
left: 9px;
}

#front_page #section01 .contents .catchcopy{
font-size: 60px;
line-height: 60px;
}

#front_page #section01 .contents .bnr{
width: 62%;
}

/* 二つ目開くやつ */
#front_page #section02 .contents .title_box{
top: 45%;
}

#front_page #section02 .contents .title{
font-size: 120px;
line-height: 100px;
}

#front_page #section02 .contents .sub_title{
font-size: 30px;
line-height: 39px;
}

#front_page #section02 .contents .catchcopy_box{
width: 100%;
padding: 58px 0 0;
height: 147px;
}

#front_page #section02 .contents .catchcopy_box::before{
width: 424px;
height: 424px;
left: 50%;
transform: translateX(-50%);
}

#front_page #section02 .contents .catchcopy_box .catchcopy{
font-size: 30px;
line-height: 38px;
}

#front_page #section02 .contents .catchcopy_box .catchcopy span{
font-size: 25px;
}

#front_page #header_top .contents_in{
padding: 21px 0 0;
width: 90%;
}

#front_page #header_top .logo{
max-width: 75px;
}

#front_page #header_top .header_right .nav_btn{
width: 40px;
height: 32px;
}

#front_page #header_top .header_right .nav_btn .nav_line{
border-width: 3px;
}

#front_page #header_top .header_right .nav_btn .nav_line03{
top: 29px;
}

#front_page header.active #header_top .header_right .nav_btn .nav_line01{
-webkit-transform: translateY(14.5px) rotate(-45deg);
transform: translateY(14.5px) rotate(-45deg);
}

#front_page header.active #header_top .header_right .nav_btn .nav_line03{
-webkit-transform: translateY(-14.5px) rotate(45deg);
transform: translateY(-14.5px) rotate(45deg);
}

#front_page #globalnav_area .globalnav_g{
border-color: #000;
}

#front_page #mainvisual_area::before{
content: "";
display: block;
border:none;
background: url(../img/top/mainimg_parts01_sp.png) no-repeat center bottom;
background-size: 100% auto;
width: 100%;
height: calc(100vw*160/750);
position: absolute;
top: 78px;
}

#front_page #mainvisual_area::after{
content: "";
display: block;
border:none;
background: url(../img/top/mainimg_parts02_sp.png) no-repeat center bottom;
background-size: 100% auto;
width: 100%;
height: calc(100vw*816/750);
position: absolute;
bottom: 23px;
z-index: -1;
}

#front_page #mainvisual_area .cnt_g{
position: relative;
height: 100vh;
}

#front_page #mainvisual_area h1{
margin: 0;
position: absolute;
top: 110px;
}

#front_page #mainvisual_area h1::before, #front_page #mainvisual_area h1::after{
content: none;
}

#front_page #mainvisual_area h1 img{
width: 100%;
max-width: 750px;
}

#front_page #mainvisual_area .mainimg{
position: absolute;
top: 166px;
}

#front_page #mainvisual_area .mainimg::before{
content: none;
}

#front_page #mainvisual_area .counseling_btn{
max-width: 303px;
/*bottom: 39px;*/
bottom: 15%;
left: 0;
right: 0;
margin: 0 auto;
}

#front_page #mainvisual_area .counseling_btn a{
font-size: 15px;
padding: 23px 23px 22px 25px;
}

#front_page #mainvisual_area .counseling_btn a:after{
width: 29px;
top: 26px;
right: 23px;
}

#front_page #mainvisual_area .bnr{
width: 62%;
bottom: 40%;
transform: translateY(50%);
left: 0;
right: 0;
margin: 0 auto;
}

#front_page .cnt_area .contents_in{
width: 100%;
}

#front_page .cnt_area .cnt_box h2{
font-size: 88px;
}

#front_page .cnt_area .cnt_box .target_text span{
font-size: 14px;
padding: 5px 10px 4px 8px;
}

#front_page .cnt_area .cnt_box .target_text span.text02{
font-size: 14px;
padding: 5px 11px 4px 8px;
}

#front_page .cnt_area .cnt_box .gene_box .gene_title{
font-size: 26px;
line-height: 25px;
}

#front_page .cnt_area .cnt_box .gene_box .gene_text{
font-size: 107px;
line-height: 85px;
}


#front_page .cnt_ptn01 .cnt_box h2{
-ms-writing-mode: tb-rl;
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
transform: rotate(180deg);
position: absolute;
bottom: 32px;
right: -28px;
}

#front_page .cnt_ptn02 .cnt_box h2{
margin: 0 0 0 9px;
padding: 12px 0 0;
text-align: center;
}

#front_page .cnt_ptn01 .cnt_box .gene_box{
bottom: 6px;
left: auto;
right: 29px;
}

#front_page #beauty_area{
background-image: url(../img/top/bg_beuaty_sp.png);
background-position: center top;
}

#front_page #beauty_area .cnt_box .target_text{
bottom: auto;
right: 48%;
top: 24px;
transform: translateX(50%);
}

#front_page #beauty_area .cnt_img{
max-width: 200px;
padding: 0;
margin: 0;
}

#front_page #goodstyle_area{
background-image: url(../img/top/bg_goodstyle_sp.png);
}

#front_page #goodstyle_area .cnt_box h2{
max-width: 164px;
width: 100%;
}

#front_page #goodstyle_area .cnt_box .target_text{
left: 13px;
bottom: 110px;
}

#front_page #goodstyle_area .cnt_box .gene_box {
bottom: 16px;
right: 6px;
padding: 0 53px 0 0;
}

#front_page #goodstyle_area .cnt_box .gene_box p{
-ms-writing-mode: tb-rl;
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
position: absolute;
bottom: 0;
right: 0;
height: 144px;
}

#front_page #goodstyle_area .cnt_img{
max-width: 208px;
padding: 0;
margin: 0;
}

#front_page #dietbeauty01_area{
background-image: url(../img/top/bg01_beautydiet_sp.png);
}

#front_page #dietbeauty01_area .cnt_box h2{
bottom: 22px;
}

#front_page #dietbeauty01_area .cnt_box .target_text{
bottom: 110px;
right: auto;
left: 13px;
}

#front_page #dietbeauty01_area .cnt_box .gene_box{
right: 14px;
bottom: 14px;
}

#front_page #dietbeauty01_area .cnt_box .cnt_img{
max-width: 208px;
padding: 0;
margin: 0;
}

#front_page #dietbeauty02_area{
background-image: url(../img/top/bg02_beautydiet_sp.png);
}

#front_page #dietbeauty02_area .cnt_box h2{
max-width: 197px;
width: 100%;
padding: 28px 0 0;
margin: 0 0 0 14px;
}

#front_page #dietbeauty02_area .cnt_box .target_text{
bottom: 110px;
left: 13px;
}

#front_page #dietbeauty02_area .cnt_box .gene_box{
bottom: 14px;
right: 14px;
}

#front_page #dietbeauty02_area .cnt_box .cnt_img{
max-width: 208px;
padding: 0;
margin: 0;
}

#front_page #dietbeauty03_area{
background-image: url(../img/top/bg03_beautydiet_sp.png);
}

#front_page #dietbeauty03_area .cnt_box h2{
bottom: auto;
top: 34px;
font-size: 81px;
}

#front_page #dietbeauty03_area .cnt_box .target_text{
bottom: 110px;
left: 13px;
}

#front_page #dietbeauty03_area .cnt_box .gene_box {
bottom: -6px;
right: 6px;
padding: 0 49px 0 0;
}

#front_page #dietbeauty03_area .cnt_box .gene_box p{
-ms-writing-mode: tb-rl;
-webkit-writing-mode: vertical-rl;
writing-mode: vertical-rl;
position: absolute;
bottom: 22px;
right: 0;
height: 144px;
}

#front_page #dietbeauty03_area .cnt_box .cnt_img{
max-width: 208px;
padding: 0;
margin: 0;
}

#front_page #section02 .contents .title_box{
top: 93px;
}

#front_page #section02 .contents .title{
font-size: 110px;
}

#front_page #section02 .contents .title span{
display: block;
}

#front_page #section02 .contents .sub_title{
font-size: 28px;
line-height: 32px;
margin: -5px 0 0;
}

#front_page #section02 .contents .catchcopy_box .catchcopy{
font-size: 26px;
height: 38px;
}

#front_page #power_area{
/* padding: 0 0 226px; */
background-image: url(../img/top/bg_gympower_sp.png);
}

#front_page #power_area h2{
max-width: 226px;
width: 100%;
padding: 56px 0 0;
margin: 0 auto -10px;
}

#front_page #power_area .parts{
font-size: 7px;
width: 7px;
top: 35px;
}

#front_page #power_area .parts::after{
height: 116px;
}

#front_page #power_area .left_parts{
padding: 0 0 126px;
left: 10px;
}

#front_page #power_area .right_parts{
padding: 126px 0 0;
right: 10px;
}

#front_page #power_area .cnt_g{
display: block;
}

#front_page #power_area .cnt_box{
width: 84%;
margin: 0 auto 31px;
}

#front_page #power_area .cnt_box a{
padding: 28px 0 23px;
}

#front_page #power_area .cnt_box h3{
font-size: 25px;
line-height: 33px;
padding: 0 0 17px;
}

#front_page #power_area .cnt_box h3 span{
font-size: 20px;
display: block;
margin: 0;
}

#front_page #voice_area{
padding: 0 0 37px;
}

#front_page #voice_area h2{
font-size: 106px;
line-height: 84px;
}

#front_page #voice_area .contents_in{
width: 91%;
}

#front_page #voice_area .cnt_g{
display: block;
margin: 0 auto;
}

#front_page #voice_area .cnt_box{
width: 100%;
max-width: none;
}

#front_page #voice_area .cnt_box .cnt_img{
max-width: 243px;
}

#front_page #voice_area .cnt_box .cnt_img img.pc{
display: none;
}

#front_page #voice_area .cnt_box .cnt_img img.sp{
display: block;
}

#front_page #voice_area .cnt_box .cnt_text{
max-width: 310px;
}

#front_page #voice_area .cnt_box .cnt_text .name_box{
font-size: 12px;
max-width: 143px;
}

#front_page #voice_area .cnt_box .cnt_text .title{
font-size: 28px;
line-height: 34px;
margin: 0 0 8px;
}

#front_page #voice_area .cnt_box .cnt_text p{
margin: 0 auto 33px;
}

#front_page #voice_area .slick-arrow{
width: 29px;
height: 4px;
background: none;
border: none;
font-size: 0;
background-size: 100% auto;
background-repeat: no-repeat;
background-position: center center;
position: absolute;
top: 23%;
z-index: 1;
padding: 15px 0;
}

#front_page #voice_area .slick-prev{
background-image: url(../common/img/arrow_left02.png);
left: calc(100vw*33/375);
}

#front_page #voice_area .slick-next{
background-image: url(../common/img/arrow_right07.png);
right: calc(100vw*33/375);
}



#front_page .btn_ptn03{
max-width: 303px;
}

#front_page .btn_ptn03 a{
font-family: 'DINPro';
padding: 21px 25px;
font-size: 15px;
}

#front_page .btn_ptn03 a::before{
top: 27px;
right: 23px;
}

#front_page #faq_area{
padding: 22px 0 24px;
}

#front_page #faq_area .contents_in{
width: 100%;
}

#front_page #faq_area .h2_g{
padding: 0 0 21px;
width: 94%;
margin: 0 auto;
}

#front_page #faq_area .h2_g::before, #front_page #faq_area .h2_g::after{
height: 80px;
bottom: 0;
}

#front_page #faq_area h2{
font-size: 106px;
}

#front_page #faq_area h2::before, #front_page #faq_area h2::after{
width: 17%;
}

#front_page #faq_area .cnt_g{
width: 100%;
}

#front_page #faq_area .question_box{
padding: 22px 22px 21px;
}

#front_page #faq_area .question_box dd{
width: 65.7%;
}

#front_page #faq_area .answer_box{
padding: 23px 21px 30px;
}

#front_page #faq_area .btn_ptn03{
margin: 22px auto 0;
}

#front_page #news_area{
padding: 33px 0 56px;
}

#front_page #news_area .contents_in{
width: 88%;
}

#front_page #news_area .cnt_g{
margin: 0 auto 28px;
}

#front_page #news_area h2{
font-size: 106px;
}

#front_page #news_area dl{
font-size: 14px;
}

#front_page #blog_area{
padding: 33px 0 56px;
}

#front_page #blog_area .cnt_g{
margin: 0 auto 28px;
display: block;
}

#front_page #blog_area h2{
font-size: 106px;
}

#front_page #blog_area .cnt_g .cnt_box, 
#front_page #blog_area .cnt_g .cnt_box:nth-of-type(3n){
width: 100%;
margin: 0 auto 40px;
}


#front_page footer{
padding: 40px 0 70px;
}

#front_page footer #footer_top{
display: block;
margin: 0 auto 42px;
}

#front_page footer .logo{
margin: 0 auto 31px;
}

#front_page footer .sns_g{
max-width: 177px;
margin: 0 auto;
}

#front_page footer .sitemap_g{
max-width: 336px;
flex-wrap: wrap;
line-height: 26px;
}

#front_page footer .sitemap_g li:nth-child(3) a::after{
content: none;
}




/*HERO's PROFILE*/

.modaal-inner-wrapper {
padding: 0;
}

.hero_area {
padding: 35px 0;
border: none;
}

.hero_area .cnt_box {
width: 82%;
margin: 0 auto 35px;
}

#hero01.hero_area{
background: url("../img/top/bg01_hero_sp.jpg") no-repeat right center;
background-size: cover;
}

#hero02.hero_area{
background: url("../img/top/bg02_hero_sp.jpg") no-repeat right top;
background-size: cover;
}

#hero03.hero_area{
background: url("../img/top/bg03_hero_sp.jpg") no-repeat right center;
background-size: cover;
}

#hero04.hero_area{
background: url("../img/top/bg04_hero_sp.jpg") no-repeat right center;
background-size: cover;
}

#hero05.hero_area{
background: url("../img/top/bg05_hero_sp.jpg") no-repeat right center;
background-size: cover;
}

.hero_area .cnt_box .profile_g{
margin: 0 0 146px;
}

.hero_area .cnt_box .profile_g .profile {
font-size: 66px;
line-height: 66px;
margin: 0;
}

.hero_area .cnt_box .profile_g .sub_text {
line-height: 20px;
}

.hero_area .cnt_box .title {
font-size: 20px;
line-height: 32px;
}

.hero_area .cnt_box p {
line-height: 28px;
}

.hero_area .close_btn {
width: 43px;
height: 43px;
background-size: 11px;
}
/*END HERO's PROFILE*/


/* FCUL */
#front_page #news_area img.fcul_title{
	width:200px;
}

}

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

#front_page #mainvisual_area .counseling_btn{
bottom:12vh;
}

#sp-fixed-menu li {
	font-size: 10px;
}

}