@charset "UTF-8";

/* html5doctor.com Reset Stylesheet v1.6.1 Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com */
/*-------------------------------------------------
	Reset
-------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {margin:0; padding:0; border:0; outline:0; vertical-align:baseline;background:transparent;}
body {line-height:1; -webkit-text-size-adjust: 100%;}
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {display:block;}
ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}
a {margin:0; padding:0; vertical-align:baseline; background:transparent;}
ins {background-color:#fff; color:#000; text-decoration:none;}
mark {background-color:#ff9; color:#000; font-style:italic; font-weight:bold;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom:1px dotted; cursor:help;}
table {border-collapse:collapse; border-spacing:0; font-size:inherit;}
hr {display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:3em 0; padding:0;}
input, select {vertical-align:middle;}
img {vertical-align:top; font-size:0; line-height:0;}
button {font-family: unset;}

/*-------------------------------------------------
	Clearfix
-------------------------------------------------*/
.cf:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}

/*-------------------------------------------------
	Base
-------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}
body {
	position: relative;
	/* min-width: 1220px; */
	margin: 0;
	padding: 0;
	font-family: 'Helvetica Neue','Arial','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Noto Sans JP',YuGothic,'Yu Gothic','メイリオ', Meiryo,sans-serif;
	font-size: 100%;
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.loading {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #FFF;
	z-index: 99999;
}
a:link, a:visited {
	color: #333;
	text-decoration: none;
	outline: none;
	opacity: 1;
	transition: all 360ms;
}
a:hover {
	text-decoration: none;
	opacity: .7;
	cursor: pointer;
}
h1, h2, h3, h4, strong {
	font-weight: 500;
}
p {
	font-size: 1.6rem;
	line-height: 1.36;
}
img {
	width: 100%;
	height: auto;
}
input {
	border-radius: 0;
}
input[type="text"]:focus {
	outline: 0;
}
input:focus, textarea:focus {
	background-color: transparent;
}
@media screen and (max-width: 666px) {
	body {
		min-width: 100%;
	}
	img {
		max-width: 100%;
	}
}
@media screen and (max-width: 374px) {
	html {
		font-size: 50.5%;
	}
}

/*-------------------------------------------------
	Common
-------------------------------------------------*/
:root {
	--jc-red: #7e0010;
	--jc-font-ja: 'ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Noto Sans JP',YuGothic,'Yu Gothic','メイリオ', Meiryo,sans-serif;
}
/* Layout */
.ly_fL {
	float: left;
}
.ly_fR {
	float: right;
}
.ly_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ly_flex.rev {
	flex-direction: row-reverse;
}
.ly_flex.aiC {
	align-items: center;
}
.ly_flex.jcC {
	justify-content: center;
}
.ly_pd_side {
	padding-left: 25px;
	padding-right: 25px;
}
.ly_w_100 {
	width: 100%;
}
.ly_w_master {
	width: 100%;
	/* max-width: 1220px; */
}
/* Margin */
.mgn_btm_mid {
	margin-bottom: 70px;
}
/* Helper */
.la_dn, .la_dn_ib {
	display: none;
}
.sm_dn {
	display: block;
}
.sm_dn_ib {
	display: inline-block;
}
span.ib {
	display: inline-block;
}
.hp_mA {
	margin-left: auto;
	margin-right: auto;
}
.hp_txt_c {
	text-align: center !important;
}
.hp_ls0 {
	letter-spacing: 0;
}
/* Heading + Text */
.ly_contents p:last-of-type {
	margin-bottom: 0;
}
/* Button */

@media screen and (max-width: 666px) {
	/* Layout */
	.sm_floatNone {
		float: none;
	}
	.sm_flexNone {
		display: block;
	}
	.sm_flex {
		display: flex;
	}
	/* Margin */
	/* helper */
	.la_dn {
		display: block;
	}
	.la_dn_ib {
		display: inline-block;
	}
	.sm_dn, .sm_dn_ib {
		display: none !important;
	}
	.sm_w_100 {
		width: 100% !important;
	}
	.sm_w_100vw {
		margin-left: -20px;
		width: 100vw !important;
	}
	.sm_ls0 {
		letter-spacing: 0 !important;
	}
	/* Heading + Text */
}

/*-------------------------------------------------
	#global-header
-------------------------------------------------*/
.ly_gHead {
	display: flex;
	padding: 25px 25px 0;
	height: 130px;
	background-color: #fff;
}
.un_gHead_logo {
	margin-right: 36px;
	width: 100px;
	height: 84px;
}
.bl_gNav {
	margin-top: 25px;
}
.bl_gNav li {
	display: inline-block;
	font-size: 3.2rem;
	line-height: 1;
	letter-spacing: .01em;
}
.bl_gNav li:not(:last-of-type) {
	margin-right: 1em;
} 
.bl_gNav li a {
	color: var(--jc-red);
}
@media screen and (max-width: 666px) {
}

/*-------------------------------------------------
	Global Navi | SP
-------------------------------------------------*/
@media screen and (max-width: 666px) {
	body.of-y_h {
		overflow: hidden !important;
	}
	.button_container {
		position: fixed;
		top: 10px;
		right: 10px;
		height: 37px;
		width: 50px;
		cursor: pointer;
		z-index: 10004;
		transition: opacity .25s ease;
	}
	.button_container:hover {
		opacity: 1;
	}
	.button_container.active .top {
		transform: translateY(8px) translateX(0) rotate(45deg);
		background: var(--nsko-green);
	}
	.button_container.active .middle {
		opacity: 0;
	}
	.button_container.active .bottom {
		transform: translateY(-8px) translateX(0) rotate(-45deg);
		background: var(--nsko-green);
	}
	.button_container span {
		background: var(--nsko-green);
		border: none;
		height: 1px;
		width: calc(100% - 20px);
		position: absolute;
		top: 10px;
		left: 10px;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.button_container span:nth-of-type(2) {
		top: 18px;
	}
	.button_container span:nth-of-type(3) {
		top: 26px;
	}
	.overlay {
		position: fixed;
		background: #c7eee5;
		top: 56px;
		left: 0;
		width: 100%;
		height: 0%;
		opacity: 0;
		visibility: hidden;
		transition: opacity .35s, visibility .35s, height .35s;
		overflow: hidden;
		z-index: 10002;
	}
	.overlay.openOL {
		opacity: 1;
		visibility: visible;
		height: calc(100% - 56px);
		overflow-y: scroll;
	}
	.overlay.openOL ul.bl_gNav_sm > li {
		animation: fadeIn .5s ease forwards;
		animation-delay: .35s;
	}

	.overlay nav {
		position: relative;
		height: 100%;
		text-align: left;
	}
	.overlay ul.bl_gNav_sm {
		display: inline-block;
		position: relative;
		margin: 0 auto;
		padding: 0;
		width: calc(100% - 127px);
		height: 100%;
		list-style: none;
		background: #fff;
	}
	.overlay ul.bl_gNav_sm > li {
		display: block;
		position: relative;
		padding: 11px 40px 11px 25px;
		width: 100%;
		height: auto;
		border-top: 1px solid #c5e5de;
		background: #fff;
		opacity: 0;
	}
	.overlay ul.bl_gNav_sm > li:last-of-type {
		border-bottom: 1px solid #c5e5de;
	}
	.overlay ul.bl_gNav_sm > li a {
		display: block;
		position: relative;
		padding: 0;
		width: 110%;
		color: var(--nsko-green);
		text-decoration: none;
		overflow: hidden;
		transform: scale(.9, 1);
		transform-origin: left;
	}
	.overlay ul.bl_gNav_sm > li > a {
		font-size: 1.7rem;
		line-height:  1.333;
		letter-spacing: .1em;
	}
	.overlay ul li a:hover {
		opacity: 1;
	}
	.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
		width: 100%;
	}
	/* .sub-menu */
	.menu-item-has-children > span {
		content: '';
		display: block;
		position: absolute;
		top: 15px;
		right: 18px;
		width: 10px;
		height: 10px;
		border: 0px;
		border-top: solid 1px var(--nsko-green);
		border-right: solid 1px var(--nsko-green);
		transform: rotate(135deg);
		transition: all 360ms;
	}
	.menu-item-has-children > span.open {
		top: 21px;
		transform: rotate(-45deg);
		transition: all 360ms;
	}
	.overlay .sub-menu {
		display: none;
		padding: 12px 0 16px;
	}
	.overlay .sub-menu > li {
		padding: 6px 0 6px 18px;
	}
	.overlay .sub-menu > li > a {
		font-size: 1.5rem;
		line-height: 1.333;
		letter-spacing: .1em;
	}
	@keyframes fadeIn {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
}

/*-------------------------------------------------
	Journal
-------------------------------------------------*/
body.journal .ly_contents {
	padding-top: 15px;
	padding-bottom: 200px;
	background-color: #f0decc;
}
.el_entry_cat {
	margin-bottom: 1em;
	font-weight: normal;
	font-size: 3rem;
	line-height: 1;
	letter-spacing: .01em;
	color: var(--jc-red);
}
.el_j_ttl {
	margin-bottom: 1em;
	font-weight: normal;
	font-size: 2.5rem;
	line-height: 1.36;
	letter-spacing: .01em;
}
body.ja .bl_entry p {
	font-family: var(--jc-font-ja);
	line-height: 1.7;
}
body.ja .bl_entry figure {
	margin: 0;
}
.el_w_wide {
	width: 1000px;
}
.el_w_mid {
	width: 600px;
}
.el_w_narrow {
	width: 400px;
}
.el_w_narrow_v {
	width: 267px;
}
.el_j_txt.el_w_wide {
	width: 900px;
}
.el_j_txt.el_w_mid {
	width: 600px;
}
.el_j_txt.el_w_narrow {
	width: 300px;
}
.el_j_cap {
	margin-top: .5em;
	display: block;
	font-size: 1.4rem;
	line-height: 1.36;
	letter-spacing: .01em;
}

/*-------------------------------------------------
	Footer
-------------------------------------------------*/

/*-------------------------------------------------
	404
-------------------------------------------------*/
