@charset "UTF-8";
/*------------------------
スタイルの初期化
------------------------*/
html{
	font-size:62.5%;
		background: #353535!important;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video { margin:0; padding:0; }
body{
	width:100%;

	/*font-family: 'Noto Sans JP','メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;*/
	font-family: 'Zen Old Mincho','ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ Ｐ明朝','MS PMincho',serif;
	font-size: 1.4rem;
	line-height: 1.65;
	text-autospace:ideograph-alpha;
	font-weight:normal;
	font-feature-settings: 'palt';
	letter-spacing: .04em;
	position: relative;
}
/*.wf{
  font-family: "Playfair Display", serif;
  font-weight: 400;
}*/
.wf2 {
  font-family: "Playfair Display", serif;
  font-weight: 400; /* レギュラー */
}
* {
	box-sizing: border-box;
}
a {
	text-decoration: none;
	color: var(--black);
	transition: all .3s ease 0s;
	display: block;
}
a img {
	border:0;
}
img{
	vertical-align:top;
	width: 100%;
	height: auto;
}
ul, ol { list-style-type:none; }
sup { position: relative; vertical-align: baseline; top: -0.9em; font-size: 0.5em; }
hr { display: none; }
h1,h2,h3,h4,h5,h6 { font-size: 100%;}
th, caption{ text-align: left; font-weight: normal; }
th,td { empty-cells:show; }
input[type="text"] ,
input[type="email"] ,
input[type="tel"] ,
input[type="password"] { padding:0 2px; margin-right:0.4em; }
input[type="submit"] { display:inline; margin:0; }
input[type="radio"] { margin-right:0.4em; }
textarea { padding:2px; }
optgroup { font-style:normal; }
option { padding-right:10px; }
*:focus {
outline: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section,main{
	display:block;
}
/*ボタンデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"],button {
	color: var(--black);
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
	font-family: 'Noto Sans JP','メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
input[type="text"] ,
input[type="email"] ,
input[type="tel"] ,
input[type="password"] ,
textarea {
	-webkit-appearance : none;
	appearance: none;
	border-radius:0;
	padding:8px;
	border:1px solid #dadada;
	width: 90%;
	box-sizing: border-box;
}
select {
	padding: 10px 16px 10px 10px;
	border: 1px solid #dadada;
	appearance: none;
	border-radius: 0;
	background-size: auto 5px;
}

:root{
	--black:#000;
	--red:#AD0003;
	--gray:#9FA0A0;
/*	--gold-1: #c79642;*/
	--gold-1: #9b691b;
		/*--gold-2: #dec15b;*/
	--gold-2: #e5c85c;
	--gold-3: #855a1a;
	--gold-4: #d9aa00;
	--goldgrad: linear-gradient(
    45deg,
    var(--gold-1) 0%,
    var(--gold-2) 50%,
    var(--gold-2) 50%,
    var(--gold-1) 100%
  );
	--goldgrad2: linear-gradient(45deg, var(--gold-1) 0%,var(--gold-2) 100%);
	--goldgrad3: linear-gradient(45deg, var(--gold-3) 0%,var(--gold-4) 100%);
  --silver-1: #8c9093; /* 明るい銀（ハイライト側） */
  --silver-2: #e0e0e0; /* 暗い銀（シャドウ側） */
  --silvergrad: linear-gradient(45deg, var(--silver-1) 0%, var(--silver-2) 100%);
}
.image img{
	width: 100%;
	height: 100%;
}
table {
	width: 100%;
	border-collapse: collapse;
}

@media screen and (min-width:768px) {
	body{min-width:1200px;}
	.pc{display: block;}
	.sp,.sp-nav{display: none;}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
	:root{
		--container: 1200px;
	}
}
@media screen and (max-width:767px) {
	body{font-size: 3.73vw;}
	.pc{display: none;}
	.sp{display: block;}
}


html, body {
/* min-height: 100vh; から変更 */
  height: 100%;
	overscroll-behavior-y: none;
}
html {
  scroll-behavior: auto !important;
}
html.lenis, html.lenis body {
  height: auto;
}

.lenis-smart-hide {
  pointer-events: none;
}
main {
  position: relative;
}
/* SP*/
@media screen and (max-width: 767px) {
  .js-responsive-height {
		height: 100lvh;
		height: calc(var(--vh, 1vh) * 100);
  }
}
/*------------------------
共通スタイル
------------------------*/
#js-loader {
	position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  z-index: 9999;
  background-color: #000;
  pointer-events: none;

	--mask-radius: -1vmax; 
  background-image: radial-gradient(
    circle at center, 
    transparent var(--mask-radius), 
    #000 calc(var(--mask-radius) + 1vmax)
  );
  will-change: background-image;
}
/*このクラスとつけるとloading後にアニメーション始まる*/
.page-title .js-load-view {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s cubic-bezier(0.25, 1, 0.5, 1), 
              transform .7s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: opacity, transform;
}
.page-title .js-load-view.is-show {
  opacity: 1;
  transform: translateY(0);
}

/*このクラスとつけるとアニメーション始まる*/
.js-view {
  opacity: 0;
  transition: opacity .8s cubic-bezier(0.25, 1, 0.5, 1), 
              transform .8s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: opacity, transform;
}
.js-view.is-show {
  opacity: 1 !important;
  transform: translate(0, 0) scale(1) !important;
}
.u-delay-1 { transition-delay: 0.1s !important; }
.u-delay-2 { transition-delay: 0.2s !important; }
.u-delay-3 { transition-delay: 0.3s !important; }
.u-delay-4 { transition-delay: 0.4s !important; }
.u-delay-5 { transition-delay: 0.5s !important; }

/* --- 各アニメーションの初期状態（is-showがつく前） --- */
.fade-up    { transform: translateY(30px); }
.fade-left  { transform: translateX(-30px); }
.fade-right { transform: translateX(30px); }
.zoom-in    { transform: scale(0.9); }
#main-contents {
  position: relative;
  z-index: 10; /* タイトルより前面に出す */
  background-color: #fff; /* 背景色必須（背後を隠すため） */
  /* 必要に応じて影をつけて浮き上がりを強調 */
  box-shadow: 0 -10px 30px rgba(0,0,0,0.3); 
}
.page-title{
	background:#000;
}
.page-title .inner{
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.page-title .en{
	background-image: var(--goldgrad2);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:500;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
}
.page-title .ja {
		font-weight: 400;
		letter-spacing: 0.04em;
		color: #fff;
}
/* タイトルエリアを画面上部に固定 */
.page-title {
/*  position: -webkit-sticky;
  position: sticky;*/
  top: 0;
  height: 100svh; /* モバイルのツールバーを考慮 */
  z-index: 1;
  background-color: #000; /* デザインに合わせる */
  display: flex;
  align-items: center;
  justify-content: center;
}
/* PC */
@media screen and (min-width:768px) {
	.page-title{
		height:420px;
	}
	.page-title .inner{
		width: 1200px;
		margin: 0 auto;
	}
	.page-title .en{
		font-size: 56px;
		margin-bottom: 7px;
	}
	.page-title .ja{
		font-size: 18px;
	}
}
/* SP */
@media screen and (max-width:767px) {
	#main-contents {
		padding: 0 5.33vw;
	}
	.page-title {
		height: calc(52px + 54.13vw);
		padding-top: 4px;
	}

	.page-title .en{
		font-size:9vw;
		margin-bottom:.8vw;
	}
	.page-title .ja{
		font-size:3.2vw;
	}
}
.sec-title{
	text-align: center;
}
.sec-title .en{
	background-image: var(--goldgrad2);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:500;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
}
.sec-title h2{
	font-weight: 500;
	letter-spacing: 0.1em;
}
.sec-head{
	letter-spacing: .05em;
	font-weight:bold;
}

/* PC */
@media screen and (min-width:768px) {
	.sec-head{
		font-size: 28px;
		line-height: 1.92;
		margin-bottom: 30px;
	}
	.sec-text{
	font-size: 18px;
	line-height:2.0;
	letter-spacing: 0.04em;
	}
	.sec-title{
		margin-bottom: 35px;
	}
	.sec-title .en{
		font-size: 56px;
		margin-bottom:8px;
	}
	.sec-title h2{
		font-size: 18px;
	}
}
/* SP */
@media screen and (max-width:767px) {
	.sec-head{
		font-size: 5.06vw;
		line-height: 1.8;
		margin-bottom: 4vw;
	}
	.sec-text{
		line-height:1.9;
		letter-spacing: 0.04em;
	}
	.sec-title{
		margin-bottom:6vw;
	}
	.sec-title .en{
		font-size: 9.33vw;
		font-weight: 500;
		margin-bottom: 1.5vw;
	}
	.sec-title h2{
		font-size:3.74vw;
	}
}
/*------------------------
header
------------------------*/
header{
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index:100;
  background: transparent;
  transition: background-color .25s ease, backdrop-filter .25s ease;
}
header .inner .right{
	display: flex;
	align-items: center;
}
header .inner .right,
header .inner .right a{
	color: #fff;
}
/*会員申込みボタン*/
header  .contact-btn a{
	height: 100%;
	width: 100%;
}
/* PC */
@media screen and (min-width:768px) {
	header{
		display: flex;          /* .inner を伸ばすため */
		align-items: stretch;   /* 子を高さ方向に伸ばす */
		min-width: 1200px;
		width: 100%;
	}
	header.is-scrolled{
		background: rgba(0,0,0,.80);
		/* 任意：高級感のある“ガラス”っぽい効果 */
		backdrop-filter: blur(8px);
	}
	header .inner{
		padding: 12px 40px;
		min-height: 84px;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	header .logo img{
		width: 184px;
		height: auto;
	}
	header #menu-list .menu-wrap{
		display: flex;
		gap: 25px;
		margin-right: 25px;
		align-items: center;
	}
	header .menu-wrap li a{
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.04em;
	}
	header #menu-tel{
		margin-right: 30px;
	}
	header #menu-tel .num{
	display: block;
	font-size: 22px;
	width: fit-content;
	line-height:1;
	margin-bottom: -3px;
	}
	header #menu-tel .time{
		font-size: 12px;
		/* font-weight: bold; */
		text-shadow: 0 0 8px rgba(0, 0, 0, .5)
	}
	/*会員申込みボタン*/
	header  .contact-btn{
		width: 200px;
		height: 50px;
	}
	header  .contact-btn a{
		font-size: 16px;
	}
}
/* SP */
@media screen and (max-width:767px) {
	header{
		background: #000;
		height: 52px;
		padding: 0 0 0 5.33vw;
	}
	header .inner{
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		z-index: 100;
	}
	header .logo img{
		height: 26px;
		width: auto;
	}
	#menu-list{
		opacity: 0;
		}
		#menu-tel{
			margin-right: 5px;
		}
	#menu-tel a{
	height: 28px;
	width: 24px;
	position: relative;
	}
	#menu-tel a:before{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	content: '';
	display: block;
	height: 20px;
	width: 18px;
	position: relative;
	background: url("../img/common/icon_tel.svg") no-repeat center / contain;
	}
	#menu-tel span{
		display: none;
	}
	/*会員申込みボタン*/
	header  .contact-btn{
		min-width: 78px;
		height: 28px;
		margin-right: 10px;
	}
	header  .contact-btn a{
		font-size: 12px;
	}
	header.is-scrolled{
		background: rgba(0,0,0,.85);
		backdrop-filter: blur(16px);
	}

	/*メニューボタン*/
		#menu-btn{
		display: flex;
		align-items: center;
	}
	#menu-btn a{
		width: calc(25px + 5.33vw);
		height: 26px;
		position: relative;
	}
	#menu-btn div{
	left: 0;
	position: absolute;
	background:#fff;
	transition: transform .3s linear;
	width: 25px;
	height: 1px;
	}
	#menu-btn .menu1 {
		top: 4px;
	}
	#menu-btn .menu2 {
		top:12px;
	}
	#menu-btn .menu3 {
		bottom: 4px;
	}
/* OPEN */
	#menu-btn .active .menu1{
		transform: rotate(45deg);
	}
	#menu-btn .active .menu3{
		transform: rotate(-45deg);
	}
	#menu-btn .active .menu2{
		display: none;
	}
	#menu-list.active{
		transform: translateY(0);
	}
	#menu-btn .active .menu1,
	#menu-btn .active .menu3{
		top:12px;
	}
	#menu-list{
		position: fixed;
		z-index: 50;
		top: 0;
		right: 0;
		width: 100%;
		padding: calc(10.4vw + 52px) 10.4vw 10.4vw;
		min-height:100lvh;
		background: #000;
		overflow-y: auto;

		/* ふわっと用 */
		opacity: 0;
		transform: translateY(-8px);
		pointer-events: none;
		visibility: hidden;
		transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s;
	}

	/* 表示状態 */
	header.is-fixed #menu-list{
		opacity: 1;
		z-index: -1;
		transform: translateY(0);
		pointer-events: auto;
		visibility: visible;
		transition: opacity .35s ease, transform .35s ease;
	}
	#menu-list .menu-wrap{
		border-bottom: 1px solid #fff;
		margin-bottom: 10.67vw;
	}
	#menu-list .menu-wrap li a{
		font-size: 4.27vw;
		padding: 5.33vw 3.33vw;
		line-height: 1.2;
		display: flex;
		justify-content: space-between;
		border-top: 1px solid #fff;
		letter-spacing: 0.06em;
	}
	#menu-list .sp-area{
		padding-top: 32vw;
		text-align: center;
	}
	#menu-list .sp-area .menu-logo{
   margin-bottom: 9.33vw;
	}
	#menu-list .sp-area .menu-logo img{
		width: 57vw;
		height: auto!important;
	}
	#menu-list .sp-area .tel span{
		display: block;
	}
	#menu-list .sp-area .tel .num{
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
		font-size: 4.26vw;
		margin-bottom: 1.2vw;
	}
	#menu-list .sp-area .tel .num b{
		font-size: 7.47vw;
		padding-left: .8vw;
		margin-top: -.2em;
	}
	#menu-list .sp-area .tel .time{
		font-size: 2.93vw;
		margin-bottom: 4vw;
	}
	#menu-list .sp-area .address{
		margin-bottom:3.2vw;
		font-size: 3.2vw;
	}
	#menu-list .sp-area .btn.map {
				margin-bottom: 12vw;
    }
	#menu-list .sp-area .btn.map.w-line a {
        width:40%;
				font-size: 3.2vw;
				font-weight: normal;
        height: 10vw;
    }
}
/*--------------------
ボタン
--------------------*/
a.gold{
	color: #fff;
	font-weight: bold;
	background: var(--goldgrad) 0 50% / 200% 100% no-repeat;
	border-radius: 40px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn.w-line{
	text-align: center;
}
.btn.w-line a{
	border: 1px solid #fff;
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: bold;
	position: relative;
	overflow: hidden;
	z-index: 0;
	margin-left: auto;
	margin-right: auto;
}
.btn.b-line a{
	border: 1px solid #000;
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	font-weight: bold;
	position: relative;
	overflow: hidden;
	z-index: 0;
	margin-left: auto;
	margin-right: auto;
}
/* PC */
@media screen and (min-width:768px) {
	a.gold{
		width: 420px;
		height: 80px;
		font-size: 20px;
		letter-spacing: 0.04em;
	}
	a.gold:hover{
		background-position: 100% 50%;
	}
	.btn.w-line a{
		width: 420px;
		height: 80px;
		font-size: 20px;
		letter-spacing: 0.04em;
	}
	/* 広がる円（疑似要素） */
	.btn.w-line a::before{
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 140%;
		aspect-ratio: 1 / 1;  /* 常に正円 */
		border-radius: 9999px;
		transform: translate(-50%, -50%) scale(0);
		transform-origin: 50% 50%;
		z-index: -1;

		/* 金グラデ（中心が明るく外側が濃い） */
		background:rgba(255,255,255,.15);
		transition: transform 1s ease;
		will-change: transform;
	}

	/* hoverで中心から拡大 */
	.btn.w-line a:hover::before{
		transform: translate(-50%, -50%) scale(1);
	}
	.btn.b-line a{
		width: 420px;
		height: 80px;
		font-size: 20px;
		letter-spacing: 0.04em;
	}
	.btn.b-line a::before{
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 140%;
		aspect-ratio: 1 / 1;  /* 常に正円 */
		border-radius: 9999px;
		transform: translate(-50%, -50%) scale(0);
		transform-origin: 50% 50%;
		z-index: -1;
		background:rgba(0,0,0,.15);
		transition: transform 1s ease;
		will-change: transform;
	}
	.btn.b-line a:hover::before{
		transform: translate(-50%, -50%) scale(1);
	}
}
/* SP */
@media screen and (max-width:767px) {
	.btn.w-line a{
		width: 100%;
		height: 14.4vw;
		font-size: 4vw;
		letter-spacing: 0.04em;
	}
		a.gold{
		width: 100%;
		height: 14.4vw;
		font-size: 4.27vw;
		letter-spacing: 0.04em;
	}
}
/*ノートPC高さ対策*/
@media screen and (min-width:768px) and (max-height:800px){
  .btn.w-line a{
    height: clamp(60px, 8vh, 70px);
    font-size: clamp(15px, 2.0vh, 18px);
  }
}

/*--------------------
footer問い合わせ
--------------------*/
.footer-contact{
	position: relative;
	background: #fff;
}
.footer-contact  .img-hero{
	overflow: hidden;
	position: relative;
}
/* 文字など前面 */
.footer-contact .contact-area{
	background: #fff;
	text-align: center;
  position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -180px;
  z-index: 1;
}
	.footer-contact .lead{
		line-height: 1.575;
	}
.contact-sec-title .en{
	background-image: var(--goldgrad2);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight:bold;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
}
.contact-sec-title  h2{
	font-weight: 400;
	letter-spacing: 0.04em;
}
.footer-contact .tel a{
		width: fit-content;
		text-align: center;
		margin: 0 auto;
	}
.footer-contact .tel .num{
	display:flex;
	align-items: center;
	line-height:1;
	font-weight: 500;
}


/* PC */
@media screen and (min-width:768px) {
	.footer-contact  .img-hero{
		width: 100%;
		position: relative;
		overflow: hidden;
			height: 460px;
	}
	.footer-contact  .img-hero img{
			position: absolute;
			top: -16%;
			left: 0;
			width: 102%;
			height: 110%;
			object-fit: cover;
			object-position: 50% 82%;
			will-change: transform;
    }

	/*PC共通黒ラインボタン*/
	.btn.b-line a {
		font-size: 16px;
	}
	/* 広がる円（疑似要素） */
	.btn.b-line a::before{
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 140%;
		aspect-ratio: 1 / 1;  /* 常に正円 */
		border-radius: 9999px;
		transform: translate(-50%, -50%) scale(0);
		transform-origin: 50% 50%;
		z-index: -1;
		background:rgba(0,0,0,.15);
		transition: transform .8s ease;
		will-change: transform;
	}
	/* hoverで中心から拡大 */
	.btn.b-line a:hover::before{
		transform: translate(-50%, -50%) scale(1);
	}
	.footer-contact .contact-area{
    width: 800px;
    margin: 0 auto;
    padding: 50px;
	}
	.contact-sec-title{
		margin-bottom: 20px;
	}
	.contact-sec-title .en{
		font-size: 46px;
	}
	.contact-sec-title  h2{
		font-size: 16px;
	}
	.footer-contact .lead{
		font-size: 18px;
		margin-bottom: 20px;
	}
	.footer-contact .contact-area .btn{
		/* margin-bottom: 22px; */
		margin-top: 22px;
	}
	.footer-contact .contact-area .btn a{
		width: 320px;
		height: 64px;
	}
	.footer-contact .tel .num{
		font-size: 32px;
	}
	.footer-contact .tel .time{
		/* font-size: 13px; */
		font-size: 16px;
		margin-top: 7px;
		display: inline-block;
	}
}
/* SP */
@media screen and (max-width:767px) {
	.footer-contact {
		padding-bottom: 63vw;
    position: relative;
	}
	.footer-contact  .img-hero{
		width: 100%;
		overflow: hidden;
		height:84vw;
		position: relative;
	}
	.footer-contact  .img-hero img{
		height: 110%;
		object-fit: cover;
		transform: scale(1.9);
		object-position: 83% 0;
		position: absolute;
		top: -31%;
		left: 0;
	}

	/*PC共通黒ラインボタン*/
	.btn.b-line a {
		font-size:4.27vw;
	}
	.footer-contact .contact-area{
		width: 78.67vw;
		margin: 0 auto;
		padding: 9.06vw 0 0;
		bottom: 10vw;
	}
	.contact-sec-title{
		margin-bottom:4.8vw;
	}
	.contact-sec-title .en{
		font-size: 7.46vw;
	}
	.contact-sec-title  h2{
		font-size:3.2vw;
	}
	.footer-contact .lead{
		margin-bottom: 4vw;
		font-size: 3.47vw;
	}
	.footer-contact .contact-area .btn{
		/* margin-bottom:3.2vw; */
				margin-top:3.2vw;
	}
	.footer-contact .contact-area .btn a{
		width:82%;
		/* height:14.93vw; */
		height:12.5vw ;
		font-size: 3.74vw;
	}
	.footer-contact .tel .num{
		margin-bottom: .8vw;
	}
	.footer-contact .tel .num b{
		padding: 0 0 0 .8vw;
    margin-top: -1.2vw;
		font-size: 7.26vw;
	}
	.footer-contact .tel .time{
		/* font-size:2.93vw; */
		font-size:3.2vw;
	}
}
/*--------------------
footer
--------------------*/
footer{
	background: #1e1e1e;
	color: #fff;
}
footer a{
	color: #fff;
}
footer .f-menu{
	text-decoration: underline;
}
footer .f-menu ul{
	display: flex;
	justify-content: center;
}
/* PC */
@media screen and (min-width:768px) {
	footer{
		padding: 240px 0 25px;
		text-align: center;
	}
	footer .inner{
		width: 1200px;
		margin: 0 auto;
	}
	footer .logo{
		width: 230px;
		margin: 0 auto 45px;
	}
	footer .f-menu{
		margin-bottom: 45px;
	}
	footer .f-menu ul{
		gap: 20px;
	}
}
/* SP */
@media screen and (max-width:767px) {
	footer{
		padding: 8vw 5.33vw 5.33vw;
		text-align: center;
	}
	footer .inner{
	}
	footer .logo{
		width:34.66vw;
		margin: 0 auto 4vw;
	}
		footer .address{
		font-size: 3.2vw;
		margin-bottom: 6.67vw;
		}
	footer .f-menu{
		margin-bottom: 6.67vw;
	}
	footer .f-menu ul{
		gap:3.2vw;
		font-size: 3.2vw;
		flex-wrap: wrap;
	}
}
/*高さがない時のまとめ*/
@media screen and (min-width:768px) and (max-height:800px){
	header .inner {
		padding-top: 8px;
		padding-bottom: 8px;
    min-height:auto;
	}
	header .logo img {
		width: 144px;
	}
	header #menu-tel .num {
	font-size: 19px;
	}
	header #menu-tel .time {
		font-size: 11px;
	}
	header .contact-btn {
		height: 40px;
	}
	header .contact-btn a {
		font-size: 14px;
	}
	header .menu-wrap li a {
		font-size: 14px;
	}
}
/*--------------------
ページパスワード
--------------------*/
 .protected_password{
	color: #fff;
 }
.protected_password .submit{
  border:0;
	color: #fff;
  cursor:pointer;
  font-weight:600;
	background:var(--goldgrad2);
	border-radius: 50px;
}
 /* PC */
@media screen and (min-width:768px) {
	.protected_password{
		padding: 100px 0;
	}
	.protected_password .inner{
		width: var(--container);
		margin: 0 auto;
	}
	.protected_password{
		font-size: 16px;
	}
	.movie-pwform__row{
		display:flex;
		gap:12px;
		align-items:center;
	}
	.protected_password .movie-pwform__lead{
		margin-bottom:15px;
	}
	input[name="post_password"]{
		width: 25em;
		color: #000;
		padding: 12px 10px;
		font-size: 16px;
	}

	.protected_password .submit{
		height:44px;
		padding:0 18px;
	}
	.protected_password .submit:hover{
		opacity:.92;
	}
}
/* SP */
@media screen and (max-width:767px) {
	.protected_password{
		padding: 16vw 0 32vw;
	}
	.protected_password .movie-pwform__lead{
		margin-bottom:5.33vw;
	}
	.protected_password .pwform__label{
		display: block;
		margin-bottom:1.6vw;
		}
		input[name="post_password"]{
			width:70%;
		}
	.protected_password .submit{
		padding: 1.2vw 2.67vw;
	}
}