/* 太字 */
.fb {
    font-weight: bold;
}

/* 注意書き */
.Cautionarynote {
    font-size: 80%;
    color: #666;
}

/* ボタン */
#postcontent .wp-block-button__link {
    display: block;
    color: #fff;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em;
    border: #FF8896 1px solid;
    background-color: #FF8896;
}

#postcontent .wp-block-button__link a {
    text-decoration: unset;
    color: #FF8896;
    background-color: #fff;
}

.wp-block-button:hover .wp-block-button__link {
    background-color: #555;
    transform: translateY(-2px);
    transition: 0.3s;
}

/* ある一日のスケジュール */
table.schedule,
table.schedule td {
    border: none !important;
}

table.schedule tr {
    border-bottom: 1px dashed #ccc;
}

table.schedule td {
    padding: 10px 0;
}

td.time {
    width: 100px;
    font-weight: bold;
}

div.gray-box {
    background-color: #efefef;
    padding: 5px;
}


/* レシピ */
table.recipe,
table.recipe tbody,
table.recipe tr,
table.recipe td {
    border: none;
}

table.recipe td {
    border-bottom: 1px dashed #ccc;
    padding: 10px 0;
}

table.recipe td.ingredients {
    width: 60%;
}

table.recipe td.chomi {
    border-bottom: none;
    padding: 20px 0 0;
}


/* リスト */
.PinkBox li::marker {
    color: #ff8896;
}


/* お問い合わせラベル */
.wpcf7-form p:has(.wpcf7-validates-as-required) label:after,
.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-validates-as-required)+label:after,
.wpcf7-form label:has(+ .wpcf7-form-control-wrap .wpcf7-validates-as-required):after {
    display: none;
}


.wpcf7-form label:has(.wpcf7-validates-as-required) .FormLabel::after {
    content: "必須入力";
    color: #EE3639;
    font-size: 12px;
    margin-left: 4px;
    font-weight: bold;
}

.wpcf7-form label.fb {
    font-weight: bold;
}

/* 性別 */
.Contact_Gender select {
    width: 30%;
}

/* 学年 */
.Contact_Schoolyear select {
    width: 30%;
}

/* 都道府県 */
.Contact_Pref select {
    width: 30%;
}


/* プロフィールボックス */
#postcontent .GuestProfBox {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 20px 0 0;
}

#postcontent .GuestProf {
    flex-shrink: 0;
}

#postcontent .GuestProf img {
    margin: 0;
    width: 160px;
}

#postcontent .GuestProfTextBox {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    margin: 0 0 0 3%;
}

#postcontent .ContentBody p {
    width: 100%;
    display: flex;
    justify-content: center;
    font-size: 20px;
    line-height: 1.8;
}

#postcontent .GuestText {
    font-weight: bold;
}

#postcontent .GuestProfile {
    margin: 0;
    font-size: 16px;
}


/*--- スマホ・タブレット ---*/
@media screen and (max-width:768px) {

    /* 性別 */
    .Contact_Gender select {
        width: 100%;
    }

    /* 学年 */
    .Contact_Schoolyear select {
        width: 100%;
    }

    /* 都道府県 */
    .Contact_Pref select {
        width: 100%;
    }


    table.schedule td {
        display: block;
        width: 100% !important;
    }

    td.time {
        padding-bottom: 0 !important;
    }

    #postcontent .ContactButton {
        width: 100%;
        padding: 10px;
    }

    #postcontent .GuestProfBox {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }

    #postcontent .GuestText {
        margin: 20px 0 0;
    }

}

/* テーブル */
.wp-block-table .has-fixed-layout {
    table-layout: fixed;
    width: 100%;
}

.wp-block-table td,
.wp-block-table th {
    border: 1px solid;
    border-color: #ddd;
    padding: .5em;
    text-align: left;
    border-width: 1px 1px 1px 0;
}

.wp-block-table td:first-child {
    width: 20%;
}

/* リスト */
#postcontent ul.wp-block-list {
    padding-left: 20px;
}

#postcontent ul.wp-block-list.PinkBox li {
    margin-bottom: 1rem;
    list-style: disc;
}

ul.wp-block-list.PinkBox li::marker {
    color: #ff8896;
}

.Pink {
    color: #ff8896;
  }
  
  /* 質問デザイン01 */
  #postcontent .QuestionTitle {
    padding: 10px;
    font-size: 17px;
    color: #fff;
    font-weight: bold;
    border-bottom: unset;
    background: #000;
  }
  
  .AnserTitleBox {
    margin-bottom: 10px;
    border-bottom: #000 1px dashed;
  }
  
  .AnserTitle {
    padding: 20px 0;
    color: #01aace;
    font-weight: bold;
  }
  
  #postcontent .AnserText {
    margin: 2% 0;
    line-height: 2;
  }
  
  /* レシピ */
  figure.wp-block-table.recipe table,
  figure.wp-block-table.recipe tbody,
  figure.wp-block-table.recipe tr,
  figure.wp-block-table.recipe td {
    border: none;
  }
  
  figure.wp-block-table.recipe table {
    width: 100%;
    table-layout: fixed;
  }
  
  figure.wp-block-table.recipe td {
    border-bottom: 1px dashed #ccc;
    padding: 10px 0;
  }
  
  figure.wp-block-table.recipe table td:first-child {
    width: 50%;
  }
  
  figure.wp-block-table.recipe td.chomi {
    border-bottom: none;
    padding: 20px 0 0;
  }
  
  figure.wp-block-table.recipe tr.is-highlight-row td {
    color: #ff6b9a;
    font-weight: bold;
  }

  figure.wp-block-table.recipe td.is-highlight {
    color: #ff6b9a;
    font-weight: bold;
  }
  
  /* ある一日のスケジュール */
  figure.wp-block-table.schedule table,
  figure.wp-block-table.schedule table td {
    border: none !important;
  }
  
  figure.wp-block-table.schedule table tr {
    border-bottom: 1px dashed #ccc;
  }
  
  figure.wp-block-table.schedule table td {
    padding: 10px 0;
  }
  
  figure.wp-block-table.schedule table td:first-child {
    font-weight: bold;
  }
  
  figure.wp-block-table.schedule table td.time {
    width: 100px;
    font-weight: bold;
  }
  
  /* プロフィールボックス02 */
  #postcontent .profile-box {
    margin: 1em auto;
    padding: 30px;
    background-color: #f5f5f5;
    border-radius: 10px;
  }
  
  #postcontent .profile-box figure {
    max-width: 100% !important;
    margin: 0 auto;
    text-align: center;
  }
  
  #postcontent .profile-box img {
    margin: 0 auto !important;
  }
  
  #postcontent .profile-box .ProfileName {
    padding: 15px 0 0;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
  }
  
  /* 肩書 */
  #postcontent .profile-box .ProfileBusiness {
    text-align: center;
    margin: 0;
    padding: 5px 0;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
  }
  
  #postcontent .profile-box .ProfileText {
    margin-top: 0;
  }
  
  /* プロフィールボックス03 */
  #postcontent .profile {
    margin: 40px 0;
    padding: 1.5em;
    text-align: center;
    background-color: rgba(247, 247, 247, 1);
  }
  
  #postcontent .profile .InterviewTitleSection {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0;
    padding: 0 1.25em;
    font-weight: bold;
    text-align: center;
    position: relative;
    border-bottom: none;
  }
  
  #postcontent .profile .InterviewTitleSection::before,
  #postcontent .profile .InterviewTitleSection::after {
    content: "";
    display: inline-block;
    width: 11px;
    height: 28px;
    background-repeat: no-repeat;
    background-size: contain;
  }
  
  /* 左 */
  #postcontent .profile .InterviewTitleSection::before {
    margin-right: 8px;
    background-image: url("https://soccermama.jp/wp-content/uploads/2026/04/bg-ttl-emphasis-2-left.png");
  }
  
  /* 右（※画像違うなら差し替え） */
  #postcontent .profile .InterviewTitleSection::after {
    margin-left: 8px;
    background-image: url("https://soccermama.jp/wp-content/uploads/2026/04/bg-ttl-emphasis-2-right.png");
  }
  
  #postcontent .profile .thumbs-author {
    display: inline-block;
    margin: 0;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background-color: unset;
    overflow: hidden;
  }
  
  #postcontent .profile figure {
    max-width: 100% !important;
    margin: 0;
  }
  
  #postcontent .profile p {
    margin-top: 0;
    line-height: 1.8;
  }
  
  #postcontent .profile .field {
    margin-top: 0;
  }
  
  #postcontent .profile img {
    margin-top: 0;
    margin-bottom: 0;
    max-width: 100%;
    height: auto;
  }
  
  .checkbox-error {
    display: none;
    color: #e60023;
    font-size: 12px;
    margin-top: 8px;
  }
  
  .checkbox-error.active {
    display: block;
  }
  
  .zamst-detail {
    display: none;
  }
  
  .zamst-other-detail {
    display: none;
  }
  
  .welcafe8-other {
    display: none;
  }
  
  #postcontent .PresentLineup {
    margin: 10px 0 0;
    list-style: disc;
  }
  
  #postcontent .PresentLineup li {
    list-style: disc;
  }
  
  .PinkBox li {
    list-style: disc;
  }
  
  .PinkBox li::marker {
    color: #ff8896;
  }
  
  .PresentLineup li::marker {
    color: #ff8896;
  }
  
  div.present div {
    text-align: left;
  }
  
  /* お問い合わせ */
  .Contact_Pref select {
    width: 40%;
  }
  
  .ContactWidth30 select {
    width: 30%;
  }
  
  .wpcf7-list-item {
    display: inline-block;
    margin: 0;
  }
  
  .wpcf7 form.sent .wpcf7-response-output {
    padding: 20px;
    border-color: #ff8896;
    text-align: center;
  }
  
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output,
  .wpcf7 form.payment-required .wpcf7-response-output {
    padding: 20px;
    border-color: #d50000;
    background-color: #d50000;
    color: #fff;
    text-align: center;
    font-weight: bold;
  }
  
  /* ラベル横 */
  .wpcf7-form .FormLabel {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  
  /* input / textarea（labelで囲まれてる場合） */
  .wpcf7-form label:has(
    input.wpcf7-validates-as-required,
    textarea.wpcf7-validates-as-required
  ) .FormLabel::after,
  
  /* select（今回のケース） */
  .wpcf7-form p:has(select.wpcf7-validates-as-required) .FormLabel::after,
  
  /* checkbox / radio */
  .wpcf7-form p:has(.wpcf7-checkbox.wpcf7-validates-as-required) .FormLabel::after,
  .wpcf7-form p:has(.wpcf7-radio.wpcf7-validates-as-required) .FormLabel::after {
    content: "必須入力";
    color: #ee3639;
    font-size: 12px;
    font-weight: bold;
  }
  
  input::placeholder,
  textarea::placeholder {
    color: #999;
  }
  
  input::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    color: #999;
  }
  
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: #999;
  }
  
  /* 読者プレゼント */
  figure.present-info table {
    padding: 20px 10px;
    border: unset;
    background-color: #efefef;
    font-size: 95%;
  }
  
  figure.present-info table td,
  figure.present-info table th {
    border: unset;
  }
  
  figure.present-info table th {
    width: 140px;
    padding-right: 8px;
  }
  
  span.present-number {
    background-color: #ea7c89;
    color: #fff;
    padding: 6px 10px;
    margin-right: 0.5em;
    font-size: 18px;
    font-weight: bold;
  }
  
  .MatchScheduleArea h2 + p {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #707473;
  }
  
  .MatchScheduleArea p {
    margin: 0 auto 50px;
  }
  
  .MatchScheduleArea h2.GlobalCupLPTitle {
    font-family: "Oswald", sans-serif;
    margin: 200px auto 0;
    font-size: 70px;
    font-weight: 400;
    line-height: 1.5;
    color: #006150;
    text-align: center;
  }
  
  figure.wp-block-table.MatchTable {
    width: 100%;
    margin: 0 auto 80px;
  }
  
  .MatchTable table {
    width: 100%;
    table-layout: fixed;
  }
  
  .MatchTable th {
    color: #fff;
    text-align: center;
    vertical-align: middle;
    background-color: #86cbbf;
  }
  
  .MatchTable td {
    text-align: center;
    vertical-align: middle;
  }
  
  .MatchTable th:not([align]),
  .MatchTable td:not([align]) {
    text-align: center;
  }
  
  /* 1列目 */
  .MatchTable .col-0 {
    padding: 0;
    width: 2%;
    text-align: center;
    color: #fff;
    background-color: #86cbbf;
  }
  
  .MatchTable .col-0 td {
    color: #fff;
  }
  
  /* チーム列 */
  .MatchTable .col-1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px;
    height: 6vh;
  }
  
  .MatchTable td.col-1 {
    font-size: 90%;
    justify-content: flex-start;
  }
  
  .MatchTable td.col-1 span {
    text-align: left;
  }
  
  .MatchTable td img {
    width: 15%;
    height: auto;
    display: block;
    margin: 0;
  }
  
  /* ロゴ列 */
  .MatchTable .col-2,
  .MatchTable .col-3,
  .MatchTable .col-4,
  .MatchTable .col-5 {
    width: 6%;
    font-weight: bold;
  }
  
  /* スコア系 */
  .MatchTable .col-6,
  .MatchTable .col-7,
  .MatchTable .col-8,
  .MatchTable .col-9,
  .MatchTable .col-10,
  .MatchTable .col-11,
  .MatchTable .col-12,
  .MatchTable .col-13 {
    width: 6%;
    text-align: center;
  }
  
  /* ロゴ */
  th.cell.row-0.col-2 img,
  th.cell.row-0.col-3 img,
  th.cell.row-0.col-4 img,
  th.cell.row-0.col-5 img {
    width: 100%;
    margin: 0 auto;
    display: block;
  }
  
  /* リーグ表チームアイコン表示 */
  .MatchTable .TeamIcon {
    display: inline-block;
    position: relative;
    padding-left: 50px;
  }
  
  .MatchTable .TeamIcon::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
  }
  
  /* デフォルトロゴ */
  span.TeamIcon.LogoUndetermined::before {
    background: url("/wp-content/uploads/2026/04/logo_default.png") no-repeat
      center / contain;
  }
  
  /* アコーディオン */
  .schedule-box {
    background: #fff;
    border-top: 2px solid #005d4c;
    border-bottom: 2px solid #005d4c;
    padding: 0;
  }
  
  .schedule-boxInner {
    max-width: 70%;
    margin: 0 auto;
    padding: 50px 0;
  }
  
  .wp-block-accordion-heading__toggle-title {
    flex: 1;
    font-size: 25px;
  }
  
  .wp-block-accordion-heading__toggle-icon {
    display: none;
  }
  
  .schedule-box h3 {
    position: relative;
    cursor: pointer;
    text-align: center;
    padding: 20px 0;
  }
  
  .schedule-box h3:before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 2px solid #005d4c;
    border-right: 2px solid #005d4c;
    transform: rotate(135deg) translateY(-50%);
    transform-origin: top;
    position: absolute;
    top: 50%;
    left: calc(50% + 240px);
  }
  
  .schedule-box.is-open h3:before {
    transform: rotate(315deg) translateY(-50%);
    top: 60%;
  }
  
  .schedule-box.is-open .is-layout-flow {
    border-top: 1px solid #c7c7c7;
  }
  
  /* 試合日程 */
  .MatchSchedule {
    width: 100%;
    margin: 0 auto 40px;
  }
  
  .MatchSchedule table {
    width: 100%;
    table-layout: fixed;
  }
  
  .MatchSchedule table th:not([align]) {
    text-align: center;
    color: #fff;
  }
  
  .MatchSchedule th {
    background: #86cbbf;
    color: #fff;
    text-align: center;
    vertical-align: middle;
  }
  
  .MatchSchedule td {
    text-align: center;
    vertical-align: middle;
    font-size: 80%;
    line-height: 1.6;
    word-break: break-word;
  }
  
  .MatchSchedule table td:not([align]) {
    text-align: center;
  }
  
  .MatchSchedule th:first-child,
  .MatchSchedule td:first-child {
    width: 15%;
    white-space: nowrap;
  }
  
  .MatchSchedule .col-1 > div,
  .MatchSchedule .col-2 > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    letter-spacing: 0px;
  }
  
  .MatchSchedule .col-1,
  .MatchSchedule .col-2,
  .MatchSchedule .col-3,
  .MatchSchedule .col-4,
  .MatchSchedule .col-5 {
    width: 50%;
  }
  
  .MatchSchedule .TeamIcon {
    font-size: 90%;
  }
  
  .MatchSchedule .Score {
    font-size: 130%;
    font-weight: bold;
  }
  
  .MatchSchedule tr:nth-of-type(2n + 1) {
    background: #ecf8ec;
  }
  
  /* 試合日程チームアイコン表示 */
  .MatchSchedule .TeamIcon {
    display: inline-block;
    position: relative;
    padding-left: 30px;
  }
  
  .MatchSchedule .TeamIcon::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
  }
  
  @media screen and (max-width: 768px) {
    .ContactWidth30 select {
      width: 100%;
    }
  
    .schedule-boxInner {
      max-width: 80%;
      margin: 0 auto;
      padding: 50px 0;
    }
  
    /* 横スクロール化 */
    figure.wp-block-table.MatchTable {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
  
    .MatchTable table,
    .MatchSchedule table {
      min-width: 900px;
    }
  
    /* 文字少し小さく */
    .MatchTable th,
    .MatchTable td {
      font-size: 12px;
      padding: 6px;
    }
  
    /* チーム列調整 */
    .MatchTable .col-1 {
      padding: 8px;
      gap: 4px;
    }
  
    /* ロゴ少し大きめに（視認性） */
    .MatchTable td img {
      width: 20%;
      min-width: 20px;
    }
  
    /* ヘッダー画像 */
    .MatchTable th img {
      width: 100%;
      max-width: 40px;
    }
  
    .MatchTable .col-1 {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 15px;
      height: 9vh;
    }
  
    figure.wp-block-table.MatchSchedule {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
  
    .schedule-box h3:before {
      left: calc(50% + 140px);
    }
  
    .MatchScheduleArea h2.GlobalCupLPTitle {
      font-size: 40px;
    }
  
    .MatchScheduleArea .schedule-box h3 {
      position: relative;
      cursor: pointer;
      text-align: center;
      padding: 15px 60px;
    }
  }

/* トップ：スライダー下のバナーリンク（中央寄せ・各最大380px・最大3つ）
   幅・左右ガター・レスポンシブは親の .container に任せる */
.top-banners {
  display: flex;
  flex-wrap: nowrap; /* PC: 折り返さず横並びを保持 */
  justify-content: center;
  gap: 16px;
  margin: 24px 0;
}

.top-banners .top-banner {
  flex: 0 1 380px; /* 各最大380px・必要に応じて縮小 */
  min-width: 0;
  max-width: 380px;
}

.top-banners .top-banner img {
  display: block;
  width: 100%;
  height: auto;
}

/* SP: 折り返して縦並び（中央寄せ・各最大380px） */
@media (max-width: 767px) {
  .top-banners {
    flex-wrap: wrap;
  }

  .top-banners .top-banner {
    flex-basis: 100%;
    max-width: 380px;
  }
}
  