@import url("https://use.typekit.net/htv7lxc.css");
@charset "UTF-8";
/*  oshitabi_Footer
=============================================== */
#whitebase { background-color: rgba(255, 255, 255, 1); padding-top: 1em; }
#whitebase .btn_wrap { text-align: center; margin-top: 80px; margin-bottom: 40px; }
.oshitabi_btn { display: block; border: 3px solid rgba(0, 0, 0, 1); background-color: rgba(255, 255, 255, 1); max-width: 320px; margin: 0 auto; padding: 20px; text-align: center; font-family: "Noto Sans JP", sans-serif; font-size: 20px; font-weight: 900; border-radius: 20px; position: relative; text-decoration: none; color: rgba(0, 0, 0, 1); }
.oshitabi_btn::after { content: ""; position: absolute; top :50%; right: 30px; height: 12px; width: 12px; border-top: 3px solid rgba(0, 0, 0, 1); border-right: 3px solid rgba(0, 0, 0, 1); transform: translateY(-50%) rotate(45deg); }
.oshitabi_btn:hover { background-color: rgba(0, 0, 0, 1); color: rgba(255, 255, 255, 1);}
.oshitabi_btn:hover::after { content: ""; position: absolute; top :50%; right: 30px; height: 12px; width: 12px; border-top: 3px solid rgba(255, 255, 255, 1); border-right: 3px solid rgba(255, 255, 255, 1); transform: translateY(-50%) rotate(45deg); }
.juju_copy { padding: 0 0 0 1em; font-size: 80%; letter-spacing: .05em;}
@media all and (max-width: 850px) {
.oshitabi_btn { max-width: 260px; padding: 15px; font-size: 16px; }
.oshitabi_btn::after { right: 20px; }
}

/*  common
=============================================== */
body.fixed { position: fixed; width: 100%; height: 100%; left: 0;}
#content_block { width:100%; padding-top: 66px;}
/*for_W751-*/
@media (min-width: 751px) { 
#content_block { padding-top: 90px;}
}
/*for_-W374*/
@media (max-width: 374px) { 
#content_block { font-size: 72%;}
}

/*lazyload*/
.lazyload, .lazyloading { opacity: 0;}
.lazyloaded { opacity: 1; transition: all 1000ms;}
.prgimg100 { max-width: 100%;}
/*txt*/
.nt { display: none;}
.nt_txt { font-size: 0; width: 0; height: 0; overflow: hidden; opacity: 0;}
.bt { font-weight: bold; font-weight: 600;}
.ut { font-weight: lighter;}
.ct { text-align: center;}
.lt { text-align: left;}
.rt { text-align: right;}
/*_size*/
.f300 { font-size: 300%;}
.f240 { font-size: 240%;}
.f220 { font-size: 220%;}
.f200 { font-size: 200%;}
.f180 { font-size: 180%;}
.f170 { font-size: 180%;}
.f160 { font-size: 160%;}
.f150 { font-size: 150%;}
.f140 { font-size: 140%;}
.f130 { font-size: 130%;}
.f125 { font-size: 125%;}
.f120, .big { font-size: 120%;}
.f110 { font-size: 110%;}
.f105 { font-size: 105%;}
.f100 { font-size: 100%;}
.f90, .small { font-size: 90%;}
.f80 { line-height: normal; font-size: 80% !important;}
.f85 { line-height: normal; font-size: 85% !important;}
.f75 { line-height: normal; font-size: 75% !important;}
/*_height*/
.lh100 { line-height: 100%;}
.lh110 { line-height: 110%;}
.lh120 { line-height: 120%;}
.lh130 { line-height: 130%;}
.lh140 { line-height: 140%;}
.lh150 { line-height: 150%;}
.lh160 { line-height: 160%;}
.lh170 { line-height: 170%;}
.lh180 { line-height: 180%;}
.lh200 { line-height: 200%;}
.lh230 { line-height: 230%;}
/*_space*/
.pd0 { padding: 0;}
.pd1 { padding: 1em;}
.pdtb1 { padding: 1em 0;}
.pdtb05 { padding: .5em 0;}
.pdl1 { padding-left: 1em;}
.pdt1 { padding-top: 1em;}
.mgat { margin: auto;}
.mgtb1 { margin: 1em auto;}
.ls0 { letter-spacing: 0;}
.ls-05 { letter-spacing: -0.05em;}
.ls1 { letter-spacing: .1em;}
.ls2 { letter-spacing: .2em;}
/*_color*/
.fcred { color:#8b0000;}
.fcblu{color:#02315e;}
/*etc*/
@media print { .noprint { display: none;} }
.cover { width: 100%; height: 100%; background: url(../img/cover.png) repeat; display: block; position: absolute; top: 0; left: 0; }
.kome li { padding:0 0 0 1em; line-height:130%;}
.kome li::before { content: '※ '; margin-left: -1.25em;}
.dot li { padding-left: 1em;}
.dot li::before { content: '・ '; margin-left: -1.25em;}
/*font*/
.shans {
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 600;
font-style: normal;
}
.genkai {
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
}
.isego {
font-family: "isego", sans-serif;
font-weight: 700;
font-style: normal;
}
.brandon {
font-family: brandon-grotesque, sans-serif;
font-weight: 700;
font-style: normal;
}
@media all and (min-width: 751px) {
.nobr{display: none;	} 
}
@media all and (max-width: 750px) {
.pcbr{display: none;	} 
}
.no-link{ pointer-events: none; cursor: default; text-decoration:none;}

#wrapper,#goods.wrapper{
width:100%;
padding:0 0 2vw;
background:#d2d2d2 url(../img/bg.webp);
background-size:100%;
color:#0a0a0a;
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 600;
font-style: normal;
}
@media all and (max-width: 750px) {
}

.frame1{
box-sizing: border-box;
padding:1vw 0 2.5vw;
margin:3vw auto 0;
width:70vw;
border:1.5px solid #0a0a0a;
outline: solid 1px #0a0a0a;
outline-offset : -6px;
background: url(../img/bg2.png);
background-size:50%;
}
.frame1 .inner,.frame2 .inner{
margin:0 auto;
width:90%;
}
.frame1 h4{
text-align: center;
font-size:clamp(1rem, 1rem + 1.25vw, 2rem);
font-family: "isego", sans-serif;
font-weight: 700;
font-style: normal;
color:#8b0000;
border-bottom:1px solid #8b0000;
padding:.6vw 0 .8vw;
}

.frame2{
padding:2vw 0 3vw;
margin:0 auto;
width:90%;
box-sizing: border-box;
background: url(../img/bg2.png);
background-size:50%;
}
.frame2 h4{
font-size:clamp(1rem, 0.5rem + 2vw, 3rem);
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
color:#ededed;
text-align:center;
background-color:#8b0000;
padding:1.25vw 0;
}
.frame2 .inner a{
color:#8b0000;
text-decoration: underline;
}
.frame1 h4 + p,.frame2 h4 + p{
line-height:140%;
font-size:clamp(1rem, 0.5rem + 1.2vw, 3rem);
padding:2vw 0;
text-align:center;
}
.frame2 h5{
text-align:left;
font-size:clamp(1rem, 1rem + 0.5vw, 2rem);
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
color:#8b0000;
border-bottom:1px solid #8b0000;
padding:0 0 .5vw;
margin:2vw 0 .5vw;
}
.frame2 h5 + p{
padding:0 !important;
}
.frame1 figure,.frame2 figure{
box-sizing: border-box;
width:85%;
margin:1vw auto;
}
.frame1 figure img,.frame2 figure img{
display:block;
}
.frame1 p span.f80,.frame2 p span.f80{
padding:1% 0 0 !important;
line-height:140% !important;
display:inline-block;
}
@media all and (max-width: 750px) {
.frame1{
margin:5vw auto 0;
padding:1vw 0 2.5vw;
width:95%;
}
.frame1 h4,.frame2 h4{
font-size:5vw;
padding:2.5vw 0 2vw;
}
.frame2{
width:85vw;
}
.frame1 h4 + p,.frame2 h4 + p{
font-size:3.5vw;
}
.frame1 h5,.frame2 h5{
padding:0 0 1vw;
margin:3vw 0 1vw;
font-size:3.3vw;
}
.frame1 p,.frame2 p{
font-size:2.8vw;
}
.frame1 ul.kome li,.frame2 ul.kome li{
font-size:2.5vw;
margin:0 0 1vw;
}
}

span.closed{
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  font-weight:700;
  color:#c80a0a;
}
span.closed::before {
  content: "";
  display: inline-block;
  width: 1em; 
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../img/note.svg);
}

.step-text-list {
  list-style: none;
  padding: 0;
  margin:1vw 0;
  counter-reset: step-count;
}
.step-text-list li {
  counter-increment: step-count;
  margin:0 0 .5em;
}
.step-text-list li::before {
  content: "STEP " counter(step-count);
  font-weight: bold;
  color: #ededed;
  background-color:#8b0000;
  margin:0 .5em 0 0;
  line-height:100%;
  padding:0 .5vw;
}

.btn_sp a,.btn_pc{
box-sizing: border-box;
  position: relative;
  display: block;
  color:#8b0000;
  padding:2.8vw 10vw 2.8vw 1vw;
  font-size:2.5vw;
  line-height:140%;
  width: fit-content;
  margin:2vw auto;
  font-weight: 800;
}
.btn_pc span{
  color: #665838;
  font-size: 1vw;
  font-weight: 400;
  display:block;
  margin:0 0 0 1.5em;
}
.btn_pc{
background-image:url("../img/qr.png"),url("../img/bn_bg.png");
background-repeat:no-repeat,no-repeat;
background-size:8vw,cover;
background-position:right 1.25vw center,center top;
}
.btn_sp + ul{
width: 80%;
margin:3vw auto;
}
.btn_sp + ul li{
color:#ededed;
font-size:90%;
margin:0 0 .5em !important;
}
.btn_caution{
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
box-sizing: border-box;
  border:2px solid #ededed;
  display: block;
  color:#ededed;
  padding:1.7vw 5vw 1.7vw 2.5vw;
  font-size:2vw;
  line-height:140%;
  width:33%;
  margin:0 auto;
  background: url(../img/arw.svg) no-repeat right 1vw center; background-size:1.8vw;
  text-align:center;
}
@media all and (min-width: 751px) {
.btn_sp{
  display:none;
}
}
@media all and (max-width: 750px) {
.btn_sp a{
  background: url(../img/bn_bg.png) no-repeat center top;
  background-size:cover;
  width:70%;
  font-size:4vw;
  padding:4vw 0;
  margin:4vw auto;
  text-align:center;
  pointer-events: none; cursor: default; text-decoration:none;
}
.btn_pc{
  display:none;
}
.btn_caution{
  width:70%;
  font-size:3.5vw;
  padding:2.5vw 5vw 2.5vw 3vw;
  background: url(../img/arw.svg) no-repeat right 2vw center; 
  background-size:3vw;
  text-align:center;
    border:1px solid #ededed;
}
}

.hidecontent {
  height: 0;
  overflow: hidden;
  transition:0.8s;
  opacity: 0;
}
#section1:checked ~ label[for="section1"] + .hidecontent,
#section2:checked ~ label[for="section2"] + .hidecontent,
#section3:checked ~ label[for="section3"] + .hidecontent {
  height:auto;
  opacity: 1;
}
label.btn_caution {cursor :pointer;}
ul.cautionlist{
padding:2vw 0 0;
margin:0 auto;
width:75vw;
}
ul.cautionlist li{
line-height:140%;
font-size:90%;
margin:0 0 .5em;
color:#ededed;
}
ul.cautionlist li a{
color:#ededed;
}
@media all and (max-width: 750px) {
ul.cautionlist{
padding:3vw 0 0;
}
ul.cautionlist li{
font-size:2.5vw;
margin:0 0 1vw;
}
}

/* top
=============================================== */
#kvs { 
  width: 100%;
  position: relative;
  aspect-ratio: 2000 / 3069;
}
#kvs img { 
  width:100%;
  height:auto;
  display:block;
}
#kvs +h1{
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
font-size:4vw;
padding:2vw 0;
text-align:center;
margin:0;
border-top:3px double #0a0a0a;
border-bottom:3px double #0a0a0a;
color:#ededed;
background: url(../img/h1.webp) no-repeat center center;
background-size:cover;
}
@media all and (max-width: 750px) {
#kvs +h1{
padding:3.5vw 1vw;
font-size: 4.8vw;
font-feature-settings: "palt";
}
}

#prologue{
  width: 90%;
  margin:0 auto;
background: url(../img/prologue.svg) no-repeat 10% 0;
background-size:min(45%, 400px);
padding:4vw 0 2vw;
}
#prologue h2,#goodsinfo h2{
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
font-size:clamp(1rem, 0.296rem + 5vw, 5rem);
padding:0 0 2vw;
}
#prologue p{
font-weight: 700;
line-height:160%;
  font-size:clamp(1rem, 1rem + 0.45vw, 2rem);
}
#prologue p.letter{
width:85%;
margin:1.8vw auto 1vw;
color:#402c1b;
font-style: italic;
text-align:center;
background: url(../img/paper.webp) no-repeat center top;
background-size:cover;
aspect-ratio: 1631 / 433;
box-sizing: border-box;
padding:2vw 0 0;
font-size:2vw;
}
#prologue p.letter span{
font-size:140%;
padding:.2vw 0 0;
display:inline-block;
}

.bn_goods{
display: block;
width: min(72%, 600px);
aspect-ratio: 955 / 283;
margin:4vw auto;
padding:0;
}
.btn_sns{
display: block; color:#fff;
border-radius:100vh;
border:2px solid #fff;
padding:1.5vw 3vw 1.5vw 9vw;
font-size:2.25vw;
line-height:130%;
width: fit-content;
margin:0 auto;
background: url(../img/xlogo.svg) no-repeat left 3vw center; background-size:4vw;
}

@media all and (max-width: 750px) {
#prologue{
background-size:45vw;
}
#prologue h2,#goodsinfo h2{
font-size: 7.5vw;
}
#prologue p{
margin:2vw 0 0;
font-size:3.5vw;
}
#prologue p.letter{
line-height:160%;
padding:3.6vw 0 0;
font-size:3.85vw;
width:100%;
background: url(../img/paper_sp.png) no-repeat center top;
background-size:cover;
 aspect-ratio: 866 / 511;
}
#prologue p.letter span{
line-height:140%;
padding:1.5vw 0 0;
}
.btn_sns{
width:48%;
padding:2vw 0 2vw 14vw;
font-size:3.8vw;
background-size:6.25vw;
background-position:left 5vw center;
margin:6vw auto 0;
}
}

/*menu*/
#navigation h3{
font-family: "isego", sans-serif;
font-weight: 700;
font-style: normal;
font-size:clamp(1rem, 0.296rem + 3vw, 3rem);
margin-top: -2.25vw;
}
#menu{
  position: relative;
background: linear-gradient(rgba(188, 179, 164, 0.5), rgba(188, 179, 164, 0.5)) 0 / 70% 100% no-repeat;
overflow: visible;
margin:3vw 0 0;
padding:1vw 1.25vw 1vw;
}
#menu.osaka{
  position: relative;
background: linear-gradient(rgba(188, 179, 164, 0.5), rgba(188, 179, 164, 0.5)) right / 70% 100% no-repeat;
}
#menu.osaka h3{
text-align:right;
}

#menu ul{
width:100%;
box-sizing: border-box;
display: flex; flex-flow: row wrap;
padding:1vw 2.5vw;
}

#menu ul li{
width:25%;
margin:0 .5vw 0;
font-size:2vw;
line-height:100%;
padding:2vw 0;
background: url(../img/bg_r.png);
background-size:100%;
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
border:2px solid #8b0000;
outline: 3px solid rgba(188,179,164, 1);
outline-offset:-4px;
  text-align:center;
}
#menu.osaka ul li{
border:1px solid #02315e;
background: url(../img/bg_b.png);
background-size:100%;
}
#menu ul li a{
color:#ededed;
display:block;
}
@media all and (min-width: 751px) {
#menu.osaka ul{
justify-content: flex-end;
}
}
@media all and (max-width: 750px) {
#navigation h3{
font-size:6vw;
}
#menu{
margin:6vw 0 0;
padding:1vw;
}
#menu ul{
justify-content: center;
padding:1.5vw .5vw 2vw;
}
#menu ul li{
width:31%;
padding:2.5vw 0;
font-size:3.35vw;
border:1px solid #8b0000;
outline: 2px solid rgba(188,179,164, 1);
outline-offset:-3px;
}
}

/*shinkansen*/
#shinkansen,#osakacts{
background: url(../img/brick.png) no-repeat 0 0;
background-size:100% auto;
padding:8vw 0 0;
}
#shinkansen h2,#osakacts h2{
font-family: "isego", sans-serif;
font-weight: 700;
font-style: normal;
font-size:clamp(1rem, 0.296rem + 4vw, 3rem);
}
#shinkansen h3,#osakacts h3,#shopinfo h3{
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
color:#ededed;
text-align:center;
  font-size:clamp(1rem, 1rem + 1.4vw, 2rem);
  border-bottom:4px double #ededed;
  padding:1.6vw 0;
}
#shinkansen h3 + p,
#osakacts h3 + p{
  font-size:clamp(1rem, 1rem + .6vw, 2rem);
text-align:center;
color:#cfc4b3;
  padding:2vw 0 .5vw;
  font-weight: 700;
}
#spvoice,#certification{
width:94%;
margin:0 0 3vw auto;
background: url(../img/bg_r.png);
background-size:50%;
padding:0 0 4vw;
box-sizing: border-box;
}
#certification h3 + p + ul{
width: 80%;
margin:0 auto 3vw;
}

@media all and (min-width: 751px) {
#shinkansen h2, #osakacts h2 {
font-size:clamp(1rem, 0.296rem + 4vw, 3.6rem);
font-size:5vw;
}

.sticky-group {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
  }
#shinkansen .sticky-group > h2 {
    grid-column: 1;
    grid-row: 1 / span 2;
    writing-mode: vertical-rl;
    /*position: sticky;
    top:90px;*/
    white-space: nowrap;
    height: auto;
    margin: 0 0 0 4vw;
  }
#osakacts .sticky-group > h2 {
grid-column: 1;
    grid-row: 1;
    writing-mode: vertical-rl;
    /*position: sticky;
    top:0;*/
    white-space: nowrap;
    height: auto;
    margin: 0 0 0 4vw;
  }
#spvoice, #certification,#stamprally {
    grid-column: 2;
  }
}
@media all and (max-width: 750px) {
#shinkansen h2,#osakacts h2{
font-size:6.5vw;
padding:0 0 2vw;
text-align:center;
}
#shinkansen h3,#osakacts h3,#shopinfo h3{
font-size:5vw;
  border-bottom:3px double #ededed;
  padding:3vw 0;
}
#shinkansen h3 + p,
#osakacts h3 + p{
font-size:3.5vw;
}
#spvoice,#certification{
width:92%;
margin:0 auto 5vw;
background-size:100%;
}
#certification h3 + p + ul{
width: 85%;
}
}

#howto{
box-sizing: border-box;
padding:3.5vw 0 0;
width:90%;
margin:0 auto;
background: url(../img/shinaknsen.svg) no-repeat center top;
background-size:96%;
}
#howto h3{
font-size:clamp(1rem, 0.296rem + 3vw, 3rem);
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
color:#ededed;
text-align:center;
}
#howto article{
box-sizing: border-box;
background-color: rgba(0,0,0, 0.5);
padding:2vw 0 3vw;
width:100%;
margin:0 auto;
}
#howto h3 + figure{
width: 60%;
margin:3vw auto;
aspect-ratio: 1220 / 861;
}

@media all and (max-width: 750px) {
#howto{
width:92%;
}
#howto h3{
font-size:5.5vw;
line-height:120%;
}
#howto h3 + figure{
width: 85%;
margin:3vw auto 5vw;
}
.btn_sp + ul{
width: 85% !important;
}
.btn_sp + ul li{
font-size:2.4vw !important;
line-height:140% !important;
margin:0 0 1vw !important;
}
}

/*osakacts*/
#stamprally{
width:94%;
margin:0 0 3vw auto;
background: url(../img/bg_b.png);
background-size:50%;
padding:0 0 4vw;
}
#stamprally .frame1 h4{
color:#02315e;
border-bottom:1px solid #02315e;
}
#stamprally h4 + figure{
width: 75%;
margin:2vw auto;
aspect-ratio: 1256 / 853;
}
#stamprally .btn_sp a,
#stamprally .btn_pc{
  color:#02315e;
}
@media all and (max-width: 750px) {
#stamprally{
width:92%;
margin:0 auto 5vw;
background-size:100%;
}
#stamprally h4 + figure{
margin:3vw auto;
width: 98%;
}
}

#course{
position: relative;
box-sizing: border-box;
padding:3.5vw 0 0;
width:90%;
margin:0 auto;
background: url(../img/stamp.svg) no-repeat left 8% top;
background-size:80% auto;
}
#course .inner{
box-sizing: border-box;
background-color: rgba(0,0,0, 0.5);
padding:2vw 0 3vw;
}
#course .tabs {
  display: flex;
flex-wrap: wrap;
  width:100%;
}
#course .tabs > label {
flex: 0 0 100%;
order: -1;
  padding:1.2vw 0 1.2vw 4vw;
  border-top: 1px solid #ededed;
  border-bottom: 1px solid #ededed;
  cursor: pointer;
font-family: "isego", sans-serif;
font-weight: 700;
font-style: normal;
  font-size:2.6vw;
color:#ededed;
width:100%;
box-sizing: border-box;
  background: url(../img/arw2.svg) no-repeat left 1vw center;
  background-size:2.2vw;
  background-color: rgba(91,13,13,0.9);
}
#course .tabs > label:hover {
  opacity: 0.7;
}
#course .tabs input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}
#course .tabs > label:nth-of-type(2) {
   border-top: none;
 background-color: transparent;
}
#course .tabs > label:nth-of-type(2):has(:checked) {
  background-color: rgba(29,57,43,0.9);
}
#course .tabs > label:nth-of-type(2):has(:checked) + div {
  background-color: rgba(29,57,43,0.9);
}

#course .tabs > div {
  display: none;
  width: 100%;
  padding:3vw;
  background-color: rgba(91,13,13,0.9);  
}
#course .tabs label:has(:checked) {
}
#course .tabs label:has(:checked) + div {
  display: block;
}
#course .tabs article{
margin:0 auto;
padding:2vw;
box-sizing: border-box;
background: url(../img/bg3.png);
background-size:50%;
}
#course .tabs article figure.map{
box-sizing: border-box;
width: 100%;
margin:0 auto 2vw;
aspect-ratio: 1649 / 1344;
}
#course .tabs article figure.map img{
  display:block;
}
#course .location{
position: relative;
margin:0 0 3vw;
min-height:23vw;
}
#course .location h4{
  font-size:1.7vw;
  writing-mode: vertical-rl;
  color:#ededed;
  background-color:#5d1717;
  position: absolute;
  left:0;
  top:0;
z-index:2;
padding:.5vw 0;
}
#course .location figure{
  position: absolute;
  left:-1.5vw;
  top:2vw;
box-sizing: border-box;
z-index:1;
width:29vw;
background-color:#ededed;
}
#course .location figure img{
display:block;
aspect-ratio: 3 / 2;
}
#course .location ul{
padding:0 0 0 3.5vw;
margin:0 0 0 4vw;
display: flex; flex-flow: row wrap; justify-content: start; align-items: center;
  background: url(../img/voice.svg) no-repeat left center;
  background-size:2.8vw;
}
#course .location ul li{
font-size:90%;
  color: #5d1717;
padding:.2vw .6vw;
margin:0 .2vw 0;
border-radius:100vh;
text-align:center;
border:1px solid #5d1717;
}
#course .location p{
box-sizing: border-box;
margin:6vw 2vw 0 auto;
  width:65%;
  border:2px solid #5d1717;  
  padding:1.5vw 1.5vw 1.5vw calc(25px + 5.25vw);
}
#course .caution{
width:80%;
margin:3vw auto;
color:#f7f7f7;
}
#course .caution h5{
font-weight:600;
}
#course .caution ul li{
font-size:90%;
margin:0 0 .25em;
}
#course .frame2:last-of-type{
margin:5vw auto 0;
}
#course .frame2:last-of-type figure{
margin:3vw auto 0;
}

#course .frame2 h4{
background-color:#02315e;
}
#course .frame2 > .inner{
background:none !important;
padding:0;
}
#course .frame2 h5{
color:#02315e;
border-bottom:1px solid #02315e;
}
#course .frame2 .inner a{
color:#02315e;
}

@media all and (max-width: 750px) {
#course{
padding:4vw 0 0;
width:92%;
}
#course .tabs > label {
  padding:2.25vw 0 2.25vw 6vw;
  font-size:4.8vw;
  background-size:3.5vw;
}
#course .tabs article{
background-size:100%;
padding:0 0 1vw;
}
#course .location{
width:95%;
margin:4vw auto 5vw;
padding:2vw 0 0;
min-height:auto;
}
#course .location h4{
  font-size:4vw;
padding:1vw 0;
}
#course .location figure{
  position: static;
width:92%;
margin:0 auto;
}
#course .location ul{
width:83%;
padding:0 0 0 6vw;
margin:1.25vw auto 0;
  background-size:4.6vw;
}
#course .location ul li{
  font-size:2.8vw;
padding:.3vw 1.5vw;
margin:0 .5vw .5vw .5vw;
}
#course .location p{
  font-size:3vw;
margin:1.5vw auto;
width:92%;
  padding:2vw;
    border:1px solid #5d1717; 
}
#course .caution{
width:90%;
margin:3vw auto 4vw;
}
}

/* goods
=============================================== */
#goods h1{
  width: 100%;
  position: relative;
aspect-ratio: 500 / 119;
}
#goods h1 img { 
  width:100%;
  height:auto;
  display:block;
}
#goods #navigation{
margin:5vw auto 0;
background: url(../img/brick.png) no-repeat 0 0;
background-size:100% auto;
}

#goodsinfo{
  width: 90%;
  margin:0 auto;
background: url(../img/goods.svg) no-repeat 15% 0;
background-size:58% auto;
padding:3vw 0 2vw;
}
#goodsinfo h2 + p{
line-height:160%;
font-size:clamp(1rem, 1rem + 0.9vw, 2rem);
font-size:2.5vw;
text-align:center;
padding:2vw 0 2vw;
}
#goodsinfo h2 + p + span{
display:block;
font-size:1.5vw;
margin:0 auto 2vw;
text-align:center;
width: fit-content;
}
#anchor ul{
width:100%;
box-sizing: border-box;
display: flex; flex-flow: row wrap; align-items: center; justify-content: center;
padding:1vw 2.5vw;
}
#anchor ul li{
width:25%;
margin:0 1vw 0;
font-size:2vw;
line-height:100%;
border:1px solid #0a4304;
padding:2vw 0;
background: url(../img/bg_g.png);
background-size:50%;
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
outline: 3px solid rgba(188,179,164, 1);
outline-offset:-4px;
  text-align:center;
}
#anchor ul li a{
color:#ededed;
display:block;
}

#lineup{
margin:2vw auto 2vw;
position: relative;
width:100%;
background-color: rgba(0,0,0, 0.5);
}
#lineup h3{
font-family: "isego", sans-serif;
font-weight: 700;
font-style: normal;
font-size:3.5vw;
text-align:center;
padding:2vw 0;
color:#ededed;
}
#lineup ul.itemlist{
width:100%;
display: flex; flex-flow: row wrap; align-items: stretch; justify-content:start;
box-sizing: border-box;
}
#lineup ul.itemlist li{
width: calc(100% / 3) !important;
box-sizing: border-box;
position: relative;
width:100%;
padding:2vw;
text-align: left;
border-top:1px solid #ededed;
border-right:1px solid #ededed;
color:#ededed;
}
@media all and (min-width: 751px) {
#lineup ul.itemlist li:nth-child(3n){
border-right:none;
}
#lineup ul.itemlist li:nth-of-type(15){
border-bottom:1px solid #ededed;
}
}

#lineup ul.itemlist li figure{
width:100%;
aspect-ratio: 1 / 1;
box-sizing: border-box;
display:block;
padding:0 !important;
margin:0 0 1vw !important;
background-color: #fff;
}
#lineup ul.itemlist li figure.tradingitem{
margin:0 !important;
}
#lineup ul.itemlist li span.exclusive{
  z-index:1;
  position: absolute;
  top:0;
  left:0;
  display:block;
background: url(../img/bg_g.png);
background-size:50%; 
padding:.5vw 1vw;
 color:#ededed;
}
#lineup ul.itemlist li span.trading{
font-weight:500;
font-size:1.2vw;
padding:.2vw;
color:#ededed;
background-color:#0a4304;
line-height:100% !important;
margin:0 0 .2vw !important;
text-align: center;
display:inline-block;
}
#lineup ul.itemlist li p.itemname{
font-weight:500;
  font-size:1.4vw;
padding:0 0 2vw;
text-align: left;
line-height:130%;
word-break: break-all;
}
#lineup ul.itemlist li p.itemname span{
font-size:82%;
line-height:100% !important;
}
#lineup ul.itemlist li p.price{
  font-size:1.5vw;
  padding:0;
  font-weight:600;
  text-align: right;
  position: absolute;
  bottom:.6vw;
  right:.5vw;
}
#lineup ul.itemlist li p.price span{
font-size:75%;
width:92%;
}

#goodsinfo .limit{
  text-align: left;
  width:100%;
  padding:1.5vw;
  margin:0 auto 2vw;
  border:3px double rgba(0,0,0, 0.5);
  box-sizing: border-box;
background-color: rgba(227,235,236, 0.6);
}
#goodsinfo .limit p{
  text-align: left;
  font-weight: 600;
  font-size:1.3vw;
  margin:0;
  line-height:160%;
  padding:0 !important;
}
#goodsinfo .limit p span.heading{
  color:#0a4304;
  font-size:1.6vw;
  display:inline-block;
  margin:0 0 1vw;
  padding:0;
  border-bottom:1px solid #0a4304;
  line-height:160%;
}
#goodsinfo .limit p.notice{
  margin:1.5vw 0 0;
}
#goodsinfo .limit ul.kome{
  margin:1vw;
}
.notice + .kome{
  margin:.25vw 1vw 1vw !important;
}
#goodsinfo .limit ul.kome li,
#goodsinfo .inquiry ul.kome li{
  font-size:1.1vw;
  line-height:150%;
  margin:0 0 .5vw;
  word-break: break-all;
}
#goodsinfo .inquiry{
  box-sizing: border-box;
    width:100%;
  margin:2vw auto;
  text-align: left !important;
background-color: rgba(227,235,236, 0.6);
padding:1vw 1.5vw;
}
#goodsinfo .inquiry p{
  text-align: left !important;
  padding:0 0 1vw !important;
  font-weight: 600;
  font-size:1.3vw;
  line-height:150%;
  word-break: break-all;
}
#goodsinfo .inquiry a{
  color:#0a4304;
  text-decoration: underline;
}

@media all and (max-width: 750px) {
#goodsinfo{
background-size:75% auto;
padding:3vw 0 2vw;
}
#goods #navigation{
padding:0 0 4.5vw;
}
#goodsinfo{
width:94%;
}
#goodsinfo h2 + p{
line-height:140%;
font-size:4.5vw;
padding:4.5vw 0 2vw;
}
#goodsinfo h2 + p + span{
font-size:2.5vw;
}
#anchor ul li{
padding:2.5vw 0;
font-size:3.5vw;
outline: 2px solid rgba(188,179,164, 1);
outline-offset:-3px;
width:40%;
}
#lineup{
margin:4vw auto 2vw;
}
#lineup h3{
padding:3vw 0;
font-size:5vw;
}
#lineup ul.itemlist li{
padding:2.5vw 2.5vw 3.5vw;
width: calc(100% / 2) !important;
}
#lineup ul.itemlist li:nth-child(2n){
border-right:none;
}
#lineup ul.itemlist li:nth-of-type(16){
border-bottom:1px solid #ededed;
}
#lineup ul.itemlist li span.exclusive{
}
#lineup ul.itemlist li span.trading{
  padding:.4vw;
  font-size:2.6vw;
  margin:0 !important;
}
#lineup ul.itemlist li p.itemname{
  padding:.4vw 0 5vw;
  font-size:3.2vw;
  display:block;
}
#goodsinfo .slash{
  display:none;
}
#goodsinfo .boxp{
  margin:0 0 2.5vw;
}
#goodsinfo ul.itemlist li p.price{
  bottom:1.4vw;
  font-size:2.9vw;
  line-height:130%;
}
#goodsinfo .limit{
  padding:1.5vw 2.5vw;
  margin:3vw auto 3vw;
}
#goodsinfo .limit p{
font-size:2.8vw !important;
}
#goodsinfo .limit p span.heading{
  font-size:3.4vw;
  margin:0 0 2vw;
}
#goodsinfo .limit ul.kome{
  margin:2vw 1vw;
}
#goodsinfo .limit ul.kome li,
#goodsinfo .inquiry ul.kome li{
  font-size:2.6vw;
}
#goodsinfo .inquiry{
padding:2vw 2.5vw;
}
#goodsinfo .inquiry p{
font-size:2.6vw !important;
}
}

/* shopinfo */
#shopinfo{
position: relative;
width:85%;
margin:0 0 3vw auto;
background: url(../img/bg_g.png);
background-size:50%;
padding:0 0 3vw;
}
#shopinfo:before{
  content: "";
  width: 40vw;
aspect-ratio: 3 / 2;
  background: url(../img/goods/kiddyland.jpg) no-repeat;
background-size:cover;
  z-index:1;
  position:absolute; top:8.5vw; left:-11%;
}
#shopinfo .shoplocation{
margin:0 0 0 34vw;
position:relative;
padding:8vw 0;
}
#shopinfo h4{
font-size:2vw;
font-weight: 700;
color:#cfc4b3;
padding:0 0 .5vw;
}
#shopinfo .shoplocation figure{
width: 65vw;
margin:0 0 0 auto;
aspect-ratio: 3 / 2;
box-sizing: border-box;
}
#goods .shopname p{
line-height:180%;
font-size:1.5vw;
color:#ededed;
}
#goods .shopname p span.closed{
  color:#cfc4b3;
}
#goods .shopname p span.closed::before {
  background-image: url(../img/goods/note.svg);
}
#goods .shopname a {
color:#ededed;
text-decoration:underline;
}
#goods .shopname span.note{
display:inline-block;
font-size:80%;
line-height:140% !important;
padding:1vw 0 0 !important;
}

@media all and (max-width: 750px) {
#shopinfo:before{
  width: 43vw;
  position:absolute; top:13vw; left:-20%;
}
#shopinfo h4{
font-size:3.6vw;
}
#shopinfo .shoplocation{
margin:0 2vw 0 30vw;
padding:4vw 0;
}
#shopinfo .shoplocation figure{
width: 94%;
margin:0 auto;
}
#shopinfo .shopname p{
font-size:2.65vw;
}
#shopinfo .shopname span.note{
font-size:2.2vw;
}
}