@charset "UTF-8";

/*
Theme Name: noumanji
Description: Bootstrap-V5.3 Design WordPress tmpl.
Author: cmdc
Author URI: c-mdc.jp
Version: 5.3
Requires PHP: 7.0
*/

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, caption, canvas, center, cite, code, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, form, footer, header, hgroup, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, main, small, span, strike, strong, sub, summary, sup, tt, table, tbody, tfoot, thead, time, tr, th, td, u, ul, var, video {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: inherit;
	font-style: inherit;
	text-align: center;
	vertical-align: baseline;
	white-space: normal;
	border: 0;
	background: transparent;
	outline: 0;
}
:root {
	--maincolor:    #344041;
	--subcolor:     #285652;
	--titlecolor:   #073C3F;
	--linkcolor:    #716650;
	--bgcolor:      #716650;
	--bgcolor2:     #3F6EB4;
	--bgcolor3:     #2AA6E2;
	--bgcolor4:     #A5D342;
	--bgcolor5:     #B3C4DF;
}
*, *:before, *:after {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 100%;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

/* ------------------------------------
// common
------------------------------------ */
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	padding: 0;
	text-align: center;
	font-optical-sizing: auto;
	font-weight: normal;
	font-feature-settings: "palt";
		-webkit-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	word-wrap : break-word;
	word-break: break-all;
	overflow-wrap : break-word;
	overflow-x: hidden;
	box-sizing : border-box;
	background: url('common/images/bg.jpg') no-repeat center top transparent !important;
	background-size: cover !important;

	background-attachment: fixed !important;
}
.webp body {
	background: url('common/images/bg.webp') no-repeat center top transparent !important;
	background-size: cover !important;
	background-attachment: fixed !important;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
	display: block;
}
a {
	overflow: hidden;
	color: var();
	outline: none !important;
	-webkit-transition: all .7s;
	-moz-transition: all .7s;
	-ms-transition: all .7s;
	-o-transition: all .7s;
	transition: all .7s;
}
a:link, a:visited, a:active, a:hover, a:focus {
	overflow: hidden !important;
	outline: none !important;
}
a {
	color: var(--linkcolor) !important;
}
a:hover {
	color: var(--bgcolor2) !important;
	text-decoration: underline;
}
:focus {
	outline: none !important;
}
/*
a:visited {
	color: #2188D8 !important;
}*/
.current {
	color: #00b5e2 !important;
}
main#page a:link {
	text-decoration: underline !important;
}
.link {
	padding-top: 225px !important;
}
.page_link {
	margin-top: -225px !important;
	padding-top: 225px !important;
}
img {
	max-width: 100% !important;
	height: auto !important;
}
a img {
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
}
a:hover img {
	-webkit-transform: scale(0.98);
	-moz-transform: scale(0.98);
	-o-transform: scale(0.98);
	-ms-transform: scale(0.98);
	transform: scale(0.98);
}
.noimage {
	height: 100%;
	display: block;
	color: #FFF;
	font-size: large;
	text-align: center;
	line-height: 10rem;
	background: #eee;
}
.none {
	display: none;
}
[class*="col-"] {
	margin-bottom: 1rem;
	/*overflow: hidden;*/
}
blockquote {
	padding: 1rem 1.25rem !important;
	color: #454545 !important;
	background-color: #f5f5f5;
	border-radius: .3rem;
}
blockquote small {
	display: block !important;
	text-align: left !important;
}
sub, sup {
	position: relative;
	top: -0.5em;
	font-size: 50% !important;
	line-height: 0;
	vertical-align: baseline;
}
/* ------------------------------------
// background
------------------------------------ */
.bg-main { background-color: #162f4e !important;}
.bg-y { background-color: #970361 !important;}
.bg-x { background-color: #003494 !important;}
.bg-gray { background-color: #999 !important;}
.bg-contact { background-color: #fdeef1 !important;}
.bg-beige {background-color: #FFF8E1 !important;}
.bg-01 { background-color: #DDFCF6 !important}
.bg-02 { background-color: var(--bgcolor2);}
.bg-03 { background-color: var(--bgcolor3);}
.bg-tbl {background-color: #b0d2f5 !important;}
.pattern-01 {
	padding-bottom: 8vh;
	background-image: url("svg/bg-pattern01.svg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
}
.bg-gradation_left h2.title > span {
	color: #FFF !important;
}
.bg-30 {
	background-color: rgba(255, 255, 255, 0.3) !important;
}
.bg-50 {
	background-color: rgba(255, 255, 255, 0.5) !important;
}

/* ------------------------------------
// border
------------------------------------ */
.border-orange {border: 2px solid #EF8300 !important;}

/* ------------------------------------
// typography
------------------------------------ */
h1, h2, .h1, .h2 {
	margin: 0 0 1rem;
	text-align: left;
	line-height: 1.4 !important;
	letter-spacing: .1rem;
}
h3, h4, h5, h6, .h3, .h4, .h5, .h6 {
	margin: 0 0 1rem;
	text-align: left;
	line-height: 1.4 !important;
	color: var(--maincolor) !important;
	letter-spacing: 0;
}
h1 {
	line-height: 1.3;
}
.title {
	font-family: "Castoro", serif !important;
	font-weight: 400 !important;
	color: var(--titlecolor);
	letter-spacing: .1rem !important;
}
.title > small {
	display: block;
	text-align: left;
	font-size: 45% !important;
}
.title a:hover {
	text-decoration: none !important;
}
.text-primary a:hover {
	color: #0870d8 !important;
}
h1.title {
	margin: 2rem 0 5rem !important;
	line-height: 1.3;
	letter-spacing: 0 !important;
}
h1.title > small {
	display: block;
	text-align: center;
	font-size: .5em !important;
}
h2 {
	margin: 1rem 0 2.5rem !important;
	line-height: 1.4;
}
h2.title {
	margin: 0 0 5rem !important;
	text-align: center;
	letter-spacing: .5rem !important;
}
h2.title span::before {
	margin-right: 1rem;
	font-family: "bootstrap-icons";
	content: "\F4FE";
	opacity: 0.5;
}
h2.title span::after {
	margin-left: 1rem;
	font-family: "bootstrap-icons";
	content: "\F4FE";
	opacity: 0.5;
}
h2.title > span {
	display: block;
	text-align: center;
	color: initial !important;
	font-weight: 500;
	font-size: .36em !important;
	letter-spacing: 0.5px;
	/*font-family: "Helvetica Neue", "Lato", "Noto Sans JP", sans-serif;*/
	font-family: "Zen Old Mincho", serif !important;
}
h3 {
	margin: 0 0 1rem !important;
	padding: 0;
	line-height: 1.5;
}
h3.title {
	margin-bottom: 1.5rem !important;
	line-height: 1.3 !important;
	letter-spacing: 0.5px !important;
}
.number-title {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
}
.number-title span.numbers {
	margin-right: 1rem;
	padding: .4rem 1rem .55rem;
	display: inline-block;
	font-size: .7em;
	font-family: "Lora", serif !important;
	color: #FFF !important;
	background-color: var(--subcolor);
	border-radius: 3px;
}
h4 {
	margin: .5rem 0 1rem;
	font-weight: 700 !important;
}
h5 {
	margin: 0 0 .75rem !important;
	color: inherit;
}
h6 {
	margin: 0 0 .5rem;
}
p {
	margin: 0 0 1rem !important;
	text-align: left;
}
/* ------------------------------------
// responsive font
------------------------------------ */
@media (min-width: 768px) {
	h3, .h3 {
		font-size: clamp( 1.75rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 2.8rem );
	}
	h4, .h4 {
		font-size: clamp( 1.6rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 2.1rem );
	}
	h5, .h5 {
		font-size: clamp( 1.5rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 1.85rem );
	}
}

strong {
	font-weight: 700 !important;
}
em {
	font-weight: 900 !important;
	font-style: normal !important;
}
small {
	display: inline-block;
	font-size: 85% !important;
	line-height: 1.6;
}
p > small {
	letter-spacing: 0 !important;
}
.smaller {
	font-size: .7em !important;
	letter-spacing: 0 !important;
}
.description {
	font-size: 95% !important;
	line-height: 1.5 !important;
	letter-spacing: 0.5px !important;
}
label {
	padding: 1.5rem 2.5rem;
	line-height: 1;
	text-transform: capitalize;
	font-weight: bold;
	color: #FFF;
	letter-spacing: 0.5px;
	background: #333 !important;
	border-radius: .25rem;
}
label > small {
	display: block;
	text-align: center;
	font-size: 70%;
	color: #0AA800;
}
label.sub-label {
	padding: 1rem 1.5rem;
	line-height: 1;
	text-transform: capitalize;
	font-weight: 700;
	color: #FFF;
	letter-spacing: 0.5px;
	border-radius: .75rem;
}
label.label-list {
	margin-right: .5rem;
	padding: .75rem 1rem;
	line-height: 1;
	text-transform: capitalize;
	font-weight: 700;
	color: #FFF !important;
	letter-spacing: 0.5px;
	border-radius: .35rem;
	background-color: #09E !important;
}
hr {
	margin-top: 1.5rem !important;
	border-top: 1px solid rgba(0, 0, 0, 0.3) !important;
}
.eng {
	letter-spacing: 0 !important;
}
.text-link {
	font-weight: bold;
}
.text-min {
	font-family: "Zen Old Mincho", serif !important;
	font-weight: 400 !important;
}
.pc-center {
	text-align: center !important;
}
.size-2 {
	font-size: clamp( 1.6rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 1.85rem );
}
.ls-eng {
	letter-spacing: -2px !important;
}
.ls-0 {
	letter-spacing: 0 !important;
}
.ls-2 {
	letter-spacing: .2rem !important;
}
.ls-3 {
	letter-spacing: .3rem !important;
}
.lh-2 {
	line-height: 2 !important;
}
.slug {
	text-transform: capitalize;
}

/* ------------------------------------
// space
------------------------------------ */
.mb-6 {
	margin-bottom: 3.5rem !important;
}
.mb-7 {
	margin-bottom: 4rem !important;
}
.mb-8 {
	margin-bottom: 5rem !important;
}
.top-space {
	padding-top: 5rem !important;
}

/* ------------------------------------
// icon
------------------------------------ */
.fa-line {
	color: #00B900 !important;
}

/* ------------------------------------
// header
------------------------------------ */
header#main-head {
	padding: .5rem 0;
	overflow: hidden;
}
header#main-head .site-title {
	margin: .3rem 0 .5rem 1rem !important;
	text-align: left;
	font-size: 1.35rem;
	color: #101010;
	font-weight: normal !important;
}

.header-nav {
	margin: 0;
	color: #FFF;
	background-color: var(--subcolor);
}
.icn-text {
	margin-bottom: .25rem;
	padding: 0;
	display: block;
	color: #0AA800;
	font-weight: 700;
	font-size: 2.7rem !important;
	text-decoration: none !important;
	background-position: left 0 center;
	background-repeat: no-repeat;
	background-size: 2em 2em;
	overflow-wrap: break-word;
}
.header-nav .header-nav__inner {
	color: #FFF;
}
.header-nav .header-nav__inner .site-description {
	margin: 0 0 .2rem !important;
	text-align: center;
	font-size: .65em !important;
	letter-spacing: 0;
	color: rgba(0, 0, 0, 0.5);
}
.header-nav .header-nav__inner img.header-logo {
	margin: 0 auto !important;
	display: block;
	width: 30%;
	max-width: 200px !important;
	height: auto;
}
.header-nav .header-nav__inner .btn-reserve {
	padding: .5rem 1.5rem .5rem;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 99999999999;
	width: auto;
	text-align: center;
	text-decoration: none !important;
	font-size: .95em;
	line-height: 2;
	letter-spacing: 1px;
	font-family: "Castoro", serif !important;
	font-weight: 400 !important;
	color: #FFF !important;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
		-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
		-moz-box-shadow: 2px 2px 2px rgba(0,0,0,0.1);
	background-image: linear-gradient(to right bottom, #278974, #1b7c6f, #14706a, #116362, #12575a);
}
.header-nav .header-nav__inner .col-flex {
	margin-top: .7rem !important;
}
.header-nav .header-nav__inner .col-flex li {
	margin: 0;
	padding: 0 .75rem;
	line-height: 1.2 !important;
}
.header-nav .header-nav__inner .col-flex li:last-child {
	padding-right: 0 !important;
}
.header-nav .header-nav__inner .col-flex li small {
	font-size: .7em !important;
}
.header-nav .header-nav__inner a.icn-text {
	color: #FFF !important;
}
.header-nav .header-nav__inner {
	padding: .5rem;
	color: #FFF !important;
}
.header-nav .site-title {
	margin: 0 !important;
	font-weight: 500 !important;
	color: #FFF;
	font-size: 1.55rem !important;
	letter-spacing: 0.5px !important;
}
.header-nav .header-nav__inner p {
	line-height: 1.3 !important;
}
.header-nav .header-nav__inner p > small {
	font-size: .7em !important;
}
.header-nav .header-nav__inner a.icn-text {
	color: #FFF !important;
}
.header-nav .header-nav__inner a.btn {
	line-height: 1.2 !important;
	color: #FFF !important;
}
.header-nav .header-nav__inner a.btn small {
	font-size: .6em !important;
}
.header-nav .header-nav__inner .col-flex img {
	width: 48px;
	height: auto;
}
@media (max-width: 767.98px) {
	.header-nav .header-nav__inner .container-fluid,
	.navbar .container-fluid {
		padding: 0 1vw !important;
	}
}
@media (max-width: 1199.98px) {
	.header-nav .header-nav__inner .container-fluid,
	.navbar .container-fluid {
		padding: 0 2vw !important;
	}
	.header-nav .header-nav__inner span.contact-title {
		font-size: clamp(1.4rem, 1vw, 1.65rem) !important;
	}
}

/*-----------------------------------------------------
// slider
-----------------------------------------------------*/
.zoom-slider {
	width: 100vw;
	height: calc(100vh * 1 / 1.5);
	overflow: hidden;
	position: relative;
}
.zoom-slider::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: url('common/slide/bg.png') repeat center center;
	z-index: 11;
}
.slider-img {
	width: 100%;
	height: 100%;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	animation-name: slide-fade;
	animation-duration: 36s;
	animation-iteration-count: infinite;
	transform: scale(1.1);
	z-index:10;
	opacity: 0;
}
.slider-img:nth-of-type(1) {
	background-image: url('common/slide/slide01.jpg');
}
.webp .slider-img:nth-of-type(1) {
	background-image: url('common/slide/slide01.webp');
}
.slider-img:nth-of-type(2) {
	background-image: url('common/slide/slide02.jpg');
	-webkit-animation-delay: 6s;
	animation-delay: 6s;
}
.webp .slider-img:nth-of-type(2) {
	background-image: url('common/slide/slide02.webp');
	-webkit-animation-delay: 6s;
	animation-delay: 6s;
}
.slider-img:nth-of-type(3) {
	background-image: url('common/slide/slide03.jpg');
	-webkit-animation-delay: 12s;
	animation-delay: 12s;
}
.webp .slider-img:nth-of-type(3) {
	background-image: url('common/slide/slide03.webp');
	-webkit-animation-delay: 12s;
	animation-delay: 12s;
}
.slider-img:nth-of-type(4) {
	background-image: url('common/slide/slide04.jpg');
	-webkit-animation-delay: 18s;
	animation-delay: 18s;
}
.webp .slider-img:nth-of-type(4) {
	background-image: url('common/slide/slide04.webp');
	-webkit-animation-delay: 18s;
	animation-delay: 18s;
}
.slider-img:nth-of-type(5) {
	background-image: url('common/slide/slide05.jpg');
	-webkit-animation-delay: 24s;
	animation-delay: 24s;
}
.webp .slider-img:nth-of-type(5) {
	background-image: url('common/slide/slide05.webp');
	-webkit-animation-delay: 24s;
	animation-delay: 24s;
}
.slider-img:nth-of-type(6) {
	background-image: url('common/slide/slide06.jpg');
	-webkit-animation-delay: 24s;
	animation-delay: 24s;
}
.webp .slider-img:nth-of-type(6) {
	background-image: url('common/slide/slide06.webp');
	-webkit-animation-delay: 30s;
	animation-delay: 30s;
}
@keyframes slide-fade {
	0% {
		opacity: 0;
	}
	20%{
		opacity: 1;
	}
	80%{
		opacity: 0;
		transform: scale(1);
	}
	100%{
		opacity: 0;
		z-index: 0;
	}
}
@media (max-width: 767.8px) {
	.zoom-slider {
		width: 100vw;
		height: 40vh;
	}
	.slider-img {
		width: 100%;
		height: 100%;
	}
	.slider-img:nth-of-type(1) {
		background-image: url('common/slide/slide01_sp.jpg');
	}
	.webp .slider-img:nth-of-type(1) {
		background-image: url('common/slide/slide01_sp.webp');
	}
	.slider-img:nth-of-type(2) {
		background-image: url('common/slide/slide02_sp.jpg');
		-webkit-animation-delay: 6s;
		animation-delay: 6s;
	}
	.webp .slider-img:nth-of-type(2) {
		background-image: url('common/slide/slide02_sp.webp');
		-webkit-animation-delay: 6s;
		animation-delay: 6s;
	}
	.slider-img:nth-of-type(3) {
		background-image: url('common/slide/slide03_sp.jpg');
		-webkit-animation-delay: 12s;
		animation-delay: 12s;
	}
	.webp .slider-img:nth-of-type(3) {
		background-image: url('common/slide/slide03_sp.webp');
		-webkit-animation-delay: 12s;
		animation-delay: 12s;
	}
	.slider-img:nth-of-type(4) {
		background-image: url('common/slide/slide04_sp.jpg');
		-webkit-animation-delay: 18s;
		animation-delay: 18s;
	}
	.webp .slider-img:nth-of-type(4) {
		background-image: url('common/slide/slide04_sp.webp');
		-webkit-animation-delay: 18s;
		animation-delay: 18s;
	}
	.slider-img:nth-of-type(5) {
		background-image: url('common/slide/slide05_sp.jpg');
		-webkit-animation-delay: 24s;
		animation-delay: 24s;
	}
	.webp .slider-img:nth-of-type(5) {
		background-image: url('common/slide/slide05_sp.webp');
		-webkit-animation-delay: 24s;
		animation-delay: 24s;
	}
	.slider-img:nth-of-type(6) {
		background-image: url('common/slide/slide06_sp.jpg');
		-webkit-animation-delay: 24s;
		animation-delay: 24s;
	}
	.webp .slider-img:nth-of-type(6) {
		background-image: url('common/slide/slide06_sp.webp');
		-webkit-animation-delay: 30s;
		animation-delay: 30s;
	}
}

/* ------------------------------------
// color variation
------------------------------------ */
.svg-title {
	fill: currentColor !important;
}
.text-serif {
	font-family: 'Shippori Mincho', serif !important;
}
.shodow {
	box-shadow: 0 0 2px rgba(0,0,0,.15);
	border-radius: .35rem;
	overflow: hidden;
}

/* ------------------------------------
// button
------------------------------------ */
.container-button {
	grid-area: main;
	align-items: center;
	align-self: center;
	justify-content: center;
	justify-self: center;
}
.button {
	padding: 1.75rem 3.5rem;
	display: inline-block;
	position: relative;
	z-index: 0;
	outline: none;
	color: #FFF !important;
	font-size: 1.8rem;
	font-weight: bold !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1;
	letter-spacing: .1rem;
	text-shadow: initial;
	border: 2px solid #072752;
	border-radius: .2rem;
	background-color: #072752;
}
.button::before,
.button::after {
	width: 50%;
	height: 100%;
	top: 0;
	display: block;
	position: absolute;
	z-index: -1;
	content: "";
	background-color: #072752;
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button:hover {
	color: #FFF !important;
	border-color: #162941;
	background-color: #162941;
}
.button:focus,
.button:active,
.button:visited {
	color: #FFF !important;
}
.button::before {
	right: 0;
}
.button::after {
	left: 0;
}
.button:hover::before,
.button:hover::after {
	width: 0;
	background-color: #162941;
}
.button .fas {
	margin-right: .6rem;
}
.button > small {
	margin-bottom: .25rem;
	display: block;
	line-height: 1.1;
	text-align: center;
}
.button > .display-3 {
	font-weight: 600;
	letter-spacing: 0 !important;
}

/* ------------------------------------
// list
------------------------------------ */
ul, ol {
	padding-left: 0 !important;
}
ul, ol, dl dt, dd {
	line-height: 1.5;
}
dl {
	margin: 0 0 2rem;
}
dt {
	margin: 0 0 .5rem;
	padding: 0 0 .5rem;
	text-align: left;
	font-size: 1em;
	letter-spacing: 0.5px;
}
dd {
	margin: 0 0 1rem;
	line-height: 1.6;
	text-align: left;
	font-size: .95em;
	letter-spacing: 0.5px;
}
li {
	margin: .5rem 0 .5rem;
	list-style: none;
}
ul.arrow {
	margin: 0 0 1rem;
}
ul.arrow li {
	margin: 0 0 .35rem;
	text-align: left;
}
ul.arrow li:before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
}
.icn-text {
	margin-bottom: .25rem;
	padding: 0;
	display: block;
	color: #0AA800;
	font-weight: 700;
	font-size: 2.7rem !important;
	text-decoration: none !important;
	background-position: left 0 center;
	background-repeat: no-repeat;
	background-size: 2em 2em;
	overflow-wrap: break-word;
	&.freedial {
		background-image: url("svg/freedial.svg");
	}
	&.message {
		background-image: url("svg/icon_mail.svg");
	}
}
.sub-list {
	margin: 0 0 1rem;
}
hr.hr-dotted {
	margin: 3rem 0 4rem !important;
	border-top: 2px dotted rgba(125, 125, 125, 0.3) !important;
}
hr.hr-dotted2 {
	margin: 2rem 0 2rem !important;
	border-top: 2px dotted rgba(255, 255, 255, 0.5);
}
hr.hr-line {
	margin: 2em 0;
	border-top: 2px dotted rgba(0, 0, 0, 0.1);
}
details {
	margin: 0 0
}
summary {
	padding: 1rem 1rem;
	position: relative;
	display: block; /* 矢印を消す */
	list-style: none !important;
	padding-left: 20px; /* アイコン分の余白 */
	cursor: pointer;
	font-weight: 400 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
summary.h6 {
	font-weight: 700 !important;
	font-size: 1.6rem !important;
}
summary::-webkit-details-marker {
	display: none !important; /* 矢印を消す */
}
/* 疑似要素でアイコンを表示 */
summary::before {
	margin-right: .5rem;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	content: "\f086";
	color: #09C;
}
summary::after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f078";
	color: rgba(0, 0, 0, 0.5);
	position: absolute;
	left: auto;
	right: 1.5rem;
}
/* オープン時 */
details[open] summary:after {
	margin: auto;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f077";
	color: rgba(0, 0, 0, 0.5);
	position: absolute;
	left: auto;
	right: 1.5rem;
}
details .details-inner {
	padding: 2rem 1.5rem;
	background-color: rgba(255, 255, 255, 0.75);
}

/* ------------------------------------
// media
------------------------------------ */
object {
	pointer-events: none;
}
a > object {
	display: inline-block;
}
.thumbnail>img, .thumbnail a>img, .carousel-inner>.item>img, .carousel-inner>.item>a>img {
	margin-top: 0;
	margin-bottom: 0;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.navbar-brand img {
	margin-top: 0;
	margin-bottom: 0;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.img-responsive {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.img-round {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
	border-radius: 50%;
}
.img-svg {
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
	width: 100%;
	max-width: 100%;
	height: auto;
}
.logo {
	margin: 0 auto 10px 0;
	width: 160px;
	height: auto;
	display: block;
}
.logo-svg {
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 10%;
	width: 100%;
	max-width: 100%;
	height: auto;
}
.svg-logo {
	margin: 0 auto;
	width: 240px;
	height: auto;
	display: block;
	text-align: center;
}
.icn {
	margin: 0 auto;
	width: 50%;
	height: auto;
	display: block;
	text-align: center;
}
.img-l {
	margin: 0 auto 0 0;
	display: block;
	max-width: 100% !important;
	height: auto;
}
.img-fit {
	max-width: 100% !important;
	width: 100% !important;
	height: auto;
}
.img-50 {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
.aspect-ratio-block {
	aspect-ratio: 16 / 9;
	width: 100%;
}
.aspect-ratio-block .img-responsive {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
img.img-border {
	box-shadow: 10px 10px 0 hsla(0, 0%, 0%, 0.2);
}
img.img-border2 {
	box-shadow: 10px 10px 0 hsla(0, 0%, 100%, 0.15);
}
img.img-border3 {
	box-shadow: 10px 10px 0 rgba(3, 76, 94, 0.2);
}
.youtube {
	padding-top: 56.25%;
	width: 100%;
	height: 100%;
	position: relative;
}
.youtube iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

/* ------------------------------------
// layout
------------------------------------ */
main {
	margin: 0;
	padding: 0;
	min-height: 10vh;
	position: relative;
}
main#post {
	margin-top: 3rem !important;
}
article {
	margin: 0;
	padding: 0;
	overflow: hidden;
}
article#top {
	margin-top: 0;
}
article#pages {
	text-align: left;
}
section {
	margin: 0 0;
	padding: 7rem 0 7rem;
	position: relative;
	background-color: rgba(255, 255, 255, 0.3);
}
section .container,
section .container-xl {
	position: relative;
	z-index: 2;
}
article section {
	padding: 7rem 0 7rem;
}
section.section__element {
	padding: 7rem 0 7rem;
	color: #FFF;
	background-color: var(--subcolor) !important;
}
section.element__left {
	padding: 7rem 0 7rem;
}
section.element__left:after {
	content: "";
	position: absolute;
	width: 92%;
	height: 96%;
	left: 0;
	top: 2%;
	z-index: 1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 403.27 137.72'%3E%3Cpath d='M0 0h403.27v137.72H0z' style='fill:%23FFFFFF50'/%3E%3C/svg%3E");
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 100%;
}
section.element__right {
	padding: 7rem 0 7rem;
}
section.element__right:after {
	content: "";
	position: absolute;
	width: 92%;
	height: 96%;
	right: 0;
	top: 2%;
	z-index: 1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 403.27 137.72'%3E%3Cpath d='M0 0h403.27v137.72H0z' style='fill:%2328565230'/%3E%3C/svg%3E");
	background-position: right top;
	background-repeat: repeat-y;
	background-size: 100%;
}
article section.parallax {
	position: relative;
}
article section.parallax-primary {
	background-image: url('common/background/parallax-primary.jpg') !important;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
article section.parallax-primary::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.5);
}
article section.parallax-secondary {
	position: relative;
	background-image: url('common/background/parallax-secondary.jpg') !important;
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
article section.parallax-secondary::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.5);
}
article section.access-map {
	margin: 0;
}
article section.access-map .map {
	position: relative;
}
article section.access-map .map iframe {
	width: 100%;
	aspect-ratio: 16/5;
}
article section#contact {
	padding: 3rem 0 3rem;
	color: #101010;
}
section .mv-element .container {
	margin:0;
	padding:0;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
article section .container_innner {
	margin-bottom: 5rem;
}
aside {
	padding: 0 0 2rem;
	margin: 0 0 1rem;
}
aside section {
	padding: 0;
}
footer {
	margin: 0 auto 0;
	padding: 0 0 0;
	position: relative;
	text-align: center;
	color: #FFF;
	background: url('common/images/footer-bg.jpg') repeat center top transparent !important;
	background-size: 10rem 10rem !important;
}
.webp footer {
	margin: 0 auto 0;
	padding: 0 0 0;
	position: relative;
	text-align: center;
	color: #FFF;
	background: url('common/images/footer-bg.webp') repeat center top transparent !important;
	background-size: 20rem 20rem !important;
}
.z-20 {
	z-index: 20;
}
.clearfix, .post_body {
	zoom: 1;
}
.clearfix:after, .post_body:after {
	height: 0;
	display: block;
	visibility: hidden;
	content: ".";
	clear: both;
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
.room-gallery {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.room-gallery div {
	width: calc(100%/2 - 5px);
	height: auto;
	display:flex;
	flex-direction:column;
	box-sizing: border-box;
}
.gallery_slider_wrap {
	margin: 0 0 .75rem;
	padding: 10px;
	width: 100%;
	box-sizing: border-box;
	background-color: #FFF;
}
.gallery_slider {
	margin: 0 0 10px;
}
.gallery_slider_thumb {
	margin: 0;
}
.gallery_slider_thumb .slick-list {
	margin: 0 -3px;
}
.gallery_slider_thumb .thumbnail-img {
	padding: 0 3px;
}
.gallery_slider_thumb .slick-current {
	opacity: 1 !important;
}
.page-nav {
	margin: .5rem 0 0;
	text-align: right;
}
.page-nav a {
	margin: 0 1rem;
	display: inline-block;
	color: #222 !important;
	font-weight: 600;
}
.thumbnail .slick-track {
	transform: unset !important;
}
.thumbnail-img {
	opacity: 0.3;
	transition: opacity .3s linear;
}
.thumbnail .slick-current {
	opacity: 1;
}

.box {
	margin: 0 0 .2rem;
	padding: .5rem;
	text-align: center;
	background: #FFF;
	border-radius: 3px;
}
.box i,.box .fa, .box .fas, .box .fab {
	color: #69ABB0;
}
.box h5 {
	margin: .2rem 0 0 !important;
	text-align: center;
	font-weight: 400 !important;
	font-size: .7em !important;
	color: var(--bs-body-color) !important;
	letter-spacing: 0 !important;
}

/*-----------------------------------------------------
// footer
-----------------------------------------------------*/
footer section {
	padding: 3rem 0 !important;
	background-color: transparent !important;
}
footer a {
	color: #FFF !important;
	text-decoration: none !important;
}
footer a:hover {
	color: rgba(255, 255, 255, 0.7) !important;
	text-decoration: none !important;
}
footer a:visited {
	color: #FFF !important;
}
footer #copy {
	padding: 1.5rem .5rem !important;
}
#footer-banner h4 {
	margin-bottom: 1rem !important;
}
#footer-banner a {
	display: block;
}
#footer-banner a:hover {
	text-decoration: none !important;
	opacity: 0.8;
}
footer .footer-nav {
	margin: 0 0 2.5rem;
	padding: 0;
	font-size: .85em;
}
footer .footer-nav li {
	margin: 0 0 .5rem;
	text-align: left !important;
	font-weight: 500;
}
footer .footer-nav li a::before {
	margin-right: .35rem;
	font-family: bootstrap-icons;
	font-weight: 400;
	content: "\F285";
}
footer .footer-nav li ul {
	margin-top: .5rem;
	margin-left: 1em;
}
footer h4 {
	color: #FFF !important;
}
footer h4 small {
	font-size: 70% !important;
}
footer h5 {
	margin: 0 0 .5rem;
	font-weight: bold !important;
	letter-spacing: .1rem;
}
footer .title small {
	display: inline-block;
	font-size: 80%;
	vertical-align: middle;
}
footer h6 {
	font-size: 1.6rem !important;
	letter-spacing: 0 !important;
}
footer p {
	margin: 0 0 .5rem;
	font-size: .85em;
	text-align: left;
	letter-spacing: 0.5px;
}
footer .svg-icon {
	margin: 0 1rem 0;
	padding: 0;
	display: inline-block;
	width: 42px;
}
footer .footer-logo {
	margin: 0 auto 10px;
	padding: 0;
	display: block;
	width: 50%;
	max-width: 200px !important;
}
footer .logo-svg:hover {
	text-decoration: none !important;
}
footer .btn-reserve {
	display: none;
}
.copyright {
	margin: 0 !important;
	padding: 0;
	display: block;
	text-align: center;
	font-size: 80%;
	color: #FFF;
	font-size: 1.2rem !important;
	letter-spacing: 0 !important;
}

/* ------------------------------------
// slider
------------------------------------ */
header#mv {
	margin: 0 auto;
	padding: 2rem 5vw 2rem;
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--bgcolor4);
	background: linear-gradient(0deg, var(--bgcolor4) 40%, rgba(255,255,255,1) 40%);
}
.main-visual {
	margin: 0 auto 0;
	padding-top: 0;
	height: 65vh;
	position: relative;
	background: url('common/mv/mv.jpg') no-repeat right center #FFF;
	background-size: cover;
	text-align: center;
	z-index: 1;
}
.main-visual::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.3);
}
.main-visual .visual-contents {
	margin: 0 !important;
	padding: 0 1rem !important;
	width: 55%;
	position: absolute;
	top: 50%;
	left: 1%;
	transform: translate(0%, -50%);
	overflow: hidden;
	z-index: 5;
	text-align: left;
}
.main-visual .visual-contents img.mv-svg {
	padding-left: 5%;
	width: 35%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.main-visual .visual-contents h1 {
	margin-bottom: 2rem;
	text-align: left;
	font-size: 4rem;
	font-weight: 900 !important;
	line-height: 1.8 !important;
	letter-spacing: 0 !important;
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5);
}
@media (min-width: 768px) {
	.main-visual .visual-contents h1 {
		font-size: clamp(24px, 2vw, 48px) !important;
	}
	.main-visual .visual-contents h1 .display-1 {
		font-size: clamp(40px, 4vw, 65px) !important;
	}
	.main-visual .visual-contents h1 .display-2 {
		font-size: clamp(32px, 3vw, 55px) !important;
	}
}
.main-visual .visual-contents h1 span {
	margin-right: 5px;
	display: inline-block;
	text-align: left;
}
.main-visual .visual-contents ul.check-list {
	margin: 0 0 2rem !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}
.main-visual .visual-contents ul.check-list li {
	margin: 0 0 .75rem;
	letter-spacing: 0 !important;
}
.main-visual .visual-contents ul.check-list li:before {
	color: var(--bgcolor);
}
.main-visual .visual-contents .img-responsive {
	margin: 0 auto 0 0 !important;
	width: 100%;
	max-width: 340px !important;
	height: auto;
}
.main-visual .visual-contents_prof {
	margin: 0 !important;
	padding: 0 1rem !important;
	width: 35%;
	position: absolute;
	bottom: 0;
	right: 1%;
	overflow: hidden;
	z-index: 3;
	text-align: left;
}
.main-visual .visual-contents_prof .prof-pic {
	position: relative;
}
.main-visual .visual-contents_prof .prof-pic p {
	margin: 0 !important;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	color: #FFF;
	font-weight: 500 !important;
	font-size: .9em;
	letter-spacing: 0 !important;
}
#page-header {
	padding: 0 !important;
	position: relative;
	background-color: #FFF !important;
}
#page-header .header-element {
	margin: 0 auto;
	padding-top: 25%;
	height: 0;
	position: relative;
	background-image: url('common/header/pagehead.jpg');
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-color: #FFF;
	opacity: 1;
	mix-blend-mode: multiply;
}
#page-header .header-element::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: url('common/slide/bg.png') repeat center center;
}
#page-header .container {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#page-header .container h2.title {
	margin-bottom: 0 !important;
	text-align: center;
	border: none !important;
}
@media (max-width: 767.98px) {
	#page-header {
		padding: 0 !important;
		position: relative;
		background-color: #FFF !important;
	}
	#page-header .header-element {
		margin: 0 auto;
		padding-top: 52.083%;
		height: 0;
		position: relative;
		background-image: url('common/header/pagehead_sp.jpg');
		background-position: center bottom !important;
		background-size: cover !important;
	}
	#page-header .container {
		top: 50%;
	}
	#page-header .container h1.title {
		margin-top: 0 !important;
		padding: 5px 10px !important;
		font-size: 2.7rem !important;
		letter-spacing: .2rem !important;
		background: rgb(0,0,0);
		background: linear-gradient(90deg, #17746466 0%, #17746400 80%);
	}
}

/*-----------------------------------------------------
// pages
-----------------------------------------------------*/
#page-top {
	margin-top: 0;
}
.page-title {
	padding: 0 !important;
	border: none !important;
	background-color: transparent !important;
}
.tab-title {
	margin: 0 auto 2rem;
	padding: .75rem 1rem;
	width: 50%;
	display: inline-block;
	color: #FFF !important;
	background-color: #08287F;
	border-radius: 0 0 1rem 1rem;
}

/*-----------------------------------------------------
// pankuzu
-----------------------------------------------------*/
.breadcrumbs {
	margin: 1.5rem 0 0;
	text-align: left;
	font-size: 1.2rem;
	color: #FFF;
	letter-spacing: 0 !important;
}
.breadcrumbs .fas {
	margin-left: .25rem;
	margin-right: .25rem;
	color: #FFF;
}
.breadcrumbs a {
	color: #FFF !important;
}
.breadcrumbs span a:hover {
	color: #28a7e1 !important;
	text-decoration: none !important;
}
.breadcrumb-area {
	margin: 0 auto 2rem;
	font-size: 1.2rem;
	text-align: left;
	color: #FFF;
}
.breadcrumb-area span {
	margin-right: .25rem;
}
.breadcrumb-area span.current-item {
	color: #28a7e1;
}
@media (max-width:767.98px) {
	.breadcrumb-area {
		font-size: 1rem;
	}
}
/*-----------------------------------------------------
// google map
-----------------------------------------------------*/
#map {
	width: 100%;
	height: 520px;
	position: relative;
}
#top-map {
	width: 100%;
	height: 450px;
	position: relative;
}
#top-map iframe,
#top-map object,
#top-map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.g-map {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
}
.g-map iframe, .g-mapr object, .g-map embed {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* -- pager --*/
.pager {
	margin-top: 2rem;
	margin-bottom: 3rem;
	padding: 0 1rem;
	width: 100%;
	overflow: hidden;
	clear: both;
	list-style: none;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}
.pager .page-prev {
	padding: 1rem 2.5rem !important;
	width: 100%;
}
.pager .page-prev .fas {
	margin-right: 2rem;
}
.pager .page-next {
	padding: 1rem 2.5rem !important;
	width: 100%;
}
.pager .page-next .fas {
	margin-left: 2rem;
}
.pager .page-none-arrow {
	text-align: center;
	color: #adb3db !important;
	background-color: transparent !important;
	border-radius: 0 !important;
}
.pager .page-prev-arrow:hover,
.pager .page-next-arrow:hover {
	color: #3d63ae !important;
}
.pager .page-prev:hover,
.pager .page-next:hover {
	color: #FFF !important;
	background-color: #3d63ae !important;
}
ul.page-numbers li {
	margin: 0 .25rem;
	display: inline-block;
}
.pager .pager-prev {
	margin: 0 2rem 1rem .5rem;
	display: inline-block;
	font-size: 1.4rem;
}
.pager .pager-next {
	margin: 0 .5rem 1rem 1rem;
	display: inline-block;
	font-size: 1.4rem;
}
.pager span {
	padding: .5rem 1rem;
}
.pager span.dots {
	padding: .5rem 1rem;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: #F6B669;
}
.pager a {
	padding: .85rem 1.2rem;
}
.pager a:hover {
	text-decoration: none !important;
}
.pager .pager-prev a,
.pager .pager-next a {
	padding: .85rem 1.2rem;
	border-radius: 1rem
}
.pager-number {
	margin-top: 3rem;
	padding: 0 1rem;
	margin-bottom: 1rem;
	overflow: hidden;
	list-style: none;
	font-size: .8rem;
	text-align: center;
	display: flex;
	justify-content: center;
}
.pager-number span.current {
	margin: 0 .5rem;
	padding: .5rem 1rem;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: #009AC3;
}
.pager-number a {
	margin: 0 .5rem;
	padding: .5rem 1rem;
	text-align: center;
	color: #FFF !important;
	text-decoration: none !important;
	border: none;
	border-radius: .3rem;
	background: #009AC3;
}


/* ------------------------------------
// display selector
------------------------------------ */
.hidden-pc {
	display: none !important;
}
.hidden-sp {
	display: block !important;
}

/* ------------------------------------
// @Media Queries
------------------------------------ */
@media (min-width: 1800px) {
	article#pages section {
		padding: 8rem 0;
	}
	img.img-responsive {
		width: 100%;
	}
}
@media (min-width: 768px) {
	.sp-br {
		display: none;
	}
}
@media (max-width: 1199.98px) {
	.main-visual .visual-contents h1 {
		font-size: 3.35rem;
	}
	.col-flex > p {
		margin-right: 1.5rem !important;
		margin-bottom: 0 !important;
		font-size: 1.35rem !important;
	}
	.icn-text {
		font-size: 2.4rem !important;
	}
	.header-nav .header-nav__inner p > small {
		font-size: .65em !important;
	}
	.header-nav .header-nav__inner a.btn {
		padding: 1rem 1.8rem !important;
		font-size: 1.5rem !important;
	}
	h1.title {
		font-size: 3.6rem !important;
	}
	.display-2 {
		font-size: 3.2rem !important;
	}
	.contents--element__btn {
		margin: 0 2%;
		width: 96%;
		position: absolute;
		bottom: -80px;
		border: 10px #FFF solid;
	}
	.contents--element__block h2.title span {
		font-size: .35em !important;
	}
	.contents--element__block h3.title {
		color: #FFF !important;
		font-size: 2.2rem;
	}
	.contents--element__btn a.btn {
		font-size: 2.2rem !important;
		letter-spacing: .1rem !important;
	}
	.contents--element__btn a.btn small {
		font-size: .5em !important;
	}
}
@media (max-width: 991.98px) {
	.main-visual .visual-contents h1 {
		font-size: 3.2rem;
	}
	.header-nav .header-nav__inner .site-description {
		margin-bottom: 0 !important;
		font-size: 1.3rem !important;
		text-align: center;
	}
	.navbar-dark .navbar-nav .nav-link {
		letter-spacing: .1rem !important;
	}
	article#pages section {
		padding: 5rem 0;
	}
	.header-nav .container-field {
		padding: 0 !important;
	}
	h1.title {
		margin: 2rem 0 5rem !important;
		line-height: 1.3;
		font-size: 3.4rem !important;
		letter-spacing: 0 !important;
	}
	.display-2 {
		font-size: 3rem !important;
	}
	.contents--element__btn {
		margin: 0 2%;
		width: 96%;
		position: absolute;
		bottom: -80px;
		border: 10px #FFF solid;
	}
	.contents--element__btn a.btn {
		font-size: 2rem !important;
		letter-spacing: .1rem !important;
	}
	.contents--element__btn a.btn small {
		font-size: .5em !important;
	}
}

/*--under 768px--*/
@media (max-width: 767.98px) {
	.header-nav .site-title {
		font-size: .85em !important;
		text-align: center !important;
	}
	.header-nav .header-nav__inner .container-fluid {
		padding: .5rem .25rem !important;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav {
		margin: 0;
		padding: 0;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 999999;
		background-color: var(--subcolor);
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav p {
		margin: 0 0 5px;
		padding: 5px;
		width: 100%;
		display: block;
		text-align: center;
		font-size: .85em !important;
		background-color: hsla(0, 0%, 0%, 0.25);
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu {
		margin: 0 !important;
		padding: .5rem 0;
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li {
		margin: 0;
		border-right: 1px solid rgba(255, 255, 255, 0.3);
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li:last-child {
		border-right: none;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li a.icn-text {
		font-size: 2rem !important;
		letter-spacing: 0 !important;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li img {
		margin: 0 auto .25rem;
		width: 25%;
		height: auto;
	}
	.header-nav .header-nav__inner .container-fluid #sp-nav .sp-menu li span {
		display: block !important;
		text-align: center;
		font-size: .7em !important;
		font-weight: 500 !important;
	}
	.header-nav .header-nav__inner a.btn {
		letter-spacing: 0 !important;
		font-weight: 700;
		font-size: 1.9rem !important;
	}
	.header-nav .header-nav__inner .sp-contact {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 99999;
		box-shadow: 0px -3px 2px -2px rgba(0,0,0,0.1);
	}
	.header-nav .container {
		padding: 0 !important;
	}
	.navbar {
		padding: 1rem;
	}
	.navbar-nav {
		font-size: 1.5rem;
	}
	nav.navbar-sub .collapse:not(.show) {
		display: block !important;
	}
	nav.navbar-sub ul.sub-menu {
		background-color: transparent !important;
	}
	nav.navbar-sub ul.sub-menu li {
		margin: 0 0 1.5rem !important;
		padding: 0 !important;
		font-size: 1.7rem !important;
		border: none !important;
	}
	nav.navbar-sub ul.sub-menu li a {
		padding: 0 0 0 1rem !important;
		text-align: left !important;
	}
	nav.navbar-sub ul.sub-menu li a::before {
		content: '- ';
	}
	header#mv {
		margin-top: 0;
		padding: 0 0 2rem;
	}
	header#mv .main-visual {
		margin: 0 auto 0;
		height: 50vh;
		position: relative;
		background: url('common/mv/mv_sp.jpg') no-repeat right bottom #FFF;
		background-size: cover;
		text-align: center;
		z-index: 1;
	}
	header#mv .main-visual::before {
		background-color: rgba(255, 255, 255, 0.5);
	}
	.main-visual .visual-contents {
		margin: 0 !important;
		padding: 0 1rem !important;
		width: 100%;
		overflow: hidden;
		z-index: 5;
		text-align: left;
	}
	.main-visual .visual-contents h1 {
		width: 100%;
		font-size: 2rem !important;
	}
	.main-visual .visual-contents h1 .display-1 {
		font-size: 3.2rem !important;
	}
	.main-visual .visual-contents h1 .mb-5 {
		margin-bottom: 1.8rem !important;
	}
	.main-visual .visual-contents h1 .display-2 {
		font-size: 2.5rem !important;
	}
	.main-visual .visual-contents_prof {
		margin: 0 !important;
		padding: 0 1rem !important;
		width: 45%;
		position: relative;
		bottom: 0;
		right: 0;
		overflow: hidden;
		z-index: 3;
		text-align: left;
	}
	article section,
	section {
		padding: 3rem 0 2.5rem;
	}
	section.element__left {
		padding: 7rem 0 7rem;
	}
	section.element__left:after {
		content: "";
		position: absolute;
		width: 85%;
		height: 94%;
		left: 0;
		top: 3%;
		z-index: 1;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 403.27 137.72'%3E%3Cpath d='M0 0h403.27v137.72H0z' style='fill:%23FFFFFF50'/%3E%3C/svg%3E");
		background-position: left top;
		background-repeat: repeat-y;
		background-size: 100%;
	}
	section.element__right {
		padding: 7rem 0 7rem;
	}
	section.element__right:after {
		content: "";
		position: absolute;
		width: 85%;
		height: 94%;
		right: 0;
		top: 3%;
		z-index: 1;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 403.27 137.72'%3E%3Cpath d='M0 0h403.27v137.72H0z' style='fill:%2328565230'/%3E%3C/svg%3E");
		background-position: right top;
		background-repeat: repeat-y;
		background-size: 100%;
	}
	article#pages section {
		padding: 2.5rem 0 1rem;
	}
	article#pages section {
		min-height: 400px;
	}
	article section.access-map {
		padding: 10px !important;
	}
	article section.access-map .map iframe {
		width: 100%;
		aspect-ratio: 4 / 3;
	}
	.title {
		letter-spacing: 0.5px !important;
	}
	h1.title {
		font-size: 3rem !important;
		text-align: center !important;
	}
	h1.title span {
		margin-top: .3rem;
		display: block;
		text-align: center;
		font-size: 1.1rem;
		letter-spacing: .3rem;
	}
	h2 {
		margin: 1rem 0 2rem !important;
		letter-spacing: .1rem !important;
	}
	h2.title {
		font-size: 2.7rem !important;
		letter-spacing: .1rem !important;
	}
	footer p {
		font-size: .85em !important;
	}
	.post-date {
		margin: 0 0 .25rem !important;
		display: block;
		text-align: left;
		font-size: 1.3rem !important;
		font-weight: bold !important;
	}
	.card-title {
		font-size: 1.9rem !important;
	}
	.img-50 {
		margin: 0 auto .5rem !important;
		width: 50% !important;
	}
	.img-svg {
		margin-left: auto;
		margin-right: auto;
		padding-left: 10%;
		padding-right: 10%;
	}
	.logo-svg {
		margin-left: auto;
		margin-right: auto;
		padding-left: 10%;
		padding-right: 10%;
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	img.img-border,
	img.img-border2,
	img.img-border3 {
		margin-bottom: 3rem !important;
	}
	summary {
		padding: 1rem 1rem;
	}
	summary.h6 {
		line-height: 1.5 !important;
		font-size: 1.4rem !important;
	}
	details .details-inner {
		padding: 1rem .5rem;
	}
	details .details-inner p {
		font-size: 1.4rem !important;
	}
	.btn,
	.button {
		font-size: 1.5rem !important;
	}
	.page-nav {
		margin-top: 1.5rem;
		text-align: center;
	}
	.align-items-center p {
		margin-top: 1rem !important;
	}
	.feed .card-body {
		padding: 2rem !important;
	}
	footer {
		padding-bottom: 50px !important;
	}
	footer section {
		margin-bottom: 1rem !important;
		padding-bottom: 1rem !important;
		overflow-x: hidden;
		background-color: transparent !important;
	}
	footer .title {
		margin: 0 0 .5rem !important;
		padding: 0 !important;
		font-size: 1.6rem !important;
		letter-spacing: 0 !important;
	}
	footer #copy {
		margin-bottom: 0 !important;
		padding: 1rem 1rem !important;
	}
	.copyright {
		font-size: 1.1rem !important;
		text-align: center !important;
	}
	footer .btn-reserve {
		padding: .5rem 1.5rem .5rem;
		display: block;
		position: fixed;
		top: auto;
		bottom: 0;
		right: 0;
		z-index: 99999999999;
		width: 100%;
		text-align: center;
		text-decoration: none !important;
		font-size: .95em;
		line-height: 3;
		letter-spacing: 1px;
		font-family: "Castoro", serif !important;
		font-weight: 400 !important;
		color: #FFF !important;
		background-image: linear-gradient(to right bottom, #278974, #1b7c6f, #14706a, #116362, #12575a);
	}
	.scrolldown1 {
		bottom: 7px;
	}
	.scrolldown1 span {
		font-size: 1.3rem;
	}
	.hidden-pc {
		display: block !important;
	}
	.hidden-sp {
		display: none !important;
	}
	.wp-form label.control-label {
		padding: 1rem 1rem 0 .7rem !important;
		justify-content: flex-start !important;
	}
	input[type="submit"],
	input[type="button"],
	input[type="reset"] {
		margin: 0 auto 1.5rem;
		width: 90%;
		display: block;
	}
}
/* overwrite style for table-responsive
-------------------------------------------------- */
table {
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-word;
}
table a {
	text-decoration: underline !important;
}
.table-responsive tbody th {
	white-space: normal;
}
.table-striped th,
.table-striped td {
	border: none !important;
}
.table-responsive {
	margin-bottom: 1rem;
}
.table-responsive > .table {
	width: 100% !important;
	table-layout: auto !important;
	word-wrap: break-word !important;
}
.table-sm {
	font-size: .8em !important;
}
.table-sm > :not(caption) > * > * {
	padding: .7rem .5rem !important;
	letter-spacing: 0 !important;
	vertical-align: middle !important;
}
.table-striped-columns > :not(caption) > tr > :nth-child(odd) {
	--bs-table-bg-type: var(--bs-table-striped-bg) !important;
}
.table-striped-columns > :not(caption) > tr > :nth-child(even) {
	--bs-table-bg-type: #FFF !important;
}
table th {
	font-weight: 700;
}
@media (max-width: 767.98px) {
	.table {
		margin: 0 auto;
		text-align: center;
		table-layout: auto !important;
		box-sizing: border-box;
		overflow: hidden;
	}
	.table-sm {
		font-size: .75em !important;
	}
	.table-sm > :not(caption) > * > * {
		padding: .7rem .3rem !important;
	}
	.table-responsive > .table {
		table-layout: auto !important;
	}
	.table-responsive > .table > thead > tr > th,
	.table-responsive > .table > tbody > tr > th,
	.table-responsive > .table > tfoot > tr > th,
	.table-responsive > .table > thead > tr > td,
	.table-responsive > .table > tbody > tr > td,
	.table-responsive > .table > tfoot > tr > td {
		font-size: 1.4rem !important;
		white-space: nowrap;
	}
	.table-responsive tbody th {
		white-space: nowrap;
	}
	table.tbl {
		font-size: .8em !important;
	}
	table.tbl th {
		padding: .5rem 1rem .2rem !important;
		text-align: left !important;
		width: 100% !important;
		display: block !important;
		white-space: inherit !important;
	}
	table.tbl td {
		padding: .5rem 1rem !important;
		text-align: left !important;
		width: 100% !important;
		display: block !important;
		white-space: inherit !important;
	}
	.tbl tbody tr {
		background-color: rgb(255, 255, 255) !important;
	}
	table.tbl, table.tbl th, table.tbl td {
		border: none !important;
	}
}
/* end
-------------------------------------------------- */