@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-XXX */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1140px;
}
@media all and (max-width: 896px) {
	.content {
		padding: 0 19px;
	}
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	padding: 0 20px;
}
.pageTitle .content {
	padding: 81px 0 0;
	min-height: 560px;
	position: relative;
	box-sizing: border-box;
}
.pageTitle .textBox h2 {
	margin-bottom: 31px;
	font-size: 8rem;
	font-weight: 400;
	line-height: 1;
}
.pageTitle .textBox h2 small {
	margin-bottom: 21px;
	display: block;
	color: #00a0e9;
	font-size: 1.6rem;
	font-weight: 700;
}
.pageTitle .textBox h2 span {
	margin-top: 33px;
	display: block;
	color: #00a0e9;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
}
.pageTitle .photoBox {
	width: calc(100% - 502px);
	position: absolute;
	right: -8px;
	bottom: 0;
}
@media (min-width: 896px) and (max-width: 1139px) {
	.pageTitle .content {
		padding: 7.105vw 0 0;
		min-height: 49.123vw;
	}
	.pageTitle .textBox h2 {
		margin-bottom: 2.719vw;
		font-size: 7.018vw;
	}
	.pageTitle .textBox h2 small {
		margin-bottom: 1.842vw;
		font-size: 1.404vw;
	}
	.pageTitle .textBox h2 span {
		margin-top: 2.895vw;
		font-size: 3.509vw;
	}
}
@media all and (max-width: 896px) {
	.pageTitle {
		padding: 0 20px;
		text-align: center;
	}
	.pageTitle .content {
		padding: 21px 0 0;
		min-height: inherit;
	}
	.pageTitle .textBox {
		margin-bottom: 34px;
		width: auto;
	}
	.pageTitle .textBox h2 {
		margin: 0 -20px 13px;
		font-size: 4rem;
	}
	.pageTitle .textBox h2 small {
		margin-bottom: 15px;
		font-size: 1.4rem;
	}
	.pageTitle .textBox h2 span {
		margin-top: 14px;
		font-size: 2rem;
		line-height: 1.4;
	}
	.pageTitle .textBox p {
		font-size: 1.6rem;
		line-height: 1.40625;
		text-align: justify;
	}
	.pageTitle .photoBox {
		margin: 0 auto;
		width: 76%;
		max-width: 450px;
		position: static !important;
		right: auto !important;
		bottom: auto !important;
	}
}
@media all and (max-width: 359px) {
	.pageTitle .textBox h2 {
		font-size: 3.5rem;
	}
}
/*------------------------------------------------------------
	comGreyBox
------------------------------------------------------------*/
.comGreyBox {
	background: #f6f6f6;
}
/*------------------------------------------------------------
	comGreenBox
------------------------------------------------------------*/
.comGreenBox {
	background: #DDF3EF;
}
/*------------------------------------------------------------
	.headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 24px;
	color: #3c3c3c;
	font-size: 3rem;
	line-height: 2;
	text-align: center;
}
.headLine01.cor01 {
	margin-bottom: 47px;
	color: #000;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 15px;
		font-size: 2rem;
		line-height: 1.4;
	}
	.headLine01.cor01 {
		margin-bottom: 28px;
		color: #3c3c3c;
	}
}
/*------------------------------------------------------------
	.headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 21px;
	color: #00a0e9;
	font-size: 4.5rem;
	line-height: 1.33;
	text-align: center;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 17px;
		font-size: 2.3rem;
		line-height: 1.413;
	}
}
/*------------------------------------------------------------
	.headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 43px;
	padding: 1px 5px 6px;
	color: #00a0e9;
	font-size: 3rem;
	line-height: 2;
	text-align: center;
	background: #f6f6f6;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 17px;
		padding: 5px;
		font-size: 2rem;
		line-height: 1.5;
	}
}
/*------------------------------------------------------------
	.headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 42px;
	color : #3C3C3C;
	font-size: 3rem;
	line-height: 2;
	text-align: center;
}
.headLine04 span {
	margin-bottom: 26px;
	display: block;
	color : #00A0E9;
	font-size: 2rem;
	line-height: 1.1;
}
.headLine04.cor01 span,
.headLine04.cor01 {
	color: #fff;
}
.headLine04.cor02 span,
.headLine04.cor02 {
	color : #00A0E9;
}
.headLine04.cor03 span,
.headLine04.cor03 {
	color : #1EBF8B;
}
.headLine04.cor04 span,
.headLine04.cor04 {
	color : #E26348;
}
.headLine04.cor05 span,
.headLine04.cor05 {
	color : #7A7CF9;
}
.headLine04.size01 {
	margin-bottom: 22px;
	font-size: 3.7rem;
	letter-spacing: -0.08em;
}
.headLine04.size01 span {
	margin-bottom: 12px;
	font-size: 1.8rem;
	letter-spacing: 0;
}
@media all and (max-width: 896px) {
	.headLine04 {
		margin-bottom: 23px;
		font-size: 2rem;
		line-height: 1.4;
		letter-spacing: -0.03em;
	}
	.headLine04 span {
		margin-bottom: 11px;
		font-size: 1.3rem;
		letter-spacing: 0;
	}
	.headLine04.size01 {
		margin-bottom: 8px;
		font-size: 1.6rem;
	}
	.headLine04.size01 span {
		margin-bottom: 6px;
		font-size: 1.2rem;
	}
}
@media all and (max-width: 374px) {
	.headLine04 {
		font-size: 1.9rem;
	}
}
/*------------------------------------------------------------
	comCtrText
------------------------------------------------------------*/
.comCtrText {
	margin-bottom: 59px;
	color: #3c3c3c;
	font-weight: 700;
	text-align: center;
}
@media all and (max-width: 896px) {
	.comCtrText {
		margin-bottom: 36px;
		font-size: 1.6rem;
		line-height: 1.40625;
	}
	.comCtrText.reg {
		font-weight: 400;
	}
}
/*------------------------------------------------------------
	comSliderList
------------------------------------------------------------*/
.comSlider {
	position: relative;
}
.comSlider .slideList li {
	vertical-align: top;
}
.comSlider .arrowList li {
	width: 22px;
	position: absolute;
	top: 50%;
	left: 40px;
	transform: translateY(-50%);
	cursor: pointer;
}
.comSlider .arrowList .next {
	left: auto;
	right: 40px;
}
@media all and (min-width: 897px) {
	.comSlider .arrowList li:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comSlider .arrowList li {
		width: 11px;
		left: 19px;
	}
	.comSlider .arrowList .next {
		left: auto;
		right: 19px;
	}
}
/*------------------------------------------------------------
	comStepSec
------------------------------------------------------------*/
.comStepSec {
	padding: 72px 0 83px;
}
.comStepSec ul {
	margin-top: -20px;
}
.comStepSec ul::after {
	width: 29.56%;
	content: "";
}
.comStepSec li {
	margin-top: 20px;
	width: 29.56%;
}
.comStepSec li .phoBox {
	margin-bottom: 24px;
}
.comStepSec li .txtBox p {
	text-align: justify;
}
.comStepSec li .txtBox .ttl {
	margin: 0 -20px 25px;
	font-size: 4rem;
	line-height: 1.05;
	text-align: center;
}
.comStepSec li .txtBox .ttl span {
	margin-bottom: 25px;
	display: block;
	color: #00a0e9;
	font-size: 4rem;
	font-weight: 700;
}
@media (min-width: 897px) and (max-width: 1139px) {
	.comStepSec li .txtBox .ttl {
		font-size: 3.509vw;
	}
}
@media all and (max-width: 896px) {
	.comStepSec {
		padding: 35px 0 38px;
	}
	.comStepSec ul {
		margin-top: 0;
		display: block;
	}
	.comStepSec ul::after {
		display: none;
	}
	.comStepSec li {
		width: auto;
		position: relative;
	}
	.comStepSec li:not(:last-child) {
		margin-bottom: 32px;
	}
	.comStepSec li .phoBox {
		margin: 0 auto 11px;
		padding: 87px 68px 0;
		max-width: 450px;
		background: #FFFFE5;
		box-sizing: border-box;
	}
	.comStepSec li .phoBox.wid01 {
		padding: 65px 56px 0;
	}
	.comStepSec li .phoBox.wid02 {
		padding: 95px 82px 0 63px;
	}
	.comStepSec li .phoBox img {
		width: 100%;
	}
	.comStepSec li .txtBox .ttl {
		margin: 0;
		width: 100%;
		position: absolute;
		left: 0;
		top: 28px;
		font-size: 3.3rem;
		line-height: 1.05;
	}
	.comStepSec li .txtBox .ttl span {
		margin-bottom: 9px;
		font-size: 2rem;
	}
}
/*------------------------------------------------------------
	comIntroSec
------------------------------------------------------------*/
.comIntroSec {
	padding: 51px 0 66px;
}
@media all and (max-width: 896px) {
	.comIntroSec {
		padding: 31px 0;
	}
	.comIntroSec .comSlider {
		margin: 0 -19px;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn a {
	padding: 14px 10px 12px;
	width: 201px;
	display: block;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.04em;
	text-align: center;
	box-sizing: border-box;
	background-color: #00a0e9;
}
.comBtn.cen a {
	margin: 0 auto;
}
.comBtn.cor01 a {
	color : #00A0E9;
	background-color: #fff;
}
.comBtn a.cor02 {
	color : #fff;
	background-color: #7a7cf9;
}
.comBtn a.cor03 {
	color : #fff;
	background-color: #1ebf8b;
}
.comBtn.cor04 a {
	color : #fff;
	background-color: #e26348;
}
.comBtn.cor05 a {
	color : #fff;
	background-color: #7a7cf9;
}
.comBtn.size01 a {
	padding: 17px 10px 15px;
	font-size: 2rem;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		margin: 0 auto;
		padding: 14px 10px 12px;
		width: auto;
		max-width: 450px;
		display: block;
		color: #fff;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: -0.04em;
		text-align: center;
		box-sizing: border-box;
		background-color: #00a0e9;
	}
	.comBtn.cen a {
		margin: 0 auto;
	}
	.comBtn.size01 a {
		padding: 4px 5px 6px;
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	comLinkList
------------------------------------------------------------*/
.comLinkList {
	display: flex;
	flex-wrap: wrap;
}
.comLinkList li {
	padding: 30px 20px;
	width: 50%;
	min-height: 613px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.comLinkList .pho {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	overflow-y: hidden;
}
.comLinkList .pho img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comLinkList .txtBox {
	padding: 75px 30px 52px;
	width: 100%;
	max-width: 663px;
	position: relative;
	box-sizing: border-box;
	background-color: rgba(117,204,243,0.9);
	z-index: 2;
}
.comLinkList .comBtn a {
	width: 100%;
	max-width: 250px;
}
.comLinkList .btnList {
	margin: 0 auto;
	max-width: 516px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comLinkList .btnList li {
	padding: 0;
	width: calc((100% - 16px) / 2);
	min-height: inherit;
}
.comLinkList .btnList a {
	width: 100%;
	max-width: inherit;
}
.comLinkList .list01 .txtBox {
	background-color: rgba(255,255,255,0.8);
}
@media (min-width: 897px) and (max-width: 1200px) {
	.comLinkList .headLine04.size01 {
		font-size: 3rem;
	}
	.comLinkList .comBtn.size01 a {
		font-size: 1.6rem;
	}
}
@media all and (max-width: 896px) {
	.comLinkList {
		display: block;
	}
	.comLinkList li {
		padding: 58px 15.5%;
		width: auto;
		min-height: 239px;
	}
	.comLinkList .txtBox {
		padding: 24px 10px 21px;
		width: 100%;
		max-width: inherit;
	}
	.comLinkList .comBtn {
		text-align: center;
	}
	.comLinkList .comBtn a {
		width: auto;
		max-width: inherit;
		display: inline-block;
		font-size: 1.2rem;
		vertical-align: top;
	}
	.comLinkList .btnList {
		margin: 0 auto;
		max-width: 516px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.comLinkList .btnList li {
		padding: 0;
		width: calc((100% - 10px) / 2);
		min-height: inherit;
	}
	.comLinkList .btnList a {
		width: 100%;
		max-width: inherit;
	}
	.comLinkList .list01 .txtBox {
		background-color: rgba(255,255,255,0.8);
	}
}
@media all and (max-width: 374px) {
	.comLinkList .headLine04.size01 {
		font-size: 1.5rem;
	}
	.comLinkList li {
		padding: 58px 7%;
	}
}
/*------------------------------------------------------------
	comColumn
------------------------------------------------------------*/
.comColumn {
	padding: 64px 0 59px;
}
.comColumn .headLine04 {
	margin-bottom: 20px;
}
.comColumn .headLine04 span {
	margin-bottom: 21px;
}
.comColumn .text {
	margin-bottom: 34px;
	color : #3C3C3C;
	letter-spacing: -0.07em;
	text-align: center;
}
.comColumn .linkList {
	margin: -30px 0 42px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comColumn .linkList li {
	margin-top: 30px;
	width: 48.31%;
	display: flex;
}
.comColumn .linkList a {
	padding: 49px 7.8% 49px 7.2%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 13px;
	box-sizing: border-box;
	border: 4px solid #fff;
	background-color: #75ccf3;
}
.comColumn .linkList .list01 a {
	padding: 38px 5.9% 35px 7.2%;
}
.comColumn .linkList .pho {
	width: 119px;
}
.comColumn .linkList .list01 .pho {
	width: 122px;
}
.comColumn .linkList .ttl {
	margin-top: -7px;
	max-width: calc(100% - 140px);
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.05em;
}
.comColumn .linkList .ttl span {
	display: block;
	font-size: 1.5rem;
}
.comColumn .btmText {
	color : #3C3C3C;
	font-size: 1.4rem;
	line-height: 1.42;
	letter-spacing: -0.04em;
	text-align: center;
}
@media all and (min-width: 897px) {
	.comColumn .linkList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comColumn {
		padding: 31px 20px 23px;
		background-color: #f6f6f6;
	}
	.comColumn .headLine04 {
		margin-bottom: 12px;
		font-size: 2.25rem;
	}
	.comColumn .headLine04 span {
		margin-bottom: 6px;
	}
	.comColumn .text {
		margin-bottom: 14px;
		color : #000;
		letter-spacing: -0.03em;
		text-align: justify;
	}
	.comColumn .linkList {
		margin: 0 -2px 9px;
		display: block;
	}
	.comColumn .linkList li {
		margin: 0 0 12px;
		width: auto;
		display: block;
	}
	.comColumn .linkList li:last-of-type {
		margin-bottom: 0;
	}
	.comColumn .linkList a {
		padding: 30px 27px 30px 17px;
		width: 100%;
		border-radius: 7px;
		border-width: 2px;
	}
	.comColumn .linkList .list01 a {
		padding: 33px 20px 32px 17px;
	}
	.comColumn .linkList .pho {
		width: 25.2%;
	}
	.comColumn .linkList .list01 .pho {
		width: 25.5%;
	}
	.comColumn .linkList .ttl {
		margin-top: -4px;
		max-width: 70%;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.comColumn .linkList .ttl span {
		font-size: 1.2rem;
	}
	.comColumn .btmText {
		font-size: 1.2rem;
		letter-spacing: -0.04em;
		text-align: left;
	}
}
@media all and (max-width: 374px) {
	.comColumn .linkList .ttl {
		font-size: 1.7rem;
	}
	.comColumn .headLine04 {
		font-size: 1.9rem;
	}
}
/*------------------------------------------------------------
	comContact
------------------------------------------------------------*/
.comContact {
	padding: 46px 0 51px;
	background-color: #fafafa;
}
.comContact .headLine01 {
	margin-bottom: 41px;
}
.comContact .textList {
	display: flex;
	flex-wrap: wrap;
}
.comContact .textList li {
	padding: 0 20px 10px;
	width: 50%;
	border-left: 1px solid #272727;
	box-sizing: border-box;
	text-align: center;
}
.comContact .textList li:nth-of-type(2n) {
	border-right: 1px solid #272727;
}
.comContact .textList .ttl {
	margin: -5px 0 28px;
	color : #00A0E9;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -0.05em;
}
.comContact .textList .link {
	margin-bottom: 32px;
}
.comContact .textList .link a {
	display: inline-block;
	font-size: 5rem;
	font-weight: 700;
	line-height: 1.2;
	vertical-align: top;
}
.comContact .textList .txt {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.63;
}
.comContact .textList .link01 {
	margin-bottom: 25px;
}
.comContact .textList .link01 a {
	font-size: 3rem;
	letter-spacing: -0.07em;
	text-decoration: underline;
}
.comContact .textList .list01 .ttl {
	margin-bottom: 38px;
}
@media all and (min-width: 897px) {
	.comContact .textList .link01 a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.comContact {
		padding: 25px 0 21px;
		background-color: #fff;
	}
	.comContact .headLine01 {
		margin-bottom: 12px;
	}
	.comContact .textList {
		display: block;
		border: none;
	}
	.comContact .textList li {
		margin-bottom: 14px;
		padding: 21px 20px 22px;
		width: auto;
		border: 1px solid #272727;
	}
	.comContact .textList .list01 {
		padding-bottom: 15px;
	}
	.comContact .textList li:last-of-type {
		margin-bottom: 0;
	}
	.comContact .textList .ttl {
		margin: 0 0 3px;
		font-size: 1.3rem;
	}
	.comContact .textList .link {
		margin-bottom: 12px;
	}
	.comContact .textList .link a {
		font-size: 3.3rem;
	}
	.comContact .textList .txt {
		font-size: 1.3rem;
		line-height: 1.4;
	}
	.comContact .textList .link01 {
		margin-bottom: 9px;
	}
	.comContact .textList .link01 a {
		font-size: 2.4rem;
		letter-spacing: -0.07em;
		text-decoration: underline;
	}
	.comContact .textList .list01 .ttl {
		margin-bottom: 4px;
	}
}
/*------------------------------------------------------------
	comFixList
------------------------------------------------------------*/
.comFixList {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 88;
	display: flex;
}
.comFixList li {
	width: 50%;
	display: flex;
}
.comFixList a {
	padding: 14px 10px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.05em;
	text-align: center;
	box-sizing: border-box;
	background-color: #00a0e9;
}
.comFixList .list01 a {
	color : #00A0E9;
	background-color: #f6f6f6;
}
@media all and (max-width: 896px) {
}