@charset "UTF-8";

/*==========================================
  Reset style
=============================================*/
/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*==========================================
  Base style
=============================================*/
/*------------------------------
  Font
--------------------------------*/
@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 400;
  src: url("/afl/est/font/ZenKakuGothicNew-Regular.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 500;
  src: url("/afl/est/font/ZenKakuGothicNew-Medium.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 700;
  src: url("/afl/est/font/ZenKakuGothicNew-Bold.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "BarlowSemiCondensed";
  font-style: normal;
  font-weight: 400;
  src: url("/afl/est/font/BarlowSemiCondensed-Regular.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "BarlowSemiCondensed";
  font-style: normal;
  font-weight: 600;
  src: url("/afl/est/font/BarlowSemiCondensed-SemiBold.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "BarlowSemiCondensed";
  font-style: normal;
  font-weight: 700;
  src: url("/afl/est/font/BarlowSemiCondensed-Bold.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Gruppo";
  font-style: normal;
  font-weight: 400;
  src: url("/afl/est/font/Gruppo-Regular.ttf") format("truetype");
  font-display: swap;
}
/*------------------------------
  CSS custom property
--------------------------------*/
:root {
  /* Layout */
  --content-padding-inline: 4.266vw;
  --content-negative-margin-inline: calc(var(--content-padding-inline) * -1);
  --content-width: 100%;
  /* Font */
  --ff-num01: "BarlowSemiCondensed";
  --ff-num02: "Gruppo";
  /* Transition */
  --transition-opacity-prop01: opacity 0.4s ease;
  --transition-opacity-value01: 0.5;
  --transition-opacity-value02: 0.3;
  --transition-background01: background 0.4s ease;
  --transition-button01: background-color 0.4s ease / border-color 0.4s ease;
  --transition-link01: text-decoration-color 0.4s ease;
  --transition-tab01: background-color 0.3s ease, color 0.3s ease, min-height 0.3s ease;
  /* Z-index */
  --z-base-back: -1;
  --z-base: 0;
  --z-content: 1;
  --z-content-higher: 2;
  --z-content-header: 5;
  --z-content-fixed: 10;
  --mv-padding-inline: 6.4vw;
  /* Color */
  --color-link01: #0a3090;
  --color-note01: #000;
  /* Large Title */
  --large-title-fz: 2.8rem;
  --large-title-tracking: 0.2em;
  --large-pre-title-fz: 1.6rem;
  --large-pre-title-tracking: 0.2em;
  /* Medium Title */
  --medium-title-fz: 2.4rem;
  --medium-title-tracking: 0.08em;
  --medium-pre-title-fz: 2rem;
  --medium-pre-title-tracking: 0.1em;
}
@media all and (min-width: 751px) {
  :root {
    /* Layout */
    --content-padding-inline: max(24px, 0.833vw);
    --content-width: 1200px;
    --mv-padding-inline: 32px;
    /* Large Title */
    --large-pre-title-fz: 2.4rem;
    --large-pre-title-tracking: 0.4em;
    --large-title-fz: 3.6rem;
    --large-title-tracking: 0.3em;
    /* Medium Title */
    --medium-pre-title-fz: 2.4rem;
    --medium-pre-title-tracking: 0.4em;
    --medium-title-fz: 3.2rem;
    --medium-title-tracking: 0.3em;
  }
}
@media all and (min-width: 1441px) {
  :root {
    /* Layout */
    --content-padding-inline: 120px;
  }
}
/*------------------------------
  Default
--------------------------------*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  color: #333;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
}
img {
  height: auto;
  vertical-align: bottom;
}
b {
  font-weight: unset;
}
em {
  font-style: unset;
}
strong {
  font-weight: unset;
}
ul,
ol {
  margin: 0;
  padding: 0;
}
button {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  padding: 0;
}
a[href*="tel:"] {
  color: var(--color-link01);
  text-decoration: none;
  transition: var(--transition-link01);
}
@media screen and (min-width: 751px) {
  a[href*="tel:"] {
    cursor: default;
    color: unset;
    pointer-events: none;
  }
}
/*==========================================
  Base Style
=============================================*/
.container__contents {
  padding-bottom: 32px;
  position: relative;
}
@media screen and (min-width: 751px) {
  .container__contents {
    padding-bottom: 40px;
  }
}
/*------------------------------
  Header
--------------------------------*/
.header {
  inset: 24px 0 auto 0;
  opacity: 1;
  padding-inline: var(--mv-padding-inline);
  position: absolute;
  transition: opacity 0.8s ease-in-out;
  width: 100%;
  z-index: var(--z-content-header);
}
.header.is-loading {
  opacity: 0;
}
.header__inner {
  margin-inline: auto;
  width: 100%;
}
.header__logo {
  width: 177px;
}
@media screen and (min-width: 751px) {
  .header__inner {
    max-width: 1376px;
  }
  .header__logo {
    width: 260px;
  }
}
/*------------------------------
  Content
--------------------------------*/
.content {
  background-color: #fff;
  padding-inline: var(--content-padding-inline);
  position: relative;
}
.content::before {
  height: 40px;
  left: 0;
  position: absolute;
  top: -2px;
  width: 100%;
  z-index: var(--z-base-back);
}
:is(.content--attraction, .content--goodDeal, .content--lounge, .content--mile) {
  border-radius: 32px 32px 0px 0px;
}
/* attraction, goodDeal */
:is(.content--attraction, .content--goodDeal) {
  background-color: #f4eff4;
  margin-top: 68px;
  padding-block: 132px 48px;
}
.content--attraction {
  overflow: hidden;
}
.content--goodDeal {
  padding-bottom: 88px;
}
/* lounge */
.content--lounge {
  background-color: #f3eee0;
  padding-block: 220px 80px;
  position: relative;
}
.content--lounge::before {
  background-color: #f4eff4;
  content: "";
}
.content--lounge::after {
  background: url(/afl/est/img/bg_lounge_001_sp.jpg) no-repeat center / cover;
  border-radius: 32px 32px 0px 0px;
  content: "";
  height: 220px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: var(--z-base);
}
/* mile */
.content--mile {
  background-image: linear-gradient(to bottom, #eed8cc 0%, #f4ece7 124px, #f4ece7 100%);
  padding-block: 132px 80px;
}
.content--mile::before {
  background-color: #f3eee0;
  content: "";
}
/* switching */
.content--switching {
  padding-block: 64px 146px;
}
/* faq */
.content--faq {
  background-color: #e7eaf0;
  padding-block: 64px;
}
/* cards */
.content--cards {
  padding-top: 64px;
}
.content__inner {
  margin-inline: auto;
  max-width: var(--content-width);
  position: relative;
  width: 100%;
  z-index: var(--z-content);
}
@media screen and (min-width: 751px) {
  .content::before {
    height: 130px;
  }
  :is(.content--attraction, .content--goodDeal, .content--lounge) {
    border-radius: 120px 120px 0px 0px;
  }
  /* attraction, goodDeal */
  :is(.content--attraction, .content--goodDeal) {
    margin-top: 100px;
    padding-block: 146px 120px;
  }
  /* lounge */
  .content--lounge {
    padding-block: 528px 136px;
  }
  .content--lounge::after {
    background-image: url(/afl/est/img/bg_lounge_001_pc.jpg);
    border-radius: 120px 120px 0px 0px;
    height: 528px;
  }
  /* mile */
  .content--mile {
    background-image: linear-gradient(to bottom, #eed8cc 0%, #f4ece7 324px, #f4ece7 100%);
    border-radius: 128px 128px 0 0;
    padding-block: 148px 136px;
  }
  /* switching */
  .content--switching {
    padding-block: 92px 156px;
  }
  /* faq */
  .content--faq {
    padding-block: 100px 120px;
  }
  /* cards */
  .content--cards {
    padding-top: 100px;
  }
}
/*------------------------------
  Footer
--------------------------------*/
.footer {
  padding-bottom: 136px;
  text-align: center;
}
html.is-fixed .footer {
  padding-bottom: 114px;
}
.footer small {
  font-size: 1.2rem;
}
@media screen and (min-width: 751px) {
  .footer {
    padding-bottom: 130px;
  }
  .footer small {
    font-size: 1.4rem;
  }
}

/*==========================================
  Parts Style
=============================================*/
/*------------------------------
  heading01
--------------------------------*/
.heading01 {
  margin-bottom: 36px;
}
.heading01__title {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
.heading01__title > span {
  font-size: 2rem;
}

@media screen and (min-width: 751px) {
  .heading01__title {
    font-size: 3.2rem;
  }
  .heading01__title > span {
    font-size: 2.4rem;
  }
}
/*------------------------------
  Text
--------------------------------*/
/* text01 */
.text01 {
  --text01-fz-num: 1.8rem;
  --text01-fz-txt: 1.4rem;
}
.text01--emphasis {
  --text01-fz-num: 3.2rem;
  --text01-fz-txt: 1.4rem;
}
.text01 {
  text-align: unset;
}
.text01:has(.text01__head) {
  display: grid;
  grid-template-rows: auto;
  place-content: center;
  place-items: center;
}
.text01--emphasis {
  font-weight: 700;
}
.text01__head {
  color: #333;
  font-weight: 500;
}
.text01__num {
  font-family: var(--ff-num01);
  font-size: var(--text01-fz-num);
}
b.text01__num {
  font-weight: 600;
}
.text01__num:not(:first-child) {
  margin-left: 0.15em;
}
.text01__txt01 {
  font-size: var(--text01-fz-txt);
}
.text01__txt02 {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
}
.text01__note01 {
  column-gap: 4px;
  display: grid;
  font-size: 1.2rem;
  font-weight: 500;
  grid-template-columns: auto minmax(0, auto);
  place-content: center;
}
.text01__note01 > span:last-child {
  text-align: left;
}
/* text02 */
.text02 {
  color: #c71715;
  font-size: 2rem;
  font-weight: 700;
}
/* textUnit01 */
.textUnit01 {
  display: grid;
  grid-template-rows: auto;
  place-content: center;
  place-items: center;
}
.textUnit01__head {
  --textUnit01-fz-num: 1.8rem;
  --textUnit01-fz-txt: 1.4rem;
  --textUnit01-fw-txt: 500;
}
.textUnit01__body {
  --textUnit01-fz-num: 3.2rem;
  --textUnit01-fz-txt: 1.4rem;
  --textUnit01-fw-txt: 700;
}
.textUnit01__plus {
  font-family: var(--ff-num01);
  font-size: 1.6rem;
  line-height: 1;
  margin-block: 6px;
  position: relative;
  text-align: center;
}
.textUnit01__num {
  font-family: var(--ff-num01);
  font-size: var(--textUnit01-fz-num);
  font-weight: 600;
}
.textUnit01__txt {
  font-size: var(--textUnit01-fz-txt);
  font-weight: var(--textUnit01-fw-txt);
}
.textUnit01__body {
  color: #c71715;
}
/* textBaloon01 */
.textBaloon01 {
  margin-inline: auto;
  max-width: 168px;
  padding-top: 6px;
  position: relative;
  width: 100%;
}
.textBaloon01::before {
  background-color: #c71715;
  bottom: auto;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  content: "";
  height: 12px;
  inset: 0;
  margin-inline: auto;
  position: absolute;
  width: 14px;
  z-index: var(--z-content);
}
.textBaloon01__inner {
  background-color: #c71715;
  border-radius: 16px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 4px 2px 12px;
  text-align: center;
}
.textBaloon01__num {
  font-family: var(--ff-num01);
  font-size: 2.5rem;
  font-weight: 600;
  margin-left: 0.05em;
}
@media screen and (min-width: 751px) {
  /* text01 */
  .text01 {
    --text01-fz-num: 4rem;
    --text01-fz-txt: 1.6rem;
  }
  .text01--emphasis {
    --text01-fz-num: 4.8rem;
    --text01-fz-txt: 1.6rem;
  }
  .text01__txt01 {
    font-weight: 500;
  }
  .text01__txt02 {
    font-size: 1.6rem;
    font-weight: 500;
  }
  .text01__note01 {
    column-gap: 0;
    font-size: 1.4rem;
    font-weight: 400;
  }
  /* text02 */
  .text02 {
    font-size: 3.6rem;
  }
  /* textUnit01 */
  .textUnit01__head {
    --textUnit01-fz-num: 3.2rem;
    --textUnit01-fz-txt: 2rem;
  }
  .textUnit01__body {
    --textUnit01-fz-num: 4.8rem;
    --textUnit01-fz-txt: 1.6rem;
  }
  .textUnit01__plus {
    font-size: 2.8rem;
  }
  /* textBaloon01 */
  .textBaloon01 {
    max-width: inherit;
    padding-top: 14px;
    width: fit-content;
  }
  .textBaloon01::before {
    height: 21px;
    width: 24px;
  }
  .textBaloon01__inner {
    font-size: 2rem;
    padding-inline: 12px;
  }
  .textBaloon01__num {
    font-size: 4rem;
  }
}
/*------------------------------
  Link
--------------------------------*/
.link01 {
  color: var(--color-link01);
  font-size: unset;
  font-weight: 500;
  position: relative;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  transition: var(--transition-link01);
}
.link01[target="_blank"] {
  --blank-padding-left: 18px;
  padding-right: var(--blank-padding-left);
}
.link01[target="_blank"]::after {
  background: url(/afl/est/img/icon_blank_002.svg) no-repeat center / contain;
  content: "";
  display: inline-block;
  height: 16px;
  line-height: 0;
  margin-right: calc(var(--blank-padding-left) * -1);
  position: relative;
  top: -0.15em;
  vertical-align: middle;
  width: 16px;
}
@media screen and (min-width: 751px) {
  .link01[target="_blank"] {
    --blank-padding-left: 22px;
    padding-right: var(--blank-padding-left);
  }
  .link01[target="_blank"]::after {
    height: 20px;
    width: 20px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
  .link01:hover {
    text-decoration-color: currentColor;
  }
}
/*------------------------------
  Detail
--------------------------------*/
/* detail01 */
.detail01 {
  font-size: 1.2rem;
}
.detail01:not(:first-child) {
  margin-top: 18px;
}
.detail01:has(.detail01__block) {
  display: grid;
  grid-template-rows: auto;
  row-gap: 18px;
}
.detail01__descList {
  display: grid;
  grid-template-rows: auto;
  row-gap: 2px;
}
/* detail02 */
.detail02Wrapper__ttl {
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
}
.detail02Wrapper__ttl--comb {
  font-size: 1.1rem;
}
.detail02Wrapper__ttl--comb > span {
  font-size: 0.8rem;
}
.detail02 {
  display: grid;
  font-weight: 700;
  grid-template-columns: auto minmax(0, auto);
  place-items: baseline center;
  place-content: center;
}
.detail02__ttl {
  font-size: 1.1rem;
}
.detail02__descNum {
  font-family: var(--ff-num01);
  font-size: 2.4rem;
}
@media screen and (min-width: 751px) {
  /* detail01 */
  .detail01 {
    font-size: 1.4rem;
  }
  .detail01:not(:first-child) {
    margin-top: 20px;
  }
  .detail01:has(.detail01__block) {
    row-gap: 20px;
  }
  /* detail02 */
  .detail02Wrapper__ttl {
    font-size: 1.4rem;
  }
  .detail02Wrapper__ttl--comb {
    font-size: 1.6rem;
  }
  .detail02Wrapper__ttl--comb > span {
    font-size: 1.4rem;
  }
  .detail02 {
    font-weight: 700;
  }
  .detail02__ttl {
    font-size: 1.6rem;
  }
  .detail02__descNum {
    font-size: 3.2rem;
  }
}
/*------------------------------
  List
--------------------------------*/
/* listNote01, 02 */
:is(.listNote01, .listNote02) {
  color: var(--color-note01);
  display: grid;
  grid-template-columns: 1em auto;
  grid-template-rows: auto;
  row-gap: 8px;
}
:is(.listNote01__item, .listNote02__item) {
  column-gap: 3px;
  font-size: 1.2rem;
  display: grid;
  grid-column: span 2;
  grid-template-columns: subgrid;
}
/* anchorList */
.anchorList {
  gap: 16px 0;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.anchorList__item {
  border-bottom: solid 1px #ddd;
  transition: border-color 0.4s 0s ease;
}
.anchorList__link {
  color: #333;
  column-gap: 8px;
  display: grid;
  grid-template-columns: 1fr auto;
  font-size: 1.4rem;
  font-weight: 500;
  padding-bottom: 12px;
  place-items: center start;
  text-decoration: none;
  transition: var(--transition-opacity-prop01);
}
.anchorList__link::after {
  background: url(/afl/est/img/icon_triangle_001.svg) no-repeat center / contain;
  content: "";
  height: 17px;
  width: 18px;
}
@media screen and (min-width: 751px) {
  /* listNote01, 02 */
  :is(.listNote01__item, .listNote02__item) {
    column-gap: 4px;
  }
  .listNote02__item {
    font-size: 1.4rem;
  }
  /* anchorList */
  .anchorList {
    gap: 0 64px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .anchorList__link {
    column-gap: 16px;
    font-size: 1.7rem;
    padding-bottom: 20px;
  }
  .anchorList__link::after {
    height: 12px;
    width: 14px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
  .anchorList__item:has(.anchorList__link:hover) {
    border-color: #e9e9e9;
  }
  .anchorList__link:hover {
    cursor: pointer;
    opacity: var(--transition-opacity-value01);
  }
}
/*------------------------------
  Step
--------------------------------*/
.step01 {
  display: grid;
  grid-template-rows: auto;
  row-gap: 24px;
}
.step01__detailTtl {
  border-left: solid 5px #c71715;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
  padding-left: 13px;
}
.step01__detailDesc {
  display: grid;
  grid-template-rows: auto;
  row-gap: 16px;
}
.step01__detailDesc:not(:first-child) {
  margin-top: 16px;
}
.step01__detailTxt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (min-width: 751px) {
  .step01__detailTxt {
    font-size: 1.6rem;
  }
}
/*------------------------------
  Button
--------------------------------*/
/* button01, button02 */
.button01 {
  --btn01-bg-color01: #c71715;
  --btn01-bg-color02: #fff;
  --btn01-hover: #d04342;
}
.button01--colorWhite {
  --btn01-bg-color01: #fff;
  --btn01-bg-color02: #c71715;
}
.button01 {
  background-color: var(--btn01-bg-color01);
  border-radius: 9999px;
  border: solid 1px var(--btn01-bg-color01);
  color: var(--btn01-bg-color02);
  display: grid;
  font-size: 1.6rem;
  font-weight: 700;
  overflow: hidden;
  padding: 12px 16px;
  place-items: center stretch;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: var(--transition-button01);
}
.button01--colorWhite {
  border-color: currentColor;
}
:is(.button01--arrow01, .button01[target="_blank"]) .button01__inner {
  column-gap: 4px;
  display: grid;
  grid-template-columns: 1fr auto;
  place-content: center;
  place-items: center;
}
.button01--arrow01 .button01__inner::after {
  background: url(/afl/est/img/icon_arrow_right_001.svg) no-repeat center / contain;
  content: "";
  height: 16px;
  width: 16px;
}
.button01[target="_blank"] .button01__inner {
  grid-template-columns: auto 1fr auto;
}
.button01[target="_blank"] .button01__inner::before {
  content: "";
  height: 18px;
  width: 18px;
}
.button01[target="_blank"] .button01__inner::after {
  background: url(/afl/est/img/icon_blank_001.svg) no-repeat center / contain;
  content: "";
  height: 18px;
  width: 18px;
}
@media screen and (min-width: 751px) {
  .button01--pcMax320 {
    max-width: 320px;
  }
  .button01--arrow01 .button01__inner {
    column-gap: 8px;
  }
  .button01--arrow01 .button01__inner::after {
    height: 24px;
    width: 24px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
  .button01:not(.button01--colorWhite):hover {
    background-color: var(--btn01-hover);
  }
  .button01--colorWhite:hover {
    border-color: var(--btn01-hover);
  }
}
/*------------------------------
  Table
--------------------------------*/
.table01Wrapper {
  border-radius: 16px 16px 24px 24px;
  overflow: hidden;
  position: relative;
  margin-inline: calc(-1 * var(--content-padding-inline));
}
.table01Wrapper::before {
  background-image: linear-gradient(to right, #f6f6f9 50%, #dedede 50%);
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}
.table01 {
  border-collapse: collapse;
  border-spacing: 0;
  position: relative;
  table-layout: fixed;
  width: 100%;
}
.table01__col {
  width: 50%;
}
.table01__head .table01__header {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  padding: 12px;
  text-align: center;
}
.table01__head .table01__header:first-child {
  background-color: #a2a2a2;
}
.table01__head .table01__header:last-child {
  background-image: url(/afl/est/img/bg_decoration_sp_001.svg), url(/afl/est/img/bg_decoration_sp_002.svg);
  background-color:#828282;
  background-position: center left, center right;
  background-repeat: no-repeat, no-repeat;
}
.table01__image01 img {
  margin-inline: auto;
  width: 143px;
}
.table01__body .table01__row:first-child .table01__data {
  padding-block: 20px;
}
.table01__foot .table01__data {
  padding-block: 8px 24px;
}
.table01__header {
  padding-inline: 16px;
}
.table01__headerText:not(:first-child) {
  display: block;
  margin-top: 8px;
}
.table01__data {
  font-size: 1.2rem;
  vertical-align: middle;
  padding: 4px 12px 12px;
  text-align: center;
}
:is(.table01__body, .table01__foot) .table01__header {
  padding-inline: 16px;
}
.table01__label01 {
  align-items: center;
  background-color: #fff;
  border-radius: 9999px;
  column-gap: 2px;
  display: flex;
  font-size: 1.2rem;
  font-weight: 700;
  justify-content: center;
  margin-inline: auto;
  min-height: 28px;
  padding: 4px;
  width: 100%;
}
.table01__label01Note {
  font-size: 1.2rem;
  font-weight: 400;
}
@media screen and (min-width: 751px) {
  .table01Wrapper {
    margin-inline: auto;
  }
  .table01__head .table01__header {
    font-size: 2rem;
    padding: 16px;
  }
  .table01__head .table01__header:last-child {
    background-image: url(/afl/est/img/bg_decoration_pc_001.svg), url(/afl/est/img/bg_decoration_pc_002.svg);
  }
  .table01__image01 img {
    width: 253px;
  }
  .table01__body .table01__row:first-child .table01__data {
    padding-block: 42px 40px;
  }
  .table01__foot .table01__data {
    padding-block: 12px 40px;
  }
  .table01__header {
    padding-inline: 0;
  }
  .table01__data {
    font-size: 1.6rem;
    padding: 12px 16px 20px;
  }
  .table01__label01 {
    font-size: 1.6rem;
    max-width: 1040px;
    min-height: 32px;
  }
  .table01__label01Note {
    font-size: 1.4rem;
    margin-left: 8px;
  }
}
/*------------------------------
  Accordion
--------------------------------*/
.accordion01Wrapper {
  display: grid;
  grid-template-rows: auto;
  row-gap: 24px;
}
.accordion01 {
  background-color: #fff;
  border: solid 1px #e7eaf0;
}
.accordion01::details-content {
  transition: height 0.4s ease-out, opacity 0.4s ease-out, content-visibility 0.4s allow-discrete;
  height: 0;
  opacity: 0;
  overflow: clip;
}
.accordion01[open]::details-content {
  opacity: 1;
}
.accordion01__title {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 8px 32px 8px 16px;
  position: relative;
  text-align: left;
  transition: color 0.4s 0s ease;
}
.accordion01__title::after {
  background: url(/afl/est/img/icon_chevron-bottom_002.svg) no-repeat center / contain;
  content: "";
  height: 16px;
  position: absolute;
  right: 12px;
  top: calc(50% - 8px);
  transition: transform 0.4s 0s ease;
  width: 16px;
}
.accordion01[open] .accordion01__title::after {
  transform: rotate(180deg);
}
.accordion01__body {
  border-top: solid 1px #e7eaf0;
}
.accordion01__bodyInner {
  padding: 24px 16px;
}
@media screen and (min-width: 751px) {
  .accordion01Wrapper {
    row-gap: 32px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
  .accordion01__title:hover {
    color: #4a4a4a;
    cursor: pointer;
  }
}
/* height: 0 → auto のアニメーションをサポートしているブラウザ用 */
@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords;
  }
  .accordion01[open]::details-content {
    height: auto;
  }
}
/* height: 0 → auto のアニメーションをサポートしていないブラウザ用（Safari等） */
@supports not (interpolate-size: allow-keywords) {
  .accordion01[open]::details-content {
    /* height: 500px; 高さ調整 */
    overflow-y: auto;
  }
}
/*------------------------------
  Carousel
--------------------------------*/
.carousel--type01 {
  --carousel-arrow-color: #3b3b3b;
  --carousel-arrow-color-hover: #4a4a4a;
  --carousel-arrow-url: url(/afl/est/img/icon_chevron-right_001.svg) no-repeat center / contain;
  --carousel-aspect-ratio: 750 / 422;
  --carousel-toggle-color: #22355d;
  --carousel-toggle-color-hover: #384c77;
  --carousel-pagenation-color: #d9d9d9;
  --carousel-pagenation-color-active: #22355d;
}
.carousel--type02 {
  --carousel-arrow-color: #fff;
  --carousel-arrow-color-hover: rgb(255 255 255 / 0.8);
  --carousel-arrow-url: url(/afl/est/img/icon_chevron-right_002.svg) no-repeat center / contain;
  --carousel-aspect-ratio: 1040 / 666;
  --carousel-toggle-color: #775a26;
  --carousel-toggle-color-hover: #816B43;
  --carousel-pagenation-color: #d5cdb8;
  --carousel-pagenation-color-active: #775a26;
}
.carousel.is-notCarousel {
  visibility: visible;
}
:is(.carousel:not(.is-active), .carousel:has(.splide__spinner)) .carousel__track {
  /* For layout shift measures */
  aspect-ratio: var(--carousel-aspect-ratio);
}
.carousel__item {
  position: relative;
}
.carousel__image img {
  width: 100%;
}
.carousel__texts {
  align-items: flex-end;
  bottom: 8.58px;
  color: #fff;
  column-gap: 12.5px;
  display: flex;
  left: 13px;
  position: absolute;
}
.carousel__textsNum {
  font-family: var(--ff-num02);
  font-size: 5.509rem;
  line-height: 3.856rem;
  min-width: 50px;
  padding-top: 1.377rem;
  position: relative;
  text-align: center;
}
.carousel__textsNum > span {
  display: block;
  font-size: 1.377rem;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 0;
  text-align: center;
  width: 100%;
}
.carousel__textsTxt {
  font-size: 1.6rem;
  font-weight: 500;
  padding-bottom: 5.57px;
}
.carousel__note {
  bottom: auto;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  position: absolute;
  right: 1.73px;
  top: 4px;
}
.carousel__note > span {
  margin-right: 0.25em;
}
.carousel__progress {
  column-gap: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0 , 103px));
  margin: 0 auto 14px;
  padding-inline: 16px;
  place-content: start center;
}
.carousel__progressItem {
  aspect-ratio: 206 / 188;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
}
.carousel__progressItem.is-current {
  aspect-ratio: 207 / 192;
}
.carousel__progressItem:nth-child(1) {
  background-image: url(/afl/est/img/icon_service-01_001.png);
}
.carousel__progressItem:nth-child(2) {
  background-image: url(/afl/est/img/icon_service-02_001.png);
}
.carousel__progressItem:nth-child(3) {
  background-image: url(/afl/est/img/icon_service-03_001.png);
}
.carousel__progressItem.is-current:nth-child(1) {
  background-image: url(/afl/est/img/icon_service-01_001_a.png);
}
.carousel__progressItem.is-current:nth-child(2) {
  background-image: url(/afl/est/img/icon_service-02_001_a.png);
}
.carousel__progressItem.is-current:nth-child(3) {
  background-image: url(/afl/est/img/icon_service-03_001_a.png);
}
.carousel.is-notCarousel .carousel__list {
  display: block;
}
.carousel__link {
  display: block;
  outline-offset: -1px;
  position: relative;
  transition: var(---transition-opacity-prop01);
}
.carousel__link::before {
  background-color: #fff;
  content: "";
  inset: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  transition: var(---transition-opacity-prop01);
  z-index: var(--z-content);
}
.carousel__controlsWrapper {
  gap: 20px 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  margin-top: 12px;
}
.carousel__controlsWrapper[hidden] {
  display: none;
}
.carousel__additionalInfo {
  font-size: 1.6rem;
  line-height: 2;
  padding-inline: 24px;
}
.carousel__controls {
  column-gap: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  place-content: center;
  place-items: center;
}
.carousel__pagination {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}
/* Because there are cases where the 'is-overflow' class is not attached and the 'display: none' style is attached. */
.splide.is-initialized.is-active .carousel__pagination {
  display: flex;
}
.carousel__pagination > li {
  display: flex;
  width: 100%;
}
.carousel__paginationPage {
  background-color: var(--carousel-pagenation-color);
  background-clip: content-box;
  height: 32px;
  padding: 15px 0;
  transition: var(--transition-background01);
  width: 100%;
}
.carousel__paginationPage.is-active {
  background-color: var(--carousel-pagenation-color-active);
}
.carousel__toggle {
  background-color: var(--carousel-toggle-color);
  border-radius: 8px;
  height: 24px;
  position: relative;
  transition: var(--transition-background01);
  width: 40px;
}
.carousel__toggle::before {
  background-image: url(/afl/est/img/icon_play_001.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  height: 10px;
  inset: 0;
  margin: auto;
  position: absolute;
  transition: var(--transition-background01);
  width: 10px;
  z-index: var(--z-content);
}
.carousel__toggle.is-active::before {
  background-image: url(/afl/est/img/icon_pause_001.svg);
}
.carousel__arrowWrapper {
  column-gap: 16px;
  display: flex;
  place-self: center end;
}
.carousel__arrow {
  background-color: var(--carousel-arrow-color);
  border-radius: 18px;
  height: 32px;
  position: relative;
  transition: var(--transition-background01);
  width: 64px;
}
.carousel__arrow::before {
  background: var(--carousel-arrow-url);
  content: "";
  height: 24px;
  inset: 0;
  margin: auto;
  position: absolute;
  width: 24px;
}
.carousel__arrow:first-child {
  transform: rotate(-180deg);
}
.carousel__arrow.is-active {
  background-color: #3b3b3b;  height: 32px;
  width: 64px;
}
.carousel02__image {
  position: relative;
}
@media not all and (min-width: 751px) {
  .carousel:not(.is-notCarousel) {
    margin-inline: calc(var(--content-padding-inline) * -1);
  }
  .carousel--type01:not(.is-notCarousel) .carousel__controlsWrapper {
    padding-inline: var(--content-padding-inline);
  }
  .carousel--type02 .carousel__controlsWrapper {
    padding-inline: var(--content-padding-inline);
  }
  .carousel__additionalInfo {
    grid-column: 1 / 3;
    order: 3;
  }
}
@media screen and (min-width: 751px) {
  .carousel {
    margin-inline: auto;
    max-width: 728px;
  }
  .carousel--type02 {
    max-width: 1040px;
  }
  .carousel__texts {
    bottom: 32px;
    column-gap: 20px;
    left: 28px;
  }
  .carousel__textsNum {
    font-size: 8.462rem;
    line-height: 5.923rem;
    min-width: 76px;
    padding-top: 2.116rem;
  }
  .carousel__textsNum > span {
    font-size: 2.116rem;
  }
  .carousel__textsTxt {
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding-bottom: 0;
  }
  .carousel__note {
    bottom: 36px;
    font-size: 1.4rem;
    right: 28px;
    top: auto;
  }
  .carousel__progress {
    column-gap: 28px;
    grid-template-columns: repeat(3, minmax(0 , 164px));
    margin-bottom: 32px;
  }
  .carousel__controlsWrapper {
    grid-template-columns: 1fr auto 1fr;
    margin-top: 20px;
  }
  .carousel__additionalInfo {
    font-size: 1.8rem;
    padding-inline: 0;
    text-align: left;
  }
  .carousel--type02 .carousel__controlsWrapper {
    grid-template-columns: 1fr auto auto;
  }
  .carousel__controls {
    grid-column-start: 2;
    grid-template-columns: repeat(2, minmax(0, auto));
  }
  .carousel__pagination {
    min-width: 192px;
    width: auto;
  }
  .carousel__paginationPage {
    height: 24px;
    padding: 11px 0;
  }
  .carousel__toggle {
    width: 36px;
  }
  .carousel__arrowWrapper {
    grid-column-start: 3;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
  /* carousel */
  :is(.carousel__link, .carousel__toggle, .carousel__arrow, .carousel__paginationPage):hover {
    cursor: pointer;
  }
  :is(.carousel__toggle, .carousel__paginationPage):hover {
    background-color: var(--carousel-toggle-color-hover);
  }
  .carousel__arrow:hover {
    background-color: var(--carousel-arrow-color-hover);
  }
  .carousel--type02 .carousel__arrow:hover {
    opacity: var(--carousel-arrow-color-hover);
  }
  .carousel__link:hover::before {
    opacity: var(--transition-opacity-value02);
  }
}
/*------------------------------
  Others
--------------------------------*/
/* contact */
:is(.contact01__text, .contact01__number, .contact01__opening) {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
}
.contact01__number {
  margin-top: 32px;
}
.contact01__opening {
  margin-top: 32px;
}
:is(.contact01__openingTtl, .contact01__openingDesc) {
  display: inline ;
}
.contact01__note {
  margin-top: 16px;
}
.contact01__note .listNote01__item {
  font-size: 1.2rem;
}
/*==========================================
  Contents Style
=============================================*/
/*------------------------------
  MV Area
--------------------------------*/
.mv {
  background-color: #fff;
  height: max(568px, 100svh);
  opacity: 1;
  padding: 64px 0 24px 0;
  position: relative;
  transition: opacity 0.8s ease-in-out;
}
.mv.is-loading {
  opacity: 0;
}
.mv__content {
  display: grid;
  grid-template-rows: auto minmax(0, auto) auto;
  height: 100%;
  place-content: center stretch;
  position: relative;
  row-gap: max(20px, 5.333vh);
  width: 100%;
  z-index: var(--z-content);
}
.mv__ContentHead {
  color: #fff;
  font-size: 2rem;
  font-size: clamp(1rem, 5.2vw, 4rem);
  text-align: center;
  letter-spacing: 0.16em;
  line-height: 1;
  padding-inline: min(11.2vw, 42px) min(9.066vw, 34px);
  text-align: center;
  text-shadow: 0px 2px 8px rgba(136, 136, 136, 0.4);
}
.mv__ContentFoot {
  padding-inline: 8.328vw;
}
.mv__ContentFootText {
  color: #fff;
  column-gap: 15px;
  display: grid;
  font-size: 1.5rem;
  font-weight: 500;
  grid-template-columns: 1fr auto 1fr;
  letter-spacing: 0.15em;
  /* Adjustment for drop-shadow included in the image. */
  padding-inline: 7px;
  place-content: center;
  place-items: center;
  position: relative;
  text-align: center;
}
.mv__ContentFootText::before,
.mv__ContentFootText::after {
  border-top: solid 1px #fff;
  content: "";
  display: block;
  width: 100%;
}
.mv__ContentFootImage {
  margin-top: 6px;
  width: 100%;
}
.mv__scrollText {
  bottom: 64px;
  color: #fff;
  font-family: var(--ff-num02);
  font-size: 1.4rem;
  left: -6em;
  letter-spacing: 0.08em;
  padding-right: 32px;
  position: absolute;
  transform: rotate(90deg);
  transform-origin: bottom right;
  z-index: var(--z-content);
}
.mv__scrollText::after {
  background: url(/afl/est/img/icon_chevron-bottom_001.svg) no-repeat center right / 100% auto;
  content: "";
  display: block;
  height: 6px;
  margin-top: -3px;
  position: absolute;
  top: 50%;
  right: 0;
  width: 26px;
}
.mv__bgImage img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  inset: 0;
  width: 100%;
  z-index: var(--z-base);
}
.mvCarousel {
  aspect-ratio: 267 / 353;
  /* (353 / 667) * 100 */
  height: 52.923vh;
  margin-inline: auto;
  max-width: 90%;
  position: relative;
  width: auto;
}
.mvCarousel::after {
  background-color: #fff;
  border-radius: 157px;
  content: "";
  filter: blur(55.3px);
  inset: 0;
  mix-blend-mode: overlay;
  opacity: 0.7;
  position: absolute;
}
.mvCarousel__maskedLayer {
  mask-image: url(/afl/est/img/bg_mv-frame-inner_sp.png);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url(/afl/est/img/bg_mv-frame-inner_sp.png);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  inset: 0;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: var(--z-content);
}
.mvCarousel__slide {
  background-color: #fff;
  display: grid;
  inset: 0;
  opacity: 0;
  place-content: center;
  place-items: center;
  position: absolute;
  /* 'splide' Style Override. */
  transform: translateX(0%) !important;
  transition: var(---transition-opacity-prop01);
  transition: opacity 0.8s ease-in-out;
  will-change: opacity;
  z-index: var(--z-content);
}
.mvCarousel__slide.is-active {
  opacity: 1;
  z-index: var(--z-content-higher);
}
.mvCarousel__slide picture {
  width: 91.76%;
}
.mvCarousel__overlay img {
  height: 100%;
  inset: 0;
  object-fit: contain;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 3;
}
@media screen and (max-width: 751px) and (orientation: landscape) {
  .mv {
    min-height: 667px;
  }
  .mvCarousel {
    height: auto;
    margin-inline: auto;
    max-width: 267px;
  }
}
@media screen and (min-width: 751px) {
  .mv {
    height: clamp(768px, 100dvh, 1080px);
    padding: 90px var(--mv-padding-inline) 32px;
  }
  .mv__content {
    margin-inline: auto;
    max-width: 1280px;
    row-gap: min(6.25vh, 64px);
  }
  .mv__ContentHead {
    font-size: 4.4rem;
    padding-inline: 0;
  }
  .mv__ContentBody {
    padding-top: var(--mv-content-body-padding-top);
  }
  .mv__ContentFoot {
    margin-inline: auto;
    padding-inline: 0;
    width: fit-content;
  }
  .mv__ContentFootText {
    column-gap: 40px;
    font-size: 2.5rem;
    padding-inline: 13px;
  }
  .mv__ContentFootImage {
    margin-top: 3px;
  }
  .mv__scrollText {
    font-size: 1.6rem;
  }
  /* Carousel */
  .mvCarouselWrapper {
    column-gap: min(9.226vw, 124px);
    display: flex;
    height: 100%;
    justify-content: center;
  }
  .mvCarousel {
    aspect-ratio: 344 / 454;
    height: 100%;
    margin-inline: 0;
    max-width: 344px;
    width: 100%;
  }
  .mvCarousel__maskedLayer {
    mask-image: url(/afl/est/img/bg_mv-frame-inner.png);
    -webkit-mask-image: url(/afl/est/img/bg_mv-frame-inner.png);
  }
}
@media screen and (min-width: 788px) {
  .mv__ContentHead {
    font-size: 4.8rem;
  }
}
@media screen and (min-width: 1440px) {
  .mv__content {
    row-gap: 64px;
  }
  /* Carousel */
  .mvCarouselWrapper {
    column-gap: 124px;
  }
}
/*------------------------------
  Lead Area
--------------------------------*/
.lead {
  margin-top: 72px;
}
.lead__text {
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  line-height: 2.6;
  margin-inline: auto;
  text-align: center;
  width: fit-content;
}
@media screen and (min-width: 751px) {
  .lead {
    margin-top: 120px;
  }
  .lead__text {
    font-size: 2.4rem;
  }
}
/*------------------------------
  Tab Area
--------------------------------*/
.tab {
  margin-top: 72px;
}
.tab__tabList {
  box-sizing: content-box;
  border-bottom: solid 8px #3b3b3b;
  column-gap: 7px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 592px));
  margin-inline: auto;
  padding-inline: 16px;
  place-content: center;
  place-items: end stretch;
}
.tab__tabItem {
  background-color: #d7dade;
  border-radius: 8px 8px 0 0;
  color: #3b3b3b;
  display: grid;
  font-size: 1.6rem;
  font-weight: 700;
  min-height: 64px;
  place-content: center;
  text-align: center;
  transition: var(--transition-tab01);
}
.tab__tabItem[aria-selected="true"] {
  background-color: #3b3b3b;
  color: #fff;
  min-height: 80px;
}
.tab__panel {
  padding-top: 64px;
}
.tab__panel.is-hidden {
  display: none;
}
@media screen and (min-width: 751px) {
  .tab {
    margin-top: 144px;
  }
  .tab__tabList {
    border-width: 4px;
    column-gap: 16px;
  }
  .tab__tabItem {
    font-size: 2rem;
    min-height: 60px;
  }
  .tab__panel {
    padding-top: 56px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 751px) {
  .tab__tabItem:hover {
    background-color: rgba(221 223 227 / 0.8);
    cursor: pointer;
  }
  .tab__tabItem[aria-selected="true"]:hover {
    background-color: #4a4a4a;
  }
}
/*------------------------------
  Campaign Area
--------------------------------*/
.campaign {
  margin-top: 44px;
}
.campaign__hdg {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 16px;
  row-gap: 8px;
}
.campaign__hdgTtl {
  font-size: 2rem;
  font-weight: 500;
  text-align: left;
}
.campaign__hdgPresentation {
  font-family: var(--ff-num02);
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.16em;
  text-align: left;
}
@media screen and (min-width: 751px) {
  .campaign {
    margin-top: 80px;
  }
  .campaign__hdg {
    margin-bottom: 18px;
  }
  .campaign__hdgTtl {
    font-size: 2.4rem;
    text-align: center;
  }
  .campaign__hdgPresentation {
    font-size: 1.6rem;
    text-align: center;
  }
}
/*------------------------------
  Attraction, GoodDeal Area
--------------------------------*/
:is(.attraction__hdg, .goodDeal__hdg) {
  position: relative;
}
:is(.attraction__hdg, .goodDeal__hdg)::before {
  background-image: linear-gradient(180deg, rgba(75, 116, 203, 0) 0%, #4b74cb 50.48%, #c71715 100%);
  content: "";
  height: 52px;
  left: 0;
  margin-inline: auto;
  position: absolute;
  right: 0;
  top: -57px;
  width: 1px;
  z-index: var(--z-base);
}
:is(.attraction__hdgTtl, .goodDeal__hdgTtl) {
  font-weight: 700;
  text-align: center;
}
.attraction__hdg {
  margin-bottom: 40px;
}
.attraction__hdgTtl {
  font-size: var(--large-title-fz);
  letter-spacing: var(--large-title-tracking);
}
.attraction__hdgTtlPre {
  font-size: var(--large-pre-title-fz);
  letter-spacing: var(--large-pre-title-tracking);
}
.attractionContWrapper {
  display: grid;
  grid-template-rows: auto;
  row-gap: 72px;
}
.attractionCont__hdg {
  margin-bottom: 12px;
}
:is(.attractionCont__hdgNum, .attractionCont__hdgTxt) {
  display: block;
}
.attractionCont__hdgNum {
  font-family: var(--ff-num02);
  font-size: 10.19rem;
  font-weight: 400;
  line-height: 1;
}
.attractionCont__hdgTxt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 16px;
}
.attractionCont__desc {
  font-size: 1.6rem;
}

/* GoodDeal */
.goodDeal__hdg {
  margin-bottom: 44px;
}
.goodDeal__hdgTtl {
  font-size: var(--large-title-fz);
  letter-spacing: var(--large-title-tracking);
}
.goodDeal__hdgTtlPre {
  font-size: var(--large-pre-title-fz);
  letter-spacing: var(--large-pre-title-tracking);
}
.goodDeal__gift {
  background-color: #fff;
  border-radius: 24px;
  margin-top: 40px;
  padding: 28px 18px;
}
.goodDeal__giftHead {
  font-weight: 700;
  padding-top: 72px;
  position: relative;
  text-align: center;
}
.goodDeal__giftBalloon {
  background: url(/afl/est/img/bg_baloon_001.svg) no-repeat center / contain;
  color: #fff;
  display: grid;
  font-size: 1.4rem;
  height: 58px;
  margin-inline: auto;
  inset: 0;
  place-items: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 64px;
}
.goodDeal__giftLead01 {
  font-size: 2rem;
  display: block;
}
.goodDeal__giftLead02 {
  font-size: 2rem;
  display: block;
}
.goodDeal__giftLead02 > b {
  color: #c71715;
  margin-inline: 0.25em;
}
.goodDeal__giftLead02 > b > span {
  font-size: 2.8rem;
  font-family: var(--ff-num01);
  font-weight: 600;
}
.goodDeal__giftTxt {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 28px;
  padding-inline: 4px;
  text-align: left;
}
.goodDeal__giftTxt + .goodDeal__giftTxt {
  margin-top: 24px;
}
.attractionGraphWrapper {
  margin-top: 32px;
}
.attractionGraphWrapper__text {
  font-size: 1.4rem;
  text-align: center;
}
.attractionGraph {
  column-gap: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 8px;
}
:is(.attractionGraph__list, .attractionGraph__desc) {
  display: contents;
}
.attractionGraph__detail {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
:is(.attractionGraph__ttl, .attractionGraph__descTop, .attractionGraph__descMiddle, .attractionGraph__descBottom) {
  display: grid;
  place-items: center;
}
:is(.attractionGraph__descTop, .attractionGraph__descBottom) > p {
  line-height: 1;
  text-align: center;
}
.attractionGraph__ttl {
  background-color: #22355d;
  border-radius: 8px 8px 0 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3;
  min-height: 42.97px;
  padding: 4px;
  position: relative;
  text-align: center;
}
.attractionGraph__ttlNote {
  font-size: 0.8rem;
  font-weight: 400;
}
.attractionGraph__descTop {
  background-color: #fff;
  border-radius: 0 0 8px 8px;
  margin-bottom: 8px;
  min-height: 47.81px;
}
.attractionGraph__descMiddle {
  position: relative;
  z-index: var(--z-content);
}
.attractionGraph__descLabel01 img {
  width: 19.85px;
}
.attractionGraph__descLabel02 {
  left: 0;
  margin-inline: auto;
  padding-inline: 24px;
  position: absolute;
  right: 0;
  top: calc(100% + 7.21px);
  width: calc(300% + 28px);
  z-index: var(--z-content);
}
.attractionGraph__descLabel02Inner {
  background-color: #c71715;
  border-radius: 8px;
  color: #fff;
  column-gap: 3px;
  display: grid;
  font-size: 1.733rem;
  font-weight: 700;
  grid-template-columns: minmax(0, auto) minmax(0, auto);
  padding: 4.97px 4px 7.02px 4px;
  place-items: center;
  place-content: center;
  position: relative;
  text-align: center;
}
.attractionGraph__descLabel02Inner::after {
  content: "";
  display: block;
  width: 19.84px;
  height: 19.84px;
  content: "";
  background: url(/afl/est//img/icon_gift-white_001.png) no-repeat center / contain;
}
.attractionGraph__descBottom {
  background-color: #fbe8e8;
  border: solid 2px #f5d5d5;
  border-radius: 8px;
  color: #c71715;
  margin-top: 26.32px;
  min-height: 80.81px;
  padding-top: 19.02px;
}
:is(.attractionGraph__descNum01, .attractionGraph__descNum02, .attractionGraph__descNum03, .attractionGraph__descNum04) {
  color: #c71715;
  font-family: var(--ff-num01);
  letter-spacing: -0.02em;
  line-height: 1;
}
.attractionGraph__descNum01 {
  font-size: 2.66rem;
}
.attractionGraph__descNum02 {
  font-size: 2.66rem;
  font-weight: 600;
}
.attractionGraph__descNum03 {
  font-size: 2rem;
}
.attractionGraph__descNum04 {
  font-size: 2.66rem;
  font-weight: 600;
}
.attractionGraph__descTxt01 {
  color: #c71715;
  font-size: 0.8rem;
  font-weight: 700;
  margin-left: 0.25em;
}
.attractionGraph__descTxt02 {
  font-size: 1rem;
  font-weight: 700;
}
.attractionGraph__descTxt03 {
  font-size: 1.107rem;
  font-weight: 700;
}
@media not all and (min-width: 751px) {
  .attractionContWrapper {
    margin-inline: var(--content-negative-margin-inline);
  }
  .attractionCont {
    padding-top: 163px;
    position: relative;
  }
  .attractionCont__main {
    --attraction-cont-padding-inline: 10.4vw;
    /* 41px 39px */
    padding-inline: 10.933vw var(--attraction-cont-padding-inline);
  }
  .attractionCont__hdg {
    background-color: #f4eff4;
  }
  .attractionCont__hdgImage {
    position: absolute;
    right: -28px;
    top: 0;
    width: 314px;
    z-index: var(--z-base);
  }
  .attractionCont:nth-child(2) .attractionCont__hdgImage {
    left: -28px;
    right: auto;
  }
  .attractionCont__hdgNum {
    color: #fff;
    mix-blend-mode: difference;
  }
  .attractionCont:nth-child(2) .attractionCont__hdgNum {
    text-align: right;
  }
  .attractionGraphWrapper {
    margin-inline: calc(var(--attraction-cont-padding-inline) * -1);
    padding-inline: 4.266vw;
  }
  .goodDeal__giftHead {
    margin-inline: -3px;
  }
}
@media screen and (min-width: 751px) {
  :is(.attraction__hdg, .goodDeal__hdg)::before {
    background-image: linear-gradient(180deg, rgba(187, 177, 186, 0) 0%, #22355d 50.48%, #c71715 100%);
    height: 56px;
    top: -68px;
  }
  .attraction__hdg {
    margin-bottom: 72px;
  }
  .attractionContWrapper {
    margin-inline: auto;
    max-width: 1040px;
  }
  .attractionCont {
    column-gap: 82px;
    display: grid;
    grid-template-columns: minmax(0, 480px) minmax(0, 478px);
    place-content: center stretch;
  }
  .attractionCont:nth-child(2) .attractionCont__main {
    order: 2;
  }
  .attractionCont:nth-child(2) .attractionCont__image {
    order: 1;
  }
  .attractionCont__hdg {
    margin-bottom: 16px;
  }
  .attractionCont__hdgNum {
    font-size: 11.2rem;
  }
  .attractionCont__hdgTxt {
    font-size: 2.8rem;
    margin-top: 7px;
  }
  .attractionCont__desc {
    margin-top: 16px;
    font-size: 1.8rem;
  }
  .attractionGraphWrapper {
    margin-top: 40px;
    width: fit-content;
  }
  .attractionGraph {
    column-gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 132px));
    width: fit-content;
  }
  .attractionGraph__ttl {
    border-radius: 10px 10px 0 0;
    font-size: 1.259rem;
    min-height: 50.96px;
  }
  .attractionGraph__ttlNote {
    font-size: 1.08rem;
  }
  .attractionGraph__descTop {
    border-radius: 0 0 10px 10px;
    margin-bottom: 9.5px;
    min-height: 56.69px;
  }
  .attractionGraph__descLabel01 img {
    width: auto;
  }
  .attractionGraph__descLabel02 {
    padding-inline: 30.23px;
    top: calc(100% + 8px);
    width: calc(300% + 36px);
  }
  .attractionGraph__descLabel02Inner {
    border-radius: 10.08px;
    font-size: 2.183rem;
    padding: 5.92px 16px 8.37px;
  }
  .attractionGraph__descLabel02Inner::after {
    width: 24.53px;
    height: 25.05px;
  }
  .attractionGraph__descBottom {
    border-width: 3px;
    border-radius: 10px;
    margin-top: 31.21px;
    min-height: 95.82px;
    padding-top: 22.55px;
  }
  .attractionGraph__descNum01 {
    font-size: 3.351rem;
  }
  .attractionGraph__descNum02 {
    font-size: 3.351rem;
  }
  .attractionGraph__descNum03 {
    font-size: 2.519rem;
  }
  .attractionGraph__descNum04 {
    font-size: 2.519rem;
  }
  .attractionGraph__descTxt01 {
    font-size: 1.08rem;
  }
  .attractionGraph__descTxt02 {
    font-size: 1.259rem;
  }
  .attractionGraph__descTxt03 {
    font-size: 1.394rem;
  }

  /* GoodDeal */
  .goodDeal__hdg {
    margin-bottom: 96px;
  }
  .goodDeal__gift {
    border-radius: 80px;
    margin-top: 72px;
    padding: 56px 18px;
  }
  .goodDeal__giftHead {
    padding-top: 102px;
  }
  .goodDeal__giftBalloon {
    font-size: 2rem;
    height: 80px;
    width: 88px;
  }
  .goodDeal__giftLead01 {
    font-size: 2.4rem;
    letter-spacing: 0.1em;
  }
  .goodDeal__giftLead02 {
    font-size: 3.2rem;
    letter-spacing: 0.05em;
  }
  .goodDeal__giftLead02 > b > span {
    font-size: 6.4rem;
    line-height: 1.3;
  }
  .goodDeal__giftTxt {
    font-size: 1.8rem;
    line-height: 2;
    margin-top: 48px;
    padding-inline: 0;
    text-align: center;
  }
  .goodDeal__giftTxt + .goodDeal__giftTxt {
    margin-top: 0;
  }
}
/*------------------------------
  Lounge Area
--------------------------------*/
.lounge__hdg {
  margin: 36px auto 32px;
  position: relative;
}
.lounge__hdg::before {
  background-image: linear-gradient(180deg, rgba(75, 116, 203, 0) 0%, #4b74cb 50.48%, #c71715 100%);
  content: "";
  height: 52px;
  left: 0;
  margin-inline: auto;
  position: absolute;
  right: 0;
  top: -57px;
  width: 1px;
  z-index: var(--z-base);
}
.lounge__hdgTtl {
  color: #775a26;
  font-size: var(--large-title-fz);
  letter-spacing: var(--large-title-tracking);
  text-align: center;
}
.lounge__hdgTtl > span {
  font-size: var(--large-pre-title-fz);
  letter-spacing: var(--large-pre-title-tracking);
}
.loungeService {
  margin-top: 56px;
}
.lounge__subHdg {
  margin-bottom: 24px;
}
.lounge__subHdg--mbType01 {
  margin-bottom: 32px;
}
.lounge__subHdgTtl {
  color: #775a26;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.lounge__lead {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
.lounge__lead > em {
  font-size: 2.8rem;
  margin-inline: 0.25em;
}
.lounge__txt {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 24px;
}
.lounge__slide {
  width: 100%;
  height: 500px;
  background-color: #333;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .lounge__hdg {
    margin: 36px auto 48px;
  }
  .lounge__hdg::before {
    background-image: linear-gradient(180deg, rgba(187, 177, 186, 0) 0%, #22355d 50.48%, #c71715 100%);
    height: 56px;
    top: -68px;
  }
  .loungeService {
    margin-top: 96px;
  }
  .lounge__subHdg {
    margin-bottom: 48px;
  }
  .lounge__subHdg--mbType01 {
    margin-bottom: 40px;
  }
  .lounge__subHdgTtl {
    font-size: 2.8rem;
  }
  .lounge__txt {
    font-size: 1.8rem;
    margin: 20px auto 0;
    text-align: center;
    width: fit-content;
  }
  .lounge__lead {
    font-size: 2.4rem;
  }
  .lounge__lead > em {
    font-size: 4.4rem;
  }
}
/*------------------------------
  Sim Area
--------------------------------*/
.sim {
  background-color: #fff;
  border-radius: 24px;
  margin-top: 120px;
  padding: 40px 23px;
}
.sim__hdg {
  margin-bottom: 32px;
}
.sim__hdgTtl {
  font-size: var(--medium-title-fz);
  font-weight: 700;
  letter-spacing: var(--medium-title-tracking);
  text-align: center;
}
.sim__hdgTtl > span {
  font-size: var(--medium-pre-title-fz);
  letter-spacing: var(--medium-pre-title-tracking);
}
.sim__lead {
  padding-top: 58px;
  position: relative;
  text-align: center;
}
.sim__leadBalloon {
  background: url(/afl/est/img/bg_baloon_001.svg) no-repeat center / contain;
  color: #fff;
  content: "";
  display: grid;
  font-size: 1.4rem;
  font-weight: 700;
  height: 58px;
  inset: 0 0 auto 0;
  margin-inline: auto;
  place-items: center;
  position: absolute;
  width: 64px;
}
.sim__leadTxt {
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.sim__leadNum {
  font-size: 2.8rem;
  font-family: var(--ff-num01);
  margin-inline: 0.1em 0.08em;
}
.sim__leadTax {
  font-size: 1.2rem;
}
.sim__note01 {
  color: var(--color-note01);
  font-size: 1.2rem;
  margin-top: 8px;
  text-align: center;
}
.sim__list {
  display: grid;
  gap: 56px 0;
  grid-template-rows: auto;
  margin-top: 16px;
}
.sim__listItem {
  display: grid;
  position: relative;
}
.sim__listImg {
  position: relative;
}
.sim__listItem:not(:last-child)::after {
  background: url(/afl/est/img/icon_plus_red_001.png) no-repeat center / contain;
  content: "";
  height: 32px;
  margin-inline: auto;
  inset: auto 0 -12px 0;
  position: absolute;
  transform: translateY(100%);
  width: 32px;
}
.sim__listTtl {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: left;
}
.sim__listNum {
  font-size: 1.4rem;
  font-weight: 700;
}
.sim__listNum > span {
  font-family: var(--ff-num01);
  font-size: 4rem;
}
.sim__listNote {
  color: var(--color-note01);
  font-size: 1.2rem;
  text-align: left;
}
.sim__catch {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 24px;
  text-align: center;
}
.sim__catchNum {
  font-size: 2.4rem;
  font-family: var(--ff-num01);
}
.sim__catchEm {
  color: #c71715;
  font-size: 2.0rem;
  font-weight: 700;
}
.sim__total {
  margin-top: 24px;
}
.sim__total > img {
  margin-inline: auto;
}
.sim__total > p {
  font-size: 2.4rem;
  font-weight: 700;
  color: #333;
  text-align: center;
}
.sim__total > p .sim__total-num {
  font-size: 6.4rem;
  font-family: var(--ff-num01);
  font-weight: 600;
  color: #c71715;
}
.sim__total > p .sim__total-mile {
  padding-right: 2px;
  color: #c71715;
}
.sim__exchange {
  margin: 56px auto 0;
  max-width: 640px;
}
.sim__exchange > img {
  width: 100%;
  margin-top: 28px;
}
.sim__exchangeList01 {
  display: grid;
  gap: 0 2px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 16px 0 0 0;
  padding: 0;
}
.sim__exchangeList01 > li {
  font-size: 1.6rem;
  font-weight: 500;
}
.sim__exchangeList02 {
  color: var(--color-note01);
  display: grid;
  font-size: 1.4rem;
  grid-template-rows: auto;
  list-style: none;
  margin: 16px 0 0 0;
  padding: 0;
  row-gap: 8px;
}
.sim__exchangeList02 > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
}
@media screen and (max-width: 750px) {
  .sim__total > img {
    width: 167.09px;
  }
  .sim__total > p {
    font-size: 1.8rem;
    margin-top: 16px;
  }
  .sim__total > p .sim__total-num {
    font-size: 4.0rem;
  }
  .sim__exchange {
    margin: 24px auto 0;
    max-width: none;
  }
  .sim__exchange > img {
    margin-top: 16px;
  }
  .sim__exchangeList01 {
    gap: 8px 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: auto;
    margin-top: 8.22px;
  }
  .sim__exchangeList01 > li {
    font-size: 1.4rem;
  }
  .sim__exchangeList02 {
    font-size: 1.2rem;
    margin-top: 24px;
    row-gap: 7.81px;
  }
  .sim__exchangeList02 > li {
    column-gap: 3px;
  }
}
@media not all and (min-width: 751px) {
  .sim__list {
    margin-inline: auto;
    width: fit-content;
  }
  .sim__listItem {
    column-gap: 16px;
    grid-template-columns: minmax(0, 112px) 1fr;
  }
  .sim__listDesc {
    margin-top: 8px;
  }
  .sim__listNote {
    margin-top: 16px;
  }
}
@media screen and (min-width: 751px) {
  .sim {
    border-radius: 80px;
    margin-top: 128px;
    padding: 66px 80px 68px;
  }
  .sim__hdg {
    margin-bottom: 40px;
  }
  .sim__lead {
    padding-top: 80px;
  }
  .sim__leadBalloon {
    font-size: 2rem;
    height: 80px;
    width: 88px;
  }
  .sim__leadTxt {
    font-size: 2.4rem;
    line-height: 1.4;
  }
  .sim__leadNum {
    font-size: 3.2rem;
  }
  .sim__leadTax {
    font-size: 2rem;
  }
  .sim__note01 {
    font-size: 1.4rem;
  }
  .sim__list {
    gap: 0 56px;
    grid-template-columns: repeat(3, minmax(0, 218px));
    margin-top: 32px;
    place-content: center;
  }
  .sim__listItem {
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  .sim__listImg {
    position: relative;
  }
  .sim__listItem:not(:last-child)::after {
    content: none;
  }
  .sim__listItem:not(:last-child) .sim__listImg::after {
    background: url(/afl/est/img/icon_plus_red_001.png) no-repeat center / contain;
    content: "";
    height: 32px;
    inset: auto 0 0 0;
    position: absolute;
    width: 32px;
    margin-block: auto;
    inset: 0 -12px 0 auto;
    transform: translateX(100%);
  }
  .sim__listTtl {
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 12px;
    place-self: center;
    text-align: center;
  }
  .sim__listDetail {
    display: contents;
  }
  .sim__listNum {
    font-size: 1.6rem;
    text-align: center;
  }
  .sim__listNum > span {
    font-size: 4rem;
  }
  .sim__listNote {
    font-size: 1.4rem;
    text-align: center;
  }
  .sim__catch {
    font-size: 2.4rem;
    margin-top: 52px;
  }
  .sim__catchNum {
    font-size: 3.2rem;
  }
  .sim__catchEm {
    font-size: 3.2rem;
  }
}
/*------------------------------
  Mile Area
--------------------------------*/
.mile__hdg01 {
  margin-bottom: 32px;
  position: relative;
}
.mile__hdg01::before {
  background-image: linear-gradient(180deg, rgba(75, 116, 203, 0) 0%, #4b74cb 50.48%, #c71715 100%);
  content: "";
  height: 52px;
  left: 0;
  margin-inline: auto;
  position: absolute;
  right: 0;
  top: -68px;
  width: 1px;
  z-index: var(--z-base);
}
.mile__hdg01Ttl {
  font-size: var(--large-title-fz);
  font-weight: 700;
  letter-spacing: var(--large-title-tracking);
  text-align: center;
}
.mile__hdg01Ttl > span {
  font-size: var(--large-pre-title-fz);
  letter-spacing: var(--large-pre-title-tracking);
}
.mile__catch {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 72px;
  text-align: center;
}
.mile__save {
  margin-inline: auto;
  max-width: 1040px;
}
.mile__save > p {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
}
.mile__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  gap: 0 78px;
  margin-top: 48px;
  padding: 0;
}
.mile__listItem {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  position: relative;
}
.mile__listItem:first-child::before {
  position: absolute;
  top: calc(50% - 12px);
  right: 0;
  width: 40px;
  height: 65px;
  content: "";
  background-image: url(/afl/est//img/icon_arrow-beige_001.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%) translateX(150%);
}
.mile__listItem > div:nth-of-type(1) {
  padding: 8px 0;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  border-top-right-radius: 16px;
  border-top-left-radius: 16px;
  color: #fff;
}
.mile__listItem:first-child > div:nth-of-type(1) {
  background-color: #6E6E6E;
}
.mile__listItem:last-child > div:nth-of-type(1) {
  background-color: #22355D;
}
.mile__listItem > div:nth-of-type(2) {
  background-color: #fff;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  padding: 20px 8px 10px;
}
.mile__listItem > div:nth-of-type(2) > ul {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  gap: 60px;
  list-style: none;
}
.mile__listItem > div:nth-of-type(2) > ul > li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.mile__listItem > div:nth-of-type(2) > ul > li > img {
  width: 53.12px;
}
.mile__listItem:first-child > div:nth-of-type(2) > ul > li:nth-of-type(1) > img {
  width: 100.92px;
}
.mile__listItem > div:nth-of-type(2) > ul > li:nth-of-type(1)::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 17.17px;
  height: 7.71px;
  content: "";
  background-image: url(/afl/est//img/icon_equal_001.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(24px) translateX(35px);
}
.mile__listItem > div:nth-of-type(2) > ul > li > p {
  font-weight: 700;
  font-size: 1.451rem;
  line-height: 1.5;
  color: #333;
}
.mile__listItem > div:nth-of-type(2) > ul > li > p > span {
  font-family: var(--ff-num01);
  font-size: 2.77rem;
}
.mile__listItem > p {
  color: var(--color-note01);
  font-size: 1.2rem;
  margin-top: 8px;
  text-align: right;
}
.mile__more {
  margin-top: 20px;
}
.mile__more > p:nth-of-type(1) {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  text-align: center;
}
.mile__more > p:nth-of-type(1) .mile__more-deco1 {
  display: inline-block;
  font-size: 2.8rem;
  margin-inline: auto;
  padding-inline: 16px;
  position: relative;
  width: fit-content;
}
.mile__more > p:nth-of-type(1) .mile__more-deco1::before,
.mile__more > p:nth-of-type(1) .mile__more-deco1::after {
  border-color: currentColor;
  bottom: 0;
  content: "";
  height: 26.4px;
  margin-block: auto;
  position: absolute;
  top: 0;
}
.mile__more > p:nth-of-type(1) .mile__more-deco1::before {
  border-left: solid 2px;
  left: 0;
  transform: rotate(-29deg);
}
.mile__more > p:nth-of-type(1) .mile__more-deco1::after {
  border-right: solid 2px;
  right: 0;
  transform: rotate(29deg);
}
.mile__more > p:nth-of-type(1) .mile__more-num1 {
  font-family: var(--ff-num01);
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
}
.mile__more > p:nth-of-type(1) .mile__more-num2 {
  font-family: var(--ff-num01);
  font-weight: 700;
  font-size: 4.0rem;
  line-height: 1.5;
  color: #c71715;
}
.mile__more > p:nth-of-type(1) .mile__more-red {
  color: #c71715;
}
.mile__more > div {
  background-color: #fff;
  border-radius: 21.4px;
  margin-top: 12.49px;
}
.mile__more > div > div:nth-of-type(1) {
  padding: 8px 0;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
  border-top-right-radius: 21.4px;
  border-top-left-radius: 21.4px;
  color: #fff;
  background: linear-gradient(90deg, #22355D 0%, #781C70 100%);
  padding: 11.71px 4px 11.29px;
}
.mile__more > div > div:nth-of-type(2) {
  padding: 21px 0;
}
.mile__more > div > div:nth-of-type(2) > ul {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  gap: 77.7px;
  list-style: none;
}
.mile__more > div > div:nth-of-type(2) > ul > li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.mile__more > div > div:nth-of-type(2) > ul > li:nth-of-type(1)::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 22.15px;
  height: 9.93px;
  content: "";
  background-image: url(/afl/est//img/icon_equal_001.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(24px) translateX(50px);
}
.mile__more > div > div:nth-of-type(2) > ul > li > img {
  width: 151px;
}
.mile__more > div > div:nth-of-type(2) > ul > li:nth-of-type(1) > img {
  width: 71.98px;
}
.mile__more > div > div:nth-of-type(2) > ul > li > p {
  font-weight: 700;
  font-size: 1.872rem;
  line-height: 1.5;
  color: #333;
}
.mile__more > div > div:nth-of-type(2) > ul > li > p > span {
  font-family: var(--ff-num01);
  font-size: 3.574rem;
}
.mile__store {
  position: relative;
  margin-top: 66px;
  background: #fff;
  padding: 33px 0;
}
.mile__store > p {
  position: absolute;
  top: 0;
  left: 50%;
  width: fit-content;
  padding: 6px 16px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  border-radius: 48px;
  background-color: #E87E39;
  color: #fff;
  transform: translateY(-70%) translateX(-50%);
}
.mile__store > p::after {
  position: absolute;
  top: -1px;
  left: 50%;
  width: 12.43px;
  height: 7.49px;
  content: "";
  background-image: url(/afl/est//img/icon_triangle_002.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(35px) translateX(8px);
}
.mile__storeImage {
  display: block;
  margin-inline: auto;
  width: fit-content;
}
.mile__caution {
  margin-top: 12px;
}
/* mileTravel */
.mileTravel {
  padding: 40px 24px;
  margin-top: 63.77px;
  border-radius: 24px;
  background-color: #fff;
}
.mileTravel__hdg {
  margin-bottom: 32px;
}
.mileTravel__hdgTtl {
  font-size: var(--medium-title-fz);
  font-weight: 700;
  letter-spacing: var(--medium-title-tracking);
  text-align: center;
}
.mileTravel__hdgTtl > span {
  font-size: var(--medium-pre-title-fz);
  letter-spacing: var(--medium-pre-title-tracking);
}
.mileTravel__txt01 {
  margin-top: 36px;
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
}
.mileTravel__txt02 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 40.38px;
  text-align: center;
}
.mileTravel__txt02-img {
  display: block;
  margin-inline: auto;
}
.mileTravel__txt02-num {
  font-size: 3.2rem;
  font-family: var(--ff-num01);
}
.mileTravel__contents {
  margin: 32px auto 0;
  max-width: 100%;
  width: 1040px;
}
.mileTravel__list01 {
  display: grid;
  gap: 0 128px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mileTravel__list01 > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  position: relative;
}
.mileTravel__list01 > li:nth-of-type(1)::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 64px;
  height: 140.25px;
  content: "";
  background-image: url(/afl/est//img/icon_arrow-red_002.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateX(150%) translateY(-30%);
}
.mileTravel__list02 {
  margin-top: 16.33px;
}
.mileTravel__text01 {
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}
.mileTravel__text01--red {
  color: #c71715;
  place-self: end stretch;
}
.mileTravel__block01 .listNote02 {
  margin-inline: auto;
  width: fit-content;
}
.mileTravel__block02 p {
  font-weight: 700;
  font-size: 1.8rem;
  text-align: center;
}
.mileTravel__block02 p .mileTravel__num--m {
  font-family: var(--ff-num01);
  font-weight: 400;
  font-size: 4.8rem;
  line-height: 1;
}
.mileTravel__block02 p .mileTravel__num--l {
  padding-left: 20px;
  font-family: var(--ff-num01);
  font-weight: 600;
  font-size: 6.4rem;
}
.mileTravel__block02 > img {
  margin-top: 6.69px;
}
.mileTravel__text02 {
  margin-top: 17px;
  font-size: 1.8rem;
  line-height: 1.7;
  text-align: center;
}
.mileTravel__text02 > span {
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .mile__save {
    margin-top: 32px;
  }
  .mile__save > p {
    font-size: 1.6rem;
  }
  .mile__list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 50px 0;
    margin-top: 44px;
  }
  .mile__listItem {
    display: block;
  }
  .mile__listItem:first-child::before {
    display: none;
  }
  .mile__listItem:first-child::after {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    width: 82px;
    height: 26px;
    content: "";
    background-image: url(/afl/est//img/icon_arrow-beige_002.png);
    background-size: contain;
    background-repeat: no-repeat;
    transform: translateY(150%) translateX(-50%);
  }
  .mile__listItem > div:nth-of-type(1) {
    font-size: 1.4rem;
  }
  .mile__listItem > div:nth-of-type(2) {
    padding: 15px 8px 11.76px;
  }
  .mile__listItem > div:nth-of-type(2) > ul {
    gap: 48.81px;
  }
  .mile__listItem > div:nth-of-type(2) > ul > li {
    gap: 10px;
  }
  .mile__listItem > div:nth-of-type(2) > ul > li:nth-of-type(1)::before {
    width: 16px;
    height: 7.43px;
    transform: translateY(24px) translateX(32px);
  }
  .mile__listItem > div:nth-of-type(2) > ul > li > p {
    font-size: 1.203rem;
  }
  .mile__listItem > div:nth-of-type(2) > ul > li > p > span {
    font-size: 2.672rem;
  }
  .mile__listItem > div:nth-of-type(2) > ul > li > img {
    width: 52px;
  }
  .mile__listItem:first-child > div:nth-of-type(2) > ul > li:nth-of-type(1) > img {
    width: 94.82px;
  }
  .mile__listItem > p {
    font-size: 1rem;
    margin-top: 4px;
  }
  .mile__more {
    margin-top: 12px;
  }
  .mile__more > p:nth-of-type(1) {
    font-size: 1.8rem;
  }
  .mile__more > p:nth-of-type(1) .mile__more-deco1 {
    font-size: 1.8rem;
    margin-bottom: 12px;
    padding-inline: 14px;
  }
  .mile__more > p:nth-of-type(1) .mile__more-deco1::before,
  .mile__more > p:nth-of-type(1) .mile__more-deco1::after {
    height: 18.9px;
  }
  .mile__more > p:nth-of-type(1) .mile__more-deco1::before {
    border-left: solid 1.49px;
  }
  .mile__more > p:nth-of-type(1) .mile__more-deco1::after {
    border-right: solid 1.49px;
  }
  .mile__more > p:nth-of-type(1) .mile__more-num1 {
    font-size: 2.1rem;
  }
  .mile__more > p:nth-of-type(1) .mile__more-num2 {
    font-size: 3.2rem;
  }
  .mile__more > div {
    width: 100%;
    margin-top: 4px;
    border-radius: 16px;
  }
  .mile__more > div > div:nth-of-type(1) {
    padding: 8px 0;
    font-size: 1.4rem;
    border-top-right-radius: 16px;
    border-top-left-radius: 16px;
    padding: 8px 4px;
  }
  .mile__more > div > div:nth-of-type(2) {
    padding: 15px 0;
  }
  .mile__more > div > div:nth-of-type(2) > ul {
    gap: 49px;
  }
  .mile__more > div > div:nth-of-type(2) > ul > li {
    gap: 10px;
  }
  .mile__more > div > div:nth-of-type(2) > ul > li:nth-of-type(1)::before {
    width: 16px;
    height: 7.45px;
    transform: translateY(26px) translateX(30px);
  }
  .mile__more > div > div:nth-of-type(2) > ul > li > img {
    width: 112px;
  }
  .mile__more > div > div:nth-of-type(2) > ul > li:nth-of-type(1) img {
    width: 52px;
  }
  .mile__store {
    margin: 55.11px calc(var(--content-padding-inline) * -1) 0;
    padding: 34.32px 22px 19.85px;
  }
  .mile__store > p {
    padding: 4px 16px;
    font-size: 1.4rem;
    transform: translateY(-50%) translateX(-50%);
  }
  .mile__store > p::after {
    width: 10.83px;
    height: 7.64px;
    transform: translateY(26px) translateX(-50%);
  }
  .mile__storeImage {
    width: auto;
  }
  .mile__caution {
    margin-top: 20.23px;
  }
  /* mileTravel */
  .mileTravel {
    padding: 40px 24px;
    margin-top: 63.77px;
    border-radius: 24px;
  }
  .mileTravel__txt01 {
    margin-top: 32px;
    font-size: 1.6rem;
    text-align: left;
  }
  .mileTravel__txt02 {
    font-size: 1.8rem;
    margin-top: 32px;
  }
  .mileTravel__txt02-img {
    width: 63.78px;
  }
  .mileTravel__txt02-num {
    font-size: 2.8rem;
  }
  .mileTravel__contents {
    margin-top: 24px;
    width: 100%;
  }
  .mileTravel__list01 {
    gap: 63px 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: auto;
  }
  .mileTravel__list01 > li {
    display: block;
  }
  .mileTravel__list01 > li:nth-of-type(1)::after {
    display: none;
  }
  .mileTravel__list01 > li:nth-of-type(1)::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 83.82px;
    height: 26.68px;
    content: "";
    background-image: url(/afl/est//img/icon_arrow-red_003.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transform: translateX(-50%) translateY(160%);
  }
  .mileTravel__list02 {
    margin-top: 28.68px;
  }
  .mileTravel__text01 {
    font-size: 1.8rem;
  }
  .mileTravel__block02 {
    display: grid;
    width: 100%;
    margin-top: 16px;
    column-gap: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.938fr);
    place-content: center stretch;
    place-items: center start;
  }
  .mileTravel__block02 p {
    font-size: 1.2rem;
    text-align: left;
    order: 2;
  }
  .mileTravel__block02 p .mileTravel__num--m {
    font-size: 2.4rem;
  }
  .mileTravel__block02 p .mileTravel__num--l {
    padding-left: 0;
    font-size: 3.2rem;
  }
  .mileTravel__block02 > img {
    margin-top: 0;
    order: 1;
  }
  .mileTravel__text02 {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: left;
  }
}
@media screen and (min-width: 751px) {
  .mile__hdg01 {
    margin-bottom: 72px;
  }
  .mile__hdg01::before {
    background-image: linear-gradient(180deg, rgba(187, 177, 186, 0) 0%, #22355d 50.48%, #c71715 100%);
    height: 56px;
    top: -68px;
  }
  .mile__catch {
    margin-top: 88px;
    font-size: 2.8rem;
  }
  /* mileTravel */
  .mileTravel {
    padding: 68px 80px;
    margin-top: 88px;
    border-radius: 80px;
  }
  .mileTravel__hdg {
    margin-bottom: 36px;
  }
}
/*------------------------------
  Switching Area
--------------------------------*/
.switching__hdg {
  margin-bottom: 32px;
}
.switching__hdgTtl {
  font-size: var(--medium-title-fz);
  font-weight: 700;
  letter-spacing: var(--medium-title-tracking);
  text-align: center;
}
@media screen and (min-width: 751px) {
  .switching__hdg {
    margin-bottom: 72px;
  }
}
/*------------------------------
  Faq
--------------------------------*/
.faq__hdg {
  margin-bottom: 32px;
}
.faq__hdgTtl {
  font-size: var(--medium-title-fz);
  font-weight: 700;
  letter-spacing: var(--medium-title-tracking);
  text-align: center;
}
.faqDataWrapper {
  display: grid;
  grid-template-rows: auto;
  row-gap: 16px;
}
.faqData {
  background-color: #fff;
  border-radius: 16px;
  padding: 20px 24px;
}
.faqData__hdg,
.faqData__answer {
  align-items: flex-start;
  column-gap: 4px;
  display: grid;
  grid-template-columns: auto 1fr;
}
.faqData__hdgTtl {
  font-size: 1.5rem;
  font-weight: 700;
  padding-top: 0.4em;
}
.faqData__hdgPrefix {
  font-family: var(--ff-num01);
  font-size: 2.4rem;
}
.faqData__body {
  border-top: solid 1px #ddd;
  margin-top: 16px;
  padding-top: 16px;
}
.faqData__answerPrefix {
  color: #c71715;
  font-family: var(--ff-num01);
  font-size: 2.4rem;
}
.faqData__answerContent {
  padding-top: 0.4em;
}
.faqData__text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
}
.faqData__text:not(:first-child) {
  margin-top: 18px;
}
@media screen and (min-width: 751px) {
  .faq__hdg {
    margin-bottom: 56px;
  }
  .faqData {
    row-gap: 24px;
  }
  .faqData__hdgTtl {
    font-size: 1.6rem;
  }
  .faqData__text {
    font-size: 1.5rem;
  }
  .faqData__text:not(:first-child) {
    margin-top: 20px;
  }
}
/*------------------------------
  Cards Area
--------------------------------*/
.cards__hdg {
  margin-bottom: 32px;
}
.cards__hdgTtl {
  font-size: var(--medium-title-fz);
  font-weight: 700;
  letter-spacing: var(--medium-title-tracking);
  text-align: center;
}
/* cardsBlock */
.cardsBlockWrapper {
  --cardsBlock-padding-inline: 16px;
  --cardsBlock-color01: #f4f4f4;
  --cardsBlock-bgColor01: #aeaeae;
  --cardsBlock-borderColor01: #d9d9d9;
  border-radius: 16px 16px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 calc(-1 * var(--content-padding-inline)) 24px;
  overflow: hidden;
}
.cardsBlock:nth-child(1) {
  --cardsBlock-color01: #f4f4f4;
  --cardsBlock-bgColor01: #aeaeae;
  --cardsBlock-borderColor01: #d9d9d9;
}
.cardsBlock:nth-child(2) {
  --cardsBlock-color01: #e8e6d9;
  --cardsBlock-bgColor01: #90884a;
  --cardsBlock-borderColor01: #cac5a7;
}
.cardsBlock:nth-child(3) {
  --cardsBlock-color01: #e2dbc7;
  --cardsBlock-bgColor01: linear-gradient(90deg, #957511 0%, #806204 100%);
  --cardsBlock-borderColor01: #d5c9a8;
}
.cardsBlock:nth-child(4) {
  --cardsBlock-color01: #d4d3d3;
  --cardsBlock-bgColor01: linear-gradient(90deg, #4e4b4a 0%, #373332 100%);
  --cardsBlock-borderColor01: #c6b4b4;
}
.cardsBlock {
  background: var(--cardsBlock-color01);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
}
.cardsBlock:has(.cardsBlock__link) {
  grid-row: span 7;
}
.cardsBlock__hdg {
  background: var(--cardsBlock-bgColor01);
  color: #fff;
  display: flex;
  flex-direction: column-reverse;
  font-weight: 700;
  line-height: 1.7;
  padding: 12px 16px;
  text-align: center;
}
.cardsBlock__hdgTtl {
  font-size: 1.6rem;
}
.cardsBlock__hdgCatch {
  font-size: 1.1rem;
}
.cardsBlock__thumbnail {
  display: grid;
  font-size: 1.1rem;
  font-weight: 500;
  grid-template-rows: subgrid;
  grid-row: span 2;
  padding: 20px var(--cardsBlock-padding-inline) 16px;
  place-content: center;
  place-items: center;
  row-gap: 16px;
}
.cardsBlock__thumbnail > p {
  text-align: center;
}
.cardsBlock__thumbnail > img {
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.1));
  grid-row: 1;
  width: 110.92px;
}
.cardsBlock__fee {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  padding: 53px var(--cardsBlock-padding-inline) 12px;
  position: relative;
  text-align: center;
}
.cardsBlock__feeHdg {
  display: contents;
}
.cardsBlock__feeTtl {
  display: grid;
  grid-template-columns: 1fr;
  left: 0;
  place-content: center;
  padding-inline: 4.266vw;
  position: absolute;
  top: 0;
  width: 200%;
}
.cardsBlock__feeLabel {
  align-items: center;
  background-color: #fff;
  border-radius: 9999px;
  display: flex;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  min-height: 28px;
  justify-content: center;
}
.cardsBlock__link {
  padding: 0 var(--cardsBlock-padding-inline) 24px;
}
.cardsBlock__regularEmphasis {
  color: #c71715;
  font-size: 1.1rem;
  font-weight: 700;
  margin-inline: auto;
  inset: 0;
  position: absolute;
  text-align: center;
  top: 36px;
}
.cardsBlock__plus {
  display: grid;
  margin-block: 4px 8px;
  place-items: center;
  position: relative;
}
.cardsBlock__plus::before {
  background-color: var(--cardsBlock-borderColor01);
  content: "";
  left: 0;
  height: 1px;
  position: absolute;
  top: 50%;
  width: 100%;
  z-index: var(--z-base);
}
.cardsBlock__plus img {
  position: relative;
}
.cards__login {
  background-color: #f4eff4;
  border-radius: 24px;
  margin-top: 56px;
  padding: 64px 24px;
}
.cards__loginLead {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: center;
}
.cards__loginLead > b {
  color: #c71715;
  margin-inline: 0.25em;
}
.cards__loginTxt {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 40px;
  text-align: center;
}
.cards__loginList {
  display: grid;
  grid-auto-rows: minmax(56px, auto);
  grid-template-columns: minmax(0 , 1fr);
  margin-top: 40px;
  place-content: center;
  row-gap: 24px;
}
.cards__loginList .button01 {
  height: 100%;
}
.cards__note {
  font-size: 1.2rem;
  margin-top: 24px;
}
@media not all and (min-width: 751px) {
  .cardsBlock:nth-child(n + 3) {
    margin-top: 24px;
  }
  .cardsBlock:nth-child(3),
  .cardsBlock:nth-child(3) .cardsBlock__hdg {
    border-top-left-radius: 16px;
  }
  .cardsBlock:nth-child(4),
  .cardsBlock:nth-child(4) .cardsBlock__hdg {
    border-top-right-radius: 16px;
  }
}
@media screen and (min-width: 751px) {
  .cards__hdg {
    margin-bottom: 64px;
  }
  .cardsBlockWrapper {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 auto 32px;
  }
  /* cardsBlock */
  .cardsBlock__hdgTtl {
    font-size: 2rem;
  }
  .cardsBlock__hdgCatch {
    font-size: 1.4rem;
  }
  .cardsBlock__thumbnail {
    font-size: 1.4rem;
    padding-block: 24px 28px;
    row-gap: 20px;
  }
  .cardsBlock__thumbnail > img {
    width: 155.28px;
  }
  .cardsBlock__fee {
    padding-block: 65px 25px;
  }
  .cardsBlock__feeTtl {
    padding-inline: 16px;
    width: 400%;
  }
  .cardsBlock__feeLabel {
    font-size: 1.6rem;
  }
  .cardsBlock__regularEmphasis {
    font-size: 1.4rem;
    top: 44px;
  }
  .cardsBlock__link {
    padding-bottom: 56px;
  }
  .cardsBlock__plus {
    margin-block: 16px;
  }
  .cards__login {
    border-radius: 80px;
    margin-top: 72px;
  }
  .cards__loginLead {
    font-size: 3.2rem;
    letter-spacing: 0.05em;
  }
  .cards__loginTxt {
    font-size: 1.8rem;
    margin-top: 32px;
  }
  .cards__loginList {
    grid-template-columns: minmax(0 , 520px);
    margin-top: 48px;
    row-gap: 32px;
  }
  .cards__note {
    font-size: 1.4rem;
    margin-top: 32px;
  }
}
/*------------------------------
  Fixed Area
--------------------------------*/
.fixedContent {
  background-color: rgb(255 255 255 / 0.8);
  border-radius: 16px 16px 0 0;
  box-shadow: 0px 0px 20px rgba(98, 98, 98, 0.25);
  display: none;
  inset: 0;
  position: fixed;
  top: auto;
  z-index: var(--z-content-fixed);
}
.fixedContent[aria-hidden="false"] {
  display: block;
}
.fixedContent__inner {
  column-gap: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding: 16px var(--content-padding-inline) 24px;
  place-content: center;
  place-items: center stretch;
}
@media screen and (min-width: 751px) {
  .fixedContent__inner {
    column-gap: 24px;
    grid-template-columns: minmax(0, 660px);
  }
}

/*==========================================
  utility
=============================================*/
.u-visually-hidden {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}
/* font */
.u-mark01 {
  line-height: 0;
  position: relative;
  top: -0.35em;
}
.u-c-red01 { color: #c71715;}
.u-c-black01 { color: #000;}
.u-c-black02 { color: #333;}
.u-fw-regular { font-weight: 400; }
.u-fw-medium { font-weight: 500; }
.u-fw-bold { font-weight: 700; }
.u-ff-num01 { font-family: var(--ff-num01); }
.u-ff-num02 { font-family: var(--ff-num02); }
.u-t-center { text-align: center; }
.u-t-left { text-align: left; }
.u-t-right { text-align: right; }
.u-v-bottom { vertical-align: bottom; }
.u-v-middle { vertical-align: middle; }
.u-v-top { vertical-align: top; }
.u-fz10 { font-size: 1rem; }
.u-fz11 { font-size: 1.1rem; }
.u-fz12 { font-size: 1.2rem; }
.u-fz14 { font-size: 1.4rem; }
.u-fz16 { font-size: 1.6rem; }
.u-fz18 { font-size: 1.8rem; }
.u-fz20 { font-size: 2rem; }
.u-fz22 { font-size: 2.2rem; }
.u-fz24 { font-size: 2.4rem; }
.u-fz26 { font-size: 2.6rem; }
.u-fz28 { font-size: 2.8rem; }
.u-fz30 { font-size: 3rem; }
.u-fz32 { font-size: 3.2rem; }
.u-fz34 { font-size: 3.4rem; }
.u-fz36 { font-size: 3.6rem; }
.u-fz38 { font-size: 3.8rem; }
.u-fz40 { font-size: 4rem; }
@media not all and (min-width: 751px) {
  .u-visually-hidden-sp {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
  .u-pc-content { display: none; }
  /* font */
  .u-fw-regular-sp { font-weight: 400; }
  .u-fw-medium-sp { font-weight: 500; }
  .u-fw-bold-sp { font-weight: 700; }
  .u-t-center-sp { text-align: center; }
  .u-t-left-sp { text-align: left; }
  .u-t-right-sp { text-align: right; }
  .u-v-bottom-sp { vertical-align: bottom; }
  .u-v-middle-sp { vertical-align: middle; }
  .u-v-top-sp { vertical-align: top; }
  .u-fz10-sp { font-size: 1rem; }
  .u-fz11-sp { font-size: 1.1rem; }
  .u-fz12-sp { font-size: 1.2rem; }
  .u-fz14-sp { font-size: 1.4rem; }
  .u-fz16-sp { font-size: 1.6rem; }
  .u-fz18-sp { font-size: 1.8rem; }
  .u-fz20-sp { font-size: 2rem; }
  .u-fz22-sp { font-size: 2.2rem; }
  .u-fz24-sp { font-size: 2.4rem; }
  .u-fz26-sp { font-size: 2.6rem; }
  .u-fz28-sp { font-size: 2.8rem; }
  .u-fz30-sp { font-size: 3rem; }
  .u-fz32-sp { font-size: 3.2rem; }
  .u-fz34-sp { font-size: 3.4rem; }
  .u-fz36-sp { font-size: 3.6rem; }
  .u-fz38-sp { font-size: 3.8rem; }
  .u-fz40-sp { font-size: 4rem; }
}
@media screen and (min-width: 751px) {
  .u-visually-hidden-pc {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
  .u-sp-content { display: none; }
  /* font */
  .u-fw-regular-pc { font-weight: 400; }
  .u-fw-medium-pc { font-weight: 500; }
  .u-fw-bold-pc { font-weight: 700; }
  .u-t-center-pc { text-align: center; }
  .u-t-left-pc { text-align: left; }
  .u-t-right-pc { text-align: right; }
  .u-v-bottom-pc { vertical-align: bottom; }
  .u-v-middle-pc { vertical-align: middle; }
  .u-v-top-pc { vertical-align: top; }
  .u-fz10-pc { font-size: 1rem; }
  .u-fz11-pc { font-size: 1.1rem; }
  .u-fz12-pc { font-size: 1.2rem; }
  .u-fz14-pc { font-size: 1.4rem; }
  .u-fz16-pc { font-size: 1.6rem; }
  .u-fz18-pc { font-size: 1.8rem; }
  .u-fz20-pc { font-size: 2rem; }
  .u-fz22-pc { font-size: 2.2rem; }
  .u-fz24-pc { font-size: 2.4rem; }
  .u-fz26-pc { font-size: 2.6rem; }
  .u-fz28-pc { font-size: 2.8rem; }
  .u-fz30-pc { font-size: 3rem; }
  .u-fz32-pc { font-size: 3.2rem; }
  .u-fz34-pc { font-size: 3.4rem; }
  .u-fz36-pc { font-size: 3.6rem; }
  .u-fz38-pc { font-size: 3.8rem; }
  .u-fz40-pc { font-size: 4rem; }
}
