@charset "UTF-8";

/* ------------------------------------------------------------

Reset

------------------------------------------------------------ */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
main {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  background: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  /*
  font:inherit;
  font-family:inherit;
  */
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
}

input,
textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

textarea {
  display: block;
}

:root {
  --scrollbar: 17px;
}

html {
  /*--基準--1対1でスケール*/
  font-size: calc((100vw - var(--scrollbar)) / 1440 * 10 / 1920 * 1620);
  /*--ブレイクポイント1920px--固定*/
  /*--ブレイクポイント1620px--1対1でスケール*/
  /*--ブレイクポイント1440px--固定*/
  /*--ブレイクポイント1200px--1対1でスケール*/
  /*--ブレイクポイント767px--1対1でスケール*/
}

@media print {
  html {
    font-size: calc((100vw - var(--scrollbar)) / 1440 * 10);
  }
}

@media screen and (max-width: 1920px) {
  html {
    font-size: 70.3125%;
  }
}

@media screen and (max-width: 1620px) {
  html {
    font-size: calc((100vw - var(--scrollbar)) / 1440 * 10);
  }
}

@media screen and (max-width: 1440px) {
  html {
    font-size: 62.5%;
  }
}

@media screen and (max-width: 1200px) {
  html {
    font-size: 0.8333333333vw;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

article,
aside,
details,
figcaption,
dialog,
figure,
footer,
header,
main,
nav,
section,
summary,
textarea {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

/*a,
a:link,
a:visited,
a:hover,
a:active{
	outline:none;
	text-decoration:none;
}*/
/*a:focus-visible{outline: 2px dotted #333;}*/
.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}

.focus-visible {
  outline: 2px dotted #333;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

/* 最後の要素（＝土曜日）を薄い青に */
.MGaLHf:last-child,
.w6FdBf:last-child {
    background-color: #eaf3ff !important;
}

/* 最初の要素（＝日曜日）を薄い赤に */
.MGaLHf:first-child,
.w6FdBf:first-child {
    background-color: #ffeaea !important;
}

li {
  list-style: none;
}

ul {
  list-style: none;   /* デフォルトの黒丸を消す */
  margin: 0 0 10px 25px;          /* ブラウザごとの余白をリセット */
  padding: 0;
}

ul li {
  margin: 0;          /* li の余白をリセット */
  padding: 0px 0 0 0px;   /* 縦方向に少し余白 */
  line-height: 1.5;   /* 行間を確保して読みやすく */
      /* 標準の文字サイズ */
  list-style: disc;
}

.planCard01 ul {
    list-style-type: disc; /* 点の種類（不要ならnone） */
    margin: 8px 0 0 90px;
    padding-left: 1.2em; /* 左の余白を調整 */
    list-style-position: unset; /* マーカーを内側に */
    text-align: left;
    font-size: 120%;
}

.planCard01 ul li {
    margin: 0;
    padding: 0;
    line-height: 1.6; /* 行間を程よく調整（1.4〜1.6くらいが見やすい） */
}

li.header__list-item,li.header__sns-item {
    list-style: none;
    line-height: 0;
}

ul.header__list,ul.header__sns {
    margin: 0;
}


blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

input,
select {
  vertical-align: middle;
}

img {
  vertical-align: top;
}

button {
  background: none;
  appearance: none;
  border: none;
  padding: 0;
}

/*button:focus-visible{outline: thin dotted #333;}*/
html {
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  background: #EEEEEE;
  color: #000;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0;
  line-height: 1.8;
  font-feature-settings: "palt";
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}

body.open {
  overflow: hidden;
}

#wrap-all {
  position: relative;
}

#wrap-all::before {
  content: "";
  display: block;
  background: url(../img/bg_texture01.jpg);
  width: 100%;
  height: 20rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  #wrap-all::before {
    height: 16rem;
  }
}

.svg_symbol {
  display: none;
}

/* ------------------------------------------------------------

Font

------------------------------------------------------------ */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
  font-display: swap;
}

* {
  font-family: YakuHanJPs_Noto, "Noto Sans JP", Meiryo, sans-serif;
}

/* ------------------------------------------------------------

Shortcodes

------------------------------------------------------------ */
.normal {
  font-weight: 400 !important;
}

.bold {
  font-weight: 700 !important;
}

.italic {
  font-style: italic !important;
}

.none {
  display: none !important;
}

.mb-none {
  margin-bottom: 0 !important;
}

sub {
  vertical-align: sub !important;
  font-size: 50%;
}

sup {
  vertical-align: super !important;
  font-size: 50%;
}

.txt-mail::after {
  content: "@";
}

.red01 {
  color: #FF0000;
}

.indent-1 {
  text-indent: -1em;
  padding-left: 1em;
}

/* ------------------------------------------------------------

404ページ

------------------------------------------------------------ */
.wrap-404 {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: 12rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrap-404 {
    padding: 6rem 3rem 0;
  }
}

.wrap-404__inner {
  margin-bottom: 5rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrap-404__inner {
    margin-bottom: 3rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrap-404 br {
    display: none;
  }
}

/* ------------------------------------------------------------

ボタン

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

@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnType01 {
    display: block;
  }
}

.btnType01__inner a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 42rem;
  gap: 2.5rem;
  color: #000;
  background-color: #FFF;
  border-radius: 1.2rem;
  padding: 3.6rem 4rem;
  transition: background-color 0.3s;
  border: 0.2rem solid #000;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnType01__inner a {
    min-width: 100%;
    gap: 1.5rem;
    padding: 2.6rem 2.4rem;
  }
}

.btnType01__inner a:hover {
  background-color: #E1FF02;
}

.btnType01__inner-txt {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.btnType01__inner-txt img {
  width: 3.2rem;
  height: auto;
}

.btnType01__inner-txt span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnType01__inner-txt span {
    font-size: 1.8rem;
  }
}

.btnType01__inner-arrow {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s, background-color 0.3s;
}

a:hover .btnType01__inner-arrow {
  transform: scale(1.2);
}

a:hover .btnType01__inner-arrow svg {
  fill: #E1FF02;
}

.btnType01__inner-arrow svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #E1FF02;
  transform: rotate(-90deg);
  transition: fill 0.3s;
}

.btnType02 {
  display: inline-block;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnType02 {
    display: block;
  }
}

.btnType02__inner a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 32rem;
  gap: 1.5rem;
  color: #FFF;
  background-color: #000;
  border-radius: 1.2rem;
  padding: 1.6rem 2.4rem 1.6rem 3.2rem;
  transition: background-color 0.3s;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnType02__inner a {
    min-width: 100%;
    gap: 0.8rem;
    padding: 1.4rem 1.8rem 1.4rem 2rem;
  }
}

.btnType02__inner a:hover {
  background-color: #E1FF02;
  color: #000;
}

.btnType02__inner-txt {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.btnType02__inner-txt img {
  width: 2.4rem;
  height: auto;
}

.btnType02__inner-txt span {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
  width: 100%;
  font-weight: 500;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.btnType02__inner-arrow {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: #E1FF02;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s, background-color 0.3s;
}

a:hover .btnType02__inner-arrow {
  transform: scale(1.2);
  background-color: #000;
}

a:hover .btnType02__inner-arrow svg {
  fill: #FFF;
}

.btnType02__inner-arrow svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #000;
  transform: rotate(-90deg);
  transition: fill 0.3s;
}

.btnType02__inner-arrow.tab svg {
  transform: unset;
}

/* ------------------------------------------------------------

リンク

------------------------------------------------------------ */
/* テキストリンク
---------------------------------------------- */
.linkTxt01__inner a {
  color: #000;
  display: inline-block;
  text-decoration: underline !important;
  word-wrap: break-word;
}

.linkTxt01__inner a:hover {
  text-decoration: none !important;
}

/* テキストリンク―電話
---------------------------------------------- */
.linkTel01__inner {
  line-height: 1;
}

.linkTel01__inner p {
  font-family: Public Sans;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  color: #E1FF02;
}

.linkTel01__inner p:nth-of-type(1) {
  display: none;
}

@media screen and (max-width: 1024px) {
  .linkTel01__inner p:nth-of-type(1) {
    display: inline;
    font-size: 2rem;
    font-weight: 600;
  }
}

.linkTel01__inner p:nth-of-type(2) {
  display: inline-block;
}

@media screen and (max-width: 1024px) {
  .linkTel01__inner p:nth-of-type(2) {
    display: none;
  }
}

.linkTel01__inner p span {
  font-size: 2rem;
  font-family: Public Sans;
  margin-right: 0.5rem;
}

.linkTel01__inner p a {
  color: #E1FF02;
  font-family: Public Sans;
  text-decoration: underline !important;
}

.linkTel01__inner__white p {
  color: #EEEEEE !important;
}

.linkTel01__inner__white p a {
  color: #EEEEEE !important;
}

.linkTel02__inner {
  line-height: 1;
}

.linkTel02__inner a {
  color: #E1FF02;
  text-decoration: underline !important;
  display: none;
}

@media screen and (max-width: 1024px) {
  .linkTel02__inner a {
    display: inline-block;
  }
}

.linkTel02__inner span {
  display: inline;
}

@media screen and (max-width: 1024px) {
  .linkTel02__inner span {
    display: inline;
    display: none;
  }
}

/* ------------------------------------------------------------

見出し

------------------------------------------------------------ */
.heading01 {
  position: relative;
  padding-bottom: 2.8rem;
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading01 {
    padding-bottom: 1.8rem;
  }
}

.heading01::before {
  content: "";
  display: block;
  width: calc(100% + 16rem);
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading01::before {
    width: calc(100% + 2.5rem);
  }
}

.heading01::after {
  content: "";
  display: block;
  background-color: #000;
  width: 2.4rem;
  height: 0.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.heading01__en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
}

.heading01__jp {
  font-weight: 700;
  font-size: 5.6rem;
  display: block;
  padding-top: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading01__jp {
    font-size: 4rem;
    padding-top: 1.2rem;
  }
}

.heading01__jp span {
  display: inline-block;
}

.heading02 {
  position: relative;
  padding-bottom: 2.8rem;
  line-height: 1.4;
  font-weight: 700;
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading02 {
    padding-bottom: 1.8rem;
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}

.heading02::before {
  content: "";
  display: block;
  width: calc(100% + 0rem);
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading02::before {
    width: calc(100% + 2.5rem);
  }
}

.heading02::after {
  content: "";
  display: block;
  background-color: #000;
  width: 2.4rem;
  height: 0.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

/* ------------------------------------------------------------

ページタイトル

------------------------------------------------------------ */
.pagettl {
  padding: 0 5.5555555556%;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl {
    padding: 0rem 2.5rem 0;
  }
}

.pagettl__inner {
  height: 36rem;
  position: relative;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__inner {
    height: 20rem;
  }
}

.pagettl__txt {
  position: absolute;
  bottom: 2.4rem;
  left: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__txt {
    bottom: 1.6rem;
    left: 1.6rem;
  }
}

.pagettl__txt h1 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.25;
  display: inline-block;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.6rem solid #000;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__txt h1 {
    font-size: 1.5rem;
  }
}

.pagettl__txt p {
  color: #FFF;
  font-family: "Outfit";
  font-size: 12rem;
  line-height: 0.8;
  font-weight: 700;
  padding-top: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__txt p {
    font-size: 6.4rem;
    padding-top: 0.8rem;
    font-size: clamp(1.5rem, 10vw, 5rem);
  }
}

.pagettl__image {
  height: 100%;
}

.pagettl__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.2rem;
}

/* ------------------------------------------------------------

パンくずリスト

------------------------------------------------------------ */
.breadcrumb {
  padding: 1.2rem 5.5555555556% 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .breadcrumb {
    padding: 1.2rem 2.5rem 0;
  }
}

.breadcrumb ul {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: 1.25;
  margin: 0 auto;
}

.breadcrumb ul li {
  color: #E1FF02;
  display: inline;
  vertical-align: middle;
  padding-right: 2rem;
  margin-right: 0.5rem;
  font-size: 1.4rem;

  position: relative;
}

.breadcrumb ul li::after {
  content: "";
  display: block;
  background: url(../img/ico_arrow01.svg) no-repeat 0 0/cover;
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  top: 0.5rem;
  right: 0;
}

.breadcrumb ul li:last-child {
  padding-right: 0;
  margin-right: 0;
}

.breadcrumb ul li:last-child::after {
  display: none;
}

.breadcrumb ul li a {
  color: #000;
  text-decoration: none;

}

.breadcrumb ul li a:hover {
  text-decoration: underline;
}

.breadcrumb ul li.current a {
  color: #000;
  pointer-events: none;
}

/* ------------------------------------------------------------

アニメーション

------------------------------------------------------------ */
@keyframes rotate-clockwise {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes rotate-counterclockwise {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-360deg);
  }
}

@keyframes scroll-infinity-right {
  from {
    transform: translateX(0px);
  }

  to {
    transform: translateX(100%);
  }
}

@keyframes scroll-infinity-left {
  from {
    transform: translateX(0px);
  }

  to {
    transform: translateX(-100%);
  }
}

/* ------------------------------------------------------------

Main

------------------------------------------------------------ */
.wrapType01 {
  padding: 12rem 5.5555555556% 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType01 {
    padding: 6.4rem 2.5rem 0;
  }
}

.wrapType01__inner {
  max-width: 120rem;
  margin: 0 auto;
}

.wrapType02 {
  padding: 50px 0 0 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType02 {
    padding: 6.4rem 2.5rem 0;
  }
}

.wrapType02__inner {
  max-width: 112rem;
  margin: 0 auto;
}

.wrapType02__inner {
  max-width: 880px;
  margin: 0 auto;
  /* padding: 24px 20px; */
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  line-height: 1.9;
  color: #222;
}



/* 本文 */
.wrapType02__inner .wp-contents p {
  margin: 1rem 0;
  font-size: 100%;
}

.wp-contents ol {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1.5em;
  counter-reset: item;
}
.wp-contents ol > li {
  counter-increment: item;
  position: relative;
  padding-left: 2.5em;
  margin: .7em 0;
}
.wp-contents ol > li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #111;
  width: 2em;
  text-align: right;
}

/* li 内の段落 */
.wp-contents li p {
  margin: 0;
}


.wp-contents h1 {
    font-size: 200%;
    font-weight: bold;
    line-height: 1.4;
}

.wp-contents h2 {
    font-size: 150%;
    font-weight: bold;
}

.wp-contents h3 {
    font-size: 120%;
    font-weight: bold;
    line-height: 1.5;
}

iframe {
    width: 100%;
}

/* 箇条書き */
.wrapType02__inner .wp-contents ul {
  /* list-style: none; */
  /* margin: 1rem 0 1.5rem; */
  padding: 2px 0 10px 10px;
}
.wrapType02__inner .wp-contents ul li {
  position: relative;
  margin: .6rem 0;
}
.wrapType02__inner .wp-contents ul li::before {
  /* content: "✔"; */
  position: absolute;
  left: -1.3rem;
  top: 0.3rem;
  color: #B6DB2F;
  font-weight: 700;
}

/* 強調テキスト */
.wrapType02__inner strong {
  font-weight: 700;
  color: #111;
}

/* hr のデザイン */
.wrapType02__inner .wp-contents hr {
  border: none;
  border-top: 1px dashed #ccc;
  margin: 2rem 0;
}

/* 情報ブロック（オープン日、住所など） */
.wrapType02__inner .wp-contents p img.emoji {
  margin-right: .25rem;
  vertical-align: middle;
}
.wrapType02__inner .wp-contents p a {
  color: #2196F3;
  text-decoration: none;
  font-weight: 600;
}
.wrapType02__inner .wp-contents p a:hover {
  text-decoration: underline;
}

/* 画像（チラシ） */
.wrapType02__inner .wp-contents img {
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  max-width: 100%;
  height: auto;
  margin: 10px 0px 10px;
}

/* ------------------------------------------------------------

Header

------------------------------------------------------------ */
.header {
  width: 100%;
  height: 8.8rem;
  padding: 0 2.7777777778%;
  display: flex;
  align-items: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header {
    height: 7.6rem;
    padding: 0 1.5rem;
    justify-content: space-between;
    /* position: fixed; */
    top: 0;
    left: 0;
    z-index: 99;
    pointer-events: none;
  }
}

.header__logo a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__logo a {
    pointer-events: all;
  }
}

.header__logo img {
  width: 17rem;
  height: auto;
}

.header__logo span {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
  color: #FFF;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__logo span {
    display: none;
  }
}

.header__reserve {
  position: fixed;
  top: 1.6rem;
  right: 14rem;
  z-index: 99;
}

@media print {
  .header__reserve {
    position: absolute;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__reserve {
    display: none;
  }
}

.header__reserve a {
  width: 16.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.3rem 1rem 2rem;
  color: #FFF;
  background-color: #000;
  border-radius: 2rem;
  line-height: 1.25;
  transition: color 0.3s, background-color 0.3s;
}

.header__reserve a:hover {
  color: #000;
  background-color: #E1FF02;
}

.header__reserve a.focus-visible {
  outline-color: #FFF;
  outline-offset: -4px;
}

.header__reserve-label {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-weight: 700;
  font-size: 1.4rem;
}

.header__reserve-label svg {
  width: 2rem;
  height: 2rem;
  fill: #E1FF02;
  transition: fill 0.3s;
}

a:hover .header__reserve-label svg {
  fill: #000;
}

.header__reserve-arrow {
  width: 1.2rem;
  height: 1.2rem;
  transform: rotate(-90deg);
}

.header__reserve-arrow svg {
  width: 100%;
  height: 100%;
  display: inline-block;
  fill: #E1FF02;
  transition: fill 0.3s;
}


a:hover .header__reserve-arrow svg {
  fill: #000;
}

.header__btn-menu {
  background: #E1FF02;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: all;
  width: 10rem;
  height: 3.2rem;
  z-index: 5;
  cursor: pointer;
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 5;
  border-radius: 5rem;
}

@media print {
  .header__btn-menu {
    position: absolute;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__btn-menu {
    /* position: unset; */
    width: 6.4rem;
  }
}

.header__btn-menu.focus-visible {
  outline-offset: -4px;
}

#wrap-all.open .header__btn-menu {
  position: fixed;
  z-index: 100;
}

.header__btn-menu-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 2.4rem;
  height: 0.8rem;
  position: relative;
}

.header__btn-menu-inner span {
  background: #000;
  display: inline-block;
  width: 2.4rem;
  height: 0.2rem;
  border-radius: 0.1rem;
  position: absolute;
  left: 0;
  transition: all 0.3s;
}

.header__btn-menu-inner span:nth-of-type(1) {
  top: 0;
}

.header__btn-menu-inner span:nth-of-type(2) {
  top: 0.6rem;
}

#wrap-all.open .header__btn-menu-inner span:nth-of-type(1) {
  transform: rotate(30deg);
  top: 0.4rem;
}

#wrap-all.open .header__btn-menu-inner span:nth-of-type(2) {
  transform: rotate(-30deg);
  top: 0.4rem;
}

.header__drawer {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transition: visibility 0.5s;
}

#wrap-all.open .header__drawer {
  visibility: visible;
  pointer-events: all;
}

.header__drawer-inner {
  height: calc(100dvh + 1px);
  overflow: hidden;
  overflow-y: scroll;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  -ms-overflow-style: none;

  scrollbar-width: none;
  display: flex;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__drawer-inner {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .header__drawer-inner::-webkit-scrollbar {
    display: none;
  }
}

.header__drawer-inner-close {
  flex: 1;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__drawer-inner-close {
    display: none;
  }
}

#wrap-all.open .header__drawer-inner-close {
  opacity: 1;
  pointer-events: all;
}

.header__drawer-inner-inside {
  min-height: 100%;
  transform: translateX(calc(100% + 8rem));
  transition: transform 0.5s;
  position: relative;
  z-index: 2;
  flex: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__drawer-inner-inside {
    transform: translateX(100%);
  }
}

#wrap-all.open .header__drawer-inner-inside {
  transform: translateX(0);
}

.header__drawer-inner-inside>div {
  position: relative;
  padding: 2.5rem 2rem 7rem;
  background: #FFF;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__drawer-inner-inside>div {
    padding: 2rem 1.5rem 4rem;
  }
}

.header__drawer-inner-inside>div::before {
  content: "";
  display: block;
  background-color: #FFF;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 82% 100%);
  width: 8rem;
  height: 100%;
  position: absolute;
  top: 0;
  right: calc(100% - 1px);
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__drawer-inner-inside>div::before {
    display: none;
  }
}

.header__drawer-logo {
  padding: 0 2.2rem 3.5rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__drawer-logo {
    padding: 0 0 2rem;
  }
}

.header__drawer-logo a {
  display: block;
  width: 11.4rem;
}

.header__drawer-logo a img {
  width: 100%;
}

.header__nav {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__nav {
    padding: 0 1rem;
    gap: 2rem;
  }
}

.header__nav-reserve {
  display: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__nav-reserve {
    display: block;
    width: 100%;
  }
}

.header__nav-reserve a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.2rem 1rem 10rem;
  border: 1px solid #000;
  border-radius: 2rem;
  line-height: 1.25;
}

.header__nav-reserve-label {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-weight: 700;
  color: #000;
}

.header__nav-reserve-label img {
  width: 2rem;
}

.header__nav-reserve-arrow {
  width: 1.2rem;
  height: 1.2rem;
  transform: rotate(-90deg);
}

.header__nav-reserve-arrow svg {
  width: 100%;
  height: 100%;
  display: inline-block;
  fill: #000;
}

.header__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.header__list-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem;
  padding: 0.4rem 1.2rem 0.4rem 0.8rem;
  background-color: #EEEEEE;
  border-radius: 0.4rem;
  color: #000;
  transition: background-color 0.3s;
}

.header__list-item a:hover {
  background-color: #E1FF02;
}

.header__list-txt {
  line-height: 1;
  font-weight: 700;
}

.header__list-txt span:nth-of-type(1) {
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
}

.header__list-txt span:nth-of-type(2) {
  font-family: "Outfit";
  font-size: 4rem;
  display: block;
  padding-top: 0.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__list-txt span:nth-of-type(2) {
    font-size: 2.8rem;
  }
}

.header__list-icon {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s;
}

a:hover .header__list-icon {
  transform: scale(1.2);
}

.header__list-icon svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #E1FF02;
}

.header__btn01 {
  width: 100%;
}

.header__btn01 a {
  padding: 1.6rem 2.4rem 1.6rem 3.2rem;
  display: flex;
  justify-content: space-between;
  background-color: #000;
  color: #FFF;
  border-radius: 1.2rem;
  transition: background-color 0.3s, color 0.3s;
}

.header__btn01 a:hover {
  background-color: #E1FF02;
  color: #000;
}

.header__btn01-txt {
  font-weight: 700;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
}

.header__btn01-icon {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header__btn01-icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #E1FF02;
  transition: transform 0.3s, background-color 0.3s;
}

a:hover .header__btn01-icon::before {
  background-color: #000;
  transform: scale(1.2);
}

.header__btn01-icon svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #000;
  transform: rotate(-90deg);
  transition: fill 0.3s;
}

a:hover .header__btn01-icon svg {
  fill: #FFF;
}

.header__sns {
  display: flex;
  gap: 1.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__sns {
    justify-content: space-between;
    gap: 0;
  }
}

.header__sns-item {
  width: 4.8rem;
}

.header__sns-item a {
  display: block;
}

.header__sns-item a img {
  width: 100%;
  transition: transform 0.3s;
}

.header__sns-item a:hover img {
  transform: scale(1.1);
}

/* ------------------------------------------------------------

Footer

------------------------------------------------------------ */
/* お問い合わせ
---------------------------------------------- */
.contact {
  overflow: hidden;
  padding: 12rem 0 16rem;
  position: relative;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .contact {
    padding: 8rem 2.5rem 12rem;
  }
}

.contact__inner {
  max-width: 112rem;
  margin: 0 auto;
}

.contact__inner>p {
  max-width: 56rem;
  padding-top: 2.4rem;
  font-size: 1.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .contact__inner>p {
    padding-top: 2rem;
  }
}

.contact__inner .btnType02 {
  padding-top: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .contact__inner .btnType02 {
    padding-top: 2rem;
  }
}

.contact .typographyItem01 {
  position: absolute;
  bottom: 8.6rem;
  left: 50%;
  z-index: -1;
  transform: translate3d(-50%, 0, 0);
  max-width: 144rem;
  width: 100%;
  text-align: right;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .contact .typographyItem01 {
    bottom: unset;
    top: 8rem;
  }
}

.contact .typographyItem01 img {
  width: 82.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .contact .typographyItem01 img {
    width: 100%;
  }
}

/* フッター
---------------------------------------------- */
.footer *.focus-visible {
  outline-color: #FFF;
}

.footer__main {
  position: relative;
  background: url(../img/bg_texture01.jpg);
  border-radius: 4.8rem 0 0 0;
  padding: 6.4rem 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__main {
    padding: 9.6rem 2.5rem;
  }
}

.footer__inner {
  max-width: 112rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 6.5rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__inner {
    flex-direction: column;
    gap: 2.4rem;
  }
}

.footer__inner>div>p {
  width: 44rem;
  color: #FFF;
  font-size: 1.4rem;
  padding-top: 1.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__inner>div>p {
    width: 100%;
    padding-top: 2.4rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__inner .btnType01 {
    width: 100%;
  }
}

.footer__logo {
  width: 22.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__logo {
    margin: 0 auto;
  }
}

.footer__logo a {
  display: block;
}

.footer__logo a img {
  width: 100%;
}

.footer__bottom {
  background-color: #000;
  color: #FFF;
  text-align: right;
  padding: 0.9rem 1.6666666667%;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__bottom {
    padding: 0.9rem 1.2rem;
  }
}

.footer__bottom p small {
  font-size: 1.2rem;
}

.footer__pagetop {
  position: fixed;
  bottom: 5.3rem;
  right: 4rem;
  width: 11.2rem;
  height: 11.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__pagetop {
    bottom: 0rem;
    /* right: 50%; */
    transform: translate3d(50%, 0, 0);
  }
}

.footer__pagetop-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  animation: rotate-counterclockwise 10s linear infinite;
}

.footer__pagetop-bg img {
  width: 100%;
  height: 100%;
}

.footer__pagetop-arrow {
  width: 6.4rem;
  height: 6.4rem;
  background-color: #FFF;
  border-radius: 50%;
  transition: transform 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer__pagetop-arrow svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: #000;
  transform: scale(1, -1);
}

.footer__pagetop:hover .footer__pagetop-arrow {
  transform: scale(1.2);
}

/* ------------------------------------------------------------

モーダル

------------------------------------------------------------ */
/* ------------------------------------------------------------

トップページ

------------------------------------------------------------ */
/* メインビジュアル
---------------------------------------------- */
.main {
  height: calc(100dvh - 8.8rem);
  padding: 0 2.7777777778% 5.6rem;
  position: relative;
  width: 100%;
}

@media print {
  .main {
    height: auto;
  }
}

@media screen and (max-width: 1024px) {
  .main {
    height: auto;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main {
    height: auto;
    padding: 0.6rem 1.5rem 0;
  }
}

.main__image {
  position: relative;
  height: 100%;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__image {
    height: auto;
  }
}

.main__image::after {
  content: "";
  display: block;
  background: url(../img/home/bg_main01.svg) no-repeat 0 0/cover;
  width: 57.2rem;
  height: 23.2rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__image::after {
    display: none;
  }
}

.main__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.2rem;
}

.main__txt {
  width: 56rem;
  position: absolute;
  bottom: 11.6rem;
  left: 6.4rem;
}


@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__txt {
    width: 29.5rem;
    margin: -37px auto 22px;
    position: relative;
    bottom: unset;
    left: unset;
  }
}

.main__txt img {
  width: 95%;
}

.main__news {
  /* position: absolute; */
  margin: -5rem auto 0px;
  left: 6.4rem;
  display: flex;
  gap: 1.2rem;
  width: 98%;
  align-items: flex-end;
  justify-content: flex-end;
  flex-direction: column;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__news {
    position: unset;
    padding: 0 1rem;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.8rem;
    margin: -1rem 0 0 0;
  }
}

.main__news-list {
  display: grid;
  grid-template-columns: 1fr; /* スマホは1列 */
  gap: 0.6rem;
  width: 100%;
  /* max-width: 1100px; */
  margin: 0 auto;
}

@media (min-width: 768px) {

  .main__news-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__news-list {
    width: 100%;
  }
}

.main__news-list .preparation {
  background-color: #FFF;
  padding: 1.2rem 5.2rem 1.2rem 2rem;
  color: #000;
  border-radius: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__news-list .preparation {
    padding: 0.8rem 5.2rem 0.8rem 1.6rem;
    border-radius: 1rem;
  }
}

.main__news-list a {
  position: relative;
  background-color: #FFF;
  padding: 1.2rem 5.2rem 1.2rem 2rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  color: #000;
  border-radius: 1.2rem;
  /* margin: 4px 0px; */
  width: 100%;
  min-width: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__news-list a {
    padding: 0.8rem 5.2rem 0.8rem 1.6rem;
    border-radius: 1rem;
  }
}

.main__news-list-cat span {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.4rem;
  background-color: #000;
  color: #FFF;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #E1FF02;
  line-height: 1.2;
}

.main__news-list time {
  color: #999999;
  font-family: "Outfit";
  font-weight: 600;
  font-size: 1.4rem;
  padding-top: 0.2rem;
}

.main__news-list-ttl {
  width: 100%;
  font-weight: 500;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.main__news-list-arrow {
  position: absolute;
  bottom: 1.3rem;
  right: 2rem;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__news-list-arrow {
    bottom: 0.9rem;
  }
}

.main__news-list-arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #000;
  transition: transform 0.3s;
}

a:hover .main__news-list-arrow::before {
  transform: scale(1.2);
}

.main__news-list-arrow svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #E1FF02;
  transform: rotate(-90deg);
  transition: fill 0.3s;
}

.main__news-btn a {
  display: flex;
  align-items: center;
  gap: 2rem;
  color: #FFF;
  background-color: #000;
  border-radius: 1.2rem;
  padding: 1.2rem 1.6rem 1.2rem 2.4rem;
  transition: background-color 0.3s;
  font-weight: 700;
  margin: -6px 0 0 0;
}




.main__news-btn a:hover {
  background-color: #E1FF02;
  color: #000;
}

.main__news-btn-arrow {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.main__news-btn-arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #E1FF02;
  transition: transform 0.3s;
}

a:hover .main__news-btn-arrow::before {
  background-color: #000;
  transform: scale(1.2);
}

.main__news-btn-arrow svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #000;
  transform: rotate(-90deg);
  transition: fill 0.3s;
}

a:hover .main__news-btn-arrow svg {
  fill: #FFF;
}

/* あなたの「やってみたい」を支えたい。
---------------------------------------------- */
.homeAbout {
  padding: 25rem 0 4rem;
  max-width: 144rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

@media (max-width: 1024px) {
  .homeAbout {
    padding: 0rem 0 4rem;
    justify-content;
    margin: -20px auto 0;
    }
  .main__news-btn a {
    margin: 0px 0 0 0;
}
.main__txt {
  bottom: 38rem;
}
  }

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout {
    padding: 5rem 0 4rem;
    flex-direction: column;
    gap: 2.4rem;
  }
}

.homeAbout__image {
  width: 54.1666666667%;
  position: relative;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__image {
    width: 100%;
  }
}

.homeAbout__image .typographyItem01 {
  width: 79.1025641026%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__image .typographyItem01 {
    width: 100%;
  }
}

.homeAbout__image .typographyItem01 img {
  width: 100%;
}

.homeAbout__image-picture {
  width: 84.6153846154%;
  margin-left: auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__image-picture {
    width: 100%;
    padding: 0 2.5rem;
  }
}

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

.homeAbout__txt {
  width: 41.6666666667%;
}

.homeAbout__txt p strong {
    font-weight: bold;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__txt {
    width: 100%;
  }
}

.homeAbout__txt>p {
  padding: 2.4rem 0;
  max-width: 44rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__txt>p {
    padding: 2.4rem 2.5rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__txt .btnType02 {
    padding: 0 2.5rem;
  }
}

.homeAbout__txt .btnType02__inner-arrow svg {
  transform: unset;
}

.homeAbout__ttl {
  position: relative;
  padding-bottom: 2.8rem;
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__ttl {
    padding-bottom: 1.8rem;
    margin-left: 2.5rem;
  }
}

.homeAbout__ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

.homeAbout__ttl::after {
  content: "";
  display: block;
  background-color: #000;
  width: 2.4rem;
  height: 0.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.homeAbout__ttl-en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
}

.homeAbout__ttl-jp {
  font-weight: 700;
  font-size: 5.6rem;
  display: block;
  padding-top: 2rem;
  background: url(../img/home/deco_about01.svg) no-repeat top 1.8rem left/48.3rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__ttl-jp {
    font-size: 4rem;
    padding-top: 1.2rem;
    background: url(../img/home/deco_about01.svg) no-repeat top 1rem left/31.8rem;
  }
}

.homeAbout__ttl-jp span {
  display: block;
  font-size: 7.73rem;
  letter-spacing: -0.09em;
  padding: 1.4rem 0 1.2rem;
  margin-left: -0.7rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAbout__ttl-jp span {
    font-size: 5.23rem;
    padding: 0.8rem 0 0.6rem;
    letter-spacing: -0.09em;
  }
}

/* 画像横スクロール 1
---------------------------------------------- */
.homeScroll01 {
  overflow: hidden;
  padding: 5% 0;
}

.homeScroll01__inner {
  display: flex;
  justify-content: flex-end;
  transform: rotate(-5deg);
}

.homeScroll01__item {
  width: 188rem;
  flex: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeScroll01__item {
    width: 141rem;
  }
}

body.loaded .homeScroll01__item {
  animation: 45s linear 0s infinite normal none running scroll-infinity-right;
}

.homeScroll01__item img {
  width: 100%;
  height: auto;
}

/* Grafferが理由選ばれる
---------------------------------------------- */
.homeWhy {
  overflow: hidden;
  max-width: 144rem;
  margin: 0 auto 0;
  position: relative;
  padding: 4rem 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy {
    padding: 5rem 0 0;
  }
}

.homeWhy .typographyItem01 {
  position: absolute;
  top: 4rem;
  left: 0;
  z-index: -1;
  width: 100%;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy .typographyItem01 {
    top: 5rem;
  }
}

.homeWhy .typographyItem01 img {
  width: 100%;
}

.homeWhy__contents {
  max-width: 112rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__contents {
    display: block;
  }
}

.homeWhy__ttl {
  position: relative;
  padding-bottom: 2.8rem;
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__ttl {
    padding-bottom: 1.8rem;
    margin: 0 0 2.4rem 2.5rem;
  }
}

.homeWhy__ttl::before {
  content: "";
  display: block;
  width: calc(100% + 16rem);
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__ttl::before {
    width: 100%;
  }
}

.homeWhy__ttl::after {
  content: "";
  display: block;
  background-color: #000;
  width: 2.4rem;
  height: 0.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.homeWhy__ttl-en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
  line-height: 1;
}

.homeWhy__ttl-jp {
  font-weight: 700;
  display: flex;
  gap: 0.8rem;
  padding-top: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__ttl-jp {
    padding-top: 1.2rem;
  }
}

.homeWhy__ttl-jp span:nth-of-type(1) {
  text-align: right;
  font-size: 4rem;
  line-height: 1.3;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__ttl-jp span:nth-of-type(1) {
    font-size: 2.7rem;
  }
}

.homeWhy__ttl-jp span:nth-of-type(2) {
  position: relative;
  font-size: 10rem;
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__ttl-jp span:nth-of-type(2) {
    font-size: 6.7rem;
  }
}

.homeWhy__ttl-jp span:nth-of-type(2)::before {
  content: "";
  display: block;
  background: url(../img/home/deco_why01.svg) no-repeat 0 0/cover;
  width: 22.9rem;
  height: 13.8rem;
  position: absolute;
  top: -1.8rem;
  left: -2.5rem;
  z-index: -1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__ttl-jp span:nth-of-type(2)::before {
    width: 14.9rem;
    height: 8.9rem;
    top: -1.1rem;
    left: -1.4rem;
  }
}

.homeWhy__inner {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;

  gap: 20px;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__inner {
    flex-direction: column;
    gap: 3.2rem;
    padding: 0 3.5rem;
  }
}

.homeWhy__inner::before {
  content: "";
  display: block;
  background: url(../img/img_decoration01.png) no-repeat 0 0/cover;
  width: 16.2rem;
  height: 16.2rem;
  position: absolute;
  top: -4rem;
  left: -4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__inner::before {
    display: none;
  }
}

.homeWhy__inner::after {
  content: "";
  display: block;
  background: url(../img/img_decoration01.png) no-repeat 0 0/cover;
  width: 16.2rem;
  height: 16.2rem;
  position: absolute;
  bottom: -4rem;
  right: -4rem;
  transform: scale(-1, -1);
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__inner::after {
    display: none;
  }
}

.homeWhy__item {
  width: 36rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__item {
    width: 100%;
  }
}

.homeWhy__item-image img {
  width: 100%;
  height: auto;
  border-radius: 0.8rem;
}

.homeWhy__item-txt {
  width: 33.6rem;
  margin: -5.7rem auto 0;
  position: relative;
  background-color: #FFF;
  border-radius: 0.8rem;
  padding: 1.6rem 2.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__item-txt {
    width: 28.1rem;
    margin-top: -5.1rem;
    padding: 1.6rem;
  }
}

.homeWhy__item-ttl {
  position: absolute;
  bottom: calc(100% - 0.8rem);
  left: 0;
  width: 100%;
  text-align: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__item-ttl {
    bottom: calc(100% - 0.6rem);
  }
}

.homeWhy__item-ttl>span {
  position: relative;
  display: inline-block;
}

.homeWhy__item-ttl>span::before {
  content: "";
  display: block;
  background-color: #E1FF02;
  width: 100%;
  height: 100%;
  border-radius: 0.4rem;
  position: absolute;
  bottom: -0.3rem;
  left: 0;
}

.homeWhy__item-ttl>span>span {
  position: relative;
  padding: 0.4rem 0.8rem;
  background-color: #000;
  color: #FFF;
  display: inline-block;
  border-radius: 0.4rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.25;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeWhy__item-ttl>span>span {
    font-size: 1.8rem;
  }
}

/* 受講料金について
---------------------------------------------- */
.homePrice {
  padding: 12rem 0 5.6rem;
  overflow: hidden;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice {
    padding: 8rem 0 4rem;
  }
}

.homePrice__container {
  position: relative;
  max-width: 144rem;
  margin: 0 auto;
}

@media screen and (max-width: 1320px) {
  .homePrice__container {
    max-width: 112rem;
  }
}

.homePrice .typographyItem01 {
  width: 12.7rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 1320px) {
  .homePrice .typographyItem01 {
    width: 100%;
    max-width: 112rem;
    right: unset;
    left: 0;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice .typographyItem01 {
    left: 0;
  }
}

.homePrice .typographyItem01 img {
  width: 100%;
}

@media screen and (max-width: 1320px) {
  .homePrice .typographyItem01 img {
    width: 48.6rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice .typographyItem01 img {
    width: 100%;
  }
}

.homePrice__ttl {
  max-width: 112rem;
  margin: 0 auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__ttl {
    padding-left: 2.5rem;
  }
}

.homePrice__inner01 {
  max-width: 112rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 4rem;
  padding: 2.4rem 0 3.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__inner01 {
    flex-direction: column;
    gap: 2.4rem;
    padding: 3.6rem 2.5rem 4rem;
  }
}

.homePrice__inner01 .btnType01 {
  flex: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__inner01 .btnType01 {
    width: 100%;
  }
}

.homePrice__info {
  flex: 1;
  background-color: #FFF;
  padding: 2.4rem 4rem;
  border-radius: 0.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__info {
    padding: 1.6rem 2.4rem;
  }
}

.homePrice__info h3 {
  display: inline-block;
  background-color: #000;
  color: #FFF;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
  border-radius: 0.4rem;
  padding: 0 1rem;
  margin-bottom: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__info h3 {
    display: block;
    font-size: 2rem;
    text-align: center;
  }
}

.homePrice__info p {
  font-size: 2rem;
  /* font-weight: 700; */
  padding: 0 0 15px 0;
}

p[data-start="215"] {
    padding: 0;
}

.homePrice__info ul p {
    padding: 0;
}

.homePrice__info p strong {
    font-weight: 700;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__info p {
    font-size: 1.6rem;
  }
}

.homePrice__inner02 {
  position: relative;
}

@media screen and (max-width: 1320px) {
  .homePrice__inner02 {
    position: unset;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__inner02 {
    padding: 0 2.5rem;
  }
}

.homePrice__inner02-unit {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  max-width: 112rem;
  margin: 0 auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__inner02-unit {
    gap: 2rem;
  }
}

.homePrice__card {
  background: url(../img/bg_texture01.jpg);
  color: #FFF;
  border-radius: 1.2rem;

  padding: 1.6rem 4rem 1.6rem 1.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__card {
    padding: 2rem;
    gap: 1.2rem;
    flex-direction: column;
  }
}

.homePrice__card-inner {
  display: flex;
  align-items: center;
  gap: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__card-inner {
    flex-direction: column;
    gap: 2rem;
  }
}

.homePrice__card-image {
  width: 24rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__card-image {
    width: 100%;
  }
}

.homePrice__card-image img {
  width: 100%;
  height: auto;
  border-radius: 0.4rem;
}

.homePrice__card-catch {
  width: 31.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__card-catch {
    width: 24rem;
  }
}

.homePrice__card-catch img {
  width: 100%;
}

.homePrice__card-desc {
  width: 42rem;
  font-weight: 500;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePrice__card-desc {
    width: 100%;
  }
}

/* プラン案内・料金表
---------------------------------------------- */
.homePlan {
  position: relative;
  background-color: #000;
  color: #FFF;
  padding: 8rem 0;
  overflow: hidden;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePlan {
    padding: 8rem 2.5rem 4.8rem;
  }
}

.homePlan .typographyItem01 {
  width: 12.7rem;
  position: absolute;
  top: 2rem;
  left: 0;
}

@media screen and (max-width: 1320px) {
  .homePlan .typographyItem01 {
    width: 43.7rem;
    top: 8rem;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePlan .typographyItem01 {
    width: 100%;
    left: 0;
    transform: unset;
  }
}

.homePlan .typographyItem01 img {
  width: 100%;
}

.homePlan__ttl {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePlan__ttl {
    font-size: 3.2rem;
    margin-bottom: 2.4rem;
  }
}

.homePlan>p {
  position: relative;
  z-index: 1;
  text-align: center;
  font-weight: 500;
  margin-bottom: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePlan>p {
    font-size: 1.5rem;
    text-align: left;
    margin-bottom: 3.2rem;
  }
}

.homePlan__inner01 {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #444444;
  padding-bottom: 2rem;
  max-width: 112rem;
  margin: 0 auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePlan__inner01 {
    flex-direction: column;
    gap: 2rem;
  }
}

.homePlan__inner02 {
  position: relative;
  padding: 2rem 0;
  max-width: 144rem;
  margin: 0 auto;
}

@media screen and (max-width: 1320px) {
  .homePlan__inner02 {
    position: unset;
  }
}

.homePlan__inner02-column {
  display: flex;
  justify-content: space-between;
  max-width: 112rem;
  margin: 0 auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePlan__inner02-column {
    flex-direction: column;
    gap: 2rem;
  }
}

.homePlan__inner02-standard {
  position: relative;
}

.homePlan__inner02-standard-shadow {
  display: block;
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 100%;
  height: 100%;
  border-radius: 0.8rem;
  box-shadow: 0 0 0.8rem 1.2rem rgba(225, 255, 2, 0.2), 0 0 0.1rem 0.6rem rgba(225, 255, 2, 0.2), 0 0 0 0.3rem rgba(225, 255, 2, 0.8);
}

.homePlan__option {
  padding-top: 2rem;
  max-width: 112rem;
  margin: 0 auto;
  border-top: 1px solid #444444;
}

.homePlan__option-plusIcon {
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  position: relative;
  margin: 0 auto 2rem;
}

.homePlan__option-plusIcon::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 0.4rem;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.2rem;
  background-color: #FFF;
}

.homePlan__option-plusIcon::after {
  content: "";
  display: block;
  width: 0.4rem;
  height: 3.2rem;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -0.2rem;
  background-color: #FFF;
}

.homePlan__option>p {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  padding-top: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homePlan__option>p {
    text-align: left;
    padding-top: 2.4rem;
  }
}

.planCard01 {
  width: 55rem;
  box-shadow: inset 0px 0px 0 1px #FFF;
  border-radius: 0.8rem;
  background: url(../img/bg_texture01.jpg);
  text-align: center;
  line-height: 1.5;
  overflow: hidden;
  font-weight: 700;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard01 {
    width: 100%;
  }
}

.planCard01__ttl {
  background-color: #FFF;
  color: #000;
  font-size: 2.4rem;
  padding: 0.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard01__ttl {
    font-size: 1.6rem;
    padding: 0.8rem;
  }
}

.planCard01__inner {
  padding: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard01__inner {
    padding: 1.6rem;
  }
}

.planCard01__inner p {
  font-size: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard01__inner p {
    font-size: 1.6rem;
  }
}

.planCard01__inner p span {
  display: inline-block;
  margin-right: 0.8rem;
  color: #E1FF02;
  font-size: 4.8rem;
  font-family: "Outfit";
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard01__inner p span {
    font-size: 3.2rem;
    margin-right: 0.4rem;
  }
}

.planCard02 {
  position: relative;
  width: 36rem;

  box-shadow: inset 0px 0px 0 1px #FFF;
  border-radius: 0.8rem;
  background: url(../img/bg_texture01.jpg);
  text-align: center;
  line-height: 1.5;
  overflow: hidden;
  font-weight: 700;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02 {
    width: 100%;
  }
}

.planCard02__ttl {
  background-color: #FFF;
  color: #000;
  padding: 0.9rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__ttl {
    padding: 0.8rem;
  }
}

.planCard02__ttl span {
  font-size: 2.4rem;
  display: block;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__ttl span {
    font-size: 2rem;
  }
}

.planCard02__inner {
  padding: 2.4rem 0;
  display: flex;
  flex-direction: column;
  gap: 2.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    padding: 1.6rem 2rem;
  }
}

.planCard02__inner-contents {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: center;
  font-size: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__inner-contents {
    gap: 0.4rem;
    font-size: 1.3rem;
  }
}

.planCard02__inner-contents p span {
  color: #E1FF02;
  font-size: 4rem;
  display: inline-block;
  padding: 0 0.5rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__inner-contents p span {
    font-size: 2.4rem;
    padding: 0 0.2rem 0 0.4rem;
  }
}

.planCard02__inner-contents-icon {
  font-size: 0;
  width: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__inner-contents-icon {
    width: 1.6rem;
  }
}

.planCard02__inner-contents-icon img {
  width: 100%;
}

.planCard02__inner-price p:nth-of-type(1) {
  font-size: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__inner-price p:nth-of-type(1) {
    font-size: 1.6rem;
  }
}

.planCard02__inner-price p:nth-of-type(1) span {
  display: inline-block;
  margin-right: 0.8rem;
  color: #E1FF02;
  font-size: 4.8rem;
  font-family: "Outfit";
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__inner-price p:nth-of-type(1) span {
    font-size: 3.2rem;
    margin-right: 0.4rem;
  }
}

.planCard02__inner-price p:nth-of-type(2) {
  font-size: 1.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planCard02__inner-price p:nth-of-type(2) {
    font-size: 1.4rem;
  }
}

.planFamily {
  position: relative;
  max-width: 112rem;
  margin: 2rem auto 0;
  background-color: #FFF;
  color: #000;
  border-radius: 0.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 1.5rem;
  line-height: 1.5;
  font-weight: 700;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planFamily {
    margin-top: 2.4rem;
    padding: 1.2rem;
    flex-direction: column;
    gap: 0.8rem;
  }
}

.planFamily__ttl {
  background-color: #000;
  color: #FFF;
  padding: 0 0.8rem;
  border-radius: 0.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planFamily__ttl {
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
  }
}

.planOption {
  position: relative;
  box-shadow: inset 0px 0px 0 1px #FFF;
  border-radius: 0.8rem;
  background: url(../img/bg_texture01.jpg);
  line-height: 1.5;
  overflow: hidden;
  font-weight: 700;
}

.planOption__ttl {
  text-align: center;
  background-color: #FFF;
  color: #000;
  padding: 0.9rem;
  font-size: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__ttl {
    padding: 0.8rem;
    font-size: 1.6rem;
  }
}

.planOption__contents {
  padding: 1.6rem 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__contents {
    padding: 0.4rem 0;
  }
}

.planOption__item {
  padding: 1.6rem 0;
  border-bottom: 1px solid #FFF;
  display: flex;
  justify-content: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__item {
    padding: 1.6rem 2rem;
  }
}

.planOption__item:last-of-type {
  border-bottom: none;
}

.planOption__item-inner {
  width: 80rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__item-inner {
    width: 100%;
    display: block;
  }
}

.planOption__head {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
  }
}

.planOption__head-ttl p span {
  display: inline-block;
  background-color: #E1FF02;
  color: #000;
  padding: 0 0.2rem;
}

.planOption__head-ttl p:nth-of-type(1) {
  font-size: 1.8rem;
}

.planOption__head-ttl p:nth-of-type(2) {
  font-size: 1.4rem;
  line-height: 1.25;
}

.planOption__head-note {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.25;
}

.planOption__price {
  font-size: 2.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__price {
    font-size: 1.4rem;
    text-align: right;
  }
}

.planOption__price-note {
  font-size: 1.2rem;
  line-height: 1.25;
  display: inline-block;
  padding-right: 0.2rem;
  text-align: left;
}

.planOption__price-number {
  color: #E1FF02;
  font-family: "Outfit";
  font-size: 4rem;
  line-height: 1;
  display: inline-block;
  padding-right: 0.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__price-number {
    font-size: 2.8rem;
    padding-right: 0.5rem;
  }
}

.planOption__price-number>span {
  font-size: 2.8rem;
  font-family: "Outfit";
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .planOption__price-number>span {
    font-size: 2.4rem;
  }
}

/* 自分に合ったクラス選択
---------------------------------------------- */
.homeClasses {
  padding-top: 16rem;
  overflow: hidden;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses {
    padding-top: 12rem;
  }
}

.homeClasses__inner {
  position: relative;
  max-width: 144rem;
  margin: 0 auto;
}

.homeClasses__inner .typographyItem01 {
  width: 74.2rem;
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__inner .typographyItem01 {
    width: 100%;
  }
}

.homeClasses__inner .typographyItem01 img {
  width: 100%;
}

.homeClasses__inner-txt {
  max-width: 112rem;
  margin: 0 auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__inner-txt .heading01 {
    margin-left: 2.5rem;
  }
}

.homeClasses__inner-txt>p {
  max-width: 56rem;
  padding-top: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__inner-txt>p {
    padding: 2.4rem 2.5rem 0;
  }
}

.homeClasses__slider {
  padding: 4rem 0 4.6rem;
  position: relative;
  max-width: 112rem;
  margin: 0 auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider {
    padding: 4rem 0 2.4rem;
  }
}

.homeClasses__slider .swiper {
  overflow: visible;
  width: 71.2rem;
  margin: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider .swiper {
    width: 30.7rem;
    margin: 0 auto;
  }
}

.homeClasses__slider .swiper .swiper-slide {
  padding-right: 3.2rem;
  opacity: 0.5;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider .swiper .swiper-slide {
    padding: 0 0.6rem;
  }
}

.homeClasses__slider .swiper .swiper-slide-active {
  opacity: 1;
}

.homeClasses__slider .swiper-button-next,
.homeClasses__slider .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 6.4rem;
  height: 6.4rem;
  margin-top: -3.2rem;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

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

  .homeClasses__slider .swiper-button-next,
  .homeClasses__slider .swiper-button-prev {
    width: 4rem;
    height: 4rem;
    margin-top: -2rem;
  }
}


.homeClasses__slider .swiper-button-next svg,
.homeClasses__slider .swiper-button-prev svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: #000;
}

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

  .homeClasses__slider .swiper-button-next svg,
  .homeClasses__slider .swiper-button-prev svg {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.homeClasses__slider .swiper-button-next {
  right: -10.4rem;
}

@media screen and (max-width: 1320px) {
  .homeClasses__slider .swiper-button-next {
    right: -2rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider .swiper-button-next {
    right: 1.2rem;
  }
}

.homeClasses__slider .swiper-button-next svg {
  transform: rotate(-90deg);
}

.homeClasses__slider .swiper-button-prev {
  left: -10.4rem;
}

@media screen and (max-width: 1320px) {
  .homeClasses__slider .swiper-button-prev {
    left: -2rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider .swiper-button-prev {
    left: 1.2rem;
  }
}

.homeClasses__slider .swiper-button-prev svg {
  transform: rotate(90deg);
}

.homeClasses__slider .swiper-button-next:after,
.homeClasses__slider .swiper-button-prev:after {
  display: none;
}

.homeClasses__slider .swiper-button-next:before,
.homeClasses__slider .swiper-button-prev:before {
  content: "";
  display: block;
  background-color: #E1FF02;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s;
}

.homeClasses__slider .swiper-button-next:hover:before,
.homeClasses__slider .swiper-button-prev:hover:before {
  content: "";
  transform: scale(1.2);
}

.homeClasses__slider .swiper-pagination {
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  justify-content: center;
  text-align: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider .swiper-pagination {
    gap: 0.8rem;
  }
}

.homeClasses__slider .swiper-pagination .swiper-pagination-bullet {
  width: 8.9285714286%;
  height: 0.4rem;
  cursor: pointer;
  transition: 0.3s;
  vertical-align: top;
  border-radius: 0.2rem;
  margin: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider .swiper-pagination .swiper-pagination-bullet {
    width: 8.5333333333%;
  }
}

.homeClasses__slider .swiper-pagination .swiper-pagination-bullet-active {
  width: 17.8571428571%;
  background-color: #000;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeClasses__slider .swiper-pagination .swiper-pagination-bullet-active {
    width: 32%;
  }
}

.classesCard {
  position: relative;
  background-color: #FFF;
  border-radius: 2rem;
  padding: 4rem 16rem 4rem 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard {
    padding: 2.4rem 2rem 12rem;
  }
}

.classesCard::before {
  content: "";
  display: block;
  background: url(../img/home/deco_classesCard01.svg) no-repeat 0 0/cover;
  width: 4.3rem;
  height: 1.6rem;
  position: absolute;
  top: 0;
  right: 8.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard::before {
    background: url(../img/home/deco_classesCard01_sp.svg) no-repeat 0 0/cover;
    width: 1.6rem;
    height: 4.4rem;
    top: unset;
    bottom: 5.7rem;
    right: unset;
    left: 0;
  }
}

.classesCard::after {
  content: "";
  display: block;
  background: url(../img/home/deco_classesCard01.svg) no-repeat 0 0/cover;
  width: 4.3rem;
  height: 1.6rem;
  position: absolute;
  bottom: 0;
  right: 8.4rem;
  transform: scale(1, -1);
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard::after {
    background: url(../img/home/deco_classesCard01_sp.svg) no-repeat 0 0/cover;
    width: 1.6rem;
    height: 4.4rem;
    top: unset;
    bottom: 5.7rem;
    right: 0;
    transform: scale(-1, 1);
  }
}

.classesCard__tag {
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translate3d(0, -50%, 0);
  width: 1.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__tag {
    top: unset;
    bottom: 2.7rem;
    right: unset;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    width: auto;
    height: 1.4rem;
  }
}

.classesCard__tag img {
  width: 100%;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__tag img {
    width: auto;
    height: 100%;
  }
}

.classesCard__dotted {
  width: 0.2rem;
  height: calc(100% - 4.4rem);
  position: absolute;
  top: 2.2rem;
  right: 10.3rem;
  background-image: repeating-linear-gradient(to bottom, black 0px, black 3px, transparent 3px, transparent 6px);
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__dotted {
    width: calc(100% - 4.4rem);
    height: 0.2rem;
    background-image: repeating-linear-gradient(to right, black 0px, black 3px, transparent 3px, transparent 6px);
    top: unset;
    bottom: 8rem;
    right: 2.2rem;
  }
}

.classesCard__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  line-height: 1;
  gap: 1.2rem;
  font-weight: 700;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__top {
    flex-direction: column-reverse;
  }
}

.classesCard__top-ttl {
  font-size: 3.2rem;
  padding: 0.2rem 0 2.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__top-ttl {
    font-size: 2.4rem;
    padding: 0 0 2.4rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__top-ttl span {
    font-size: 1.8rem;
  }
}

.classesCard__top-time {
  flex: none;
  padding: 0.4rem 1.6rem;
  background-color: #000;
  color: #FFF;
  border-radius: 0.8rem;
  font-size: 1.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__top-time {
    font-size: 1.4rem;
  }
}

.classesCard__top-time span {
  font-family: "Outfit";
  font-size: 3.2rem;
  display: inline-block;
  padding-right: 0.3rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__top-time span {
    font-size: 2.4rem;
  }
}

.classesCard__level {
  padding-bottom: 1.6rem;
}

.classesCard__level p {
  display: flex;
  align-items: center;
  padding-bottom: 1.6rem;
}

.classesCard__level p::after {
  content: "";
  display: block;
  background: linear-gradient(to right, #000, #FFF);
  flex: 1;
  height: 0.2rem;
}

.classesCard__level p span {
  display: inline-block;
  background-color: #E1FF02;
  font-family: "Outfit";
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  padding: 0 0.2rem;
}

.classesCard__level img {
  width: 25.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .classesCard__level img {
    width: 21.6rem;
  }
}

.classesCard__desc {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

/* 会場案内
---------------------------------------------- */
.homeAccess {
  position: relative;
  padding-top: 16rem;
  overflow: hidden;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess {
    padding-top: 8rem;
  }
}

.homeAccess .typographyItem01 {
  position: absolute;
  top: 16rem;
  left: 0;
  width: 65.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess .typographyItem01 {
    display: none;
  }
}

.homeAccess .typographyItem01 img {
  width: 100%;
}

.homeAccess__ttl {
  max-width: 112rem;
  margin: 0 auto 4rem;
  display: flex;
  justify-content: flex-end;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__ttl {
    display: block;
    margin-bottom: 2.4rem;
  }
}

.homeAccess__ttl-inner {
  position: relative;
  padding-bottom: 2.8rem;
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__ttl-inner {
    padding-bottom: 1.8rem;
    margin-left: 2.5rem;
  }
}

.homeAccess__ttl-inner::before {
  content: "";
  display: block;
  width: calc(100% + 16rem);
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__ttl-inner::before {
    width: 100%;
  }
}

.homeAccess__ttl-inner::after {
  content: "";
  display: block;
  background-color: #000;
  width: 2.4rem;
  height: 0.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.homeAccess__ttl-inner-en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
  line-height: 1;
}

.homeAccess__ttl-inner-jp {
  font-weight: 700;
  font-size: 5.6rem;
  padding-top: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__ttl-inner-jp {
    font-size: 4rem;
    padding-top: 1.2rem;
  }
}

.homeAccess__contents {
  max-width: 120rem;
  margin: 0 auto;
}

.homeAccess__column {
  position: relative;
  max-width: 112rem;
  margin: 0 auto;
  display: flex;
  background-color: #FFF;
  border-radius: 1.2rem;
  overflow: hidden;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__column {
    flex-direction: column-reverse;
    width: 32.5rem;
    padding: 2.4rem 2rem;
  }
}

.homeAccess__map {
  width: 48rem;
  height: 39.7rem;
  flex: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__map {
    width: 100%;
    height: 24.2rem;
  }
}

.homeAccess__map iframe {
  border: 0;
  width: 100%;
  height: 100%;
}

.homeAccess__inner {
  flex: 1;
  padding: 3.2rem 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__inner {
    padding: 0 0 2rem;
  }
}

.homeAccess__inner-ttl {
  position: relative;
  padding-bottom: 1.3rem;
  line-height: 1;
  margin-bottom: 1.6rem;
}

.homeAccess__inner-ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

.homeAccess__inner-ttl>span {
  background-color: #000;
  color: #FFF;
  display: inline-block;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 0 0.8rem;
  border-radius: 0.8rem;
  margin-bottom: 0.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__inner-ttl>span {
    font-size: 1.6rem;
  }
}

.homeAccess__inner-ttl>p:nth-child(2) {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__inner-ttl>p:nth-child(2) {
    font-size: 2.4rem;
  }
}

.homeAccess__inner-ttl>p:nth-child(3) {
  display: inline-block;
  background-color: #E1FF02;
  color: #000;
  font-family: "Outfit";
  font-size: 1.2rem;
  font-weight: 500;
  padding: 0 0.2rem;
  margin-top: 0.4rem;
}

.homeAccess__inner-info {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.homeAccess__inner-info-item {
  background-color: #EEEEEE;
  border-radius: 0.4rem;
  padding: 0.4rem 1.2rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__inner-info-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
  }
}

.homeAccess__inner-info-item>span {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 700;
  font-size: 1.5rem;
}

.homeAccess__inner-info-item>span svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: #000;
}

.homeAccess__inner-desc {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  font-size: 1.4rem;
  padding-top: 1.6rem;
}

.homeAccess__bottom {
  background: url(../img/bg_texture01.jpg);
  color: #FFF;
  border-radius: 1.2rem;
  padding: 12rem 0 4rem;
  display: flex;
  justify-content: center;
  margin-top: -8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeAccess__bottom {
    padding: 8rem 4rem 4rem;
    margin-top: -5.6rem;
  }
}

.homeAccess__bottom>p {
  max-width: 96rem;
  font-weight: 500;
}

/* 心強いコーチ陣
---------------------------------------------- */
.homeCoaches {
  overflow: hidden;
  padding-top: 15rem;
  position: relative;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeCoaches {
    padding-top: 8rem;
  }
}

.homeCoaches__ttl {
  position: relative;
  z-index: 1;
  padding-bottom: 2.8rem;
  line-height: 1;
  max-width: 91.6rem;
  margin-left: auto;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeCoaches__ttl {
    padding-bottom: 1.8rem;
    margin-left: 2.5rem;
  }
}

.homeCoaches__ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

.homeCoaches__ttl::after {
  content: "";
  display: block;
  background-color: #000;
  width: 2.4rem;
  height: 0.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.homeCoaches__ttl-en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
  line-height: 1;
}

.homeCoaches__ttl-jp {
  font-weight: 700;
  font-size: 5.6rem;
  padding-top: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeCoaches__ttl-jp {
    font-size: 4rem;
    padding-top: 1.2rem;
  }
}

.homeCoaches__inner {
  position: relative;
  max-width: 112rem;
  margin: 0 auto;
}

@media screen and (max-width: 1320px) {
  .homeCoaches__inner {
    position: unset;
  }
}

.homeCoaches__inner .typographyItem01 {
  position: absolute;
  top: 16rem;
  left: -16rem;
  width: 13rem;
}

@media screen and (max-width: 1320px) {
  .homeCoaches__inner .typographyItem01 {
    left: 0;
    width: 81.6rem;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeCoaches__inner .typographyItem01 {
    top: 8rem;
    width: 100%;
  }
}

.homeCoaches__inner .typographyItem01 img {
  width: 100%;
}

.homeCoaches__cards {
  position: relative;
  padding: 4rem 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeCoaches__cards {
    padding: 2.4rem 2rem 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

.homeCoaches__cards::before {
  content: "";
  display: block;
  background: url(../img/img_decoration01.png) no-repeat 0 0/cover;
  width: 16.2rem;
  height: 16.2rem;
  position: absolute;
  top: 0;
  left: -4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeCoaches__cards::before {
    display: none;
  }
}

.homeCoaches__cards::after {
  content: "";
  display: block;
  background: url(../img/img_decoration01.png) no-repeat 0 0/cover;
  width: 16.2rem;
  height: 16.2rem;
  position: absolute;
  bottom: 0;
  right: -4rem;
  transform: scale(-1, -1);
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeCoaches__cards::after {
    display: none;
  }
}

.coachesCard01 {
  width: 26.5rem;
  background-color: #FFF;
  border-radius: 1.2rem;
  padding: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01 {
    width: 16rem;
    border-radius: 0.7;
    padding: 0.8rem;
  }
}

.coachesCard01__image {
  position: relative;

  height: 18rem;
  overflow: hidden;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__image {
    height: 12rem;
  }
}

.coachesCard01__image::after {
  content: "";
  display: block;
  background: url(../img/home/deco_coaches01.svg) no-repeat 0 0/cover;
  width: 100%;
  height: 4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__image::after {
    background: url(../img/home/deco_coaches01_sp.svg) no-repeat 0 0/cover;
    height: 2.4rem;
  }
}

.coachesCard01__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.4rem;
}

.coachesCard01__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 0 0.8rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #D9D9D9;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__ttl {
    gap: 0.6rem;
    margin: 0 0.4rem;
    padding-bottom: 0.4rem;
  }
}

.coachesCard01__ttl-name {
  font-family: "Outfit";
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__ttl-name {
    font-size: 1.6rem;
  }
}

.coachesCard01__ttl-status {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem;
  font-family: "Outfit";
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__ttl-status {
    gap: 0.2rem;
  }
}

.coachesCard01__ttl-status span {
  display: inline-block;
  font-family: "Outfit";
  padding: 0 0.2rem;
  background-color: #E1FF02;
  display: inline-flex;
  gap: 0.4rem;
}

.coachesCard01__sns {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.coachesCard01__sns-item {
  width: 3.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__sns-item {
    width: 2.4rem;
  }
}

.coachesCard01__sns-item a {
  display: block;
  padding: 2rem 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__sns-item a {
    padding: 1.2rem 0;
  }
}

.coachesCard01__sns-item a img {
  width: 100%;
  transition: transform 0.3s;
}

.coachesCard01__sns-item a:hover img {
  transform: scale(1.2);
}

.coachesCard01__tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 0 0.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__tag {
    gap: 0.3rem;
    padding: 0 0.4rem;
  }
}

.coachesCard01__tag span {
  background-color: #EEEEEE;
  padding: 0 1.2rem;
  border-radius: 0.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .coachesCard01__tag span {
    font-size: 1.2rem;
    padding: 0 0.4rem;
    border-radius: 0.2rem;
  }
}

/* ご利用いただいたお客様の声
---------------------------------------------- */
.homeReviews {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-top: 12rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews {
    padding: 8rem 0 2rem;
  }
}

.homeReviews .typographyItem01 {
  position: absolute;
  top: 12rem;
  right: 0;
  width: 95rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews .typographyItem01 {
    display: none;
  }
}

.homeReviews .typographyItem01 img {
  width: 100%;
}

.homeReviews .heading01 {
  max-width: 112rem;
  margin: 0 auto 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews .heading01 {
    margin: 0 0 2.4rem 2.5rem;
  }
}

.homeReviews__comments {
  max-width: 112rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__comments {
    flex-direction: column;
    gap: 2.4rem;
    padding: 0 2.5rem;
  }
}

.homeReviews__comments-inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__comments-inner {
    display: contents;
  }
}

.homeReviews__comments-inner:nth-of-type(1) .reviewsComment::before {
  content: "";
  display: block;
  background: url(../img/ico_bubble01.svg) no-repeat 0 0/cover;
  width: 1.8rem;
  height: 3.5rem;
  position: absolute;
  top: 7.2rem;
  right: calc(100% - 1px);
}

.homeReviews__comments-inner:nth-of-type(2) .reviewsComment::before {
  content: "";
  display: block;
  background: url(../img/ico_bubble01.svg) no-repeat 0 0/cover;
  width: 1.8rem;
  height: 3.5rem;
  position: absolute;
  bottom: 7.2rem;
  left: calc(100% - 1px);
  transform: scale(-1, -1);
}

.homeReviews__image {
  margin-top: -21rem;
  position: relative;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__image {
    margin-top: 0;
  }
}

.homeReviews__image img {
  width: 100%;
  height: auto;
}

.homeReviews__graph {
  max-width: 106.4rem;
  padding-top: 3.2rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__graph {
    padding: 6.5rem 2.5rem 0;
    flex-direction: column;
    gap: 4rem;
  }
}

.homeReviews__graph-item {
  width: 50rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__graph-item {
    width: 100%;
  }
}

.homeReviews__graph-item-txt {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.homeReviews__graph-item-txt h3 {
  position: relative;
  display: inline-block;
  background-color: #000;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 0.4rem;
  border-radius: 0.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__graph-item-txt h3 {
    line-height: 1.25;
    padding: 0.4rem 0.8rem;
  }
}

.homeReviews__graph-item-txt h3 br {
  display: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__graph-item-txt h3 br {
    display: block;
  }
}

.homeReviews__graph-item-txt p {
  width: 44rem;
  background-color: #FFF;
  font-weight: 500;
  padding: 2.8rem 0 1.6rem;
  margin-top: -1.5rem;
  border-radius: 0.8rem;
  font-size: 1.5rem;
  display: flex;
  justify-content: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeReviews__graph-item-txt p {
    width: 29.5rem;
    padding: 2.2rem 1.5rem 1.6rem;
  }
}

.homeReviews__graph-item-image img {
  width: 100%;
  height: auto;
}

.reviewsComment {
  width: 55rem;
  padding: 4.8rem 6.4rem;
  border-radius: 6.4rem;
  background-color: #FFF;
  position: relative;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .reviewsComment {
    width: 100%;
    padding: 2.8rem 3.2rem;
    border-radius: 4.8rem;
  }
}

.reviewsComment__ttl {
  padding-bottom: 1.2rem;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid #D9D9D9;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .reviewsComment__ttl {
    padding-bottom: 0.8rem;
    margin-bottom: 0.8rem;
  }
}

.reviewsComment__ttl span {
  background-color: #E1FF02;
}

.reviewsComment__desc {
  font-size: 1.4rem;
  line-height: 2;
}

/* 画像横スクロール 2
---------------------------------------------- */
.homeScroll02 {
  overflow: hidden;
  margin-top: -12rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeScroll02 {
    margin-top: 0;
  }
}

.homeScroll02__inner {
  display: flex;
  justify-content: flex-start;
}

.homeScroll02__item {
  width: 170rem;
  flex: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .homeScroll02__item {
    width: 131rem;
  }
}

body.loaded .homeScroll02__item {
  animation: 45s linear 0s infinite normal none running scroll-infinity-left;
}

.homeScroll02__item img {
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------------

ご利用ガイド

------------------------------------------------------------ */
.guideWrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 12rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideWrapper {
    display: block;
    padding-bottom: 8rem;
  }
}

.guideWrapper__nav {
  position: sticky;
  top: 8rem;
  left: 0;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideWrapper__nav {
    display: none;
  }
}

.guideWrapper__nav ul {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding-right: 4rem;
}

.guideWrapper__nav ul li a {
  border-left: 0.4rem solid #D9D9D9;
  padding-left: 0.4rem;
  font-weight: 700;
  color: #999999;
  line-height: 1;
  display: block;
  transition: color 0.3s, border-color 0.3s;
}

.guideWrapper__nav ul li a span {
  display: inline-block;
  background-color: transparent;
  transition: background-color 0.3s;
}

.guideWrapper__nav ul li a:hover,
.guideWrapper__nav ul li a.active {
  border-color: #000;
  color: #000;
}

.guideWrapper__nav ul li a:hover span,
.guideWrapper__nav ul li a.active span {
  background-color: #E1FF02;
}

.guideWrapper__contents {
  width: 88rem;
  margin-top: -8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideWrapper__contents {
    width: 100%;
  }
}

.guideUnit:not(:last-of-type) {
  margin-bottom: 8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit:not(:last-of-type) {
    margin-bottom: 1.2rem;
  }
}

.guideUnit__btn {
  display: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__btn {
    display: block;
    padding: 1.2rem 4.6rem 1.2rem 1.2rem;
    position: relative;
    color: #000;
    background-color: #FFF;
    transition: background-color 0.3s, border-radius 0.3s;
    line-height: 1;
    width: 100%;
    text-align: left;
    border-radius: 0.8rem;
  }

  .guideUnit__btn.on {
    background-color: #E1FF02;
    border-radius: 0.8rem 0.8rem 0 0;
  }
}

.guideUnit__btn-en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
}

.guideUnit__btn-jp {
  font-weight: 700;
  font-size: 2.4rem;
  display: block;
  padding-top: 0.4rem;
}

.guideUnit__btn-icon {
  position: absolute;
  top: 50%;
  right: 1.2rem;
  margin-top: -1.2rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: #000;
}

.guideUnit__btn-icon::before {
  content: "";
  display: block;
  background-color: #E1FF02;
  width: 1rem;
  height: 0.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -0.1rem;
  margin-left: -0.5rem;
}

.guideUnit__btn-icon::after {
  content: "";
  display: block;
  background-color: #E1FF02;
  width: 0.2rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -0.5rem;
  margin-left: -0.1rem;
  transition: transform 0.3s;
}

.guideUnit__btn.on .guideUnit__btn-icon::after {
  transform: rotate(90deg);
}

.guideUnit__btnClose {
  display: none;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__btnClose {
    display: block;
    padding: 1.4rem;
    position: relative;
    color: #000;
    background-color: #FFF;
    transition: background-color 0.3s, border-radius 0.3s;
    line-height: 1.25;
    width: 100%;
    text-align: center;
    border-radius: 1.2rem;
    font-size: 1.6rem;
    font-weight: 700;
    border: 0.2rem solid #000;
    margin-top: 3.2rem;
  }
}

.guideUnit__btnClose-icon {
  position: absolute;
  top: 50%;
  right: 2.4rem;
  margin-top: -1.2rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: #000;
}

.guideUnit__btnClose-icon::before {
  content: "";
  display: block;
  background-color: #E1FF02;
  width: 1rem;
  height: 0.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -0.1rem;
  margin-left: -0.5rem;
}

.guideUnit__container {
  padding-top: 8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__container {
    display: none;
    background-color: #FFF;
    padding: 2rem 1.5rem;
  }
}

.guideUnit__ttl {
  position: relative;
  padding-bottom: 2.8rem;
  line-height: 1;
  margin-bottom: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__ttl {
    display: none;
  }
}

.guideUnit__ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #000, #EEEEEE);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
}

.guideUnit__ttl::after {
  content: "";
  display: block;
  background-color: #000;
  width: 2.4rem;
  height: 0.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.guideUnit__ttl-en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
}

.guideUnit__ttl-jp {
  font-weight: 700;
  font-size: 5.6rem;
  display: block;
  padding-top: 2rem;
}

.guideUnit__ttl-jp span {
  display: inline-block;
}

.guideUnit__step {
  display: flex;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step {
    flex-direction: column-reverse;
    gap: 1.6rem;
  }
}

.guideUnit__step:not(:last-of-type) {
  margin-bottom: 8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step:not(:last-of-type) {
    margin-bottom: 3.2rem;
  }
}

.guideUnit__step-image {
  width: 32rem;
  padding: 2rem;
  border-radius: 0.8rem;
  background-color: #FFF;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-image {
    width: 100%;
    padding: 1.6rem;
    border-radius: 0.6rem;
    background-color: #EEEEEE;
  }
}

.guideUnit__step-image img {
  width: 100%;
  height: auto;
  border-radius: 0.4rem;
}

.guideUnit__step-image__multiple {
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-image__multiple {
    gap: 1.6rem;
  }
}

.guideUnit__step-image__multiple .guideUnit__step-image-item {
  padding: 2rem;
  border-radius: 0.8rem;
  background-color: #FFF;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-image__multiple .guideUnit__step-image-item {
    padding: 1.6rem;
    border-radius: 0.6rem;
    background-color: #EEEEEE;
  }
}

.guideUnit__step-desc {
  flex: 1;
  padding-left: 4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-desc {
    width: 100%;
    gap: 1.6rem;
    padding-left: 0;
  }
}

.guideUnit__step-label {
  display: flex;
}

.guideUnit__step-label span:nth-of-type(1) {
  display: inline-flex;
  align-items: center;
  height: 2.8rem;
  border: 0.2rem solid #000;
  border-right: none;
  border-radius: 0.4rem 0 0 0.4rem;
  background-color: #FFF;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  padding: 0 0.4rem;
}

.guideUnit__step-label span:nth-of-type(2) {
  display: inline-flex;
  align-items: center;
  height: 2.8rem;
  border: 0.2rem solid #000;
  border-left: none;
  border-radius: 0 0.4rem 0.4rem 0;
  background-color: #000;
  color: #E1FF02;
  font-family: "Outfit";
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  padding: 0 0.4rem 0 0.6rem;
}

.guideUnit__step-txt01 {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-txt01 {
    gap: 0.8rem;
  }
}

.guideUnit__step-txt01 span {
  font-size: 1.6rem;
  background-color: #E1FF02;
  font-weight: 700;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-txt01 span {
    font-size: 1.5rem;
  }
}

.guideUnit__step-box01 {
  background-color: #FFF;
  border-radius: 0.8rem;
  padding: 1.6rem 1.2rem;
  margin-bottom: 0.8rem;
  width: 100%;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-box01 {
    padding: 1.2rem 1.5rem;
    border-radius: 0.6rem;
    background-color: #EEEEEE;
  }
}

.guideUnit__step-box01>span {
  display: inline-block;
  background-color: #000;
  color: #FFF;
  border-radius: 0.4rem;
  padding: 0 1rem;
  font-family: "Outfit";
  font-weight: 600;
  line-height: 1.5;
  font-size: 1.5rem;
  margin-bottom: 0.8rem;
}

.guideUnit__step-list01 {
  background-color: #FFF;
  border-radius: 0.8rem;
  padding: 1rem 2rem;
  width: 100%;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-list01 {
    background-color: #EEEEEE;
  }
}

.guideUnit__step-list01 li {
  display: flex;
  position: relative;
  padding: 0.6rem 0 0.6rem 1.4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-list01 li {
    flex-direction: column;
  }
}

.guideUnit__step-list01 li::before {
  content: "";
  display: block;
  background-color: #999999;
  border-radius: 50%;
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  top: 1.6rem;
  left: 0;
}

.guideUnit__step-list01 li:not(:last-of-type)::after {
  content: "";
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(to right, #D9D9D9 0px, #D9D9D9 3px, transparent 3px, transparent 6px);
  position: absolute;
  bottom: 0;
  left: 0;
}

.guideUnit__step-list01 li span:nth-of-type(1) {
  width: 22.8rem;
  padding-right: 2rem;
  font-weight: 700;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step-list01 li span:nth-of-type(1) {
    width: 100%;
    padding-right: 0;
  }
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideUnit__step .btnType02 {
    width: 100%;
  }
}

.guideAttention {
  position: relative;
  background-color: #FFF;
  border-radius: 2rem;
  max-width: 112rem;
  margin: 0 auto;
  padding: 4.8rem 5.6rem;
  display: flex;
  justify-content: space-between;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention {
    padding: 2rem 1.5rem;
    flex-direction: column;
    gap: 2rem;
  }
}

.guideAttention::before {
  content: "";
  display: block;
  background: url(../img/img_decoration01.png) no-repeat 0 0/cover;
  width: 16.2rem;
  height: 16.2rem;
  position: absolute;
  top: -4rem;
  left: -4rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention::before {
    display: none;
  }
}

.guideAttention::after {
  content: "";
  display: block;
  background: url(../img/img_decoration01.png) no-repeat 0 0/cover;
  width: 16.2rem;
  height: 16.2rem;
  position: absolute;
  bottom: -4rem;
  right: -4rem;
  transform: scale(-1, -1);
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention::after {
    display: none;
  }
}

.guideAttention__left {
  width: 49.6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention__left {
    width: 100%;
  }
}

.guideAttention__right {
  width: 48rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention__right {
    width: 100%;
  }
}

.guideAttention__ttl {
  line-height: 1;
  padding-bottom: 3.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention__ttl {
    padding-bottom: 2rem;
  }
}

.guideAttention__ttl-en {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #E1FF02;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #000;
}

.guideAttention__ttl-jp {
  font-weight: 700;
  font-size: 4.8rem;
  display: block;
  padding-top: 1.8rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention__ttl-jp {
    font-size: 3.2rem;
    padding-top: 1.2rem;
  }
}

.guideAttention__txt {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .guideAttention__txt {
    gap: 0.8rem;
  }
}

.guideAttention__image img {
  width: 100%;
  height: auto;
}

.guideAttention__note {
  padding-top: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.guideAttention__note p {
  display: flex;
  gap: 0.4rem;
}

.guideAttention__note p>span:nth-of-type(1) {
  font-size: 1.5rem;
}

.guideAttention__note p>span:nth-of-type(2)>span {
  font-weight: 700;
  background-color: #E1FF02;
  font-size: 1.5rem;
}

/* ------------------------------------------------------------

ニュース

------------------------------------------------------------ */
.news-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .news-list {
    gap: 1rem;
  }
}

.news-list .preparation {
  background-color: #FFF;
  padding: 1.2rem 5.2rem 1.2rem 2rem;
  color: #000;
  border-radius: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .news-list .preparation {
    padding: 0.8rem 5.2rem 0.8rem 1.6rem;
    border-radius: 1rem;
  }
}

.news-list a {
  position: relative;
  background-color: #FFF;
  padding: 1.2rem 5.2rem 1.2rem 2rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.6rem;
  color: #000;
  border-radius: 1.2rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .news-list a {
    padding: 0.8rem 5.2rem 0.8rem 1.6rem;
    border-radius: 1rem;
  }
}

.news-list__cat span {
  display: inline-block;
  font-family: "Outfit";
  font-weight: 500;
  font-size: 1.4rem;
  background-color: #000;
  color: #FFF;
  padding: 0 0.2rem 0 0.4rem;
  border-left: 0.4rem solid #E1FF02;
  line-height: 1.2;
}

.news-list time {
  color: #999999;
  font-family: "Outfit";
  font-weight: 600;
  font-size: 1.4rem;
  padding-top: 0.2rem;
}

.news-list__ttl {
  width: 100%;
  font-weight: 500;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.news-list__arrow {
  position: absolute;
  bottom: 1.3rem;
  right: 2rem;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  .news-list__arrow {
    bottom: 0.9rem;
  }
}

.news-list__arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #000;
  transition: transform 0.3s;
}

a:hover .news-list__arrow::before {
  transform: scale(1.2);
}

.news-list__arrow svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #E1FF02;
  transform: rotate(-90deg);
  transition: fill 0.3s;
}

@media screen and (orientation: portrait) and (max-width: 425px) {
  .main__news {
    display: flex;
    align-items: center;
}
      .main__txt {
        bottom: 0rem;
    }
  .main__txt img {
    width: 100%;
}
  .homePlan>p br {
    display: none;
}
  .planCard01 ul {
    list-style-type: disc;
    margin: 8px 0 0 20px;
    padding-left: 1.2em;
    list-style-position: unset;
    text-align: left;
    font-size: 100%;
}
  .main__news-btn a {
    display: flex;
    align-items: center;
    gap: 2rem;
    color: #FFF;
    background-color: #000;
    border-radius: 1.2rem;
    padding: 1.2rem 1.6rem 1.2rem 2.4rem;
    transition: background-color 0.3s;
    font-weight: 700;
    margin: 0;
}

}


/*# sourceMappingURL=style.css.map */