@charset "utf-8";
@import (once) "../css/default.less";

/* eachtext バグ解除  ///////////////////////*/
.map{
.dn;
}

/* font  ///////////////////////*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Funnel+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Limelight&display=swap');

.ffm{
font-family: "Zen Maru Gothic", serif;
font-weight: 400;
font-style: normal;
}

.ffm2{
font-family: "Funnel Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
}

.ffm3{
font-family: "Limelight", sans-serif;
font-weight: 400;
font-style: normal;
}

@font-face {
font-family: "script";
src: url("../../css/font/script1.woff2") format('woff2');
}

.ffm4{
font-family: "script";
font-weight:500;
}


/* color  ///////////////////////*/
@text:#606975;
@bg:#145282 url(../image/texture/bg4.png);

@c1:#145282;
@c2:#84858a;
@c3:#b4b5b8;
@c4:#DDD;

a{
.tdn;
color:@text;
}


/* close ///////////////////////*/
.desklist dd:before{
background:@text;
}


/* body  ///////////////////////*/
body{
background:@bg;
color:@text;
}

body,div,td,th,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,address,a,p,sup,em,s.i,small,span{
.ffm;
}

.contents{
max-width:720px;
padding:0 1rem;
.center;
}


/* anime  ///////////////////////*/
.zoom{
opacity:0;
}
.fade{
opacity:0;
}
.flip{
opacity:0;
}


/* canvas  ///////////////////////*/
.canvas{
.pf;
width:100%;
height:100vh;
background:#FEFEFE url(../image/texture/bg4.png);
}


/* top  ///////////////////////*/
.is-active{
--y: 0;
}

.char{
display:inline-block;
transform: translateY(var(--y, 3rem));
transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
transition-delay: calc(~"0.1s * var(--char-index)");
}


/* top  ///////////////////////*/
.top{
.pr;
.oh;
height:100vh;
padding:1rem;
background:@c1 url(../image/texture/bg16.png);

.article{
height:100%;
padding:5px;
background:#FEFEFE url(../image/texture/bg4.png);
}

article{
.oh;
.jc;
height:100%;
border:3px @c1 solid;
}

.wrap{
width:100%;
max-width:400px;
}

.title{
.pr;
.tac;
.center;
width:100%;
max-width:420px;
z-index:2;
padding:0 0 1rem 0;
line-height:1.6rem;
.nw;

i{
.oh;
.dib;
}
i, span{
.ffm3;
font-size:2.3rem;
line-height:2.3rem;
color:@c1;
}
}

.photo{
.center;
width:90%;
max-width:400px;
}
.photo p{
.as(1/1);
background:@c1 url(../image/texture/bg16.png);
-webkit-mask-image:url(image/top.svg);
-webkit-mask-repeat:no-repeat;
-webkit-mask-size:cover;
mask-image:url(image/top.svg);
mask-repeat:no-repeat;
mask-size:cover;
}

.contents{
.tac;
z-index:2;
}

h1{
padding:1rem 0 1rem 0;
}
h1 p{
.pr;
.nw;
.dib;
.vam;
font-size:1.15rem;
line-height:1.15rem;
.bold;
letter-spacing:.05rem;
color:@c1;
}

h1 p:before{
content:"";
.dib;
.pa;
background:@c1;
-webkit-mask-image:url(../image/ornament/edge3.svg);
-webkit-mask-repeat: no-repeat;
mask-image:url(../image/ornament/edge3.svg);
mask-repeat: no-repeat;
width:60px;
left:-70px;
.as(1/.1);
top:.6rem;
transform:scale(-1,1);
}

h1 p:after{
content:"";
.dib;
.pa;
background:@c1;
mask-image:url(../image/ornament/edge3.svg);
mask-repeat: no-repeat;
width:60px;
right:-70px;
top:.6rem;
.as(1/.1);
}

h2{
padding:1rem 0;
}
h2 p{
font-size:1.6rem;
line-height:1.6rem;
color:@c1;
.ffm2;
.nw;
}
em p{
color:@c1;
font-size:1rem;
line-height:1rem;
.ffm2;
.nw;
}

.scroll {
.dn;
}
.scroll p{
.ffm2;
}
.scroll a{
.pr;
.db;
z-index:3;
width:60px;
height:60px;
margin:0 0 0 -30px;
}

}


@media(min-width:@w1){
.top{
height:auto;
}
article{
padding:40px 0;
}
}


/* message  ///////////////////////*/
.message{
.pr;
.oh;
z-index:1;
padding:15px 15px 115px 15px;
background:@c1 url(../image/texture/bg16.png);
color:#FFF;

.article{
max-width:720px;
.center;
}

article{
width:100%;
}

.contents{
.pr;
.center;
padding:75px 15px;
}

.guest_name{
.tac;
span{
font-size:1.45rem;
line-height:2rem;
padding:0 10px;
}
}

.text p{
.tac;
padding:30px 0;
line-height:2rem;
}
.text span{
line-height:2rem;
}

.host_name p{
.tac;
font-size:1.3rem;
line-height:2rem;
}

}


/* seating  ///////////////////////*/
.seating{
.pr;
.oh;
.tac;
z-index:2;
margin:-90px 0 0 0;

.title{
.jc;
.pr;
.tac;
.center;
width:60%;
max-width:320px;
.as(1/1);
background:@c2 url(../image/texture/bg3.png);
z-index:2;
}

.title header{

h2 p{
.ffm3;
font-size:2.3rem;
line-height:2.3rem;
color:#FFF;
text-stroke-width:.5px;
text-stroke-color:#FFF;
-webkit-text-stroke-width:.5px;
-webkit-text-stroke-color:#FFF;
}
em p{
padding:15px 0 0 0;
font-size:1.3rem;
color:#FFF;
}
}

.contents{
margin-top:-80px;
padding:75px 15px 75px 15px;
clip-path: polygon(0 0,0 100%,100% 100%,100% 0);
}

.memo{
.tal;
padding:15px 0 0 0;
font-size:.85rem;
}

}


/* desk ///////////////////////*/
.desk{
.pr;
.oh;
.tac;
padding:75px 0 0 0;

header{
padding:0 0 30px 0;

h3 p{
.tac;
.ffm2;
font-size:1.75rem;
line-height:1.75rem;
}
em p{
.tac;
font-size:.9rem;
line-height:.9rem;
padding:15px 0 0 0;
}
}

.wrap{
.center;
background:#FFF;
border:2px @c1 solid;
padding:15px 0 30px 0;
}

}


/* floor ///////////////////////*/
.floor{
.pr;
.oh;
.tac;
padding:75px 0 0 0;

header{
padding:0 0 30px 0;

h3 p{
.tac;
.ffm2;
font-size:1.75rem;
line-height:1.75rem;
}
em p{
.tac;
font-size:.9rem;
line-height:.9rem;
padding:15px 0 0 0;
}
}

.wrap{
.center;
border:2px @c1 solid;
background:#FFF;
}


}


/* desklist ///////////////////////*/
.desklist{

dl{
.dn;
.pf;
top:0;
left:0;
z-index:3;
opacity:0;
transition:1s;
background:#FFF url(../image/texture/bg5.png);
width:100%;
height:100%;
}

dd{
.pr;
width:100%;
height:100%;
display:flex;
align-items:center;
padding:0 15px;
}

.desk{
flex:1;
width:100%;
max-width:600px;
.center;
padding:0 0 5vh 0;

h3 p{
font-size:4.5rem;
line-height:4.5rem;
}
em p{
.tac;
font-size:.85rem;
line-height:.85rem;
padding:0 0 0 0;
}
}

.desk svg .num{
.dn;
}

.chart{
background:transparent;
}

}


/* svg ///////////////////////*/
.desk svg,
.floor svg{

.text1{
fill:@text;
font-size:7px;
}
.text2{
fill:@text;
font-size:12px;
}
.text3{
fill:@text;
font-size:7px;
text-anchor:middle;
}
.text4{
fill:@text;
font-size:12px;
text-anchor:middle;
}
.num{
fill:@text;
font-size:40px;
text-anchor:middle;
.ffm3;
}
.object{
fill:rgba(255, 255, 255, 0);
fill:@c3;
stroke:rgba(255, 255, 255, 0);
stroke-width:0px;
}
.active{
fill:rgba(255, 214, 42, 0.85);
fill:@c4;
stroke:rgba(255,214,42,0);
stroke-width:0;
opacity:1 !important;
}
a{
text-decoration:none;
}

.image{
.dn;
}
.object{
.ds;
}

}


/* menu  ///////////////////////*/
.menu{
.pr;
.oh;
.tac;
padding:75px 0 75px 0;
border-top:6px @c1 solid;

.title{
padding:0 0 45px 0;
}

.title p{
font-size:3rem;
line-height:3rem;
.ffm3;

}

.contents{
}

.food, .drink{
background:rgba(255, 255, 255, 1);

header{
.dn;
padding:15px 0 30px 0;
}
h3 p{
font-size:2rem;
}
em p{
padding:15px 0 0 0;
font-size:1.2rem;
}
}

.food{
padding:5px;
background:@c1 url(../image/texture/bg16.png);
}

.drink{
margin:15px 0 0 0;
background:@c1 url(../image/texture/bg16.png);
color:#FFF;
dl{
background:transparent;
}
}

dl{
background:rgba(255,255,255,.95);
padding:15px 15px 45px 15px;
}

dt{
.pr;
padding:75px 0 0 0;
}
dt p{
font-size:1.3rem;
.ffm2;
}
dt:before{
content:"";
.pa;
top:35px;
left:0;
right:0;
.center;
.db;
background:@c4;
mask-image:url(../image/ornament/line3.svg);
mask-repeat: no-repeat;
width:75px;
.as(1/1);
}
dt:first-child{
padding:30px 0 0 0;
}
dt:first-child:before{
.dn;
}

dd{
opacity:0;
padding:15px 0 0 0;
}
dd p{
line-height:1.45rem;
}


.image{
.pr;
padding:15px 0 0 0;
}

.memo{
.tal;
padding:10px 0 0 0;
p{
font-size:.85rem;
line-height:1.3rem;
}
}

}



/* profile ///////////////////////*/
.profile{
.pr;
.oh;
.tac;
padding:115px 0 75px 0;
background:@c1 url(../image/texture/bg16.png);
color:#FFF;

.title p{
font-size:3rem;
line-height:3rem;
.ffm3;
text-stroke-width:.5px;
text-stroke-color:#FFF;
-webkit-text-stroke-width:.5px;
-webkit-text-stroke-color:#FFF;
}

.contents{
padding:45px 15px 0 15px;
}

.data{
max-width:260px;
.center;

h4 p{
.ffm4;
font-size:2.3rem;
line-height:2.3rem;
text-stroke-width: .3px;
text-stroke-color:#FFF;
-webkit-text-stroke-width: .3px;
-webkit-text-stroke-color:#FFF;
padding:15px 0;
}
.name{
.pr;
padding:0 0 15px 0;
}
span{
font-size:.85rem;
line-height:1.6rem;
}
}

.sns{
padding:15px 0 0 0;

ul{
.dt;
.center;
}
li{
.dtc;
padding:3px;
}
img{
width:25px;
filter:invert();
}
a{
.pr;
.jc;
}
a:before{
content:"";
.db;
.pa;
width:200%;
height:200%;
.r(50%);
box-shadow: inset 0px 0px 5px 0px rgba(255, 255, 255, 1);
}
}

}


/* profile photo ///////////////////////*/
.profile{

.host1{
opacity:0;
.dib;
.tac;
.left;
width:50%;
padding:0 5px 0 0;
}

.host2{
opacity:0;
.dib;
.tac;
.right;
width:50%;
padding:0 0 0 5px;
}

.host3{
opacity:0;
.tac;
.dib;
.center;
width:80%;
}


.photo{
.pr;
width:100%;
.as(1/1);
background:#FFF;
padding:5px;
}
.photo p{
.oh;
width:100%;
height:100%;
}
.photo img{
.of;
width:100%;
height:100%;
}

}


/* gallery  ///////////////////////*/
.gallery{
.pr;
z-index:1;
background:@c1;

.bg{
top: 0 ;
height:100vh;
position:sticky;
opacity:.6;
filter:grayscale(100%) contrast(115%);
}

}


/* memory ///////////////////////*/
.memory .article{
.pf;
z-index:-1;
inset:0;
width:100vw;
height:100vh;
background:@c2 url(../image/texture/bg16.png);
}

/* memory ///////////////////////*/
.memory{
.pr;
.oh;
.tac;
height:100vh;
z-index:2;
clip-path: polygon(0 0,0 100%,100% 100%,100% 0);
color:#FFF;

.triggar{
.db;
height:8vh;
pointer-events:none;
}

.shadow{
.pa;
width:100vw;
height:100vh;
z-index:2;
box-shadow: inset 0px 0px 100px 0 rgba(255, 255, 255, .6);
pointer-events:none;
}

article{
.pa;
.jc;
width:100vw;
height:100vh;
}

.title{

h3 p{
.ffm4;
font-size:4.5rem;
line-height:4.5rem;
text-stroke-width: .2px;
text-stroke-color:#FFF;
-webkit-text-stroke-width: .2px;
-webkit-text-stroke-color:#FFF;
}
p{
line-height:2rem;
}
}

ul{
.pr;
.db;
width:116vw;
max-width:860px;
margin-left:-8vw;
.nw;
}
li{
.dib;
width:33%;
max-width:230px;
}

dt{
background:#FFF;
padding:5px;
opacity:0;

p{
.jc;
.as(1/1);
}
p:before{
content:"";
.db;
.pa;
width:120%;
height:120%;
z-index:2;
.r(50%);
box-shadow: inset 0px 0px 30px 0px rgba(255, 255, 255, 1), inset 0px 0px 5px 0px rgba(255, 255, 255, 1);
}
img{
.of;
width:100%;
height:100%;
}
}


.host1{
.pa;
top:0;

li:nth-child(even) dt{
transform:rotate(10deg);
}
li:nth-child(odd) dt{
transform:rotate(-5deg);
}

li:nth-child(4){
.pa;
left:-5vw;
top:20vh;
}
li:nth-child(5){
.pa;
left:-10vw;
top:40vh;
}
li:nth-child(6){
.pa;
left:-5vw;
top:60vh;
}
}


.host2{
.pa;
bottom:0;

li:nth-child(odd) dt{
transform:rotate(10deg);
}
li:nth-child(even) dt{
transform:rotate(-5deg);
}

li:nth-child(4){
.pa;
right:-10vw;
bottom:20vh;
}
li:nth-child(5){
.pa;
right:-15vw;
bottom:40vh;

}
li:nth-child(6){
.pa;
right:-10vw;
bottom:60vh;
}
}


dd{
.dn;
transition:1s;
background:@c1 url(../image/texture/bg16.png);
width:100%;
height:100%;
.pf;
top:0;
left:0;
z-index:99;
opacity:0;
}

.wrap{
width:100%;
height:100%;
.db;
.jc;
.pr;
}

.photo{
width:80%;
max-width:320px;
padding:5px;
background:#FFF;

p{
padding:10px;
color:@text;
line-height:1.45rem;
}
}

}


/* question  ///////////////////////*/
.question{
.pr;
.tac;
.oh;
padding:30px 0 15px 0;

header{
.pr;
padding:60px 0 0 0;
}
header:before{
content:"";
.pa;
top:45px;
left:0;
right:0;
.center;
.db;
background:@c1;
-webkit-mask-image:url(../image/icon/profile1.svg);
-webkit-mask-repeat: no-repeat;
mask-image:url(../image/icon/profile1.svg);
mask-repeat: no-repeat;
width:120px;
.as(1/1);
}

.q2 header:before{
-webkit-mask-image:url(../image/icon/profile2.svg);
mask-image:url(../image/icon/profile2.svg);
}
.q3 header:before{
-webkit-mask-image:url(../image/icon/profile3.svg);
mask-image:url(../image/icon/profile3.svg);
}
.q4 header:before{
-webkit-mask-image:url(../image/icon/profile4.svg);
mask-image:url(../image/icon/profile4.svg);
}

h3 p{
padding:115px 0 45px 0;
}

dl{
border-top:1px #999 dotted;
}

dt p{
.db;
cursor:pointer;
padding:15px 0;
}
dt a{
.jc;
.pr;
border-bottom:1px #999 dotted;
}
dt a:before{
content:"";
.db;
.pa;
width:80px;
.as(1/1);
.r(50%);
box-shadow: inset 0px 0px 5px 0px rgba(65, 86, 120, 1);
}


}


/* question 回答  ///////////////////////*/
.question{

dd{
.dn;
.pf;
top:0;
left:0;
opacity:0;
transition:1s;
background:@c1 url(../image/texture/bg16.png);
width:100%;
height:100vh;
z-index:99;
}


.wrap{
.pr;
width:100%;
height:100%;
}

em{
.db;
.ffm4;
font-size:4rem;
color:#FFF;
.pa;
top:30px;
left:15px;
transform:rotate(-10deg);
text-stroke-width: .3px;
text-stroke-color:#FFF;
-webkit-text-stroke-width: .3px;
-webkit-text-stroke-color:#FFF;
opacity:.6;
z-index:0;
}

.text{
.pa;
width:calc(~"100% - 20px");
height:calc(~"30vh - 20px");
border:2px #FFF solid;
left:10px;
top:10px;
.jc;

p{
.pr;
padding:15px;
background:;
color:#FFF;
line-height:1.4em;
z-index:1;
}
}

.text:after{
content:"";
.db;
width:40%;
max-width:130px;
.as(1/1);
background:#FFF;
-webkit-mask-image:url(../image/cut/hand2.svg);
-webkit-mask-repeat:no-repeat;
-webkit-mask-size:contain;
mask-image:url(../image/cut/hand2.svg);
mask-repeat:no-repeat;
mask-size:contain;
.pa;
bottom:0;
right:-15px;
z-index:0;
opacity:.45;
}

.photo{
.pa;
.oh;
.tal;
top:30vh;
width:50%;
height:40vh;

img{
.pa;
.of;
top:0;
width:100%;
height:100%;
}
}

.host1,
.host2,
.host3{
.pa;
top:0;
width:100%;
height:100%;
}

.host2{

.text{
top:auto;
bottom:10px !important;
}
.photo{
right:0;
}
}

}


/* request  ///////////////////////*/
.request:before,
.request:after{
content:"";
.db;
height:5px;
background:#FFF;
-webkit-mask-image:url(../image/ornament/line3.svg);
mask-image:url(../image/ornament/line3.svg);
}


/* request  ///////////////////////*/
.request{
.pr;
.oh;
.tac;
color:#FFF;
padding:.3rem 0;
background:@c1 url(../image/texture/bg16.png);
margin-top:7rem;

.article{
padding:7rem 0;
}

.title p{
font-size:3rem;
line-height:3rem;
.ffm3;
}

.contents{
padding:0 1rem;
}

dl{
.pr;
padding:3rem 0 2rem 0;
}
dl:after{
content:"";
.pa;
.dib;
.vam;
background:@c4;
-webkit-mask-image:url(../image/ornament/point1.svg);
-webkit-mask-repeat: no-repeat;
mask-image:url(../image/ornament/point1.svg);
mask-repeat: no-repeat;
width:10px;
.as(1/1);
margin:2rem 0 0 -5px;
}

dd{
line-height:1.6rem;
}

}


/* event  ///////////////////////*/
.event{

.title p{
font-size:3rem;
line-height:3rem;
.ffm3;
}

}


/* footer  ///////////////////////*/
.footer{
.pr;
.tac;
padding:45vh 0 45vh 0;

.logo{
.center;
width:120px;
.as(1/.6);
background:@c1;
-webkit-mask-image:url(../../image/logo.svg);
-webkit-mask-repeat:no-repeat;
-webkit-mask-size:contain;
mask-image:url(../../image/logo.svg);
mask-repeat:no-repeat;
mask-size:contain;
}

.copy{
.ffg;
font-size:.8rem;
}

}


.pagetop{
a:before{
border-top:2px @c1 solid;
border-right:2px @c1 solid;
}
}
