@charset "UTF-8";
/**
 * デザイントークン (レスポンシブ化 Phase 0)
 *
 * ◆ 使い方 =======================================================
 *   pages/*.css (SCSS) 側では import 不要。var() で直接参照する。
 *
 *   .setIndex {
 *     color: var(--color-text);
 *     background: var(--color-bg-sub);
 *     border: 1px solid var(--color-border);
 *     max-width: var(--container-max-width);
 *     margin: 0 auto;
 *     padding: var(--space-lg) var(--space-sm);
 *     font-family: var(--font-family-base);
 *     font-size: var(--font-size-base);
 *     line-height: var(--line-height-base);
 *   }
 *
 *   .setIndex__price { color: var(--color-brand-red); }
 *   .setIndex__btn   { background: var(--color-brand-orange); color: var(--color-bg); }
 *   .setIndex__modal { z-index: var(--z-index-modal); }
 *
 *   ▼ フォールバック付き(トークン未定義時の保険)
 *   .foo { color: var(--color-text, #7E432C); }
 *
 *   ▼ NG: メディアクエリの条件式に var() は使えない
 *   @media (max-width: var(--breakpoint-sp)) { ... }  ← 効かない
 *   @media (max-width: 960px) { ... }                 ← 直値で書く
 *
 *   ▼ NG: SCSS 側で @use/@import しない(トークンが重複出力される)
 *   @use "../tokens";  ← 不要
 *
 * ◆ ブレークポイント規約(正準) ====================================
 *   ...(以下既存)
 */
/* mixin */
/* 汎用(inline block) ---------------------------------------- */
.block_p {
  display: block; }
  @media screen and (max-width: 960px) {
    .block_p {
      display: none; } }

.block_s {
  display: none; }
  @media screen and (max-width: 960px) {
    .block_s {
      display: block; } }

.inline_p {
  display: inline; }
  @media screen and (max-width: 960px) {
    .inline_p {
      display: none; } }

.inline_s {
  display: none; }
  @media screen and (max-width: 960px) {
    .inline_s {
      display: inline; } }

/* 汎用見出し ---------------------------------------- */
.commonTtl {
  background: none;
  padding: 0;
  margin: 0;
  font-size: 28px;
  margin-bottom: 10px;
  color: var(--color-text) !important; }
  @media screen and (max-width: 960px) {
    .commonTtl {
      font-size: 22px; } }

/* 汎用テキスト ---------------------------------------- */
.txtBold {
  font-weight: 600; }

.txtCenter {
  text-align: center; }

/* 汎用ボックス ---------------------------------------- */
.shadowBox {
  border-radius: 20px;
  background: #FFF;
  box-shadow: inset 0 2px 6px rgba(145, 145, 145, 0.25);
  box-sizing: border-box;
  padding: 40px 40px 60px;
  position: relative; }
  @media screen and (max-width: 960px) {
    .shadowBox {
      border-radius: 20px 20px 0 0;
      padding: 40px 20px 60px; } }
  @media screen and (max-width: 960px) {
    .shadowBox:before {
      content: "";
      background: #FFF;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 5px; } }

/* 汎用ボタン ---------------------------------------- */
.commonBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 320px;
  width: 100%;
  height: 60px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 600;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  border-radius: 10000px;
  font-size: 16px; }

.commonBtn--gray {
  background: #EFECEA !important;
  color: #FFF !important; }

.commonBtn--Cv {
  background: #4FB340 !important;
  color: #FFF !important; }

.commonBtn--white {
  background: #FFF;
  color: #7E432C !important;
  border: 1px solid #7E432C;
  box-shadow: 0px 1px 3px rgba(145, 145, 145, 0.25); }

.commonBtn--yellow {
  background: #FED81F;
  color: #7E432C !important;
  box-shadow: 0px 1px 3px rgba(145, 145, 145, 0.25); }

.commonBtn--green {
  background: #FFF;
  color: #4FB340 !important;
  border: 1px solid #4FB340;
  box-shadow: 0px 1px 3px rgba(145, 145, 145, 0.25); }

/* 汎用色 ---------------------------------------- */
.bgTintYellow {
  background: var(--color-bg-tint-yellow); }

.bgWhite {
  background: var(--color-bg); }

/* フォームここから ---------------------------------------- */
.contentForm {
  padding: 90px 0; }
  @media screen and (max-width: 960px) {
    .contentForm {
      padding: 40px 0 0 0; } }
  .contentForm__inner {
    max-width: 1000px;
    margin: auto;
    position: relative; }
  .contentForm__ttlImg {
    max-width: 530px;
    margin: auto;
    display: block; }
    @media screen and (max-width: 960px) {
      .contentForm__ttlImg {
        max-width: 310px; } }
  .contentForm__lead {
    margin-top: 20px;
    margin-bottom: 30px; }
    @media screen and (max-width: 960px) {
      .contentForm__lead {
        margin-top: 10px;
        margin-bottom: 20px;
        font-size: 16px; } }

/*---
フォーム構造
※ 色は既存トークン(:root)に合致するもののみ var() 参照
---*/
.commonForm {
  max-width: 840px;
  margin: auto; }
  .commonForm__dl {
    display: flex;
    flex-wrap: wrap;
    padding: 30px 0;
    border-bottom: 1px solid #EFECEA; }
    @media screen and (max-width: 960px) {
      .commonForm__dl {
        display: block; } }
  .commonForm__dt {
    width: 250px;
    font-weight: 600;
    font-size: 16px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap; }
  .commonForm__dtInner {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    box-sizing: border-box; }
  .commonForm__dtTxt {
    position: relative;
    left: 40px;
    margin-left: 10px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 400; }
  .commonForm__dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-left: 30px;
    font-size: 16px; }
    @media screen and (max-width: 960px) {
      .commonForm__dd {
        padding-left: 0;
        padding-top: 10px; } }
  .commonForm__essential, .commonForm__anyGray {
    display: inline-block;
    box-sizing: border-box;
    background: var(--color-brand-red);
    font-weight: 600;
    color: var(--color-bg);
    margin: 0 10px 0 0;
    min-width: 35px;
    font-size: 14px;
    line-height: 1.5;
    padding: 2px 5px;
    border-radius: 2px;
    max-height: 26px; }
  .commonForm__anyGray {
    background: #D3CECB;
    color: var(--color-bg);
    border: 1px solid #D3CECB; }
  .commonForm__select {
    min-width: 300px; }
  .commonForm__btnWrap {
    margin-top: 40px; }
  .commonForm__backLink {
    display: inline-block;
    margin-top: 10px;
    color: var(--color-brand-text) !important;
    font-size: 14px;
    text-decoration: underline !important; }
  .commonForm__subTxt {
    display: inline-block;
    margin-left: 10px;
    position: relative; }
  .commonForm__privacyTxt {
    font-weight: 400 !important;
    font-size: 12px;
    margin-top: 40px; }
    @media screen and (max-width: 960px) {
      .commonForm__privacyTxt {
        margin-top: 30px; } }
  .commonForm__privacyLink {
    color: #D22500 !important;
    text-decoration: underline; }
  .commonForm__subTtl {
    margin-bottom: 10px;
    font-weight: 600; }
  .commonForm__box {
    margin-bottom: 20px; }
    .commonForm__box:last-of-type {
      margin-bottom: 0; }

/*---
項目( input textareaなど)
---*/
.commonInput,
.commonSelect,
.commonTextarea {
  background: var(--color-bg) !important;
  border: 1px solid #A89E98 !important;
  outline: none;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  color: var(--color-brand-text) !important;
  border-radius: 5px;
  font-size: 16px;
  padding: 8px !important;
  height: auto !important;
  min-height: 40px;
  box-shadow: inset 0 1px 3px rgba(145, 145, 145, 0.25); }

.commonInput:-webkit-autofill, .commonInput:-webkit-autofill:hover, .commonInput:-webkit-autofill:focus, .commonInput:-webkit-autofill:active,
.commonSelect:-webkit-autofill,
.commonSelect:-webkit-autofill:hover,
.commonSelect:-webkit-autofill:focus,
.commonSelect:-webkit-autofill:active,
.commonTextarea:-webkit-autofill,
.commonTextarea:-webkit-autofill:hover,
.commonTextarea:-webkit-autofill:focus,
.commonTextarea:-webkit-autofill:active {
  -webkit-text-fill-color: var(--color-brand-text) !important; }
.commonInput::placeholder,
.commonSelect::placeholder,
.commonTextarea::placeholder {
  color: #D3CECB !important; }

.commonSelect {
  background: url("/user_data/packages/default/img/mypage/icon_arrow_select.svg") right 15px top 15px no-repeat var(--color-bg) !important;
  background-size: 6px;
  min-width: 235px; }
  @media screen and (max-width: 960px) {
    .commonSelect {
      width: 100%; } }

.commonInput {
  width: 235px; }
  .commonInput--short {
    width: 100% !important;
    max-width: 150px !important;
    display: inline-block !important; }
    @media screen and (max-width: 960px) {
      .commonInput--short {
        max-width: 185px !important; } }
  .commonInput--wide {
    width: 100% !important; }
  .commonInput--error {
    border: 2px solid var(--color-brand-red) !important;
    background: #FDF4F2 !important; }
    .commonInput--error::placeholder {
      color: #EB9C8D !important; }

.commonTextarea {
  width: 100%;
  min-height: 250px; }

.commonInput--calender {
  cursor: pointer;
  width: 235px;
  background: url("/user_data/packages/default/img/cart/icon_calender.svg") right 10px center no-repeat #FFF !important;
  background-size: 16px; }

.commonRadioGroup__item {
  margin-bottom: 10px; }
  .commonRadioGroup__item:last-of-type {
    margin-bottom: 0; }

.commonRadio {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-width: 235px;
  padding: 11px 16px;
  border-radius: 5px;
  background: var(--color-bg);
  box-shadow: 0 1px 3px rgba(145, 145, 145, 0.25);
  font-size: var(--font-size-base);
  font-weight: 600;
  cursor: pointer; }
  @media screen and (max-width: 960px) {
    .commonRadio {
      width: 100%; } }
  .commonRadio:has(.commonRadio__input:checked) {
    background: var(--color-brand-yellow);
    box-shadow: inset 0 1px 3px rgba(151, 146, 116, 0.25); }
  .commonRadio__input {
    display: none; }
    .commonRadio__input:checked + .commonRadio__mark::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 9px;
      height: 9px;
      margin: -4.5px 0 0 -4.5px;
      border-radius: 50%;
      background: var(--color-brand-green); }
  .commonRadio__mark {
    position: relative;
    box-sizing: border-box;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    margin-right: 10px;
    border: 1px solid var(--color-brand-text);
    border-radius: 50%;
    background: var(--color-bg); }

.commonCheckGroup {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }

.commonCheck {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-weight: 400 !important;
  margin-right: 30px;
  margin-bottom: 10px;
  -webkit-tap-highlight-color: transparent; }
  .commonCheck__input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap; }
  .commonCheck__box {
    position: relative;
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    border: 2px solid #A89E98;
    border-radius: 3px;
    background-color: var(--color-bg);
    top: 1px; }
    .commonCheck__box::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 12px;
      height: 12px;
      margin: -6px 0 0 -6px;
      background-color: var(--color-text);
      -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%2012'%3E%3Cpath%20d='M2.5%206.4%205%208.9%209.5%203.5'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/12px 12px;
      mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%2012'%3E%3Cpath%20d='M2.5%206.4%205%208.9%209.5%203.5'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/12px 12px;
      opacity: 0; }
  .commonCheck__input:checked + .commonCheck__box {
    border-color: var(--color-brand-yellow);
    background-color: var(--color-brand-yellow); }
    .commonCheck__input:checked + .commonCheck__box::before {
      opacity: 1; }
  .commonCheck__input:focus-visible + .commonCheck__box {
    outline: 2px solid var(--color-text);
    outline-offset: 2px; }
  .commonCheck__text {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 400; }

/*---
エラー表示共通
----*/
.attention_msg {
  color: #D22500;
  /*margin-top: 10px;*/
  position: relative;
  box-sizing: border-box;
  padding-left: 20px;
  font-weight: 400 !important;
  height: 13.29px;
  line-height: 1.4;
  /*letter-spacing: -1px;*/
  top: 5px;
  /*上マージンがとれないためスペース*/ }

.attention_msg:before {
  content: "";
  background: url("/user_data/packages/default/img/mypage/icon_error.svg") no-repeat;
  background-size: 15.19px;
  width: 15.19px;
  height: 13.29px;
  position: absolute;
  left: 0;
  top: 6px; }

/*---
項目(カレンダー)
---*/
/* カレンダー色
   大枠背景        #FFF8CC
   日付の茶        #6E5A3A
   ヘッダー濃い茶  #5E4B2E
   前後月グレー    #C8BFA0
   選択中の黄色丸  #FED81F
   ホバー薄茶丸    #E5D3AB
*/
.ui-datepicker {
  width: auto;
  padding: 12px;
  background: #FFF8CC !important;
  border: 1px solid #FFF08F !important;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(145, 145, 145, 0.5); }

/* ── ヘッダー ── */
.ui-datepicker .ui-datepicker-header {
  background: transparent !important;
  border: none !important;
  color: #5E4B2E;
  position: relative;
  padding: 0 28px; }

.ui-datepicker .ui-datepicker-title {
  color: #5E4B2E;
  font-weight: bold;
  line-height: 2; }

.ui-datepicker .ui-datepicker-year,
.ui-datepicker .ui-datepicker-month {
  color: #5E4B2E; }

/* ── prev/next 矢印（本体に疑似要素を当てる） ── */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  top: 50% !important;
  margin-top: 0 !important;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: transparent !important;
  border: none !important;
  cursor: pointer; }

.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon {
  display: none !important; }

.ui-datepicker .ui-datepicker-prev::before,
.ui-datepicker .ui-datepicker-next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  font-weight: bold;
  color: #5E4B2E;
  line-height: 1; }

.ui-datepicker .ui-datepicker-prev {
  left: 4px !important; }

.ui-datepicker .ui-datepicker-prev::before {
  content: "\2039"; }

/* ‹ */
.ui-datepicker .ui-datepicker-next {
  right: 4px !important; }

.ui-datepicker .ui-datepicker-next::before {
  content: "\203A"; }

/* › */
.ui-datepicker .ui-datepicker-prev.ui-state-disabled::before {
  opacity: .35; }

/* ── 曜日ヘッダ ── */
.ui-datepicker .ui-datepicker-calendar th {
  color: #5E4B2E;
  font-weight: bold; }

.ui-datepicker .ui-datepicker-calendar th span {
  text-decoration: none; }

/* ── 日付セル共通 ── */
.ui-datepicker td {
  padding: 0 !important; }

.ui-datepicker .ui-datepicker-calendar td a,
.ui-datepicker .ui-datepicker-calendar td span {
  display: block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  margin: 0 auto;
  text-align: center;
  background: transparent !important;
  border: none !important;
  border-radius: 50% !important;
  color: #6E5A3A !important;
  font-weight: normal;
  padding: 0 !important;
  transition: none !important; }

/* ── hover/active/focus装飾を無効化（※:hoverは薄茶で使うので除外） ── */
.ui-datepicker .ui-datepicker-calendar td a.ui-state-hover,
.ui-datepicker .ui-datepicker-calendar td a.ui-state-active,
.ui-datepicker .ui-datepicker-calendar td a.ui-state-focus,
.ui-datepicker .ui-datepicker-calendar td a:focus,
.ui-datepicker .ui-datepicker-calendar td a:active {
  background: transparent !important;
  border: none !important;
  color: #6E5A3A !important;
  outline: none !important;
  box-shadow: none !important; }

/* ── 前後月・選択不可（グレー文字） ── */
.ui-datepicker .ui-datepicker-other-month .ui-state-default,
.ui-datepicker .ui-state-disabled .ui-state-default {
  color: #C8BFA0 !important;
  opacity: 1; }

.ui-datepicker-unselectable.ui-state-disabled.undefined.ui-datepicker-today {
  opacity: 1 !important; }

/* ── 選択中の日付（黄色丸） ── */
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day .ui-state-default,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-active,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-hover {
  background: #FED81F !important;
  color: #6E5A3A !important;
  opacity: 1 !important; }

/* ── 今日（黄色丸）※disabled/グレーより優先。文字色そのまま ──
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today.ui-state-disabled .ui-state-default,
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today .ui-state-default {
  background: #FED81F !important;
  color: #6E5A3A !important;
  opacity: 1 !important;
}
*/
/* ── ホバー（薄茶丸・背景のみ／文字色そのまま）※最後に置いて勝たせる ── */
.ui-datepicker .ui-datepicker-calendar td a:hover {
  background: #E5D3AB !important;
  opacity: 1 !important; }

/* ── ボタンパネル（非表示） ── */
.ui-datepicker .ui-datepicker-buttonpane,
.ui-datepicker-close {
  display: none !important; }

/* フォームここまで ---------------------------------------- */
.golfRanking {
  max-width: 450px; }
  @media screen and (max-width: 960px) {
    .golfRanking {
      max-width: 100%; } }
  .golfRanking .commonCheck {
    width: calc(100%/5);
    margin-right: 0; }
    @media screen and (max-width: 960px) {
      .golfRanking .commonCheck {
        width: calc(100%/4); } }

.golfOtherAward__name {
  width: 75px;
  display: inline-block; }
  @media screen and (max-width: 960px) {
    .golfOtherAward__name {
      min-width: 75px; } }

.golfOther .commonTextarea {
  min-height: 120px !important; }
  @media screen and (max-width: 960px) {
    .golfOther .commonTextarea {
      min-height: 180px !important; } }

/* 背景色が違うことに対しての調整 ---------------------------------------- */
#bottomcolumn.bgWhite {
  margin-top: 70px;
  padding-top: 70px; }
  @media screen and (max-width: 960px) {
    #bottomcolumn.bgWhite {
      margin-top: 0;
      padding-top: 0; } }

.footer--noSpace {
  margin-bottom: 0;
  padding-bottom: 10px; }

@media screen and (max-width: 960px) {
  .ending-contact,
  .ending-menu,
  .footer-sp {
    background: var(--color-bg);
    margin-bottom: 0;
    padding-bottom: 20px; } }

/* 背景色が違うことに対しての調整 ---------------------------------------- */
/* ヘッダー変更に伴う調整 ---------------------------------------- */
main#wrapper {
  padding: 0;
  margin-top: -40px; }
  @media screen and (max-width: 1250px) {
    main#wrapper {
      margin-top: -30px; } }
  @media screen and (max-width: 960px) {
    main#wrapper {
      margin-top: 60px; } }

/* ヘッダー変更に伴う調整 ---------------------------------------- */
.thanks {
  max-width: 820px;
  margin: 40px auto 0; }
  @media screen and (max-width: 960px) {
    .thanks {
      margin-top: 0; } }
  .thanks__icon {
    display: block;
    margin: 0 auto 20px;
    width: 90px; }
  .thanks__txt {
    text-align: center;
    margin: 20px 0; }
    @media screen and (max-width: 960px) {
      .thanks__txt {
        text-align: left; } }
  .thanks__box {
    border-radius: 15px;
    padding: 20px;
    box-sizing: border-box;
    font-weight: 600;
    max-width: 425px;
    margin: 0 auto 40px;
    text-align: center; }
    @media screen and (max-width: 960px) {
      .thanks__box {
        border-radius: 10px; } }
  .thanks__mailLink {
    color: var(--color-brand-red) !important;
    text-decoration: underline !important; }
  .thanks__ttl {
    max-width: 390px;
    margin: 0 auto 30px; }
    @media screen and (max-width: 960px) {
      .thanks__ttl {
        max-width: 290px;
        margin: 0 auto 20px; } }

.gad_tag {
  display: none; }
