@charset "UTF-8";
#contents .article-body {
  padding-bottom: 0 !important; }
  #contents .article-body > section {
    margin: 0 auto !important; }
#contents .l-content {
  width: 100%; }
  #contents .l-content__inner {
    margin-bottom: 0 !important; }
  #contents .l-content__main {
    width: 100% !important; }
#contents .breadcrumb,
#contents .sec_inner {
  width: calc(100% - 32px);
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(8px * 2);
  padding-right: calc(8px * 2); }
  @media screen and (min-width: 768px) {
    #contents .breadcrumb,
    #contents .sec_inner {
      width: calc(768px - 32px); } }
  @media screen and (min-width: 960px) {
    #contents .breadcrumb,
    #contents .sec_inner {
      width: calc(960px - 32px); } }
  @media screen and (min-width: 1200px) {
    #contents .breadcrumb,
    #contents .sec_inner {
      width: calc(1212px - 32px); } }
#contents .sec_inner {
  padding-top: calc(8px * 8);
  padding-bottom: calc(8px * 8); }
#contents .ncH2:first-child {
  margin-top: 0 !important; }

ul,
ol,
li {
  list-style-type: none; }

table th {
  background-color: transparent;
  border: none; }
table td {
  border: none; }

body {
  color: #000;
  font-family: "YakuHanRP", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo UI", Meiryo, "メイリオ", sans-serif;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  word-break: break-word;
  line-break: strict;
  overflow-wrap: break-word;
  background-color: #fff;
  font-weight: 700; }
  @media (min-width: 768px) {
    body {
      min-width: 1160px; } }

a {
  color: #000;
  text-decoration: none; }
  a[href^="tel:"] {
    pointer-events: all; }
    @media (min-width: 768px) {
      a[href^="tel:"] {
        pointer-events: none; } }

.u-visible-sp {
  display: none !important; }
  @media (max-width: 767px) {
    .u-visible-sp {
      display: block !important; } }

@media (max-width: 767px) {
  .u-hidden-sp {
    display: none !important; } }

.secTtl {
  margin-bottom: 2em;
  font-family: "YakuHanRP", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo UI", Meiryo, "メイリオ", sans-serif !important;
  text-align: center; }
  .secTtl__main {
    font-size: 45px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    background: linear-gradient(transparent 70%, #fff026 70%); }
    @media (max-width: 767px) {
      .secTtl__main {
        font-size: 20px;
        letter-spacing: 0; } }

.ttl01 {
  padding-left: 0.5em;
  margin: 1.5em 0;
  border-left: 4px solid #333;
  font-size: 150%;
  font-family: "YakuHanRP", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo UI", Meiryo, "メイリオ", sans-serif; }

.btn {
  font-family: YakuHanJP, "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  min-width: 500px;
  border-radius: 999em;
  padding: 30px 60px;
  display: inline-block;
  position: relative;
  transition: background 0.4s ease; }
  @media (max-width: 767px) {
    .btn {
      font-size: 16px;
      width: 100%;
      max-width: 500px;
      min-width: auto;
      padding: 15px 40px; } }
  .btn::after {
    content: "\e900";
    font-family: "icomoon" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 22px;
    color: #fff;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%); }
    @media (max-width: 767px) {
      .btn::after {
        font-size: 16px;
        right: 15px; } }
  .btn.__black {
    color: #fff;
    background: #444;
    box-shadow: 0 6px 0 black; }
    @media (min-width: 768px) {
      .btn.__black:hover {
        background: #7c7c7c; } }
    @media (max-width: 767px) {
      .btn.__black {
        box-shadow: 0 3px 0 black; } }
  .btn.__brown {
    color: #fff;
    background: #6c5441;
    box-shadow: 0 6px 0 #2b221a; }
    @media (max-width: 767px) {
      .btn.__brown {
        box-shadow: 0 3px 0 black; } }
    @media (min-width: 768px) {
      .btn.__brown:hover {
        background: #a6866c; } }

#contents .sec_inner {
  container-type: inline-size; }
  @media (min-width: 768px) {
    #contents .sec_inner {
      padding-top: 50px;
      padding-bottom: 50px; } }
  @media (max-width: 767px) {
    #contents .sec_inner {
      width: 90vw;
      padding-left: 4.5vw;
      padding-right: 4.5vw; } }

.hero {
  background-image: url("/wp-content/ncPackage/img/page/toshima/hero_bg.png?uxqzi66wx");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  	/*}
  	&__character--toshima {
  		flex: 0 0 35.4%;
  		margin-left: 11.4%;
  
  		@include ls-small {
  			width: 50%;
  			max-width: 300px;
  			margin: 20px auto 0;
  		}
  	}*/ }
  @media (max-width: 767px) {
    .hero {
      padding: 5vw 8vw; } }
  @media (max-width: 767px) {
    .hero .sec_inner {
      width: 100% !important;
      margin: 0;
      padding: 0 !important; } }
  .hero__cont {
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (max-width: 767px) {
      .hero__cont {
        display: block; } }
  .hero__ttl--toshima {
    flex: 0 0 75%; }
    @media (max-width: 767px) {
      .hero__ttl--toshima {
        width: 100%;
        max-width: 500px;
        margin: 0 auto; } }

.about__card {
  border: 2px solid #333;
  border-radius: 5px;
  width: 100%; }
  @media (min-width: 768px) {
    .about__card {
      max-width: 800px;
      margin: 70px auto 0;
      padding: 56px;
      box-shadow: 10px 10px 0 #fff026; } }
  @media (max-width: 767px) {
    .about__card {
      max-width: 500px;
      margin: 35px auto 0;
      padding: 25px;
      box-shadow: 5px 5px 0 #fff026; } }
  .about__card__txt {
    font-size: 20px;
    line-height: 1.88;
    letter-spacing: 0.1em;
    text-align: center; }
    @media (max-width: 767px) {
      .about__card__txt {
        font-size: 15px;
        letter-spacing: 0.15em; } }
  .about__card__note {
    font-size: 16px;
    line-height: 1.88;
    letter-spacing: 0.1em;
    text-align: center;
    margin: 32px 0 0; }
    @media (max-width: 767px) {
      .about__card__note {
        font-size: 13px;
        margin: 16px 0 0; } }

.getPoint {
  background: #faf6e2; }
  .getPoint__cont {
    display: flex; }
    @media (min-width: 768px) {
      .getPoint__cont {
        flex-wrap: wrap;
        margin: 47px 0 0; } }
    @media (max-width: 767px) {
      .getPoint__cont {
        flex-direction: column; } }
  .getPoint__table {
    font-family: "YakuHanRP", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo UI", Meiryo, "メイリオ", sans-serif;
    background: #fff026;
    border-radius: 5px; }
    @media (max-width: 767px) {
      .getPoint__table {
        width: 100%; } }
    .getPoint__table__wrapper {
      background: #fff;
      border-radius: 5px;
      max-width: 100%;
      padding: 20px;
      flex: 0 0 64%; }
      @media (max-width: 767px) {
        .getPoint__table__wrapper {
          padding: 10px;
          overflow: scroll; } }
    .getPoint__table__th {
      font-size: 14px;
      font-weight: 700;
      border-bottom: 2px solid #fff;
      padding: 17px; }
      @media (max-width: 767px) {
        .getPoint__table__th {
          width: 30%;
          padding: 10px;
          text-align: left;
          border-right: 1px solid #fff;
          border-bottom: 1px solid #fff; } }
    .getPoint__table__td {
      font-size: 14px;
      font-weight: 500;
      line-height: 1.46;
      letter-spacing: 0;
      padding: 10px 15px; }
      @media (max-width: 767px) {
        .getPoint__table__td {
          font-size: clamp(1.1rem, 2vw, 1.4rem);
          width: 70%;
          padding: 10px;
          text-align: left;
          border-bottom: 1px solid #fff; } }
      .getPoint__table__td__note__item {
        font-size: 11px;
        padding-left: 1em;
        position: relative; }
        .getPoint__table__td__note__item::before {
          content: "※";
          position: absolute;
          left: 0; }
      .getPoint__table__td:last-child {
        font-size: 12px; }
    .getPoint__table .__borderBottom {
      border-bottom: 2px solid #fff; }
    .getPoint__table .__aligncenter {
      font-size: 16px;
      text-align: center; }
    .getPoint__table .__01 {
      width: 15%;
      border-right: 2px solid #fff; }
    .getPoint__table .__02 {
      width: 23%;
      border-right: 2px solid #fff; }
    .getPoint__table .__03 {
      width: 15%;
      border-right: 2px solid #fff; }
    .getPoint__table .__04 {
      width: 47%;
      border-right: 2px solid #fff; }
  @media (max-width: 767px) {
    .getPoint__detail {
      order: 1;
      max-width: 500px;
      margin: 32px auto 0; } }
  @media (min-width: 768px) {
    .getPoint__detail {
      margin-bottom: 5cqw; } }
  @media (max-width: 767px) {
    .getPoint__detail .ncColumns_panel:last-of-type {
      margin-top: 2em; } }
  .getPoint__txt {
    font-size: 16px;
    line-height: 2.25;
    letter-spacing: 0.1em;
    text-align: justify;
    display: block;
    margin: 40px 0 0; }
    @media (max-width: 767px) {
      .getPoint__txt {
        font-size: 14px;
        line-height: 1.8;
        margin: 20px 0 0; } }
  .getPoint__fig {
    border: 2px solid #dedede;
    margin: 48px 0 0; }
    @media (max-width: 767px) {
      .getPoint__fig {
        border-width: 1px;
        margin: 20px auto 0; } }

.point_table ul {
  background-color: #fff; }
  .point_table ul li.point_action span {
    display: block;
    font-weight: 400; }
  .point_table ul li .rice {
    font-weight: 400; }
@media (max-width: 767px) {
  .point_table ul {
    border: solid 1px #ddd;
    overflow: hidden;
    border-radius: 5px; }
  .point_table li::before {
    background: linear-gradient(to right, #FFF026, #FFDE37);
    border-right: solid 1px #ddd; }
  .point_table li:not(:last-of-type) {
    border-bottom: solid 1px #ddd; }
  .point_table li::before,
  .point_table li p {
    display: flex;
    flex-direction: column;
    justify-content: center; } }
@media (min-width: 768px) {
  .point_table {
    border: solid 1px #ddd;
    overflow: hidden;
    border-radius: 5px; }
    .point_table ul:not(:last-of-type) {
      border-bottom: solid 1px #ddd; }
    .point_table ul.subject {
      background: linear-gradient(to right, #FFF026, #FFDE37); }
    .point_table li {
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .point_table li:not(:last-of-type) {
        border-right: solid 1px #ddd; }
      .point_table li.point_action {
        width: 10em; }
      .point_table li.point_amount {
        width: 6em;
        text-align: center; }
      .point_table li.point_timing {
        width: 7em;
        text-align: center; }
      .point_table li.point_content {
        width: calc(100% - 10em - 6em - 7em); }
      .point_table li p {
        margin-bottom: 0; } }

@media (max-width: 767px) {
  .privilege .point {
    margin-top: 0; }
    .privilege .point .ttl01 {
      margin-top: 0; }
    .privilege .point img {
      margin-top: 2em; } }
.privilege img {
  border-radius: 0; }
.privilege .steps {
  counter-reset: step; }
  .privilege .steps .step {
    counter-increment: step; }
    .privilege .steps .step_counter span::after {
      content: counter(step,decimal-leading-zero); }
.privilege .steps .step_counter span {
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #1ea0da;
  border-radius: 50%;
  color: #fff;
  font-family: "Dosis", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: center; }
  .privilege .steps .step_counter span::after {
    z-index: 10;
    display: block; }
.privilege .steps {
  display: flex; }
  @media (min-width: 768px) {
    .privilege .steps {
      flex-wrap: wrap; } }
  @media (min-width: 768px) {
    .privilege .steps .step {
      width: calc(100% / 3);
      margin-bottom: 3cqw;
      padding: 0 2cqw; } }
  @media (max-width: 767px) {
    .privilege .steps .step {
      width: 81vw;
      flex: 0 0 81vw;
      scroll-snap-align: start;
      scroll-snap-stop: always;
      padding-left: 1vw;
      padding-right: 1vw; } }
  .privilege .steps .step_counter {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    @media (min-width: 768px) {
      .privilege .steps .step_counter {
        margin-bottom: 1cqw; } }
    @media (max-width: 767px) {
      .privilege .steps .step_counter {
        margin-bottom: 3vw; } }
    @media (min-width: 768px) {
      .privilege .steps .step_counter span {
        width: 6cqw;
        height: 6cqw;
        margin-right: 0.5cqw;
        font-size: 1cqw; }
        .privilege .steps .step_counter span::after {
          font-size: 3cqw; } }
    @media (max-width: 767px) {
      .privilege .steps .step_counter span {
        width: 15vw;
        height: 15vw;
        margin-right: 2vw;
        font-size: 3.5vw; }
        .privilege .steps .step_counter span::after {
          font-size: 8cqw; } }
    .privilege .steps .step_counter p {
      flex-grow: 1;
      flex-shrink: 1;
      overflow-wrap: break-word;
      word-break: normal;
      white-space: normal;
      margin-bottom: 0; }
      @media (min-width: 768px) {
        .privilege .steps .step_counter p {
          width: calc(100% - 8cqw); }
          .privilege .steps .step_counter p::after {
            font-size: 3cqw; } }
      @media (max-width: 767px) {
        .privilege .steps .step_counter p {
          width: calc(100% - 19vw); } }
  .privilege .steps .step picture {
    width: 100%; }
    @media (min-width: 768px) {
      .privilege .steps .step picture {
        height: 40cqw; } }
    @media (max-width: 767px) {
      .privilege .steps .step picture {
        height: 100vw; } }
    .privilege .steps .step picture img {
      width: auto;
      height: 100%;
      margin: auto; }
    .privilege .steps .step picture + p {
      width: 65%;
      margin: 1.5em auto 0;
      font-size: 85%;
      font-weight: 400; }
.privilege .step {
  position: relative; }
.privilege .exchange .step:has(+ .step) picture::after,
.privilege .coupon .step:not(:last-of-type) picture::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  aspect-ratio: 39/45;
  background-image: url("/wp-content/ncPackage/img/page/toshima/next-triangle.svg?uxqzi66wz");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 10%; }

@media (max-width: 767px) {
  .benefit .js-scrollable.steps {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 4vw;
    overscroll-behavior-x: contain; }

  .benefit .js-scrollable.steps .step {
    scroll-snap-align: start;
    scroll-snap-stop: always; } }
/*スタッフ確認枠周り*/
body.is-modal-open {
  overflow: hidden; }

@media (min-width: 768px) {
  .js-scrollable {
    overflow: visible !important; }

  .border {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border: 2px solid #333;
    border-radius: 1cqw;
    box-shadow: 10px 10px 0 #fff026; }
    .border .notice {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      width: 100%;
      padding: 3cqw 0;
      text-align: center; }
      .border .notice_label, .border .notice_title {
        width: fit-content;
        margin-bottom: 0; }
      .border .notice_label {
        padding: 0 1em;
        margin-right: 1em;
        border-radius: 2em;
        background: #1ea0da;
        color: #fff;
        font-weight: 700;
        letter-spacing: 0.08em;
        font-size: 1.5cqw; }
      .border .notice_body {
        width: 100%; }
        .border .notice_body::before {
          content: "";
          display: block;
          width: 60%;
          height: 1px;
          margin: 1em auto;
          background-color: #aaa; }

  .modal {
    display: none; } }
@media (max-width: 767px) {
  .border {
    display: contents; }

  .notice {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: none; }
    .notice.is-open {
      display: block !important; }
    .notice_overlay {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.55); }
    .notice_dialog {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      width: 90vw;
      background: #fff;
      border-radius: 16px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
      padding: 5vw 4.5vw 4.5vw; }
    .notice_close {
      position: absolute;
      top: 3vw;
      right: 3vw;
      width: 12vw;
      height: 12vw;
      border: 0;
      border-radius: 999px;
      background: #efefef;
      cursor: pointer;
      line-height: 1;
      padding: 0; }
      .notice_close span {
        display: inline-block;
        font-size: 8vw;
        color: #666;
        transform: translateY(-1px); }
    .notice_label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 9vw;
      padding: 0 4.5vw;
      margin: 0 0 4vw;
      border-radius: 999px;
      background: #1ea0da;
      color: #fff;
      font-weight: 700;
      letter-spacing: 0.08em;
      font-size: 4vw; }
    .notice_title {
      margin: 0;
      padding-bottom: 4vw;
      border-bottom: 1px solid #ddd;
      font-size: 7vw;
      font-weight: 700;
      line-height: 1.35;
      color: #20242a; }
    .notice_body {
      margin-top: 4.5vw;
      color: #20242a; }
      .notice_body p {
        margin: 0;
        font-size: 4.6vw;
        line-height: 1.7;
        font-weight: 500; }
        .notice_body p + p {
          margin-top: 3vw; } }
.official {
  background: #faf6e2; }
  .official .ncButton {
    margin-bottom: 0; }
