@charset 'utf-8';

/*PC用CSS(ipad mini 7.9インチ対応)*/
@media only screen and (min-width: 768px) {
	.pc_none{
		display: none!important;
	}
}
/*SP用CSS(ipad mini 7.9インチ未対応)*/
@media only screen and (max-width: 767px) {
	.sp_none{
		display: none!important;
	}
}


/*リキッドの場合に使用*/
@media only screen and (min-width: 768px){
/*	768px-1280px 画面幅1280px閲覧で1px=0.1rem固定*/
	html{
			font-size: 62.5%;
		}
}
@media only screen and (max-width: 767px){
/*	-767px 画面幅375px閲覧で1px=0.1rem可変*/
	html{
			font-size: 2.67vw;
		}
}
@media only screen and (max-width: 374px){
/*	-374px 画面幅374pxで1px=0.1rem固定*/
	html{
			/*font-size: 62.5%;*/
		}
}
@media only screen and (min-width: 1280px){
/*	1280px- 画面幅1280pxで1px=0.1rem固定*/
	html{
/*		font-size: 62.5%;*/
	}
}

/*Googleフォントここから*/
body{
	-webkit-text-size-adjust: 100%; /*ios横向き文字の拡大防止*/
	text-size-adjust: 100%; /*ios横向き文字の拡大防止*/
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
	font-weight: 400;
	color: #464444;
	letter-spacing: calc((0/1000)*1em);
	/*text-decoration-thickness: .1rem;
	text-decoration-line: underline;
	text-decoration-color: #000000;
	text-decoration-style: solid;
	text-underline-offset: .3rem;
	text-decoration-skip-ink: none;*/
}
html.active,
body.active{
	overflow: hidden!important;
}

/*Zen Kaku Gothic New ベースフォント*/
.light{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 300;
	font-style: normal;
}

.regular{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.mid{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.bold{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.black{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 900;
	font-style: normal;
}

.v_regular{
	font-family: "Vina Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.i_thin{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 100;
	font-style: normal;
}

.i_ethin{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 200;
	font-style: normal;
}

.i_light{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
}

.i_regular{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

.i_mid{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

.i_sbold{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}

.i_bold{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}

.i_ebold{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
}

.i_black{
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
}

.g_regular {
	font-family: "Gravitas One", serif;
	font-weight: 400;
	font-style: normal;
}

/*Googleフォントここまで*/
*{
	box-sizing: border-box;
}

svg{
	width: 100%;
	min-width: initial;
	height: 100%;
	min-height: initial;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
}
.iframe > iframe{
	width: 100%;
	min-width: initial;
	height: 100%;
	min-height: initial;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
}
::-webkit-scrollbar{
	display: none;
}
::scrollbar{
	display: none;
}
::before,
::after{
	box-sizing: border-box;
}

body{
	width: 100%;
	/*min-width: 47.6rem;*/
	height: auto;
	margin: 0 auto;
	display: block;
	position: relative;
}
@media only screen and (max-width: 767px) {
	body{
		/*min-width: 37.5rem;*/
	}
}

body > .body_01{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
@media only screen and (max-width: 767px) {
	body > .body_01{
		justify-content: flex-start;
		flex-direction: column;
	}
}
body > .body_01 .main{
	width: 47.6rem;
	height: auto;
	margin: 0;
	display: block;
	flex-shrink: 0;
	order: 2;
}
@media only screen and (max-width: 767px) {
	body > .body_01 .main{
		width: 100%;
		overflow: hidden;
	}
}

main{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
	position: relative;
}

/*headerここから*/
header{
	width: 11.5rem;
	height: auto;
	display: block;
/*	position: absolute;*/
	position: fixed;
	top: 2.5rem;
	bottom: auto;
	left: 2.5rem;
	right: auto;
	margin: auto;
	z-index: 10;
}
@media only screen and (max-width: 767px) {
	header{
		position: fixed;
		top: 1.2rem;
		left: 1.2rem;
	}
}
header > .item01{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
header > .item01 > a{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
header > .item01 > a > img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
/*headerここまで*/

/*footerここから*/
footer{
	width: 100%;
	height: auto;
	margin: 0 auto;
	background-color: #34B4E2;
	display: block;
}
footer .footer01{
	width: 100%;
	height: auto;
	padding: 4.0rem 0 3.1rem;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}
footer .footer01 > .item01{
	width: 16.8rem;
	height: auto;
	margin: 0 0 3.6rem;
	display: block;
}
footer .footer01 > .item01 > img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
footer .footer01 > .text01{
	width: auto;
	height: auto;
	margin: 0 0 2.2rem;
	font-size: 1.5rem;
	line-height: 2.3rem;
	color: #ffffff;
	display: block;
	text-align: center;
}
footer .footer01 > .link01{
	width: auto;
	height: auto;
	margin: 0 0 5.3rem;
	font-size: 1.5rem;
	line-height: 1.5rem;
	color: #ffffff;
	display: block;
}
footer .footer01 .footer01_01{
	width: auto;
	height: auto;
	margin: 0 0 5.0rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .footer01 .footer01_01 > .link01{
	width: 2.0rem;
	height: auto;
	margin: 0 0 0 2.0rem;
	display: block;
}
footer .footer01 .footer01_01 > .link01:nth-of-type(1){
	margin-left: 0;
}
footer .footer01 .footer01_01 > .link01 > img{
	width: 100%;
	height: auto;
	margin: 0;
	display: block;
}
footer .footer01 > .text02{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.0rem;
	line-height: 1.0rem;
	color: #ffffff;
	display: block;
}
/*footerここまで*/

/*btn_backここから*/
.btn_back{
	width: 12.5rem;
	height: 12.5rem;
	font-size: 2.5rem;
	line-height: 2.5rem;
	background-color: #FFFF5A;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: auto;
	bottom: -13.0rem;
	left: auto;
	right: calc((100% - 47.6rem) / 2 + 1.3rem);
	margin: auto;
	z-index: 1;
	overflow: hidden;
	cursor: pointer;
}
@media only screen and (max-width: 767px) {
	.btn_back {
		width: 11.0rem;
		height: 11.0rem;
		font-size: 1.4rem;
		line-height: 1.4rem;
		bottom: -12.0rem;
		right: -.7rem;
	}
}
.btn_back.active{
	color: #ffffff;
	background-color: #4DADE9;
}
/*btn_backここまで*/

/*includeここから*/

/*.loading_incここから*/
.loading_inc{
	width: auto;
	height: auto;
	background-color: #ffffff;
	background-image: url(../img/common/loading_inc/item01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: block;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 100;
}
@media only screen and (max-width: 767px) {
	.loading_inc{
		background-image: url(../img/common/loading_inc/item01_sp.png);
	}
}
.loading_inc .loading_inc_01{
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.loading_inc .loading_inc_01 .loading_inc_01_01{
	width: auto;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
.loading_inc .loading_inc_01 .loading_inc_01_01 > .text01{
	width: auto;
	height: auto;
	margin: 0 0 3.5rem;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
@media only screen and (max-width: 767px) {
	.loading_inc .loading_inc_01 .loading_inc_01_01 > .text01{
		margin: 0 0 2.0rem;
	}
}
.loading_inc .loading_inc_01 .loading_inc_01_01 > .text01 > span{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 13.7rem;
	line-height: 11.0rem;
	color: #4DADE9;
	display: block;
}
@media only screen and (max-width: 767px) {
	.loading_inc .loading_inc_01 .loading_inc_01_01 > .text01 > span{
		font-size: 7.7rem;
		line-height: 6.0rem;
	}
}
.loading_inc .loading_inc_01 .loading_inc_01_01 > .text02{
	width: auto;
	height: auto;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
.loading_inc .loading_inc_01 .loading_inc_01_01 > .text02 > span{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 2.1rem;
	line-height: 2.1rem;
	color: #4DADE9;
	display: block;
}
@media only screen and (max-width: 767px) {
	.loading_inc .loading_inc_01 .loading_inc_01_01 > .text02 > span{
		font-size: 1.2rem;
		line-height: 1.2rem;
	}
}
/*.loading_incここまで*/

/*.inc01ここから*/
.inc01{
	width: calc((100% - 47.6rem) / 2);
	height: auto;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	padding: 2.0rem 0;
	margin: 0;
	background-image: url(../img/common/inc01/item01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	order: 1;
	position: sticky;
	top: 0;
	overflow-y: scroll;
}
.inc01 .inc01_01{
	width: auto;
	height: auto;
	margin: auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
@media only screen and (max-width: 767px) {
}
.inc01 .inc01_01 > .text01{
	width: auto;
	height: auto;
	margin: 0 0 1.9rem;
	font-size: 7.7rem;
	line-height: 6.0rem;
	color: #4DADE9;
	display: block;
}
.inc01 .inc01_01 > .text02{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.2rem;
	color: #4DADE9;
	display: block;
}
/*.inc01ここまで*/

/*.inc02ここから*/
.inc02{
	width: calc((100% - 47.6rem) / 2);
	height: auto;
	padding: 2.0rem 0;
	margin: 0;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	background-color: #EFF7FC;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	order: 3;
	position: sticky;
	top: 0;
	overflow-y: scroll;
}
.inc02 .inc02_01{
	width: 90%;
	max-width: 42.0rem;
	height: auto;
	margin: auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}
@media only screen and (max-width: 767px) {
}
.inc02 .inc02_01 > .text01{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 4.0rem;
	line-height: 4.0rem;
	color: #4DADE9;
	display: block;
}
.inc02 .inc02_01 > .text02{
	width: auto;
	height: auto;
	padding: 0 0 2.0rem;
	margin: 0 0 1.3rem;
	font-size: 3.8rem;
	line-height: 3.8rem;
	color: #4DADE9;
	display: block;
	position: relative;
}
.inc02 .inc02_01 > .text02::before{
	content: '';
	width: 6.6rem;
	height: .3rem;
	background-color: #4DADE9;
	display: block;
	position: absolute;
	top: auto;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.inc02 .inc02_01 > .text03{
	width: auto;
	height: auto;
	margin: 0 0 1.9rem;
	font-size: 1.5rem;
	line-height: 2.1rem;
	color: #4DADE9;
	display: block;
	text-align: center;
}
.inc02 .inc02_01 > .text04{
	width: auto;
	height: auto;
	margin: 0 0 4.5rem;
	font-size: 1.6rem;
	line-height: 1.6rem;
	color: #4DADE9;
	display: block;
	text-align: center;
}
.inc02 .inc02_01 > .text05{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.5rem;
	line-height: 2.7rem;
	color: #4DADE9;
	display: block;
	text-align: center;
}
/*.inc02ここまで*/
/*includeここまで*/