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

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

/* ------------------------------------------------ */
.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: #287a9e;
	--color2: #5eafbc;
	--color3: #e27a7a;
	--color4: #1e599e;
	--color5: #edeae0;
	--color6: #eaeae0;
	--red: #99140c;
	--font1: 'Noto Sans JP', sans-serif;
	--font2: 'Noto Serif JP', serif;
}
/* ------------------------------------------------ */
.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;}
}
/* ------------------------------------------------ */
@-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: 'Noto Sans JP', sans-serif;
	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;
}
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 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;}
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;}
/* ------------------------------------------------ */
.width {
	width: 1000px;
	margin: 0px auto;
}
.widthb {
	width: 1200px;
	margin: 0px auto;
}
.widths {
	width: 900px;
	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 {
}
.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;
	background-color: rgba(0,0,0,1);
}
.header-outer {
}
.header-inner {
	position: relative;
	z-index: 2;
}
@media screen and (min-width:1001px) {
	.home .header {
		position: absolute;
		z-index: 2;
		left: 0px;
		top: 0px;
		width: 100%;
		background-color: rgba(0,0,0,0.7);
	}
}
@media screen and (max-width:1000px) {
	#header #header-logo {
		text-align: center;
	}
	#header #header-nav {
		display: none;
	}
	#header #header-con {
	}
}
/* ------------------------------------------------ */
#header-logo {
	padding: 5px 0px;
}
.header-logo {
		text-align: center;
}
@media screen and (max-width:767px) {
	.header-logo {
	}
}
.drawer .header-logo {
	padding: 30px 10px 10px 10px;
}
.header-logo h1 {
}
.header-logo h1 a {
	display: inline-block;
	color: var(--white);
}
.header-logo h1 a b {
	display: block;
	font-size: 12px;
	font-family: var(--font2);
	font-weight: 400;
	margin-bottom: 6px;
	line-height: 1em;
}
.drawer .header-logo h1 a b {
	margin-bottom: 10px;
}
.header-logo h1 a img {
	display: inline-block;
}
#header .header-logo h1 img {
	width: 200px;
}
@media screen and (max-width:500px) {
	#header .header-logo h1 img {
		width: 200px;
	}
}
.drawer .header-logo h1 img {
	width: 200px;
}
/* ------------------------------------------------ */
@media screen and (max-width: 767px) {
	#header #header-nav {
		display: none;
	}
}
#header #header-nav {
}
#header #nav {
	padding: 10px 5px 10px 5px;
}
#header .nav {
}
.nav {
	text-align: center;
}
#header .nav ul {
	position: relative;
	display: flex;
	justify-content: center;
	gap: 10px;
}
.nav ul li {
	position: relative;
}
#header .nav ul li {
	box-sizing: border-box;
}
#header .nav ul li.navnone {
	display: none;
}
.nav ul li a {
	display: block;
	color: var(--color2);
	text-decoration: none;
}
#header .nav ul li a {
	padding: 10px 15px 10px 15px;
}
#header .nav ul li a span {
	display: block;
	color: var(--white);
	font-size: 16px;
	font-family: var(--font2);
	font-weight: 600;
	line-height: 1em;
	opacity: 1;
	text-transform: capitalize;
	text-transform: uppercase;
	margin-bottom: 5px;
	transition: all 0.2s linear;
}
.nav ul li a span {
}
.nav ul li a strong {
	display: block;
	z-index: 1;
	font-size: 12px;
	font-size: clamp(12px, 1.2vw, 12px);
	font-weight: 500;
	line-height: 1em;
}
#header .nav ul li a:hover {
	color: var(--color4);
}
#header .nav ul li a:hover span {
	color: var(--color4);
}
#header .nav ul li a::before,
#header .nav ul li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	height: 2px;
	transition: .3s ease-in-out;
}
#header .nav ul li a::before {
	z-index: 0;
	width: 100%;
	background-color: var(--gray5);
}
#header .nav ul li a::after {
	z-index: 1;
	width: 0px;
}
#header .nav ul li a:hover::before {
}
#header .nav ul li a:hover::after {
	width: 100%;
	background-color: var(--color4);
}
@media screen and (min-width: 768px) {
	#header .nav ul li ul {
		display: block;
		z-index: 10;
		margin: 0;
		padding: 0;
		min-width: 200px;
		list-style: none;
		position: static;
		top: 100%;
		left: 50%;
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
		position: absolute;
	}
	#header .nav ul li ul li {
		display: block;
		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 {
		-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 > li {
		overflow: visible;
		height: auto;
		-webkit-transition: all 0.2s linear;
		-moz-transition: all 0.2s linear;
		-o-transition: all 0.2s linear;
		transition: all 0.2s linear;
		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);
	}
	#header .nav ul li ul li,
	#header .nav ul li ul li:nth-child(2) {
		padding: 5px 0px 0px 0px;
	}
	#header .nav ul li ul li a {
		color: var(--white);
		background-color: var(--color1);
		padding: 20px 10px;
	}
	#header .nav ul li ul li:nth-child(2) a {
		padding: 20px 10px;
	}
	#header .nav ul li ul li a:hover {
		color: var(--white);
		background-color: rgba(0,63,132,0.8);
	}
	#header .nav ul li ul li a strong,
	#header .nav ul li ul li:nth-child(2) a strong {
		padding: 0px;
	}
	#header .nav ul li ul li a::before,
	#header .nav ul li ul li a::after,
	#header .nav ul li ul li a strong::before,
	#header .nav ul li ul li a strong::after {
		display: none;
	}
}
.drawer .nav {
	text-align: left;
	padding: 30px 0px 5px 0px;
}
.drawer .nav ul {
/*
	border-top: 5px solid var(--color5);
	border-bottom: 5px solid var(--color5);
*/
	padding: 0px 10px;
}
.drawer .nav ul li {
	border-top: 1px solid var(--white);
	padding: 4px;
}
.drawer .nav ul li:first-child {
	border-top: none;
}
.drawer .nav ul li ul {
	border-top: none;
	border-bottom: none;
	padding: 0px;
}
.drawer .nav ul li ul li {
	border-top: 1px dashed var(--white);
	padding: 4px 0px 4px 20px;
}
.drawer .nav ul li ul li:first-child {
	border-top: 1px dashed var(--white);
	margin-top: 4px;
}
.drawer .nav ul li a {
	color: var(--white);
	padding: 20px 10px 20px 20px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
.drawer .nav ul li a:hover,
.drawer .nav ul li a:active {
	color: var(--white);
	background-color: var(--color1);
}
.drawer .nav ul li a span {
	display: none;
}
.drawer .nav ul li a strong {
	font-size: 16px;
	font-family: var(--font2);
	font-weight: 600;
}
.drawer .nav ul li ul li a {
	color: var(--white);
}
.drawer .nav ul li ul li a:hover,
.drawer .nav ul li ul li a:active {
	color: var(--white);
}
.drawer .nav ul li ul li a strong {
	font-weight: 500;
}
/* ------------------------------------------------ */
#footer {
	color: var(--white);
	background-color: var(--white);
	background-color: var(--black);
}
.footer {
	text-align: center;
}
.footer-inner {
}
.footer-logo {
	padding: 30px 10px 10px 10px;
}
.footer-logo a {
	display: inline-block;
}
.footer-logo img {
	display: inline-block;
	width: 180px;
}
.footer-addr {
	padding: 0px 10px 20px 10px;
}
.footer-addr strong {
	display: block;
}
.footer-addr address {
	display: block;
	font-size: 14px;
	font-weight: 500;
}
.footer-con {
}
.footer-con-inner {
	text-align: center;
	padding: 10px 10px;
}
.footer-link {
	line-height:1em;
	text-align: center;
	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(--color3);
}
@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 {
	color: var(--white);
	font-weight: 400;
	text-align: center;
	padding: 5px;
}
.copyright small {
	font-size: 10px;
}
/* ---------------------------------------------------------------------- */
#slide-swiper {
	overflow: hidden;
}
@media screen and (min-width:768px) {
	#slide-swiper {
/*
		max-width: 1500px;
*/
		margin: 0px auto;
	}
}
swiper-container {
	position: relative;
	width: 100%;
	height: 100%;
}
swiper-slide {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}
swiper-slide::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	background-color: rgba(0,0,0,0.5);
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
	pointer-events: none;
}
swiper-slide.swiper-slide-active::after {
}
.slide-img img {
	position: relative;
	z-index: 0;
	pointer-events: none;
}
swiper-slide a {
	display: block;
	position: relative;
}
swiper-slide a:hover {
}
.slide-tex {
	position: absolute;
	z-index: 2;
	left: 0px;
	top: 40%;
	transform: translateY(-40%);
	width: 100%;
	pointer-events: none;
}
.slide-tex-inner {
	max-width: 1100px;
	text-align: center;
	margin: 0px auto;
}
.slide-tex b {
	display: block;
	color: var(--white);
	font-size: 50px;
	font-size: clamp(24px, 5vw, 50px);
	font-family: var(--font2);
	font-weight: 600;
	line-height: 1em;
	padding: 10px 0px;
}
.slide-link {
	position: absolute;
	z-index: 2;
	left: 0;
	bottom: 10px;
	width: 100%;
	text-align: center;
}
@media screen and (min-width:768px) {
	.slide-link {
		bottom: 100px;
	}
}
.slide-link a {
	display: inline-block;
	color: var(--white);
	font-family: var(--font2);
	font-weight: 600;
	line-height: 1em;
	background-color: var(--color2);
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	border-radius: 100px;
	-moz-box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	padding: 15px 30px;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.slide-link a:hover {
	color: var(--white);
	background-color: var(--color1);
}
.slide-logo {
	position: absolute;
	z-index: 5;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	background-color: var(--white);
	padding: 10px;
}
.slide-logo img {
	width: 350px;
}
.slide-logo span {
	display: block;
	color: var(--color1);
	font-weight: 700;
}
/* ------------------------------------------------ */
.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);
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	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;
}
/* ------------------------------------------------ */
.panlink {
	font-size: 0.8em;
	padding: 10px 10px;
}
.panlink span {
	display: inline-block;
	font-weight: 700;
}
.panlink a span {
	display: inline-block;
	font-weight: 400;
}
@media screen and (max-width: 767px) {
	.panlink {
		width: auto;
	}
}
/* ------------------------------------------------ */
#wrap {
}
#main {
	line-height: 1.8em;
}
.main {
	padding: 0px 0px 80px 0px;
}
.home .main {
	padding: 0px 0px 0px 0px;
}
body.single .main {
	padding: 80px 0px;
}
@media screen and (max-width: 767px) {
	.main {
		padding: 0px 0px;
	}
}
/* link------------------------------------------------ */
.link {
	font-family: var(--font2);
	text-align: center;
	padding: 20px 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 {
		padding: 20px 20px;
	}
	.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: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	margin: 0px auto;
}
.linkb a {
	font-size: 18px;
}
.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 60px;
	}
}
@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,
.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;
}
/* ------------------------------------------------ */
.photo {}.photo ul {display: table;width: 100%;table-layout: fixed;border-spacing: 10px 0px;margin: 0px auto;}.photo li {display: table-cell;vertical-align: top;}.photo li img {margin: 0px auto;}@media screen and (max-width: 767px) {.photo ul {display: block;width: auto;}.photo li {display: block;}}
@media screen and (max-width: 767px) {
.photo.photosp ul {display: table;width: 100%;table-layout: fixed;border-spacing: 10px 0px;margin: 0px auto;}.photo.photosp li {display: table-cell;vertical-align: top;}}
/* ------------------------------------------------ */
.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;}}
.tableinner {
}
.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 {
	color: var(--color1);
	font-weight: 700;
	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%;
		text-align: center;
	}
}
@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;
}
/* ------------------------------------------------ */
.map iframe {width:100%;height:500px;}@media screen and (max-width: 767px) {.map iframe {height:300px;}}
/* ------------------------------------------------ */
#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;
	}
}
/* ------------------------------------------------ */
#drawertriger {
	-webkit-transition: -webkit-transform 0.3s;
	-moz-transition: -moz-transform 0.3s;
	transition: transform 0.3s;
	position: fixed;
	right: 0px;
	top: 0px;
	z-index: 9999;
}
.drawertrig {
	display: block;
	text-align: center;
	cursor: pointer;
}
.drawertrig span, .drawertrig span::before, .drawertrig span::after {
	position: absolute;
	display: inline-block;
	height: 2px;
	width: 34px;
}
.drawertrig span {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	-webkit-transition: background 0.3s 0.3s;
	-moz-transition: background 0.3s 0.3s;
	transition: background 0.3s 0.3s;
}
.drawertrig span::before, .drawertrig span::after {
	content: '';
	right: 0px;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-origin: 0% 50%;
	-moz-transform-origin: 0% 50%;
	-ms-transform-origin: 0% 50%;
	-o-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transition: -webkit-transform 0.3s 0.3s;
	-moz-transition: -moz-transform 0.3s 0.3s;
	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 {
	-webkit-transform: translateX(4px) translateY(-3px) rotate(45deg);
	-moz-transform: translateX(4px) translateY(-3px) rotate(45deg);
	-ms-transform: translateX(4px) translateY(-3px) rotate(45deg);
	-o-transform: translateX(4px) translateY(-3px) rotate(45deg);
	transform: translateX(4px) translateY(-3px) rotate(45deg);
}
.drawer-open .drawertrig span::after {
	-webkit-transform: translateX(4px) translateY(2px) rotate(-45deg);
	-moz-transform: translateX(4px) translateY(2px) rotate(-45deg);
	-ms-transform: translateX(4px) translateY(2px) rotate(-45deg);
	-o-transform: translateX(4px) translateY(2px) rotate(-45deg);
	transform: translateX(4px) translateY(2px) rotate(-45deg);
}
.drawer-open #drawertriger {
	-webkit-transform: translateX(-300px);
	-moz-transform: translateX(-300px);
	-ms-transform: translateX(-300px);
	-o-transform: translateX(-300px);
	transform: translateX(-300px);
}
.drawertrig {
	width: 50px;
	height: 50px;
	background-color: var(--color1);
	-moz-box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	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);
}
#drawertrig a {
	text-decoration: none;
}
.drawer-open #drawertrig a em {
	padding-top: 30px;
}
#container.fixed.drawer-open #drawertrig a em {
	padding-top: 30px;
}
.drawer {
	background-color: var(--black);
	box-shadow: -2px 0px 5px 1px rgba(0,0,0,0.1);
	position: fixed;
	z-index: 9998;
	right: -120%;
	top: 0;
	height: 100%;
	width: 300px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	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.close {
	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-close {
	text-align: center;
	padding: 10px;
}
.modal-close span {
	display: inline-block;
	color: var(--white);
	font-weight: 700;
	line-height: 1em;
	background-color: var(--color1);
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	padding: 10px 25px;
	cursor: pointer;
}
#modal-tel .modal-close span {
	color: var(--color1);
	background-color: var(--white);
}
/* ------------------------------------------------ */
#modal-tel {
}
@media screen and (max-width:767px) {
	#modal-tel {
		width: 90%;
		max-width: 400px;
	}
}
.modal-tel {
	position: relative;
	text-align: center;
	color: var(--white);
	background-color: var(--color2);
	padding: 10px;
}
.modal-tel-inner {
	border: 1px solid #fff;
	padding: 10px;
}
.modal-tel-box {
	font-size: 16px;
}
.modal-tel-box p {
}
.modal-tel-box p em {
	display: block;
	font-weight: 700;
}
.modal-tel-box p b {
	font-size: 20px;
}
.modal-tel-box p span {
	display: inline-block;
	font-size: 14px;
	vertical-align: middle;
}
.modal-tel-link1 {
	padding: 10px 10px;
}
@media screen and (min-width:768px) {
	.modal-tel-link1 {
		padding: 10px 30px;
	}
}
.modal-tel-link1 a {
	display: block;
	color: var(--color1);
	background-color: #fff;
	background-color: var(--white);
	border: 4px solid #0099ed;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	-moz-box-shadow: 0px 2px 8px 2px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 2px 8px 2px rgba(0,0,0,0.2);
	box-shadow: 0px 2px 8px 2px rgba(0,0,0,0.2);
}
.modal-tel-link1 a span {
	display: block;
	position: relative;
	padding: 10px 10px;
}
@media screen and (min-width:768px) {
	.modal-tel-link1 a span {
		padding: 10px 80px;
	}
}
.modal-tel-link1 a span strong {
	display: inline-block;
	position: relative;
	font-size: 20px;
	margin-bottom: 5px;
}
.modal-tel-link1 a span strong::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: -30px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 29.83"><path fill="%23005b8c" d="M24.24,13.76l2.13-.36c-.34-1.96-1.26-3.73-2.66-5.14-1.48-1.49-3.36-2.42-5.43-2.71l-.3,2.14c1.6.22,3.06.95,4.21,2.1,1.09,1.09,1.8,2.46,2.06,3.97Z"/><path fill="%23005b8c" d="M27.57,4.49C25.11,2.03,22,.48,18.56,0l-.3,2.14c2.97.42,5.66,1.76,7.79,3.88,2.02,2.02,3.34,4.56,3.82,7.36l2.13-.36c-.56-3.24-2.09-6.19-4.43-8.53Z"/><path fill="%23005b8c" d="M25.71,22.78l-4.08-4.08c-.41-.41-1.06-.44-1.51-.08l-2.13,1.72c-.42.34-1.03.33-1.44-.02,0,0-1.82-1.22-3.82-3.22-2-2-3.22-3.82-3.22-3.82-.35-.41-.36-1.02-.02-1.44l1.72-2.13c.36-.45.33-1.1-.08-1.51l-4.08-4.08c-.42-.42-1.08-.44-1.53-.07L.4,8.35c-.41.34-.52.93-.27,1.4,0,0,.69,1.4,1.33,2.48,1.76,2.95,4.61,6.45,7.15,8.99,2.54,2.54,6.03,5.39,8.99,7.15,1.07.64,2.48,1.33,2.48,1.33.47.25,1.06.14,1.4-.27l4.3-5.12c.38-.45.35-1.11-.07-1.53Z"/></svg>');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
}
.modal-tel-link1 a span b {
	display: block;
	color: var(--color2);
	font-size: 20px;
}
.modal-tel-link2 {
	padding: 20px 10px 10px 10px;
}
.modal-tel-link2 a {
	color: var(--white);
	font-size: 14px;
	font-weight: 700;
}
/* ------------------------------------------------ */
.recaptcha_policy {
	text-align: center;
	font-size: 13px;
	padding: 20px 0px;
}
.recaptcha_policy a {
	text-decoration: underline;
}
.grecaptcha-badge { visibility: hidden; }
/* ------------------------------------------------ */
.pp {
}
@media screen and (min-width: 768px) {
	.pp {
		padding: 10px 20px;
	}
}
.pp-top {
	margin-bottom: 20px;
}
.pp dl {
	margin-bottom: 20px;
}
.pp dl dt {
	color: var(--color1);
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}
.pp dl dd {
	padding: 0px 20px;
}
.pp dl dd p {
}
.pp dl dd ol {
}
.pp dl dd ol li {
}
.pp dl dd ol li ol {
	margin-left: 20px;
}
/* ------------------------------------------------ */