@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Wix+Madefor+Text:wght@500;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
html,body,h1,h2,h3,h4,h5,h6,p,span,div,object,iframe,em,ul,ol,li,label,dl,dt,dd,form,label,table,tbody,tr,th,td { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-style:inherit; font-family:inherit; list-style-type:none; list-style-image:none; } html { font-size:62.5%; overflow-y:scroll; } img { border:none; vertical-align:bottom; line-height:0; font-size:0; user-select:none; -webkit-user-select:none; -moz-user-select:none; -khtml-user-select:none; -webkit-user-drag:none; -khtml-user-drag:none; } body { background: #fff; margin:0 !important; font-family:'Wix Madefor Text','Zen Maru Gothic',serif; line-height:1.6; font-weight: 500; color: #1d2a6f; letter-spacing:0; } .clearfix { zoom:1; min-height: 1px; } .clearfix:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size: 0.1em; line-height: 0; } .clearboth { clear: both; height: 1px; } *html .clearfix{ height: 1px; /*\*//*/ height: auto; overflow: hidden; /**/ }

.nopc { display: none; }
.nosp { display: inline-block; }
a { color: inherit; text-decoration: none; transition: all 0.2s ease 0s; }
a:hover { text-decoration: none; }
sup { font-size: 60%; vertical-align: text-top; line-height: 1.0; }
.kome { font-size: 87.5%; padding-left: 1.0em; text-indent: -1.0em; line-height: 1.6; }
* { box-sizing: border-box; }

@media screen and (max-width:768px) {
	.nosp { display: none; }
	.nopc { display: inline-block; }
	.kome { font-size: 90%; }
}

/* --------------------------------------------------------------------------
   header
-------------------------------------------------------------------------- */

@media screen and (min-width:769px) {
	header {
		position: fixed; top: 0; left: 0; display: flex; justify-content: space-between;
		width: 100%; min-width: 1200px; height: 80px; padding-left: 10px;
		background: rgba(234,245,254,.95); align-items: center; z-index: 999;
	}
	header h1 { width: 210px; }
	header nav { display: flex; justify-content: center; align-items: center; }
	header nav a {
		display: block; margin: 6px 10px 0; font-size: 1.8rem; font-weight: 700; color: #1d2a6f;
	}
	header nav a.seis {
		margin: 0 0 0 10px; padding: 13px 20px 6px; background: rgba(220,55,5,.95);
		color: #fff; text-align: center;
	}
	header nav a:last-child {
		margin: 0; padding: 13px 2.0em 6px; background: rgba(29,42,111,.95);
		color: #fff; text-align: center; 
	}
	header nav a::after {
		content: ''; display: block; width: 0%; margin: 4px auto 0;
		border-bottom: solid 2px #dc3705; transition: width .3s ease-in-out;
	}
	header nav a.seis::after, header nav a:last-child::after {
		margin: 2px auto 0; border-bottom: solid 2px #fff;
	}
	header nav a:hover::after { width: 60%; }
	header .menubtn { display: none; }
}
@media screen and (max-width:768px) {
	header {
		position: fixed; top: 0; left: 0; display: block; width: 100%; height: 60px;
		padding: 0 3%; background: #eaf5fe; z-index: 9999;
	}
	header h1 { width: 48%; }
	header .menubtn { position: absolute; top: 0; right: 0; }
	header .menubtn a {
		display: block; position: relative; width: 60px; height: 60px;
		background: 0 50% /300% auto no-repeat url(../img/ico.svg);
		text-indent: 120%; white-space: nowrap; overflow: hidden;
	}
	header nav {
		position: absolute; top: 60px; right: -280px; width: 280px; height: 100vh;
		padding: 10px 0; background: rgba(234,245,254,.9); transform: translateX(0);
		transition: transform 0.6s cubic-bezier(0.215,0.61,0.355,1) 0s; z-index: 999;
		overflow-y: auto; white-space: nowrap;
	}
	header nav a {
		display: block; padding-left: 20px; font-size: 1.8rem; font-weight: 700;
		line-height: 3.0; color: #1d2a6f;
	}
	header nav a.seis { background: #dc3705; color: #fff; }
	header nav a:last-child { background: #1d2a6f; color: #fff; }
	.opened header .menubtn a { background-position: 50% 50%; }
	.opened header nav { transform: translateX(-280px); }
}

header h1 a {
	display: block; width: 100%; height: 0; padding: 0 0 33.333%;
	background: 0 0/100% auto no-repeat url(../img/ico.svg);
	text-indent: 120%; white-space: nowrap; overflow: hidden;
}

/* --------------------------------------------------------------------------
   footer
-------------------------------------------------------------------------- */

footer {
	position: relative; width: 100%; padding: 30px; background: #1d2a6f; text-align: center;
}
footer.fixed { position: fixed; bottom: 0; left: 0; }
footer .totop {
	position: absolute; top: -25px; right: 5%; width: 50px; height: 50px;
	background: 100% 50%/300% auto no-repeat url(../img/ico.svg); transition: none;
	text-indent: 120%; white-space: nowrap; overflow: hidden;
}
footer p { font-size: 1.6rem; font-weight: 500; color: #fff; }

@media screen and (max-width:768px) {
	footer { padding: 2.0em 0; }
	footer.fixed { bottom: env(safe-area-inset-bottom); }
	footer p { font-size: 1.4rem; line-height: 1.6; }
	footer p:last-of-type { margin: 1.0em 0 0; }
}

/* --------------------------------------------------------------------------
   animation
-------------------------------------------------------------------------- */

.di { opacity: 0; transform: translateY(-30px); }
.di.active {
	transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, opacity 1s ease 0s;
	opacity: 1; transform: translateY(0);
}

