.elementor-19569 .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 20 / SUNSET & STARRY NIGHT
================================================== */

.inSunStar{
  --ss-navy:#102943;
  --ss-deep:#071827;
  --ss-night:#050e18;
  --ss-gold:#c2a878;
  --ss-ivory:#f8f5ef;
  --ss-soft:#f1eee7;
  --ss-white:#fff;
  --ss-text:#596775;
  --ss-muted:rgba(28,53,87,.56);
  --ss-border:rgba(16,41,67,.12);

  position:relative;

  width:100%;

  margin:0!important;

  overflow:hidden;

  background:#fff;

  color:var(--ss-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    sans-serif!important;

  font-size:16px;

  -webkit-font-smoothing:antialiased;
}


.inSunStar *,
.inSunStar *::before,
.inSunStar *::after{
  box-sizing:border-box;
}


.inSunStar img{
  display:block;

  width:100%;

  max-width:none;

  height:auto;

  margin:0;
}


.inSunStar figure{
  margin:0;
}


.inSunStar a{
  text-decoration:none;
}


.inSunStar button,
.inSunStar input,
.inSunStar summary{
  font:inherit;
}


.inSunStar button{
  appearance:none;
}


.inSunStar summary{
  list-style:none;
}


.inSunStar summary::-webkit-details-marker{
  display:none;
}


.inSunStar :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;
}


/* 共通CSS側の br display:none を確実に解除 */
.inSunStar :is(h1,h2,h3) br{
  display:inline!important;
}


.inSunStar__wide{
  width:min(
    1180px,
    calc(100% - 72px)
  );

  margin:0 auto;
}


.inSunStar__article{
  width:min(
    930px,
    calc(100% - 72px)
  );

  margin:0 auto;
}


.inSunStarLabel{
  margin:0!important;

  color:
    var(--ss-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
================================================== */

.inSunStarProgress{
  position:fixed;

  top:0;
  right:0;
  left:0;

  z-index:9999;

  height:3px;

  pointer-events:none;
}


.inSunStarProgress span{
  display:block;

  width:100%;
  height:100%;

  background:
    var(--ss-gold);

  transform:scaleX(0);

  transform-origin:left center;
}


/* ==================================================
   PC CHAPTER
================================================== */

.inSunStarChapter{
  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;
}


.inSunStarChapter.is-visible{
  opacity:.8;

  transform:
    translateY(-50%);
}


.inSunStarChapter__line{
  grid-row:1/3;

  width:1px;

  height:70px;

  background:
    linear-gradient(
      to bottom,
      var(--ss-gold) 0 22%,
      rgba(16,41,67,.12) 22% 100%
    );
}


.inSunStarChapter > div{
  display:grid;

  min-width:115px;

  gap:3px;
}


.inSunStarChapter small{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.41rem;

  letter-spacing:.12em;
}


.inSunStarChapter strong{
  color:
    rgba(16,41,67,.8);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.58rem;

  font-weight:500;
}


.inSunStarChapter__progress{
  margin-top:5px;

  color:
    rgba(16,41,67,.3);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.4rem;
}


.inSunStarChapter.is-dark strong{
  color:
    rgba(255,255,255,.82);
}


.inSunStarChapter.is-dark
.inSunStarChapter__progress{
  color:
    rgba(255,255,255,.34);
}


/* ==================================================
   BOOKMARK
================================================== */

.inSunStarBookmark{
  display:none;
}


/* ==================================================
   NOTICE
================================================== */

.inSunStarNotice{
  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);
}


.inSunStarNotice span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.41rem;

  letter-spacing:.13em;
}


.inSunStarNotice strong{
  color:
    var(--ss-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.66rem;

  font-weight:500;
}


.inSunStarNotice.is-showing{
  opacity:.94;

  transform:none;
}


/* ==================================================
   HERO
================================================== */

.inSunStarHero{
  position:relative;

  min-height:680px;

  overflow:hidden;

  isolation:isolate;

  background:
    var(--ss-deep);

  color:#fff;
}


.inSunStarHero__media{
  position:absolute!important;

  inset:0!important;

  z-index:0!important;

  width:100%!important;

  height:100%!important;

  overflow:hidden;
}


.inSunStarHero__media img{
  display:block!important;

  width:100%!important;

  height:100%!important;

  max-width:none!important;

  object-fit:cover!important;

  object-position:
    center center!important;

  filter:
    saturate(.9)
    contrast(1.03)
    brightness(.82);

  transform:
    scale(1.02);
}


.inSunStarHero__overlay{
  position:absolute!important;

  inset:0!important;

  z-index:1!important;

  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(7,24,39,.92) 0%,
      rgba(7,24,39,.69) 42%,
      rgba(7,24,39,.22) 73%,
      rgba(7,24,39,.03) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7,24,39,.03) 0%,
      rgba(7,24,39,.09) 55%,
      rgba(7,24,39,.67) 100%
    );
}


.inSunStarHero__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;
}


.inSunStarBreadcrumb{
  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;
}


.inSunStarBreadcrumb a{
  color:inherit!important;
}


.inSunStarBreadcrumb
> span:not(:last-child){
  width:22px;

  height:1px;

  background:
    var(--ss-gold);
}


.inSunStarHero__copy{
  align-self:center;

  width:min(
    850px,
    80%
  );

  padding:
    48px 0 40px;
}


.inSunStarHero__pageName{
  margin:0!important;

  color:
    rgba(255,255,255,.84);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.76rem;
}


.inSunStarHero__en{
  margin:
    9px 0 0!important;

  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.56rem;

  letter-spacing:.18em;
}


body
.inSunStar
.inSunStarHero h1{
  max-width:840px!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;
}


.inSunStarHero__lead{
  max-width:780px;

  margin:
    25px 0 0!important;

  color:
    rgba(255,255,255,.77);

  font-size:.84rem;

  line-height:2.06;
}


.inSunStarHero__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;
}


.inSunStarHero__discover
> span:last-child{
  width:50px;

  height:1px;

  background:
    var(--ss-gold);

  transition:
    width .35s ease;
}


.inSunStarHero__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
================================================== */

.inSunStarIntro h2,
.inSunStarContents h2,
.inSunStarChapterHead h2,
.inSunStarBetween h2,
.inSunStarStars h2,
.inSunStarSimpleHead h2,
.inSunStarEnding h2,
.inSunStarRelated h2{
  margin:
    14px 0 0!important;

  color:
    var(--ss-navy)!important;

  font-size:
    clamp(
      1.5rem,
      2.3vw,
      2.04rem
    )!important;

  line-height:
    1.72!important;
}


.inSunStarChapterHead{
  display:grid;

  grid-template-columns:
    minmax(0,1.15fr)
    minmax(310px,.85fr);

  gap:
    clamp(
      45px,
      6vw,
      82px
    );

  margin-bottom:62px;
}


.inSunStarChapterHead__catch{
  margin:0!important;

  color:
    var(--ss-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:
    clamp(
      1.02rem,
      1.45vw,
      1.28rem
    );

  line-height:1.82;
}


.inSunStarChapterHead__text{
  margin:
    18px 0 0!important;

  font-size:.8rem;

  line-height:2;
}


/* ==================================================
   INTRO
================================================== */

.inSunStarIntro{
  padding:
    118px 0 126px;

  background:#fff;
}


.inSunStarIntro__layout{
  display:grid;

  grid-template-columns:
    minmax(330px,.86fr)
    minmax(0,1.14fr);

  gap:
    clamp(
      60px,
      8vw,
      110px
    );
}


.inSunStarIntro__lead{
  font-size:.89rem;

  line-height:2.14;
}


.inSunStarIntro__lead p{
  margin:0!important;
}


.inSunStarIntro__lead p+p{
  margin-top:
    1.35em!important;
}


.inSunStarPhrase{
  width:min(
    790px,
    100%
  );

  margin:
    80px auto 0;

  text-align:center;
}


.inSunStarPhrase
> p:last-child{
  margin:
    20px 0 0!important;

  color:
    var(--ss-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:
    clamp(
      1.12rem,
      1.8vw,
      1.45rem
    );

  line-height:2;
}


.inSunStarFacts{
  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:1px;

  margin-top:73px;

  background:
    var(--ss-border);
}


.inSunStarFacts article{
  min-height:215px;

  padding:
    29px 27px 32px;

  background:
    var(--ss-ivory);
}


.inSunStarFacts span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.52rem;
}


.inSunStarFacts
article > p:first-of-type{
  margin:
    10px 0 0!important;

  color:
    var(--ss-muted);

  font-size:.44rem;

  letter-spacing:.13em;
}


.inSunStarFacts h3{
  margin:
    21px 0 0!important;

  color:
    var(--ss-navy);

  font-size:.96rem!important;
}


.inSunStarFacts
article > p:last-child{
  margin:
    14px 0 0!important;

  font-size:.71rem;

  line-height:1.92;
}


.inSunStarImportant{
  width:min(
    860px,
    100%
  );

  margin:
    61px auto 0;

  padding:
    35px 40px;

  background:
    var(--ss-navy);
}


.inSunStarImportant h3{
  margin:
    16px 0 0!important;

  color:#fff;

  font-size:
    1.06rem!important;

  line-height:1.8;
}


.inSunStarImportant
> p:last-child{
  margin:
    18px 0 0!important;

  color:
    rgba(255,255,255,.68);

  font-size:.75rem;

  line-height:2;
}


/* ==================================================
   CONTENTS
================================================== */

.inSunStarContents{
  padding:
    99px 0 106px;

  background:
    var(--ss-soft);
}


.inSunStarContents__head{
  max-width:760px;

  margin:0 auto;

  text-align:center;
}


.inSunStarContents__head
> p:last-child{
  margin:
    20px 0 0!important;

  font-size:.76rem;

  line-height:1.95;
}


.inSunStarContents__details{
  margin-top:45px;
}


.inSunStarContents__details
> summary{
  display:none;
}


.inSunStarContents__nav{
  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--ss-border);
}


.inSunStarContents__nav a{
  position:relative;

  min-height:140px;

  padding:
    25px 24px 31px;

  background:#fff;

  color:inherit!important;
}


.inSunStarContents__nav a span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.5rem;
}


.inSunStarContents__nav small{
  display:block;

  margin-top:10px;

  color:
    var(--ss-muted);

  font-size:.42rem;

  letter-spacing:.12em;
}


.inSunStarContents__nav strong{
  display:block;

  margin-top:8px;

  color:
    var(--ss-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.79rem;

  font-weight:500;

  line-height:1.65;
}


.inSunStarContents__nav a::after{
  content:"";

  position:absolute;

  right:21px;
  bottom:20px;

  width:23px;

  height:1px;

  background:
    var(--ss-gold);
}


/* ==================================================
   AFTERNOON
================================================== */

.inSunStarAfternoon{
  padding:
    118px 0 126px;

  background:#fff;
}


.inSunStarAfternoonGrid{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--ss-border);
}


.inSunStarAfternoonGrid article{
  min-height:220px;

  padding:
    31px 29px 34px;

  background:
    var(--ss-ivory);
}


.inSunStarAfternoonGrid span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.53rem;
}


.inSunStarAfternoonGrid h3{
  margin:
    22px 0 0!important;

  color:
    var(--ss-navy);

  font-size:
    1.02rem!important;
}


.inSunStarAfternoonGrid p{
  margin:
    15px 0 0!important;

  font-size:.72rem;

  line-height:1.95;
}


/* ==================================================
   SUNSET CHOICE
================================================== */

.inSunStarSunset{
  padding:
    118px 0 128px;

  background:
    var(--ss-ivory);
}


.inSunStarSunsetChoice{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:20px;
}


.inSunStarSunsetCard{
  display:grid;

  grid-template-rows:
    340px 1fr;

  overflow:hidden;

  background:#fff;
}


.inSunStarSunsetCard figure{
  position:relative;

  overflow:hidden;
}


.inSunStarSunsetCard img{
  height:100%!important;

  object-fit:cover;
}


.inSunStarSunsetCard > div{
  padding:
    35px 34px 39px;
}


.inSunStarSunsetCard h3{
  margin:
    17px 0 0!important;

  color:
    var(--ss-navy);

  font-size:
    1.32rem!important;

  line-height:1.75;
}


.inSunStarSunsetCard
> div
> p:not(.inSunStarLabel){
  margin:
    17px 0 0!important;

  font-size:.75rem;

  line-height:2;
}


.inSunStarSunsetCard dl{
  margin:
    23px 0 0;
}


.inSunStarSunsetCard
dl > div{
  display:grid;

  grid-template-columns:
    105px minmax(0,1fr);

  gap:12px;

  padding:
    9px 0;
}


.inSunStarSunsetCard
dl > div+div{
  border-top:
    1px solid
    var(--ss-border);
}


.inSunStarSunsetCard dt{
  color:
    var(--ss-muted);

  font-size:.59rem;
}


.inSunStarSunsetCard dd{
  margin:0;

  color:
    var(--ss-navy);

  font-size:.68rem;

  line-height:1.75;
}


.inSunStarSunsetCard a{
  display:inline-flex;

  margin-top:21px;

  color:
    var(--ss-navy)!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.63rem;

  text-decoration:underline;

  text-underline-offset:5px;
}


.inSunStarSunsetRule{
  width:min(
    820px,
    100%
  );

  margin:
    61px auto 0;

  text-align:center;
}


.inSunStarSunsetRule
> p:last-child{
  margin:
    18px 0 0!important;

  color:
    var(--ss-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:
    clamp(
      1.05rem,
      1.7vw,
      1.34rem
    );

  line-height:2;
}


/* ==================================================
   BETWEEN LIGHTS
================================================== */

.inSunStarBetween{
  position:relative;

  overflow:hidden;

  padding:
    124px 0 132px;

  background:
    linear-gradient(
      180deg,
      #172f48 0%,
      #0b2034 44%,
      #071827 100%
    );
}


.inSunStarBetween::before{
  content:"";

  position:absolute;

  top:0;
  right:0;

  width:47%;

  height:100%;

  background:
    linear-gradient(
      90deg,
      rgba(194,168,120,0),
      rgba(194,168,120,.06)
    );

  pointer-events:none;
}


.inSunStarBetween__inner{
  position:relative;

  z-index:1;

  display:grid;

  grid-template-columns:
    minmax(250px,.8fr)
    minmax(0,1.2fr);

  gap:
    clamp(
      60px,
      8vw,
      120px
    );

  align-items:center;

  width:min(
    1080px,
    calc(100% - 72px)
  );

  margin:0 auto;
}


.inSunStarBetween__number{
  color:
    rgba(194,168,120,.19);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:
    clamp(
      5rem,
      11vw,
      9.5rem
    );

  font-weight:400;

  line-height:1;

  letter-spacing:-.07em;
}


.inSunStarBetween__number span{
  color:
    rgba(194,168,120,.4);
}


.inSunStarBetween h2{
  color:#fff!important;
}


.inSunStarBetween__lead{
  margin:
    25px 0 0!important;

  color:#fff;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:1rem;

  line-height:1.95;
}


.inSunStarBetween__copy
> p:not(.inSunStarLabel):not(.inSunStarBetween__lead){
  margin:
    18px 0 0!important;

  color:
    rgba(255,255,255,.7);

  font-size:.77rem;

  line-height:2.03;
}


/* ==================================================
   DINNER
================================================== */

.inSunStarDinner{
  padding:
    118px 0 126px;

  background:#fff;
}


.inSunStarDinnerLayout{
  display:grid;

  grid-template-columns:
    minmax(300px,.72fr)
    minmax(0,1.28fr);

  gap:20px;
}


.inSunStarDinnerEditorial{
  display:flex;

  flex-direction:column;

  justify-content:center;

  padding:
    44px 40px;

  background:
    var(--ss-ivory);
}


.inSunStarDinnerEditorial h3{
  margin:
    19px 0 0!important;

  color:
    var(--ss-navy);

  font-size:
    clamp(
      1.25rem,
      2vw,
      1.58rem
    )!important;

  line-height:1.82;
}


.inSunStarDinnerEditorial p:not(.inSunStarLabel){
  margin:
    18px 0 0!important;

  font-size:.76rem;

  line-height:2;
}


.inSunStarDinnerEditorial strong{
  display:block;

  margin-top:24px;

  color:
    var(--ss-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.76rem;

  font-weight:500;

  line-height:1.9;
}


.inSunStarDinnerFeature{
  display:grid;

  grid-template-columns:
    minmax(0,.9fr)
    minmax(330px,1.1fr);

  overflow:hidden;

  background:
    var(--ss-navy);
}


.inSunStarDinnerFeature figure{
  position:relative;

  min-height:475px;

  overflow:hidden;
}


.inSunStarDinnerFeature img{
  height:100%!important;

  object-fit:cover;
}


.inSunStarDinnerFeature > div{
  display:flex;

  flex-direction:column;

  justify-content:center;

  padding:
    40px 37px;
}


.inCourseGuide
.inCoursePartnerBadge{
  display:inline-flex;

  width:fit-content;

  margin:
    0 0 16px;

  padding:
    6px 10px;

  border:
    1px solid
    rgba(194,168,120,.65);

  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.5rem;

  letter-spacing:.12em;
}


.inSunStarDinnerFeature h3{
  margin:
    15px 0 0!important;

  color:#fff;

  font-size:
    1.36rem!important;

  line-height:1.75;
}


.inSunStarDinnerFeature
> div
> p:not(.inSunStarLabel){
  margin:
    17px 0 0!important;

  color:
    rgba(255,255,255,.7);

  font-size:.74rem;

  line-height:2;
}


.inSunStarDinnerFeature a{
  display:inline-flex;

  width:fit-content;

  margin-top:22px;

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.63rem;

  text-decoration:underline;

  text-underline-offset:5px;
}


.inCourseGuide
.inCoursePartnerDisclosure{
  width:min(
    930px,
    100%
  );

  margin:
    31px auto 0;

  padding:
    20px 23px;

  border-left:
    2px solid
    var(--ss-gold);

  background:
    var(--ss-ivory);

  color:
    var(--ss-text);

  font-size:.67rem;

  line-height:1.9;
}


/* ==================================================
   STARRY NIGHT
   全面背景 + 星空演出はここだけ
================================================== */

.inSunStarStars{
  position:relative;

  min-height:810px;

  overflow:hidden;

  isolation:isolate;

  background:
    var(--ss-night);
}


/* 1層目 写真 */
.inSunStarStars__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;
}


.inSunStarStars__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(.82)
    contrast(1.08)
    brightness(.7);
}


/* 2層目 overlay */
.inSunStarStars__overlay{
  position:absolute!important;

  inset:0!important;

  z-index:1!important;

  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(3,11,19,.91) 0%,
      rgba(3,11,19,.7) 43%,
      rgba(3,11,19,.29) 72%,
      rgba(3,11,19,.08) 100%
    ),
    radial-gradient(
      circle at 72% 32%,
      rgba(30,61,91,.08),
      transparent 36%
    ),
    linear-gradient(
      180deg,
      rgba(3,11,19,.05) 0%,
      rgba(3,11,19,.18) 60%,
      rgba(3,11,19,.7) 100%
    );
}


/* 3層目 星の点 */
.inSunStarStars__stars{
  position:absolute;

  inset:0;

  z-index:2;

  pointer-events:none;
}


.inSunStarStars__stars i{
  position:absolute;

  width:2px;

  height:2px;

  border-radius:50%;

  background:
    rgba(255,255,255,.75);

  box-shadow:
    0 0 7px
    rgba(255,255,255,.22);
}


.inSunStarStars__stars i:nth-child(1){
  top:11%;
  left:58%;
}


.inSunStarStars__stars i:nth-child(2){
  top:20%;
  left:74%;

  width:1px;
  height:1px;
}


.inSunStarStars__stars i:nth-child(3){
  top:29%;
  left:87%;
}


.inSunStarStars__stars i:nth-child(4){
  top:16%;
  left:92%;

  width:1px;
  height:1px;
}


.inSunStarStars__stars i:nth-child(5){
  top:39%;
  left:68%;

  width:1px;
  height:1px;
}


.inSunStarStars__stars i:nth-child(6){
  top:47%;
  left:81%;
}


.inSunStarStars__stars i:nth-child(7){
  top:58%;
  left:91%;

  width:1px;
  height:1px;
}


.inSunStarStars__stars i:nth-child(8){
  top:65%;
  left:72%;
}


.inSunStarStars__stars i:nth-child(9){
  top:73%;
  left:85%;

  width:1px;
  height:1px;
}


.inSunStarStars__stars i:nth-child(10){
  top:34%;
  left:54%;
}


.inSunStarStars__stars i:nth-child(11){
  top:78%;
  left:62%;

  width:1px;
  height:1px;
}


.inSunStarStars__stars i:nth-child(12){
  top:9%;
  left:80%;

  width:1px;
  height:1px;
}


/* 4層目 本文 */
.inSunStarStars__inner{
  position:relative!important;

  z-index:3!important;

  display:flex;

  align-items:center;

  width:min(
    1180px,
    calc(100% - 72px)
  );

  min-height:810px;

  margin:0 auto;
}


.inSunStarStars__copy{
  width:min(
    690px,
    63%
  );
}


.inSunStarStars h2{
  color:#fff!important;
}


.inSunStarStars__lead{
  margin:
    26px 0 0!important;

  color:#fff;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:1.02rem;

  line-height:1.95;
}


.inSunStarStars__copy
> p:not(.inSunStarLabel):not(.inSunStarStars__lead){
  margin:
    18px 0 0!important;

  color:
    rgba(255,255,255,.74);

  font-size:.77rem;

  line-height:2.05;
}


.inSunStarStars__notes{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  margin-top:32px;

  background:
    rgba(255,255,255,.13);
}


.inSunStarStars__notes div{
  padding:
    22px 20px 24px;

  background:
    rgba(5,14,24,.54);

  backdrop-filter:
    blur(4px);
}


.inSunStarStars__notes span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.47rem;
}


.inSunStarStars__notes strong{
  display:block;

  margin-top:10px;

  color:#fff;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.76rem;

  font-weight:500;
}


.inSunStarStars__notes p{
  margin:
    10px 0 0!important;

  color:
    rgba(255,255,255,.62);

  font-size:.61rem!important;

  line-height:1.8!important;
}


.inSunStarStars a{
  display:inline-flex;

  margin-top:25px;

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.63rem;

  text-decoration:underline;

  text-underline-offset:5px;
}


/* ==================================================
   CHANGE PLAN
================================================== */

.inSunStarChange{
  padding:
    118px 0 126px;

  background:
    var(--ss-soft);
}


.inSunStarTabs__buttons{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--ss-border);
}


.inSunStarTabs__buttons button{
  min-height:74px;

  padding:
    10px 12px!important;

  border:0!important;

  border-radius:0!important;

  background:#fff!important;

  color:
    var(--ss-muted)!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.76rem;

  cursor:pointer;
}


.inSunStarTabs__buttons
button span{
  display:block;

  margin-top:5px;

  font-size:.4rem;

  letter-spacing:.12em;
}


.inSunStarTabs__buttons
button[aria-selected="true"]{
  background:
    var(--ss-navy)!important;

  color:#fff!important;
}


.inSunStarTabs__panels{
  margin-top:1px;
}


.inSunStarTabPanel{
  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(--ss-border);

  background:#fff;
}


.inSunStarTabPanel[hidden]{
  display:none!important;
}


.inSunStarTabPanel__number{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:2.1rem;
}


.inSunStarTabPanel h3{
  margin:
    14px 0 0!important;

  color:
    var(--ss-navy);

  font-size:
    1.27rem!important;

  line-height:1.76;
}


.inSunStarTabPanel
> div
> p:last-child{
  margin:
    17px 0 0!important;

  font-size:.76rem;

  line-height:2;
}


.inSunStarTabPanel ul{
  margin:0;

  padding:0;

  list-style:none;
}


.inSunStarTabPanel li{
  position:relative;

  padding-left:16px;

  color:
    var(--ss-navy);

  font-size:.69rem;

  line-height:1.85;
}


.inSunStarTabPanel li+li{
  margin-top:8px;
}


.inSunStarTabPanel li::before{
  content:"";

  position:absolute;

  top:.85em;
  left:0;

  width:7px;

  height:1px;

  background:
    var(--ss-gold);
}


/* ==================================================
   PRACTICAL
================================================== */

.inSunStarPractical{
  padding:
    118px 0 126px;

  background:#fff;
}


.inSunStarPracticalGrid{
  display:grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--ss-border);
}


.inSunStarPracticalGrid article{
  min-height:210px;

  padding:
    29px 27px 32px;

  background:
    var(--ss-ivory);
}


.inSunStarPracticalGrid span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.49rem;

  letter-spacing:.12em;
}


.inSunStarPracticalGrid h3{
  margin:
    21px 0 0!important;

  color:
    var(--ss-navy);

  font-size:.97rem!important;
}


.inSunStarPracticalGrid p{
  margin:
    14px 0 0!important;

  font-size:.7rem;

  line-height:1.92;
}


/* ==================================================
   CHECKLIST / FAQ
================================================== */

.inSunStarChecklistSection,
.inSunStarFaqSection{
  padding:
    105px 0 112px;
}


.inSunStarChecklistSection{
  background:
    var(--ss-soft);
}


.inSunStarFaqSection{
  background:#fff;
}


.inSunStarSimpleHead{
  max-width:760px;

  margin-bottom:44px;
}


.inSunStarSimpleHead
> p:last-child{
  margin:
    19px 0 0!important;

  font-size:.76rem;

  line-height:1.95;
}


/* CHECKLIST */

.inSunStarChecklist{
  overflow:hidden;

  background:#fff;

  box-shadow:
    0 22px 60px
    rgba(16,41,67,.08);
}


.inSunStarChecklist__toolbar{
  display:flex;

  align-items:center;

  justify-content:
    space-between;

  gap:24px;

  padding:
    27px 30px;

  background:
    var(--ss-navy);
}


.inSunStarChecklist__toolbar
> div{
  display:flex;

  align-items:flex-end;

  gap:9px;
}


.inSunStarChecklist__toolbar
.inSunStarLabel{
  margin-right:
    12px!important;
}


.inSunStarChecklist__toolbar strong{
  color:#fff;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:1.2rem;

  font-weight:500;
}


.inSunStarChecklist__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;
}


.inSunStarChecklist__progress{
  height:4px;

  background:
    rgba(16,41,67,.08);
}


.inSunStarChecklist__progress span{
  display:block;

  width:100%;

  height:100%;

  background:
    var(--ss-gold);

  transform:
    scaleX(0);

  transform-origin:left;

  transition:
    transform .3s ease;
}


.inSunStarChecklist__items{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  padding:
    18px 27px 25px;
}


.inSunStarChecklist label{
  display:grid;

  grid-template-columns:
    21px minmax(0,1fr);

  gap:11px;

  align-items:center;

  min-height:50px;

  padding:8px;

  cursor:pointer;
}


.inSunStarChecklist
label:nth-child(even){
  border-left:
    1px solid
    var(--ss-border);
}


.inSunStarChecklist
label:nth-child(n+3){
  border-top:
    1px solid
    var(--ss-border);
}


.inSunStarChecklist input{
  width:18px;

  height:18px;

  margin:0;

  appearance:none;

  border:
    1px solid
    rgba(16,41,67,.3);

  border-radius:0;

  background:#fff;
}


.inSunStarChecklist
input:checked{
  border-color:
    var(--ss-navy);

  background:
    var(--ss-navy);
}


.inSunStarChecklist
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);
}


.inSunStarChecklist label span{
  font-size:.74rem;

  line-height:1.72;
}


.inSunStarChecklist
label.is-checked{
  background:
    var(--ss-ivory);
}


.inSunStarChecklist
label.is-checked span{
  text-decoration:
    line-through;

  text-decoration-color:
    rgba(194,168,120,.75);
}


.inSunStarChecklist__privacy{
  margin:0!important;

  padding:
    18px 30px 21px;

  border-top:
    1px solid
    var(--ss-border);

  color:
    var(--ss-muted);

  font-size:.54rem;
}


/* FAQ */

.inSunStarFaq{
  border-top:
    1px solid
    var(--ss-border);
}


.inSunStarFaq details{
  border-bottom:
    1px solid
    var(--ss-border);
}


.inSunStarFaq summary{
  display:flex!important;

  min-height:73px;

  align-items:center;

  justify-content:
    space-between;

  gap:25px;

  padding:
    19px 3px!important;

  color:
    var(--ss-navy);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.86rem!important;

  cursor:pointer;
}


.inSunStarFaq
summary > span:last-child{
  position:relative;

  flex:0 0 auto;

  width:21px;

  height:21px;
}


.inSunStarFaq
summary > span:last-child::before,
.inSunStarFaq
summary > span:last-child::after{
  content:"";

  position:absolute;

  top:10px;
  left:4px;

  width:13px;

  height:1px;

  background:
    var(--ss-gold);
}


.inSunStarFaq
summary > span:last-child::after{
  transform:
    rotate(90deg);
}


.inSunStarFaq
details[open]
summary > span:last-child::after{
  transform:none;
}


.inSunStarFaq
details > div{
  padding:
    0 46px 24px 3px;
}


.inSunStarFaq p{
  margin:0!important;

  font-size:.75rem;

  line-height:2;
}


/* ==================================================
   ENDING
================================================== */

.inSunStarEnding{
  padding:
    126px 0 136px;

  background:
    var(--ss-deep);
}


.inSunStarEnding h2{
  max-width:820px;

  color:#fff!important;
}


.inSunStarEnding
p:not(.inSunStarLabel){
  max-width:730px;

  margin:
    21px 0 0!important;

  color:
    rgba(255,255,255,.7);

  font-size:.79rem;

  line-height:2.07;
}


.inSunStarEnding a{
  display:inline-flex;

  width:fit-content;

  align-items:center;

  gap:30px;

  margin-top:31px;

  padding-bottom:7px;

  border-bottom:
    1px solid
    var(--ss-gold);

  color:#fff!important;

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.64rem;
}


/* ==================================================
   RELATED
================================================== */

.inSunStarRelated{
  padding:
    106px 0 114px;

  background:#fff;
}


.inSunStarRelated header{
  margin-bottom:44px;
}


.inSunStarRelated__grid{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:1px;

  background:
    var(--ss-border);
}


.inSunStarRelated__grid a{
  padding:
    30px 27px 34px;

  background:
    var(--ss-ivory);

  color:inherit!important;
}


.inSunStarRelated__grid span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.52rem;
}


.inSunStarRelated__grid
a > p:first-of-type{
  margin:
    10px 0 0!important;

  color:
    var(--ss-muted);

  font-size:.43rem;

  letter-spacing:.12em;
}


.inSunStarRelated__grid h3{
  margin:
    16px 0 0!important;

  color:
    var(--ss-navy);

  font-size:1rem!important;
}


.inSunStarRelated__grid
a > p:last-child{
  margin:
    12px 0 0!important;

  font-size:.7rem;

  line-height:1.9;
}


.inSunStarDisclaimer{
  margin:0!important;

  padding:
    27px 20px 35px;

  background:#fff;

  color:
    var(--ss-muted);

  font-size:.58rem;

  line-height:1.85;

  text-align:center;
}


/* ==================================================
   FLOATING TOC
================================================== */

.inSunStarFloatingToc{
  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;
}


.inSunStarFloatingToc.is-visible{
  opacity:1;

  pointer-events:auto;

  transform:none;
}


.inSunStarFloatingToc
> span{
  position:relative;

  width:16px;

  height:12px;

  border-top:
    1px solid
    var(--ss-gold);

  border-bottom:
    1px solid
    var(--ss-gold);
}


.inSunStarFloatingToc
> span::after{
  content:"";

  position:absolute;

  top:5px;
  left:0;

  width:16px;

  height:1px;

  background:
    var(--ss-gold);
}


.inSunStarFloatingToc strong{
  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.45rem;

  font-weight:500;
}


/* ==================================================
   DRAWER
================================================== */

.inSunStarDrawer{
  position:fixed;

  inset:0;

  z-index:9998;

  visibility:hidden;

  opacity:0;

  pointer-events:none;

  transition:
    opacity .3s ease,
    visibility 0s linear .3s;
}


.inSunStarDrawer.is-open{
  visibility:visible;

  opacity:1;

  pointer-events:auto;

  transition-delay:0s;
}


.inSunStarDrawer__backdrop{
  position:absolute;

  inset:0;

  z-index:1;

  width:100%;

  border:0!important;

  background:
    rgba(5,20,33,.63)!important;
}


.inSunStarDrawer__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(--ss-ivory);

  transform:
    translateX(102%);

  transition:
    transform .42s
    cubic-bezier(.22,1,.36,1);
}


.inSunStarDrawer.is-open
.inSunStarDrawer__panel{
  transform:none;
}


.inSunStarDrawer__panel header{
  display:flex;

  justify-content:
    space-between;

  gap:25px;

  padding-bottom:25px;
}


.inSunStarDrawer__panel
header p{
  margin:
    0 0 7px!important;

  color:
    var(--ss-gold);

  font-size:.48rem;

  letter-spacing:.16em;
}


.inSunStarDrawer__panel
header h2{
  margin:0!important;

  color:
    var(--ss-navy);

  font-size:
    1.12rem!important;
}


.inSunStarDrawer__close{
  position:relative;

  width:37px;

  height:37px;

  border:0!important;

  background:
    transparent!important;
}


.inSunStarDrawer__close span{
  position:absolute;

  top:18px;

  left:7px;

  width:23px;

  height:1px;

  background:
    var(--ss-navy);
}


.inSunStarDrawer__close
span:first-child{
  transform:
    rotate(45deg);
}


.inSunStarDrawer__close
span:last-child{
  transform:
    rotate(-45deg);
}


.inSunStarDrawer nav{
  display:grid;
}


.inSunStarDrawer nav a{
  display:grid;

  grid-template-columns:
    35px minmax(0,1fr);

  gap:12px;

  padding:
    15px 2px;

  border-top:
    1px solid
    var(--ss-border);

  color:
    var(--ss-text)!important;

  font-size:.72rem;
}


.inSunStarDrawer nav span{
  color:
    var(--ss-gold);

  font-family:
    "Noto Serif JP",
    serif!important;

  font-size:.5rem;
}


html.in-sunstar-drawer-open{
  overflow:hidden;
}


/* ==================================================
   CARD IMAGE REVEAL
   全面背景には絶対に使用しない
================================================== */

.in-sunstar-has-js
.inSunStar
.js-sunstar-image{
  position:relative;

  overflow:hidden;
}


.in-sunstar-has-js
.inSunStar
.js-sunstar-image::after{
  content:"";

  position:absolute;

  inset:0;

  z-index:3;

  background:
    var(--ss-ivory);

  transform:
    translateX(0);

  transition:
    transform 1.03s
    cubic-bezier(.77,0,.18,1);

  pointer-events:none;
}


.in-sunstar-has-js
.inSunStar
.js-sunstar-image.is-image-visible::after{
  transform:
    translateX(101%);
}


/* ==================================================
   TEXT REVEAL
================================================== */

.in-sunstar-has-js
.inSunStar
.js-sunstar-reveal{
  opacity:0;

  transform:
    translateY(23px);

  transition:
    opacity .8s ease
    var(--sunstar-delay,0ms),
    transform .8s
    cubic-bezier(.22,1,.36,1)
    var(--sunstar-delay,0ms);
}


.in-sunstar-has-js
.inSunStar
.js-sunstar-reveal.is-visible{
  opacity:1;

  transform:none;
}


/* ==================================================
   HOVER
================================================== */

@media(hover:hover){

  .inSunStarHero__discover:hover
  > span:last-child{
    width:67px;
  }


  .inSunStarContents__nav a:hover,
  .inSunStarRelated__grid a:hover{
    background:#fff;
  }


  .inSunStarChecklist__toolbar
  button:hover{
    background:
      var(--ss-gold)!important;

    color:
      var(--ss-navy)!important;
  }

}


/* ==================================================
   TABLET
================================================== */

@media(max-width:1100px){

  .inSunStarChapter{
    display:none;
  }


  .inSunStarFacts,
  .inSunStarPracticalGrid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }


  .inSunStarContents__nav{
    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      );
  }


  .inSunStarDinnerLayout{
    grid-template-columns:1fr;
  }

}


@media(max-width:900px){

  .inSunStarIntro__layout,
  .inSunStarChapterHead{
    grid-template-columns:1fr;
  }


  .inSunStarChapterHead{
    gap:28px;
  }


  .inSunStarSunsetChoice{
    grid-template-columns:1fr;
  }


  .inSunStarDinnerFeature{
    grid-template-columns:1fr;
  }


  .inSunStarDinnerFeature figure{
    min-height:360px;
  }


  .inSunStarBetween__inner{
    grid-template-columns:1fr;

    gap:30px;
  }


  .inSunStarBetween__number{
    font-size:5rem;
  }


  .inSunStarStars__copy{
    width:min(
      680px,
      78%
    );
  }

}


/* ==================================================
   MOBILE
================================================== */

@media(max-width:767px){

  .inSunStar__wide,
  .inSunStar__article{
    width:
      calc(100% - 34px);
  }


  /* BOOKMARK */

  .inSunStarBookmark{
    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;
  }


  .inSunStarBookmark.is-visible{
    opacity:.87;

    transform:none;
  }


  .inSunStarBookmark__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);
  }


  .inSunStarBookmark__chapter{
    color:
      var(--ss-gold);

    font-family:
      "Noto Serif JP",
      serif!important;

    font-size:.38rem;

    white-space:nowrap;
  }


  .inSunStarBookmark__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;
  }


  .inSunStarBookmark__progress{
    color:
      rgba(16,41,67,.3);

    font-family:
      "Noto Serif JP",
      serif!important;

    font-size:.38rem;
  }


  .inSunStarBookmark.is-dark
  .inSunStarBookmark__inner{
    background:
      rgba(7,24,39,.78);
  }


  .inSunStarBookmark.is-dark
  .inSunStarBookmark__title{
    color:
      rgba(255,255,255,.8);
  }


  /* NOTICE */

  .inSunStarNotice{
    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);
  }


  .inSunStarNotice span{
    flex:0 0 auto;

    font-size:.38rem;
  }


  .inSunStarNotice strong{
    overflow:hidden;

    color:
      rgba(255,255,255,.84);

    font-size:.57rem;

    white-space:nowrap;

    text-overflow:ellipsis;
  }


  /* HERO */

  .inSunStarHero,
  .inSunStarHero__inner{
    min-height:620px;
  }


  .inSunStarHero__inner{
    width:
      calc(100% - 34px);

    padding:
      50px 0 30px;
  }


  .inSunStarHero__copy{
    width:100%;

    align-self:end;

    padding:
      38px 0 24px;
  }


  body
  .inSunStar
  .inSunStarHero h1{
    max-width:100%!important;

    font-size:
      clamp(
        1.42rem,
        6vw,
        1.74rem
      )!important;

    line-height:
      1.65!important;
  }


  .inSunStarHero__lead{
    margin-top:
      20px!important;

    font-size:.73rem;

    line-height:2;
  }


  .inSunStarHero__pcBreak,
  .inSunStarHero__caption{
    display:none;
  }


  .inSunStarHero__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(7,24,39,.1) 0%,
        rgba(7,24,39,.37) 38%,
        rgba(7,24,39,.94) 100%
      );
  }


  /* SECTIONS */

  .inSunStarIntro,
  .inSunStarAfternoon,
  .inSunStarSunset,
  .inSunStarBetween,
  .inSunStarDinner,
  .inSunStarChange,
  .inSunStarPractical,
  .inSunStarChecklistSection,
  .inSunStarFaqSection,
  .inSunStarEnding,
  .inSunStarRelated{
    padding-top:77px;

    padding-bottom:83px;

    scroll-margin-top:39px;
  }


  .inSunStarIntro h2,
  .inSunStarContents h2,
  .inSunStarChapterHead h2,
  .inSunStarBetween h2,
  .inSunStarStars h2,
  .inSunStarSimpleHead h2,
  .inSunStarEnding h2,
  .inSunStarRelated h2{
    font-size:
      1.33rem!important;

    line-height:
      1.74!important;
  }


  .inSunStarChapterHead{
    margin-bottom:42px;
  }


  /* INTRO */

  .inSunStarIntro__lead{
    font-size:.79rem;

    line-height:2.03;
  }


  .inSunStarPhrase{
    margin-top:55px;
  }


  .inSunStarPhrase
  > p:last-child{
    font-size:1rem;
  }


  .inSunStarFacts{
    grid-template-columns:1fr;

    margin-top:50px;
  }


  .inSunStarFacts article{
    min-height:0;

    padding:
      25px 22px 28px;
  }


  .inSunStarImportant{
    padding:
      29px 22px 32px;
  }


  /* CONTENTS */

  .inSunStarContents{
    padding:
      75px 0 80px;
  }


  .inSunStarContents__head{
    text-align:left;
  }


  .inSunStarContents__details{
    margin-top:30px;
  }


  .inSunStarContents__details
  > summary{
    display:flex;

    min-height:55px;

    align-items:center;

    justify-content:
      space-between;

    padding:
      14px 16px!important;

    background:#fff;

    color:
      var(--ss-navy);

    font-family:
      "Noto Serif JP",
      serif!important;

    font-size:.72rem;
  }


  .inSunStarContents__details
  > summary
  > span:last-child{
    position:relative;

    width:18px;

    height:18px;
  }


  .inSunStarContents__details
  > summary
  > span:last-child::before,
  .inSunStarContents__details
  > summary
  > span:last-child::after{
    content:"";

    position:absolute;

    top:8px;
    left:3px;

    width:12px;

    height:1px;

    background:
      var(--ss-gold);
  }


  .inSunStarContents__details
  > summary
  > span:last-child::after{
    transform:
      rotate(90deg);
  }


  .inSunStarContents__details[open]
  > summary
  > span:last-child::after{
    transform:none;
  }


  .inSunStarContents__nav{
    grid-template-columns:1fr;

    padding-top:8px;
  }


  .inSunStarContents__nav a{
    min-height:101px;
  }


  /* AFTERNOON */

  .inSunStarAfternoonGrid{
    grid-template-columns:1fr;
  }


  .inSunStarAfternoonGrid article{
    min-height:0;

    padding:
      27px 23px 30px;
  }


  /* SUNSET */

  .inSunStarSunsetCard{
    grid-template-rows:
      auto 1fr;
  }


  .inSunStarSunsetCard img{
    aspect-ratio:4/3;

    height:auto!important;
  }


  .inSunStarSunsetCard > div{
    padding:
      30px 23px 34px;
  }


  .inSunStarSunsetRule{
    margin-top:50px;
  }


  /* BETWEEN */

  .inSunStarBetween__inner{
    width:
      calc(100% - 34px);
  }


  .inSunStarBetween__number{
    font-size:3.8rem;
  }


  /* DINNER */

  .inSunStarDinnerEditorial{
    padding:
      32px 23px 36px;
  }


  .inSunStarDinnerFeature figure{
    min-height:0;
  }


  .inSunStarDinnerFeature img{
    aspect-ratio:4/3;

    height:auto!important;
  }


  .inSunStarDinnerFeature > div{
    padding:
      30px 23px 34px;
  }


  /* STARS */

  .inSunStarStars,
  .inSunStarStars__inner{
    min-height:760px;
  }


  .inSunStarStars__media{
    position:absolute!important;

    inset:0!important;

    width:100%!important;

    height:100%!important;
  }


  .inSunStarStars__media img{
    width:100%!important;

    height:100%!important;

    object-fit:cover!important;
  }


  .inSunStarStars__inner{
    width:
      calc(100% - 34px);

    align-items:flex-end;

    padding:
      100px 0 54px;
  }


  .inSunStarStars__copy{
    width:100%;
  }


  .inSunStarStars__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(3,11,19,.13) 0%,
        rgba(3,11,19,.35) 36%,
        rgba(3,11,19,.96) 100%
      );
  }


  .inSunStarStars__notes{
    grid-template-columns:1fr;
  }


  /* 星はSPではさらに控えめ */
  .inSunStarStars__stars i:nth-child(n+8){
    display:none;
  }


  /* TABS */

  .inSunStarTabs__buttons{
    grid-template-columns:1fr;
  }


  .inSunStarTabs__buttons button{
    min-height:60px;
  }


  .inSunStarTabPanel{
    grid-template-columns:1fr;

    gap:18px;

    min-height:0;

    padding:
      30px 22px 33px;
  }


  /* PRACTICAL */

  .inSunStarPracticalGrid{
    grid-template-columns:1fr;
  }


  .inSunStarPracticalGrid article{
    min-height:0;

    padding:
      27px 23px 30px;
  }


  /* CHECKLIST */

  .inSunStarChecklist__toolbar{
    align-items:flex-start;

    flex-direction:column;

    padding:
      24px 21px;
  }


  .inSunStarChecklist__items{
    grid-template-columns:1fr;

    padding:
      16px 20px 22px;
  }


  .inSunStarChecklist
  label:nth-child(even){
    border-left:0;
  }


  .inSunStarChecklist
  label+label{
    border-top:
      1px solid
      var(--ss-border);
  }


  /* FAQ */

  .inSunStarFaq summary{
    min-height:66px;

    padding:
      16px 2px!important;

    font-size:
      .81rem!important;
  }


  .inSunStarFaq
  details > div{
    padding:
      0 30px 21px 2px;
  }


  /* RELATED */

  .inSunStarRelated__grid{
    grid-template-columns:1fr;
  }


  .inSunStarDisclaimer{
    text-align:left;
  }


  /* FLOATING */

  .inSunStarFloatingToc{
    right:14px;

    bottom:67px;

    min-width:49px;

    min-height:49px;

    padding:
      11px!important;
  }


  .inSunStarFloatingToc strong{
    display:none;
  }


  .inSunStarDrawer__panel{
    width:min(
      400px,
      94vw
    );

    padding:
      48px 23px 40px;
  }

}


/* ==================================================
   ELEMENTOR
================================================== */

.elementor-widget-html:has(.inSunStar){
  margin:0!important;
}


.elementor-element:has(
  > .elementor-widget-html
  .inSunStar
){
  margin:0!important;

  padding:0!important;
}


/* ==================================================
   FOCUS
================================================== */

.inSunStar a:focus-visible,
.inSunStar button:focus-visible,
.inSunStar summary:focus-visible,
.inSunStar input:focus-visible{
  outline:
    2px solid
    var(--ss-gold)!important;

  outline-offset:
    4px!important;
}


/* ==================================================
   REDUCED MOTION
================================================== */

@media(prefers-reduced-motion:reduce){

  .inSunStar *,
  .inSunStar *::before,
  .inSunStar *::after{
    animation:none!important;

    transition:none!important;
  }


  .in-sunstar-has-js
  .inSunStar
  .js-sunstar-reveal{
    opacity:1!important;

    transform:none!important;
  }


  .in-sunstar-has-js
  .inSunStar
  .js-sunstar-image::after{
    display:none!important;
  }


  .inSunStarNotice{
    display:none!important;
  }

}/* End custom CSS */