@charset "UTF-8";

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:all 0.5s ease}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}

/*----------------------------------------
variables
----------------------------------------*/
:root {
	--c_main: #000000;
	--c_white: #FFFFFF;
	--c_gray: #999999;
	--c_gray2: #E4E4E4;
	--c_blue: #16408D;
	--c_bg: #1E2C5B;
	--c_bg2: #333333;
	--f_sans: "Noto Sans JP", serif;
	--f_outfit: "Outfit", sans-serif;
}

/*----------------------------------------
base
----------------------------------------*/

body {
	font-family: var(--f_sans);
	font-weight: 500;
	font-size: 16px;
	color: var(--c_main);
	line-height: 1.7;
	letter-spacing: 1px;
}


body {
	font-family: var(--f_sans);
	font-weight: 500;
	font-size: 16px;
	color: var(--c_main);
	line-height: 1.7;
	letter-spacing: 1px;
	-webkit-text-size-adjust: 100%;
}
body a {
	text-decoration: none;
	color: #000;
}
.en {
	font-family: "Inter", sans-serif;
}
body img {
	vertical-align: bottom;
}
.page404.page_content {
	padding: 120px 20px 80px;
}
div#wrapper {
	width: 100%;
	overflow: hidden;
}
.flex {
	display: flex;
	flex-wrap: wrap;
}
.flex_2culm {
	width: 48%;
	margin-right: 4%;
}
.flex_2culm:nth-child(2n) {
	margin-right: 0%;
}
.flex_3culm {
	width: 30.66666%;
	margin-right: 4%;
}
.flex_3culm_sp4:nth-child(4) {
	display: none;
}
.flex_3culm:nth-child(3n) {
	margin-right: 0%;
}
.flex_3culm_nopadding {
	margin: 0;
	width: 33.333%;
}
.flex_4culm {
	width: 22%;
	margin-right: 4%;
}
.flex_4culm:nth-child(4n) {
	margin-right: 0%;
}
.flex_2culm_65 {
	width: 63%;
}
.flex_2culm_65:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_65 img {
	width: 100%;
}
.flex_2culm_35 {
	width: 35%;
}
.flex_2culm_35:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_35 img {
	width: 100%;
}
.flex_2culm_70 {
	width: 68%;
}
.flex_2culm_70:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_70 img {
	width: 100%;
}
.flex_2culm_30 {
	width: 30%;
}
.flex_2culm_30:nth-child(2) {
	margin-left: 2%;
}
.flex_2culm_30 img {
	width: 100%;
}
.al_center {
	align-items: center;
}
.maxwidth {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}
.maxwidth1500 {
	max-width: 1540px;
	margin: 0 auto;
	padding: 0 20px;
}
.maxwidth1000 {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}
.maxwidth900 {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 20px;
}
.maxwidth800 {
	max-width: 840px;
	margin: 0 auto;
	padding: 0 20px;
}
.maxwidth600 {
	max-width: 625px;
	margin: 0 auto;
	padding: 0 20px;
}
.maximg img {
	width: 102%;
	height: auto;
	margin-left: -1%;
}
.mainimg {
	width: 100%;
	position: relative;
	overflow: hidden;
	height: fit-content;
}
.mainimg:before {
	content: "";
	display: block;
	padding-top: 65%;
}
.mainimg img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
	max-width: none;
	min-height: 100%;
	object-fit: cover;
}
a:hover .mainimg img {
	transform: translate(-50%, -50%) scale(1.1);
}
.mainimg100 {
	width: 100%;
	position: relative;
	overflow: hidden;
	height: fit-content;
}
.mainimg100:before {
	content: "";
	display: block;
	padding-top: 100%;
}
.mainimg100 img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	height: 100%;
	max-width: none;
}
a:hover .mainimg100 img {
	width: auto;
	height: 110%;
}
.bg_text {
	font-size: 18px;
}
.text {
	font-size: 16px;
}
.sm_text {
	font-size: 14px;
}
.center {
	text-align: center;
}
.bold {
	font-weight: 500;
}
.right {
	text-align: right;
}
#page-top {
	position: fixed;
	bottom: 0px;
	right: -2px;
	font-size: 80%;
	z-index: 1000;
}
p#page-top img {
	width: 50px;
}

.sp_only {
	display: none;
}
.mobile-menu {
	display: none;
}
@media only screen and (max-width: 767px) {
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}
	nav#menu {
		display: none;
	}
	.menu {
		display: block;
	}
	.mobile-menu {
		height: 52px;
	}
	.mobile-menu__btn {
		width: 52px;
		height: 52px;
	}
	.mobile-menu {
		position: absolute;
		display: flex !important;
		align-items: center;
		justify-content: flex-end;
		top: 2px;
		background-color: unset;
		right: 5px;
		height: 45px;
		z-index: 1000;
		width: fit-content;
		background: unset;
	}
	.mobile-menu__btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		cursor: pointer;
		transition: .4s;
		z-index: 100;
		background: none;
		opacity: 1;
		border-radius: 100%;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn {
		background: none;
	}
	.mobile-menu__icon {
		display: block;
		position: relative;
		opacity: 1;
		width: 50%;
		height: 1.5px;
		transition: .4s;
		top: 0px;
		background: #005eae;
	}
	.mobile-menu__icon::after, .mobile-menu__icon::before {
		content: "";
		display: block;
		position: absolute;
		background: #005eae;
		width: 100%;
		height: 1.5px;
		border-radius: 3px;
		transition: .4s;
	}
	.mobile-menu__icon::after {
		top: 7px;
	}
	.mobile-menu__icon::before {
		top: -7px;
	}
	.mobile-menu__icon span {
		color: #fff;
		font-size: 10px;
		width: 100%;
		padding-top: 14px;
	}
	.mobile-menu__container {
		position: fixed;
		text-align: left;
		display: block;
		align-items: center;
		justify-content: center;
		top: 0;
		left: unset;
		right: -70vw;
		z-index: 50;
		height: 0;
		opacity: 1;
		transition: .5s;
		transition-delay: .2s;
		overflow: hidden;
		background: #ffffff;
		width: 70vw;
		height: 100vh;
		padding: 3.3em 0 2em;
	}
	.mobile-menu__container:before {
		content: '';
		background: inherit;
		-webkit-filter: blur(5px);
		-moz-filter: blur(5px);
		-o-filter: blur(5px);
		-ms-filter: blur(5px);
		filter: blur(3px);
		position: absolute;
		top: -5px;
		left: -5px;
		right: -5px;
		bottom: -5px;
		z-index: -1;
	}
	.mobile-menu__checkbox {
		display: none;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__nav {
		opacity: 1;
		transition-delay: 0s;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__container {
		width: 70vw;
		transition-delay: 0s;
		background: #fff;
		display: flex;
		right: 0;
		left: unset;
		top: 0;
		height: 100vh;
		box-shadow: 8px 0px 10px #000000;
		overflow-y: scroll;
		padding: 50.89px 0 2em;
		display: block;
		background-size: cover;
		background-position: center;
	}
	span.menuen {
		font-family: 'Roboto Mono', monospace;
		letter-spacing: -1px;
		font-size: 20px;
		margin: 0 0.5em;
		font-weight: 600;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon {
		background: transparent;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::before,
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::after {
		top: 0;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::after {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		background: #005eae;
	}
	.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::before {
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		background: #005eae;
	}
	.mobile-menu__list {
		transition-delay: .5s;
		list-style: none;
		margin-top: 0px;
		padding: 0 10%;
		width: 100%;
	}
	ul#menu_spid {
		padding: 0em 1em 0;
		display: block;
	}
	ul#menu_spid li:first-child {
		border-top: none;
		padding-top: 0;
	}
	ul#menu_spid li {
		text-align: left;
	}
	.mobile-menu__container ul li a {
		letter-spacing: 1px;
		text-decoration: none;
		color: #000;
		text-shadow: none;
		padding: 1em 1em 1em;
		border-bottom: solid 1px #dadada;
		width: 100%;
		display: inline-block;
		line-height: unset;
		font-size: 13px;
		font-weight: 500;
		margin-bottom: 0;
		font-weight: 500;
	}
	.mobile-menu__container ul li:first-child a {
		border-top: solid 1px #dadada;
		padding: 0.8em 1em 0.8em;
	}
	ul#menu_spid a span {
		display: inline-block;
		vertical-align: middle;
		color: #333;
		line-height: 1;
		position: absolute;
		width: 1em;
		height: 1em;
		border: 0.075em solid currentColor;
		background: currentColor;
		border-radius: 50%;
		box-sizing: content-box;
		top: calc(50% - 0.5em);
		right: 0;
		border: unset;
		background: #224c9a;
	}
	ul#menu_spid a span::before {
		content: '';
		color: #fff;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent;
		border-width: 0.18em 0.31177em;
		border-left-color: currentColor;
		border-right: 0;
		transform: translateX(15%);
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		font-size: 16px;
	}
}