@charset "UTF-8";
/* リキッドレイアウト対応のための設定 */
/*  PCとSPの表示非表示の切り替え */
/*(md)px以上で表示*/
.pc-only {
  display: none;
}
@media screen and (min-width: 780px) {
  .pc-only {
    display: block;
  }
}

/*モバイルのみ表示*/
@media screen and (min-width: 780px) {
  .sp-only {
    display: none;
  }
}

/*画像の縦横比設定*/
img {
  width: 100%;
  height: auto;
  display: block;
}

/* aタグのスタイルリセット*/
a {
  text-decoration: none;
}

body {
  color: #1c1c1c;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
}

body {
  font-weight: 500;
}

p {
  line-height: 1.7;
  letter-spacing: -0.01rem;
}
@media screen and (min-width: 780px) {
  p {
    line-height: 2;
  }
}

p a {
  text-decoration: none;
  color: #2875e5;
}

p a:hover {
  text-decoration: underline;
}

span.inline {
  display: inline-block;
}

html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 780px) {
  html {
    font-size: 1.25vw;
  }
}
@media (min-width: 1280px) {
  html {
    font-size: 16px;
  }
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* Set core html defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/*addressタグのフォントリセット*/
address {
  font-style: normal;
}

/* むつ☆かつとは
***************************************************************/
.about__list {
  display: flex;
  flex-direction: column;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .about__list {
    margin-top: 6.25rem;
  }
}

.about__item {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  align-items: center;
  padding-block: 2.375rem;
  border-bottom: 5px dotted #707070;
}
@media screen and (min-width: 780px) {
  .about__item {
    flex-direction: row;
    gap: 0 5vw;
    justify-content: space-between;
    padding-block: 4.375rem;
  }
}

@media screen and (min-width: 780px) {
  .about__item:nth-child(even) {
    flex-direction: row-reverse;
  }
}

.about__textbox {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .about__textbox {
    width: 50%;
  }
}

.about__textbox-no {
  position: absolute;
  top: -1.875rem;
  right: 0rem;
  z-index: -1;
  font-size: 6.875rem;
  color: #fff;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.3125rem;
}
@media screen and (min-width: 780px) {
  .about__textbox-no {
    position: static;
    font-size: 14rem;
    margin-top: -2.5rem;
  }
}

.about__textbox h3 {
  color: #2875e5;
  font-size: 1.5rem;
  font-weight: 900;
  min-height: 4.0625rem;
}
@media screen and (min-width: 780px) {
  .about__textbox h3 {
    font-size: 2.125rem;
    min-height: unset;
  }
}

.about__img {
  width: 100%;
}
@media screen and (min-width: 780px) {
  .about__img {
    width: 50%;
  }
}

.about__img img {
  aspect-ratio: 350/256;
  border-radius: 1.25rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 780px) {
  .about__img img {
    aspect-ratio: 590/431;
  }
}

.about__copy {
  position: relative;
  background-color: #fff;
  border-radius: 1.875rem;
  padding-top: 5rem;
  padding-bottom: 5.625rem;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (min-width: 780px) {
  .about__copy {
    border-radius: 2.5rem;
    padding-bottom: 7.5rem;
    padding-top: 9.375rem;
  }
}

.about__copy::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/deco/treatB.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 163/51;
  top: -7%;
  left: 1.25rem;
  width: 10.1875rem;
}
@media screen and (min-width: 780px) {
  .about__copy::before {
    left: 4.375rem;
    width: 18.4375rem;
  }
}

.about__copy::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/deco/treatB.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 242/75;
  bottom: -7%;
  right: 1.25rem;
  width: 15.125rem;
}
@media screen and (min-width: 780px) {
  .about__copy::after {
    right: 5rem;
    width: 25.125rem;
  }
}

.about__copy-btn {
  margin-top: 2.0625rem;
}

/* マネージャーの募集について・応募方法 */
/* 指導者募集について・エントリーシート */
.apply {
  border-radius: 1.875rem;
  background-color: #fff;
  margin-block: 1.875rem;
}
@media screen and (min-width: 780px) {
  .apply {
    border-radius: 0;
    background-color: #f5f4ed;
    padding-block: 0;
    margin-block: 2.5rem;
  }
}

@media screen and (min-width: 780px) {
  .apply__cont {
    border-radius: 1.25rem;
    background-color: #fff;
    padding-block: 4.1875rem;
  }
}

.apply__text {
  margin-top: 0.625rem;
}
@media screen and (min-width: 780px) {
  .apply__text {
    text-align: center;
    margin-top: 1.6875rem;
    max-width: 44rem;
    margin-inline: auto;
    width: 100%;
  }
}

.apply__list {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  margin-top: 0rem;
}
@media screen and (min-width: 780px) {
  .apply__list {
    flex-direction: row;
    gap: 0;
    justify-content: center;
    margin-top: 3.125rem;
  }
}

.apply__item {
  border-top: 5px dotted #707070;
  padding-block: 1.5625rem 1.875rem;
}
@media screen and (min-width: 780px) {
  .apply__item {
    width: 29.5rem;
    max-width: 100%;
    border-top: none;
    border-left: 5px dotted #707070;
    padding-block: 0rem;
    padding-inline: 1.25rem;
  }
}

.apply__item:first-child {
  border: none;
}

.main-card .apply__subheading {
  font-size: 1.125rem;
  text-align: center;
  margin-top: 0;
}

.main-card .apply__subdesc {
  text-align: center;
}

.apply__dl-btn {
  margin-top: 1.25rem;
  text-align: center;
}

.main-card .apply__text02 {
  text-align: center;
  margin-top: 0rem;
}
@media screen and (min-width: 780px) {
  .main-card .apply__text02 {
    margin-top: 3.125rem;
  }
}

/** ！採用とならなかった方 **/
.apply__caution {
  margin-top: 3.125rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 780px) {
  .apply__caution {
    margin-top: 4.375rem;
  }
}

.apply__caution-item {
  display: flex;
  flex-direction: column;
  gap: 0.8125rem;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  border-radius: 1.25rem;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  padding-block: 1rem;
  padding-inline: 1.875rem;
}
@media screen and (min-width: 780px) {
  .apply__caution-item {
    flex-direction: row;
    gap: 2.6875rem;
    max-width: 49.375rem;
    width: 100%;
    margin-inline: auto;
  }
}

.apply__caution-img {
  flex-shrink: 0;
}

.apply__caution-img img {
  aspect-ratio: 10/47;
  height: 2.9375rem;
  width: 0.6875rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.apply__caution-text {
  color: #2875e5;
  font-weight: 400;
}
@media screen and (min-width: 780px) {
  .apply__caution-text {
    max-width: 41.625rem;
    width: 100%;
  }
}

/* トップページ・よくある質問 */
.benner-faq {
  padding-block: 3.125rem;
}
@media screen and (min-width: 780px) {
  .benner-faq {
    padding-block: 6.25rem 7.5rem;
  }
}

.benner-faq__link {
  display: inline-block;
  border-radius: 1.25rem;
  background-color: #fff;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
  text-align: center;
  padding-block: 1.625rem 4.375rem;
  max-width: 100%;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .benner-faq__link {
    padding-block: 3.5625rem 3.4375rem;
  }
}

.benner-faq__title {
  color: #1c1c1c;
  font-size: 1.5rem;
  font-weight: 900;
}

.benner-faq__text {
  color: #1c1c1c;
  font-size: 0.875rem;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 780px) {
  .benner-faq__text {
    font-size: 1rem;
  }
}

.benner-faq__link {
  position: relative;
}

.benner-faq__link::after {
  position: absolute;
  content: "";
  display: block;
  border: 1px solid #1c1c1c;
  border-radius: 9999px;
  width: 2.25rem;
  height: 2.25rem;
  right: 50%;
  transform: translateX(50%);
  top: 63%;
  transition: background-color 0.3s, border 0.3s;
}
@media screen and (min-width: 780px) {
  .benner-faq__link::after {
    top: 50%;
    transform: translateX(0);
    transform: translateY(-50%);
    right: 3rem;
  }
}

.benner-faq__link::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  width: 4px;
  height: 8px;
  top: 72%;
  right: 49%;
  transform: translateX(-50%);
  transition: background-image 0.3s;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .benner-faq__link::before {
    right: 3.9375rem;
    transform: translateX(0);
    top: 50%;
    transform: translateY(-50%);
  }
}

.benner-faq__link:hover::after {
  background-color: #2875e5;
  border: 1px solid #2875e5;
}

.benner-faq__link:hover::before {
  background-image: url(../images/icon/icon-arrowW.svg);
}

/* ボタン
***************************************************************/
/** ダウンロードボタン（青） **/
.btn-dl {
  display: flex;
  justify-content: center;
  width: 100%;
}

.btn-dl span {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 18.75rem;
  background-color: #2875e5;
  border-radius: 100vh;
  border: 1px solid #2875e5;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  padding-block: 0.9375rem;
  padding-inline: 2.1875rem 2.5rem;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (min-width: 780px) {
  .btn-dl span {
    max-width: 21.875rem;
    min-width: 15.625rem;
    padding-inline: 2.5rem 3.4375rem;
  }
}

.btn-dl span:hover {
  background-color: #1f5cb3;
  border: 1px solid #1f5cb3;
}

.btn-dl span::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  background-image: url(../images/icon/icon-dlW.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 1/1;
  width: 1rem;
  transition: background-image 0.3s;
}
@media screen and (min-width: 780px) {
  .btn-dl span::after {
    right: 1.5625rem;
  }
}

/** ダウンロードボタン（白）**/
.btn {
  display: flex;
  justify-content: center;
  width: 100%;
}

.btn span {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 18.75rem;
  background-color: #fff;
  border-radius: 100vh;
  border: 1px solid;
  color: #1c1c1c;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  padding-block: 0.9375rem;
  padding-inline: 2.1875rem 2.5rem;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (min-width: 780px) {
  .btn span {
    max-width: 21.875rem;
    min-width: 15.625rem;
    padding-inline: 2.5rem 3.4375rem;
  }
}

.btn span:hover {
  color: #fff;
  background-color: #2875e5;
}

.btn span::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  background-image: url(../images/icon/icon-dl.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 1/1;
  width: 1rem;
  transition: background-image 0.3s;
}
@media screen and (min-width: 780px) {
  .btn span::after {
    right: 1.5625rem;
  }
}

.btn span:hover::after {
  background-image: url(../images/icon/icon-dlW.webp);
}

/** 外部リンクボタン（青) **/
.btn--blue span {
  background-color: #2875e5;
  border: 1px solid #2875e5;
  color: #fff;
}

.btn--blue span:hover {
  background-color: #1f5cb3;
  border: 1px solid #1f5cb3;
}

.btn--blue.btn--open span {
  font-weight: 500;
}

.btn.btn--blue.btn--open span::after {
  background-image: url(../images/icon/icon-linkW.webp);
  width: 0.9375rem;
  height: 0.9375rem;
}

/** 外部リンクボタン（白) **/
.btn.btn--open span {
  font-weight: 500;
}

.btn.btn--open span::after {
  background-image: url(../images/icon/icon-link.webp);
  width: 0.9375rem;
  height: 0.9375rem;
}

.btn.btn--open span:hover::after {
  background-image: url(../images/icon/icon-linkW.webp);
}

/** 内部リンクボタン（白） **/
.btn__link span {
  position: relative;
  display: inline-block;
  max-width: 18.75rem;
  background-color: #fff;
  border-radius: 100vh;
  border: 1px solid;
  color: #1c1c1c;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  padding-block: 0.9375rem;
  padding-inline: 2.1875rem 3.125rem;
  transition: background-color 0.3s, color 0.3s, border 0.3s;
}
@media screen and (min-width: 780px) {
  .btn__link span {
    max-width: 21.875rem;
    font-size: 1rem;
    padding-inline: 2.5rem 3.4375rem;
  }
}

.btn__link span::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  background-image: url(../images/icon/icon-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  width: 0.375rem;
  transition: background-image 0.3s;
}
@media screen and (min-width: 780px) {
  .btn__link span::after {
    right: 1.5625rem;
  }
}

.btn__link span:hover {
  background-color: #2875e5;
  border: 1px solid #2875e5;
  color: #fff;
}

.btn__link span:hover::after {
  background-image: url(../images/icon/icon-arrowW.webp);
}

/** カテゴリー切替リンクボタン **/
.btn__link--cat span {
  min-width: 13.75rem;
  font-size: 1rem;
  padding-block: 0.625rem;
  padding-inline: 1.875rem;
}
@media screen and (min-width: 780px) {
  .btn__link--cat span {
    min-width: 16.25rem;
    font-size: 1rem;
    padding-block: 0.9375rem;
    padding-inline: 3.125rem;
  }
}

.btn__link--cat span::after {
  right: 0.9375rem;
  height: 0.8125rem;
  width: 0.375rem;
}
@media screen and (min-width: 780px) {
  .btn__link--cat span::after {
    right: 1.5625rem;
  }
}

/** お知らせ・現在のカテゴリーの色を変更 **/
.btn__link.active span {
  background-color: #2875e5;
  border: 1px solid #2875e5;
  color: #fff;
}

.btn__link.active span::after {
  background-image: url(../images/icon/icon-arrowW.webp);
}

/** 文字サイズ調整 **/
.btn-dl.btn-dl--small span {
  font-size: 1rem;
  padding-block: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .btn-dl.btn-dl--small span {
    font-size: 1rem;
  }
}

.btn.btn-dl--small span {
  font-size: 1rem;
  padding-block: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .btn.btn-dl--small span {
    font-size: 1rem;
  }
}

.btn.btn--small span {
  font-size: 1rem;
}
@media screen and (min-width: 780px) {
  .btn.btn--small span {
    font-size: 1rem;
  }
}

/* バスについて
***************************************************************/
.bus {
  overflow: clip;
}

.bus__body {
  position: relative;
  margin-block: 0rem 3.125rem;
}
@media screen and (min-width: 780px) {
  .bus__body {
    margin-block: 3.75rem 7.5rem;
  }
}

.bus__body::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(/wp-content/themes/mutsukatsu/images/under/about-logo.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 1280/142;
  top: -1.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
}
@media screen and (min-width: 780px) {
  .bus__body::after {
    top: -5rem;
    max-width: 85rem;
  }
}

.bus__intro-cont {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1;
  padding-block: 3.125rem;
}
@media screen and (min-width: 780px) {
  .bus__intro-cont {
    width: 61.25rem;
    padding-block: 8.75rem 6.25rem;
  }
}

.bus__intro-img img {
  aspect-ratio: 655/512;
  border-radius: 1.875rem;
}
@media screen and (min-width: 780px) {
  .bus__intro-img img {
    width: 40.9375rem;
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.bus__intro-textbox {
  max-width: 800px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 780px) {
  .bus__intro-textbox {
    margin-top: 0;
    width: 100%;
  }
}

.bus__intro-textbox h3 {
  font-size: 1.5625rem;
  font-weight: 900;
  text-align: center;
  color: #2875e5;
}
@media screen and (min-width: 780px) {
  .bus__intro-textbox h3 {
    font-size: 2.75rem;
  }
}

.bus__intro-text {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .bus__intro-text {
    margin-top: 2.5rem;
  }
}

.bus__intro-text:nth-child(2) {
  margin-top: 1rem;
}
@media screen and (min-width: 780px) {
  .bus__intro-text:nth-child(2) {
    margin-top: 2.6875rem;
  }
}

.bus__catch-btn {
  text-align: center;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .bus__catch-btn {
    text-align: left;
    margin-top: 2.5rem;
  }
}

/** バスキャッチシステム **/
.bus__catch-inner {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 780px) {
  .bus__catch-inner {
    display: flex;
    gap: 6.6875rem;
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 780px) {
  .bus__catch-block {
    width: 29.0625rem;
  }
}

.bus__catch-heading {
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 780px) {
  .bus__catch-heading {
    margin-bottom: 2.5rem;
  }
}

.bus__catch-textbox {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .bus__catch-textbox {
    margin-top: 1.875rem;
  }
}

.bus__catch-textbox h3 {
  color: #2875e5;
  font-size: 1.125rem;
  font-weight: 900;
  margin-bottom: 0.3125rem;
}
@media screen and (min-width: 780px) {
  .bus__catch-textbox h3 {
    font-size: 1.375rem;
    font-weight: 700;
    margin-bottom: 0.625rem;
  }
}

.bus__intro-text02 {
  font-size: 0.875rem;
  margin-top: 2.6875rem;
}

.bus__catch-img img {
  aspect-ratio: 656/431;
  border-radius: 1.25rem;
  width: 100%;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 780px) {
  .bus__catch-img img {
    width: 41rem;
  }
}

/** ICカード **/
.bus__ic {
  padding-top: 2.5rem;
  padding-bottom: 3.125rem;
  margin-top: 3.125rem;
}
@media screen and (min-width: 780px) {
  .bus__ic {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
    margin-top: 7.5rem;
  }
}

.bus__ic-heading {
  text-align: center;
}

.bus__ic-heading h3 {
  color: #2875e5;
  font-size: 1.125rem;
  font-weight: 900;
  line-height: 1.7;
}
@media screen and (min-width: 780px) {
  .bus__ic-heading h3 {
    font-size: 1.6875rem;
  }
}

.bus__ic-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  text-align: center;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .bus__ic-list {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
    margin-inline: auto;
    margin-top: 3.125rem;
    max-width: 61.25rem;
    width: 100%;
  }
}

.bus__ic-list p {
  font-size: 1.125rem;
  font-weight: 700;
}

.bus__ic-img img {
  aspect-ratio: 228/143;
  width: 18.75rem;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin-block: 0.625rem;
  margin-inline: auto;
}

.bus__ic-use {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  margin-top: 3.125rem;
}
@media screen and (min-width: 780px) {
  .bus__ic-use {
    gap: 1.875rem;
    margin-top: 4.0625rem;
  }
}

.bus__ic-use-item {
  text-align: center;
}
@media screen and (min-width: 780px) {
  .bus__ic-use-item {
    max-width: 48.4375rem;
    width: 100%;
  }
}

.bus__ic-use-heading {
  font-size: 1.125rem;
  font-weight: 700;
  background: #f5f4ed;
  border-radius: 100vh;
  padding-block: 0.4375rem;
  max-width: 34.375rem;
  margin-inline: auto;
}

.bus__ic-use-text {
  margin-top: 0.9375rem;
}

.bus__intro {
  padding-block: 1.875rem 3.125rem;
}
@media screen and (min-width: 780px) {
  .bus__intro {
    padding-block: 5rem;
  }
}

/** 案内文 **/
.bus__intro-card p {
  border-radius: 1.25rem;
  border: 2px solid #2875e5;
  color: #2875e5;
  font-size: 1.125rem;
  font-weight: 700;
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 780px) {
  .bus__intro-card p {
    padding-block: 0.9375rem;
    padding-inline: 1.875rem;
    border-radius: 9999px;
    text-align: center;
  }
}

/* 投稿・カテゴリー別のボタン*/
.category-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.9375rem;
  margin-block: -1.875rem 1.875rem;
}
@media screen and (min-width: 780px) {
  .category-buttons {
    justify-content: flex-start;
    gap: 0.625rem 1.25rem;
    margin-block: -1.875rem 3.125rem;
  }
}

/* クラブ紹介一覧・クラブについて
***************************************************************/
.club {
  padding-top: 7.1875rem;
  padding-bottom: 0 !important;
}
@media screen and (min-width: 780px) {
  .club {
    padding-top: 13.125rem;
  }
}

.club {
  overflow: clip;
}

.club__intro-cont {
  position: relative;
  margin-top: 3.125rem;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .club__intro-cont {
    margin-top: 10.25rem;
    width: 53.375rem;
  }
}

.club__intro-cont {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 780px) {
  .club__intro-cont {
    flex-direction: row-reverse;
    align-items: center;
    width: 84.4375rem;
    max-width: 100%;
    gap: 5rem;
  }
}

.club__intro-img img {
  border-radius: 1.25rem;
}
@media screen and (min-width: 780px) {
  .club__intro-img img {
    width: 40.9375rem;
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.club__intro-textbox {
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .club__intro-textbox {
    margin-top: 0;
    width: 37.625rem;
    max-width: 100%;
  }
}

.club__intro-textbox h3 {
  font-size: 1.5625rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .club__intro-textbox h3 {
    font-size: 2.75rem;
  }
}

.club__intro-text {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .club__intro-text {
    margin-top: 2.5rem;
  }
}

/** クラブ活動 **/
.club__activity {
  margin-top: 3rem;
}
@media screen and (min-width: 780px) {
  .club__activity {
    margin-top: 6.25rem;
  }
}

.club__activity-inner {
  border-radius: 2.5rem;
  background-color: #fff;
  padding-top: 2.6875rem;
  padding-bottom: 3.1875rem;
}
@media screen and (min-width: 780px) {
  .club__activity-inner {
    padding-top: 3.125rem;
    padding-bottom: 3.375rem;
  }
}
.club__activity-inner.inner {
  padding-inline: 2.5rem;
}
@media screen and (min-width: 780px) {
  .club__activity-inner.inner {
    padding-inline: 3.75rem;
  }
}

@media screen and (min-width: 780px) {
  .club__activity-textbox {
    display: flex;
    gap: 3.125rem;
  }
}

.club__activity-textbox02 {
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .club__activity-textbox02 {
    margin-top: 1.875rem;
  }
}

.club__activity-details {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 780px) {
  .club__activity-details {
    flex-direction: row;
    align-items: center;
    gap: 0.9375rem;
  }
}

.club__activity-details:nth-child(2) {
  margin-top: 1.4375rem;
}
@media screen and (min-width: 780px) {
  .club__activity-details:nth-child(2) {
    margin-top: 0rem;
  }
}

.club__activity-heading {
  border-radius: 9999px;
  background-color: #2875e5;
  color: #fff;
  font-size: 1rem;
  padding-inline: 0.9375rem;
  padding-block: 0.3125rem;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .club__activity-heading {
    font-size: 1.25rem;
    padding-inline: 1.25rem;
    padding-block: 0.4375rem;
    text-align: left;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.club__activity-subheading {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .club__activity-subheading {
    font-size: 1.375rem;
    text-align: left;
  }
}

.club__activity-subheading span {
  font-size: 1.875rem;
}

.club__activity-text {
  font-weight: 400;
  line-height: 2;
}

.club__activity-textbox03 {
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .club__activity-textbox03 {
    margin-top: 2.5rem;
  }
}

.club__activity-title {
  border-radius: 2.1875rem;
  color: #fff;
  background-color: #2875e5;
  font-size: 1rem;
  font-weight: 700;
  padding-inline: 0.9375rem;
  padding-block: 0.3125rem;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .club__activity-title {
    font-size: 1.25rem;
    padding-inline: 1.25rem;
    padding-block: 0.4375rem;
    text-align: left;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.club__activity-list {
  list-style: disc;
  line-height: 1.5;
  margin-left: 1.25rem;
}
.club__activity-list li {
  margin-bottom: 0.9375rem;
}

.club__activity-textbox03 .club__activity-text {
  margin-top: 1.875rem;
  font-weight: 500;
}
@media screen and (min-width: 780px) {
  .club__activity-textbox03 .club__activity-text {
    margin-top: 1.875rem;
  }
}

/** 一般クラブについて **/
.club__others {
  margin-top: 3.75rem;
  margin-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .club__others {
    margin-top: 8.125rem;
    margin-bottom: 9.375rem;
  }
}

.club__others-heading {
  position: relative;
}

.club__others-heading::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../images/deco/treat-fv.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 350/109;
  width: 21.875rem;
  z-index: -1;
}
@media screen and (min-width: 780px) {
  .club__others-heading::after {
    aspect-ratio: 979/300;
    width: 61.1875rem;
    top: 190%;
  }
}

.club__others-heading h2 {
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .club__others-heading h2 {
    font-size: 1.875rem;
  }
}

.club__others-textbox p {
  font-weight: 500;
  max-width: 61.25rem;
  margin-inline: auto;
  margin-top: 1.875rem;
}

/*クラブ紹介一覧・文化クラブ・スポーツクラブ
***************************************************************/
.club-list {
  position: relative;
  border-radius: 1.25rem;
  background-color: #fff;
  margin-top: 4.375rem;
  padding-top: 2.5rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .club-list {
    border-radius: 2.5rem;
    padding-top: 5rem;
    margin-top: 12.9375rem;
  }
}

.club-list__treat {
  position: absolute;
  display: block;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 900;
  top: -2.9375rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
@media screen and (min-width: 780px) {
  .club-list__treat {
    font-size: 9.875rem;
    top: -11.25rem;
  }
}

.club-list__category {
  font-size: 1.625rem;
  font-weight: 900;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .club-list__category {
    font-size: 4.375rem;
  }
}

.club-list__category-no {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  margin-top: 0.375rem;
}
@media screen and (min-width: 780px) {
  .club-list__category-no {
    font-size: 1.25rem;
    margin-top: 0.625rem;
  }
}

.club-list__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.9375rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .club-list__items {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem;
    margin-top: 3.125rem;
  }
}

.club-list__item {
  overflow: hidden;
  border-radius: 0.625rem;
  background-color: #fff;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 780px) {
  .club-list__item {
    border-radius: 1.25rem;
  }
}

.club-list__item-link {
  background-color: #fff;
  transition: transform 0.3s;
}

.club-list__item-img {
  border-radius: 0.625rem 0.625rem 0 0;
  transition: 0.3s;
}
@media screen and (min-width: 780px) {
  .club-list__item-img {
    border-radius: 1.25rem 1.25rem 0 0;
  }
}

.club-list__item-title {
  position: relative;
  border-radius: 0 0 0.625rem 0.625rem;
  color: #1c1c1c;
  background-color: #fff;
  font-size: 0.875rem;
  text-align: center;
  padding-top: 0.6875rem;
  padding-bottom: 0.75rem;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (min-width: 780px) {
  .club-list__item-title {
    font-size: 1rem;
    border-radius: 0 0 1.25rem 1.25rem;
  }
}

.club-list__item:hover .club-list__item-title {
  color: #fff;
  background-color: #2875e5;
}

.club-list__item:hover .club-list__item-img {
  transform: scale(1.2, 1.2);
}

/* サイドバー・
***************************************************************/
.club-list-sidebar__title {
  border-radius: 0.9375rem;
  background-color: #fff;
  border: 1px solid #1c1c1c;
  font-size: 1rem;
  text-align: center;
  padding-block: 0.75rem;
  max-width: 100%;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .club-list-sidebar__title {
    border-radius: 1.25rem;
    padding-block: 0.9375rem;
    font-size: 1.25rem;
  }
}

.club-list-sidebar__title:nth-child(3) {
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .club-list-sidebar__title:nth-child(3) {
    margin-top: 3.75rem;
  }
}

.club-list-sidebar__list {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .club-list-sidebar__list {
    margin-top: 2.5rem;
  }
}

.club-list-sidebar__item a {
  position: relative;
  display: block;
  border-radius: 1.25rem;
  color: #1c1c1c;
  font-size: 1rem;
  transition: background-color 0.3s, color 0.3s;
  line-height: 1.2;
  padding-block: 0.4375rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 780px) {
  .club-list-sidebar__item a {
    padding-block: 0.625rem;
  }
}

.club-list-sidebar__item a::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  width: 0.375rem;
  height: 0.8125rem;
}

.club-list-sidebar__item a:hover::after {
  background-image: url(../images/icon/icon-arrowW.png);
}

.club-list-sidebar__item a:hover {
  background-color: #2875e5;
  color: #fff;
}

/* 共通項目 背景色 */
body {
  background-color: #f5f4ed;
}

main {
  overflow: hidden;
}

/* 賛助会員募集について・募集内容 */
/** 賛助会員・協力企業 **/
.details {
  margin-block: 0rem 3.125rem;
}
@media screen and (min-width: 780px) {
  .details {
    margin-block: 0rem 7.5rem;
  }
}

.details__card {
  margin-top: 1.875rem;
}

.main-card .details__card-block {
  padding-block: 0rem;
  padding-inline: 0rem;
}
@media screen and (min-width: 780px) {
  .main-card .details__card-block {
    padding-block: 3.75rem;
    padding-inline: 3.75rem;
  }
}

.details__list {
  width: 100%;
  margin-top: 2.1875rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.1875rem;
}
@media screen and (min-width: 780px) {
  .details__list {
    flex-direction: row;
    justify-content: center;
    gap: 3.125rem;
    margin-top: 2.5rem;
  }
}

.details__item {
  width: 90%;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .details__item {
    max-width: 22.5rem;
    width: 100%;
  }
}

.details__item h3 {
  color: #2875e5;
  border: 2px solid #2875e5;
  border-radius: 100vh;
  font-size: 1rem;
  font-weight: 700;
  padding-block: 0.3125rem;
}
@media screen and (min-width: 780px) {
  .details__item h3 {
    font-size: 1.25rem;
    padding-block: 0.5rem;
  }
}

.details__item p {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .details__item p {
    margin-top: 1.875rem;
  }
}

.details__item p span {
  font-size: 2.0625rem;
  margin-left: 1rem;
}

.details__card-text {
  list-style: disc;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.5625rem;
  padding-left: 1.125rem;
}
@media screen and (min-width: 780px) {
  .details__card-text {
    max-width: 43.75rem;
    margin-inline: auto;
    margin-top: 2.5rem;
  }
}

.details__card-text li {
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .details__card-text li {
    font-size: 1.25rem;
  }
}

/** 賛助会員 **/
.details__card-heading p {
  text-align: center;
}

.details__card-heading p a {
  color: #2875e5;
}

.details__card-heading p a:hover {
  text-decoration: underline;
}

.details__card-name-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  place-content: center;
  justify-items: center;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .details__card-name-list {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 2.5rem;
  }
}

.details__card-name-list li {
  background-color: #fff;
  border-radius: 0.9375rem;
  font-size: 1rem;
  font-weight: 700;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
  padding-block: 0.9375rem;
  padding-inline: 0.625rem;
  min-width: 9.375rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .details__card-name-list li {
    font-size: 1.125rem;
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
    min-width: 15.625rem;
  }
}

/** 協力企業 **/
.details__card-company-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .details__card-company-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5625rem 2.5rem;
  }
}

.details__card-company-list li {
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .details__card-company-list li {
    font-size: 1.125rem;
  }
}

/* 指導者募集・エントリー*/
.entry {
  margin-block: 0rem 3.125rem;
}
@media screen and (min-width: 780px) {
  .entry {
    margin-block: 0rem 10rem;
  }
}

.entry__heading-cont p {
  font-size: 1rem;
  text-align: left;
  max-width: 60rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .entry__heading-cont p {
    margin-top: 3.125rem;
  }
}

/** エントリーフォームから提出 **/
.entry__form {
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .entry__form {
    margin-top: 3.125rem;
  }
}

.entry__form-btn {
  text-align: center;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .entry__form-btn {
    margin-top: 2.5rem;
  }
}

/* FAQ
***************************************************************/
.under-head.faq {
  padding-bottom: 3.6875rem;
}
@media screen and (min-width: 780px) {
  .under-head.faq {
    padding-bottom: 9.375rem;
  }
}

.faq__body {
  padding-block: 2.5rem 3.75rem;
  margin-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .faq__body {
    padding-block: 6.25rem;
    margin-bottom: 9.375rem;
  }
}

.faq__list {
  display: grid;
  grid-template-columns: ifr;
  gap: 1.9375rem;
  margin-top: 2.4375rem;
}
@media screen and (min-width: 780px) {
  .faq__list {
    gap: 2.625rem;
    margin-top: 4.9375rem;
  }
}

.faq__item {
  border-radius: 0.625rem;
  background-color: #fff;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 780px) {
  .faq__item {
    border-radius: 1.25rem;
  }
}

.faq__question {
  position: relative;
  border-radius: 0.625rem;
  background-color: #f5f5f5;
  cursor: pointer;
  font-weight: 700;
  padding-block: 1.25rem;
  padding-inline: 4.375rem 1.25rem;
  transition: all 0.3s ease;
}
@media screen and (min-width: 780px) {
  .faq__question {
    border-radius: 1.25rem;
    font-size: 1.25rem;
    padding-block: 2.1875rem;
    padding-inline: 7.5rem 3.125rem;
  }
}

.faq__question::before {
  position: absolute;
  content: "Q";
  display: grid;
  place-content: center;
  border-radius: 9999px;
  border: 1px solid;
  font-size: 1.0625rem;
  font-weight: 700;
  top: 50%;
  transform: translateY(-50%);
  left: 1.25rem;
  height: 2.5rem;
  width: 2.5rem;
}
@media screen and (min-width: 780px) {
  .faq__question::before {
    font-size: 1.375rem;
    left: 3.125rem;
    height: 3.125rem;
    width: 3.125rem;
  }
}

.faq__answer {
  display: none;
}

/**  **/
.faq__answer {
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}

.faq__item {
  overflow: hidden;
}

/**  **/
.faq__answer p {
  position: relative;
  border-radius: 0.625rem;
  font-weight: 500;
  padding-block: 1.25rem;
  padding-inline: 4.375rem 1.25rem;
}
@media screen and (min-width: 780px) {
  .faq__answer p {
    border-radius: 1.25rem;
    padding-block: 2.1875rem;
    padding-inline: 7.5rem 3.125rem;
  }
}

.faq__answer p::before {
  position: absolute;
  content: "A";
  display: grid;
  place-content: center;
  border-radius: 9999px;
  background-color: #2875e5;
  color: #fff;
  font-size: 1.0625rem;
  font-weight: 700;
  top: 1.375rem;
  left: 1.25rem;
  height: 2.5rem;
  width: 2.5rem;
}
@media screen and (min-width: 780px) {
  .faq__answer p::before {
    font-size: 1.375rem;
    top: 50%;
    transform: translateY(-50%);
    left: 3.125rem;
    height: 3.125rem;
    width: 3.125rem;
  }
}

/* フッターメニュー
***************************************************************/
.footer {
  background-color: #2875e5;
  border-radius: 1.875rem 1.875rem 0 0;
  padding-block: 4.5rem 3.0625rem;
}
@media screen and (min-width: 780px) {
  .footer {
    border-radius: 2.5rem 2.5rem 0 0;
  }
}

@media screen and (min-width: 780px) {
  .footer__inner {
    display: flex;
    justify-content: space-between;
  }
}

.footer__info-logo img {
  aspect-ratio: 215/110;
  width: 13.4375rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.footer__info-body {
  color: #fff;
  font-weight: 400;
  margin-top: 2.375rem;
}

.footer__heading-sub {
  font-size: 0.875rem;
  font-weight: 700;
}

.footer__heading {
  font-size: 2rem;
  font-weight: 900;
}

.footer__info-contact {
  margin-top: 0.8125rem;
}

address p {
  line-height: 1.875;
}

address a {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.05;
}

.footer__nav {
  display: none;
}
@media screen and (min-width: 780px) {
  .footer__nav {
    display: flex;
  }
}

.footer__nav-items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.footer__item a {
  color: #fff;
}

.footer__sub-text {
  color: #fff;
}

.footer__items {
  padding-left: 5rem;
}

.footer__sub-items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.footer__sub-link {
  margin-left: 1.25rem;
}

.footer__sub-link a {
  position: relative;
  color: #fff;
  font-weight: 500;
}

.footer__sub-link a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: -0.9375rem;
  width: 0.3125rem;
  height: 0.3125rem;
  background: rgba(255, 255, 255, 0.5019607843);
  border-radius: 100vh;
}

@media screen and (min-width: 780px) {
  .footer__sub-menu {
    display: flex;
    gap: 1.875rem;
    margin-top: 0.9375rem;
  }
}

.footer__copy {
  margin-top: 1.875rem;
  letter-spacing: 0.0625rem;
  opacity: 0.5;
}

.footer__copy.pc-only {
  text-align: right;
}

.footer__copy small {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05;
}

/* ファーストビュー
***************************************************************/
.fv {
  position: relative;
  background-color: #fff;
  border-radius: 0 0 1.875rem 1.875rem;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
  padding-top: 3.75rem;
  padding-bottom: 2.875rem;
  overflow: clip;
}
@media screen and (min-width: 780px) {
  .fv {
    padding-top: 7.8125rem;
    padding-bottom: 4.5rem;
  }
}

.fv__inner {
  position: relative;
}

.fv__heading {
  color: #2875e5;
  font-size: 11vw;
  line-height: 1.3;
  letter-spacing: -0.01em;
  font-weight: 900;
  padding-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .fv__heading {
    font-size: 8.75rem;
  }
}

.fv-subheading {
  position: relative;
  color: #2875e5;
  font-size: 2.375rem;
  font-weight: 900;
  text-transform: uppercase;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .fv-subheading {
    font-size: 6.1875rem;
  }
}

.fv__main {
  margin-top: -1.5625rem;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 780px) {
  .fv__main {
    margin-top: -4.375rem;
  }
}

.fv__item img {
  border-radius: 1.875rem;
  height: auto;
  width: 100%;
}

.fv__slider {
  /* スライダーをインナーからはみ出させる */
  width: 100vw !important;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 780px) {
  .fv__slider {
    width: 111vw !important;
  }
}

/* むつ☆かつとは？/むつ☆かつが目指す6つの姿 */
.goal {
  padding-block: 0rem 4.375rem;
}
@media screen and (min-width: 780px) {
  .goal {
    padding-block: 0rem 8.75rem;
  }
}

.goal__head-logo img {
  aspect-ratio: 1280/142;
  width: 100%;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.goal__head-heading {
  font-size: 1.25rem;
  font-weight: 900;
  text-align: center;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .goal__head-heading {
    font-size: 2.75rem;
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 780px) {
  .goal__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 5rem;
  }
}

.goal__card {
  padding: 0.3125rem 0rem 1.875rem;
  border-bottom: 5px dotted #707070;
}
@media screen and (min-width: 780px) {
  .goal__card {
    padding-inline: 2.5rem;
    padding-bottom: 3.125rem;
  }
}

@media screen and (min-width: 780px) {
  .goal__card:nth-child(2),
  .goal__card:nth-child(5) {
    border-left: 5px dotted #707070;
    border-right: 5px dotted #707070;
  }
}

@media screen and (min-width: 780px) {
  .goal__card:nth-child(4),
  .goal__card:nth-child(5),
  .goal__card:nth-child(6) {
    border-bottom: none;
  }
}

.goal__card-no {
  color: #fff;
  font-size: 7.5rem;
  letter-spacing: 0.3125rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .goal__card-no {
    font-size: 12.5rem;
  }
}

.goal__card-heading {
  color: #2875e5;
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
  margin-top: -5.3125rem;
}
@media screen and (min-width: 780px) {
  .goal__card-heading {
    font-size: 1.75rem;
    margin-top: -7.5rem;
  }
}

.goal__card-text {
  margin-top: 1.25rem;
  line-height: 2;
}
@media screen and (min-width: 780px) {
  .goal__card-text {
    margin-top: 3.125rem;
  }
}

/* ハンバーガーメニュー
***************************************************************/
.hamburger {
  position: relative;
  cursor: pointer;
  height: 1.625rem;
  width: 1.875rem;
  z-index: 9999;
}
@media screen and (min-width: 780px) {
  .hamburger {
    display: none;
  }
}

.hamburger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.125rem;
  border-radius: 0.125rem;
  background-color: #fff;
}

.hamburger,
.hamburger span {
  display: inline-block;
  transition: all 0.3s;
  box-sizing: border-box;
}
@media screen and (min-width: 780px) {
  .hamburger,
  .hamburger span {
    display: none;
  }
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  top: 12px;
}

.hamburger span:nth-child(3) {
  bottom: 0;
}

.hamburger.is-openSP span:nth-child(1) {
  transform: translateY(12px) rotate(-45deg);
}

.hamburger.is-openSP span:nth-child(2) {
  opacity: 0;
}

.hamburger.is-openSP span:nth-child(3) {
  transform: translateY(-11px) rotate(45deg);
}

/* ヘッダー
***************************************************************/
.header {
  border-radius: 0 0 1.875rem 1.875rem;
  background-color: #2875e5;
  position: fixed;
  top: 0;
  left: 0;
  height: 3.9375rem;
  width: 100%;
  z-index: 9998;
  transition: all 0.8s ease;
}
@media screen and (min-width: 780px) {
  .header {
    border-radius: 0 0 2.5rem 2.5rem;
    height: 6.25rem;
  }
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
}
.header__inner.inner {
  padding-right: 30px;
  padding-left: 30px;
}
@media screen and (min-width: 780px) {
  .header__inner.inner {
    padding-right: 40px;
    padding-left: 40px;
  }
}

.header__logo {
  height: inherit;
}

.header__logo-link {
  display: grid;
  place-items: center;
  height: inherit;
}

.header__logo-link img {
  aspect-ratio: 83/42;
  width: 5.1875rem;
}
@media screen and (min-width: 780px) {
  .header__logo-link img {
    aspect-ratio: 116/59;
    width: 7.25rem;
  }
}

.header__nav {
  display: none;
}
@media screen and (min-width: 780px) {
  .header__nav {
    height: inherit;
    display: flex;
  }
}

.header__nav-list {
  display: flex;
  gap: 2.5rem;
  height: inherit;
}

.header__nav-item {
  height: inherit;
}

.header__nav-link {
  display: grid;
  place-items: center;
  height: inherit;
  color: #fff;
  transition: 0.3s;
}

.header__nav-link:hover {
  opacity: 0.7;
}

.header__nav-link--nolink {
  cursor: default;
}

.header__nav-link--nolink:hover {
  opacity: 1;
}

.header__nav-btn {
  display: none;
}
@media screen and (min-width: 780px) {
  .header__nav-btn {
    display: grid;
    place-content: center;
    height: inherit;
    text-align: center;
  }
}

.header__nav-btn a span {
  position: relative;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 9999px;
  color: #333;
  font-size: 1rem;
  font-weight: 700;
  padding-right: 0.9375rem;
  padding-block: 1rem;
  padding-inline: 2.6875rem 3.3125rem;
  transition: background-color 0.3s, border 0.3s, color 0.3s;
}

.header__nav-btn a span::after {
  position: absolute;
  content: "";
  display: inline-block;
  background-image: url(../images/icon/icon-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  top: 53%;
  transform: translateY(-50%);
  right: 2.0625rem;
  width: 6px;
  transition: background-image 0.3s;
}

.header__nav-btn a span:hover {
  background-color: #1f5cb3;
  color: #fff;
  border: 1px solid #1f5cb3;
}

.header__nav-btn span:hover:after {
  background-image: url(../images/icon/icon-arrowW.webp);
}

/* ドロップダウンメニュー */
.header__nav-item--has-dropdown {
  position: relative;
  cursor: pointer;
}

/* ▼ リスト内リンク */
.header__dropdown li a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding-inline: 1.875rem;
  padding-block: 0.9375rem;
  transition: background-color 0.3s;
}

.header__dropdown li a:hover {
  background-color: #1f5cb3;
}

.header__dropdown li:last-child a:hover {
  border-radius: 0 0 0.3125rem 0.3125rem;
}

/* ▼ ホバー時に表示 */
.header__dropdown {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  border-radius: 0 0 0.3125rem 0.3125rem;
  top: 100%;
  left: -1.875rem;
  background-color: #2569cb;
  z-index: 1000;
  list-style: none;
  margin: 0;
  width: 18.75rem;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.header__nav-item--has-dropdown:hover .header__dropdown {
  opacity: 1;
  visibility: visible;
}

/* inner
***************************************************************/
.inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-inline: auto;
}
@media screen and (min-width: 780px) {
  .inner {
    max-width: 1360px;
    padding-right: 40px;
    padding-left: 40px;
  }
}

/* 保険について
***************************************************************/
.under-head.insurance {
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 780px) {
  .under-head.insurance {
    padding-bottom: 3.125rem;
  }
}

.insurance__subcont {
  margin-top: 3.125rem;
}
@media screen and (min-width: 780px) {
  .insurance__subcont {
    margin-top: 6.25rem;
  }
}

.insurance__subcont .under-head__heading-sub {
  text-align: center;
  font-size: 1.25rem;
}
@media screen and (min-width: 780px) {
  .insurance__subcont .under-head__heading-sub {
    font-size: 1.625rem;
  }
}

.insurance__subcont .insurance__subcont-text {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .insurance__subcont .insurance__subcont-text {
    margin-top: 2.5rem;
    max-width: 60rem;
    margin-inline: auto;
    width: 100%;
  }
}

.insurance__safety {
  margin-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .insurance__safety {
    margin-bottom: 6.25rem;
  }
}

.insurance__safety-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.0625rem;
}
@media screen and (min-width: 780px) {
  .insurance__safety-list {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 0;
  }
}

.insurance__safety-item {
  text-align: center;
}
@media screen and (min-width: 780px) {
  .insurance__safety-item {
    max-width: 100%;
    width: 26.25rem;
  }
}

.insurance__safety-item p {
  font-size: 1.125rem;
  font-weight: 700;
}

.insurance__safety-item {
  font-size: 1.125rem;
  font-weight: 700;
}

@media screen and (min-width: 780px) {
  .insurance__safety-item:nth-child(1) {
    border-right: 9px dotted #707070;
  }
}

.insurance__safety-btn {
  margin-top: 1.125rem;
}
@media screen and (min-width: 780px) {
  .insurance__safety-btn {
    margin-top: 0.9375rem;
  }
}

.insurance__safety02 {
  margin-bottom: 7rem;
}
@media screen and (min-width: 780px) {
  .insurance__safety02 {
    margin-bottom: 8.125rem;
  }
}

/* クラブの入会・変更・退会について
***************************************************************/
.under-head.join {
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 780px) {
  .under-head.join {
    padding-bottom: 8.125rem;
  }
}

.join__item {
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  background: #fff;
  margin-top: 3.125rem;
  margin-inline: calc(50% - 50vw);
  padding-block: 2.5rem;
  padding-inline: 1.25rem;
  border-radius: 1.875rem;
}
@media screen and (min-width: 780px) {
  .join__item {
    width: 100%;
    flex-direction: row;
    gap: 5rem;
    margin-top: 8.75rem;
    margin-inline: auto;
    padding-block: 3.75rem;
    padding-inline: 5rem;
  }
}

.join__img {
  aspect-ratio: 245/361;
  max-width: 95%;
  width: 21.875rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 780px) {
  .join__img {
    max-width: 100%;
  }
}

.join__textbox {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .join__textbox {
    width: auto;
    gap: 2.5rem;
  }
}

.join__textbox-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 780px) {
  .join__textbox-wrap {
    gap: 1.875rem;
  }
}

.join__intro-title {
  font-size: 1.875rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
  color: #2875e5;
}
@media screen and (min-width: 780px) {
  .join__intro-title {
    font-size: 3.125rem;
    text-align: left;
  }
}

.join__textbox-title {
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .join__textbox-title {
    font-size: 1.625rem;
    text-align: left;
  }
}

.join__textbox-desc {
  font-size: 1rem;
}
@media screen and (min-width: 780px) {
  .join__textbox-desc {
    font-size: 1.125rem;
  }
}

.join__dlbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.join__dl-btn {
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 780px) {
  .join__dl-btn .btn-dl {
    justify-content: flex-start;
  }
}

.join-change__card:last-of-type {
  margin-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .join-change__card:last-of-type {
    margin-bottom: 7.5rem;
  }
}

/** クラブの入会・変更・退会について・入会の方法 **/
.join-change {
  margin-top: 3.75rem;
}
@media screen and (min-width: 780px) {
  .join-change {
    margin-top: 8.125rem;
  }
}

.join-change__card {
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .join-change__card {
    margin-top: 3.75rem;
  }
}

.join-change__subheading-cont .subheading {
  text-align: center;
}

.join-change__subheading-cont p {
  font-weight: 500;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .join-change__subheading-cont p {
    text-align: left;
    margin-top: 3.75rem;
    margin-inline: auto;
    max-width: 100%;
    width: 60rem;
  }
}

.join-change__card-btncont {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .join-change__card-btncont {
    flex-direction: row;
    margin-top: 2.5rem;
  }
}

.join-change__card-btn {
  width: 100%;
}
@media screen and (min-width: 780px) {
  .join-change__card-btn {
    width: auto;
  }
}

.join-change__card-heading p {
  text-align: left;
}
@media screen and (min-width: 780px) {
  .join-change__card-heading p {
    text-align: center;
  }
}

.join-method__subheading-cont .subheading {
  text-align: center;
}

.join-method__text {
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .join-method__text {
    margin-top: 3.75rem;
  }
}

.join-method__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.1875rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .join-method__list {
    gap: 2.5rem;
    margin-inline: auto;
    max-width: 100%;
    width: 55.3125rem;
    margin-top: 3.75rem;
  }
}

.join-method__list::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #2875E5;
  top: 0;
  left: 35px;
  transform: translateX(-50%);
  height: 100%;
  width: 0.125rem;
}

.join-method__item {
  cursor: default;
  display: flex;
  gap: 1.25rem;
}
@media screen and (min-width: 780px) {
  .join-method__item {
    gap: 1.5625rem;
  }
}

@media screen and (min-width: 780px) {
  .join-method__item:not(:nth-child(4)) {
    align-items: center;
  }
}

.join-method__item-no {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border: 2px solid #2875e5;
  background: #fff;
  color: #2875e5;
  font-size: 0.9375rem;
  font-weight: 900;
  text-transform: uppercase;
  width: 4.375rem;
  height: 4.375rem;
}

/** 番号下の縦線 **/
/* ホバーで番号色の変更 */
.join-method__item .join-method__item-no {
  transition: color 0.3s, background-color 0.3s;
}

.join-method__item:hover .join-method__item-no {
  background-color: #2875e5;
  color: #fff;
}

.join-method__item-no span {
  display: inline-block;
  font-size: 2.1875rem;
  font-weight: 700;
  line-height: 1;
  margin-top: -0.4375rem;
}

.join-method__item-textbox {
  width: 15.875rem;
}
@media screen and (min-width: 780px) {
  .join-method__item-textbox {
    width: 46.1875rem;
    max-width: 100%;
  }
}

.join-method__item-text {
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .join-method__item-text {
    font-size: 1.125rem;
  }
}

.join-method__item-text span {
  color: #2875e5;
}

.join-method__text02 {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.625rem;
}

/* 指導者募集について
***************************************************************/
.under-head.leader {
  padding-block: 3.125rem;
}
@media screen and (min-width: 780px) {
  .under-head.leader {
    padding-block: 8.75rem 7.5rem;
  }
}

.leader__subheading-cont {
  margin-top: 2.5rem;
}
@media screen and (min-width: 780px) {
  .leader__subheading-cont {
    margin-top: 6.75rem;
  }
}

.leader__subheading {
  color: #2875e5;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .leader__subheading {
    font-size: 1.75rem;
  }
}

.leader__item {
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  background: #fff;
  margin-top: 1.25rem;
  margin-inline: calc(50% - 50vw);
  padding-block: 2.5rem;
  padding-inline: 1.25rem;
  border-radius: 1.875rem;
}
@media screen and (min-width: 780px) {
  .leader__item {
    width: 100%;
    flex-direction: row;
    gap: 5rem;
    margin-top: 3.75rem;
    margin-inline: auto;
    padding-block: 3.75rem;
    padding-inline: 5rem;
  }
}

.leader__img {
  aspect-ratio: 249/361;
  max-width: 95%;
  width: 21.875rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin-inline: auto;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 780px) {
  .leader__img {
    max-width: 100%;
  }
}

.leader__textbox {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .leader__textbox {
    width: auto;
    gap: 3.75rem;
  }
}

.leader__textbox-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 780px) {
  .leader__textbox-wrap {
    gap: 1.875rem;
  }
}

.leader__textbox-title {
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .leader__textbox-title {
    font-size: 1.625rem;
    text-align: left;
  }
}

.leader__textbox p {
  font-size: 1rem;
}
@media screen and (min-width: 780px) {
  .leader__textbox p {
    font-size: 1.125rem;
  }
}

.leader__dlbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.leader__dl-btn {
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 780px) {
  .leader__dl-btn .btn-dl {
    justify-content: flex-start;
  }
}

/** 指導者募集中のクラブ **/
.leader__cont {
  width: auto;
  margin-top: 3.75rem;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 780px) {
  .leader__cont {
    width: 100%;
    margin-top: 6.25rem;
    margin-inline: auto;
  }
}

.leader__cont-heading h3 {
  color: #2875e5;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .leader__cont-heading h3 {
    font-size: 1.75rem;
    text-align: left;
    margin-left: 2.5rem;
  }
}

.leader__cont-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
  background-color: #fff;
  border-radius: 1.875rem;
  padding-block: 1.875rem;
  padding-inline: 1.25rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .leader__cont-list {
    gap: 1.875rem;
    padding-block: 2.5rem;
    padding-inline: 3.125rem;
    margin-top: 1.25rem;
    width: 100%;
  }
}

.leader__cont-list::before {
  position: absolute;
  content: "WANTED.";
  display: block;
  color: #fff;
  font-size: 4.375rem;
  font-weight: 900;
  top: -5.1875rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (min-width: 780px) {
  .leader__cont-list::before {
    font-size: 7.5rem;
    top: -8.75rem;
    left: 0.625rem;
    transform: unset;
  }
}

.leader__cont-item h4 {
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .leader__cont-item h4 {
    font-size: 1.25rem;
  }
}

.leader__cont-item p {
  font-size: 1rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 780px) {
  .leader__cont-item p {
    margin-top: 0.9375rem;
  }
}

/* 下層共通白背景カード
***************************************************************/
.main-card {
  background-color: #fff;
  border-radius: 1.875rem;
  padding-block: 2.5rem 2.8125rem;
}
@media screen and (min-width: 780px) {
  .main-card {
    background-color: #f5f4ed;
    border-radius: 0;
    padding-block: 0;
  }
}

@media screen and (min-width: 780px) {
  .main-card__block {
    background-color: #fff;
    border-radius: 1.875rem;
    padding-block: 3.75rem 4.375rem;
    padding-inline: 1.875rem;
  }
}

.main-card__heading {
  text-align: center;
}

.main-card__heading h2 {
  color: #2875e5;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .main-card__heading h2 {
    font-size: 1.5rem;
  }
}

.main-card__heading p {
  font-weight: 500;
  margin-top: 0.9375rem;
  text-align: left;
}
@media screen and (min-width: 780px) {
  .main-card__heading p {
    margin-top: 1.25rem;
    text-align: center;
  }
}

.main-card__list {
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .main-card__list {
    margin-top: 3.5rem;
  }
}

/* マネージャーの募集について
***************************************************************/
.under-head.manager {
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 780px) {
  .under-head.manager {
    padding-bottom: 3.125rem;
  }
}

.manager__subcont {
  margin-top: 3.125rem;
}
@media screen and (min-width: 780px) {
  .manager__subcont {
    margin-top: 6.25rem;
  }
}

.manager__subcont .under-head__heading-sub {
  text-align: center;
  font-size: 1.25rem;
}
@media screen and (min-width: 780px) {
  .manager__subcont .under-head__heading-sub {
    font-size: 1.625rem;
  }
}

.manager__subcont .manager__subcont-text {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .manager__subcont .manager__subcont-text {
    margin-top: 2.5rem;
    max-width: 60rem;
    margin-inline: auto;
    width: 100%;
  }
}

.manager-entry {
  margin-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .manager-entry {
    margin-bottom: 6.25rem;
  }
}

/* 賛助会員募集について
***************************************************************/
.under-head.member-info {
  padding-block: 3.125rem;
}
@media screen and (min-width: 780px) {
  .under-head.member-info {
    padding-block: 8.75rem 7.5rem;
  }
}

.member-info__subheading-cont {
  margin-top: 2.5rem;
}
@media screen and (min-width: 780px) {
  .member-info__subheading-cont {
    margin-top: 6.75rem;
  }
}

.member-info__subheading {
  color: #2875e5;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .member-info__subheading {
    font-size: 1.75rem;
  }
}

.member-info__item {
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  background: #fff;
  margin-top: 1.25rem;
  margin-inline: calc(50% - 50vw);
  padding-block: 2.5rem;
  padding-inline: 1.25rem;
  border-radius: 1.875rem;
}
@media screen and (min-width: 780px) {
  .member-info__item {
    width: 100%;
    flex-direction: row;
    gap: 5rem;
    margin-top: 3.75rem;
    margin-inline: auto;
    padding-block: 3.75rem;
    padding-inline: 5rem;
  }
}

.member-info__img {
  aspect-ratio: 249/361;
  max-width: 95%;
  width: 21.875rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin-inline: auto;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 780px) {
  .member-info__img {
    max-width: 100%;
  }
}

.member-info__textbox {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .member-info__textbox {
    width: auto;
    gap: 3.75rem;
  }
}

.member-info__textbox-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 780px) {
  .member-info__textbox-wrap {
    gap: 1.875rem;
  }
}

.member-info__textbox-title {
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .member-info__textbox-title {
    font-size: 1.625rem;
    text-align: left;
  }
}

.member-info__textbox p {
  font-size: 1rem;
}
@media screen and (min-width: 780px) {
  .member-info__textbox p {
    font-size: 1.125rem;
  }
}

.member-info__dlbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.member-info__dl-btn {
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 780px) {
  .member-info__dl-btn .btn-dl {
    justify-content: flex-start;
  }
}

/* お知らせ詳細
***************************************************************/
.news {
  border-radius: 2.5rem;
  background-color: #fff;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
  padding-block: 3.75rem;
  margin-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .news {
    padding-block: 7.5rem;
    margin-bottom: 6.25rem;
    filter: none;
  }
}

@media screen and (min-width: 780px) {
  .news__inner {
    display: flex;
    gap: 5.3125rem;
  }
}

@media screen and (min-width: 780px) {
  .news__body {
    width: 50.625rem;
    max-width: 100%;
  }
}

.news__title {
  border-bottom: 1px solid #ddd;
  font-size: 1.25rem;
  line-height: 1.7;
  font-weight: 700;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 780px) {
  .news__title {
    font-size: 1.625rem;
    padding-bottom: 1.875rem;
  }
}

.news__meta {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .news__meta {
    gap: 0.9375rem;
    margin-bottom: 1.25rem;
  }
}

.news__date {
  font-size: 1rem;
  font-weight: 700;
  flex-shrink: 0;
}
@media screen and (min-width: 780px) {
  .news__date {
    font-size: 1.125rem;
  }
}

.news__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.news__categories a {
  border-radius: 9999px;
  border: 1px solid #1c1c1c;
  background-color: #fff;
  color: #1c1c1c;
  font-size: 0.6875rem;
  padding-inline: 0.75rem;
  padding-block: 0.0625rem;
}
@media screen and (min-width: 780px) {
  .news__categories a {
    font-size: 0.875rem;
    padding-inline: 0.875rem;
    padding-block: 0rem;
  }
}

.news__thumbnail img {
  aspect-ratio: 350/210;
  border-radius: 0.625rem;
  max-width: 100%;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .news__thumbnail img {
    margin-inline: auto;
    width: 50.625rem;
  }
}

.news__content {
  margin-top: 1.25rem;
  line-height: 2;
  text-align: left;
}
@media screen and (min-width: 780px) {
  .news__content {
    margin-top: 1.875rem;
  }
}

.news__additional-content {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .news__additional-content {
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 2.5rem;
  }
}

/** ページネーション **/
.news__pagination {
  display: block;
  margin-top: 3.125rem;
}
@media screen and (min-width: 780px) {
  .news__pagination {
    margin-top: 6.25rem;
  }
}

.news__pagination-links {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 780px) {
  .news__pagination-links {
    justify-content: center;
    gap: 5.0625rem;
  }
}

/** ページネーションの文字 **/
.news__pagination-text {
  display: none;
}
@media screen and (min-width: 780px) {
  .news__pagination-text {
    flex-shrink: 0;
    display: inline-block;
    color: #1c1c1c;
    font-size: 1.125rem;
    font-weight: 900;
  }
}

/** ページネーション画像 **/
/* 前へ矢印 */
.news__pagination-prev a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  gap: 0.8125rem;
}

.news__pagination-prev a .arrow-icon {
  flex-shrink: 0;
  display: inline-block;
  border-radius: 9999px;
  border: 1px solid;
  color: #1c1c1c;
  display: grid;
  place-content: center;
  line-height: -2;
  font-size: 1.875rem;
  font-weight: 300;
  padding-bottom: 0.4375rem;
  height: 3.6875rem;
  width: 3.6875rem;
  padding: 0;
  transition: background-color 0.3s, border 0.3s, color 0.3s;
}

.news__pagination-prev a:hover .arrow-icon {
  background-color: #2875e5;
  border: 1px solid #0045ff;
  color: #fff;
}

/* 次へ矢印も同様に */
.news__pagination-next a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8125rem;
}

.news__pagination-next a .arrow-icon {
  flex-shrink: 0;
  display: inline-block;
  border-radius: 9999px;
  border: 1px solid;
  color: #1c1c1c;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: -2;
  font-size: 1.875rem;
  font-weight: 300;
  padding-bottom: 0.4375rem;
  height: 3.6875rem;
  width: 3.6875rem;
  padding: 0;
  transition: background-color 0.3s, border 0.3s, color 0.3s;
}

.news__pagination-next a:hover .arrow-icon {
  background-color: #2875e5;
  border: 1px solid #0045ff;
  color: #fff;
}

/** 一覧に戻る **/
.news__pagination-archive a {
  position: relative;
  border: 1px solid #1c1c1c;
  border-radius: 100vh;
  padding-block: 0.75rem;
  padding-inline: 2.5rem 1.875rem;
  color: #1c1c1c;
  line-height: 1;
  font-size: 0.875rem;
  transition: 0.3s;
}

.news__pagination-archive a:before {
  position: absolute;
  content: "";
  display: inline-block;
  background-image: url(../images/icon/icon-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  top: 53%;
  transform: translateY(-50%) rotate(180deg);
  left: 1.5625rem;
  width: 0.3125rem;
  transition: background-image 0.3s;
}

.news__pagination-archive a:hover {
  background: #2875e5;
  border: 1px solid #2875e5;
  color: #fff;
}

.news__pagination-archive a:hover:before {
  background-image: url(../images/icon/icon-arrowW.webp);
}

/* カスタム投稿・クラブ詳細
***************************************************************/
/** クラブからのお知らせ・3件 **/
.news-section {
  border-radius: 1.25rem;
  margin-top: 1.875rem;
  background-color: #f5f5f5;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 780px) {
  .news-section {
    margin-inline: 0;
    margin-top: 3.75rem;
    padding-left: 3.125rem;
    padding-right: 3.125rem;
    padding-top: 3.125rem;
    padding-bottom: 3.75rem;
  }
}

.news-section h2 {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .news-section h2 {
    font-size: 1.625rem;
  }
}

.news-section__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .news-section__list {
    gap: 3.125rem;
    margin-top: 3.125rem;
  }
}

.news-section__link {
  position: relative;
  display: flex;
  flex-direction: column;
  color: #1c1c1c;
  padding-bottom: 0rem;
}
@media screen and (min-width: 780px) {
  .news-section__link {
    padding-right: 5rem;
  }
}

.news-section__link::after {
  position: absolute;
  content: "";
  display: inline-block;
  background-image: url(../images/icon/slider-arrowR.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 1/1;
  top: 50%;
  translate: 0 -50%;
  right: 0;
  height: 2.5rem;
  width: 2.5rem;
}
@media screen and (min-width: 780px) {
  .news-section__link::after {
    height: 3.125rem;
    width: 3.125rem;
  }
}

.news-section__link:hover::after {
  background-image: url(../images/icon/slider-arrowR-B.svg);
}

.news-section__meta {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 780px) {
  .news-section__meta {
    gap: 0.9375rem;
  }
}

.news-section__date {
  font-size: 1.125rem;
}

.news-section__categorys {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
}

.news-section__category {
  border-radius: 9999px;
  border: 1px solid #1c1c1c;
  background-color: #fff;
  font-size: 0.6875rem;
  padding-inline: 0.75rem;
  padding-block: 0.0625rem;
}
@media screen and (min-width: 780px) {
  .news-section__category {
    font-size: 0.875rem;
    padding-inline: 0.875rem;
    padding-block: 0rem;
  }
}

.news-section__title {
  font-size: 1rem;
  font-weight: 700;
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.8125rem;
  margin-right: 3.125rem;
}
@media screen and (min-width: 780px) {
  .news-section__title {
    margin-right: 0rem;
    font-size: 1.125rem;
  }
}

.news-section__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 0.8125rem;
  margin-right: 3.125rem;
}
@media screen and (min-width: 780px) {
  .news-section__excerpt {
    margin-top: 0.9375rem;
    margin-right: 0rem;
  }
}

/* カスタム投稿・クラブ紹介詳細
***************************************************************/
.page-post {
  background-color: #fff;
  border-radius: 1.875rem;
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  overflow: clip;
  margin-bottom: 3.125rem;
  margin-top: -1.875rem;
}
@media screen and (min-width: 780px) {
  .page-post {
    padding-top: 7.5rem;
    padding-bottom: 10rem;
    margin-bottom: 6.25rem;
  }
}

.page-post__inner {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 780px) {
  .page-post__inner {
    flex-direction: row;
    gap: 5.3125rem;
  }
}

@media screen and (min-width: 780px) {
  .page-post__block {
    max-width: 50.625rem;
    width: 100%;
  }
}

.page-post__meta {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 10px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.625rem;
}
@media screen and (min-width: 780px) {
  .page-post__meta {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0.9375rem;
  }
}

.page-post__heading h2 {
  font-size: 1.5rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .page-post__heading h2 {
    font-size: 2.25rem;
  }
}

.page-post__club-type {
  border-radius: 9999px;
  border: 1px solid #1c1c1c;
  font-size: 0.875rem;
  font-weight: 400;
  padding-inline: 0.875rem;
}

.page-post__catch {
  font-size: 1rem;
  font-weight: 900;
  margin-top: 0.6875rem;
}
@media screen and (min-width: 780px) {
  .page-post__catch {
    font-size: 1.5rem;
    margin-top: 1.375rem;
  }
}

/** スライダー **/
.page-post__slider {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 780px) {
  .page-post__slider {
    margin-top: 2rem;
  }
}

.page-post__item-image img {
  border-radius: 1.25rem;
}

/** スライダー・クラブ詳細の矢印 **/
.page-post__slider-block {
  position: relative;
}

.page-post__slider-arrows {
  position: absolute;
  bottom: -3.75rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  max-width: 50%;
  width: 100%;
  height: 2.25rem;
  z-index: 20;
}
@media screen and (min-width: 780px) {
  .page-post__slider-arrows {
    bottom: -5.625rem;
    height: 3.75rem;
  }
}

.page-post__slider-arrows {
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 780px) {
  .page-post__slider-arrows {
    max-width: 70%;
  }
}

.page-post__slider-arrows .splide__arrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  cursor: pointer;
}
@media screen and (min-width: 780px) {
  .page-post__slider-arrows .splide__arrow {
    width: 3.75rem;
    height: 3.75rem;
  }
}

/** スライダー・クラブ詳細のページネーション **/
.page-post__slider .splide__pagination {
  position: absolute;
  bottom: -3rem;
}
@media screen and (min-width: 780px) {
  .page-post__slider .splide__pagination {
    bottom: -4.0625rem;
  }
}

.page-post__slider .splide__pagination__page {
  background-color: #cccccc;
}

.page-post__slider .splide__pagination__page.is-active {
  background-color: #707070;
}

/** 紹介文 **/
.page-post__introduction {
  margin-top: 5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (min-width: 780px) {
  .page-post__introduction {
    margin-top: 7.5rem;
  }
}

/** クラブについて **/
.page-post__detail {
  margin-top: 2.5rem;
}
@media screen and (min-width: 780px) {
  .page-post__detail {
    margin-top: 3.75rem;
  }
}

.page-post__detail-title h3 {
  border-radius: 0.9375rem;
  border: 2px solid #2875e5;
  color: #2875e5;
  font-size: 1rem;
  padding-inline: 0.9375rem;
  padding-block: 0.75rem;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .page-post__detail-title h3 {
    font-size: 1.25rem;
    padding-inline: 1.25rem;
    padding-block: 0.9375rem;
  }
}

.page-post__list {
  display: grid;
  grid-template-columns: 30% 1fr;
  width: 100%;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 780px) {
  .page-post__list {
    grid-template-columns: 20% 1fr;
    margin-top: 1.25rem;
  }
}

.page-post__list dt,
.page-post__list dd {
  box-sizing: border-box;
}

.page-post__list dt {
  display: flex;
  align-items: flex-start;
  font-weight: 700;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-right: 0.9375rem;
  width: 100%;
  border-bottom: 1px solid #ccc;
}
@media screen and (min-width: 780px) {
  .page-post__list dt {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}

.page-post__list dd {
  display: flex;
  align-items: center;
  margin-left: 0;
  font-weight: 500;
  border-bottom: 1px solid #ccc;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .page-post__list dd {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}

/** 市内一般クラブの紹介 **/
.page-post__other {
  border-radius: 1.25rem;
  margin-top: 2.5rem;
  border-radius: 1.25rem;
  background-color: #f5f5f5;
  padding-block: 1.875rem;
  margin-inline: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
@media screen and (min-width: 780px) {
  .page-post__other {
    margin-top: 5rem;
    margin-inline: 0;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 1.875rem;
  }
}

.page-post__other-title {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 780px) {
  .page-post__other-title {
    font-size: 1.375rem;
    margin-bottom: 0rem;
  }
}

.page-post__other-body {
  border-radius: 0.3125rem;
  padding-inline: 1.25rem;
  padding-block: 1.25rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 780px) {
  .page-post__other-body {
    margin-top: 1.875rem;
  }
}

.page-post__other-clubs {
  border-bottom: 1px solid #dddddd;
  font-size: 1.125rem;
  font-weight: 700;
  padding-bottom: 0.75rem;
  margin-bottom: 0.3125rem;
}

.page-post__other-name {
  display: grid;
  justify-items: start;
  grid-template-columns: 4.375rem 1fr;
  gap: 0.625rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .page-post__other-name {
    grid-template-columns: 5rem 1fr;
  }
}

.page-post__other-tel {
  display: grid;
  justify-items: start;
  grid-template-columns: 4.375rem 1fr;
  gap: 0.625rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .page-post__other-tel {
    grid-template-columns: 5rem 1fr;
  }
}

.page-post__other-label {
  display: inline-block;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  background-color: #2875e5;
  border-radius: 9999px;
  color: #fff;
  font-size: 0.875rem;
  text-align: center;
  padding-top: 0.0625rem;
  padding-inline: 0.75rem;
}

.page-post__other-value {
  font-size: 1rem;
  text-align: left;
  font-weight: 500;
}

/** サイドバー **/
.page-post__sidebar {
  width: 100%;
  margin-top: 3.75rem;
}
@media screen and (min-width: 780px) {
  .page-post__sidebar {
    width: 24rem;
    margin-top: 0rem;
  }
}

/* ページネーション
***************************************************************/
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .pagination {
    gap: 1.875rem;
  }
}

/** 画像 **/
.pagination .prev.page-numbers {
  position: relative;
}

.pagination .prev.page-numbers::after {
  position: absolute;
  content: "";
  display: block;
  border: 1px solid #1c1c1c;
  border-radius: 9999px;
  width: 2.5rem;
  height: 2.5rem;
  left: -2.5rem;
  top: 50%;
  transform: translateY(-50%);
  transition: background-color 0.3s, border 0.3s;
}
@media screen and (min-width: 780px) {
  .pagination .prev.page-numbers::after {
    width: 3.125rem;
    height: 3.125rem;
    left: -4.6875rem;
  }
}

.pagination .prev.page-numbers:hover::after {
  background-color: #2875e5;
  border: 1px solid #2875e5;
}

.pagination .prev.page-numbers::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  width: 7px;
  height: 13px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  left: -1.5625rem;
  transition: background-image 0.3s;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .pagination .prev.page-numbers::before {
    left: -3.3125rem;
  }
}

.pagination .prev.page-numbers:hover::before {
  background-image: url(../images/icon/icon-arrowW.svg);
}

.pagination .next.page-numbers {
  position: relative;
}

.pagination .next.page-numbers::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  width: 7px;
  height: 13px;
  right: -1.5625rem;
  top: 0;
  transform: translateY(-50%);
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 780px) {
  .pagination .next.page-numbers::after {
    right: -3.375rem;
  }
}

.pagination .next.page-numbers:hover::after {
  background-image: url(../images/icon/icon-arrowW.svg);
}

.pagination .next.page-numbers::before {
  position: absolute;
  content: "";
  display: block;
  border: 1px solid #1c1c1c;
  border-radius: 9999px;
  width: 2.5rem;
  height: 2.5rem;
  right: -2.5rem;
  top: 50%;
  transform: translateY(-50%);
  transition: background-color 0.3s, border 0.3s;
}
@media screen and (min-width: 780px) {
  .pagination .next.page-numbers::before {
    width: 3.125rem;
    height: 3.125rem;
    right: -4.6875rem;
  }
}

.pagination .next.page-numbers:hover::before {
  background-color: #2875e5;
}

/** 文字 **/
.page-numbers {
  color: #1c1c1c;
  font-weight: 400;
}

.page-numbers.current {
  border-bottom: 1px solid #1c1c1c;
  font-weight: 400;
}

/* 投稿
***************************************************************/
/** タイトル **/
/** 詳細 **/
.post__body {
  overflow: clip;
  padding-block: 0rem 3.125rem;
}
@media screen and (min-width: 780px) {
  .post__body {
    padding-block: 0rem 6.25rem;
  }
}

.post__body-cont {
  border-radius: 2.5rem 0 0 2.5rem;
  padding-block: 3.125rem;
  background-color: #fff;
  margin-right: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
}
@media screen and (min-width: 780px) {
  .post__body-cont {
    padding-left: 5.625rem;
    padding-block: 5.625rem 6.25rem;
  }
}

/* お知らせ投稿 */
.post-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 780px) {
  .post-list {
    gap: 3.125rem;
  }
}

.post-list__item-link {
  position: relative;
  display: flex;
  flex-direction: column;
  color: #1c1c1c;
  padding-left: 1.875rem;
  padding-right: 3.125rem;
  padding-bottom: 0rem;
}
@media screen and (min-width: 780px) {
  .post-list__item-link {
    padding-left: 0rem;
    padding-right: 8.75rem;
  }
}

.post-list__item-link::after {
  position: absolute;
  content: "";
  display: block;
  border: 1px solid #1c1c1c;
  border-radius: 9999px;
  width: 2.5rem;
  height: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
  bottom: 0;
  right: 0;
  transition: background-color 0.3s, border 0.3s;
}
@media screen and (min-width: 780px) {
  .post-list__item-link::after {
    right: 2.375rem;
    width: 3.75rem;
    height: 3.75rem;
  }
}

.post-list__item-link::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  width: 6px;
  height: 13px;
  top: 50%;
  transform: translateY(-50%);
  bottom: 1.4375rem;
  right: 1rem;
  transition: background-image 0.3s;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .post-list__item-link::before {
    right: 3.875rem;
  }
}

.post-list__item-link:hover::after {
  background-color: #2875e5;
  border: 1px solid #2875e5;
}

.post-list__item-link:hover::before {
  background-image: url(../images/icon/icon-arrowW.svg);
}

.post-list__thumbnail {
  flex-shrink: 0;
}

.post-list__thumbnail img {
  aspect-ratio: 286/203;
  border-radius: 0.625rem;
  width: 17.875rem;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.post-list__info {
  width: 100%;
}

.post-list__meta {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 780px) {
  .post-list__meta {
    align-items: flex-start;
    gap: 1.25rem;
  }
}

.post-list__date {
  font-size: 1.125rem;
}

.post-list__categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
}

.post-list__categories span {
  border-radius: 9999px;
  border: 1px solid #1c1c1c;
  background-color: #fff;
  font-size: 0.6875rem;
  padding-inline: 0.75rem;
  padding-block: 0.0625rem;
}
@media screen and (min-width: 780px) {
  .post-list__categories span {
    font-size: 0.875rem;
    padding-inline: 0.875rem;
    padding-block: 0rem;
  }
}

.post-list__title-block {
  border-bottom: 1px solid #ddd;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 780px) {
  .post-list__title-block {
    padding-bottom: 1.0625rem;
  }
}

.post-list__title {
  font-size: 1rem;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (min-width: 780px) {
  .post-list__title {
    font-size: 1.375rem;
    margin-top: 1.5rem;
    -webkit-line-clamp: 1;
  }
}

@media screen and (min-width: 780px) {
  .post-list__excerpt-block {
    margin-top: 1.0625rem;
  }
}

.post-list__excerpt {
  font-size: 0.875rem;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (min-width: 780px) {
  .post-list__excerpt {
    font-size: 1rem;
  }
}

/* Top・むつかつとは
***************************************************************/
.sec-about {
  padding-top: 4rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 780px) {
  .sec-about {
    position: relative;
    padding-top: 8.125rem;
    padding-bottom: 13.75rem;
  }
}

.sec-about__heading {
  position: relative;
  z-index: 1;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .sec-about__heading {
    text-align: left;
  }
}

.sec-about__heading::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/deco/treat-fv.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 279/87;
  top: -1.25rem;
  width: 17.4375rem;
  z-index: -1;
  left: 50%;
  translate: -50% 0;
}
@media screen and (min-width: 780px) {
  .sec-about__heading::after {
    top: -5rem;
    left: 2.5rem;
    width: 63.125rem;
    translate: 0 0;
  }
}

.sec-about__treat {
  position: absolute;
  color: #fff;
  font-size: 3.75rem;
  font-weight: 900;
  line-height: 1.5;
  top: 40%;
  right: 8.5rem;
}

.sec-about__heading h2 {
  font-size: 1.625rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .sec-about__heading h2 {
    font-size: 4.375rem;
  }
}

.sec-about__body {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-top: 3.125rem;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (min-width: 780px) {
  .sec-about__body {
    position: relative;
    margin-top: 9.75rem;
    gap: 2.5rem;
    max-width: 100%;
    width: 44.9375rem;
    z-index: 1;
  }
}

.sec-about__text {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (min-width: 780px) {
  .sec-about__text {
    font-size: 1.125rem;
    line-height: 2.3;
  }
}

.sec-about__btn {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .sec-about__btn {
    margin-top: 5rem;
    text-align: left;
  }
}

/* Top・クラブやってみよ
***************************************************************/
.sec-approach {
  background-image: url(../images/club-bg.webp);
  background-repeat: no-repeat;
  background-position: 90%;
  background-size: cover;
  margin-top: -1.875rem;
  padding-block: 9rem 11.25rem;
}
@media screen and (min-width: 780px) {
  .sec-approach {
    padding-block: 24.0625rem 20.6875rem;
  }
}

.sec-approach__heading {
  color: #fff;
  font-size: 2.25rem;
  font-weight: 900;
  letter-spacing: -0.07em;
  text-align: center;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 780px) {
  .sec-approach__heading {
    font-size: 5rem;
    text-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
  }
}

.sec-approach__btn {
  text-align: center;
  margin-top: 3.125rem;
}

/* クラブ紹介
***************************************************************/
.sec-club {
  position: relative;
  border-radius: 1.875rem;
  background-color: #fff;
  margin-top: -1.875rem;
  padding-top: 2.5625rem;
  padding-bottom: 3.5625rem;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .sec-club {
    border-radius: 2.5rem;
    padding-top: 5.3125rem;
    padding-bottom: 2.625rem;
  }
}

.sec-club.sec-club--01::before {
  position: absolute;
  content: "CULTURAL CLUBS";
  display: block;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 900;
  top: -2.9375rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  z-index: 0;
}
@media screen and (min-width: 780px) {
  .sec-club.sec-club--01::before {
    font-size: 9.875rem;
    top: -11.25rem;
  }
}

@media screen and (min-width: 780px) {
  .sec-club__title-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

.sec-club__title {
  font-size: 1.625rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .sec-club__title {
    font-size: 4.375rem;
    text-align: left;
  }
}

.sec-club__title span {
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 780px) {
  .sec-club__title span {
    font-size: 1.25rem;
  }
}

.sec-club__link-block {
  margin-top: 1.25rem;
  min-width: 100%;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .sec-club__link-block {
    margin-top: 0rem;
    min-width: 30%;
    text-align: right;
  }
}

/** スライダー **/
/** 文化クラブ **/
@media screen and (min-width: 780px) {
  .sec-club__slider01 {
    margin-top: 3.625rem;
  }
}

/** スライダー画像・文化スポーツ共通 **/
.sec-club__item-image {
  overflow: hidden;
  border-radius: 1.25rem 1.25rem 0 0;
}

.sec-club__item-image img {
  transition: transform 1s;
  border-radius: 1.25rem 1.25rem 0 0;
}

.sec-club__item:hover .sec-club__item-image img {
  transform: scale(1.2, 1.2);
}

.sec-club__item-title {
  border-radius: 0 0 1.25rem 1.25rem;
  color: #1c1c1c;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  background-color: #f5f4ed;
  padding-block: 0.9375rem;
  transition: background-color 0.8s, color 0.8s;
}
@media screen and (min-width: 780px) {
  .sec-club__item-title {
    padding-block: 1.25rem;
  }
}

.sec-club__item:hover .sec-club__item-title {
  background-color: #2875e5;
  color: #fff;
}

.sec-club__slider01,
.sec-club__slider02 {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .sec-club__slider01,
  .sec-club__slider02 {
    margin-top: 2.75rem;
  }
}

/** 矢印のための記述・文化スポーツ共通 **/
.sec-club__slider-block {
  position: relative;
  padding-bottom: 0.25rem;
}

.sec-club__slider01-arrows {
  display: none;
}
@media screen and (min-width: 780px) {
  .sec-club__slider01-arrows {
    display: block;
    position: absolute;
    bottom: 0rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    width: 31.25rem;
    max-width: 100%;
    height: 3.75rem;
    z-index: 20;
  }
}

.sec-club__slider01-arrows .splide__arrow--prev,
.sec-club__slider01-arrows .splide__arrow--next {
  aspect-ratio: 1/1;
  height: 3.75rem;
  width: 3.75rem;
}

.sec-club__slider01 .splide__arrow,
.sec-club__slider02 .splide__arrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  border-radius: 50%;
  width: 3.75rem;
  height: 3.75rem;
  cursor: pointer;
}

.splide__arrow img {
  background-color: white; /* 背景色を白 */
  border-radius: 50%;
}

/** ページネーション **/
.sec-club__slider01 .splide__pagination.sec-club__slider01-pagination,
.sec-club__slider02 .splide__pagination.sec-club__slider01-pagination {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  gap: 0.3125rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 780px) {
  .sec-club__slider01 .splide__pagination.sec-club__slider01-pagination,
  .sec-club__slider02 .splide__pagination.sec-club__slider01-pagination {
    gap: 0.625rem;
    margin-top: 4.375rem;
    margin-bottom: 0.625rem;
  }
}

/* 強制的にページネーションを表示 */
.splide__pagination__page.sec-club__slider01-page.is-active {
  background-color: #888;
}

.splide__pagination__page.sec-club__slider01-page {
  background-color: #ccc;
}

/** スポーツクラブ **/
.sec-club.sec-club--02 {
  margin-top: 5.1875rem;
}
@media screen and (min-width: 780px) {
  .sec-club.sec-club--02 {
    margin-top: 11.5625rem;
  }
}

.sec-club.sec-club--02::before {
  position: absolute;
  content: "SPORTS CLUBS";
  display: block;
  color: #fff;
  font-size: 2.75rem;
  font-weight: 900;
  top: -3.125rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
@media screen and (min-width: 780px) {
  .sec-club.sec-club--02::before {
    font-size: 9.875rem;
    top: -11.25rem;
  }
}

/* Top・各種ご案内
***************************************************************/
.sec-guide {
  position: relative;
  background-color: #fff;
  border-radius: 1.875rem;
  padding-top: 2.5rem;
  padding-bottom: 3.75rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .sec-guide {
    border-radius: 2.5rem;
    padding-top: 5rem;
    padding-bottom: 6.25rem;
    margin-top: 2.5rem;
  }
}

.sec-club__head {
  text-align: center;
}

.sec-club__heading {
  font-size: 1.625rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .sec-club__heading {
    font-size: 3.125rem;
  }
}

.sec-guide__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 780px) {
  .sec-guide__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-top: 4.125rem;
  }
}

.sec-guide__item {
  background-color: #fff;
  border-radius: 0.625rem;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}

.sec-guide__link {
  position: relative;
  display: block;
  padding-block: 1.1875rem;
  padding-inline: 2.125rem 6.25rem;
}

.sec-guide__link::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 4/8;
  width: 4px;
  height: 8px;
  top: 50%;
  transform: translateY(-50%);
  right: 2.8125rem;
  transition: background-image 0.3s;
}
.sec-guide__link::before {
  position: absolute;
  content: "";
  display: block;
  border: 1px solid #1c1c1c;
  border-radius: 9999px;
  width: 2.25rem;
  height: 2.25rem;
  top: 50%;
  transform: translateY(-50%);
  right: 1.875rem;
  transition: background-color 0.3s, border 0.3s;
}

.sec-guide__link:hover::after {
  background-image: url(../images/icon/icon-arrowW.svg);
}

.sec-guide__link:hover::before {
  background-color: #2875e5;
  border: 1px solid #2875e5;
}

.sec-guide__title {
  color: #1c1c1c;
  font-size: 1rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .sec-guide__title {
    font-size: 1.5rem;
  }
}

.sec-guide__text {
  color: #1c1c1c;
  font-size: 0.75rem;
}
@media screen and (min-width: 780px) {
  .sec-guide__text {
    font-size: 1rem;
  }
}

/* Top・お知らせ
***************************************************************/
.sec-news {
  position: relative;
  background-color: #fff;
  border-radius: 1.875rem;
  padding-top: 3.75rem;
  padding-bottom: 4.625rem;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .sec-news {
    padding-top: 10.625rem;
    padding-bottom: 7.5rem;
    border-radius: 2.5rem;
  }
}

.sec-news__title-block {
  position: relative;
  text-align: center;
}

.sec-news__title-block::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/under/about-logo.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 1280/142;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 780px) {
  .sec-news__title-block::after {
    top: -15rem;
    width: 80rem;
  }
}

.sec-news__heading {
  font-size: 1.625rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .sec-news__heading {
    font-size: 3.125rem;
  }
}

.sec-news__article-block {
  display: grid;
  row-gap: 1.25rem;
}
@media screen and (min-width: 780px) {
  .sec-news__article-block {
    grid-template-columns: repeat(2, 1fr);
    gap: 4.875rem;
  }
}

.sec-news__title {
  color: #2875e5;
  font-size: 1.25rem;
  font-weight: 900;
  text-align: center;
  margin-top: 1.25rem;
}
@media screen and (min-width: 780px) {
  .sec-news__title {
    font-size: 1.875rem;
    margin-top: 3.75rem;
  }
}

.sec-news__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 780px) {
  .sec-news__list {
    gap: 1.875rem;
    margin-top: 2.5rem;
  }
}

.sec-news__item {
  border-radius: 0.625rem;
  background-color: #fff;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}

.sec-news__link {
  position: relative;
  display: block;
  color: #1c1c1c;
  padding-block: 1.5625rem;
  padding-inline: 1.25rem 4.375rem;
}
@media screen and (min-width: 780px) {
  .sec-news__link {
    padding-block: 1.5625rem 1.5625rem;
    padding-inline: 1.875rem 5rem;
  }
}

.sec-news__link::before {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  width: 6px;
  height: 13px;
  right: 2.1875rem;
  top: 50%;
  translate: 0 -50%;
  transition: background-image 0.3s;
  z-index: 1;
}
@media screen and (min-width: 780px) {
  .sec-news__link::before {
    right: 2.9375rem;
  }
}

.sec-news__link::after {
  position: absolute;
  content: "";
  display: block;
  border: 1px solid #1c1c1c;
  border-radius: 9999px;
  width: 2.25rem;
  height: 2.25rem;
  right: 1.25rem;
  top: 50%;
  translate: 0 -50%;
  transition: background-color 0.3s, border 0.3s;
}
@media screen and (min-width: 780px) {
  .sec-news__link::after {
    right: 2rem;
  }
}

.sec-news__link:hover::after {
  background-color: #2875e5;
  border: 1px solid #2875e5;
}

.sec-news__link:hover::before {
  background-image: url(../images/icon/icon-arrowW.svg);
}

.sec-news__meta {
  display: flex;
  gap: 0.625rem;
  align-items: center;
}

.sec-news__date {
  font-size: 1.125rem;
  font-weight: 700;
}

.sec-news__tag {
  border-radius: 9999px;
  border: 1px solid #1c1c1c;
  font-size: 0.875rem;
  font-weight: 400;
  padding-block: 0.0625rem 0.125rem;
  padding-inline: 0.875rem;
}

.sec-news__article-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 0.5rem;
  font-size: 0.875rem;
}
@media screen and (min-width: 780px) {
  .sec-news__article-title {
    -webkit-line-clamp: 1;
    margin-top: 0.75rem;
    font-size: 1rem;
  }
}

.sec-news__article-cont {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
@media screen and (min-width: 780px) {
  .sec-news__article-cont {
    -webkit-line-clamp: 2;
    margin-top: 0.4375rem;
  }
}

.sec-news__allBtn {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .sec-news__allBtn {
    margin-top: 3.125rem;
  }
}

.sec-news__no-posts {
  text-align: center;
  margin-top: 1.875rem;
}

/* お知らせ・サイドバー
***************************************************************/
.sidebar {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
  margin-top: 3.75rem;
}
@media screen and (min-width: 780px) {
  .sidebar {
    gap: 3.75rem;
    background-color: #fff;
    margin-top: 0rem;
    width: 24rem;
  }
}

.sidebar a {
  color: #1c1c1c;
}

/** 最新のお知らせ **/
.widget-title {
  border-radius: 0.9375rem;
  background-color: #fff;
  border: 1px solid #1c1c1c;
  font-size: 1rem;
  text-align: center;
  padding-block: 0.75rem;
  max-width: 100%;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .widget-title {
    border-radius: 1.25rem;
    padding-block: 0.9375rem;
    font-size: 1.25rem;
  }
}

.widget.widget_recent_entries ul {
  display: flex;
  flex-direction: column;
  margin-top: 0.625rem;
}
@media screen and (min-width: 780px) {
  .widget.widget_recent_entries ul {
    margin-top: 0.9375rem;
  }
}

.widget.widget_recent_entries ul li {
  position: relative;
  border-bottom: 1px solid #ddd;
  padding-block: 0.9375rem;
  transition: background-color 0.3s;
}
@media screen and (min-width: 780px) {
  .widget.widget_recent_entries ul li {
    padding-block: 1.25rem;
  }
}

.widget.widget_recent_entries ul li a {
  position: relative;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding-inline: 1.25rem 4.0625rem;
  line-height: 1.5;
  transition: color 0.3s;
}

.widget.widget_recent_entries ul li a::after {
  position: absolute;
  display: block;
  content: "›";
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  transition: color 0.3s;
}

/* 3行以上ある場合のみフェードを表示 */
.widget.widget_recent_entries ul li a:has(br + br),
.widget.widget_recent_entries ul li a:has(p + p + p) {
  padding-bottom: 10px; /* 下部パディングを維持 */
}

.widget.widget_recent_entries ul li a:has(br + br)::after,
.widget.widget_recent_entries ul li a:has(p + p + p)::after {
  opacity: 1;
}

.widget.widget_recent_entries ul li a:hover {
  color: #2875e5;
}

/** お知らせ・クラブのカテゴリー **/
.club-category-accordion {
  cursor: pointer;
}

.children .cat-item a {
  position: relative;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  padding-left: 0.875rem;
}

.children .cat-item a:hover {
  border-radius: 9999px;
  background-color: #2875e5;
  color: #fff;
}

.club-category-accordion {
  margin-bottom: 20px;
}

/** お知らせカテゴリーアコーディオン **/
.accordion-header {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  border: 1px solid #1c1c1c;
  border-radius: 0.9375rem;
  background-color: #fff;
  cursor: pointer;
  align-items: center;
  padding-inline: 0 1.5625rem;
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 780px) {
  .accordion-header {
    border-radius: 1.25rem;
    padding-inline: 0 1.875rem;
    gap: 2.5rem;
  }
}

.accordion-header h3 {
  font-size: 1rem;
  text-align: center;
  padding-inline: 3.75rem 0;
  padding-block: 0.75rem;
  max-width: 100%;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .accordion-header h3 {
    border-radius: 1.25rem;
    padding-inline: 5rem 0;
    padding-block: 0.9375rem;
    font-size: 1.25rem;
  }
}

/* アコーディオンアイコン */
.accordion-icon {
  position: relative;
  width: 15px;
  height: 15px;
  cursor: pointer;
}

/* 水平線 (横棒) */
.icon-line.horizontal {
  position: absolute;
  top: 7px;
  left: 0;
  width: 15px;
  height: 1px;
  background-color: #333;
}

/* 垂直線 (縦棒) - 閉じている状態のみ表示 */
.icon-line.vertical {
  position: absolute;
  top: 0;
  left: 7px;
  width: 1px;
  height: 15px;
  background-color: #333;
  transition: transform 0.3s ease;
}

/* 開いている状態の垂直線を非表示にする */
.accordion-header.active .icon-line.vertical {
  transform: scaleY(0);
}

.accordion-content {
  padding-inline: 0.9375rem;
  margin-top: 1.875rem;
}

.club-category-menu {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}

.parent-category {
  font-size: 1.25rem;
  font-weight: 900;
}

.parent-category h4 {
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.8125rem;
  font-size: 1rem;
}
@media screen and (min-width: 780px) {
  .parent-category h4 {
    padding-bottom: 0.9375rem;
    font-size: 1.125rem;
  }
}

/* 親カテゴリー名のスタイル */
.parent-category-name {
  color: #1c1c1c;
  display: block;
  font-size: 1.25rem;
  font-weight: 900;
}

.child-categories {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  margin-top: 0.625rem;
  padding-left: 0;
  list-style: none;
}
@media screen and (min-width: 780px) {
  .child-categories {
    margin-top: 0.9375rem;
  }
}

.child-category {
  font-weight: normal;
}

.child-category a {
  position: relative;
  border-radius: 9999px;
  display: block;
  font-weight: 500;
  color: #1c1c1c;
  font-size: 1rem;
  transition: background-color 0.3s, color 0.3s;
  line-height: 1.2;
  padding-block: 7px;
  padding-inline: 20px;
}
@media screen and (min-width: 780px) {
  .child-category a {
    padding-block: 10px;
  }
}

.child-category a::after {
  position: absolute;
  content: "";
  display: block;
  background-image: url(../images/icon/icon-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 6/13;
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  width: 0.375rem;
  height: 0.8125rem;
}

.child-category a:hover::after {
  background-image: url(../images/icon/icon-arrowW.png);
}

.child-category a:hover {
  background-color: #2875e5;
  color: #fff;
}

/* スライダー
***************************************************************/
/* スマホメニュー
***************************************************************/
.sp-nav {
  position: fixed;
  top: 0;
  left: 0;
  height: 100dvh;
  width: 100%;
  background-color: #2875e5;
  transform: translateX(100%);
  transition: 0.3s 0s ease;
  padding-block: 1.125rem 3.125rem;
  overflow-y: auto;
  z-index: 9990;
}

.sp-nav.is-openSP {
  transform: translateX(0);
}

.sp-nav__logo {
  display: flex;
  justify-content: center;
}

.sp-nav__logo-link img {
  aspect-ratio: 106/54;
  width: 6.625rem;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

.sp-nav__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.375rem;
  padding-inline: 3.125rem;
}

.sp-nav__item,
.sp-nav__item a {
  display: block;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.sp-nav__sub-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 0rem;
  padding-inline: 1.5625rem 0rem;
}

.sp-nav__sub-item,
.sp-nav__sub-item a {
  position: relative;
  display: block;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.sp-nav__sub-item::before {
  position: absolute;
  content: "";
  width: 0.3125rem;
  height: 0.3125rem;
  top: 50%;
  translate: 0 -50%;
  left: -0.9375rem;
  background: rgba(255, 255, 255, 0.5019607843);
  border-radius: 100vh;
}

.sp-nav__btn {
  margin-top: 1.875rem;
  text-align: center;
}

/** 共通項目・サブタイトル（青背景） **/
.subheading {
  border-radius: 9999px;
  background-color: #2875e5;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .subheading {
    font-size: 2.125rem;
  }
}

/* 賛助会員・協力企業
***************************************************************/
.supporting-member__body {
  border-radius: 1.875rem;
  margin-block: 0rem 3.125rem;
}
@media screen and (min-width: 780px) {
  .supporting-member__body {
    border-radius: 2.5rem;
    margin-block: 0rem 7.5rem;
  }
}

.supporting-member__img img {
  aspect-ratio: 390/142;
  max-width: 100%;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 780px) {
  .supporting-member__img img {
    aspect-ratio: 1440/391;
  }
}

.supporting-member__member {
  margin-top: 2.75rem;
}

@media screen and (min-width: 780px) {
  .supporting-member__member .supporting-member__heading span {
    font-size: 1.25rem;
  }
}

.supporting-member__cards {
  padding-block: 4.1875rem 8.1875rem;
}
@media screen and (min-width: 780px) {
  .supporting-member__cards {
    padding-block: 3.5625rem 7rem;
  }
}

.supporting-member__cards {
  display: grid;
  justify-content: center;
}
@media screen and (min-width: 780px) {
  .supporting-member__cards {
    justify-content: left;
  }
}

.supporting-member__card {
  width: 17.75rem;
}

.supporting-member__card-img img {
  aspect-ratio: 284/214;
  width: 17.75rem;
}

.supporting-member__card-body {
  text-align: center;
}

.supporting-member__card-body h4 {
  font-size: 1.125rem;
  font-weight: 700;
}

.supporting-member__card-body {
  font-weight: 400;
}

@media screen and (min-width: 780px) {
  .supporting-member__company .supporting-member__company-heading span {
    font-size: 1.25rem;
  }
}

.supporting-member__company-list {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
  padding-block: 3.4375rem 5.125rem;
}
@media screen and (min-width: 780px) {
  .supporting-member__company-list {
    padding-block: 5rem 4.9375rem;
  }
}

/** 賛助会員募集 **/
.supporting-member__others {
  margin-top: 3.75rem;
  margin-bottom: 3.125rem;
}
@media screen and (min-width: 780px) {
  .supporting-member__others {
    margin-top: 8.125rem;
    margin-bottom: 9.375rem;
  }
}

.supporting-member__others-heading {
  position: relative;
}

.supporting-member__others-heading::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../images/deco/treat-fv.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 350/109;
  width: 21.875rem;
  z-index: -1;
}
@media screen and (min-width: 780px) {
  .supporting-member__others-heading::after {
    aspect-ratio: 979/300;
    width: 61.1875rem;
    top: 190%;
  }
}

.supporting-member__others-heading h2 {
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .supporting-member__others-heading h2 {
    font-size: 1.875rem;
  }
}

.supporting-member__others-textbox p {
  font-weight: 500;
  max-width: 61.25rem;
  margin-inline: auto;
  margin-top: 1.875rem;
}

.supporting-member__copy {
  padding-block: 5rem 5.9375rem;
}
@media screen and (min-width: 780px) {
  .supporting-member__copy {
    padding-block: 14.125rem 16.625rem;
  }
}

.supporting-member__copy p {
  position: relative;
  font-weight: 700;
  margin-inline: auto;
}
@media screen and (min-width: 780px) {
  .supporting-member__copy p {
    font-size: 1.1875rem;
    max-width: 59.375rem;
    width: 100%;
  }
}

.supporting-member__copy p::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  background-image: url(../images/deco/treat-sp.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 350/109;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 780px) {
  .supporting-member__copy p::before {
    aspect-ratio: 1000/310;
    background-image: url(../images/deco/treat-fv.webp);
    width: 60rem;
    max-width: 100%;
    top: -230%;
    left: 0;
    transform: translate(0);
  }
}

/* Top・各種ご案内セクション上の飾り */
.treat {
  aspect-ratio: 350/109;
  margin-inline: auto;
  margin-top: -0.625rem;
  max-width: 100%;
  width: 21.875rem;
}
@media screen and (min-width: 780px) {
  .treat {
    width: 63.125rem;
    margin-top: -3.125rem;
  }
}

/* 下層共通項目
***************************************************************/
@media screen and (min-width: 780px) {
  .under-body__block {
    padding-inline: 2.5rem;
  }
}

.under-body {
  background-color: #fff;
  border-radius: 1.875rem;
}
@media screen and (min-width: 780px) {
  .under-body {
    border-radius: 2.5rem;
  }
}

.under-body__heading-cont {
  text-align: center;
}

.under-body__heading {
  border-radius: 0.9375rem;
  background-color: #2875e5;
  color: #fff;
  font-size: 1.125rem;
  padding-inline: 0.9375rem;
  padding-block: 0.625rem;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 780px) {
  .under-body__heading {
    border-radius: 1.25rem;
    font-size: 1.75rem;
    padding-inline: 1.875rem;
    padding-block: 0.9375rem;
  }
}

.under-body__heading span {
  font-size: 0.875rem;
}

.under-body__heading--line {
  background-color: transparent;
  color: #2875e5;
  border: 2px solid #2875e5;
}

.under-body__intro-text {
  line-height: 2;
}
@media screen and (min-width: 780px) {
  .under-body__intro-text {
    line-height: 2.4;
  }
}

/* 下層共通項目
***************************************************************/
.under-head {
  margin-top: 3.75rem;
  padding-block: 3.125rem 4.375rem;
}
@media screen and (min-width: 780px) {
  .under-head {
    margin-top: 6.25rem;
    padding-block: 8.75rem 9.375rem;
  }
}

.under-head__heading-cont {
  position: relative;
  z-index: 1;
}

.under-head__heading-cont::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  background-image: url(../images/deco/treat-sp.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 279/87;
  width: 17.4375rem;
  z-index: -1;
}
@media screen and (min-width: 780px) {
  .under-head__heading-cont::before {
    aspect-ratio: 1000/310;
    background-image: url(../images/deco/treat-fv.webp);
    width: 60rem;
    max-width: 100%;
    top: -230%;
    left: 0;
    transform: translate(0);
  }
}

.under-head__heading-cont {
  font-size: 1.625rem;
  text-align: center;
}

.under-head__heading {
  font-size: 1.625rem;
  font-weight: 900;
}
@media screen and (min-width: 780px) {
  .under-head__heading {
    font-size: 2.75rem;
  }
}

.under-head__heading-subcont {
  position: relative;
  z-index: 1;
}

.under-head__heading-sub {
  color: #2875e5;
  font-size: 1.4375rem;
  font-weight: 900;
  margin-top: 0.625rem;
}

.under-head__text {
  font-size: 1.125rem;
  font-weight: 700;
}

/* 賛助会員募集について・申し込み方法 */
.way {
  padding-block: 0rem 3.125rem;
}
@media screen and (min-width: 780px) {
  .way {
    padding-block: 0rem 7.5rem;
  }
}

.way__card:nth-child(2) {
  margin-top: 3.75rem;
}
@media screen and (min-width: 780px) {
  .way__card:nth-child(2) {
    margin-top: 4rem;
  }
}

.way__card:nth-child(3) {
  margin-top: 3.125rem;
}

.way__list {
  display: flex;
  flex-direction: column;
  gap: 5.875rem;
  margin-top: 4rem;
}
@media screen and (min-width: 780px) {
  .way__list {
    gap: 0;
    justify-content: center;
    flex-direction: row;
    margin-top: 3.4375rem;
  }
}

.way__item {
  text-align: center;
}
@media screen and (min-width: 780px) {
  .way__item {
    width: 25rem;
  }
}

@media screen and (min-width: 780px) {
  .way__item:nth-child(2) {
    width: 29.6875rem;
    border-left: 9px dotted #707070;
    border-right: 9px dotted #707070;
  }
}

.way__item h3 {
  font-size: 1.125rem;
  font-weight: 700;
}

.way__item p {
  font-weight: 400;
}

.way__dl-btn:first-of-type {
  margin-top: 2.1875rem;
}

.way__dl-btn:nth-of-type(2) {
  margin-top: 2.0625rem;
}/*# sourceMappingURL=styles.css.map */