@charset "utf-8";


/***********************************************************
////////////////////////////////////////////////////////////

@ MOBILE SIZE

////////////////////////////////////////////////////////////
***********************************************************/

/****************************
  00 base
****************************/
html, body {
	position: relative;
	width: 100%;
	color: #000;
	font-size: 11pt;
	line-height: 1.6;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	padding: 0;
	margin: 0;
}


#container {
	margin: 0 auto;
	padding: 0;
	
	background-size: 100% auto;
	background-repeat: repeat-y;
	background-position: top center;
	background-image: url(../img/cont_background_sp.jpg);
}


.inner {
	position: relative;
	max-width: 960px;
	margin: 0 auto;
	padding: 0 10px;
	/*background-color: rgba(255,255,255,0.2);*/
}
.inner.wide {
	max-width: 1280px;
}
.inner.full {
	/*max-width: 1920px;*/
	max-width: 1350px;
	padding: 0 0;
}


img {
	display: block;
	width: 100%;
	height: auto;
}


.pc		{ display: none; }
.sp		{ display: block; }



/****************************
  01 header
****************************/
#header {
	position: relative;
	padding: 50px 0 0;
}

/*** main ***/
#header .main {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../img/head_background_sp.jpg);
}
#header .main .title {
	width: 100%;
	max-width: 460px;
	margin: 0 auto;
	padding: 10px 0;
}

/*** navi ***/
#header .navi {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	background-size: auto 100%;
	background-repeat: repeat-x;
	background-position: center -4px;
	background-image: url(../img/head_navi_background.png);
	z-index: 9999;
}

/* menu */
#header .navi .menu {
	position: absolute;
	right: 17px;
	top: 14px;
	width: 90px;
	padding-right: 28px;
}
#header .navi .menu .label {
	
}
#header .navi .menu .bar {
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	height: 24px;
	width: 24px;
	z-index: 2;
}
#header .navi .menu .bar:before,
#header .navi .menu .bar:after {
	content: '';
	height: 2px;
	width: 100%;
	border-radius: 2px;
	position: absolute;
	background-color: #FFF;
	-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s, width 0.2s 0.2s;
	-ms-transition: -ms-box-shadow 0.2s linear, -ms-transform 0.2s 0.2s, width 0.2s 0.2s;
	transition: box-shadow 0.2s linear, transform 0.2s 0.2s, width 0.2s 0.2s;
}
#header .navi .menu .bar:before {
	left: 0;
	top: 0;
	-webkit-box-shadow: #FFF 0 11px 0;
	box-shadow: #FFF 0 11px 0;
	-webkit-transform-origin:left top;
	-ms-transform-origin:left top;
	transform-origin: left top;
}
#header .navi .menu .bar:after {
	left: 0;
	bottom: 0;
	-webkit-transform-origin:left bottom;
	-ms-transform-origin:left bottom;
	transform-origin: left bottom;
}

#header .navi.open .menu .bar:before {
	width: 145%;
	-webkit-box-shadow:transparent 0 0 0;
	box-shadow: transparent 0 0 0;
	-webkit-transform:rotate(45deg) translate3d(0, -2px, 0);
	transform: rotate(45deg) translate3d(0, -2px, 0);
}
#header .navi.open .menu .bar:after {
	width:145%;
	-webkit-transform:rotate(-45deg) translate3d(0, 2px, 0);
	transform: rotate(-45deg) translate3d(0, 2px, 0);
}

/* list */
#header .navi ul.list {
	display: none;
	position: absolute;
	right: 10px;
	top: 50px;
	width: 70%;
	max-width: 320px;
	padding: 20px 10px;
	border-radius: 6px;
	background: rgba(248,246,236,0.95);
	box-shadow: 2px 2px 6px 4px rgba(0,0,0,0.3);
}
#header .navi.open ul.list {
	display: block;
}
#header .navi ul.list:after {
	bottom: 100%;
	right: 18px;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255,255,255,0);
	border-bottom-color: rgba(248,246,236,0.95);
	border-width: 8px;
	border-bottom-width: 14px;
	margin-right: -8px;
}
#header .navi ul.list li {
	padding: 6px 0;
	border-bottom: 1px dotted #1e7b00;
	border-bottom: 1px dotted rgba(30,123,0,0.6);
}
#header .navi ul.list li:last-child {
	border: none;
}

/*** bottom ***/
#header .bottom {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 10px;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../img/head_bottom_background_sp.png);
	/*z-index: 9990;*/
}




/****************************
  02 content
****************************/
#content {
	position: relative;
	padding: 60px 0 30px;
	/*
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right top;
	background-image: url(../img/cont_background2_sp.jpg);
	*/
}

/*** to-index ***/
#content #to-index {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding: 10px 0;
	margin: 0 0 30px;
	z-index: 999;
}
#content #to-index .button {
	width: 80px;
	padding: 0 10px;
}




/****************************
  03 footer
****************************/
#footer {
	position: relative;
	padding: 60px 0 20px;
	margin: -20px 0 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	background-image: url(../img/foot_background.png);
}


/*** navi ***/
#footer .navi {
	margin: 0 0 40px;
}
#footer .navi ul.list {
	text-align: center;
}
#footer .navi ul.list li {
	display: inline-block;
	line-height: 1.1;
	padding: 0 1.0em;
	border-right: 1px solid #fff;
}
#footer .navi ul.list li:last-child {
	border: none;
}
#footer .navi ul.list li a {
	color: #fff;
	font-size: 74%;
}
#footer .navi ul.list li a:link,
#footer .navi ul.list li a:visited {
	text-decoration: none;
}
#footer .navi ul.list li a:hover,
#footer .navi ul.list li a:active {
	text-decoration: underline;
}


/*** copy ***/
#footer .copy {
	color: #fff;
	font-size: 74%;
	text-align: center;
	margin: 0 0 20px;
}


/*** sns ***/
#footer .sns {
	
}
#footer .sns ul {
	list-style: none;
	text-align: center;
}
#footer .sns ul li {
	display: inline-block;
	width: 30px;
	height: 30px;
	font-size: 0;
	margin: 0 6px;
	overflow: hidden;
}





/****************************
  99 to-top
****************************/
#to-top {
	position: fixed;
	right: -60px;
	bottom: 40px;
	width: 32px;
	height: 32px;
	background-color: #fff;
	background-color: rgba(255,255,255,0.6);
	
	box-shadow:0px 0px 2px 2px rgba(128,128,128,0.4);
	-moz-box-shadow:0px 0px 2px 2px rgba(128,128,128,0.4);
	-webkit-box-shadow:0px 0px 2px 2px rgba(128,128,128,0.4);
	
	-webkit-transition: all .5s ease-out;
	-moz-transition: all .5s ease-out;
	-ms-transition: all .5s ease-out;
	transition: all .5s ease-out;
	
	z-index: 9999;
}

#to-top a {
	display: block;
	width: 100%;
	height: 100%;
	font-size: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	background-image: url(../img/btn_to_top.png);
}

.scroll #to-top {
	right: 0;
}




/****************************
  99 modal window
****************************/

.modal_mask {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #1c1e1f;
	background-color: rgba(255,255,255,0.8);
	z-index: 9000;
}

.modal_wrap {
	position: fixed;
	left: 50%;
	top: 40px;
	width: 50%;
	height: 50%;
	z-index: 9001;
	/*background-color: rgba(255,0,0,0.5);*/
}

.modal_base {
	position: absolute;
	left: 0p;
	bottom: 0;
	width: 100%;
	z-index: 9002;
	/*background-color: rgba(0,0,255,0.5);*/
}


.modal_base .iframe_wrap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.modal_base .iframe_wrap iframe {
	background-image: url(../img/loading.gif);
	background-repeat: no-repeat;
	background-position: center center;
}

.modal_cont {
	position: relative;
	width: 100%;
	margin-left: -50%;
	margin-bottom: -50%;
}

.modal_close_base {
	position: absolute;
	right: 0;
	top: 0;
	width: 200%;
	height: 200%;
}

.modal_close_button {
	position: absolute;
	right: 0px;
	top: -34px;
	width: 30px;
	height: 30px;
	z-index: 99;
	cursor: pointer;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/btn_close.png);
	/*background-color: rgba(255,255,255,0.2);*/
}



/**********************************
  99 modal window - movie
**********************************/

.movie-box {
	position: relative;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	background-color: #1c1e1f;
}

.movie-box .youtube {
	width: 100%;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 0;
}
.movie-box .youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}






/****************************
  99 screen
****************************/

#screen {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	color: #999;
	font-size: 8px;
}
#screen:after {
	content: '@ MOBILE SIZE';
}





/***********************************************************
////////////////////////////////////////////////////////////

@ MIDDLE MOBILE DEVICES

////////////////////////////////////////////////////////////
***********************************************************/
@media only screen and (min-width: 321px) {
	
	
	
	/****************************
	  99 screen
	****************************/
	#screen:after {
		content: '@ MIDDLE MOBILE';
	}
}





/***********************************************************
////////////////////////////////////////////////////////////

@ LARGER MOBILE DEVICES

////////////////////////////////////////////////////////////
***********************************************************/
@media only screen and (min-width: 481px) {
	
	
	
	/****************************
	  99 screen
	****************************/
	#screen:after {
		content: '@ LARGER MOBILE';
	}
}





/***********************************************************
////////////////////////////////////////////////////////////

@ TABLET & SMALLER LAPTOPS

////////////////////////////////////////////////////////////
***********************************************************/
@media only screen and (min-width: 768px) {
	
	/****************************
	  00 base
	****************************/
	
	html, body {
		font-size: 12pt;
	}
	
	#container {
		background-image: url(../img/cont_background_pc.jpg);
	}
	
	.pc		{ display: block; }
	.sp		{ display: none; }
	
	
	
	/****************************
	  01 header
	****************************/
	#header {
		padding: 0 0 60px;
	}
	
	/*** main ***/
	#header .main {
		background-image: url(../img/head_background_pc.jpg);
	}
	#header .main .title {
		padding: 0;
	}
	
	/*** navi ***/
	#header .navi {
		position: absolute;
		top: auto;
		bottom: 0;
		height: 70px;
		background-position: center 4px;
		z-index: auto;
	}
	.fixed #header .navi {
		position: fixed;
		top: -8px;
		bottom: auto;
		z-index: 9999;
	}
	
	/* menu */
	#header .navi .menu {
		display: none;
	}
	
	/* list */
	#header .navi ul.list {
		position: relative;
		display: table;
		right: auto;
		top: auto;
		width: 100%;
		height: 40px;
		max-width: none;
		margin: 0;
		padding: 16px 0 0;
		text-align: center;
		background: none;
		box-shadow: none;
	}
	#header .navi ul.list:after {
		display: none;
	}
	#header .navi ul.list li {
		display: table-cell;
		margin: 0;
		padding: 0;
		vertical-align: middle;
		border: none;
		border-right: 1px dotted #f8e3c9;
		border-right: 1px dotted rgba(248,227,201,0.6);
	}
	#header .navi ul.list li p {
		padding: 0 6px;
	}
	
	
	/*** bottom ***/
	#header .bottom {
		background-image: url(../img/head_bottom_background_pc.png);
	}
	
	
	
	/****************************
	  02 content
	****************************/
	#content {
		/*
		background-image: url(../img/cont_background2_pc.jpg);
		*/
	}
	
	/*** to-index ***/
	#content #to-index {
		
	}
	#content #to-index .button {
		width: 100px;
	}
	
	/*** sns ***/
	#footer .sns {
		
	}
	#footer .sns ul {
		
	}
	#footer .sns ul li {
		width: 39px;
		height: 39px;
	}
	
	
	/****************************
	  99 to-top
	****************************/
	#to-top {
		width: 46px;
		height: 46px;
	}
	
	#to-top a {
		
	}
	
	.scroll #to-top {
		
	}
	
	
	/****************************
	  99 modal window
	****************************/
	
	.modal_mask {
		
	}
	
	.modal_wrap {
		top: 0;
	}
	
	.modal_base {
		
	}
	
	
	.modal_base .iframe_wrap {
		
	}
	.modal_base .iframe_wrap iframe {
		
	}
	
	.modal_cont {
		
	}
	
	.modal_close_base {
		
	}
	
	.modal_close_button {
		right: 0px;
		top: -40px;
		width: 36px;
		height: 36px;
	}
	
	
	/**********************************
	  99 modal window - movie
	**********************************/
	
	.movie-box {
		max-width: 800px;
	}
	
	.movie-box .youtube {
		
	}
	.movie-box .youtube iframe {
		
	}
	
	
	
	/****************************
	  99 screen
	****************************/
	#screen:after {
		content: '@ TABLET & SMALLER LAPTOPS';
	}
}





/***********************************************************
////////////////////////////////////////////////////////////

@ DESKTOP

////////////////////////////////////////////////////////////
***********************************************************/
@media only screen and (min-width: 1030px) {
	
	
	
	/****************************
	  99 screen
	****************************/
	#screen:after {
		content: '@ DESKTOP';
	}
}





/***********************************************************
////////////////////////////////////////////////////////////

@ LARGE VIEWING SIZE

////////////////////////////////////////////////////////////
***********************************************************/
@media only screen and (min-width: 1240px) {
	
	
	
	/****************************
	  99 screen
	****************************/
	#screen:after {
		content: '@ LARGE VIEWING SIZE';
	}
}





/***********************************************************
////////////////////////////////////////////////////////////

@ RETINA (2x RESOLUTION DEVICES)

////////////////////////////////////////////////////////////
***********************************************************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5) {
	
	
	
	/****************************
	  99 screen
	****************************/
	#screen:after {
		content: '@ RETINA';
	}
}





/***********************************************************
////////////////////////////////////////////////////////////

@ PRINT STYLESHEET

////////////////////////////////////////////////////////////
***********************************************************/
@media print {
	
	
	
}





/***********************************************************

COMMON STYLE

***********************************************************/

/****************************
  01 visible
****************************/

.hide	{ display: none; }



/****************************
  02 position
****************************/

.left	{ text-align: left; }
.right	{ text-align: right; }
.center	{ text-align: center; }

img.center { display: block; margin: 0 auto 0; }



/****************************
  03 font
****************************/

.bold		{ font-weight: bold; }

.smaller	{ font-size: 60%; }
.small		{ font-size: 80%; }
.large		{ font-size: 110%; }
.larger		{ font-size: 120%; }

.red		{ color: #C30D22; }


.serif		{ font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.gothic		{ font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; }



/****************************
  04 over
****************************/

.over,
.over img {
	/*
	-moz-transition: opacity 0.2s linear;
	-webkit-transition: opacity 0.2s linear;
	-o-transition: opacity 0.2s linear;
	-ms-transition: opacity 0.2s linear 0;
	*/
	transition: opacity 0.2s linear;
	-webkit-backface-visibility: hidden;
}
.over:hover,
.over:hover img {
	opacity: 0.6;
}



/****************************
  05 link
****************************/

a {
	outline: none;
}

a:link,
a:visited {
	color: #1e7b00;
	text-decoration: underline;
}
a:hover,
a:active {
	color: #1e7b00;
	text-decoration: none;
}



/****************************
  99 clearfix
****************************/

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	 min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}