@charset "UTF-8";
/***************

  --- base ---

****************/
html {
  cursor: default;
  line-height: 1.5;
  -moz-tab-size: 4;
  tab-size: 4;
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  color: #5a5b5b;
  background-color: #fff;
  font-family: "Helvetica Neue",
 Arial, 
 "Hiragino Kaku Gothic ProN",
 "Hiragino Sans",
 Meiryo,
 sans-serif;
}

header, main, section, footer {
  display: block;
  margin: 0;
  padding: 0;
}

@media only screen and (max-width: 768px) {
  html, body {
    font-size: 3.73vw;
  }
  body {
    font-family: HiraKakuProN-W3, HiraKakuPro-W3,
 "Hiragino Kaku Gothic ProN",
 "Hiragino Sans",
 "Yu Gothic",
 Meiryo,
 sans-serif;
  }
}

.sans-serif {
  font-family: sans-serif;
}

h1, h2, h3, h4, h5, h6,
p,
dl, dt, dd {
  margin: 0;
  padding: 0;
  font-weight: inherit;
  font-size: inherit;
}

small {
  font-size: 80%;
}

*, :after, :before {
  box-sizing: border-box;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

a {
  color: #a20073;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

@media only screen and (min-width: 769px) {
  a:hover,
  a:focus {
    opacity: 0.8;
  }
}

@media only screen and (max-width: 319px) {
  html, body {
    font-size: 4.375vw;
  }
}

ol, ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

hr {
  height: 0;
  overflow: visible;
}

* + p {
  margin-top: 1em;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: bottom;
  user-drag: none;
  -webkit-user-drag: none;
  flex-shrink: 0;
}

iframe, img {
  border-style: none;
}

table {
  border-collapse: collapse;
}

input {
  overflow: visible;
}

/********************

  .mv-*
  (margin vertical)

*********************/
.mv1rem { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.mv2rem { margin-top: 2rem !important; margin-bottom: 2rem !important; }
.mv3rem { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.mv4rem { margin-top: 4rem !important; margin-bottom: 4rem !important; }
.mv5rem { margin-top: 5rem !important; margin-bottom: 5rem !important; }

/********************

  .max-px-*

*********************/
.max-px-400 { max-width: 400px; }
.max-px-450 { max-width: 450px; }
.max-px-470 { max-width: 470px; }
.max-px-500 { max-width: 500px; }
.max-px-550 { max-width: 550px; }
.max-px-600 { max-width: 600px; }
.max-px-650 { max-width: 650px; }
.max-px-700 { max-width: 700px; }
.max-px-750 { max-width: 750px; }
.max-px-800 { max-width: 800px; }
.max-px-850 { max-width: 850px; }
.max-px-900 { max-width: 900px; }
.max-px-950 { max-width: 950px; }

/********************

  .w-px-*

*********************/
.w-px-470 { width: 470px; }

/***************

  common

****************/
.inline-block {
  display: inline-block;
}

.mh-auto {
  margin-right: auto;
  margin-left: auto;
}

.txt-left {
  text-align: left !important;
}

.txt-center {
  text-align: center !important;
}

.txt-right {
  text-align: right !important;
}

.valign-top {
  vertical-align: middle;
}

.valign-middle {
  vertical-align: middle;
}

.valign-bottom {
  vertical-align: middle;
}

.valign-baseline {
  vertical-align: baseline;
}

.fw-bold {
  font-weight: bold;
}
.fw-normal {
  font-weight: normal;
}

.m0 {
  margin: 0 !important;
}

.p0 {
  padding: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.ml0 {
  margin-left: 0 !important;
}

.pl0 {
  padding-left: 0 !important;
}

.mr0 {
  margin-right: 0 !important;
}

.pr0 {
  padding-right: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

@media only screen and (max-width: 1000px) {
  .mt5 {
    margin-top: 0.5vw !important;
  }
  .mt10 {
    margin-top: 1.0vw !important;
  }
  .mt15 {
    margin-top: 1.5vw !important;
  }
  .mt20 {
    margin-top: 2.0vw !important;
  }
  .mt25 {
    margin-top: 2.5vw !important;
  }
  .mt30 {
    margin-top: 3.0vw !important;
  }
  .mt35 {
    margin-top: 3.5vw !important;
  }
  .mt40 {
    margin-top: 4.0vw !important;
  }
  .mt45 {
    margin-top: 4.5vw !important;
  }
  .mt50 {
    margin-top: 5.0vw !important;
  }
  .mt55 {
    margin-top: 5.5vw !important;
  }
  .mt60 {
    margin-top: 6.0vw !important;
  }
  .mt65 {
    margin-top: 6.5vw !important;
  }
  .mt70 {
    margin-top: 7.0vw !important;
  }
  .mt75 {
    margin-top: 7.5vw !important;
  }
  .mt80 {
    margin-top: 8.0vw !important;
  }
  .mt85 {
    margin-top: 8.5vw !important;
  }
  .mt90 {
    margin-top: 9.0vw !important;
  }
  .mt95 {
    margin-top: 9.5vw !important;
  }
  .mt100 {
    margin-top: 10.0vw !important;
  }
  .mb5 {
    margin-bottom: 0.5vw !important;
  }
  .mb10 {
    margin-bottom: 1.0vw !important;
  }
  .mb15 {
    margin-bottom: 1.5vw !important;
  }
  .mb20 {
    margin-bottom: 2.0vw !important;
  }
  .mb25 {
    margin-bottom: 2.5vw !important;
  }
  .mb30 {
    margin-bottom: 3.0vw !important;
  }
  .mb35 {
    margin-bottom: 3.5vw !important;
  }
  .mb40 {
    margin-bottom: 4.0vw !important;
  }
  .mb45 {
    margin-bottom: 4.5vw !important;
  }
  .mb50 {
    margin-bottom: 5.0vw !important;
  }
  .mb55 {
    margin-bottom: 5.5vw !important;
  }
  .mb60 {
    margin-bottom: 6.0vw !important;
  }
  .mb65 {
    margin-bottom: 6.5vw !important;
  }
  .mb70 {
    margin-bottom: 7.0vw !important;
  }
  .mb75 {
    margin-bottom: 7.5vw !important;
  }
  .mb80 {
    margin-bottom: 8.0vw !important;
  }
  .mb85 {
    margin-bottom: 8.5vw !important;
  }
  .mb90 {
    margin-bottom: 9.0vw !important;
  }
  .mb95 {
    margin-bottom: 9.5vw !important;
  }
  .mb100 {
    margin-bottom: 10.0vw !important;
  }
  .pt5 {
    padding-top: 0.5vw !important;
  }
  .pt10 {
    padding-top: 1.0vw !important;
  }
  .pt15 {
    padding-top: 1.5vw !important;
  }
  .pt20 {
    padding-top: 2.0vw !important;
  }
  .pt25 {
    padding-top: 2.5vw !important;
  }
  .pt30 {
    padding-top: 3.0vw !important;
  }
  .pt35 {
    padding-top: 3.5vw !important;
  }
  .pt40 {
    padding-top: 4.0vw !important;
  }
  .pt45 {
    padding-top: 4.5vw !important;
  }
  .pt50 {
    padding-top: 5.0vw !important;
  }
  .pt55 {
    padding-top: 5.5vw !important;
  }
  .pt60 {
    padding-top: 6.0vw !important;
  }
  .pt65 {
    padding-top: 6.5vw !important;
  }
  .pt70 {
    padding-top: 7.0vw !important;
  }
  .pt75 {
    padding-top: 7.5vw !important;
  }
  .pt80 {
    padding-top: 8.0vw !important;
  }
  .pt85 {
    padding-top: 8.5vw !important;
  }
  .pt90 {
    padding-top: 9.0vw !important;
  }
  .pt95 {
    padding-top: 9.5vw !important;
  }
  .pt100 {
    padding-top: 10.0vw !important;
  }
  .pb5 {
    padding-bottom: 0.5vw !important;
  }
  .pb10 {
    padding-bottom: 1.0vw !important;
  }
  .pb15 {
    padding-bottom: 1.5vw !important;
  }
  .pb20 {
    padding-bottom: 2.0vw !important;
  }
  .pb25 {
    padding-bottom: 2.5vw !important;
  }
  .pb30 {
    padding-bottom: 3.0vw !important;
  }
  .pb35 {
    padding-bottom: 3.5vw !important;
  }
  .pb40 {
    padding-bottom: 4.0vw !important;
  }
  .pb45 {
    padding-bottom: 4.5vw !important;
  }
  .pb50 {
    padding-bottom: 5.0vw !important;
  }
  .pb55 {
    padding-bottom: 5.5vw !important;
  }
  .pb60 {
    padding-bottom: 6.0vw !important;
  }
  .pb65 {
    padding-bottom: 6.5vw !important;
  }
  .pb70 {
    padding-bottom: 7.0vw !important;
  }
  .pb75 {
    padding-bottom: 7.5vw !important;
  }
  .pb80 {
    padding-bottom: 8.0vw !important;
  }
  .pb85 {
    padding-bottom: 8.5vw !important;
  }
  .pb90 {
    padding-bottom: 9.0vw !important;
  }
  .pb95 {
    padding-bottom: 9.5vw !important;
  }
  .pb100 {
    padding-bottom: 10.0vw !important;
  }
}

@media only screen and (min-width: 769px) {
  .pc-none {
    display: none !important;
  }
}

@media only screen and (max-width: 768px) {
  .sp-none {
    display: none !important;
  }
}

.img-inline {
  vertical-align: baseline;
  display: inline-block;
  margin: 0 0.2em;
  height: 0.8em;
  width: auto;
}

.img-inline.-vertical-card {
  height: 3em;
  vertical-align: -0.1em;
}

.text-link {
  display: inline-block;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-color: #a3a3a3;
}
.text-link.-style-2 {
  color: #002e9b;
  font-weight: bold;
  text-decoration-color: #a3abd1;
}


.icon-blank {
  display: inline-block;
  vertical-align: top;
  width: 0.7em;
  height: auto;
  margin: 0.2em 0 0 0.1em;
}

.max-w95 {
  max-width: 95%;
}

.max-w90 {
  max-width: 90%;
}

.max-w85 {
  max-width: 85%;
}

.max-w80 {
  max-width: 80%;
}

.max-w75 {
  max-width: 75%;
}

.max-w70 {
  max-width: 70%;
}

.max-w65 {
  max-width: 65%;
}

.max-w60 {
  max-width: 60%;
}

.max-w55 {
  max-width: 55%;
}

.max-w50 {
  max-width: 50%;
}

.max-w45 {
  max-width: 45%;
}

.max-w40 {
  max-width: 40%;
}

/********************

  .text-mininal-spece

*********************/
@media only screen and (max-width: 768px) {
  .text-minimal-space {
    letter-spacing: -0.05em;
  }
}
/********************

  .fs-*

*********************/
.fs-90p  { font-size: 90%; }

.fs-110p { font-size: 110%; }
.fs-115p { font-size: 115%; }
.fs-120p { font-size: 120%; }
.fs-125p { font-size: 125%; }
.fs-130p { font-size: 130%; }
.fs-135p { font-size: 135%; }
.fs-140p { font-size: 140%; }
.fs-145p { font-size: 145%; }
.fs-150p { font-size: 150%; }
.fs-155p { font-size: 155%; }
.fs-160p { font-size: 160%; }
.fs-165p { font-size: 165%; }
.fs-170p { font-size: 170%; }
.fs-175p { font-size: 175%; }
.fs-180p { font-size: 180%; }
.fs-185p { font-size: 185%; }
.fs-190p { font-size: 190%; }
.fs-195p { font-size: 195%; }
.fs-200p { font-size: 200%; }

/********************

  .fc-*

*********************/
.fc-inherit {
  color: inherit;
}
.fc-default {
  color: #000;
}

.fc-red {
  color: #ff0000;
}
.fc-green {
  color: #228f66;
}
.fc-blue {
  color: #2592d0;
}


.fc-parent {
  color: #f8487a;
}
.fc-biz {
  color: #2592d0;
}
.fc-student {
  color: #fccf3e;
}
.fc-plus {
  color: #b40082;
}

/********************

  .translate-*

*********************/
.translate-to-bottom {
  transform: translateY(50%);
}
.translate-to-top {
  transform: translateY(-50%);
}

/********************

  .text-*

*********************/
.text-appeal {
  font-size: 22px;
  margin-top: 10px;
}
.text-appeal .font-large {
  font-size: 140%;
  line-height: 1.1;
}
.text-underline {
  text-decoration: underline;
  text-underline-offset: 1px;
}

@media only screen and (max-width: 768px) {
  .text-appeal {
    font-size: 1.5rem;
  }
}

/********************

  .mark-indent

*********************/
.mark-indent {
  padding-left: 1em;
  position: relative;
  text-align: left;
}

.mark-indent .mark {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}

/********************

  .mark-indent-list

*********************/
.mark-indent-list {
  text-align: left;
}

.mark-indent-list > li {
  position: relative;
  padding-left: 1em;
  font-size: 16px;
}
.mark-indent-list.-small-text > li {
  font-size: 12px;
}


.mark-indent-list > li > .mark {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  line-height: inherit;
}

.mark-indent-list.-em-1_25 > li {
  padding-left: 1.25em;
}

.mark-indent-list.-em-1_5 > li {
  padding-left: 1.5em;
}

.mark-indent-list.-em-1_75 > li {
  padding-left: 1.75em;
}

.mark-indent-list.-em-2 > li {
  padding-left: 2em;
}

@media only screen and (max-width: 768px) {
  .mark-indent-list > li {
    font-size: 1.1rem;
  }
}

/********************

  --- common override ---

*********************/
body {
  min-width: 0;
}

body main p {
  font-size: inherit;
  line-height: inherit;
}

body main picture {
  display: block;
  margin: 0;
  padding: 0;
}

/********************

  @keyframes

*********************/
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/********************

  from "slick-theme.css"
  
  .slick-next ,
  .slick-prev
  
  .slick-dots
  
  <deleted>
  "font-family: 'slick';"

*********************/
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25;
}

.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: '←';
}

[dir='rtl'] .slick-prev:before {
  content: '→';
}

.slick-next {
  right: -25px;
}

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: '→';
}

[dir='rtl'] .slick-next:before {
  content: '←';
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: .25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: black;
}

/********************

  ( override "slick-theme.css" )
  .slide-wrap *
    .slick-next ,
    .slick-prev
    .slick-dots

*********************/
/* Arrows */
/*
.slide-wrap .slick-next,
.slide-wrap .slick-prev {
  background: no-repeat center / contain;
  width: 36px;
  height: 102px;
  z-index: 10;
}

.slide-wrap .slick-next::before,
.slide-wrap .slick-prev::before {
  color: transparent;
}

.slide-wrap .slick-next {
  background-image: url(/-/media/AeonCard/campaign/lp/persona/images/slide-arrow-next.png);
  right: 0;
}

.slide-wrap .slick-prev {
  background-image: url(/-/media/AeonCard/campaign/lp/persona/images/slide-arrow-prev.png);
  left: 0;
}
*/

/* Dots */
.slide-wrap .slick-dots {
  bottom: auto;
  margin: 0 auto;
  padding-top: 10px;
  position: relative;
  width: auto;
}

.slide-wrap .slick-dots li {
  margin: 4px 6px;
  box-sizing: border-box;
  width: auto;
  height: auto;
}

.slide-wrap .slick-dots > li button {
  border: 3px solid #b50081;
  border-radius: 50%;
  background-color: #fff;
  margin: auto;
  width: 22px;
  height: 22px;
}

.slide-wrap .slick-dots li button:before {
  color: transparent;
}
.slide-wrap .slick-dots > li.slick-active button {
  background-color: #b50081;
}
.slide-wrap .slick-dotted.slick-slider {
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  .slide-wrap .slick-next,
  .slide-wrap .slick-prev {
    width: 24px;
    height: 68px;
  }
  .slide-wrap .slick-dots > li button {
    border-width: 2px;
    width: 20px;
    height: 20px;
  }
  .slide-wrap .slick-dotted.slick-slider {
    margin-bottom: 1.5rem;
  }
  
}

/********************

  .slide-wrap.-wallet

*********************/
.slide-wrap.-wallet {
  margin: 20px auto;
}
.slide-wrap.-wallet .slide-item {
  margin: 0 10px;
  padding: 0 10px;
}
.slide-wrap.-wallet .slick-dots > li button {
  border-color: #000;
}
.slide-wrap.-wallet .slick-dots > li.slick-active button {
  background-color: #000;
}

@media only screen and (max-width: 768px) {
  .slide-wrap.-wallet .slide-item {
    margin: 0 8px;
  }
}
/********************

  .slide-wrap.-card

*********************/
.slide-wrap.-card {
  margin: 20px auto;
}

.slide-wrap.-card .slide-item {
  margin: 0 10px;
  padding: 0 10px;
}

.slide-wrap.-card .slick-dots {
  border-top: dashed 1px #f8487a;
  margin-top: 40px;
}

@media only screen and (max-width: 768px) {
  .slide-wrap.-card .slide-item {
    margin: 0 8px;
  }
  .slide-wrap.-card .slick-dots {
    margin-top: 1rem;
  }
}




/********************

  --- ▽ページスタイル ---

*********************/
.main-wrap {
  letter-spacing: 0.01em;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #000;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  html {
    font-size: calc(100vw / 37.5);
  }
  .main-wrap  {
    font-size: 1.2rem;
  }
}


/********************

  .section

*********************/
.section {
  padding: 40px 0;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .section {
    padding: 4vw 0;
  }
}

/********************

  .contents-frame

*********************/
.contents-frame {
  max-width: 800px;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
}

.contents-frame.-enrollment {
  max-width: 840px;
}

.contents-frame.-wide {
  max-width: 1000px;
}

@media only screen and (max-width: 375px) {
  .contents-frame {
    padding: 0 5vw;
  }
}

/********************

  .img-center-box

*********************/
.img-center-box {
  text-align: center;
}
.img-center-box img {
  display: block;
  margin: 0 auto;
}

/********************

  .btn

*********************/
.btn {
  display: block;
  margin: 20px auto;
  color: #fff;
  background-color: #2592d0;
  padding: 0.3em 1.4em;
  border-radius: 0.4em;
  text-align: center;
  position: relative;
  font-size: 28px;
  line-height: 1.1;
  width: auto;
  max-width: 560px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 4px 5px 0px 0px rgba(235, 235, 235, 1);
  min-height: 80px;
}
.btn.-slim {
  min-height: 3em;
}
.btn .btn-inner {
  display: block;
  padding: 0.4em 0;
}
.btn::before ,
.btn::after {
  content: "";
  display: block;
  position: absolute;
}
.btn::before {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0.16em;
  border: 1px solid #fff;
  pointer-events: none;
  border-radius: 0.275em;
}
.btn::after {
  margin: auto 0;
  border-style: solid;
  border-width: 8px 0 8px 9px;
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #fff;
  transform: rotate(0);
  top: 0;
  right: 0.8em;
  bottom: 0;
}

.btn .sub-text {
  dislay: flex;
  font-size: 16px;
  letter-spacing: 0.05em;
}
.btn .main-text {
  font-weight: 700;
  display: block;
  letter-spacing: 0.05em;
}
.btn .main-text.-small {
  font-size: 70%;
}
.btn .sub-text + .main-text {
  margin-top: 0.2em;
}

.cv-btn-wrap {
  margin: 50px auto;
}

@media only screen and (max-width: 768px) {
  .btn {
    min-height: 7.6rem;
    box-shadow: 2px 3px 0px 0px rgba(235, 235, 235, 1);
    font-size: 2.4rem;
  }
  .btn::after {
    border-width: 6px 0 6px 7px;
  }
  .btn .btn-inner {
    padding: 0.2em 0;
  }
  .btn .sub-text {
    font-size: 1.2rem;
  }
  .cv-btn-wrap {
    margin: 3rem auto;
  }
}

/********************

  .btn.-*

*********************/
.btn.-parent  {
  background-color: #f84578;
}
.btn.-biz  {
  background-color: #2592d0;
}
.btn.-student  {
  background-color: #fccf3e;
  color: #000;
}
.btn.-plus  {
  background-color: #b40082;
}

.btn.-sokuhatsu {
  background-color: #b40082;
  min-height: 0;
}
.btn.-sokuhatsu::before {
  display: none;
}
.btn.-sokuhatsu .btn-balloon {
  position: absolute;
  top: -0.5em;
  left: -0.5em;
  width: 1.9em;
}
.btn.-sokuhatsu .main-text {
  font-size: 1.4rem;
}

@media only screen and (max-width: 768px) {
  .btn.-sokuhatsu .btn-balloon {
    width: 1.5em;
  }
}

/********************

  .box
    .-fill-*
    .-border-*
    .-rounded

*********************/
.box {
  margin: 3em auto 0.8em;
  background-color: #fff;
}
.box + .box {
  margin-top: 2em;
}
.box-inner {
  padding: 1rem 1.6rem;
}
.box-inner:last-child > :last-child {
  margin-bottom: 1em;
}

.adjust-box-frame  {
  padding: 0 1.6rem;
}


.box.-fill-gray {
  background-color: #ebebeb;
}
.box.-fill-pink {
  background-color: #ffeaf0;
}
.box.-fill-blue {
  background-color: #dbf2ff;
}
.box.-fill-yellow {
  background-color: #fff7dc;
}

.box.-rounded {
  border-radius: 0.6rem;
}
.box.-border-black {
  border: solid 2px #333;
}
.box.-border-blue {
  border: solid 2px #4057a3;
}
.box.-border-yellow {
  border: solid 4px #fccf3e;
}
.box.-border-pink {
  border: solid 4px #e3006b;
}
.box.-top-border {
  border-top: solid 0.4em #2592d0;
}
.box.-half-border {
  border: solid 1px #cbcbcb;
  border-width: 2px 1px 1px 2px;
}

.box .hdg-simple {
  margin: 1em auto 0.2em;
}

.box-hdg-text {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 0.6em;
}

@media only screen and (max-width: 768px) {
  .box {
    margin: 1.8em auto 0.8em;
  }
  .box-inner {
    padding: 1rem 1.2rem;
  }
  .adjust-box-frame  {
    padding: 0 1rem;
  }
  .box.-border-yellow ,
  .box.-border-pink {
    border-width: 3px;
  }
  .box-hdg-text {
    font-size: 1.5rem;
  }
}

/********************

  .hdg-overflow

*********************/
.hdg-overflow {
  margin-top: -1.8rem;
}
.hdg-overflow img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 1.8rem;
  display: block;
  margin: 0 auto;
}
.hdg-overflow img.bg-white {
  background-color: #fff;
  padding: 0 5px;
}

/********************

  .hdg-border

*********************/
.hdg-border {
  border-top: dashed 1px currentColor;
  border-bottom: solid 6px currentColor;
  font-weight: bold;
  text-align: center;
  margin: 48px auto 32px;
  padding: 12px 0;
  line-height: 1.1;
  font-size: 0;
}
.hdg-border > * {
  font-size: 28px;
}
.hdg-border.-fs-small .text-content {
  font-size: 28px;
}
.hdg-border.-fs-mini .text-content {
  font-size: 28px;
}
.hdg-border .number-content {
  font-family: Calibri, arial, sans-serif;
  white-space: nowrap;
}
.hdg-border .text-content {

}
.hdg-border .balloon {
  display: block;
}
.hdg-border .balloon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 48px;
  display: block;
  margin: 0 auto;
}
.hdg-border .balloon.-always img {
  padding-right: 6em;
}

@media only screen and (max-width: 768px) {
  .hdg-border {
    border-bottom-width: 3px;
    margin: 3rem auto 2.1rem;
    padding: 0.7rem 0;
  }
  .hdg-border > * {
    font-size: 2.1rem;
    font-size: 2.0rem;
  }
  .hdg-border.-fs-small .text-content {
    font-size: 1.8rem;
  }
  .hdg-border.-fs-mini .text-content {
    font-size: 1.4rem;
  }
  .hdg-border .balloon img {
    max-height: 3rem;
  }
  .hdg-border .balloon.-always img {
  }
}

/********************

  .hdg-fill

*********************/
.hdg-fill {
  padding: 0.6em;
  background-color: #ebebeb;
  text-align: center;
  font-size: 20px;
  margin: 1.6em auto 1.2em;
}

@media only screen and (max-width: 768px) {
  .hdg-fill {
    padding: 1em;
    font-size: 1.4rem;
  }
}

/********************

  .hdg-fill-rounded

*********************/
.hdg-fill-rounded {
  margin: 2em auto 1.2em;
  text-align: center;
}
.hdg-fill-rounded .hdg-inner {
  display: inline-block;
  background-color: #333;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: bold;
  padding: 0.3em 2em;
  border-radius: 1.0em/50%;
  min-width: 11em;
  letter-spacing: 0.05em;
}

.hdg-fill-rounded.-fill-1 .hdg-inner {
  background-color: #0154B1;
}
.hdg-fill-rounded.-fill-2 .hdg-inner {
  background-color: #EA4599;
}

@media only screen and (max-width: 768px) {
  .hdg-fill-rounded .hdg-inner {
    font-size: 1.8rem;
  }
}

/********************

  .hdg-bg-stripe

*********************/
.hdg-bg-stripe {
  margin: 2.5rem auto 2rem;
}

/********************

  .table-*

*********************/
.table-columns {
  width: 100%;
  border: solid 2px #d7d8dd;
  margin: 1em auto;
}
.table-columns th ,
.table-columns td {
  width: 50%;
  padding: 0.4em;
  text-align: center;
  border: solid 2px #d7d8dd;
}
.table-columns thead th {
  background-color: #2592d0;
}
.table-columns tbody th {
  background-color: #dbf2ff;
}

.table-columns.-color-2 thead th {
  background-color: #fccf3e;
}
.table-columns.-color-2 tbody th {
  background-color: #fff7dc;
}

/********************

  .section.-* .hdg-border

*********************/
.section.-parent .hdg-border {
  border-color: #f8487a;
}
.section.-parent .hdg-border .number-content {
  color: #f8487a;
}

.section.-biz .hdg-border {
  border-color: #2592d0;
}
.section.-biz .hdg-border .number-content {
  color: #2592d0;
}

.section.-student .hdg-border {
  border-color: #fccf3e;
}
.section.-student .hdg-border .number-content {
  color: #fccf3e;
}

.section.-plus .hdg-border {
  border-color: #b40082;
}
.section.-plus .hdg-border .number-content {
  color: #b40082;
}

/********************

  .hdg-label-hr

*********************/
.hdg-label-hr {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hdg-label-hr::before ,
.hdg-label-hr::after {
  content: "";
  display: block;
  flex-grow: 1;
  height: 2px;
  background: transparent repeat-x linear-gradient(to right, #2592d0 0%, #2592d0 60%, transparent 60%, transparent 100%) center / 12px 2px;
}
.hdg-label-hr > .content {
  display: inline-block;
  color: #fff;
  padding: 0.2em 0.5em;
  font-weight: 400;
  font-size: 20px;
  position: relative;
  z-index: 1;
  max-width: 96%;
}
.hdg-label-hr > .content::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #2592d0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  transform: skew(-10deg);
}

.hdg-label-hr.-yellow::before ,
.hdg-label-hr.-yellow::after {
  background-image: linear-gradient(to right, #fccf3e 0%, #fccf3e 60%, transparent 60%, transparent 100%);
}
.hdg-label-hr.-yellow > .content {
  color: #000;
}
.hdg-label-hr.-yellow > .content::before {
  background-color: #fccf3e;
}

@media only screen and (max-width: 768px) {
  .hdg-label-hr .content {
    font-size: 1.5rem;
  }
}

/********************

  .scroll-box*

*********************/
.scroll-hdg {
  transform: translateY(50%);
  margin-top: -0.5em;
  position: relative;
  z-index: 5;
}
.scroll-box {
  max-height: 220px;
  overflow-y: auto;
}
.scroll-inner {
  padding: 1em 1.4em;
}
.scroll-hdg + .scroll-box .scroll-inner {
  padding-top: 2em;
}

@media only screen and (max-width: 768px) {
  .scroll-box {
    max-height: 24vh;
  }
  .scroll-inner {
    padding: 1em 1.5em 1em 1em;
  }
}


/********************

  （simplebar）

*********************/
.simplebar-track.simplebar-vertical {
  background-color: #eee;
}

/********************

  .dl

*********************/
.dl-border {
  border: solid 1px #f8487a;
  text-align: center;
  padding: 12px;
  margin: 1em auto;
  font-size: 20px;
  max-width: 700px;
}
.dl-border dt ,
.dl-border dd {
  margin: 0.5em auto;
}
.dl-border dt:first-child ,
.dl-border dd:first-child {
  margin-top: 0;
}
.dl-border dt:last-child ,
.dl-border dd:last-child {
  margin-bottom: 0.5em;
}
.dl-border dt {
  background-color: #f8487a;
  color: #fff;
  padding: 0.4em 0.8em;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .dl-border {
    font-size: 1.2rem;
    padding: 0.36em;
  }
  .dl-border dd {
    line-height: 1.25;
  }
}

/********************

  .dl-step

*********************/
.dl-step {
  width: 94%;
  max-width: 500px;
  margin: 0 auto;
}
.dl-step dt {
  margin-top: 1.5em;
}
.dl-step dt img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.dl-step dd {
  margin: 1em auto 1.5em;
}

@media only screen and (max-width: 768px) {

}

/********************

  .dl-logo

*********************/
.dl-logo dt {
  margin-top: 2em;
}
.dl-logo dd {
  margin: 1em auto;
}

/********************

  .link-list

*********************/
.link-list > li {
  margin: 1em auto;
}
.link-list > li a {
  display: block;
  position: relative;
  background-color: #000;
  color: #fff;
  padding: 1em 2em;
  line-height: 1.2;
  font-size: 18px;
  text-align: center;
}
.link-list > li a[href="#parent"] {
  background-color: #f8487a;
}
.link-list > li a[href="#biz"] {
  background-color: #2592d0;
}
.link-list > li a[href="#student"] {
  background-color: #fccf3e;
  color: #000;
}
.link-list > li a[href="#student"]::after {
  border-color: #000;
}

.link-list > li a .fs-strong {
  font-size: 22px;
}
.link-list > li a::after {
  content: "";
  display: block;
  border: solid #fff;
  border-width: 1.5px 1.5px 0 0;
  width: 0.7em;
  height: 0.7em;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.2em;
  margin: auto 0;
}

@media only screen and (max-width: 768px) {
  .link-list > li a {
    font-size: 1.5rem;
  }
  .link-list > li a .fs-strong {
    font-size: 1.8rem;
  }
}

/********************

  .image-text-list

*********************/
.image-text-list {
  margin: 0 auto;
  max-width: 600px;
}
.image-text-list > li {
  display: flex;
  text-align: left;
}
.image-text-list > li + li {
  margin-top: 1em;
}
.image-text-list .image {
  width: 40%;
}
.image-text-list .text {
  margin-left: 5%;
  width: 55%;
  font-size: 14px;
}
.image-text-list .text .ttl {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0.4em;
/*  border-bottom: solid 2px #2592d0; */
  text-decoration: underline;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 0.1em;
  text-decoration-color: #2592d0;
}
.image-text-list .text p {
  margin-top: 0;
}

@media only screen and (max-width: 768px) {
  .image-text-list .image {
    width: 40%;
  }
  .image-text-list .text {
    font-size: 1.2rem;
    width: 55%;
  }
  .image-text-list .text .ttl {
    font-size: 1.5rem;
  }
}

/********************

  .banner-list

*********************/
.banner-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
.banner-list > li {
  width: 48%;
}
.banner-list > li:nth-child(2n+1) {
  margin-right: auto;
}
.banner-list > li:nth-child(n+3) {
  margin-top: 20px;
}
.banner-list > li:first-child:last-child {
  margin-left: auto;
}

.banner-title {
  font-size: 22px;
  font-weight: bold;
  color: #525252;
}
.banner-box {
  margin: 0.4em auto 1.2em;
}

@media only screen and (max-width: 768px) {
  .banner-list {
    display: block;
  }
  .banner-list > li:nth-child(n) {
    width: auto;
    margin-top: 2rem;
  }
  .banner-title {
    font-size: 1.5rem;
  }
}

/********************

  .card-*

*********************/
.card-information-balloon {
  margin-top: 0.5rem;
}
.card-information-balloon .balloon-image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 4rem;
}
.card-information {
  max-width: 500px;
  margin: 0 auto;
}
.card-img-box {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
}
.card-img-box .card-img {
  width: auto;
  height: auto;
  max-width: 200px;
  max-height: 200px;
  display: block;
  margin: 0 auto;
}

.card-name {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  margin: 1em auto 0.4em;
}

.card-appeal {
  color: #b40082;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.card-description {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 2em;
}

.card-btn .btn {
  font-size: 24px;
}

.slide-adjust-frame {
  padding: 0 10px;
  margin: 0 8px;
}

@media only screen and (max-width: 768px) {
  .card-name {
    font-size: 1.5rem;
  }
  .card-appeal {
    font-size: 1.5rem;
  }
  .card-description {
    font-size: 1.2rem;
  }
  .card-btn .btn {
    font-size: 1.4rem;
  }
}

/********************

  .callout-text

*********************/
.callout-text {
  display: flex;
  line-height: 1.4;
  text-align: center;
  margin: 0 auto;
  padding: 0;
  justify-content: center;
  align-items: flex-end;
}
.callout-text > * {
  flex-grow: 0;
}
.callout-text::before,
.callout-text::after {
  content: "";
  display: block;
  width: 0.08em;
  height: 1.2em;
  position: relative;
  background: repeat-y linear-gradient(to bottom, currentColor 0%, currentColor 64%, transparent 64%, transparent 100%) center top / 100% 0.4em;
  margin-bottom: 0.1em;
}
.callout-text::before {
  transform: rotate(-25deg);
  margin-right: 1em;
}
.callout-text::after {
  transform: rotate(25deg);
  margin-left: 1em;
}
.callout-text.-solid::before,
.callout-text.-solid::after {
  background: currentColor;
}
.callout-text.-bold {
  font-weight: bold;
}
.callout-text.-bold::before,
.callout-text.-bold::after {
  width: 0.1em;
}

/********************

  .accordion*

*********************/
.accordion-wrap {
  color: #f8487a;
  border: solid 2px currentColor;
  background-color: #fff;
  margin: 1em auto;
}
.accordion-trigger {
  appearance: none;
  cursor: pointer;
  display: block;
  text-align: center;
  width: 100%;
  padding: 0.8em 2.4em;
  background-color: #fff;
  position: relative;
  font-size: 18px;
  color: inherit;
  border: none;
  font-weight: bold;
}
.accordion-trigger.-color-2 {
  color: #2592d0;
}
.accordion-wrap .accordion-trigger:hover ,
.accordion-wrap .accordion-trigger:active ,
.accordion-wrap .accordion-trigger:focus {
  opacity: 1 !important;
}

.accordion-trigger::before ,
.accordion-trigger::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background-color: currentColor;
}
.accordion-trigger::before {
  right: 1em;
  width: 1em;
  height: 2px;
  bottom: 1px;
}
.accordion-trigger::after {
  right: 1.5em;
  width: 2px;
  height: 1em;
  margin-right: -1px;
  transform: scaleY(1);
  transition: transform 0.1s linear;
}

.accordion-content {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  margin: 0 1em;
  padding: 0 0.8em;
  transition: padding 0.2s ease-out;
}
.accordion-content > :last-child {
  margin-bottom: 0.8rem;
}

.accordion-content > * {
  color: #000;
}
.accordion-wrap:not(.-is-open):not(.-has-slide) .accordion-content > * {
  display: none;
}

.accordion-wrap.-is-open .accordion-trigger::after {
  transform: scaleY(0);
}

.accordion-wrap.-is-open .accordion-content {
  padding: 1em 0.8em;
  visibility: visible;
  height: auto;
  border-top: dashed 1px currentColor;
}

@media only screen and (max-width: 768px) {
  .accordion-trigger {
    font-size: 1.5rem;
  }
}

/********************

  .section.-* .accordion*

*********************/
.accordion-wrap.-color-1 ,
.section.-parent .accordion-wrap {
  color: #f8487a;
}
.accordion-wrap.-color-2 ,
.section.-biz .accordion-wrap {
  color: #2592d0;
}
.accordion-wrap.-color-3 ,
.section.-student .accordion-wrap {
  color: #fccf3e;
}
.accordion-wrap.-color-3 .accordion-trigger .text ,
.section.-student .accordion-wrap .accordion-trigger .text ,
.section.-student .accordion-wrap .accordion-trigger::before ,
.section.-student .accordion-wrap .accordion-trigger::after {
  color: #000;
}
.accordion-wrap.-color-4 ,
.section.-plus .accordion-wrap {
  color: #b40082;
}

/********************

  .movie-wrap

*********************/
.movie-wrap {
  height: auto;
  position: relative;
  text-align: left;
  margin: 20px auto;
  width: 100%;
  max-width: 500px;
  aspect-ratio: 16/9;
  background-color: #000;
}

@media only screen and (max-width: 768px) {
  .movie-wrap {
    margin: 1rem auto;
  }
}

/********************

  .hr-*

*********************/
.hr {
  height: 3px;
  border: none;
  margin: 2em auto;
  background: repeat-x linear-gradient(to right, #F21D91 0%, #F21D91 50%, transparent 50%, transparent 100%) left center/ 12px 100%;
}

@media only screen and (max-width: 768px) {
  .hr {
    height: 3px;
  }
}

/********************

  .section.-intro

*********************/
.section.-intro {
  padding-top: 0;
}

.intro-campaign-link {
  text-align: center;
  font-size: 18px;
  margin: 1em auto;
  font-weight: bold;
}
.intro-img {
  margin: 30px auto;
}
.intro-message {
  text-align: center;
  margin: 40px auto 30px;
}
.intro-message .message-1 {
  font-size: 22px;
}
.intro-message .message-2 {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 0;
}

.intro-movie-box {
  text-align: center;
}
.intro-movie-text {
  margin: 0.6em auto 1em;
}

@media only screen and (max-width: 768px) {
  .intro-img {
    margin: 2rem -1vw;
  }
  .intro-campaign-link {
    font-size: 1.5rem;
  }
  .intro-message {
    margin: 3em auto 1.4em;
  }
  .intro-message .message-1 {
    font-size: 1.5rem;
  }
  .intro-message .message-2 {
    font-size: 2.4rem;
  }
}

/********************

  .key-visual

*********************/
.key-visual {
  text-align: center;
  background-color: #f8f8fb;
}
.key-visual img {
  display: block;
  margin: 0 auto;
}
.key-visual-btns {
  margin: 48px auto 24px;
}
.key-visual-btns .btn.-sokuhatsu{
  margin-top: 10px;
}
.kv-sokuhatsu-callout {
  font-weight: bold;
}
.kv-sokuhatsu-callout::before ,
.kv-sokuhatsu-callout::after {
  width: 0.1em;
}

@media only screen and (max-width: 768px) {
  .key-visual img {
    width: 100%;
  }
  .key-visual-btns {
    margin: 2rem auto 1rem;
  }
  .key-visual-btns .btn.-sokuhatsu{
    margin-top: 0.2rem;
    margin-bottom: 0.5rem;
  }
}

/********************

  .intro-anchors

*********************/
.intro-anchors {
  display: flex;
}
.intro-anchors > a {
  display: block;
}
.intro-anchors > a {
  display: block;
  width: 24%;
  margin: auto;
}


@media only screen and (max-width: 768px) {
  .intro-anchors {
    display: flex;
    flex-wrap: wrap;
  }
  .intro-anchors > a {
    display: block;
    width: 44%;
  }
  .intro-anchors > a:nth-child(n+3) {
    margin-top: 6%;
  }
}

/********************

  .intro-anchor-blocks

*********************/
.intro-anchor-blocks .anchor-wrap {
  text-align: center;
}
.intro-anchor-blocks a {
  display: block;
  width: 92%;
  max-width: 620px;
  margin: 10px auto;
}
.intro-anchor-blocks a img {
  display: block;
  margin: 0 auto;
  width: 100%;
}
.intro-anchor-blocks .anchor-wrap.-plus::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  border-top: 2px dashed #a7aed4;
  margin: 30px auto;
}

/********************

  .section.-member-tokuten

*********************/
.section.-member-tokuten {

}

.other-stores {
  margin: 0 auto;
  padding: 0.5em 0;
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .other-stores {
    font-size: 1.4rem;
  }
}

/********************

  .section.-yourcard

*********************/
.section.-yourcard {

}

/********************

  .section.-parent

*********************/
.section.-parent {

}
.hdg-myfav-parent {
  margin: 3em auto 0;
}
.aeonbank-commission {
  margin: 40px auto;
}
.aeonbank-box {
  margin-top: 60px;
}

@media only screen and (max-width: 768px) {
  .aeonbank-commission {
    margin: 1.5rem auto 2.5rem;
  }
  .aeonbank-box {
    margin-top: 3.5rem;
  }
}

/********************

  .section.-biz

*********************/
.section.-biz {
  
}

.hdg-myfav-biz {
  margin: 3em auto 1em;
}


@media only screen and (max-width: 768px) {

}

/********************

  .section.-student

*********************/
.section.-student {
  
}

.hdg-myfav-student {
  margin: 3em auto 2em;
}

.usj-movie-group {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0 auto;
  max-width: 560px;
}
.usj-movie {
  width: 42%;
}
.usj-movie-text {
  width: 51%;
  margin-left: 6%;
}
.usj-movie-text img {
  display: block;
  margin: 0 auto;
}
.usj-movie-group .movie-wrap {
  aspect-ratio: 9.1/16;
  margin: 0;
}

.card-btn .btn {
  font-size: 24px;
  min-height: 3em;
}

@media only screen and (max-width: 768px) {
  .usj-movie-group {
    max-width: 600px;
  }
  .card-btn .btn {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 640px) {
  .usj-movie {
    width: 44%;
  }
  .usj-movie-text {
    width: 53%;
    margin-left: 3%;
  }
}

/********************

  .section.-plus

*********************/
.hdg-myfav-plus {
  margin: 2em auto 1em;
}
.goldcard-price {
  text-decoration: underline;
  text-decoration-color: #ffd4d4;
}
.aeonlounge-logo {
  margin: 2rem auto;
}
.aeonlounge-logo img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 2.4rem;
}

/********************

  .section.-for-other

*********************/
.section.-for-other {
  background-color: #4553a3;
}

.hdg-for-other {
  color: #fff;
  text-align: center;
  font-size: 24px;
  margin: 1em auto;
}

@media only screen and (max-width: 768px) {
  .section.-for-other {
    padding-top: 3rem;
  }
  .hdg-for-other {
    font-size: 1.5rem;
  }
}

/********************

  .section.-enrollment

*********************/
.section.-enrollment {
  background-color: #d1f4ff;
  padding: 110px 0 50px;
}
.hdg-enrollment {
  text-align: center;
  margin: 0 auto;
  font-size: 30px;
  font-weight: bold;
  color: #b40082;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.hdg-enrollment .text-design {
  display: inline-block;
  max-width: 80%;
}
.hdg-enrollment .text-design::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1em;
  background: repeat-x linear-gradient(to right,currentColor 0%, currentColor 50%, transparent 50%, transparent 100%) left center/ 0.4em 100%;
  margin-top: 0.2em;
}

.box.-enrollment {
  border: solid 2px #4057a3;
}
.hdg-enrollment-img {
  display: block;
  margin: -70px auto 0;
}
.hdg-enrollment-img img {
  display: block;
  margin: 0 auto;
  max-width: 90%;
}
.hdg-enrollment-img + .box-inner {
  padding-top: 0;
}

.tokuten-schedule {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin: 0.4em auto;
}
.enrollment-banner-wrap {
  margin: 1rem auto;
  max-width: 420px;
}
.enrollment-banner-wrap img {
  display: block;
  margin: 1rem auto;
}
.enrollment-banner-wrap .mark-indent-list > li {
  font-size: 14px;
}

.hdg-introduce-callout {
  color: #fff;
  margin-top: 2em;
  font-size: 32px;
}
.hdg-introduce-callout::before ,
.hdg-introduce-callout::after {
  width: 0.05em;
}
.hdg-introduce-callout::before {
  transform: rotate(-45deg);
  margin-right: 0.6em;
}
.hdg-introduce-callout::after {
  transform: rotate(45deg);
  margin-left: 0.6em;
}
.hdg-introduce-callout + .box {
  margin-top: 1.5em;
}

.hdg-enrollment-introduce {
  font-size: 25px;
  text-align: center;
  font-weight: bold;
  margin: 0.8em auto;
}

.plus-icon {
  margin: 28px auto;
}

@media only screen and (max-width: 768px) {
  .section.-enrollment {
    padding: 7rem 0 4rem;
  }
  .hdg-enrollment {
    font-size: 2.0rem;
    letter-spacing: 0.05em;
  }
  .hdg-enrollment-img {
    margin-top: -18%;
  }
  .hdg-enrollment-img img {
    max-width: 98%;
    width: 98%;
  }
  .tokuten-schedule {
    font-size: 1.8rem;
  }
  .plus-icon {
    margin: 1rem auto;
    width: 3.3rem;
  }
  .hdg-introduce-callout {
    font-size: 2.0rem;
  }
  .hdg-enrollment-introduce {
    font-size: 1.7rem;
  }
}

/********************

  .section.-sustainable

*********************/
.section.-sustainable {
  
}
.hdg-sustainable {
  margin-top: 1em;
}

.sustainable-content {
  max-width: 620px;
  margin: 3rem auto;
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .sustainable-content {
    max-width: none;
    font-size: 1.2rem;
    margin: 2rem auto;
  }
}

/********************

  .section.-pagebottom

*********************/
.introduce-bnr {
  text-align: center;
}
.introduce-bnr a {
  display: inline-block;
}
.introduce-bnr a img {
  display: block;
}


/********************

  .to-pagetop-btn

*********************/
.to-pagetop-btn-wrap {
  position: relative;
  min-height: 100px;
  background-color: #fff;
}

.to-pagetop-btn {
  position: absolute;
  bottom: 30px;
  right: 20px;
  cursor: pointer;
  z-index: 10;
  text-align: center;
  width: 60px;
  visibility: hidden;
  opacity: 0;
}
.to-pagetop-btn.-is-show {
  opacity: 1;
  visibility: visible;
}
.to-pagetop-btn.-is-show:hover {
  opacity: 0.8;
}
.to-pagetop-btn.-fixed {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 90;
}

.to-pagetop-btn.-is-show {
  transition: opacity 0.2s ease 0s, visibility 0s ease 0s;
}
.to-pagetop-btn:not(.-is-show) {
  transition: opacity 0.2s ease 0s, visibility 0s ease 0.2s;
}
.to-pagetop-btn.-fixed.-is-show {
  transition: opacity 0.2s ease 0s, visibility 0s ease 0s, bottom 0.2s ease 0s;
}
.to-pagetop-btn.-fixed:not(.-is-show) {
  transition: opacity 0.2s ease 0s, visibility 0s ease 0.2s, bottom 0.2s ease 0s;
}

@media only screen and (max-width: 768px) {
  .to-pagetop-btn-wrap {
    min-height: 80px;
  }
  .to-pagetop-btn {
    width: 45px;
  }
  .to-pagetop-btn.-is-show:hover {
    opacity: 1;
  }
}

/********************

  .follow-bottom

*********************/
.follow-bottom {
  position: fixed;
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 -10px 15px 5px rgba(0, 0, 0, 0.1);
  left: 0;
  right: 0;
  bottom: 0;
  height: auto;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.follow-bottom.-is-show {
  visibility: visible;
  opacity: 1;
}
.follow-bottom:not(.-is-show) {
  transition-property: opacity, visibility;
  transition-delay: 0, 0.2s;
}
.follow-bottom-content {
  padding: 20px;
}
.follow-bottom .btn {
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .follow-bottom {
    box-shadow: 0 -4vw 6vw 2vw rgba(0, 0, 0, 0.1);
  }
  .follow-bottom-content {
    padding: 10px 15px;
  }
  .follow-bottom-banner {
    max-height: 9vh;
  }
}

/********************

  .follow-anchor-list

*********************/
.follow-anchor-list {
  display: flex;
  margin: 0 auto;
  max-width: 800px;
  justify-content: center;
  align-items: stretch;
}
.follow-anchor-list > li {
  display: flex;
  align-items: stretch;
  width: 33.33%;
  font-size: 20px;
}
.follow-anchor-list .anchor {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  color: #fff;
  padding: 7% 2%;
  letter-spacing: 0.05em;
}

.follow-anchor-list .list-item.-parent .anchor {
  background-image: linear-gradient(to bottom, #f96f96 0%, #f8487a 100%);
}
.follow-anchor-list .list-item.-biz .anchor {
  background-image: linear-gradient(to bottom, #4ea7d9 0%, #2592d0 100%);
}
.follow-anchor-list .list-item.-student .anchor {
  background-image: linear-gradient(to bottom, #fddd78 0%, #fccf3e 100%);
  color: inherit;
}
.follow-anchor-list .flex-img {
  margin: 0 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}
.follow-anchor-list .card-img {
  max-width: 100px;
  max-height: 100px;
  width: auto;
  height: auto;
  border-radius: 4px;
}
.follow-anchor-list .list-item.-student .card-img {
  box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0.8);
}

.follow-anchor-list .copyright {
  font-size: 10px;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: right;
  margin-top: 0.2em;
}
@media only screen and (max-width: 768px) {
  .follow-anchor-list > li {
    font-size: 1.1rem;
  }
  .follow-anchor-list .card-img {
    max-width: 11vw;
    max-height: 11vw;
    border-radius: 0.44vw;
  }
  .follow-anchor-list .copyright {
    font-size: 1.5vw;
  }
}

/********************

  micromodal override

*********************/
.modal {
  z-index: 100001;
  position: relative;
}
.modal-close {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #2592d0;
  position: absolute;
  top: 10px;
  right: 10px;
  appearance: none;
  border: none;
  color: transparent;
  font-size: 5px;
}
.modal-close::before ,
.modal-close::after {
  content: "";
  display: block;
  position: absolute;
  width: 60%;
  height: 2px;
  background-color: #fff;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.modal-close::before { transform: rotate(-45deg); }
.modal-close::after  { transform: rotate( 45deg); }

.modal__container {
  border: 1px solid #2592d0;
  border-radius: 0.8rem;
  width: 90vw;
  max-width: 600px;
  max-height: 80vh;
}

/********************

  [modal]

*********************
[data-modal-name] , .modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  visibility: hidden;
}
.modal-bg {
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.1s ease;
  transition-property: opacity, visibility;
}
[data-modal-name] {
  width: 80%;
  max-width: 800px;
  height: 80%;
  margin: auto;
  z-index: 10000;
  transition: transform 0.1s ease-out;
  transform: translateY(-0.5rem);
  transition-property: opacity, visibiliry, transform; 
  display: flex;
  align-items: center;
  pointer-events: none;
}
[data-modal-name] > * {
  pointer-events: auto;
}
[data-modal-name].-show {
  visibility: visible;
  transform: translateY(0);
}
[data-modal-name]:not(.-show) {
  transition-property: transform, visibility;
}
body:has([data-modal-name].-show) .modal-bg {
  visibility: visible;
  opacity: 1;
}
body:has([data-modal-name].-show) {
  overflow: hidden;
}
[data-modal-name] {

}


*/
