﻿@charset "UTF-8";

/*-----ベース-----*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, main, menu, nav, section, summary,
time, mark, audio, video{
	margin:0;
	padding:0;
}
html{
	-webkit-text-size-adjust: 100%;
	height:100%;
}

body{
	width: 100%;
	color: #222222;
	font-size: 15px;
	font-style: normal;
	font-family: sans-serif;
	line-height: 1.5;
}
header,nav,main,footer,section{
	display:block;
}
img{
	border: 0;
	max-width: 100%;
	height: auto;
}
ul,li{
	list-style-type: none;
}
table {
	border: solid 1px #000000;
	border-collapse: collapse;
}
td,th {
	border: solid 1px #000000;
	padding: 10px;
}
th {
	background: #555;
	color: #eee;
}

a{
	color: #112266;
	transition: 0.5s;
}
a:visited{
	color: #114499;
}
a:hover{
	color: #1133ee;
}
a:hover img{
	opacity: 0.7;
}
a:active{
	background: #fdfffd;
	opacity: 0.1;
	transition: 1ms;
}
address{
	font-style: normal;
}
iframe{
	border: 0;
}
/*-----ヘッダーエリア-----*/

header#hd{
	height: 120px;
	padding: 20px 0;
	text-align: left;
}
@media screen and (min-width: 720px){
	header#hd{
		padding: 20px 0;
	}
}

.top-logo{
	opacity: 0.9;
}
p.top-link{
	text-align: right;
}
p.top-link a{
	display: block;
	margin: 10px 0 0 10px;
	width: 100px;
	height: 30px;
	line-height: 30px;
	border:1px solid #aaa;
	font-size: 14px;
	color: #333;
	text-decoration: none;
	text-align: center;
	float: right;
}
p.top-link a:hover{
	color: #fff;
	background: #ff5555;
}
header#top{
	padding:0 0 12.5%;
	text-align: left;
}
@media screen and (min-width: 720px){
	header#top{
		padding:0 0 80px;
	}
	h1.top-logo{
		width: 60%;
		float: left;
	}
	p.top-link{
		width: 40%;
		float: right;
	}
}
/*-----ヘッダースライド-----*/

.photo-show {
	max-width: 100%;
	margin: 0 auto;
	padding-bottom: 25%;
	position: relative;
}

.photo-show p {
	position: absolute;
	width: 100%;
	z-index:1;
	text-align: center;
	margin: 0 0 5%;
	font-size: 17px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	padding: 1em 0;
	background: rgba(255,255,255,0.5);
	box-shadow: 0 0 10px 10px rgba(255,255,255,0.5);
	color: #008000;
}
.photo-show img {
	animation: show 12s infinite;
	-webkit-animation: show 12s infinite;
	max-width: 100%;
	height: auto;
	overflow: hidden;
	opacity: 0;
	position: absolute;
}
@media screen and (min-width: 720px){
	.photo-show p { 
		margin:10% 0;
		font-size: 25px;
	}
}

/*アニメーション*/

@keyframes show {
	0% {opacity:0}
	15% {opacity:1}
	30% {opacity:1}
	50% {opacity:0}
}

@-webkit-keyframes show {
	0% {opacity:0}
	15% {opacity:1}
	30% {opacity:1}
	50% {opacity:0}
}

/*スライド*/

.photo-show img:nth-of-type(1) {
	animation-delay: 0s;
	-webkit-animation-delay: 0s;
}

.photo-show img:nth-of-type(2) {
	animation-delay: 3s;
	-webkit-animation-delay: 3s;
}

.photo-show img:nth-of-type(3) {
	animation-delay: 6s;
	-webkit-animation-delay: 6s;
}
.photo-show img:nth-of-type(4) {
	animation-delay: 9s;
	-webkit-animation-delay: 9s;
}


/*ロールオーバー*/

.photo-show img {
	transition: 0.2s;
	-webkit-transition: 0.2s;
}

.photo-show:hover img {
	animation-play-state: paused;
	-webkit-animation-play-state: paused;
}
/*-----グローバルナビ-----*/

nav#nv{
	position: relative;
	background: #fff;
	margin-bottom: 20px;
	font-family: "Source Sans Pro", Helvetica, Arial, 游ゴシック体, YuGothic, メイリオ, Meiryo, sans-serif;
}
/*チェックボックス非表示*/
.nv-hide {
	display:none;
}
/*アイコン枠*/
#nv-open {
	opacity: 0.7;
	position: fixed;
	top: 0;
	right: 0;
	display: inline-block;
	width: 40px;
	height: 40px;
	padding:10px 0 0 5px;
	background: #fee;
	vertical-align: middle;
}
/*ハンバーガーアイコン*/
#nv-open span, #nv-open span:before, #nv-open span:after {
	display: block;
	content: '';
	position: absolute;
	z-index: 10;
	height: 5px;
	width: 35px;
	border-radius: 5px;
	background: #755;
	cursor: pointer;
}
#nv-open span:before {
	bottom: -10px;
}
#nv-open span:after {
	bottom: -20px;
}
#nv-close {
	display: none;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}
#btn-close {
	display: list-item;
	height: 60px;
	line-height: 60px;
	width: 100%;
	text-align: center;
	font-size: 18px;
	background: #ddd;
	border: solid #eee;
	border-width: 0 0 1px 0;
	box-sizing:border-box;
}

/*ナビの中身*/
#nv-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	width: 80%;
	max-width: 300px;
	height: 100%;
	background: #fff;
	transition: .3s ease-in-out;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
}

/*チェックで表示*/
#nv-input:checked ~ #nv-close {
	display: block;
	opacity: .5;
}

#nv-input:checked ~ #nv-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
nav#nv{
	background: #ff0000;
}
nav#nv ul{
	display: block;
	width: 100%;
	background: #ff0000;
	padding: 0;
	overflow: hidden;
}
nav#nv ul li{
	display: list-item;
	height: 60px;
	line-height: 60px;
	width: 100%;
	text-align: center;
	font-size: 18px;
	border: solid #eee;
	border-width: 0 0 1px 0;
}
nav#nv ul li a{
	display: block;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
}
nav#nv ul li a:hover{
	color: #fff;
	background: #ff5555;
	text-decoration: none;
}

@media screen and (min-width: 720px){
	#nv-open {
		display: none;
	}
	#btn-close {
		display: none;
	}
	#nv-content {
		overflow: hidden;
		position: relative;
		margin: 0 auto;
		width: 100%;
		max-width: 940px;
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	nav#nv ul{
		display: table;
	}
	nav#nv ul li{
		display: table-cell;
		width: 20%;
		border: solid #eee;
		border-width: 0 0 0 1px;
	}
	nav#nv ul li:last-child {
		border: solid #eee;
		border-width: 0 1px 0 1px;
	}
}
/*-----コンテンツエリア-----*/
main#mn{
	min-height: calc(40vh);
	background: #fff;
	margin-bottom: 40px;
}
/*-----コンテンツ-----*/

.box{
	max-width: 940px;
	margin: 0 auto;
	padding: 0 10px;
}
.box:after{
	content:"";
	display: block;
	clear:both;
}
.full{
	margin-left: -10px;
	margin-right: -10px;
}
@media screen and (min-width:720px){
	.full{
		margin-left: 0;
		margin-right: 0;
	}
}



.faq {
	margin:0 0 10px 0;
}
.faq-acc label {
	display:block;
	vertical-align: middle;
	cursor:pointer;
	background:#333;
	height: 50px;
	border-radius:4px;
	padding: 0;
}
.faq-acc p {
	margin:0;
	width:95%;
	height: 100%;
	display:-webkit-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:flex;
	font-size: 1em;
}
.faq-acc p.q {
	align-items: center;
	color:#fff;
}
.faq-acc p.q:before {
	content: "Ｑ．";
	color:#fff;
}
.faq-acc p.a {
	display:none;
	padding:8px 0;
}
.faq-acc p.a:before {
	content: "Ａ．";
	color:#f00;
}
.faq input[type="checkbox"] {
	display:none;
}
.faq input[type="checkbox"]:checked + .faq-acc p.a {
	display:-webkit-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:flex;
	width:90%;
}
.faq input[type="checkbox"]:checked + .faq-acc label {
	background-color:#ff1d25;
}
.faq-cat h3 {
	color:#ffa79c;
	font-weight:bold;
	margin-top:30px;
}

.q{
	color: #66aa66;
	font-size: 1em;
	font-weight: normal;
	overflow: hidden;
	position: relative;
}
.q .more{
	display: inline-block;
	padding: 5px;
	margin: 0 20px 0 auto;
	background: #fff;
	color: #fff;
	text-decoration: none;
	font-size: 1em;
	line-height: 1;
	border-radius: 1em;
}
.q .more:hover{
	opacity: 0.7;
}
.q .more:after{
	font-family: serif;
	content: "▼";
	color: #333;
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: middle;
}
.faq input[type="checkbox"]:checked + .faq-acc .q .more:after {
	content: "▲";
	color: #f00;
}

h2.heading{
	margin: 40px 0 20px 10px;
	font-size: 25px;
	height: 35px;
	padding: 5px 10px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	text-align: center;
	color: #333;
	border-bottom:2px solid #f00;
}
h3{
	margin: 40px 0 20px 10px;
	font-size: 25px;
	height: 35px;
	padding: 5px 10px;
	background: linear-gradient(270deg, #fefffe, #f6fff6);
	border-radius: 15px 0 0 15px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	color: #363;
}

dl.tlist{
	margin-bottom: 20px;
}
dl.tlist dt{
	font-weight: bold;
}
dl.tlist dd{
	margin: 10px 10px 30px 2em;
}

dl.tlist ul {
	padding-left: 3em;
}
dl.tlist ul li{
	list-style-type: circle;
}

.comp{
	display: table;
	width: 100%;
}
.comp .l{
	display: table-cell;
	width: 25%;
	height: 100%;
	padding: 20px 0;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
	border-top: dashed 1px #666666;
	background: #eeeeee;
}
.comp .r{
	display: table-cell;
	width: 70%;
	height: 100%;
	padding: 20px 0 20px 5%;
	vertical-align: middle;
	border-top: dashed 1px #666666;
}
.comp .last{
	border-bottom: dashed 1px #666666;
}

div.inquiry {
	width: 100%;
	border: #333 1px solid;
	text-align: center;
}
div.inquiry h4 {
	width: 100%;
	padding: 20px 0;
	text-align: center;
	color: #eee;
	background: #f00;
}

/*-----トップページ・見出し-----*/
#first{
	margin-bottom: 40px;
	padding: 0 10px 20px;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
#first h2{
	width: 100%;
	background: url(../img/wallpaper.png) repeat;
	margin-bottom: 40px;
	text-align: center;
}
#first img{
	width: 94%;
	height: 94%;
	padding: 3% 0 2%;
}
#first h3{
	margin: 20px 0 40px 0;
	padding: 0;
	font-size: 250%;
	font-weight: normal;
	text-align: center;
	color: #363;
	background: #fff;
}
#first p{
	font-size: 160%;
	text-align: center;
}

/*-----新着情報-----*/
#info{
	margin-bottom: 20px;
}

.info-list dt{
	clear: left;
	float: left;
	width: 7em;
	padding: 10px 0;
	border-top: #d8c7a0 1px dotted;
}
.info-list dd{
	padding: 10px 0;
	border-top: #d8c7a0 1px dotted;
	overflow: hidden;
}
.info-list :first-of-type{
	border-top: none;
}

/*-----活動内容-----*/
.acti-text{
	padding: 15px 0;
	text-align: center;
}
@media screen and (min-width: 720px){
	#activity{
		clear: both;
		margin-bottom:40px;
	}
	.acti-list{
		overflow: hidden;
	}
	.acti-list li{
		float: left;
		width: 47.8722%;
		margin-right: 4.2553%;
	}
	.acti-list li:nth-child(even){
		margin-right: 0;
	}
}
/*-----アクセス・地図-----*/
#acs{
	margin-bottom: 40px;
	padding: 20px 10px;
}
.adrs{
	margin-bottom: 20px;
}

.acs-map .map{
	margin-bottom: 20px;
}
.acs-map address{
	font-style: normal;
	font-size: 12px;
}
.acs-map address p+p{
	margin-top: 10px;
}

@media screen and (min-width: 720px){
	#acs{
		padding: 20px 0;
		overflow: hidden;
	}
	.adrs{
		width: 30%;
		float: left;
		line-height: 2;
		margin-top: 20px;
	}
	.acs-map{
		width: 67.7777%;
		float: right;
		margin-top: 20px;
	}
	.acs-map .map{
		margin-bottom: 10px;
	}
	.acs-map address{
		text-align: left;
	}
	.acs-map address p+p{
		margin-top: 0;
	}
}
/*-----１カラム-----*/
#o-clm{
	margin-bottom: 40px;
}
#o-clm p{
	margin:15px 10px 30px 20px;
}

/*-----２カラム-----*/
#t-clm{
	margin-bottom: 40px;
	padding: 20px 10px;
}
h3.tit{
	margin-top: 600px;
}
.together{
	margin-bottom: 40px;
}
.together:after{
	content: "";
	display: block;
	clear:both;
}
.desc{
	margin-bottom: 20px;
}
.clm-r p{
	border: #ddeeaa 1px solid;
	position: relative;
	padding-bottom: 75%;
}
.clm-r p img{
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 720px){
	#t-clm{
		padding: 20px 0;
		overflow: hidden;
	}
	.desc{
		width: 30%;
		float: left;
		margin-top: 20px;
	}
	.clm-r{
		width: 67.7777%;
		float: right;
		margin-top: 20px;
	}
	.clm-r p{
		margin-bottom: 10px;
	}
}

/*-----フッターエリア-----*/
footer#ft{
	width: 100%;
	padding-top: 20px;
	background: #ff0000;
}

.footer-photo{
	width: 83.3333%;
	margin: 0 auto 20px;
}
.footer-photo img{
	background: #fff;
	border: #eee 5px solid;
	border-radius: 10px;
}

.footer-info-title{
	width: 33.3333%;
	min-width: 100px;
	margin-bottom: 15px;
}

.footer-info-list{
	width: 100%;
	padding-bottom: 20px;
}
.footer-info-list ul{
	padding: 0;
	overflow: hidden;
	height: 100px;
}
.footer-info-list li{
	float: left;
	width: 90%;
	color: #f1f8ff;
	font-size: 13px;
	height: 2em;
	line-height: 2em;
	border-left: solid 6px #f1f8ff;
	border-bottom: dashed 1px #ccc;
	margin-bottom: 3px;
	text-indent: 0.5em;
	list-style-type: none!important;
}
.footer-info-list li a{
	display: block;
	height: 2em;
	line-height: 2em;
	color: #f1f8ff;
	text-decoration: none;
	transition: 0.5s;
}
.footer-info-list li a:hover{
	color: #fff;
	background: #ff5555;
	text-decoration: underline;
}

.pagetop{
	width: 15%;
	min-width: 45px;
	position: fixed;
	right: 10px;
	bottom: 10px;
}

@media screen and (min-width: 720px){
	.footer-photo{
		float: left;
		width: 31.9148%;
		margin-bottom: 20px;
	}
	.footer-info{
		float: right;
		width: 65.9574%;
	}
	.footer-info-list li{
		width: 200px;
	}
}

/*-----汎用クラス-----*/

.mgt_20{
	margin-top: 20px;
}
.mgt_40{
	margin-top: 40px;
}
.mgt_-40{
	margin-top: -40px;
}
.mgb_20{
	margin-bottom: 20px;
}
.mgb_40{
	margin-bottom: 40px;
}
.mgl_20{
	margin-left: 20px;
}
.tx_c{
	text-align: center;
}
.fw_b{
	font-weight: bold;
}
.fc_r{
	color: #f00;
}


