﻿@charset "utf-8";
/* CSS Document */
.clearfix::after{
	clear:both;
	content:".";
	visibility:hidden;
	display:block;
	height:0;
}
#fakeloader{
	z-index: 9999;
}
#fakeloader .fl{
	position: absolute!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%)!important;
	width: 50%!important;
	max-width: 300px;
}
#fakeloader .fl{
	animation-name: loader;
	animation-duration: 5s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
}
@keyframes loader {
	0% {opacity: 0;}
	50% {opacity: 1;}
	100% {opacity: 0;}
}
/* --all page-- */
.title span:after{
	content: "\A" ;
	white-space: pre ;
}
.sns_links img{
	max-width: 40px;
}
.stripe{
	margin-top: -10px;
}
.stripe:after{
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	background-size: 15px 15px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
#map iframe{
	width: 100%;
	height: 400px;
}
#footer_wrap > div{
	/*margin-left: -1px;*/
}
.top .more,
#bottom_info .more,
#footer .more{
	max-width: 250px;
}
.more div{
	height: 30px;
	line-height: 26px;
}
.more div::before, .more div::after {
	content: '';
	position: absolute;
	transition: all 0.3s;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.more div::before {
	left: 4px;
	z-index: 1;
	opacity: 0;
	transform: scale(0.1, 1);
}

.more div:hover::before {
	opacity: 1;
	transform: scale(1, 1);
}

.more div::after {
	transition: all 0.3s;

}
.more div:hover::after {
	transform: scale(1, .1);
	opacity: 0;
}
.cate_list li{
	width: 20%;
	height: 100%;
	margin-right: 2%;
}
.cate_list li div{
	height: 100%;
	line-height: 30px;
	padding-bottom: 3px;
}
.cate_list li a{
	height: 100%;
}
.cate_list li:nth-of-type(4n){
	margin-right: 0;
}

#page-top{
	position: fixed;
	right: 10px;
}
#page-top a{
	display: block;
	width: 50px;
	height: 50px;
	position: relative;
}
/* header(TOP) */
.top #header_wrap{
}
/* header(下層) */
/* -- index.html -- */
/*-----------------------------------------
ロードされるまで、.slider-container 全体を非表示
-----------------------------------------*/
.slider-container{
	display: none;
}
.slider-container.initialized {
	display: block;
}
#main_img{
}
#main_img #slider:before{
	position: absolute;
	top:0;
	left: 0;
    height: 100%;
    width: 100%;
    content: "";
    display: block;
    background-image: url(../img/grid.png);
	background-position: center center;
	background-size: 33.333% 33.333%;
    z-index: 1;
	opacity: 0.7;
}
#slider{
	max-height: 600px;
}
#slider img{
}
#slider, #thumbnail_slider {
  margin: 0 auto 10px;
}

.slide-item img {
  width: 100%;
}

#thumbnail_slider{
	overflow: hidden;
	max-height: 200px;
}
.thumbnail-item img {
	width: 98%;
	margin: 0 auto;
}
#main_img > div{
}
#main_img img{
}
.top .sns_links li+li{
	margin-left: 40px;
}
#bottom_info_w,
.contents_title,
#menu_bt li,
#page_title{
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#bottom_info_w::after,
.contents_title::after,
#menu_bt li::after,
#page_title::after{
	position: absolute;
	z-index: 0;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
#bottom_info_item,
.contents_title h3,
#menu_bt li a,
#page_title h2{
	z-index: 2;
}
#contents .box_wrap .box:nth-child(odd){
	margin-left: 15%;
}
#contents .box_wrap .box:nth-child(even){
	margin-right: 15%;
}
#contents .box_wrap .box:nth-child(odd) .contents_title h3{
	margin-left: 0;
}
#contents .box_wrap .box:nth-child(even) .contents_title h3{
	margin-right: 0;
}
#contents .box_wrap .box .box_item{
	margin-top: -50px;
}
#contents .box_wrap .box:nth-child(odd) .box_item{
	margin-left: 0;
}
#contents .box_wrap .box:nth-child(even) .box_item{
	margin-right: 0;
}
#contents .box_wrap .box:nth-child(odd) .box_item figure{
	padding-left: 50px;
}
#contents .box_wrap .box:nth-child(even) .box_item figure{
	padding-right: 50px;
}
#menu_bt li{
	
}
#menu_bt li+li{
	margin-left: 5%;
}
/* 下層 */
.sns_wrap{
	position: fixed;
	bottom: 80px;
	right: 25px;
	z-index: 2;
}
.sns_wrap li{
	width: 20px;
	margin-bottom: 30px
}
.sns_wrap li:last-of-type{
	margin-bottom: 0;
}
/* -- page7.html -- */
#page7 .box:after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: 1px solid;
	left: 0;
	bottom: -1px;
	width: 33.33333%;
}
/* -- page8.html -- */
.g-recaptcha > div{
	margin: 0 auto;
}
#page8 #mail_contact li:before{
	content: "◆";
	font-weight: 900;
	position: absolute;
	top: 0;
	left: 5px;
}
#page8 #form_box .box input::-webkit-input-placeholder,#page8 #form_box .box textarea::-webkit-input-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input:-moz-placeholder,#page8 #form_box .box textarea:-moz-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input::-moz-placeholder,#page8 #form_box .box textarea::-moz-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input:-ms-input-placeholder,#page8 #form_box .box textarea:-ms-input-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input,#page8 #form_box .box textarea{
	outline: none;
	border-style: none;
	border-radius: 0;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: rbga(0,0,0,0);
}
#page8 input[type="submit"].btn,
#page8 input[type="reset"].btn{
	-webkit-appearance: none;
	background: transparent;
	border-radius: 0;
	border: none;
	outline: none;
	cursor: pointer;
}
#page8 input[type="submit"].btn{
	padding-top: 11px;
	padding-bottom: 11px;
}
#page8 input[type="submit"].btn:disabled{
    cursor: default;
}
/* -- page10.html -- */
#page10 span:after{
	content: "\A" ;
	white-space: pre ;
}
#page10 li:first-of-type{
	width: 84.33333%;
}
/*-----------------------------------------
カラー設定(固定)
-----------------------------------------*/
/* hamburger menu */
.button_container.active .top {
	background: rgba(255,255,255,0.90);
}
.button_container.active .middle {
	background: rgba(255,255,255,0.90);
}
.button_container.active .bottom {
	background: rgba(255,255,255,0.90);
}
/* all */
#bottom_info .more div::before,
#footer .more div::before{
	background: rgba(255, 255, 255, 0.1);
}
#bottom_info .more div::after,
#footer .more div::after{
	border-color: rgba(255, 255, 255, 0.4);
}
#footer_wrap > div:first-of-type{
	border-color: rgba(255,255,255,0.50);
}
#bottom_info .stripe:after,
#page_title .stripe:after{
	background-image: linear-gradient( -45deg, transparent 25%, rgba(255,255,255,0.30) 25%, rgba(255,255,255,0.30) 50%, transparent 50%, transparent 75%, rgba(255,255,255,0.30) 75%, rgba(255,255,255,0.30) );
}
/* page7 */
#page7 .box{
	border-color: #ccc;
}

/*IEのみ
---------------------------------------------------------------------------*/
@media all and (-ms-high-contrast: none) {
	#copyright{
		padding-top: 7px;
		padding-bottom: 3px;
	}
	.more div{
		height: 25px;
		line-height: 26px;
	}
	.cate_list .more div{
		padding-bottom: 0px;
	}
	.cate_list .more a{
		padding-top: 2px;
	}
	.pager li a{
		padding-top: 10px;
		padding-bottom: 7px;
	}
	#page7 .box{
		padding-bottom: 15px;
	}
	#mail_contact ul{
		padding-top: 25px;
	}
	#form_box .box h3{
		padding-top: 5px;
	}
	#page8 #form_box .box input,#contact #form_box .box textarea{
		padding-top: 13px;
	}
	#page8 input[type="submit"],
	#page8 input[type="reset"]{
		padding-bottom: 11px;
	}
	#page8 input[type="submit"].btn{
		padding-top: 12px;
		padding-bottom: 12px;
	}
	#page9 .box a{
		padding-top: 5px;
		padding-bottom: 2px;
	}
	#page10 li a{
		padding-top: 10px;
		padding-bottom: 7px;
	}
}
/*Edgeのみ
---------------------------------------------------------------------------*/
@supports (-ms-ime-align:auto) {
	#page8 input[type="submit"],
	#page8 input[type="reset"]{
		padding-bottom: 11px;
	}
}
/* ---------- 1280px以下 ---------- */
@media screen and (max-width: 1280px){
	/* -- index.html -- */
	.top #header_wrap{
		padding: 50px 30px;
	}
	
	/* 下層 */
	.sns_wrap{
		bottom: 80px;
		right: 15px;
	}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
	/* header(TOP) */
	#header{
		top: 0;
		left: 0;
		transform: translate(0,0);
		z-index: 90;
	}
	.top #header_wrap{
		padding: 15px 30px;
		height: auto;
		transform: translate(0,0);
	}
	/* header(下層) */
	/* -- index.html -- */
	#contents .box_wrap .box:nth-of-type(odd){
		margin-left: 0;
	}
	#contents .box_wrap .box:nth-of-type(even){
		margin-right: 0;
	}
	#contents .box_wrap .box:nth-of-type(odd) .box_item figure{
		padding-left: 0;
	}
	#contents .box_wrap .box:nth-of-type(even) .box_item figure{
		padding-right: 0;
	}
	#menu_bt li{
		width: 31.33%!important;
	}
	#menu_bt li+li{
		margin-left: 3%;
	}
	/* -- 下層 -- */
	.page .sns_links li+li{
		margin-left: 40px;
	}
	.cate_list li{
		width: 27.8%;
	}
	.cate_list li:nth-of-type(3n){
		margin-right: 0;
	}
	.cate_list li:nth-of-type(4n){
		margin-right: 2%;
	}
	/*-----------------------------------------
	カラー設定(固定)
	-----------------------------------------*/
	#header{
		background-color: rgba(255,255,255,0.90);
	}
}
/*タブレット & IE
---------------------------------------------------------------------------*/
@media all and (-ms-high-contrast: none) and (max-width: 768px) {
	.pager li a{
		padding-top: 10px;
		padding-bottom: 1px;
	}
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
	/* -- 下層 -- */
	#contents .box_wrap .box .box_item{
		margin-top: -30px;
	}
	.cate_list li{
		max-width: 100%;
		width: 100%;
		margin-right: 0;
	}
	.cate_list li:nth-of-type(4n){
		margin-right: 0%;
	}
	#page-top a{
		display: block;
		width: 30px;
		height: 30px;
		position: relative;
	}
	/* -- index.html -- */
	#menu_bt li{
		width: 100%!important;
	}
	#menu_bt li+li{
		margin-left: 0;
		margin-top: 30px;
	}
	/* -- page7.html -- */
	#map iframe{
		height: 350px;
	}
}