/* CSS Document */

.sec01{position: relative;}
.sec01 *[class*="bg"]{
	position: absolute;
	left:0;
	width: 100%;
}
.sec01 .bg1{top:0;z-index: -3;}
.sec01 .bg1 img{
	width:100%;
	min-height: 700px;
}
.sec01 .bg2{top:250px;z-index: -2;}
.sec01 .bg2 img{margin-left: auto;}
.sec01 .inner{
	padding: min(60px,max(30px,6vw)) 20px min(100px,max(20px,min(10vw,calc(1vw * 20 / 3.75))));
}
.sec01 .inner .fuki{
	background-color: #FFF;
	color:var(--color-D-blue);
	position: relative;
	font-size: min(25px,max(12px,2.5vw));
	font-weight: 700;
	line-height: 1.5em;
	letter-spacing: min(10px,max(0px,calc((1vw - 10px) * 10 / 2)));
	padding-left: 0.5em;
	border-radius: 2em;
	padding: 0.25em 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.sec01 .inner .fuki::after{
	content: '';
	display: block;
	border-style: solid;
	border-width: 0.8em 0.8em 0;
	border-color: #FFF transparent;
	position: absolute;
	top:calc(100% - 1px);
}
.sec01 .inner .logo{
	margin-top: min(72px,max(24px,min(7.2vw,calc(1vw * 24 / 3.75))));
	color:#FFF;
	gap: min(32px,max(14px,min(3.2vw,calc(1vw * 14 / 3.75))));
	width:700px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.sec01 .inner .logo img[src*="logo."]{width:100%;}
.sec01 .inner .logo img[src*="logo-en."]{width:254px;}
.sec01 .inner .logo .logo_catch{
	width:100%;
	font-size: min(24px,max(10px,min(2.4vw,calc(1vw * 10 / 3.75))));
}
.sec01 .inner .logo .logo_catch hr{border-color:#FFF;}
@media screen and (max-width: 999px) {
	.sec01 .bg1 img{min-height: 434px;}
	.sec01 .inner .logo{
		width:100%;
		max-width: calc(1% * 287 / 3.35);
	}
	.sec01 .inner .logo img[src*="logo-en."]{width:calc(1% * 104 / 2.87);}
}

.sec01 .sp_chara{
	position: relative;
	z-index: -1;
}
.sec01 img[src*="bg-blue"]{
	width:100%;
	height: min(84px,max(20px,min(8.4vw,calc(1vw * 20 / 3.75))));
	object-position: center top;
	box-shadow: 0 2px 0 var(--color-D-blue);
}
@media screen and (min-width: 1600px) {
	.sec01 img[src*="bg-blue"]{object-fit: fill;}
}
@media screen and (max-width: 999px) {	
	.sec01 .sp_chara img[src*="dr"]{
		width:100%;
		max-width: 670px;
		height:max(200px,calc(1vw * 200 / 3.75));
		max-height: 400px;
		object-position: center top;
		position: relative;
		z-index: -1;
	}
	.sec01 img[src*="bg-blue"]{
		position: absolute;
		bottom:0;
		left:0;
	}
}
.sec01 .inner.B{
	padding: 0 0 min(100px,max(45px,10vw));
	background-color: var(--color-D-blue);
}
.sec01 .inner.B .sup{
	padding-right: 20px;
	display: flex;
	align-items: flex-end;
}
.sec01 .inner.B .sup img[src*="dr1"]{
	margin-top: -280px;
	min-width: 305px;
}
.sec01 .inner.B .sup > *:nth-child(2){
	padding-bottom: min(60px,max(25px,6vw));
}
@media screen and (max-width: 999px) {
	.sec01 .inner.B .sup{
		padding: 0 20px;
		justify-content: center;
	}
}
.sec01 .inner.B .frame{
	margin-top: 5px;
	padding: 0 20px;
}
.sec01 .inner.B .frame > *{
	max-width: 1200px;
	padding: 20px;
	border-radius: 20px;
	background-color: var(--color-L-blue);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.sec01 .inner.B .frame .dot{
	display: flex;
	justify-content: space-between;
}
.sec01 .inner.B .frame .dot::before,
.sec01 .inner.B .frame .dot::after{
	content: '';
	display: block;
	border-radius: 100%;
	width:15px;
	height:15px;
	background-color: var(--color-ML-blue);
}
.sec01 .inner.B .frame .text{text-align: center;}
.sec01 .inner.B .frame .text h2{
	font-size: var(--fontsize-35);
	font-weight: 700;
	line-height: var(--fontsize-35-LH);
	color: var(--color-M-blue);
}
.sec01 .inner.B .frame .text h2 + *{margin: min(25px,max(20px,2.5vw)) 0;}
.sec01 .inner.B .frame .text .btn_site{margin: auto;}
@media screen and (max-width: 999px) {
	.sec01 .inner.B .frame .text{padding: 20px 0;}
	.sec01 .inner.B .frame .text h2 + *{text-align: justify;}	
}

.sec02{
	padding: min(100px,max(40px,10vw)) 0 min(100px,max(55px,10vw));
	background-color: var(--color-L-blue);
}
.sec02 .pad1{padding: 0 18.5px;}
.sec02 .pad1 .bnr1 .base{
	background-color: var(--color-M-blue);
	color: #FFF;
	width: 100%;
	border-radius: 20px;
	padding: 12px;
}
.sec02 .pad1 .bnr1 .frame{
	border: solid 2px #FFF;
	border-radius: 15px;
	padding: 15px;
}
.sec02 .pad1 .bnr1 .bg{
	padding: 15px;
	background-image: url("../images/top/sec02-bnr-bg.svg");
	background-position: left top;
	background-repeat: repeat;
	background-size: 32px 31px;
}


.sec02 .pad2{padding: min(60px,max(45px,6vw)) 20px 0;}
.sec02 .nayami{
	margin-top: min(50px,max(30px,5vw));
	max-width: 1060px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.sec02 .nayami li{width:calc(1% * 314 / 10.6);}
.sec02 img[src*="arrow."]{
	width:78px;
	margin-top: 36px;
}
.sec02 .kaishou{margin-top: 30px;}
.sec02 .kaishou_text{
	color: var(--color-D-blue);
	font-size: min(40px,max(30px,4vw));
	font-weight: 700;
	padding-left: 0.1em;
	letter-spacing: 0.1em;
	gap:0.1em 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.sec02 .kaishou_text span{
	position: relative;
	z-index: 2;
	line-height: 1.3em;
}
.sec02 .kaishou_text span::after{
	content:'';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.3em;
	background-color: var(--color-yellow);
	z-index: -1;
}
@media screen and (max-width: 999px) {
	.sec02 .nayami{
		gap: 35px;
		flex-direction: column;
	}
	.sec02 .nayami li{
		width: 251px;
	}
}

.sec03{padding: min(100px,max(50px,10vw)) 0 0;}
.sec03 .point,
.sec03 .point li{margin-top: 75px;}
.sec03 .point li{
	min-height: 300px;
	display: flex;
}
.sec03 .point li:nth-child(2n){flex-direction: row-reverse;}
.sec03 .point li > *{flex-grow: 1;}
.sec03 .point li > *[class*="b"],
.sec03 .point li > *[class*="c"]{
	color:#FFF;
	background-color: var(--color-M-blue);
}
.sec03 .point li .b,
.sec03 .point li .w{min-width: 20px;}
.sec03 .point li .bc,
.sec03 .point li .bp{
	max-width: 150px;
	min-width: 40px;
}
.sec03 .point li:nth-child(2n+1) > *:not(.w):not(.b){box-shadow: -2px 0 0 var(--color-M-blue);}
.sec03 .point li:nth-child(2n+2) > *:not(.w):not(.b){box-shadow: 2px 0 0 var(--color-M-blue);}
.sec03 .point li:nth-child(2n+1) .bc{border-radius: 0 150px 150px 0;}
.sec03 .point li:nth-child(2n+2) .bc{border-radius: 150px 0 0 150px;}
.sec03 .point li .c{
	text-align: justify;
	max-width: 900px;
	padding: min(40px,max(30px,4vw)) 0;
	gap: 20px;
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: space-between;
}
.sec03 .point li .c .ct{
	max-width: 690px;
}
.sec03 .point li .c .ct .ct1{
	display: flex;
	align-items: center;
}
.sec03 .point li .c .ct .ct1 > *:nth-child(1){
	width: min(54px,max(45px,5.4vw));
	min-height: 72px;
	gap: min(14px,max(10px,1.4vw));
	display: flex;
	flex-direction: column;
	align-items: center;
}
.sec03 .point li .c .ct .ct1 > *:nth-child(2){
	font-size: min(30px,max(20px,3vw));
	line-height: 1.5em;
	padding-left: 1.5em;
}
.sec03 .point li .c .ct .ct1 > *:nth-child(2) font{color:var(--color-yellow);}
.sec03 .point li .c .ct .ct2{
	margin-top: 25px;
	padding-top: 25px;
	border-top: solid 1px #FFF;
}
.sec03 .point li .c .ct .ct2 .caution{
	margin-top: 0.5em;
	font-size: min(14px,max(12px,1.4vw));
}
.sec03 .point li .c .cp{
	max-width: 176px;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 999px) {
	.sec03 .point,
	.sec03 .point li{margin-top: 45px;}
	.sec03 .point li .c{padding: 30px 0;}
	.sec03 .point li .c .ct .ct1{
		align-items: flex-start;
		flex-direction: column;
	}
	.sec03 .point li .c .ct .ct1 > *:nth-child(1){
		width: 45px;
		min-height: 80px;
		gap: 0;
		justify-content: space-between;
	}
	.sec03 .point li .c .ct .ct1 > *:nth-child(1) img[src*="icon-plus"]{width: 19px;}
	.sec03 .point li .c .ct .ct1 > *:nth-child(2){
		padding-left: 0;
		padding-top: 1em;
	}
	.sec03 .point li .c .ct .ct2 .caution{margin-top: 1em;}
	.sec03 .point li .c .cp{
		width: 80px;
		position: absolute;
		top: 30px;
		left: 80px;
	}
}
.sec03 .bg_btn{
	margin-top: min(175px,max(80px,17.5vw));
	position: relative;
}
.sec03 .bg_btn > *{width:100%;}
.sec03 .bg_btn img[src*="bg-btn"]{
	width:100%;
	height: 365px;
	object-position: center top;
}
.sec03 .dr_btn{
	position: absolute;
	bottom: 65px;
}
.sec03 .dr_btn img[src*="dr"]{
	width:402px;
	max-height:254px;
	object-position: center top;
	margin-left: 68px;
}
@media screen and (max-width: 999px) {
	.sec03 .bg_btn img[src*="bg-btn"]{height: 191px;}
	.sec03 .dr_btn{bottom: 25px;}
	.sec03 .dr_btn img[src*="dr"]{
		width:230px;
		max-height:160px;
		margin-left: 8px;
	}
}

.sec04{padding: min(100px,max(50px,10vw)) 20px;background-color: var(--color-L-blue);}
.sec04 .news_list{
	margin: min(75px,max(35px,7.5vw)) auto min(85px,max(45px,8.5vw));
	gap: 35px 5%;
	display: flex;
}
.sec04 .news_list li{width:30%;}
.sec04 .news_list li .p{
	height:235px;
	/* background-color: #999; */
	border-radius: 1em;
	overflow: hidden;
	display: flex;
}
.sec04 .news_list li .p img{
	width:100%;
	height:100%;
}
.sec04 .news_list li .d{
	text-align: left;
	color:#c3c3c3;
	font-size: 16px;
	line-height: calc(1em * 19 / 16);
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}
.sec04 .news_list li a{
	text-align: justify;
	display: block;
}
.sec04 .news_list li a:hover{color:var(--color-M-blue);}
.sec04 .news_list li .t1{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5em;
}
.sec04 .news_list li .t2{margin-top: 1em;}
.sec04 .news_list li .t3{
	font-size: 14px;
	font-weight: 700;
	margin-top: 1em;
	display: flex;
}
.sec04 .news_list li .t3 > *{
	background-color: #FFF;
	padding: 0.25em 0.75em;
	border-radius: 0.5em;
}
@media screen and (max-width: 999px) {
	.sec04 .news_list{
		flex-direction: column;
    align-items: center;
	}
	.sec04 .news_list li{width:335px;}
	.sec04 .news_list li .d{font-size: 15px;}
	.sec04 .news_list li .t1{font-size: 18px;}
	.sec04 .news_list li .t2{font-size: 14px;}
	.sec04 .news_list li .t3{font-size: 13px;}
}

.sec05{padding: min(100px,max(60px,10vw)) 20px;}
.sec05 .bnr2{
	margin-top: min(100px,max(30px,min(10vw,calc(1vw * 30 / 3.75))));
}
.sec05 .bnr2 a{
	/* background-color: rgba(200,0,0,0.5); */
	position: absolute;
	right: calc(1% * 71 / 12);
	bottom: calc(1% * 73 / 5);
	width: calc(1% * 260 / 12);
}
@media screen and (max-width: 999px) {
	.sec05 .bnr1 a{max-width: 670px;}
	.sec05 .bnr2 a{
		left: 0;
		right: 0;
		bottom: calc(1% * 82 / 19.22);
		margin: auto;
		width: calc(1% * 208 / 3.35);
	}
}