@charset "UTF-8";




/* CSS STYLE */

html {
	font-size: 2.666666vw;
}
body {
	min-width: 320px;
	font-size: 1.4rem;
	line-height: 1.65;
	background: #071150;
}

.spnone {
	display: none !important;
}

iframe[src*="youtube.com"], iframe[src*="youtube-nocookie.com"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}










/* SITEPARTS */

#warp {
	width: 100%;
	/*
	background: url(../img/body_bg_left.svg) left top repeat-y , url(../img/body_bg_right.svg) right top repeat-y;
	background-size: 2rem auto , 5rem auto;
	*/
}

.inner, .inner-mid, .inner-sml {
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	z-index: 1;
}

.head1 {
	margin-bottom: 1.6rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	span {
		display: block;
		margin-bottom: 0.6rem;
		font-family: var(--font-en);
		font-size: 1.2rem;
		font-weight: 700;
		letter-spacing: 0.02em;
		color: var(--color-green);
	}
	& + p {
		margin-bottom: 3rem;
		font-feature-settings: "palt" !important;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.05em;
		text-align: center;
		span {
			color: var(--color-green);
		}
	}
}

.btn {
	position: relative;
	line-height: 1;
	a, button {
		position: relative;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border: none;
		border-radius: 7rem;
		background-color: var(--color-orange);
		width: 24rem;
		height: 5.6rem;
		margin: 0;
		padding: 0.4rem 3rem 0.6rem 0.5rem;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		color: var(--color-w);
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			right: 1.5rem;
			background: url(../img/btn-ar.png) no-repeat center center / cover;
			width: 2.6rem;
			height: 2.6rem;
			margin-top: -1.3rem;
		}
	}
}

.big {
	font-size: 120%;
}
.sml {
	font-size: 85%;
}
.note {
	font-size: 85%;
}

.img-box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
	img {
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		max-width: initial;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
	a {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}


/* FADE */

.fade {
	opacity: 0;
	-webkit-transition: 0.8s linear;
	transition: 0.8s linear;
}
.fade.active {
	opacity: 1;
}
.fade-l {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(-2rem, 0);
	transform: translate(-2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-l.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-r {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(2rem, 0);
	transform: translate(2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-r.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-t {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, -2rem);
	transform: translate(0, -2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-t.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-b {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, 2rem);
	transform: translate(0, 2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-b.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-w {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
	opacity: 0;
}
.fade-z {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(0.9,0.9);
	transform: scale(0.9,0.9);
	opacity: 0;
}
.fade-w.active,
.fade-z.active {
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}
.blur {
	-webkit-transition: 2s ease;
	transition: 2s ease;
	filter: blur(10rem);
	-webkit-transform: scale(1.5,1.5);
	transform: scale(1.5,1.5);
	opacity: 1;
}
.blur.active {
	filter: blur(0);
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}










/* HEADER */
/*
#header {
	display: none;
}
*/




/* HEADER */

#header {
	position: sticky;
	position: fixed;
	top: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--color-w);
	width: 100%;
	height: 5rem;
	padding: 0rem 0 0 2rem;
	font-size: 1.7rem;
	line-height: 1;
	transition: 0.2s ease;
	z-index: 1000;
	box-shadow: 0 0 1rem rgba(0,0,0,0.2);
	.header-logo a img{
		max-width: 6rem;
	}
	ul {
		display: flex;
		align-items: center;
		li {
			white-space: nowrap;
			font-weight: 500;
			padding: 0 0 0.5rem 0;
			display: none;
			/*
			&:after {
				content: "\30FB";
				margin: 0 1.2rem;
				font-weight: 700;
				line-height: 1;
				color: var(--color-green);
			}
			&:nth-last-of-type(-n+2) {
				&:after {
					display: none;
				}
			}
		*/
			a{
				color:#000;
				font-size: 1.5rem;
				margin-left:3rem;
			}
			a[target="_blank"]{
				background: url(../img/header_icon_02.svg) right top 0.7rem no-repeat;
				background-size: 1.57rem 0.852rem;
				padding:0 2.2rem 0 0;
			}
		}
		.btn {
			display: block;
			margin-left: 2rem;
  		padding: 0;
			a {
				margin:0;
				width: auto;
				padding:0 1.5rem 0 2rem;
				height: 5rem;
				font-size: 1.3rem;
				display: flex;
				border-radius: 0;
				background: linear-gradient(90deg, rgb(227, 189, 44), rgb(248, 218, 107));
				color:#000;
				span{
					background: url(../img/header_icon_01.svg) right center no-repeat;
					background-size: 1.7rem 1.7rem;
					display: flex;
					padding: 1.5rem 2rem 1.5rem 0;
					font-size: 1.5rem;
					font-weight: 700;
				}
				&:after {
					display: none;
				}
			}
		}
	}
	/*
	&.active {
		box-shadow: 0 0 1rem rgba(0,0,0,0.2);
	}
	*/
	.spBtn {
		display: flex;
		width: 4rem;
		height: 4rem;
		position: relative;
		border-radius: 100%;
		position: absolute;
		right: 13rem;
	}
	.spBtn span {
		position: absolute;
		right: 0;
		left: 0;
		margin: auto;
		width: 1.5rem;
		height: 1px;
		background-color: #000;
		border-radius: 4px;
		display: inline-block;
		transition: all 0.5s;
		box-sizing: border-box;
	}
	.spBtn span:nth-of-type(1) {
		top: -0.8rem;
		bottom: 0;
		margin: auto;
	}
	.spBtn span:nth-of-type(2) {
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.spBtn span:nth-of-type(3) {
		top: 0;
		bottom: -0.8rem;
		margin: auto;
	}
	.spBtn.open span:nth-of-type(1) {
		-webkit-transform: translateY(0.4rem) rotate(-45deg);
		transform: translateY(0.4rem) rotate(-45deg);
	}
	.spBtn.open span:nth-of-type(2) {
		opacity: 0;
	}
	.spBtn.open span:nth-of-type(3) {
		-webkit-transform: translateY(-0.4rem) rotate(45deg);
		transform: translateY(-0.4rem) rotate(45deg);
	}
	.closeBtn{
		text-align: center;
		color:#FFF;
	}
	.spMenu {
		width: 100%;
		height: calc(100% - 5rem);
		/**/
		height:5rem;
		height:auto;
		height:100%;
		padding: 8rem 1rem 0 1rem;
		background-color: rgba(61,75,126,0.5);
		backdrop-filter: blur(0.6rem);
		position: fixed;
		top:5rem;
		left: 0;
		z-index: 999;
		ul{
			display: flex;
			align-items: center;
			justify-content:space-between;
			flex-wrap: wrap;
			li{
				display: flex;
				text-align: center;
				margin:1rem 0;
				align-items: center;
				justify-content: center;
				width: 100%;
				padding:0;
				a{
					color:#FFF;
					font-size:1.4rem;
					line-height:1.5;
					margin:0;
					padding:0.5rem 0;
				}
				a[target="_blank"] {
                    padding: 0 2.2rem 0 0;
				}
			}
		}
	}
}



.mv-area {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	z-index: 1;
	.main_block{
		margin:auto;
		padding:9rem 2rem 5rem 2rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		.subttl{
			width: 32rem;
			background: url(../img/header_bg_img_01.svg) left center no-repeat;
			background-size: contain;
			color:#FFF;
			font-weight: 700;
			padding: 0.3rem 0 1rem 0;
			text-align: center;
			font-size: 1.4rem;
		}
		h1{
			display:flex;
			align-items: center;
			justify-content: center;
			width: 33rem;
			flex-wrap: wrap;
			font-size: 4rem;
			font-weight: 100;
			line-height: 1;
			span{
				font-family: 'Satoshi', sans-serif;
				font-size: 6.4rem;
				font-weight: bold;
			}
			span:nth-of-type(2){
				color:#3D4B7E;
			}
		}
		.big_ttl{
			position: relative;
			background: url(../img/header_bg_img_02_sp.svg) center bottom -1.5rem no-repeat;
			background-size: 3.2rem 5rem;
			width: 32rem;
			padding: 0 0 2rem 0;
			.textleft{
				position: absolute;
				bottom:0rem;
				color:#343D4B;
				font-size: 1.2rem;
				font-weight: 700;
				left:1rem;
			}
			.textright{
				position: absolute;
				bottom:0rem;
				color:#3D4B7E;
				font-size: 1.2rem;
				font-weight: 700;
				right:1.5rem;
			}
		}
		ul{
			display: flex;
			margin:1rem 0 0 0;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;
			gap:0.5rem;
			li{
				margin-right:0rem;
				width: 6.5rem;
				img{
					width: 100%;
				}
			}
		}
		p{
			font-size: 2.2rem;
			font-weight:500;
			margin:0.5rem 0 2.5rem 0;
			text-align: center;
			font-weight:bold;
			span{
				font-size: 1.6rem;
			}
		}
		.main_btn{
			a{
				border-radius: 10rem;
				width: 30rem;
				display: flex;
				align-items: center;
				justify-content: center;
				font-weight:700;
				background: linear-gradient(90deg, rgb(227, 189, 44), rgb(248, 218, 107));
				height:6rem;
				box-shadow:0.2rem 0.2rem 0 rgba(181,149,26,1);
				color:#000;
				span{
					background: url(../img/main_icon_01.svg) right center no-repeat;
					background-size: 3rem 3rem;
					display: flex;
					padding: 1.5rem 8rem 1.5rem 7rem;
					font-size: 1.8rem;
					font-weight: 700;
				}
			}
			a:hover{
				opacity: 0.7;
				text-decoration: none;
			}
		}
	}
	.main_img{
		text-align: center;
	}
	.main_image_sp{
		width: 80%;
		margin:0 auto 0;
	}
}





.reason_block{
	background:#343D4B;
	position: relative;
	margin:auto;
	padding:0 0 22rem 0;
	margin-top:3rem;
	.inr{
		padding:7rem 2rem 0 2rem;
		margin:auto;
		text-align: center;
		color:#FFF;
		position: relative;
		.subttl{
			position: absolute;
			left:0;
			right:0;
			margin:auto;
			top:-5rem;
			background: url(../img/reason_bg.svg) center center no-repeat;
			background-size:9rem 9rem;
			width:9rem;
			height:9rem;
			font-size: 1.6rem;
			display: flex;
			justify-content: center;
			align-items: center;
			color:#343D4B;
			font-family: 'Satoshi', sans-serif;
			font-weight: bold;
			padding: 0.5rem 0 0 0;
		}
		h2{
			background:#343D4B;
			font-size: 1.8rem;
			display: inline-block;
			padding:0 0rem;
			em{
				font-size: 3.2rem;
				span{
					color:#F7D969;
					position: relative;
				}
				span:after{
					content:"";
					position: absolute;
					top:0rem;
					left:0;
					right:0;
					margin:auto;
					background:#F7D969;
					display: block;
					border-radius: 1rem;
					width:0.5rem;
					height:0.5rem;
				}
			}
		}
		p{
			margin-top:2rem;
			em{
				color:#F7D969;
			}
		}
	}
}



.about_block{
	background:#FFF;
	padding:3rem 2rem 2rem 2rem;
	display: flex;
	justify-content: space-between;
	text-align: left;
	box-shadow: 1rem 1rem 2rem rgba(0,0,0,0.04);
	width: 90%;
	max-width: 110rem;
	margin:-18rem auto 0;
	z-index: 1;
	position: relative;
	flex-wrap: wrap;
	.left_photo{
		width: 90%;
		margin:0 auto 2rem;
	}
	.right_text{
		color:#2D2D2D;
		h3{
			font-size:2.4rem;
			color:#343D4B;
			position: relative;
			padding:0 0 0 2rem;
		}
		h3:before{
			content:"";
			position: absolute;
			top:0rem;
			bottom:0;
			left:0;
			margin:auto;
			background:#343D4B;
			display: block;
			border-radius: 1rem;
			width:0.5rem;
			height:0.5rem;
		}
		p{
			margin-top:2rem;
			font-size: 1.6rem;
		}
		p:last-child{
			margin-top:2rem;
		}
	}
}





.possibility_block{
	background: url(../img/possibility_bg.png) center top -2rem no-repeat;
	background-size: 120rem auto;
	width: 100%;
	z-index: 1;
  position: relative;
	.inr{
		padding:6rem 2rem 0 2rem;
		margin:auto;
		position: relative;
		h2{
			font-size:5rem;
			font-weight:bold;
			font-family: 'Satoshi', sans-serif;
			line-height: 1.5;
		}
		.subttl{
			font-size: 1.6rem;
			font-weight:500;
			position: relative;
			padding:0 0 0 4rem;
		}
		.subttl:before{
			content:"";
			width: 2rem;
			height:0.1rem;
			background:#343D4B;
			display: inline-block;
			position: absolute;
			left:0;
			top:1.5rem;
		}
		ul{
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
			margin:3rem auto 0;
			li{
				text-align: center;
				width: 49%;
				max-width:26rem;
				padding:4rem 2rem 2rem 2rem;
				border:0.1rem solid #FFF;
				border-bottom: none;
				.images{
					display: flex;
					align-items: center;
					justify-content: center;
				}
				.bigttl{
					font-size: 1.8rem;
					color:#343D4B;
					font-weight: bold;
					margin:2rem 0 1rem 0;
					display: flex;
					align-items: center;
					justify-content: center;
				}
				p{
					text-align: left;
					font-size:1.4rem;
				}
			}
			li:nth-child(1){
				background:#FFE9EC;
				box-shadow: 0 0.2rem 0rem rgba(233,196,201,1);
				margin-bottom:1rem;
			}
			li:nth-child(2){
				background:#FFF9EC;
				box-shadow: 0 0.2rem 0rem rgba(232,217,184,1);
				margin-bottom:1rem;
			}
			li:nth-child(3){
				background:#EBFFF0;
				box-shadow: 0 0.2rem 0rem rgba(193,241,205,1);
				margin-bottom:1rem;
			}
			li:nth-child(4){
				background:#ECF9FF;
				box-shadow: 0 0.2rem 0rem rgba(198,228,242,1);
				margin-bottom:1rem;
			}
			li:nth-child(5){
				background:#E6FFFA;
				box-shadow: 0 0.2rem 0rem rgba(230,255,250,1);
								margin-bottom:1rem;
			}
			li:nth-child(6){
				background:#FBF6FF;
				box-shadow: 0 0.2rem 0rem rgba(251,246,255,1);
								margin-bottom:1rem;
			}
			li:nth-child(7){
				background:#FFEFEB;
				box-shadow: 0 0.2rem 0rem rgba(255,239,235,1);
			}
			li:nth-child(8){
				background:#F8FFE8;
				box-shadow: 0 0.2rem 0rem rgba(248,255,232,1);
			}
		}
	}
}



.comv_block{
	background: linear-gradient(180deg, #FFF 0%, #FFFF 30%, #FDBA2F 30%, #FDBA2F 100%);
	padding:56rem 0 2rem 0;
	margin-top:-48rem;
	position: relative;
	overflow: hidden;
	color:#000;
	p{
		position: relative;
		z-index: 2;
		text-align: center;
	}
	.cv_area{
		text-align: center;
		position: relative;
		z-index: 2;
		.cv_area_ttl{
			position: relative;
			font-size: 2.6rem;
			font-weight: bold;
			background: url(../img/cv_left.svg) left bottom no-repeat , url(../img/cv_right.svg) right bottom no-repeat;
			background-size:2.43rem 3.36rem , 2.43rem 3.36rem;
			display: inline-block;
			padding:0 4rem;
		}
	}
	.cv_white{
		background:#FFF;
		padding:2rem 2rem;
		margin:2rem ;
		position: relative;
		z-index: 2;
		p{
			font-size: 1.8rem;
			font-weight: bold;
		}
		a{
			border-radius: 10rem;
			width: 29rem;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: 700;
			background: linear-gradient(90deg, rgb(0, 0, 0), rgb(84, 84, 84));
			height: 5rem;
			box-shadow: 0.2rem 0.2rem 0 rgba(0, 0, 0, 1);
			color: #FFF;
			margin:1rem auto 0;
			span {
				background: url(../img/main_icon_01.svg) right center no-repeat;
				background-size: 2.5rem 2.5rem;
				display: flex;
				padding: 1.5rem 3.5rem 1.5rem 4rem;
				font-size: 1.8rem;
				font-weight: 700;
			}
		}
		a:hover{
			text-decoration: none;
			opacity: 0.7;
		}
	}
	.text {
		animation: aggretext 50s linear infinite;
		position: absolute;
		bottom: 23rem;
		left: 0;
		background: url(../img/cv_text.svg) repeat-x left top / 255rem;
		width: 510rem;
		height: 13rem;
		z-index: 1;
	}
}
@keyframes aggretext {
	0% {
		left: 0;
	}
	100% {
		left: -255rem;
	}
}



#footer {
	position: relative;
	width: 100%;
	margin-top: 0rem;
	padding: 2rem 0rem;
	line-height: 1;
	z-index: 2;
	.copy {
		margin-top: 0rem;
		font-size: 1.2rem;
		font-weight: 400;
		text-align: center;
	}
}






.movie_blk {
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: -1;
	video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0.3;
	}
}





.mv-area {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	z-index: 1;
	color:#FFF;
	flex-wrap: wrap;
	.main_block{
		width:100%;
		margin:auto;
		padding:8rem 2rem 2rem 2rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		.main_left{
			width:100%;
		}
		.main_right{
			width:100%;
		}
		.subttl{
			width: 100%;
			background: url(../img/header_bg_img_01.svg) left center no-repeat;
			background-size:contain;
			color:#FFF;
			height:6.1rem;
			font-weight: 500;
			padding: 1.5rem 0 0 0;
			text-align: center;
			font-size: 1.4rem;
			span{
				color:#F3FF46;
			}
		}
		h1{
			display:flex;
			align-items: center;
			/*
			justify-content: center;
			width: 60.5rem;
			flex-wrap: wrap;
			*/
			font-size: 4.5rem;
			font-weight: 700;
			line-height: 1;
			margin-right:0.5rem;
			span{
				font-family: 'Satoshi', sans-serif;
				font-size: 11.9rem;
				font-weight: bold;
			}
			span:nth-of-type(2){
				color:#3D4B7E;
			}
			img{
				width: 8rem;
			}
		}
		.big_ttl{
			position: relative;
			width: 100%;
			/*
			background: url(../img/header_bg_img_02.svg) center bottom no-repeat;
			background-size: 60.5rem 0.5rem;
			width: 60.5rem;
			padding:0 0 1rem 0;
			*/
			background:none;
			padding:0;
			.textleft{
				position: absolute;
				bottom:-1rem;
				color:#343D4B;
				font-size: 1.6rem;
				font-weight: 700;
				left:5rem;
			}
			.textright{
				position: absolute;
				bottom:-1rem;
				color:#3D4B7E;
				font-size: 1.6rem;
				font-weight: 700;
				right:5rem;
			}
		}
		ul{
			display: flex;
			width:100%;
			margin:2rem 0 0 0;
			flex-wrap: wrap;
			li{
				margin-right:0.5rem;
				width: 90%;
				border-radius: 0.4rem;
				background-image: linear-gradient(0deg, #dadaf8, #ffffff);
				font-size: 1.2rem;
				text-align: center;
				color:#1A2885;
				padding:0.5rem 0;
				font-weight: bold;
				em{
					font-size: 1.5rem;
				}
			}
		}
		p{
			font-size: 1.5rem;
			margin:1.5rem 0 2rem 0;
			span{
				/*
				border-bottom:1px solid #FFF347;
				*/
				color:#F2FF37;
			}
		}
		.main_btn{
			a{
				border-radius: 10rem;
				width: 30rem;
				display: flex;
				align-items: center;
				justify-content: center;
				font-weight:700;
				background: linear-gradient(90deg, rgb(227, 189, 44), rgb(248, 218, 107));
				/*
				height:7rem;
				*/
				box-shadow:0.2rem 0.2rem 0 rgba(181,149,26,1);
				color:#000;
				margin:2rem auto 0;
				span{
					background: url(../img/main_icon_01.svg) right 1rem center no-repeat;
					background-size: 3.5rem 3.5rem;
					display: flex;
					padding: 1.5rem 9rem 1.5rem 7rem;
					font-size: 1.8rem;
					font-weight: 700;
				}
			}
		}
	}
}


.reason_block{
	position: relative;
	/*
		width:auto;
	*/
	width: calc(100% - 5rem);
	width: 100%;
	margin:4rem auto 0;
	background-image: linear-gradient(108deg, #adb6f2, #202a6b);
	border-radius: 1rem;
	border-radius: 0;
	padding:0;
	.inr{
		padding:6rem 2rem;
		width:100%;
		margin:auto;
		color:#FFF;
		position: relative;
		.subttl{
			position: absolute;
			left:0;
			right:0;
			margin:auto;
			top:-7rem;
			background: url(../img/reason_bg.svg) center center no-repeat;
			background-size:11.8rem 11.8rem;
			width:11.8rem;
			height:11.8rem;
			font-size: 1.8rem;
			display: flex;
			justify-content: center;
			align-items: center;
			color:#343D4B;
			font-family: 'Satoshi', sans-serif;
			font-weight: bold;
			padding: 0.5rem 0 0 0;
		}
		.h2_sub{
			font-family: 'Satoshi', sans-serif;
			font-weight: bold;
			text-align: center;
			font-size: 1.1rem;
		}
		h2{
			font-size: 2.2rem;
			text-align: center;
			margin-bottom:2rem;
			background:none;
		}
	}
	.about_area{
		display: flex;
		justify-content:space-between;
		flex-wrap: wrap;
		.left_area{
			width:100%;
			.ttl{
				font-size: 1.9rem;
				font-weight:400;
				line-height:1.5;
				margin:0 0 2rem 0;
			}
			p{

				span{
					color:#F2FF37;
				}
			}
		}
		.right_area{
			width:100%;
		}
	}
	.rag_text{
		margin-top:4rem;
		border:1px solid #FFF;
		border-radius: 1rem;
		padding:1.5rem;
		font-size: 2.1rem;
		font-weight:500;
		text-align: center;
		sup{
			font-size: 1rem;
		}
	}
	small{
		text-align: right;
		color:#DCD3EE;
		font-size: 1.3rem;
		display: block;
		margin-top:0.5rem;
	}
}

.wd60{
	width: 60%;
}



.reason_block_bottom {
	position: relative;
	width: calc(100% - 4rem);
	margin:5rem auto 0;
	.inr{
		padding:0rem;
		width: 100%;
		margin:auto;
		color:#FFF;
		position: relative;
		text-align: center;
		.subttl{
			font-size: 1.6rem;
		}
		h2{
			font-size: 2.3rem;
			background: url(../img/h2_bg.svg) left center no-repeat , url(../img/h2_bg.svg) right center no-repeat;
			background-size:7rem 0.1rem , 7rem 0.1rem;
			background:none;
			padding:0 0 0 0rem;
			em{
				color:#F2FF37;
				font-style: normal;
			}
		}
		.fbox{
			display: flex;
			justify-content: space-between;
			width: 100%;
			margin:2rem auto 0;
			flex-wrap: wrap;
			.fbox_left{
				width: 100%;
				margin:0 0 2rem 0;
				img{
					width: 60%;
					margin:auto;
				}
			}
			.fbox_right{
				width: 100%;
				text-align: left;
				div{
					font-size: 1.9rem;
					font-weight: 400;
					line-height: 1.5;
					margin: 0 0 0rem 0;
					text-align: center;
				}
				p{
					margin:2rem 0 0rem 0;
				}
			}
		}
	}
}



.feature_block{
	background:rgba(1,6,35,0.6);
	padding:4rem 0 2rem 0;
	margin:5rem 0;
	.inr{
		width:calc(100% - 4rem);
		margin:0rem auto 0;
		h2{
			color:#FFF;
			text-align: center;
			font-size: 2.2rem;
			line-height:1.2;
			span{
				font-size: 1.1rem;
				margin:0 0 1rem 0;
				display: inline-block;
			}
			em{
				display: inline-block;
				position: relative;
			}
			em:before{
				content:"";
				background:#FFF;
				width: 2rem;
				height:0.2rem;
				left: -3rem;
				top: 1.5rem;
				display: block;
				position: absolute;
			}
			em:after{
				content:"";
				background:#FFF;
				width: 2rem;
				height:0.2rem;
				right: -3rem;
				top: 1.5rem;
				display: block;
				position: absolute;
			}
		}
		.feature_area{
			display: flex;
			justify-content: space-between;
			color:#FFF;
			margin-top:4rem;
			padding:0 0 4rem 0;
			position: relative;
			background-image : linear-gradient(to right, #FFF 0.2rem, transparent 0.2rem);
			background-size: 1rem 0.2rem;
			background-repeat: repeat-x; 
			background-position: left bottom;
			flex-wrap: wrap;
			.left_area{
				width:100%;
				order:2;
				h3{
					font-size: 1.8rem;
					font-weight: 500;
					margin-bottom:1rem;
					line-height:1.5;
					margin-top:1.5rem;
				}
				h3.feature01{
					background: url(../img/feature_icon_01.svg) left center no-repeat;
					background-size:5rem auto;
					padding:1rem 0 1rem 7rem;
				}
				h3.feature02{
					background: url(../img/feature_icon_02.svg) left center no-repeat;
					background-size:5rem auto;
					padding:1rem 0 1rem 7rem;
				}
				h3.feature03{
					background: url(../img/feature_icon_03.svg) left center no-repeat;
					background-size:5rem auto;
					padding:1rem 0 1rem 7rem;
				}
				h3.feature04{
					background: url(../img/feature_icon_04.svg) left center no-repeat;
					background-size:5rem auto;
					padding:1rem 0 1rem 7rem;
				}
				h3.feature05{
					background: url(../img/feature_icon_05.svg) left center no-repeat;
					background-size:5rem auto;
					padding:1rem 0 1rem 7rem;
				}
			}
			.right_area{
				width:100%;
			}
		}
		.feature_area.nob{
			background-image:none;
		}
	}
}



.table_block{
	position: relative;
	width: calc(100% - 4rem);
	margin: auto;
	border-radius: 1rem;
  background-image: linear-gradient(0deg, #d4d9fb, #ffffff);
	margin:6rem auto 0;
	.inr{
		padding: 4rem 2rem 4rem 2rem;
		width: 100%;
		margin: auto;
		text-align: center;
		position: relative;
		h2{
			color:#1A2885;
			text-align: center;
			font-size:2.2rem;
			line-height:1.5;
			margin:0 0 2rem 0;
			span{
				font-size: 1.1rem;
			}
			em{
				display: inline-block;
				position: relative;
			}
			em:before{
				content:"";
				background:#121E6C;
				width: 4rem;
				height:0.2rem;
				left: -6rem;
				top: 3.5rem;
				display: block;
				position: absolute;
				content:none;
			}
			em:after{
				content:"";
				background:#121E6C;
				width: 4rem;
				height:0.2rem;
				right: -6rem;
				top: 3.5rem;
				display: block;
				position: absolute;
				content:none;
			}
		}
	}
	table{
		margin:0rem 0 0 0;
		width: 100%;
		th{
			width:14.5rem;
			background:#ECECEC;
			border:1px solid #343434;
			padding:1.5rem;
		}
		td{
			width: 48.75rem;
			border:1px solid #343434;
			padding:1.5rem;
			background:#FFF;
		}
		td.befores{
			background:#919191;
			color:#FFF;
			padding:1.5rem;
			div{
				font-weight:bold;
				text-align: center;
				font-size: 1.6rem;
			}
			p{
				margin-top:2rem;
				text-align: left;
			}
		}
		td.afters{
			background:#1A2885;
			color:#FFF;
			border-top:1rem solid #FDD331;
			border-left:1rem solid #FDD331;
			border-right:1rem solid #FDD331;
			padding:1.5rem;
			div{
				font-weight:bold;
				text-align: center;
				font-size: 1.8rem;
				color:#FFEE51;
			}
			p{
				margin-top:2rem;
				text-align: left;
			}
		}
		td.extra{
			font-weight: bold;
			color:#1A2885;
			border-left:1rem solid #FDD331;
			border-right:1rem solid #FDD331;
		}
		td.extra.last{
			border-bottom:1rem solid #FDD331;
		}
	}
}

.tablearea{
	margin:3rem 0 0 0;
	overflow:auto;/*枠からはみ出たらスクロールさせる、はみ出なかった場合は何もしない*/
}

.tablearea table{

border-collapse:collapse;/*隣接するセルのボーダーを共有する*/
}
.tablearea table th,
.tablearea table td{

white-space:nowrap;/*80%幅を超えても文字を折り返さない*/
}




.images_block{
	width:calc(100% - 4rem);
	margin:6rem auto 0;
	.s_ttl{
		text-align: center;
		font-size: 1.8rem;
		color:#FFF;
		margin:2rem 0 0 0;
		em{
			color: #F2FF37;
		}
	}
	.b_text{
		margin:2rem 0 0 0;
		font-size: 1.8rem;
		em{
			color:#F2FF37;
		}
	}
	h2{
		color:#FFF;
		text-align: center;
		font-size: 2.2rem;
		margin:0 0 2rem 0;
		span{
			font-size: 1.1rem;
		}
		em{
			display: inline-block;
			position: relative;
		}
		em:before{
			content:"";
			background:#FFF;
			width: 2rem;
			height:0.2rem;
			left: -3rem;
      		top: 1.8rem;
			display: block;
			position: absolute;
		}
		em:after{
			content:"";
			background:#FFF;
			width: 2rem;
			height:0.2rem;
			right: -3rem;
      		top: 1.8rem;
			display: block;
			position: absolute;
		}
	}
	.feature_area{
		display: flex;
		justify-content: space-between;
		color:#FFF;
		margin-top:2rem;
		padding:0 0 0rem 0;
		position: relative;
		flex-wrap: wrap;
		.left_area{
			width:100%;
			div{
				font-size: 1.8rem;
				font-weight: 400;
				line-height: 1.5;
				margin:0 0 2rem 0;
				em{
					color:#F2FF37;
				}
			}
			p{
				margin:0 0 2rem 0;
			}
		}
		.right_area{
			width:100%;
			margin-top:2rem;
		}
	}
	.images_block_bottom{
		background-image: linear-gradient(108deg, #adb6f2, #202a6b);
        border-radius: 1rem;
		padding:2rem;
		margin:3rem auto 0;
		text-align: center;
	}
}
.images_block.first{
	color:#FFF;
}




.price_block{
	background:#343D4B;
	position: relative;
	width: calc(100% - 4rem);
	/*
	width:110rem;
	*/
	margin:6rem auto 0;
	background-image: linear-gradient(0deg, #d4d9fb, #ffffff);
	border-radius: 1rem;
	text-align: center;
	.inr{
		padding:3rem 2rem 4rem 2rem;
		width: 100%;
		margin:auto;
		position: relative;
		h2{
			color:#1A2885;
			text-align: center;
			font-size: 2.2rem;
			margin:0 0 1.5rem 0;
			span{
				font-size: 1.1rem;
			}
			em{
				display: inline-block;
				position: relative;
			}
			em:before{
				content:"";
				background:#121E6C;
				width: 2rem;
				height:0.2rem;
				left: -3rem;
				top: 2rem;
				display: block;
				position: absolute;
			}
			em:after{
				content:"";
				background:#121E6C;
				width: 2rem;
				height:0.2rem;
				right: -3rem;
				top: 2rem;
				display: block;
				position: absolute;
			}
		}
		p em{
			color:#F61D58;
			font-weight: 700;
		}
		.fboxs{
			display: flex;
			justify-content: space-between;
			margin:4rem auto 0;
			flex-wrap: wrap;
			.price_left{
				width: 100%;
				border:0.4rem solid #FFF;
				background:#FFF;
				position: relative;
				box-shadow: 0.5rem 0.5rem 2rem 0 rgba(220, 223, 241, 1);
				display: flex;
				justify-content: center;
				align-items: center;
				padding:3rem 2rem 2rem 2rem;
				flex-wrap: wrap;
				.p_ttl{
					display: inline-block;
					background:#878787;
					color:#FFF;
					text-align: center;
					border-radius: 10rem;
					padding:0.2rem 2rem;
					font-weight: 700;
					position: absolute;
					top:-1.8rem;
					left:0;
					right:0;
					margin:auto;
					width: 18rem;
				}
				.p_left_main{
					text-align: center;
					font-size: 1.8rem;
					color:#878787;
					font-weight: 700;
					line-height:1.5;
					div{
						color:#000;
						display: flex;
						align-items: baseline;
						justify-content: center;
						em{
							font-size: 3rem;
							line-height: 1;
							padding:0 0.5rem;
						}
					}
					small{
						font-weight: 400;
						font-size: 1.1rem;
						display: block;
					}
				}
			}
			.price_right{
				width:100%;
				border:0.4rem solid #1A2885;
				background:#FFF;
				position: relative;
				box-shadow: 0.5rem 0.5rem 2rem 0 rgba(206, 211, 241, 1);
				display: flex;
				flex-wrap: wrap;
				padding:3.5rem 1.5rem 1.5rem 1.5rem;
				gap:1.1rem;
				margin-top:4rem;
				.p_ttl{
					display: inline-block;
					background:#1A2885;
					color:#FFF;
					text-align: center;
					border-radius: 10rem;
					padding:0.2rem 2rem;
					font-weight: 700;
					position: absolute;
					top:-1.5rem;
					left:0;
					right:0;
					margin:auto;
					width: 18rem;
				}
				.first_p{
					width: 100%;
					background:#EBEEFF;
					display: flex;
					align-items:baseline;
					justify-content: center;
					color:#1A2885;
					font-weight: 700;
					padding:1rem 0;
					font-size: 1.8rem;
					margin:0 0 1rem 0;
					flex-wrap: wrap;
					em{
						font-size: 3rem;
						line-height:1;
					}
					span{
						font-weight: 500;
						font-size: 1.5rem;
						color:#000;
						display: inline-block;
						width: 100%;
					}
				}
				.other_p{
					width: 100%;
					background:#EBEEFF;
					font-size: 1.4rem;
					color:#1A2885;
					font-weight: 700;
					padding:0 0 1rem 0;
					div{
						background:#1A2885;
						color:#FFF;
						text-align: center;
						padding:0.5rem;
						font-size: 1.5rem;
						font-weight: 700;
						margin:0 0 1rem 0;
					}
					em{
						font-size: 2.5rem;
						color:#1A2885;
						line-height:1;
					}
					small{
						font-weight: 500;
						color:#000;
						line-height: 1;
					}
				}
			}
		}
	}
}



.com_ttl{
	margin:6rem 0 2rem 0;
	text-align: center;
	span{
		display: inline-block;
		position: relative;
		font-size: 2.1rem;
		line-height:1.5;
		color:#FFF;
		font-weight: bold;
		background: url(../img/com_ttl_left.svg) left bottom no-repeat , url(../img/com_ttl_right.svg) right bottom no-repeat;
		background-size: 4rem 4.9rem , 4rem 4.9rem;
		padding:0 6rem;
	}
}



.com_block{
	position: relative;
	width: calc(100% - 5rem);
	width: 100%;
	margin: auto;
	border-radius: 1rem;
	background-image: linear-gradient(333deg, #fdd331, #ffe377);
	margin:2rem auto 0;
	border-radius: 0;
	.inr {
		padding: 4rem 2rem 4rem 2rem;
		width: 100%;
		margin: auto;
		text-align: center;
		position: relative;
		.com_area{
			display: flex;
			justify-content:space-between;
			flex-wrap: wrap;
			.left_area{
				width:100%;
				.subttl{
					font-size: 1.8rem;
					font-weight: 700;
					color:#000;
					text-align: center;
				}
				.big_ttl{
					position: relative;
					margin:1rem 0 2rem 0;
					div{
						display: flex;
						align-items: center;
						font-size: 4.5rem;
						font-weight: 700;
						line-height: 1;
						color:#000000;
						justify-content: center;
					}
					img{
						width: 8rem;
					}
				}
				.main_btn{
					a{
						border-radius: 10rem;
						width: 30rem;
						display: flex;
						align-items: center;
						justify-content: center;
						font-weight:700;
						background-image: linear-gradient(90deg, #564fb4, #6a6cd7);
						height:7rem;
						height:auto;
						box-shadow:0.2rem 0.2rem 0 rgba(0,0,0,1);
						color:#FFF;
						margin:auto;
						span{
							background: url(../img/main_icon_01.svg) right 1rem center no-repeat;
							background-size: 3.5rem 3.5rem;
							display: flex;
							padding: 1.5rem 8rem 1.5rem 7rem;
							font-size: 1.8rem;
							font-weight: 700;
						}
					}
					a:hover{
						opacity: 0.7;
						text-decoration: none;
					}
				}
			}
			.right_area{
				width:100%rem;
				img{
					margin-top:-8rem;
				}
			}
		}
	}
}

.cv_img{
	width: 80%;
	margin:0 auto 2rem;
}



.conditions_block{
	background:rgba(1,6,35,0.6);
	padding: 6rem 0 6rem 0;
    margin: 0rem 0 0 0;
	.inr{
		width: calc(100% - 4rem);
        margin: 0rem auto 0;
			font-size: 1.2rem;
			color:#DCDEEB;
		dl{
			margin:0 0 2rem 0;
			dt{
				font-weight: 700;
			}
			dd{
				font-weight: 400;
				text-indent: -1rem;
				padding-left: 1rem;
			}
			.indent_none{
				text-indent: 0rem;
				padding-left:0rem;
			}
		}
	}
}



#footer {
	position: relative;
	width: 100%;
	padding: 4rem 0rem;
	line-height: 1;
	z-index: 2;
	background:#FFF;
	margin:0rem 0 0 0;
	display: flex;
	flex-wrap: wrap;
	.copy {
		margin-top: 3rem;
		font-size: 1.2rem;
		font-weight: 400;
		text-align: center;
		width: 100%;
	}
	.footer_area{
		width:100%;
		padding:0 2rem;
		margin:auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		ul{
			display: flex;
			flex-wrap: wrap;
			width: 100%;
			li{
				margin-right:2rem;
				font-size: 1.3rem;
				a{
					width: 100%;
					display: inline-block;
					padding:1rem 0;
				}
			}
		}
	}
	a[target="_blank"] {
		background: url(../img/footer_icon.svg) right top 1.2rem no-repeat;
		background-size: 1.4rem 1.1rem;
		padding: 1rem 2.2rem 1rem 0 !important;
	}
}

.pagetop {
    display: none;
    position: fixed;
    bottom: 1rem;
    right: 1rem;
	z-index: 11;
}
.pagetop a {
    display: block;
    background-color: #FFF;
    text-align: center;
    color: #222;
    font-size: 1.5;
    text-decoration: none;
    display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10rem;
	width: 4rem;
	height:4rem;
	position: relative;
	box-shadow: 0.5rem 0.5rem 1.2rem 0 rgba(0, 0, 0, 0.2);
}