@charset "utf-8";
/*
theme Name: si2026
Author: corin
Description: original theme
version： 1.0.0
*/

/* *************************************************************** */
/* グローバル変数定義                                                */
/* *************************************************************** */
/*  --Text-accent-navy : topページ、ヘッダー、フッターのカラーを設定します  */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
:root {
  --global_color: #ffffff;
  --transparent: rgba(0, 0, 0, 0);
  --Text-accent-navy: #002870;
  --BorderCard-accent-navy: #002870;

  --accent_color: #2d4d86;
  --BorderCard-secondary: #bcbcbc;
  --marker_color: #192a56;
  --background_color: #0a1d36;
  --primary_color: #393939;
  --Text-primary: #393939;
  --Text-accent-blue: #2d4d86;
  --nav_text_hover_color: #194a8a;
  --btn_default_color: #b4000e;
  --Text-alert: #f00;
  --Text-alert-2: #b4000e;
  --btn_closed_color: #7c7c7c;
  --btn_thanks_color: #ad6507;
  --scroll_bar_color: #907f61;
  --shadow_color: #24242480;
  --drop_shadow_color: rgba(0, 0, 0, 0.2);
  --Overray-overray: rgba(0, 0, 0, 0.5);

  --Background-tertiary: #f2f4f6;
  --Inputpulldowndatepicker-background-input: #f3f3f3;

  --e_about_color: rgba(0, 0, 0, 0.55);
  --submenu_shadow_color: rgba(0, 0, 0, 0.25);
  --category_title_color: #075137;

  --dropdown_active_color: #f8f8f8;
  --dropdown_menu_hover: #f2f2f2;
  --dropdown_menu_active: #e2e2e2;
  --dropdown_icon_color: #888;

  --schedule_dropdown: #eedcdd;
  --schedule_dropdown_hover: #fbf7f7;
  --schedule_dropdown_shadow: #cccccc;

  --match_top_color: #5f6a89;
  --team_match_color: #4e8795;
  --doubles_match_color: #4d7393;
  --mix_doubles_match_color: #706c86;
  --couple_doubles_color: #d39f5b;
  --ladies_team_match_color: #ea958e;
  --ladies_doubles_color: #e797a0;
  --singles_g1_color: #55565d;
  --singles_g2_color: #678756;
  --singles_senior_color: #bbae44;

  --FontSize-fontSize-1: 12px;
  --FontSize-fontSize-2: 0.8rem;
  --FontSize-fontSize-3: 0.9rem;
  --FontSize-fontSize-4: 1rem;
  --FontSize-fontSize-5: 1.1rem;
  --FontSize-fontSize-6: 1.3rem;
  --FontSize-fontSize-8: 1.8rem;
  --FontSize-fontSize-9: 2.2rem;
  --FontSize-fontSize-10: 2.2rem;

  --Space-space-0: 0;
  --Space-space-1: 4px;
  --Space-space-2: 0.4rem;
  --Space-space-3: 0.7rem;
  --Space-space-4: 0.9rem;
  --Space-space-5: 1.3rem;
  --Space-space-6: 32px;
  --Space-space-7: 2.2rem;
  --Space-space-8: 3.1rem;
  --Space-space-9: 3.5rem;
  --Space-space-10: 4.4rem;
  --Space-space-11: 5.8rem;
  --Space-space-12: 104px;
}

@media (max-width: 1700px) {
  :root {
    --FontSize-fontSize-5: 1rem;
    --FontSize-fontSize-9: 1.8rem;

    --Space-space-5: 1rem;
    --Space-space-7: 2rem;
  }
}
@media (max-width: 1700px) {
  :root {
    --FontSize-fontSize-8: 1.4rem;
  }
}
@media (max-width: 1400px) {
  :root {
    --FontSize-fontSize-4: 0.9rem;
    --FontSize-fontSize-5: 1rem;
    --FontSize-fontSize-9: 1.3rem;
    --FontSize-fontSize-10: 1.7rem;

    --Space-space-5: 0.8rem;
    --Space-space-7: 1.5rem;
    --Space-space-11: 4.5rem;
  }
}

@media (max-width: 1199px) {
  :root {
    --FontSize-fontSize-9: 1rem;
  }
}
@media (max-width: 991px) {
  :root {
    --FontSize-fontSize-4: 12px;
    --FontSize-fontSize-8: 1.3rem;
    --FontSize-fontSize-10: 1.5rem;

    --Space-space-1: 2px;
    --Space-space-2: 4px;
    --Space-space-3: 8px;
    --Space-space-4: 12px;
    --Space-space-5: 16px;
    --Space-space-6: 24px;
    --Space-space-7: 2.8rem;
    --Space-space-8: 40px;
    --Space-space-9: 3rem;
  }
}
@media (max-width: 767px) {
  :root {
    --FontSize-fontSize-1: 10px;
    --FontSize-fontSize-2: 10px;
    --FontSize-fontSize-3: 1.2rem;
    --FontSize-fontSize-5: 1.2rem;
    --FontSize-fontSize-6: 1.4rem;
    --FontSize-fontSize-10: 2.2rem;

    --Space-space-7: 3.2rem;
    --Space-space-9: 4.3rem;
    --Space-space-10: 5.8rem;
  }
}

/*cssリセット*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: #333;
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 900;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}

/* mac/ios用スタイルリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="checkbox"],
input[type="radio"] {
  margin: 0 2px 0 0;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select {
  font-size: 1rem;
  border: 1px solid #ccc;
  height: 50px;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
input[type="image"],
textarea {
  font-size: 1rem;
  border: 1px solid #ccc;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a:active {
  background-color: transparent;
}

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background-color: transparent;
}
input[type="button"] {
  background-color: transparent;
}

/*サイト全体の基準となるCSSを記述*/
html {
  font-size: 18px;
}
body {
  /*フォントの指定*/
  font-family: "Noto Sans JP", sans-serif, "Calibri Light", "myriad-pro",
    "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
  font-style: normal;
  letter-spacing: 1.2px;
  color: var(--primary_color);
}

/* *************************************************************** */
/* 共通スタイル                                                      */
/* *************************************************************** */
/*  共通のスタイルを設定します                                       */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
/*ページ内遷移をスムーズにする(現時点でpage-faqのみ) */
html {
  scroll-behavior: smooth;
}
.container {
  margin: var(--Space-space-10) 160px;
  text-align: center;
}
h1 {
  font-size: var(--FontSize-fontSize-10);
  font-weight: 900;
  line-height: 1;
  margin-bottom: var(--Space-space-5);
}
.subtitle {
  font-size: 1.4rem;
  font-weight: 900;
}
hr {
  height: 4px;
  border: 0;
  background-color: var(--BorderCard-accent-navy);
}
.display_sp {
  display: none;
}
.display_sp_1400,
.display_sp_1199,
.display_sp_1024,
.display_sp_991 {
  display: none;
}
.display_pc {
  display: block;
}
/*---------------------------------
  二重線ボタン
---------------------------------*/
.button_wrap {
  display: inline-block;
}
.button {
  position: relative;
  border: 1px solid var(--global_color);
  width: 500px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--global_color);
  padding: 10px 20px;
  font-size: var(--FontSize-fontSize-5);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.2px;
}
.button:before {
  content: "";
  display: block;
  position: absolute;
  top: -4px;
  left: -4px;
  border: 1px solid var(--global_color);
  width: 100%;
  height: 100%;
  transition: 0.3s;
  visibility: visible;
  opacity: 1;
}
.button:hover:before {
  visibility: hidden;
  opacity: 0;
  top: 0px;
  left: 0px;
}

/*---------------------------------
  エントリーボタン
---------------------------------*/
.btn_closed,
.btn_entry {
  color: var(--global_color);
  cursor: pointer;
  width: 240px;
  min-height: 40px;
  padding: var(--Space-space-2) var(--Space-space-3);
  text-align: center;
  font-size: var(--FontSize-fontSize-5);
  font-weight: 700;
  line-height: 40px;
  letter-spacing: 2px;
}
.btn_entry {
  background-color: var(--btn_default_color);
}
.btn_entry.campaign {
  line-height: 20px;
}
.btn_closed {
  background-color: var(--btn_closed_color);
}
.btn_closed.thanks {
  background-color: var(--btn_thanks_color);
}
.top_mv {
  vertical-align: top;
}
.class_image {
  width: 100%;
  /* 少し画像を上に移動 */
  margin-top: 40px;
}
.class_image_small {
  width: 100%;
  /* ヘッダー分下げる */
  margin-top: 80px;
}

@media (max-width: 1575px) {
  html {
    font-size: 15px;
  }
}

@media (max-width: 1400px) {
  html {
    font-size: 14px;
  }
  .display_sp_1400 {
    display: block;
  }
  /*---------------------------------
  二重線ボタン
  ---------------------------------*/
  .button {
    width: 400px;
  }
}

/* PC（画面サイズ：大） */
@media (max-width: 1199px) {
  .container {
    margin: var(--Space-space-10) 70px;
  }
}
@media (max-width: 1199px) {
  .display_sp_1199 {
    display: block;
  }
}
@media (max-width: 1020px) {
  .display_sp_1024 {
    display: block;
  }
}

/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  .display_sp_991 {
    display: block;
  }
  .display_pc_991 {
    display: none;
  }
  .container {
    margin: var(--Space-space-10) 40px;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  html {
    font-size: 10px;
  }
  .container {
    margin: var(--Space-space-5) 16px;
  }
  .display_sp {
    display: block;
  }
  .display_pc {
    display: none;
  }

  /*---------------------------------
  二重線ボタン
---------------------------------*/
  .button {
    width: 246px;
    height: 70px;
    padding: 0 var(--Space-space-5);
  }

  /*---------------------------------
  エントリーボタン
---------------------------------*/
  .btn_closed,
  .btn_entry {
    width: calc(100% - var(--Space-space-3) * 2);
    letter-spacing: 1.2px;
  }
}

/* *************************************************************** */
/* ヘッダー                                                         */
/* *************************************************************** */
/*  ヘッダーのスタイルを設定します                                    */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#header_logo {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  height: 100px;
}
header {
  width: 100%;
  height: 80px;
  background-color: var(--Text-accent-navy);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: fixed;
  top: 0;
  z-index: 3;
  box-shadow: 0px 0px 12px var(--shadow_color);
}
#navi #navi-in > ul {
  display: flex;
  margin-right: 5.5rem;
  gap: var(--Space-space-7);
}
#navi #navi-in ul li {
  display: flex;
  align-items: center;
}

#navi #navi-in ul li a {
  color: var(--global_color);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
}
#navi #navi-in ul li a img {
  width: 2em;
}
#navi #navi-in ul li a i {
  font-weight: 400;
}
.navi_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-left: 390px;
}

.navi_site_title {
  font-size: var(--FontSize-fontSize-9);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.72px;
  color: var(--global_color);
}
.inactive_menu {
  pointer-events: none;
  text-decoration: none;
}
.inactive_menu_color {
  color: var(--BorderCard-secondary) !important;
}

/*---------------------------------
  ハンバーガーメニュー
---------------------------------*/
.drawer-hamburger,
.drawer--right.drawer-open .drawer-hamburger {
  position: fixed;
  top: 11px;
  right: 20px;
  width: 30px;
}
.drawer--right .drawer-hamburger {
  right: 14px;
}

.drawer-nav {
  background-color: rgb(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  top: 80px;
  width: 30rem;
}
.drawer--right .drawer-nav {
  right: -30rem;
}
.drawer-nav ul {
  display: flex;
  flex-direction: column;
  color: var(--primary_color);
  margin: 0;
}
/* ヘッダーの高さ分ハンバーガーメニューのスクロール範囲追加 */
.drawer-nav ul li:last-child {
  padding-bottom: 80px;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon::before,
.drawer-hamburger-icon::after {
  background-color: var(--global_color);
  height: 3px;
}
#navi #navi-in .drawer-nav ul li a {
  padding: calc(var(--Space-space-6) / 2) var(--Space-space-4);
  color: var(--primary_color);
  font-size: var(--FontSize-fontSize-6);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 2.4px;
  width: 100%;
}
#navi #navi-in .drawer-nav ul li a:hover {
  color: var(--nav_text_hover_color);
}
#navi #navi-in .drawer-nav ul .hamburger_icon a {
  padding: 15px 0 10px 15px;
}
#navi #navi-in .drawer-nav ul .hamburger_icon a:hover {
  opacity: 0.5;
}
#navi #navi-in .drawer-nav ul img {
  filter: brightness(0);
}
/*SIゴルフトーナメントcolor*/
#navi #navi-in .drawer-nav ul .inactive_menu_color a {
  color: var(--BorderCard-secondary);
}
@media (max-width: 1350px) {
  .navi_flex {
    margin-left: 370px;
  }
}
/* PC（画面サイズ：大） */
@media (max-width: 1199px) {
  #header_logo {
    height: 95px;
  }
  #navi.navi {
    font-size: 0.8rem;
  }
  .navi_flex {
    margin-left: 345px;
  }
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #header_logo {
    height: 92px;
  }
  #navi #navi-in ul li a,
  #navi .navi_site_title {
    display: none;
  }
  .drawer-hamburger,
  .drawer--right.drawer-open .drawer-hamburger,
  #navi #navi-in .drawer-nav ul li a {
    display: block;
  }
}

/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #header_logo {
    height: 69px;
  }
  header {
    height: 60px;
  }
  .menu-btn {
    top: 0;
  }

  /*---------------------------------
  ハンバーガーメニュー
---------------------------------*/
  .drawer-nav {
    top: 60px;
  }
  .drawer-hamburger,
  .drawer--right.drawer-open .drawer-hamburger {
    top: 0;
  }
  .drawer-nav {
    width: 30rem;
  }
  .drawer--right .drawer-nav {
    right: -30rem;
  }

  /* ヘッダーの高さ分ハンバーガーメニューのスクロール範囲追加 */
  .drawer-nav ul li:last-child {
    padding-bottom: 60px;
  }
}
/* *************************************************************** */
/* フッター                                                         */
/* *************************************************************** */
/*  フッターのスタイルを設定します                                    */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
footer {
  padding: var(--Space-space-7) var(--Space-space-7) var(--Space-space-9);
  gap: var(--Space-space-5);

  background-color: var(--Text-accent-navy);
  text-align: center;
}
.footer_row {
  display: flex;
  column-gap: var(--Space-space-7);
  margin-bottom: var(--Space-space-3);
}
.footer_row:last-of-type {
  margin-bottom: 0;
}
footer ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--Space-space-4) var(--Space-space-6);
  width: 100%;
}
@media (min-width: 767px) {
  footer .footer_row:nth-of-type(2) ul {
    padding: var(--Space-space-4) 0;
  }
}

footer ul li {
  list-style: none;
  font-size: 0.7rem;
}
footer ul li a {
  color: var(--global_color);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.1;
  letter-spacing: 1.1px;
  text-decoration-line: underline;
}
.footer_comingsoon {
  color: var(--global_color);
  font-size: 1rem;
  line-height: 1.8rem;
}
.footer_firstlist {
  background-color: var(--global_color);
  color: var(--Text-accent-navy);
  width: 10rem;
  height: 2rem;
  padding: var(--Space-space-4) var(--Space-space-3);
  font-size: var(--FontSize-fontSize-2);
  font-weight: 700;
  line-height: 2rem;
  letter-spacing: 0.8px;
}
.footer_logo {
  width: 200px;
  margin: var(--Space-space-5) 0 var(--Space-space-4);
}
#copyright {
  color: var(--global_color);
  font-size: var(--FontSize-fontSize-1);
  line-height: 1.4;
  letter-spacing: 1.2px;
}

@media (max-width: 1400px) {
  .footer_firstlist {
    width: 11rem;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  footer {
    padding-top: var(--Space-space-8);
  }
  .footer_row {
    display: block;
    margin-bottom: var(--Space-space-5);
  }
  .footer_firstlist {
    width: calc(100% - 8px * 2);
    height: 16px;
    padding: var(--Space-space-5) var(--Space-space-3);
    align-items: center;
    text-align: left;
    font-size: var(--FontSize-fontSize-2);
    line-height: 16px;
    letter-spacing: 0.6px;
    margin-bottom: var(--Space-space-5);
  }
  footer ul {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--Space-space-5);
  }
  .footer_logo {
    margin: var(--Space-space-7) 0 var(--Space-space-5);
  }
}

/* *************************************************************** */
/* お知らせ                                                         */
/* *************************************************************** */
/*  お知らせ部品のスタイルを設定します                                */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#notification_wrap {
  margin-top: var(--Space-space-12);
}
#notification_top {
  width: 100%;
  height: 60px;
  border-radius: 100% 100% 0 0;
  display: none;
}
#info_category_wrap {
  display: flex;
  justify-content: center;
  margin: var(--Space-space-5) 0;
  flex-wrap: wrap;
}
#info_category_wrap p {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.1;
  letter-spacing: 1.1px;
  margin: var(--Space-space-4);
}
#info_category_wrap div + div {
  border-left: 1px solid var(--BorderCard-secondary);
}
.select_category {
  border-bottom: 2px solid var(--primary_color);
  font-weight: 700;
}
#notification_table_wrap {
  width: 100%;
  height: 400px;
  overflow-y: scroll;
}

#notification_table_wrap:has(> p) {
  height: 200px;
}
#notification_table {
  width: 100%;
}
#notification_table tr {
  border-bottom: 1px solid var(--BorderCard-secondary);
  display: flex;
  padding: var(--Space-space-5);
  align-items: flex-start;
  gap: var(--Space-space-5);
  width: calc(100% - var(--Space-space-5) * 2);
}
#notification_table td.table_days {
  width: 9.7rem;
  white-space: nowrap;
}
#notification_table td.table_category {
  width: 160px;
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
#notification_table td.table_category div {
  background-color: var(--Text-accent-navy);
  padding: 0 var(--Space-space-4);
  color: var(--global_color);
}
#notification_table td.table_title {
  text-align: left;
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1.1px;
  width: calc(100% - 9.7rem - 160px - var(--Space-space-4) * 3);
}
.no_notification {
  padding: 0 0 20px 0;
}
#notification_table td.table_title a {
  text-decoration: none !important;
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #info_category_wrap {
    margin: var(--Space-space-6) 0;
  }
  #notification_table_wrap {
    width: 95%;
    margin: 0 auto;
  }
  #info_category_wrap p {
    margin: var(--Space-space-5) var(--Space-space-3);
  }
  #notification_table_wrap:has(> p) {
    height: 100px;
  }
  #notification_table td.table_category {
    letter-spacing: 1px;
  }
  #notification_table td.table_category div {
    padding: 0 var(--Space-space-3);
  }
}

/* *************************************************************** */
/* 後援・協力企業一覧                                                */
/* *************************************************************** */
/*  後援・協力企業一覧部品のスタイルを設定します                       */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#cooperation {
  display: flex;
}
.cooperation_block p {
  padding: 0 10px 10px;
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #cooperation {
    display: block;
  }
  .cooperation_block p {
    padding: 0 10px 15px;
  }
}

/* *************************************************************** */
/* FAX・申込用紙ダウンロード                                         */
/* *************************************************************** */
/*  FAX・申込用紙ダウンロード部品のスタイルを設定します                */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#fax_wrap {
  background: rgb(7, 81, 55);
  background: linear-gradient(
    317deg,
    rgba(7, 81, 55, 1) 0%,
    rgba(1, 55, 125, 1) 41%
  );
  color: var(--global_color);
  text-align: center;
  display: flex;
  padding: var(--Space-space-7);
  flex-direction: column;
  align-items: center;
  gap: var(--Space-space-7);
}
#fax_wrap h1 {
  margin: 0;
}
#fax_content_wrap {
  display: flex;
  justify-content: center;
  gap: var(--Space-space-7) 12rem;
}
#fax_wrap a {
  color: var(--global_color);
}
@media (max-width: 1400px) {
  #fax_content_wrap {
    column-gap: 7rem;
  }
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #fax_wrap {
    padding: var(--Space-space-6) 0;
    gap: var(--Space-space-6);
  }
  #fax_content_wrap {
    flex-direction: column;
  }
  #fax_wrap a {
    margin: 0 auto;
  }
}

/* *************************************************************** */
/* お問い合わせ                                                     */
/* *************************************************************** */
/*  お問い合わせ部品のスタイルを設定します                            */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#contact_wrap {
  background: linear-gradient(
    317deg,
    rgba(1, 55, 125, 1) 0%,
    rgba(7, 81, 55, 1) 41%
  );
  color: var(--global_color);
  text-align: center;
  padding: var(--Space-space-7) 0;
}
#contact_wrap h1 {
  margin: 0;
}
#contact_content_wrap {
  display: flex;
  justify-content: center;
  margin-top: var(--Space-space-7);
  gap: 12rem;
}
#contact_wrap a {
  color: var(--global_color);
  font-size: var(--FontSize-fontSize-5);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 2px;
}
.contact_content p:not(:first-of-type) {
  margin-top: var(--Space-space-3);
}
.contact_subtext {
  font-size: var(--FontSize-fontSize-2);
  line-height: 1.2;
}
a + .contact_subtext {
  margin-left: var(--Space-space-4);
}
@media (max-width: 1400px) {
  #contact_content_wrap {
    gap: 7rem;
  }
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #contact_content_wrap {
    flex-direction: column;
    gap: var(--Space-space-8);
  }
  #contact_wrap a {
    margin: 0 auto;
  }
  .contact_content p {
    margin-top: var(--Space-space-4);
  }
  a + .contact_subtext {
    margin-left: var(--Space-space-3);
  }
}

/* *************************************************************** */
/* フッターバナー                                                    */
/* *************************************************************** */
/*  フッターバナー部品のスタイルを設定します                           */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#footer_banner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-items: center;
  grid-row-gap: 20px;
  grid-column-gap: 6.5rem;
  margin: 0 auto;
}
#footer_banner a {
  height: fit-content;
  width: fit-content;
}
#footer_banner a img {
  object-fit: contain;
  max-height: 10rem;
}
.footer_banner_wrap {
  background-color: var(--background_color);
}
.footer_container {
  width: 80%;
  margin: 0 auto;
  padding: var(--Space-space-11) 0;
}
@media (max-width: 1400px) {
  #footer_banner {
    grid-column-gap: 20px;
  }
}
/* PC（画面サイズ：大） */
@media (max-width: 1199px) {
  #footer_banner a img {
    max-height: 8rem;
  }
}
@media (max-width: 1020px) {
  #footer_banner {
    justify-items: center;
    margin: 0 auto;
  }
  #footer_banner a img {
    max-height: 8rem;
  }
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #footer_banner {
    grid-column-gap: 10px;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #footer_banner {
    flex-direction: column;
    display: flex;
    gap: var(--Space-space-6);
  }
  #footer_banner a {
    width: fit-content;
    margin: 0 auto;
  }
  #footer_banner a img {
    max-height: 13.5rem;
  }
  .footer_container {
    width: 100%;
    padding: var(--Space-space-8) 0 var(--Space-space-10);
  }

  #t_about .mt10 {
    display: block;
    margin-top: 10px;
  }
}
@media (max-width: 550px) {
  #footer_banner {
    width: 100%;
    margin: 0 auto;
  }
}
/* スマートフォン（画面サイズ極小 iphoneSEとか） */
@media (max-width: 350px) {
  #footer_banner {
    display: flex;
    justify-items: center;
    width: 100%;
    margin: 0 auto;
    background-color: var(--background_color);
  }
  #footer_banner a {
    margin: 20px 0px 0px 5rem;
  }
  #footer_banner a img {
    width: 10rem;
  }
}

/* *************************************************************** */
/* トップ画面                                                      */
/* *************************************************************** */
/*  トップ画面のスタイルを設定します                                  */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
/*MV slick*/
.mv_slick {
  overflow: hidden;
}
.slick-prev,
.slick-next {
  width: 5.2vw;
  height: 5.2vw;
  background-color: var(--background_color);
  border-radius: 50%;
  opacity: 0.65;
  z-index: 1;
}
.slick-next,
.slick-prev {
  top: 50%;
  transform: translateY(calc(-50% + 40px));
}
.slick-next {
  right: 4vw;
}
.slick-prev {
  left: 4vw;
}
.slick-prev:before,
.slick-next:before {
  font-size: 3vw;
  color: var(--background_color);
  position: relative;
}
.slick-prev::before,
.slick-next::before {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 50%;
  color: var(--global_color);
  opacity: 1;
  transform: translate(-50%, -50%);
  line-height: 2rem;
}
.slick-prev::before {
  content: "\f104";
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  background-color: var(--background_color);
  width: 5.2vw;
  height: 5.2vw;
  opacity: 0.5;
}

#home_wrap {
  background-color: var(--background_color);
  padding-bottom: var(--Space-space-12);
}
.top_banner_wrap {
  text-align: center;
  background-color: var(--background_color);
}
#top_banner_cn {
  width: 70%;
  display: block;
  margin: var(--Space-space-10) auto 0;
}

.top_banner_wrap .img-fluid {
  width: 63%;
  margin: var(--Space-space-5) auto 0;
}

.pgs_banner_wrap {
  text-align: center;
  background-color: var(--background_color);
  padding-top: 20px;
}

#top_banner_search {
  background-color: var(--background_color);
  padding-bottom: var(--Space-space-12);
}
#top_schedule {
  padding-top: var(--Space-space-10);
  margin-top: 0;
}
#top_schedule .button_wrap span {
  font-size: var(--FontSize-fontSize-5);
}
.tournament_wrap {
  display: block;
}
.tournament_wrap_sp {
  display: none;
}

#top_class_text {
  margin-bottom: 15px;
}
.class_row {
  display: flex;
  margin: 0 auto;
  width: 83%;
}

/*TOP 大会ボタン*/
.inner_class_button {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--Space-space-5) var(--Space-space-7);
  list-style: none;
  width: 48.5rem;
}
@media screen and (min-width: 991px) {
  #oneshot_match .inner_class_button {
    column-gap: var(--Space-space-12);
  }
}
#tournament_phoenix .inner_class_button,
#oneshot_match .inner_class_button {
  width: 95%;
}

.class_box {
  width: calc(100vw / 1);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--global_color);
}

.class_box {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 110%;
  transition: all 0.7s;
  position: relative;
  z-index: 0;
  overflow: hidden; /*ブラー効果でボヤけた部分を非表示*/
}
.class_box::before {
  content: "";
  background: inherit; /*.bgImageで設定した背景画像を継承する*/
  -webkit-filter: blur(2px) brightness(0.85);
  -moz-filter: blur(2px) brightness(0.85);
  -o-filter: blur(2px) brightness(0.85);
  -ms-filter: blur(2px) brightness(0.85);
  filter: blur(2px) brightness(0.85);
  position: absolute;
  /*ブラー効果で画像の端がボヤけた分だけ位置を調整*/
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  z-index: -1; /*重なり順序を一番下にしておく*/
}
.class_row .class_box > a > img {
  width: 100%;
}
.class_row:not(:nth-last-of-type(1)) .class_box > a > img {
  border-bottom: 1px solid var(--global_color);
}

.top_button_wrap {
  position: absolute;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  left: 50%;
  transform: translateX(-50%);
  bottom: 2.2rem;
  gap: 2rem;
  width: 100%;
  pointer-events: none;
}

#club_match .top_button_wrap {
  bottom: 4.7vw;
}

.inner_class_button > div {
  position: relative;
}

.inner_class_button li a {
  display: inline-flex;
  align-items: center;
  width: auto;
  position: relative;
  pointer-events: all;
}

.inner_class_button li:first-child {
  width: 100%;
}
#oneshot_match .inner_class_button li:first-child {
  width: auto;
}

.inner_class_button button {
  width: 23rem;
  height: 4.5rem;
  font-family: "Noto Sans JP";
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.6rem;
  color: var(--primary_color);
  text-align: center;
  padding: var(--Space-space-2) var(--Space-space-5) var(--Space-space-2)
    var(--Space-space-3);
  border: solid 1px var(--global_color);
  background-color: var(--global_color);
  white-space: nowrap;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--Space-space-2);
}
.inner_class_button button span {
  font-family: "Noto Sans JP";
  font-size: var(--FontSize-fontSize-5);
  font-weight: 700;
  line-height: var(--FontSize-fontSize-5);
  letter-spacing: 1px;
  color: var(--primary_color);
  text-align: center;
}

.inner_class_button button img {
  width: 4rem;
  height: auto;
}
.inner_class_button button span {
  width: 100%;
}

.inner_class_button a::after {
  content: "";
  display: inline-block;
  background-image: url(./images/chevron-right.png);
  position: absolute;
  right: 8px;
  width: 24px;
  height: 24px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.inner_class_button button:hover {
  background-color: var(--transparent);
}
.inner_class_button button:hover span {
  color: var(--global_color);
}
.inner_class_button a:hover::after {
  -webkit-filter: grayscale(1) brightness(100);
  -moz-filter: grayscale(1) brightness(100);
  -ms-filter: grayscale(1) brightness(100);
  filter: grayscale(1) brightness(100);
}
.inner_class_button b,
.inner_class_button time {
  display: block;
  text-align: center;
  font-size: var(--FontSize-fontSize-6);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: normal;
  white-space: nowrap;
}
.inner_class_button b {
  margin-top: var(--Space-space-5);
}
.inner_class_button time {
  font-weight: 900;
  letter-spacing: 2.8px;
}

#oneshot_match .inner_class_button a {
  width: fit-content;
}
.class_box:hover {
  transition: all 0.7s;
  background-size: 120%;
}
.class_box:hover::before {
  -webkit-filter: blur(2px) brightness(1);
  -moz-filter: blur(2px) brightness(1);
  -o-filter: blur(2px) brightness(1);
  -ms-filter: blur(2px) brightness(1);
  filter: blur(2px) brightness(1);
}
@media (max-width: 1700px) {
  .inner_class_button button {
    width: 21rem;
  }
  .inner_class_button button img {
    width: 3.3rem;
  }
  .inner_class_button a::after {
    right: 4px;
  }
}
@media screen and (max-width: 1400px) {
  .top_button_wrap {
    bottom: 1.5rem;
  }
  .inner_class_button button {
    width: 19.5rem;
    height: 4rem;
  }
  .inner_class_button b {
    margin-top: 0.5rem;
  }
}
@media (max-width: 1350px) {
  .class_box {
    background-size: 140%;
  }
  .class_box:hover {
    background-size: 160%;
  }
}
@media screen and (max-width: 1199px) {
  .inner_class_button button img {
    width: 3.5rem;
  }
  .inner_class_button button {
    width: 16.5rem;
    height: 3.8rem;
  }
  .inner_class_button button span span {
    font-size: 0.73rem;
    line-height: 0.73rem;
    letter-spacing: 0.8px;
  }
  .inner_class_button a::after {
    width: 20px;
    height: 20px;
  }
  .top_banner_wrap {
    background-color: var(--background_color);
  }
  .top_banner_wrap .img-fluid {
    width: 70%;
  }
}
@media screen and (max-width: 991px) {
  .class_row .class_box > a > img.display_sp_991 {
    display: inline-block;
  }
  .top_button_wrap {
    bottom: 3.6rem;
  }
  .inner_class_button {
    gap: var(--Space-space-5);
  }
  .inner_class_button {
    width: 95%;
  }
  .inner_class_button li a,
  .inner_class_button button,
  #oneshot_match .inner_class_button a {
    width: 100%;
  }
  .inner_class_button button {
    padding: 0 var(--Space-space-5) 0 var(--Space-space-2);
  }

  .inner_class_button li,
  #tournament_phoenix .inner_class_button li:first-child,
  #oneshot_match .inner_class_button li:first-child {
    display: block;
    width: calc((100% - 16px) / 2);
  }
  .inner_class_button li:first-child a {
    max-width: calc((100% - 16px) / 2);
  }
  #tournament_phoenix .inner_class_button li:first-child a,
  #oneshot_match .inner_class_button li:first-child a {
    width: 100%;
    max-width: none;
  }
  .inner_class_button button {
    height: 5rem;
  }

  #club_match .top_button_wrap {
    bottom: 11.5vw;
  }
  .class_row {
    width: 100%;
  }
  .top_banner_wrap .img-fluid {
    width: 90%;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #top_schedule {
    padding: var(--Space-space-10) 0 var(--Space-space-12);
  }
  .inner_class_box {
    font-size: 1.2rem;
    padding-top: 20px;
  }
  .mt#tournament_phoenix12_sp {
    margin-top: 12px;
  }
  .btn_display_sp {
    display: inline-flex;
    justify-content: center;
    margin-bottom: 8px;
  }

  .top_banner_wrap .img-fluid {
    width: calc(100% - var(--Space-space-5) * 2);
  }

  /*top スケジュール検索*/
  #top_schedule .dropdown_picker > .form-control {
    box-sizing: border-box;
  }
  #top_schedule .dropdown_picker .fa-calendar {
    right: 0;
    padding-top: 0;
  }
  #top_schedule .fa-calendar:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
  }

  .class_image_small {
    margin-top: 60px;
  }
  #top_banner_cn {
    width: 90%;
  }
  .class_box {
    width: 100%;
    background-size: 120%;
  }
  .class_box:hover {
    background-size: 140%;
  }
  .class_box#club_match {
    border-left: none;
    border-right: none;
  }
  #notification_table {
    text-align: left;
  }
  #notification_table tr {
    flex-wrap: wrap;
    align-items: center;
    gap: var(--Space-space-4) var(--Space-space-3);
    padding: var(--Space-space-5) 0;
    width: 100%;
  }

  #notification_table td.table_category {
    text-align: center;
  }
  #notification_table td.table_days,
  #notification_table td.table_category {
    display: inline-block;
    border-bottom: none;
  }
  #notification_table td.table_days {
    width: auto;
  }
  #notification_table td.table_title {
    display: block;
    width: 100%;
  }

  #tournament_phoenix > p {
    padding-top: 2px;
  }
  #tournament_phoenix {
    background-size: auto;
  }
}
@media (max-width: 480px) {
  .inner_class_button b,
  .inner_class_button time {
    font-size: var(--FontSize-fontSize-2);
  }
  .inner_class_button time {
    letter-spacing: 1.8px;
  }
}

/* *************************************************************** */
/* 大会トップ                                                       */
/* *************************************************************** */
/*  大会トップのスタイルを設定します                                  */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
.container.match_class_container {
  margin-top: var(--Space-space-10);
  margin-bottom: var(--Space-space-12);
}
.submenu#match_top {
  background-color: var(--match_top_color);
}
.submenu#team_match {
  background-color: var(--team_match_color);
}
.submenu#doubles_match {
  background-color: var(--doubles_match_color);
}
.submenu#mixdoubles_match {
  background-color: var(--mix_doubles_match_color);
}
.submenu#couple_doubles_match {
  background-color: var(--couple_doubles_color);
}
.submenu#ladies_team_match {
  background-color: var(--ladies_team_match_color);
}
.submenu#ladies_doubles_match {
  background-color: var(--ladies_doubles_color);
}
.submenu#singles_g1_match {
  background-color: var(--singles_g1_color);
}
.submenu#singles_g2_match {
  background-color: var(--singles_g2_color);
}
.submenu#singles_senior_match {
  background-color: var(--singles_senior_color);
}

.submenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  top: -1px;
  min-height: calc(72px - 20px * 2);
  align-items: center;
  padding: var(--Space-space-5) var(--Space-space-4);
  gap: var(--Space-space-5) var(--Space-space-9);
  width: 93%;
  margin: auto;
}
.submenu a {
  color: var(--global_color);
  text-shadow: 0 1px 4ppx var(--submenu_shadow_color);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.4px;
  text-align: center;
}
.submenu a:not(.select_class) {
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 4px;
}

#phoenix .period_area,
#oneshottournament .class_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#phoenix .schedule_period,
#oneshottournament .schedule_tournament_area {
  background-color: var(--category_title_color);
  color: var(--global_color);
  padding: var(--Space-space-2) var(--Space-space-0);
  font-size: var(--FontSize-fontSize-8);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: var(--Space-space-4);
}
#phoenix form input,
#oneshottournament form input {
  width: max-content;
  background-color: var(--Text-accent-navy);
  padding: var(--Space-space-2) var(--Space-space-4);
  color: var(--global_color);
  text-align: center;
  font-size: var(--FontSize-fontSize-5);
  font-weight: 700;
  line-height: 26px;
  letter-spacing: 1.2px;
}
.submenu .select_class {
  font-weight: 900;
  position: relative;
}
.submenu .select_class::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px; /*下線の上下位置調整*/
  display: inline-block;
  width: 100%; /*下線の幅*/
  height: 2px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: var(--global_color); /*下線の色*/
  box-shadow: 0px 0px 4px var(--submenu_shadow_color);
}
.submenu a.entry_class {
  font-size: 1.1rem;
}
.match_top_container h2 {
  color: var(--Text-primary);
  text-align: center;
  font-size: var(--FontSize-fontSize-6);
  font-weight: 700;
  line-height: 1.4;
  margin: var(--Space-space-5) 0;
}
.match_class_container hr {
  margin-bottom: var(--Space-space-5);
}

.match_top_container .scratch {
  color: var(--marker_color);
}
.composition_image {
  margin-bottom: var(--Space-space-10);
  width: 100%;
}
.container:has(.support_company_title) {
  margin-top: var(--Space-space-10);
  margin-bottom: var(--Space-space-12);
}
.support_company_title {
  margin-top: var(--Space-space-10);
}
.support_company_title + hr {
  margin-bottom: var(--Space-space-5);
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  .submenu {
    top: -2px;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  .submenu {
    width: calc(100% - var(--Space-space-4) * 2);
    gap: var(--Space-space-4) var(--Space-space-5);
  }
  .submenu a {
    letter-spacing: 1px;
  }
  #phoenix .period_area,
  #oneshottournament .class_area {
    display: flex;
    flex-direction: column;
    align-items: end;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
  }

  #phoenix form input,
  #oneshottournament form input {
    width: 100%;
    height: 44px;
  }
}
.modal_btn {
  background-color: var(--transparent);
  border: none;
  padding: 0;
}
/* モーダル */
.modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}
.modal:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
  pointer-events: none;
}
.modal:target {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s, visibility 0.5s;
  pointer-events: all;
}
.modal.display_modal {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s, visibility 0.5s;
  pointer-events: all;
}
.modal .overlay {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: var(--Overray-overray);
  top: 0;
  left: 0;
}
.modal-wrapper {
  z-index: 8;
  max-width: 100vh;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.modal-contents {
  width: 100%;
  position: relative;
}
.modal-content {
  display: flex;
  justify-content: flex-end;
}
.modal-contents img {
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  height: 100vw; /* 回転後の画像を横幅いっぱいに合わせるため height を使う */
  width: auto;
  max-width: 70vh;
}
.modal-contents .close_icon {
  position: relative;
  top: -60px;
  width: 40px;
  left: auto;
  height: 62vh;
  right: 10px;
  z-index: 100;
  object-position: top;
  pointer-events: none;
  transform: translate(0%, 0%) rotate(0deg);
}

@media (min-width: 767px) {
  .modal_btn {
    pointer-events: none;
  }
  .modal {
    display: none;
    pointer-events: none;
  }
}

/* *************************************************************** */
/* 各クラススケジュール画面                                           */
/* *************************************************************** */
/*  各クラススケジュール画面のスタイルを設定します                     */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
.summary_btn {
  border: 1px solid var(--Text-accent-navy);
  color: var(--Text-accent-navy);
}
.summary_btn::before {
  border: 1px solid var(--Text-accent-navy);
}
.display_period {
  color: var(--Text-accent-navy);
  font-size: 2.2rem;
  font-weight: 900;
  margin: 20px 0;
}
.period_area,
.class_area {
  display: flex;
  margin: var(--Space-space-5) 0;
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-6);
  font-weight: 700;
  line-height: 1.4;
}
.area {
  display: flex;
  align-items: center;
}
.area p {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-6);
  font-weight: 700;
  line-height: 1.4;
}
.submit_select {
  padding: 5px;
  width: 100px;
  font-size: 1.4rem;
  font-weight: 900;
}

input[type="submit"].submit_select {
  background-color: var(--Text-accent-navy);
  color: var(--global_color);
}
#phoenix input[type="submit"].submit_disabled {
  background-color: var(--BorderCard-secondary);
  pointer-events: none;
}

/*---------------------------------
  地区カテゴリリスト
---------------------------------*/
.area_box {
  outline: 0;
  text-align: center;
}
.dropdown {
  width: 300px;
  display: inline-block;
  background-color: var(--global_color);
  border-radius: 2px;
  border: solid 2px var(--Text-accent-navy);
  transition: all 0.5s ease;
  position: relative;
  font-size: 14px;
  color: var(--Text-accent-navy);
  height: 40px;
  text-align: left;
}
.dropdown .select {
  cursor: pointer;
  display: block;
  padding: 0 var(--Space-space-4);
  line-height: 40px;
}
.dropdown .select > i {
  font-size: 13px;
  color: var(--dropdown_icon_color);
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  float: right;
  line-height: 40px;
  transform: rotate(-90deg);
}
.dropdown:hover {
  border: solid 2px var(--Text-accent-navy);
}
.dropdown:active {
  background-color: var(--dropdown_active_color);
}
.dropdown.active:hover,
.dropdown.active {
  border: solid 2px var(--Text-accent-navy);
  border-radius: 2px 2px 0 0;
  background-color: var(--dropdown_active_color);
}
.dropdown.active .select > i {
  transform: rotate(90deg);
}

.dropdown .dropdown-menu {
  position: absolute;
  background-color: var(--global_color);
  width: 100%;
  left: 0;
  margin-top: 1px;
  border: solid 1px var(--Text-accent-navy);
  border-radius: 0 1px 2px 2px;
  overflow: hidden;
  display: none;
  max-height: 144px;
  overflow-y: auto;
  z-index: 2;
}
.dropdown .dropdown-menu li {
  padding: 5px 10px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.dropdown .dropdown-menu {
  padding: 0;
  list-style: none;
}
.dropdown .dropdown-menu li:hover {
  background-color: var(--dropdown_menu_hover);
}
.dropdown .dropdown-menu li:active {
  background-color: var(--dropdown_menu_active);
}

.schedule_wrap {
  background-color: var(--Background-tertiary);
  padding: var(--Space-space-8) var(--Space-space-7);
  color: var(--primary_color);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
.schedule_title {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
  text-align: left;
  padding: var(--Space-space-2) var(--Space-space-6);
}
.schedule_area {
  margin-bottom: var(--Space-space-5);
  text-align: left;
}
.bottombox_wrap + .schedule_area {
  margin-top: var(--Space-space-5);
}
.schedule_row {
  background-color: var(--global_color);
  margin-bottom: 20px;
}
.schedule_content {
  margin: var(--Space-space-5) 0 var(--Space-space-5) var(--Space-space-5);
}
.schedule_content .schedule_local {
  line-height: 22px;
}
.schedule_link {
  display: flex;
  align-items: center;
}
.text_summary .link_pdf,
.text_summary .link_page {
  color: var(--accent_color);
}
.link_pdf::after,
.link_page::after {
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  position: relative;
  top: 4px;
}
.link_pdf::after {
  background-image: url("./images/icon_pdf.png");
}
.link_page::after {
  background-image: url("./images/icon_pagelink.png");
}
.cmt {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
  text-align: left;
}
#match_day {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 178px;
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
#match_day .schedule_day,
.schedule_course {
  font-size: var(--FontSize-fontSize-10);
  font-weight: 900;
  line-height: 1;
}
#match_day .schedule_day span {
  font-size: var(--FontSize-fontSize-4);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.4px;
}
.schedule_place {
  text-align: left;
}
a.schedule_course {
  text-decoration: none;
  color: var(--primary_color);
}

.rightbox {
  display: block;
  padding: var(--Space-space-2) var(--Space-space-5);
  border-left: 1px solid var(--BorderCard-secondary);
}
.schedule_place {
  text-align: left;
  align-items: baseline;
}
.schedule_place span {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
.schedule_fee {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--Space-space-2);
  margin-top: var(--Space-space-4);
  text-align: left;
}
.schedule_fee p {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
.flex {
  display: flex;
}

.middlebox {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
  background-color: var(--global_color);
  display: flex;
}
.bottombox_wrap {
  background-color: var(--global_color);
  border-top: 1px solid var(--BorderCard-secondary);
  padding: var(--Space-space-4) var(--Space-space-5);
  margin-bottom: var(--Space-space-5);
}
.bottombox {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lefttext {
  display: flex;
  gap: var(--Space-space-6);
}
.lefttext p span {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
.caution_cancel {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
  color: var(--Text-alert);
  text-align: left;
}
.textCenter {
  color: var(--Text-primary);
  text-align: center;
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  .area {
    gap: var(--Space-space-3) 0;
    justify-content: flex-end;
    width: 100%;
    margin-bottom: var(--Space-space-3);
  }
  .area .tournament_class_box,
  .area .dropdown {
    width: 100vw;
    max-width: 228px;
  }
  .area p {
    white-space: nowrap;
  }
  .period_area,
  .class_area {
    margin: var(--Space-space-4) 0;
  }

  .schedule_wrap {
    width: calc(100vw - 16px * 2);
    margin: 0 calc(50% - 50vw);
    padding: var(--Space-space-8) 16px;
  }
  .schedule_area {
    margin-bottom: var(--Space-space-4);
  }
  .schedule_title {
    letter-spacing: 1px;
    padding: var(--Space-space-3) var(--Space-space-6);
  }
  .schedule_row .row .schedule_content + .schedule_content {
    border: none;
  }
  .middlebox {
    flex-direction: column;
    gap: var(--Space-space-3);
    padding: var(--Space-space-4) var(--Space-space-6);
  }
  .schedule_content {
    margin: 0;
    text-align: left;
  }
  .rightbox {
    padding: 0;
    margin: 0;
    border-left: none;
  }
  #match_day {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }
  .schedule_place {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
    gap: var(--Space-space-1);
  }
  .bottombox_wrap {
    padding: var(--Space-space-5) var(--Space-space-6);
  }
  .bottombox {
    flex-direction: column;
    align-items: center;
    gap: var(--Space-space-6);
  }
  .bottombox .col-md {
    width: 100%;
  }
  .lefttext {
    gap: var(--Space-space-7);
  }
  .schedule_fee {
    margin-top: var(--Space-space-3);
    gap: 0;
  }

  #match_day,
  .schedule_fee p,
  .lefttext p span {
    letter-spacing: 1px;
  }
  .cmt {
    letter-spacing: 1px;
  }

  .period_area,
  .class_area {
    display: block;
    height: auto;
    margin-left: 40px;
  }
  .schedule_link {
    justify-content: center;
  }
  .modal_btn {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .caution_cancel {
    letter-spacing: 1px;
    padding-top: var(--Space-space-5);
  }
}

/* *************************************************************** */
/* 各クラス大会概要画面                                   */
/* *************************************************************** */
/*  各クラス大会概要画面のスタイルを設定します                         */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
.summary_table {
  text-align: left;
  width: 100%;
}
.summary_table tr {
  border-bottom: solid 1px var(--BorderCard-secondary);
  display: flex;
  padding: var(--Space-space-7) var(--Space-space-0);
  align-items: center;
  gap: var(--Space-space-7);
}
.summary_table th {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
  width: 15%;
}
.summary_table td {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
  width: 85%;
}
.summary_table .overview_link {
  color: var(--Text-accent-blue);
  text-decoration: underline;
}
.summary_precautions {
  text-align: left;
  background-color: var(--Background-tertiary);
  margin: 0 var(--Space-space-7);
  padding: var(--Space-space-8) var(--Space-space-12);
}
.summary_precautions ul {
  list-style: "●";
  list-style-position: inside;
  display: flex;
  flex-direction: column;
  gap: var(--Space-space-3);
}
.summary_precautions ul li {
  color: var(--marker_color);
}
.summary_precautions ul li span {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
.summary_precautions #precautions {
  margin-bottom: var(--Space-space-7);
}
.summary_precautions #personal {
  margin: var(--Space-space-9) 0 var(--Space-space-7);
}

#summary_precautions .personal_supplement {
  display: flex;
  flex-direction: column;
}
#summary_precautions .personal_supplement span {
  padding: 0;
  line-height: 1.5rem;
  letter-spacing: 1.4px;
  color: var(--primary_color);
}
#summary_precautions .personal_supplement span a {
  text-decoration: underline;
}
.sponsorship_td {
  display: flex;
  align-items: center;
}
.sponsorship_td img {
  width: 90%;
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  .summary_table tr {
    padding: var(--Space-space-6) var(--Space-space-0);
  }
  .summary_table th {
    width: 20%;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  .summary_table td {
    width: 80%;
  }
  #summary_precautions .personal_supplement span {
    letter-spacing: 1px;
  }
  .summary_precautions {
    margin: 0 16px;
    padding: var(--Space-space-8) var(--Space-space-6) var(--Space-space-10);
  }
  .summary_precautions #precautions {
    margin-bottom: var(--Space-space-6);
  }
  .summary_precautions #personal {
    margin: var(--Space-space-8) 0 var(--Space-space-6);
  }
}

/* *************************************************************** */
/* お問い合わせフォーム                                              */
/* *************************************************************** */
/*  お問い合わせフォームのスタイルを設定します                         */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
.container#contactform {
  margin-top: 84px;
  margin-bottom: var(--Space-space-9);
}
#contactform hr {
  margin-bottom: var(--Space-space-4);
}
#contactform table {
  width: 100%;
}
#contactform th,
#contactform td {
  padding: var(--Space-space-7) var(--Space-space-5);
  border: 1px solid var(--BorderCard-secondary);
}
#contactform td:has(input[type="radio"]),
#contactform td:has(input[type="checkbox"]) {
  padding: var(--Space-space-7);
}

#contactform th {
  background-color: var(--Background-tertiary);
  width: 19.8rem;
  vertical-align: middle;
}
#contactform th p {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--Space-space-2);
}

#contactform td {
  text-align: left;
}
#contactform td label {
  display: block;
}
.required {
  width: 38px;
  border-radius: 2px;
  background: var(--Text-alert-2);
  color: var(--global_color);
  display: inline-block;
  font-size: var(--FontSize-fontSize-1);
  font-weight: 900;
  line-height: 1;
  padding: 3px 0;
  text-align: center;
}
#personal_info {
  text-align: left;
  box-shadow: 0 0 24px 0 rgba(188, 188, 188, 0.4);
  padding: var(--Space-space-9) var(--Space-space-7);
  margin: var(--Space-space-7) 0;
}
#personal_info h2 {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.4px;
  margin-bottom: var(--Space-space-5);
}
#personal_info p:has(+ ul),
#personal_info h3 {
  margin-bottom: var(--Space-space-7);
}
#personal_info ul {
  list-style: "●";
  list-style-position: inside;
  color: var(--marker_color);
  margin-bottom: var(--Space-space-7);
}
#personal_info ul li {
  margin-bottom: 24px;
}
#personal_info p,
#personal_info ul li {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}

#personal_info p {
  color: var(--Text-primary);
}

#personal_info ul li,
#personal_info ul li p {
  color: var(--Text-accent-navy);
}

#personal_info + p,
#consent_wrap p {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
#contactform input[type="text"],
#contactform input[type="tel"],
#contactform input[type="email"],
#contactform textarea {
  background-color: var(--Inputpulldowndatepicker-background-input);
  border-radius: 2px;
  border: none;
  width: 100%;
  box-sizing: border-box;

  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-3);
  line-height: 1.6;
  letter-spacing: 1px;

  padding: 0 12px;
}
#contactform input[type="text"],
#contactform input[type="tel"],
#contactform input[type="email"] {
  height: 50px;
  padding: 0 12px;
}

#contactform textarea {
  height: 200px;
  padding: 12px;
}

#contactform ::placeholder {
  color: var(--BorderCard-secondary);
}
.wpcf7-radio {
  display: flex;
  align-items: center;
  align-content: center;
  gap: var(--Space-space-4) var(--Space-space-7);
  flex-wrap: wrap;
}

input[type="checkbox"],
input[type="radio"] {
  margin: 0 4px 4px 0;
}

#consent_wrap {
  margin: var(--Space-space-4) 0 var(--Space-space-7);
}
#contactform .button {
  position: relative;
  border: 1px solid var(--Text-accent-navy);
  width: 340px;
  height: 44px;
  padding: var(--Space-space-3);
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--Text-accent-navy);
  text-align: center;

  font-size: var(--FontSize-fontSize-5);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 2px;
}

#contactform .button::before {
  content: "";
  display: block;
  position: absolute;
  top: -4px;
  left: -4px;
  border: 1px solid var(--Text-accent-navy);
  width: 100%;
  height: 100%;
  transition: 0.3s;
  visibility: visible;
  opacity: 1;
}
#contactform .button:hover:before {
  visibility: hidden;
  opacity: 0;
  top: 0px;
  left: 0px;
}
span.wpcf7-form-control-wrap.checkbox_consent {
  position: relative;
  left: -1.8em;
}
/* デフォルトのマージンを削除 */
.wpcf7-list-item {
  margin: 0 !important;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
  display: none;
}

/* フォーム送信時メッセージレイアウト */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  margin: 0 0 40px 0;
}
/* 大会選択部分のスタイル変更 */
.select_match p > span {
  margin-bottom: var(--Space-space-4);
  display: block;
}
.select_match p > span[data-name="ost"] {
  margin-bottom: 0;
}
.select_match .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--Space-space-4);
}

.select_match .wpcf7-list-item {
  display: block;
}
.select_match li {
  list-style: none;
}

.tournament .wpcf7-list-item {
  display: block;
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #contactform th,
  #contactform td {
    display: block;
    border: none;
    box-sizing: border-box;
  }
  #contactform th {
    width: 100%;
    padding: var(--Space-space-6) var(--Space-space-5);
    align-items: flex-start;
  }

  #contactform th p {
    justify-content: flex-start;
    text-align: left;
  }
  #contactform td:has(input[type="radio"]),
  #contactform td:has(input[type="checkbox"]) {
    padding: var(--Space-space-6) var(--Space-space-5);
  }
  #contactform td {
    text-align: left;
    padding: var(--Space-space-6) var(--Space-space-0);
  }
  .wpcf7-radio {
    gap: var(--Space-space-3) var(--Space-space-7);
  }
  #personal_info h2 {
    letter-spacing: 1px;
    margin-bottom: 0;
  }
  #personal_info p:has(+ ul),
  #personal_info h3,
  #personal_info ul li {
    margin-bottom: 8px;
  }

  #personal_info + p,
  #consent_wrap p {
    letter-spacing: 1px;
  }
  #contactform .button {
    width: 200px;
    position: relative;
    border: 1px solid var(--Text-accent-navy);
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--Text-accent-navy);
    font-size: 20px;
  }
  .required {
    padding: 4px 0;
  }
  .select_match .wpcf7-checkbox {
    gap: var(--Space-space-5);
  }
  .select_match p > span {
    margin-bottom: var(--Space-space-5);
  }
}
/* *************************************************************** */
/* お問い合わせ完了                                                   */
/* *************************************************************** */
/*  お問い合わせ完了のスタイルを設定します                                */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
.container#contact_finish {
  margin-top: var(--Space-space-10);
  margin-bottom: var(--Space-space-10);
}
#contact_finish #send_finish_title {
  color: var(--Text-primary);
  text-align: center;
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
  margin-bottom: 24px;
}
#contact_finish #send_finish_text {
  color: var(--Text-primary);
  text-align: center;
  font-size: var(--FontSize-fontSize-3);
  line-height: 1.6;
  letter-spacing: 1px;
}

/* *************************************************************** */
/* 競技ルール                                                      */
/* *************************************************************** */
/*  競技ルールのスタイルを設定します                                  */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#competition_rules {
  margin-top: var(--Space-space-9);
  margin-bottom: var(--Space-space-12);
  text-align: left;
}
#competition_rules hr {
  margin-bottom: var(--Space-space-4);
}
#competition_rules .rule_title {
  background-color: var(--Background-tertiary);
  padding: var(--Space-space-2) var(--Space-space-5);
}
#competition_rules .rule_title span {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
}
#competition_rules .rule_subtitle {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
  padding: var(--Space-space-5) 0;
}
#competition_rules .rule_subtitle_no {
  color: var(--Text-accent-navy);
}
#competition_rules .rule_text {
  border-bottom: 1px solid var(--BorderCard-secondary);
  color: var(--Text-primary);
}
#competition_rules p,
#competition_rules .rule_link,
#competition_rules .important,
#competition_rules small {
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
#competition_rules .rule_text,
#competition_rules .rule_link {
  padding-bottom: var(--Space-space-5);
}
#competition_rules .rule_text:has(+ hr) {
  padding-bottom: var(--Space-space-7);
}

#competition_rules .rule_link {
  color: var(--Text-accent-blue);
  word-break: break-all;
  text-decoration-line: underline;
}
#competition_rules .important {
  color: var(--Text-alert-2);
}
#competition_rules small {
  display: block;
  margin: var(--Space-space-7) 0;
}

/*span style*/
.text_fb {
  font-weight: bold;
}
.text_right {
  text-align: right;
}
.mb60 {
  margin-bottom: 60px;
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #competition_rules p,
  #competition_rules .rule_link,
  #competition_rules .important,
  #competition_rules small {
    letter-spacing: 1px;
  }
  #competition_rules .rule_title {
    margin-bottom: 19px;
  }
  #competition_rules .rule_subtitle {
    padding: var(--Space-space-6) 0;
  }
  #competition_rules .rule_text,
  #competition_rules .rule_link {
    padding-bottom: var(--Space-space-6);
  }
}

/* *************************************************************** */
/* スクランブルゴルフ競技ルール                                       */
/* *************************************************************** */
/* スクランブルゴルフ競技ルールのスタイルを設定します                  */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
.scramble_rule_contents {
  text-align: left;
  line-height: 1.5rem;
  margin: var(--Space-space-7) var(--Space-space-5);
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: var(--Space-space-7);
}
.scramble_rule_contents img {
  width: 50%;
}
.scramble_rule_contents ol,
.scramble_rule_contents ul,
.scramble_rule_contents p {
  width: 100%;
}
.scramble_rule_contents ul {
  list-style-position: inside;
}

.scramble_rule_contents ol {
  counter-reset: num;
  list-style-type: none !important;
  padding: 0;
  margin: 0;
}
.scramble_rule_contents ol li {
  position: relative;
  padding-left: 30px;
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
  margin-bottom: 24px;
}

.scramble_rule_contents ol li:last-child {
  margin-bottom: 0;
}

.scramble_rule_contents ol li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display: inline-block;
  background: var(--marker_color);
  color: var(--global_color);
  font-family: "Arial", sans-serif;
  font-weight: bold;
  font-size: 18px;
  border-radius: 50%;
  left: 0;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  top: 3px;
}
#scramble_rule .text_important {
  color: var(--Text-alert-2);
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  .scramble_rule_contents {
    margin: var(--Space-space-7) 0;
  }
  .scramble_rule_contents img {
    width: 100%;
  }
  .scramble_rule_contents ol {
    list-style-position: inside;
  }
  .scramble_rule_contents ol li {
    letter-spacing: 1px;
  }
  .scramble_rule_contents ol li:before {
    font-size: 16px;
  }
}

/* *************************************************************** */
/* スポーツインダストリーゴルフトーナメントとは                          */
/* *************************************************************** */
/*  スポーツインダストリーゴルフトーナメントとはのスタイルを設定します   */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#t_about .sentence {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
  margin: var(--Space-space-7) 0;
}

#t_about .sentence,
#t_about .h1 {
  text-align: center;
  line-height: 1.4rem;
}

#t_about .flex {
  display: flex;
  justify-content: space-between;
}

#t_about .box {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#t_about #class_img .photo {
  width: 30%;
}

#match .photo,
#culb_match .photo {
  width: 100%;
  max-width: 512px;
}
#culb_match > div {
  width: 30%;
  margin: auto;
}

#t_about #match > a .photo {
  width: 100%;
}

#t_about #class_img,
#t_about #match {
  justify-content: space-evenly;
}

#t_about #match,
#culb_match + div {
  width: 100%;
  gap: 2rem;
  margin: 0 auto;
}
#t_about h1:has(+ hr) {
  padding-top: var(--Space-space-7);
}

#t_about hr {
  margin-bottom: var(--Space-space-7);
}
.si_tournament_list + img,
.si_tournament_list > img {
  width: 100%;
}

#t_about .last {
  padding-bottom: var(--Space-space-10, 80px);
}
.arrow_rotate img {
  transform: rotate(180deg);
}
#t_about #culb_match > a .photo {
  max-height: 8.3rem;
  width: 100%;
}

#culb_match {
  margin-top: var(--Space-space-7);
}
.si_tournament_list a {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.si_tournament_list div::after {
  content: "";
  display: inline-block;
  background-image: url(./images/si_tournament_arrow.png);
  width: 100%;
  height: 34px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin: var(--Space-space-6) 0 var(--Space-space-7);
}
@media (max-width: 1350px) {
  #t_about #culb_match > a .photo {
    max-height: 7rem;
    width: 100%;
  }
}
/* PC（画面サイズ：大） */
@media (max-width: 1199px) {
  #t_about .last {
    padding-bottom: 0;
  }
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #t_about #culb_match {
    gap: 13px;
  }
  #t_about #culb_match > a .photo {
    max-height: 5.75rem;
    width: 100%;
  }
  .si_tournament_list div::after {
    width: 150px;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #t_about p {
    padding-bottom: 5px;
  }
  #t_about #match,
  #culb_match + div {
    flex-direction: column;
  }
  #t_about .box {
    width: 100%;
  }
  #t_about hr {
    margin-bottom: 10px;
  }
  .si_tournament_list + img,
  .si_tournament_list > img {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  #t_about #match,
  #culb_match + div {
    gap: 8px;
  }

  #match .photo,
  #culb_match .photo {
    width: 266px;
    height: 99px;
    aspect-ratio: 266/99;
  }

  .si_tournament_list div::after {
    width: 46px;
    height: 8px;
    margin: var(--Space-space-3) 0 var(--Space-space-5);
  }
  #match.si_tournament_list div:not(:last-of-type)::after {
    display: none;
  }
}

/* *************************************************************** */
/* エントリーについて                                                */
/* *************************************************************** */
/* エントリーについてのスタイルを設定します                               */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#e_about #cnprayguide {
  width: 100%;
  height: auto;
  margin: calc(var(--Space-space-12) - var(--Space-space-5)) 0
    var(--Space-space-9);
}
#e_about hr:has(+ .e_boxes) {
  margin-bottom: var(--Space-space-7);
}
#e_about .box {
  display: flex;
  margin: 0 auto 40px auto;
  align-items: center;
  column-gap: 3.5rem;
  padding: var(--Space-space-4) var(--Space-space-11);
  outline: 24px solid var(--global_color);
  background-color: var(--e_about_color);
}

#e_about .box_branch {
  margin: 0 auto 40px auto;
}
#e_about .t_logo {
  width: 11rem;
}
#e_about .t_rightbox {
  width: 85%;
  align-items: center;
  color: var(--global_color);
}
#e_about .t_rightbox_column {
  flex-direction: column;
  width: 85%;
  align-items: start;
  color: var(--global_color);
}
#e_about .t_maintitle {
  font-weight: 900;
  font-size: var(--FontSize-fontSize-8);
  line-height: 1;
  margin-bottom: var(--Space-space-4);
}
#e_about .t_subtitle {
  font-weight: 900;
  font-size: var(--FontSize-fontSize-10);
}
#e_about .e_boxes {
  width: 95%;
  margin: 0 auto var(--Space-space-9);
  background-image: url(./images/entry_bg_yamadaGC.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.e_button {
  margin-bottom: 25px;
  width: 700px;
}
#e_about h2 {
  font-weight: 900;
  vertical-align: middle;
  padding: 10px;
  text-align: left;
  width: 30%;
  margin: auto;

  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
}
#e_about .entryfee {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  align-items: center;
  padding: var(--Space-space-7) 0;
}
#e_about .entryfee p {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}

#e_about #card {
  width: 40%;
}
#e_about #entryfee_boxin {
  width: 100%;
  padding: var(--Space-space-7) 0;
}
#e_about #entryfee_boxin .entryfee {
  padding: 0 0 24px;
}

#e_about #line1,
#e_about #line2 {
  display: block;
  height: 1px;
  border: var(--BorderCard-secondary);
  background-color: var(--BorderCard-secondary);
}
#e_about #line1 {
  margin-top: 5px;
  margin-bottom: 0;
}
#e_about #e_fee1 {
  text-align: left;
  width: 73%;
}
#e_about #line2 {
  margin-bottom: 100px;
}
#e_about #e_fee2 {
  text-align: left;
  width: 73%;
}
#e_about .display_sp {
  display: none;
}
@media (max-width: 1350px) {
  #e_about .display_sp {
    display: block;
  }
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #e_about #cnprayguide {
    margin: 0 auto var(--Space-space-8);
  }
  #e_about .t_rightbox,
  #e_about .t_rightbox_column {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #e_about .e_boxes {
    width: 100%;
  }
  #e_about .t_logo {
    width: 8.5rem;
  }
  #e_about .box {
    padding: var(--Space-space-3) var(--Space-space-6);
    column-gap: 0.5rem;
    margin: 0 auto 16px auto;
    outline: 14px solid var(--global_color);
  }
  #e_about .t_maintitle,
  #e_about .t_subtitle {
    font-size: var(--FontSize-fontSize-4);
  }
  #e_about .t_maintitle,
  #e_about .t_subtitle {
    line-height: 1.3;
    letter-spacing: 1.2px;
  }
  #e_about .entryfee p {
    letter-spacing: 1px;
  }
}
/* スマートフォン（画面サイズ極小） */
@media (max-width: 470px) {
  #e_about .t_maintitle {
    margin-bottom: var(--Space-space-3);
  }
  #e_about .t_logo {
    width: 5.5rem;
  }
}
/* *************************************************************** */
/* 大会規約                                                         */
/* *************************************************************** */
/* 大会規約のスタイルを設定します                                       */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
.container#t_rules {
  margin-top: var(--Space-space-10);
  margin-bottom: var(--Space-space-10);
}
#t_rules {
  text-align: left;
}
#t_rules .updatearea {
  margin-bottom: var(--Space-space-7);
}
#t_rules .update {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
#t_rules .title {
  float: left;
}
#t_rules ul .rulestitle {
  list-style-type: none;
  padding-bottom: var(--Space-space-4);
}
#t_rules ul:last-of-type .rulestitle {
  padding-bottom: 0;
}
#t_rules .rulestitle > p {
  padding-bottom: var(--Space-space-2);
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.4px;
}
#t_rules ol {
  padding-left: 30px;
}
#t_rules ol li {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  .container#t_rules {
    margin-top: var(--Space-space-8);
  }
  #t_rules .update,
  #t_rules .rulestitle > p,
  #t_rules ol li {
    letter-spacing: 1px;
  }
  #t_rules ol {
    padding-left: 16px;
  }
}

/* *************************************************************** */
/* 2026スケジュール                                                  */
/* *************************************************************** */
/* 2026スケジュールのスタイルを設定します                             */
/* ※一部TOPの検索フォームの設定（#top_schedule）も記載.               */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
/* フォーム本体 */
#top_schedule h1 {
  color: var(--global_color);
}
#top_schedule #border,
#t_schedule #border {
  margin-bottom: var(--Space-space-7);
}
#top_schedule #border {
  border: 1px solid var(--global_color);
  height: 3px;
  background-color: var(--global_color);
}
#t_schedule #border {
  border: 1px solid var(--Text-accent-navy);
}
#box {
  border: 3px solid var(--Text-accent-navy);
  padding: var(--Space-space-6) var(--Space-space-7) var(--Space-space-10)
    var(--Space-space-7);
  background-color: var(--global_color);
}
#top_schedule #box {
  box-shadow: 0px 0px 24px var(--global_color);
}

#t_schedule #box {
  box-shadow: 0px 0px 24px #24242429;
  margin-bottom: var(--Space-space-12);
}

#searchform .flex {
  display: flex;
  justify-content: space-between;
  padding: var(--Space-space-7) 0;
  width: 100%;
}

#searchform h2 {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
  text-align: left;
  width: 18%;
  margin: auto 0;
  white-space: nowrap;
}
#searchform label {
  font-weight: bold;
}

#searchform input[type="checkbox"] {
  vertical-align: middle;
  margin: 0 var(--Space-space-1) 4px 0px;
}

#searchform .boxin {
  width: 100%;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
}
#searchform .boxin:has(.form_area) {
  gap: var(--Space-space-1) var(--Space-space-7);
}
.boxin:has(#checksmall),
.boxin:has(#checkweekday) {
  gap: var(--Space-space-4) var(--Space-space-7);
}
#searchform .boxin:has(.check) {
  gap: var(--Space-space-1) var(--Space-space-11);
}

#searchform .inborder {
  border: var(--Text-accent-navy);
  height: 1px;
  margin: auto;
}
/* 開催地区・カテゴリ・条件 */
.form_area,
#checksmall {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.8px;
}
.form_area {
  display: inline-table;
}
.check {
  display: inline-block;
  line-height: 24px;
}
#checksmall {
  display: inline-block;
}
.search {
  display: block;
  text-align: center;
  margin-bottom: 40px;
  margin: 5px 0;
}
.schedule_course {
  padding-left: 0;
}

/* カレンダー */
#searchform .dropdown {
  width: 300px;
  display: inline-block;
  transition: all 0.5s ease;
  position: relative;
  color: var(--global_color);
  height: 100%;
  text-align: left;
}
#searchform .dropdown_picker {
  width: 100%;
  max-width: 250px;
  display: inline-block;
  background-color: var(--global_color);
  transition: all 0.5s ease;
  position: relative;
  color: var(--Text-accent-navy);
  justify-content: center;
  align-items: center;
}
#searchform .dropdown_picker .fa-calendar {
  color: var(--Text-accent-navy);
  padding-top: 11px;
  height: 100%;
  width: 40px;
  display: inline-block;
  position: absolute;
  top: 0;
  right: -15px;
  pointer-events: none;
  font-size: 19px;
}
#searchform .dropdown_picker > .form-control {
  display: inline-block;
  width: 100%;
  max-width: 220px;
  height: 38px;
  border: 2px solid var(--Text-accent-navy);
  padding-left: 10px;
  color: var(--Text-accent-navy);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.4px;
}
#searchform .dropdown_picker > ::placeholder {
  font-weight: bold;
  color: var(--Text-accent-navy);
}
#searchform .dropdown .select {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: 10px;
}
#searchform .dropdown .select > i {
  font-size: 0.7rem;
  color: var(--global_color);
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  float: right;
  line-height: 20px;
}
#searchform .form-control {
  display: inline-block;
  background-color: var(--global_color) !important;
  border-radius: 0;
}
#searchform .dropdown .select {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: 10px;
}
#searchform .dropdown .select > i {
  font-size: 0.7rem;
  color: var(--global_color);
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  float: right;
  line-height: 20px;
}
#searchform .dropdown:hover,
#searchform .dropdown.active:hover,
#searchform .dropdown.active {
  box-shadow: 0 0 4px var(--schedule_dropdown_shadow);
}
#searchform .dropdown.active .select > i {
  transform: rotate(-180deg);
}
#searchform .dropdown .dropdown-menu {
  position: absolute;
  background-color: var(--schedule_dropdown);
  width: 100%;
  left: 0;
  overflow: hidden;
  display: none;
  overflow-y: auto;
  z-index: 9;
  border-radius: 0;
  border: none;
  margin-top: 0;
}
#searchform .dropdown .dropdown-menu li {
  padding: 10px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
#searchform .dropdown .dropdown-menu {
  padding: 0;
  list-style: none;
}
#searchform .dropdown .dropdown-menu li:hover {
  background-color: var(--schedule_dropdown_hover);
}
/* タブレット（画面サイズ：中）*/
@media (max-width: 991px) {
  #searchform h2 {
    padding-left: 0;
  }
}

/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #box {
    padding: var(--Space-space-3) var(--Space-space-7) var(--Space-space-10);
  }
  #searchform .flex {
    padding: var(--Space-space-6) 0;
    gap: var(--Space-space-7);
  }
  #searchform .boxin:has(.form_area) {
    gap: var(--Space-space-4) var(--Space-space-10);
  }
  #checksmall,
  #checkweek {
    width: 100%;
  }
  #searchform input[type="checkbox"] {
    margin-bottom: 3px;
  }
  #searchform .boxin:has(#checksmall),
  #searchform .boxin:has(.check) {
    gap: var(--Space-space-4);
  }
  .home #searchform .dropdown_picker .fa-calendar {
    padding-top: 0;
    top: -1px;
    right: 0;
    font-size: 16px;
  }
}
/* スマートフォン（画面サイズ極小） */
@media (max-width: 470px) {
  #searchform h2 {
    writing-mode: vertical-lr;
    width: auto;
  }
}

/* *************************************************************** */
/* よくある質問                                                     */
/* *************************************************************** */
/* よくある質問のスタイルを設定します                                */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#faq.container {
  margin-top: var(--Space-space-9);
  margin-bottom: var(--Space-space-9);
}
.faq_linklist ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  gap: var(--Space-space-5) var(--Space-space-7);
  color: var(--Text-accent-navy);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1.1px;
  margin-bottom: var(--Space-space-10);
}
.faq_linklist li {
  color: var(--Text-accent-navy);
  font-size: var(--FontSize-fontSize-4);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1.1px;
  text-decoration: underline;
}
.question,
.answer {
  display: flex;
  text-align: left;
  align-items: center;
  gap: var(--Space-space-7);
  margin: var(--Space-space-5) 0;
}
.answer {
  padding-bottom: var(--Space-space-5);
  border-bottom: 1px solid var(--BorderCard-secondary);
  align-items: flex-start;
}

.question h3,
.answer {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.6;
  letter-spacing: 1.4px;
}

.answer:has(+ h1) {
  margin-bottom: var(--Space-space-9);
}
.img_q,
.img_a {
  width: 48px;
}
.answer ul li {
  list-style-type: none; /*点を非表示*/
  position: relative; /*基準位置*/
  padding-left: 1.2rem;
}
.answer ul li:before {
  border-radius: 50%; /*丸くする*/
  width: 18px; /*点の幅*/
  height: 18px; /*点の高さ*/
  display: block;
  position: absolute; /*絶対配置*/
  left: 0; /*点の位置*/
  top: 0.4rem; /*点の位置*/
  content: "";
  background: var(--marker_color); /*点の色*/
}
.answer .caption_text span.important {
  color: var(--Text-alert-2);
}
.answer_link {
  color: var(--Text-accent-navy);
  font-size: var(--FontSize-fontSize-4);
  line-height: 1.1;
  letter-spacing: 1.1px;
  text-decoration: underline;
}
.answer .summary_btn {
  margin-top: var(--Space-space-5);
  text-align: center;
}

.answer .caption_text,
.answer .caption_text span {
  color: var(--Text-primary);
  font-size: var(--FontSize-fontSize-1);
  line-height: 1.4;
  letter-spacing: 1.2px;
  display: block;
}
.answer .caption_text:first-of-type {
  margin-top: var(--Space-space-5);
}

.answer li > .caption_text {
  margin-left: -1.2rem;
}

.question .button_wrap {
  position: relative;
}
.faq_btn_left {
  position: absolute;
  right: 15px;
}
.faq_btn_right {
  color: var(--Text-accent-navy);
  text-align: center;
  font-size: var(--FontSize-fontSize-5);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.2px;
}
.text_padding {
  display: block;
  margin: 24px 0;
}
.font_bold {
  font-weight: bold;
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #faq.container {
    margin-top: var(--Space-space-7);
    margin-bottom: var(--Space-space-7);
  }
  .faq_linklist ul {
    letter-spacing: 0.7px;
    gap: var(--Space-space-5) var(--Space-space-6);
  }
  .question,
  .answer {
    gap: var(--Space-space-3);
  }
  .question h3,
  .answer {
    letter-spacing: 1px;
  }
  .answer ul li:before {
    width: 12px;
    height: 12px;
  }
  .img_q,
  .img_a {
    width: 32px;
    height: 32px;
  }
  .answer .summary_btn {
    width: 100%;
  }
  .answer .caption_text:first-of-type {
    margin-top: var(--Space-space-3);
  }

  .faq_btn_left {
    display: none;
  }
}

/* *************************************************************** */
/* facebook                                                        */
/* *************************************************************** */
/* facebook のスタイルを設定します                                   */
/*                                                                 */
/*                                                                 */
/*                                                                 */
/* *************************************************************** */
#top_facebook_h1 {
  color: var(--global_color);
  text-align: center;
}
#top_facebook_hr {
  height: 3px;
  border: 0;
  background-color: var(--global_color);
}
/* facebook */
#facebook {
  background-color: var(--background_color);
  padding: var(--Space-space-10) 160px;
}
.facebook_title_container,
.facebook_blocks_container {
  margin-bottom: var(--Space-space-9);
}
.facebook_blocks_container {
  height: 270px;
}
div.facebook_blocks {
  transform: scale(0.6);
  width: 166%;
  transform-origin: 0 0;
  display: flex;
  overflow-x: scroll;
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
}
div.facebook_blocks_sp {
  display: none;
  overflow-x: scroll;
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
}
.facebook_blocks::-webkit-scrollbar,
.facebook_blocks_sp::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
/*スクロールバーの横幅指定*/
#facebook .box_srcollbar::-webkit-scrollbar {
  height: 10px;
}
/*スクロールバーの背景色・角丸指定*/
#facebook .box_srcollbar::-webkit-scrollbar-track {
  border-radius: 10px;
  background: var(--transparent);
}
/*スクロールバーの色・角丸指定*/
#facebook .box_srcollbar::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: var(--scroll_bar_color);
}

.facebook_block {
  filter: drop-shadow(0px 0px 10px var(--drop_shadow_color));
  margin-right: 4%;
}
.facebook_block div {
  overflow-y: scroll;
  height: 480px !important;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
  background-color: var(--global_color);
}
.facebook_block div::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.facebook_more_container {
  display: flex;
  justify-content: center;
}
#facebook .summary_btn {
  border: 1px solid var(--global_color);
  color: var(--global_color);
}
#facebook .summary_btn::before {
  border: 1px solid var(--global_color);
}
#facebook + .top_banner_wrap {
  padding-bottom: var(--Space-space-5);
}

@media (max-width: 1199px) {
  #facebook {
    padding: var(--Space-space-10) 70px;
  }
}
@media (max-width: 991px) {
  #facebook {
    padding: var(--Space-space-10) 40px;
  }
}
/* スマートフォン（画面サイズ：小） */
@media (max-width: 767px) {
  #facebook {
    padding: var(--Space-space-10) 20px;
  }
  .facebook_more_container {
    justify-content: center;
  }
}
