@charset "UTF-8";
/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/noto-sans-jp-v56-japanese-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/noto-sans-jp-v56-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/noto-serif-jp-v33-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cormorant-garamond-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/cormorant-garamond-v21-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* =========================
  Root Tokens
========================= */
:root {
  /* ===== Fonts ===== */
  --font-sans: 'Noto Sans JP', system-ui, -apple-system, sans-serif;
  --font-serif: 'Noto Serif JP', serif;
  --font-en: 'Cormorant Garamond', serif;
  /* ===== Colors (Grayscale) ===== */
  --color-text-main: #111;
  --color-text-sub: #444;
  --color-bg: #f8f5f2;
  --color-border: #e5e5e5;
  /* ===== Brand Colors ===== */
  --color-primary: #1f3a5f; /* 青（ファビコンベース） */
  --color-accent: #6b4f3a; /* ブラウン（チラシ系） */
  /* ===== Members Colors ===== */
  --members-color: #2f3b4c;
  --members-bg: #edf2f7;
  /* ===== UI ===== */
  --color-link: #4e6ff4;
  --color-button-bg: var(--color-primary);
  --color-button-text: #fff;
  --color-attention: #cf2e2e;
  /* ===== Spacing（ついでに） ===== */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 32px;
  --space-ml: 40px;
  --space-xl: 64px;
}

.sp,
.tab,
.pc {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .tab {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .pc {
    display: block;
  }
}
body {
  font-size: 16px;
  font-family: var(--font-sans);
  color: var(--color-text-main);
  background: var(--color-bg);
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* ページの最小の高さをビューポートの高さにする */
  margin: 0;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}
body.no_scroll {
  overflow: hidden;
}

/* 日本語見出し */
h1, h2, h3 {
  font-family: var(--font-serif);
  letter-spacing: 0.02em;
}

/* 英語（メニューとか） */
.nav,
.en {
  font-family: var(--font-en);
  letter-spacing: 0.05em;
}

.atLink {
  text-decoration: underline;
  transition: all 0.5s;
}

.nav-hover {
  transition: all 0.5s;
}

.atLink:hover,
.nav-hover:hover {
  color: var(--color-link);
}

.img-hover {
  overflow: hidden;
}
.img-hover img {
  transition: all 0.5s;
}
.img-hover img:hover {
  transform: scale(1.1);
}

/* ボタン */
.button {
  display: inline-block;
  background: var(--color-button-bg);
  color: var(--color-button-text);
  padding: 0.6em 1.2em;
}
.button:hover {
  background: #355d85; /* 少し明るく */
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
}
.button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

/* 区切り線 */
hr {
  border: none;
  border-top: 1px solid var(--color-border);
}

main {
  flex-grow: 1;
}

img {
  max-width: 100%;
  height: auto;
}

.flex {
  display: flex;
}

.main {
  margin: 100px auto;
}

.section {
  padding: 80px 30px;
}
@media screen and (max-width: 767px) {
  .section {
    padding: 50px 5vw;
  }
}

.sub-sec {
  padding: 40px 0;
}

.section-heading {
  font-weight: 500;
  font-size: 16px;
  color: var(--color-text-main);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-heading {
    font-size: 14px;
  }
}
.section-heading__en {
  display: block;
  font-weight: 400;
  font-size: 32px;
  color: var(--color-accent);
}
.section-heading::after {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 1px;
  content: "";
  background: rgba(122, 90, 64, 0.35);
}

.sub-title {
  font-weight: 500;
  font-size: 28px;
  color: inherit;
  text-align: start;
  padding: 0 15px;
  border-left: solid 2px var(--color-accent);
}
@media screen and (max-width: 767px) {
  .sub-title {
    font-size: 22px;
    padding: 0 10px;
  }
}

.white {
  background: #fff;
}

.section-wrap {
  margin: 60px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl);
}
@media screen and (max-width: 1024px) {
  .section-wrap {
    grid-template-columns: 1fr;
    width: min(708px, 100%);
    gap: var(--space-lg);
  }
}
.section-wrap .text:not(:first-child) {
  margin-top: 0.5em;
}

.category-title {
  font-weight: 700;
  font-size: 24px;
  padding-left: 8px;
  border-left: 8px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .category-title {
    font-size: 32px;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  margin-bottom: 70px;
}
.pagination .nav-links {
  display: flex;
  gap: 20px;
}
.pagination .nav-links .page-numbers.current {
  border-bottom: solid 1px var(--color-primary);
}

header {
  position: sticky;
  top: 0;
  width: 100%;
  padding: var(--space-md) var(--space-lg);
  align-items: center;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(122, 90, 64, 0.08);
  z-index: 10;
}
@media screen and (max-width: 767px) {
  header {
    padding: 10px 5vw;
  }
}
header .inner {
  width: min(1200px, 100%);
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}
header .inner .logo {
  width: 300px;
}
@media screen and (max-width: 767px) {
  header .inner .logo {
    width: min(300px, 60%);
  }
}
@media screen and (max-width: 767px) {
  header .inner .global-nav {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: min(60%, 200px);
    height: auto;
    padding: 70px 5vw;
    background: #fff;
    z-index: 20;
  }
}
header .inner .global-nav ul {
  justify-content: center;
  align-items: center;
  gap: var(--space-lg);
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  header .inner .global-nav ul {
    flex-direction: column;
    gap: var(--space-md);
    font-size: 14px;
  }
}

.hamburger {
  position: fixed;
  top: 15px;
  right: 5vw;
  width: 30px;
  height: 30px;
  z-index: 30;
}
.hamburger span {
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 2px;
  background: var(--color-accent);
  border-radius: 6px;
  transition: all 0.5s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 8px;
}
.hamburger span:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.hamburger span:nth-child(3) {
  bottom: 8px;
}

.js-menu-btn.is-close-btn span {
  top: 18px;
  left: 6px;
}
.js-menu-btn.is-close-btn span:nth-child(1) {
  transform: rotate(-45deg);
}
.js-menu-btn.is-close-btn span:nth-child(2) {
  opacity: 0;
}
.js-menu-btn.is-close-btn span:nth-child(3) {
  transform: rotate(45deg);
}

.js-nav.is-nav {
  /* メニューが開いた状態 */
  transform: translateX(0) !important; /* 元の位置（画面内）に戻す */
}

footer {
  color: #fff;
  background: #3A332E;
  position: relative;
}
footer .inner {
  padding: 40px 30px;
  justify-content: center;
  gap: var(--space-xl);
  width: min(1200px, 100%);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  footer .inner {
    flex-direction: column;
    gap: var(--space-lg);
  }
}
footer .inner .footer-title {
  font-size: 24px;
}
footer .inner .footer-title span {
  display: block;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  footer .inner .footer-title span {
    font-size: 14px;
  }
}
footer .inner address {
  margin-top: var(--space-md);
}
footer .inner .footer-nav .nav {
  gap: 1em;
}
@media screen and (max-width: 1024px) {
  footer .inner .footer-nav .nav {
    flex-direction: column;
  }
}
footer .inner .footer-nav .sns {
  margin-top: var(--space-md);
  display: flex;
  gap: 10px;
}
footer .inner .footer-nav .sns .facebook img,
footer .inner .footer-nav .sns .instagram img {
  width: 24px;
  transition: all 0.5s ease-in-out;
}
footer .inner .footer-nav .sns .facebook img:hover,
footer .inner .footer-nav .sns .instagram img:hover {
  opacity: 0.75;
}
footer .inner .footer-nav .privacy-link {
  display: block;
  margin-top: var(--space-md);
}
footer .copyright {
  padding: 20px;
  font-size: 12px;
  text-align: center;
}

.fv {
  position: relative;
  height: calc(100vh - 100px);
  min-height: 700px;
  overflow: hidden;
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .fv {
    height: calc(100vh - 80px);
    min-height: 560px;
  }
}
.fv .fv-fixed {
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%;
  height: calc(100vh - 70px);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .fv .fv-fixed {
    top: 40px;
    height: calc(100vh - 40px);
  }
}
.fv .fv-fixed::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
  z-index: 1;
}
.fv .fv-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.fv .fv-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 8% 5%;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .fv .fv-content {
    padding: 0 24px 72px;
  }
}
.fv .title {
  font-size: clamp(30px, 5vw, 60px);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.08em;
}
.fv .line {
  width: 72px;
  height: 1px;
  margin: 28px 0 0;
  background: rgba(255, 255, 255, 0.7);
}
.fv .en-title {
  margin-top: 24px;
  font-size: 18px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .fv .en-title {
    font-size: 14px;
    line-height: 1.8;
  }
}

.top-main {
  position: relative;
  z-index: 2;
  background: var(--color-bg);
}

.top-concert-container .swiper-wrap {
  margin: 60px auto 0;
  width: min(1200px, 100%);
  position: relative;
}
.top-concert-container .swiper-wrap .swiper-wrapper {
  transition-timing-function: linear;
}
.top-concert-container .swiper-wrap .swiper-pagination-bullets {
  bottom: -35px;
}
.top-concert-container .swiper-wrap .swiper-pagination-bullets .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
}
.top-concert-container .swiper-wrap .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--color-accent);
}

.modaal-container {
  max-width: 900px;
}

.modaal-overlay {
  background: rgba(20, 20, 20, 0.85);
}

.top-about-container {
  width: min(1200px, 100%);
  margin: 0 auto;
  text-align: center;
}
.top-about-container .top-about-desc {
  line-height: 1.8;
  text-align: start;
}
@media screen and (max-width: 1024px) {
  .top-about-container .top-about-desc {
    order: 1;
  }
}
.top-about-container .top-about-btn {
  margin-top: 60px;
}

.top-news-container {
  width: min(800px, 100%);
  margin: 0 auto;
}
.top-news-container .top-news-article-wrap {
  margin-top: 60px;
  flex-direction: column;
  gap: var(--space-md);
}
.top-news-container .top-news-article-wrap .list-item {
  padding-bottom: var(--space-xs);
  border-bottom: solid 1px var(--color-border);
}
.top-news-container .top-news-article-wrap .list-item .top-news-article {
  align-items: center;
  gap: var(--space-lg);
}
@media screen and (max-width: 767px) {
  .top-news-container .top-news-article-wrap .list-item .top-news-article {
    flex-direction: column;
    align-items: start;
    gap: 5px;
  }
}
.top-news-container .top-news-article-wrap .list-item .top-news-article .meta {
  align-items: center;
  flex-shrink: 0;
}
.top-news-container .top-news-article-wrap .list-item .top-news-article .meta .time {
  margin-right: var(--space-md);
}
.top-news-container .top-news-article-wrap .list-item .top-news-article .meta .category {
  font-size: 14px;
  color: #fff;
  text-align: center;
  width: 112px;
  padding: 0.3em;
  background: var(--color-accent);
}
@media screen and (max-width: 767px) {
  .top-news-container .top-news-article-wrap .list-item .top-news-article .meta .category {
    font-size: 12px;
    width: 90px;
  }
}
.top-news-container .top-news-article-wrap .list-item .top-news-article .content {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .top-news-container .top-news-article-wrap .list-item .top-news-article .content {
    width: 100%;
  }
}
.top-news-container .top-news-btn-wrap {
  margin-top: 40px;
  text-align: center;
}

.top-sns-container {
  width: min(1200px, 100%);
  margin: 0 auto;
}
.top-sns-container .sns-container {
  margin-top: 60px;
}

.top-hr {
  width: min(1200px, 80%);
  text-align: center;
}

.top-join-us-container {
  width: min(1200px, 100%);
  margin: 0 auto;
  text-align: center;
}
.top-join-us-container .top-join-us-desc {
  line-height: 1.8;
  text-align: start;
}
.top-join-us-container .top-join-us-btn {
  margin-top: 60px;
}

.about-main {
  margin-bottom: 0;
}

.main-title {
  font-weight: 700;
  font-size: 36px;
  color: var(--color-primary);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main-title {
    font-size: min(36px, 8.5vw);
  }
}

.read {
  width: min(1060px, 100%);
  padding-left: 30px;
  padding-right: 30px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .read {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.read-desc {
  margin-top: var(--space-lg);
  flex-direction: column;
  gap: var(--space-sm);
}

.greeting .sub-section {
  margin-top: var(--space-md);
  display: flex;
  gap: var(--space-xl);
}
@media screen and (max-width: 1024px) {
  .greeting .sub-section {
    flex-direction: column;
    gap: var(--space-lg);
  }
}
.greeting .sub-section .img {
  display: block;
}
@media screen and (max-width: 1024px) {
  .greeting .sub-section .img {
    width: min(450px, 100%);
    margin: auto;
  }
}
.greeting .sub-section .greeting-desc {
  margin-top: var(--space-md);
  flex-direction: column;
  gap: var(--space-sm);
}

.overview-list {
  margin-top: var(--space-md);
  flex-direction: column;
  gap: var(--space-lg);
}
.overview-list .title {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 500;
  font-size: 20px;
  font-family: var(--font-serif);
}
.overview-list .title::before {
  width: 20px;
  height: 20px;
  content: "";
  background: url(../images/ト音記号の無料アイコン3.svg) center/cover no-repeat;
}
.overview .indent {
  margin-left: 30px;
}
.overview .item {
  gap: 1em;
}
.overview dt {
  font-weight: 500;
}

.bord-member {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-lg);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .bord-member {
    grid-template-columns: 1fr;
  }
}
.bord-member .post {
  flex-direction: column;
  gap: var(--space-lg);
}
.bord-member .post .item {
  gap: var(--space-md);
}
.bord-member .list {
  margin-top: var(--space-md);
}

.invitation {
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .invitation {
    max-width: 100vw;
  }
}
.invitation .inner {
  margin: var(--space-ml) auto 0;
  width: min(1125px, 100%);
}
.invitation .inner .desc {
  margin-top: 10px;
  text-align: start;
}
.invitation .inner .table-wrap {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}
.invitation .inner .table-wrap .invitation-table {
  margin: 20px auto 0;
  border: solid 2px var(--color-accent);
}
@media screen and (max-width: 767px) {
  .invitation .inner .table-wrap .invitation-table {
    width: 708px;
  }
}
.invitation .inner .table-wrap .invitation-table thead tr th,
.invitation .inner .table-wrap .invitation-table tbody tr td {
  text-align: center;
  vertical-align: middle;
}
.invitation .inner .table-wrap .invitation-table thead {
  background: var(--color-bg);
}
.invitation .inner .table-wrap .invitation-table .left {
  text-align: start;
}
.invitation .inner .table-wrap .invitation-table th, .invitation .inner .table-wrap .invitation-table td {
  padding: 5px 10px;
  border: solid 1px var(--color-accent);
}
.invitation .inner .table-wrap .invitation-table th:first-child,
.invitation .inner .table-wrap .invitation-table th:nth-child(2) {
  width: 86px;
}
.invitation .inner .table-wrap .invitation-table th:nth-child(3) {
  width: 215px;
}
.invitation .entry-btn {
  margin-top: 60px;
}

.single {
  width: min(860px, 100%);
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .single {
    padding: 0 5vw;
  }
}
.single .single-news__title {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .single .single-news__title {
    font-size: 20px;
  }
}
.single .inner {
  margin-top: var(--space-xl);
}
.single .contents {
  margin-top: var(--space-ml);
}
.single .btn-wrap {
  margin-top: var(--space-xl);
  text-align: center;
}

.single-news,
.single-events {
  width: min(860px, 100%);
}

.single-news__header,
.single-events__header {
  position: relative;
  padding: 0;
  background: inherit;
  box-shadow: none;
}

.single-news__title,
.single-events__title {
  font-weight: 500;
  font-size: 32px;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .single-news__title,
  .single-events__title {
    font-size: 20px;
  }
}

.single-news__content,
.single-events__content {
  margin-top: 60px;
}

.single-news__back,
.single-events__back,
.single-applications__back {
  margin-top: 60px;
  text-align: center;
}

.single-applications {
  background: var(--members-bg);
}
.single-applications-wrap {
  width: min(1000px, 100%);
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .single-applications-wrap {
    padding: 0 5vw;
  }
}
.single-applications .single-applications__article .single-applications__img {
  display: block;
  width: min(800px, 100%);
  margin: 0 auto;
}
.single-applications-title .section-heading__en {
  color: var(--members-color);
}
.single-applications-title::after {
  background: var(--members-color);
}

.single-applications__img {
  width: 100%;
}

.single-applications__button-wrap {
  margin-top: 40px;
  text-align: center;
}

.archive-applications {
  background: var(--members-bg);
}
.archive-applications-wrap {
  width: min(1200px, 100%);
  padding: 100px auto;
}
.archive-applications-title .section-heading__en {
  color: var(--members-color);
}
.archive-applications-title::after {
  background: var(--members-color);
}
.archive-applications-contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.single-applications-form .section-title {
  text-align: center;
  font-size: 32px;
  color: var(--members-color);
}
@media screen and (max-width: 767px) {
  .single-applications-form .section-title {
    font-size: 22px;
  }
}
.single-applications-form .application-deadline {
  margin-top: var(--space-md);
  text-align: center;
}
.single-applications-form .application-deadline_span {
  font-size: 24px;
  color: var(--color-attention);
}

.archive-news {
  width: min(860px, 100%);
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .archive-news {
    padding: 0 5vw;
  }
}
.archive-news .list {
  flex-direction: column;
  gap: var(--space-md);
}
.archive-news .list-item .flex {
  align-items: center;
  gap: var(--space-md);
}
.archive-news .list-item .flex .content {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .archive-news .list-item .flex .content {
    width: 100%;
  }
}

.archive-events {
  width: min(1200px, 100%);
}
.archive-events .contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}
@media screen and (max-width: 767px) {
  .archive-events .contents {
    grid-template-columns: 1fr;
  }
}
.archive-events .contents .content {
  border: solid 1px var(--color-border);
}
.archive-events .contents .content .flyer {
  width: auto;
}
.archive-events .contents .content .desc-wrapper {
  padding: 20px;
}
.archive-events .contents .content .desc-wrapper .archive-title {
  font-weight: 500;
  font-size: 28px;
  color: var(--color-primary);
}
.archive-events .contents .content .desc-wrapper .meta {
  gap: 1em;
}
.archive-events .contents .content .desc-wrapper .desc {
  margin-top: var(--space-lg);
}

.entry-form {
  width: min(930px, 100%);
  margin: 0 auto;
}
.entry-form .form-date {
  text-align: end;
}
.entry-form .entry-form__table {
  margin-top: 10px;
  width: 100%;
  border: solid 2px var(--members-color);
}
.entry-form .entry-form__table tbody tr th,
.entry-form .entry-form__table tbody tr td {
  padding: 5px;
  border: solid 1px var(--members-color);
}
@media screen and (max-width: 767px) {
  .entry-form .entry-form__table tbody tr th,
  .entry-form .entry-form__table tbody tr td {
    display: block;
  }
}
.entry-form .entry-form__table tbody tr th {
  min-width: 150px;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .entry-form .entry-form__table tbody tr th {
    color: #fff;
    background: var(--members-color);
  }
}
.entry-form .submit-btn-wrap {
  margin-top: 30px;
  text-align: center;
}

.wpcf7-submit-wrap {
  text-align: center;
}

.wpcf7-submit-wrap .wpcf7-submit {
  display: inline-block;
}

.wpcf7-submit-wrap .wpcf7-spinner {
  display: block;
  margin: 8px auto 0;
}

input[type=text],
input[type=tel],
input[type=email],
textarea {
  padding: 5px;
  border-radius: 2px;
  border: solid 1px var(--members-color);
  width: 100%;
}

textarea {
  min-height: 2em;
  field-sizing: content;
}

.must {
  color: var(--color-attention);
}

.member-password-form {
  width: min(400px, 100%);
}

.member-password-form input {
  margin-top: 20px;
  border: solid 1px var(--color-accent);
}

.member-password-form button {
  margin-top: 20px;
}

.members-title .section-heading__en {
  color: var(--members-color);
}
.members-title::after {
  background: var(--members-color);
}

.members {
  background: var(--members-bg);
  text-align: center;
}
.members .members-wrap {
  width: min(1200px, 100%);
}
.members .members-wrap .members-intro__link {
  margin-top: var(--space-xl);
  text-align: center;
}
.members .members-wrap .members-intro__link a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.members-container .members-news-contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}
@media screen and (max-width: 767px) {
  .members-container .members-news-contents {
    grid-template-columns: 1fr;
  }
}

.member-list {
  background: var(--members-bg);
}
.member-list .member-list-wrap {
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .member-list .member-list-wrap {
    padding: 0 5vw;
  }
}
.member-list .member-list-contents {
  width: min(1200px, 100%);
  margin: 80px auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
@media screen and (max-width: 767px) {
  .member-list .member-list-contents {
    gap: var(--space-lg);
  }
}
.member-list .member-list-contents .content {
  display: flex;
}
@media screen and (max-width: 767px) {
  .member-list .member-list-contents .content {
    flex-direction: column;
  }
}
.member-list .member-list-contents .content .img-wrap {
  width: 150px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .member-list .member-list-contents .content .img-wrap {
    align-self: center;
    width: 50%;
  }
}
.member-list .member-list-contents .content .profile {
  padding: var(--space-md) var(--space-lg);
}
@media screen and (max-width: 767px) {
  .member-list .member-list-contents .content .profile {
    padding: var(--space-md) 0;
  }
}
.member-list .member-list-contents .content .profile .member-name {
  display: flex;
  align-items: center;
  gap: 1em;
  font-weight: 500;
  font-size: 24px;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .member-list .member-list-contents .content .profile .member-name {
    align-items: start;
    line-height: 30px;
  }
}
.member-list .member-list-contents .content .profile .member-name .member-number,
.member-list .member-list-contents .content .profile .member-name .member-ruby {
  font-size: 20px;
  font-family: var(--font-en);
}
.member-list .member-list-contents .content .profile .member-name .member-type {
  font-size: 16px;
  font-family: var(--font-sans);
}
.member-list .member-list-contents .content .profile .member-profile {
  margin-top: 0.7em;
}

.privacy {
  width: min(1060px, 100%);
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .privacy {
    padding: 0 5vw;
  }
}
.privacy .contents {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.privacy .contents .sub-title {
  font-size: 22px;
  margin-bottom: 10px;
}
.privacy .contents .list {
  margin-top: 5px;
}