.elementor-19533 .elementor-element.elementor-element-7b5f09b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-3c0855f *//* ==================================================
   ISHIGAKI NAVI
   COURSE 16 / BEACH JOURNEY
================================================== */

.inBeachJourney{
  --bj-navy:#102943;
  --bj-deep:#071827;
  --bj-gold:#c2a878;
  --bj-ivory:#f8f5ef;
  --bj-soft:#f1eee7;
  --bj-blue-soft:#eef4f5;
  --bj-white:#fff;
  --bj-text:#596775;
  --bj-muted:rgba(28,53,87,.56);
  --bj-border:rgba(16,41,67,.12);

  position:relative;

  width:100%;

  margin:0!important;

  overflow:hidden;

  background:#fff;

  color:var(--bj-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    sans-serif!important;

  font-size:16px;

  -webkit-font-smoothing:antialiased;
}


.inBeachJourney *,
.inBeachJourney *::before,
.inBeachJourney *::after{
  box-sizing:border-box;
}


.inBeachJourney img{
  display:block;

  width:100%;

  max-width:none;

  height:auto;

  margin:0;
}


.inBeachJourney figure{
  margin:0;
}


.inBeachJourney a{
  text-decoration:none;
}


.inBeachJourney button,
.inBeachJourney input,
.inBeachJourney summary{
  font:inherit;
}


.inBeachJourney button{
  appearance:none;
}


.inBeachJourney summary{
  list-style:none;
}


.inBeachJourney summary::-webkit-details-marker{
  display:none;
}


.inBeachJourney :is(h1,h2,h3){
  max-width:100%;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "YuMincho",
    serif!important;

  font-weight:500!important;

  line-break:strict!important;

  word-break:auto-phrase!important;

  overflow-wrap:normal!important;

  text-wrap:pretty;
}


.inBeachJourney :is(h1,h2,h3) br{
  display:inline!important;
}


.inBeachJourney__wide{
  width:min(
    1180px,
    calc(100% - 72px)
  );

  margin:0 auto;
}


.inBeachJourney__article{
  width:min(
    930px,
    calc(100% - 72px)
  );

  margin:0 auto;
}


.inBeachJourneyLabel{
  margin:0!important;

  color:
    var(--bj-gold)!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.56rem!important;

  font-weight:500!important;

  line-height:1.5!important;

  letter-spacing:.18em!important;
}


/* ==================================================
   PROGRESS
================================================== */

.inBeachJourneyProgress{
  position:fixed;

  top:0;
  right:0;
  left:0;

  z-index:9999;

  height:3px;

  pointer-events:none;
}


.inBeachJourneyProgress span{
  display:block;

  width:100%;

  height:100%;

  background:
    var(--bj-gold);

  transform:
    scaleX(0);

  transform-origin:
    left center;
}


/* ==================================================
   PC CHAPTER
================================================== */

.inBeachJourneyChapter{
  position:fixed;

  top:50%;
  left:20px;

  z-index:190;

  display:grid;

  grid-template-columns:
    1px auto;

  grid-template-rows:
    auto auto;

  gap:0 12px;

  align-items:center;

  opacity:0;

  pointer-events:none;

  transform:
    translateY(-50%)
    translateX(-5px);

  transition:
    opacity .35s ease,
    transform .35s ease;
}


.inBeachJourneyChapter.is-visible{
  opacity:.8;

  transform:
    translateY(-50%);
}


.inBeachJourneyChapter__line{
  grid-row:1/3;

  width:1px;

  height:70px;

  background:
    linear-gradient(
      to bottom,
      var(--bj-gold) 0 22%,
      rgba(16,41,67,.12) 22% 100%
    );
}


.inBeachJourneyChapter > div{
  display:grid;

  min-width:115px;

  gap:3px;
}


.inBeachJourneyChapter small{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.41rem;

  letter-spacing:.12em;
}


.inBeachJourneyChapter strong{
  color:
    rgba(16,41,67,.8);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.58rem;

  font-weight:500;
}


.inBeachJourneyChapter__progress{
  margin-top:5px;

  color:
    rgba(16,41,67,.3);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.4rem;
}


.inBeachJourneyChapter.is-dark strong{
  color:
    rgba(255,255,255,.82);
}


.inBeachJourneyChapter.is-dark
.inBeachJourneyChapter__progress{
  color:
    rgba(255,255,255,.34);
}


/* ==================================================
   BOOKMARK
================================================== */

.inBeachJourneyBookmark{
  display:none;
}


/* ==================================================
   NOTICE
================================================== */

.inBeachJourneyNotice{
  position:fixed;

  left:24px;
  bottom:26px;

  z-index:270;

  display:grid;

  width:245px;

  gap:4px;

  padding:
    13px 17px 14px;

  border-left:
    1px solid
    rgba(194,168,120,.68);

  background:
    rgba(248,245,239,.9);

  box-shadow:
    0 8px 28px
    rgba(7,24,39,.06);

  backdrop-filter:
    blur(10px);

  opacity:0;

  pointer-events:none;

  transform:
    translate3d(-8px,4px,0);

  transition:
    opacity .3s ease,
    transform .4s
    cubic-bezier(.22,1,.36,1);
}


.inBeachJourneyNotice span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.41rem;

  letter-spacing:.13em;
}


.inBeachJourneyNotice strong{
  color:
    var(--bj-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.66rem;

  font-weight:500;
}


.inBeachJourneyNotice.is-showing{
  opacity:.94;

  transform:none;
}


/* ==================================================
   HERO
================================================== */

.inBeachJourneyHero{
  position:relative;

  min-height:680px;

  overflow:hidden;

  isolation:isolate;

  background:
    var(--bj-deep);

  color:#fff;
}


.inBeachJourneyHero__media{
  position:absolute!important;

  inset:0!important;

  z-index:0!important;

  width:100%!important;

  height:100%!important;

  overflow:hidden!important;
}


.inBeachJourneyHero__media img{
  display:block!important;

  width:100%!important;

  height:100%!important;

  max-width:none!important;

  object-fit:cover!important;

  object-position:
    center 48%!important;

  filter:
    saturate(.94)
    contrast(1.02)
    brightness(.84);

  transform:
    scale(1.02);
}


.inBeachJourneyHero__overlay{
  position:absolute!important;

  inset:0!important;

  z-index:1!important;

  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(7,24,39,.91) 0%,
      rgba(7,24,39,.67) 42%,
      rgba(7,24,39,.2) 73%,
      rgba(7,24,39,.03) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7,24,39,.03) 0%,
      rgba(7,24,39,.08) 55%,
      rgba(7,24,39,.64) 100%
    );
}


.inBeachJourneyHero__inner{
  position:relative!important;

  z-index:2!important;

  display:grid;

  grid-template-rows:
    auto minmax(0,1fr) auto;

  width:min(
    1380px,
    calc(100% - 72px)
  );

  min-height:680px;

  margin:0 auto;

  padding:
    30px 0 37px;
}


.inBeachJourneyBreadcrumb{
  display:flex;

  align-items:center;

  gap:11px;

  overflow:hidden;

  color:
    rgba(255,255,255,.58);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.51rem;

  white-space:nowrap;
}


.inBeachJourneyBreadcrumb a{
  color:inherit!important;
}


.inBeachJourneyBreadcrumb
> span:not(:last-child){
  width:22px;

  height:1px;

  background:
    var(--bj-gold);
}


.inBeachJourneyHero__copy{
  align-self:center;

  width:min(
    870px,
    82%
  );

  padding:
    48px 0 40px;
}


.inBeachJourneyHero__pageName{
  margin:0!important;

  color:
    rgba(255,255,255,.84);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.76rem;
}


.inBeachJourneyHero__en{
  margin:
    9px 0 0!important;

  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.56rem;

  letter-spacing:.18em;
}


body
.inBeachJourney
.inBeachJourneyHero h1{
  max-width:850px!important;

  margin:
    26px 0 0!important;

  color:#fff!important;

  font-size:
    clamp(
      1.7rem,
      2.65vw,
      2.58rem
    )!important;

  line-height:
    1.6!important;

  letter-spacing:
    .014em!important;
}


.inBeachJourneyHero__lead{
  max-width:800px;

  margin:
    25px 0 0!important;

  color:
    rgba(255,255,255,.77);

  font-size:.84rem;

  line-height:2.06;
}


.inBeachJourneyHero__discover{
  display:inline-flex;

  width:fit-content;

  align-items:center;

  gap:16px;

  margin-top:31px;

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.52rem;

  letter-spacing:.16em;
}


.inBeachJourneyHero__discover
> span:last-child{
  width:50px;

  height:1px;

  background:
    var(--bj-gold);

  transition:
    width .35s ease;
}


.inBeachJourneyHero__caption{
  display:flex;

  justify-content:
    space-between;

  color:
    rgba(255,255,255,.43);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.46rem;

  letter-spacing:.14em;
}


/* ==================================================
   COMMON HEAD
================================================== */

.inBeachJourneyIntro h2,
.inBeachJourneyContents h2,
.inBeachJourneyChapterHead h2,
.inBeachJourneyShiraho h2,
.inBeachJourneyRest h2,
.inBeachJourneySukuji h2,
.inBeachJourneySimpleHead h2,
.inBeachJourneyEnding h2,
.inBeachJourneyRelated h2{
  margin:
    14px 0 0!important;

  color:
    var(--bj-navy)!important;

  font-size:
    clamp(
      1.5rem,
      2.3vw,
      2.04rem
    )!important;

  line-height:
    1.72!important;
}


.inBeachJourneyChapterHead{
  display:grid;

  grid-template-columns:
    minmax(0,1.15fr)
    minmax(310px,.85fr);

  gap:
    clamp(
      45px,
      6vw,
      82px
    );

  margin-bottom:62px;
}


.inBeachJourneyChapterHead__catch{
  margin:0!important;

  color:
    var(--bj-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:
    clamp(
      1.02rem,
      1.45vw,
      1.28rem
    );

  line-height:1.82;
}


.inBeachJourneyChapterHead__text{
  margin:
    18px 0 0!important;

  font-size:.8rem;

  line-height:2;
}


/* ==================================================
   INTRO
================================================== */

.inBeachJourneyIntro{
  padding:
    118px 0 126px;

  background:#fff;
}


.inBeachJourneyIntro__layout{
  display:grid;

  grid-template-columns:
    minmax(330px,.86fr)
    minmax(0,1.14fr);

  gap:
    clamp(
      60px,
      8vw,
      110px
    );
}


.inBeachJourneyIntro__lead{
  font-size:.89rem;

  line-height:2.14;
}


.inBeachJourneyIntro__lead p{
  margin:0!important;
}


.inBeachJourneyIntro__lead p+p{
  margin-top:
    1.35em!important;
}


.inBeachJourneyPhrase{
  width:min(
    790px,
    100%
  );

  margin:
    80px auto 0;

  text-align:center;
}


.inBeachJourneyPhrase
> p:last-child{
  margin:
    20px 0 0!important;

  color:
    var(--bj-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:
    clamp(
      1.12rem,
      1.8vw,
      1.45rem
    );

  line-height:2;
}


.inBeachJourneyFacts{
  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:1px;

  margin-top:73px;

  background:
    var(--bj-border);
}


.inBeachJourneyFacts article{
  min-height:215px;

  padding:
    29px 27px 32px;

  background:
    var(--bj-ivory);
}


.inBeachJourneyFacts span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.52rem;
}


.inBeachJourneyFacts
article > p:first-of-type{
  margin:
    10px 0 0!important;

  color:
    var(--bj-muted);

  font-size:.44rem;

  letter-spacing:.13em;
}


.inBeachJourneyFacts h3{
  margin:
    21px 0 0!important;

  color:
    var(--bj-navy);

  font-size:.96rem!important;
}


.inBeachJourneyFacts
article > p:last-child{
  margin:
    14px 0 0!important;

  font-size:.71rem;

  line-height:1.92;
}


.inBeachJourneyImportant{
  width:min(
    860px,
    100%
  );

  margin:
    61px auto 0;

  padding:
    35px 40px;

  background:
    var(--bj-navy);
}


.inBeachJourneyImportant h3{
  margin:
    16px 0 0!important;

  color:#fff;

  font-size:
    1.06rem!important;

  line-height:1.8;
}


.inBeachJourneyImportant
> p:last-child{
  margin:
    18px 0 0!important;

  color:
    rgba(255,255,255,.68);

  font-size:.75rem;

  line-height:2;
}


/* ==================================================
   CONTENTS
================================================== */

.inBeachJourneyContents{
  padding:
    99px 0 106px;

  background:
    var(--bj-soft);
}


.inBeachJourneyContents__head{
  max-width:760px;

  margin:0 auto;

  text-align:center;
}


.inBeachJourneyContents__head
> p:last-child{
  margin:
    20px 0 0!important;

  font-size:.76rem;

  line-height:1.95;
}


.inBeachJourneyContents__details{
  margin-top:45px;
}


.inBeachJourneyContents__details
> summary{
  display:none;
}


.inBeachJourneyContents__nav{
  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--bj-border);
}


.inBeachJourneyContents__nav a{
  position:relative;

  min-height:140px;

  padding:
    25px 24px 31px;

  background:#fff;

  color:inherit!important;
}


.inBeachJourneyContents__nav a span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.5rem;
}


.inBeachJourneyContents__nav small{
  display:block;

  margin-top:10px;

  color:
    var(--bj-muted);

  font-size:.42rem;

  letter-spacing:.12em;
}


.inBeachJourneyContents__nav strong{
  display:block;

  margin-top:8px;

  color:
    var(--bj-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.79rem;

  font-weight:500;

  line-height:1.65;
}


.inBeachJourneyContents__nav a::after{
  content:"";

  position:absolute;

  right:21px;
  bottom:20px;

  width:23px;

  height:1px;

  background:
    var(--bj-gold);
}


/* ==================================================
   SHIRAHO
================================================== */

.inBeachJourneyShiraho{
  position:relative;

  min-height:720px;

  overflow:hidden;

  isolation:isolate;

  background:
    var(--bj-deep);
}


.inBeachJourneyShiraho__media{
  position:absolute!important;

  inset:0!important;

  z-index:0!important;

  display:block!important;

  width:100%!important;

  height:100%!important;

  margin:0!important;

  overflow:hidden!important;
}


.inBeachJourneyShiraho__media img{
  display:block!important;

  width:100%!important;

  height:100%!important;

  max-width:none!important;

  min-width:100%!important;

  min-height:100%!important;

  object-fit:cover!important;

  object-position:
    center center!important;

  opacity:1!important;

  visibility:visible!important;

  transform:none!important;

  filter:
    saturate(.91)
    contrast(1.02)
    brightness(.91);
}


.inBeachJourneyShiraho__overlay{
  position:absolute!important;

  inset:0!important;

  z-index:1!important;

  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(5,28,38,.84) 0%,
      rgba(5,28,38,.6) 40%,
      rgba(5,28,38,.14) 70%,
      rgba(5,28,38,.02) 100%
    ),
    linear-gradient(
      180deg,
      rgba(5,28,38,.02) 0%,
      rgba(5,28,38,.05) 56%,
      rgba(5,28,38,.42) 100%
    );
}


.inBeachJourneyShiraho__inner{
  position:relative!important;

  z-index:2!important;

  display:flex;

  align-items:center;

  width:min(
    1180px,
    calc(100% - 72px)
  );

  min-height:720px;

  margin:0 auto;
}


.inBeachJourneyShiraho__copy{
  width:min(
    650px,
    61%
  );
}


.inBeachJourneyShiraho h2{
  color:#fff!important;
}


.inBeachJourneyShiraho__lead{
  margin:
    26px 0 0!important;

  color:#fff;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:1.01rem;

  line-height:1.95;
}


.inBeachJourneyShiraho__copy
> p:not(.inBeachJourneyLabel):not(.inBeachJourneyShiraho__lead){
  margin:
    18px 0 0!important;

  color:
    rgba(255,255,255,.79);

  font-size:.77rem;

  line-height:2.03;
}


.inBeachJourneyShiraho dl{
  margin:
    27px 0 0;
}


.inBeachJourneyShiraho
dl > div{
  display:grid;

  grid-template-columns:
    100px minmax(0,1fr);

  gap:13px;

  padding:
    10px 0;
}


.inBeachJourneyShiraho
dl > div+div{
  border-top:
    1px solid
    rgba(255,255,255,.18);
}


.inBeachJourneyShiraho dt{
  color:
    rgba(255,255,255,.55);

  font-size:.58rem;
}


.inBeachJourneyShiraho dd{
  margin:0;

  color:
    rgba(255,255,255,.92);

  font-size:.67rem;

  line-height:1.75;
}


.inBeachJourneyShiraho a{
  display:inline-flex;

  margin-top:23px;

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.63rem;

  text-decoration:underline;

  text-underline-offset:5px;
}


/* ==================================================
   YONEHARA
================================================== */

.inBeachJourneyYonehara{
  padding:
    118px 0 126px;

  background:
    var(--bj-blue-soft);
}


.inBeachJourneyYoneharaFeature{
  display:grid;

  grid-template-columns:
    minmax(0,1.14fr)
    minmax(350px,.86fr);

  overflow:hidden;

  background:#fff;
}


.inBeachJourneyYoneharaFeature figure{
  min-height:560px;

  overflow:hidden;
}


.inBeachJourneyYoneharaFeature img{
  height:100%!important;

  object-fit:cover;
}


.inBeachJourneyYoneharaFeature > div{
  display:flex;

  flex-direction:column;

  justify-content:center;

  padding:
    44px 42px;
}


.inBeachJourneyYoneharaFeature h3{
  margin:
    17px 0 0!important;

  color:
    var(--bj-navy);

  font-size:
    clamp(
      1.35rem,
      2vw,
      1.75rem
    )!important;

  line-height:1.75;
}


.inBeachJourneyYoneharaFeature
> div
> p:not(.inBeachJourneyLabel){
  margin:
    18px 0 0!important;

  font-size:.76rem;

  line-height:2;
}


.inBeachJourneyYoneharaFeature dl{
  margin:
    25px 0 0;
}


.inBeachJourneyYoneharaFeature
dl > div{
  display:grid;

  grid-template-columns:
    100px minmax(0,1fr);

  gap:12px;

  padding:
    9px 0;
}


.inBeachJourneyYoneharaFeature
dl > div+div{
  border-top:
    1px solid
    var(--bj-border);
}


.inBeachJourneyYoneharaFeature dt{
  color:
    var(--bj-muted);

  font-size:.59rem;
}


.inBeachJourneyYoneharaFeature dd{
  margin:0;

  color:
    var(--bj-navy);

  font-size:.68rem;

  line-height:1.75;
}


.inBeachJourneyYoneharaFeature a{
  display:inline-flex;

  width:fit-content;

  margin-top:21px;

  color:
    var(--bj-navy)!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.63rem;

  text-decoration:underline;

  text-underline-offset:5px;
}


/* ==================================================
   REST
================================================== */

.inBeachJourneyRest{
  padding:
    122px 0 130px;

  background:
    var(--bj-ivory);
}


.inBeachJourneyRest__head{
  max-width:760px;
}


.inBeachJourneyRest__head
> p:last-child{
  margin:
    20px 0 0!important;

  font-size:.79rem;

  line-height:2.04;
}


.inBeachJourneyRestGrid{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  margin-top:52px;

  background:
    var(--bj-border);
}


.inBeachJourneyRestGrid article{
  min-height:220px;

  padding:
    31px 29px 34px;

  background:#fff;
}


.inBeachJourneyRestGrid span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.53rem;
}


.inBeachJourneyRestGrid h3{
  margin:
    22px 0 0!important;

  color:
    var(--bj-navy);

  font-size:1rem!important;
}


.inBeachJourneyRestGrid p{
  margin:
    15px 0 0!important;

  font-size:.71rem;

  line-height:1.94;
}


.inBeachJourneyRestNote{
  width:min(
    830px,
    100%
  );

  margin:
    56px auto 0;

  padding:
    37px 40px;

  background:
    var(--bj-navy);
}


.inBeachJourneyRestNote h3{
  margin:
    16px 0 0!important;

  color:#fff;

  font-size:
    1.08rem!important;

  line-height:1.8;
}


.inBeachJourneyRestNote
> p:last-of-type{
  margin:
    18px 0 0!important;

  color:
    rgba(255,255,255,.69);

  font-size:.75rem;

  line-height:2;
}


.inBeachJourneyRestNote a{
  display:inline-flex;

  margin-top:22px;

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.63rem;

  text-decoration:underline;

  text-underline-offset:5px;
}


/* ==================================================
   SUKUJI
================================================== */

.inBeachJourneySukuji{
  position:relative;

  min-height:760px;

  overflow:hidden;

  isolation:isolate;

  background:
    var(--bj-deep);
}


.inBeachJourneySukuji__media{
  position:absolute!important;

  inset:0!important;

  z-index:0!important;

  display:block!important;

  width:100%!important;

  height:100%!important;

  margin:0!important;

  overflow:hidden!important;
}


.inBeachJourneySukuji__media img{
  display:block!important;

  width:100%!important;

  height:100%!important;

  max-width:none!important;

  min-width:100%!important;

  min-height:100%!important;

  object-fit:cover!important;

  object-position:
    center center!important;

  opacity:1!important;

  visibility:visible!important;

  transform:none!important;

  filter:
    saturate(.92)
    contrast(1.02)
    brightness(.91);
}


.inBeachJourneySukuji__overlay{
  position:absolute!important;

  inset:0!important;

  z-index:1!important;

  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(7,24,39,.84) 0%,
      rgba(7,24,39,.57) 40%,
      rgba(7,24,39,.13) 70%,
      rgba(7,24,39,.02) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7,24,39,.02) 0%,
      rgba(7,24,39,.05) 55%,
      rgba(7,24,39,.42) 100%
    );
}


.inBeachJourneySukuji__inner{
  position:relative!important;

  z-index:2!important;

  display:flex;

  align-items:center;

  width:min(
    1180px,
    calc(100% - 72px)
  );

  min-height:760px;

  margin:0 auto;
}


.inBeachJourneySukuji__copy{
  width:min(
    650px,
    61%
  );
}


.inBeachJourneySukuji h2{
  color:#fff!important;
}


.inBeachJourneySukuji__lead{
  margin:
    26px 0 0!important;

  color:#fff;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:1.02rem;

  line-height:1.95;
}


.inBeachJourneySukuji__copy
> p:not(.inBeachJourneyLabel):not(.inBeachJourneySukuji__lead){
  margin:
    18px 0 0!important;

  color:
    rgba(255,255,255,.78);

  font-size:.77rem;

  line-height:2.03;
}


.inBeachJourneySukuji dl{
  margin:
    27px 0 0;
}


.inBeachJourneySukuji
dl > div{
  display:grid;

  grid-template-columns:
    100px minmax(0,1fr);

  gap:13px;

  padding:
    10px 0;
}


.inBeachJourneySukuji
dl > div+div{
  border-top:
    1px solid
    rgba(255,255,255,.18);
}


.inBeachJourneySukuji dt{
  color:
    rgba(255,255,255,.55);

  font-size:.58rem;
}


.inBeachJourneySukuji dd{
  margin:0;

  color:
    rgba(255,255,255,.92);

  font-size:.67rem;

  line-height:1.75;
}


.inBeachJourneySukuji a{
  display:inline-flex;

  margin-top:23px;

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.63rem;

  text-decoration:underline;

  text-underline-offset:5px;
}


/* ==================================================
   LAST LIGHT
================================================== */

.inBeachJourneyLastLight{
  padding:
    118px 0 128px;

  background:#fff;
}


.inBeachJourneyLastGrid{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--bj-border);
}


.inBeachJourneyLastGrid article{
  min-height:215px;

  padding:
    30px 28px 33px;

  background:
    var(--bj-ivory);
}


.inBeachJourneyLastGrid span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.53rem;
}


.inBeachJourneyLastGrid h3{
  margin:
    21px 0 0!important;

  color:
    var(--bj-navy);

  font-size:.98rem!important;
}


.inBeachJourneyLastGrid p{
  margin:
    14px 0 0!important;

  font-size:.71rem;

  line-height:1.92;
}


.inBeachJourneyLastPhrase{
  width:min(
    780px,
    100%
  );

  margin:
    69px auto 0;

  text-align:center;
}


.inBeachJourneyLastPhrase p{
  margin:0!important;

  color:
    var(--bj-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:
    clamp(
      1.1rem,
      1.7vw,
      1.4rem
    );

  line-height:2;
}


/* ==================================================
   CHANGE
================================================== */

.inBeachJourneyChange{
  padding:
    118px 0 128px;

  background:
    var(--bj-soft);
}


.inBeachJourneyTabs__buttons{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--bj-border);
}


.inBeachJourneyTabs__buttons button{
  min-height:74px;

  padding:
    10px 12px!important;

  border:0!important;

  border-radius:0!important;

  background:#fff!important;

  color:
    var(--bj-muted)!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.76rem;

  cursor:pointer;
}


.inBeachJourneyTabs__buttons
button span{
  display:block;

  margin-top:5px;

  font-size:.4rem;

  letter-spacing:.12em;
}


.inBeachJourneyTabs__buttons
button[aria-selected="true"]{
  background:
    var(--bj-navy)!important;

  color:#fff!important;
}


.inBeachJourneyTabs__panels{
  margin-top:1px;
}


.inBeachJourneyTabPanel{
  display:grid;

  grid-template-columns:
    72px
    minmax(0,1fr)
    minmax(240px,.65fr);

  gap:34px;

  align-items:center;

  min-height:290px;

  padding:42px;

  border:
    1px solid
    var(--bj-border);

  background:#fff;
}


.inBeachJourneyTabPanel[hidden]{
  display:none!important;
}


.inBeachJourneyTabPanel__number{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:2.1rem;
}


.inBeachJourneyTabPanel h3{
  margin:
    14px 0 0!important;

  color:
    var(--bj-navy);

  font-size:
    1.27rem!important;

  line-height:1.76;
}


.inBeachJourneyTabPanel
> div
> p:last-child{
  margin:
    17px 0 0!important;

  font-size:.76rem;

  line-height:2;
}


.inBeachJourneyTabPanel ul{
  margin:0;

  padding:0;

  list-style:none;
}


.inBeachJourneyTabPanel li{
  position:relative;

  padding-left:16px;

  color:
    var(--bj-navy);

  font-size:.69rem;

  line-height:1.85;
}


.inBeachJourneyTabPanel li+li{
  margin-top:8px;
}


.inBeachJourneyTabPanel li::before{
  content:"";

  position:absolute;

  top:.85em;
  left:0;

  width:7px;

  height:1px;

  background:
    var(--bj-gold);
}


/* ==================================================
   PRACTICAL
================================================== */

.inBeachJourneyPractical{
  padding:
    118px 0 126px;

  background:#fff;
}


.inBeachJourneyPracticalGrid{
  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--bj-border);
}


.inBeachJourneyPracticalGrid article{
  min-height:210px;

  padding:
    29px 27px 32px;

  background:
    var(--bj-ivory);
}


.inBeachJourneyPracticalGrid span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.49rem;

  letter-spacing:.12em;
}


.inBeachJourneyPracticalGrid h3{
  margin:
    21px 0 0!important;

  color:
    var(--bj-navy);

  font-size:.97rem!important;
}


.inBeachJourneyPracticalGrid p{
  margin:
    14px 0 0!important;

  font-size:.7rem;

  line-height:1.92;
}


/* ==================================================
   CHECKLIST / FAQ
================================================== */

.inBeachJourneyChecklistSection,
.inBeachJourneyFaqSection{
  padding:
    105px 0 112px;
}


.inBeachJourneyChecklistSection{
  background:
    var(--bj-soft);
}


.inBeachJourneyFaqSection{
  background:#fff;
}


.inBeachJourneySimpleHead{
  max-width:760px;

  margin-bottom:44px;
}


.inBeachJourneySimpleHead
> p:last-child{
  margin:
    19px 0 0!important;

  font-size:.76rem;

  line-height:1.95;
}


/* CHECKLIST */

.inBeachJourneyChecklist{
  overflow:hidden;

  background:#fff;

  box-shadow:
    0 22px 60px
    rgba(16,41,67,.08);
}


.inBeachJourneyChecklist__toolbar{
  display:flex;

  align-items:center;

  justify-content:
    space-between;

  gap:24px;

  padding:
    27px 30px;

  background:
    var(--bj-navy);
}


.inBeachJourneyChecklist__toolbar
> div{
  display:flex;

  align-items:flex-end;

  gap:9px;
}


.inBeachJourneyChecklist__toolbar
.inBeachJourneyLabel{
  margin-right:
    12px!important;
}


.inBeachJourneyChecklist__toolbar strong{
  color:#fff;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:1.2rem;

  font-weight:500;
}


.inBeachJourneyChecklist__toolbar button{
  padding:
    9px 15px!important;

  border:
    1px solid
    rgba(194,168,120,.65)!important;

  border-radius:0!important;

  background:
    transparent!important;

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.6rem;
}


.inBeachJourneyChecklist__progress{
  height:4px;

  background:
    rgba(16,41,67,.08);
}


.inBeachJourneyChecklist__progress span{
  display:block;

  width:100%;

  height:100%;

  background:
    var(--bj-gold);

  transform:
    scaleX(0);

  transform-origin:left;

  transition:
    transform .3s ease;
}


.inBeachJourneyChecklist__items{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  padding:
    18px 27px 25px;
}


.inBeachJourneyChecklist label{
  display:grid;

  grid-template-columns:
    21px minmax(0,1fr);

  gap:11px;

  align-items:center;

  min-height:50px;

  padding:8px;

  cursor:pointer;
}


.inBeachJourneyChecklist
label:nth-child(even){
  border-left:
    1px solid
    var(--bj-border);
}


.inBeachJourneyChecklist
label:nth-child(n+3){
  border-top:
    1px solid
    var(--bj-border);
}


.inBeachJourneyChecklist input{
  width:18px;

  height:18px;

  margin:0;

  appearance:none;

  border:
    1px solid
    rgba(16,41,67,.3);

  border-radius:0;

  background:#fff;
}


.inBeachJourneyChecklist
input:checked{
  border-color:
    var(--bj-navy);

  background:
    var(--bj-navy);
}


.inBeachJourneyChecklist
input:checked::after{
  content:"";

  display:block;

  width:7px;

  height:4px;

  margin:
    5px 0 0 4px;

  border-left:
    1px solid #fff;

  border-bottom:
    1px solid #fff;

  transform:
    rotate(-45deg);
}


.inBeachJourneyChecklist label span{
  font-size:.74rem;

  line-height:1.72;
}


.inBeachJourneyChecklist
label.is-checked{
  background:
    var(--bj-ivory);
}


.inBeachJourneyChecklist
label.is-checked span{
  text-decoration:
    line-through;

  text-decoration-color:
    rgba(194,168,120,.75);
}


.inBeachJourneyChecklist__privacy{
  margin:0!important;

  padding:
    18px 30px 21px;

  border-top:
    1px solid
    var(--bj-border);

  color:
    var(--bj-muted);

  font-size:.54rem;
}


/* FAQ */

.inBeachJourneyFaq{
  border-top:
    1px solid
    var(--bj-border);
}


.inBeachJourneyFaq details{
  border-bottom:
    1px solid
    var(--bj-border);
}


.inBeachJourneyFaq summary{
  display:flex!important;

  min-height:73px;

  align-items:center;

  justify-content:
    space-between;

  gap:25px;

  padding:
    19px 3px!important;

  color:
    var(--bj-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.86rem!important;

  cursor:pointer;
}


.inBeachJourneyFaq
summary > span:last-child{
  position:relative;

  flex:0 0 auto;

  width:21px;

  height:21px;
}


.inBeachJourneyFaq
summary > span:last-child::before,
.inBeachJourneyFaq
summary > span:last-child::after{
  content:"";

  position:absolute;

  top:10px;
  left:4px;

  width:13px;

  height:1px;

  background:
    var(--bj-gold);
}


.inBeachJourneyFaq
summary > span:last-child::after{
  transform:
    rotate(90deg);
}


.inBeachJourneyFaq
details[open]
summary > span:last-child::after{
  transform:none;
}


.inBeachJourneyFaq
details > div{
  padding:
    0 46px 24px 3px;
}


.inBeachJourneyFaq p{
  margin:0!important;

  font-size:.75rem;

  line-height:2;
}


/* ==================================================
   ENDING
================================================== */

.inBeachJourneyEnding{
  padding:
    126px 0 136px;

  background:
    var(--bj-deep);
}


.inBeachJourneyEnding h2{
  max-width:830px;

  color:#fff!important;
}


.inBeachJourneyEnding
p:not(.inBeachJourneyLabel){
  max-width:730px;

  margin:
    21px 0 0!important;

  color:
    rgba(255,255,255,.7);

  font-size:.79rem;

  line-height:2.07;
}


.inBeachJourneyEnding a{
  display:inline-flex;

  width:fit-content;

  align-items:center;

  gap:30px;

  margin-top:31px;

  padding-bottom:7px;

  border-bottom:
    1px solid
    var(--bj-gold);

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.64rem;
}


/* ==================================================
   RELATED
================================================== */

.inBeachJourneyRelated{
  padding:
    106px 0 114px;

  background:#fff;
}


.inBeachJourneyRelated header{
  margin-bottom:44px;
}


.inBeachJourneyRelated__grid{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--bj-border);
}


.inBeachJourneyRelated__grid a{
  padding:
    30px 27px 34px;

  background:
    var(--bj-ivory);

  color:inherit!important;
}


.inBeachJourneyRelated__grid span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.52rem;
}


.inBeachJourneyRelated__grid
a > p:first-of-type{
  margin:
    10px 0 0!important;

  color:
    var(--bj-muted);

  font-size:.43rem;

  letter-spacing:.12em;
}


.inBeachJourneyRelated__grid h3{
  margin:
    16px 0 0!important;

  color:
    var(--bj-navy);

  font-size:1rem!important;
}


.inBeachJourneyRelated__grid
a > p:last-child{
  margin:
    12px 0 0!important;

  font-size:.7rem;

  line-height:1.9;
}


.inBeachJourneyDisclaimer{
  margin:0!important;

  padding:
    27px 20px 35px;

  background:#fff;

  color:
    var(--bj-muted);

  font-size:.58rem;

  line-height:1.85;

  text-align:center;
}


/* ==================================================
   FLOATING TOC
================================================== */

.inBeachJourneyFloatingToc{
  position:fixed;

  right:22px;

  bottom:87px;

  z-index:220;

  display:flex;

  min-width:54px;

  min-height:54px;

  align-items:center;

  justify-content:center;

  gap:9px;

  padding:
    13px 15px!important;

  border:
    1px solid
    rgba(194,168,120,.72)!important;

  border-radius:0!important;

  background:
    rgba(16,41,67,.96)!important;

  color:#fff!important;

  opacity:0;

  pointer-events:none;

  transform:
    translateY(10px);

  transition:
    opacity .28s ease,
    transform .28s ease;
}


.inBeachJourneyFloatingToc.is-visible{
  opacity:1;

  pointer-events:auto;

  transform:none;
}


.inBeachJourneyFloatingToc
> span{
  position:relative;

  width:16px;

  height:12px;

  border-top:
    1px solid
    var(--bj-gold);

  border-bottom:
    1px solid
    var(--bj-gold);
}


.inBeachJourneyFloatingToc
> span::after{
  content:"";

  position:absolute;

  top:5px;

  left:0;

  width:16px;

  height:1px;

  background:
    var(--bj-gold);
}


.inBeachJourneyFloatingToc strong{
  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.45rem;

  font-weight:500;
}


/* ==================================================
   DRAWER
================================================== */

.inBeachJourneyDrawer{
  position:fixed;

  inset:0;

  z-index:9998;

  visibility:hidden;

  opacity:0;

  pointer-events:none;

  transition:
    opacity .3s ease,
    visibility 0s linear .3s;
}


.inBeachJourneyDrawer.is-open{
  visibility:visible;

  opacity:1;

  pointer-events:auto;

  transition-delay:0s;
}


.inBeachJourneyDrawer__backdrop{
  position:absolute;

  inset:0;

  z-index:1;

  width:100%;

  border:0!important;

  background:
    rgba(5,20,33,.63)!important;
}


.inBeachJourneyDrawer__panel{
  position:absolute;

  top:0;

  right:0;

  z-index:2;

  width:min(
    450px,
    92vw
  );

  height:100%;

  overflow-y:auto;

  padding:
    40px 36px 47px;

  background:
    var(--bj-ivory);

  transform:
    translateX(102%);

  transition:
    transform .42s
    cubic-bezier(.22,1,.36,1);
}


.inBeachJourneyDrawer.is-open
.inBeachJourneyDrawer__panel{
  transform:none;
}


.inBeachJourneyDrawer__panel header{
  display:flex;

  justify-content:
    space-between;

  gap:25px;

  padding-bottom:25px;
}


.inBeachJourneyDrawer__panel
header p{
  margin:
    0 0 7px!important;

  color:
    var(--bj-gold);

  font-size:.48rem;

  letter-spacing:.16em;
}


.inBeachJourneyDrawer__panel
header h2{
  margin:0!important;

  color:
    var(--bj-navy);

  font-size:
    1.12rem!important;
}


.inBeachJourneyDrawer__close{
  position:relative;

  width:37px;

  height:37px;

  border:0!important;

  background:
    transparent!important;
}


.inBeachJourneyDrawer__close span{
  position:absolute;

  top:18px;

  left:7px;

  width:23px;

  height:1px;

  background:
    var(--bj-navy);
}


.inBeachJourneyDrawer__close
span:first-child{
  transform:
    rotate(45deg);
}


.inBeachJourneyDrawer__close
span:last-child{
  transform:
    rotate(-45deg);
}


.inBeachJourneyDrawer nav{
  display:grid;
}


.inBeachJourneyDrawer nav a{
  display:grid;

  grid-template-columns:
    35px minmax(0,1fr);

  gap:12px;

  padding:
    15px 2px;

  border-top:
    1px solid
    var(--bj-border);

  color:
    var(--bj-text)!important;

  font-size:.72rem;
}


.inBeachJourneyDrawer nav span{
  color:
    var(--bj-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.5rem;
}


html.in-beach-drawer-open{
  overflow:hidden;
}


/* ==================================================
   IMAGE REVEAL
   通常カード画像だけ
================================================== */

.in-beach-has-js
.inBeachJourney
.js-beach-image{
  position:relative;

  overflow:hidden;
}


.in-beach-has-js
.inBeachJourney
.js-beach-image::after{
  content:"";

  position:absolute;

  inset:0;

  z-index:3;

  background:
    var(--bj-ivory);

  transform:
    translateX(0);

  transition:
    transform 1.03s
    cubic-bezier(.77,0,.18,1);

  pointer-events:none;
}


.in-beach-has-js
.inBeachJourney
.js-beach-image.is-image-visible::after{
  transform:
    translateX(101%);
}


/* ==================================================
   TEXT REVEAL
================================================== */

.in-beach-has-js
.inBeachJourney
.js-beach-reveal{
  opacity:0;

  transform:
    translateY(23px);

  transition:
    opacity .8s ease
    var(--beach-delay,0ms),
    transform .8s
    cubic-bezier(.22,1,.36,1)
    var(--beach-delay,0ms);
}


.in-beach-has-js
.inBeachJourney
.js-beach-reveal.is-visible{
  opacity:1;

  transform:none;
}


/* ==================================================
   HOVER
================================================== */

@media(hover:hover){

  .inBeachJourneyHero__discover:hover
  > span:last-child{
    width:67px;
  }


  .inBeachJourneyContents__nav a:hover,
  .inBeachJourneyRelated__grid a:hover{
    background:#fff;
  }


  .inBeachJourneyChecklist__toolbar
  button:hover{
    background:
      var(--bj-gold)!important;

    color:
      var(--bj-navy)!important;
  }

}


/* ==================================================
   TABLET
================================================== */

@media(max-width:1100px){

  .inBeachJourneyChapter{
    display:none;
  }


  .inBeachJourneyFacts,
  .inBeachJourneyPracticalGrid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }


  .inBeachJourneyContents__nav{
    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      );
  }

}


@media(max-width:900px){

  .inBeachJourneyIntro__layout,
  .inBeachJourneyChapterHead{
    grid-template-columns:1fr;
  }


  .inBeachJourneyChapterHead{
    gap:28px;
  }


  .inBeachJourneyYoneharaFeature{
    grid-template-columns:1fr;
  }


  .inBeachJourneyYoneharaFeature figure{
    min-height:390px;
  }


  .inBeachJourneyShiraho__copy,
  .inBeachJourneySukuji__copy{
    width:min(
      680px,
      78%
    );
  }

}


/* ==================================================
   MOBILE
================================================== */

@media(max-width:767px){

  .inBeachJourney__wide,
  .inBeachJourney__article{
    width:
      calc(100% - 34px);
  }


  /* BOOKMARK */

  .inBeachJourneyBookmark{
    position:fixed;

    top:0;
    right:0;
    left:0;

    z-index:240;

    display:block;

    opacity:0;

    pointer-events:none;

    transform:
      translateY(-100%);

    transition:
      opacity .3s ease,
      transform .35s ease;
  }


  .inBeachJourneyBookmark.is-visible{
    opacity:.87;

    transform:none;
  }


  .inBeachJourneyBookmark__inner{
    display:grid;

    grid-template-columns:
      auto minmax(0,1fr) auto;

    gap:8px;

    align-items:center;

    min-height:34px;

    padding:
      6px 13px 7px;

    background:
      rgba(248,245,239,.82);

    backdrop-filter:
      blur(9px);
  }


  .inBeachJourneyBookmark__chapter{
    color:
      var(--bj-gold);

    font-family:
      "Noto Serif JP",
      serif!important;

    font-size:.38rem;

    white-space:nowrap;
  }


  .inBeachJourneyBookmark__title{
    overflow:hidden;

    color:
      rgba(16,41,67,.8);

    font-family:
      "Noto Serif JP",
      serif!important;

    font-size:.55rem;

    font-weight:500;

    white-space:nowrap;

    text-overflow:ellipsis;
  }


  .inBeachJourneyBookmark__progress{
    color:
      rgba(16,41,67,.3);

    font-family:
      "Noto Serif JP",
      serif!important;

    font-size:.38rem;
  }


  .inBeachJourneyBookmark.is-dark
  .inBeachJourneyBookmark__inner{
    background:
      rgba(7,24,39,.78);
  }


  .inBeachJourneyBookmark.is-dark
  .inBeachJourneyBookmark__title{
    color:
      rgba(255,255,255,.8);
  }


  /* NOTICE */

  .inBeachJourneyNotice{
    right:13px;

    bottom:14px;

    left:13px;

    display:flex;

    width:auto;

    min-height:40px;

    align-items:center;

    gap:10px;

    padding:
      10px 13px;

    border-left:0;

    border-top:
      1px solid
      rgba(194,168,120,.43);

    background:
      rgba(7,24,39,.84);

    transform:
      translateY(7px);
  }


  .inBeachJourneyNotice span{
    flex:0 0 auto;

    font-size:.38rem;
  }


  .inBeachJourneyNotice strong{
    overflow:hidden;

    color:
      rgba(255,255,255,.84);

    font-size:.57rem;

    white-space:nowrap;

    text-overflow:ellipsis;
  }


  /* HERO */

  .inBeachJourneyHero,
  .inBeachJourneyHero__inner{
    min-height:620px;
  }


  .inBeachJourneyHero__inner{
    width:
      calc(100% - 34px);

    padding:
      50px 0 30px;
  }


  .inBeachJourneyHero__copy{
    width:100%;

    align-self:end;

    padding:
      38px 0 24px;
  }


  body
  .inBeachJourney
  .inBeachJourneyHero h1{
    max-width:100%!important;

    font-size:
      clamp(
        1.42rem,
        6vw,
        1.74rem
      )!important;

    line-height:
      1.65!important;
  }


  .inBeachJourneyHero__lead{
    margin-top:
      20px!important;

    font-size:.73rem;

    line-height:2;
  }


  .inBeachJourneyHero__pcBreak,
  .inBeachJourneyHero__caption{
    display:none;
  }


  .inBeachJourneyHero__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(7,24,39,.09) 0%,
        rgba(7,24,39,.35) 38%,
        rgba(7,24,39,.94) 100%
      );
  }


  /* SECTIONS */

  .inBeachJourneyIntro,
  .inBeachJourneyYonehara,
  .inBeachJourneyRest,
  .inBeachJourneyLastLight,
  .inBeachJourneyChange,
  .inBeachJourneyPractical,
  .inBeachJourneyChecklistSection,
  .inBeachJourneyFaqSection,
  .inBeachJourneyEnding,
  .inBeachJourneyRelated{
    padding-top:77px;

    padding-bottom:83px;

    scroll-margin-top:39px;
  }


  .inBeachJourneyIntro h2,
  .inBeachJourneyContents h2,
  .inBeachJourneyChapterHead h2,
  .inBeachJourneyShiraho h2,
  .inBeachJourneyRest h2,
  .inBeachJourneySukuji h2,
  .inBeachJourneySimpleHead h2,
  .inBeachJourneyEnding h2,
  .inBeachJourneyRelated h2{
    font-size:
      1.33rem!important;

    line-height:
      1.74!important;
  }


  .inBeachJourneyChapterHead{
    margin-bottom:42px;
  }


  /* INTRO */

  .inBeachJourneyIntro__lead{
    font-size:.79rem;

    line-height:2.03;
  }


  .inBeachJourneyPhrase{
    margin-top:55px;
  }


  .inBeachJourneyPhrase
  > p:last-child{
    font-size:1rem;
  }


  .inBeachJourneyFacts{
    grid-template-columns:1fr;

    margin-top:50px;
  }


  .inBeachJourneyFacts article{
    min-height:0;

    padding:
      25px 22px 28px;
  }


  .inBeachJourneyImportant{
    padding:
      29px 22px 32px;
  }


  /* CONTENTS */

  .inBeachJourneyContents{
    padding:
      75px 0 80px;
  }


  .inBeachJourneyContents__head{
    text-align:left;
  }


  .inBeachJourneyContents__details{
    margin-top:30px;
  }


  .inBeachJourneyContents__details
  > summary{
    display:flex;

    min-height:55px;

    align-items:center;

    justify-content:
      space-between;

    padding:
      14px 16px!important;

    background:#fff;

    color:
      var(--bj-navy);

    font-family:
      "Noto Serif JP",
      serif!important;

    font-size:.72rem;
  }


  .inBeachJourneyContents__details
  > summary
  > span:last-child{
    position:relative;

    width:18px;

    height:18px;
  }


  .inBeachJourneyContents__details
  > summary
  > span:last-child::before,
  .inBeachJourneyContents__details
  > summary
  > span:last-child::after{
    content:"";

    position:absolute;

    top:8px;
    left:3px;

    width:12px;

    height:1px;

    background:
      var(--bj-gold);
  }


  .inBeachJourneyContents__details
  > summary
  > span:last-child::after{
    transform:
      rotate(90deg);
  }


  .inBeachJourneyContents__details[open]
  > summary
  > span:last-child::after{
    transform:none;
  }


  .inBeachJourneyContents__nav{
    grid-template-columns:1fr;

    padding-top:8px;
  }


  .inBeachJourneyContents__nav a{
    min-height:101px;
  }


  /* SHIRAHO */

  .inBeachJourneyShiraho,
  .inBeachJourneyShiraho__inner{
    min-height:690px;
  }


  .inBeachJourneyShiraho__media{
    position:absolute!important;

    inset:0!important;

    width:100%!important;

    height:100%!important;
  }


  .inBeachJourneyShiraho__media img{
    width:100%!important;

    height:100%!important;

    object-fit:cover!important;
  }


  .inBeachJourneyShiraho__inner{
    width:
      calc(100% - 34px);

    align-items:flex-end;

    padding:
      85px 0 50px;
  }


  .inBeachJourneyShiraho__copy{
    width:100%;
  }


  .inBeachJourneyShiraho__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(5,28,38,.04) 0%,
        rgba(5,28,38,.16) 33%,
        rgba(5,28,38,.93) 100%
      );
  }


  /* YONEHARA */

  .inBeachJourneyYoneharaFeature figure{
    min-height:0;
  }


  .inBeachJourneyYoneharaFeature img{
    aspect-ratio:4/3;

    height:auto!important;
  }


  .inBeachJourneyYoneharaFeature > div{
    padding:
      30px 23px 34px;
  }


  /* REST */

  .inBeachJourneyRestGrid{
    grid-template-columns:1fr;
  }


  .inBeachJourneyRestGrid article{
    min-height:0;

    padding:
      27px 23px 30px;
  }


  .inBeachJourneyRestNote{
    padding:
      29px 22px 32px;
  }


  /* SUKUJI */

  .inBeachJourneySukuji,
  .inBeachJourneySukuji__inner{
    min-height:710px;
  }


  .inBeachJourneySukuji__media{
    position:absolute!important;

    inset:0!important;

    width:100%!important;

    height:100%!important;
  }


  .inBeachJourneySukuji__media img{
    width:100%!important;

    height:100%!important;

    object-fit:cover!important;
  }


  .inBeachJourneySukuji__inner{
    width:
      calc(100% - 34px);

    align-items:flex-end;

    padding:
      85px 0 50px;
  }


  .inBeachJourneySukuji__copy{
    width:100%;
  }


  .inBeachJourneySukuji__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(7,24,39,.04) 0%,
        rgba(7,24,39,.17) 35%,
        rgba(7,24,39,.94) 100%
      );
  }


  /* LAST LIGHT */

  .inBeachJourneyLastGrid{
    grid-template-columns:1fr;
  }


  .inBeachJourneyLastGrid article{
    min-height:0;

    padding:
      27px 23px 30px;
  }


  /* TABS */

  .inBeachJourneyTabs__buttons{
    grid-template-columns:1fr;
  }


  .inBeachJourneyTabs__buttons button{
    min-height:60px;
  }


  .inBeachJourneyTabPanel{
    grid-template-columns:1fr;

    gap:18px;

    min-height:0;

    padding:
      30px 22px 33px;
  }


  /* PRACTICAL */

  .inBeachJourneyPracticalGrid{
    grid-template-columns:1fr;
  }


  .inBeachJourneyPracticalGrid article{
    min-height:0;

    padding:
      27px 23px 30px;
  }


  /* CHECKLIST */

  .inBeachJourneyChecklist__toolbar{
    align-items:flex-start;

    flex-direction:column;

    padding:
      24px 21px;
  }


  .inBeachJourneyChecklist__items{
    grid-template-columns:1fr;

    padding:
      16px 20px 22px;
  }


  .inBeachJourneyChecklist
  label:nth-child(even){
    border-left:0;
  }


  .inBeachJourneyChecklist
  label+label{
    border-top:
      1px solid
      var(--bj-border);
  }


  /* FAQ */

  .inBeachJourneyFaq summary{
    min-height:66px;

    padding:
      16px 2px!important;

    font-size:
      .81rem!important;
  }


  .inBeachJourneyFaq
  details > div{
    padding:
      0 30px 21px 2px;
  }


  /* RELATED */

  .inBeachJourneyRelated__grid{
    grid-template-columns:1fr;
  }


  .inBeachJourneyDisclaimer{
    text-align:left;
  }


  /* FLOATING */

  .inBeachJourneyFloatingToc{
    right:14px;

    bottom:67px;

    min-width:49px;

    min-height:49px;

    padding:
      11px!important;
  }


  .inBeachJourneyFloatingToc strong{
    display:none;
  }


  .inBeachJourneyDrawer__panel{
    width:min(
      400px,
      94vw
    );

    padding:
      48px 23px 40px;
  }

}


/* ==================================================
   ELEMENTOR
================================================== */

.elementor-widget-html:has(.inBeachJourney){
  margin:0!important;
}


.elementor-element:has(
  > .elementor-widget-html
  .inBeachJourney
){
  margin:0!important;

  padding:0!important;
}


/* ==================================================
   FOCUS
================================================== */

.inBeachJourney a:focus-visible,
.inBeachJourney button:focus-visible,
.inBeachJourney summary:focus-visible,
.inBeachJourney input:focus-visible{
  outline:
    2px solid
    var(--bj-gold)!important;

  outline-offset:
    4px!important;
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media(prefers-reduced-motion:reduce){

  .inBeachJourney *,
  .inBeachJourney *::before,
  .inBeachJourney *::after{
    animation:none!important;

    transition:none!important;
  }


  .in-beach-has-js
  .inBeachJourney
  .js-beach-reveal{
    opacity:1!important;

    transform:none!important;
  }


  .in-beach-has-js
  .inBeachJourney
  .js-beach-image::after{
    display:none!important;
  }


  .inBeachJourneyNotice{
    display:none!important;
  }

}/* End custom CSS */