@charset "utf-8";
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap'); */

/* ===== RESET ===== */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

*:before,
*:after {
	box-sizing: border-box;
}

/*body {
	background-position-y: 76px;
}*/

header,
div#wrap,
footer, footer nav,
div#topImage {
	width: auto;
}

#mainImage {
	width: auto;
	height: auto;
	padding: 0 10px;
/*	padding: 0; */
}

#mainImage #slider {
	margin: 0;
/* 	padding: 10px 0; */
	background: #e7fc95;
}

/* --------------------------------------------------
  COMMON STYLES
  -------------------------------------------------- */
body:before {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	display: block;
	visibility: hidden;
	width: 100%;
	height: 100vh;
	background-color: #000;
	content: "";
	opacity: 0;
	-webkit-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.tab, .sp {
	display: none;
}

.sp, .sp2 {
	display: none !important;
}

.pc, .pc.tab {
	display: block;
}

.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

.img-full {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}

.mt0 {
	margin-top: 0 !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml1em {
	margin-left: 1em !important;
}

.pt0 {
	padding-top: 0 !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.text-center {
	text-align: center;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.clearfix {
	overflow: hidden;
}

.block {
	display: block;
}

.in-block {
	display: inline-block;
}

.inline {
	display: inline;
}

.block-center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.clr:after {
	content: "";
	display: block;
	clear: both;
}

.nowrap {
	white-space: nowrap;
}

/*.hide {
	display: none;
} */

.indent {
	text-indent: -1em;
	padding-left: 1em;
}

.indnt-05 {
	text-indent: -.5em;
}

.indnt-1 {
	text-indent: -1em;
}


@media print, screen and (min-width: 768px) {
	.colWrap {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

	.colWrap.rtl {
		flex-direction: row-reverse;
	}

	.colWrap.col {
		flex-direction: column;
	}

	.colWrap.wrap {
		flex-wrap: wrap;
	}

	.colWrap.boxAlign-left {
		justify-content: flex-start;
	}

	.colWrap.boxAlign-right {
		justify-content: flex-end;
	}

	.colWrap.boxAlign-center {
		justify-content: center;
	}

	.colWrap.mdl > *,
	.colWrap > .mdl:not(.colWrap) {
		display: flex;
		/* flex-wrap: wrap; */
		align-items: center;
		align-content: center;
		justify-content: flex-start;
	}

	.colWrap.mdl > * > *,
	.colWrap > .mdl:not(.colWrap) > * {
		width: 100%;
	}

	.colWrap.mdl.ct > *,
	.colWrap > .mdl.ct:not(.colWrap) {
		justify-content: center;
	}

	.colWrap.col4 {
		margin-left: -10px;
		margin-right: -10px;
	}

	.colWrap.col4 > * {
		margin: 0 10px 20px;
		width: calc(25% - 20px);
	}

	.colWrap.col2 > * {
		width: 50%;
	}
}

/* ===== FORM ===== */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
intput[type="button"],
input[type="submit"],
textarea {
	/* reset */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	font-weight: normal;
	outline: none;
	/* end - reset */
}

/*input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
textarea {
	padding: 4px;
	border: 1px solid #b5b5b5;
	font-size: 100%;
}

select {
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
	padding: 4px;
	border: 1px solid #b5b5b5;
	font-size: 100%;
}

input[type="text"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #aaa;
}

input[type="text"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="password"]::-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #aaa;
}

input[type="text"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="password"]::-moz-input-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
	color: #aaa;
}

input[type="checkbox"],
input[type="radio"] {
	margin-right: 4px;
}

textarea {
	resize: vertical;
}

select::-ms-expand {
	display: none;
}*/
/* ===== end - FORM ===== */

/* menuBtn */
.menuBtn {
	position: fixed;
	top: 12px;
	right: 40px;
	width: 40px;
	height: 40px;
	border-radius: 4px;
	text-align: center;
	cursor: pointer;
	pointer-events: all;
	z-index: 200; 
/*	z-index: 40;*/
}

.menuBtn div{
	position: relative;
	/* margin: 7px auto; */
	margin: 0 auto;
	width: 30px;
	height: 21px;
	top: 0;
	-webkit-transition: all 0.75s ease-out;
	transition: all 0.75s ease-out;
}
.menuBtn div:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	margin-top: -1px;
	margin-left: -15px;
	width: 30px;
	height: 2px;
	border-radius: 1px;
	background: #0066be;
	opacity: 1;
	-webkit-transition: 0.35s ease-in-out;
	-webkit-transition: 0.35s ease-in-out;
	transition: 0.35s ease-in-out;
}
.menuBtn span {
	display: block;
	margin: 0 auto;
	width: 30px;
	height: 20px;
	color: #0066be;
	font-size: 1.1rem;
	font-family: Helvetica, Arial, sans-serif;
	letter-spacing: 0.5px;
	line-height: 76px;
	overflow: hidden;
}
.menuBtn span:before {
	content: '';
	position: absolute;
	left: 50%;
	display: block;
	margin-left: -15px;
	width: 30px;
	height: 2px;
	border-radius: 1px;
	background: #0066be;
	-webkit-transform-origin: center center;
	transform-origin: center center;
	top: 0;
	transition: transform 0.3s ease-out;
}
.menuBtn span:after{
	content: '';
	position: absolute;
	left: 50%;
	display: block;
	margin-left: -15px;
	width: 30px;
	height: 2px;
	border-radius: 1px;
	background: #0066be;
	-webkit-transform-origin: center center;
	transform-origin: center center;
	bottom: 0;
	transition: transform 0.3s ease-out;
}

.menuBtn.close span:before {
	-webkit-animation: menu-bar01 0.75s forwards;
	animation: menu-bar01 0.75s forwards;
	-webkit-animation: menu-bar01 0.75s forwards;
	animation: menu-bar01 0.75s forwards;
}
	.menuBtn.close span:after {
	-webkit-animation: menu-bar03 0.75s forwards;
	animation: menu-bar03 0.75s forwards;
	-webkit-animation: menu-bar03 0.75s forwards;
	animation: menu-bar03 0.75s forwards;
}


.menuBtn.open {
	background: none;
}

.menuBtn.open span:before {
	-webkit-animation: active-menu-bar01 0.75s forwards;
	animation: active-menu-bar01 0.75s forwards;
	-webkit-animation: active-menu-bar01 0.75s forwards;
	animation: active-menu-bar01 0.75s forwards;
}
.menuBtn.open span:after {
	-webkit-animation: active-menu-bar03 0.75s forwards;
	animation: active-menu-bar03 0.75s forwards;
	-webkit-animation: active-menu-bar03 0.75s forwards;
	animation: active-menu-bar03 0.75s forwards;
}

.menuBtn.open div:before {
	opacity: 0;
}

@-webkit-keyframes menu-bar01 {
	0% {
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(1px) rotate(45deg);
	}

	50% {
		-webkit-transform: translateY(1px) rotate(0);
	}

	100% {
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
	}
}

@keyframes menu-bar01 {
	0% {
		top: 50%;
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(-1px) rotate(45deg);
		transform: translateY(-1px) rotate(45deg);
	}

	50% {
		top: 50%;
		-webkit-transform: translateY(-1px) rotate(0);
		transform: translateY(-1px) rotate(0);
	}

	100% {
		top: 0;
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
		transform: translateY(0) rotate(0);
	}
}

@-webkit-keyframes menu-bar03 {
	0% {
		bottom: 50%;
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(1px) rotate(-45deg);
	}

	50% {
		bottom: 50%;
		-webkit-transform: translateY(1px) rotate(0);
	}

	100% {
		bottom: 0;
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
	}
}

@keyframes menu-bar03 {
	0% {
		bottom: 50%;
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(1px) rotate(-45deg);
		transform: translateY(1px) rotate(-45deg);
	}

	50% {
		bottom: 50%;
		-webkit-transform: translateY(1px) rotate(0);
		transform: translateY(1px) rotate(0);
	}

	100% {
		bottom: 0;
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
		transform: translateY(0) rotate(0);
	}
}

@-webkit-keyframes active-menu-bar01 {
	0% {
		top: 0;
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
	}

	50% {
		top: 50%;
		-webkit-transform: translateY(-1px) rotate(0);
	}

	100% {
		top: 50%;
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(-1px) rotate(45deg);
	}
}

@keyframes active-menu-bar01 {
	0% {
		top: 0;
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
		transform: translateY(0) rotate(0);
	}

	50% {
		top: 50%;
		-webkit-transform: translateY(-1px) rotate(0);
		transform: translateY(-1px) rotate(0);
	}

	100% {
		top: 50%;
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(-1px) rotate(45deg);
		transform: translateY(-1px) rotate(45deg);
	}
}

@-webkit-keyframes active-menu-bar03 {
	0% {
		bottom: 0;
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
	}

	50% {
		bottom: 50%;
		-webkit-transform: translateY(11px) rotate(0);
	}

	100% {
		bottom: 50%;
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(11px) rotate(-45deg);
	}
}

@keyframes active-menu-bar03 {
	0% {
		bottom: 0;
		/* background: #fff; */
		background: #0066be;
		-webkit-transform: translateY(0) rotate(0);
		transform: translateY(0) rotate(0);
	}

	50% {
		bottom: 50%;
		-webkit-transform: translateY(1px) rotate(0);
		transform: translateY(1px) rotate(0);
	}

	100% {
		bottom: 50%;
		background: #fff;
		/* background: #0066be; */
		-webkit-transform: translateY(1px) rotate(-45deg);
		transform: translateY(1px) rotate(-45deg);
	}
}

.container {
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
	max-width: 1060px;
}

.container.full {
	max-width: 100%;
	max-width: initial;
}

.container.noPadding {
	padding-left: 0;
	padding-right: 0;
}

header {
	padding-top: 0;
}

header .container {
	padding-top: 15px;
	position: relative;
	max-width: 1040px;
}

header h1 {
	margin-left: 8px;
	width: auto;
}

header p.logo {
	width: 262px;
}

header nav ul {
	display: flex;
	padding: 0 2%;
}

header nav ul li {
	flex: 1 1 auto;
	float: none;
	margin: 15px 0;
	padding: 0 .5em;
	text-align: center;
}

header p#enPage {
	right: 40px;
}

#wrap {
	max-width: 1040px;
}

#wrap > main,
#wrap > aside {
	float: none;
	width: auto;
}

#wrap > main,
#wrap > aside ul {
	padding: 5px 0;
}

footer nav {
	display: block;
	height: auto;
	overflow: hidden;
}

footer .container {
	max-width: 1040px;
}

aside ul {
	width: auto;
}

aside img {
	margin-left: auto;
	margin-right: auto;
}

@media print, screen and (min-width: 768px) {
	#wrap > main {
	/*	width: calc(100% - 290px); */
		width: calc(72% - 20px);
		max-width: 670px;
	}

	#wrap > aside {
	/*	width: 270px; */
		width:28.2%;
		max-width: 270px;
	}
}

@media print, screen and (min-width: 768px) and (max-width: 991px) {
	#wrap > main {
		width: calc(76% - 15px);
	}

	#wrap > aside {
		width: 24%;
	}
}

/* ----- TOP PAGE STYLES ----- */
div#topImage section nav {
	padding: 5px 0 0;
	height: auto;
	background: none;
}

div#topImage section nav ul {
	position: relative;
/*	margin: 15px -3px 10px; */
	margin: 0;
	/* padding: 10px 0 10px; */
	/* padding: 11px 0 12px; */
	padding: 8px 0 11px;
	width: auto;
	height: 100%;
	background: url(../img/navi_top_bg_pattern.png) repeat 0 0;
	border-radius: 8px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 -1px 2px rgba(0,0,0,.2);
	z-index: 1;
}

div#topImage section nav:before,
div#topImage section nav:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -6px;
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-right: 8px solid #957200;
	z-index: -1;
}

div#topImage section nav:after {
	left: auto;
	right: -6px;
	border: 8px solid transparent;
	border-left: 8px solid #957200;
}

div#topImage section nav ul li,
div#topImage section nav ul li:first-child,
div#topImage section nav ul li:last-child {
	float: none;
	flex: 1 1 auto;
	margin: 0;
	padding: 0 10px;
/*	padding: 8px 10px 11px; */
/*	height: 100%; */
	height: auto;
	text-align: center;
/*	border-right: 1px dashed rgba(147, 113, 0 , .3); */
	/* width: 16.6%; */
}

div#topImage section nav ul li:last-of-type {
	border-right: 0;
}

div#topImage section nav ul li a {
	position: relative;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	line-height: 1.35;
	margin: 2px 0 0;
/*	padding: 8px 0 5px; */
	padding: 3px 0 0;
	width: 100%;
	height: 100%;
	/* height: auto; */
	border-radius: 4px;
}

div#topImage section nav ul li a .sub {
	display: block;
	font-size: .8em;
}

div#topImage section nav ul li a:hover {
	background: #fff;
	box-shadow: inset 1px 1px 2px rgba(0,0,0,.1);
}

div#topImage section nav ul li a:hover:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	width: 10px;
	height: 7px;
/*	margin-top: 1px; */
	transform: translate(-50%, -100%);
	background: url(../img/navi_top_o_arrw.png) no-repeat 0 0;
}

div#topImage section nav ul li a:hover:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	margin: 2px 0 0;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-bottom: 5px solid #fff;
	transform: translate(-50%, -100%);
	z-index: 1;
}

main section article#contact {
	overflow: visible;
}

main section div.contactWrapper {
	position: relative;
	background: #f5deda;
	padding: 10px;
	border-radius: 5px;
	z-index: 1;
}

main section div.contactWrapper:before {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 6px;
	right: 6px;
	bottom: 6px;
	border: 1px dashed #fff;
	border-radius: 5px;
	z-index: -1;
}

main section div.contactWrapperHead {
	background: none;
	padding: 5px 10px 0 22%;

}

main section .contactWrapper .ttl {
	position: absolute;
	left: -10px;
	top: 20px;
	background: none;
	background: #ff8102 url(../img/contact_head_ttl.png) no-repeat center center;
	border-radius: 5px;
	width: 130px;
	height: 30px;
	z-index: 2;
}

main section div.contactWrapper:after {
	content: "";
	display: block;
	position: absolute;
	top: 44px;
	left: -12px;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-right: 6px solid #b76456;
	z-index: -1;
}

main section article#contact .colWrap {
}

main section article#contact div.contactBox01,
main section article#contact div.contactBox02 {
	float: none;
	padding: 0;
}

main section article#contact div.contactBox02 {
	margin: 0;
	padding-left: 12px;
}

main section article#contact p.contactBox03 {
	padding-left: 0;
}

/* ----- end - TOP PAGE STYLES ----- */

/* -----LOWER PAGE STYLES ----- */
.pg_lower .wrapper {
	width: auto;
}

.pg_lower .wrapper main {
	margin: 0 auto;
	width: auto;
}

.pg_lower .contentWrap {
/*	padding-right: 50px; */
	max-width: 1040px;
}

/* col2*/
.pg_lower #wrap_center {
	left: 0;
	width: auto;
}

.pg_lower #wrap_center main,
.pg_lower #wrap_center aside {
	float: none;
}

.pg_lower #wrap_center main {
	margin: 0;
	width: auto;
	max-width: 760px;
}

.pg_lower #wrap_center aside {
	margin-top: 25px;
}

@media print, screen and (min-width: 768px) {
	.pg_lower #wrap_center main {
		width: calc(100% - 200px);
	}

	.pg_lower #wrap_center aside {
		margin-top: 0;
		width: 186px;
	}

	.pg_lower #wrap_center aside nav ul {
		padding-bottom: 80px;
	}
}

.pg_lower #wrap_center aside .side_ttl {
	background: #9b7e63;
	color: #fff;
	font-size: 1.25em;
	border-radius: 10px 10px 0 0;
	padding: .6em 1.2em .5em;
	font-weight: bold;
}

.pg_lower #wrap_center aside nav {
	left: 0;
	margin: 0;
	width: auto;
	height: auto;
	background: #fbfdf2;
	border-radius: 0 0 10px 10px;
}

.pg_lower #wrap_center aside nav ul {
	position: relative;
	top: 0;
	padding-bottom: 20px;
	width: auto;
	height: auto;
}

.pg_lower #wrap_center aside nav ul li a {
	background-repeat: repeat;
}
.pg_lower .wrapper main section h2,
.pg_lower div.center main section h2 {
	position: relative;
	height: auto;
	margin-left: -10px;
	padding: 11px 0 10px 2.2em;
	/* font-size: 1.715em; */
	background: #f7eab9 url(../img/h2_bg.png) repeat 0 0;
	z-index: 1;
}

.pg_lower .wrapper main section h2:before,
.pg_lower div.center main section h2:before  {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - 5px);
	left: -5px;
	border: 5px solid transparent;
	border-right: 10px solid #9a7d62;
	z-index: -1;
}

.pg_lower .wrapper main section h2:after,
.pg_lower div.center main section h2:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 10px;
	height: 10px;
	background: #f7eab9 url(../img/h2_bg.png) repeat 0 0;
	z-index: 1;
}

.pg_lower div.center main section h2 {
	position: relative;
	top: 0;
	left: 0;
	margin-left: -7px;
	padding: 8px 0 6px 1.6em;
	width: auto;
}

.pg_lower div.center main section h2:before {
	border-right-width: 7px;
}

div.center main section {
	margin: 0;
	padding: 0;
}

div.center main section .inner {
	padding: 10px 20px 20px 20px;
}

/* table */
.tablepress {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 1em;
    border: none;
}

.tablepress td,
.tablepress th {
    padding: 8px;
    border: none;
    background: 0 0;
    text-align: left;
    word-break: break-all;
}

.tablepress tfoot th,
.tablepress thead th {
    background-color: #d9edf7;
    font-weight: 700;
    vertical-align: middle;
}

.tablepress thead th {
    border-bottom: 1px solid #ddd;
}

.tablepress tbody td,
.tablepress tfoot th {
    border: 1px solid #ccc;
}

.tablepress tbody td {
    vertical-align: top;
}

.tablepress tbody tr:first-child td {
    border-top: 0;
}

.tablepress [class*=column]+[class*=column]:last-child {
    float: none;
}

.dataTables_wrapper {
    clear: both;
    margin-bottom: 1em;
}

.dataTables_wrapper .tablepress {
	clear: both;
	margin: 0!important;
}

.dataTables_wrapper:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.row-1 {
    background-color: #d9edf7;
}

.tablepress-id-11 thead .row-1 th {
	text-align:center;
}

/* ttl */
.pg_lower .ttl_m {
	height: auto;
	background: #fef7d9;
	border-radius: 4px;
	border-left: 3px solid #76583d;
}

@media print, screen and (max-width: 767px) {
	.pg_lower .ttl_m {
		line-height: 1.3;
		padding: .5em .5em;
		font-size: 1.2em;
	}
}

/* ----- end - LOWER PAGE STYLES ----- */


/* -----FACILITIES PAGE STYLES ----- */
div.facilites main section .menuWrap  {
	overflow: hidden;
	margin-left: 0;
	padding: 40px 40px 15px 40px;
	border-radius: 0 0 10px 10px;
	background-color: #fff;
}

div.facilites main section ul#menu {
	padding: 0;
	border-radius: 0;
	background: none;
	margin: 0 -17px;
	min-height: 0;
}

div.facilites main section ul#menu li,
div.facilites main section ul#menu li:nth-child(3n) {
	position: relative;
	float: none;
	width: calc(33.33% - 34px);
	margin: 0 17px 30px;
	z-index: 1;
}

div.facilites main section ul#menu li:before {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 5;
	width: calc(100% - 5px);
	height: calc(100% - 5px);
	background: rgba(0,0,0,.2);
	box-shadow: 0 2px 2px rgba(0, 0, 0, .1);
	transform: rotate(1deg);
	z-index: -1;
}

div.facilites main section ul#menu li a {
	position: relative;
	width: auto;
	height: auto;
	padding: 1em 0;
	background: #ceebff;
	color: #444;
	box-shadow: 0 2px 2px rgba(0, 0, 0, .1);
	border-left: .5em solid #71a6d4;
	z-index: 1;
}

@media print, screen and (min-width: 768px) {
	div.facilites main section ul#menu li a {
		background-color: #fbf1b2;
		background-image: linear-gradient(180deg, #f2efb100 0%, rgb(242 239 177 / 0%) 98%, #83d2ff 100%);
		background-size: 100% 1.3em;
		border-left: 12px solid #9b7e63;
	}
}

.pg_facilities .facilityFrame {
    margin: 15px auto 0;
}


.pg_facilities .facilityFrame + .facilityFrame {
    margin-top: 35px;
}

@media print, screen and (min-width: 768px) {
	.pg_facilities .facilityFrame .colWrap .img {
	    width: 25%;
	}

	.pg_facilities .facilityFrame .colWrap .txt {
	    width: 75%;
	    padding-left: 30px;
	}
}

.pg_facilities .facilityFrame .boxHeader,
.pg_facilities .facilityFrame .boxFooter {
	text-align: center;
}

.pg_facilities .facilityFrame .tblBox {
	margin-bottom: 1em;
}

@media print, screen and (min-width: 992px) {
	.pg_facilities .facilityFrame .tblBox .tbl02 table td {
		border-left: 0;
	}
}

.pg_facilities .facilityFrame .tblBox.colWrap table {
	margin-bottom: 0;
    height: 100%;
}

.pg_facilities .facilityFrame tablepress-19 thead th {
    white-space: nowrap;
}

.pg_facilities .facilityFrame tablepress-19 td.column-2 {
    min-width: 8.5em;
}

.pg_facilities .facilityFrame tablepress-19 td.column-3 {
    min-width: 5em;
}
/* -----end - FACILITIES PAGE STYLES ----- */

/* -----GUIDE PAGE STYLES ----- */
.pg_guide .tablepress.tblType01 th.column-1 {
    width: 7.5em;
}

@media print, screen and (max-width: 767px) {
	.pg_guide.pg_download .tablepress.tblType01 th,
	.pg_guide.pg_download .tablepress.tblType01 td {
		padding: 10px 5px;
}

	.pg_guide.pg_download .tablepress.tblType01 .column-1 {
		min-width: 3.8em;
	}

	.pg_guide.pg_download .tablepress.tblType01 td.column-1 {
		white-space: nowrap;
/*		font-size: .9em;*/
		text-align:left;
	}

	.pg_guide.pg_download .tablepress.tblType01 th {
		font-size: .9em;
	}

	.pg_guide.pg_download .tablepress.tblType01 th .en {
		font-size: .95em;
	}

	.pg_guide.pg_download .tablepress.tblType01 td {
		vertical-align:middle;
		text-align: center;
		min-width: 20%;
	}
}

@media print, screen and (max-width: 400px) {
	.pg_guide.pg_download .tablepress.tblType01 th {
		font-size: .8em;
	}
}

/* applyGuide */
.pg_guide.pg_applyGuide .docList li {
	margin: 0 0 .5em;
	padding: 0 2em 0 0;
}

.pg_guide.pg_applyGuide .docList .note {
	padding-left: 1em;
}

@media print, screen and (min-width: 768px) {
	.pg_guide.pg_applyGuide .docList .note {
		display: block;
		padding: 0;
	}
}

@media print, screen and (max-width: 992px) {
	.pg_guide.pg_applyGuide .docList .note {
		font-size: .84em;
	}
}

@media print, screen and (max-width: 767px) {
.pg_guide.pg_important .ttl_m {
		text-indent: -.5em;
	}
}

.pg_guide.pg_important .infoFrame  {
	margin: 0 auto 30px;
}

.pg_guide.pg_important .infoFrame .title {
	flex: 0 0 auto;
}

.pg_guide.pg_important .infoFrame .txt {
	flex: 1 1 auto;
}

.pg_guide.pg_important .infoFrame .head:not(:first-child) {
	margin-top: 2.5em;
}

.pg_guide.pg_important .infoFrame li + li {
	margin-top: 1em;
}

@media print, screen and (min-width: 768px) {
	.pg_guide.pg_important .infoFrame a {
		display: inline-block;
		min-width: 29em;
	}
}

@media print, screen and (max-width: 991px) {
	.pg_guide.pg_important .infoFrame ul {
		margin-left: 1.5em;
	}
}

/* -----end - GUIDE PAGE STYLES ----- */

.pg_lower .tblBox > div {
    flex-grow: 1;
}

@media print, screen and (min-width: 992px) {
	.pg_lower .tblBox > div + div td {
	    border-left: 0;
	}
}

/* -----ACCESS PAGE STYLES ----- */
.pg_access .tblBox table {
	margin-bottom: 0;
	height: 100%;
}

.pg_access .tblBox table thead th {
    white-space: nowrap;
}
/* -----end - GUIDE PAGE STYLES ----- */


/* --------------------------------------------------
  ********** LESS THAN 991px WIDTH **********
  -------------------------------------------------- */
@media print, screen and (max-width: 991px) {
	body {
		font-size: 14px;
	}

	.pc {
		display: none;
	}

	.tab, .tab.sp, .tab.sp2 {
		display: block !important;
	}

	.gnav .menu {
		padding: 0 .75%;
	}

	.gnav .menu > li {
		padding: 0 .25em
	}

	.gnav .menu > li > a {
		font-size: 13px;
	}

	header .container {
		padding: 20px 20px 0;
	}

	header p.logo {
		width: 180px;
	}

	header h1 {
		margin-left: 15px;
		width: 260px;
	}

	header p#search {
		height: 30px;
		margin: 15px 0 8px;
		overflow: hidden;
		border-radius: 7px;
	}

	header p#search input[type="image"] {
		position: relative;
		top: -2px;
		background: #0066be;
	}

	/*.content {
		margin-top: 50px;
	} */

	.container {
		padding: 0 30px;
	}

	footer nav ul li {
		font-size: .85em;
	}

	.colWrap.tab-block {
		display: block;
	}

	/* ----- TOP PAGE STYLES ----- */
	div#topImage section nav ul {
		padding: 6px 0 9px;
	}

	div#topImage section nav ul li {
		padding-left: 5px;
		padding-right: 5px;
	}

	div#topImage section nav ul li a {
		font-size: .95em;
	}

	main section div.contactWrapperHead {
		padding: 50px 10px 10px;
	}

	main section .contactWrapper .ttl {
		top: 15px;
	}

	main section div.contactWrapper:after {
		top: 39px;
	}

	main section article#contact p.contactBox03 {
		margin-top: 10px;
	}

	main section article#contact p {
		font-size: .9em;
	}

	main section article#contact p.tel {
		font-size: 1.3em;
	}

	/* ----- end - TOP PAGE STYLES ----- */

	/* -----LOWER PAGE STYLES ----- */
	.pg_lower .wrapper .contentWrap {
		/*padding-right: 40px; */
	}

	.pg_lower div.center aside nav ul li a {
		font-size: .9em;
	}

	.pg_lower .wrapper main section h2,
	.pg_lower #wrap_center main section h2 {
		font-size: 1.65em;
	}
	/* ----- end - LOWER PAGE STYLES ----- */

	/* -----LOWER PAGE STYLES ----- */
	div.facilites main section ul#menu li a {
		font-size: 1.75em;
	}
	/* -----end - FACILITIES PAGE STYLES ----- */

	/* -----GUIDE PAGE STYLES ----- */
	.pg_guide .tablepress.tblType01 {
		font-size: .9em;
	}

	.pg_guide .tablepress.tblType01 th,
	.pg_guide .tablepress.tblType01 td {
		padding: 6px;
	}
	/* -----end - GUIDE PAGE STYLES ----- */
}


/* *************************************************************
   LESS THAN width 767px
**************************************************************** */
@media print, screen and (max-width: 767px) {
	body {
		font-size: 13px;
		line-height: 1.8;
	}

	body.fixed {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
	}

	body.fixed:before {
		visibility: visible;
		opacity: 0.4;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	.pc, .tab, .pc.tab, .pc.sp2, .tab.sp2, sp2 {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	.sp-mt0 {
		margin-top: 0 !important;
	}

	.sp-mb0 {
		margin-bottom: 0 !important;
	}

	.sp-ml0 {
		margin-left: 0 !important;
	}

	.sp-mr0 {
		margin-right: 0 !important;
	}


	.sp-pt0 {
		padding-top: 0 !important;
	}

	.sp-pb0 {
		padding-bottom: 0 !important;
	}

	.sp-pl0 {
		padding-left: 0 !important;
	}

	.sp-pr0 {
		padding-right: 0 !important;
	}

	/* ===== FLEX BOX ===== */
	.sp-colWrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}

	.sp-colWrap.sp-col {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.sp-colWrap.sp-wrap {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}

	.sp-colWrap.sp-col-rev {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}

	.sp-colWrap.sp-boxAlign-left {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
	}

	.sp-colWrap.sp-boxAlign-right {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
	}

	.sp-colWrap.sp-boxAlign-center {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.sp-colWrap.sp-mdl > *,
	.sp-colWrap > .sp-mdl:not(.sp-colWrap) {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-ms-flex-line-pack: center;
		    align-content: center;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
	}

	.sp-colWrap.sp-mdl.ct > *,
	.sp-colWrap.sp-mdl > .ct,
	.sp-colWrap > .sp-mdl.ct:not(.sp-colWrap) {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.sp-colWrap.sp-col2 > * {
		width: 50%;
	}

	.sp-colWrap.sp-col3 > * {
		width: 33.33%;
	}
	/* ===== end - FLEX BOX ===== */

	table:not(.sp-table) th,
	table:not(.sp-table) td,
	table.tab-table:not(.sp-table) th,
	table.tab-table:not(.sp-table) td {
		display: block;
		width: 100% !important;
		border-bottom: 0;
	}

	table:not(.sp-table) th {
		padding: 8px 8px 4px;
		font-weight: bold;
		border-bottom: 0;
	}

	table:not(.sp-table) td {
		padding: 15px 1em;
		border-top: 0;
	}

	table.sp-table th,
	table.sp-table td {
		padding: 8px;
		font-weight: normal;
	}

	.tablepress th,
	.tablepress td {
		line-height: 1.3;
	}

	.sp-text-center {
		text-align: center;
	}

	.sp-text-left {
		text-align: left;
	}

	.sp-text-right {
		text-align: right;
	}

	.sp-block {
		display: block;
	}

	.sp-in-block {
		display: inline-block;
	}

	.sp-inline {
		display: inline;
	}

	input[type="text"].sp-max,
	input[type="tel"].sp-max,
	input[type="email"].sp-max,
	select.sp-max,
	textarea.sp-max {
		width: 100%;
	}

	header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 80px;
		z-index: 100;
	}

	header .container {
		display: block !important;
		padding: 10px;
	}

	header p.logo,
	header h1 {
		display: flex;
		align-items: center;
		align-content: center;
		justify-content: center;
		float: none;
		height: 100%;
		background: #fff;
		border-radius: 4px;
	}

	header p.logo {
		margin: 0 10px 5px 0;
		width: 180px;
		height: 27px;
		overflow: hidden;
	}

	header h1 {
		margin: 0 0 0 15px;
		display: inline-block;
		margin-left: 0;
		width: 180px;
		height: auto;
	}

	.menuBtn {
		display: flex !important;
		align-items:center;
		align-content: center;
		justify-content: center;
		top: 10px;
		right: 15px;
	}

	.gnav {
		position: fixed;
		overflow: hidden;
		top: 0;
		left: 0;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100vh;
		max-height: 0;
		overflow-y: auto;
		background: rgba(0, 85, 163, 0.9);
		-webkit-overflow-scrolling: touch;
		-webkit-transition: max-height .3s ease-out;
		transition: max-height .3s ease-out;
		transform: none;
		z-index: 100;
	}

	.gnav nav {
		display: block;
		margin: 0;
		padding: 50px 15px 0;
		width: 100%;
		height: 100%;
		max-width: 100%;
		overflow-y: auto;
		background: none;
		border: 0;
	}

	.gnav .menu {
		display: block;
		position: relative;
		margin: 0 auto;
		padding: 0;
		max-width: initial;
		height: auto;
		border: 0;
	}

	.gnav .menu > li {
		display: block;
		position: relative;
		margin: 0;
		width: auto;
		border: 0;
	}

	.gnav .menu > li > a {
		display: block;
		position: relative;
		padding: 15px 5px;
		font-size: 15px;
		line-height: 1.3;
		color: #fff;
		font-weight: 700;
		text-decoration: none;
		text-align: left;
		border-bottom: 1px solid rgba(255, 255, 255, .3);
	}

	.gnav .menu > li a:after {
		content: "";
		box-sizing: border-box;
		display: block;
		position: absolute;
		right: 5px;
		top: 50%;
		width: 6px;
		height: 6px;
		border-right: 2px solid #fff;
		border-top: 2px solid #fff;
		transform: translateY(-50%) rotate(45deg);
		opacity: .6;
	}

	.gnav .menu > li:first-child > a {
		border-top: 0;
	}

	.open {
		max-height: 100vh;
	}

	header p#search {
		margin: 20px auto 5px;
		display: block;
		width: 100%;
		height: 35px;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, .5);
	}

	header p#search input.textBox {
		width: calc(100% - 50px);
	}

	header p#search input[type="image"] {
		top: 0;
	}

	header p#enPage {
		display: block;
		top: 8px;
		right: 65px;
		margin: 10px auto;
		line-height: 1.3;
		background: #fff;
		border-radius: 5px;
		text-align: center;
		float: right;
	}

	header p#enPage a {
		position: relative;
		display: block;
		/* padding: 5px 15px 5px 20px; */
		padding: 4px 8px 4px 14px;
		color: #0066be;
		font-size: 12px;
		font-weight: bold;
		text-decoration: none;
	}

	header p#enPage a > span:before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 7px;
		margin-top: -1px;
		width: 0;
		height: 0;
		border: 3px solid transparent;
		border-left: 4px solid #0066be;
		transform: translateY(-50%);
	}

	.container {
		padding-left: 15px;
		padding-right: 15px;
	}

	footer nav {
		display: flex;
		flex-wrap: wrap;
		padding: 0 15px;
		width: 100%;
	}

	footer nav ul {
	/*	display: flex;
		flex-wrap: wrap; */
		float: none;
		margin: 20px auto;
		width: auto;
		width: calc(50% - 20px);
	}

	footer nav ul:first-child {
		width: 100%;
	}

	footer nav ul li {
		float: none;
	/*	width: calc(50% - 10px); */
		width: auto;
	}

	footer p.copy {
		font-size: 11px;
		margin: 0 auto 20px;
	}

	#wrap > aside {
		margin: 15px auto;
		padding: 10px 10px 0;
		background: #fff;
		border-radius: 6px;
	}

	#wrap > aside ul {
		margin: 0 -2.5px;
		padding: 0;
		justify-content: flex-start;
		background: none;
		border-radius: 0;
	}

	#wrap > aside ul li {
		padding: 10px 0;
		margin: 0 2.5px 5px;
		width: calc(33.3% - 5px);
	}

	#wrap > main {
		padding: 10px;
	}

	#mainImage {
		margin: 0 -15px 5px;
		padding: 0;
	}

	div#topImage {
		margin-top: 80px;
	}

	div#topImage .sp-horizontal .sp-previous-arrow {
		left: 10px;
	}

	div#topImage .sp-horizontal .sp-next-arrow {
		right: 10px;
	}

	div#topImage section nav:before,
	div#topImage section nav:after {
		display: none;
	}
	
	div#topImage section nav ul {
		margin: 7px -3px 0;
		padding: 0;
		background: none;
		padding: 0;
		box-shadow: none;
	}

	div#topImage section nav ul li,
	div#topImage section nav ul li:last-child {
		margin: 3px;
		padding: 4px  4px 4px;
		width: calc(50% - 10px);
		background: url(../img/navi_top_bg_pattern.png) repeat 0 0;
		border-radius: 8px;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 -1px 2px rgba(0,0,0,.2);
	}

	div#topImage section nav ul li:first-child {
		margin: 3px;
		padding: 4px  4px 4px;
		width: 100%;
	}

	/*div#topImage section nav ul li {
		border-bottom: 1px solid rgba(147, 113, 0 , .3);
	}

	div#topImage section nav ul li:nth-child(2n + 1) {
		border-right: 0;
	}

	div#topImage section nav ul li:nth-child(6),
	div#topImage section nav ul li:nth-child(7) {
		border-bottom: 0;
	} */

	div#topImage section nav ul > li > a {
		font-size: 12px;
		margin: 0;
		padding: 4px 0 3px;
		height: 31px;
		line-height: 1.2;
	}

	div#topImage section nav ul li a:hover:before,
	div#topImage section nav ul li a:hover:after,
	div#topImage section nav ul li.current a:before,
	div#topImage section nav ul li.current a:after {
		display: none;
	}

	div#topImage section nav ul > li:first-child > a {
		font-size: 15px;
	}

	main, aside ul, footer nav {
		border-radius: 6px;
	}

	main section article {
		margin: 0;
		padding: 10px 0;
	}

	main section article dl dt,
	main section article dl dd {
		float: none;
		width: auto;
	}

	main section article dl dd {
		padding: .3em 0 0 .75em;
		margin-bottom: 2em;
		letter-spacing: 0;
	}

	main section article dl dd:last-of-type {
		padding-bottom: 0;
	}

	main section article#news dl,
	main section article#topics dl {
		height: 380px;
	}

	main section article#contact {
		margin: 0 5px;
	}

	main section div.contactWrapperHead {
		padding-top: 25px;
	}

	main section .contactWrapper .ttl {
		top: -10px;
	/*	left: 12px; */
		left: -5px;
	}

	main section div.contactWrapper:after {
	/*	left: 8px;
		top: -6px;
		transform: rotate(-135deg); */
		display: none;
	}

	main section article#contact div.contactBox02,
	main section article#contact p.contactBox03 {
		padding: 0;
		padding-top: 10px;
		margin-top: 10px;
		border-top: 1px dashed #fff;
	}

	/* -----LOWER PAGE STYLES ----- */
	.pg_lower .wrapper,
	.pg_lower #wrap_center {
		margin-top: 80px;
	}

	.pg_lower .wrapper contentWrap {
		/*padding-right: 25px; */
	}

	.pg_lower .wrapper main section h2,
	.pg_lower #wrap_center main section h2 {
		font-size: 1.25em;
	}
	
	div.center main section .inner {
		padding: 15px;
	}
	/* ----- end - LOWER PAGE STYLES ----- */

	/* -----FACILITIES PAGE STYLES ----- */
	div.facilites main section .menuWrap {
	    padding: 20px 20px 5px;
	}

	div.facilites main section ul#menu {
		margin: 0 auto;
	}

	div.facilites main section ul#menu li,
	div.facilites main section ul#menu li:nth-child(3n) {
		width: calc(50% - 10px);
		margin: 0 0 15px;
	}

	div.facilites main section ul#menu li a {
		font-size: 1.2em;
	}

	.pg_facilities .facilityFrame .colWrap .img img {
		display: block;
		margin: 0 auto;
	}

	.pg_facilities .facilityFrame .colWrap .txt {
		margin-top: 25px;
	}

	.pg_facilities .facilityFrame .colWrap .boxHeader h4 {
		margin-bottom: 10px;
		padding-left: 10px;
		line-height: 1.4;
		text-align: left;
	}

	.pg_facilities .facilityFrame .colWrap .boxFooter {
		text-align: left;
	}

	.pg_facilities .facilityFrame table td {
	    padding: 10px 5px;
	}

	.pg_facilities .facilityFrame table td.column-1 {
	    min-width: 3em;
	}

	.pg_facilities .facilityFrame table td.column-2 {
	    min-width: 7.8em;
	}

	.pg_facilities .facilityFrame table td.column-4 {
	    min-width: 3.8em;
	}

	/* -----end - FACILITIES PAGE STYLES ----- */

	/* -----GUIDE PAGE STYLES ----- */
	.pg_guide .tblType00 {
		display: flex;
		width: 100%;
	}

	.pg_guide .tblType00 tr {
		display: flex;
		height: 100%;
		flex-direction: column;
	}

	.pg_guide .tblType00 thead  {
		width: 25%;
		min-width: 3.5em;
	}

	.pg_guide .tblType00 tbody  {
		width: 75%;
		max-width: calc(100% - 3.5em);
	}

	.pg_guide .tblType00 thead th,
	.pg_guide .tblType00 tbody td {
		flex-grow: 1;
		text-align: center;
		padding: 6px;
	}

	.pg_guide .tblType00 tbody td,
	.pg_guide .tblType00 tbody tr:first-child td {
		border-top: 1px solid #ddd;
	}

	.pg_guide .tblType00 tbody td:last-child,
	.pg_guide .tblType00 tbody tr:first-child td:last-child {
		border-bottom: 1px solid #ddd;
	}
	/* -----end - GUIDE PAGE STYLES ----- */
}

@media print, screen and (max-width: 499px) {
	.sp2, .pc.sp2, .tab.sp2, .sp.sp2 {
		display: block !important;
	}

	.colWrap.sp2-block,
	.tab-colWrap.sp2-block,
	.sp-colWrap.sp2-block {
		display: block;
	}

	.colWrap.sp2-block > *,
	.tab-colWrap.sp2-block > *,
	.sp-colWrap.sp2-block > * {
		width: 100%;
	}


	footer nav {
		display: block;
		overflow: hidden;
	}

	footer nav ul {
		width: 100%;
	}

	#wrap > aside ul {
		margin: 0 auto;
		max-width: 300px;
		justify-content: space-between;
	}

	#wrap > aside ul li {
		margin: 0 0 10px;
		padding: 0;
		width: calc(50% - 5px);
	}
}