/*
Theme Name: Design01
Version: 1.5
*/
@charset "utf-8";
/* ------------------------------------------------ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

/*
@import url('https://fonts.googleapis.com/css?family=Raleway:300,400');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');
	font-family: 'Raleway', sans-serif;
	font-family: 'Roboto Condensed', sans-serif;
*/
/* ------------------------------------------------ */
.pc {}.sp {display: none;}.none {display: none;}
@media screen and (max-width: 767px) {
.pc {display: none;}.sp {display: block;}
}
.drawer .none {display: block!important;}
/* ------------------------------------------------ */
:root {
	--white: #fff;
	--black: #000;
	--gray1: #333;
	--gray2: #666;
	--gray3: #999;
	--gray4: #ccc;
	--gray5: #e6e6e6;
	--gray6: #f2f2f2;
	--color1: #7d0009;
	--color2: #fff2e2;
	--color3: #510002;
	--color4: #ceb7c1;
	--color5: #edeae0;
	--color6: #eaeae0;
	--red: #c00;
	--font1: 'Noto Sans JP', sans-serif;
	--font2: 'Noto Serif JP', serif;
	--font3: 'Roboto Condensed', sans-serif;
}
/*
	font-size: 30px;
	font-size: 3vmin;
	font-size: clamp(24px, 3vmin, 30px);

	color: var(--color1);
	background-color: var(--color1);
	font-family: var(--font1);
*/
/* ------------------------------------------------ */
.anim {
}
/* ----------------- */
.fade {
	opacity:0;
}
.fade.animated {
	animation-fill-mode:forwards;
	animation-duration: 1s;
	opacity:0;
}
.fade.animated.fade-top {animation-name:fade-top;}
.fade.animated.fade-btm {animation-name:fade-btm;}
.fade.animated.fade-left {animation-name:fade-left;}
.fade.animated.fade-right {animation-name:fade-right;}
.fade.animated.fade-fade {animation-name:fade-fade;}
.fade1.animated {animation-delay:0s;}
.fade2.animated {animation-delay:0.5s;}
.fade3.animated {animation-delay:1s;}
.duration15.animated {animation-duration:1.5s;}
@keyframes fade-top {
	from {opacity: 0;transform: translateY(100px);}
	to {opacity: 1;transform: translateY(0);}
}
@keyframes fade-btm {
	from {opacity: 0;transform: translateY(-100px);}
	to {opacity: 1;transform: translateY(0);}
}
@keyframes fade-left {
	from {opacity: 0;transform: translateX(-100px);}
	to {opacity: 1;transform: translateX(0);}
}
@keyframes fade-right {
	from {opacity: 0;transform: translateX(100px);}
	to {opacity: 1;transform: translateX(0);}
}
@keyframes fade-fade {
	from {opacity: 0;}
	to {opacity: 1;}
}
/* ----------------- */
.line {
	display: inline-block;
	position: relative;
}
.line::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0px;
	bottom: -10px;
	height: 3px;
	background-color: var(--color1);
	animation-fill-mode:forwards;
	animation-duration: 1.2s;
	animation-delay:0.5s;
}
.line.animated.line-left::after {animation-name:line-left;}
.line.animated.line-right::after {animation-name:line-right;}
.line.animated.line-fade::after {animation-name:line-fade;}
@keyframes line-left {
	0% {width: 0%;}
	100% {width: 100%;}
}
/* ----------------- */
.btna.animated a {
	animation-name: btna;
	animation-fill-mode:forwards;
	animation-duration: .5s;
	animation-timing-function: ease-in-out;
	transform-origin: bottom left 0px;
	opacity:0;
}
@keyframes btna {
0% {opacity: 0;transform: translateX(200px);}
60% {transform: translateX(-30px);}
80% {transform: translateX(10px);}
100% {opacity: 1;transform: translateX(0);}
}
/* ----------------- */
.scale.animated {
	animation-name: scalea;
	animation-fill-mode:forwards;
	animation-duration: .5s;
	animation-timing-function: ease-in-out;
	
}
@keyframes scalea {
0% {opacity: 0;transform: scale(0.5, 0.5);}
100% {opacity: 1;transform: scale(1, 1);}
}
/* ----------------- */
.splash.animated img {
	animation-name: splasha;
	animation-fill-mode:forwards;
	animation-duration: .5s;
	animation-timing-function: ease-in-out;
	
}
@keyframes splasha {
0% {opacity: 0;transform: scale(0.1, 0.1);}
100% {opacity: 1;transform: scale(1, 1);}
}
/* ------------------------------------------------ */
@-ms-viewport {width: device-width;}
@viewport {width: device-width;}
*{
margin:0;
padding:0;
}
html,body {
	height: 100%;
	font-size: 62.5%;
	margin: 0px auto;
}
body {
	color: var(--black);
	font-size: 16px;
	font-size: 1.6rem;
	font-size: 1.6vw;
	font-size: clamp(15px, 1.6vw, 16px);
	font-family: var(--font1);
	font-weight: 400;
	background-color: var(--white);
}
@media screen and (max-width: 767px) {
	body {
		font-size: 15px;
		font-size: 1.5rem;
		-webkit-text-size-adjust: 100%;
	}
}
#container {
	position: relative;
	height: 100%;
	min-height: 100%;
	text-align: left;
	margin: 0px auto;
	padding: 0px;
	background-image: url("./img/header-bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	background-size: contain;
	background-size: cover;
	background-attachment: fixed;
}
body > #container {height: auto;}
a {
	text-decoration: none;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
a:link {color: var(--black);}
a:visited {color: var(--black);}
a:active {color: var(--color1);}
a:hover {color: var(--color1);}
a img {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
a:active img,
a:hover img {
	opacity: 0.8;
}
a svg rect,
a svg path,
a svg circle,
a svg polygon{
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
h1,h2,h3,h4,h5,h6 {font-size:1em;}
strong,b {font-weight: 700;}
em,i,address {font-style: normal;}
a[href^='tel'] {pointer-events: none;text-decoration: none;}
a[href^='tel'] img {display:inline-block;}
@media screen and (max-width: 767px) {
	a[href^='tel'] {pointer-events: auto;}
	a[href^='tel'] img {display:block;}
}
button,input,select,textarea {
	outline: none;
	font-family: var(--font1);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px white inset;
}
input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type=number] {
	appearance:textfield;
}
input[type='submit'],
input[type='button'],
button {
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
img {display:block;max-width:100%;border:none;-ms-interpolation-mode: bicubic;backface-visibility: hidden;image-rendering: -webkit-optimize-contrast;}
@media screen and (max-width: 767px) {
	img {max-width:100%;height:auto;}
}
.center {text-align: center;}
.right {text-align: right;}
.imgleft {float: left;margin-right:5px;}
.imgright {float: right;margin-left:5px;}
@media screen and (max-width: 767px) {
	.imgleft {float: none;margin-right:0px;margin-bottom:10px;}
	.imgright {float: none;margin-left:0px;margin-bottom:10px;}
}
.clear {clear: both;}
.clearfix::after {
	display: block;
	content: "";
	clear: both;
	height: 0px;
	visibility: hidden;
}
ul {list-style-type:none;}
.attention,.error {color: #c00;font-weight: 700;}
.red {color: #f00;}
i.sup {
	position: relative;
	top: -0.2em;
	font-size: 0.7em;
	font-style: normal;
	vertical-align: top;
}
i.sub {
	position: relative;
	top: 0.2em;
	font-size: 0.5em;
	font-style: normal;
	vertical-align: bottom;
}
.sup {
	font-size:0.6em;
	font-style: normal;
	vertical-align: super;
}
/* ------------------------------------------------ */
.width {
	width: 1000px;
	margin: 0px auto;
}
.widths {
	width: 900px;
	margin: 0px auto;
}
.widthb {
	width: 1200px;
	margin: 0px auto;
}
@media screen and (max-width: 1200px) {
	.widthb {
		width: auto;
	}
}
@media screen and (max-width: 1000px) {
	.width {
		width: auto;
	}
}
@media screen and (max-width: 900px) {
	.widths {
		width: auto;
	}
}
.drawer .width,
.drawer .widths,
.drawer .widthb {
	width: auto;
}
/* ------------------------------------------------ */
#header {
	background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 30%,rgba(255,255,255,1) 70%,rgba(255,255,255,0) 100%);
}
.header {
	position: relative;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.3s linear;
}
.header-outer {
}
.header-inner {
	position: relative;
	z-index: 1;
}
/* ------------------------------------------------ */
.header {

}
/* ------------------------------------------------ */
#header-logo {
}
.header-logo {
	text-align: center;
	padding: 10px 10px 20px 10px;
}
.header-logo h1 {
}
.header-logo h1 a {
	display: inline-block;
}
.header-logo h1 b {
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 1em;
	margin-bottom: 10px;
}
.header-logo h1 img {
	display: inline-block;
	width: 290px;
	height: 90px;
}
/* ------------------------------------------------ */
.header-photo {
}
.header-photo ul {
	display: flex;
	flex-wrap: nowrap;
/*
	gap: 15px;
*/
	align-items: stretch;
	justify-content: center;
}
.header-photo ul li {
	flex: 1;
	box-sizing: border-box;
}
.header-photo ul li img {
/*
	border-radius: 50%;
*/
}
/* ------------------------------------------------ */
.header-tex {
	text-align: center;
	padding: 50px 10px;
}
.header-tex p {
	line-height: 1.8em;
	margin-bottom: 10px;
}
.header-tex p:last-child {
	margin-bottom: 0px;
}
.header-tex p strong {
	display: inline-block;
	position: relative;
	color: var(--color1);
	font-size: 1.5em;
	font-weight: 900;
	line-height: 1.4em;
	padding: 0px 10px;
}
.header-tex p b {
	border-bottom: 2px dotted var(--color1);
	font-weight: 500;
}
/* ------------------------------------------------ */
.header-link {
	text-align: center;
	padding: 0px 10px 50px 10px;
}
.header-link ul {
}
.header-link ul li {
}
@media screen and (min-width: 768px) {
	.header-link ul li {
		display: inline-block;
		vertical-align: middle;
		padding: 0px 5px;
	}
}
@media screen and (max-width: 767px) {
	.header-link ul li {
		display: block;
		padding: 5px 20px;
	}
}
.header-link ul li a {
	display: block;
	max-width: 240px;
	color: var(--white);
	font-weight: 500;
	line-height: 1em;
	background-color: var(--color1);
	border: 2px solid var(--color1);
	border-radius: 50px;
	box-shadow: 0px 3px 3px 1px rgba(0,0,0,0.1);
	margin: 0px auto;
	padding: 14px 30px;
}
.header-link ul li a:hover {
	color: var(--color3);
	background-color: var(--white);
}
/* ------------------------------------------------ */
@media screen and (max-width: 767px) {
	#header #nav {
		display: none;
	}
}
.nav {
	text-align: center;
}
.drawer .nav {
	text-align: left;
}
#header .nav ul {
	display: block;
}
.nav ul li {
	position: relative;
}
#header .nav ul li {
	display: inline-block;
	vertical-align: top;
}
#header .nav ul li.navnone {
	display: none;
}
.nav ul li a {
	display: block;
	position: relative;
	color: var(--black);
	text-decoration: none;
	padding: 20px 10px;
}
.nav ul li a span {
	display: block;
	font-size: 18px;
	font-family: var(--font3);
	font-weight: 400;
	text-transform: uppercase;
}
.nav ul li a strong {
	display: block;
	font-size: 12px;
	font-weight: 500;
}
.drawer .nav ul li a span {
	display: none;
}
.drawer .nav ul li a strong {
	font-size: 16px;
}
#nav .nav ul li a {
}
#container.fixed #header #nav .nav ul li a {
	color: var(--white);
	padding: 5px 10px;
}
.drawer .nav ul li a {
	border-top: 1px solid #000;
}
.drawer .nav ul li:first-child a {
	border-top: 2px solid #000;
}
.drawer .nav ul li:last-child a {
	border-bottom: 2px solid #000;
}
.drawer .nav ul li ul li a {
	border-top: 1px dashed #000;
	padding: 10px 10px;
}
.drawer .nav ul li ul:first-child a,
.drawer .nav ul li ul:last-child a {
	border-top: none;
	border-top: 1px dashed #000;
	border-bottom: none;
}
.drawer .nav ul li a strong {
	font-weight: 700;
}
.drawer .nav ul li ul li a strong {
	font-weight: 500;
}
.nav ul li a:hover {
	color: var(--color1)!important;
}
#nav {
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
#container.fixed #nav {
}
@media screen and (min-width: 768px) {
	#header .nav ul li ul {
		display: none;
		z-index: 0;
		margin: 0;
		padding: 0;
		min-width: 220px;
		list-style: none;
		position: static;
		top: 100%;
		left: -50%;
	}
	#header .nav ul li ul {
		display: block;
		z-index: 100;
		position: absolute;
	}
	#header .nav ul li ul li {
		overflow: hidden;
		width: 100%;
		height: auto;
	}
	#header .nav ul li ul li {
		display: block;
		overflow: hidden;
		height: 0;
	}
	#header .nav ul > li > ul {
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	}
	#header .nav ul > li:hover > ul {
		box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.1);
		-moz-box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.1);
		-webkit-box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.1);
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
		border-top: 3px solid #fff;
	}
	#header .nav ul > li:hover > ul > li {
		overflow: visible;
		height: auto;
		border-bottom: 1px solid #fff;
	}
	#header .nav ul li ul li a {
		color: var(--white);
		background-color: rgba(0,63,132,1);
		padding: 10px 10px;
	}
	#header .nav ul li ul li a:hover {
		color: var(--white)!important;
		background-color: rgba(0,63,132,0.8);
	}
}
/* ------------------------------------------------ */
#footer {
	color: var(--white);
	background-color: var(--color1);
}
.footer {
}
.footer-inner {
	padding: 10px 10px 0px 10px;
}
.footer-logo {
	text-align: center;
	margin-bottom: 10px;
}
.footer-logo a {
	display: inline-block;
}
.footer-logo b {
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 1em;
	margin-bottom: 10px;
}
.footer-logo img {
	display: inline-block;
	width: 200px;
	height: 63px;
}
@media screen and (max-width: 767px) {
	.footer-logo img {
		width: auto;
	}
}
.footer-addr {
	text-align: center;
	margin-bottom: 10px;
}
.footer-addr strong {
}
.footer-addr address {
	font-size: 13px;
}
.footer-link {
	line-height:1em;
	text-align: center;
	background-color: var(--color1);
	padding: 10px 10px;
}
.footer-link ul {
	line-height:1em;
}
.footer-link li {
	line-height:1em;
}
.footer-link a {
	color: var(--white);
	line-height:1em;
	vertical-align: middle;
	text-decoration: none;
}
.footer-link a:hover {
	color: var(--color1);
}
@media screen and (min-width:768px) {
	.footer-link li {
		display: inline-block;
		vertical-align: top;
	}
	.footer-link ul li ul {
		display: inline-block;
		vertical-align: top;
	}
	.footer-link ul li ul li {
		display: inline-block;
		vertical-align: top;
	}
	.footer-link a {
		display: inline-block;
		font-size: 11px;
		border-left: 1px solid #ccc;
		padding: 5px 5px;
	}
	.footer-link li:first-child a {
		border-left: none;
	}
	.footer-link li ul li:first-child a {
		border-left: 1px solid #ccc;
	}
}
@media screen and (max-width: 767px) {
	.footer-link li {
		display: block;
	}
	.footer-link li:last-child {
		border-bottom: none;
	}
	.footer-link ul li ul {
		display: block;
	}
	.footer-link ul li ul li {
		display: block;
	}
	.footer-link a {
		display: block;
		font-size: 13px;
		border-top: 1px solid #ccc;
		padding: 15px 5px;
	}
	.footer-link li:first-child a {
		border-top: none;
	}
	.footer-link li ul li a {
		border-top: 1px dashed #ccc;
	}
	.footer-link li ul li:first-child a {
		border-top: 1px dashed #ccc;
	}
}
.copyright {
	font-weight: 400;
	text-align: center;
	padding: 5px;
}
.copyright small {
	font-size: 10px;
}
/* ---------------------------------------------------------------------- */
#slide_swiper {
	position: relative;
	overflow: hidden;
}
#slide-tex {
	position: absolute;
	left: 0px;
	top: 70%;
	-webkit-transform: translateY(-70%);
	-moz-transform: translateY(-70%);
	-ms-transform: translateY(-70%);
	-o-transform: translateY(-70%);
	transform: translateY(-70%);
	z-index: 2;
	pointer-events: none;
	width: 100%;
}
@media screen and (max-width: 767px) {
	#slide-tex {
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}
.slide-tex {
	max-width: 1100px;
	font-family: 'Noto Serif JP', serif;
	margin: 0px auto;
	padding: 10px;
}
.slide-tex strong {
	display: block;
	color: #fff;
	font-size: 30px;
	font-size: 3.6vmin;
	font-size: clamp(16px, 3.6vmin, 36px);
	margin-bottom: 20px;
}
.slide-tex strong b {
	font-size: 1.2em;
}
.slide-tex p {
	color: #fff;
	font-size: 18px;
	font-size: 1.8vmin;
	font-size: clamp(13px, 1.8vmin, 18px);
}


swiper-container {
	position: relative;
	width: 100%;
	height: 100%;
/*
	height: auto;
*/
}
swiper-slide {
	position: relative;
/*
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
*/
}
@media screen and (min-width:768px) {
	swiper-slide {
		width: 1200px;
	}
}
swiper-slide a {
	display: block;
}
swiper-slide a:hover {
	color: var(--black);
}
/*
<script>
const swiperEl = document.querySelector('swiper-container')
const params = {
injectStyles: [`
	:host {
		--swiper-navigation-size: 30px;
	}
	.swiper-button-prev,
	.swiper-button-next {
		color: #fff;
	}
	.swiper-pagination-bullet-active {
		color: #fff;
		background: #fcc;
	}
`],
}
Object.assign(swiperEl, params)
swiperEl.initialize();
</script>
*/


@media screen and (max-width: 767px) {
	.swiper-slide {
		width: 100%;
		max-width: none;
	}
}
/* ------------------------------------------------ */
.gotop{
	position: fixed;
	bottom: -50px;
	right: 0;
	z-index: 9999;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.gotop.block {
	bottom: 0;
	visibility: visible;
	opacity: 1;
}
.gotop a,
.gotop a::before,
.gotop a::after {
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.gotop a {
	display: block;
	position: relative;
	width: 40px;
	height: 40px;
	background-color: var(--color1);
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	margin-left: auto;
	margin-right: 10px;
	margin-bottom: 10px;
}
.gotop a::before,
.gotop a::after {
	display: inline-block;
	content: "";
	position: absolute;
	left: 50%;
}
.gotop a::before {
	bottom: 10px;
	z-index: 1;
	width: 10px;
	height: 10px;
	border-top: 1px solid;
	border-left: 1px solid;
	border-color: var(--white);
	transform: rotate(45deg);
	margin-left: -5px;
}
.gotop a::after {
	bottom: -10px;
	z-index: 0;
	width: 1px;
	height: 31px;
	background-color: var(--white);
}
.gotop a:hover {
	background-color: var(--color2);
}
.gotop a:hover::before {
	bottom: 20px;
	border-color: #fff;
}
.gotop a:hover::after {
	bottom: 0px;
	background-color: #fff;
}
.gotop a span {
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
/* ------------------------------------------------ */
#wrap {
}
#main {
	line-height: 1.8em;
}
.main {
	padding: 0px 0px;
}
@media screen and (max-width: 767px) {
	.main {
		padding: 0px 0px;
	}
}
/* link------------------------------------------------ */

/* link------------------------------------------------ */
.link {
	text-align: center;
	padding: 30px 0px;
}
.link-bloc {
	text-align: center;
}
@media screen and (min-width: 768px) {
	.link-bloc .link {
		display: inline-block;
		vertical-align: top;
		padding: 5px 10px;
	}
}
@media screen and (max-width: 767px) {
	.link-bloc .link {
		padding: 5px 10px;
	}
}
.link a {
	display: inline-block;
	position: relative;
	height: auto;
	cursor: pointer;
	outline: none;
	font-size: 16px;
	font-size: clamp(15px, 1.6vw, 16px);
	font-weight: 500;
	line-height: 1em;
	vertical-align: middle;
	text-decoration: none;
	background: transparent;
	padding: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	transition: .2s linear .1s;
	transition: .2s ease-in-out .1s;
	overflow: hidden;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	border-radius: 100px;
}
.linkb a {
	font-size: 20px;
	font-size: clamp(18px, 2vw, 20px);
}
.links a {
	font-size: 14px;
}
.link a:hover {
	-moz-box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.3);
}
.link a span {
	display: block;
	position: relative;
	z-index: 1;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.link a::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0;
	top: 0;
	width: 100%;
	height: 0px;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.link a:hover::after {
	width: 100%;
	height: 100%;
	background-color: var(--white);
}
@media screen and (min-width:480px) {
	.link a {
		max-width: 300px;
	}
	.link a span {
		padding: 15px 40px;
	}
	.link.links a {
		max-width: 250px;
	}
	.link.links a span {
		padding: 10px 20px;
	}
}
@media screen and (max-width:479px) {
	.link a {
		display: block;
	}
	.link a span {
		padding: 15px 20px;
	}
}
/* ----------- */
.link a,
.link1 a {
	color: var(--white);
	background-color: var(--color1);
	border: 2px solid var(--color1);
}
.link a:hover,
.link1 a:hover {
	color: var(--color1);
}
.link a::after,
.link1 a::after {
	background-color: var(--color1);
}
.link a:hover span,
.link1 a:hover span {
	color: var(--color1);
}
.link a:hover::after,
.link1 a:hover::after {
	background-color: var(--white);
}
/* ----------- */
.link2 a {
	color: var(--white);
	background-color: var(--color2);
	border: 2px solid var(--color2);
}
.link2 a:hover {
	color: var(--color2);
}
.link2 a::after {
	background-color: var(--color2);
}
.link2 a:hover span {
	color: var(--color2);
}
.link2 a:hover::after {
	background-color: var(--white);
}
/* ----------- */
.link-red a {
	color: var(--white);
	background-color: var(--red);
	border: 2px solid var(--red);
}
.link-red a:hover {
	color: var(--red);
}
.link-red a::after {
	background-color: var(--red);
}
.link-red a:hover span {
	color: var(--red);
}
.link-red a:hover::after {
	background-color: var(--white);
}
/* table------------------------------------------------ */
table {
	width: 100%;
}
.table {
	width: 100%;
	border-collapse: collapse;
	/*border-collapse: sepalate;*/
	border-spacing: 0px;
	empty-cells:show;
	margin: 0px auto 10px auto;
}
.table th {
	width: 25%;
	color: #fff;
	font-weight: normal;
	background-color: #666;
	text-align: center;
	padding: 5px;
}
.table td {
	border: 1px solid #999;
	padding: 5px;
}

/*
table {
	width: 100%;
}
.table {
	display:table;
	width: 100%;
	border-collapse:sepalate; //collapse
	border-spacing: 5px;
	empty-cells:show;
	margin: 0px auto;
}
.row{
	display:table-row;
}
.th{
	display:table-cell;
	width: 25%;
	text-align: center;
	vertical-align: middle;
	background-color: #f5f3f2;
	border: 1px solid #dcdddd;
	padding: 5px;
}
.td {
	display:table-cell;
	border: 1px solid #dcdddd;
	padding: 5px;
}
.contact table p {
	padding-bottom:5px;
}
@media screen and (max-width:767px) {
	.table,
	.row,
	.th,
	.th:before{
		display:block;
	}
	.table,
	.row .th:last-child{
		border-bottom:none;
	}
	.row{
		margin:20px 0;
	}
	.row .th:nth-child(1){ 
	}
	.row .th:last-child{
	}
	.row:last-child .th,
	.th{
		width: auto;
	}
	.th:before{
		font-weight:bold;
		padding-right:20px;
		font-size:12px;
		content:" "attr(data-label)"";
	}
	.td {
		display: block;
		border: none;
		padding: 10px;
	}
}
*/
/* ------------------------------------------------ */
.photo {}.photo ul {display: flex;flex-wrap: nowrap;gap: 3px;align-items: stretch;justify-content: center;}.photo ul li {flex: 1;box-sizing: border-box;}
@media screen and (min-width: 768px) {
.photo ul li {flex: 1 0 calc(33.33% - 3px);}
.photo3 ul li {flex: 1 0 calc(33.33% - 3px);}
.photo4 ul li {flex: 1 0 calc(25% - 3px);}
}
@media screen and (max-width: 767px) {
.photo ul li {flex: 1 0 calc(50% - 3px);}
.photo3 ul li {flex: 1 0 calc(33.33% - 3px);}
.photo4 ul li {flex: 1 0 calc(25% - 3px);}
}
/* ------------------------------------------------ */
.movie {z-index: 9998!important;width: 560px;margin: 0 auto;padding: 20px 0 0 0;}.movie iframe{z-index: 9998!important;}@media screen and (max-width: 767px){.movie {position: relative;width: auto;padding-bottom: 56.25%;padding-top: 30px;height: 0;overflow: hidden;}.movie iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}}
/* ------------------------------------------------ */
.tablebox,.tablebloc dl,.tablebloc ul {display: table;width: 100%;table-layout: fixed;border-spacing: 0px;margin: 0px auto;list-style-type: none;}.tabletd,.tablebloc li,.tablebloc dt,.tablebloc dd {display: table-cell;vertical-align: top;}@media screen and (max-width: 767px) {.tablebox,.tablebloc dl,.tablebloc ul {display: block;width: auto;}.tabletd,.tablebloc li,.tablebloc dt,.tablebloc dd {display: block;width: auto;}}
/*
.tableboxA,.tableblocA dl,.tableblocA ul {}.tabletdA,.tableblocA li,.tableblocA dt,.tableblocA dd {}@media screen and (max-width: 767px) {.tableboxA,.tableblocA dl,.tableblocA ul {display: table;width: 100%;table-layout: fixed;border-spacing: 0px;margin: 0px auto;list-style-type: none;}.tabletdA,.tableblocA li,.tableblocA dt,.tableblocA dd {display: table-cell;vertical-align: top;}}@media screen and (max-width: 479px) {.tableboxA,.tableblocA dl,.tableblocA ul {display: block;width: auto;}.tabletdA,.tableblocA li,.tableblocA dt,.tableblocA dd {display: block;width: auto;}}.tableboxB,.tableblocB dl,.tableblocB ul {}.tabletdB,.tableblocB li,.tableblocB dt,.tableblocB dd {}@media screen and (max-width: 767px) {.tableboxB,.tableblocB dl,.tableblocB ul {display: table;width: 100%;table-layout: fixed;border-spacing: 0px;margin: 0px auto;list-style-type: none;}.tabletdB,.tableblocB li,.tableblocB dt,.tableblocB dd {display: table-cell;vertical-align: top;}}.tableboxC,.tableblocC dl,.tableblocC ul {}.tabletdC,.tableblocC li,.tableblocC dt,.tableblocC dd {}@media screen and (max-width: 767px) {.tableboxC,.tableblocC dl,.tableblocC ul {display: table;width: 100%;table-layout: fixed;border-spacing: 0px;margin: 0px auto;list-style-type: none;}.tabletdC,.tableblocC li,.tableblocC dt,.tableblocC dd {display: table-cell;vertical-align: top;}}@media screen and (max-width: 679px) {.tableboxC,.tableblocC dl,.tableblocC ul {display: block;width: auto;}.tabletdC,.tableblocC li,.tableblocC dt,.tableblocC dd {display: block;width: auto;}}
.notablebloc dl,.notablebloc ul {display: block;width: auto;}.notablebloc li,.notablebloc dt,.notablebloc dd {display: block;width: auto;}
*/
/*
.tableinner {}.tableinner dl {background-color: #fff;border-top: 1px solid #000;margin: 0px auto;}.tableinner dl:last-child {border-bottom: 1px solid #000;}.tableinner dt {width: 20%;text-align: center;vertical-align: middle;border-right: 1px solid #000;padding: 20px 10px;}.tableinner dd {padding: 20px 20px;}@media screen and (max-width: 767px) {.tableinner dt {width: auto;border-right: none;border-bottom: 1px dashed #ccc;padding: 10px 10px;}.tableinner dd {padding: 10px 10px;}}.tableinner dd p {margin-bottom: 10px;}.tableinner dd p:last-child {margin-bottom: 0px;}
*/

.tableinner {
}
.tableinner dl {
	background-color: #fff;
	border-top: 1px dashed #000;
	margin: 0px auto;
}
.tableinner dl:first-child {
	border-top: 2px solid #000;
}
.tableinner dl:last-child {
	border-bottom: 2px solid #000;
}
.tableinner dl dt {
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
	padding: 20px 10px;
}
.tableinner dl dd {
	padding: 20px 20px;
}
@media screen and (min-width: 768px) {
	.tableinner dl {
		display: table;
		width: 100%;
		table-layout: fixed;
		border-spacing: 0px;
	}
	.tableinner dt,
	.tableinner dd {
		display: table-cell;
		vertical-align: middle;
	}
	.tableinner dl dt {
		width: 20%;
	}
}
@media screen and (max-width: 767px) {
	.tableinner dl {
		border-top: 1px solid #000;
	}
	.tableinner dl dt {
		width: auto;
		border-right: none;
		border-bottom: 1px dashed #999;
		padding: 10px 10px;
	}
	.tableinner dl dd {
		padding: 10px 10px;
	}
}
.tableinner dl dd p {
	margin-bottom: 10px;
}
.tableinner dl dd p:last-child {
	margin-bottom: 0px;
}
/* ------------------------------------------------ */
.flexbloc ul {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
}
.flexbloc ul li {
	box-sizing: border-box;
}
@media screen and (max-width:767px) {
	.flexbloc ul li {
		flex: 1 0 calc(50% - 3px);
	}
}
@media screen and (min-width:768px) {
	.flexbloc ul li {
		flex: 1 0 calc(33.33% - 3px);
	}
}
/* ------------------------------------------------ */
.inlinebloc dl,.inlinebloc ul {font-size: 0;line-height: 1em;list-style-type: none;}.inlinebloc li,.inlinebloc dt,.inlinebloc dd {display: inline-block;font-size: 16px;line-height: 1em;}@media screen and (max-width: 767px) {.inlineblocA dl,.inlineblocA ul {display: block;}.inlineblocA li,.inlineblocA dt,.inlineblocA dd {display: block;}}@media screen and (max-width: 479px) {.inlineblocB dl,.inlineblocB ul {display: block;}.inlineblocB li,.inlineblocB dt,.inlineblocB dd {display: block;}}
/* ------------------------------------------------ */
.map iframe {width:100%;height:500px;}@media screen and (max-width: 767px) {.map iframe {height:200px;}}
/* ------------------------------------------------ */
#contact {
}
.contact {
}
.message {
	text-align: center;
	background-color: #f2f2f2;
	margin-bottom: 30px;
	padding: 30px 30px;
}
.message p {
	margin-bottom: 10px;
}
.message p:last-child {
	margin-bottom: 0px;
}
.message .link a {/*.link*/
	font-size: 13px;
	padding: 5px 50px;
}
@media screen and (max-width: 767px) {
	.message {
		padding: 10px;
	}
}
/* ------------------------------------------------ */
.page-con {
	padding: 50px 10px;
}
.page-con-inner {
	color: var(--black);
	text-align: center;
	background-color: var(--white);
	border: 3px solid var(--color1);
	padding: 20px 10px;
}
.page-con-inner p {
	font-size: 22px;
	line-height: 1.4em;
	padding: 10px 0px 20px 0px;
}
.page-con-inner p b {
	display: inline-block;
	color: var(--color3);
	font-size: 28px;
	line-height: 1.4em;
}
.contactlist ul {
}
.contactlist ul li {
	display: inline-block;
	vertical-align: top;
	padding: 5px 10px;
}
.contactlist ul li b {
	display: block;
	color: var(--white);
	line-height: 1em;
	background-color: var(--color2);
	margin-bottom: 10px;
	padding: 5px 5px;
}
.contactlist ul li a {
	display: inline-block;
	color: var(--color1);
	color: var(--black);
	text-decoration: none;
}
.contactlist ul li a svg {
	display: inline-block;
	width: 25px;
}
.contactlist ul li a svg path,
.contactlist ul li a svg polygon {
	fill: var(--color2);
}
.contactlist ul li a span {
	display: inline-block;
	font-size: 40px;
	font-weight: 700;
}
.contactlist ul li.tel a span,
.contactlist ul li.fax a span {
	font-family: 'Roboto Condensed', sans-serif;
}
.contactlist ul li.mail a span {
	font-size: 24px;
}
.contactlist ul li a em {
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	padding: 5px 5px;
}
/* ------------------------------------------------ */
#drawertriger {
	position: fixed;
	z-index: 9999;
	right: 0px;
	top: 0px;
	transition: transform 0.3s;
}
.drawertrig {
	display: block;
	text-align: center;
	cursor: pointer;
	text-decoration: none;
}
.drawertrig span, .drawertrig span::before, .drawertrig span::after {
	display: inline-block;
	position: absolute;
	height: 2px;
	width: 34px;
}
.drawertrig span {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: background 0.3s 0.3s;
}
.drawertrig span::before, .drawertrig span::after {
	content: '';
	right: 0px;
	transform: translateZ(0);
	backface-visibility: hidden;
	transform-origin: 0% 50%;
	transition: transform 0.3s 0.3s;
}
.drawertrig span::before {
	top: -10px;
}
.drawertrig span::after {
	top: 10px;
}
.drawer-open .drawertrig span {
}
.drawer-open .drawertrig span::before, .drawer-open .drawertrig span::after {
}
.drawer-open .drawertrig span::before {
	transform: translateX(4px) translateY(-3px) rotate(45deg);
}
.drawer-open .drawertrig span::after {
	transform: translateX(4px) translateY(2px) rotate(-45deg);
}
.drawer-open #drawertriger {
	transform: translateX(-300px);
}
.drawertrig {
	width: 50px;
	height: 50px;
	background-color: var(--color1);
	box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	overflow: hidden;
}
#container.fixed #drawertriger .drawertrig {
	width: 50px;
	height: 50px;
}
#container .drawertrig span {
	top: 50%;
}
#container.fixed.drawer-open #drawertrig .drawertrig span {
}
.drawer-open .drawertrig {
	background-color: var(--color1);
	box-shadow: none;
}
.drawer-open .drawertrig span {background: rgba(0,0,0,0);}
.drawertrig span, .drawertrig span::before, .drawertrig span::after {
	background: var(--white);
}
.drawer-open .drawertrig span::before, .drawer-open .drawertrig span::after {
	background: var(--white);
}
.drawer-open .drawertrig em {
	padding-top: 30px;
}
#container.fixed.drawer-open .drawertrig em {
	padding-top: 30px;
}
.drawer {
	position: fixed;
	z-index: 9998;
	right: -120%;
	top: 0;
	height: 100%;
	width: 300px;
	overflow: auto;
	background-color: var(--black);
	box-shadow: -2px 0px 5px 1px rgba(0,0,0,0.1);
	transition: all 0.3s;
}
.drawer-open .drawer {
	right: 0;
}

/* ------------------------------------------------ */
.overlay {
	position: fixed;
	z-index: 999;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	cursor: pointer;
	background-color: rgba(0,0,0, 0.5);
	background-color: rgba(255,255,255,0.5);
	visibility: hidden;
	opacity: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s, -webkit-transform 0.3s 0s;
	-moz-transition: opacity 0.3s 0s, visibility 0s 0.3s, -moz-transform 0.3s 0s;
	transition: opacity 0.3s 0s, visibility 0s 0.3s, transform 0.3s 0s;
}
.overlay.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.3s 0s, visibility 0s 0s, -webkit-transform 0.3s 0s;
	-moz-transition: opacity 0.3s 0s, visibility 0s 0s, -moz-transform 0.3s 0s;
	transition: opacity 0.3s 0s, visibility 0s 0s, transform 0.3s 0s;
}
/* ------------------------------------------------ */
.modal {
	visibility: hidden;
	opacity: 0;
	position:fixed;
	z-index:9998;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	transition: all 0.2s linear;
	background:#fff;
	padding:0px;
	box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
}
.modal.open {
	visibility: visible;
	opacity: 1;
	top:50%;
}
.modal .modalinner {
}

.sandwichs {
	position:absolute;
	z-index: 1;
	right: 0px;
	top: 0px;
	width: 30px;
	height: 30px;
	background-color: #000;
}
.sandwichs::before,
.sandwichs::after {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	position: absolute;
	top: 48%;
	width: 100%;
	height: 6%;
	content: "";
	background-color: #fff;
	transition: all 0.8s ease-in-out;
}
.sandwichs::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.sandwichs::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.sandwichs:hover::before,
.sandwichs:hover::after {
	height: 14%;
}
.sandwichs:hover::before {
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}
.sandwichs:hover::after {
	-webkit-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
.sandwichs:hover {
	cursor: pointer;
}
/* ------------------------------------------------ */
.modal-bloc {
	visibility: hidden;
	opacity: 0;
	position:fixed;
	z-index:9998;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	transition: all 0.2s linear;
	background: var(--white);
	padding:0px;
	box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
}
.modal-bloc.open {
	visibility: visible;
	opacity: 1;
	top:50%;
}

.modal-close {
	display: block;
	position:absolute;
	z-index: 1;
	right: 0px;
	top: 0px;
	width: 30px;
	height: 30px;
	background-color: var(--black);
}
.modal-close::before,
.modal-close::after {
	box-sizing: border-box;
	display: block;
	position: absolute;
	top: 48%;
	width: 100%;
	height: 6%;
	content: "";
	background-color: var(--white);
	transition: all 0.8s ease-in-out;
}
.modal-close::before {
	transform: rotate(45deg);
}
.modal-close::after {
	transform: rotate(-45deg);
}
.modal-close:hover::before,
.modal-close:hover::after {
	height: 14%;
}
.modal-close:hover::before {
	transform: rotate(315deg);
}
.modal-close:hover::after {
	transform: rotate(-315deg);
}
.modal-close:hover {
	cursor: pointer;
}
.modal-prev,
.modal-next {
	display: block;
	position:absolute;
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	background-color: var(--black);
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	cursor: pointer;
}
.modal-prev {left: 0px;}
.modal-next {right: 0px;}
.modal-prev::before,
.modal-next::before,
.modal-prev::after,
.modal-next::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 2px;
	height: 8px;
	background-color: var(--white);
}
.modal-prev::before,
.modal-next::before {
	margin-top: -8px;
}
.modal-prev::before {transform: skewX(-30deg);}
.modal-prev::after {transform: skewX(30deg);}
.modal-next::before {transform: skewX(30deg);}
.modal-next::after {transform: skewX(-30deg);}
/* ------------------------------------------------ */
.recaptcha_policy {
	text-align: center;
	font-size: 13px;
	padding: 20px 0px;
}
.recaptcha_policy a {
	text-decoration: underline;
}
.grecaptcha-badge { visibility: hidden; }
/* ------------------------------------------------ */
#interval {
	z-index:9999;
	position:fixed;
	opacity: 0;
}
/* ------------------------------------------------ */