﻿@charset "UTF-8";

* {

	margin:  0;
	padding: 0;
	box-sizing: border-box;

}

.clearfix:after {

	content: "";
	display: block;
	clear: both;
	
}

img {
	
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: none;
	
}

li {

	list-style: none;
	
}

a {

	color: #333;
	text-decoration: none;

}

::-moz-selection {
	
	color: #fff;
	background: #BC9744;
	
}

::selection {
	
	color: #fff;
	background: #BC9744;
	
}

html * {
	
  visibility: hidden;
  
}

html.wf-active * {

  visibility: visible;
  
}

html {

	min-width: 320px;
	font-size: 62.5%;
	overflow-x: hidden;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	
}

body {

	min-width: 320px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 15.5px;
	line-height: 1.7;
	color: #333;
	letter-spacing: 0.08em;
	background: #000;
	-webkit-text-size-adjust: 100%;

}

main {
	
	display: block;

}

/* ヘッダー */
header {

	position: fixed;
	top:  0;
	left: 0;
	z-index: 12;
	width: 100%;
	
	background-image: url('../img/header_bg.png');
	background-size: cover;
	background-position: center center;
	
	padding-top:    3rem;
	padding-bottom: 1rem;
	
	/*
	background: #000;
	border-bottom: 0.3rem solid #DA9405;
	*/

}

header .inner {
	
  display: flex;
  justify-content: space-between;
	position: relative;
	width: 100%;
	padding-left:  2.2%;
	padding-right: 0;

}

header .left {

	/*float: left;*/
	width: 50rem;

}

header .left .catch {
	
	margin-bottom: 1rem;
	font-size: 1.2rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.17em;

}

header .left h1 {
	
	position: relative;
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	font-size: 2.2rem;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
	color: #fff;
	letter-spacing: 0.12em;
	
	width: 42rem;
	width: 60.5rem;
	width: 42rem;

}

header .left h1 img {

	width: 6.1rem;
	margin-right: 1.1rem;
	
	width: 100%;
	margin-right: 0;

}

header .left h1 span {

	display: inline-block;
	transform: translateY(-2.6rem);

}

header .left h1 a {
	
	display: block;
	color: #fff;

}


header .right {
	
	display: none;
	/*float: right;*/
	text-align: right;

}

header .right .tel {
	
	font-size: 3rem;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 0.9;
	color: #f6a700;
	letter-spacing: 0.18em;

}

header .right .fax {
	
	margin: 0.8rem 0;
	font-size: 3rem;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 0.9;
	color: #f6a700;
	letter-spacing: 0.18em;

}

header .right .addr {
	
	font-size: 1.8rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.12em;

}

header .right .time {

	font-size: 1.8rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.12em;

}

/*

header nav {

	position: absolute;
	top:  7.3rem;
	left: 50%;
	z-index: 5;
	width: 100%;
	text-align: center;
	transform: translate(-50%);

}

*/


header nav {

	/*float: left;*/
	margin-left: 0;
	margin-top: 4rem;
	margin-right: 25%;

}

header nav ul {


}

header nav ul li {
	
	display: inline-block;
	font-weight: 500;
	line-height: 1;
	margin: 0 2.4rem !important;

}

header nav ul li a {
	
	display: block;
	color: #fff;

}

header nav ul li .ja {
	
	position: relative;
	display: block;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.2em;
	
}

header nav ul li:hover .ja {

	color: #E19A09;
	transition: all 0.15s;

}

header nav ul li:nth-child(1) .ja {

	letter-spacing: 0.1em;

}

header nav ul li:nth-child(3) .ja {

	letter-spacing: 0.4em;

}

header nav ul li:nth-child(4) .ja {

	letter-spacing: 0.02em;

}

header nav ul li.on .ja:after {

	position: absolute;
	left: 50%;
	bottom: -2%;
	content: "";
	width: 5.6rem;
	height: 0.1rem;
	background: #fff;
	transform: translate(-50%);

}

header nav ul li.on:hover .ja:after {

	background: #E19A09;
	transition: all 0.15s;

}

header nav ul li .en {
	
	display: block;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	
}

header nav ul li:hover .en {

	color: #E19A09;
	transition: all 0.15s;

}

header nav ul li:nth-child(1) .en {

	text-align: center;

}

header nav ul li:nth-child(2) .en {

	text-align: center;

}

header nav ul li:nth-child(3) .en {



}

header nav ul li:nth-child(4) .en {
	text-align: center;
/*
	margin-left: 4rem;
*/
}

header nav ul li:nth-child(5) .en {
text-align: center;
/*
	margin-left: 4.5rem;
*/
}

header nav ul li ul {

	position: absolute;
	top:  100%;
	top:  112%;
	left: 0;
	width:  100%;
	height: 12rem;
	padding-left: 24%;
	padding-left: 0%;
	text-align: center;
	background-image: url('../img/header_bg.png');
	background-size: cover;
	background-position: center center;
	
}

header nav ul li ul li {
	
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 2rem 0;

}

header nav ul li ul li img {

	width: 20rem;
	margin: 0 2rem;

}

/*  */
header .pc_detail {
	
	/*
	float: right;
	*/
	position: absolute;
	top:  -1rem;
	right: 2rem;
	margin-right: 0;
	margin: 0;
	text-align: right;
	color: #fff;

}

header .pc_detail p {
	
	font-weight: 500;
	line-height: 1.5;

}

header .pc_detail .tel {
	
	font-size: 3.4rem;
	color: #f6a700;
	letter-spacing: 0.1em;

}

header .pc_detail .addr {

	font-size: 1.8rem;

}

header .pc_detail .time {

	font-size: 1.8rem;

}

/* メイン画像 */
.mainimg {
	
	position: relative;
	height: 79.6rem;
	margin-bottom: 8.8rem;
	/*background-image: url('../img/main1.webp');*/
	background-size: cover;
	background-position: center center;
	border-bottom: 0.3rem solid #DA9405;

}

.mainimg ul li {

	position: absolute;
	top:  0;
	left: 0;
	z-index: 0;
	width:  100%;
	height: 100%;
	list-style: none;
	background-size: cover;
	background-position: center center;

}

.mainimg ul li:nth-child(1) { background-image: url('../img/main1.webp'); }
.mainimg ul li:nth-child(2) { background-image: url('../img/main2.webp'); }
.mainimg ul li:nth-child(3) { background-image: url('../img/main3.webp'); }

.mainimg.kasou ul li:nth-child(1) { background-image: url('../img/main2.webp'); }
.mainimg.kasou ul li:nth-child(2) { background-image: url('../img/main3.webp'); }
.mainimg.kasou ul li:nth-child(3) { background-image: url('../img/main1.webp'); }

.mainimg ul li.prev {

	z-index: 1;

}

.mainimg ul li.active {
	
	z-index: 2;
	animation: clip 1.2s cubic-bezier(0.77, 0, 0.175, 1);

}

@keyframes clip {

	0% {
	
		-webkit-clip-path: clip-path: inset(0 100% 0 0);
		clip-path: inset(0 100% 0 0);
	
	}
	
	100% {
	
		-webkit-clip-path: inset(0);
		clip-path: inset(0);
	
	}

}

.mainimg .news_bnr {
	
	position: absolute;
	top:   17%;
	right: 0;
	z-index: 5;
	display: block;
	padding: 1.8rem 2rem;
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	font-size: 1.8rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	color: #CCC6BF;
	letter-spacing: 0.18em;
	background: rgba(0,0,0, 0.4);
	border: 0.2rem solid #CCC6BF;

}

.mainimg .news_bnr p {

	display: inline-block;
	margin-right: 2.8rem;
	transform: translateY(-1.2rem);
	
}

.mainimg .news_bnr .insta {
	
	display: inline-block;
	width: 4.7rem;
	margin-right: 2rem;

}

.mainimg .news_bnr .insta:hover {

	animation: poyoyon 2.5s 1;

}

.mainimg .news_bnr .sns {

	display: inline-block;
	width: 4.8rem;

}

.mainimg .news_bnr .sns:hover {

	animation: poyoyon 2.5s 1;

}

.mainimg .youtube {

	position: absolute;
	right:  3.2%;
	bottom: 5%;
	z-index: 5;
	width: 10.5rem;

}

.mainimg .youtube:hover {

	animation: poyoyon 2.5s 1;

}

.mainimg .youtube .circle {

	position: absolute;
	right:  40%;
	bottom: 23%;
	width:  3.9rem;
	height: 3.9rem;
	border: 0.2rem solid #fff;
	border-radius: 100%;
	
}

.mainimg .youtube .tri {

	position: absolute;
	right:  47%;
	bottom: 35%;
	width: 1.9rem;

}

/* 制作途中 */
.mainimg .process {

	position: absolute;
	left:   1em;
	bottom: 0.5em;
	z-index: 5;
	font-size: 4.8rem;
	color: #fff;
	letter-spacing: 0.06em;

}

/* バナー */
#bnr {
	
	position: relative;
	padding-top:    10.6rem;
	padding-bottom: 8rem;
	background: #E6DAC5;
	border-top:    0.5rem solid #717372;
	border-bottom: 0.5rem solid #717372;
	overflow-x: hidden;
	
	overflow: hidden;

}

#bnr .inner {

	position: relative;

}

#bnr .inner:nth-child(1) {

	margin-bottom: 12.5rem;
	margin-bottom: 10rem;

}

#bnr .inner:nth-child(2) {

	margin-bottom: 13.3rem;
	margin-bottom: 10rem;

}

#bnr .inner h3 {
	
	float: left;
	position: relative;
	z-index: 2;
	margin-top: 4.2rem;
	margin-left: 2rem;
	font-family: din-2014, sans-serif;
	font-size: 14.8rem;
	font-weight: 700;
	line-height: 1;
	color: #BC9744;
	letter-spacing: 0.18em;
	

	/*margin-left: 34rem;*/
	margin-left: 0;
	
	margin-top: 6rem;
	width: 37%;
	font-size: 10rem;
	text-align: right;

}

#bnr .inner.active2 h3 {

	color: #000;
	transition: color 0.1s;

}

#bnr .inner h3 span {
	
	opacity: 0;
	display: inline-block;
  transform: translate(-5em, 0) skewX(30deg);
  transition: all 0.5s 0.4s;

}

#bnr .inner.active h3 span {

	opacity: 1;
	transform: translate(0, 0) skewX(0);

}

#bnr .inner.active3 h3 span {

	opacity: 1;
	transform: translate(0, 0) skewX(0);

}

/*
#bnr .inner h3:after {

	position: absolute;
	left:   0;
	bottom: -0.2rem;
	content: "";
	width: 0;
	height: 0.6rem;
	background: #BC9744;

}

#bnr .inner.active h3:after {

	width: 100rem;
	transition: width 0.6s;

}

#bnr .inner.active2 h3:after {

	background: #000;
	transition: background 0.1s;

}
*/

#bnr .inner .bnr {

	float: right;
	position: relative;
	z-index: 10;
	display: block;
	width: 116rem;
	width: 60.8%;
	height: 29rem;
	transform: translateX(108%) skewX(-28deg);
	transition: all 0.65s 0.3s;
	
	width:  60.8%;
	height: 15rem;
	
}

#bnr .inner.active .bnr {

	transform: translateX(0) skewX(0);

}

#bnr .inner.active3 .bnr {

	transform: translateX(108%) skewX(-28deg);

}

#bnr .inner .bnr .image {

	position: absolute;
	top:   0;
	right: 0;
	z-index: 3;
	width: 103.7rem;
	transition: all 0.2s;
	
	top: 13%;
	right: 22%;
	width: 52rem;

}

#bnr .inner .bnr .image:after {

	position: absolute;
	top:  0;
	left: 0.6%;
	content: "";
	width:  99.4%;
	height: 95%;
	transition: all 0.4s;

}

#bnr .inner .bnr .image:hover:after {

	background: rgba(0,0,0, 0.3);

}

/*

#bnr .inner .bnr:hover .image {

	-webkit-filter: grayscale(100%);
  filter: grayscale(100%);

}

*/

#bnr .inner .bnr .bg {

	position: absolute;
	right:  0;
	bottom: 0;
	z-index: 2;
	width: 100%;
	height: 69%;
	background: #BC9744;
	
	height: 100%;

}

#bnr .inner.active2 .bnr .bg {

	background: #000;
	transition: background 0.1s;

}

#bnr .inner .ja {

	position: absolute;
	left:   2.9%;
	bottom: 3.4%;
	z-index: 3;
	
	left: 2%;
	bottom: 20%;
	transform: rotate(3.6deg);

}

#bnr .inner:nth-child(1) .bnr .ja {

	width: 37.5rem;
	width: 28rem;

}

#bnr .inner:nth-child(2) .bnr .ja {

	width: 21.4rem;
	width: 17rem;
	
	bottom: 20%;

}

#bnr .inner:nth-child(3) .bnr .ja {

	width: 56.1rem;
	width: 35rem;
	bottom: 27%;

}

#bnr .inner .bnr p {

	position: absolute;
	right:  2%;
	bottom: 0.5%;
	z-index: 3;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.1em;
	
	bottom: 11%;

}

#bnr .inner .bnr p img {

	width: 1.7rem;
	margin-left: 1rem;
	transform: translateY(-1rem);

}

#bnr .logo2 {

	position: absolute;
	top:  15%;
	left: 25%;
	z-index: 1;
	width: 93.9rem;
	
	top:  24%;
	left: 33%;
	width: 56rem;

}

#bnr .inner .dropdown2 {
	
	position: absolute;
	right: -54rem;
	bottom: -10.6rem;
	z-index: 3;
	display: block;
	transition: all 0.4s;

}

#bnr .inner .dropdown2.active {

	right: 1.5%;

}

#bnr .dropdown2 .drops {
	
	position: relative;
	display: inline-block;
	width: 23rem;
	margin-right: 1rem;
	
}

/* お知らせ */
#news {

	padding-top: 6.6rem;
	color: #fff;
	background: #000;

}

#news h2 {
	
	margin-bottom: 4.3rem;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.15em;

}

#news .inner {

	width: 90%;
	margin: 0 auto;
	padding: 5.1rem 19.5rem;
	padding: 5.1rem 10%;
	border: 0.2rem solid #fff;

}

#news .inner dl {
	
	display: flex;
	margin-bottom: 2.2rem;
	margin-left: 1.2rem;
	font-size: 1.8rem;
	color: #fff;
	letter-spacing: 0.18em;
	border-bottom: 0.2rem solid #aaa;

}

#news .inner dl dt {

	width: 15rem;
	padding: 1.4rem 0;

}

#news .inner dl dd {

	padding: 1.4rem 0;

}

/* スケジュール */
#sche {

	padding-top: 6.6rem;
	color: #fff;
	background: #000;

}

#sche h2 {

	margin-bottom: 13rem;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.12em;

}

#sche .inner {

	width: 62%;
	margin: 0 auto;

}

#sche .inner .box {
	
	float: left;
	width: 40.5%;
	text-align: center;

}

#sche .inner .box:nth-child(2) {

	float: right;

}

#sche .inner .box h3 {
	
	margin-bottom: 1.2em;
	font-size: 3.4rem;
	color: #BC9744;

}

#sche .inner .box table {

	width: 100%;
	margin-bottom: 4rem;
	border-collapse: collapse;

}

#sche .inner .box table caption {

	margin-bottom: 1.2em;
	font-size: 2.8rem;
	color: #BC9744;

}

#sche .inner .box table caption span {

	/*color: #fff;*/

}

#sche .inner .box table th, #sche .inner .box table td {
	
	padding: 0.3em 0;
	font-size: 2rem;

}

#sche .inner .box table tfoot td {
	
	padding-top: 1em;
	transform: translateX(-2.4em);

}

#sche a {

	color: #F09F0C;

}

#sche .inner .box select {

	display: inline-block; 
	-webkit-appearance: none;
  -moz-appearance:    none;
  appearance:         none;
  margin: 0;
  padding: 0;
  outline: none;
  background: transparent;
  border: 0;
  
 	padding: 0.6em 1em 0.5em 1em;
  font-size: 2.2rem;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.04em;
  background: #BC9744;
  border: 0.2em solid #fff;
  border-radius: 9999px;

}

/* アクセス */
#access {

	padding-top:    12rem;
	padding-bottom: 17.5rem;
	background: #000;
	background: #e6dac5;

}

#access h2 {

	margin-bottom: 3.6rem;
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
	letter-spacing: 0.12em;

}

#access .map {

/*
	display: block;
	height: 30.8rem;
	background-image: url('../img/map.webp');
	background-size: cover;
	background-position: center center;
	border-top:    0.4rem solid #BC9744;
	border-bottom: 0.4rem solid #BC9744;
*/

}

#access .map {

	position: relative;
	width:  100%;
	height: 0;
	padding-bottom: 20%;
	overflow: hidden;
	border-top:    0.4rem solid #BC9744;
	border-bottom: 0.4rem solid #BC9744;

}

#access .map iframe {

	position: absolute;
	top:  0;
	left: 0;
	width:  100% !important;
	height: 100% !important;
	-webkit-filter: grayscale(1);
	        filter: grayscale(1);
	        
}

/* フッター */
footer {
	
	background: #2F2F2F;
	border-top: 0.2rem solid #FDFEF9;

}

footer a {

	color: #F6A700;

}

footer .inner {

	width: 83%;
	margin: 0 auto;
	padding-top:    5rem;
	padding-bottom: 1.6rem;

}

footer .inner .left {

	float: left;
	width: 50%;
	padding-left: 8%;

}

footer .inner .left .logo {

	width: 37.7rem;

}

footer .inner .left .logo svg {

	display: block;

}

/*

footer .inner .left  path {

	transition: fill 0.2s;

}

footer .inner .left .logo:hover path {

	fill: #E3A100

}

*/

footer .inner .right {
	
	float: right;
	width: 50%;
	padding-left: 4.2%;

}

footer .inner .right .txt {

	float: left;
	width: 60%;

}

footer .inner .right .txt .koms {
	
	width: 38rem;
	margin-bottom: 1.4rem;

}

footer .inner .right .txt .tel {
	
	margin-bottom: 2rem;
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.5;
	color: #f6a700;
	letter-spacing: 0.18em;

}

footer .inner .right .txt .fax {
	
	margin-bottom: 2rem;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.5;
	color: #f6a700;
	letter-spacing: 0.18em;

}

footer .inner .right .txt .addr {
	
	margin-bottom: 3.5rem;
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.12em;

}

footer .inner .right .txt nav {

	width: 60%;
	margin-bottom: 1rem;
	
}

footer .inner .right .txt nav li {
	
	float: left;
	margin-bottom: 2.8rem;
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.12em;

}

footer .inner .right .txt nav li:nth-child(odd) {

	width: 50%;

}

footer .inner .right .txt nav li.ac {
	
	float: right;
	width: 30%;
	margin-left: 20%;
	transform: translateX(-0.2em);

}

footer .inner .right .txt nav li:nth-child(even) {

	float: right;

}

footer .inner .right .txt nav li a {

	color: #fff;

}

footer .inner .right .shop {

	float: right;
	width: 32%;
	margin-top: 1.2rem;
	margin-bottom: 8.6rem;

}

footer .inner .right .copy {

	clear: both;
	margin-bottom: 1.4rem;
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	letter-spacing: 0.11em;
	white-space: nowrap;

}

@keyframes poyoyon {

   0%, 40% { transform: skew(0, 0);        }
   5% { transform: skew(5deg, 5deg);       }
  10% { transform: skew(-4deg, -4deg);     }
  15% { transform: skew(3deg, 3deg);       }
  20% { transform: skew(-2deg, -2deg);     }
  25% { transform: skew(1deg, 1deg);       }
  30% { transform: skew(-0.6deg, -0.6deg); }
  35% { transform: skew(0.3deg, 0.3deg);   }
  
}

/* トグル */
.menu {

	display: none;

}

/* スマホ改行 */
.sp_break {

	display: none;

}

@media only screen and (max-width: 1920px) {

	html {
	
		font-size: 51.125%;
		max-width: 1571px;
		margin: 0 auto;
		
	}
	
	header {
	
		max-width: 1571px;
	
	}
	
}

/*
@media only screen and (max-width: 1820px) {

	html {
		
		font-size: 59.25%;
		
	}
	
	header nav ul li {
		
		margin: 0 2em;

	}

}


@media only screen and (max-width: 1728px) {

	html {
		
		font-size: 56.25%;
		
	}
	
	header nav ul li {
		
		margin: 0 1.8em;
		
	}

}


@media only screen and (max-width: 1670px) {

	html {
		
		font-size: 54.375%;
		
	}

}


@media only screen and (max-width: 1620px) {

	html {
		
		font-size: 52.75%;
		
	}

}


@media only screen and (max-width: 1570px) {

	html {
		
		font-size: 51.125%;
		
	}

}
*/

/* MacBook Pro14 */
@media only screen and (max-width: 1512px) {

	/* HTML */
	html {
		
		font-size: 49.25%;
		
	}
	
	/* ナビ */
	header nav ul li {
		
		margin: 0 1.6em;
		
	}

}


@media only screen and (max-width: 1440px) {

	html {
		
		font-size: 46.875%;
		
	}

}


@media only screen and (max-width: 1400px) {

	html {
		
		font-size: 45.562%;
		
	}

}


/* 中サイズ */
@media only screen and (max-width: 1366px) {

	/* HTML */
	html {
		
		font-size: 44.4375%;
		
	}
	
	header {
	
		padding-top: 2.4rem;
	
	}
	
	/* ナビ */
	header nav ul li {
		
		/*margin: 0 1.5em;*/
		
	}

}


@media only screen and (max-width: 1320px) {

	html {
		
		font-size: 43%;
		
	}

}


/* MacBook Air */
@media only screen and (max-width: 1280px) {

	/* HTML */
	html {
		
		font-size: 41.6875%;
		
	}
	
	/* ナビ */
	header nav ul li {
		
		margin: 0 1.4em;
		
	}

}


@media only screen and (max-width: 1240px) {

	html {
		
		font-size: 40.375%;
		
	}

}


@media only screen and (max-width: 1200px) {

	html {
		
		font-size: 39.0625%;
		
	}
	
	header.active {
	
		z-index: 100;
		background: none;
		border-bottom: 0px solid #000;
	
	}
	
	header .left {

		width: 80rem;
		width: 100%;

	}
	
	header .left h1 {
	
		width: 60rem;
	
	}
	
	header.active .left h1 {
	
		opacity: 0;
	
	}
	
	header.active .left .catch {
		
		opacity: 1;
		position: fixed;
		top:  67%;
		left: 50%;
		width: 100%;
		text-align: center;
		transform: translate(-50%, -50%);
		margin-bottom: 1rem;
		font-size: 2.8rem;
		letter-spacing: 0.08em;

	}

	header .right {
		
		float: right;
		text-align: right;
		transform: translateX(-13rem);

	}
	
	header.active .right {
		
		display: block;
		position: fixed;
		bottom: 0;
		left:   50%;
		width: 100%;
		text-align: center;
		transform: translate(-50%, -20%);
		
	
	}

	header .right .tel {
		
		font-size: 2.6rem;
		line-height: 0.9;
		letter-spacing: 0.18em;

	}
	
	header .right .fax {
	
		margin: 0.8rem 0;
		font-size: 3rem;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 0.9;
		color: #f6a700;
		letter-spacing: 0.18em;

	}
	
	header.active .right .tel {
		
		margin-top: 0;
		font-size: 4.6rem;
		line-height: 1.8;
		letter-spacing: 0.16em;

	}
	
	header.active .right .fax {
	
		margin: 0.8rem 0;
		margin-bottom: 3rem;
		font-size: 4.6rem;
		letter-spacing: 0.18em;

	}

	header .right .addr {
		
		font-size: 1.8rem;
		letter-spacing: 0.12em;

	}
	
	header.active .right .addr {
		
		margin-bottom: 1.2rem;
		font-size: 3.2rem;
		letter-spacing: 0.18em;

	}

	header .right .time {

		font-size: 1.8rem;
		letter-spacing: 0.12em;

	}
	
	header.active .right .time {

		font-size: 3.2rem;
		letter-spacing: 0.12em;

	}
	
	/* ナビ */
	header nav {
		
	  opacity: 0;
  	visibility: hidden;
	  position: fixed;
	  top:  0;
	  left: 0;
	  z-index: -1;
	  width:  100%;
	  height: 100vh;
	  display: flex; 
	  flex-direction: column;
	  justify-content: center;
	  align-items: center;
	  margin: 0;
	  text-align: left;
	  transform: translate(0);
	  transition: all 0.04s;
	  pointer-events: none;

	}
	
	header nav.active {
	
		opacity: 1;
  	visibility: visible;
  	z-index: 100;
  	pointer-events: auto;
	
	}
	
	header nav ul {
	
		width: 45%;
		margin-top: -20rem;
		text-align: left;
	
	}

	header nav ul li {
		
		position: relative;
		z-index: -1;
		float: left;
		display: block;
		float: left;
		width: 50%;
		margin: 0;
		margin-bottom: 8rem !important;
		text-align: left !importnat;

	}
	
	header nav.active ul li {
	
		z-index: 100;
	
	}

	header nav ul li:last-child {

		margin-bottom: 0;

	}

	header nav ul li .ja {
		
		font-size: 4.5rem;
		line-height: 1.5;
		letter-spacing: 0.08em;
		
	}

	header nav ul li:nth-child(1) .ja {

		letter-spacing: 0.08em;

	}

	header nav ul li:nth-child(3) .ja {

		letter-spacing: 0.08em;

	}

	header nav ul li:nth-child(4) .ja {

		letter-spacing: 0.08em;

	}

	header nav ul li.on .ja:after {

		height: 0;

	}

	header nav ul li .en {
		
		text-align: left;
		font-size: 2.4rem;
		color: #F6A700;
		letter-spacing: 0.06em;
		text-align: left !important;
		
	}
	
	header nav ul li:nth-child(1) .en {
		
		text-align: left;
		margin: 0;
		padding: 0;

	}
	
	header nav ul li:nth-child(2) .en {
		
		text-align: left;
		margin: 0;

	}

	header nav ul li:nth-child(3) .en {

		margin-left: 0;

	}

	header nav ul li:nth-child(4) .en {

		margin-left: 0;

	}

	header nav ul li:nth-child(5) .en {

		margin-left: 0;

	}
	
	header nav ul li ul {

		position: absolute;
		top:  50%;
		left: 0;
		width:  100%;
		height: 0;
		padding-left: 0;
		padding-left: 50%;
		text-align: center;
		background-image: none;
		
	}

	header nav ul li ul li {
		
		display: inline-block;
		width: 140%;
		padding: 1rem 0;

	}

	header nav ul li ul li img {

		width: 100%;
		margin: 0;
		margin-right: 2%;

	}
	
	header .pc_detail {
	
		display: none;

	}

	
	/* レイヤー */
	.layer {
		
		z-index: -1;
		visibility: hidden;
		position: fixed;
		top:  0;
		left: 0;
		width:  100%;
		height: 0;
		background: #1D1D1D;
		transition: all 0.4s;
		transform-origin: left bottom;

	}

	.layer.open {
		
		z-index: 99;
		visibility: visible;
		top:   auto;
		bottom: 0;
		height: 100vh;

	}

	.layer.close {
		
		z-index: -1;
		visibility: hidden;
		top:    0;
		bottom: auto;
		height: 0;

	}
	
	/* トグル */
	.menu {
		
		display: block;
	  position: fixed;
	  top:    2rem;
	  right:  20px;
	  z-index: 104;
	  width:  40px;
	  height: 40px;
	  transform: scale(1.2);
		
	}
	
	.menu.active {
		
		top: 4px;
	
	}
	
	.menu__line {
		
		position: absolute;
	  display: block;
	  width:  60%;
	  height: 2px;
	  background: #fff;
	  transition: all 0.3s;
	  
	}
	
	.menu__line--top {
		
		top: 10px;
		left: 8px;
	
	}
	
	.menu__line--center {
		
	  top:  18px;
	  right: 8px;
	  
	}
	
	.menu__line--bottom {
		
	  bottom: 11px;
	  left:   8px;
	  
	}
	
	.menu__line--top.active {
	
	  top: 18px;
	  transform: rotate(45deg);
	  
	}
	
	.menu__line--center.active {
		
	  transform: scaleX(0);
	  
	}
	
	.menu__line--bottom.active {
	
	  bottom: 20px;
	  transform: rotate(135deg);
	  
	}

}


@media only screen and (max-width: 1100px) {

	html {
		
		font-size: 35.8125%;
		
	}

}


/* iPadPro */
@media only screen and (max-width: 1024px) {

	/* HTML */
	html {
		
		font-size: 33.3125%;
		
	}

}


@media only screen and (max-width: 950px) {

	html {
		
		font-size: 30.937%;
		
	}
	
	/* ヘッダー */
	header {

		position: fixed;
		top:  0;
		left: 0;
		padding-top:    2.4rem;
		padding-bottom: 2rem;

	}

	header .inner {

		padding-left:  1.6%;
		padding-right: 0.7%;

	}

	header .left {
		
		width: 100%;

	}
	
	header .left h1 {
		
		width: 70rem;

	}

	header .left .catch {
		
		margin-bottom: 1rem;
		font-size: 1.2rem;
		letter-spacing: 0.14em;
		white-space: nowrap;

	}
	
	header .right {

		float: right;
		text-align: right;
		transform: translateX(-15rem);

	}
	
	header.active .right {
		
		display: block;
		position: fixed;
		bottom:  0%;
		left:   50%;
		width: 100%;
		text-align: center;
		transform: translate(-50%, -50%);
		
	}

	header .right .tel {
		
		margin-top: 0;
		font-size: 3.2rem;
		line-height: 0.9;
		letter-spacing: 0.18em;

	}
	
	header .right .fax {
	
		margin: 0.8rem 0;
		font-size: 3.2rem;
		line-height: 0.9;
		letter-spacing: 0.18em;

	}
	
	header.active .right .tel {
		
		margin-top: 0;
		font-size: 4rem;
		line-height: 1.2;
		letter-spacing: 0.16em;

	}
	
	header.active .right .fax {
		
		margin: 0.8rem 0;
		margin-bottom: 4rem;
		font-size: 4rem;
		line-height: 1.2;
		letter-spacing: 0.16em;

	}
	
	header.active a:not(li a) {
	
		color: #F6A700;
	
	}

	header .right .addr {
		
		font-size: 2.2rem;
		letter-spacing: 0.12em;

	}
	
	header.active .right .addr {
		
		margin-bottom: 1.2rem;
		font-size: 3.4rem;
		letter-spacing: 0.18em;

	}

	header .right .time {

		font-size: 2.2rem;
		letter-spacing: 0.12em;

	}
	
	header.active .right .time {

		font-size: 3.4rem;
		letter-spacing: 0.12em;

	}
	
	/* ナビ */
	header nav ul {
	
		width: 50%;
	
	}

	header nav ul li {
		
		float: left;
		width: 50%;
		margin-bottom: 8rem;

	}
	
	header nav ul li .ja {
		
		font-size: 5rem;
		line-height: 1.5;
		letter-spacing: 0.08em;
		
	}

	header nav ul li .en {
		
		font-size: 2.6rem;
		letter-spacing: 0.06em;
		
	}

	/* メイン画像 */
	.mainimg {
		
		height: 100rem;
		margin-bottom: 12rem;
		background-image: url('../img/main1.webp');
		border-bottom: 0.6rem solid #DA9405;

	}

	.mainimg .news_bnr {
		
		top:   17%;
		right: 0;
		padding: 2rem 2.4rem;
		font-size: 2.6rem;
		letter-spacing: 0.12em;
		border: 0.3rem solid #CCC6BF;

	}

	.mainimg .news_bnr p {

		margin-right: 2.8rem;
		transform: translateY(-1.2rem);
		
	}

	.mainimg .news_bnr .insta {
		
		width: 5.2rem;
		margin-right: 2rem;

	}

	.mainimg .news_bnr .sns {

		width: 5.2rem;

	}

	.mainimg .youtube {

		right:  3.2%;
		bottom: 5%;
		width: 14rem;

	}

	.mainimg .youtube .circle {

		right:  42%;
		bottom: 27%;
		width:  4.2rem;
		height: 4.2rem;
		border: 0.3rem solid #fff;
		
	}

	.mainimg .youtube .tri {

		right:  48%;
		bottom: 37%;
		width: 2rem;

	}

	/* バナー */
	/*
	#bnr {
		
		padding-top:    10rem;
		padding-bottom: 15rem;
		border-top:    0.6rem solid #717372;
		border-bottom: 0.6rem solid #717372;

	}

	#bnr .inner:nth-child(1) {

		margin-bottom: 10rem;

	}

	#bnr .inner:nth-child(2) {

		margin-bottom: 10rem;

	}

	#bnr .inner h3 {
		
		float: left;
		margin-top: 4.2rem;
		margin-left: 5rem;
		font-size: 20rem;
		letter-spacing: 0.14em;

	}

	#bnr .inner h3 span {
		
		opacity: 0;
	  transform: translate(-5em, 0) skewX(30deg);

	}

	#bnr .inner.active h3 span {

		opacity: 1;
		transform: translate(0, 0) skewX(0);
		transition: all 0.5s 0.4s;

	}

	#bnr .inner h3:after {

		left:   0;
		bottom: -0.2rem;
		width: 0;
		height: 0.8rem;

	}

	#bnr .inner.active h3:after {

		width: 130rem;
		transition: width 0.6s;

	}

	#bnr .inner .bnr {
		
		float: right;
		width: 75%;
		height: 34rem;
		margin-top: 6rem;
		transform: translateX(108%) skewX(-28deg);
		
	}

	#bnr .inner.active .bnr {

		transform: translateX(0) skewX(0);
		transition: all 0.65s 0.3s;

	}

	#bnr .inner .bnr .image {

		top:   0;
		right: 0;
		width: 126rem;

	}

	#bnr .inner .bnr .bg {

		right:  0;
		bottom: 0;
		width: 100%;
		height: 69%;

	}

	#bnr .inner .ja {

		left:   2.9%;
		bottom: 3.4%;

	}

	#bnr .inner:nth-child(1) .bnr .ja {

		width: 42rem;

	}

	#bnr .inner:nth-child(2) .bnr .ja {

		width: 25rem;

	}

	#bnr .inner:nth-child(3) .bnr .ja {

		width: 64rem;

	}

	#bnr .inner .bnr p {

		right:  3%;
		bottom: 1%;
		font-size: 2.8rem;
		letter-spacing: 0.1em;

	}

	#bnr .inner .bnr p img {

		width: 2rem;
		margin-left: 1rem;
		transform: translateY(-1.2rem);

	}

	#bnr .logo2 {

		top:  28%;
		left: 15%;
		width: 70%;

	}
	*/

	/* お知らせ */
	#news {

		padding-top: 13rem;

	}

	#news h2 {
		
		margin-bottom: 8rem;
		font-size: 5.4rem;
		letter-spacing: 0.12em;

	}

	#news .inner {

		width: 90%;
		padding: 6rem 6%;
		border: 0.2rem solid #fff;

	}

	#news .inner dl {
		
		display: flex;
		margin-bottom: 3rem;
		margin-left: 0;
		font-size: 3.4rem;
		letter-spacing: 0.1em;
		border-bottom: 0.2rem solid #aaa;

	}

	#news .inner dl dt {

		width: 23rem;
		margin-right: 4rem;
		padding: 2rem 0;

	}

	#news .inner dl dd {

		padding: 2rem 0;

	}

	/* スケジュール */
	#sche {

		padding-top: 18rem;

	}

	#sche h2 {

		margin-bottom: 14rem;
		font-size: 5.4rem;
		letter-spacing: 0.12em;

	}

	#sche .inner {

		width: 70%;
		margin: 0 auto;

	}
	
	#sche .inner .box {
		
		float: left;
		width: 40.5%;

	}

	#sche .inner .box:nth-child(2) {

		float: right;

	}

	#sche .inner .box h3 {
		
		margin-bottom: 1.2em;
		font-size: 4.6rem;

	}
	
	#sche .inner .box table {
	
		margin-bottom: 6rem;
	
	}

	#sche .inner .box table caption {

		margin-bottom: 1.2em;
		font-size: 4rem;

	}

	#sche .inner .box table th, #sche .inner .box table td {
		
		padding: 0.2em 0;
		font-size: 3.4rem;

	}

	#sche .inner .box table tfoot td {
		
		padding-top: 1em;
		transform: translateX(-2.4em);

	}
	
	#sche .inner .box select {

	 	padding: 0.5em 1em;
	  font-size: 3rem;
	  letter-spacing: 0.04em;
	  border: 0.2em solid #fff;

	}

	/* アクセス */
	#access {

		padding-top:    18rem;
		padding-bottom: 17.5rem;

	}

	#access h2 {

		margin-bottom: 8rem;
		font-size: 5.4rem;
		letter-spacing: 0.12em;

	}

	#access .map {

		height: 48rem;
		background-image: url('../img/map.webp');
		border-top:    0.6rem solid #BC9744;
		border-bottom: 0.6rem solid #BC9744;

	}

	/* フッター */
	footer {
		
		background: #2F2F2F;
		border-top: 0.3rem solid #fff;

	}

	footer .inner {

		width: 90%;
		padding-top:    9rem;
		padding-bottom: 4rem;

	}

	footer .inner .left {

		float: none;
		width: 100%;
		padding-left: 0;

	}

	footer .inner .left .logo {

		width: 30%;
		margin: 0 auto;
		margin-bottom: 10rem;

	}

	footer .inner .right {
		
		float: none;
		width: 100%;
		padding-left: 0;

	}

	footer .inner .right .txt {

		float: left;
		width: 50%;

	}

	footer .inner .right .txt .koms {
		
		width: 100%;
		margin-bottom: 3rem;

	}

	footer .inner .right .txt .tel {
		
		margin-bottom: 0.4rem;
		font-size: 7rem;
		letter-spacing: 0.08em;

	}
	
	footer .inner .right .txt .fax {
		
		margin-bottom: 2rem;
		font-size: 7rem;
		letter-spacing: 0.08em;

	}

	footer .inner .right .txt .addr {
		
		margin-bottom: 12rem;
		font-size: 4rem;
		letter-spacing: 0.12em;

	}

	footer .inner .right .txt nav {

		width: 60%;

	}

	footer .inner .right .txt nav li {
		
		float: left;
		margin-bottom: 5rem;
		font-size: 3.6rem;
		letter-spacing: 0.1em;

	}

	footer .inner .right .txt nav li:nth-child(odd) {

		width: 50%;

	}

	footer .inner .right .txt nav li.ac {
		
		float: right;
		width: 30%;
		margin-left: 0;
		transform: translateX(0.2em);

	}

	footer .inner .right .txt nav li:nth-child(even) {

		float: right;

	}

	footer .inner .right .txt nav li:last-child {

		margin-top: 0;

	}

	footer .inner .right .shop {

		float: right;
		width: 40%;
		margin-top: 0;
		margin-bottom: 7.6rem;

	}

	footer .inner .right .copy {
		
		text-align: center;
		font-size: 3rem;
		letter-spacing: 0.1em;

	}
	
	/* トグル */
	.menu {
		
	  top:    4rem;
	  right:  20px;
	  width:  40px;
	  height: 40px;
	  transform: scale(1.5);
		
	}
	
}


/* XRの横 */
@media only screen and (max-width: 896px) {

	/* HTML */
	html {
		
		font-size: 29.2%;
		
	}
	
}


/* AndroidのＬの横 */
@media only screen and (max-width: 854px) {

	/* HTML */
	html {
		
		font-size: 27.8125%;
		
	}

}


/* iPad Pro11 */
@media only screen and (max-width: 834px) {



}


/* iPad Air */
@media only screen and (max-width: 820px) {

	/* HTML */
	html {
		
		font-size: 26.6875%;
		
	}

	header .left {

		width: 100%;
		margin: 0;
		padding: 0;

	}
	
	header .left .catch {
		
		display: none;
		opacity: 0;
		white-space: nowrap;

	}
	
	header.active .left .catch {
	
		display: block;
	
	}
	
	header .left h1 {
		
		margin: 0;
		padding: 0;
		/*width: 110rem;*/

	}
	
	header .right {
		
		display: none;

	}
	
	header.active .right {
		
		opacity: 1;
		display: block;

	}

}


/* iPad */
@media only screen and (max-width: 768px) {

	/* HTML */
	html {
		
		font-size: 25%;
		
	}
	
	header .left h1 {
		
		/*width: 120rem;*/

	}
	
}


/* iPhonePlusの横 */
@media only screen and (max-width: 736px) {

	/* HTML */
	html {
		
		font-size: 23.937%;
		
	}

}


/* iPhone8の横 */
@media only screen and (max-width: 667px) {

	/* HTML */
	html {
		
		font-size: 21.6875%;
		
	}
	
	header .left h1 {
		
		/*width: 130rem;*/

	}
	
	/* トグル */
	.menu {
		
	  top:    1.4rem;
	  right:  2%;
	  width:  40px;
	  height: 40px;
	  transform: scale(1.2);
		
	}
	
}


/* iPhone5の横 */
@media only screen and (max-width: 568px) {

	/* HTML */
	html {
		
		font-size: 18.5%;
		
	}
	
	/* 改行 */
	.sp_break {
	
		display: block;
	
	}
	
	/* ヘッダー */
	header {

		position: fixed;
		top:  0;
		left: 0;
		padding-top:    3.4rem;
		padding-bottom: 2.6rem;

	}

	header .inner {

		padding-left:  3%;
		padding-right: 3%;

	}

	header .left {

		/*float: left;*/

	}

	header .left .catch {
		
		display: none;
		margin-bottom: 0;
		font-size: 1rem;
		letter-spacing: 0.14em;
		white-space: nowrap;

	}
	
	header.active .left .catch {
		
		display: block;
		opacity: 1;
		position: fixed;
		top:  68%;
		left: 50%;
		text-align: center;
		transform: translate(-50%, -50%);
		margin-bottom: 1rem;
		font-size: 4.4rem;
		line-height: 2;
		letter-spacing: 0.08em;

	}
		
	header .left h1 {
		
		width: 120rem;

	}

	header .right {

		/*float: right;*/
		text-align: right;
		transform: translateX(-15rem);

	}
	
	header.active .right {
		
		position: fixed;
		bottom:  0%;
		left:   50%;
		width: 100%;
		text-align: center;
		transform: translate(-50%, -50%);
	
	}

	header .right .tel {
		
		margin-top: 0;
		font-size: 3.4rem;
		line-height: 1.3;
		letter-spacing: 0.18em;

	}
	
	header.active .right .tel {
		
		margin-top: 0;
		font-size: 8.2rem;
		font-size: 6.4rem;
		line-height: 1.2;
		color: #F6A700;
		letter-spacing: 0.16em;

	}
	
	header .right .fax {
	
		margin: 0.8rem 0;
		font-size: 6.4rem;
		line-height: 1.2;
		letter-spacing: 0.16em;

	}
	
	header.active .right .fax {
	
		margin: 0.8rem 0;
		margin-bottom: 6rem;
		font-size: 6.4rem;
		line-height: 1.2;
		letter-spacing: 0.16em;

	}
	
	header.active a:not(li a) {
	
		color: #F6A700;
	
	}

	header .right .addr {
		
		font-size: 2.2rem;
		letter-spacing: 0.12em;

	}
	
	header.active .right .addr {
		
		margin-bottom: 1.2rem;
		font-size: 5rem;
		letter-spacing: 0.18em;

	}

	header .right .time {

		font-size: 2.2rem;
		letter-spacing: 0.12em;

	}
	
	header.active .right .time {

		font-size: 5rem;
		letter-spacing: 0.12em;

	}
	
	/* ナビ */
	header nav ul {
	
		width: 74%;
		margin-top: -58rem;
	
	}

	header nav ul li {
		
		float: left;
		width: 50%;
		margin-bottom: 8rem;
		text-align: left !important;

	}
	
	header nav ul li .ja {
		
		font-size: 7rem;
		line-height: 1.5;
		letter-spacing: 0.08em;
		
	}

	header nav ul li .en {
		
		font-size: 4.2rem;
		letter-spacing: 0.06em;
		text-align: left !important;
		/*margin: 0 !important;*/
		
	}
	
	header nav ul li ul {

		position: absolute;
		top:  220%;
		left: 0;
		width:  100%;
		height: 0;
		padding-left: 0;
		padding-left: 60%;
		text-align: center;
		background-image: none;
		
	}

	header nav ul li ul li {
		
		display: inline-block;
		width: 150%;
		padding: 1rem 0;

	}

	header nav ul li ul li img {

		width: 100%;
		margin: 0;
		margin-right: 2%;

	}

	/* メイン画像 */
	.mainimg {
		
		height: 130rem;
		margin-bottom: 15rem;
		/*background-image: url('../img/main1_sp.webp');*/
		background-position: left bottom;
		border-bottom: 0.8rem solid #DA9405;

	}
	
	.mainimg ul li {

		position: absolute;
		top:  0;
		left: 0;
		z-index: 0;
		width:  100%;
		height: 100%;
		list-style: none;
		background-size: cover;
		background-position: center center;

	}
	
	.mainimg ul li:nth-child(1) {
	
		background-image: url('../img/main1_sp.webp');
		background-position: left bottom;
		
	}
	
	.mainimg ul li:nth-child(2) {
	
		background-image: url('../img/main2_sp.webp');
		background-position: center bottom;
		
	}
	.mainimg ul li:nth-child(3) {
	
		background-image: url('../img/main3_sp.webp');
		background-position: right 12% bottom;
		
	}
	
	.mainimg.kasou ul li:nth-child(1) {
	
		background-image: url('../img/main2_sp.webp');
		background-position: center bottom;
		
	}
	
	.mainimg.kasou  ul li:nth-child(2) {
	
		background-image: url('../img/main3_sp.webp');
		background-position: right 12% bottom;
		
	}
	
	.mainimg.kasou  ul li:nth-child(3) {
	
		background-image: url('../img/main1_sp.webp');
		background-position: left bottom;
		
	}

	.mainimg .news_bnr {
		
		top:   22%;
		right: 0;
		padding: 2.8rem 3.6rem;
		font-size: 4.4rem;
		font-weight: 400;
		letter-spacing: 0.1em;
		border: 0.4rem solid #CCC6BF;

	}

	.mainimg .news_bnr p {

		margin-right: 3.2rem;
		transform: translateY(-1.2rem);
		
	}

	.mainimg .news_bnr .insta {
		
		width: 7.6rem;
		margin-right: 2rem;

	}

	.mainimg .news_bnr .sns {

		width: 7.6rem;

	}

	.mainimg .youtube {

		right:  3.2%;
		bottom: 5%;
		width: 22rem;

	}

	.mainimg .youtube .circle {

		right:  42%;
		bottom: 25%;
		width:  7.6rem;
		height: 7.6rem;
		border: 0.4rem solid #fff;
		
	}

	.mainimg .youtube .tri {

		right:  50%;
		bottom: 39%;
		width: 3rem;

	}
	
	.mainimg .process {

		left:   1em;
		bottom: 0.5em;
		font-size: 8rem;
		letter-spacing: 0.06em;

	}

	/* バナー */
	#bnr {
		
		padding-top:    10rem;
		padding-bottom: 18rem;
		border-top:    0.8rem solid #717372;
		border-bottom: 0.8rem solid #717372;

	}

	#bnr .inner:nth-child(1) {

		margin-bottom: 10rem;

	}

	#bnr .inner:nth-child(2) {

		margin-bottom: 10rem;

	}

	#bnr .inner h3 {
		
		float: none;
		width: 100%;
		margin-top: 4.2rem;
		margin-left: 8rem;
		text-align: left;
		font-size: 22rem;
		letter-spacing: 0.14em;

	}

	#bnr .inner h3 span {
		
		opacity: 0;
	  transform: translate(-5em, 0) skewX(30deg);

	}

	#bnr .inner.active h3 span {

		opacity: 1;
		transform: translate(0, 0) skewX(0);
		transition: all 0.5s 0.4s;

	}

/*
	#bnr .inner h3:after {

		left:   0;
		bottom: -0.2rem;
		width: 0;
		height: 0.8rem;

	}

	#bnr .inner.active h3:after {

		width: 140rem;
		transition: width 0.6s;

	}
*/

	#bnr .inner .bnr {
		
		float: none;
		width: 96%;
		height: 25rem;
		margin-top: 5rem;
		margin-left: 4%;
		margin-bottom: 15rem;
		transform: translateX(108%) skewX(-28deg);
		
	}

	#bnr .inner.active .bnr {

		transform: translateX(0) skewX(0);
		transition: all 0.65s 0.3s;

	}

	#bnr .inner .bnr .image {

		top:   5%;
		right: 0;
		width: 58%;

	}

	#bnr .inner .bnr .bg {

		right:  0;
		bottom: 5%;
		width: 100%;
		height: 100%;

	}

	#bnr .inner .ja {

		left:   2.9%;
		bottom: 10%;

	}

	#bnr .inner:nth-child(1) .bnr .ja {

		width: 46rem;
		bottom: 29%;

	}

	#bnr .inner:nth-child(2) .bnr .ja {

		width: 32rem;
		bottom: 26%;

	}

	#bnr .inner:nth-child(3) .bnr .ja {

		width: 58rem;
		bottom: 32%;

	}

	#bnr .inner .bnr p {

		right:  3%;
		bottom: 20%;
		font-size: 5rem;
		letter-spacing: 0.08em;

	}

	#bnr .inner .bnr p img {

		width: 4rem;
		margin-left: 1.6rem;
		transform: translateY(-1.4rem);

	}

	#bnr .logo2 {

		top:  28%;
		left: 15%;
		width: 75%;

	}
	
	#bnr .inner .dropdown2 {
	
		position: absolute;
		right: -76rem;
		bottom: -17rem;

	}

	#bnr .inner .dropdown2.active {

		right: 1.5%;

	}

	#bnr .dropdown2 .drops {
		
		width: 36rem;
		margin-right: 1rem;
		
	}

	/* お知らせ */
	#news {

		padding-top: 15rem;

	}

	#news h2 {
		
		margin-bottom: 9rem;
		font-size: 6.6rem;
		letter-spacing: 0.12em;

	}

	#news .inner {

		width: 94%;
		padding: 6rem 4%;
		border: 0.2rem solid #fff;

	}

	#news .inner dl {
		
		display: flex;
		margin-bottom: 4rem;
		font-size: 6rem;
		letter-spacing: 0.07em;
		border-bottom: 0.2rem solid #aaa;

	}

	#news .inner dl dt {

		width: 27rem;
		margin-right: 15rem;
		padding: 2.4rem 0;

	}

	#hou .inner dl dd {

		padding: 2rem 0;

	}
	
	/* スケジュール */
	#sche {

		padding-top: 24rem;

	}

	#sche h2 {

		margin-bottom: 12rem;
		font-size: 6.6rem;
		letter-spacing: 0.12em;

	}

	#sche .inner {

		width: 76%;
		margin: 0 auto;

	}
	
	#sche .inner .box {
		
		float: none;
		width: 100%;

	}
	
	#sche .inner .box:nth-child(1) {

		margin-bottom: 18rem;

	}

	#sche .inner .box:nth-child(2) {

		float: none;
		margin-bottom: 8rem;

	}

	#sche .inner .box h3 {
		
		margin-bottom: 1.2em;
		font-size: 8rem;

	}
	
	#sche .inner .box table {
	
		margin-bottom: 8rem;
	
	}

	#sche .inner .box table caption {

		margin-bottom: 0.6em;
		font-size: 8rem;

	}

	#sche .inner .box table th, #sche .inner .box table td {
		
		padding: 0.2em 0;
		font-size: 6rem;

	}

	#sche .inner .box table tfoot td {
		
		padding-top: 1em;
		transform: translateX(-2.4em);

	}
	
	#sche .inner .box select {

	 	padding: 0.6em 1em 0.5em 1em;
	  font-size: 6.6rem;
	  letter-spacing: 0.04em;
	  border: 0.2em solid #fff;

	}

	/* アクセス */
	#access {

		padding-top:    20rem;
		padding-bottom: 18rem;

	}

	#access h2 {

		margin-bottom: 10rem;
		font-size: 6.6rem;
		letter-spacing: 0.12em;

	}

	#access .map {

		height: 56rem;
		background-image: url('../img/map_sp.webp');
		border-top:    0.8rem solid #BC9744;
		border-bottom: 0.8rem solid #BC9744;

	}

	/* フッター */
	footer {
		
		border-top: 0.8rem solid #fff;
		overflow-x: hidden;

	}

	footer .inner {

		width: 90%;
		padding-top:    10rem;
		padding-bottom: 5rem;

	}

	footer .inner .left .logo {

		width: 30%;
		margin-bottom: 12rem;

	}

	footer .inner .right {
		
		float: none;
		width: 100%;
		padding-left: 0;

	}

	footer .inner .right .txt {

		float: left;
		width: 50%;

	}

	footer .inner .right .txt .koms {
		
		width: 100%;
		margin-bottom: 2rem;

	}

	footer .inner .right .txt .tel {
		
		margin-bottom: 0.4rem;
		font-size: 7rem;
		letter-spacing: 0.08em;
		white-space: nowrap;

	}
	
	footer .inner .right .txt .fax {
		
		margin-bottom: 2rem;
		font-size: 7rem;
		letter-spacing: 0.08em;
		white-space: nowrap;

	}

	footer .inner .right .txt .addr {
		
		margin-bottom: 12rem;
		font-size: 4.6rem;
		letter-spacing: 0.08em;
		white-space: nowrap;

	}

	footer .inner .right .txt nav {

		width: 65%;
		margin-bottom: 5rem;

	}

	footer .inner .right .txt nav li {
		
		float: left;
		margin-bottom: 5rem;
		font-size: 4.2rem;
		letter-spacing: 0.1em;

	}

	footer .inner .right .txt nav li:nth-child(odd) {

		width: 50%;

	}

	footer .inner .right .txt nav li.ac {
		
		float: right;
		width: 30%;
		margin-left: 0;
		transform: translateX(-0.2em);

	}

	footer .inner .right .txt nav li:nth-child(even) {

		float: right;

	}

	footer .inner .right .txt nav li:last-child {

		margin-top: 0;

	}

	footer .inner .right .shop {

		float: right;
		width: 38%;
		margin-top: 3rem;
		margin-bottom: 7.6rem;

	}

	footer .inner .right .copy {
		
		text-align: center;
		font-size: 3.8rem;
		letter-spacing: 0.08em;

	}
	
	/* トグル */
	.menu {
		
	  top:    5.6rem;
	  right:  3%;
	  width:  40px;
	  height: 40px;
	  transform: scale(1.5);
		
	}

}


/* AndLoidL */
@media only screen and (max-width: 480px) {

	/* HTML */
	html {
		
		font-size: 17%;
		
	}

}


/* Iphone12 Pro Max */
@media only screen and (max-width: 428px) {

	/* HTML */
	html {
		
		font-size: 16%;
		
	}
	
	footer .inner .right .txt nav {

		width: 70%;

	}
	
	footer .inner .right .txt nav li.ac {
		
		transform: translateX(-0.3em);

	}
	
	/* トグル */
	.menu {
		
	  top:    2rem;
	  right:  2%;
	  width:  40px;
	  height: 40px;
		
	}

}


/* iPhonePlus */
@media only screen and (max-width: 414px) {

	/* HTML */
	html {
		
		font-size: 15.5%;
		
	}
	
	footer .inner .right .txt nav {

		width: 70%;

	}
	
	footer .inner .right .txt nav li.ac {
		
		transform: translateX(-0.2em);

	}
	
	/* トグル */
	.menu {
		
	  top:    2rem;
	  right:  2%;
	  width:  40px;
	  height: 40px;
		
	}

}


/* iPhone12 Pro */
@media only screen and (max-width: 390px) {

	/* HTML */
	html {
		
		font-size: 15%;
		
	}
	
	header .left h1 {
	
		width: 112rem;
	
	}
	
	/* トグル */
	.menu {
		
	  top:    1.6rem;
	  right:  2%;
	  width:  40px;
	  height: 40px;
		
	}
	
	footer .inner .right .txt nav {

		width: 65%;

	}
	
	footer .inner .right .txt nav li.ac {
		
		transform: translateX(-0.6em);

	}

}


/* iPhone8 */
@media only screen and (max-width: 375px) {

	/* HTML */
	html {
		
		font-size: 14.8%;
		
	}
	
	footer .inner .right .txt nav {

		width: 70%;

	}
	
	footer .inner .right .txt nav li.ac {

		transform: translateX(-0.6em);

	}

	footer .inner .right .copy {
		
		letter-spacing: 0.08em;

	}
	
	/* トグル */
	.menu {
		
	  top:    1.6rem;
	  right:  2%;
	  width:  40px;
	  height: 40px;
		
	}

}


/* Galaxy */
@media only screen and (max-width: 360px) {

	/* HTML */
	html {
		
		font-size: 14.5%;
		
	}

}


/* iPhone5 */
@media only screen and (max-width: 320px) {

	/* HTML */
	html {
		
		font-size: 13%;
		
	}
	
	/* ヘッダー */
	header {

		padding-top:    4.6rem;
		padding-bottom: 4.0rem;

	}
	
	header.active .left .catch {
		
		top:  68%;
		left: 50%;
		transform: translate(-50%, -50%);
		margin-bottom: 1rem;
		font-size: 3.8rem;
		line-height: 2;
		letter-spacing: 0.08em;

	}

	header .left h1 {
		
		width: 114rem;

	}

	header .right {

		float: right;
		text-align: right;
		transform: translateX(-15rem);

	}
	
	header.active .right {
		
		position: fixed;
		bottom:  2%;
		left:   50%;
		width: 100%;
		text-align: center;
		transform: translate(-50%, -50%);
	
	}

	
	header.active .right .tel {
		
		margin-top: 0;
		font-size: 6.8rem;
		line-height: 1.8;
		letter-spacing: 0.16em;

	}
	
	header.active .right .addr {
		
		margin-bottom: 1.2rem;
		font-size: 4.4rem;
		letter-spacing: 0.18em;

	}

	header.active .right .time {

		font-size: 4.4rem;
		letter-spacing: 0.12em;

	}
	
	/* ナビ */
	header nav ul {
	
		width: 75%;
	
	}

	header nav ul li {
		
		float: left;
		width: 50%;
		margin-bottom: 8rem;

	}
	
	header nav ul li .ja {
		
		font-size: 6.4rem;
		line-height: 1.5;
		letter-spacing: 0.08em;
		
	}

	header nav ul li .en {
		
		font-size: 3.4rem;
		letter-spacing: 0.06em;
		
	}
	
	footer .inner {
	
		width: 92%;
	
	}
	
	footer .inner .right .txt nav {

		width: 75%;

	}
	
	footer .inner .right .txt nav li.ac {

		transform: translateX(-0.8em);

	}
	
	footer .inner .right .copy {
		
		font-size: 2.6rem;
		letter-spacing: 0.04em;
		white-space: normal;

	}
	
	/* トグル */
	.menu {
		
	  top:    1.6rem;
	  right:  2%;
	  width:  40px;
	  height: 40px;
		
	}

}