@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap');

html, body {
	background-color: white;
	margin: 0;
	overflow-x: hidden;
	padding: 0;
	max-width: 100%;
}
body {
	color: #222222;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}
a {
	color: #222222;
	text-decoration: none;
	transition: ease .3s;
}
div {
	box-sizing: border-box;
}
h1, h2, h3, h4, h5 {
	box-sizing: border-box;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
ul, ol, li, dl, dt, dd {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
ul li, ol li {
	list-style-type: none;
}
figure, figcaption, p {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
img {
	vertical-align: bottom;
	height: auto;
	max-width: 100%;
}

main, section, article {
	box-sizing: border-box;
	display: block;
}

/** flex box **/
.flexBox {
	display: flex;
	flex-wrap: wrap;
}


@media screen and (min-width: 751px) {
	body {
		height: 100vh;
	}
}


/** --------------------
	contain
-------------------- **/

@media screen and (min-width: 751px) {
	.contain {
		background-color: white;
		box-shadow: 0 0 15px rgba(0, 0, 0, .3);
		margin: 0 auto;
		overflow-x: hidden;
		overflow-y: scroll;
		position: fixed;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		height: 100%;
		width: 100%;
		max-width: 670px;
	}
}
.contain {
	overflow-y: auto;
}


/** apply_btn **/
.apply_btn {
	text-align: center;
}
.apply_btn p {
	font-size: 30px;
	display: table;
	margin: 0 auto 10px;
	position: relative;
}
.apply_btn p::before,
.apply_btn p::after {
	background-color: white;
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	height: 34px;
	width: 2px;
}
.apply_btn p::before {
	left: -20px;
	transform: rotate(-20deg);
}
.apply_btn p::after {
	right: -20px;
	transform: rotate(20deg);
}
.apply_btn a {
	align-items: center;
	background: url("../img/icon-triangle-2.svg") no-repeat right 45px top 50% / 20px;
	background-color: #FFF353;
	border-radius: 80px;
	display: flex;
	font-size: 32px;
	font-weight: 700;
	justify-content: center;
	margin: 0 30px;
	height: 110px;
}
.apply_btn a span {
	position: relative;
}
.apply_btn a span::before {
	content: '';
	font-weight: 500;
	position: absolute;
	top: -26px;
}

/** amazon_bn_2 **/
.amazon_bn_2 {
	margin-top: 90px;
}
.amazon_bn_2 .bn {
	margin-left: -30px;
	margin-right: -25px;
}
.amazon_bn_2 span {
	display: block;
	margin: -15px auto 20px;
	position: relative;
	width: 34px;
}
.amazon_bn_2 span img {
	margin: 0;
	width: 100%;
}


/** toTop **/
.toTop {
}
.toTop a {
	color: #00BBCE;
	display: block;
	padding: 20px 0;
}
.toTop a span {
	background: url("../img/icon-arrow-2.svg") no-repeat 50% 0 / 38px;
	display: table;
	font-family: "M PLUS 1", sans-serif;
	font-size: 24px;
	margin: 0 auto;
	padding-top: 16px;
}



/** --------------------
	header
-------------------- **/
header {
	background: url("../img/pc-bgimg.png") no-repeat 0 0 / cover;
	position: fixed;
	height: 100vh;
	width: 100%;
}


/** -- point -- **/
header .point {
	background-color: white;
	border: solid 10px #00BBCE;
	border-radius: 30px;
	padding: 60px 30px;
	position: absolute;
	left: 60px;
	top: 130px;
	width: 490px;
}

header .point h2 {
	background-color: white;
	border: solid 4px #00BBCE;
	border-radius: 50px;
	color: #00BBCE;
	font-size: 24px;
	padding: 5px 20px;
	position: absolute;
	left: 50%;
	top: -30px;
	transform: translateX(-50%);
	word-break: keep-all;
}

header .point li {
	background: url("../img/icon-star.svg") no-repeat 0 50% / 40px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 50px;
}
header .point li + li {
	margin-top: 25px;
}
header .point li span {
	background: linear-gradient(transparent 0 70%, rgba(255, 243, 83, .5) 70% 100%);
	color: #00BBCE;
}


/** -- title -- **/
header .title {
	position: absolute;
	right: 60px;
	top: 50px;
	text-align: center;
	width: 490px;
}

header .title .logo {
	margin: 0 auto;
	width: 330px;
}

header .title .balloon {
	background-color: white;
	border-radius: 35px;
	color: #00BBCE;
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, .2));
	font-weight: 700;
	margin-top: 40px;
	padding: 30px;
	position: relative;
}
header .title .balloon::before {
	background-color: white;
	content: '';
	display: block;
	clip-path: polygon(50% 0, 0 100%, 100% 100%);
	position: absolute;
	left: 50%;
	top: -25px;
	transform: translateX(-50%);
	height: 25px;
	width: 30px;
}
header .title .balloon p {
	font-size: 25px;
}
header .title .balloon div {
	position: relative;
}
header .title .balloon div p {
	display: table;
	font-size: 46px;
	margin-left: auto;
	position: relative;
}
header .title .balloon div p::after {
	background-color: #00BBCE;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	width: calc(100% - 5px);
}
header .title .balloon div span {
	font-size: 25px;
	position: absolute;
	left: 5px;
    top: 24px;
    transform: rotate(-15deg);
}


/** -- cv -- **/
header .cv {
	background-color: rgba(255, 255, 255, .7);
	backdrop-filter: blur(35px);
	border-radius: 30px 30px 0 0;
	justify-content: space-between;
	overflow: hidden;
	padding: 20px 30px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 60px);
}

/** balloon **/
header .cv .balloon {
	color: #00BBCE;
	padding: 30px 90px;
	position: relative;
	text-align: center;
}
header .cv .balloon::before,
header .cv .balloon::after {
	background: url("../img/balloon_deco-2.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	height: 220px;
	width: 82px;
}
header .cv .balloon::before {
    left: -5px;
    top: 10px;
}
header .cv .balloon::after {
    right: -5px;
    top: -1px;
	transform: rotate(180deg);
}
header .cv .balloon h2 {
	font-size: 55px;
}
header .cv .balloon p {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}

/** apply_btn **/
header .cv .apply_btn {
	padding-top: 30px;
	position: relative;
	width: 510px;
}
header .cv .apply_btn p::before,
header .cv .apply_btn p::after {
	background-color: #222222;
}



/** --------------------
	main
-------------------- **/
/** -- fv -- **/
.fv {
	position: relative;
	z-index: 1;
}
.fv::before,
.fv::after {
	content: '';
	display: block;
	position: absolute;
}
.fv::before {
	background: linear-gradient(#00BBCE, #65BF9B);
	left: 0;
	top: 0;
	height: 80px;
	width: 100%;
}
.fv::after {
	background: linear-gradient(to bottom right, #00BBCE, #65BF9B);
	clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%);
	left: 0;
	top: 410px;
	height: 1060px;
	width: 100%;
	z-index: -1;
}

/** logo **/
.fv .logo {
	padding-top: 10px;
	position: relative;
	text-align: center;
	z-index: 1;
}

/** image **/
.fv .image {
	margin: 0 30px;
	margin-top: -45px;
	position: relative;
}

/** headline **/
.fv .headline {
	display: table;
	margin-top: -180px;
	position: relative;
}
.fv .headline h2 {
	background-color: white;
	border-top-right-radius: 50px;
	font-size: 48px;
	letter-spacing: -1px;
	line-height: 1.2;
	padding: 10px 0 15px 30px;
}
.fv .headline h2.flexBox {
	margin-top: 10px;
	align-items: flex-end;
}
.fv .headline h2 span {
	color: #00BBCE;
	font-size: 74px;
	letter-spacing: -5px;
}
.fv .headline h2.flexBox span {
	margin-bottom: -5px;
}
.fv .headline h2 small {
	font-size: 36px;
	margin-right: 4px;
}

.fv .headline .balloon {
	background-color: #FF2070;
	border-radius: 50%;
	padding-top: 12px;
	position: absolute;
	right: -45px;
	top: -195px;
	text-align: center;
	height: 215px;
	width: 215px;
}
.fv .headline .balloon::after {
	background-color: #FF2070;
	clip-path: polygon(0 0, 100% 40%, 10% 100%);
	content: '';
	display: block;
	position: absolute;
	bottom: -8px;
	left: 45px;
	height: 30px;
	width: 30px;
}
.fv .headline .balloon img {
	margin-bottom: 10px;
	width: 55px;
}
.fv .headline .balloon p {
	color: white;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}
.fv .headline .balloon p span {
	font-size: 38px;
}

/** amazon_bn **/
.fv .amazon_bn {
	margin-left: -9px;
	margin-right: 8px;
}


/** -- questionnaire -- **/
.questionnaire {
	position: relative;
	margin-top: 30px;
	z-index: 2;
}

/** headline **/
.questionnaire .headline {
	margin-bottom: 180px;
	text-align: center;
}
.questionnaire .headline .balloon {
	background-color: #FFF353;
	border-radius: 50px;
	display: table;
	font-size: 34px;
	font-weight: 700;
	line-height: .6;
	margin: 0 auto;
	padding: 0 25px 10px;
	position: relative;
}
.questionnaire .headline .balloon::after {
	background-color: #FFF353;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	display: block;
	position: absolute;
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%);
	height: 12px;
	width: 22px;
}
.questionnaire .headline .balloon span {
	font-family: Arial;
	font-size: 60px;
	font-weight: 700;
	-webkit-text-fill-color: #222222;
	-webkit-text-stroke: 2px #FFF353;
}

.questionnaire .headline .exp {
	color: white;
	font-size: 34px;
	font-weight: 700;
}
.questionnaire .headline .exp span {
	font-family: "M PLUS 1", sans-serif;
	font-size: 50px;
	font-weight: 500;
}

.questionnaire .headline h2 {
	color: white;
	font-size: 65px;
	font-weight: 900;
	letter-spacing: -3px;
	line-height: 1.0;
}

.questionnaire .question {
	margin: 0 30px 60px;
}
.questionnaire .question h3 {
	font-size: 36px;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 40px;
	padding-left: 105px;
	position: relative;
}
.questionnaire .question h3 span {
	background-color: #FFF353;
	border-radius: 50px 50px 0 50px;
	box-sizing: border-box;
	display: block;
	font-family: "M PLUS 1", sans-serif;
	font-size: 34px;
	font-weight: 700;
	padding-top: 20px;
	position: absolute;
	left: 0;
	top: 5px;
	text-align: center;
	height: 90px;
	width: 90px;
}
.questionnaire .question .image {
	margin: 0 30px 40px;
}

.questionnaire .question .radio {
	margin: 0 30px 20px;
}
.questionnaire .question .radio input {
	display: none;
}
.questionnaire .question .radio label {
	align-items: center;
	background-color: white;
	border: solid 3px #00BBCE;
	border-radius: 50px;
	box-sizing: border-box;
	color: #00BBCE;
	cursor: pointer;
	display: flex;
	font-size: 24px;
	line-height: 1.3;
	padding: 14px 0;
	padding-left: 100px;
	position: relative;
	min-height: 90px;
	width: 100%;
}
.questionnaire .question .radio label.big {
	font-size: 34px;
}
.questionnaire .question .radio label::before {
	background-color: white;
	border: solid 3px #00BBCE;
	border-radius: 8px;
	box-sizing: border-box;
	content: '';
	display: block;
	position: absolute;
	left: 40px;
	top: 50%;
	transform: translateY(-50%);
	height: 40px;
	width: 40px;
}
.questionnaire .question .radio input:checked + label {
	background-color: #00BBCE;
	color: white;
}
.questionnaire .question .radio input:checked + label::before {
	background: url("../img/icon-check.svg") no-repeat center / 23px;
	background-color: white;
	border: none;
}


/** -- advice -- **/
.advice {
	background: linear-gradient(#00BBCE, #65BF9B);
	color: white;
	padding: 60px 30px;
}

/** headline **/
.advice .headline {
	text-align: center;
}
.advice .headline p {
	background: url("../img/icon-search.svg") no-repeat 0 50% / 70px;
	display: table;
	font-size: 40px;
	font-weight: 700;
	margin: 0 auto;
	padding-left: 80px;
	position: relative;
}
.advice .headline p span {
	font-size: 60px;
	position: relative;
}
.advice .headline p span::before {
	content: '・・・・';
	font-weight: 500;
	position: absolute;
	top: -50px;
}

.advice .headline h2 {
	line-height: 1.2;
}
.advice .headline h2 small {
	font-size: 36px;
	text-align: left;
}
.advice .headline h2 span {
	border: solid 2px white;
	font-size: 65px;
	margin-left: auto;
	padding: 0 5px 0 15px;
}

.advice .headline_2 {
	font-weight: 700;
	margin-top: 40px;
	padding-top: 60px;
	position: relative;
	text-align: center;
}
.advice .headline_2 span {
	color: rgba(255, 255, 255, .2);
	display: block;
	font-size: 134px;
	line-height: 1.0;
	position: absolute;
	left: 0;
	top: -25px;
	width: 100%;
}
.advice .headline_2 p {
	font-size: 40px;
	line-height: 1.3;
}

/** balloon **/
.advice .balloon {
	margin-top: 50px;
	position: relative;
	text-align: center;
}
.advice .balloon::before,
.advice .balloon::after {
	background: url("../img/balloon_deco-1.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	height: 220px;
	width: 80px;
}
.advice .balloon::before {
	left: 30px;
}
.advice .balloon::after {
	right: 30px;
	top: -13px;
	transform: rotate(180deg);
}
.advice .balloon p {
	font-size: 52px;
	font-weight: 700;
	line-height: 1.3;
}
.advice .balloon p span {
	color: #FFF353;
	font-size: 62px;
}


/** -- worry -- **/
.worry {
	background-color: #EFF3F4;
	padding: 60px 30px 0;
	position: relative;
}
.worry::after {
	background: linear-gradient(transparent, #00BBCE);
	content: '';
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 88%);
	display: block;
	position: absolute;
	bottom: -75px;
	height: 640px;
	margin: 0 -30px;
	width: calc(100% + 60px);
}

/** headline_1 **/
.worry .headline_1 {
	font-weight: 700;
	margin-top: 40px;
	padding-top: 60px;
	position: relative;
	text-align: center;
}
.worry .headline_1 p {
	color: rgba(101, 101, 101, .2);
	display: block;
	font-size: 134px;
	letter-spacing: 2px;
	line-height: 1.0;
	position: absolute;
	left: 0;
	top: -27px;
	width: 100%;
}
.worry .headline_1 h2 {
	color: #656565;
	font-size: 40px;
	line-height: 1.3;
}
.worry .headline_1 h2 span {
	font-size: 60px;
}

/** check **/
.worry .check {
	background-color: white;
	border: solid 6px #656565;
	border-radius: 30px;
	margin-top: 50px;
	padding: 60px 30px;
	position: relative;
	z-index: 1;
}
.worry .check img {
	position: absolute;
	right: -20px;
	top: -50px;
	height: 180px;
	width: 180px;
}
.worry .check ul li {
	background: url("../img/icon-check-2.svg") no-repeat 0 0 / 38px;
	color: #656565;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 50px;
}
.worry .check ul li + li {
	margin-top: 35px;
}

/** headline_2 **/
.worry .headline_2 {
	color: white;
	font-weight: 700;
	margin-top: 50px;
	position: relative;
	z-index: 1;
}
.worry .headline_2 p {
	font-size: 34px;
}
.worry .headline_2 h2 {
	font-size: 50px;
	text-align: center;
}
.worry .headline_2 h2 + h2 {
	text-align: right;
}
.worry .headline_2 h2 span {
	font-size: 72px;
	position: relative;
}
.worry .headline_2 h2 span::after {
	border-bottom: dotted 7px white;
	content: '';
	display: block;
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
}


/** -- success -- **/
.success {
	position: relative;
}

/** headline_1 **/
.success .headline_1 {
	margin-right: -20px;
	padding-left: 245px;
	padding-top: 90px;
	position: relative;
}
.success .headline_1 span {
	color: #00BBCE;
}
.success .headline_1 .illust {
	position: absolute;
	left: 0;
	top: -20px;
	width: 240px;
}
.success .headline_1 p {
	font-size: 34px;
}
.success .headline_1 p span {
	font-size: 46px;
}
.success .headline_1 p span small {
	font-size: 34px;
}
.success .headline_1 h2 {
	font-size: 36px;
	font-weight: 500;
	line-height: 1.1;
}
.success .headline_1 h2 span {
	background: linear-gradient(transparent 0 75%, rgba(0, 187, 206, .3) 75% 95%, transparent 95% 100%);
	font-size: 52px;
}
.success .headline_1 h2 span small {
	font-size: 36px;
}
.success .headline_1 h2 span span {
	background: none;
	margin-left: -15px;
}

/** headline_2 **/
.success .headline_2 {
	background-color: #00BBCE;
	box-sizing: border-box;
	clip-path: polygon(0 0, 100% 20%, 100% 50%, 50% 100%, 0 50%);
	margin-top: 30px;
	padding-top: 80px;
	position: relative;
	height: 280px;
}
.success h3 {
	color: white;
	display: table;
	font-size: 36px;
	margin: 0 auto;
	padding-left: 20px;
	text-align: center;
}
.success h3 span {
	font-size: 50px;
}
.success h3.deco {
	background: url("../img/icon-heart.svg") no-repeat 0 0 / 62px;
	padding-left: 64px;
}

/** list **/
.success .list {
	background-color: rgba(0, 187, 206, .1);
	margin-top: -150px;
	padding: 180px 20px 30px;
}
.success .list .box {
	margin: 0 10px 30px;
	width: calc(50% - 20px);
}
.success .list .box figure {
	border: solid 8px #00BBCE;
	border-radius: 50%;
	box-sizing: border-box;
	display: block;
	margin-bottom: 20px;
	position: relative;
}
.success .list .box figure figcaption {
	background-color: #00BBCE;
	border-radius: 50px;
	color: white;
	font-size: 26px;
	font-weight: 700;
	padding: 2px 0 4px;
	position: absolute;
	bottom: -10px;
	left: 50%;
	text-align: center;
	transform: translateX(-50%);
	width: 180px;
}
.success .list .box p {
	font-size: 24px;
	text-align: center;
}


/** -- result -- **/
.result {
	position: relative;
}
.result::before {
	background: linear-gradient(#00BBCE, #65BF9B);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 70%);
	content: '';
	display: block;
	position: absolute;
	height: 710px;
	width: 100%;
}

/** deco **/
.result .deco {
	content: '';
	display: block;
	position: absolute;
}
.result .deco-1 {
	background: url("../img/result_deco-1.svg") no-repeat 0 0 / contain;
    left: 140px;
    top: -40px;
    height: 110px;
    width: 380px;
}
.result .deco-2,
.result .deco-3 {
	background: url("../img/result_deco-2.svg") no-repeat 0 0 / contain;
    height: 145px;
    width: 410px;
}
.result .deco-2 {
    left: 5px;
    top: 325px;
}
.result .deco-3 {
    right: -250px;
    top: 285px;
}

/** headline **/
.result .headline {
	color: white;
	padding-top: 60px;
	position: relative;
	text-align: center;
}
.result .headline h2 {
	font-size: 40px;
	margin-bottom: 10px;
}
.result .headline h2 span {
	font-size: 60px;
	position: relative;
}
.result .headline h2 span::after {
	background-color: white;
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	width: calc(100% - 15px);
}
.result .headline p {
	font-size: 36px;
	font-weight: 700;
}

/** box **/
.result .box {
	background-color: white;
	border: solid 9px #00BBCE;
	border-radius: 30px;
	margin: 70px 30px 50px;
	padding: 80px 30px;
	position: relative;
}
.result .box h3 {
	background-color: #FFF353;
	border-radius: 50px;
	font-size: 30px;
	padding: 5px 0;
	position: absolute;
	left: 50%;
	top: -30px;
	transform: translateX(-50%);
	text-align: center;
	width: 300px;
}

.result .box li {
	background: url("../img/icon-star.svg") no-repeat 5px 50% / 50px;
	font-size: 31px;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 75px;
}
.result .box li + li {
	margin-top: 35px;
}
.result .box li span {
	background: linear-gradient(transparent 0 70%, rgba(255, 243, 83, .5) 70% 100%);
	color: #00BBCE;
}


/** -- consultant -- **/
.consultant {
	position: relative;
}

.consultant h2 {
	color: #00BBCE;
	font-size: 48px;
	text-align: center;
}
.consultant h2 small {
	font-size: 38px;
}
.consultant h2 .balloon {
	display: table;
	font-size: 72px;
	margin: 0 auto;
	position: relative;
}
.consultant h2 .balloon::before,
.consultant h2 .balloon::after {
	background: url("../img/balloon_deco-2.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	height: 130px;
	width: 45px;
}
.consultant h2 .balloon::before {
	left: -65px;
	top: 8px;
}
.consultant h2 .balloon::after {
	right: -65px;
	top: -8px;
	transform: rotate(180deg);
}

.consultant h3 {
	font-size: 38px;
	line-height: 1.2;
	margin-bottom: 50px;
	margin-top: 40px;
	text-align: center;
}
.consultant h3 span {
	font-size: 64px;
}

/** slider **/
.consultant .slider {
	border: solid rgba(0, 187, 206, .1) 15px;
	border-radius: 30px;
	margin: 0 15px;
	padding: 40px 30px;
	position: relative;
}

.consultant .slider .headline {
	font-weight: 700;
	margin-bottom: 25px;
	margin-top: 20px;
	padding-left: 90px;
	position: relative;
}
.consultant .slider .headline span {
	background-color: #FFF353;
	border-radius: 50px 50px 0 50px;
	box-sizing: border-box;
	display: block;
	font-family: "M PLUS 1", sans-serif;
	font-size: 32px;
	padding-top: 10px;
	position: absolute;
	left: 0;
	text-align: center;
	height: 75px;
	width: 75px;
}
.consultant .slider .headline .tag {
	border: solid 1px #00BBCE;
	border-radius: 10px;
	color: #00BBCE;
	display: table;
	padding: 0 10px;
	font-size: 18px;
}
.consultant .slider .headline .name {
	color: #00BBCE;
	font-size: 44px;
	line-height: 1.2;
}
.consultant .slider .exp {
	font-size: 24px;
}

.consultant .slider .swiper-button-prev::after,
.consultant .slider .swiper-button-next::after {
	display: none;
}
.consultant .slider .swiper-button-prev,
.consultant .slider .swiper-button-next {
	background: url("../img/icon-triangle-3.svg") no-repeat left 60% top 50% / 17px;
	background-color: white;
	border: solid 3px #00BBCE;
	border-radius: 50%;
	top: 280px;
	height: 56px;
	width: 56px;
}
.consultant .slider .swiper-button-prev {
	transform: rotate(180deg);
}

.consultant .slider .swiper-pagination {
	bottom: -60px;
}
.consultant .slider .swiper-pagination-bullet {
	background-color: white;
	border: solid 2px #00BBCE;
	box-sizing: border-box;
	margin: 0 8px !important;
	height: 15px;
	width: 15px;
}
.consultant .slider .swiper-pagination-bullet-active {
	background-color: #00BBCE;
}


/** -- your_turn -- **/
.your_turn {
	margin: 100px 30px 60px;
	position: relative;
}

/** headline_1 **/
.your_turn .headline_1 {
	margin-bottom: 40px;
}
.your_turn .headline_1 h2 {
	background-color: #00BBCE;
	color: white;
	font-size: 46px;
	margin: 0 30px 20px;
	text-align: center;
}
.your_turn .headline_1 h2 + h2 {
	margin: 0;
}

/** message **/
.your_turn p.message {
	font-size: 30px;
	line-height: 2.0;
	margin-bottom: 50px;
}

/** headline_2 **/
.your_turn .headline_2 {
	color: #00BBCE;
	margin-bottom: 80px;
	text-align: center;
}
.your_turn .headline_2 h3 {
	font-size: 44px;
}
.your_turn .headline_2 h3 span {
	font-size: 64px;
	position: relative;
}
.your_turn .headline_2 h3 span::before {
	content: '・・・・・';
	font-weight: 500;
	position: absolute;
	left: 0;
	top: -60px;
}

.your_turn .headline_2 p.balloon {
	font-size: 54px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 40px;
	position: relative;
}
.your_turn .headline_2 p.balloon::before,
.your_turn .headline_2 p.balloon::after {
	background: url("../img/balloon_deco-2.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	height: 220px;
	width: 80px;
}
.your_turn .headline_2 p.balloon::before {
	top: -25px;
}
.your_turn .headline_2 p.balloon::after {
	right: 0;
	top: -43px;
	transform: rotate(180deg);
}

/** figure **/
.your_turn figure {
	position: relative;
}
.your_turn figure::before,
.your_turn figure::after {
	background: url("../img/deco-circle.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	height: 100px;
	width: 75px;
}
.your_turn figure::before {
	left: -25px;
	top: -25px;
}
.your_turn figure::after {
	bottom: -30px;
	right: -22px;
	transform: rotate(180deg);
}

/** apply_btn **/
.your_turn .apply_btn {
	margin-top: 50px;
}
.your_turn .apply_btn p::before,
.your_turn .apply_btn p::after {
	background-color: #222222;
}


/** -- step -- **/
.step {
	background-color: rgba(0, 187, 206, .1);
	padding: 40px 30px 50px;
}

/** headline_1 **/
.step .headline_1 {
	margin-bottom: 50px;
	text-align: center;
}
.step .headline_1 p {
	color: #00BBCE;
	font-size: 28px;
	font-weight: 700;
}
.step .headline_1 p span {
	font-family: "M PLUS 1", sans-serif;
	font-size: 46px;
	position: relative;
}
.step .headline_1 p span::before {
	background: url("../img/headline_deco-1.svg") no-repeat 0 0 / 100%;
	content: '';
	position: absolute;
	left: -20px;
	top: -5px;
	height: 30px;
	width: 35px;
}
.step .headline_1 h2 {
	font-size: 52px;
	line-height: 1.2;
}

/** list **/
.step .list {
	justify-content: space-between;
	margin-bottom: 30px;
}
.step .list li {
	background-color: white;
	border: solid 4px #00BBCE;
	border-radius: 20px;
	width: 185px;
	padding: 25px 0 15px;
	position: relative;
	text-align: center;
}
.step .list li .no {
	background-color: #FFF353;
	border-radius: 50px 50px 0 50px;
	box-sizing: border-box;
	display: block;
	font-family: "M PLUS 1", sans-serif;
	font-size: 26px;
	font-weight: 700;
	padding-top: 8px;
	position: absolute;
	left: -25px;
	top: -35px;
	text-align: center;
	height: 56px;
	width: 56px;
}
.step .list li img {
	margin-bottom: 10px;
	height: 75px;
	width: auto;
}
.step .list li p {
	font-size: 20px;
	line-height: 1.5;
}

.step .list li::after {
	background: url("../img/icon-arrow-1.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	right: -25px;
	top: 50%;
	transform: translateY(-50%);
	height: 25px;
	width: 13px;
}
.step .list li:last-child::after {
	display: none;
}

/** headline_2 **/
.step .headline_2 {
	text-align: center;
}
.step .headline_2 p {
	font-size: 34px;
	font-weight: 700;
	margin-bottom: 5px;
}
.step .headline_2 p span {
	font-size: 44px;
	position: relative;
}
.step .headline_2 p span::after {
	background-color: #222222;
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
	width: calc(100% - 10px);
}
.step .headline_2 h3 {
	color: #00BBCE;
	font-size: 46px;
}


/** -- faq -- **/
.faq {
	padding: 50px 30px 60px;
}
.faq h2 {
	font-size: 50px;
	margin-bottom: 30px;
	text-align: center;
}

.faq .box {
	border: solid 4px #00BBCE;
	border-radius: 20px;
	padding: 30px;
}
.faq .box + .box {
	margin-top: 25px;
}
.faq .box > p {
	padding-left: 38px;
	position: relative;
}
.faq .box .question {
	border-bottom: solid 1px #AFAFAF;
	color: #00BBCE;
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 15px;
	padding-bottom: 10px;
}
.faq .box .answer {
	font-size: 26px;
}
.faq .box > p::before {
	font-family: "M PLUS 1", sans-serif;
	font-size: 30px;
	font-weight: 700;
	position: absolute;
	left: 0;
	top: -4px;
}
.faq .box .question::before {
	content: 'Q.';
}
.faq .box .answer::before {
	content: 'A.';
}


/** -- strategy -- **/
.strategy {
	background: linear-gradient(#00BBCE, #65BF9B);
	padding: 80px 30px 60px;
}

/** headline **/
.strategy .headline {
	padding-top: 75px;
	position: relative;
}
.strategy .headline p {
	color: rgba(255, 255, 255, .2);
	font-size: 130px;
	font-weight: 700;
	line-height: 1.0;
	margin-left: -15px;
	position: absolute;
	top: 0;
}
.strategy .headline h2 {
	color: white;
	font-size: 42px;
	text-align: center;
}

.strategy .balloon {
	color: white;
	font-size: 60px;
	font-weight: 700;
	margin-top: 60px;
	position: relative;
	text-align: center;
}
.strategy .balloon::before,
.strategy .balloon::after {
	background: url("../img/balloon_deco-1.svg") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	height: 210px;
	width: 70px;
}
.strategy .balloon::before {
	left: 40px;
	top: -40px;
}
.strategy .balloon::after {
	transform: rotate(180deg);
	right: 40px;
	top: -70px;
}

.strategy .apply_btn p {
	color: white;
}



/** --------------------
	footer
-------------------- **/
footer {
	background-color: #00BBCE;
	padding: 40px 0;
	text-align: center;
}

footer .logo {
	margin: 0 auto;
	width: 260px;
}
footer .copyright {
	color: white;
	font-family: "M PLUS 1", sans-serif;
	font-size: 24px;
	font-weight: 500;
	margin-top: 20px;
}