html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,main {margin:0;padding:0;border:0;font-size:100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main {display:block;}
body {font-family:Verdana,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1;}
ol,ul {list-style:none;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}
wbr:after {content:"\00200B";}

/*	TBS reset
============================== */
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
.nocontxt {-webkit-touch-callout: none;-webkit-user-select: none;user-select: none;-webkit-user-drag:none;}
.nocontxt img {pointer-events: none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
div.embed-tbsplayer {
background-color:#000;
position:relative;
height:0;
padding-top:56.25%;
}
div.embed-tbsplayer .tbs-player {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
div.embed-tbsplayer-audio {
background-color:#fff;
}
div.embed-tbsplayer-audio .tbs-player {
height:46px;
}
div.lbx-overlay {
z-index:10000;position:absolute;background-color:#000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;opacity:0.9;
}

/* ============================
	common css
============================ */

/*  General
=============================================== */

body { background-color:#000; font-family: "zen-old-mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "Songti SC", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "Songti SC", "Noto Serif JP", "Noto Serif CJK JP", serif; font-weight:400; font-style: normal; color:#fff; }

@font-face {
  font-family: 'EB_Garamond';
  src: url('/um/library/fonts/EB_Garamond/EBGaramond-Regular.ttf') format('truetype');
	font-weight:400;
}

@font-face {
  font-family: 'EB_Garamond';
  src: url('/um/library/fonts/EB_Garamond/EBGaramond-SemiBold.ttf') format('truetype');
	font-weight:600;
}

:root {
  --cl-winered:#921F56;
  --cl-winered-light:#B26288;
  --cl-winered-dark:#7C1A49;
  --cl-olive:#ACA060;
  --cl-olive2:#D2BF60;
}

.gsap-fadein {
  visibility: hidden;
  opacity: 0;
}



/*  General Parts
=============================================== */

.bold { font-weight:700; }
.cover { background:url(/img/cover.gif); display:block; width:100%; height:100%; }
.lazy { display:block; position:relative; }


/* font style
-------------------------------- */

.txtss { font-size:70%; }
.txts { font-size:80%; }
.txtb { font-size:120%; }
.txtbb { font-size:160%; }
.txtbbb { font-size:200%; }


/* br point
-------------------------------- */

.br-pc { display:block; }
.br-smp { display:none; }

@media all and (max-width: 767px) {

.br-pc { display:none; }
.br-smp { display:block; }

}


/* word br
-------------------------------- */

.wbr { display:inline-block; }



/* youtube
-------------------------------- */

.mov_yt { width:100%; margin:0 0 20px 0; }
.mov_yt_inner { position:relative; width:auto; height:0; padding-top:56.25%; }
.mov_yt_inner iframe { position:absolute; left:0; top:0; width:100%; height:100%; }



/*  container / pagebody
=============================================== */

#container { text-align:center; }
#container a { color:var(--cl-winered-light); }

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

body:not(#top) #container { animation: fadeIn 1.5s ease-in-out forwards; }
body:not(#top) .fade-in { animation: fadeIn 2s ease-in-out forwards; }

#pagebody { position:relative; padding:50px 0 0 0; background:url(../img/common/bg.jpg); box-shadow: inset 0 0 10vw rgba(0, 0, 0, 0.6), inset 0 0 20vw rgba(0, 0, 0, 1);  background-color:#000; }

/* -- Media Queries -- */

@media all and (max-width: 767px) {

#pagebody { position:relative; padding:4.6em 0 0 0; background-size:600px auto; }

}

/*  Header
=============================================== */

/* gnav
-------------------------------- */

/*-------- gnav-btn --------*/

#gnav-btn { position:absolute; top:30px; right:0; z-index:999; padding:1.0em; background-color:var(--cl-winered); color:#fff; font-family:'EB_Garamond'; font-weight:600; cursor:pointer; transition:transform 0.2s, opacity 0.2s ease; }
#gnav-btn.scrolled { position:fixed; top:30px !important; }
@media (hover: hover) {
#gnav-btn:hover, #gnav-btn:active { transform:translateX(4px); opacity:0.7; }
}
@media all and (max-width: 990px) {
#gnav-btn { top:15px; font-size:90%; padding:0.8em; }
#gnav-btn.scrolled { top:15px !important; }
}


/*-------- gnav-win / wrap --------*/

#gnav-win { position:fixed; top:0; left:0; z-index:1000; width:100%; height:100%; background:rgba(0,0,0,0.9); display:flex; align-items:center; justify-content:center; flex-direction:column; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 0.3s ease, visibility 0.3s ease; }
#gnav-win.open { opacity:1; visibility:visible; pointer-events:auto; }
#gnav-top-wrap { position:relative; width:360px; margin:0 auto; }


/*-------- gnav-close --------*/

#gnav-close { position:absolute; top:-2.0em; right:-1.0em; z-index:1001; display:flex; align-items:center; gap:0.8em; cursor:pointer; background-color:transparent; padding:0; transition:opacity 0.2s; }
@media (hover: hover) {
#gnav-close:hover { opacity:0.7; }
}
#gnav-close .close-txt { color:#fff; font-family:'EB_Garamond'; font-weight:400; font-size:1.1rem; letter-spacing:0.05em; text-shadow:0 0 5px rgba(0,0,0,0.5); }
#gnav-close .close-icon { position:relative; width:30px; height:30px; background-color:var(--cl-winered); /*border-radius:50%;*/ display:block; }
#gnav-close .close-icon span { position:absolute; top:50%; left:50%; width:20px; height:2px; background-color:#fff; display:block; margin-left:-11px; margin-top:-1px; }
#gnav-close .close-icon span:nth-child(1) { transform:rotate(45deg); }
#gnav-close .close-icon span:nth-child(2) { transform:rotate(-45deg); }
/* -- Media Queries -- */
@media all and (max-width: 767px) {
#gnav-top-wrap { width:18.0em; margin-top:20px; }
}


/*-------- gnav-logo --------*/

#gnav-logo { width:360px; aspect-ratio:360 / 180; }
#gnav-logo a { display:block; width:100%; height:100%; background:url(../img/common/f_logo.png) center center no-repeat; background-size:cover; text-indent:-9999px; /* hover */ transition: opacity 0.2s ease-out; }
@media (hover: hover) { #gnav-logo a:hover { opacity:0.7; } }

/* -- Media Queries -- */
@media all and (max-width: 767px) {
#gnav-logo { width:18.0em; }
}


/*-------- gnav --------*/

:root {
  --gnav-left:6.25em;
  --gnav-right:3.5em;
  --gnav-gap:1.5em;
  --gnav-row:0.9em;
  --gnav-ls:0.15em;
}

#gnav { margin:1.0em 0; padding:0; list-style:none; display:grid; grid-template-columns:var(--gnav-left) var(--gnav-right); column-gap:var(--gnav-gap); row-gap:var(--gnav-row); width:max-content; font-size:200%; text-align:left; }
#gnav li { margin:0; padding:0; }
#gnav a,
#gnav .nolink { color:#fff; font-family:'EB_Garamond'; font-weight:400; letter-spacing:var(--gnav-ls); line-height:1.1; white-space:nowrap; }
#gnav a { text-decoration:none; transition:text-shadow 0.2s ease; }
#gnav .nolink { opacity:0.5; }
@media (hover: hover) {
#gnav a:hover{
  text-shadow:
    0 0 3px  rgba(255,255,255,0.9),
    0 0 6px  rgba(255,255,255,0.85),
    0 0 12px rgba(255,255,255,0.8),
    0 0 20px rgba(255,255,255,0.65),
    0 0 32px rgba(255,255,255,0.5);
}
}

/* -- Media Queries -- */
@media all and (max-width: 767px) {
#gnav { font-size:160%; }
}


/*-------- gnav-sns --------*/

#gnav-sns-x a { display:flex; flex-direction:row; align-items:stretch; text-decoration:none; /* hover */ transition: opacity 0.2s ease-out; }
@media (hover: hover) { #gnav-sns-x a:hover { opacity:0.7; } }
#gnav-sns-x a i { display:block; margin-right:1.0em; width:3.5em; aspect-ratio:1 / 1; border-radius:1000px; background:url(../img/common/icon_sns_x.png) center center no-repeat; background-size:cover; }
#gnav-sns-x a dl { display:flex; flex-direction:column; justify-content:center; font-family:'EB_Garamond'; font-weight:600; text-align:left; font-size:110%; line-height:140%; }
#gnav-sns-x a dl dt { color:var(--cl-olive2); }
#gnav-sns-x a dl dd { color:#fff; }


/* ============================
	Main
============================ */

/*-------- box --------*/

.box { width:980px; margin:0 auto 50px auto; padding:0 30px; box-sizing:border-box; }

/* -- Media Queries -- */

@media all and (max-width: 990px) {

.box { width:auto; padding:0 3%; }

}


/*-------- mainttl --------*/

.mainttl { margin-bottom:2.0em; }
.mainttl .jp { margin-bottom:0.9em; }
.mainttl .jp .l > span { display:inline-block; width:1.0em; margin-right:-1px; padding:0.05em 0.15em 0.25em 0.15em; border-top:1px #fff solid; border-left:1px #fff solid; border-bottom:1px #fff solid; border-right:1px #fff solid; font-size:240%; font-weight:400; }
.mainttl .jp .l .blk { display:none; }
.mainttl .en { font-family:'EB_Garamond'; letter-spacing:0.2em; font-size:140%; }

/* -- Media Queries -- */

@media all and (max-width: 990px) {

.mainttl { font-size:90%; }
.mainttl .jp .l { display:block; margin-top:-1px; }
.mainttl .jp .l .blk { display:inline-block; opacity:0; }

}


/*-------- btn --------*/

#main .btn { padding-bottom:1.0em; margin:0 -0.5em; }
#main .btn.btn-center { text-align:center; }
#main .btn.btn-right { text-align:right; }
#main .btn p { display:inline-block; padding:0 0.5em; }
#main .btn p a { display:inline-block; position:relative; padding:1.1em 2.5em 1.3em 1.7em; box-sizing:border-box; border-radius:1000px; background-color:var(--cl-winered);  font-weight:700; color:#fff; text-decoration:none; text-align:center; line-height:120%; /* hover fade */ transition:transform 0.2s, opacity 0.2s ease-out; }
@media (hover: hover) { #main .btn p a:hover { transform:translateX(4px); opacity:0.7; } }
#main .btn p a::after { content:""; position:absolute; top:50%; right:1.1em; transform:translateY(-50%); width:0; height:0; border-top:0.30em solid transparent; border-bottom:0.30em solid transparent; border-left:0.4em solid #fff; }

/* btn-back */
#main .btn.btn-back p a::after { left:1.1em; border-left:none; border-right:0.4em solid #fff; }
#main .btn.btn-back p a { padding:1.1em 1.7em 1.3em 2.5em; }
@media (hover: hover) { #main .btn.btn-back p a:hover { transform:translateX(-4px); opacity:0.7; } }

/* -- Media Queries -- */

@media all and (max-width: 990px) {

#main .btn { font-size:90%; }

}

/* ============================
	Footer
============================ */

#footer { padding:3.0em; background-color:#000; }

#f-box { max-width:700px; margin:0 auto 1.0em; display:flex; justify-content:/*space-between*/center; align-items:center; }
#f-logo { width:/*360*/400px; aspect-ratio:720 / 340; background:url(../img/common/f_logo.png) center center no-repeat; background-size:cover; text-indent:-9999px; }
/*#f-bn-original { width:300px; aspect-ratio:600 / 200; }
#f-bn-original a { display:block; width:100%; height:100%; box-sizing:border-box; border:#666 1px solid; background:url(../img/common/f_bn_original.jpg) center center no-repeat; background-size:cover; text-indent:-9999px; *//* hover fade *//* transition: opacity 0.2s ease-out; }*/
@media (hover: hover) { #f-bn-original a:hover { opacity:0.7; } }

#f-copy { font-size:90%; line-height:140%; }

/* -- Media Queries -- */

@media all and (max-width: 990px) {

#footer { padding:2.0em; }

#f-box { flex-direction:column; justify-content:center; }
#f-logo { width:300px; margin-bottom:20px; }
#f-bn-original { width:260px; margin-bottom:10px; }

#f-copy { font-size:80%; }

}


/*eof*/
