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

/* size xs ms ml xl */

body{
	font-family: Meiryo, Verdana, "メイリオ", "ＭＳ Ｐゴシック", Hiragino Kaku Gothic Pro, Osaka;
}

p{
	line-height: 150%;
}

.mincho{
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 Pr6 W6', 'Hiragino Mincho Pro', 'Times New Roman', 'HGS明朝E', 'メイリオ', 'ＭＳ Ｐ明朝', 'MS PMincho', Meiryo, serif; 
}

#p1 .dead_link,#p2 .dead_link,#p3 .dead_link,#p4 .dead_link,#p5 .dead_link,#p6 .dead_link,#p7 .dead_link,#p8.dead_link{
	display: none !important;
}


.ml-flex{
	display: block;
}
.ms-flex{
	display: block;
}

.sp-flex{
	display: flex;
}
.sp-flex .order1 {
	order: 1;
}

.fd-column{
	flex-direction: column;
}

.ilb{
	display: inline-block;
}

.hidden-s{
	display: none;
}
.view-s{
	display: inherit;
}

.font-nomal{
	font-weight: normal !important;
}

#nav-input{
	display: none;
}

#nav-open{
	font-size: 3em;
	position: fixed;
	top:0;
	right: 0;
	z-index: 999;
}

#nav-open span::after{
	content:"";
	background-image: url(../img/menu-open.png);
	width:60px;
	height:60px;
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
}

#nav-input:checked + #nav-open span::after{
	background-image: none;
}

#nav-close{
	position: fixed;
	top:0;
	left:0;
	width:0;
	height:0;
	background: #ffffff66;
}

#nav-input:checked + #nav-open + #nav-close{
	width:100%;
	height:100%;
}

#nav-input:checked + #nav-open + #nav-close span::after{
	content:"";
	background-image: url(../img/menu-close.png);
	width:60px;
	height:60px;
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
	position: fixed;
	top:0;
	right: 0;
}

.nav-link::before{
	content:"　";
	background-image: url("../img/link.png");
	background-size:contain;
	background-repeat: no-repeat;
}

.nav-link.second::before{
	display: none;
}
.nav-link.second h3::before{
	content:"　";
	background-image: url("../img/link.png");
	background-size:contain;
	background-repeat: no-repeat;
}

#sidenav{
	position: fixed;
	overflow-y: auto;
	top:0;
	left: -100%;
	width: calc(100% - 100px);
	height:100%;
	background: #f5f6f7;
	transition: .2s;
	padding: 1em;
	box-shadow: #000 0px 0px 10px 0px;
}

#sidenav a{
	color: inherit;
	text-decoration: none;
	display: block;
	transition: .2s;
}
#sidenav a:hover{
	color: #f56a6a;
	text-decoration: none;
}

#to-willnavitop{
	margin-bottom: 20px;
}
#to-willnavitop img{
	max-width: 100%;
	transition: 0.2s;
}

#to-willnavitop img:hover{
	opacity: 0.6;
}


#to-willnavinext{
	margin-bottom: 20px;
}
#to-willnavinext img{
	width: 100%;
	max-width: 435px;
	transition: 0.2s;
}


#to-willnavinext img:hover{
	opacity: 0.6;
}

#top #to-willnavinext{
	display: none;
}

#sidenav h2{
	font-size: 1.2em;
	line-height: 1.4em;
	display: inline-block;
	margin-bottom: 10px;
	border-bottom: #f56a6a solid 3px;
}

.hr-s{
	border-top: solid 1px rgba(210, 215, 217, 0.75);
}

.hr-m{
	border-top: solid 2px rgba(210, 215, 217, 0.75);
	margin: 40px 0;
}

#sidenav h3{
	font-size: 0.9em;
	line-height: 1.4em;
	padding: 0.625em 0;
	margin-left: 0.5em;
}
#sidenav .second h3{
	padding: 0.625em 0 0;
}


#sidenav ul{
	margin-bottom: 20px;
	margin-left: 0.5em;
}

#sidenav li{
	font-size: 0.8em;
	margin: 0.125em 0 0 0;
	padding: 0.75em 0 0.625em 1em;
	line-height: 1.4em;
}
#juku-random{
	margin: 10px 0;
}

#juku-random li{
	font-size: 0.9em;
	font-weight: 700;
	line-height: 1.15;
	border-left: 2px solid #f56a6a;
	border-bottom: 1px solid #ddd;
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 12px;
	padding-top: 10px;
	padding-right: 0;
	padding-left: 10px;
	padding-bottom: 10px;
}

#to-nextwwest img{
	max-width: 100%;
	transition: 0.2s;
}

#to-nextwwest img:hover{
	opacity: 0.6;
}

#nav-input:checked + #nav-open + #nav-close + #sidenav{
	left: 0;
}
#header{
	margin-top: 3.5em;
	padding: 0 10px;
	max-width: 980px;
}

#header h1{
	font-size: 1.125em;
	color: #3d4449;
	border-bottom: 5px solid #f56a6a;
	margin: -54px 0 10px 0;
	padding: 0.5em 50px 0.5em 0;
}

#header a{
	display: block;
	text-decoration: none;
	color: inherit;
}

#main{
	padding: 0 10px;
	max-width: 980px;
	margin-bottom: 160px;
}

#page-nav{
	display: flex;
	justify-content:center;
	margin: 20px 0 120px 0;
}
#page-nav li{
	list-style: none;
	text-align: center;
}
#page-nav li a{
	color: #f56a6a;
	font-weight: bold;
	text-decoration: none;
	display: block;
	padding: 7px 10px;
	margin: 0 0.5em;
}

.page-nav-none{
	display: none;
}

#page-nav-this{
	color: #fff !important;
	background: #f56a6a;
	border-radius: 2.5px;
}

#sidemenu{
	margin-top: 30px;
}
#sidemenu h2{
	font-size: 2em;
	margin-bottom: 30px;
}


#sidemenu a{
	text-decoration: none;
}

.sidemenu-recomend-flex{
	display: flex;
	flex-direction:column;
}

.sidemenu-recomend-flex a{
}

.sidemenu-recomend{
	display: flex;
	justify-content: flex-start;
	border-top: dotted #aaa 1px;
	padding: 10px 10px 10px 0;
	transition: .2s;
}
.sidemenu-recomend:hover{
	opacity: 0.6;
}

.sidemenu-recomend-bar{
	height:80px;
	background: #f56a6a;
	width:3px;
	border-radius: 1.5px;
	margin-right: 4px;
	margin-left: 3px;
}

.sidemenu-recomend-bar-area{
	height:80px;
	background: #5bb7ce;
	width:3px;
	border-radius: 1.5px;
	margin-right: 4px;
	margin-left: 3px;
}

.sidemenu-recomend-imgbox{
	text-align: center;
}
.sidemenu-recomend-imgbox img{
	max-width:80px;
	border-radius: 5px;
	margin-right: 10px;
}
.double .sidemenu-recomend-imgbox{
	display: flex;
	flex-direction: column;
}
.double .sidemenu-recomend-imgbox img + img{
  margin-top: 10px;
}
.double .sidemenu-recomend-bar{
  height: 170px;
}
.sidemenu-recomend-txtbox{
	color: #555;
	text-decoration: none;
	flex: 1;
}
.sidemenu-recomend-title{
	font-size:0.9em;
	line-height: 1.4em;
	margin-bottom: 0.25em;
	font-weight: bold;
	color:#555;
}
.sidemenu-recomend-name{
	font-size:1.0em;
	line-height: 1.2em;
	/*font-weight: bold;*/
}
.sidemenu-recomend-pos{
	font-size:0.8em;
	color:#555;
	margin-right: 1em;
}
.sidemenu-recomend-area{
	font-weight: bold;
	color:#38a3be;
}
.sidemenu-recomend-pos-area{
	font-size:0.8em;
	color:#006789;
	margin-right: 1em;
}

.sidemenu-recomend2{
	width:  100%;
	margin-top: 10px;
	margin-bottom: 30px;
/*  max-width: 270px;
  margin: 10px auto 30px;
	margin-top: 10px;*/
	transition: .2s;
}

.sidemenu-recomend2 img{
	max-width: calc(100% - 8px);
	/*width: 100%;*/
	border-radius: 10px;
	border: #0a3c7f 3px solid;
}
.sidemenu-recomend2:hover{
	opacity: 0.6;
}

#footer{
	background: #00ffff;
}

#page_top{
	width: 50px;
	height: 50px;
	position: fixed;
	right: 4px;
	bottom: -50px;
}

#page_top a{
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}

#page_top img{
	width: 50px;
	height: 50px;
}

#p1 #sidemenu .p1,
#p2 #sidemenu .p2,
#p3 #sidemenu .p3,
#p4 #sidemenu .p4,
#p5 #sidemenu .p5,
#p6 #sidemenu .p6,
#p7 #sidemenu .p7,
#p8 #sidemenu .p8{
  display: none;
}
#p2 #sidemenu .p3,#p4 #sidemenu .p5,#p5 #sidemenu .p4,#p6 #sidemenu .p7,#p7 #sidemenu .p6{order: 1;}
#p2 #sidemenu .p1,#p4 #sidemenu .p6,#p5 #sidemenu .p6,#p6 #sidemenu .p4,#p7 #sidemenu .p4{order: 2;}
#p2 #sidemenu .p4,#p4 #sidemenu .p7,#p5 #sidemenu .p7,#p6 #sidemenu .p5,#p7 #sidemenu .p5{order: 3;}
#p2 #sidemenu .p5,#p4 #sidemenu .p1,#p5 #sidemenu .p1,#p6 #sidemenu .p1,#p7 #sidemenu .p1{order: 4;}
#p2 #sidemenu .p6,#p4 #sidemenu .p2,#p5 #sidemenu .p2,#p6 #sidemenu .p2,#p7 #sidemenu .p2{order: 5;}
#p2 #sidemenu .p7,#p4 #sidemenu .p3,#p5 #sidemenu .p3,#p6 #sidemenu .p3,#p7 #sidemenu .p3{order: 6;}
#sidemenu .last{order: 7;}

/* size ms以上 */
@media screen and (min-width:480px){
	.ms-flex{
		display: flex;
	}
	.sp-flex{
		display: block;
	}
	
	.hidden-s{
		display: inherit;
	}
	.view-s{
		display: none;
	}
}

@media screen and (min-width:640px){

/*	.sidemenu-recomend-bar,.sidemenu-recomend-bar-area{
		margin-right: 7px;
		margin-left: 0px;
	}*/
	.sidemenu-recomend-flex{
		display: flex;
		justify-content:space-around;
	}
/*	#sidemenu h2{
		text-align: center;
	}*/

	.sidemenu-recomend-flex a{
		width:100%;
	}
}

/* size ml以上 */
@media screen and (min-width:980px){
	.sidemenu-recomend-flex{
		display: flex;
		flex-direction:column;
		align-items: normal;
	}
	
	.sidemenu-recomend-flex a{
		width:inherit;
	}
	
	.ml-flex{
		display: flex;
	}
	
	.hidden-ml{
		display: none;
	}
	
	#nav-open,#nav-close{
		display: none;
	}
	#header{
		margin-top: 0;
	}
	#sidenav{
		width: 206px;
		left:0;
		padding: 22px;
		box-shadow: none;
	}
	#wrapper{
		margin-left: 250px;
	}
	
	

	#header h1{
		margin: 10px 0 10px 0;
		padding: 0.5em 0;
	}
	
	
	#main{
		flex: 1;
	}


	#sidemenu{
		width: 250px;
		margin-left: 20px;
		margin-right: 10px;
	}
	
	#sidemenu h2{
		font-size: 1.6em;
	}
	
	.sidemenu-recomend-imgbox{
		text-align: left;
	}
	.sidemenu-recomend-imgbox img{
		max-width:80px;
	}
}
@media screen and (min-width:1548px){
	#sidemenu{
		width: calc(100% - 1027px);
		margin-left: 20px;
		margin-right: 10px;
	}
	#main{
		width:980px;
	}
}
/* size xl以上 */
@media screen and (min-width:1680px){
	#sidenav{
		width: 250px;
		left:0;
		padding: 66px;
	}
	#wrapper{
		margin-left: 432px;
	}
}
@media print{
	#nav-open{
		display: none;
	}
	#sidemenu{
		display: none;
	}
	
	#page_top{
		display: none;
	}
	.hidden-print{
		display: none;
	}
	
	.hidden-s{
		display: inherit;
	}
	.view-s{
		display: none;
	}
}