@charset "UTF-8";
* {
  box-sizing: border-box;
}

html {
  font-size: clamp(16px, 1.1vw, 16px); /* ルート要素 */
}
@media (max-width: 900px) {
  html {
    font-size: clamp(14px, 1.1vw, 15px);
  }
}
@media (max-width: 767px) {
  html {
    font-size: clamp(13px, 1.1vw, 14px);
  }
}
html body {
  font-weight: 500;
  color: #000;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 767px) {
  html body.over {
    overflow: hidden;
  }
  html body.over header.front {
    background-color: #fff;
  }
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6, html body b {
  font-weight: 700;
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6 {
  margin: 0 0 1.5rem 0;
}
html body h1.white, html body h2.white, html body h3.white, html body h4.white, html body h5.white, html body h6.white, html body b.white, html body p.white, html body span.white {
  color: #fff;
}
html body h1.big, html body h2.big, html body h3.big, html body h4.big, html body h5.big, html body h6.big, html body b.big, html body p.big, html body span.big {
  font-size: min(6.5vw, 2.5rem);
  line-height: 1.3;
}
html body h1.right, html body h2.right, html body h3.right, html body h4.right, html body h5.right, html body h6.right, html body b.right, html body p.right, html body span.right {
  text-align: right;
}
html body h1.red, html body h2.red, html body h3.red, html body h4.red, html body h5.red, html body h6.red, html body b.red, html body p.red, html body span.red {
  color: #FF000A;
}
html body h1.center, html body h2.center, html body h3.center, html body h4.center, html body h5.center, html body h6.center, html body b.center, html body p.center, html body span.center {
  text-align: center;
}
html body h1 small, html body h2 small, html body h3 small, html body h4 small, html body h5 small, html body h6 small, html body b small, html body p small, html body span small {
  font-size: clamp(12px, 1.1vw, 13px);
}
html body h1 {
  font-size: min(5.5vw, 3rem);
  line-height: 1.3;
}
html body h2 {
  font-size: min(5.3vw, 2.5rem);
  line-height: 1.3;
}
html body h3 {
  font-size: min(4.5vw, 1.5rem);
  line-height: 1.4;
}
html body h3.small {
  font-size: max(16px, min(3vw, 1.25rem));
  line-height: 1.4;
}
html body h4 {
  font-size: min(4vw, 1.35rem);
  line-height: 1.4;
}
html body h5 {
  font-size: max(16px, min(3vw, 1.25rem));
  line-height: 1.4;
}
html body h6 {
  font-size: max(15px, min(2.5vw, 1.125rem));
}
html body img.radius {
  border-radius: 1rem;
}
html body img.border {
  border: 2px solid #FF000A;
}
html body br.sp {
  display: none;
}
@media (max-width: 767px) {
  html body br.sp {
    display: inline-block;
  }
}
html body br.tb {
  display: none;
}
@media (max-width: 900px) {
  html body br.tb {
    display: inline-block;
  }
}
html body br.sp_none {
  display: inline-block;
}
@media (max-width: 767px) {
  html body br.sp_none {
    display: none;
  }
}
html body .mt_none {
  margin-top: 0 !important;
}
html body .mb_none {
  margin-bottom: 0 !important;
}
html body .pt_none {
  padding-top: 0 !important;
}
html body .pb_none {
  padding-bottom: 0 !important;
}
html body .mt_1 {
  margin-top: 1rem !important;
}
html body .mb_1 {
  margin-bottom: 1rem !important;
}
html body .pt_1 {
  padding-top: 1rem !important;
}
html body .pb_1 {
  padding-bottom: 1rem !important;
}
html body .mt_2 {
  margin-top: 2rem !important;
}
html body .mb_2 {
  margin-bottom: 2rem !important;
}
html body .pt_2 {
  padding-top: 2rem !important;
}
html body .pb_2 {
  padding-bottom: 2rem !important;
}
html body .mt_3 {
  margin-top: 3rem !important;
}
html body .mb_3 {
  margin-bottom: 3rem !important;
}
html body .pt_3 {
  padding-top: 3rem !important;
}
html body .pb_3 {
  padding-bottom: 3rem !important;
}
html body .mt_4 {
  margin-top: 4rem !important;
}
html body .mb_4 {
  margin-bottom: 4rem !important;
}
html body .pt_4 {
  padding-top: 4rem !important;
}
html body .pb_4 {
  padding-bottom: 4rem !important;
}
html body [role=note] {
  padding-left: 1em;
  text-indent: -1em;
}
html body .is-hidden {
  display: none !important;
}
html body section {
  background-color: #fff;
  padding: 4rem 0;
}
@media (max-width: 767px) {
  html body section {
    padding: 3rem 0;
  }
}
html body section.is-hidden {
  display: none !important;
}
html body section.red_section {
  padding: 1.5rem 1rem;
}
html body section.red_section .pageWidth {
  background-color: #FF000A;
  color: #fff;
  padding: 2rem;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 35rem;
}
html body section.section_top {
  padding-top: 2rem !important;
}
html body section.section_top .contentInclude p {
  font-size: max(15px, min(3vw, 1.25rem));
  line-height: 1.8;
}
html body section.back_d_gray {
  background-color: #717171;
}
html body section.back_d_gray .titleBlock b, html body section.back_d_gray .titleBlock h1, html body section.back_d_gray .titleBlock h2 {
  color: #fff;
}
html body section.back_d_gray .titleBlock p {
  color: #fff;
}
html body section.white_f {
  position: relative;
}
html body section.white_f .pageWidth {
  position: relative;
  z-index: 5;
}
html body section.white_f::after {
  position: absolute;
  display: block;
  pointer-events: none;
  z-index: 1;
  opacity: 0.6;
  top: 0;
  left: 0;
  content: "";
  background-color: #fff;
  width: 100%;
  height: 100%;
}
html body section.image_back {
  position: relative;
  overflow: hidden;
}
html body section.image_back .pageWidth {
  position: relative;
  z-index: 5;
}
html body section.image_back img.back {
  display: block;
  position: absolute;
  pointer-events: none;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
}
html body section.image_back img.back.pc {
  display: block;
}
@media (max-width: 767px) {
  html body section.image_back img.back.pc {
    display: none;
  }
}
html body section.image_back img.back.sp {
  display: none;
}
@media (max-width: 767px) {
  html body section.image_back img.back.sp {
    display: block;
  }
}
html body section .pageWidth {
  margin: 2rem auto;
}
html body section *:first-child {
  margin-top: 0 !important;
}
html body section p:last-child, html body section ul:last-child, html body section ol:last-child, html body section figure:last-child, html body section .pageWidth:last-child, html body section .column_1:last-child, html body section .column_2:last-child, html body section .column_3:last-child, html body section .recordBox:last-child {
  margin-bottom: 0 !important;
}
html body .sub_fv {
  color: #fff;
  padding: 3rem 0;
  position: relative;
}
html body .sub_fv .back_image {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}
html body .sub_fv .column_2 {
  padding: 2rem 0 0 0;
  position: relative;
  z-index: 2;
}
html body .sub_fv .title {
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  z-index: 2;
}
html body .sub_fv h1 {
  width: 100%;
  max-width: 50rem;
  color: #fff;
}
html body .sub_fv h1 img {
  width: 100%;
  height: auto;
}
html body .sub_fv h1 img.wow {
  transition: all ease-in-out 0.5s;
  -webkit-transition: all ease-in-out 0.5s;
  clip-path: inset(0 100% 0 0);
}
html body .sub_fv h1 img.wow.animated {
  webkit-clip-path: inset(0);
  clip-path: inset(0);
}
html body .fv_block {
  overflow: hidden;
  min-height: -moz-fit-content;
  min-height: fit-content;
  height: 48vw;
  position: relative;
  padding-bottom: 2rem;
}
@media (min-width: 1800px) {
  html body .fv_block {
    height: 45rem;
  }
}
@media (max-width: 1280px) {
  html body .fv_block {
    height: 70vw;
  }
}
@media (max-width: 900px) {
  html body .fv_block {
    height: 80vw;
  }
}
@media (max-width: 767px) {
  html body .fv_block {
    max-height: inherit;
    height: 130vw;
  }
}
html body .fv_block .pageWidth {
  height: 100%;
  position: relative;
  z-index: 3;
  padding-bottom: 2rem;
  padding-left: 3rem;
  display: flex;
  align-items: flex-end;
}
@media (max-width: 900px) {
  html body .fv_block .pageWidth {
    padding-left: 1rem;
  }
}
@media (max-width: 767px) {
  html body .fv_block .pageWidth {
    padding-bottom: 1rem;
    padding-left: 2rem;
  }
}
html body .fv_block .pageWidth::after {
  position: absolute;
  content: "";
  width: 26rem;
  height: 26rem;
  background-color: #FF000A;
  bottom: 0;
  left: 1rem;
  border-radius: 1rem;
  z-index: 2;
}
@media (max-width: 767px) {
  html body .fv_block .pageWidth::after {
    width: 65vw;
    height: 65vw;
    min-width: 20rem;
    min-height: 20rem;
  }
}
html body .fv_block .textBox {
  color: #fff;
  bottom: 1rem;
  position: relative;
  z-index: 10;
  left: 0;
  padding: 0 2rem;
}
@media (max-width: 767px) {
  html body .fv_block .textBox {
    padding: 0;
  }
}
html body .fv_block .textBox .a_btn {
  margin-top: 1.5rem;
  padding-bottom: 0;
}
html body .fv_block .textBox p {
  padding-bottom: 1rem;
  line-height: 1.8;
  font-size: min(3.5vw, 1.125rem);
}
@media (max-width: 767px) {
  html body .fv_block .textBox p {
    font-size: max(14px, min(3vw, 1rem));
    padding: 0;
  }
}
html body .fv_block .textBox h1 {
  color: #fff;
  width: auto;
  padding: 1.5rem 0;
  line-height: 1.3;
  font-size: min(6.5vw, 3rem);
}
html body .fv_block .textBox h1.wow {
  transition: all ease-in-out 0.5s;
  -webkit-transition: all ease-in-out 0.5s;
  clip-path: inset(0 100% 0 0);
}
html body .fv_block .textBox h1.wow.animated {
  webkit-clip-path: inset(0);
  clip-path: inset(0);
}
@media (max-width: 767px) {
  html body .fv_block .textBox h1 {
    padding: 1.5rem 0 0 0;
  }
}
html body .fv_block .back_image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  -o-object-position: 0 30%;
     object-position: 0 30%;
}
@media (max-width: 767px) {
  html body .fv_block .back_image {
    -o-object-position: 50% 100%;
       object-position: 50% 100%;
  }
}
html body .contactBox {
  position: relative;
  background-color: #000;
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: -moz-fit-content;
  min-height: fit-content;
  height: 47vw;
  overflow: hidden;
  border-radius: 1rem;
}
@media (min-width: 1800px) {
  html body .contactBox {
    height: 40rem;
  }
}
@media (max-width: 900px) {
  html body .contactBox {
    height: 60vw;
  }
}
@media (max-width: 767px) {
  html body .contactBox {
    height: 120vw;
    padding: 1.5rem;
  }
}
html body .contactBox .a_btn {
  padding-bottom: 0;
}
html body .contactBox .block {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  padding: 2rem 1rem;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 900px) {
  html body .contactBox .block {
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 2rem 0;
    gap: 2rem 1rem;
  }
}
@media (max-width: 767px) {
  html body .contactBox .block {
    align-items: center;
    flex-direction: column;
  }
}
html body .contactBox .block .titleBlock {
  width: 35%;
  margin: 0;
  padding: 0;
}
@media (max-width: 900px) {
  html body .contactBox .block .titleBlock {
    width: 50%;
  }
}
@media (max-width: 767px) {
  html body .contactBox .block .titleBlock {
    width: 100%;
  }
}
html body .contactBox .block .title {
  margin-bottom: 1rem;
}
html body .contactBox .block figure {
  width: 30%;
  padding-top: 30%;
  position: relative;
  opacity: hidden;
}
@media (max-width: 900px) {
  html body .contactBox .block figure {
    order: 99;
    width: 40%;
    padding-top: 40%;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  html body .contactBox .block figure {
    width: 60%;
    padding-top: 60%;
    order: inherit;
  }
}
html body .contactBox .block figure img {
  position: absolute;
  top: 0;
  border-radius: 1rem;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
html body .contactBox .block .text {
  width: 35%;
}
@media (max-width: 900px) {
  html body .contactBox .block .text {
    width: calc(50% - 2rem);
  }
}
@media (max-width: 767px) {
  html body .contactBox .block .text {
    width: 100%;
  }
}
html body .contactBox .back_image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  opacity: 0.18;
}
html body .faqBlock {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 1.5rem auto;
  gap: 1rem;
  font-size: clamp(16px, 1.1vw, 18px);
}
@media (max-width: 767px) {
  html body .faqBlock {
    font-size: clamp(14px, 1.1vw, 16px);
  }
}
html body .faqBlock details {
  cursor: pointer;
  line-height: 1.8;
  display: flex;
  flex-direction: column;
  border: 1px solid #FF000A;
  background-color: #fff;
  border-radius: 1rem;
  overflow: hidden;
}
html body .faqBlock details summary.faq_q {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none !important;
  padding: 1rem 2rem;
  position: relative;
  height: 100%;
  font-weight: 600;
}
@media (max-width: 767px) {
  html body .faqBlock details summary.faq_q {
    padding: 1rem;
  }
}
html body .faqBlock details summary.faq_q::marker {
  display: none !important;
  content: "" !important;
}
html body .faqBlock details summary.faq_q::before {
  content: "";
  width: 3.5rem;
  height: 3.5rem;
  min-width: 3.5rem;
  min-height: 3.5rem;
  display: block;
  background-image: url("../svg/q.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
html body .faqBlock details .faq_a {
  flex-grow: 1;
  padding: 1rem 2rem;
  background-color: #F4F4F4;
  position: relative;
  border-radius: 0 0 1rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  html body .faqBlock details .faq_a {
    padding: 1rem;
  }
}
html body .faqBlock details .faq_a::before {
  content: "";
  width: 3.5rem;
  height: 3.5rem;
  min-width: 3.5rem;
  min-height: 3.5rem;
  display: block;
  background-image: url("../svg/a.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
html body .faqBlock details[open] summary.faq_q {
  padding-bottom: 1rem;
  height: auto;
}
html body .faqBlock details[open] summary.faq_q::after {
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  top: 49%;
}
html body .memberList {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 1280px) {
  html body .memberList {
    gap: 2rem 1rem;
  }
}
@media (max-width: 900px) {
  html body .memberList {
    gap: 1.5rem 1rem;
    grid-template-columns: repeat(1, 1fr);
  }
}
html body .memberList .box {
  padding: 1.8rem 1rem;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
html body .memberList .box b.position {
  display: block;
  font-weight: 500;
  font-size: clamp(14px, 1.1vw, 16px);
  padding-bottom: 0.5rem;
}
html body .memberList .box p {
  line-height: 1.8;
  font-weight: 500;
  font-size: clamp(14px, 1.1vw, 16px);
}
html body figure img.pc {
  display: block;
}
@media (max-width: 767px) {
  html body figure img.pc {
    display: none;
  }
}
html body figure img.sp {
  display: none;
}
@media (max-width: 767px) {
  html body figure img.sp {
    display: block;
  }
}
html body .wpcf7 {
  padding: 2rem;
  border: 1px solid #FF000A;
  border-radius: 1rem;
  background-color: #fff;
  max-width: 58rem;
  margin: 0 auto;
  background-color: #F4F4F4;
}
html body .wpcf7 p:first-of-type {
  margin-top: 0;
}
html body .flowBlock {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
html body .flowBlock .phase {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 1rem;
}
html body .flowBlock .phase .phase__label {
  margin: 0;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0.5rem;
  border: 1px solid #FF000A;
  border-radius: 0.5rem;
  color: #FF000A;
  font-weight: bold;
  letter-spacing: 0.25em;
  text-indent: 0.25em;
}
html body .flowBlock .phase .phase__steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
html body .flowBlock .flow {
  display: flex;
  gap: 1rem;
  align-items: stretch;
}
html body .flowBlock .flow .flowCard {
  flex: 1;
  min-width: 0;
  padding: 1.75rem;
  border: 1px solid #FF000A;
  border-radius: 0.5rem;
  background: white;
}
html body .flowBlock .flow .flowCard .copy {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.5;
}
html body .flowBlock .flow .flowCard .copy + p::before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  margin: 1rem 0;
  background: #FF000A;
}
html body .flowBlock .flow .flowCard p {
  line-height: 1.8;
  font-size: 0.85rem;
}
html body .flowBlock .flow .fee {
  flex-shrink: 0;
  width: 9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border-radius: 0.5rem;
  background: #FF000A;
  color: white;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  html body .flowBlock .phase {
    grid-template-columns: 2.75rem 1fr;
    gap: 0.75rem;
  }
  html body .flowBlock .phase .phase__label {
    font-size: 14px;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
  }
  html body .flowBlock .flow {
    gap: 0.75rem;
  }
  html body .flowBlock .flow .flowCard {
    padding: 1.25rem;
  }
  html body .flowBlock .flow .flowCard .copy {
    font-size: 1.1rem;
  }
  html body .flowBlock .flow .flowCard p {
    font-size: 14px;
  }
  html body .flowBlock .flow .fee {
    width: 5.5rem;
    padding: 0.75rem 0.25rem;
    font-size: 14px;
    writing-mode: vertical-rl;
    letter-spacing: 0.1em;
  }
}
html body .column_1, html body .column_2, html body .column_3 {
  margin: 3rem 0;
  display: grid;
  gap: 2rem;
  font-size: max(15px, min(2.5vw, 1.1rem));
}
@media (max-width: 1280px) {
  html body .column_1, html body .column_2, html body .column_3 {
    gap: 2rem 1rem;
  }
}
@media (max-width: 900px) {
  html body .column_1, html body .column_2, html body .column_3 {
    gap: 1.5rem 1rem;
  }
}
html body .column_1 .column_1, html body .column_2 .column_1, html body .column_3 .column_1 {
  gap: 1.5rem 2rem;
}
html body .column_1 p, html body .column_2 p, html body .column_3 p {
  line-height: 1.8;
  margin: 1.5rem 0;
}
html body .column_1 .box .title, html body .column_2 .box .title, html body .column_3 .box .title {
  margin-bottom: 1rem;
}
html body .column_1 .box *:last-child, html body .column_2 .box *:last-child, html body .column_3 .box *:last-child {
  margin-bottom: 0 !important;
}
html body .column_1 .box.center h3, html body .column_1 .box.center h2, html body .column_2 .box.center h3, html body .column_2 .box.center h2, html body .column_3 .box.center h3, html body .column_3 .box.center h2 {
  text-align: center;
}
html body .column_1 .box.center p, html body .column_2 .box.center p, html body .column_3 .box.center p {
  text-align: center;
}
html body .column_1 a.box, html body .column_2 a.box, html body .column_3 a.box {
  padding-bottom: 5rem;
  position: relative;
}
html body .column_1 a.box .arrow, html body .column_2 a.box .arrow, html body .column_3 a.box .arrow {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
  content: "";
  z-index: 2;
  transition: all 0.4s;
}
@media (max-width: 767px) {
  html body .column_1 a.box .arrow, html body .column_2 a.box .arrow, html body .column_3 a.box .arrow {
    left: 1.5rem;
  }
}
html body .column_1 a.box:hover .arrow, html body .column_2 a.box:hover .arrow, html body .column_3 a.box:hover .arrow {
  left: 2.5rem;
}
@media (max-width: 767px) {
  html body .column_1 a.box:hover .arrow, html body .column_2 a.box:hover .arrow, html body .column_3 a.box:hover .arrow {
    left: 2rem;
  }
}
html body .column_1 a.box:hover .arrow.bottom, html body .column_2 a.box:hover .arrow.bottom, html body .column_3 a.box:hover .arrow.bottom {
  left: 2rem;
  bottom: 1.5rem;
}
html body .column_1 .ToggleBlock .block, html body .column_2 .ToggleBlock .block, html body .column_3 .ToggleBlock .block {
  border-top: 1px solid #000;
}
html body .column_1 .ToggleBlock .block:last-of-type, html body .column_2 .ToggleBlock .block:last-of-type, html body .column_3 .ToggleBlock .block:last-of-type {
  border-bottom: 1px solid #000;
}
html body .column_1 .ToggleBlock .block.open, html body .column_2 .ToggleBlock .block.open, html body .column_3 .ToggleBlock .block.open {
  background-color: #FEEDF4;
}
html body .column_1 .ToggleBlock .block.open .toggleContents, html body .column_2 .ToggleBlock .block.open .toggleContents, html body .column_3 .ToggleBlock .block.open .toggleContents {
  display: block;
}
html body .column_1 .ToggleBlock .block.open .toggleContents::after, html body .column_2 .ToggleBlock .block.open .toggleContents::after, html body .column_3 .ToggleBlock .block.open .toggleContents::after {
  transform: translateY(-50%) rotate(-45deg);
  top: 52%;
}
html body .column_1 .ToggleBlock .block h3.menuToggle, html body .column_2 .ToggleBlock .block h3.menuToggle, html body .column_3 .ToggleBlock .block h3.menuToggle {
  cursor: pointer;
  margin-bottom: 0;
  padding: 1.5rem 1rem;
  padding-right: 2em;
  position: relative;
}
html body .column_1 .ToggleBlock .block h3.menuToggle::after, html body .column_2 .ToggleBlock .block h3.menuToggle::after, html body .column_3 .ToggleBlock .block h3.menuToggle::after {
  position: absolute;
  right: 0.5em;
  content: "";
  width: 0.4em;
  min-width: 0.4em;
  height: 0.4em;
  min-height: 0.4em;
  border-top: solid 2px #FF000A;
  border-right: solid 2px #FF000A;
  transform: translateY(-50%) rotate(135deg);
  transition: all 0.5s;
  top: 45%;
  pointer-events: none;
}
html body .column_1 .ToggleBlock .block h3.menuToggle.open, html body .column_2 .ToggleBlock .block h3.menuToggle.open, html body .column_3 .ToggleBlock .block h3.menuToggle.open {
  color: #FF000A;
  padding-bottom: 0.8rem;
}
html body .column_1 .ToggleBlock .block h3.menuToggle.open::after, html body .column_2 .ToggleBlock .block h3.menuToggle.open::after, html body .column_3 .ToggleBlock .block h3.menuToggle.open::after {
  transform: translateY(-50%) rotate(-45deg);
  top: 54%;
}
html body .column_1 .ToggleBlock .block .toggleContents, html body .column_2 .ToggleBlock .block .toggleContents, html body .column_3 .ToggleBlock .block .toggleContents {
  padding: 0 1rem 1.5rem 1rem;
  display: none;
}
html body .column_1 .box, html body .column_2 .box, html body .column_3 .box {
  position: relative;
  padding: 2rem;
  border: 1px solid #FF000A;
  border-radius: 1rem;
  background-color: #fff;
}
html body .column_1 .box .label, html body .column_2 .box .label, html body .column_3 .box .label {
  position: absolute;
  background-color: #FF000A;
  color: #fff;
  text-align: center;
  border-radius: 20rem;
  padding: 0.25rem 1rem;
  min-width: 28%;
  display: inline-block;
  top: -1rem;
  left: 1.5rem;
}
@media (max-width: 767px) {
  html body .column_1 .box .label, html body .column_2 .box .label, html body .column_3 .box .label {
    left: 1rem;
  }
}
@media (max-width: 767px) {
  html body .column_1 .box, html body .column_2 .box, html body .column_3 .box {
    padding: 2rem 1.5rem;
  }
}
html body .column_1 .box figure, html body .column_2 .box figure, html body .column_3 .box figure {
  margin-top: 1.5rem;
}
html body .column_1 .box b, html body .column_2 .box b, html body .column_3 .box b {
  display: block;
  margin-bottom: 0.5rem;
  font-size: max(16px, min(3vw, 1.25rem));
}
html body .column_1 .box b.red, html body .column_2 .box b.red, html body .column_3 .box b.red {
  display: block;
}
html body .column_1 .box ul, html body .column_2 .box ul, html body .column_3 .box ul {
  list-style: circle;
  padding-left: 1.5rem;
}
html body .column_1 .box ul li, html body .column_2 .box ul li, html body .column_3 .box ul li {
  margin: 1rem 0;
}
html body .column_1 .box dl div, html body .column_2 .box dl div, html body .column_3 .box dl div {
  margin: 1rem 0;
}
html body .column_1 .box dl div dt, html body .column_2 .box dl div dt, html body .column_3 .box dl div dt {
  margin-bottom: 0.5rem;
  font-size: 80%;
}
html body .column_1 .box.flex, html body .column_2 .box.flex, html body .column_3 .box.flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem 2rem;
  flex-wrap: wrap;
}
html body .column_1 .box.flex figure, html body .column_2 .box.flex figure, html body .column_3 .box.flex figure {
  margin-top: 0;
}
html body .column_1 .box.flex .block, html body .column_2 .box.flex .block, html body .column_3 .box.flex .block {
  width: calc((100% - 2rem) / 2);
}
@media (max-width: 767px) {
  html body .column_1 .box.flex .block, html body .column_2 .box.flex .block, html body .column_3 .box.flex .block {
    width: 100%;
  }
}
html body .column_1 .box.flex .block.full, html body .column_2 .box.flex .block.full, html body .column_3 .box.flex .block.full {
  width: 100%;
}
html body .column_1 .box.flex .block.whiteBox, html body .column_2 .box.flex .block.whiteBox, html body .column_3 .box.flex .block.whiteBox {
  background-color: #fff;
  padding: 1rem;
  border-radius: 0.8rem;
  color: #000;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  html body .column_1 .box.flex .block.whiteBox, html body .column_2 .box.flex .block.whiteBox, html body .column_3 .box.flex .block.whiteBox {
    height: auto;
  }
}
html body .column_1 .box.flex .block.redBox, html body .column_2 .box.flex .block.redBox, html body .column_3 .box.flex .block.redBox {
  background-color: #FF000A;
  color: #fff;
  padding: 1rem;
  border-radius: 0.8rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  html body .column_1 .box.flex .block.redBox, html body .column_2 .box.flex .block.redBox, html body .column_3 .box.flex .block.redBox {
    height: auto;
  }
}
html body .column_1 .box.flex .text.center, html body .column_1 .box.flex .block.center, html body .column_2 .box.flex .text.center, html body .column_2 .box.flex .block.center, html body .column_3 .box.flex .text.center, html body .column_3 .box.flex .block.center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
html body .column_1 .box.flex .text.center .title, html body .column_1 .box.flex .block.center .title, html body .column_2 .box.flex .text.center .title, html body .column_2 .box.flex .block.center .title, html body .column_3 .box.flex .text.center .title, html body .column_3 .box.flex .block.center .title {
  width: 100%;
  max-width: 30rem;
}
@media (max-width: 767px) {
  html body .column_1 .box.flex .text.center .title, html body .column_1 .box.flex .block.center .title, html body .column_2 .box.flex .text.center .title, html body .column_2 .box.flex .block.center .title, html body .column_3 .box.flex .text.center .title, html body .column_3 .box.flex .block.center .title {
    max-width: inherit;
  }
}
html body .column_1 .box.flex .text.center p, html body .column_1 .box.flex .block.center p, html body .column_2 .box.flex .text.center p, html body .column_2 .box.flex .block.center p, html body .column_3 .box.flex .text.center p, html body .column_3 .box.flex .block.center p {
  width: 100%;
  max-width: 30rem;
}
@media (max-width: 767px) {
  html body .column_1 .box.flex .text.center p, html body .column_1 .box.flex .block.center p, html body .column_2 .box.flex .text.center p, html body .column_2 .box.flex .block.center p, html body .column_3 .box.flex .text.center p, html body .column_3 .box.flex .block.center p {
    max-width: inherit;
  }
}
html body .column_1 .box.card, html body .column_2 .box.card, html body .column_3 .box.card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
html body .column_1 .box.card .a_btn, html body .column_2 .box.card .a_btn, html body .column_3 .box.card .a_btn {
  justify-content: center;
  margin: -1.8rem 0 0 0;
  padding-bottom: 0;
}
html body .column_1 .box.card .a_btn .btn, html body .column_2 .box.card .a_btn .btn, html body .column_3 .box.card .a_btn .btn {
  max-width: 90%;
  width: auto;
}
@media (max-width: 767px) {
  html body .column_1 .box.card .a_btn .btn, html body .column_2 .box.card .a_btn .btn, html body .column_3 .box.card .a_btn .btn {
    max-width: 75vw;
  }
}
html body .column_1 .box.card .text, html body .column_2 .box.card .text, html body .column_3 .box.card .text {
  flex-grow: 1;
}
html body .column_1 .box.card .text p, html body .column_2 .box.card .text p, html body .column_3 .box.card .text p {
  margin: 1rem 0;
}
html body .column_1 .box.card .text b, html body .column_2 .box.card .text b, html body .column_3 .box.card .text b {
  margin-bottom: 0;
  line-height: 1.5;
  font-size: min(4vw, 1.5rem);
}
html body .column_1 .box.red, html body .column_2 .box.red, html body .column_3 .box.red {
  background-color: #FF000A;
  color: #fff;
}
html body .column_1 .box.red .label, html body .column_2 .box.red .label, html body .column_3 .box.red .label {
  border: 2px solid #fff;
}
html body .column_1 .box.red h2, html body .column_1 .box.red h3, html body .column_2 .box.red h2, html body .column_2 .box.red h3, html body .column_3 .box.red h2, html body .column_3 .box.red h3 {
  color: #fff;
}
html body .column_1 .box.border_none, html body .column_2 .box.border_none, html body .column_3 .box.border_none {
  border: none;
}
html body .column_1 .box.gray, html body .column_2 .box.gray, html body .column_3 .box.gray {
  background-color: #F4F4F4;
}
html body .column_1 .box.border_gray, html body .column_2 .box.border_gray, html body .column_3 .box.border_gray {
  border: 1px solid #717171;
}
html body .column_1 .box.d_gray, html body .column_2 .box.d_gray, html body .column_3 .box.d_gray {
  background-color: #717171;
  color: #fff;
  border: 1px solid #717171;
}
html body .column_1 .box.d_gray h2, html body .column_1 .box.d_gray h3, html body .column_2 .box.d_gray h2, html body .column_2 .box.d_gray h3, html body .column_3 .box.d_gray h2, html body .column_3 .box.d_gray h3 {
  color: #fff;
}
html body .column_1 {
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem 2rem;
}
html body .column_2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  html body .column_2 {
    grid-template-columns: repeat(1, 1fr);
  }
}
html body .column_2.toggle_column {
  position: relative;
}
@media (max-width: 767px) {
  html body .column_2.toggle_column {
    position: static;
  }
}
html body .column_2.toggle_column .ToggleBlock .block .toggleImage {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: calc((100% - 2rem) / 2);
  aspect-ratio: 1/1;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
html body .column_2.toggle_column .ToggleBlock .block .toggleImage img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1280px) {
  html body .column_2.toggle_column .ToggleBlock .block .toggleImage {
    width: calc((100% - 1rem) / 2);
  }
}
@media (max-width: 767px) {
  html body .column_2.toggle_column .ToggleBlock .block .toggleImage {
    position: relative;
    width: calc(100% - 2rem);
    margin: 0 auto;
    aspect-ratio: 16/9;
  }
}
@media (max-width: 767px) {
  html body .column_2.toggle_column .ToggleBlock .block.open {
    padding-bottom: 1.5rem;
  }
}
html body .column_2.toggle_column .ToggleBlock .block.open .toggleImage {
  display: block;
  opacity: 1;
  visibility: visible;
}
html body .column_3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  html body .column_3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  html body .column_3 {
    grid-template-columns: repeat(1, 1fr);
  }
}
html body .text_img_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem 3rem;
  margin: 3rem 0;
}
@media (max-width: 900px) {
  html body .text_img_flex {
    flex-direction: column;
  }
}
html body .text_img_flex figure {
  max-width: 30rem;
  aspect-ratio: 1/1;
}
@media (max-width: 900px) {
  html body .text_img_flex figure {
    max-width: 100%;
    aspect-ratio: 16/9;
  }
}
html body .text_img_flex figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
html body .text_img_flex .text {
  width: calc(100% - 30rem);
}
@media (max-width: 900px) {
  html body .text_img_flex .text {
    width: 100%;
  }
}
html body .text_img_flex .image {
  width: 27rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 900px) {
  html body .text_img_flex .image {
    width: 100%;
  }
}
html body .logo_flex {
  display: flex;
  gap: 1.5rem 3rem;
  align-items: center;
  padding-bottom: 1rem;
}
@media (max-width: 767px) {
  html body .logo_flex {
    flex-wrap: wrap;
  }
}
html body .logo_flex p {
  width: 100%;
  margin: 0 !important;
}
html body .logo_flex .logo {
  width: 13rem;
  min-width: 13rem;
}
html body .menuList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media (max-width: 1280px) {
  html body .menuList {
    gap: 2rem 1rem;
  }
}
@media (max-width: 900px) {
  html body .menuList {
    gap: 1.5rem 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
html body .menuList.menu figure {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  padding-top: 57%;
}
html body .menuList.menu figure img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 900px) {
  html body .menuList.menu {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  html body .menuList.menu {
    grid-template-columns: repeat(1, 1fr);
  }
}
html body .menuList.pickup li:nth-of-type(4) {
  display: none;
}
@media (max-width: 900px) {
  html body .menuList.pickup li:nth-of-type(4) {
    display: block;
  }
}
html body .menuList li .text {
  padding: 1rem 0;
  padding-right: 5rem;
  position: relative;
}
@media (max-width: 767px) {
  html body .menuList li .text {
    padding-right: 3rem;
  }
}
html body .menuList li .text h3 {
  font-size: max(15px, min(2.5vw, 1.125rem));
  margin: 0;
}
html body .menuList li .text .arrow {
  position: absolute;
  z-index: 3;
  transform: translateY(-50%);
  top: 50%;
  right: 1rem;
}
@media (max-width: 767px) {
  html body .menuList li .text .arrow {
    right: 0.5rem;
  }
}
html body .menuList li a:hover .text .arrow {
  right: 0.5rem;
}
@media (max-width: 767px) {
  html body .menuList li a:hover .text .arrow {
    right: 0rem;
  }
}
html body .menuList li .image {
  border-radius: 1rem;
  padding: 2rem;
  background-color: #F4F4F4;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  html body .menuList li .image {
    padding: 1rem;
  }
}
html body .menuList li .image figure {
  background-color: #fff;
  padding: 2rem 0;
  border-radius: 0.5rem;
  border: 3px solid #FF000A;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 0px 6px gray;
  margin-bottom: 3rem;
  position: relative;
}
@media (max-width: 767px) {
  html body .menuList li .image figure {
    padding: 1rem 0;
    margin-bottom: 2rem;
  }
}
html body .menuList li .image figure::after {
  background: #717171;
  height: 1.7320508076rem;
  width: 3rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
  left: 50%;
  bottom: -2.6rem;
  display: block;
  position: absolute;
  content: "";
}
@media (max-width: 767px) {
  html body .menuList li .image figure::after {
    height: 1.0392304845rem;
    width: 2rem;
    bottom: -1.8rem;
  }
}
html body .menuList li .image figure:last-of-type::after {
  content: none;
}
html body .menuList li .image figure:last-of-type {
  margin-bottom: 0;
}
html body .menuList li .image figure img {
  width: 80%;
}
@media (max-width: 767px) {
  html body .menuList li .image figure img {
    width: 90%;
  }
}
html body .borderList {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 80%;
  text-align: center;
  margin-top: 1.5rem;
}
html body .borderList li {
  padding: 0.5rem 1rem;
  border-radius: 20rem;
  background-color: #fff;
  border: 1px solid #FF000A;
  color: #FF000A;
}
html body .recordBox {
  display: flex;
  justify-content: space-between;
  gap: 2rem 3rem;
  margin: 3rem 0;
}
@media (max-width: 767px) {
  html body .recordBox {
    flex-direction: column;
  }
}
html body .recordBox .image {
  width: 24rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  html body .recordBox .image {
    width: 80%;
    margin: 0 auto;
  }
}
html body .recordBox .image figure {
  background-color: #fff;
  padding: 2rem 0;
  border-radius: 0.5rem;
  border: 3px solid #FF000A;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 0px 6px gray;
  margin-bottom: 3rem;
  position: relative;
}
html body .recordBox .image figure::after {
  background: #717171;
  height: 1.7320508076rem;
  width: 3rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
  left: 50%;
  bottom: -2.6rem;
  display: block;
  position: absolute;
  content: "";
}
html body .recordBox .image figure:last-of-type::after {
  content: none;
}
html body .recordBox .image figure:last-of-type {
  margin-bottom: 0;
}
html body .recordBox .image figure img {
  width: 80%;
}
html body .recordBox .text {
  width: calc(100% - 27rem);
}
@media (max-width: 767px) {
  html body .recordBox .text {
    width: 100%;
  }
}
html body .bannerBlock {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 3rem;
}
@media (max-width: 767px) {
  html body .bannerBlock {
    gap: 0.5rem;
  }
}
@media (max-width: 600px) {
  html body .bannerBlock {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
html body a .arrow {
  background-color: #FF000A;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.25rem;
  display: flex;
  z-index: 2;
  justify-content: center;
  align-items: center;
  display: flex;
  transition: all 0.4s;
  pointer-events: none;
}
@media (max-width: 767px) {
  html body a .arrow {
    width: 2rem;
    height: 2rem;
  }
}
html body a .arrow::after {
  pointer-events: none;
  content: "";
  width: 0.6rem;
  min-width: 0.6rem;
  height: 0.6rem;
  min-height: 0.6rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  margin-right: 0.25rem;
}
@media (max-width: 767px) {
  html body a .arrow::after {
    width: 0.5rem;
    min-width: 0.5rem;
    height: 0.5rem;
    min-height: 0.5rem;
  }
}
html body a .arrow.bottom::after {
  transform: rotate(135deg);
  margin-right: 0;
}
html body a.red .arrow, html body a.d_gary .arrow {
  background-color: #fff;
}
html body a.red .arrow::after, html body a.d_gary .arrow::after {
  border-top: solid 2px #FF000A;
  border-right: solid 2px #FF000A;
}
html body .companyBlock {
  position: relative;
  padding: 2.5rem 2rem;
  margin-top: 2rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  html body .companyBlock {
    padding: 2rem 1.5rem;
  }
}
html body .companyBlock ul {
  color: #fff;
  position: relative;
  z-index: 2;
}
html body .companyBlock ul li {
  border-top: 1px solid #fff;
}
html body .companyBlock ul li:last-of-type {
  border-bottom: 1px solid #fff;
}
html body .companyBlock ul li a {
  padding: 2rem 6rem 2rem 2rem;
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  html body .companyBlock ul li a {
    padding: 2rem 5rem 2rem 1rem;
    flex-direction: column;
  }
}
html body .companyBlock ul li a .arrow {
  position: absolute;
  z-index: 3;
  transform: translateY(-50%);
  top: 50%;
  right: 2rem;
}
@media (max-width: 767px) {
  html body .companyBlock ul li a .arrow {
    right: 1rem;
  }
}
html body .companyBlock ul li a:hover .arrow {
  right: 1.5rem;
}
@media (max-width: 767px) {
  html body .companyBlock ul li a:hover .arrow {
    right: 0.5rem;
  }
}
html body .companyBlock ul li a h3 {
  width: 35%;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 767px) {
  html body .companyBlock ul li a h3 {
    width: 100%;
    gap: 1rem;
  }
}
html body .companyBlock ul li a h3 span {
  font-family: "DIN Alternate", "Helvetica Neue", Arial, sans-serif;
  font-size: min(6.7vw, 2.8rem);
}
html body .companyBlock ul li a p {
  width: 65%;
  padding-left: 3rem;
  margin: 0;
}
@media (max-width: 767px) {
  html body .companyBlock ul li a p {
    width: 100%;
    padding-left: 0;
  }
}
html body .companyBlock .back_image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
}
html body .titleBox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 1rem;
  padding: 0.8rem 1rem;
  margin: 0 auto;
  font-weight: 700;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  html body .titleBox {
    max-width: 100%;
  }
}
html body .titleBox h2 span.top {
  font-size: clamp(32px, 1.1vw, 34px);
  width: 100%;
  display: block;
  text-align: center;
}
@media (max-width: 767px) {
  html body .titleBox h2 span.top {
    font-size: clamp(18px, 1.1vw, 20px);
  }
}
html body .titleBox h2 span.bottom {
  font-size: clamp(32px, 1.1vw, 34px);
  width: 100%;
  display: block;
  text-align: center;
}
@media (max-width: 767px) {
  html body .titleBox h2 span.bottom {
    font-size: clamp(16px, 1.1vw, 18px);
  }
}
html body .titleBox .icon {
  width: 2.5rem;
  min-width: 2.5rem;
  height: auto;
}
@media (max-width: 767px) {
  html body .titleBox .icon {
    width: 2rem;
    min-width: 2rem;
  }
}
html body .columnCenter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
}
html body .columnCenter p {
  margin: 0 !important;
}
html body .contentInclude {
  font-size: max(15px, min(2.5vw, 1.1rem));
}
html body .contentInclude *:first-child {
  margin-top: 0 !important;
}
html body .contentInclude *:last-child {
  margin-bottom: 0 !important;
}
html body .contentInclude.white {
  color: #fff;
}
html body .contentInclude iframe {
  width: 100%;
  max-width: 100%;
}
html body .contentInclude .dlBox {
  margin: 1.5rem 0;
}
html body .contentInclude dl {
  display: flex;
  border-bottom: 1px solid #000;
  font-size: max(15px, min(2.5vw, 1.125rem));
}
html body .contentInclude dl:first-of-type {
  border-top: 1px solid #000;
}
@media (max-width: 767px) {
  html body .contentInclude dl {
    display: block;
  }
}
html body .contentInclude dl dt {
  font-weight: 700;
  padding: 1rem 1rem 1rem 0;
  min-width: 14rem;
  width: 14rem;
  position: relative;
}
@media (max-width: 767px) {
  html body .contentInclude dl dt {
    width: 100%;
    padding: 1rem 0 0rem 0;
  }
  html body .contentInclude dl dt br {
    display: none;
  }
}
html body .contentInclude dl dd {
  font-weight: 500;
  padding: 1rem 0 1rem 1rem;
}
@media (max-width: 767px) {
  html body .contentInclude dl dd {
    padding: 0.8rem 0;
  }
}
html body .contentInclude dl.big {
  font-size: max(16px, min(3vw, 1.25rem));
  padding-left: 1rem;
  padding-right: 1rem;
}
html body .contentInclude dl.big dt, html body .contentInclude dl.big dd {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
html body .contentInclude dl.big dt {
  min-width: 8em;
  width: 8em;
}
@media (max-width: 767px) {
  html body .contentInclude dl.big dt {
    min-width: 8em;
    width: 8em;
  }
}
@media (max-width: 767px) {
  html body .contentInclude dl.big {
    display: flex;
  }
}
html body .contentInclude .dlWrap dl {
  margin: 0;
  border-bottom: 1px solid #FF000A;
  font-size: max(15px, min(2.5vw, 1.125rem));
}
html body .contentInclude .dlWrap dl:first-of-type {
  border-top: 1px solid #000;
}
@media (max-width: 767px) {
  html body .contentInclude .dlWrap dl {
    display: block;
  }
}
html body .contentInclude .dlWrap dl dt {
  width: 10em;
  min-width: 13.5em;
  width: 13.5em;
  padding: 1rem;
}
@media (max-width: 767px) {
  html body .contentInclude .dlWrap dl dt {
    width: 100%;
    padding: 1rem 0 0rem 0;
  }
  html body .contentInclude .dlWrap dl dt dt {
    display: none;
  }
}
html body .contentInclude .dlWrap dl dd {
  padding: 1rem;
  background-color: #fff;
  width: 100%;
}
@media (max-width: 767px) {
  html body .contentInclude .dlWrap dl dd {
    padding: 1rem 0;
  }
}
html body .contentInclude .dlWrap dl.big {
  font-size: max(16px, min(3vw, 1.25rem));
}
@media (max-width: 767px) {
  html body .contentInclude .dlWrap dl.big {
    display: flex;
  }
}
html body .contentInclude form input, html body .contentInclude form button, html body .contentInclude form select, html body .contentInclude form textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  border-width: initial;
  border-style: none;
  border-color: initial;
  -o-border-image: initial;
     border-image: initial;
}
html body .contentInclude form.flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
}
html body .contentInclude form input, html body .contentInclude form textarea, html body .contentInclude form select {
  width: 100% !important;
  max-width: 100%;
  border: none;
  background-color: #fff;
  border: 1px solid #000;
  padding: 1rem;
  font-size: 16px;
  border-radius: 0.25rem;
  font-family: "メイリオ", Meiryo, "Hiragino Maru Gothic ProN", sans-serif;
}
html body .contentInclude form input.small, html body .contentInclude form textarea.small, html body .contentInclude form select.small {
  width: 50%;
}
html body .contentInclude form input.small_s, html body .contentInclude form textarea.small_s, html body .contentInclude form select.small_s {
  width: 30%;
}
html body .contentInclude form [type=text], html body .contentInclude form input[type=tel], html body .contentInclude form input[type=email], html body .contentInclude form input[type=number] {
  margin-bottom: 0.5rem;
}
html body .contentInclude form .wpcf7-radio, html body .contentInclude form .wpcf7-checkbox, html body .contentInclude form .wpcf7-acceptance .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
}
html body .contentInclude form .wpcf7-list-item {
  margin: 0;
}
html body .contentInclude form .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
html body .contentInclude form input[type=radio], html body .contentInclude form input[type=checkbox] {
  width: 1.25em !important;
  min-width: 1.25em;
  height: 1.25em;
  min-height: 1.25em;
  flex-shrink: 0;
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 1px solid #777;
  border-radius: 0.25rem;
  background-color: #fff;
  cursor: pointer;
}
html body .contentInclude form input[type=radio] {
  border-radius: 50%;
}
html body .contentInclude form input[type=radio]:checked {
  border-color: #FF000A;
}
html body .contentInclude form input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  background-color: #FF000A;
  transform: translate(-50%, -50%);
}
html body .contentInclude form input[type=checkbox]:checked {
  border-color: #FF000A;
  background-color: #FF000A;
}
html body .contentInclude form input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 0.15em;
  left: 0.38em;
  width: 0.3em;
  height: 0.6em;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}
html body .contentInclude form select {
  padding-right: 2.5rem;
  background-image: linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%);
  background-position: calc(100% - 1.25rem) center, calc(100% - 0.9rem) center;
  background-size: 0.4em 0.4em, 0.4em 0.4em;
  background-repeat: no-repeat;
}
html body .contentInclude form textarea {
  height: -moz-fit-content;
  height: fit-content;
  scrollbar-color: #FF000A #fff;
  margin-bottom: 0.5rem;
}
html body .contentInclude form small {
  margin-bottom: 0.5rem;
}
html body .contentInclude form .selectMark {
  width: 100%;
  position: relative;
  margin-bottom: 0.5rem;
}
html body .contentInclude form .selectMark.small {
  width: 50%;
}
html body .contentInclude form .selectMark.small_s {
  width: 30%;
}
html body .contentInclude form .selectMark::after {
  position: absolute;
  right: 0.8rem;
  content: "";
  width: 0.5em;
  min-width: 0.5em;
  height: 0.5em;
  min-height: 0.5em;
  border-top: solid 2px #777;
  border-right: solid 2px #777;
  transform: translateY(-50%) rotate(135deg);
  top: 50%;
  pointer-events: none;
}
html body .contentInclude form .selectMark select {
  width: 100%;
  padding-right: 2rem;
}
html body .contentInclude form .checkList {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
  padding-top: 1rem;
}
html body .contentInclude form .checkList label {
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
html body .contentInclude form .checkList label input {
  padding: 1rem;
  display: block;
  width: 1.5rem !important;
  height: 1.5rem !important;
  min-width: 1.5rem !important;
  min-height: 1.5rem !important;
  border: 1px solid #777;
  background-color: #fff;
}
html body .contentInclude form .checkList label input:checked {
  background-color: #FF000A;
  position: relative;
  border: 1px solid #FF000A;
}
html body .contentInclude form .checkList label input:checked::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.7em;
  left: 0.5em;
  width: 0.8em;
  height: 0.4em;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
}
html body .contentInclude form .checkList label input[type=radio] {
  border-radius: 20rem;
}
html body .contentInclude form .dlForm .wpcf7-not-valid-tip {
  font-size: 80%;
}
html body .contentInclude form .dlForm .privacy {
  padding-top: 2rem;
}
html body .contentInclude form .dlForm .privacy p.top {
  margin: 0 0 1rem 0;
}
html body .contentInclude form .dlForm .privacy .privacy_box {
  padding: 1.5rem 1rem;
  border: 1px solid #FF000A;
  background-color: #fff;
  max-height: 12em;
  overflow-y: scroll;
}
html body .contentInclude form .dlForm .privacy .privacy_box p {
  font-size: 90%;
}
html body .contentInclude form .dlForm dl {
  border: none;
  width: 100%;
}
html body .contentInclude form .dlForm dl dd {
  width: 100%;
}
@media (max-width: 767px) {
  html body .contentInclude form .dlForm dl dd {
    padding-top: 0.5rem;
  }
}
html body .contentInclude form .dlForm dl dd.flex {
  display: flex;
  gap: 0.5rem;
}
html body .contentInclude form .dlForm dl dd.flex button {
  border: 1px solid #000;
  height: 100%;
}
html body .contentInclude form .dlForm dl dd dl dt {
  min-width: 10.5em;
  width: 10.5em;
}
@media (max-width: 767px) {
  html body .contentInclude form .dlForm dl dd dl dt {
    min-width: 100%;
    width: 100%;
  }
}
html body .contentInclude p.center, html body .contentInclude span.center, html body .contentInclude ol li.center, html body .contentInclude ul li.center, html body .contentInclude dl dd.center {
  text-align: center;
}
html body .contentInclude p.right, html body .contentInclude span.right, html body .contentInclude ol li.right, html body .contentInclude ul li.right, html body .contentInclude dl dd.right {
  text-align: right;
}
html body .contentInclude p b, html body .contentInclude span b, html body .contentInclude ol li b, html body .contentInclude ul li b, html body .contentInclude dl dd b {
  font-weight: 700;
}
html body .contentInclude p span.line, html body .contentInclude span span.line, html body .contentInclude ol li span.line, html body .contentInclude ul li span.line, html body .contentInclude dl dd span.line {
  text-decoration: underline;
}
html body .contentInclude p span.marker, html body .contentInclude span span.marker, html body .contentInclude ol li span.marker, html body .contentInclude ul li span.marker, html body .contentInclude dl dd span.marker {
  background: linear-gradient(transparent 60%, #ff6 60%);
}
html body .contentInclude p span.red, html body .contentInclude span span.red, html body .contentInclude ol li span.red, html body .contentInclude ul li span.red, html body .contentInclude dl dd span.red {
  color: #FF000A;
}
html body .contentInclude p span.white, html body .contentInclude span span.white, html body .contentInclude ol li span.white, html body .contentInclude ul li span.white, html body .contentInclude dl dd span.white {
  color: #fff;
}
html body .contentInclude p a, html body .contentInclude span a, html body .contentInclude ol li a, html body .contentInclude ul li a, html body .contentInclude dl dd a {
  color: #FF000A;
  display: inline;
  white-space: normal;
  overflow-wrap: anywhere;
}
html body .contentInclude p a.external::after, html body .contentInclude span a.external::after, html body .contentInclude ol li a.external::after, html body .contentInclude ul li a.external::after, html body .contentInclude dl dd a.external::after {
  display: inline-block;
  content: "";
  background-image: url(../svg/external.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 0.2em;
  width: 1.2em;
  height: 1.2em;
  vertical-align: sub;
}
html body .contentInclude p a.pdf::after, html body .contentInclude span a.pdf::after, html body .contentInclude ol li a.pdf::after, html body .contentInclude ul li a.pdf::after, html body .contentInclude dl dd a.pdf::after {
  display: inline-block;
  content: "";
  background-image: url(../svg/pdf.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 0.2em;
  width: 1.3em;
  height: 1.3em;
  vertical-align: sub;
}
html body .contentInclude p a.url, html body .contentInclude span a.url, html body .contentInclude ol li a.url, html body .contentInclude ul li a.url, html body .contentInclude dl dd a.url {
  word-break: break-all;
}
html body .contentInclude p a:hover, html body .contentInclude span a:hover, html body .contentInclude ol li a:hover, html body .contentInclude ul li a:hover, html body .contentInclude dl dd a:hover {
  text-decoration: underline;
}
html body .contentInclude p.red, html body .contentInclude span.red, html body .contentInclude ol li.red, html body .contentInclude ul li.red, html body .contentInclude dl dd.red {
  color: #FF000A;
}
html body .contentInclude ol li h2, html body .contentInclude ol li h3, html body .contentInclude ol li h4, html body .contentInclude ol li h5, html body .contentInclude ol li h6, html body .contentInclude ul li h2, html body .contentInclude ul li h3, html body .contentInclude ul li h4, html body .contentInclude ul li h5, html body .contentInclude ul li h6 {
  margin-bottom: 0.5rem;
  font-size: clamp(24px, 1.1vw, 26px);
}
html body .contentInclude ol li ol:first-of-type, html body .contentInclude ol li ul:first-of-type, html body .contentInclude ul li ol:first-of-type, html body .contentInclude ul li ul:first-of-type {
  margin-top: 1rem;
}
html body .contentInclude ol li P, html body .contentInclude ul li P {
  margin: 0 0 1.5rem 0 !important;
}
html body .contentInclude figure {
  display: block;
  margin: 1.5rem 0;
}
html body .contentInclude table {
  margin: 1.5rem 0;
  border-collapse: collapse;
  border: solid 1px #000;
  width: 100%;
  line-height: 1.8;
}
html body .contentInclude table caption {
  padding: 0.5rem 0;
}
html body .contentInclude table td {
  border: solid 1px #000;
  padding: 0.875rem 1rem;
}
html body .contentInclude table td.fc_red {
  color: #FF000A;
}
html body .contentInclude table th {
  border: solid 1px #000;
  padding: 0.875rem 1rem;
  min-width: 7em;
  font-weight: 500;
}
html body .contentInclude p {
  line-height: 1.8;
  margin: 1.5rem 0;
}
html body .contentInclude p.center {
  text-align: center;
}
html body .contentInclude p.big {
  text-align: center;
  font-size: clamp(32px, 1.1vw, 34px);
  line-height: 1.4;
}
html body .contentInclude p.big b {
  font-weight: 700;
}
html body .contentInclude ul, html body .contentInclude ol {
  list-style-type: none;
}
html body .contentInclude ul ul, html body .contentInclude ul ol, html body .contentInclude ol ul, html body .contentInclude ol ol {
  margin-top: 1.5rem !important;
  margin-bottom: 2rem !important;
}
html body .contentInclude ul ul:first-of-type, html body .contentInclude ul ol:first-of-type, html body .contentInclude ol ul:first-of-type, html body .contentInclude ol ol:first-of-type {
  margin-top: 1.5rem !important;
}
html body .contentInclude ul ul:last-of-type, html body .contentInclude ul ol:last-of-type, html body .contentInclude ol ul:last-of-type, html body .contentInclude ol ol:last-of-type {
  margin-bottom: 2rem !important;
}
html body .contentInclude ul {
  margin: 1.5rem 0;
}
html body .contentInclude ul li {
  margin: 1rem 0;
  padding-left: 1.8em;
  position: relative;
}
html body .contentInclude ul li:first-of-type {
  margin: 0 0 1rem 0;
}
html body .contentInclude ul li:last-of-type {
  margin: 1rem 0 0 0;
}
html body .contentInclude ul li::before {
  position: absolute;
  top: 0.54em;
  left: 0.45em;
  content: "";
  background-color: #FF000A;
  border-radius: 50%;
  height: 0.5em;
  width: 0.5em;
  min-height: 0.5em;
  min-width: 0.5em;
}
html body .contentInclude ul li ol {
  margin: 1.5rem 0;
  counter-reset: number;
}
html body .contentInclude ul li ol li {
  margin: 1rem 0;
  padding-left: 1.8em;
  position: relative;
}
html body .contentInclude ul li ol li:first-of-type {
  margin: 0 0 1rem 0;
}
html body .contentInclude ul li ol li:last-of-type {
  margin: 1rem 0 0 0;
}
html body .contentInclude ul li ol li::before {
  position: absolute;
  counter-increment: number;
  content: counter(number) ".";
  background: none;
  border-radius: 0;
  top: 0.05em;
  left: 0;
  font-weight: 700;
  color: #FF000A;
  width: 1.5em;
  height: 1.5em;
  min-width: 1.5em;
  min-height: 1.5em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
html body .contentInclude ul.link li {
  padding-left: 0;
  margin: 0.25rem 0;
}
html body .contentInclude ul.link li::before {
  content: none;
}
html body .contentInclude ul.link li a {
  display: block;
  color: #FF000A;
}
html body .contentInclude ul.link li a span {
  display: inline-block;
  padding-left: 1.5em;
  line-height: 1.3;
  position: relative;
  font-size: max(14px, 0.875rem);
}
html body .contentInclude ul.link li a span::after {
  position: absolute;
  left: 0.15em;
  top: 54%;
  width: 0.6em;
  min-width: 0.6em;
  min-height: 0.6em;
  height: 0.6em;
  content: "";
  border-top: solid 2px #FF000A;
  border-right: solid 2px #FF000A;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.4s;
}
html body .contentInclude ul.link li a:hover span::after {
  left: 0.35em;
}
html body .contentInclude ol {
  margin: 1.5rem 0;
  list-style-type: none;
  counter-reset: number;
}
html body .contentInclude ol li {
  margin: 1rem 0;
  padding-left: 1.8em;
  position: relative;
}
html body .contentInclude ol li:first-of-type {
  margin: 0 0 1rem 0;
}
html body .contentInclude ol li:last-of-type {
  margin: 1rem 0 0 0;
}
html body .contentInclude ol li::before {
  position: absolute;
  counter-increment: number;
  content: counter(number) ".";
  top: 0.05em;
  left: 0;
  font-weight: 700;
  color: #FF000A;
  width: 1.5em;
  height: 1.5em;
  min-width: 1.5em;
  min-height: 1.5em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
html body .contentInclude ol li ul {
  margin: 1.5rem 0;
}
html body .contentInclude ol li ul li {
  margin: 0.8rem 0;
  padding-left: 1.8em;
  position: relative;
}
html body .contentInclude ol li ul li:first-of-type {
  margin: 0 0 0.8rem 0;
}
html body .contentInclude ol li ul li:last-of-type {
  margin: 0.8rem 0 0 0;
}
html body .contentInclude ol li ul li::before {
  position: absolute;
  top: 0.85em;
  left: 0.45em;
  content: "";
  background-color: #FF000A;
  border-radius: 50%;
  height: 0.5em;
  width: 0.5em;
  min-height: 0.5em;
  min-width: 0.5em;
}
html body .contentInclude h1, html body .contentInclude h2, html body .contentInclude h3, html body .contentInclude h4, html body .contentInclude h5, html body .contentInclude h6 {
  font-weight: 700;
  margin: 3rem 0 1.5rem 0;
}
html body .contentInclude h3 {
  padding: 0.2rem 0 0.2rem 0.75rem;
  position: relative;
}
html body .contentInclude h3::after {
  content: "";
  background-color: #FF000A;
  display: block;
  position: absolute;
  height: 100%;
  width: 4px;
  top: 0;
  left: 0;
}
html body .titleBlock {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  margin-top: 3rem;
  padding-top: 1rem;
}
html body .titleBlock.flex {
  display: flex;
  align-items: center;
  flex-direction: inherit;
  gap: 2rem;
}
html body .titleBlock.flex b {
  margin: 0;
}
html body .titleBlock.subTop {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
}
html body .titleBlock.subTop p {
  font-size: max(15px, min(2.5vw, 1.1rem));
  line-height: 1.8;
}
html body .titleBlock.subTop b {
  font-size: min(4vw, 1.5rem);
  padding: 0;
}
html body .titleBlock.subTop b::before {
  content: none;
}
html body .titleBlock.white {
  color: #fff;
}
html body .titleBlock h1, html body .titleBlock h2, html body .titleBlock h3, html body .titleBlock h4, html body .titleBlock h5, html body .titleBlock h6 {
  font-weight: 700;
  margin-bottom: 0;
}
html body .titleBlock .text {
  padding-top: 1rem;
}
html body .titleBlock b {
  font-size: max(14px, min(3vw, 1.25rem));
  font-weight: 700;
  line-height: 1;
  margin: 0 0 1rem 0;
  padding-left: 2em;
  font-family: "Helvetica Neue", Helvetica, "Noto Sans JP", sans-serif;
  position: relative;
}
html body .titleBlock b::before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  display: block;
  border-radius: 0.1em;
  background-color: #FF000A;
  transform: translateY(-50%);
  top: 50%;
  left: 0;
  position: absolute;
}
html body .titleBlock.white h1, html body .titleBlock.white h2, html body .titleBlock.white h3, html body .titleBlock.white h4, html body .titleBlock.white h5, html body .titleBlock.white h6, html body .titleBlock.white b {
  color: #fff;
}
html body .titleBlock.center {
  text-align: center;
  align-items: center;
}
html body a {
  display: block;
}
html body p a {
  display: inline;
}
html body img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}
html body p {
  margin: 1.5rem 0;
}
html body p.center {
  text-align: center;
}
html body p.right {
  text-align: right;
}
html body p.big {
  text-align: center;
  font-size: clamp(32px, 1.1vw, 34px);
  line-height: 1.4;
}
html body p.big b {
  font-weight: 700;
}
html body {
  /* 将来対応用（上書き） */
}
@supports (text-indent: hanging 1em) {
  html body [role=note] {
    padding-left: 0;
    text-indent: hanging 1em;
  }
}
html body b, html body strong {
  font-weight: 700;
}
html body .pageWidth {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 1780px) {
  html body .pageWidth {
    max-width: 1380px;
  }
}
html body .pageWidth.narrow {
  max-width: 780px;
}
html body span.red {
  color: #FF000A;
}
html body span.white {
  color: #fff;
}
html body span.head {
  display: block;
}
html body .breadWrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: max(12px, 0.75rem);
  margin: 1rem auto 0.5rem auto;
}
html body .breadWrap span {
  padding: 0 0.5rem 0.25rem 0;
  line-height: 1.5;
}
html body .breadWrap span::before {
  content: ">";
  padding-right: 0.4rem;
}
html body .breadWrap span:first-of-type::before {
  content: none;
}
html body .breadWrap span a, html body .breadWrap span span {
  padding: 0;
}
html body .breadWrap span a::before, html body .breadWrap span span::before {
  content: none;
}
html body .breadWrap span a {
  display: inline-block;
}
html body .breadWrap.sp_show {
  display: none;
  margin: 1rem auto;
}
@media (max-width: 767px) {
  html body .breadWrap.sp_show {
    display: flex;
  }
}
html body header {
  position: relative;
  z-index: 100;
  background-color: #fff;
}
html body header .headerInner {
  display: flex;
  align-items: center;
  max-width: 1480px;
  margin: 0 auto;
  gap: 0 1.5rem;
  padding: 0.8rem 1rem 0.8rem 1rem;
}
@media (min-width: 1780px) {
  html body header .headerInner {
    max-width: 1480px;
  }
}
@media (max-width: 870px) {
  html body header .headerInner {
    padding: 0.6rem 0.5rem 0.6rem 0.8rem;
    gap: 0 0.8rem;
  }
}
html body header .headerInner .logoBlock {
  width: 25%;
  display: flex;
  align-items: flex-end;
}
@media (max-width: 1100px) {
  html body header .headerInner .logoBlock {
    width: 35%;
  }
}
@media (max-width: 870px) {
  html body header .headerInner .logoBlock {
    width: 58%;
  }
}
html body header .headerInner .logoBlock .logo {
  width: 50%;
  max-width: 11rem;
}
html body header .headerInner .logoBlock .text {
  padding: 0 0 0 1.5rem;
  width: 50%;
  max-width: 11rem;
}
@media (max-width: 870px) {
  html body header .headerInner .logoBlock .text {
    padding: 0 0 0 1rem;
  }
}
html body header .headerInner .a_btn {
  margin: 0;
  flex-wrap: nowrap;
  justify-content: center;
  padding-bottom: 0;
}
@media (max-width: 870px) {
  html body header .headerInner .a_btn {
    padding: 2rem 1rem;
  }
}
html body header .headerInner .a_btn .btn {
  padding: 0.8rem;
  text-align: center;
  white-space: nowrap;
  font-size: clamp(16px, 1.1vw, 18px);
  border: 1px solid #FF000A;
}
html body header .headerInner .a_btn .btn::after {
  content: none;
}
html body header .headerNav {
  width: 75%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 0 1rem;
  margin-top: 0.5rem;
  border-left: 1px solid #000;
}
@media (max-width: 870px) {
  html body header .headerNav {
    border: none;
    margin-top: 0;
  }
}
@media (max-width: 870px) {
  html body header .headerNav .pageWidth {
    padding: 0;
  }
}
html body header .headerNav ul.parentList {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList {
    display: block;
    gap: inherit;
  }
}
html body header .headerNav ul.parentList li.List, html body header .headerNav ul.parentList li.menu-item {
  font-weight: 700;
  position: relative;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List, html body header .headerNav ul.parentList li.menu-item {
    width: 100%;
    border-left: none;
    border-right: none;
    border-bottom: 1px dotted #FF000A;
  }
}
html body header .headerNav ul.parentList li.List .a, html body header .headerNav ul.parentList li.menu-item .a {
  cursor: pointer;
}
html body header .headerNav ul.parentList li.List .a.menuToggle span, html body header .headerNav ul.parentList li.menu-item .a.menuToggle span {
  position: relative;
  padding-right: 1.5em;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List .a.menuToggle span, html body header .headerNav ul.parentList li.menu-item .a.menuToggle span {
    padding-right: 0;
  }
}
html body header .headerNav ul.parentList li.List .a.menuToggle span::after, html body header .headerNav ul.parentList li.menu-item .a.menuToggle span::after {
  position: absolute;
  right: 0.4em;
  content: "";
  width: 0.6em;
  min-width: 0.6em;
  height: 0.6em;
  min-height: 0.6em;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  transform: translateY(-50%) rotate(135deg);
  transition: all 0.5s;
  top: 45%;
  pointer-events: none;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List .a.menuToggle span::after, html body header .headerNav ul.parentList li.menu-item .a.menuToggle span::after {
    content: none;
  }
}
html body header .headerNav ul.parentList li.List .a.menuToggle.open span::after, html body header .headerNav ul.parentList li.menu-item .a.menuToggle.open span::after {
  transform: translateY(-50%) rotate(-45deg);
  top: 52%;
}
html body header .headerNav ul.parentList li.List a, html body header .headerNav ul.parentList li.List .a, html body header .headerNav ul.parentList li.menu-item a, html body header .headerNav ul.parentList li.menu-item .a {
  width: 100%;
  text-align: center;
  display: block;
  padding: 1rem 0.5rem;
  line-height: 1.3;
  font-size: clamp(14px, 1.1vw, 16px);
  position: relative;
}
@media (max-width: 1300px) {
  html body header .headerNav ul.parentList li.List a, html body header .headerNav ul.parentList li.List .a, html body header .headerNav ul.parentList li.menu-item a, html body header .headerNav ul.parentList li.menu-item .a {
    padding: 0.5rem 0.5rem;
    font-size: clamp(13px, 1.1vw, 14px);
  }
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List a, html body header .headerNav ul.parentList li.List .a, html body header .headerNav ul.parentList li.menu-item a, html body header .headerNav ul.parentList li.menu-item .a {
    padding: 1rem 0.5rem;
    font-size: clamp(16px, 1.1vw, 18px);
  }
}
html body header .headerNav ul.parentList li.List a::before, html body header .headerNav ul.parentList li.List .a::before, html body header .headerNav ul.parentList li.menu-item a::before, html body header .headerNav ul.parentList li.menu-item .a::before {
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  left: 50%;
  bottom: 0.6rem;
  content: "";
  display: block;
  transition: all 0.4s;
  background-color: #FF000A;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List a::before, html body header .headerNav ul.parentList li.List .a::before, html body header .headerNav ul.parentList li.menu-item a::before, html body header .headerNav ul.parentList li.menu-item .a::before {
    content: none;
  }
}
html body header .headerNav ul.parentList li.List a:hover::before, html body header .headerNav ul.parentList li.List .a:hover::before, html body header .headerNav ul.parentList li.menu-item a:hover::before, html body header .headerNav ul.parentList li.menu-item .a:hover::before {
  width: 100%;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List a, html body header .headerNav ul.parentList li.List .a, html body header .headerNav ul.parentList li.menu-item a, html body header .headerNav ul.parentList li.menu-item .a {
    color: #FF000A;
    text-align: left;
    padding-right: 3em;
  }
  html body header .headerNav ul.parentList li.List a::after, html body header .headerNav ul.parentList li.List .a::after, html body header .headerNav ul.parentList li.menu-item a::after, html body header .headerNav ul.parentList li.menu-item .a::after {
    position: absolute;
    right: 1.35em;
    content: "";
    width: 0.6em;
    min-width: 0.6em;
    height: 0.6em;
    min-height: 0.6em;
    border-top: solid 2px #FF000A;
    border-right: solid 2px #FF000A;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.4s;
    top: 50%;
  }
  html body header .headerNav ul.parentList li.List a span br, html body header .headerNav ul.parentList li.List .a span br, html body header .headerNav ul.parentList li.menu-item a span br, html body header .headerNav ul.parentList li.menu-item .a span br {
    display: none;
  }
  html body header .headerNav ul.parentList li.List a:hover::after, html body header .headerNav ul.parentList li.List .a:hover::after, html body header .headerNav ul.parentList li.menu-item a:hover::after, html body header .headerNav ul.parentList li.menu-item .a:hover::after {
    right: 1em;
  }
}
html body header .headerNav ul.parentList li.List .childListWrap, html body header .headerNav ul.parentList li.menu-item .childListWrap {
  display: none;
}
html body header .headerNav ul.parentList li.List .childList, html body header .headerNav ul.parentList li.menu-item .childList {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 50%;
  width: 15rem;
  transform: translateX(-50%);
  z-index: 20;
  background-color: #F4F4F4;
  color: #000;
  padding: 1rem;
  border-radius: 1rem;
}
html body header .headerNav ul.parentList li.List .childList li, html body header .headerNav ul.parentList li.menu-item .childList li {
  margin-bottom: 0.5rem;
}
html body header .headerNav ul.parentList li.List .childList li a, html body header .headerNav ul.parentList li.menu-item .childList li a {
  padding: 0.25rem 0.5rem;
  text-align: left;
  font-size: clamp(13px, 1.1vw, 14px);
  position: static;
}
html body header .headerNav ul.parentList li.List .childList li a::before, html body header .headerNav ul.parentList li.menu-item .childList li a::before {
  content: none;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List .childList li, html body header .headerNav ul.parentList li.menu-item .childList li {
    margin-bottom: 0;
  }
}
html body header .headerNav ul.parentList li.List .childList li:last-of-type, html body header .headerNav ul.parentList li.menu-item .childList li:last-of-type {
  margin-bottom: 0;
}
html body header .headerNav ul.parentList li.List .childList li.Top, html body header .headerNav ul.parentList li.menu-item .childList li.Top {
  width: 100%;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List .childList li.Top, html body header .headerNav ul.parentList li.menu-item .childList li.Top {
    border-bottom: 1px solid #FF000A;
  }
}
html body header .headerNav ul.parentList li.List .childList li.Top a, html body header .headerNav ul.parentList li.menu-item .childList li.Top a {
  width: 100%;
  font-size: clamp(16px, 1.1vw, 18px);
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList li.List .childList li.Top a, html body header .headerNav ul.parentList li.menu-item .childList li.Top a {
    font-size: clamp(14px, 1.1vw, 16px);
  }
}
html body header .headerNav ul.parentList li.List .childList li.Top a::after, html body header .headerNav ul.parentList li.menu-item .childList li.Top a::after {
  content: none;
}
html body header .headerNav ul.parentList li.List .childList li.Top a span, html body header .headerNav ul.parentList li.menu-item .childList li.Top a span {
  display: inline-block;
  padding-right: 1.5em;
  position: relative;
}
html body header .headerNav ul.parentList li.List .childList li.Top a span::after, html body header .headerNav ul.parentList li.menu-item .childList li.Top a span::after {
  position: absolute;
  right: 0.5em;
  content: "";
  width: 0.6em;
  min-width: 0.6em;
  height: 0.6em;
  min-height: 0.6em;
  border-top: solid 2px #FF000A;
  border-right: solid 2px #FF000A;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.4s;
  top: 50%;
}
html body header .headerNav ul.parentList li.List .childList li.Top a:hover span::after, html body header .headerNav ul.parentList li.menu-item .childList li.Top a:hover span::after {
  right: 0.25em;
}
@media (max-width: 870px) {
  html body header .headerNav ul.parentList {
    display: block;
  }
  html body header .headerNav ul.parentList li.List {
    border-bottom: 1px dotted #FF000A;
    margin-bottom: 0;
  }
  html body header .headerNav ul.parentList li.List:last-of-type {
    border: none;
  }
  html body header .headerNav ul.parentList li.List .a {
    padding: 1rem 2.5em 1rem 1rem;
    position: relative;
    font-size: clamp(14px, 1.1vw, 16px);
  }
  html body header .headerNav ul.parentList li.List .a.menuToggle::before, html body header .headerNav ul.parentList li.List .a.menuToggle::after {
    position: absolute;
    display: block;
    content: "";
    border: none;
    background-color: #FF000A;
    transform: translateY(-50%);
    min-width: inherit;
    min-height: inherit;
  }
  html body header .headerNav ul.parentList li.List .a.menuToggle::before {
    height: 2px;
    width: 1rem;
    top: 50%;
    left: inherit;
    right: calc(1.1rem - 1px);
  }
  html body header .headerNav ul.parentList li.List .a.menuToggle::after {
    width: 2px;
    height: 1rem;
    top: 50%;
    right: calc(1.6rem - 2px);
  }
  html body header .headerNav ul.parentList li.List .a.menuToggle.open::after {
    content: none;
  }
  html body header .headerNav ul.parentList li.List a {
    padding: 1rem;
    padding-right: 2.5em;
    position: relative;
    font-size: clamp(14px, 1.1vw, 16px);
  }
  html body header .headerNav ul.parentList li.List a span {
    padding-right: 0;
  }
  html body header .headerNav ul.parentList li.List a span::after {
    content: none;
  }
  html body header .headerNav ul.parentList li.List a::after {
    position: absolute;
    right: 1.25em;
    content: "";
    width: 0.6em;
    min-width: 0.6em;
    height: 0.6em;
    min-height: 0.6em;
    border-top: solid 2px #FF000A;
    border-right: solid 2px #FF000A;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.4s;
    top: 50%;
  }
  html body header .headerNav ul.parentList li.List a:hover::after {
    right: 1em;
  }
  html body header .headerNav ul.parentList li.List .childListWrap {
    display: none;
  }
  html body header .headerNav ul.parentList li.List ul.childList {
    padding: 0.5rem;
    width: 100%;
    background: none;
    position: static;
    transform: inherit;
    display: flex;
    flex-wrap: wrap;
    border-radius: 0;
    background-color: #F4F4F4;
  }
  html body header .headerNav ul.parentList li.List ul.childList li {
    margin-bottom: 0;
  }
  html body header .headerNav ul.parentList li.List ul.childList li a {
    padding: 0.5rem;
  }
  html body header .headerNav ul.parentList li.List ul.childList li a::after {
    content: none;
  }
}
@media (max-width: 870px) {
  html body header .headerNav {
    display: none;
  }
}
html body header.front {
  background: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
html body header.white {
  background: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
}
html body header.white .headerNav {
  border-left: 1px solid #fff;
}
@media (max-width: 870px) {
  html body header.white .headerNav {
    border: none;
  }
}
html body header.white .headerNav ul.parentList li.List .a.menuToggle span::after, html body header.white .headerNav ul.parentList li.List .a.menuToggle span::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
html body header.white .a_btn {
  padding-bottom: 0;
}
html body header.white .a_btn .btn {
  border: none;
}
@media (max-width: 870px) {
  html body header.white .a_btn .btn {
    border: 1px solid #FF000A;
  }
}
html body header.white .menu_trigger div span {
  background-color: #fff;
}
html body header.white .menu_trigger div span:nth-of-type(2)::after {
  background-color: #fff;
}
html body header.white .headerNav ul.parentList li.List .childList {
  background-color: #fff;
}
@media (max-width: 870px) {
  html body header.white .headerNav ul.parentList li.List .childList {
    background-color: #F4F4F4;
  }
}
html body header #menu_trigger {
  display: none;
}
html body header .menu_trigger {
  display: none;
}
@media (max-width: 870px) {
  html body header .menu_trigger {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 99;
    transform: translateY(-50%);
    top: 48%;
    right: 0.3rem;
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    min-height: 3rem;
  }
}
html body header .menu_trigger div {
  position: relative;
  width: 2.5rem;
  height: 2rem;
  background: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: all 0.4s;
  box-sizing: border-box;
  z-index: 250;
  transform: scale(0.7);
}
html body header .menu_trigger div span {
  position: absolute;
  left: 0;
  height: 2px;
  background-color: #FF000A;
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
html body header .menu_trigger div span:first-of-type {
  top: 0;
  width: 100%;
}
html body header .menu_trigger div span:nth-of-type(2) {
  top: 1rem;
  width: 100%;
}
html body header .menu_trigger div span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #FF000A;
  border-radius: 4px;
  transition: all 0.4s;
}
html body header .menu_trigger div span:last-of-type {
  bottom: 0;
  width: 100%;
}
html body header #menu_trigger:checked + label span:first-of-type {
  transform: translateY(0.95rem) scale(0);
}
html body header #menu_trigger:checked + label span:first-of-type::after {
  background-color: #fff;
}
html body header #menu_trigger:checked + label span:nth-of-type(2) {
  transform: rotate(-45deg);
  width: 100%;
}
html body header #menu_trigger:checked + label span:nth-of-type(2)::after {
  transform: rotate(90deg);
}
html body header #menu_trigger:checked + label span:last-of-type {
  transform: translateY(-0.95rem) scale(0);
}
html body header #menu_trigger:checked + label span:last-of-type::after {
  background-color: #fff;
}
@media (max-width: 767px) {
  html body header #menu_trigger:checked ~ .headerNav {
    display: block;
    position: absolute;
    top: 99.5%;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    padding: 0 0 1rem 0;
    z-index: 101;
  }
}
html body .headerSpacer {
  padding-top: 90px;
  width: 100%;
}
@media (max-width: 767px) {
  html body .headerSpacer {
    padding-top: 70px;
  }
}
html body footer {
  padding: 2rem 0;
  background-color: #fff;
}
html body footer .footerTop {
  padding: 3rem 0;
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (max-width: 900px) {
  html body footer .footerTop {
    align-items: center;
    flex-direction: column;
  }
}
html body footer .footerTop .footerNav {
  display: flex;
  gap: 2rem 3rem;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  html body footer .footerTop .footerNav {
    flex-direction: column;
    width: 100%;
    gap: 0.8rem 3rem;
  }
}
html body footer .footerTop .footerNav ul.parent {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
html body footer .footerTop .footerNav ul.parent li.List {
  font-weight: 700;
}
html body footer .footerTop .footerNav ul.parent li.List a {
  display: block;
  padding: 0.35rem 0;
  padding-left: 2em;
  position: relative;
}
html body footer .footerTop .footerNav ul.parent li.List a::before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  display: block;
  border-radius: 0.1em;
  background-color: #FF000A;
  transform: translateY(-50%);
  top: 53%;
  left: 0;
  position: absolute;
  pointer-events: none;
}
html body footer .footerTop .footerNav ul.parent li.List .child {
  padding-left: 1.5em;
}
html body footer .footerTop .footerNav ul.parent li.List .child li {
  font-size: clamp(13px, 1.1vw, 14px);
}
html body footer .footerTop .footerNav ul.parent li.List .child li a::before {
  width: 0.3em;
  height: 0.3em;
  border-radius: 20rem;
  left: 1em;
}
html body footer .footerTop .text {
  width: 30%;
  padding: 0 1rem;
}
@media (max-width: 900px) {
  html body footer .footerTop .text {
    width: 50%;
    max-width: 25rem;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  html body footer .footerTop .text {
    width: 80%;
  }
}
html body footer .footerBottom {
  background-color: #FF000A;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50vh;
  max-height: 50rem;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  html body footer .footerBottom {
    height: 50vw;
  }
}
html body footer .footerBottom .logo {
  width: 40%;
  max-width: 15rem;
}
html body a.arrow_a span {
  display: inline-block;
  padding-right: 1em;
  position: relative;
  font-weight: 700;
}
html body a.arrow_a span::after {
  position: absolute;
  right: 0.2em;
  content: "";
  width: 0.6em;
  min-width: 0.6em;
  height: 0.6em;
  min-height: 0.6em;
  border-top: solid 2px #FF000A;
  border-right: solid 2px #FF000A;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.4s;
  top: 50%;
}
html body a.arrow_a:hover span::after {
  right: 0;
}
html body .contents {
  padding: 3rem 0 0 0;
}
html body .a_btn {
  margin: 2rem 0 0 0;
  padding-bottom: 1rem;
  gap: 1rem;
  display: flex;
  flex-wrap: wrap;
}
html body .a_btn.center {
  justify-content: center;
}
html body .a_btn.right {
  justify-content: flex-end;
}
html body .a_btn.left {
  justify-content: flex-start;
}
html body .a_btn .btn, html body .a_btn .wpcf7-submit {
  background-color: #FF000A;
}
html body .a_btn .btn span, html body .a_btn .wpcf7-submit span {
  color: #fff;
}
html body .a_btn .btn, html body .a_btn .wpcf7-submit {
  border-radius: 0.5rem;
  padding: 1rem 3rem 1rem 1rem;
  width: 100%;
  max-width: 25rem;
  font-weight: 700;
  font-size: max(16px, min(3vw, 1.25rem));
  transition: all 0.4s;
  gap: 0.5rem;
  position: relative;
}
html body .a_btn .btn::after, html body .a_btn .wpcf7-submit::after {
  position: absolute;
  right: 1.2em;
  content: "";
  width: 0.6em;
  min-width: 0.6em;
  height: 0.6em;
  min-height: 0.6em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.4s;
  top: 50%;
}
html body .a_btn .btn:hover, html body .a_btn .wpcf7-submit:hover {
  transform: scale(1.05);
}
html body .a_btn .btn.mini, html body .a_btn .wpcf7-submit.mini {
  font-size: max(14px, min(3vw, 1rem));
  max-width: 16rem;
}
html body .a_btn .btn.white, html body .a_btn .wpcf7-submit.white {
  background-color: #fff;
}
html body .a_btn .btn.white::after, html body .a_btn .wpcf7-submit.white::after {
  border-top: solid 2px #FF000A;
  border-right: solid 2px #FF000A;
}
html body .a_btn .btn.white span, html body .a_btn .wpcf7-submit.white span {
  color: #FF000A;
}
html body .a_btn .btn.border, html body .a_btn .wpcf7-submit.border {
  border: 2px solid #FF000A;
  background-color: #fff;
}
html body .a_btn .btn.border::after, html body .a_btn .wpcf7-submit.border::after {
  border-top: solid 2px #FF000A;
  border-right: solid 2px #FF000A;
}
html body .a_btn .btn.border span, html body .a_btn .wpcf7-submit.border span {
  color: #FF000A;
}
html body .a_btn .btn.gray, html body .a_btn .wpcf7-submit.gray {
  background-color: #F4F4F4;
}
@media (max-width: 767px) {
  html body .a_btn .btn, html body .a_btn .wpcf7-submit {
    max-width: 70vw;
    padding: 0.9rem 3rem 1rem 1rem;
  }
}
html body .a_btn .btn span, html body .a_btn .wpcf7-submit span {
  display: inline-block;
}
html body .a_btn p {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
html body .a_btn .wpcf7-submit {
  padding: 1rem;
  text-align: center;
  color: #fff;
  border: none;
  font-size: min(4vw, 1.5rem);
}
html body .pagination {
  margin: 2rem 0 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
html body .pagination .page-numbers, html body .pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
}
html body .pagination span, html body .pagination a {
  width: 3.5rem;
  height: 3.5rem;
  min-width: 3.5rem;
  min-height: 3.5rem;
  display: flex;
  font-family: "DIN Alternate", "Helvetica Neue", Arial, sans-serif;
  justify-content: center;
  align-items: center;
  font-size: 0.875rem;
  background-color: #F4F4F4;
  border-radius: 0.25rem;
  font-weight: 700;
  border: 1px solid #FF000A;
  font-size: max(14px, min(3vw, 1.25rem));
  color: #FF000A;
}
html body .pagination a {
  color: #fff;
  background-color: #FF000A;
}
html body .pagination a.next::after {
  content: "";
  display: inline-block;
  margin-right: 0.25rem;
  width: 0.5em;
  height: 0.5em;
  min-width: 0.5em;
  min-height: 0.5em;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
html body .pagination a.prev::after {
  content: "";
  display: inline-block;
  margin-left: 0.25rem;
  width: 0.5em;
  height: 0.5em;
  min-width: 0.5em;
  min-height: 0.5em;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(-135deg);
}

/* ===================================================
   Contact Form 7 フォーム用 追加スタイル
   ※ テーマ側の `html body .contentInclude form button{border-style:none}` 等に
     打ち勝つため .contentInclude でスコープして特異度を確保している
   =================================================== */
.contentInclude {
  /* リード文 */
}
.contentInclude .leadCopy .lead {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.contentInclude .dlForm {
  /* セクション見出し */
}
.contentInclude .dlForm .formSection {
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #333;
  font-size: 1.15rem;
}
.contentInclude .dlForm .formSection:first-child {
  margin-top: 0;
}
.contentInclude .dlForm {
  /* 補足テキスト */
}
.contentInclude .dlForm .note {
  margin-left: 0.75em;
  font-size: 0.8em;
  font-weight: normal;
  color: #666;
}
.contentInclude {
  /* 詳細情報の開閉ボタン */
}
.contentInclude .detailToggle {
  margin: 2rem 0 0;
  text-align: center;
}
.contentInclude .detailToggle button {
  width: 100%;
  max-width: 32rem;
  /* テーマ側で button が display:block になるため text-align だけでは中央に寄らない */
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
  border: 1px solid #333;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
}
.contentInclude .detailToggle button:hover {
  background: #f5f5f5;
}
.contentInclude .detailToggle button::after {
  content: "＋";
  margin-left: 0.5em;
}
.contentInclude .detailToggle button[aria-expanded=true]::after {
  content: "−";
}
.contentInclude {
  /* 詳細情報ブロック */
}
.contentInclude .detailBox {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: #f7f7f7;
  border-radius: 4px;
}
.contentInclude .detailBox[hidden] {
  display: none;
}

/* --------------------------------------------
   無限スクロール（Infinity_scroll）
-------------------------------------------- */
.infinityScroll {
  width: 100%;
  overflow: hidden;
  padding: 2rem 0;
}
@media (max-width: 767px) {
  .infinityScroll {
    padding: 1.5rem 0;
  }
}
.infinityScroll .infinityScroll_track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: infinityScroll 40s linear infinite;
}
@media (max-width: 767px) {
  .infinityScroll .infinityScroll_track {
    animation-duration: 25s;
  }
}
.infinityScroll:hover .infinityScroll_track {
  animation-play-state: paused;
}
.infinityScroll .infinityScroll_list {
  display: flex;
  align-items: center;
  /* gap と padding-right を同値にすることでループの継ぎ目も等間隔になる */
  gap: 4rem;
  margin: 0;
  padding: 0 4rem 0 0;
  list-style: none;
}
@media (max-width: 767px) {
  .infinityScroll .infinityScroll_list {
    gap: 2rem;
    padding-right: 2rem;
  }
}
.infinityScroll .infinityScroll_list li {
  flex: 0 0 auto;
  /* 画面内に4つ並ぶ幅（SPは2つ） */
  width: calc(25vw - 4rem);
  aspect-ratio: 1/1;
}
.infinityScroll .infinityScroll_list li::before {
  content: none;
}
@media (max-width: 767px) {
  .infinityScroll .infinityScroll_list li {
    width: calc(50vw - 2rem);
  }
}
.infinityScroll .infinityScroll_list img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1rem;
}

@keyframes infinityScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .infinityScroll .infinityScroll_track {
    animation: none;
  }
}/*# sourceMappingURL=contents.css.map */