@charset "utf-8";
/* CSS Document */
/* ---reset.css--- */
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;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
	background:url("../images/bg.jpg") top center repeat;
}



/* PC */
.WRAPPER{ position:relative; width:100%; min-width:1200px; margin:0 auto; overflow:hidden;}
 	@media screen and ( max-width: 991px ){
		.WRAPPER{ min-width:100%;}
		
	}
.container { overflow: hidden; }
.topbox { position: relative; width: 1200px; margin: auto;}
.kv_pc {width: 100%;  position: relative; text-align:center; display: flex;justify-content: center;max-width: 1920px; margin: auto;flex-wrap: wrap-reverse;}
.kv_pc img { display: block; text-align: center; }
.kv_m { display: none; }
.kv_m img { display: block; }
.kv_m a {font-size: 0; display: block; }
.for_pc{ display: block; }
.for_m { display: none; }

/* m */
@media screen and ( max-width: 991px ){
	.kv_m { display: block; width: 100%; }
	.kv_m img {  width: 100%; }
	.kv_pc { display: none; }
	.container {width: 100%; min-width: auto; }
	.for_pc{ display: none; }
	.for_m { display: block; }
}





/* -----------------COMMON----------------- */
/* ---------BACKGROUND-------- */

.books{
	background: url("../images/bg02.jpg") repeat;
	padding: 10px 0 0;
}

.bg01box, .bg03box{
	background: url("../images/bgbox-p.jpg") center repeat;
	max-width: 1160px;
	margin: 40px auto;
	padding: 30px 0 10px;
}

.bg02box, .bg04box, .bg06box, .bg08box{
	background: url("../images/bgbox-o.jpg") center repeat;
	max-width: 1160px;
	margin: 40px auto;
	padding: 30px 0 10px;
}

.bg05box, .bg07box{
	background: url("../images/bgbox-y.jpg") center repeat;
	max-width: 1160px;
	margin: 40px auto;
	padding: 30px 0 10px;
}

@media screen and ( max-width: 991px ){}

@media screen and ( max-width: 640px ){
	.bg01box, .bg03box{
		margin: 2vw auto;
		padding: 30px 0 10px;
	}

	.bg05box, .bg07box{
		margin: 2vw auto;
		padding: 30px 0 10px;
	}
}

/* -----------BLOCK----------- */

.supplies .rectangle_3p li{
	border-radius: 30px;
}

.books .rectangle_3p .font h4{
	background: #a7212f;
	border-radius: 50px;
	padding: 6px 20px;
	color: #fff;
}

.alternate ul:nth-child(odd) li:first-child, .alternate ul:nth-child(even) li:last-child{
	background: url("../images/color-dr.jpg") repeat;
}

@media screen and ( max-width: 991px ){}

@media screen and ( max-width: 640px ){
	.books .rectangle_3p .font h4{
		padding: 1vw 2vw;
	}
}

/* ------------FONT----------- */

.supplies .titleJ img, .books .titleJ img{
	display: block;
	margin: 30px auto;
}

.supplies .titleJ_m img, .books .titleJ_m img{
	display: none;
}

.titleR h2{
	color: #fff;
}

.bg01 .titleR h2, .bg03 .titleR h2, .bg05 .titleR h2, .bg07 .titleR h2{
	background: url("../images/h2bg01.png") top center no-repeat;
	padding: 18px 0;
}

.bg02 .titleR h2, .bg04 .titleR h2, .bg06 .titleR h2, .bg08 .titleR h2{
	background: url("../images/h2bg02.png") top center no-repeat;
	padding: 15px 0 30px;
}

@media screen and ( max-width: 991px ){}

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

	.supplies .titleJ img, .books .titleJ img{
		display: none;
	}
	
	.supplies .titleJ_m img, .books .titleJ_m img{
		display: block;
		margin: 3vw auto 0;
		width: 100vw;
	}

	.bg01 .titleR h2, .bg03 .titleR h2, .bg05 .titleR h2, .bg07 .titleR h2{
		background-size: 98vw;
		padding: 3.5vw 0;
	}
	
	.bg02 .titleR h2, .bg04 .titleR h2, .bg06 .titleR h2, .bg08 .titleR h2{
		background-size: 98vw;
		padding: 2.5vw 0 5.5vw;
	}
}


/* -----------------COMMON----------------- */



/* ------------------bg01------------------ */

.bg01{
	background: url("../images/bg01.png") center no-repeat;
}

/* ------------------bg02------------------ */

.bg02{
	background: url("../images/bg02.png") center no-repeat;
}


@media screen and ( max-width: 991px ){}


/* ------------------bg03------------------ */

.bg03{
	background: url("../images/bg03.png") center no-repeat;
}

/* ------------------bg04------------------ */

.bg04{
	background: url("../images/bg04.png") center no-repeat;
}

/* ------------------bg05------------------ */

.bg05{
	background: url("../images/bg05.png") center no-repeat;
}

/* ------------------bg06------------------ */

.bg06{
	background: url("../images/bg06.png") center no-repeat;
}

/* ------------------bg07------------------ */

.bg07{
	background: url("../images/bg07.png") center no-repeat;
}

/* ------------------bg08------------------ */


.bg08{
	background: url("../images/bg08.png") center no-repeat;
}

/* ------------------版頭------------------ */

.titleBTS{
	position: absolute;
	top: 90px;
	left: 237px;
}

.title01{
	position: absolute;
	top: 240px;
	right: 570px;
}

.title02{
	position: absolute;
	top: 205px;
	right: 408px;
}

.title03{
	position: absolute;
	top: 253px;
	right: 250px;
}

.p01{
	position: absolute;
	top: 45px;
	left: -250px;
}

.p02{
	position: absolute;
	top: 25px;
	right: 95px;
}

.p03{
	position: absolute;
	top: 475px;
	right: 15px;
}

.p04{
	position: absolute;
	top: 335px;
	right: 15px;
}

.p05{
	position: absolute;
	top: 453px;
	right: 30px;
}

.p06{
	position: absolute;
	top: 568px;
	right: 210px;
}

.p07{
	position: absolute;
	top: 420px;
	left: 310px;
}

.p08{
	position: absolute;
	top: 424px;
	left: 158px;
}

.p09{
	position: absolute;
	top: 398px;
	left: 7px;
}

@media screen and ( max-width: 991px ){}




/* -- sidemanu for pc -- */
.side-menu2{
	position: fixed;
	width: 182px;
	top:10%;
	right:1%;
	padding:10px;
	border-radius:20px;
	box-sizing: border-box;
	background:#fff3b5dd;
	opacity:0.95; 
	display: flex;
	flex-direction: column;
	transform: translateX(0);
	transition: .3s;
	text-align:center;
	z-index:99;
	font-size:15px;
	overflow:hidden;
	border:1.5px solid #f7edcd;
}
.side-menu2 label{
	position: fixed;
	width: 130px;
	height: 150px;
	background:#3752a3;
	opacity:0.95; 
	color: #f6f5e5;
	right: -40px;
	top: 0%;
	line-height: 28px;
	text-align: center;
	font-size: 24px;
	border-radius: 0 10px 10px 0;
	padding:18px 8px 10px 8px;
	font-weight:500;
}
#side-menu-switch2{
	position: absolute;
	opacity: 0;
	z-index: -1;
}
#side-menu-switch2:checked + .side-menu{
	transform: translateX(0);
}
.side-menu2 nav a{
	display: block;
	padding: 10px 4px;
	color: #04414b;
	text-decoration: none;
	position: relative;
	font-size:14px;	
	font-weight: 500;
}

.side-menu2 nav a:hover{
	background: #3a476e;
}

.side-menu2 nav p.name_menu {
    padding: 10px 0;
    font-size: 1.5em;
    line-height: 1em;
    border-bottom: 3px solid;
    border-color: #04414b;
    color: #c84513;
    font-weight: bold;
}
.side-menu2 nav ul.area1 {
    margin-bottom: 150px;
}
.side-menu2 nav ul.area1 li {
    width: 50%;
    float: left;
    border-bottom: 1px dotted #04414b;
}

.side-menu2 nav ul.area1 li {
    width: 100%;
    float: left;
    border-bottom: 1px dotted #04414b;
}

/* .side-menu2 nav ul.area1 li:nth-child(even) {
    border-right: 1px dotted #04414b;
} */

.side-menu2 nav ul.area2 li {
    border-bottom: 1px dotted #04414b;
}
.side-menu2 nav ul.area1 li:nth-last-child(1),
nav ul.area1 li:nth-last-child(1),
nav ul.area2 li:nth-last-child(1) {
    border-bottom: none;
}
.side-menu2 nav ul.area1 li:nth-child(14) {
    width: 100%;
    border-right: none;
}

@media screen and (max-width: 640px) {
    .side-menu2 {
        display: none;
    }
}



/*for mobile*/
menu{display: none !important;}
	@media screen and ( max-width: 428px ){
		menu{ display: block !important;}
		.deco_arrows{ width:1vw; }

		.icon_sidenav{
			bottom: 12%!important;
		}
	}
menu ul{
	position:fixed;
	bottom:0;
	left:0;
	margin:0;
	width:100%;
	height: 34px;
	display:flex;
	flex-wrap:wrap;
	list-style: none;
	background: #ff880f;
	z-index:1000;
	padding:2px 0;
	border-top:none;
}
menu ul li{
	border-right:1px solid #cec2aa;
	padding:4px;
	width: 50%;
	line-height: 22px;
	box-sizing:border-box;
	text-align:center;
	font-size:13px;
	letter-spacing:1px;
}
menu ul li a{
		font-size:12px;
}
menu ul li:nth-last-child(){
	border-right:none;
}
menu a{
	color:#f9f0ee !important;
	text-decoration:none;

}



/*Plugin*/
.side-menu2 .nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.side-menu2 .nav-pills>li.active>a, .side-menu2 .nav-pills>li.active>a:focus, .side-menu2 .nav-pills>li.active>a:hover {
    color: #fff;
    background-color: #3a476e;
}

.side-menu2 .nav-pills>li>a {
    border-radius: 0px;
}
.side-menu2 .nav>li>a {
    position: relative;
    display: block;
}
















/*--goto top--*/
#gotop {display: inline-block;background-color: #000;opacity:0.3;width: 40px;height: 40px;text-align: center;border-radius: 100%;position: fixed;bottom: 0px;right: 0px;transition: background-color .3s, opacity .5s, visibility .5s;opacity: 0;visibility: hidden;z-index: 1000;margin: 30px;}
#gotop::after {font-family: FontAwesome;content:'　';font-weight: normal;font-style: normal;font-size: 2em;line-height: 50px;color: #fff;  opacity:0.5;background: url(../images/top.png) center no-repeat; background-size:50%;background-position:50% 20%;}
#gotop:hover {cursor: pointer;background-color: #666;}
#gotop:active {background-color: #666;}
#gotop.show {opacity: 0.4;visibility: visible;}
	@media screen and ( max-width: 991px ){
	#gotop {bottom: 10vw;right: 0;margin: 2vw;	}
	}