﻿@charset 'utf-8';

/* reset
------------------------------------------------ */
body,div,pre,p,a,img,form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td,embed,object,
figure,figcaption {
	margin: 0;
	padding: 0;
}
html { height: 100%; font-size: 62.5%; }
body {
	width: 100%;
	height: 100%;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	font-family: '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HiraMinProN-W3', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'Times New Roman' , serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #000;
}

ul,ol { list-style: none; }
img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
a:link { text-decoration: none; color: #000; }
a:visited { text-decoration: none; color: #000; }
a:hover { text-decoration: underline; }

.num-date {
	-webkit-text-combine-upright: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}
.num-up {
	text-orientation: upright;
}

/* clearfix
------------------------------------------------ */
.clearfix {
	clear: both;
	*zoom: 1;
}
.clearfix:before,.clearfix:after {
	content: ' ';
	display: table;
}
.clearfix:after { clear: both; }

/* container
------------------------------------------------ */
#container {
	position: relative;
	width: 100%;
	height: auto !important;
	height: 100%;
	min-height: 100%;
}
.wrap {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
.hide_pc {
	display: none !important;
}
/* header
------------------------------------------------ */
#header {
	background: #fff;
	/* padding-top: 20px; */
	position: relative;
	height: 172px;
	z-index: 10;
}
	#logo {
		display: inline-block;
		margin-top: 47px;
	}
		#logo a {
			display: block;
			text-decoration: none;
		}
	#primary_menu {
		display: inline-block;
		float: right;
	}
		#primary_menu ul {
			display: inline-block;
			vertical-align: top;
		}
		#primary_menu ul li {
			display: inline-block;
		    vertical-align: top;
		    float: right;
		}
		
			#primary_menu ul li a {
				font-size: 1.9rem;
				padding: 20px 22px 0;
				box-sizing: border-box;
				display: block;
			    text-decoration: none;
			    line-height: 1;
			    -webkit-writing-mode: vertical-rl;
                -ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
				color:#212121;
			}
			

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

	#primary_menu ul li a {
		height: 172px;
	}
	#primary_menu ul li a:hover {
		color: #fff;
	}

	#primary_menu ul li:nth-child(1) a {
		transition: all .3s;
		background-color: rgba(72,153,119,.3);
	}
	#primary_menu ul li:nth-child(1) a:hover {
		transition: all .3s;
		background-color: rgba(72,153,119,1);
	}
	#primary_menu ul li:nth-child(2) a {
		transition: all .3s;
		background-color: rgba(253,239,95,.3);
	}
	#primary_menu ul li:nth-child(2) a:hover {
		transition: all .3s;
		background-color: rgba(253,239,95,1);
		color:#212121;
	}
	#primary_menu ul li:nth-child(3) a {
		transition: all .3s;
		background-color: rgba(255,79,53,.3);
	}
	#primary_menu ul li:nth-child(3) a:hover {
		transition: all .3s;
		background-color: rgba(255,79,53,1);
	}
	#primary_menu ul li:nth-child(4) a {
		transition: all .3s;
		background-color: rgba(240,240,240,.3);
	}
	#primary_menu ul li:nth-child(4) a:hover {
		transition: all .3s;
		background-color: rgba(240,240,240,1);
		color:#212121;
	}
	#primary_menu ul li:nth-child(5) a {
		transition: all .3s;
		background-color: rgba(92,67,164,.3);
	}
	#primary_menu ul li:nth-child(5) a:hover {
		transition: all .3s;
		background-color: rgba(92,67,164,1);
	}
	#primary_menu ul li:nth-child(6) a {
		transition: all .3s;
		background-color: rgba(72,153,119,.3);
	}
	#primary_menu ul li:nth-child(6) a:hover {
		transition: all .3s;
		background-color: rgba(72,153,119,1);
	}
	#primary_menu ul li:nth-child(7) a {
		transition: all .3s;
		background-color: rgba(253,239,95,.3);
	}
	#primary_menu ul li:nth-child(7) a:hover {
		transition: all .3s;
		background-color: rgba(253,239,95,1);
		color:#212121;
	}
	#primary_menu ul li:nth-child(8) a {
		transition: all .3s;
		background-color: rgba(255,79,53,.3);
	}
	#primary_menu ul li:nth-child(8) a:hover {
		transition: all .3s;
		background-color: rgba(255,79,53,1);
	}
	#primary_menu ul li:nth-child(9) a {
		transition: all .3s;
		background-color: rgba(240,240,240,.3);
	}
	#primary_menu ul li:nth-child(9) a:hover {
		transition: all .3s;
		background-color: rgba(240,240,240,1);
		color:#212121;
	}
}

/* main
------------------------------------------------ */
#main {
	position: relative;
	display: block;
	width: 100%;
}
	.vertical_text {
		text-align: center;
		margin: 25px 0;
	}

/* footer
------------------------------------------------ */
#footer {
	background: #000;
	padding: 20px 0 25px;
	text-align: center;
}
	#copyright {
		font-size: 1.5rem;
		color: #fff;
	}
	#pagetop {
		display: none;
		position: fixed;
    	right: 20px;
   	 	bottom: 120px;
   	 	z-index: 5;
	}

		#pagetop a { display: block; }

/* modal window
------------------------------------------------ */
#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,.9);
	z-index: 40;
}

#modal_contents {
	display: none;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 50;
}

#modal_close {
	position: absolute;
	top: 0;
	right: 0;
	width: 46px;
	height: 47px;
}

	#modal_close a {
		display: block;
		width: 100%;
		height: 100%;
		background: url(../img/share/close1.png) no-repeat center center;
		background-size: 100%;
	}

/* modal_content */
#modal_contents .modal_content {
	position: relative;
	padding-top: 80px;
	color: #fff;
}

	#modal_contents .modal_content .title,
	#modal_contents .modal_content .explain {
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}

	#modal_contents .modal_content .title {
		float: right;
		width: 6%;
		font-size: 3.5rem;
		font-weight: normal;
	}

	#modal_contents .modal_content .explain {
		float: right;
		width: 8%;
		font-size: 1.9rem;
	}

	#modal_contents .modal_content .photos {
		float: left;
		width: 86%;
	}

		#modal_contents .modal_content .photos li {
			float: left;
			margin-top: 4%;
			width: 48%;
		}

		#modal_contents .modal_content .photos li:nth-of-type(-n+2) { margin-top: 0; }
		#modal_contents .modal_content .photos li:nth-of-type(2n) { float: right; }
		#modal_contents .modal_content .photos li:nth-of-type(2n+1) { clear: both; }

#modal_contents .modal_content .photos li.ranma{
			float: none;
			width: 100%;
			margin-top: 4%;
		}
#modal_contents .modal_content .photos li.ranma:first-child{
			margin-top: 0;
		}
#modal_contents .modal_content .photos li.ranma:last-child{
			margin-bottom: 80px;
		}

		#modal_contents .modal_content .photos li.vertical{
			float: none;
			width: 100%;
			margin-top: 4%;
		}
#modal_contents .modal_content .photos li.vertical:first-child{
			margin-top: 0;
		}
#modal_contents .modal_content .photos li.vertical:last-child{
			margin-bottom: 80px;
		}

/* responsive style
------------------------------------------------ */
@media screen and (max-width: 1220px) {
	/* container */
	.wrap { margin: 0 10px; }
}
@media screen and (max-width: 1030px) {
	/* modal_contents */
	#modal_contents { left: 0 !important; margin: 0 10px !important; }
}
@media screen and (max-width: 1000px) {
	/* #primary_menu ul li { margin-left: 30px; } */
	#primary_menu ul li a { 
		padding: 20px 18px 0; 
	}
}
@media screen and (max-width: 840px) {
	/* #primary_menu ul li { margin-left: 24px; } */
	#primary_menu ul li a { 
		font-size: 1.6rem;
		padding: 20px 14px 0; 
	}
}
@media screen and (max-width: 740px) {
	#header { height: 130px; }
	#header #logo img { width: 245px;}
	#primary_menu ul li a { font-size: 1.4rem; }

	/* modal_contents */
	#modal_contents { margin: 0 32px !important; }
	/* modal_close */
	#modal_close { width: 24px; height: 25px; }
	/* guide_modal */
	#modal_contents .modal_content { padding-top: 30px; }
	#modal_contents .modal_content .title,
	#modal_contents .modal_content .explain { margin-bottom: 20px; }
	#modal_contents .modal_content .title { margin-right: 15%; width: 20%; font-size: 2.7rem; }
	#modal_contents .modal_content .explain { width: 65%; height: 7em; font-size: 1.5rem; }
	#modal_contents .modal_content .photos { clear: both; float: none; width: auto; }
	#modal_contents .modal_content .photos li { float: none !important; margin-top: 10px !important; width: 100%; text-align: center; }
}
@media screen and (max-width: 640px) {
	#primary_menu ul li { margin: 0 12px; } 
	#primary_menu ul li a { padding: 0; } 
	/* common */
	.hide_sp { display: none !important; }
	.hide_pc { display: block !important; }
	.vertical_text { margin: 4% 0; }
	.vertical_text img { width: 15%; }

	/* container */
	#container {}
	.wrap { margin: 0 20px; }

	/* header */
	#header { height: auto; padding: 20px 0 10px; }
	#header .wrap { margin: 0; }
	#header #logo { margin: 0 0 0 18px ; overflow: hidden; }
	#header #logo img { width: 220px; margin-bottom: -17px;  }
	#header .sp_menu { position: absolute; top: 2px; right: 18px; width: 41px; text-align: center; font-size: 1.1rem; line-height: 1.2; }
	#header .sp_menu a,
	#header .sp_menu span { display: block; }
	#header .sp_menu span { padding-top: 32px; }
	#header .sp_menu a:after,
	#header .sp_menu span:before,
	#header .sp_menu span:after { content: ' '; position: absolute; left: 50%; margin-left: -21px; width: 40px; height: 2px; background: #000; -webkit-transition: all .3s; transition: all .3s; }
	#header .sp_menu a:after { top: 0; }
	#header .sp_menu span:before { top: 14px; }
	#header .sp_menu span:after { top: 28px; }
	#header .sp_menu a.on:after { display: none; }
	#header .sp_menu a.on span:before { top: 6px; -webkit-transform: rotate(-45deg) translate3d(-3px,3px,0); transform: rotate(-45deg) translate3d(-3px,3px,0); }
	#header .sp_menu a.on span:after { top: 15px; -webkit-transform: rotate(45deg) translate3d(-3px,-3px,0); transform: rotate(45deg) translate3d(-3px,-3px,0); }
	#primary_menu { display: none; position: absolute; top: 50px; left: 0; background: rgba(255,255,255,.96); z-index: 1; width: 100%; text-align: center; padding: 20px 0;  }
	#primary_menu ul li { width: 1.2em; }
	#primary_menu ul li:last-child { margin-left: 0; }
	#primary_menu.active { display: block; -webkit-animation: slide-down .3s ease-out; -moz-animation: slide-down .3s ease-out; }
	@-webkit-keyframes slide-down { 0% { opacity: 0; -webkit-transform: translateY(-10%); } 100% { opacity: 1; -webkit-transform: translateY(0); } }
	/* footer */
	#pagetop img { width: 40px; }
}
