@charset "utf-8";

/* Bukken 物件情報 */
.btype { color:#fff; }
.btype.mens { background:#41a1be; }
.btype.ml { background:#ffa749; }

.bukken-movie + .bukken-data { margin-top:clamp(4em,10vw,100px); }

.bukken-box { padding:clamp(3em,6vw,60px) clamp(1em,9vw,90px); background:#fff; position:relative; }
.bukken-name, .bukken-name .con { position:relative; }
.bukken-type { text-align:center; }
.bukken-type .btype { padding:.1em 1.5em; }
.bukken-lead { line-height:1.7; }

.bukken-slide{ margin:2em auto; }
.bukken-slider, .bukken-slider-thumb{ width:95%; max-width:700px; margin:0 auto; }
.bukken-slider .slick-slide img { margin:0 auto; }
.bukken-slider .slick-arrow{ position:absolute; content:""; z-index:1; top:50%; transform:translateY(-50%); text-indent:-9999px; background:none; }
.bukken-slider .slick-prev{ left:-5.7em; }
.bukken-slider .slick-next{ right:-5.7em; }
.bukken-slider .slick-prev::before,
.bukken-slider .slick-next::before{
  position:absolute; content:""; top:0; right:0; width:4em; height:4em;
  background:no-repeat center / 100%; }
.bukken-slider .slick-prev::before{ left:0; right:auto; transform:rotate(180deg); }

.bukken-info {  }
.bukken-info .ttl { padding-block:.3em; text-align:center; letter-spacing:0.08em; color:#fff; }
.bukken-info .d-list{ display:-webkit-box; display:flex; flex-wrap:wrap; font-size:clamp(14px,1.55vw,15.5px); }
.bukken-info .d-list > * { padding:1.8em 1em 1.8em 1.8em; border-bottom:1px solid #cfcfcf; color:#333; }
.bukken-info .d-list dt{ width:18%; background:#f5f5f5; }
.bukken-info .d-list dd{ width:82%; }

.bukken-gmap { margin-block:2.5em; height:clamp(300px,33vw,330px); width:100%; padding-top:41%; position:relative; }
.bukken-gmap iframe { position:absolute; top:0; right:0; width:100% !important; height:100% !important; }

.bukken-access { margin:2.5em auto; text-align:center; max-width:716px; }


.bukken-fee-box { padding:1.8em 2em .5em; }
.bukken-fee-box .txt-notice { font-size:.875em; }
.bukken-fee-box .ttl { margin-bottom:1em; text-align:center; font-size:clamp(1.125rem, 0.825rem + 1.28vw, 1.625rem); }

.bukken-fee-toggle{ margin-bottom:1em; text-align:center; background:#FFF; box-shadow:0px 0px 15px -5px rgba(0, 0, 0, 0.1); }
.bukken-fee-toggle > dt { position:relative; padding:.7em 0; font-size:1.125em; font-weight:500; cursor:pointer; }
.bukken-fee-toggle > dt:before, .bukken-fee-toggle > dt:after { content:""; position:absolute; z-index:1; top:0; right:1.35em; bottom:0; width:0.8em; height:1px; margin:auto; background:#fff; }
.bukken-fee-toggle > dt:after { transform:rotate(90deg); transition:all .5s; }
.bukken-fee-toggle > dt span { display:block; position:relative; }
.bukken-fee-toggle > dt > span::before { position:absolute; content:""; width:2em; height:2em; transform:translateY(-50%); top:50%; right:0.75em; 
  border-radius:50%; }
.bukken-fee-toggle > dt.active:after { -webkit-transform:rotate(-180deg); transform:rotate(-180deg); }
.bukken-fee-toggle > dd{ padding:1em; }

.bukken-fee-data { width:100%; background:#FFF; border:1px solid #989898; }
.bukken-fee-data tr > * { padding:.7em 0.3em; line-height:1.5; border:1px solid #989898; }
.bukken-fee-data th{ background:#717171; color:#fff; }

.bukken-fee-box .list-dot { padding:0 1em; text-align:left; }
.bukken-fee-box .list-dot li { padding-left:1em; position:relative; }
.bukken-fee-box .list-dot li:not(last-child) { margin-bottom:0.3em; }
.bukken-fee-box .list-dot li::before { content:""; position:absolute; top:.7em; left:0; width:6px; height:6px; 
  background:#989898; border-radius:50%; }

.bukken-fee-box.since2025 { padding:unset}
.bukken-fee-box.since2025 > .ttl { padding-top: .4em; border-top: 3px solid;}
.bukken-fee-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1em;}
.bukken-fee-list:not(:last-of-type) { margin-bottom: 1.5em;}
.bukken-fee-toggle .ttl-disc { margin-bottom: .25em; text-align: start;}
.bukken-fee-toggle .ttl-disc::before { content: "●"; font-size: 1rem; color: #ffd53e; }

.bukken-fee-list .fee-item { padding: 1.2em; padding-top: 1em; border: 2px solid #ccc; border-radius: 5px; background-color: #fff;}
.bukken-fee-list .meal { margin-block: unset; padding-block: .2em .1em; font-size: .83em; font-weight: 500; text-align: center; background-color: #ffedd3; border-radius: 5px;}
.bukken-fee-list .fee-dtl { display: grid; grid-template-columns:1fr; justify-items: center; width: max-content; margin-top: .5em; margin-inline: auto;}
.bukken-fee-list .fee-item:nth-child(2) .monthly { display: grid; grid-template-columns: max-content 1fr; align-items: center; column-gap: 1em;}
.bukken-fee-list .fee-dtl .monthly .price { padding-right: .05em; font-size: 2.5em; font-weight: 600;}
.bukken-fee-list .fee-dtl .recommend { position: relative; top: .2em; padding: .5em .7em .45em; font-size: .83em; color: #fff; font-weight: 700; background-color: #ffa749; border-radius: 5px;}
.bukken-fee-list .fee-dtl .other { font-size: .93em; color: #686868;}

.bukken-fee-box.since2025 .fee_other {display: grid; grid-template-columns: max-content 1fr; column-gap: 5em; text-align: start;}
.bukken-fee-box.since2025 .fee_other dd {position: relative; font-feature-settings:"palt";}
.bukken-fee-box.since2025 .fee_other dd::before { content:''; position: absolute; top: 1em; left: -4em; width: 3em; height: 2px; border-bottom: 2px dotted #979797;}



.bukken-link {
  display:grid; grid-template-columns:1fr 330px; grid-column-gap:5%;
  max-width:630px; margin:3.125em auto 0; }

.bukken-link .btn-def { width:100%; }
.bukken-link .calc .btn-def { background:#fbec94; }
.bukken-link .icon { padding-left:1.8em; position:relative; }
.bukken-link .icon::before {
  content:""; position:absolute; top:50%; left:0;
  width:20px; height:20px; margin-top:-10px;
  background:center / contain no-repeat; }

.bukken-dlink { margin-block:1.2em 0; text-align:center; }
.bukken-dlink > a { display:inline-block; min-width:280px; padding-block:.75em; color:#fff; font-weight:500; border-radius:2em; }
.bukken-dlink > a:hover { opacity:.9; }

.bukken-movie .youtube { position:relative; max-width:760px; margin-inline:auto; padding-top:45.25%; }
.bukken-movie .youtube iframe { position:absolute; top:0; right:0; width:100% !important; height:100% !important; }
.bukken-movie.movie-empty .youtube { padding-top: unset; }


/* other */
.other-list > li { padding:1.5em; text-align:center; }
.other-list .img { position:relative; }
.other-list .btype { position:absolute; margin:0; left:0; top:0; padding-inline:.7em; }
.other-list .bname { font-size:1.25em; font-weight:500; }
.other-list .bus-txt { font-size:1.125em; font-weight:500; line-height:1.5; }
.other-list .bus-txt .con { display:inline-block; padding-left:1.6em; padding-right:.5em; font-size:.88em; position:relative; z-index:1; }
.other-list .bus-txt .con::before,.bus-txt .con::after { position:absolute; content:""; left:0; }
.other-list .bus-txt .con::before { width:1.2em; height:1.8em; top:0; background: no-repeat center / 100%; }
.other-list .bus-txt .con::after { width:100%; height:60%; top:55%; z-index:-1; }
.other-list .more { margin-block:1.8em 0; }


/* ================================================================
  スマホ
=================================================================== */
@media screen and (max-width:599px){

/* bukken */
.bukken-box { padding-inline:1em; }
.bukken-type { font-size:.9em; }
.bukken-lead { text-align:left; }
.bukken-info .d-list dt, .bukken-info .d-list dd { width:100%; border:none; }
.bukken-info .d-list dt { padding:.5em 1em; }
.bukken-info .d-list dd { padding:.5em 1em 1em; }

.bukken-slider .slick-prev::before,
.bukken-slider .slick-next::before { width:2em; height:2em; }
.bukken-slider .slick-next { right:-2.2em; }
.bukken-slider .slick-prev { left:-2.2em; }

.bukken-fee-box { padding-inline:1em; }
.bukken-fee-list .fee-item:nth-child(2) .monthly .recommend { position: absolute; display: grid; align-items: center; justify-content: center; top: -1.6em; right: -6em; width: 5em; height: 5em; padding-inline: .4em; font-size: .75em; border-radius:50%;}
.bukken-fee-list .fee-item:nth-child(2) .monthly .recommend::before {
  content: ''; position: absolute; top: 3.8em; left: -.2em; transform: rotate(50deg); width: 1em; height: .9em; background-color: #ffa749; clip-path: polygon(100% 0, 0 0, 50% 100%);
}

.bukken-link { display:block; }
.bukken-link li:nth-child(n+2) { margin-top:1.2em; }

.bukken-gmap.btn_con a { padding:0.7em 2em 0.6em 2em; }
.bukken-link { margin-top:2em; }
.bukken-gmap.youtube { padding-top:55.25%; }
.bukken-gmap.route-access { margin-block:2em; width:100%; }


/* other */
.other-list > li { padding-block:2em; }
.other-list > li:nth-child(n+2) { margin-top:1.5em; }

}
