@charset "UTF-8";

/*! Global Styles */
/*====================================
  *. Global
    ----------------------------------
    Structure
    ----------------------------------
    - 1. Base Import
    - 2. Global Import

    ----------------------------------
    Introduction
    ----------------------------------

    ----------------------------------
    Constitution
    ----------------------------------

    ----------------------------------
    Change Log
    ----------------------------------
    - 2020/07/20   Founding

====================================*/
/*====================================

  - 1. Base Import
--------------------------------------
  まずはbasic-styleと
  君が作るブランクの
  - variables
  - function
  - mixin を読み込むぞ

====================================*/
/*====================================
  0. Base Function
    ----------------------------------
    Structure
    ----------------------------------
    - 1. Map Deep Get
    - 2. REM Calculator
    - 3. Line Height Calculator
    - 4. Strip Unit
    - 5. Tint & Shade Color

    ----------------------------------
    Introduction
    ----------------------------------

    ----------------------------------
    Constitution
    ----------------------------------

    ----------------------------------
    Change Log
    ----------------------------------
    - 2020/07/20   Founding

====================================*/
/*====================================

  - 1. Map Deep Get
--------------------------------------
  ネストされたmapを取得できる
  map-deep-get()

====================================*/
/*====================================

  - 2. REM Calculator
--------------------------------------
  px -> rem の計算機
  $basic-font-size必須
  rem-calc(number);

====================================*/
/*pxからrem求めたい時
*{
  font-size: rem-calc(14);
}
*{
  font-size: 0.875rem;
}
*/
/*
*{
  font-size: px-rem-calc(0.875);
}
*{
  font-size: 14px;
}
*/
/*
*{
  font-size: em-calc(14);
}
*{
  font-size: 0.875em;
}
*{
  font-size: em-calc(16,14);
}
*{
  font-size: 1.125em;
}
*/
/*
*{
  width: basic-size(2);
}
*{
  width: 32px;
}
*/
/*====================================

  - 3. Line Height Calculator
--------------------------------------
  line-height の計算機
  px からで 比率計算できる
  $basic-font-size必須
  line-height-cal(line-height, font-size);

====================================*/
/*
*{
  line-height: line-height-calc(32);
}
*{
  line-height: 2.0
}
*/
/*====================================

  - 4. Strip Unit
--------------------------------------
  単位がある数値を数値だけにする

====================================*/
/*====================================

  - 5. Tint & Shade Color
--------------------------------------
  色に白や黒を混ぜる
  $theme-color-interval は混ぜる割合

  $color-100: tint-color($color, 8);
  $color-200: tint-color($color, 6);
  $color-300: tint-color($color, 4);
  $color-400: tint-color($color, 2);
  $color-500: $color;
  $color-600: shade-color($color, 2);
  $color-700: shade-color($color, 4);
  $color-800: shade-color($color, 6);
  $color-900: shade-color($color, 8);

====================================*/
/*頭に_をつけると読み込まない
"grobal.scss"で＠import*/
/*====================================
  01. Basic Variables
    ----------------------------------
    Structure
    ----------------------------------
    - 1. Bacic Size
    - 2. Breakpoints
    - 3. Colors

    ----------------------------------
    Introduction
    ----------------------------------

    ----------------------------------
    Constitution
    ----------------------------------
    child of

    ----------------------------------
    Change Log
    ----------------------------------
    - 2020/07/20   Founding

====================================*/
/*====================================

  - 1. Bacic Font Size
--------------------------------------
  font-size と　line-height　共に
  単位省略(px)して書いてね
  両方とも<html>に設定されるよ

  ここでのline-heightは
  小さめにしとくといいと思う

  ここでのline-heightは
  小さめにしとくといいと思う

  いろんなところで使う $basic-design-size
  基本的に16かな

====================================*/
/* Font Size (px) */
/* Line Height (px) */
/* Design Size (px) */
/*====================================

  - 2. Breakpoints
--------------------------------------

====================================*/
/*
h1{
  font-size: 1em;
  @include media-min() {
    font-size: 2em;
  }
  @include media-min(massive) {
    font-size: 3em;
  }
  @include media-min(9999px) {
    font-size: 4em;
  }
}
*/
/*------------------------------------
  $breakpoints(map)を
  取得するための @function
------------------------------------*/
/*====================================

  - 3. Colors
--------------------------------------

====================================*/
/* $color-primary */
/* $color-secondary */
/* $color-tertiary */
/* $color-quaternary */
/* $color-quinary */
/*====================================
  0. Base MIXINS
    ----------------------------------
    Structure
    ----------------------------------
    - 1. Font size
    - 2. Media Queries width
      2.1 Media Queries width base
      2.2 Media Queries min
      2.3 Media Queries max
      2.4 Media Queries Only
    - 3. Media Dark Mode
    - 4. Media Portrait
    - 5. Media Landscape
    - 6. Button Reset
    - 7. Size
    - 8. Aspect Ratio
    - 9. Background Cover
    - 10. Padding & Margin

    ----------------------------------
    Introduction
    ----------------------------------

    ----------------------------------
    Constitution
    ----------------------------------

    ----------------------------------
    Change Log
    ----------------------------------
    - 2020/07/20   Founding

====================================*/
/*====================================

  - 1. Font size
--------------------------------------
  font-size のem
  line-heightを求めるmixin
  基本数は$basic_font_sizeで設定

  @include font-size(16);
  output:
  font-size: 1em;

  @include font-size(16, 18);
  output:
  font-size: 1em;
  line-height: 1.125;

====================================*/
/*====================================

  - 2. Media Queries width
--------------------------------------
  @include media-min(999px) { *** }
  output:
  @media (min-width: 999px)  { *** }

  @include media-max(999px) { *** }
  output:
  @media (max-width: 999px)  { *** }

  @include media-only(999px, 9999px) { *** }
  output:
  @media (min-width: 999px) and (max-width: 9999px)  { *** }

====================================*/
/*------------------------------------
  2.1 Media Queries width base
------------------------------------*/
/*------------------------------------
  2.2 Media Queries min
------------------------------------*/
/*------------------------------------
  2.3 Media Queries max
------------------------------------*/
/*------------------------------------
  2.4 Media Queries Only
------------------------------------*/
/*------------------------------------
  2.5 Media Queries Mobile min
------------------------------------*/
/*------------------------------------
  2.5 Media Queries TABLET min
------------------------------------*/
/*------------------------------------
  2.5 Media Queries PC min
------------------------------------*/
/*====================================

  - 3. Media Dark Mode
--------------------------------------
  ダークモード用

  @include media-dark { *** }
  output:
  @media (prefers-color-scheme: dark)  { *** }

====================================*/
/*====================================

  - 4. Media Portrait
--------------------------------------
  画面が縦長用

  @include media-portrait { *** }
  output:
  @media (orientation: portrait)  { *** }

====================================*/
/*====================================

  - 5. Media Landscape
--------------------------------------
  画面が横長用

  @include media-landscape { *** }
  output:
  @media (orientation: landscape)  { *** }

====================================*/
/*====================================

  - 6. Button Reset
--------------------------------------
  <button>スタイルをリセットするmixin

  @include button-reset;

====================================*/
/*
button {
   @include button-reset;
   color: #000;
}
*/
/*====================================

  - 7. Size
--------------------------------------
  widthとheightを設定するmixin

  @include size(100px);
  output:
  width: 100px;
  height: 100px;

  @include size(100px, 200px);
  output:
  width: 100px;
  height: 200px;

====================================*/
/*====================================

  - 8. Aspect Ratio
--------------------------------------
  widthに対してpadding-topで高さを計算する

====================================*/
/*====================================

  - 9. Background Cover
--------------------------------------
  background-size: cover;のためのmixin

====================================*/
/*
.bg {
  @include background-cover('../assets/bg-image.jpg');
}
*/
/*====================================

  - 10. Padding & Margin
--------------------------------------
  Padding と Margin のためのmixin

====================================*/
/*====================================

  - 2. Global Import
--------------------------------------

====================================*/
/*====================================

  - Header 
--------------------------------------
  ヘッダー

====================================*/
/*--- iPhone ---*/
header {
  padding: 2px 0;
  background-color: #fff;
  box-shadow: 0px 3px 6px #EAE5D1;
  width: 100%;
  position: fixed;
  z-index: 1000;
}

.header__inner {
  max-width: 948px;
  padding: 0 16px;
  margin: 0 auto;
  position: relative;
}

@media (min-width: 768px) {
  .header__inner {
    padding: 0;
  }
}

.header-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.header-logo img {
  height: 32px;
  width: auto;
}

@media (min-width: 768px) {
  .header-logo img {
    height: 40px;
  }
}

.header-menu img {
  width: 56px;
  height: auto;
}

.header-menu :last-child {
  display: none;
}

.is-nav-open .header-menu :first-child {
  display: none;
}

.is-nav-open .header-menu :last-child {
  display: block;
}

.header-nav {
  position: absolute;
  top: 60px;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  height: 0;
  overflow: hidden;
}

.is-nav-open .header-nav {
  height: -moz-fit-content;
  height: fit-content;
}

.header-nav ul {
  width: 100%;
  max-width: 342px;
}

.header-nav ul li+li {
  border-top: 2px solid #fff;
}

.header-nav ul .menu-list-bg-1 {
  background-color: #FBF9EE;
}

.header-nav ul .menu-list-bg-2 {
  background-color: #F7F2DD;
}

.header-nav ul li {
  position: relative;
}

.header-nav ul li a {
  padding: 12px 12px 12px 16px;
  color: #333333;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.header-nav ul li a span {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.header-nav ul li a span small {
  font-size: 12px;
}

.header-nav ul li a span img {
  width: 10px;
  height: auto;
}

.header-nav ul li a:hover {
  color: #E56200;
  transition: 0.5s ease-in;
}

.header-nav ul li::before {
  content: "";
  position: absolute;
  background-color: #EEB000;
  width: 4px;
  height: 100%;
  top: 0;
  left: 0;
}

/*====================================

  - Footer 
--------------------------------------
  フッター

====================================*/
/*--- iPhone ---*/
footer {
  padding: 32px 0;
  background-color: #fff;
  width: 100%;
}

.footer__inner {
  max-width: 868px;
  margin: 0 auto;
  padding: 0 16px;
}

@media (min-width: 768px) {
  .footer__inner {
    padding: 0;
  }
}

.footer-title {
  color: #E56200;
  font-weight: 700;
  font-size: 14px;
  line-height: 2;
}

@media (min-width: 768px) {
  .footer-title {
    font-size: 16px;
  }
}

.footer-note {
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .footer-note {
    margin-bottom: 2rem;
  }
}

.footer-note p {
  line-height: 1.4;
}

.footer-note p a {
  color: #333333;
  font-size: 14px;
  text-decoration: underline;
}

@media (min-width: 768px) {
  .footer-note p a {
    font-size: 16px;
  }
}

.footer-note p a:hover {
  color: #E56200;
}

.information {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 32px;
}

.information p {
  font-size: 14px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .information p {
    font-size: 16px;
  }
}

.information .footer-title {
  line-height: 2;
}

.information .small {
  font-size: 10px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .information .small {
    font-size: 12px;
  }
}

.information .big {
  font-size: 20px;
  font-weight: 700;
}

@media (min-width: 768px) {
  .information .big {
    font-size: 24px;
  }
}

/*====================================

  - Bace
--------------------------------------
  共通タグスタイル

  font-weight: 400; Regular
  font-weight: 500; Medium
  font-weight: 700; bold

====================================*/
:root {
  --header-h: 60px;
}

html {
  font-size: 100%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #333333;
  background-color: #fff;
}

img {
  vertical-align: bottom;
}

button {
  border: none;
  outline: none;
  background: transparent;
  padding: 0;
}

a {
  transition: all 0.5s;
  text-decoration: none;
}

ul {
  list-style: none;
}

p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #333333;
}

@media (min-width: 768px) {
  p {
    font-size: 18px;
  }
}

p strong {
  font-weight: 700;
}

p span {
  color: #E56200;
  font-weight: 700;
}

p small {
  font-size: 10px;
}

.paragraph-width {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 0 8px;
}

@media (min-width: 768px) {
  .paragraph-width {
    padding: 0 16px;
  }
}

.title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .title {
    gap: 20px;
  }
}

.title span {
  color: #E56200;
  font-size: 24px;
  text-align: center;
}

.title p {
  font-size: 34px;
  padding: 16px 16px;
  position: relative;
  text-align: center;
}

.title p::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #333333;
  left: 0;
  top: 0;
  width: 100%;
}

.title p::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #333333;
  left: 0;
  bottom: 0;
  width: 100%;
}

.main-title--pc {
  display: none;
  text-align: center;
}

@media (min-width: 768px) {
  .main-title--pc {
    display: block;
  }
}

.main-title--mb {
  display: block;
  text-align: center;
}

@media (min-width: 768px) {
  .main-title--mb {
    display: none;
  }
}

h3 {
  position: relative;
  background-size: 8px 2px;
  background-image: linear-gradient(to right, #EEB000 4px, transparent 4px);
  background-position: left top;
  background-repeat: repeat-x;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 42px;
  margin-bottom: 16px;
  padding: 24px 16px 16px 16px;
}

h3 p span {
  font-size: 22px;
  text-align: center !important;
}

@media (min-width: 768px) {
  h3 p span {
    font-size: 24px;
  }
}

h3 p {
  font-weight: 700;
  margin: 0 auto;
  text-align: left;
}

@media (min-width: 768px) {
  h3 p {
    text-align: center;
  }
}

h3 ::before {
  content: "";
  position: absolute;
  background-image: url(.././img/illust-light.png);
  left: calc((100% - 22px) / 2);
  top: -18px;
  width: 24px;
  height: 36px;
  z-index: 2;
}

h3 ::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-size: 8px 2px;
  background-image: linear-gradient(to right, #EEB000 4px, transparent 4px);
  background-repeat: repeat-x;
}

h4 {
  color: #E56200;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  padding: 12px 16px;
  text-align: center;
  position: relative;
  margin-top: 16px;
  width: 100%;
}

h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background-size: 8px 2px;
  background-image: linear-gradient(to right, #EEB000 4px, transparent 4px);
  background-repeat: repeat-x;
}

h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-size: 8px 2px;
  background-image: linear-gradient(to right, #EEB000 4px, transparent 4px);
  background-repeat: repeat-x;
}

.content {
  width: 100%;
  max-width: 948px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-top: 32px;
}

.content-title {
  background-color: #EAE5D1;
  padding: 16px 16px;
  text-align: center;
  border-radius: 5px 5px 0 0;
}

.content-title p {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
}

@media (min-width: 768px) {
  .content-title p {
    font-size: 24px;
  }
}

.content__inner {
  position: relative;
  width: 100%;
  max-width: 800px;
  padding: 24px 8px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 768px) {
  .content__inner {
    padding: 24px 16px;
  }
}

.content__inner p {
  text-align: left;
}

@media (min-width: 768px) {
  .content__inner p {
    text-align: center;
  }
}

.content-line {
  width: 100%;
  max-width: 948px;
  background-color: #fff;
  border-radius: 5px;
  border: 1px solid #A6A6A6;
  margin-top: 32px;
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .content-line {
    margin-top: 56px;
  }
}

.content-line+.content-line {
  margin-top: 46px;
}

.intro-other {
  width: 100%;
  position: relative;
  margin-top: 32px;
  z-index: 1;
}

.intro-other__inner {
  margin: 0 auto;
  padding: 16px 24px;
  background-color: #fff;
  border-radius: 5px;
}

@media (min-width: 768px) {
  .intro-other__inner {
    padding: 16px 0;
  }
}

.intro-other__inner p {
  text-align: left;
  font-weight: 700;
}

@media (min-width: 768px) {
  .intro-other__inner p {
    text-align: center;
  }
}

.num-1,
.num-2,
.num-3,
.num-4 {
  position: relative;
  padding-top: 30px;
}

.num-1::before,
.num-2::before,
.num-3::before,
.num-4::before {
  content: "";
  position: absolute;
  width: 60px;
  height: 60px;
  top: -30px;
  left: calc((100% - 60px) / 2);
}

.num-1::before {
  background-image: url(.././img/num-1.png);
}

.num-2::before {
  background-image: url(.././img/num-2.png);
}

.num-3::before {
  background-image: url(.././img/num-3.png);
}

.num-4::before {
  background-image: url(.././img/num-4.png);
}

.content-line-title {
  text-align: center !important;
  color: #E56200;
  font-size: 24px !important;
  font-weight: 700;
}

.content-line__inner {
  position: relative;
  padding: 16px 8px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 768px) {
  .content-line__inner {
    padding: 16px 16px;
  }
}

.content-line__inner p {
  text-align: left;
  font-size: 16px;
}

@media (min-width: 768px) {
  .content-line__inner p {
    text-align: center;
    font-size: 20px;
  }
}

.content-other {
  width: 100%;
  max-width: 948px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-top: 48px;
}

.content-other-title {
  background-color: #EAE5D1;
  padding: 32px 16px 16px 16px;
  text-align: center;
  border-radius: 5px 5px 0 0;
}

.content-other-title p {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
}

@media (min-width: 768px) {
  .content-other-title p {
    font-size: 24px;
  }
}

.content-other__inner {
  position: relative;
  width: 100%;
  max-width: 800px;
  padding: 24px 8px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

@media (min-width: 768px) {
  .content-other__inner {
    padding: 24px 16px;
  }
}

.content-other__inner p {
  text-align: left;
}

@media (min-width: 768px) {
  .content-other__inner p {
    text-align: center;
  }
}

.content-other__inner .content-img-small--width {
  width: 160px;
  height: auto;
}

.comment-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

@media (min-width: 768px) {
  .comment-box {
    gap: 12px;
  }
}

.comment-box__icon {
  width: 100%;
  max-width: 36px;
}

@media (min-width: 768px) {
  .comment-box__icon {
    max-width: 48px;
  }
}

.comment-box__icon img {
  width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  .comment-box__icon img {}
}

.comment-box__body {
  background-color: #F2F2F2;
  border-radius: 20px;
  padding: 14px 20px;
  position: relative;
  margin-left: 8px;
}

@media (min-width: 768px) {
  .comment-box__body {
    padding: 14px 20px;
    margin-left: 16px;
  }
}

.comment-box__body::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -2%;
  margin-top: -12px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-right: 16px solid #f2f2f2;
}

@media (min-width: 768px) {
  .comment-box__body::before {
    top: 50%;
    left: -2%;
  }
}

.comment-box__body p {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

@media (min-width: 768px) {
  .comment-box__body p {
    font-size: 16px;
  }
}

.slide-in {
  opacity: 0;
  position: relative;
}

.slide-in.is-view {
  animation-name: slideIn;
  animation-duration: 1.5s;
  animation-iteration-count: ease-out;
  animation-fill-mode: forwards;
}

@keyframes slideIn {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.caption {
  font-size: 12px;
  line-height: 1.0;
  margin-top: 0.375rem;
  font-weight: 700;
}

@media (min-width: 768px) {
  .caption {
    margin-top: 0.5rem;
  }
}

.caution {
  font-size: 10px !important;
  line-height: 1.2;
  margin-top: 0.5rem;
}

.accent-text {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .accent-text {
    font-size: 20px;
    margin-bottom: 30px;
  }
}

.margin-24px {
  margin: 24px 0;
}

.anchor {
  position: absolute;
  top: calc(var(--header-h) * -1);
}

.diplay-flex {
  justify-content: left;
}

.break-pc {
  display: none;
}

@media (min-width: 576px) {
  .break-pc {
    display: block;
  }
}

.break-mb {
  display: block;
}

@media (min-width: 576px) {
  .break-mb {
    display: none;
  }
}

.img-pc {
  display: none;
}

@media (min-width: 576px) {
  .img-pc {
    display: block;
  }
}

.img-pc img {
  width: 100%;
  height: auto;
}

.img-mb {
  display: block;
}

@media (min-width: 576px) {
  .img-mb {
    display: none;
  }
}

.img-mb img {
  width: 100%;
  height: auto;
}


/*====================================

  - Button
--------------------------------------
  ボタン

====================================*/
/*--- iPhone ---*/
.btn-link {
  margin-top: 8px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

@media (min-width: 768px) {
  .btn-link {
    margin-top: 16px;
    margin-bottom: 16px;
  }
}

.btn-link p {
  display: inline-block;
  border-bottom: 1px solid #E56200;
  padding-bottom: 4px;
  color: #E56200;
  font-size: 16px;
}

.btn-link:hover {
  transform: scale(1.05, 1.05);
  transition-duration: 0.25s;
}

.btn-link img {
  width: 16px;
  height: auto;
}

.content-btn--arrow {
  background: linear-gradient(#D3C292, #C3AE75);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 40px;
  width: 258px;
  padding: 14px 16px;
  margin: 0 auto;
  position: relative;
}

.content-btn--arrow:hover {
  transform: scale(1.05, 1.05);
  transition-duration: 0.25s;
}

.content-btn--arrow::after {
  content: "";
  position: absolute;
  background-image: url(.././img/content-btn--arrow.png);
  width: 10px;
  height: 16px;
  top: calc((100% - 16px) / 2);
  right: 16px;
}

.content-btn--arrow p {
  color: #fff;
  font-weight: 700;
  text-align: center !important;
}

.content-btn--tab {
  background: linear-gradient(#D3C292, #C3AE75);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 40px;
  width: 100%;
  max-width: 360px;
  padding: 14px 16px;
  margin: 0 auto;
  position: relative;
}

.content-btn--tab:hover {
  transform: scale(1.05, 1.05);
  transition-duration: 0.25s;
}

.content-btn--tab::after {
  content: "";
  position: absolute;
  background-image: url(.././img/content-btn--tab.png);
  width: 16px;
  height: 16px;
  top: calc((100% - 16px) / 2);
  right: 16px;
}

.content-btn--tab p {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

.create-account {
  text-align: center;
}

.btn-create-account {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .btn-create-account {
    margin-top: 32px;
  }
}

.btn-create-account-main {
  background: linear-gradient(#DC5354, #AA0000);
  border: 2px solid #fff;
  border-radius: 56px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 30px 16px;
  max-width: 328px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .btn-create-account-main {
    padding: 36px 16px;
    max-width: 426px;
  }
}

.btn-create-account-main:hover {
  background: linear-gradient(#A83B3C, #810303);
  transition: all 0.5s;
}

.btn-create-account-main a {
  display: inline-block;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .btn-create-account-main a {
    font-size: 28px;
  }
}

.btn-create-account-main a span {
  font-size: 20px;
  color: #fff;
}

@media (min-width: 768px) {
  .btn-create-account-main a span {
    font-size: 26px;
  }
}

.create-account--mb {
  display: block;
}

@media (min-width: 768px) {
  .create-account--mb {
    display: none;
  }
}

.create-account--pc {
  display: none;
}

@media (min-width: 768px) {
  .create-account--pc {
    display: block;
  }
}

.change-bank {
  text-align: center;
  margin-top: 24px;
}

.change-bank p {
  font-weight: 700;
  font-size: 14px;
  text-align: left;
}

@media (min-width: 768px) {
  .change-bank p {
    font-size: 16px;
    text-align: center;
  }
}

.btn-change-bank {
  background: linear-gradient(#3789D1, #004D99);
  border: 2px solid #fff;
  border-radius: 100vh;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 18px 16px;
  max-width: 328px;
  margin: 0 auto;
  margin-top: 16px;
}

@media (min-width: 768px) {
  .btn-change-bank {
    padding: 22px 16px;
    max-width: 426px;
  }
}

.btn-change-bank:hover {
  background: linear-gradient(#2969A0, #033C74);
  transition: all 0.5s;
}

.btn-change-bank a {
  display: inline-block;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .btn-change-bank a {
    font-size: 28px;
  }
}

.footer-btn {
  position: sticky;
  bottom: 0;
  right: 0;
  z-index: 100;
  opacity: 1;
  transition: opacity 0.25s ease-in, bottom 0.25s ease-in;
  background-color: #fff;
  border-top: 4px solid #EAE5D1;
  width: 100%;
  padding: 16px 16px;
}

.footer-btn__inner {
  max-width: 948px;
  position: relative;
  margin: 0 auto;
}

.footer-btn-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

@media (min-width: 768px) {
  .footer-btn-main {
    flex-direction: row;
    gap: 32px;
  }
}

.footer-btn-create-account {
  background: linear-gradient(#DC5354, #AA0000);
  box-shadow: 2px 3px 6px rgba(152, 152, 152, 0.4);
  border-radius: 56px;
  padding: 16px 16px;
  width: 100%;
  max-width: 320px;
}

@media (min-width: 768px) {
  .footer-btn-create-account {
    padding: 20px 16px;
  }
}

.footer-btn-create-account:hover {
  background: linear-gradient(#A83B3C, #810303);
  transition: all 0.5s;
}

.footer-btn-create-account a {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-create-account--sp {
  display: block;
}

@media (min-width: 768px) {
  .footer-create-account--sp {
    display: none;
  }
}

.footer-create-account--pc {
  display: none;
}

@media (min-width: 768px) {
  .footer-create-account--pc {
    display: block;
  }
}

.footer-btn-change-bank {
  background: linear-gradient(#3789D1, #004D99);
  box-shadow: 2px 3px 6px rgba(152, 152, 152, 0.4);
  border-radius: 56px;
  padding: 16px 16px;
  width: 100%;
  max-width: 320px;
  display: none;
}

@media (min-width: 768px) {
  .footer-btn-change-bank {
    display: block;
    padding: 20px 16px;
  }
}

.footer-btn-change-bank:hover {
  background: linear-gradient(#2969A0, #033C74);
  transition: all 0.5s;
}

.footer-btn-change-bank a {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-btn {
  width: 100%;
  max-width: 948px;
  margin: 0 auto;
  position: fixed;
  bottom: calc(90px + 8px);
  right: 8px;
  z-index: 1000;
  opacity: 1;
}

@media (min-width: 768px) {
  .top-btn {
    bottom: calc(98px + 57px + 16px);
    right: 16px;
  }
}

.top-btn__inner {
  position: relative;
  margin: 0 auto;
}

.top-btn--pc {
  display: none;
}

@media (min-width: 768px) {
  .top-btn--pc {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
  }
}

.top-btn--mb {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media (min-width: 768px) {
  .top-btn--mb {
    display: none;
  }
}

/*====================================

  - Modal 
--------------------------------------
  モーダル

====================================*/
/*--- iPhone ---*/
.modal-hukuri {
  position: relative;
}

.modal-hukuri img {
  margin-top: 24px;
}

@media (min-width: 768px) {
  .modal-hukuri img {
    margin-top: 32px;
  }
}

.modal-title p {
  font-size: 24px;
}

@media (min-width: 768px) {
  .modal-title p {
    font-size: 32px;
  }
}

.js-modal-close {
  border: none;
  outline: none;
  background-color: transparent;
}

.js-modal-close img {
  width: 16px;
  height: auto;
}

@media (min-width: 768px) {
  .js-modal-close img {
    width: 20px;
  }
}

.modal-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  padding-bottom: 16px;
  margin-bottom: 12px;
}

@media (min-width: 768px) {
  .modal-flex {
    padding-bottom: 28px;
    margin-bottom: 18px;
  }
}

/*====================================

  - Video 
--------------------------------------
  ビデオ

====================================*/
/*--- iPhone ---*/
.content-video {
  width: 100%;
  padding: 56px 24px 24px 24px;
  background-color: rgba(211, 194, 146, 0.2);
  border-radius: 5px;
  position: relative;
  margin-top: 64px;
  text-align: center;
}

@media (min-width: 768px) {
  .content-video {
    padding: 61px 24px 24px 24px;
    margin-top: 77px;
  }
}

.content-video::before {
  content: "";
  position: absolute;
  background-image: url(.././img/youtube-title.png);
  background-size: contain;
  width: 260px;
  height: 74px;
  top: -32px;
  left: 0;
}

@media (min-width: 768px) {
  .content-video::before {
    width: 360px;
    height: 102px;
    top: -45px;
  }
}

.video-section__inner {
  margin: 0 auto;
  max-width: 900px;
}

@media (min-width: 768px) {
  .video-section__inner {
    padding: 0;
  }
}

.video-column {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 16px;
}

@media (min-width: 768px) {
  .video-column {
    flex-direction: row;
    gap: 30px;
  }
}

.video-column__cell {
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}

.video-column__cell iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

/*====================================

  - Jumbotron 
--------------------------------------
  ジャンボトロン

====================================*/
/*--- iPhone ---*/
.jumbotron-section {
  width: 100%;
  position: relative;
  padding-top: 60px;
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .jumbotron-section {
    padding-bottom: 24px;
  }
}

.jumbotron-section::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 250px;
  background-image: url(./../img/mb/mv-bg-mb.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  bottom: 0;
  z-index: -1;
}

@media (min-width: 768px) {
  .jumbotron-section::after {
    background-image: url(./../img/pc/mv-bg.svg);
    height: 430px;
  }
}

.jumbotron-section__inner {
  margin: 0 auto;
  max-width: 980px;
  padding: 0 1rem;
}

@media (min-width: 768px) {
  .jumbotron-section__inner {
    padding: 0;
  }
}

.main-visual--pc {
  display: none;
}

@media (min-width: 576px) {
  .main-visual--pc {
    display: block;
  }
}

.main-visual--pc img {
  width: 100%;
  height: auto;
}

.main-visual--mb {
  display: block;
}

@media (min-width: 576px) {
  .main-visual--mb {
    display: none;
  }
}

.main-visual--mb img {
  width: 100%;
  height: auto;
}

/*====================================

  - Intro 
--------------------------------------
  イントロ

====================================*/
/*--- iPhone ---*/
.intro-section {
  width: 100%;
  position: relative;
  padding-top: 32px;
  background-color: rgba(245, 239, 212, 0.4);
  z-index: 1;
}

@media (min-width: 768px) {
  .intro-section {
    padding-top: 40px;
  }
}

.intro-section__inner {
  max-width: 916px;
  margin: 0 auto;
  padding: 16px 24px;
  background-color: #fff;
  border-radius: 5px;
  text-align: left;
}

@media (min-width: 768px) {
  .intro-section__inner {
    padding: 16px 0;
    text-align: center;
  }
}

.intro-section__inner p {
  font-weight: 700;
}

.intro-section__inner p+p {
  margin-top: 16px;
}

/*====================================

  - Otoku
--------------------------------------
  おトク

====================================*/
/*--- iPhone ---*/
.otoku-section {
  width: 100%;
  padding: 40px 0;
  background-color: rgba(245, 239, 212, 0.4);
  position: relative;
}

@media (min-width: 768px) {
  .otoku-section {
    padding: 64px 0;
  }
}

.otoku-section__inner {
  max-width: 948px;
  margin: 0 auto;
  padding: 0 8px;
}

@media (min-width: 768px) {
  .otoku-section__inner {
    padding: 0;
  }
}

/*====================================

  - Power Up
--------------------------------------
  パワーアップ

====================================*/
/*--- iPhone ---*/
.power-up-section {
  width: 100%;
  padding: 40px 0;
  position: relative;
}

@media (min-width: 768px) {
  .power-up-section {
    padding: 64px 0;
  }
}

.power-up-section__inner {
  max-width: 948px;
  margin: 0 auto;
  padding: 0 8px;
}

@media (min-width: 768px) {
  .power-up-section__inner {
    padding: 0;
  }
}

.power-up-section__inner h2 {
  padding-bottom: 6px;
}

.label {
  text-align: center;
  background-size: 8px 2px;
  background-image: linear-gradient(to right, #EEB000 4px, transparent 4px);
  background-position: left 16px;
  background-repeat: repeat-x;
}

.label img {
  width: 102px;
  height: auto;
}

.label .label-open {
  display: block;
}

.label .label-close {
  display: none;
}

.label.open .label-open {
  display: none;
  margin-bottom: 16px;
}

.label.open .label-close {
  display: block;
}

.accordion {
  transform: scale(1, -1);
}

.accordion .accordion-contents {
  transform: scale(1, -1);
  margin-top: 16px;
}

.accordion-contents {
  display: flex;
  flex-direction: column;
  gap: 16px;
  display: none;
  width: 100%;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
}

/*====================================

  - Reason
--------------------------------------
  理由

====================================*/
/*--- iPhone ---*/
.reason-section {
  width: 100%;
  padding: 40px 0;
  background-color: rgba(245, 239, 212, 0.4);
  position: relative;
}

@media (min-width: 768px) {
  .reason-section {
    padding: 64px 0;
  }
}

.reason-section__inner {
  max-width: 948px;
  margin: 0 auto;
  padding: 0 8px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .reason-section__inner {
    padding: 0;
  }
}

/*====================================

  - Point
--------------------------------------
  ポイント

====================================*/
/*--- iPhone ---*/
.point-section {
  width: 100%;
  padding: 40px 0;
  background-color: #fff;
  position: relative;
}

@media (min-width: 768px) {
  .point-section {
    padding: 64px 0;
  }
}

.point-section__inner {
  max-width: 948px;
  margin: 0 auto;
  padding: 0 8px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .point-section__inner {
    padding: 0;
  }
}

/*====================================

  - Steps 
--------------------------------------
  5ステップ

====================================*/
/*--- iPhone ---*/
.steps-section {
  width: 100%;
  padding: 40px 0;
  background-color: rgba(245, 239, 212, 0.4);
  position: relative;
}

@media (min-width: 768px) {
  .steps-section {
    padding: 64px 0;
  }
}

.steps-section__inner {
  max-width: 948px;
  margin: 0 auto;
  padding: 0 8px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .steps-section__inner {
    padding: 0;
  }
}

/*====================================

  - New NISA 01
--------------------------------------
  新NISA 01

====================================*/
/*--- iPhone ---*/
.question-section {
  width: 100%;
  padding: 40px 0;
  background-color: #fff;
  position: relative;
}

@media (min-width: 768px) {
  .question-section {
    padding: 64px 0;
  }
}

.question-section__inner {
  max-width: 948px;
  margin: 0 auto;
  padding: 0 8px;
}

@media (min-width: 768px) {
  .question-section__inner {
    padding: 0;
  }
}

.question-section__inner :last-child {
  margin-bottom: 0;
}

.question-corner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .question-corner {
    gap: 24px;
    margin-bottom: 40px;
  }
}

.question-text {
  background-color: #EAE5D1;
  padding: 8px 16px;
  border-radius: 60px;
}

@media (min-width: 768px) {
  .question-text {
    padding: 8px 56px;
  }
}

.question-text .question-text-main {
  font-size: 16px;
  font-weight: 700;
}

@media (min-width: 768px) {
  .question-text .question-text-main {
    font-size: 20px;
  }
}

.question-text-answer {
  font-size: 14px;
  margin: 0 16px;
}

@media (min-width: 768px) {
  .question-text-answer {
    font-size: 16px;
    margin: 0 56px;
  }
}