@charset "utf-8";
/*=============================================================
 contents Layout
=============================================================*/
/* container
-------------------------------------------------------------*/
#container{
	overflow:hidden;
}
/* animation
-------------------------------------------------------------*/
.setScMc{
	opacity:0;
	transform:translateY(50px);
	transition:all 0.5s ease 0.2s;
}
.setScMc.enter{
	opacity:1;
	transform:translateY(0);
}
/*=============================================================
 header
=============================================================*/
#header {
	width: 240px;
 min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
 min-height: calc(var(--vh, 1vh) * 100);
	background-color: #E50012;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
/* hdr-logo
-------------------------------------------------------------*/
#header h1 {
	display: block;
	width: 240px;
	padding: 26px 0 0;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}
#header h1 a{
	display: inline-block;
	opacity: 1 !important;
}
#header h1 a span{
	display: block;
	text-align: left;
}
#header h1 a span.mark{
	width: 103px;
	margin: 0 auto 18px;
}
#header h1 a span.mark .icnWhite{
	display: block;
}
#header h1 a span.mark .icnRed{
	display: none;
}
#header h1 a span.txt{
	display: inline-block;
	font-size: 28px;
	transition:all 0.5s ease 0.2s;
}
#header h1 a:hover span.txt{
	color: #fff;
}
/* globalNavSet
-------------------------------------------------------------*/
#globalNavSet>dt{display:none;}
/* globalNav
-------------------------------------------------------------*/
#header .globalNavArea{
	width: 240px;
	height: calc(100% - 145px);
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	position: absolute;
	top: 145px;
	left: 0;
}
#header #globalNavTop{
	margin: 40px 20px 0;
}
@media screen and (max-height: 650px) {
#header #globalNavTop{
	margin: 25px 25px 0;
}
}
#header #globalNavTop li{
	margin: 15px 0 0;
}
#header #globalNavTop li a{
	display: inline-block;
	padding: 0 0 0 8px;
	border-left: 8px solid #000;
	opacity: 1 !important;
	font-size: 19px;
	line-height: 1.25;
	color: #fff;
	font-weight: 700;
}
#header #globalNavTop li a>span{
	display: block;
}
#header #globalNavTop li:first-child a>span{
	display: inline-block;
}
#header #globalNavTop li a .fontEnBold{
	font-size: 27px;
	line-height: 1.0;
}
#header #globalNavTop li a:hover{
	color: #000;
}
#header #globalNavBtm{
	margin: 40px 25px 25px;
}
@media screen and (max-height: 650px) {
#header #globalNavBtm{
	margin: 25px 25px 25px;
}
}
#header #globalNavBtm li{
	margin: 10px 0 0;
}
#header #globalNavBtm li a{
	font-size: 14px;
	color: #fff;
	opacity: 1 !important;
	font-weight: 700;
}
#header #globalNavBtm li a:hover{
	color: #000;
}
#header #globalSub{
	text-align: center;
}
#header #globalSub a{
	color: #fff;
	opacity: 1 !important;
}
#header #globalSub a:hover{
	color: #000;
}
#header #globalSub li.txt{
}
#header #globalSub li.txt a{
	display: block;
	padding: 15px;
	border-top: 1px solid #F27F88;
}
@media screen and (max-height: 650px) {
#header #globalSub li.txt a{
	padding: 12px;
}
}
#header #globalSub li.txt a:hover{
	background-color: #fff;
	border-top: 1px solid #fff;
	color: #E50012;
}
#header #globalSub li.entry a{
	width: 100%;
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #000;
	font-weight: 700;
}
@media screen and (max-height: 650px) {
#header #globalSub li.entry a{
	height: 80px;
}
}
#header #globalSub li.entry a span.sub{
	font-size: 14px;
}
#header #globalSub li.entry a span.fontEnBold{
	font-size: 38px;
	display: block;
}
@media screen and (max-height: 650px) {
#header #globalSub li.entry a span.fontEnBold{
	font-size: 34px;
	display: block;
}
}
#header #globalSub li.entry a:hover{
	background: #fff;
}
/*=============================================================
 aside
=============================================================*/
aside.menu{
	display: none;
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:899px){
/* container
-------------------------------------------------------------*/
#container{
	min-width:320px;
}
/*=============================================================
 header
=============================================================*/
#header {
	width: 100%;
 min-height: 62px;
	display: flex;
	align-items: center;
}
/* hdr-logo
-------------------------------------------------------------*/
#header h1 {
	display: block;
	width: 190px;
	margin-left: 16px;
	padding: 0;
	position: static;
}
#header h1 a{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header h1 a span{
	display: block;
	text-align: left;
}
#header h1 a span.mark{
	width: 71px;
	margin: 0;
}
#home #header h1 a span.mark .icnWhite,
#minutes #header h1 a span.mark .icnWhite{
	display: none;
}
#home #header h1 a span.mark .icnRed,
#minutes #header h1 a span.mark .icnRed{
	display: block;
}
	
	
	
#header h1 a span.txt{
	display: inline-block;
	font-size: 18px;
	color: #000;
	transition:all 0.5s ease 0.2s;
}
	.id5 #header h1 a span.txt{
	color: #000;
}
	
/* globalNavSet
-------------------------------------------------------------*/
#globalNavSet>dt{
	display:flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	border: 1px solid #fff;
	border-radius: 9999px;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 2;
	transition:all 0.4s ease-out;
}
.id5 #globalNavSet>dt{
	border: 1px solid	#E50012;
}
#globalNavSet.open>dt{
	border: 1px solid #fff;
}
.id5 #globalNavSet.open>dt{
	border: 1px solid #fff;
}
#globalNavSet>dt>span.btn{
	display: block;
	width: 18px;
	height: 16px;
	position: relative;
}
#globalNavSet>dt>span.btn:before,
#globalNavSet>dt>span.btn:after{
	content: "";
	display: block;
	width:100%;
	height:2px;
	background-color:#fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	transition:all 0.4s ease-out;
}
#globalNavSet>dt>span.btn span{
	content: "";
	display: block;
	width:100%;
	height:16px;
	box-sizing: border-box;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	position: absolute;
	left: 0;
	top: 0;
	transition:all 0.4s ease-out;
}
.id5 #globalNavSet>dt>span.btn:before,
.id5 #globalNavSet>dt>span.btn:after{
	background-color:#E50012;
}
.id5 #globalNavSet>dt>span.btn span{
	border-top: 2px solid #E50012;
	border-bottom: 2px solid #E50012;
}
.id5 #globalNavSet.open>dt>span.btn:before,
.id5 #globalNavSet.open>dt>span.btn:after{
	background-color: #fff;
}
.id5 #globalNavSet.open>dt>span.btn span{
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
#globalNavSet.open>dt>span.btn:before{
	transform: translateY(-50%) rotate(45deg);
}
#globalNavSet.open>dt>span.btn:after{
	transform: translateY(-50%) rotate(-45deg);
}
#globalNavSet.open>dt>span.btn span{
	opacity: 0;
}
#globalNavSet>dd{
	box-sizing:border-box;
	width:100%;
	padding:0;
	position:fixed;
	top:0;
	bottom:100%;
	bottom:0;
	left:0;
	z-index:1;
	visibility:hidden;
	overflow:hidden;
	opacity:0;
	transition:all 0.3s ease;
}
#globalNavSet.open>dd{
	visibility:visible;
	bottom:0;
	opacity:1;
}
#globalNavSet>dd>*{visibility:hidden;}
#globalNavSet.open>dd>*{visibility:inherit;}
html.gNavOpen,
html.gNavOpen body{
	height:100%;
	overflow:hidden;
}
html.gNavOpen #globalNavSet>dd>div{
	box-sizing:border-box;
	width:100%;
	height:100%;
	overflow:auto;
	overflow-x: hidden;
	position:relative;
	-webkit-overflow-scrolling:touch;
}
/* globalNav
-------------------------------------------------------------*/
#header .globalNavArea{
	width: 100%;
	height: calc(0);
	top: 0;
	overflow: hidden;
	background-color: #E50012;
}
#globalNavSet.open .globalNavArea{
	height: calc(100%);
}
#globalNav{
	opacity: 0;
}
#globalSub{
	opacity: 0;
}
#globalNavSet.open #globalNav{
	opacity: 1;
}
#globalNavSet.open #globalSub{
	opacity: 1;
}
#header #globalNavTop{
	width: 290px;
	margin: 55px auto 0;
	padding: 0 0 10px;
}
	#header #globalNavTop li{
	padding: 10px 0 0;
}
#header #globalNavTop li a{
	display: block;
}
#header #globalNavTop li a>span{
	display: inline-block;
}
#header #globalNavBtm{
	width: 290px;
	margin: 25px auto 15px;
	padding: 0 0 10px;
	display: flex;
	flex-wrap: wrap;
}
#header #globalNavBtm li{
	width: 50%;
	height: 2.5em;
	padding: 0;
	margin: 0;
}
#header #globalNavBtm li span{
	display: inline-block;
}
#header #globalNavBtm li:nth-child(1){
	order: 0;
}
#header #globalNavBtm li:nth-child(2){
	order: 2;
}
#header #globalNavBtm li:nth-child(3){
	order: 4;
}
#header #globalNavBtm li:nth-child(4){
	order: 1;
}
#header #globalNavBtm li:nth-child(5){
	order: 3;
}
	
/*=============================================================
 aside
=============================================================*/
aside.menu{
	width: 100%;
	display: block;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
}
aside.menu ul{
	width: 100%;
	display: flex;
}
aside.menu ul li{
	width: calc(100% / 3);
	height: 50px;
	font-weight: 700;
}
aside.menu ul li a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: #fff;
	font-size: 14px;
}
aside.menu ul li a span span{
	display: block;
}
aside.menu ul li.minutes a{
	color: #fff;
	background-color: #E50012;
}
	aside.menu ul li.minutes a .fontEnBold{
	font-size: 20px;
}
aside.menu ul li.work a{
	text-align: left;
	color: #E50012;
	background-color: #fff;
}
aside.menu ul li.entry a{
	font-size: 28px;
	color: #fff;
	background-color: #000;
}
}

