@charset "utf-8";
/*===============================================
WEBフォント
===============================================*/
@import url('https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css');
@import url('https://use.fontawesome.com/releases/v6.5.1/css/all.css');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=M+PLUS+Rounded+1c&family=Noto+Sans+JP:wght@100..900&display=swap');

*{
	margin: 0;
	padding: 0;
	list-style: none;
	font-style: normal;
	font-weight: normal;
	line-height: 1.0;
	box-sizing: border-box;
}
input[type="button"], input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}

img, video {
	vertical-align: top;
	line-height: 1.0 !important;
	max-width: 100%;
	height: auto;
}
a {
	text-decoration: none;
	color: #1f1815;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
a img {
	border: none;
}
a:hover,
a:hover * {
	opacity: 0.6;
}
.animated {
	opacity: 0;
}

@keyframes footer__wave {
	0% {
		left: -10vw;
	}
	100% {
		left: 0;
	}
}
@keyframes footer__wave_02 {
	0% {
		left: 0;
	}
	100% {
		left: -10vw;
	}
}
@keyframes fv__bubble {
	0% {
		top: 50vh;
	}
	100% {
		top: -566px;
		opacity: 0;
	}
}
@keyframes fv__wave {
	0% {
		height: 150vh;
	}
	100% {
		height: 0;
	}
}
@keyframes image__show {
	0% {
		top: 0;
	}
	100% {
		top: 100%;
	}
}

html {
	font-size: 28px;
	position: relative;
}
body {
	padding: 100px 0 0;
	font-family: Arial, Helvetica, "Noto Sans JP", sans-serif;
	color: #365bab;
}
body.home {
	background: url(../images/mv.png) 0 100px no-repeat;
	background-size: 100% auto;
}
body::before {
	content: "";
	display: block;
	background: url(../images/bg_bubble_05.png);
	width: 1451px;
	height: 566px;
	margin: auto;
	position: absolute;
	top: 50vh;
	right: 0;
	left: 0;
	z-index: 22;
	animation: fv__bubble 2s ease forwards;
}
body::after {
	content: "";
	background: #a2d9ed;
	background: url(../images/bg_footer.png) top no-repeat;
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 21;
	animation: fv__wave 2.5s ease forwards;
}
.sp__only {
	display: none;
}
.common__section__icon {
	text-align: center;
}
.common__section__label {
	margin: 0 0 50px;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}
.common__section__heading {
	font-size: 90px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}
.common__section__lead {
	margin: 100px 0 0;
	font-size: 36px;
	line-height: 1.6;
	text-align: center;
}
.hide__image {
	position: relative;
}
.hide__image::after {
	content: "";
	background: #fff;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	bottom: 0;
}
.hide__image.active::after {
	animation: image__show 0.5s ease forwards;
}
header {
	display: flex;
	align-items: center;
	background: #fff;
	width: 100%;
	height: 100px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
header.fixed {
	position: fixed;
}
.header__logo {
	margin: 0 auto 0 30px;
}
.header__logo a {
	display: flex;
	align-items: center;
}
.header__logo img {
	width: 283px;
	width: 14.7vw;
}
.header__logo span {
	display: flex;
	align-items: center;
	font-size: 22px;
	font-size: 1.1vw;
	font-weight: bold;
}
.header__logo span::before {
	content: "";
	background: #333;
	display: block;
	width: 1px;
	height: 70px;
	margin: 0 30px;
	margin: 0 1.5vw;
}
header nav ul {
	display: flex;
	align-items: center;
}
header nav ul li + li {
	margin-left: 50px;
	margin-left: 2.6vw;
}
header nav ul li a {
	display: block;
	font-family: "M PLUS Rounded 1c", sans-serif;
}
header nav ul li:not(.header__nav__entry) a {
	min-width: 75px;
	padding: 80px 0 0;
	padding: 55px 0 0;
	font-size: 22px;
	font-size: 1vw;
}
header nav ul li:nth-of-type(1) a {
	background: url(../images/nav_01.png) center 0 no-repeat;
	background-size: auto 45px;
}
header nav ul li:nth-of-type(2) a {
	background: url(../images/nav_02.png) center 0 no-repeat;
	background-size: auto 45px;
}
header nav ul li:nth-of-type(3) a {
	background: url(../images/nav_03.png) center 0 no-repeat;
	background-size: auto 45px;
}
header nav ul li:nth-of-type(4) a {
	background: url(../images/nav_04.png) center 0 no-repeat;
	background-size: auto 45px;
}
header nav ul li:nth-of-type(5) a {
	background: url(../images/nav_05.png) center 0 no-repeat;
	background-size: auto 45px;
}
.header__nav__entry a {
	background: #365bab;
	width: 300px;
	width: 15.6vw;
	height: 100px;
	color: #fff;
	font-size: 64px;
	font-size: 3.3vw;
	font-weight: bold;
	line-height: 100px;
	text-align: center;
}

footer {
	background: url(../images/bg_footer.png) bottom no-repeat;
	background-size: 100% auto;
	margin: 150px 0 0;
	padding: 150px 0 50px;
	position: relative;
	overflow: hidden;
}
footer::before {
	content: "";
	background: url(../images/bg_footer_02.png) bottom no-repeat;
	background-size: 100% auto;
	display: block;
	width: 110vw;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: -1;
	animation: footer__wave 2s ease-in 2s infinite alternate forwards running;
}
footer::after {
	content: "";
	background: url(../images/bg_footer_03.png) bottom no-repeat;
	background-size: 100% auto;
	display: block;
	width: 110vw;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: -2;
	animation: footer__wave_02 2s ease-in 2s infinite alternate forwards running;
}
.footer__inner {
	display: flex;
	align-items: center;
	width: calc(100% - 60px);
	max-width: 1500px;
	margin: 0 auto 30px;
}
.footer__logo {
	width: 235px;
	width: 12.2vw;
}
.footer__sns {
	margin-left: auto;
}
.footer__sns ul {
	display: flex;
}
.footer__sns ul li + li {
	margin-left: 20px;
}
.footer__sns ul li a i {
	font-size: 42px;
	font-size: 2.1vw;
}
footer nav {
	display: flex;
	width: calc(100% - 60px);
	max-width: 1500px;
	margin: 0 auto;
	padding: 30px 0 0;
	border-top: #000 solid 1px;
}
footer nav .gnav {
	display: flex;
}
footer nav .gnav > li + li {
	margin-left: 60px;
	margin-left: 3vw;
	position: relative;
}
footer nav .gnav > li > a {
	display: block;
	padding: 65px 0 0;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 22px;
	font-size: 1.1vw;
	line-height: 50px;
	text-align: center;
	position: relative;
}
footer nav .gnav > li + li > a::before {
	content: "";
	display: block;
	background: #000;
	width: 1px;
	position: absolute;
	left: -1.5vw;
	top: 65px;
	bottom: 0;
}
footer nav .gnav > li:nth-of-type(1) > a {
	background: url(../images/nav_01.png) center 0 no-repeat;
	background-size: 60px auto;
}
footer nav .gnav > li:nth-of-type(2) > a {
	background: url(../images/nav_02.png) center 0 no-repeat;
	background-size: 60px auto;
}
footer nav .gnav > li:nth-of-type(3) > a {
	background: url(../images/nav_03.png) center 0 no-repeat;
	background-size: 60px auto;
}
footer nav .gnav > li:nth-of-type(4) > a {
	background: url(../images/nav_04.png) center 0 no-repeat;
	background-size: 60px auto;
}
footer nav .gnav > li:nth-of-type(5) > a {
	background: url(../images/nav_05.png) center 0 no-repeat;
	background-size: 60px auto;
}
footer nav .gnav li ul::before {
	content: "";
	display: block;
	background: #000;
	width: 1px;
	position: absolute;
	left: -1.5vw;
	top: 65px;
	bottom: 0;
}
footer nav .gnav li ul li {
	margin-top: 10px;
}
footer nav .gnav li ul li a {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 20px;
	font-size: 1vw;
}
.footer__links {
	width: 300px;
	margin-left: auto;
}
.footer__links li + li {
	margin: 30px 0 0;
}
.footer__links li a {
	display: block;
	font-family: "M PLUS Rounded 1c", sans-serif;
}
.footer__links__entry a {
	background: #365bab;
	color: #fff;
	font-size: 60px;
	font-size: 3.1vw;
	font-weight: bold;
	line-height: 110px;
	text-align: center;
}
.footer__links__hp a {
	font-size: 24px;
	font-size: 1.25vw;
	line-height: 60px;
	text-align: center;
	border: #000 solid 1px;
}
.copyright {
	display: block;
	margin: 100px 0 0;
	color: #000;
	font-size: 14px;
	font-size: 0.7vw;
	text-align: center;
}
.cta.fix {
	display: none;
}
	
.mv {
	position: relative;
}
.mv__heading {
	display: flex;
	position: absolute;
	top: 110px;
	right: 40%;
	z-index: -1;
}
.mv__heading li {
	background: #ffff00;
	padding: 30px 0;
	font-family: 'Open Sans', YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-size: 64px;
	font-weight: bold;
	line-height: 90px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright; /* すべて縦方向に表示 */
	white-space: nowrap;
}
.mv__heading li + li {
	margin-left: 30px;
}

.about {
	padding: 100px 0;
}
.about__list__heading {
	display: flex;
	align-items: center;
	font-size: 60px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.about__list__heading::before {
	content: "";
	background: url(../images/icon_about_01.png);
	display: inline-block;
	width: 185px;
	height: 176px;
	margin: 0 5px 0 0;
}
.about__list:nth-of-type(2) .about__list__heading::before {
	background: url(../images/icon_about_02.png);
}
.about__list:nth-of-type(3) .about__list__heading::before {
	background: url(../images/icon_about_03.png);
}
.about__list {
	width: 1200px;
	margin: 50px auto 0;
}
.about__list ul {
	display: flex;
	justify-content: space-between;
	width: 1000px;
	margin: 25px auto 0;
}
.about__list ul li {
	background: #51c9f6;
	width: 48%;
	padding: 30px;
	border-radius: 10px;
}
.about__list__subheading {
	background: #1a9eed;
	color: #fff;
	font-size: 36px;
	font-weight: bold;
	line-height: 70px;
	text-align: center;
	border-radius: 35px;
}
.about__list ul li p {
	margin: 20px 0 0;
	font-size: 24px;
	line-height: 1.8;
}

.report {
	padding: 125px 0;
	position: relative;
}
.report::before {
	content: "";
	display: block;
	background: url(../images/bg_bubble_01.png);
	width: 1409px;
	height: 312px;
	margin: auto;
	position: absolute;
	top: 280px;
	left: 0;
	right: 0;
}
.report__list {
	width: 1200px;
	margin: 100px auto 0;
}
.report__list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.report__list li + li {
	margin-top: 50px;
}
.report__list__image {
	background: #eee;
	width: 350px;
	height: 350px;
	border-radius: 10px;
	overflow: hidden;
}
.report__list__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.report__list__col {
	width: calc(100% - 400px);
}
.report__list li:nth-of-type(2n) .report__list__col {
	order: -1;
}
.report__list__heading {
	color: #000;
	font-size: 46px;
	font-weight: bold;
	line-height: 1.4;
}
.report__list__name {
	margin: 50px 0 0;
	color: #000;
	font-size: 30px;
}
.report__list__more a {
	display: block;
	width: 300px;
	height: 60px;
	margin: 25px 0 0 auto;
	color: #365bab;
	font-size: 21px;
	line-height: 60px;
	text-align: center;
	border-radius: 30px;
	border: #365bab solid 1px;
	position: relative;
}
.report__list__more a::after {
	content: "";
	display: block;
	background: #365bab;
	width: 23px;
	height: 27px;
	margin: auto;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
}

.work {
	background: url(../images/bg_work.png) 0 0 no-repeat #f2f2f2;
	background-size: 100% auto;
	margin: 100px 0 0;
	padding: 125px 0 125px;
	position: relative;
}
.work::before {
	content: "";
	display: block;
	background: url(../images/bg_bubble_02.png);
	width: 325px;
	height: 226px;
	position: absolute;
	top: 15px;
	right: 14%;
}
.work__type {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	margin: 150px auto 0;
}
.work__type__image {
	width: 50%;
	text-align: center;
}
.work__type__col {
	width: 50%;
}
.work__type:nth-of-type(2n+1) .work__type__col {
	order: -1;
}
.work__type__heading {
	font-size: 48px;
	font-weight: bold;
	line-height: 1.4;
}
.work__type__col p {
	margin: 75px 0 0;
	line-height: 1.8;
}
.work__type__col ul {
	display: flex;
	justify-content: space-between;
	margin: 100px 0 0;
}
.work__type__col ul li {
	background: #eee;
	width: 285px;
	height: 285px;
	border-radius: 10px;
	overflow: hidden;
}
.work__type__col ul li img {
	width: 100%;
	height: 100%;
	object-fit: cvoer;
}

.training {
	background: #e0f7ff;
	width: calc(100% - 60px);
	max-width: 1500px;
	margin: 125px auto 0;
	padding: 125px 0;
	border-radius: 30px;
	position: relative;
}
.training::before {
	content: "";
	display: block;
	background: url(../images/bg_bubble_03.png);
	width: 340px;
	height: 342px;
	position: absolute;
	top: -90px;
	right: 110px;
}
.training__order {
	margin: 175px 0 0;
}
.training__order > li {
	background: #fff;
	width: 1200px;
	margin: 0 auto;
	padding: 50px 0 100px;
	border-radius: 10px;
	border: #365bab solid 5px;
	position: relative;
}
.training__order > li.long__padding {
	padding-bottom: 250px;
}
.training__order > li + li {
	margin-top: 225px;
}
.training__order > li + li::before {
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	margin: auto;
	transform: rotate(45deg);
	border-right: #365bab solid 5px;
	border-bottom: #365bab solid 5px;
	position: absolute;
	top: -190px;
	left: 0;
	right: 0;
}
.training__order > li + li::after {
	content: "";
	display: block;
	background: #365bab;
	width: 5px;
	height: 120px;
	margin: auto;
	position: absolute;
	top: -255px;
	left: 0;
	right: 0;
}
.training__order__no {
	width: 100%;
	color: #ffff00;
	font-family: "Jost", sans-serif;
	font-size: 140px;
	text-align: center;
	text-shadow: 0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab ,0 0 5px #365bab;
	position: absolute;
	top: -90px;
	left: 0;
	z-index: 0;
}
.training__order__no::before {
	content: "";
	display: block;
	background: #fff;
	width: 220px;
	height: 5px;
	margin: auto;
	position: absolute;
	top: 85px;
	left: 0;
	right: 0;
	z-index: -1;
}
.training__order__label {
	background: #ffff00;
	width: 520px;
	margin: 0 auto;
	font-size: 60px;
	line-height: 90px;
	text-align: center;
	border-radius: 10px;
	border: #365bab solid 5px;
}
.training__order__heading {
	margin: 50px 0 0;
	font-size: 48px;
	font-weight: bold;
	text-align: center;
}
.training__order__subheading {
	margin: 25px 0 0;
	font-size: 60px;
	font-weight: bold;
	text-align: center;
}
.training__order__lead {
	margin: 50px 0 0;
	font-size: 30px;
	line-height: 1.8;
	text-align: center;
}
.training__order__list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 720px;
	margin: 50px auto 0;
}
.training__order__list ul {
	width: calc(100% - 375px);
	order: -1;
}
.training__order__list li {
	font-size: 30px;
}
.training__order__list li::before {
	content: "●";
}
.training__order__list li + li {
	margin-top: 25px;
}
.training__order__list__image {
	background: #eee;
	width: 375px;
	height: 290px;
	border-radius: 10px;
	overflow: hidden;
}
.training__order__list__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.training__order__graph {
	margin: 50px 0 0;
	text-align: center;
}
.training__order__meeting {
	background: #ffff00;
	width: 975px;
	margin: 50px auto 0;
	padding: 50px 50px 0;
	border-radius: 10px;
	position: relative;
}
.training__order__copy {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.training__order__meeting__flex {
	display: flex;
	justify-content: space-between;
	padding: 50px 0 250px;
}
.training__order__meeting p {
	font-size: 24px;
	line-height: 1.8;
}
.training__order__meeting ul {
	display: flex;
	justify-content: center;
	margin: 0 0 0 25px;
}
.training__order__meeting ul li {
	width: 210px;
	height: 210px;
	padding: 25px 0 0;
	border-radius: 50%;
	overflow: hidden;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}
.training__order__meeting ul li + li {
	margin-left: 20px;
}
.training__order__meeting ul li.bg__01 {
	background: url(../images/bg_meeting_01.png) no-repeat #e0f7ff;
	background-size: cover;
}
.training__order__meeting ul li.bg__02 {
	background: url(../images/bg_meeting_02.png) no-repeat #f2f2f2;
	background-size: cover;
}
.training__order__meeting ul li.bg__03 {
	background: url(../images/bg_meeting_03.png) no-repeat #e0f7ff;
	background-size: cover;
}
.training__order__meeting ul li.bg__04 {
	background: url(../images/bg_meeting_04.png) no-repeat #e0f7ff;
	background-size: cover;
}
.training__order__meeting ul li.bg__05 {
	background: url(../images/bg_meeting_05.png) no-repeat #e0f7ff;
	background-size: cover;
}
.training__order__meeting__image01 {
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: -150px;
}
.training__order__meeting__image02 {
	margin: 25px 0 0;
	text-align: center;
}
.training__order__type {
	display: flex;
	justify-content: space-between;
	width: 975px;
	margin: 50px auto 0;
}
.training__order__type li {
	width: 460px;
	padding: 20px;
	border-radius: 10px;
	position: relative;
}
.training__order__type.three li {
	width: 316px;
	padding-bottom: 160px;
}
.training__order__type li:nth-of-type(2) {
	color: #808080;
}
.training__order__type li:nth-of-type(3) {
	color: #ffa500;
}
.training__order__type li.bg__type__01 {
	background: url(../images/bg_type_01.png) no-repeat 310px bottom #e0f7ff;
}
.training__order__type li.bg__type__02 {
	background: url(../images/bg_type_02.png) no-repeat 310px bottom #f2f2f2;
}
.training__order__type.three li.bg__type__03 {
	background: url(../images/bg_type_03.png) no-repeat bottom #e0f7ff;
}
.training__order__type.three li.bg__type__04 {
	background: url(../images/bg_type_04.png) no-repeat bottom #f2f2f2;
}
.training__order__type.three li.bg__type__05 {
	background: url(../images/bg_type_05.png) no-repeat bottom #ffffaf;
}
.training__order__type > li::before {
	content: "";
	display: block;
	width: 36px;
	height: 36px;
	margin: auto;
	transform: rotate(45deg);
	border-right: #365bab solid 5px;
	border-bottom: #365bab solid 5px;
	position: absolute;
	top: -36px;
	left: 0;
	right: 0;
}
.training__order__type > li:nth-of-type(2)::before {
	border-right: #808080 solid 5px;
	border-bottom: #808080 solid 5px;
}
.training__order__type > li:nth-of-type(3)::before {
	border-right: #ffa500 solid 5px;
	border-bottom: #ffa500 solid 5px;
}
.training__order__type > li::after {
	content: "";
	display: block;
	background: #365bab;
	width: 5px;
	height: 45px;
	margin: auto;
	position: absolute;
	top: -45px;
	left: 0;
	right: 0;
}
.training__order__type > li:nth-of-type(2)::after {
	background: #808080;
}
.training__order__type > li:nth-of-type(3)::after {
	background: #ffa500;
}
.training__order__type__copy {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #365bab;
	height: 50px;
	color: #e0f7ff;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	border-radius: 10px;
}
.training__order__type li:nth-of-type(2) .training__order__type__copy {
	background: #808080;
	color: #f2f2f2;
}
.training__order__type li:nth-of-type(3) .training__order__type__copy {
	background: #ffa500;
	color: #ffffaf;
}
.training__order__type.three .training__order__type__copy {
	height: 90px;
}
.training__order__type__heading {
	margin: 25px 0 0;
	font-size: 36px;
	font-weight: bold;
	text-align: center;
}
.training__order__type li p {
	width: 225px;
	margin: 30px 0 0;
	font-size: 20px;
	line-height: 1.8;
}
.training__order__type.three li p {
	width: 100%;
}
.training__order__image {
	width: 975px;
	margin: 50px auto 0;
	border-radius: 15px;
	overflow: hidden;
}
.training__order__image img {
	width: 100%;
}

.support {
	padding: 125px 0 175px;
	position: relative;
}
.support::before {
	content: "";
	display: block;
	background: url(../images/bg_bubble_04.png);
	width: 1234px;
	height: 505px;
	margin: auto;
	position: absolute;
	top: -50px;
	right: 0;
	left: 0;
}
.support__list {
	display: flex;
	flex-wrap :wrap;
	justify-content: space-between;
	width: 1200px;
	margin: 150px auto 0;
}
.support__list li {
	width: 47%;
	position: relative;
}
.support__list li:nth-of-type(n+3) {
	margin-top: 50px;
}
.support__list__image {
	margin: auto;
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
}
.support__list li:nth-of-type(1) .support__list__image {
	width: 305px;
}
.support__list li:nth-of-type(2) .support__list__image {
	width: 180px;
}
.support__list li:nth-of-type(3) .support__list__image {
	width: 210px;
}
.support__list li:nth-of-type(4) .support__list__image {
	width: 350px;
}
.support__list li:nth-of-type(5) .support__list__image {
	width: 260px;
}
.support__list li:nth-of-type(6) .support__list__image {
	width: 440px;
}
.support__list__heading {
	background: #51c9f6;
	padding: 215px 0 50px;
	color: #fff;
	font-size: 56px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	border-radius: 10px 10px 0 0;
}
.support__list li p {
	background: #f2f2f2;
	padding: 50px;
	font-size: 21px;
	line-height: 1.6;
	border-radius: 0 0 10px 10px;
}
.support__list li p small {
	font-size: 14px;
}

.entry {
	background: #e0f7ff;
	padding: 175px 0 150px;
	position: relative;
	z-index: 0;
}
.entry::before {
	content: "";
	display: block;
	background: url(../images/bg_bubble_05.png);
	width: 1451px;
	height: 566px;
	margin: auto;
	position: absolute;
	top: -90px;
	right: 0;
	left: 0;
}
.entry:not(.thanks)::after {
	content: "";
	display: block;
	background: #fff;
	width: 100%;
	height: 580px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.entry__contact {
	display: flex;
	align-items: center;
	background: #365bab;
	width: 860px;
	margin: 100px auto 0;
	border: #365bab solid 4px;
}
.entry__contact__heading {
	width: 30%;
	color: #fff;
	text-align: center;
}
.entry__contact dl {
	width: 70%;
	background: #fff;
	padding: 25px 40px;
	font-size: 32px;
}
.entry__contact dl dt,
.entry__contact dl dd {
	line-height: 1.6;
}
.entry form {
	width: 860px;
	margin: 75px auto 0;
}
.entry form dl dt {
	font-size: 20px;
	font-weight: bold;
}
.entry form dl dt:nth-of-type(n+2) {
	margin-top: 25px;
}
.entry form dl dd {
	margin: 15px 0 0;
	font-size: 20px;
}
.entry form dl dd .radiobtn {
	display: flex;
}
.entry form dl dd .radiobtn li + li {
	margin-left: 2rem;
}
.entry form dl dd .radiobtn li label {
	display: flex;
	align-items: center;
}
.entry form dl dd .radiobtn li input[type='radio']{
	width: 40px;
	height: 40px;
	margin: 0 0.5rem 0 0;
}
.entry form dl dd input[type='text'] {
	background: #fff;
	width: 100%;
	height: 70px;
	padding: 1rem;
	border: none;
}
.entry form dl dd input.short {
	width: 6rem;
	margin: 0 1rem 0 0;
}
.entry form dl dd input.short:nth-of-type(n+2) {
	margin-left: 1rem;
}
.entry form dl dd select {
	background: #fff;
	width: 100%;
	height: 70px;
	padding: 0 1rem;
	border: none;
}
.entry form dl dd textarea {
	background: #fff;
	width: 100%;
	height: 300px;
	padding: 1rem;
	border: #7d6757 solid 1px;
}
.entry form dl.entry__confirm dd {
	background: #fff;
	padding: 0.5rem;
	color: #000;
	line-height: 1.8;
	border-radius: 10px;
}
.entry__privacy {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 100px 0 0;
	font-size: 32px;
}
.entry__privacy label {
	display: flex;
	align-items: center;
}
.entry__privacy input[type="checkbox"] {
	width: 40px;
	height: 40px;
	margin: 0 0.5rem 0 0;
}
.entry__privacy__link a {
	display: block;
	width: 140px;
	margin: 0 0 0 1rem;
	color: #365bab;
	font-size: 18px;
	line-height: 30px;
	text-align: center;
	border: #365bab solid 1px;
	border-radius: 10px;
}
.entry__submit {
	display: flex;
	justify-content: center;
	margin: 100px 0 0;
}
.entry__submit li + li {
	margin-left: 30px;
}
.entry__submit input {
	background: #365bab;
	width: 380px;
	color: #fff;
	font-size: 32px;
	line-height: 80px;
	text-align: center;
	border: none;
	border-radius: 10px;
	cursor: pointer;
}
.entry__submit .rewrite input {
	background: #808080;
}
.entry form .caution {
	margin: 0 0 1rem;
	color: #f00;
	font-size: 20px;
	font-weight: bold;
}

.interview__ttl {
	background: url(../images/interview/bg_title.png) center #e0f7ff;
	background-size: cover;
	padding: 75px 0;
	text-align: center;
}
.interview__ttl__label {
	margin: 0 0 40px;
	font-size: 36px;
	font-weight: bold;
}
.interview__ttl__heading {
	font-size: 80px;
	font-weight: bold;
}
.interview__heading {
	margin: 150px 0 0;
	font-size: 48px;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}
.interview__profile {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin: 100px 0 200px;
}
.interview__profile dt {
	font-size: 40px;
}
.interview__profile dd {
	font-size: 30px;
}
.interview__profile dd:first-of-type::before {
	content: "／";
	display: inline-block;
}
.interview__profile dd + dd {
	margin-left: 1rem;
}
.interview__contents section + section {
	margin-top: 100px;
}
.interview__contents__heading {
	margin: 0 0 75px;
	font-size: 36px;
	font-weight: bold;
}
.interview__contents__image img {
	width: 100%;
}
.interview__contents p {
	color: #808080;
	font-size: 21px;
	line-height: 1.8;
	text-indent: 21px;
}
.interview__contents p strong {
	color: #365bab;
	font-weight: bold;
}

.interview__block__01 {
	display: flex;
}
.interview__block__01 .interview__contents__image {
	width: 45%;
}
.interview__block__01__col {
	width: 55%;
	padding: 0 4vw 0 calc((100% - 1200px) / 2);
}
.interview__block__02 {
	display: flex;
}
.interview__block__02 .interview__contents__image {
	width: 45%;
	order: -1;
}
.interview__block__02__col {
	width: 55%;
	padding: 0 calc((100% - 1200px) / 2) 0 4vw;
}
.interview__block__03 {
	width: 1200px;
	margin: 0 auto;
}
.interview__block__03 .interview__contents__image {
	margin: 50px 0 0;
}
.interview__block__04 {
	display: flex;
	width: 1200px;
	margin: 0 auto;
}
.interview__block__04__col {
	width: 600px;
	margin-right: auto;
}
.interview__block__04 .interview__contents__image {
	width: 500px;
}
.interview__goals {
	display: flex;
	background: #ffff00;
	width: 1200px;
	margin: 150px auto 0;
	border-radius: 15px;
}
.interview__goals dt {
	width: 190px;
	margin: 0 0 50px 50px;
}
.interview__goals dd {
	width: calc(100% - 240px);
	padding: 50px;
	font-size: 42px;
	font-weight: bold;
	line-height: 1.6;
}