@charset "utf-8";
/* CSS Document */

/* ======================================================
	@import"../css/test_line.css";
	スライドメニュー
 ------------------------------------------------------ */
@media screen, (max-width:30em), screen, (max-width:182mm) {
}
.Menu	{
	position: absolute;
	display: block;
	z-index: 100;
	right: 0;
	top: 0;
}

.SlideMenuBtn,
label.SlideMenuBtn	{
	position: absolute;
	top: 1em;
	right: 1em;
/*
	display: block;
	z-index:100;
*/
}
label.SlideMenuBtn	{
	margin-right: 0;
}
/* [200221-1900]　校正『三本線＋MENUって文字を入れる事はできないでしょうかね？』 */
label.SlideMenuBtn:after	{
	content: "MENU";
	display: block;
	font-size: 0.6em;
	letter-spacing: normal;
	position: absolute;
	left: 0;
	right: 0;
	top: -0.25em;
	line-height: 0;
}
label.SlideMenuBtn:hover	{
	color: inherit;
}


.SlideMenuBtn .Btn	{
	font-size: calc(1.4rem * 2);
	font-size: 2em;
	width: 1em;
	height: 1em;
	line-height: 1em;
	display: block;
}
.SlideMenuBtn .Btn>span	{
	padding: 0;
}

/* large */
@media screen and (min-width:37.5em) {
	.SlideMenuBtn	{
		top: 1em;
		right: 1em;
	}
	#Header>.Wrap	{
/*		height: calc((1.4rem * 2) + (1em * 2));*/
	}
	#nav-content,
	#nav-input:checked ~ #nav-close	{
		top: calc((1.4rem * 2) + (1em * 2));
	}
}
/* middle */
@media screen and (min-width:30em) and ( max-width:37.5em) { 
}
/* small */
@media screen and ( max-width:30em) { 
	.SlideMenuBtn	{
/*
		top: 3vw;
		right: 3vw;
*/
	}
	.SlideMenuBtn .Btn	{
	}
	#Header>.Wrap	{
/*		height: calc((1.4rem * 2) + (3vw * 2));*/
	}
	#nav-content,
	#nav-input:checked ~ #nav-close	{
		top: calc((1.4rem * 2) + (3vw * 2));
		top: calc((1em * 2) + (3vw * 2));
		top: calc(10px + 3rem);
		top: calc(2em + (1em * 2) + 1px + 10px);
	}
}

/* ======================================================
	スライドメニュー
	------------------------------------------------------
	CSSだけで簡単！ハンバーガーメニューの作り方（スマホ対応）
	https://saruwakakun.com/html-css/reference/nav-drawer
	------------------------------------------------------ */
#nav-drawer {
	position: relative;
/*
	position: absolute;
*/
}
/*チェックボックス等は非表示に*/
.nav-unshown {
	display:none;
	margin: 0;
	padding: 0;
	width: 0px;
	height: 0px;
	border-width: 0;
	overflow: hidden;
}
/*アイコンのスペース
#nav-open {
	display: inline-block;
	width: 30px;
	height: 22px;
	vertical-align: middle;
}
*/
/*ハンバーガーアイコンをCSSだけで表現
#nav-open span, #nav-open span:before, #nav-open span:after {
	position: absolute;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background: #555;
	display: block;
	content: '';
	cursor: pointer;
}
#nav-open span:before {
	bottom: -8px;
}
#nav-open span:after {
	bottom: -16px;
}
*/
/*閉じる用の薄黒カバー*/
#nav-close {
/*はじめは隠しておく*/
	display: none;
	position: fixed;
	z-index: 99;
/*全体に広がるように*/
/*	top: 0;*/
	left: 0;
	width: 100%;
	height: 100%;
/*
	background: black;
	opacity: 0;
	transition: .5s ease-in-out;
*/
}
/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	/*	top: 0;*/
	left: 0;
	z-index: 9999;/*						最前面に*/
	width: 80vw;/*							外側に隙間を作る（閉じるカバーを表示）*/
	height: 100vh;
	background: #fff;
	transition: .5s ease-in-out;/*			滑らかに表示*/
	-webkit-transform: translateX(200vw);/*	右に隠しておく*/
	transform: translateX(200%);
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
	display: block;/*カバーを表示*/
	opacity: .5;
}
#nav-input:checked ~ #nav-content {
	-webkit-transform: translateX(20vw);/*中身を表示（左へスライド）*/
	transform: translateX(20vw);
/*	box-shadow: 6px 0 25px rgba(0, 0, 0, .15);*/
}




/* ======================================================
	アニメーションメニュー
	------------------------------------------------------
	CSSで実装するハンバーガーメニュークリック時のエフェクト 10＋
	https://www.nxworld.net/tips/12-css-hamburger-menu-active-effect.html
------------------------------------------------------ */
.SlideMenuBtn .Btn	{
	position: relative;
	display: block;
	border-width: 0;
	margin: 0;
	cursor: pointer;
}
.SlideMenuBtn .Btn:before	{
	content: none;
}

/* 囲み無し用 */
.SlideMenuBtn .Btn span	{
	position: absolute;
	display: block;
	width: calc(100% - (0em * 2));
	height: 2px;
	border-radius: 100em;
	margin-left: 0em;
	margin-right: 0em;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.SlideMenuBtn .Btn span:nth-of-type(1) {
	top: 0.15em;
}
.SlideMenuBtn .Btn span:nth-of-type(2) {
	top: calc((1em - 2px) / 2);
}
.SlideMenuBtn .Btn span:nth-of-type(3) {
	bottom: 0.15em;
}

.SlideMenuBtn {
}
#nav-input:checked ~ .SlideMenuBtn {
}
#nav-input:checked ~ .SlideMenuBtn .Btn span {
	width: calc(100% - (0em * 1));
	margin-left: calc(0em / 2);
	margin-right: calc(0em / 2);
}
#nav-input:checked ~ .SlideMenuBtn .Btn span:nth-of-type(1) {
	top: 0em;
	-webkit-transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
	-moz-transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
	-o-transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
	transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
}
#nav-input:checked ~ .SlideMenuBtn .Btn span:nth-of-type(2) {
	opacity: 0;
}
#nav-input:checked ~ .SlideMenuBtn .Btn span:nth-of-type(3) {
	bottom: 0;
	-webkit-transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
	-moz-transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
	-o-transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
	transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
}

/* ---------------------------------------------------
	囲み有り用
.SlideMenuBtn .Btn span	{
	position: absolute;
	display: block;
	width: calc(100% - (0.15em * 2));
	height: 0.125em;
	height: 2px;
	border-radius: 100em;
	margin-left: 0.15em;
	margin-right: 0.15em;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.SlideMenuBtn .Btn span:nth-of-type(1) {
	top: 0em;
	top: 0.15em;
	top: 0.2em;
}
.SlideMenuBtn .Btn span:nth-of-type(2) {
	top: calc((1em - 0.125em) / 2);
	top: calc((1em - 2px) / 2);
}
.SlideMenuBtn .Btn span:nth-of-type(3) {
	bottom: 0;
	bottom: 0.15em;
	bottom: 0.2em;
}

.SlideMenuBtn {
}
#nav-input:checked ~ .SlideMenuBtn {
}
#nav-input:checked ~ .SlideMenuBtn .Btn span {
	width: calc(100% - (0.15em * 1));
	margin-left: calc(0.15em / 2);
	margin-right: calc(0.15em / 2);
}
#nav-input:checked ~ .SlideMenuBtn .Btn span:nth-of-type(1) {
	top: 0em;
	-webkit-transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
	-moz-transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
	-o-transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
	transform: translateY(calc((1em - 2px) / 2)) rotate(-45deg);
}
#nav-input:checked ~ .SlideMenuBtn .Btn span:nth-of-type(2) {
	opacity: 0;
}
#nav-input:checked ~ .SlideMenuBtn .Btn span:nth-of-type(3) {
	bottom: 0;
	-webkit-transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
	-moz-transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
	-o-transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
	transform: translateY(calc(0em - ((1em - 2px) / 2))) rotate(45deg);
}
*/




/* ======================================================
	custom
------------------------------------------------------ */
.SlideMenu	{
}


.SlideMenu a,
.SlideMenu .a,
.SlideMenu .SubOn>.Arrow
	{
	display: block;
	height: 2.5rem;
	line-height: 2.5rem;
	color: inherit;
}
.SlideMenu a,
.SlideMenu .a
	{
	padding-right: 2em;
}
.SlideMenu span
	{
	display: inline-block;
	line-height: 1.25;
	vertical-align: middle;
}

.SlideMenu>.Wrap {
	margin: 0 2em 2em 2em;
	padding-bottom: 20vh;
/*
[200220]左にはみ出る方がおかしい
	margin: 0 2em 2em 2.5em;
[200219]校正　例えば『初めての方へ』の初心者マークを左にはみ出させてみたいのでmargin戻す
	margin: 0 1.5em 2em 1.5em;
*/
}
.Footer .SlideMenu>.Wrap {
	margin: 0;
	padding-bottom: 0em;
}
.SlideMenu>.Wrap ul {
	margin: 0em;
}
.SlideMenu>.Wrap ul li {
	margin: 0em;
	position: relative;
	display: block;
	text-align: left;
}
.SlideMenu>.Wrap ul li:not(:last-child) {
	border-bottom-width: 1px;
}

.SlideMenu>.Wrap ul ul li {
}
.SlideMenu>.Wrap ul ul li .Arrow {
}


.SlideMenu>.Wrap ul ul {
	height: 0px;
	overflow: hidden;
	margin-left: 2em;
}
.SlideMenu>.Wrap .selcted ul	{
	height: auto;
	overflow: visible;
}

.SlideMenu .Arrow	{
	display: block;
	position: absolute;
	top: 0;
	right: 0em;
	text-align: right;
	width: 50%;
	padding-right: 0.5em;
	z-index: -10;
}
.SlideMenu .Arrow:after {
	content: "";
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	border-top-width: 1px;
	border-right-width: 1px;
	transform: rotate(45deg);
	margin-left: auto;
	margin-right: 0;
}
.SlideMenu .SubOn>.Arrow {
	z-index: 10;
	padding-right: 0;
}
.SlideMenu .SubOn>.Arrow:after {
	/*
「+」マークで開閉
	transform:rotate(135deg);
*/
	content: "＋";
	width: 1em;
	border-width: 0px;
	transform: rotate(0deg);
	font-size: 1.5em;
}

/* 初めから展開 */
.SlideMenu .SubOpen.selcted	{}
.SlideMenu .SubOpen.selcted .Arrow	{}
.SlideMenu .SubOpen.selcted>.Arrow:after	{
	content: none;
}



#nav-input:checked ~ #nav-close {
	background-color: rgba(0,0,0,0.8);
}






/* Sub */
.SlideMenu>.Wrap .Sub>ul	{
}
.SlideMenu>.Wrap .Sub li:not(:last-child)	{
	border-style: dashed;
}
.SlideMenu>.Wrap .Sub li:first-child	{
	border-style: dashed;
	border-top-width: 1px;
}





/* ======================================================
	追加
------------------------------------------------------ */
.Menu	{}
.Menu *	{}
.Menu * a	{
/* [200219]校正　色付きボタンのままでOK
	background-color: transparent;
*/
}

.SlideMenu>.Wrap ul ul	{
	margin-left: 1em;
}

.SlideMenu .Img	{}
.SlideMenu .Img img	{
	width: 1em;
}

/*  */
.SlideMenu .ClassIntroduction .Sub span	{
}
.SlideMenu .ClassIntroduction .Sub .Img	{
	width: 3em;
}
.SlideMenu .ClassIntroduction .Sub .Img img	{
	width: 2.5em;
}
.SlideMenu .ClassIntroduction .Sub span:not([class])	{
	width: calc(100% - 3em);
}

.SlideMenu .ClassIntroduction .SubAll .Img	{
	display: none;
}
.SlideMenu .ClassIntroduction .SubAll span:not([class])	{
	width: 100%;
}


/* サイトマップ */
.SlideMenu .ClassSitemap	{
}
.SlideMenu>.Wrap ul li.ClassSitemap:not(:last-child)	{
	border-bottom-width: 0;
}
