@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}[type="radio"]{-webkit-appearance:radio;appearance:radio}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	font-size: 62.5%;
}

body {
	width: 100%;
	font-size: 1.5rem;
	font-weight: 400;
	color: rgba(13,13,13,1.0);
	line-height: 1.75;
	letter-spacing: 0.075em;
	font-feature-settings: "palt";
	margin: 0 auto 0 auto;
	position: relative;
	overflow-x: hidden;
}

header {
	width: 100%;

	position: fixed;
	left: 0;
	z-index: 3000;
	transition: all 0.25s ease 0.0s;
}
@media only screen and (max-width: 989px) {
	header {
		min-width: 375px;
		top: 0;
	}
}

header.fixed {
	background: rgba(255,255,255,0.25);
	top: 0;
}

header > input {
	display: none;
}


header nav {
	width: 100%;
	background: rgb(255 255 255 / 0.75);
	display: flex;
	flex-wrap: wrap;
}
@media only screen and (max-width: 989px) {
	header nav {
		min-width: 375px;
		height: 60px;
		border-bottom: solid 1px rgb(0 0 0 / 1.0);
		overflow: hidden;
		transition: all 0.25s ease 0.0s;
	}

	header #nav:checked ~ nav {
		height: calc(60px + 307px);
		background: rgb(255 255 255 / 0.9);
	}
}




header nav > a {
	width: 188px;
	height: 40px;
	margin: 20px 0 0 20px;
	display: block;
}
@media only screen and (max-width: 989px) {
	header nav > a {
		margin: 10px 0 10px 10px;
	}
}

header nav > a::before {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0 auto 0 auto;
	background: url('../img/logo01.png') center center / cover no-repeat;
	display: block;
}

header nav > label {
	width: 40px;
	height: 50px;
	font-size: 1.1rem;
	font-family: "Lato";
	font-weight: 900;
	color: rgb(0 0 0 / 1.0);
	float: right;
	margin: 7px 20px 0 auto;
	padding: 25px 0 0 0;
	position: relative;
	cursor: pointer;
	transition: all 0.25s ease 0.0s;
	display: none;
}
@media only screen and (max-width: 989px) {
	header nav > label {
		display: block;
	}

	header.fixed nav > label {
		padding: 25px 0 0 2px;
	}

	header #nav:checked ~ nav > label {
		color: rgb(0 0 0 / 1.0);
	}
}

@media only screen and (max-width: 989px) {
	header nav > label::before {
		content: "";
		width: 40px;
		height: 0;
		border-top: solid 3px rgb(0 0 0 / 1.0);
		position: absolute;
		top: 10px;
		left: 0;
		transition: all 0.25s ease 0.0s;
	}

	header.fixed nav > label::before {
		border-top: solid 3px rgb(0 0 0 / 1.0);
		top: 10px;
	}

	header #nav:checked ~ nav > label::before {
		border-top: solid 3px rgb(0 0 0 / 1.0);
		top: 15px;
		transform: rotate(20deg);
	}

	header.fixed #nav:checked ~ nav > label::before {
		top: 15px;
	}
}

@media only screen and (max-width: 989px) {
	header nav > label::after {
		content: "";
		width: 40px;
		height: 0;
		border-top: solid 3px rgb(0 0 0 / 1.0);
		position: absolute;
		top: 20px;
		left: 0;
		transition: all 0.25s ease 0.0s;
	}

	header.fixed nav > label::after {
		border-top: solid 3px rgb(0 0 0 / 1.0);
		top: 10px;
	}

	header #nav:checked ~ nav > label::after {
		border-top: solid 3px rgb(0 0 0 / 1.0);
		top: 15px;
		transform: rotate(-20deg);
	}

	header.fixed #nav:checked ~ nav > label::after {
		top: 15px;
	}
}

@media print, screen and (min-width: 600px) {
	header nav > div {
		width: calc(100% - 188px - 20px);
	}
}
@media only screen and (max-width: 989px) {
	header nav > div {
		width: 100%;
	}
}



header nav > div > ul {
	width: 720px;
	height: 85px;
	margin: 0 60px 0 auto;
	display: flex;
	justify-content: right;
}
@media only screen and (max-width: 989px) {
	header nav > div > ul {
		width: 100%;
		height: auto;
		margin: 0 auto 0 auto;
		display: block;
	}
}

header nav > div > ul > li {
	margin: 0 20px 0 0;
	position: relative;
}
@media only screen and (max-width: 989px) {
	header nav > div > ul > li {
		margin: 0 0 0 0;
		border-top: solid 1px rgb(0 0 0 / 1.0);
	}
}

header nav > div > ul > li:last-child {
	margin: 0 0 0 0;
}

header nav > div > ul > li > a {
	width: 100%;
	height: 100%;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	display: block;
	padding: 20px 10px 0 10px;
	position: relative;
	cursor: pointer;
	transition: all 0.5s ease 0.0s;
}
@media print, screen and (min-width: 600px) {
	header.fixed nav > div > ul > li > a {
		color: rgba(0,71,149,1.0);
	}
}
@media only screen and (max-width: 989px) {
	header nav > div > ul:nth-of-type(1) > li > a {
		width: 100%;
		height: 50px;
		font-size: 1.6rem;
		color: rgb(0 0 0 / 1.0);
		line-height: 50px;
		padding: 0 0 0 0;
		display: block;
	}

	header nav > div > ul:nth-of-type(1) > li > a:hover {
		background: rgb(240 240 240 / 1.0);
	}
}

@media print, screen and (min-width: 600px) {
	header nav > div > ul:nth-of-type(1) > li > a::before {
		content: "";
		width: calc(100% - 20px);
		height: 0;
		border-top: solid 1px rgb(0 0 0 / 1.0);
		display: block;
		position: absolute;
		bottom: 10px;
		opacity: 0.0;
		transition: all 0.5s ease 0.0s;
	}
}
@media only screen and (max-width: 989px) {
	header nav > div > ul:nth-of-type(1) > li > a::before {
		content: "";
		width: 10px;
		height: 0;
		border-top: solid 1px rgb(0 0 0 / 1.0);
		display: block;
		position: absolute;
		top: 26px;
		right: 40px;
	}
}
@media only screen and (max-width: 989px) {
	header nav > div > ul:nth-of-type(1) > li > a:after {
		content: "";
		width: 6px;
		height: 0;
		border-top: 1px solid rgb(0 0 0 / 1.0);
		display: block;
		position: absolute;
		top: 24px;
		right: 39px;
		transform: rotate(50deg);
	}
}

@media print, screen and (min-width: 600px) {
	header nav > div > ul:nth-of-type(1) > li > a:hover::before {
		border-top: solid 1px rgb(0 0 0 / 1.0);
		opacity: 1.0;
	}

	header nav > div > ul:nth-of-type(1) > li > a.current::before {
		border-top: solid 2px rgb(0 0 0 / 1.0);
		opacity: 1.0;
	}
}


header nav > div > ul:nth-of-type(1) > li > a > span {
	font-family: "Lato";
	font-weight: 300;
	display: block;
}
@media only screen and (max-width: 989px) {
	header nav > div > ul:nth-of-type(1) > li > a > span {
		display: none;
	}
}


header nav > div > ul:nth-of-type(1) > li:last-child > label::before {
	content: "";
	width: 40px;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	transition: 0.3s ease 0.0s;
}

@media only screen and (max-width: 989px) {
	header nav > div > ul:nth-of-type(1) > li > input:checked ~ label::before {
		transform: rotate(-135deg);
	}
}

@media print, screen and (min-width: 600px) {
	header nav > div > ul:nth-of-type(1) > li > ul {
		display: none;
	}
}

@media only screen and (max-width: 989px) {
	header nav > div > ul:nth-of-type(1) > li > ul > li > a {
		width: 100%;
		height: 100%;
		font-size: 1.3rem;
		line-height: 40px;
		letter-spacing: 0.05rem;
		padding: 0 0 0 56px;
		position: relative;
		display: block;
	}
}


main {
	position: relative;
	z-index: 2000;
}
@media only screen and (max-width: 989px) {
	main {
		min-width: 375px;
	}
}


footer {
	position: relative;
	z-index: 1000;
	overflow: hidden;
	background-color: rgba(240,240,240,1.0);
}
@media only screen and (max-width: 989px) {
	footer {
		min-width: 375px;
	}
}



footer > .footing {
	padding: 50px 20px 50px 20px;
}
@media only screen and (max-width: 989px) {
	footer > .footing {
		padding: 25px 20px 25px 20px;
	}
}

footer > .footing > nav > ul {
	display: flex;
	flex-wrap: wrap;
}

footer > .footing > nav > ul > li {
	border-right: solid 1px rgb(100 100 100 / 1.0);
	padding: 5px 25px 5px 25px;
}
@media only screen and (max-width: 989px) {
	footer > .footing > nav > ul > li {
		padding: 2px 15px 2px 15px;
		margin: 0 0 5px 0;
	}
}

footer > .footing > nav > ul > li:nth-of-type(1) {
	border-left: solid 1px rgb(100 100 100 / 1.0);
}

footer > .footing >  ul {
	margin: 50px 0 0 0;
	display: flex;
	flex-wrap: wrap;
}

footer > .footing >  ul > li {
	width: 33.33%;
}
@media only screen and (max-width: 989px) {
	footer > .footing >  ul > li {
		width: 100%;
	}
}


footer > .footing >  ul > li:nth-of-type(1)::before {
	content: "";
	width: 305px;
	height: 89px;
	margin: 0 auto 0 auto;
	background: url('../img/logo02.png') center center / cover no-repeat;
	display: block;
}



footer > .footing > address {
	font-size: 1.3rem;
	text-align: center;
	margin: 50px auto 0 auto;
}
@media only screen and (max-width: 989px) {
	footer > .footing > address {
		margin: 10px 0 0 40px;
		display: block;
	}
}
