@charset "utf-8";
/* CSS Document */

/* --------------------------------------------------
clearfix
-------------------------------------------------- */
.main:after,
.p-mark:after{
	content: ".";
	display: block;
	height: 0; 
	font-size:0;
	clear: both;
	visibility:hidden;
}

.main,
.p-mark {display: inline-block;} 

/* Hides from IE Mac \*/
* html .main,
* html .p-mark {height: 1%;}
.main,
.p-mark {display:block;}
/* End Hack */



.clearfix:after{
	content: ".";
	display: block;
	height: 0; 
	font-size:0;
	clear: both;
	visibility:hidden;
}

.clearfix {display: inline-block;} 

/* Hides from IE Mac \*/
* html .clearfix {height: 1%;}
.clearfix {display:block;}
/* End Hack */



/* --------------------------------------------------
reset
-------------------------------------------------- */
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;
    font: inherit;
    font-size: 100%;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
dl,dt,dd,
ul{
    list-style: none;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
img,a {
    vertical-align:top;
}
a img {
  border: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #ccc;
    margin:1em 0;
    padding:0;
}
input, select {
    margin: 0;
    padding: 0;
    vertical-align:middle;
}



/* = Mycustom
-------------------------------------------------- */
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html{
	font-size: 62.5%;/* -- 標準10px -- */
	height:100%;
}
html {
/*-webkit-text-size-adjust: none;文字のサイズ自動調整をオフ*/
  -webkit-font-smoothing: aliased;
}

body {
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
	word-wrap: break-word;
	letter-spacing: .05em;
	color: #333;
	font-size: 1.4rem;
	line-height:1.4;
	-webkit-text-size-adjust: 100%;
	height:100%;
}

input[type="text"],input[type="submit"],input[type="password"], button, textarea, select {
	-webkit-appearance: none;
	border-radius: 0;
}

.table {
	display: table;
}

.table > * {
	display: table-cell;
	vertical-align: middle;
}

a:link {
	color: #333;
	text-decoration: none;
}
a:visited {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #333;
}
a:active {
	color: #333;
}
a:focus {
	outline-color: #fff;
	overflow: hidden;
}
a img:hover{
}
a, a:hover {
}

h1 { font-size: 2rem; } /* =20px */
h2 { font-size: 1.8rem; } /* =18px */
h3 { font-size: 1.7rem; } /* =17px */
h4 { font-size: 1.6rem; } /* =16px */
p,
ul li,
dl dt,
dl dd { font-size: 1.5rem; } /* =15px */

img {
	max-width: 100%;
	vertical-align: bottom;
}

img a {
	border: none;
}

ol, ul {
	list-style: none;
}

strong {
	font-weight: bold;
}



/* = Selected Text
----------------------------------------------- */
::selection {
	background: #afe0e5;
	/* Safari */
	color: #000;
	text-shadow: none;
}

::-moz-selection {
	background: #afe0e5;
	/* Firefox */
	color: #000;
	text-shadow: none;
}

/*Webkit*/
::-webkit-input-placeholder {
}

/*Firefox 19以降*/
::-moz-placeholder {
}

/*Firefox 18以前*/
:-moz-placeholder {
}

/*Windows IE*/
:-ms-input-placeholder {
}

placeholder {
}



/* = icon
-------------------------------------------------- */
/* Category */
.icon_Category {
	padding: 1px 3px 0px;
	font-size: 15px;
	display: inline-block;
}

@media all and (-ms-high-contrast:none){
.icon_Category {
	padding: 4px 3px 0px;
}
}

.icon_Category.fukuoka {
	border: #A3D5C0 solid 1px;
	color: #AFD6B4;
	font-weight: bold;
}
a:hover .icon_Category.fukuoka {
	background: #A3D5C0;
	color: #fff;
}
.icon_Category.nobeoka {
	border: #F8C16F solid 1px;
	color: #F8C16F;
	font-weight: bold;
}
a:hover .icon_Category.nobeoka {
	background: #F8C16F;
	color: #fff;
}
.icon_Category.ube {
	border: #90D2E8 solid 1px;
	color: #90D2E8;
	font-weight: bold;
}
a:hover .icon_Category.ube {
	background: #90D2E8;
	color: #fff;
}
.icon_Category.tenjin {
	border: #F2A6AB solid 1px;
	color: #F2A6AB;
	font-weight: bold;
}
a:hover .icon_Category.tenjin {
	background: #F2A6AB;
	color: #fff;
}
.icon_Category.public {
	border: #C1DA80 solid 1px;
	color: #C1DA80;
	font-weight: bold;
}
a:hover .icon_Category.public {
	background: #C1DA80;
	color: #fff;
}
.icon_Category.seminar {
	border: #C5B6D8 solid 1px;
	color: #C5B6D8;
	font-weight: bold;
}
a:hover .icon_Category.seminar {
	background: #C5B6D8;
	color: #fff;
}
.icon_Category.info {
	border: #CCC solid 1px;
	color: #CCC;
	font-weight: bold;
}
a:hover .icon_Category.info {
	background: #CCC;
	color: #fff;
}

.new {
	display: inline-block;
	padding: 2px 3px;
	font-family: 'Oswald', sans-serif;
	background: #A3D5C0;
	font-size: 13px;
	margin-left: 0.6rem;
}
a:hover .new {
	padding: 2px 3px;
	font-family: 'Oswald', sans-serif;
	background: #A3D5C0;
	font-size: 14px;
}


/* ファイル共通 */
.blank a {
	display: block;
	padding-left: 20px;
	position:relative;
	text-decoration: underline;
	font-size: 1.6rem;
}
.blank a:before{
  font-family: FontAwesome;
	margin-right:5px;
	display:inline-block;
	position:absolute;
	top:0;
	left:0;
}

/* pdf */
.icon-pdf a:before{
  content: "\f1c1";
}
/* excel */
.icon-excel a:before{
  content: "\f1c3";
}
/* word */
.icon-word a:before{
  content: "\f1c2";
}
/* text */
.icon-text a:before{
  content: "\f0f6";
}
/* link */
.icon-link a:before{
  content: "\f08e";
}



/* = bodyWrap
-------------------------------------------------- */
body {
	border-top: 3px #999 solid;
	position: relative;
}



/* = header
-------------------------------------------------- */
header {
	position: relative;
	height: 176px;
}

.header-inner {
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
}

/* btnMenu */
.btnMenu{
	display: none;
}

/* logo */
header .logo {
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
}
header .logo a{
	position: absolute;
	top: 15px;
	left:1%;
	display: block;
	width: 250px;
	height: 60px;
}

/* lang */
.fontSize {
	position: absolute;
	top:0px;
	left: 31.5%;
}
.fontSize dl dt,
.fontSize dl dd {
	display: table-cell;
	vertical-align: middle;
}

.fontSize dl dt {
	font-size: 1.3rem;
	padding-right: 4px;
}

.fontSize dl dd:first-of-type {
	border-left: solid 1px #ccc;
}

.fontSize dl dd {
	font-size: 1.5rem;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}

.fontSize dl dd a {
	padding: 6px 4px;
	display: block;
}

@media all and (-ms-high-contrast:none){
.fontSize dl dd a {
	padding: 8px 4px 3px;
}
}

.fontSize dl dd .active,
.fontSize dl dd a:hover {
	background: #E1E1E1;
}

/* sp-wrap */
.sp-wrap{
	display: block;
}

/* h-search */
.h-search{
	position: absolute;
	top:14px;
	right:1%;
}

/* other */
.other {
	position: absolute;
	top: 0;
	left: 42.5%;
}

.other ul li {
	float: left;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}
.other ul li:first-of-type {
	border-left: solid 1px #ccc;
}

.other ul li a {
	padding: 6px 12px 6px 22px;
	display: block;
	position: relative;
}

@media all and (-ms-high-contrast:none){
.other ul li a {
	padding: 8px 12px 3px 22px;
}
}

.other ul li a:hover {
	color: #fff;
}

.other ul .tenjin a {
	background: #F9D0D3;
}

.other ul .tenjin a:hover {
	background: #F2A6AB;
}

.other ul .nobeoka a {
	background: #FBF2CC;
}

.other ul .nobeoka a:hover {
	background: #F8C16F;
}

.other ul .ube a {
	background: #CCEBF4;
}

.other ul .ube a:hover{
	background: #90D2E8;
}

.other ul li a:before{
	content: "\f101";
	font-family: FontAwesome;
	font-size: 1.2rem;
	color:#333;
	margin-right: 0.3rem;
	position: absolute;
	left: 10px;
	top: 50%;
	margin-top: -9px;
}

.other ul li a:hover:before{
	color:#fff;
}

/* h-access */
.h-access {
	position: absolute;
	top: 0;
	right: 17.8%;
	border-right: solid 1px #ccc;
	border-left: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}

.h-access a {
	display: block;
	padding: 5px 12px;
	background: #fff;
}

@media all and (-ms-high-contrast:none){
.h-access a {
	padding: 7px 12px 3px;
}
}

.h-access a:hover {
	background: #E1EFE2;
}

.h-access a span:last-child{
	padding-left: 6px;
}

/* nav-menu */
.nav-menu{
	position: absolute;
	top:52px;
	/*left: 31.5%;*/
	right: 1%;
	width:70%;
	display:flex;
}


/* h-nav */
.h-nav {
	/*position: absolute;
	top:52px;
	left: 31.5%;*/
	width: 54%;
}

.h-nav ul li {
	display: inline-block;
	font-size: 1.8rem;
	padding: .5em 1em;
	border-right: 1px solid #ccc;
}

.h-nav ul li:last-child{
	border-right: none;
	padding-right: 0;
}

.h-nav ul li:nth-child(6),
.h-nav ul li:nth-child(7) {
	display: none;
}

/*.h-nav ul li:after {
	content:"｜";
	padding: 0 4px;
}*/

.h-nav ul li:nth-child(5):after {
	content: normal;
}

.h-nav ul li a:hover {
	text-decoration: underline;
}

/* reservation */
.reservation {
	/*position: absolute;
	top:58px;
	right:1%;
	text-align: center;*/
	width: 46%;
	display: flex;
	justify-content: space-between;
}
.reservation p {
	width: 49%;
}
.reservation p a{
	display: block;
	background: #ffCCCC;
	width: 100%;
	text-align: center;
	padding: .8em 0;
	font-size: 1.8rem;
	box-shadow: 2px 2px 0px 0px #e66b73 ;
	-webkit-box-shadow: 2px 2px 0px 0px #e66b73 ;
	-moz-box-shadow: 2px 2px 0px 0px #e66b73 ;
	-o-box-shadow: 2px 2px 0px 0px #e66b73 ;
	-ms-box-shadow: 2px 2px 0px 0px #e66b73 ;
	position: relative;
}
.reservation p a:hover{
	background: #EC8790;
	color: #FFF;
}
.reservation p a:before{
	content: "";
	z-index: 100;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 25px 0 0;
	border-color: #EC8790 transparent transparent transparent;
	position: absolute;
	top:0;
	left:0;
}
.reservation p a:hover:before{
	border-color: #e66b73 transparent transparent transparent;
}
.reservation p a:hover:after {
	color: #fff;
}
.reservation p a:after {
    content: "\f101";
    font-family: FontAwesome;
    font-size: 1.7rem;
    color: #333;
    margin-left: 1rem;
}

.reservation .web a{
	background: #D2F6E8;
	text-align: center;
	padding: .5em 0;
	box-shadow: 2px 2px 0px 0px #63AE92 ;
	-webkit-box-shadow: 2px 2px 0px 0px #63AE92 ;
	-moz-box-shadow: 2px 2px 0px 0px #63AE92 ;
	-o-box-shadow: 2px 2px 0px 0px #63AE92 ;
	-ms-box-shadow: 2px 2px 0px 0px #63AE92 ;
	position: relative;
}
.reservation .web a img{
	margin-right: .5em;
}
.reservation .web a:before{
	border-color: #63AE92 transparent transparent transparent;
}
.reservation .web a:hover{
	background: #7FC5AA;
	color: #FFF;
}
.reservation .web a:hover:before{
	border-color: #63AE92 transparent transparent transparent;
}
.reservation dl {
	display: table;
	line-height:1;
}

.reservation dl dt {
	display: table-cell;
	vertical-align: middle;
	font-size: 1.2rem;
}

.reservation dl dt a {
	display: block;
	vertical-align: middle;
	border: solid #ccc 1px;
	padding: 7px 24px 6px 24px;
	line-height: 1.1;
	position: relative;
}

.reservation dl dt a:hover {
	background: #E0F1EA;
	color: #E0F1EA;
}

.reservation dl dt a .arrow {
	position: absolute;
	top: 50%;
	left: 0;
	width: 14px;
	height: 14px;
	margin-left: -28px;
	margin-top: -6px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
	opacity: 0;
	box-sizing: border-box;
}
.reservation dl dt a span:nth-of-type(1) {
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}
.reservation dl dt a .arrow:nth-of-type(2) {
	left: 8px;
	-webkit-animation-delay: .15s;
	animation-delay: .15s;
}
.reservation dl dt a span:nth-of-type(3) {
	left: 16px;
	-webkit-animation-delay: .3s;
	animation-delay: .3s;
}
@-webkit-keyframes sdb {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@media all and (-ms-high-contrast:none){
.reservation dl dt a {
	padding: 11px 24px 5px 24px;
}
}

.reservation .txt {
	display: block;
	font-size: 1.8rem;
	padding: 4px 2px 0 16px;
	position: relative;
}

.reservation .txt:before {
	content: "\f017";
	font-family: FontAwesome;
	font-size: 1.6rem;
	color:#CCC;
	margin-right: 0.3rem;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -7px;
}

@media all and (-ms-high-contrast:none){
.reservation .txt:before {
	margin-top: -10px;
}
}

.reservation a:hover .txt:before {
	color: #E0F1EA;
}

.reservation dl dt a .caption {
	position: absolute;
	top: 20px;
	left: 0;
	display: block;
	width: 100%;
	opacity:0;
	color: #000;
}

.reservation dl dt a:hover .caption {
	opacity:1;
}

.reservation dl dt .caption:before {
	content: normal;
}

.reservation dl dd {
	display: table-cell;
	vertical-align: bottom;
	padding-left: 1rem;
}

.reservation dl dd ul li {
	font-size: 3rem;
}

.reservation dl dd ul {
	text-align: left;
}

.reservation dl dd ul .reserv-fax {
	font-size: 2.6rem;
}

.reservation dl dd ul li span {
	font-size: 1.4rem;
	padding-right: 4px;
}

/* nav */
#gnav {
	width: 100%;
	position: absolute;
	bottom: 0;
	left:0;
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	z-index: 9999;
}

#gnav > ul {
	max-width: 1500px;
	padding: 0 0.8%;
	margin: 0 auto;
	position: relative;
	list-style: none;
	text-align: center;
}
#gnav:before {
	position: absolute;
	top: 5%;
	left: 0;
	width: 100%;
	color: #fff;
	text-align: center;
}
#gnav ul:after {
	display: block;
	clear: both;
	content: '';
}
#gnav > ul > li {
	width: 14.3%;
	position: relative;
	float: left;
	border-right: 1px solid #CCC;
}
#gnav > ul > li:nth-of-type(7) {
	width: 14.1%;
}
#gnav > ul > li:first-child {
	border-left: 1px solid #CCC;
}
#gnav > ul > li:last-child,
#gnav > ul > li:nth-last-child(2){
	display: none;
}
#gnav .active,
#gnav h4:hover,
#gnav > ul > li > a:hover {
	background:#A3D5C0;
}
#gnav ul li h4 {
	cursor: pointer;
	height: 46px;
	position: relative;
	line-height: 1;
}

#gnav > ul > li > a {
	display: block;
	height: 46px;
	position: relative;
}

#gnav ul li h4 span,
#gnav > ul > li a span {
	display: block;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
}

@media all and (-ms-high-contrast:none){
#gnav ul li h4 span,
#gnav > ul > li a span {
	top: 55%;
}
}

#gnav ul ul {
	position: absolute;
	top: 100%;
	width: 100%;
}

#gnav ul ul li {
	float: none;
	margin: 0;
	margin-right: -1px;
	border-right: 1px solid #CCC;
}

#gnav ul ul li:last-child a {
	border-bottom: 1px solid #CCC;
}

#gnav ul ul li a {
	display: block;
	text-align: center;
	background: #F2F9F2;
	border-top: 1px solid #CCC;
	border-left: 1px solid #CCC;
	margin-left: -1px;
	padding: 1.3rem 6px 1.2rem;
}

@media all and (-ms-high-contrast:none){
#gnav ul ul li a {
	padding: 1.5rem 6px 1rem;
}
}

#gnav ul ul li a:hover {
	text-decoration: underline;
}

#gnav ul ul {
	display: none;
}
#gnav ul li:hover > ul {
	display: block;
}



/* = bodyWrap
-------------------------------------------------- */
.wrapper,
#h1,
.breadCrumbs{
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}

.wrapper {
	display: table;
	table-layout: fixed;
	padding: 0 0.8%;
}



/* = breadCrumbs
----------------------------------------------- */
.breadCrumbs {
	padding: 0 0.8%;
}
.breadCrumbs li {
	font-size: 1.2rem;
	margin: 0.8rem auto;
}
.breadCrumbs li{
	display:inline-block;
	color:#525252;
	padding-left: 0.4rem;
}
.breadCrumbs li a{
	text-decoration: underline;
}
.breadCrumbs li a:after {
	content: url(../img/common/breadCrumbs_ar.png);
	width: 100%;
	padding-left: 1rem;
	vertical-align: middle;
}



/*-------------------------------------------------
contents
---------------------------------------------------*/
.h1-wrap {
	border-top: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}

#h1 span{
	font-size: 3rem;
	text-align: center;
	position: relative;
	height: 128px;
	width: 1500px;
	vertical-align: middle;
	display: table-cell;
}

@media all and (-ms-high-contrast:none){
#h1 span{
	height: 125px;
	padding-top: 3px;
}
}

#h1 span:before {
	content: " ";
	background: url(../img/common/h1_title-bg01.png) no-repeat;
	background-size: cover;
	-webkit-background-size: cover;
	width: 56px;
	height: 54px;
	position: absolute;
	bottom:10%;
	left:30%;
}

#h1 span:after {
	content: " ";
	background: url(../img/common/h1_title-bg02.png) no-repeat;
	background-size: cover;
	width: 30px;
	height: 45px;
	position: absolute;
	top:10%;
	right:30%;
}

.photo {
	height: 148px;
	text-align: center;
}

.photo img {
	max-height: 100%;
	max-width: 100%;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}



/*-------------------------------------------------
side
---------------------------------------------------*/
.side{
	display: table-cell;
	vertical-align: top;
	width:25%;
	margin-bottom:4rem;
}

.side h3{
	background: #A3D5C0;
	text-align: center;
	padding: 1.6rem;
	font-size: 1.8rem;
	border-left: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}

@media all and (-ms-high-contrast:none){
.side h3{
	padding: 2rem 1.6rem 1.2rem;
}
}

.sideMenu{
	font-size: 1.7rem;
	border-left: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}

.sideMenu h4{
	background:#fff;
	cursor:pointer;
	position:relative;
	border-bottom: 1px solid #CCCCCC;
	padding:18px 10px;
}

.sideMenu h4.open {
	border-bottom: 0;
}

.sideMenu h4:before{
	content: "\f102";
	font-family: FontAwesome;
	margin-left:1rem;
	margin-right:1rem;
}

.sideMenu h4.open:before{
	content: "\f103";
	font-family: FontAwesome;
	margin-left:1rem;
	margin-right:1rem;
}

.sideMenu li a{
	display:block;
	padding:18px 15px 18px 40px;
	color:#333;
	text-decoration:none;
	line-height:1.4;
	position:relative;
	border-bottom: 1px dotted #ccc;
	font-size: 1.6rem;
}

@media all and (-ms-high-contrast:none){
.sideMenu li a{
	padding:22px 15px 16px 40px;
}
}

.sideMenu li:last-child a{
	border-bottom: none;
}

.sideMenu li a:after{
	content: "\f101";
	font-family: FontAwesome;
	position:absolute;
	left:20px;
	top:50%;
	color:#333;
	margin-top:-1.2rem;
}

.sideMenu h4 + .sidelistData ul li a{
	padding-left: 5.6rem;
}

.sideMenu h4 + .sidelistData ul li a:after{
	content: "\f101";
	font-family: FontAwesome;
	left:40px;
}
.sideMenu li a:hover{
	background: #E1EFE2;
}

.sideMenu li a.visit{
	background: #E1EFE2;
}

.side .bnrArea{
	margin-bottom:10px;
}

.side .bnrArea a{
	display:block;
	margin-bottom:10px;
}



/*-------------------------------------------------
main
---------------------------------------------------*/
.main{
	position:relative;
	display: table-cell;
	vertical-align: top;
	width:75%;
	border-left: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
}



/* = title
-------------------------------------------------- */
.title-h1 {
	border-bottom: 1px solid #CCCCCC;
	border-top: 1px solid #CCCCCC;
	margin: -1px 0 2rem;
	padding: 1.5rem 1.4rem 1.4rem;
	position: relative;
	text-align: center;
}

@media all and (-ms-high-contrast:none){
.title-h1 {
	padding: 1.8rem 1.4rem 1.1rem;
}
}

.title-h1:after {
	content: " ";
	height: 0;
	position: absolute;
	width: 0;
	border-bottom: 2em solid transparent;
	border-right: 2em solid #e1efe2;
	right: 0;
	top: 0;
}

.title-h2 span{
	position: relative;
	border-left: 7px solid #A3D5C0;
	display: inline-block;
	display: block;
	background: #e1efe2;
	padding: 9px 1.2rem;
}

@media all and (-ms-high-contrast:none){
.title-h2 span{
	padding: 11px 1.2rem 6px;
}
}

.title-h2 span:before {
	content: " ";
	height: 0;
	position: absolute;
	width: 0;
}

.title-h2 span:before {
	border-bottom: 7px solid transparent;
	border-right: 7px solid #A3D5C0;
	left: -7px;
	bottom: 6px;
	z-index: 3;
}

.title-h2 span:after {
	position: absolute;
	bottom: 0;
	left: -7px;
	z-index: 2;
	content: '';
	width: 7px;
	height: 12px;
	background-color: #CCC;
}

.title-h3 span{
	position: relative;
	padding-right: 1.4rem;
	border-bottom: 3px solid #F2A6AB;
	display: inline-block;
	min-width: 50%;
}
.title-h3 span:after {
	position: absolute;
	bottom: -3px;
	left: 0;
	z-index: 2;
	content: '';
	width: 30%;
	height: 3px;
	background-color: #ccc;
}

.title-h4 span{
	position: relative;
	padding: 0 .5em .5em 2em;
	margin-left: -4px;
	display: block;
}
.title-h4 span:before,
.title-h4 span:after {
	position: absolute;
	content: '';
	border-radius: 100%
}
.title-h4 span:before {
	top: .2em;
	left: .2em;
	top: 0\9;
	left: .2em\9;
	z-index: 2;
	width: 18px;
	height: 18px;
	background: rgba(163, 213, 192, .8);
}

@media all and (-ms-high-contrast:none){
.title-h4 span:before {
	top: 0;
	left: .2em;
}
}

.title-h4 span:after {
	top: .7em;
	left: .7em;
	top: .5em\9;
	left: .7em\9;
	width: 13px;
	height: 13px;
	background: rgba(163, 213, 192, .5);
}

@media all and (-ms-high-contrast:none){
.title-h4 span:after {
	top: .5em;
	left: .7em;
}
}



/* = btn
-------------------------------------------------- */
.btn {
	border-top: 2px dotted #ccc;
}

.btn a {
	text-align: center;
	font-size: 2rem;
	padding: 1rem 0;
	display: block;
}

@media all and (-ms-high-contrast:none){
.btn a {
	padding: 1.3rem 0 0.7rem;
}
}

.btn a:hover {
	background: #A3D5C0;
	color: #fff;
	font-weight: bold;
}

.btn-back a:before{
	content: "\f100";
	font-family: FontAwesome;
	font-size: 1.7rem;
	color:#333;
	margin-right: 1rem;
}

.btn-next a:after{
	content: "\f101";
	font-family: FontAwesome;
	font-size: 1.7rem;
	color:#333;
	margin-left: 1rem;
}

.btn-back a:hover:before,
.btn-next a:hover:after {
	color: #fff;
}

.btn-2col li {
	width: 50%;
	float:left;
}

.btn-2col .btn-back {
	border-right: 1px solid #CCC;
}



/* = form
-------------------------------------------------- */
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	font-size: 1.5rem;
}
input[type="text"],
input[type="password"],
textarea,
select {
	border: 1px solid #CCC;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-ms-transition: all .3s;
	transition: all .3s;
	background: #fff;
}
input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	box-shadow: 0 0 7px #A3D5C0;
	border: 1px solid #A3D5C0;
}
input[type="text"],
input[type="password"],
select {
	width: 185px;
	padding-left: 0.8rem;
	-webkit-transition: width .3s;
	-moz-transition: width .3s;
	-ms-transition: width .3s;
	transition: width .3s;
	height: 32px;
	line-height: 32px;
	box-sizing: border-box;
	vertical-align: middle;
}
input[type="submit"] {
	width: 50px;
	border: 1px solid #CCC;
	-webkit-transition: width .3s;
	-moz-transition: width .3s;
	-ms-transition: width .3s;
	transition: width .3s;
	box-sizing: border-box;
	height: 32px;
	vertical-align: middle;
	font-family: FontAwesome;
	font-size: 16px;
	margin-left: -1px;
	cursor: pointer;
	color: #333;
	background: #fff;
}
select{
	position: relative;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	text-indent: .01px;
	text-overflow: "";
	background: url(../img/common/arrow_down.png) no-repeat;
	background-position: right 5px center;
	background-size: 12px 10px;
}
select::-ms-expand {
	display: none;
}
input,
textarea,
select {
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}
input[type="text"]:focus,
input[type="password"]:focus{
	width: 300px;
}
input[type="text"]:focus placeholder,
input[type="password"]:focus placeholder{
	color: transparent;
}
.inner input[type="checkbox"] {
	vertical-align: middle;
	margin:0 10px 0.4rem;
}
textarea {
	resize: vertical;
}
input[type="checkbox"],
input[type="radio"]{
	vertical-align:0.2em;
}



/* = paging
-------------------------------------------------- */
.counter {
	display: inline-block;
	text-align: right;
	padding: 12px 12px 12px 0;
}
.paging {
	font-size: 1.6rem;
	text-align: right;
	margin: -1px 0 0;
}
.paging span {
	border: solid 1px #CCC;
	margin-right: -1px;
	display: inline-block;
	vertical-align: middle;
}
.paging span a {
	text-decoration: none;
	padding: 12px 12px;
	display: inline-block;
}

.paging span a:hover {
	background: #A3D5C0;
}
.paging span.navpage a {
	padding: 9px 13px;
	background: #A3D5C0;
}
.paging span.current {
	padding: 12px 12px;
	background: #A3D5C0;
	display: inline-block;
}



/* = googlemap
-------------------------------------------------- */
.map_container {
	position: relative;
	padding-top: 50%;
}
.map {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}


/* = footer
-------------------------------------------------- */
footer {
	position: relative;
	background: #E1EFE2;
	margin-top: -1px;
}

footer #pagetop {
	text-align: center;
	font-size: 1.4rem;
	padding-top: 0.8rem;
}

footer #pagetop a:before {
	display: block;
	content: "\f102";
	font-family: FontAwesome;
	font-size: 1.7rem;
	color:#333;
}

footer .inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 2% 8px;
	position: relative;
	z-index:4;
}

footer .inner:after {
	content:url(../img/common/bird_foot.png);
	position: absolute;
	z-index:3;
	top: 200px;
	right: 0;
}

footer .logo {
	left: 0;
	width: 18%;
	margin-bottom: 0.5rem;
}

footer .unit5Col {
	width: 20%;
	float: left;
	border-right: 1px solid #A3D5C0;
	margin-right: 1%;
	padding-right: 1%;
	padding-bottom: 1%;
}
footer .unit5Col.last {
	width: 15%;
	float: left;
	border-right: 1px solid #A3D5C0;
	margin-right: 1%;
	padding-right: 1%;
	padding-bottom: 1%;
}


footer .unit5Col > ul > li {
	margin-top: 1rem;
}

footer .unit5Col p,
footer .unit5Col ul li,
footer .unit5Col dl dt,
footer .unit5Col dl dd{
	font-size: 1.4rem;
}

footer .unit5Col dl {
	margin-top: 1rem;
}

footer .unit5Col dl dt {
	font-weight: bold;
}

footer .title-h3 {
	margin-bottom: 0.4rem;
}

footer .unit5Col:nth-of-type(5) {
	border-right: none;
}

footer .title-h3 span{
	border-color: #A3D5C0;
}

footer .unit5Col.sitemap > ul > li {
	font-size: 1.7rem;
}

footer .unit5Col.sitemap > ul > li > span{
	position: relative;
	padding: 0 .5em .5em 2em;
	display: block;
}
footer .unit5Col.sitemap > ul > li > span:before,
footer .unit5Col.sitemap > ul > li > span:after {
	position: absolute;
	content: '';
	border-radius: 100%
}
footer .unit5Col.sitemap > ul > li > span:before {
	top: .2em;
	left: .2em;
	z-index: 2;
	width: 18px;
	height: 18px;
	background: rgba(163, 213, 192, .8);
}
footer .unit5Col.sitemap > ul > li > span:after {
	top: .7em;
	left: .7em;
	width: 13px;
	height: 13px;
	background: rgba(163, 213, 192, .5);
}

footer .unit5Col.sitemap ul li ul li {
	margin-left: 3rem;
}

footer .unit5Col.sitemap ul li ul li:before{
	content: "\f101";
	font-family: FontAwesome;
	font-size: 1.2rem;
	color:#333;
	margin-right: 0.3rem;
}

footer .inner a:link {
	text-decoration: underline;
}

.p-mark {
	font-family: 'メイリオ', Meiryo, 'Lucida Grande', Verdana, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', sans-serif;
}

footer .unit5Col .p-mark li {
	margin-bottom: 0rem;
	border: 1px solid #CCC;
}

.p-mark li {
	background: #fff;
	margin-bottom:0;
	margin: 1%;
	padding: 4px;
}

.p-mark li span {
	display: table-cell;
	vertical-align: middle;
	font-size: 10px;
}

.p-mark .mark01 span:last-child {
	width: 84%;
}

.p-mark .mark02 {
	width: 68.2%;
	float:left;
}

.p-mark .mark02 span:first-child {
	width: 30%;
	padding-right: 0.8rem;
}

.p-mark .mark02 a {
	text-decoration: underline;
	display: block;
}

.p-mark .mark03 {
	text-align: center;
	width: 24.8%;
	float:right;
}

.p-mark .mark04 {
	padding: 0;
}

.p-mark .mark04 a {
	display: block;
	padding: 8px;
}

.copy {
	clear: both;
	text-align: center;
	font-size: 1.2rem;
	margin-top: 0.4rem;
}



/* ヘッド調整向けスタイル */
@media screen and (max-width: 1500px) {

/* h-access */
.h-access {
	position: absolute;
	top: 0;
	right: 20.8%;
	border-right: none;
	border-left: none;
	border-bottom: none;
}

.h-access a {
	display: block;
	padding: 5px 12px;
	background: #fff;
}

.h-access a:hover {
	background: none;
}

.h-access a span:first-child{
	display: none;
}

}



/* タブレット以下向けスタイル */
@media screen and (max-width: 1400px) {
/* = header
-------------------------------------------------- */
.reservation dl dd ul li{
	display: inline-block;
}

/* lang */
.fontSize {
	display: none;
}

/* other */
.other {
	position: relative;
	left: 0%;
}

.other li {
	width: 100%;
	border-right: none;
}

.other ul li a {
	position: relative;
	text-align: center;
	padding: 1.3rem 6px 1.3rem;
}

.other ul li a:before{
	content: "\f105";
	font-family: FontAwesome;
	padding-right:10px;
	position:absolute;
	left: inherit;
	right:0;
	font-size: 1.4rem;
	margin-right: 0;
}
.nav-menu{
	position: static;
	width: 100%;
}
/* h-nav */
.h-nav {
	position: relative;
	left:0;
	top:0;
	background: #fff;
	width: 100%;
}

.h-nav ul li {
	display: block;
	width: 100%;
	font-size: 1.4rem;
	height: auto;
	border-bottom:#CCC solid 1px;
	text-align: center;
	padding: 0;
	border-right: none;
}

.h-nav ul li:nth-child(6),
.h-nav ul li:nth-child(7) {
	display: block;
}

.h-nav ul li:after {
	content: normal;
}

.h-nav ul li a {
	display: block;
	padding: 1.3rem 6px 1.3rem;
}

.h-nav a:after{
	content: "\f105";
	font-family: FontAwesome;
	padding-right:10px;
	position:absolute;
	right:0;
}

.h-nav ul li a:hover {
	text-decoration: none;
}

.h-nav ul li .active,
.h-nav ul li a:hover {
	background:#A3D5C0;
}

#header{
	height: 80px;
}

header:before {
	content: normal;
}

/* logo */
header .logo a{
	top: 16px;
	width: 150px;
}

/* btnMenu */
.btnMenu{
	display:block;
	position:absolute;
	top:50%;
	right:5px;
	margin-top: -25px;
}
.btnMenu a{
	line-height:1;
	padding:5px 0;
	display:block;
	border-radius:2px;
	margin:5px;
	width:50px;
	background:#333;
	color:#333;
	text-decoration:none;
	font-size:1rem;
	color:#fff;
	text-align:center;
}
.btnMenu a:before{
	content: "\f0c9";
	font-size:2rem;
	display:block;
	font-family: FontAwesome;
}
.btnMenu a.open:before{
	content: "\f00d";
	font-size:2rem;
	display:block;
	font-family: FontAwesome;
}

/* sp-wrap */
.sp-wrap{
	display:none;
	position:absolute;
	top:80px;
	left:0;
	box-sizing:border-box;
	width:100%;
	padding:0 0 50px 0;
	background:#333;
	z-index:999;
}

/* nav */
#gnav{
	width: auto;
	position: relative;
	bottom:auto;
	left:auto;
	background:#fff;
}
#gnav ul{
	text-align: center;
	border-left:none;
	padding: 0;
	max-width: none;
}
#gnav ul li{
	width: 100%;
	float: none;
	border-right:none;
	height: auto;
	border-bottom:#CCC solid 1px;
}
#gnav > ul > li:nth-of-type(7) {
	width: 100%;
}
#gnav ul li:last-of-type{
	border-bottom:none;
}
#gnav > ul > li:last-child {
	display: block;
}
#gnav a{
	display:block;
	padding: 10px 10px 10px 40px;
}
#gnav a:after{
	content: "\f105";
	font-family: FontAwesome;
	padding-right:10px;
	position:absolute;
	right:0;
	}
#gnav .sp-toggle h4.open {
	border-bottom: 1px solid #ccc;
}
#gnav .sp-toggle h4:before{
	content: "\f103";
	font-family: FontAwesome;
	position: absolute;
	right:0;
	top:50%;
	margin-top: -7px;
	margin-left:1rem;
	margin-right:1rem;
	color: #333;
	font-size: 14px;
}
#gnav .sp-toggle h4.open:before{
	content: "\f102";
}

#gnav ul ul {
	display: none;
	position: relative;
}

#gnav ul ul li {
	margin-right: 0;
	border-right: none;
}

#gnav ul ul li a {
	border-top: none;
	border-left: none;
	margin-left: 0;
}

#gnav ul ul li:last-child a {
	border-bottom: none;
}

#gnav ul li:hover > ul {
	display: none;
}

#gnav ul ul li a:hover {
	text-decoration: none;
}

/* h-search */
.h-search{
	width:94%;
	margin: 0 auto;
	position: relative;
	top: 20px;
	right:auto;
	clear: both;
}
.h-search form{
	width: auto;
}
.h-search input{
	width: 80%;
	font-size:1.6rem;
}
.h-search a{
	float:right;
}
input[type="text"],
input[type="password"]{
	width: 80%;
	padding-left: 0.8rem;
	-webkit-transition: width .3s;
	-moz-transition: width .3s;
	-ms-transition: width .3s;
	transition: width .3s;
	height: 32px;
	line-height: 32px;
	box-sizing: border-box;
	vertical-align: middle;
}
input[type="submit"] {
	width: 20%;
	border: 1px solid #CCC;
	-webkit-transition: width .3s;
	-moz-transition: width .3s;
	-ms-transition: width .3s;
	transition: width .3s;
	box-sizing: border-box;
	height: 32px;
	vertical-align: middle;
	font-family: FontAwesome;
	font-size: 16px;
	margin-left: -1px;
	cursor: pointer;
	color: #333;
	background: #fff;
}

input[type="text"]:focus,
input[type="password"]:focus{
	width: 80%;
}
/* h-access,reservation */
.h-access,
.reservation {
	display: none;
}



/*-------------------------------------------------
contents
---------------------------------------------------*/
#h1 span:before {
	bottom:10%;
	left:20%;
}

#h1 span:after {
	top:10%;
	right:20%;
}



}



/* タブレット以下向けスタイル */
@media screen and (max-width: 768px) {
	
h1 { font-size: 1.8rem; } /* =18px */
h2 { font-size: 1.6rem; } /* =16px */
h3 { font-size: 1.5rem; } /* =15px */
h4 { font-size: 1.4rem; } /* =14px */
p,
ul li,
dl dt,
dl dd { font-size: 1.3rem; } /* =15px */



/* = btn
-------------------------------------------------- */
.btn a {
	font-size: 1.6rem;
}



/* = icon
-------------------------------------------------- */
.icon_Category {
	font-size: 12px;
}



/* = bodyWrap
-------------------------------------------------- */
.wrapper {
	display: block;
	padding: 0;
}



/* = breadCrumbs
----------------------------------------------- */
.breadCrumbs{
	display: none;
}



/* = header
-------------------------------------------------- */
/* logo */
header .logo a{
	top: 16px;
	left:10px;
	/* width: 280px; */
	height: auto;
}



/*-------------------------------------------------
contents
---------------------------------------------------*/
#h1 span{
	font-size: 1.9rem;
	text-align: center;
	position: relative;
	height: 128px;
	width: 1500px;
	vertical-align: middle;
	display: table-cell;
}

#h1 span:before {
	bottom:10%;
	left:5%;
}

#h1 span:after {
	top:10%;
	right:5%;
}



/*-------------------------------------------------
side
---------------------------------------------------*/
.side{
	display: block;
	width: auto;
	margin:10px 10px 30px 10px;
	border-top: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
}

.sideMenu li a {
	font-size: 1.5rem;
}

.sideMenu h4{
	font-size: 1.5rem;
	padding:10px;
	border-bottom: 0;
}

.sideMenu h4.open {
	border-bottom: 1px solid #CCCCCC;
}

.sideMenu h4:after{
	position:absolute;
	right:15px;
	margin-left:0;
	margin-right:0;
}
.sideMenu h4.open:after{
	position:absolute;
	right:15px;
	margin-left:0;
	margin-right:0;
}
.sideMenu h4:before{
	content: "\f103";
	font-family: FontAwesome;
}

.sideMenu h4.open:before{
	content: "\f102";
	font-family: FontAwesome;
}
.sideMenu .sidelistData {
	display: none;
}

.sideMenu li a{
	padding:10px 25px 10px 40px;
}
.side .bnrArea{
	display:none;
}



/*-------------------------------------------------
main
---------------------------------------------------*/
.main{
	display: block;
	width: auto;
	margin:10px 10px 0;
	border-top: 1px solid #CCC;
}



/* = paging
-------------------------------------------------- */
.counter {
	display: block;
}

.paging {
	font-size: 1.3rem;
}

.paging p {
	padding: 24px 12px 8px 12px;
}



/* = footer
-------------------------------------------------- */
footer .inner:after {
	top: 50px;
}

footer .logo {
	width: 25%;
}

footer .unit5Col {
	width: 49%;
}

footer .unit5Col:nth-of-type(2) {
	border-right: none;
}

footer .unit5Col.sitemap {
	width: 32.33%;
}

.p-mark {
}

.p-mark li {
}

.copy {
	font-size: 1rem;
}


}



/* スマートフォン向けスタイル */
@media screen and (max-width: 600px) {
/* = paging
-------------------------------------------------- */
.paging p {
	padding: 12px 8px 8px 12px;
}



/* = header
-------------------------------------------------- */
/* logo */
header .logo a{
	top: 20px;
	left:10px;
	/* width: 225px; */
	height: 42px;
}



/* = footer
-------------------------------------------------- */
footer #pagetop {
	line-height: 1;
	font-size: 1.1rem;
	margin-bottom: 1.4rem;
}

footer .logo {
	width: 70%;
	margin: 0 auto;
}

footer .unit5Col {
	width: 100%;
	float: none;
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}

footer .unit5Col.sitemap,
footer .unit5Col.sitemap-sp ul li.title-h4 {
	display: none;
}

footer .sitemap-sp li:last-child {
	position: absolute;
	bottom: 36px;
}

footer .title-h3 span{
	border: none;
	background: #A3D5C0;
	padding: 8px 12px;
	margin-bottom: 0.6rem;
	display: block;
}

footer .title-h3 span:after {
	content: normal;
}

.p-mark li {
	padding: 8px;
}

footer .unit5Col p,
footer .unit5Col ul {
	padding: 0 4px;
}

.p-mark .mark02 {
	width: 67%;
}

.p-mark .mark03 {
	width: 26%;
}

.p-mark .mark04 a {
	padding: 8px 40px;
}

.copy {
	font-size: 0.8rem;
	margin-top: 80px;
}

}

.bnr-movie{
	position: absolute;
	bottom:2em;
	right: 0;
	background: #E1EFE2;
	width: 60%;
	padding: 1em;
}

.bnr-movie img{
	width: 100%;
	height: auto;
}

.bnr-movie img:hover{
	opacity:0.8;
}

/* タブレット以下向けスタイル */
@media screen and (max-width: 768px) {
.bnr-movie{
	position: static;
	width: 100%;
	padding: 6px;
	box-sizing: border-box;
}

}

/* スマートフォン向けスタイル */
@media screen and (max-width: 600px) {
.bnr-movie{
	margin: 0 auto;
	padding: 8px;
}
}