@charset "utf-8";
/* ------------------------------------------------------------ common */

#fv { position: relative; width: auto; height: 100vh; width: 100%; color: #fff; }
#fv .overlay { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; }
#fv .overlay:after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;
	background: url(../images/fv_ol.png) no-repeat center center; 
	background-size: cover;
}
#fv .fv { z-index: 2; position: absolute; padding: 80px; left: 0; bottom: 0; display: flex; justify-content: space-between; align-items: end; width: 100%; box-sizing: border-box; }

#fv .bg { padding: 0px; height: 100%; position: absolute; width: 100%; left: 0; top: 0; z-index: 1; }
/*
#fv .bg .vegas-slide,
#fv .bg .vegas-slide-inner { width: 100%; height: 100%; position: relative; left: 0; top: 0; }
*/

#fv .overlay .sign { display: flex; align-items: center; font-weight: 600; font-family: 'neue-haas-grotesk-display',sans-serif; position: absolute; bottom: 0; top: 0; height: 16px; margin: auto; right: 50px; z-index: 3; }
#fv .overlay .sign span { width: 47px; height: 1px; margin: 0 14px; background-color: #fff;}

#fv .scroll { right: -20px; bottom: 100px; padding: 10px 0; width: 160px; cursor: pointer; display: inline-block; position: absolute; font-weight: 400; font-size: 13px; font-family: 'arimo', sans-serif; letter-spacing: 0.05em; text-decoration: none; transform: rotate(90deg); }
#fv .scroll:after { content: ''; position: absolute; top: 50%; right: 0; width: 90px; height: 1px; background: #fff;}


#about { text-align: center; }
#about .inner { padding: 0 0 50px; }
#about .flex { position: relative; height: 100%; justify-content: center; align-items: center; }
#about .flex div,
#about .flex p { width: 100%; }
#about div div { background: url(../images/pic_02.png) no-repeat center top; padding: 65px 19px 28px; margin-bottom: 89px;}
#about h3 { font-weight: 500; font-size: 40px;}
#about p { font-size: 25px; line-height: 2.8; letter-spacing: 0.05em; margin-bottom: 145px;}
#about .arrow { display: inline-block; cursor: pointer; font-size: 14px; line-height: 0; letter-spacing: 0; margin-bottom: 0;}
#about .arrow:after { display: block; content: ""; width: 47px; height: 51px; background: url(../images/icn_02.png) no-repeat center top; margin: 22px auto 0;}


#phrase01 .overlay:before { background: url(../images/bg_01.jpg) no-repeat center center; background-size: cover;}
#phrase02 .overlay:before { background: url(../images/bg_02.jpg) no-repeat center center; background-size: cover;}
#phrase03 .overlay:before { background: url(../images/bg_03.jpg) no-repeat center center; background-size: cover;}
#phrase04 .overlay:before { background: url(../images/bg_04.jpg) no-repeat center center; background-size: cover;}
#phrase05 .overlay:before { background: url(../images/bg_05.jpg) no-repeat center center; background-size: cover;}
#phrase06 .overlay:before { background: url(../images/bg_06.jpg) no-repeat center center; background-size: cover;}
#phrase07 .overlay:before { background: url(../images/bg_07.jpg) no-repeat center center; background-size: cover;}
#phrase08 .overlay:before { background: url(../images/bg_08.jpg) no-repeat center center; background-size: cover;}
#phrase09 .overlay:before { background: url(../images/bg_09.jpg) no-repeat center center; background-size: cover;}
#phrase10 .overlay:before { background: url(../images/bg_10.jpg) no-repeat center center; background-size: cover;}
#phrase_etc .overlay:before { background: url(../images/bg_etc.jpg) no-repeat center center; background-size: cover;}


.phrase_img { display: flex; flex-wrap: wrap; align-items: center; box-sizing: border-box; position: relative; width: 100%; padding: 0 50px; min-width: 1300px; min-height: 100vh; margin: 0 auto; }

.phrase_img .overlay { position: fixed; width: calc(100% - 100px); right: 0; left: 0; height: calc(100% - 170px); margin: 0 auto; bottom: 50px; }
.phrase_img .overlay::after { content: ''; display: block; width: 100%; height: 100%; left: 0; top: 0; position: absolute; z-index: 0;
	background: url(../images/bg_ol.png) no-repeat center center; 
	background-size: cover;
}

#phrase_etc .overlay::after { content: ''; display: block; width: 100%; height: 100%; left: 0; top: 0; position: absolute; z-index: 0;	background: none; }


.phrase_img .overlay:before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }

.phrase_img .overlay .phrase_inner { z-index: 1; position: relative; top: 0%; width: 100%; height: 100%; margin: 0 auto; box-sizing: border-box; padding: 40px 50px;}
.phrase_img .overlay .phrase_inner p { position: relative; font-weight: 600; font-size: 21px; font-family: 'neue-haas-grotesk-display',sans-serif; }
.phrase_img .overlay .phrase_inner p:after { position: absolute; top: 50%; content: ""; display: inline-block; width: calc( 100% - 82px); height: 1px; margin-left: 18px; background-color: #fff;}
.phrase_img .overlay .phrase_inner .num { font-size: 32px; padding: 30px 0; }
.phrase_img .overlay .phrase_inner .num:after { content: none;}
.phrase_img .overlay .phrase_inner .num span { font-size: 130px;}
.phrase_img .overlay .phrase_inner div { position: absolute; bottom: 40px; width: calc(100% - 100px); }
.phrase_img .overlay .phrase_inner h3 { font-weight: 900; font-size: 65.25px; line-height: 1.318; font-family: 'toppan-bunkyu-midashi-min-st', sans-serif; margin-left: -40px; padding-bottom: 29px;}
.phrase_img .overlay .phrase_inner h3 span { display: block; margin-left: 1em;}
.phrase_img .overlay .phrase_inner h4 { font-weight: 400; font-size: 48px; line-height: 1.104; font-family: 'cormorant-garamond', serif; letter-spacing: 0.05em; width: 100%; }
.phrase_img .overlay .phrase_inner h4 span { display: block; margin-left: 21px; }
.phrase_img .overlay .phrase_inner h4:after { display: block; content: ""; width: 100%; height: 1px; margin-top: 29px; background-color: #fff;}

#phrase_etc .overlay .phrase_inner h3 { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font-weight: 900; font-size: 81px; line-height: 1.318; font-family: 'cormorant-garamond', serif; margin-left: 0; padding-bottom: 0; text-align: center;}
#phrase_etc .overlay .phrase_inner h3 span { display: block; margin-left: 0; font-size: 30px; font-family: 'source-han-sans-japanese', sans-serif;}


h4 .line{ font-family: 'toppan-bunkyu-midashi-min-st', sans-serif; }

.phrase_answer { position: relative; min-height: 100vh; box-sizing: border-box; padding: 150px 50px 100px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; }
.phrase_answer .inner { padding: 0 0 50px; }
.phrase_answer p { font-size: 26px; letter-spacing: 0.05em; margin-bottom: 33px;}
.phrase_answer p:after { display: block; content: ""; width: 1px; height: 71px; margin: 25px auto 0; background-color: #000;}
.phrase_answer h3 { font-size: 30px; letter-spacing: 0.05em; padding: 0 0 68px;}

.phrase_answer .answer_img { display: flex; justify-content: center; align-items: center; padding: 0 0 50px; }
.phrase_answer .answer_img img { margin-right: -156px;}

.phrase_answer .answer_img div { display: block; width: 722px; padding: 57px 0 48px 43px; text-align: start; background-color: rgba(255,255,255,0.91);}
.phrase_answer .answer_img div h4 { font-weight: 400; font-size: 47px; font-family: 'cormorant-garamond', serif; margin-bottom: 44px; letter-spacing: 0.03em;}
.phrase_answer:nth-of-type(8) .answer_img div h4 { font-size: 38px; letter-spacing: 0;}
.phrase_answer .answer_img div h4 span { display: block; margin-left: 13px; padding: 5px 0 0; word-break: break-word; }
.phrase_answer .answer_img div p { font-weight: 900; font-size: 25px; font-family: 'toppan-bunkyu-midashi-min-st', sans-serif;}
.phrase_answer .answer_img div p span { display: block; margin-left: 1em;}
.phrase_answer .answer_img div p:after { display: block; content: ""; width: 605px; height: 1px; margin: 43px 0 0; background-color: #000;}

.phrase_answer .arrow { width: 100%; bottom: 0; left: 0; bottom: 10px; cursor: pointer; font-size: 14px; line-height: 0; letter-spacing: 0; margin-bottom: 0;}
.phrase_answer .arrow:after { display: block; content: ""; width: 47px; height: 51px; background: url(../images/icn_02.png) no-repeat center top; margin: 22px auto 0;}


.others { padding-top: 60px;}
.others h3 { font-size: 40px; letter-spacing: 0.05em; margin-bottom: 44px; text-align: center;}
.others .other_flex { display: flex; justify-content: space-between; flex-wrap: wrap; width: 1100px; margin: 0 auto ;}
.others .phrase_box { width: 540px; height: auto; background:  url(../images/pic_18.png) no-repeat center center; background-size: cover; margin-bottom: 21px; border-radius: 20px;}
.others .phrase_box .box_inner {  padding: 40px 27px 26px;}
.others .phrase_box .phrase { font-size: 30px; font-family: 'cormorant-garamond', serif; letter-spacing: 0.03em; margin-bottom: 29px; text-align: center; word-break: break-word;}
.others .phrase_box .phrase span { display: block; font-size: 18px; font-family: 'toppan-bunkyu-midashi-min-st', sans-serif; letter-spacing: 0.05em; margin-top: 17px;}
.others .box_bottom { display: flex; align-items: center; border-top: 1px solid #aeaaa9; padding-top: 20px;}
.others .box_bottom p { font-size: 20px; line-height: 1.6; letter-spacing: 0.05em; margin-left: 17px;}
.others .box_bottom div { width: 95px; height: 95px; background-color: #fff; border-radius: 50%;}
.others .box_bottom div p { font-size: 12px; line-height: 1.25; letter-spacing: -0.02em; white-space: nowrap; margin: 31px 0 0 10px; }

#twitter { text-align: center; padding: 50px 0 ; background: #eae7c1; margin: 100px 0 0;}
#twitter .inner  { background: #fff; width: 1100px; margin: 0 auto; padding: 100px 0;}
#twitter h3 { font-size: 30px; padding: 0 0 50px;}

#line { text-align: center; padding: 100px 0 ; }
#line .inner  { background: #fff; width: 1100px; margin: 0 auto; padding: 100px 0;}
#line h3 { font-size: 30px; padding: 0 0 50px;}


.btns { display: block; background: #06c755 url(../images/icn_03.svg) no-repeat 8% center; border-radius: 46px; width: 506px; font-size: 22px; margin: 0 auto ;}
.btns a { display: block; color: #fff; padding: 36px 67px 36px 117px;}


#twitter .btns { display: block; background: #1d9bf0 url(../images/t_icon.svg) no-repeat 8% center; background-size: 37px auto;  border-radius: 46px; width: 405px; font-size: 22px; margin: 0 auto ;}
#twitter .btns a { display: block; color: #fff; padding: 36px 67px 36px 79px;}



#policy { padding: 158px 0 146px; background-color: #fef2f2; text-align: center;}
#policy h3 {  font-size: 30px; padding: 0 0 100px; }
#policy p { font-size: 28px; line-height: 2.179; letter-spacing: 0.05em; padding-bottom: 70px;}
#policy p:last-child { margin-bottom: 135px;}



#links { padding: 0 0 164px;}
#links h3 {  font-size: 30px; padding: 0 0 100px; text-align: center;}
#links .links { width: 1100px; margin: 0 auto;}
#links ul { display: flex; justify-content: space-between; margin-bottom: 106px;}
#links li { text-align: center;}
#links li img{ width: 100%; height: auto; }
#links li img:first-child { margin-bottom: 24px;}
#links li div img{ width: 260px; height: auto; }
#links li.corporation div img{ padding: 6px 0 0; }
#links li.eccjr div img,
#links li.gaigo div img{ width: 200px; }
#links ul a{ width: 260px; }


.modal_menu { display: none; position: fixed; top: 0; width: 100%; height: 100vh; color: #fff; box-sizing: border-box; background-color: #070707; z-index: 21; overflow: auto;}
.modal_inner { width: 1100px; padding: 30px 50px; margin: 0 auto;}

.modal_menu img { margin-bottom: 29px;}
.modal_menu ul { display: flex; justify-content: space-between; flex-wrap: wrap; border-top: 1px solid #fff; padding-top: 36px;}
.modal_menu li { width: 50%; margin-bottom: 48px;}
.modal_menu li a { display: block; color: #fff; text-decoration: none;}
.modal_menu li a .phrase { display: flex; align-items: baseline;}
.modal_menu li a .phrase div { width: 96%;}
.modal_menu li .num { font-weight: 600; font-family: 'neue-haas-grotesk-display',sans-serif; width: 4%;}
.modal_menu li .phr_ja { font-weight: 900; font-size: 28px; line-height: 1.536; font-family: 'toppan-bunkyu-midashi-min-st', sans-serif; letter-spacing: 0.05em; margin-bottom: 11px;}
.modal_menu li .phr_ja span { display: block; margin-left: 1em;}
.modal_menu li .phr_en { font-weight: 400; font-size: 18px; font-family: 'cormorant-garamond', serif; letter-spacing: 0.05em; color: #b1b1b1; margin-left: 1em;}
.modal_menu li .phr_en span { display: block; margin-left: 0.5em;}

.modal_menu .btn a { display: block; background: #fff; color: #000; width: 300px; height: 60px; line-height: 60px; text-align: center; font-weight: light; }

.phrase_img .overlay .phrase_inner div.en-sound { position: absolute; bottom: 80px; right: 50px; text-align: right;}
.en-sound span { display: inline-block; border: 1px solid #fff; border-radius: 30px; width: 185px; height: 60px; line-height: 60px; text-align: center; font-size: 20px; cursor: pointer; margin: 0 10px 0 0 ;}
.en-sound span img { margin: 0 10px 0 0; }
/* ------------------------------------------------------------ PC break point ------------------------------------------------------------ */
@media only screen and (max-width: 1400px) {
	
	header { padding: 50px 30px; }
	
	#fv .fv { padding: 50px; } 
	#fv .fv h2 { width: 100%; }
	#fv .fv h2 img { width: 80%; height: auto; }
	.phrase_img { min-width: 100%; padding: 0 30px; }
	.phrase_img .overlay { width: calc(100% - 60px); bottom: 30px; height: calc(100% - 130px); }
	.phrase_img .overlay .phrase_inner h3 { font-size: 5vw; margin-left: -20px; }
	.phrase_img .overlay .phrase_inner h4 { font-size: 4vw; }
	.phrase_img .overlay .phrase_inner .num { font-size: 2vw; padding: 1vw 0; }
	.phrase_img .overlay .phrase_inner .num span { font-size: 9vw; }
	.phrase_img .overlay .phrase_inner { padding: 2vw 3%; }
	.phrase_img .overlay .phrase_inner div { width: 94%; bottom: 100px;}
	
	#phrase01 .overlay:before { background: url(../images/bg_01.jpg) no-repeat 90% center; background-size: cover;}
	#phrase02 .overlay:before { background: url(../images/bg_02.jpg) no-repeat center center; background-size: cover;}
	#phrase03 .overlay:before { background: url(../images/bg_03.jpg) no-repeat 35% center; background-size: cover;}
	#phrase04 .overlay:before { background: url(../images/bg_04.jpg) no-repeat 80% center; background-size: cover;}
	#phrase05 .overlay:before { background: url(../images/bg_05.jpg) no-repeat  10% center; background-size: cover;}
	#phrase06 .overlay:before { background: url(../images/bg_06.jpg) no-repeat center center; background-size: cover;}
	#phrase07 .overlay:before { background: url(../images/bg_07.jpg) no-repeat center center; background-size: cover;}
	#phrase08 .overlay:before { background: url(../images/bg_08.jpg) no-repeat 90% center; background-size: cover;}
	#phrase09 .overlay:before { background: url(../images/bg_09.jpg) no-repeat center center; background-size: cover;}
	#phrase10 .overlay:before { background: url(../images/bg_10.jpg) no-repeat center center; background-size: cover;}
	
	.phrase_answer { padding: 150px 30px 100px; }
	.phrase_answer h3 { padding: 0 0 40px; font-size: 24px; }
	.phrase_answer .answer_img img { width: 100%; height: auto; min-width: 480px; }
	.phrase_answer .answer_img div { padding: 3vw 0 4vw 30px;width: 86%; }
	.phrase_answer .answer_img div h4 { font-size: 3.5vw; margin: 0; padding: 0 0 2vw; }
	.phrase_answer:nth-of-type(8) .answer_img div h4 { font-size: 3vw; }
	.phrase_answer .answer_img div p { font-size: 2vw; position: relative; padding: 0 0 2vw; margin: 0; }
	.phrase_answer .answer_img div p::after { margin: 0; position: absolute; width: 100%; bottom: 0; }
	
	.phrase_img .overlay .phrase_inner div.en-sound { position: absolute; bottom: 20px; left: 0; width: 94%; text-align: left; margin: 0 auto; right: 0;}
.en-sound span { display: inline-block; border: 1px solid #fff; border-radius: 30px; width: 185px; height: 60px; line-height: 60px; text-align: center; font-size: 20px; cursor: pointer; margin: 0 10px 0 0 ;}
	.modal_menu { display: none; position: fixed; top: 0; width: 100%; height: 100vh; max-height: -webkit-fill-available; color: #fff;background-color: #070707; z-index: 21;}
	.modal_inner { width: 90%; margin: 0 auto; padding: 30px 0;}
	
	.modal_menu img { width: 50%; height: auto; margin-bottom: 29px;}
	.modal_menu ul { display: block; padding-top: 36px;}
	.modal_menu li { width: 100%; margin-bottom: 15px;}
	.modal_menu li a { display: block; color: #fff; text-decoration: none;}
	.modal_menu li .num { width: 6%;}
	.modal_menu li a .phrase { display: flex; align-items: baseline;}
	.modal_menu li a .phrase div { width: 94%;}
	.modal_menu li .phr_ja { font-weight: 900; font-size: 20px; line-height: 1.4; font-family: 'toppan-bunkyu-midashi-min-st', sans-serif; letter-spacing: 0.05em; margin-bottom: 11px;}
	.modal_menu li .phr_en { font-weight: 400; font-size: 14px; font-family: 'cormorant-garamond', serif; letter-spacing: 0.05em; color: #b1b1b1; margin-left: 1em;}
	.modal_menu .btn { padding: 30px 0 0 ; }
	.modal_menu .btn a { display: block; background: #fff; color: #000; width: 80%; height: 60px; line-height: 60px; text-align: center; font-weight: light; margin: 0 auto;}

	
}

@media only screen and (max-width: 1100px){
	.others .other_flex { display: block; width: 90%; margin: 0 auto ;}
	.others .phrase_box { width: 100%; height: auto; background:  url(../images/pic_18.png) no-repeat center center; background-size: cover; margin-bottom: 21px; border-radius: 20px;}
	.others .box_bottom { justify-content: center;}
	
	#links .links { width: 560px; margin: 0 auto;}
	#links ul { display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 106px;}
	
	#twitter .inner  { width: 100%;}
	#twitter h3 { line-height: 150%;}
	#twitter h3 .SP { display: block;}
	
	#links .foreignlang { width: 100%; height: auto;}
}

/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
@media only screen and (max-width: 810px) {

	header { width: 100%; padding: 20px 25px; }
	header h1 img{ width: 58.5px; height: 20px; }

	#fv { min-width: 325px; min-height: 0; height: 100vh; max-height: -webkit-fill-available; }

	#fv .overlay { /* background: url(../images/fv_sp.jpg) no-repeat center center; */ height: 100%; }
	#fv .overlay:after { height: 100vh; }
	#fv .fv { position: absolute; padding: 0 6% 30px; }
	#fv .fv h2 img { width: 60%; }

	#fv .overlay .sign { display: none;}
	#fv .scroll { font-size: 10px; bottom: 70px; right: -15px; width: 105px; }
	#fv .scroll:after { top: 50%; width: 45px;}

	#about { }
	#about div div { background: url(../images/pic_sp_02.png) no-repeat center top; background-size: contain; padding: 33.5px 11.5px; margin-bottom: 44px;}
	#about h3 { font-weight: 500; font-size: 20px; line-height: 150%;}
	#about p { font-size: 13px; margin-bottom: 50px;}
	#about .arrow { font-size: 10px;}
	#about .arrow:after { width: 23px; height: 26px; background-size: contain; margin: 11px auto 0;}
	#about .inner { width: 100%; }
	
	
/*
	#phrase01 .overlay:before { background: url(../images/fv_01.jpg) no-repeat center center; background-size: cover;}
	#phrase02 .overlay:before { background: url(../images/fv_02.jpg) no-repeat center center; background-size: cover;}
	#phrase03 .overlay:before { background: url(../images/fv_03.jpg) no-repeat center center; background-size: cover;}
	#phrase04 .overlay:before { background: url(../images/fv_04.jpg) no-repeat center center; background-size: cover;}
	#phrase05 .overlay:before { background: url(../images/fv_05.jpg) no-repeat center center; background-size: cover;}
	#phrase06 .overlay:before { background: url(../images/fv_06.jpg) no-repeat center center; background-size: cover;}
	#phrase07 .overlay:before { background: url(../images/fv_07.jpg) no-repeat center center; background-size: cover;}
	#phrase08 .overlay:before { background: url(../images/fv_08.jpg) no-repeat center center; background-size: cover;}
	#phrase09 .overlay:before { background: url(../images/fv_09.jpg) no-repeat center center; background-size: cover;}
	#phrase10 .overlay:before { background: url(../images/fv_10.jpg) no-repeat center center; background-size: cover;}
*/
	.phrase_img { min-width: inherit; padding: 0 4%; }
	.phrase_img .overlay { width: 92%; height: calc(100% - 90px); bottom: 25px; }
	.phrase_img .overlay .phrase_inner { padding: 15px 4%; }
	
	.phrase_img .overlay .phrase_inner,
	.phrase_img .overlay::before,
	.phrase_img .overlay::after { height: 36%; min-height: 220px; }

	.phrase_img .overlay .phrase_inner p { font-size: 10.5px; }
	.phrase_img .overlay .phrase_inner p:after { top: 50%; width: calc( 100% - 44px); margin-left: 11px;}
	.phrase_img .overlay .phrase_inner .num { font-size: 16px;}
	.phrase_img .overlay .phrase_inner .num:after { content: none;}
	.phrase_img .overlay .phrase_inner .num span { font-size: 40px;}
	.phrase_img .overlay .phrase_inner .phrase_inner div { bottom: 20px; width: 92%; }
	.phrase_img .overlay .phrase_inner h3 { font-size: 20px; line-height: 155%; margin-left: -13px; padding-bottom: 11px;}
	.phrase_img .overlay .phrase_inner h3 span { display: block; margin-left: 1em;}
	.phrase_img .overlay .phrase_inner h4 { font-size: 14px; line-height: 100%; padding: 0; }
	.phrase_img .overlay .phrase_inner h4 span { display: block; margin-left: 8px; }
	.phrase_img .overlay .phrase_inner h4:after { margin-top: 10px; }
	.phrase_img .overlay .phrase_inner div { width: 92%; bottom: 15px; }

	#phrase_etc .overlay .phrase_inner h3 {  font-size: 24px;}
	#phrase_etc .overlay .phrase_inner h3 span { font-size: 12px;}


	.phrase_answer { padding: 0; height: 64%; min-height: 0; max-height: -webkit-fill-available; text-align: center; }
	.phrase_answer .inner { width: 100%; padding: 15px 0; }
	.phrase_answer p { font-size: 14px; margin-bottom: 0; padding: 0 0 5px; }
	.phrase_answer p:after { height: 12px; margin: 8px auto 0; }
	.phrase_answer h3 { font-size: 15px; letter-spacing: 0.05em; padding: 0 0 15px; line-height: 150%;}
	
	.phrase_answer .answer_img { display: block; position: relative; padding: 0 0 10px; }
	.phrase_answer .answer_img img { position: inherit; margin: auto; left: 0; right: 0; top: 0; width: 66%; height: auto; min-width: 0; }
	
	.phrase_answer .answer_img div { background-color: rgba(255,255,255,0.7); width: auto; padding: 15px 3%; width: 100%; position: relative; box-sizing: border-box; }
	.phrase_answer .answer_img div h4 { font-size: 22px; margin-bottom: 0; padding: 0 0 10px; }
	#phrase03 .phrase_answer .answer_img div h4 { font-size: 18px; }
	.phrase_answer .answer_img div p { font-size: 13px;}
	.phrase_answer .answer_img div p:after { width: 100%; margin: 16px 0 0;}
	
	.phrase_answer .arrow { font-size: 10px;}
	.phrase_answer .arrow:after { width: 23px; height: 26px; background-size: contain; margin: 12px auto 0;}
	
	.phrase_img .overlay span.notice { font-size: 11px; }
/*
	.phrase_answer.answer_last  { height: calc( 100vh - ( ( 100vh - 639px ) / 2 ) ); padding: calc( ( 100vh - 639px ) / 2 ) 0 0;}
	.phrase_answer.answer_last .answer_img { margin-bottom: 70px;}
*/
	
	.others { padding-top: 0;}
	.others h3 { font-size: 24px; margin-bottom: 44px;}
	.others .other_flex { display: block; width: 90%;}
	.others .phrase_box { width: 100%; margin-bottom: 21px;  border-radius: 10px;}
	.others .phrase_box .box_inner {  padding: 30px 16px 20px;}
	.others .phrase_box .phrase { font-size: 22px; margin-bottom: 29px; text-align: center; word-break: break-word;}
	.others .phrase_box .phrase span { display: block; font-size: 14px; margin-top: 17px;}
	.others .box_bottom { display: flex; padding-top: 18px;}
	.others .box_bottom p { font-size: 13px; margin-left: 17px;}
	.others .box_bottom div { width: 55px; height: 55px;}
	.others .box_bottom div p { font-size: 7px; line-height: 1.25; letter-spacing: -0.02em; white-space: nowrap; margin: 19px 0 0 6px;}

	
	#twitter { text-align: center; padding: 20px 0; margin: 50px 0 0;}
	#twitter .inner  { background: #fff; width: 94%; margin: 0 auto; padding: 50px 0;}
	#twitter h3 { font-size: 17px; line-height: 150%; padding: 0 0 20px;}

	
	#line { text-align: center; padding: 0; margin: 50px 0 0;}
	#line .inner  { background: #fff; width: 94%; margin: 0 auto; padding: 50px 0;}
	#line h3 { font-size: 17px; line-height: 150%; padding: 0 0 20px;}
	.btns { display: block; background: #06c755 url(../images/icn_03.svg) no-repeat 8% center; border-radius: 46px; width: 90%; font-size: 14px; margin: 0 auto 0;}
	.btns a { display: block; color: #fff; padding: 30px 0px 30px 40px; text-align: center; }
	
	#twitter .btns { display: block; background: #1d9bf0 url(../images/t_icon.svg) no-repeat 8% center; background-size: 37px auto; border-radius: 46px; width: 90%; font-size: 16px; margin: 0 auto 0;}
	#twitter .btns a { display: block; color: #fff; padding: 30px 0px 30px 0; text-align: center; }
	
	
	.comming { padding: 0 0 50px; }
	.comming img { width: 100%; height:auto;  }
	
	#policy h3 { font-size: 17px; line-height: 150%; padding: 0 0 20px;}
	#policy { padding: 79px 0 73px;}
	#policy p { font-size: 14px; padding-bottom: 50px;}
	#policy p:last-child { margin-bottom: 67.5px;}
	#policy img { width: 145.5px; height: 28.5px;}
	
	#links h3 { font-size: 17px; line-height: 150%; padding: 0 0 20px;}
	#links { padding: 59px 0 54.5px;}
	#links .links { width: 80%;}
	#links ul { display: block; margin-bottom: 39px;}
	#links a { display: block; padding: 0 0 10px;}
	#links li { margin-bottom: 15px; display: flex; align-items: center;}
	#links li:last-child { margin-bottom: 0;}
	#links li div img { width: 100%; margin: 0;}
	#links li:first-child div img { width: 75%; margin: 0 auto;}
	#links li:nth-of-type(2) div img { width: 60%; margin: 0 auto;}
	#links li:last-child div img { width: 80%; margin: 0 auto;}
	#links li img { width: 50%;}	
	#links li img:first-child { margin: 0;}
	#links li div { width: 50%; text-align: center;}
	#links li:first-child div img { }
	#links li:nth-of-type(2) div img { width: 60%;}
	#links li:last-child div { width: 60%; margin-right: -30px;}	
	#links img { width: 100%; height: auto; margin: 0 auto;}
	
	#links ul a{ width: 100%; }
	
	
	
	div.en-sound { position: inherit; bottom: inherit; left: inherit; width: 94%; text-align: center; margin: 0 auto; right: inherit; padding: 0 0 15px;}
	.en-sound span { background: #e50057; display: inline-block; border: 1px solid #fff; border-radius: 30px; width: 45%; line-height: inherit; height: inherit; text-align: center; font-size: 15px; cursor: pointer; margin: 0 3px 0 3px ; color: #fff; padding: 5px 0;}
	.en-sound span img { width: 20px; height: auto; }
}



