@charset "UTF-8";
*{-o-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{scroll-behavior: smooth;}
body{margin:0;font-family: "Noto Serif JP","Helvetica Neue",Arial, "Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo,sans-serif;}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-size:1em}
pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em 0.75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;outline: none;}
button,input{line-height:normal}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
ul,li { margin:0; padding:0; list-style-type:none; }
* { -moz-box-sizing:border-box; box-sizing:border-box; margin:0; padding:0; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent; }
.cf:before, .cf:after {content:""; display:table; }
.cf:after {clear:both; }
.cf {zoom:1; }
.fl {float: left; overflow: hidden;}
.fr {float: right !important; overflow: hidden;}
.ta-center { text-align: center; }
.table{ width:100%; height:100%; display:table; }
* html div.table { position: relative; }  
*+html div.table { position: relative; }
.table-cell{ vertical-align:middle; display:table-cell; }
* html .table-cell { position: absolute; }  
*+html .table-cell { position: absolute; }
*::selection { background: rgb(200,50,30,0.5); }
*::-moz-selection { background: rgb(200,50,30,0.5); }

body{ line-height: 1.7;   background: #100; -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0)}
p,h1,h2,h3,h4{color:#fff;}
a { color:rgb(200,130,30,0.9); outline:0 none; text-decoration:none; }
a:focus { outline:none; }
section { display: block; width: 100%;  }
main { position: relative; z-index: 1; }
main::after {
    position: fixed;
    width: 100%;
    height: 90px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
    content: "";
    z-index: 1;
    top: 0;
}

.section-inner { position: relative; margin:0 auto; width: 100%; max-width: 1180px; padding:0 20px; }
@media (min-width: 960px){
	.section-inner { padding:0 30px; }
}
/* bronly */
.pcOnly { display: block !important; }
.spOnly { display: none !important; }
@media only screen and (max-width: 767px) {
.pcOnly { display: none !important; }
.spOnly { display: block !important; }
}


/* =========================================================
  LOADER
========================================================= */
/* ロゴの初期状態 */
.hero .logo {
  opacity: 0;
  transform: translate(-50%, calc(-50% + 40px)) scale(0.96);
  transition:
    opacity 1.4s cubic-bezier(.22,.61,.36,1),
    transform 1.8s cubic-bezier(.22,.61,.36,1);
}



/* ローディング中は絶対に見せない */
body.is-loading .hero .logo {
  opacity: 0 !important;
}

/* Heroは出すが、ロゴはまだ */
body.is-ready .hero {
  opacity: 1;
}

/* ここで初めてロゴを動かす */
body.is-animating .hero .logo {
  opacity: 1;
  transform: translate(-50%, -50%);
}

.loader-wrap {
  position: fixed;
  inset: 0;
/*  background: rgba(30,1,1,0.85); */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity .6s ease, visibility .6s ease;
backdrop-filter: blur(30px);
}

.loader-wrap.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.spinner {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 1px solid rgba(255,0,0,.1);
  border-top-color: rgba(255,255,255,.7);
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg) ;
  }
}

.page-curtain {
  position: fixed;
  inset: 0;
  background: rgba(20,1,1,0.85); 
  z-index: 99999;
  transform: translateX(100%);
  transition: transform 0.6s cubic-bezier(.77,0,.18,1);
  pointer-events: none;
}

.page-curtain.is-active {
  transform: translateX(0);
}



.hero {
  background: #111 url('../movie/hero.png') center / cover no-repeat;
  z-index: 10;
  transition: opacity 1.6s ease;
}
.hero video {
  background-color: #111;
  transition: opacity 1.6s ease;
}
#heroVideo {
  opacity: 1;
  visibility: hidden;
  transform: scale(1.01);
}

#heroVideo.is-visible {
  visibility: visible;
  transform: scale(1);
  transition: transform 1.6s ease;
}



/* =========================================================
  HEADER
========================================================= */
@media (min-width: 320px){
	header { position: fixed; top:0; left:0; display: block; width: 100%; height: 90px; z-index: 13; transition: 0.9s; overflow: hidden; }
	header .section-inner { height: 100%; }
	header .NavHolder { position:absolute; top: 90px; left: 0; right: 0; bottom: 0; overflow: auto;    -ms-overflow-style: none;
    scrollbar-width: none;}
	header .NavHolder .mainNav { display:block; margin:0; padding:0; position: relative; left:0; top:0; width: 100%; height: 100%; }
	header .NavHolder .mainNav .navlist { padding:20px 50px; max-width: 500px; margin: 0 auto;}
	header .NavHolder .mainNav .navlist li { position: relative; display: block; border-bottom: 1px solid rgba(255, 255, 255, 0.15); -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; -webkit-transition:opacity .45s ease-in-out;-moz-transition:opacity .45s ease-in-out;-ms-transition:opacity .45s ease-in-out;-o-transition:opacity .45s ease-in-out;transition:opacity .45s ease-in-out; }
	header .NavHolder .mainNav .navlist li a { display:block; position:relative; text-align:left; font-size:0.8rem; font-weight: 300; overflow:hidden; margin:0; padding:14px 0; letter-spacing:.4px; width:100%; text-transform: uppercase; -webkit-transition:color .25s ease-in-out;-moz-transition:color .25s ease-in-out;-ms-transition:color .25s ease-in-out;-o-transition:color .25s ease-in-out;transition:color .25s ease-in-out;color: #fff; }
	header .NavHolder .mainNav .navlist li a span {
    font-size: 0.6rem;color:#D3C9BF; letter-spacing: 1px; padding-left:10px;}
	header .NavHolder .mainNav .navlist li.active>a { color: #c42026; }
	header .NavHolder .mainNav .navlist li.sp { background-color: #888; margin-top: 40px; }
	header .NavHolder .mainNav .navlist li.sp a { text-align: center; color:#fff; }
	header .NavHolder .mainNav .navlist li.drop ul { display: none; position: relative; padding-left: 20px; }
	header .NavHolder .mainNav .navlist li.drop>a { padding-right: 15px; }
	header .NavHolder .mainNav .navlist li.drop>a svg { position: absolute; display: block; top:50%; right: 0; margin-top: -5px; width: 10px; height: 10px; fill:#333; -webkit-transition:all 250ms ease-out;-moz-transition:all 250ms ease-out;-ms-transition:all 250ms ease-out;-o-transition:all 250ms ease-out;transition:all 250ms ease-out; }
	header .NavHolder .mainNav .navlist li.showdrop>a svg { -webkit-transform:rotate(180deg); -ms-transform:rotate(180deg); transform:rotate(180deg); fill:#999; }
	header .NavHolder .mainNav .navlist li.showdrop ul { display: block; }
	header .NavHolder .mainNav .navlist li.showdrop ul li { border-top: 1px dashed #eee; border-bottom: none; display: block; }
	header .NavHolder .mainNav .navlist li.showdrop ul li a { font-size: 12px; font-weight: 400; }
	header .NavHolder .mainNav .navlist li.showdrop ul li a svg { position: absolute; display: block; top:50%; right: 0; margin-top: -5px; width: 10px; height: 10px; fill:#333; }
	header .NavHolder .mainNav .lang { display: block; text-align: center; margin-top: 20px; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; -webkit-transition:opacity .45s ease-in-out;-moz-transition:opacity .45s ease-in-out;-ms-transition:opacity .45s ease-in-out;-o-transition:opacity .45s ease-in-out;transition:opacity .45s ease-in-out; }
	header .NavHolder .mainNav .lang li { display: inline-block; }
	header .NavHolder .mainNav .lang li:first-child { margin-right:10px; padding-right: 10px; border-right: 1px solid #ccc; }
	header .NavHolder .mainNav .lang li a { display: block; font-size: 11px; line-height: 1; letter-spacing: 1px; text-transform: uppercase; -webkit-transition:color .25s ease-in-out;-moz-transition:color .25s ease-in-out;-ms-transition:color .25s ease-in-out;-o-transition:color .25s ease-in-out;transition:color .25s ease-in-out; }
	header .NavHolder .mainNav .lang li a.active { color:#900; font-weight: 700; }
	.show header { height: 100%; background:rgba(50,35,30,0.5); backdrop-filter: blur(28px); /*mix-blend-mode: color-dodge;*/}
	.show header .NavHolder { -ms-transform:translate(0%,0); -webkit-transform:translate3d(0%,0,0); transform:translate3d(0%,0,0); }
	.show header .nav-trigger{background:none;}
	.show header .NavHolder .mainNav .navlist li { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; opacity: 1; }
	.show header .NavHolder .mainNav .navlist li:nth-child(1) { transition-delay:.45s;-webkit-transition-delay:.45s }
	.show header .NavHolder .mainNav .navlist li:nth-child(2) { transition-delay:.5s;-webkit-transition-delay:.5s }
	.show header .NavHolder .mainNav .navlist li:nth-child(3) { transition-delay:.55s;-webkit-transition-delay:.55s }
	.show header .NavHolder .mainNav .navlist li:nth-child(4) {transition-delay:.6s;-webkit-transition-delay:.6s }
	.show header .NavHolder .mainNav .navlist li:nth-child(5) { transition-delay:.65s;-webkit-transition-delay:.65s }
	.show header .NavHolder .mainNav .navlist li:nth-child(6) { transition-delay:.7s;-webkit-transition-delay:.7s }
	.show header .NavHolder .mainNav .navlist li:nth-child(7) { transition-delay:.75s;-webkit-transition-delay:.75s }
	.show header .NavHolder .mainNav .navlist li:nth-child(8) { transition-delay:.8s;-webkit-transition-delay:.8s }
	.show header .NavHolder .mainNav .navlist li:nth-child(9) { transition-delay:.85s;-webkit-transition-delay:.85s }
	.show header .NavHolder .mainNav .lang { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; opacity: 1; transition-delay:.85s;-webkit-transition-delay:.85s }
	header .nav-trigger { width:90px; height:90px; cursor:pointer; position: absolute; top: 0; right: 0;  background:rgba(85, 70, 60, 0.6); transition: .5s;/*border-left: 1px solid rgba(255, 255, 255, 0.15);border-bottom: 1px solid rgba(255, 255, 255, 0.15);*/}
@media (hover: hover) {
	header .nav-trigger:before {
        background-color: rgba(1,1,1,0.5);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        transform: scaleX(0);
        transform-origin: right;
        transition: transform .4s cubic-bezier(1, 0, .25, .995);
        width: 100%;
    }
	header .nav-trigger:hover:before {
        transform: scaleX(1);
        transform-origin: left;
        transition-duration:.6s ;
        transition-timing-function: cubic-bezier(19, 1, .22, 1);
    }
}
	
	header .nav-trigger .hamburger {position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 3rem;
        height: 3rem;}
	.header-after { position: relative; display: block; height: 60px; width: 100%; background-color: #ffffff; }
	header .pc-logo{display:none;}
}
@media (min-width: 960px){
	header .NavHolder .mainNav .navlist li a:hover { color:rgba(255, 255, 255, 0.5); }
	header .NavHolder .mainNav .lang li a:hover { color:rgba(255, 255, 255, 0.5); }
	    header .NavHolder .mainNav .navlist {
        padding: 20px 50px;
        width: 50%;
        margin-left: 50%;
    }
    header .pc-logo {
        display: block;
        position: absolute;
        left: 23%;
        top: 25vh;
        width: 95px;
        height: auto;
        opacity: 0.7;
    }
}

.hamburger span {
    display: block;
    position: absolute;
   width: 100%;
    height: 1.1px;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .63s ease-in-out;
    transform-origin: left center;
    background-color: #fff;
    -webkit-backdrop-filter: invert(100%) contrast(100) grayscale(100%);
    backdrop-filter: invert(1) contrast(100) grayscale(100%);
    background-color: transparent
}
.hamburger span:nth-child(1) {
    top: 1rem
}
.hamburger span:nth-child(2) {
    top:2rem
}
.show .hamburger span {
    background-color: #fff;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}
.hamburger:hover span:nth-child(2) {
    transform: scaleX(.5)
}
.hamburger:hover span:nth-child(2) {
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

.show .hamburger span:nth-child(1) {
    top: 2rem;
    -webkit-transform: rotate(-30deg);
    -moz-transform: rotate(-30deg);
    transform: rotate(-30deg)
}

.show .hamburger span:nth-child(2) {
    top: 0.5rem;
    -webkit-transform: rotate(30deg);
    -moz-transform: rotate(30deg);
    transform: rotate(30deg) scaleX(1)
}
@media (max-width: 768px){
    header .nav-trigger {
        width: 50px;
        height: 70px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
		}
    header .nav-trigger .hamburger {
        width: 2rem;
        height: 2rem;}
	.hamburger span:nth-child(1) {
		top: 0.8rem;
	}
	.hamburger span:nth-child(2) {
		top: 1.5rem;
	}
.show .hamburger span:nth-child(1) {
    top: 1.5rem;}
}


/* =========================================================
  SIDENAVIGATION
========================================================= */
@media (min-width: 320px) {
  .sidebar {
    position: fixed;
    top: 70px;
    bottom: 0;
    right: 0;
    width: 50px;
    display: flex;
    flex-direction: column;
    z-index: 11;
    backdrop-filter: blur(5px);
    border-left: 1px solid rgba(255, 255, 255, .15);
    padding-bottom: env(safe-area-inset-bottom);
	color: #efece5;
  }
  .gnav {
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center; 
  }
  .gnav.basic {
    flex: 1; 
    display: flex;
    justify-content: center;
  }
  .gnav.top-back {
    margin-top: auto;
    padding-bottom: env(safe-area-inset-bottom);
  }
  .gnav ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    height: 70%;
    padding: 0;
    margin: 0;
	list-style:none;
  }
  .gnav.basic ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
    justify-content: space-evenly;
  }
  .gnav li {
    position: relative;
    display: inline-block;
    transition: color .3s linear 0s;
    cursor: pointer;
  }
  .gnav li a {
    display: inline-block;
    writing-mode: vertical-rl;
    font-weight: 400;
    letter-spacing: 2px;
    color: #efece5;
    text-decoration: none;
    position: relative;
    padding: 0;
    overflow: visible;
    white-space: nowrap;
    cursor: pointer;
    transition: 0.5s ease;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
  .gnav li a span {
    display: inline-block;
    transition: transform .28s ease;
    font-size: 11px;
    color: #efece5;
    font-weight: 600;
    letter-spacing: 2px;
    padding: 0 12px 0 0;
    position: relative;
    z-index: 2;
	font-family: "Noto Serif JP", serif;
  }
  .gnav li a span {
    display: inline-block;
    transition: transform 0.5s ease, background 0.3s, color 0.3s;
    padding: 0 15px;
  }
  .gnav li a span svg {
    width: 15px;
    height: 25px;
    fill: #fff;
  }
  .gnav li.nav-home a span svg{
	height: 50px;
    width: auto;
  display: inline-block;
  min-width: 1px;
	flex-shrink: 0;
  }
  .gnav li .home-link {
  display: none;
  }
  body:not(.home) .home-link {
  display: block;
  }
  body:not(.home) .gnav.top-back {
    position: relative;
  }
.home-link {
  writing-mode: vertical-rl;
}

.home-link svg {
  writing-mode: horizontal-tb;
}

}
@media (min-width: 768px) {
  .sidebar {
    width: 90px;
    top: 90px;
    transition: 2.5s;
  }
  .gnav.basic ul {
    padding-top: 20px;
  }
  .gnav li a {
    padding: 25px 17px;
  }
  .gnav li a span {
    font-size: 14px;
    position: relative;
  }
  body:not(.home) a.home-link span:hover {
    opacity: 0.5;
  }
  .gnav li a span svg {
    width: 17px;
    height: 33px;
  }
  .gnav li.nav-home a span svg{
	height: 60px;
  }
}
@media (max-width: 767px) {
  .sidebar .nav-home {
    margin-bottom: 15px;
  }
  body:not(.home) .home-link {
    padding: 0;
  }
  body:not(.home) .gnav.basic {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    position: relative;
    top: 25px;
    transform: translateY(0);
  }
}

/* =========================================================
  PAGETOP / PAGEHOME
========================================================= */
.gnav.back-home {
    position: absolute;
    top: 45px;
    left: 0;
    height: 90px;
    width: 100%;
	transition: 0.5s ease;
}
.gnav.back-home li a { padding: 25px 12px;}
.gnav.back-home li a span {padding:0;}
.gnav.back-home li a span svg { width: 26px; height: 55px;}
	
.gnav.top-back {
    position: absolute;
    bottom: -45px;
    left: 0;
    transform: translateY(-50%);
    top: initial;
    height: 90px;
    width: 100%;
	background:rgba(85, 70, 60, 0.6);
	  transition: 0.5s ease;
}
@media (hover: hover) {
.gnav.top-back:before {
        background-color: rgba(0,0,0,0.5);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        transform: scaleY(0);
        transform-origin: bottom;
        transition: transform .4s cubic-bezier(1, 0, .25, .995);
        width: 100%;
    }
.gnav.top-back:hover:before {
        transform: scaleY(1);
        transform-origin: bottom;
        transition-duration:.6s ;
        transition-timing-function: cubic-bezier(19, 1, .22, 1);
    }
}
.gnav.top-back ul{width: 100%; height: 100%;}
.gnav.top-back ul li{width: 100%;}
.gnav.top-back ul li a {padding:15px 10px ;width: 100%;height: auto;opacity: 0.5;}
.gnav.top-back ul li a span{padding: 0;}

.scrolldown2{
	position:relative;
	bottom:0;
    z-index: 10;
}
.scrolldown2 span{
	position: absolute;
	left:10px;
	bottom:0;
	color: rgba(255,255,255,0.5);
	font-size: 9px !important;
	font-weight: 400 !important;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.scrolldown2:before {
content: "";
    position: absolute;
    left: -2px;
    top: 3px;
    width: 14px;
    height: 1px;
    background: #eee;
    transform: rotate(45deg);
	transition: 0.3s ease;
}
.scrolldown2:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 61px;
	background:#eee;
	transform:translateY(0px);
	transition: 0.3s ease;
}

@media (min-width: 768px) {
.gnav.back-home li a { padding: 25px 23px;}
.gnav.back-home li a span svg { width: 46px; height: 73px;}
.gnav.top-back ul li a span
 {padding: 0 12px;}
 .scrolldown2:hover:before{top: -16px;}
 .scrolldown2:hover:after{transform:translateY(-20px);}
 
}

/* =========================================================
  CONTENTS
========================================================= */
	.contents-wrap {position: relative; padding-right:50px;z-index: 2;}
	.content-box {min-height: 100vh; background: rgba(1, 1, 1, 0.3); position: relative; z-index: 12; backdrop-filter: blur(8px);}
	.ttl-heading { position: sticky; top: 0;  height: 70px; display: flex; align-items: center; color: #fff;font-size: 18px; z-index: 3; margin: 0; border-top:1px solid rgba(255, 255, 255, 0.15); border-bottom:1px solid rgba(255, 255, 255, 0.15);font-family: "Noto Serif JP", serif;backdrop-filter: blur(10px);background: rgba(1, 1, 1, 0.5);
	}
body:not(.home) .ttl-heading { background: rgba(1, 1, 1, 0.1);}
	.ttl-heading .heading-icon{padding:0 15px 0 20px; display: flex; flex-wrap: wrap;flex-direction: column; align-items: center; justify-content: space-evenly;border-right: 1px solid rgba(255, 255, 255, 0.1); margin-right: 20px; }
	.ttl-heading .ttl-kanji{font-size:27px; line-height: 30px; color: #fff;margin-bottom: 0;}
	.ttl-heading .ttl-en{font-size:10px;color: #fff;}
	.ttl-heading .ttl-jp{font-size:17px; }
	.story {position: relative;top: -70px;}
	.story.tate {padding-bottom: 100px;}
	.story .image-wrap{width:100%;  position: relative;
    height: 100%; }
	.story .image-wrap::after {
		position: absolute;
		width: 100%;
		height: 20%;
		content: "";
		background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
		top: 0;
		left: 0;
	}
	.story .image-wrap img{width:100%;}
	.story .story-inner{padding:50px 10% 0; text-align: center;color:#fff;}
	.story .story-inner.wide {padding:50px 5% 0;}
	.story .story-inner.nophoto{padding:130px 10% 80px;}
	.story.tate .image-wrap img{width:75%; position: relative;}
	.story.tate .story-inner{padding:40px 10% 0; }
	
	.story .sub-ttl{ display: block; color:#af7243;font-size: 14px; margin-bottom: 8px;}
	.story .lead{color:#fff; font-size:0.8rem; font-weight: 500; margin-bottom:25px; letter-spacing: 2px;}
	.story p{color:#fff; font-size:0.7rem; font-weight: 300; margin-bottom:45px; text-align: left; line-height: 2.5;}
	.story p .small{ color: rgba(255, 255, 255, 0.6);font-size:0.65rem; }
@media (min-width: 768px) {
	.contents-wrap { padding-right:90px;}
	.ttl-heading { height: 91px;}
	.ttl-heading .heading-icon{padding:0 25px 0 30px;margin-right: 25px;}
	.ttl-heading .ttl-kanji{font-size:30px; line-height: 35px;}
	.ttl-heading .ttl-en{font-size:13px;}
	.ttl-heading .ttl-jp{font-size:20px;}
	.story {top: -90px; padding-bottom: 100px;}
	.story.tate{display: flex; justify-content: space-between; align-items: center;}
	.story.tate.reverse {flex-direction:row-reverse}	
	.story.tate .image-wrap{width:50%; }
	.story.tate .image-wrap img {width:100%; max-width:500px;}
/*	.story.tate.reverse .image-wrap img {width:60%; position: absolute; right: 0;}*/
	.story.tate .story-inner{/*position: absolute; bottom:15%; right:0; */width: 500px;  padding: 5%;  background: rgba(1, 1, 1, 0.6);}
	.story.tate.reverse .story-inner{left:0; right:inherit;}
	.story .story-inner{padding:60px 10% 0; max-width: 750px; margin: 0 auto;}
	.story .story-inner.nophoto{padding:180px 10% 80px;}
	.story .lead{font-size: 1.15rem; margin-bottom: 35px;}
	.story p{font-size:0.9rem; }
}


/*@media (min-width: 768px) and (max-width: 1024px) {
	.story.tate.reverse .image-wrap img {position: absolute; right: 0;}
	.story.tate .story-inner{position: absolute; bottom:0%; right:0; }
}
@media (min-width: 1200px) {
    .story.tate .story-inner {right:10%;}
	.story.tate .image-wrap img {left:15%;}
	.story.tate.reverse .story-inner {left:15%; }
}
*/

@media (max-width: 767px) {
	.story .image-wrap{aspect-ratio: 1 / 1;overflow: hidden;display: flex;flex-direction: column;align-items: center;justify-content: space-evenly;}
	.story .image-wrap img { height: 100%; width: auto;}
}

/* =========================================================
  story tate layout reset
========================================================= */

.story.tate {
  position: relative;
}

/* SP：画像 → テキスト */
.story.tate .image-wrap {
  width: 100%;
}

.story.tate .image-wrap img {
  display: block;
  width: 75%;
  height: auto;
}

.story.tate .story-inner {
  padding: 40px 10% 0;
}

/* tablet〜：少し重ねる */
@media (min-width: 768px) {
  .story.tate {
    display: grid;
    grid-template-columns: 52% 48%;
    align-items: self-end;
    padding: 0 0 120px;
  }

  .story.tate.reverse {
    grid-template-columns: 48% 52%;
  }

  .story.tate .image-wrap {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
  }

  .story.tate .story-inner {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    max-width: 520px;
    margin-left: -80px;
    padding: 56px 48px;
    background: rgba(1, 1, 1, 0.6);
    position: relative;
    z-index: 2;
	        margin-top: 150px;
  }

  .story.tate.reverse .image-wrap {
    grid-column: 2;
  }

  .story.tate.reverse .story-inner {
    grid-column: 1;
    margin-left: 0;
    margin-right: -80px;
    justify-self: end;
  }

  .story.tate .image-wrap img {
    width: 100%;
    max-width: 560px;
  }

  .story.tate.reverse .image-wrap img {
    margin-left: auto;
  }
}

/* PC広め：重ねず、余白あり2カラム */
@media (min-width: 1200px) {
  .story.tate {
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(60px, 7vw, 120px);
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 5vw 140px;
  }
  .story.tate.reverse {
    grid-template-columns: 1fr 1fr;
  }
  .story.tate .story-inner {
    margin-left: 0;
    max-width: 520px;
    padding: 64px 56px;
  }

  .story.tate.reverse .story-inner {
    margin-right: 0;
  }

  .story.tate .image-wrap img {
    max-width: 520px;
  }
}

/* =========================================================
  BUTTON
========================================================= */
.btn-area {padding:0 10% 100px; max-width: 700px; margin: 0 auto; text-align: center;}
.btn-premium {
  display: inline-flex;
  align-items: center;
  padding: 1.5rem 2.3rem;
  /*backdrop-filter: blur(5px); */
  /*background: rgba(255,255,255,0.05); */
  border: 1px solid rgba(255,255,255,0.3);
  font-size: 9px;
  font-weight: 300;
  color: #C5B0B0;
  text-decoration: none;
  transition: 0.5s ease;
  width: 90%;
  position: relative;
}
.btn-premium::after {
    position: absolute;
    background: rgb(200,130,30,0.4);
    width: 75px;
    height: 100%;
    content: "";
    right: 0;
  transition: 0.5s ease;
}
.btn-premium .btn-icon {
  font-size: 2rem;
  font-weight: 100;
  margin-right: 2.8rem;
  color: rgb(200,130,30,0.6); 
  line-height: 2rem;
  margin-bottom: 0;
}
.btn-premium .btn-text{
  font-size: 0.6rem;
  letter-spacing: 2px;
  font-weight: 600;
text-align: left;
color:rgba(255,255,255,0.6);
}

.btn-premium .btn-arrow {
  position: relative;
  display: inline-block;
  width: 9.5px;
  height: 18px;
  position: absolute;
    display: inline-block;
    width: 9.5px;
    right: 30px;
    z-index: 10;
}

.btn-premium .btn-arrow::before,
.btn-premium .btn-arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 13px;
  height: 1px;
  border-radius: 9999px;
  background-color: #C7BCB2;
  transform-origin: calc(100% - 0.5px) 50%;
}

.btn-premium .btn-arrow::before {
  transform: rotate(45deg);
}

.btn-premium .btn-arrow::after {
  transform: rotate(-45deg);
}

.btn-premium:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  width:100%;
  backdrop-filter: blur(1px);
}
.btn-premium:hover::after {
  width:80%;
}

.btn-premium.go-back {justify-content: space-evenly; flex-direction: row-reverse;justify-content: right;}
.btn-premium.go-back::after { background: rgba(85, 70, 60, 0.6); left: 0;}
.btn-premium.go-back .btn-arrow{left: 24px;}
.btn-premium.go-back .btn-arrow::before { transform: rotate(135deg);}
.btn-premium.go-back .btn-arrow::after { transform: rotate(-135deg);}
.btn-premium.go-back .btn-icon{margin-right:0;}
.btn-premium.go-back .btn-text{margin-right:50%;}
.btn-premium.go-back .btn-icon { color: rgba(85, 70, 60, 1);}

/*文中ボタン*/
.btn-normal{
    text-align: right;
	margin-top: 10px;
}
.btn-normal a{
position: relative;
    color: #af7243;
    padding: 0 20px 8px 0;
    font-size: 0.9rem;
}

.btn-normal a::before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 155, 155, 0.3);
    transform-origin: left center;
    transition: transform 2.0s cubic-bezier(.16, 1, .3, 1);
    content: "";
	transform: scaleX(1);
}
.btn-normal a::after {
content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 14px;
    height: 1px;
    background: rgba(255, 155, 155, 0.3);
    transform: rotate(45deg);
    transform-origin: right center;
    transition: transform 2.0s cubic-bezier(.16, 1, .3, 1);
}



@media (max-width: 767px) {
.btn-area {margin: 0 auto; padding: 0 10% 100px; text-align: center;}
.btn-premium { padding: 1rem 1.3rem; width:100%;}
.btn-premium::after { width: 20%;}
.btn-arrow {right:7%;}
.btn-premium .btn-icon { margin-right: 1rem; font-size:1.8rem;}
.btn-premium.go-back .btn-arrow{left: 14px;}
.btn-premium.go-back .btn-text{margin-right:15%;}
.btn-normal a{ font-size: 0.7rem;}
}

@media (min-width: 768px) {
.btn-normal a:hover::before{
  transform: scaleX(1.2);}
.btn-normal  a:hover::after{
  transform: translateX(22px)  rotate(45deg);}
}



/* =========================================================
  INFO
========================================================= */

.info .address { font-size: 0.9rem;  line-height: 2rem; margin-bottom:10px;}
.info h3 { margin-bottom: 40px; }
.info p .t { display: inline-block; font-size: 15px; margin-right: 5px; }
.info p a { text-decoration: underline; }
	.info td, .info th  {border-top: 1px dotted rgba(255, 255, 255, 0.3); padding: 20px 0;  font-weight: 400;}
	.info th {padding: 10px; font-size: 12px;}
	.info td {font-size: 12px; text-align: left;}
.map iframe {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: 0.8;
    width: 100%;
}
.info .map { position: relative; width: 100%; height: 400px;  margin-top: 30px; background: #220402;}
	
@media (max-width: 767px) {
	.info tr, .info td, .info th {display: block; border-bottom:none;}
	.info table { border-bottom: 1px solid rgba(255, 255, 255, 0.3); width: 100%;margin-bottom: 30px;}
	.info th { border-top: 1px solid rgba(255, 255, 255, 0.3);}
	.info .reservation {font-size: 12px; margin: 60px 0; }
}

@media (min-width: 768px){
	.info td, .info th  {border-top: 1px solid rgba(255, 255, 255, 0.3); padding: 17px;  font-weight: 400;}
	.info th {width: 120px; font-size: 12px; border-top: 1px solid rgba(255, 255, 255, 0.5);}
	.info td {font-size: 12px;}
}

/* =========================================================
  FOOTER
========================================================= */
footer { width: 100%; padding: 20px 100px 20px 50px; position: relative; z-index: 1;}
footer p {text-align:center; color:rgba(255, 255, 255, 0.7); font-family:"Helvetica Neue",Arial; font-size:0.8rem; font-weight:400; letter-spacing: 3px;letter-spacing: 1.5px;}

@media (max-width: 767px) {
footer p {font-size:0.6rem; }
}

/* =========================================================
  bread crumb
========================================================= 
.b-crum {
    position: sticky;
    top: 70px;
    height: 30px;
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.6);
    font-size: 9px;
    z-index: 2;
    margin: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-left: 20px;
  opacity: 0;
  transform: translateY(-10px);
  transition: .5s;
}
body.scrolled .b-crum {
  opacity: 1;
  transform: translateY(0);
}
.story{top:-100px;}
@media (min-width: 768px){
.b-crum {
    padding-left: 30px;
    height: 40px;
	}
}*/
