@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@1,400..800&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&family=Nunito+Sans:wght@400&display=swap");
h1, h2, h3, h4, h5, h6 {
  font-weight: 700; }

/*----------------------------------------------
achievements
----------------------------------------------*/
/*----------------------------------------------
commonPageheadBox
----------------------------------------------*/
.commonPageheadBox.achievements {
  background-image: url("/wp-content/themes/plus1_original/img/achievements/achievements_pagehead_bg.jpg"); }

/*----------------------------------------------
achievementsLeadBox
----------------------------------------------*/
.achievementsLeadBox {
  padding: 120px 0;
  background: url("/wp-content/themes/plus1_original/img/achievements/achievements_bg01.png") center center no-repeat;
  background-size: cover; }
  @media (max-width: 767px) {
    .achievementsLeadBox {
      padding: 60px 0; } }
  .achievementsLeadBox .head {
    margin: 0 0 1em;
    font-size: clamp(2.1rem, calc(2.1rem + (3.6rem - 2.1rem) * (100vw - 375px) / (1024px - 375px)), 3.6rem);
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-align: center; }
  .achievementsLeadBox p {
    font-size: clamp(1.4rem, calc(1.4rem + (1.8rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 1.8rem);
    text-align: center;
    line-height: 2; }

/*----------------------------------------------
achievementsVoiceBox
----------------------------------------------*/
.achievementsVoiceBox {
  margin: 100px 0; }

.achievementsVoiceList {
  margin: 4em 0 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 60px 4%; }
  @media (max-width: 767px) {
    .achievementsVoiceList {
      display: block; } }
  .achievementsVoiceList > li {
    width: 48%;
    padding: 40px;
    background: #F5F5F5;
    box-sizing: border-box; }
    @media (max-width: 767px) {
      .achievementsVoiceList > li {
        width: auto;
        margin-top: 20px;
        padding: 20px; } }
    .achievementsVoiceList > li .ttlBox {
      display: flex;
      align-items: center;
      gap: 1em;
      margin: -50px 0 0; }
      @media (max-width: 767px) {
        .achievementsVoiceList > li .ttlBox {
          margin-top: -30px; } }
      .achievementsVoiceList > li .ttlBox .icon {
        width: 90px;
        flex-shrink: 0;
        text-align: center; }
        @media (max-width: 767px) {
          .achievementsVoiceList > li .ttlBox .icon {
            width: 45px; } }
      .achievementsVoiceList > li .ttlBox .ttl {
        color: #00133A;
        font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
        font-weight: 500; }

/*----------------------------------------------
program
----------------------------------------------*/
/*----------------------------------------------
commonPageheadBox
----------------------------------------------*/
.commonPageheadBox.program {
  background-image: url("/wp-content/themes/plus1_original/img/program/program_pagehead_bg.jpg"); }

/*----------------------------------------------
index
----------------------------------------------*/
.programCtgListBox {
  margin: 0 0 80px;
  background: #00133A;
  position: relative; }
  @media (max-width: 767px) {
    .programCtgListBox {
      margin-bottom: 40px; } }
  @media (max-width: 767px) {
    .programCtgListBox .inner {
      width: auto; } }
  .programCtgListBox .programCtgListWrapper {
    position: relative; }
    .programCtgListBox .programCtgListWrapper .arrow {
      position: absolute;
      top: 0;
      width: 20px;
      height: 100%;
      opacity: 0;
      pointer-events: none;
      -webkit-transition: all .3s;
      transition: all .3s; }
      .programCtgListBox .programCtgListWrapper .arrow::before {
        content: "";
        display: block;
        width: 10px;
        aspect-ratio: 1 / 1;
        border-top: 2px solid #ffffff;
        border-left: 2px solid #ffffff;
        opacity: 0.7;
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%; }
      .programCtgListBox .programCtgListWrapper .arrow.is-visible {
        opacity: 1;
        pointer-events: auto; }
      .programCtgListBox .programCtgListWrapper .arrow.left {
        left: 0; }
        .programCtgListBox .programCtgListWrapper .arrow.left::before {
          rotate: -45deg;
          margin-left: 15%; }
      .programCtgListBox .programCtgListWrapper .arrow.right {
        right: 0; }
        .programCtgListBox .programCtgListWrapper .arrow.right::before {
          rotate: 135deg;
          margin-left: -15%; }
  .programCtgListBox .programCtgList {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex; }
    @media (max-width: 767px) {
      .programCtgListBox .programCtgList {
        overflow-x: scroll; } }
    .programCtgListBox .programCtgList > li {
      margin: 0;
      flex: 1; }
      .programCtgListBox .programCtgList > li > a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.5em;
        height: 100%;
        padding: 1em;
        color: #ffffff;
        text-align: center;
        text-decoration: none;
        box-sizing: border-box;
        white-space: nowrap; }
      .programCtgListBox .programCtgList > li.active a {
        background: #334261; }
      @media (min-width: 1281px) {
        .programCtgListBox .programCtgList > li a:hover {
          background: #334261; } }
      .programCtgListBox .programCtgList > li.archive > a::after {
        content: "";
        display: block;
        width: 0.4em;
        aspect-ratio: 1 / 1;
        border: 2px solid currentColor;
        border-left: 0;
        border-bottom: 0;
        transform: rotate(135deg); }
  .programCtgListBox .layerBox {
    background: #334261; }
    .programCtgListBox .layerBox ul {
      width: fit-content;
      margin: 0 auto;
      padding: 1.5em 1em;
      list-style-type: none;
      display: flex;
      justify-content: flex-start;
      gap: 1em 2em;
      flex-wrap: wrap; }
      @media (max-width: 767px) {
        .programCtgListBox .layerBox ul {
          width: auto;
          flex-wrap: nowrap;
          overflow-x: scroll; } }
      .programCtgListBox .layerBox ul li {
        margin: 0; }
        .programCtgListBox .layerBox ul li a {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0.5em;
          color: #ffffff;
          text-decoration: none;
          white-space: nowrap;
          position: relative; }
          .programCtgListBox .layerBox ul li a::before {
            content: "";
            display: block;
            width: 0.4em;
            aspect-ratio: 1 / 1;
            border: 2px solid #A99979;
            border-left: 0;
            border-bottom: 0;
            transform: rotate(45deg); }
          .programCtgListBox .layerBox ul li a::after {
            content: "";
            display: block;
            width: 0%;
            height: 2px;
            background: #A99979;
            position: absolute;
            bottom: -0.4em;
            left: 50%;
            -webkit-transition: all .3s;
            transition: all .3s; }
        .programCtgListBox .layerBox ul li.active a::after,
        .programCtgListBox .layerBox ul li a:hover::after {
          width: 100%;
          left: 0%; }

/*.programCtgListBox.abroad_leading .programCtgList > li.abroad_leading > a ,
.programCtgListBox.abroad_notleading .programCtgList > li.abroad_notleading > a ,
.programCtgListBox.domestic .programCtgList > li.domestic > a ,
.programCtgListBox.abroad_yearround .programCtgList > li.abroad_yearround > a ,
.programCtgListBox.archive .programCtgList > li.archive > a ,
.programCtgList > li > a:hover {
	background: $light_blue;
}*/
.programIndexListBox {
  margin: 80px 0 100px; }
  @media (max-width: 767px) {
    .programIndexListBox {
      margin: 40px 0 50px; } }
  .programIndexListBox .programIndexList {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    gap: 60px 4%;
    flex-wrap: wrap; }
    @media (max-width: 767px) {
      .programIndexListBox .programIndexList {
        flex-direction: column; } }
    .programIndexListBox .programIndexList > li {
      margin: 0;
      width: 48%; }
      @media (max-width: 767px) {
        .programIndexListBox .programIndexList > li {
          width: auto; } }
      .programIndexListBox .programIndexList > li > a {
        display: block;
        background: #F5F5F5;
        padding: 30px;
        text-decoration: none;
        position: relative; }
        .programIndexListBox .programIndexList > li > a:hover .imgBox img {
          scale: 1.1; }
        .programIndexListBox .programIndexList > li > a:has(.closed)::before {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          background: rgba(26, 26, 26, 0.4);
          z-index: 10;
          pointer-events: none; }
      .programIndexListBox .programIndexList > li .commonProgramTagList {
        margin: -15px -15px 0;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px; }
      .programIndexListBox .programIndexList > li .country {
        margin: 2em auto 1em;
        display: flex;
        justify-content: center;
        gap: 10px; }
        .programIndexListBox .programIndexList > li .country .item {
          display: block;
          text-align: center; }
          .programIndexListBox .programIndexList > li .country .item .flag {
            display: block;
            width: 60px;
            margin: 0 auto; }
          .programIndexListBox .programIndexList > li .country .item .name {
            display: block;
            font-weight: 700;
            margin: 0.2em 0 0 0; }
      .programIndexListBox .programIndexList > li .title {
        font-family: "Noto Serif JP", serif;
        font-size: clamp(1.8rem, calc(1.8rem + (2.4rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.4rem);
        text-align: center;
        margin: 0.5em 0 1em; }
      .programIndexListBox .programIndexList > li .tbl01 {
        border-collapse: collapse;
        border-spacing: 0; }
        .programIndexListBox .programIndexList > li .tbl01 th, .programIndexListBox .programIndexList > li .tbl01 td {
          padding: 0.5em 1em;
          border-bottom: 2px solid #F5F5F5;
          background: #ffffff; }
        .programIndexListBox .programIndexList > li .tbl01 th {
          font-weight: 700;
          text-align: left;
          white-space: nowrap; }
        .programIndexListBox .programIndexList > li .tbl01 td {
          width: 100%; }
      .programIndexListBox .programIndexList > li .imgBox {
        margin: 1em 0;
        text-align: center;
        overflow: hidden; }
      .programIndexListBox .programIndexList > li .list01 {
        margin: 0;
        padding: 0;
        list-style-type: none; }
        .programIndexListBox .programIndexList > li .list01 dt {
          color: #A99979;
          font-weight: 700;
          margin: 1em 0 0 0; }
        .programIndexListBox .programIndexList > li .list01 dd {
          margin: 0; }
      .programIndexListBox .programIndexList > li .btn {
        margin: 2em auto 0; }

/*----------------------------------------------
programDetailHeadBox
----------------------------------------------*/
.programDetailHeadBox {
  padding: 60px 0 100px;
  background: #00133A; }
  @media (max-width: 767px) {
    .programDetailHeadBox {
      padding: 30px 0; } }
  .programDetailHeadBox .commonProgramTagList {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px; }
  .programDetailHeadBox .age {
    color: #A99979;
    font-size: clamp(1.8rem, calc(1.8rem + (2.4rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.4rem);
    font-weight: 500;
    text-align: center;
    margin: 1em 0; }
  .programDetailHeadBox .title {
    color: #ffffff;
    font-size: clamp(2.8rem, calc(2.8rem + (4.8rem - 2.8rem) * (100vw - 375px) / (1024px - 375px)), 4.8rem);
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.075em;
    font-family: "Noto Serif JP", serif;
    margin: 0.5em 0; }
  .programDetailHeadBox .dateSpanWrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 1em;
    flex-wrap: wrap;
    margin: 1em 0;
    color: #ffffff;
    font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
    font-weight: 700;
    font-family: "Noto Serif JP", serif; }
    .programDetailHeadBox .dateSpanWrapper P {
      margin: 0; }
  .programDetailHeadBox .imgList {
    margin: 60px 0 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px; }
    @media (max-width: 767px) {
      .programDetailHeadBox .imgList {
        margin-top: 30px;
        gap: 20px; } }
    .programDetailHeadBox .imgList > li .imgBox {
      max-width: 580px;
      margin: 0;
      position: relative;
      overflow: hidden; }

/*----------------------------------------------
programDetailBodyBox
----------------------------------------------*/
.programDetailBodyBox {
  margin: 80px 0 100px; }
  @media (max-width: 767px) {
    .programDetailBodyBox {
      margin: 40px 0 50px; } }
  .programDetailBodyBox .anchorList {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1em 0;
    font-weight: 700;
    font-family: "Noto Serif JP", serif; }
    @media (max-width: 767px) {
      .programDetailBodyBox .anchorList {
        justify-content: flex-start; } }
    .programDetailBodyBox .anchorList > li {
      border-left: 1px solid #CBCBCB;
      box-sizing: border-box; }
      @media (max-width: 767px) {
        .programDetailBodyBox .anchorList > li {
          width: 50%; }
          .programDetailBodyBox .anchorList > li:nth-child(even) {
            border-right: 1px solid #CBCBCB; } }
      .programDetailBodyBox .anchorList > li:last-child {
        border-right: 1px solid #CBCBCB; }
      .programDetailBodyBox .anchorList > li a {
        display: block;
        padding: 0 1.5em;
        text-decoration: none;
        text-align: center; }
        @media (max-width: 767px) {
          .programDetailBodyBox .anchorList > li a {
            padding: 0 1em; } }
        .programDetailBodyBox .anchorList > li a:hover {
          text-decoration: underline; }
  .programDetailBodyBox .programDetailTtlBox {
    margin-top: 180px; }
    @media (max-width: 767px) {
      .programDetailBodyBox .programDetailTtlBox {
        margin-top: 80px; } }
  .programDetailBodyBox .programDetailDescBox {
    line-height: 1.75; }
  .programDetailBodyBox .programDetailTbl01 {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem); }
    .programDetailBodyBox .programDetailTbl01 th, .programDetailBodyBox .programDetailTbl01 td {
      padding: 1em 2em;
      border-bottom: 1px solid #CFCFCF; }
      @media (max-width: 767px) {
        .programDetailBodyBox .programDetailTbl01 th, .programDetailBodyBox .programDetailTbl01 td {
          padding: 1em; } }
    .programDetailBodyBox .programDetailTbl01 tr:last-child th, .programDetailBodyBox .programDetailTbl01 tr:last-child td {
      border: none; }
    .programDetailBodyBox .programDetailTbl01 th {
      color: #ffffff;
      text-align: left;
      white-space: nowrap;
      background: #00133A; }
    .programDetailBodyBox .programDetailTbl01 td {
      width: 100%;
      background: #F5F5F5; }
      .programDetailBodyBox .programDetailTbl01 td > *:first-child {
        margin-top: 0; }
      .programDetailBodyBox .programDetailTbl01 td > *:last-child {
        margin-bottom: 0; }
    .programDetailBodyBox .programDetailTbl01 tr.country td .countryname + .countryname::before {
      content: "/"; }
  .programDetailBodyBox .programDetailTblDescBox {
    margin: 1em 0; }
  .programDetailBodyBox .supportBox {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    margin: 60px auto 0; }
    @media (max-width: 767px) {
      .programDetailBodyBox .supportBox {
        margin-top: 30px;
        flex-direction: column; } }
    .programDetailBodyBox .supportBox dl.list {
      margin: 0;
      padding: 0 30px;
      list-style-type: none;
      border-left: 1px solid #A99979; }
      .programDetailBodyBox .supportBox dl.list > dt {
        font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
        font-weight: 700;
        font-family: "Noto Serif JP", serif;
        margin: 0 0 0.3em 0; }
      .programDetailBodyBox .supportBox dl.list > dd {
        font-weight: 500;
        display: flex;
        align-items: flex-start;
        gap: 0.5em;
        margin: 0.2em 0 0 0;
        padding: 0 0 0 1.8em;
        position: relative; }
        .programDetailBodyBox .supportBox dl.list > dd::before {
          content: "";
          display: block;
          width: 1.25em;
          aspect-ratio: 1 / 1;
          background: url("/wp-content/themes/plus1_original/img/common/icon_list02.svg") 0 0 no-repeat;
          background-size: contain;
          position: absolute;
          top: 0.3em;
          left: 0; }
  .programDetailBodyBox .programDetailReportList {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .programDetailBodyBox .programDetailReportList > li {
      margin-bottom: 40px; }
      @media (max-width: 767px) {
        .programDetailBodyBox .programDetailReportList > li {
          margin-bottom: 20px; } }
      .programDetailBodyBox .programDetailReportList > li > a {
        padding: 40px;
        background: #F5F5F5;
        display: flex;
        align-items: flex-start;
        gap: 40px;
        text-decoration: none; }
        @media (max-width: 767px) {
          .programDetailBodyBox .programDetailReportList > li > a {
            padding: 20px;
            gap: 20px; } }
        .programDetailBodyBox .programDetailReportList > li > a:hover .imgBox img {
          opacity: 0.7;
          scale: 1.1; }
      .programDetailBodyBox .programDetailReportList > li .imgClm {
        width: 280px;
        flex-shrink: 0; }
        @media (max-width: 767px) {
          .programDetailBodyBox .programDetailReportList > li .imgClm {
            width: 100px; } }
      .programDetailBodyBox .programDetailReportList > li .imgBox {
        margin: 0;
        position: relative;
        overflow: hidden; }
        .programDetailBodyBox .programDetailReportList > li .imgBox img {
          aspect-ratio: 1 / 1;
          object-fit: cover; }
      .programDetailBodyBox .programDetailReportList > li .place,
      .programDetailBodyBox .programDetailReportList > li .age {
        color: #A99979;
        font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
        font-weight: 500;
        margin: 0; }
      .programDetailBodyBox .programDetailReportList > li .title {
        font-size: clamp(1.8rem, calc(1.8rem + (2.4rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.4rem);
        font-family: "Noto Serif JP", serif;
        font-weight: 700;
        letter-spacing: 0.075em;
        margin: 0.5em 0; }
      @media (max-width: 767px) {
        .programDetailBodyBox .programDetailReportList > li .txt {
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
          overflow: hidden; } }
  .programDetailBodyBox .programDetailReportBtnMore {
    margin: 1em auto;
    width: 240px; }
    @media (max-width: 767px) {
      .programDetailBodyBox .programDetailReportBtnMore {
        width: 180px; } }
    .programDetailBodyBox .programDetailReportBtnMore button {
      cursor: pointer;
      outline: none;
      appearance: none;
      color: #ffffff;
      text-decoration: none;
      line-height: 1;
      letter-spacing: 0.05em;
      border: 1px solid #A99979;
      background: #A99979;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0 0.8em;
      padding: 1.2em;
      position: relative;
      z-index: 1;
      box-sizing: border-box; }
      .programDetailBodyBox .programDetailReportBtnMore button::after {
        content: "";
        display: block;
        background: #ffffff;
        width: 0;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        -webkit-transition: all .3s;
        transition: all .3s; }
      .programDetailBodyBox .programDetailReportBtnMore button:hover {
        color: #A99979; }
        .programDetailBodyBox .programDetailReportBtnMore button:hover::after {
          width: 100%; }
  .programDetailBodyBox .programDetailScheduleImgWrapper {
    text-align: center; }
    @media (max-width: 767px) {
      .programDetailBodyBox .programDetailScheduleImgWrapper {
        overflow-x: scroll; } }
    .programDetailBodyBox .programDetailScheduleImgWrapper .imgBox {
      margin: 0; }
      @media (max-width: 767px) {
        .programDetailBodyBox .programDetailScheduleImgWrapper .imgBox img {
          max-width: none; } }
    .programDetailBodyBox .programDetailScheduleImgWrapper .scroll-hint-icon {
      top: 100px; }
    .programDetailBodyBox .programDetailScheduleImgWrapper .programDetailScheduleDescBox {
      margin: 1em 0; }
  .programDetailBodyBox .programDetailPriceBox {
    padding: 60px;
    background: #F5F5F5; }
    @media (max-width: 767px) {
      .programDetailBodyBox .programDetailPriceBox {
        padding: 30px; } }
    .programDetailBodyBox .programDetailPriceBox .priceBox {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1em; }
      @media (max-width: 767px) {
        .programDetailBodyBox .programDetailPriceBox .priceBox {
          flex-direction: column; } }
      .programDetailBodyBox .programDetailPriceBox .priceBox .ttl {
        color: #ffffff;
        font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
        font-weight: 500;
        line-height: 1;
        margin: 0;
        padding: 0.5em 1.5em;
        background: #00133A; }
      .programDetailBodyBox .programDetailPriceBox .priceBox .price {
        font-size: clamp(2.4rem, calc(2.4rem + (4.8rem - 2.4rem) * (100vw - 375px) / (1024px - 375px)), 4.8rem);
        font-family: "Noto Serif JP", serif;
        font-weight: 700;
        letter-spacing: 0.075em;
        line-height: 1;
        margin: 0;
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap; }
        .programDetailBodyBox .programDetailPriceBox .priceBox .price .yen,
        .programDetailBodyBox .programDetailPriceBox .priceBox .price .taxincluded {
          font-size: 0.6em; }
    .programDetailBodyBox .programDetailPriceBox .containsClmWrapper {
      display: flex;
      align-items: flex-start;
      margin: 80px 0 0 0;
      gap: 20px; }
      @media (max-width: 767px) {
        .programDetailBodyBox .programDetailPriceBox .containsClmWrapper {
          margin-top: 40px;
          flex-direction: column; } }
      .programDetailBodyBox .programDetailPriceBox .containsClmWrapper > .clm {
        flex: 1;
        padding: 0 1em;
        border-left: 1px solid #CBCBCB; }
      .programDetailBodyBox .programDetailPriceBox .containsClmWrapper .ttl {
        font-size: clamp(1.8rem, calc(1.8rem + (2.4rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.4rem);
        font-family: "Noto Serif JP", serif;
        font-weight: 700;
        letter-spacing: 0.075em;
        margin: 0; }
      .programDetailBodyBox .programDetailPriceBox .containsClmWrapper .descBox > *:last-child {
        margin-bottom: 0; }
      .programDetailBodyBox .programDetailPriceBox .containsClmWrapper .descBox ul li::marker {
        color: #B3B3B3; }

/*----------------------------------------------
reason
----------------------------------------------*/
/*----------------------------------------------
commonPageheadBox
----------------------------------------------*/
.commonPageheadBox.reason {
  background-image: url("/wp-content/themes/plus1_original/img/reason/reason_pagehead_bg.jpg"); }

/*----------------------------------------------
reasonOneSec01
----------------------------------------------*/
.reasonOneSec01 {
  padding: 60px 0;
  background: url("/wp-content/themes/plus1_original/img/reason/reason_bg01.png") center 0 no-repeat;
  background-size: 100% auto; }
  @media (max-width: 767px) {
    .reasonOneSec01 {
      padding: 30px 0;
      background-size: auto auto; } }
  .reasonOneSec01 .reasonOneSec01Inner {
    display: flex;
    align-items: flex-start;
    gap: 50px; }
    @media (max-width: 767px) {
      .reasonOneSec01 .reasonOneSec01Inner {
        display: block; } }
    .reasonOneSec01 .reasonOneSec01Inner .txtClm {
      width: 720px;
      flex-shrink: 0; }
      @media (max-width: 1024px) {
        .reasonOneSec01 .reasonOneSec01Inner .txtClm {
          flex-shrink: inherit; } }
      @media (max-width: 767px) {
        .reasonOneSec01 .reasonOneSec01Inner .txtClm {
          width: auto; } }
    .reasonOneSec01 .reasonOneSec01Inner .imgClm {
      margin: 0;
      text-align: center; }
      @media (max-width: 767px) {
        .reasonOneSec01 .reasonOneSec01Inner .imgClm {
          margin-top: 20px; } }
    .reasonOneSec01 .reasonOneSec01Inner .ttl01 {
      margin: 0;
      display: flex;
      align-items: center;
      gap: 0.5em;
      font-size: clamp(1.6rem, calc(1.6rem + (3.2rem - 1.6rem) * (100vw - 375px) / (1024px - 375px)), 3.2rem);
      font-family: "Noto Serif JP", serif;
      font-weight: 700;
      letter-spacing: 0.1em; }
      .reasonOneSec01 .reasonOneSec01Inner .ttl01 .num {
        width: 5.25em;
        flex-shrink: 0; }
  .reasonOneSec01:nth-child(odd) .reasonOneSec01Inner .imgClm {
    margin-right: calc(50% - 50vw + 40px); }
    @media (max-width: 767px) {
      .reasonOneSec01:nth-child(odd) .reasonOneSec01Inner .imgClm {
        margin-right: 0; } }
  .reasonOneSec01:nth-child(even) .reasonOneSec01Inner {
    flex-direction: row-reverse; }
    .reasonOneSec01:nth-child(even) .reasonOneSec01Inner .imgClm {
      margin-left: calc(50% - 50vw + 40px); }
      @media (max-width: 767px) {
        .reasonOneSec01:nth-child(even) .reasonOneSec01Inner .imgClm {
          margin-left: 0; } }
  .reasonOneSec01 .attentionBox {
    margin: 40px 0 0 0;
    padding: 40px;
    border: 1px solid #A99979;
    background: #ffffff;
    position: relative; }
    @media (max-width: 767px) {
      .reasonOneSec01 .attentionBox {
        padding: 20px; } }
    .reasonOneSec01 .attentionBox .ttl02 {
      color: #ffffff;
      font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
      text-align: center;
      line-height: 1;
      margin: 0 0 0 -1px;
      padding: 0.5em 0;
      width: 200px;
      position: absolute;
      top: 0;
      left: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      background: url("/wp-content/themes/plus1_original/img/reason/reason_attention_ttl_bg01.png") 0 0 no-repeat;
      background-size: 100% 100%; }
      @media (max-width: 767px) {
        .reasonOneSec01 .attentionBox .ttl02 {
          width: 150px; } }
    .reasonOneSec01 .attentionBox .descBox {
      display: flex;
      align-items: flex-start;
      gap: 40px; }
      @media (max-width: 767px) {
        .reasonOneSec01 .attentionBox .descBox {
          display: block; } }
      .reasonOneSec01 .attentionBox .descBox .imgBox01 {
        margin: 0;
        width: 48%;
        flex-shrink: 0; }
        @media (max-width: 767px) {
          .reasonOneSec01 .attentionBox .descBox .imgBox01 {
            width: auto; } }
    .reasonOneSec01 .attentionBox .txt01 {
      font-family: "Noto Serif JP", serif;
      color: #820000;
      font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
      font-weight: 700;
      margin: 0; }
    .reasonOneSec01 .attentionBox .imgBox01 {
      margin: 10px 0; }

/*----------------------------------------------
first
----------------------------------------------*/
/*----------------------------------------------
commonPageheadBox
----------------------------------------------*/
.commonPageheadBox.first {
  background-image: url("/wp-content/themes/plus1_original/img/first/first_pagehead_bg.jpg"); }

/*----------------------------------------------
firstContentBox
----------------------------------------------*/
.firstContentBox {
  padding: 100px 0;
  background: url("/wp-content/themes/plus1_original/img/first/first_bg01.jpg") center 0 no-repeat;
  background-size: 100% auto; }
  .firstContentBox .forstLeadTtl {
    font-family: "Noto Serif JP", serif;
    font-size: clamp(2.1rem, calc(2.1rem + (3.6rem - 2.1rem) * (100vw - 375px) / (1024px - 375px)), 3.6rem);
    text-align: center;
    margin: 1em 0; }
  .firstContentBox .firstLeadTxt {
    font-size: clamp(1.4rem, calc(1.4rem + (1.8rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 1.8rem);
    text-align: center;
    line-height: 2; }
  .firstContentBox .reasonOneSec01 {
    margin: 60px 0;
    padding: 60px;
    color: #ffffff;
    background: #00133A;
    display: flex;
    align-items: flex-start;
    gap: 50px; }
    @media (max-width: 767px) {
      .firstContentBox .reasonOneSec01 {
        display: block;
        padding: 30px; } }
    .firstContentBox .reasonOneSec01 .txtClm {
      width: 50%;
      flex-shrink: 0; }
      @media (max-width: 767px) {
        .firstContentBox .reasonOneSec01 .txtClm {
          width: auto; } }
    .firstContentBox .reasonOneSec01 .imgClm {
      width: 50%;
      text-align: center; }
      @media (max-width: 767px) {
        .firstContentBox .reasonOneSec01 .imgClm {
          width: auto;
          margin-top: 20px; } }
      .firstContentBox .reasonOneSec01 .imgClm figure {
        margin: 0; }
        .firstContentBox .reasonOneSec01 .imgClm figure + figure {
          margin-top: 30px; }
    .firstContentBox .reasonOneSec01 .ttl01 {
      margin-top: 0; }
    .firstContentBox .reasonOneSec01:nth-child(even) {
      flex-direction: row-reverse; }
  .firstContentBox .firstFaqList {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .firstContentBox .firstFaqList > dt {
      font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
      font-weight: 700;
      margin: 0 0 1em 0;
      padding: 0 0 0 40px;
      position: relative; }
      .firstContentBox .firstFaqList > dt::before {
        content: "Q.";
        color: #00133A;
        font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
        font-family: "Noto Serif JP", serif;
        font-optical-sizing: auto;
        font-style: italic;
        font-weight: 500;
        line-height: 1;
        position: absolute;
        top: 0;
        left: 0; }
    .firstContentBox .firstFaqList > dd {
      margin: 1em 0 0 0;
      padding: 0 0 1.5em 40px;
      border-bottom: 1px solid #CBCBCB;
      position: relative; }
      .firstContentBox .firstFaqList > dd::before {
        content: "A.";
        color: #A99979;
        font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
        font-family: "Noto Serif JP", serif;
        font-optical-sizing: auto;
        font-style: italic;
        font-weight: 500;
        line-height: 1;
        position: absolute;
        top: 0;
        left: 0; }
      .firstContentBox .firstFaqList > dd + dt {
        margin-top: 1.5em; }

/*----------------------------------------------
report
----------------------------------------------*/
/*----------------------------------------------
commonPageheadBox
----------------------------------------------*/
.commonPageheadBox.report {
  background-image: url("/wp-content/themes/plus1_original/img/report/report_pagehead_bg.jpg"); }

/*----------------------------------------------
index
----------------------------------------------*/
.reportCtgListBox {
  margin: 4em 0; }
  .reportCtgListBox .reportCtgList {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    gap: 10px; }
    .reportCtgListBox .reportCtgList > li {
      margin: 0;
      flex: 1; }
      .reportCtgListBox .reportCtgList > li a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.5em;
        padding: 1em;
        font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
        font-family: "Noto Serif JP", serif;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        border-width: 4px;
        border-style: none none solid none;
        border-color: currentColor; }
        .reportCtgListBox .reportCtgList > li a::before {
          content: "";
          display: block;
          width: 0.3em;
          aspect-ratio: 1 / 1;
          border: 2px solid currentColor;
          border-left: 0;
          border-bottom: 0;
          transform: rotate(135deg); }
      .reportCtgListBox .reportCtgList > li.report a {
        color: #00133A; }
      .reportCtgListBox .reportCtgList > li.voice a {
        color: #A99979; }

.reportCtgListBox:has(.active) .reportCtgList > li:not(.active) a {
  opacity: 0.7;
  border-width: 1px; }

.reportIndexListBox {
  margin: 80px 0 100px; }
  @media (max-width: 767px) {
    .reportIndexListBox {
      margin: 40px 0 50px; } }
  .reportIndexListBox .reportIndexList {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    gap: 60px 3.5%; }
    @media (max-width: 767px) {
      .reportIndexListBox .reportIndexList {
        gap: 60px 4%; } }
    .reportIndexListBox .reportIndexList > li {
      margin: 0;
      width: 31%; }
      @media (max-width: 767px) {
        .reportIndexListBox .reportIndexList > li {
          width: 48%; } }
      .reportIndexListBox .reportIndexList > li a {
        display: block;
        text-decoration: none; }
        .reportIndexListBox .reportIndexList > li a:hover .imgBox img {
          scale: 1.1; }
      .reportIndexListBox .reportIndexList > li .imgBox {
        margin: 0;
        overflow: hidden; }
        .reportIndexListBox .reportIndexList > li .imgBox img {
          object-fit: cover;
          aspect-ratio: 370 / 260; }
      .reportIndexListBox .reportIndexList > li .infoWrapper {
        margin: 1em 0;
        display: flex;
        align-items: flex-start;
        gap: 20px; }
        @media (max-width: 767px) {
          .reportIndexListBox .reportIndexList > li .infoWrapper {
            gap: 10px; } }
        .reportIndexListBox .reportIndexList > li .infoWrapper .iconBox {
          margin: 0;
          width: 32%;
          max-width: 120px; }
        .reportIndexListBox .reportIndexList > li .infoWrapper .commonReportCtgList {
          display: flex;
          align-items: flex-start;
          flex-wrap: wrap;
          gap: 0.5em; }
        .reportIndexListBox .reportIndexList > li .infoWrapper .date,
        .reportIndexListBox .reportIndexList > li .infoWrapper .destination,
        .reportIndexListBox .reportIndexList > li .infoWrapper .target {
          font-weight: 500;
          margin: 0.2em 0 0; }
      .reportIndexListBox .reportIndexList > li .title {
        margin: 1em 0 0 0; }
      .reportIndexListBox .reportIndexList > li:has(.report) .date,
      .reportIndexListBox .reportIndexList > li:has(.report) .destination,
      .reportIndexListBox .reportIndexList > li:has(.report) .target {
        color: #00133A; }
      .reportIndexListBox .reportIndexList > li:has(.voice) .date,
      .reportIndexListBox .reportIndexList > li:has(.voice) .destination,
      .reportIndexListBox .reportIndexList > li:has(.voice) .target {
        color: #A99979; }

/*----------------------------------------------
detail
----------------------------------------------*/
.reportDetailBox {
  margin: 80px 0 100px; }
  @media (max-width: 767px) {
    .reportDetailBox {
      margin: 40px 0 50px; } }

.reportDetailHeadBox .commonReportCtgList {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5em; }
.reportDetailHeadBox .date {
  font-weight: 500;
  margin: 1em 0 0; }
.reportDetailHeadBox:has(.report) .date {
  color: #00133A; }
.reportDetailHeadBox:has(.voice) .date {
  color: #A99979; }
.reportDetailHeadBox .title {
  font-size: clamp(1.6rem, calc(1.6rem + (3.2rem - 1.6rem) * (100vw - 375px) / (1024px - 375px)), 3.2rem);
  margin: 0.5em 0 1em; }

.reportDetailInfoBox {
  display: flex;
  gap: 40px; }
  @media (max-width: 767px) {
    .reportDetailInfoBox {
      flex-direction: column; } }
  .reportDetailInfoBox .imgBox {
    margin: 0;
    width: 50%; }
    @media (max-width: 767px) {
      .reportDetailInfoBox .imgBox {
        width: auto; } }
  .reportDetailInfoBox .txtBox {
    flex: 1; }
    .reportDetailInfoBox .txtBox .iconBox {
      margin: 0; }
      @media (max-width: 767px) {
        .reportDetailInfoBox .txtBox .iconBox {
          width: 60px; } }
    .reportDetailInfoBox .txtBox .tbl01 {
      margin: 1em 0;
      border-collapse: collapse;
      border-spacing: 0; }
      .reportDetailInfoBox .txtBox .tbl01 th, .reportDetailInfoBox .txtBox .tbl01 td {
        padding: 0.5em 1em;
        border-bottom: 1px solid #CBCBCB; }
      .reportDetailInfoBox .txtBox .tbl01 th {
        font-weight: 700;
        text-align: left;
        white-space: nowrap; }
      .reportDetailInfoBox .txtBox .tbl01 td {
        width: 100%; }

/*----------------------------------------------
news
----------------------------------------------*/
/*----------------------------------------------
commonPageheadBox
----------------------------------------------*/
.commonPageheadBox.news {
  background-image: url("/wp-content/themes/plus1_original/img/news/news_pagehead_bg.jpg"); }

/*----------------------------------------------
index
----------------------------------------------*/
.newsCtgListBox {
  margin: 4em 0; }
  .newsCtgListBox .newsCtgList {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    gap: 10px; }
    .newsCtgListBox .newsCtgList > li {
      margin: 0;
      flex: 1; }
      .newsCtgListBox .newsCtgList > li a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.5em;
        padding: 1em;
        font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
        font-family: "Noto Serif JP", serif;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        border-width: 4px;
        border-style: none none solid none;
        border-color: currentColor; }
        .newsCtgListBox .newsCtgList > li a::before {
          content: "";
          display: block;
          width: 0.3em;
          aspect-ratio: 1 / 1;
          border: 2px solid currentColor;
          border-left: 0;
          border-bottom: 0;
          transform: rotate(135deg); }
      .newsCtgListBox .newsCtgList > li.program a {
        color: #00133A; }
      .newsCtgListBox .newsCtgList > li.info a {
        color: #A99979; }

.newsCtgListBox:has(.active) .newsCtgList > li:not(.active) a {
  opacity: 0.7;
  border-width: 1px; }

.newsIndexListBox {
  margin: 80px 0 100px; }
  @media (max-width: 767px) {
    .newsIndexListBox {
      margin: 40px 0 50px; } }
  .newsIndexListBox .newsIndexList {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .newsIndexListBox .newsIndexList > li {
      margin: 0 0 4em 0;
      padding: 0;
      display: grid;
      grid-template-columns: 5em 8em auto;
      grid-template-rows: auto;
      gap: 1em; }
      @media (max-width: 767px) {
        .newsIndexListBox .newsIndexList > li {
          grid-template-columns: 5em auto;
          grid-template-rows: auto auto; } }
      .newsIndexListBox .newsIndexList > li .date {
        grid-column: 1;
        grid-row: 1;
        margin: 0;
        color: #666666;
        line-height: 1;
        white-space: nowrap; }
      .newsIndexListBox .newsIndexList > li .tag {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        padding: 0;
        list-style-type: none;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 0.5em;
        white-space: nowrap; }
        @media (max-width: 767px) {
          .newsIndexListBox .newsIndexList > li .tag {
            flex-direction: row; } }
        .newsIndexListBox .newsIndexList > li .tag > li {
          color: #ffffff;
          font-size: clamp(1rem, calc(1rem + (1.4rem - 1rem) * (100vw - 375px) / (1024px - 375px)), 1.4rem);
          line-height: 1;
          padding: 0.4em 0.8em;
          background: #B3B3B3; }
      .newsIndexListBox .newsIndexList > li .title {
        grid-column: 3;
        grid-row: 1;
        margin: 0;
        font-family: "Noto Serif JP", serif;
        font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
        font-weight: bold;
        text-decoration: none; }
        @media (max-width: 767px) {
          .newsIndexListBox .newsIndexList > li .title {
            grid-column: 1 / 3;
            grid-row: 2; } }
        .newsIndexListBox .newsIndexList > li .title a {
          text-decoration: none; }
          .newsIndexListBox .newsIndexList > li .title a:hover {
            text-decoration: underline; }

/*----------------------------------------------
detail
----------------------------------------------*/
.newsDetailBox {
  margin: 80px 0 100px; }
  @media (max-width: 767px) {
    .newsDetailBox {
      margin: 40px 0 50px; } }

.newsDetailHeadBox .commonNewsCtgList {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5em; }
.newsDetailHeadBox .date {
  font-weight: 500;
  margin: 1em 0 0; }
.newsDetailHeadBox:has(.report) .date {
  color: #00133A; }
.newsDetailHeadBox:has(.voice) .date {
  color: #A99979; }
.newsDetailHeadBox .title {
  font-size: clamp(1.6rem, calc(1.6rem + (3.2rem - 1.6rem) * (100vw - 375px) / (1024px - 375px)), 3.2rem);
  margin: 0.5em 0 1em; }

/*----------------------------------------------
form
----------------------------------------------*/
/*----------------------------------------------
commonPageheadBox
----------------------------------------------*/
.commonPageheadBox.form {
  background-image: url("/wp-content/themes/plus1_original/img/form/form_pagehead_bg.jpg"); }

/*----------------------------------------------
formBody
----------------------------------------------*/
.formBodyBox {
  max-width: 800px;
  margin: 0 auto;
  /*.program-name {
  	.wpcf7-radio {
  		.wpcf7-list-item:has(input[value=""]) {
  			font-weight: 700;
  			&:not(.first) {
  				margin-top: 1em;
  			}
  		}
  	}
  }*/ }
  .formBodyBox .formTbl01 {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    border-top: 1px solid #CBCBCB; }
    .formBodyBox .formTbl01 th, .formBodyBox .formTbl01 td {
      font-weight: normal;
      text-align: left;
      vertical-align: top;
      padding: 1em 0;
      border-bottom: 1px solid #CBCBCB; }
      .formBodyBox .formTbl01 th p, .formBodyBox .formTbl01 td p {
        margin: 0; }
      @media (max-width: 767px) {
        .formBodyBox .formTbl01 th, .formBodyBox .formTbl01 td {
          display: block; } }
    .formBodyBox .formTbl01 th {
      white-space: nowrap;
      padding-right: 1em; }
      @media (max-width: 767px) {
        .formBodyBox .formTbl01 th {
          padding-right: 0;
          padding-bottom: 0;
          padding-top: 1em;
          border-bottom: none; } }
      .formBodyBox .formTbl01 th .required {
        margin-left: 0.5em; }
    .formBodyBox .formTbl01 td .wpcf7-form-control-wrap {
      display: block; }
  .formBodyBox .required {
    display: inline-block;
    color: #ffffff;
    font-size: 0.9em;
    line-height: 1;
    padding: 0.2em 0.5em;
    background: #ff0000;
    border-radius: 0.2em; }
  .formBodyBox input,
  .formBodyBox textarea {
    border-radius: 0.25em;
    border: 1px solid #707070;
    padding: 0.4em 0.6em;
    box-sizing: border-box; }
  .formBodyBox input[type="text"],
  .formBodyBox input[type="email"],
  .formBodyBox textarea {
    width: 100%; }
  .formBodyBox .privacy-agree {
    text-align: center;
    margin: 3em auto; }
    .formBodyBox .privacy-agree .required {
      margin-left: 0.5em;
      vertical-align: text-top; }
  .formBodyBox .btnSend .wpcf7-submit {
    margin: 3em auto;
    width: 240px;
    color: #ffffff;
    text-decoration: none;
    line-height: 1;
    letter-spacing: 0.05em;
    border: 1px solid #A99979;
    border-radius: 0;
    background: #A99979;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 0.8em;
    padding: 1.2em;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all .3s;
    transition: all .3s; }
    .formBodyBox .btnSend .wpcf7-submit[disabled] {
      border-color: #CBCBCB;
      background: #CBCBCB; }
    .formBodyBox .btnSend .wpcf7-submit:hover:not([disabled]) {
      color: #A99979;
      background: #ffffff; }
    @media (max-width: 767px) {
      .formBodyBox .btnSend .wpcf7-submit {
        width: 180px; } }

.wpcf7-form-control.wpcf7-radio,
.wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  gap: 0.5em; }

/* valueが空のラジオボタンを見出し風にする */
/*.wpcf7-radio .wpcf7-list-item label:has(input[value=""]) input {
    display: none;
    pointer-events: none;
}
.wpcf7-radio .wpcf7-list-item label:has(input[value=""]) .wpcf7-list-item-label {
    pointer-events: none;
}*/
/* ============================================
   CF7 チェックボックス・ラジオボタン・承諾確認 カスタマイズ
   ============================================ */
/* デフォルトの入力を非表示 */
.wpcf7-checkbox input[type="checkbox"],
.wpcf7-radio input[type="radio"],
.wpcf7-acceptance input[type="checkbox"] {
  display: none; }

/* リストアイテムの余白 */
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
  margin: 0; }

/* ラベル全体 */
.wpcf7-checkbox .wpcf7-list-item label,
.wpcf7-radio .wpcf7-list-item label,
.wpcf7-acceptance .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.4em 0;
  cursor: pointer; }

/* カスタムチェック・ラジオボックス */
.wpcf7-checkbox .wpcf7-list-item label::before,
.wpcf7-radio .wpcf7-list-item label::before,
.wpcf7-acceptance .wpcf7-list-item label::before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 1.2em;
  height: 1.2em;
  border: 1px solid #222222;
  background: #fff; }

/* チェックボックス・承諾確認は角丸四角 */
.wpcf7-checkbox .wpcf7-list-item label::before,
.wpcf7-acceptance .wpcf7-list-item label::before {
  border-radius: 0.2em; }

/* ラジオボタンは丸 */
.wpcf7-radio .wpcf7-list-item label::before {
  border-radius: 50%; }

/* チェック済み・選択済みのボックス */
.wpcf7-checkbox .wpcf7-list-item label:has(input:checked)::before,
.wpcf7-acceptance .wpcf7-list-item label:has(input:checked)::before {
  border-color: #A99979;
  background: #A99979;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.8em; }

.wpcf7-radio .wpcf7-list-item label:has(input:checked)::before {
  border-color: #A99979;
  background: #fff;
  box-shadow: inset 0 0 0 4px #A99979; }

/* ============================================
   ラジオボタン 見出し行（valueが空）
   ============================================ */
.wpcf7-radio .wpcf7-list-item:not(.first):has(input[value=""]),
.wpcf7-checkbox .wpcf7-list-item:not(.first):has(input[value=""]) {
  margin-top: 1em; }

.wpcf7-radio .wpcf7-list-item:has(input[value=""]) label,
.wpcf7-checkbox .wpcf7-list-item:has(input[value=""]) label {
  font-weight: 700;
  pointer-events: none; }

.wpcf7-radio .wpcf7-list-item:has(input[value=""]) label::before,
.wpcf7-checkbox .wpcf7-list-item:has(input[value=""]) label::before {
  display: none; }
