@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:#fff;
}

@media screen and ( max-width: 640px ){
	html{
		background: #d0111b;
	}
}

/* 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----------------- */


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

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

.bg03, .bg05, .bg07-08{
	background: url("../images/bg-o.jpg") top center repeat;
}

.bg02, .bg04{
	background: url("../images/bg02.png") center no-repeat;
	padding: 0 0 40px;
}

@media screen and ( max-width: 991px ){
	.bg02, .bg04{
		padding: 0 0 5vw;
	}
}

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

.circle .font .price:after {
    content: '.';
    background: url("../images/go.jpg") right no-repeat;
    padding: 6px 26px;
}

.alternate ul:nth-child(odd) li:first-child,.alternate ul:nth-child(even) li:last-child{
	background-color: #d0111b;
}

.round_3p img{
	background: #fff;
}

.bg02box, .bg04box{
	max-width: 1160px;
	background: #d0111b;
	margin: 0 auto;
	padding: 30px 0 10px;
	border-radius: 60px;
}


@media screen and ( max-width: 991px ){
	
	.circle .font .price:after{
		background-size: 6vw;
		padding: 17px 26px;
	}

	.bg02box, .bg04box{
		border-radius: 0;
	}
}

@media screen and ( max-width: 640px ){
	
	.circle .font .price:after{
		background-size: 8vw;
		padding: 0.5vw 4vw;
	}
}

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

.bg01 .titleR, .adbox .titleR{
	background: url("../images/h2bg01.png") top center no-repeat;
	padding: 34px 0;
}

@media screen and ( max-width: 991px ){
	.bg01 .titleR, .adbox .titleR{
		background-size: 60vw;
		padding: 5vw 0;
	}
}

@media screen and ( max-width: 640px ){
	.bg01 .titleR, .adbox .titleR{
		background: url("../images/h2bg01_m.png") top center no-repeat;
		background-size: 95vw;
		padding: 7vw 0;
	}
}


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



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

.bg01{
	background: url("../images/bg01.png") center no-repeat, #d0111b;
	padding: 0 0 10px;
}

.bg01 .titleR h2{
	color: #d0111b;
}

.bg01 .round_3p .font, .bg01 .round_3p .font .price{
	color: #fff;
}

.bg01 .round_3p big{
	color: #ffd64a;
}

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


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

.bg02 .titleR h2{
	background: url("../images/h2bg02.png") top center no-repeat;
	padding: 33px 0 40px;
	color: #fff;
	position: relative;
	top: 30px;
}

@media screen and ( max-width: 991px ){
	.bg02 .titleR h2{
		padding: 4.2vw 0;
		top: 40px;
	}
}

@media screen and ( max-width: 640px ){
	.bg02 .titleR h2{
		background: url("../images/h2bg02_m.png") top center no-repeat;
		background-size: 95vw;
		padding: 5vw 0;
		top: 5vw;
	}
}


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

.bg03 .titleR h2{
	background: url("../images/h2bg03.png") top center no-repeat;
	padding: 34px 0;
}

.bg03{
	padding: 30px 0;
}

.bg03 .circle{
	margin: 20px auto 0;
}

@media screen and ( max-width: 991px ){
	.bg03 .titleR h2{
		padding: 4.2vw 0;
	}
}

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

	.bg03{
		padding: 5vw 0;
	}
	.bg03 .titleR h2{
		background: url("../images/h2bg01_m.png") top center no-repeat;
		background-size: 95vw;
		padding: 7vw 0;
	}
}


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

.bg04 .titleR h2{
	background: url("../images/h2bg04.png") top center no-repeat;
	padding: 33px 0;
	color: #fff;
	position: relative;
	top: 30px;
}

@media screen and ( max-width: 991px ){
	.bg04 .titleR h2{
		padding: 4.2vw 0;
		top: 5vw;
	}
}

@media screen and ( max-width: 640px ){
	.bg04 .titleR h2{
		background: url("../images/h2bg02_m.png") top center no-repeat;
		background-size: 95vw;
		padding: 5vw 0;
		top: 5vw;
	}
}


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

.bg05 .titleR h2{
	background: url("../images/h2bg05.png") top center no-repeat;
	padding: 33px 0;
}

.bg05{
	padding: 30px 0 20px;
}

@media screen and ( max-width: 991px ){
	.bg05 .titleR h2{
		padding: 4.2vw 0;
	}
}

@media screen and ( max-width: 640px ){
	.bg05 .titleR h2{
		background: url("../images/h2bg01_m.png") top center no-repeat;
		background-size: 95vw;
		padding: 6.2vw 0;
	}

	.bg05{
		padding: 5vw 0;
	}
}



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

.bg06{
	background: url("../images/bg06.png") center no-repeat, #d0111b;
	padding: 0 0 40px;
}

.bg06 .round_3p{
	margin: 20px auto 0;
}
.bg06box{
	max-width: 1160px;
	margin: 0 auto;
	padding: 30px 0 10px;
	background: #fff;
	border: #000 solid 2px;
	border-radius: 60px;
}

.bg06 .titleR h2{
	background: url("../images/h2bg06.png") top center no-repeat;
	padding: 38px 0 71px;
	position: relative;
	top: 35px;
}

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

	.bg06box{
		padding: 3vw 0 8vw;
	}

	.bg06 .titleR h2{
		background: url("../images/h2bg01_m.png") top center no-repeat;
		background-size: 95vw;
		padding: 6.2vw 0;
		top: 5vw;
	}
}


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

.bg07{
	padding: 30px 0;
}

.bg07 .titleR h2{
	background: url("../images/h2bg07.png") top center no-repeat;
	padding: 43px 0;
}


@media screen and ( max-width: 991px ){
	.bg07 .titleR h2{
		padding: 5vw 0;
	}
}

@media screen and ( max-width: 640px ){
	.bg07 .titleR h2{
		background: url("../images/h2bg01_m.png") top center no-repeat;
		background-size: 95vw;
		padding: 6.2vw 0;
	}
}


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


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






/* -- sidemanu for pc -- */
.side-menu2{
	position: fixed;
	width: 145px;
	top:10%;
	right:1%;
	padding:10px;
	border-radius:20px;
	box-sizing: border-box;
	background:#ff8a8add;
	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: #ffffff;
	text-decoration: none;
	position: relative;
	font-size:14px;	
	font-weight: 500;
}
.side-menu2 nav p.name_menu {
    padding: 10px 0;
    font-size: 1.5em;
    line-height: 1em;
    border-bottom: 3px solid;
    border-color: #ffffff;
    color: #fff8a6;
    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 #ffffff;
}

.side-menu2 nav ul.area1 li {
    width: 50%;
    float: left;
    border-bottom: 1px dotted #ffffff;
}
.side-menu2 nav ul.area1 li:nth-child(even) {
    border-right: 1px dotted #ffffff;
}

.side-menu2 nav ul.area2 li {
    border-bottom: 1px dotted #ffffff;
}
.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;
    }
}






/*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: #ce2222;
}

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

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


/* navigation bar for mobile */
menu{display:none;}
	@media screen and ( max-width: 991px ){
		menu{ display:block;}

		menu ul{
			position:fixed;
			bottom:0;
			left:0;
			margin:0;
			width:100%;
			display:flex;
			flex-wrap:wrap;
			list-style: none;
			background: #000;
			z-index:990;
			padding:4px 0;
			border-top:none;
		}
		menu ul li{
			border-right:1px dotted #f9f0ee;
			border-top:1px dotted #f9f0ee;
			padding:4px;
			width:25%;
			box-sizing:border-box;
			text-align:center;
			font-size:13px;
			letter-spacing:1px;
		}

		menu ul li a{
				font-size:12px;
		}
		menu ul li:nth-child(4){
			border-right:none;
		}
		menu ul li:nth-child(1), menu ul li:nth-child(2), menu ul li:nth-child(3), menu ul li:nth-child(4){
			border-top:none;
		}
		menu a{
			color:#f9f0ee !important;
			text-decoration:none;
		
		}

	}












/*--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: 15vw;right: 0;margin: 2vw;	}
	}