@charset "UTF-8";
.cms-keyvisual {
  position: relative;
  margin-top: calc((var(--cms-keyvisual__image-height) * 0.528 + var(--space-100)) * -1);
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual {
    margin-top: calc((var(--cms-keyvisual__image-height) * 0.528 + var(--space-80)) * -1);
  }
}
.cms-keyvisual__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  margin-inline: auto;
  width: var(--container-width-pc);
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual__inner {
    width: var(--container-width-sp);
  }
}
.cms-keyvisual__note {
  position: absolute;
  display: block;
  margin-bottom: var(--space-20);
  top: max(-3.056vw, -44px);
  left: 0;
  width: 100%;
  text-align: right;
  color: var(--text-gray);
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual__note {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual__note {
    margin-bottom: var(--space-15);
    top: -8.205vw;
    font-family: var(--family-jp);
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms-keyvisual__note {
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.cms-keyvisual__image {
  position: relative;
  width: var(--container-width-pc);
  height: auto;
  border: 1px solid var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual__image {
    width: var(--container-width-sp);
  }
}
.cms-keyvisual__image img {
  height: auto;
}
.cms-keyvisual__tag {
  position: absolute;
  display: inline-block;
  padding: min(0.347vw, 5px) min(0.694vw, 10px);
  top: 0;
  left: 0;
  background: var(--background-light_gray);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual__tag {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual__tag {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms-keyvisual__tag {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .cms-keyvisual__tag {
    padding: 1.282vw 2.564vw;
  }
}

.cms-tag__inner {
  margin-inline: auto;
  width: var(--container-width-pc);
}
@media only screen and (max-width: 767px) {
  .cms-tag__inner {
    width: var(--container-width-sp);
  }
}
.cms-tag__content {
  position: relative;
  margin-left: min(1.389vw, 20px);
  padding-left: min(0.694vw, 10px);
  width: calc(100% - min(2.083vw, 30px));
}
@media only screen and (max-width: 767px) {
  .cms-tag__content {
    margin-left: 4.103vw;
    padding-left: 2.564vw;
    width: calc(100% - 6.667vw);
  }
}
.cms-tag__content::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: max(-1.389vw, -20px);
  width: min(1.389vw, 20px);
  height: min(1.389vw, 20px);
  background-position: center;
  background-size: min(1.389vw, 20px) min(1.389vw, 20px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-tag_gray.svg");
}
@media only screen and (max-width: 767px) {
  .cms-tag__content::before {
    width: 4.103vw;
    height: 4.103vw;
    background-size: 4.103vw 4.103vw;
  }
}
@media only screen and (max-width: 767px) {
  .cms-tag__content::before {
    top: 1.026vw;
    left: -4.103vw;
  }
}

.cms {
  margin-top: var(--space-80);
  margin-bottom: var(--space-120);
}
@media only screen and (max-width: 767px) {
  .cms {
    margin-top: var(--space-40);
    margin-bottom: var(--space-80);
  }
}
.cms__index {
  position: sticky;
  align-self: start;
  order: 2;
  top: min(8.889vw, 128px);
}
@media only screen and (max-width: 767px) {
  .cms__index {
    position: relative;
    order: 1;
    top: auto;
    margin-bottom: 10.256vw;
  }
}
@media only screen and (max-width: 767px) {
  .cms__index .c-index__list {
    height: auto;
  }
}
.cms__inner {
  margin-inline: auto;
  width: var(--container-width-pc);
}
@media only screen and (max-width: 767px) {
  .cms__inner {
    width: var(--container-width-sp);
  }
}
.cms[data-has-index=true] .cms__inner {
  display: grid;
  grid-template-columns: min(55.556vw, 800px) min(18.056vw, 260px);
  gap: var(--space-40);
}
@media only screen and (max-width: 767px) {
  .cms[data-has-index=true] .cms__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.cms[data-has-index=true] .cms__inner .c-layout_areabox.type--primary .c-layout_image_horizontal.size--large {
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 767px) {
  .cms[data-has-index=true] .cms__inner .c-layout_areabox.type--primary .c-layout_image_horizontal.size--large {
    grid-template-columns: 1fr;
  }
}
.cms__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-100);
  order: 1;
}
.cms .cms__image + .cms__image {
  margin-top: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .cms .cms__image + .cms__image {
    margin-top: -5.128vw;
  }
}
.cms__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms__item {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms__item {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.cms__item > p + p {
  margin-top: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .cms__item > p + p {
    margin-top: -5.128vw;
  }
}
.cms__item p a {
  position: relative;
  display: inline-block;
  text-decoration: underline;
  color: var(--primary-red);
  font-weight: var(--weight-bold) !important;
  word-break: break-all;
}
.cms__item table {
  width: 100%;
  max-width: var(--container-width-pc);
  table-layout: fixed;
  border: 1px solid var(--line-light_gray);
  border-collapse: collapse;
}
@media only screen and (max-width: 767px) {
  .cms__item table {
    max-width: 123.077vw;
  }
}
.cms__item table caption {
  padding: min(1.111vw, 16px) 0;
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms__item table caption {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item table caption {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms__item table caption {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item table caption {
    padding: 4.103vw 0;
  }
}
.cms__item table th, .cms__item table td {
  color: var(--text-black);
  border: 1px solid var(--line-light_gray);
  vertical-align: middle;
  overflow-wrap: break-word;
}
.cms__item table th {
  padding: min(1.111vw, 16px) min(1.389vw, 20px);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms__item table th {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item table th {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms__item table th {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item table th {
    padding: 4.103vw 5.128vw;
  }
}
.cms__item table td {
  padding: min(1.111vw, 16px) min(1.389vw, 20px);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms__item table td {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item table td {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms__item table td {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item table td {
    padding: 4.103vw 5.128vw;
  }
}
.cms__item .c-layout_areabox-wrapper .c-layout_areabox__image {
  aspect-ratio: unset;
}
.cms__item .c-layout_image .c-layout_image__image {
  aspect-ratio: unset;
}
.cms__item .c-layout_image .c-image_note-right, .cms__item .c-layout_image .c-image_note-left {
  text-align: center;
}
.cms__item .c-layout_image .c-image_note-right::before, .cms__item .c-layout_image .c-image_note-left::before {
  content: none;
}
.cms__item .c-layout_image .c-image_note-right .note-wrap, .cms__item .c-layout_image .c-image_note-left .note-wrap {
  display: inline-block;
  position: relative;
}
.cms__item .c-layout_image .c-image_note-right .note-wrap::before, .cms__item .c-layout_image .c-image_note-left .note-wrap::before {
  position: absolute;
  display: inline-block;
  content: "※画像はイメージです";
  padding: 0 min(0.417vw, 6px);
  bottom: min(0.694vw, 10px);
  color: var(--text-white);
  background: rgba(37, 37, 37, 0.6);
  z-index: 10;
  font-family: var(--family-jp);
  font-size: var(--size-12px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image .c-image_note-right .note-wrap::before, .cms__item .c-layout_image .c-image_note-left .note-wrap::before {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image .c-image_note-right .note-wrap::before, .cms__item .c-layout_image .c-image_note-left .note-wrap::before {
    font-family: var(--family-jp);
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms__item .c-layout_image .c-image_note-right .note-wrap::before, .cms__item .c-layout_image .c-image_note-left .note-wrap::before {
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image .c-image_note-right .note-wrap::before, .cms__item .c-layout_image .c-image_note-left .note-wrap::before {
    padding: 0 1.538vw;
    bottom: 2.564vw;
  }
}
.cms__item .c-layout_image .c-image_note .note-wrap::before,
.cms__item .c-layout_image .c-image_note-left .note-wrap::before {
  left: min(0.694vw, 10px);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image .c-image_note .note-wrap::before,
  .cms__item .c-layout_image .c-image_note-left .note-wrap::before {
    left: 2.564vw;
  }
}
.cms__item .c-layout_image .c-image_note-right .note-wrap::before {
  right: min(0.694vw, 10px);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image .c-image_note-right .note-wrap::before {
    right: 2.564vw;
  }
}
.cms__item .c-layout_image_horizontal .c-layout_image_horizontal__image {
  aspect-ratio: unset;
}
.cms__item .c-layout_image.size--large .c-layout_image__image {
  aspect-ratio: unset;
}
.cms__item img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: auto;
}
.cms__item .c-layout_image.size--exlarge img {
  width: 100%;
  max-width: 800px;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image.size--exlarge img {
    max-width: 100%;
  }
}
.cms__item .c-layout_image.size--exlarge .image-w500 {
  width: 500px;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image.size--exlarge .image-w500 {
    width: auto;
  }
}
.cms__item .c-layout_image.size--exlarge .image-w600 {
  width: 600px;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image.size--exlarge .image-w600 {
    width: auto;
  }
}
.cms__item .c-layout_image.size--exlarge .image-w700 {
  width: 700px;
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image.size--exlarge .image-w700 {
    width: auto;
  }
}
.cms__item .c-layout_image.size--exlarge .image-w900 {
  width: 900px;
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image.size--exlarge .image-w900 {
    width: auto;
  }
}
.cms__item .c-layout_image.size--exlarge .image-w1000 {
  width: 1000px;
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image.size--exlarge .image-w1000 {
    width: auto;
  }
}
.cms__item .c-layout_image.size--exlarge .image-w1100 {
  width: 1100px;
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_image.size--exlarge .image-w1100 {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .sp_long {
    display: block;
    width: 100%;
    overflow-x: auto;
    position: relative;
    -webkit-overflow-scrolling: touch;
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .sp_long .c-layout_image__image {
    display: block;
    width: -moz-max-content;
    width: max-content;
    max-width: initial;
    padding-bottom: 5.897vw;
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .sp_long .c-layout_image__image img {
    width: auto !important; /* 自動リサイズを解除 */
    max-width: none !important; /* 100%制限を解除 */
    height: auto;
    vertical-align: bottom;
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .sp_long .scroll-hint-icon-wrap .scroll-hint-icon {
    background: rgba(0, 0, 0, 0.4);
    transform: translateY(calc(var(--c-scroll-wrapper-top, 50%) * -1)) !important;
    padding: 7.692vw 3.846vw 3.846vw;
    top: calc(var(--c-scroll-wrapper-top, 50%) - 2.821vw) !important;
    left: calc(50% - 14.744vw);
    width: 29.487vw;
  }
}
.cms__item .sp_long .scroll-hint-icon-wrap .scroll-hint-text {
  color: var(--text-white);
  font-family: var(--family-en);
  font-size: var(--size-18px);
  font-weight: var(--weight-medium);
  line-height: var(--line-height-100);
}
@media only screen and (max-width: 767px) {
  .cms__item .sp_long .scroll-hint-icon-wrap .scroll-hint-text {
    font-size: var(--size-18px);
    font-weight: var(--weight-medium);
    line-height: var(--line-height-100);
  }
}
.cms__item .c-button.type--primary {
  margin: auto;
}
.cms__item .c-title.type--primary {
  margin-bottom: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-title.type--primary {
    margin-bottom: -5.128vw;
  }
}
.cms__item h2.c-title.c-title.type--primary {
  margin-top: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cms__item h2.c-title.c-title.type--primary {
    margin-top: 5.128vw;
  }
}
.cms__item > h2.c-title.c-title.type--primary:first-child {
  margin-top: 0;
}
@media only screen and (max-width: 767px) {
  .cms__item > h2.c-title.c-title.type--primary:first-child {
    margin-top: 0;
  }
}
.cms__item .c-title.type--secondary {
  margin-bottom: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-title.type--secondary {
    margin-bottom: -5.128vw;
  }
}
.cms__item .c-extension_newslink .c-title.type--secondary {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-extension_newslink .c-title.type--secondary {
    margin-bottom: -2.564vw;
  }
}
.cms__item .c-extension_newslink.kind--contact:not(.is-type--nomargin) {
  margin-top: min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-extension_newslink.kind--contact:not(.is-type--nomargin) {
    margin-top: 5.128vw;
  }
}
.cms__item .c-layout_areabox:has(.c-title.type--tertiary):has(+ .c-layout_areabox) {
  margin-bottom: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-layout_areabox:has(.c-title.type--tertiary):has(+ .c-layout_areabox) {
    margin-bottom: inherit;
  }
}
.cms__item .c-layout_areabox:has(.c-title.type--tertiary):has(+ .c-layout_areabox.kind--description) {
  margin-bottom: inherit;
}
.cms__item .c-layout_image__caption.text_center {
  text-align: center;
}
.cms__item .c-button .c-button__text {
  flex: 1;
}
.cms__item .c-layout_image_horizontal .c-layout_image_horizontal__image > img {
  aspect-ratio: unset;
}
.cms__item .c-extension_accordion_qa.kind--text + .c-extension_accordion_qa.kind--text {
  margin-top: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .cms__item .c-extension_accordion_qa.kind--text + .c-extension_accordion_qa.kind--text {
    margin-top: -5.128vw;
  }
}
.cms__item .c-extension_accordion_qa.icon--none .c-extension_accordion_qa__question-text,
.cms__item .c-extension_accordion_qa.icon--none .c-extension_accordion_qa__answer {
  display: block;
}
.cms__image {
  display: flex;
  justify-content: space-between;
  gap: var(--space-20);
}
@media only screen and (max-width: 767px) {
  .cms__image:has(> :nth-child(2)) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    gap: var(--space-15);
  }
}
.cms__image.column2_3width {
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .cms__image.image_sp_2column_1width {
    display: flex;
    flex-direction: column;
  }
}

.cms-pager {
  margin-top: var(--space-100);
  margin-bottom: var(--space-80);
}
@media only screen and (max-width: 767px) {
  .cms-pager {
    margin-top: var(--space-120);
  }
}
.cms-pager__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-20);
  margin-inline: auto;
  width: var(--container-width-pc);
}
@media only screen and (max-width: 767px) {
  .cms-pager__inner {
    gap: var(--space-40);
    width: var(--container-width-sp);
  }
}
.cms-pager__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-20);
}
@media only screen and (max-width: 767px) {
  .cms-pager__content {
    grid-template-columns: 1fr;
  }
}
.cms-pager__item {
  position: relative;
  display: inline-flex;
  height: min(10.417vw, 150px);
}
@media only screen and (max-width: 767px) {
  .cms-pager__item {
    flex-direction: column;
    height: auto;
  }
}
.cms-pager__item.prev::before, .cms-pager__item.next::before {
  position: absolute;
  display: inline-block;
  padding: min(0.347vw, 5px) min(0.694vw, 10px);
  top: 0;
  color: var(--text-white);
  background: var(--primary-red);
  z-index: 4;
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms-pager__item.prev::before, .cms-pager__item.next::before {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms-pager__item.prev::before, .cms-pager__item.next::before {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms-pager__item.prev::before, .cms-pager__item.next::before {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .cms-pager__item.prev::before, .cms-pager__item.next::before {
    padding: 1.282vw 2.564vw;
  }
}
.cms-pager__item.prev::before {
  content: "前の記事";
  left: 0;
}
.cms-pager__item.next::before {
  content: "次の記事";
  right: 0;
}
@media only screen and (max-width: 767px) {
  .cms-pager__item.next::before {
    left: 0;
    right: auto;
  }
}
.cms-pager__item::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 1px var(--line-light_gray);
  z-index: 5;
}
.cms-pager__image {
  aspect-ratio: 226/150;
  width: 100%;
  max-width: min(15.694vw, 226px);
}
@media only screen and (max-width: 767px) {
  .cms-pager__image {
    aspect-ratio: 330/187;
    max-width: 84.615vw;
  }
}
.cms-pager__image img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media print, screen and (min-width: 768px) {
  .cms-pager__item.next .cms-pager__image {
    order: 2;
  }
}
.cms-pager__overview {
  display: flex;
  flex-direction: column;
  gap: min(0.208vw, 3px);
  padding: min(2.014vw, 29px) min(2.083vw, 30px);
}
@media only screen and (max-width: 767px) {
  .cms-pager__overview {
    gap: var(--space-5);
    padding: 5.128vw 7.692vw 7.692vw;
  }
}
@media print, screen and (min-width: 768px) {
  .cms-pager__item.next .cms-pager__overview {
    order: 1;
  }
}
.cms-pager__title {
  font-family: var(--family-jp);
  font-size: var(--size-18px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms-pager__title {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms-pager__title {
    font-family: var(--family-jp);
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms-pager__title {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
.cms-pager__subtitle {
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .cms-pager__subtitle {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .cms-pager__subtitle {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms-pager__subtitle {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}

.cms-recommend {
  margin-top: var(--space-100);
  margin-bottom: var(--space-80);
}
@media only screen and (max-width: 767px) {
  .cms-recommend {
    margin-top: var(--space-120);
  }
}
.cms-recommend__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-inline: auto;
  width: var(--container-width-pc);
}
@media only screen and (max-width: 767px) {
  .cms-recommend__inner {
    width: var(--container-width-sp);
  }
}
.cms-recommend__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-20);
  margin-top: var(--space-20);
  margin-bottom: var(--space-40);
}
@media only screen and (max-width: 767px) {
  .cms-recommend__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.cms-index {
  position: fixed;
  display: none;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, calc(100% - 13.846vw));
  transition: transform var(--ease-in-out-400);
  z-index: 500;
}
.cms-index .c-index__label::before {
  content: "表示";
}
.cms-index .c-index__content {
  padding: 0 3.846vw calc(3.846vw + env(safe-area-inset-bottom));
}
.cms-index[data-js-index-follow-visible] {
  display: block;
}
.cms-index[data-js-index-follow-visible] .c-index > .c-index__content > .c-index__list {
  max-height: 67vh;
}
.cms-index[data-js-toggle-active] {
  transform: translate(0, 0);
}
.cms-index[data-js-toggle-active] .c-index__label::before {
  content: "非表示";
}
@media only screen and (max-width: 767px) {
  .cms-index[data-js-toggle-active] {
    transform: translate(-50%, 0);
  }
}

.mod-sec .container {
  display: flex;
  flex-direction: column;
  gap: min(2.778vw, 40px);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .container {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .container {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .container {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .container {
    gap: 10.256vw;
  }
}
.mod-sec .mod-h2 {
  position: relative;
  color: var(--text-black);
  padding: 0 0 min(1.111vw, 16px);
  width: 100%;
  font-family: var(--family-jp);
  font-size: var(--size-32px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h2 {
    font-size: var(--size-32px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h2 {
    font-family: var(--family-jp);
    font-size: var(--size-24px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-h2 {
    font-size: var(--size-24px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h2 {
    padding: 0 0 4.103vw;
  }
}
.mod-sec .mod-h2::before {
  position: absolute;
  display: inline-block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(0.278vw, 4px);
  background: linear-gradient(to right, #ED0022, #FFA216);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h2::before {
    height: 1.026vw;
  }
}
.mod-sec .mod-link_arrow p + p {
  margin-top: min(0.694vw, 10px);
}
.mod-sec .mod-link_arrow p a {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: var(--c-button--width, -moz-fit-content);
  width: var(--c-button--width, fit-content);
  transition: background-color var(--ease-in-out-300), color var(--ease-in-out-300);
  color: var(--primary-red);
}
.mod-sec .mod-link_arrow p a .c-button__text {
  position: relative;
}
.mod-sec .mod-link_arrow p a .icon_blank {
  display: inline-block;
}
.mod-sec .mod-link_arrow p a:hover {
  opacity: var(--opacity-7);
}
.mod-sec .mod-link_arrow p a .c-button__text {
  margin-right: var(--c-button__text--margin, min(0.417vw, 6px));
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-link_arrow p a .c-button__text {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-link_arrow p a .c-button__text {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-link_arrow p a .c-button__text {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-link_arrow p a .c-button__text {
    margin-right: var(--c-button__text--margin, 1.538vw);
  }
}
.mod-sec .mod-link_arrow p a .c-button__text::before {
  position: absolute;
  display: inline-block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
}
.mod-sec .mod-link_arrow p a .c-button__text::before {
  background: var(--primary-red);
}
.mod-sec .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon {
  width: min(0.514vw, 7.4px);
  height: min(0.903vw, 13px);
  background-position: center;
  background-size: min(0.514vw, 7.4px) min(0.903vw, 13px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-arrow_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon {
    width: 1.897vw;
    height: 3.333vw;
    background-size: 1.897vw 3.333vw;
  }
}
.mod-sec .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon {
  width: min(0.514vw, 7.4px);
  height: min(0.903vw, 13px);
  background-position: center;
  background-size: min(0.514vw, 7.4px) min(0.903vw, 13px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-arrow_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon {
    width: 1.897vw;
    height: 3.333vw;
    background-size: 1.897vw 3.333vw;
  }
}
.mod-sec .mod-link_arrow p a .icon_blank {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-link_arrow p a .icon_blank {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-sec .mod-btn_wrapper .mod-btn {
  margin-bottom: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-btn_wrapper .mod-btn {
    margin-bottom: 5.128vw;
  }
}
.mod-sec .mod-btn_wrapper .mod-btn:last-child {
  margin-bottom: 0;
}
.mod-sec .mod-btn {
  text-align: center;
}
.mod-sec .mod-btn a {
  transition: all var(--ease-in-out-300);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: min(0.833vw, 12px) min(1.389vw, 20px) min(0.833vw, 12px) min(2.083vw, 30px);
  border-radius: min(4.444vw, 64px);
  box-shadow: 0 min(0.278vw, 4px) min(0.694vw, 10px) 0 rgba(0, 0, 0, 0.15);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-btn a {
    padding: 3.077vw 5.128vw 3.077vw 7.692vw;
    border-radius: 16.41vw;
    box-shadow: 0 1.026vw 2.564vw 0 rgba(0, 0, 0, 0.15);
  }
}
.mod-sec .mod-btn a {
  font-family: var(--family-jp);
  font-size: var(--size-18px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-btn a {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-btn a {
    font-family: var(--family-jp);
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-btn a {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
.mod-sec .mod-btn a {
  color: var(--text-white);
  background: var(--primary-red);
}
@media print, screen and (min-width: 768px) {
  .mod-sec .mod-btn a:hover {
    color: var(--text-black);
    background: var(--background-white);
  }
}
.mod-sec .mod-btn a .icon_blank, .mod-sec .mod-btn a[target=_blank] span {
  text-indent: -9999px;
  content: "";
  display: inline-block;
  margin-left: var(--c-button__text--padding, min(4.167vw, 60px));
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-btn a .icon_blank, .mod-sec .mod-btn a[target=_blank] span {
    margin-left: var(--c-button__text--padding, 10.256vw);
  }
}
.mod-sec .mod-btn a .icon_blank, .mod-sec .mod-btn a[target=_blank] span {
  width: min(1.667vw, 24px);
  height: min(1.667vw, 24px);
  background-position: center;
  background-size: min(1.667vw, 24px) min(1.667vw, 24px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-btn a .icon_blank, .mod-sec .mod-btn a[target=_blank] span {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-sec .mod-btn a:hover .icon_blank, .mod-sec .mod-btn a[target=_blank]:hover span {
    width: min(1.667vw, 24px);
    height: min(1.667vw, 24px);
    background-position: center;
    background-size: min(1.667vw, 24px) min(1.667vw, 24px);
    background-repeat: no-repeat;
    background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-sec .mod-btn a:hover .icon_blank, .mod-sec .mod-btn a[target=_blank]:hover span {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
.mod-sec .mod-img_item img {
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
}
.mod-sec .txt-right {
  text-align: right;
}
.mod-sec .pcOnly {
  display: block;
}
@media only screen and (max-width: 767px) {
  .mod-sec .pcOnly {
    display: none !important;
  }
}
.mod-sec .spOnly {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .mod-sec .spOnly {
    display: block !important;
  }
}
.mod-sec p.lead.txt-center > span {
  display: block;
}
.mod-sec .lead .small {
  font-size: 80%;
}
@media only screen and (max-width: 767px) {
  .mod-sec .lead .small {
    font-size: 3.59vw;
  }
}
.mod-sec .lead .bold {
  font-size: min(1.597vw, 23px);
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .mod-sec .lead .bold {
    font-size: 4.615vw;
  }
}
.mod-sec .lead.txt-center {
  text-align: center;
}
.mod-sec .mod-h2 {
  margin-bottom: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h2 {
    margin-bottom: -5.128vw;
  }
}
.mod-sec .product_box {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-40);
  width: 100%;
  max-width: var(--container-width-pc);
  margin: min(1.389vw, 20px) 0;
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box {
    grid-template-columns: 1fr;
    gap: var(--space-20);
    max-width: var(--container-width-sp);
    margin: 5.128vw 0;
  }
}
.mod-sec .product_box:first-child {
  margin-top: 0;
}
.mod-sec .product_box .mod-img_item {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: var(--space-10);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box .mod-img_item {
    gap: var(--space-5);
  }
}
.mod-sec .product_box .txt-center.b-none {
  width: 100%;
  max-width: min(27.778vw, 400px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box .txt-center.b-none {
    max-width: var(--container-width-sp);
  }
}
.mod-sec .product_box .c-layout_productinfo__caption {
  display: block;
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box .c-layout_productinfo__caption {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box .c-layout_productinfo__caption {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .product_box .c-layout_productinfo__caption {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-sec .product_box .mod-Txt_item {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box .mod-Txt_item {
    gap: var(--space-15);
  }
}
.mod-sec .product_box .mod-Txt_item dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--space-10) 0;
}
.mod-sec .product_box:not(:last-child) {
  padding-bottom: min(0.694vw, 10px);
  border-bottom: solid 1px var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box:not(:last-child) {
    padding-bottom: 2.564vw;
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box:last-child {
    flex-direction: column;
    gap: var(--space-5);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box:last-child dt {
    max-width: var(--container-width-sp);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box:last-child dd {
    max-width: var(--container-width-sp);
  }
}
.mod-sec .product_box dt {
  width: 100%;
  max-width: min(10.417vw, 150px);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box dt {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box dt {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .product_box dt {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
.mod-sec .product_box dt {
  padding-bottom: min(0.694vw, 10px);
  border-bottom: solid 1px var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box dt {
    max-width: 30.769vw;
  }
}
.mod-sec .product_box dt:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.mod-sec .product_box dd {
  width: 100%;
  max-width: min(34.722vw, 500px);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box dd {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box dd {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .product_box dd {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-sec .product_box dd {
  padding-bottom: min(0.694vw, 10px);
  border-bottom: solid 1px var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .mod-sec .product_box dd {
    max-width: 51.282vw;
  }
}
.mod-sec .product_box dd:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.mod-sec .mod-h3 {
  margin-bottom: min(1.389vw, 20px);
  color: var(--text-black);
  padding-left: min(1.667vw, 24px);
  width: 100%;
  position: relative;
  font-family: var(--family-jp);
  font-size: var(--size-26px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h3 {
    font-size: var(--size-26px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h3 {
    font-family: var(--family-jp);
    font-size: var(--size-20px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-h3 {
    font-size: var(--size-20px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h3 {
    margin-bottom: 5.128vw;
    padding-left: 6.154vw;
  }
}
.mod-sec .mod-h3::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: 0;
  width: min(0.278vw, 4px);
  height: 100%;
  background: var(--primary-red);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h3::before {
    width: 1.026vw;
  }
}
.mod-sec .c-title.type--secondary {
  margin-bottom: max(-1.389vw, -20px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .c-title.type--secondary {
    margin-bottom: -5.128vw;
  }
}
.mod-sec .mod-h4 {
  color: var(--text-black);
  margin-bottom: max(-2.083vw, -30px);
  padding: 0 0 min(0.694vw, 10px);
  width: 100%;
  position: relative;
  font-family: var(--family-jp);
  font-size: var(--size-22px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h4 {
    font-size: var(--size-22px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h4 {
    font-family: var(--family-jp);
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-h4 {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h4 {
    margin-bottom: -7.692vw;
    padding: 0 0 2.564vw;
  }
}
.mod-sec .mod-h4::before {
  position: absolute;
  display: inline-block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(0.139vw, 2px);
  background: var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-h4::before {
    height: 0.513vw;
  }
}
.mod-sec .mod-h4.setting--margin {
  margin-bottom: var(--space-20);
}
.mod-sec h2.mod-h4 {
  margin-bottom: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .mod-sec h2.mod-h4 {
    margin-bottom: 5.128vw;
  }
}
.mod-sec .small {
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .small {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .small {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .small {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-sec .mod-Txt_item .mod-h2,
.mod-sec .mod-Txt_item .mod-h3,
.mod-sec .mod-Txt_item .mod-h4 {
  margin: min(1.389vw, 20px) 0;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-Txt_item .mod-h2,
  .mod-sec .mod-Txt_item .mod-h3,
  .mod-sec .mod-Txt_item .mod-h4 {
    margin: 5.128vw 0;
  }
}
.mod-sec .mod-txt {
  margin-bottom: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-txt {
    margin-bottom: 5.128vw;
  }
}
.mod-sec .mod-txt .mod-h2,
.mod-sec .mod-txt .mod-h3,
.mod-sec .mod-txt .mod-h4 {
  margin: min(1.389vw, 20px) 0;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-txt .mod-h2,
  .mod-sec .mod-txt .mod-h3,
  .mod-sec .mod-txt .mod-h4 {
    margin: 5.128vw 0;
  }
}
.mod-sec .mod-txt .lead {
  margin-bottom: min(1.389vw, 20px);
  color: var(--text-black);
  width: 100%;
  position: relative;
  font-family: var(--family-jp);
  font-size: var(--size-22px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-txt .lead {
    font-size: var(--size-22px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-txt .lead {
    font-family: var(--family-jp);
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-txt .lead {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-txt .lead {
    margin-bottom: 5.128vw;
  }
}
.mod-sec .mod-frame {
  margin: min(1.389vw, 20px) 0;
  padding: min(1.389vw, 20px) min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-frame {
    margin: 5.128vw 0;
    padding: 2.564vw 5.128vw;
  }
}
.mod-sec .mod-frame.bg-red {
  background: var(--primary-light_red);
}
.mod-sec .mod-frame.no-radius {
  border-radius: 0;
}
.mod-sec .mod-frame .mod-frame_inner > .mod-imgTxt {
  margin-bottom: 0;
}
.mod-sec .c-red {
  color: var(--primary-red);
}
.mod-sec .mod-table01.th-gray th, .mod-sec .mod-table01.th-gray td {
  border: 1px solid var(--line-light_gray);
}
.mod-sec .mod-table01 table {
  width: 100%;
  max-width: var(--container-width-pc);
  table-layout: fixed;
  border: 1px solid var(--line-light_gray);
  border-collapse: collapse;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table {
    max-width: 123.077vw;
  }
}
.mod-sec .mod-table01 table thead tr > th {
  text-align: center;
  background: var(--primary-light_red);
}
.mod-sec .mod-table01 table tbody tr > th {
  text-align: center;
  background: var(--background-light_gray);
}
.mod-sec .mod-table01 table th, .mod-sec .mod-table01 table td {
  color: var(--text-black);
  border: 1px solid var(--line-light_gray);
  vertical-align: middle;
  overflow-wrap: break-word;
}
.mod-sec .mod-table01 table caption {
  padding: min(1.111vw, 16px) 0;
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table caption {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table caption {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-table01 table caption {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table caption {
    padding: 4.103vw 0;
  }
}
.mod-sec .mod-table01 table th {
  padding: min(1.111vw, 16px) min(1.389vw, 20px);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table th {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table th {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-table01 table th {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table th {
    padding: 4.103vw 5.128vw;
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table th:first-child {
    width: 46.154vw;
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table th:not(:first-child) {
    width: 38.462vw;
  }
}
.mod-sec .mod-table01 table td {
  padding: min(1.111vw, 16px) min(1.389vw, 20px);
  background: var(--background-white);
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table td {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table td {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-table01 table td {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-table01 table td {
    padding: 4.103vw 5.128vw;
    width: 38.462vw;
  }
}
.mod-sec .mod-img_item figure {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: min(0.694vw, 10px);
  width: 100%;
  margin-bottom: min(2.083vw, 30px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-img_item figure {
    gap: 2.564vw;
    margin-bottom: 7.692vw;
  }
}
.mod-sec .mod-img_item figure figcaption {
  display: block;
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-img_item figure figcaption {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-img_item figure figcaption {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-img_item figure figcaption {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-sec .mod-img_item figure.kind--border .c-layout_image__image {
  border: 1px solid var(--line-light_gray);
}
.mod-sec .mod-img.col-2 {
  display: flex;
  justify-content: space-between;
  gap: var(--space-20);
}
.mod-sec .mod-imgTxt .mod-imgTxt_item img {
  width: auto;
  height: auto;
  max-width: 100%;
}
.mod-sec .mod-imgTxt.col-2 {
  margin-bottom: min(2.778vw, 40px);
  display: grid;
  gap: var(--space-40);
  grid-template-columns: auto 1fr;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 {
    display: block;
    margin-bottom: 10.256vw;
  }
}
.mod-sec .mod-imgTxt.col-2.reverse .mod-imgTxt_item.w40,
.mod-sec .mod-imgTxt.col-2.reverse .mod-img_item {
  order: 2;
  width: -moz-max-content;
  width: max-content;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2.reverse .mod-imgTxt_item.w40,
  .mod-sec .mod-imgTxt.col-2.reverse .mod-img_item {
    margin-bottom: 5.128vw;
  }
}
.mod-sec .mod-imgTxt.col-2.reverse .mod-imgTxt_item:first-of-type {
  order: 2;
}
.mod-sec .mod-imgTxt.col-2.reverse:has(.mod-imgTxt_item + .mod-imgTxt_item) {
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 > .mod-imgTxt_item {
    margin-bottom: 5.128vw;
  }
}
.mod-sec .mod-imgTxt.col-2 > .mod-imgTxt_item:last-child {
  margin-bottom: 0;
}
.mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item {
  aspect-ratio: unset;
}
.mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item figcaption {
  margin-top: min(0.694vw, 10px);
  display: block;
  text-align: center;
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item figcaption {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item figcaption {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item figcaption {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item figcaption {
    margin-top: 2.564vw;
  }
}
.mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item.w40 {
  max-width: min(26.389vw, 380px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 .mod-imgTxt_item.w40 {
    max-width: var(--container-width-sp);
  }
}
.mod-sec .mod-imgTxt.col-2 .mod-img_item {
  max-width: min(26.389vw, 380px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-2 .mod-img_item {
    max-width: var(--container-width-sp);
  }
}
.mod-sec .mod-imgTxt.col-3 {
  display: flex;
  justify-content: space-between;
  gap: var(--space-20);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    gap: var(--space-15);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-3 .mod-imgTxt_item {
    max-width: var(--container-width-sp);
  }
}
.mod-sec .mod-imgTxt.col-3 .mod-imgTxt_item img {
  height: auto;
}
.mod-sec .mod-imgTxt.col-4 {
  display: flex;
  justify-content: space-between;
  gap: var(--space-20);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt.col-4 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    gap: var(--space-15);
  }
}
.mod-sec .mod-imgTxt.col-4 .mod-imgTxt_item img {
  height: auto;
}
.mod-sec .mod-imgTxt .mod-imgTxt_caption {
  margin-top: min(0.694vw, 10px);
  display: block;
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt .mod-imgTxt_caption {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt .mod-imgTxt_caption {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-imgTxt .mod-imgTxt_caption {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-imgTxt .mod-imgTxt_caption {
    margin-top: 2.564vw;
  }
}
.mod-sec .mod-list_annotation {
  display: grid;
  grid-auto-flow: row;
  gap: min(0.694vw, 10px);
  list-style-type: none;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_annotation {
    gap: 2.564vw;
  }
}
.mod-sec .mod-list_annotation li {
  position: relative;
  margin-left: min(0.972vw, 14px);
  padding-left: min(0.139vw, 2px);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_annotation li {
    margin-left: 3.59vw;
    padding-left: 0.513vw;
  }
}
.mod-sec .mod-list_annotation li::before {
  position: absolute;
  display: inline-block;
  content: "※";
  top: 0;
  left: max(-0.972vw, -14px);
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_annotation li::before {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_annotation li::before {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-list_annotation li::before {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_annotation li::before {
    left: -3.59vw;
  }
}
.mod-sec .mod-list_annotation li {
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_annotation li {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_annotation li {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .mod-list_annotation li {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-sec a[href$=".pdf"] .icon {
  display: block;
  position: absolute;
  top: min(0.486vw, 7px);
  right: max(-1.389vw, -20px);
  text-indent: -9999px;
  width: min(1.111vw, 16px);
  height: min(1.111vw, 16px);
  background-position: center;
  background-size: min(1.111vw, 16px) min(1.111vw, 16px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-pdf_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec a[href$=".pdf"] .icon {
    width: 4.103vw;
    height: 4.103vw;
    background-size: 4.103vw 4.103vw;
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec a[href$=".pdf"] .icon {
    top: 1.282vw;
    right: -5.128vw;
  }
}
.mod-sec .link_hover {
  color: var(--primary-red);
  display: inline-flex;
  align-items: center;
  padding: 0 min(0.347vw, 5px) min(0.694vw, 10px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover {
    padding: 0 1.282vw 2.564vw;
  }
}
.mod-sec .link_hover::before {
  background: var(--primary-red);
  position: absolute;
  display: inline-block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transition: var(--ease-in-out-200);
}
.mod-sec .link_hover::after {
  content: "";
  display: inline-block;
  width: min(1.667vw, 24px);
  height: min(1.667vw, 24px);
  background-position: center;
  background-size: min(1.667vw, 24px) min(1.667vw, 24px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover::after {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
.mod-sec .link_hover:hover {
  opacity: var(--opacity-7);
}
.mod-sec .link_hover {
  padding-right: var(--c-button__text--padding, min(0.694vw, 10px));
  font-family: var(--family-jp);
  font-size: var(--size-18px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover {
    font-family: var(--family-jp);
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-sec .link_hover {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover {
    padding-right: var(--c-button__text--padding, 2.564vw);
  }
}
.mod-sec .link_hover.kind--pdf.theme--red .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-pdf_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover.kind--pdf.theme--red .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-sec .link_hover.kind--pdf.theme--white .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-pdf_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover.kind--pdf.theme--white .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-sec .link_hover.kind--blank.theme--red .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover.kind--blank.theme--red .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-sec .link_hover.kind--blank.theme--white .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-sec .link_hover.kind--blank.theme--white .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-sec .bold {
  font-weight: var(--weight-bold);
}
.mod-sec .mod-list_num {
  counter-reset: item;
}
.mod-sec .mod-list_num li {
  margin-bottom: min(0.694vw, 10px);
  padding-left: min(1.25vw, 18px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .mod-sec .mod-list_num li {
    margin-bottom: 2.564vw;
    padding-left: 4.615vw;
  }
}
.mod-sec .mod-list_num li::before {
  display: block;
  position: absolute;
  counter-increment: item;
  content: counter(item) ".";
  left: 0;
  top: 0;
}
.mod-sec .mod-list_num li:last-child {
  margin-bottom: 0;
}

.mod-relationLink {
  display: grid;
  grid-auto-flow: row;
  gap: var(--space-10);
  margin: min(2.778vw, 40px) 0;
  padding: min(2.778vw, 40px) 0;
  border-top: 1px solid var(--line-light_gray);
  border-bottom: 1px solid var(--line-light_gray);
}
@media only screen and (max-width: 767px) {
  .mod-relationLink {
    margin: 10.256vw 0;
    padding: 5.128vw 0;
  }
}
.mod-relationLink .mod-relationLink_ttl {
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-relationLink .mod-relationLink_ttl {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-relationLink .mod-relationLink_ttl {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-relationLink .mod-relationLink_ttl {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
.mod-relationLink .icon_pdf {
  display: block;
  position: absolute;
  top: min(0.486vw, 7px);
  right: max(-1.389vw, -20px);
  text-indent: -9999px;
  width: min(1.111vw, 16px);
  height: min(1.111vw, 16px);
  background-position: center;
  background-size: min(1.111vw, 16px) min(1.111vw, 16px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-pdf_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-relationLink .icon_pdf {
    width: 4.103vw;
    height: 4.103vw;
    background-size: 4.103vw 4.103vw;
  }
}
@media only screen and (max-width: 767px) {
  .mod-relationLink .icon_pdf {
    top: 1.282vw;
    right: -5.128vw;
  }
}

.mod-list {
  margin: min(1.389vw, 20px) 0;
}
@media only screen and (max-width: 767px) {
  .mod-list {
    margin: 5.128vw 0;
  }
}
.mod-list .mod-h2 {
  margin-bottom: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .mod-list .mod-h2 {
    margin-bottom: 5.128vw;
  }
}

.mod-list_disc {
  margin: min(1.389vw, 20px) 0;
  display: grid;
  grid-auto-flow: row;
  gap: var(--space-5);
  list-style-type: none;
}
@media only screen and (max-width: 767px) {
  .mod-list_disc {
    margin: 5.128vw 0;
  }
}
.mod-list_disc.define li {
  display: block;
}
.mod-list_disc.define .mod-txt {
  margin-bottom: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc.define .mod-txt {
    margin-bottom: 5.128vw;
  }
}
.mod-list_disc li {
  display: flex;
  align-items: baseline;
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc li {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-list_disc li {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-list_disc li {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-list_disc li {
  position: relative;
  padding-left: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc li {
    padding-left: 5.128vw;
  }
}
.mod-list_disc li::before {
  content: "" !important;
}
.mod-list_disc li::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: min(0.764vw, 11px) !important;
  left: 0;
  width: min(0.417vw, 6px);
  height: min(0.417vw, 6px);
  border-radius: 50%;
  background: var(--primary-red);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc li::before {
    top: 2.436vw;
    width: 1.538vw;
    height: 1.538vw;
  }
}
.mod-list_disc li.kind--check::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: min(0.764vw, 11px);
  left: max(-0.139vw, -2px);
  width: min(0.833vw, 12px);
  height: min(0.556vw, 8px);
  background-position: center;
  background-size: min(0.833vw, 12px) min(0.556vw, 8px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-check_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-list_disc li.kind--check::before {
    width: 3.077vw;
    height: 2.051vw;
    background-size: 3.077vw 2.051vw;
  }
}
@media only screen and (max-width: 767px) {
  .mod-list_disc li.kind--check::before {
    top: 2.051vw;
    left: -0.513vw;
  }
}
.mod-list_disc li.kind--line::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: min(0.903vw, 13px);
  left: 0;
  width: min(0.417vw, 6px);
  height: min(0.139vw, 2px);
  background: var(--primary-red);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc li.kind--line::before {
    top: 2.821vw;
    width: 1.538vw;
    height: 0.513vw;
  }
}
.mod-list_disc .c-list_cms__prefix {
  flex-basis: auto;
  flex-shrink: 0;
  margin-right: 0.5em;
  min-width: 1em;
  width: auto;
  color: var(--primary-red);
}
.mod-list_disc .c-list_cms__prefix.kind--regular {
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc .c-list_cms__prefix.kind--regular {
    font-size: var(--size-16px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-list_disc .c-list_cms__prefix.kind--regular {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-list_disc .c-list_cms__prefix.kind--regular {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-list_disc .c-list_cms__prefix.kind--bold {
  font-family: var(--family-jp);
  font-size: var(--size-16px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc .c-list_cms__prefix.kind--bold {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-list_disc .c-list_cms__prefix.kind--bold {
    font-family: var(--family-jp);
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-list_disc .c-list_cms__prefix.kind--bold {
    font-size: var(--size-14px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
.mod-list_disc .c-list_cms__item--nested {
  margin-left: min(1.667vw, 24px);
}
@media only screen and (max-width: 767px) {
  .mod-list_disc .c-list_cms__item--nested {
    margin-left: 6.154vw;
  }
}

.mod-contact {
  margin-top: min(4.167vw, 60px);
}
@media only screen and (max-width: 767px) {
  .mod-contact {
    margin-top: 15.385vw;
  }
}
.mod-contact .spOnly {
  display: none;
}
@media only screen and (max-width: 767px) {
  .mod-contact .spOnly {
    display: block;
  }
}
.mod-contact .mod-contact_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-40);
  width: auto;
  max-width: var(--container-width-pc);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner {
    grid-template-columns: 1fr;
    gap: var(--space-20);
    max-width: var(--container-width-sp);
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item:only-child,
  .mod-contact .mod-contact_inner .mod-contact_item:last-child:nth-child(odd):not(:first-child) {
    justify-self: center;
    grid-column: 1/-1;
    width: 50%;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item {
  display: grid;
  align-items: center;
  justify-items: center;
  padding: min(3.75vw, 54px) min(2.917vw, 42px);
  border-radius: min(1.042vw, 15px);
  background: var(--background-light_gray);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item {
    padding: 10.256vw 5.128vw;
    border-radius: 3.846vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item {
  grid-auto-flow: row;
  gap: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item {
    gap: 5.128vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content {
  display: grid;
  grid-auto-flow: row;
  justify-items: center;
  gap: min(1.042vw, 15px);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content {
    gap: 3.846vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_ttl {
  text-align: center;
  font-family: var(--family-jp);
  font-size: var(--size-22px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_ttl {
    font-size: var(--size-22px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_ttl {
    font-family: var(--family-jp);
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_ttl {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel {
  position: relative;
  margin-left: min(1.667vw, 24px);
  padding-left: min(0.694vw, 10px);
  color: var(--primary-red);
  font-family: var(--family-jp);
  font-size: var(--size-26px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel {
    font-size: var(--size-26px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel {
    font-family: var(--family-jp);
    font-size: var(--size-20px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel {
    font-size: var(--size-20px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel {
    margin-left: 6.154vw;
    padding-left: 2.564vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: max(-1.667vw, -24px);
  transform: translate(0, -50%);
  width: min(1.667vw, 24px);
  height: min(1.667vw, 24px);
  background-position: center;
  background-size: min(1.667vw, 24px) min(1.667vw, 24px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-telephone_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel::before {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-contact_tel::before {
    left: -6.154vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a {
  transition: all var(--ease-in-out-300);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: min(0.833vw, 12px) min(1.389vw, 20px) min(0.833vw, 12px) min(2.083vw, 30px);
  border-radius: min(4.444vw, 64px);
  box-shadow: 0 min(0.278vw, 4px) min(0.694vw, 10px) 0 rgba(0, 0, 0, 0.15);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a {
    padding: 3.077vw 5.128vw 3.077vw 7.692vw;
    border-radius: 16.41vw;
    box-shadow: 0 1.026vw 2.564vw 0 rgba(0, 0, 0, 0.15);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a {
  font-family: var(--family-jp);
  font-size: var(--size-18px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a {
    font-family: var(--family-jp);
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a {
  color: var(--text-white);
  background: var(--primary-red);
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a:hover {
    color: var(--text-black);
    background: var(--background-white);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a .icon_blank {
  content: "";
  display: inline-block;
  margin-left: var(--c-button__text--padding, min(4.167vw, 60px));
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a .icon_blank {
    margin-left: var(--c-button__text--padding, 10.256vw);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a .icon_blank {
  width: min(1.667vw, 24px);
  height: min(1.667vw, 24px);
  background-position: center;
  background-size: min(1.667vw, 24px) min(1.667vw, 24px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a .icon_blank {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a:hover .icon_blank {
    width: min(1.667vw, 24px);
    height: min(1.667vw, 24px);
    background-position: center;
    background-size: min(1.667vw, 24px) min(1.667vw, 24px);
    background-repeat: no-repeat;
    background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_content .mod-btn.red a:hover .icon_blank {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company {
  position: relative;
  display: grid;
  justify-items: center;
  grid-auto-flow: row;
  padding-top: min(1.389vw, 20px);
  width: min(30.972vw, 446px);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company {
    padding-top: 5.128vw;
    width: 74.359vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: 50%;
  width: calc(100% - (min(0.833vw, 12px) + min(0.833vw, 12px)));
  height: 1px;
  background: var(--line-light_gray);
  transform: translate(-50%, 0);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company::before {
    width: calc(100% - 6.154vw);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company p {
  font-family: var(--family-jp);
  font-size: var(--size-14px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company p {
    font-size: var(--size-14px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company p {
    font-family: var(--family-jp);
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company p {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a {
  color: var(--primary-red);
  display: inline-flex;
  align-items: center;
  padding: 0 min(0.347vw, 5px) min(0.694vw, 10px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a {
    padding: 0 1.282vw 2.564vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a::before {
  background: var(--primary-red);
  position: absolute;
  display: inline-block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transition: var(--ease-in-out-200);
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a::after {
  content: "";
  display: inline-block;
  width: min(1.667vw, 24px);
  height: min(1.667vw, 24px);
  background-position: center;
  background-size: min(1.667vw, 24px) min(1.667vw, 24px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a::after {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a:hover {
  opacity: var(--opacity-7);
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a .c-button__text {
  padding-right: var(--c-button__text--padding, min(0.694vw, 10px));
  font-family: var(--family-jp);
  font-size: var(--size-18px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a .c-button__text {
    font-size: var(--size-18px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a .c-button__text {
    font-family: var(--family-jp);
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a .c-button__text {
    font-size: var(--size-16px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a .c-button__text {
    padding-right: var(--c-button__text--padding, 2.564vw);
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.theme--red {
  color: var(--primary-red);
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.theme--red::before {
  background: var(--primary-red);
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.theme--white {
  color: var(--text-white);
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.theme--white::before {
  background: var(--background-white);
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon {
  position: relative;
  overflow: hidden;
  display: inline-block;
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  border-radius: 50%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-circle_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: 51.5%;
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1), opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1), background-image var(--ease-in-out-300);
  width: min(0.252vw, 3.6349714276px);
  height: min(0.457vw, 6.5748000057px);
  background-position: center;
  background-size: min(0.252vw, 3.6349714276px) min(0.457vw, 6.5748000057px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-arrow_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon::after {
    width: 0.932vw;
    height: 1.686vw;
    background-size: 0.932vw 1.686vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon::before {
  transform: translate(-51.5%, -50%) translateX(0);
  opacity: 1;
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon::after {
  transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon {
    position: relative;
    overflow: hidden;
    display: inline-block;
    width: min(1.25vw, 18px);
    height: min(1.25vw, 18px);
    border-radius: 50%;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("/assets/img/component/icon/icon-circle_primary-red.svg");
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::after {
    position: absolute;
    display: inline-block;
    content: "";
    top: 50%;
    left: 51.5%;
    transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1), opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1), background-image var(--ease-in-out-300);
    width: min(0.252vw, 3.6349714276px);
    height: min(0.457vw, 6.5748000057px);
    background-position: center;
    background-size: min(0.252vw, 3.6349714276px) min(0.457vw, 6.5748000057px);
    background-repeat: no-repeat;
    background-image: url("/assets/img/component/icon/icon-arrow_white.svg");
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::after {
    width: 0.932vw;
    height: 1.686vw;
    background-size: 0.932vw 1.686vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::before {
    transform: translate(-51.5%, -50%) translateX(0);
    opacity: 1;
  }
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
    opacity: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::before {
    transform: translate(-51.5%, -50%) translateX(min(2.5vw, 36px));
    opacity: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::before {
    transform: translate(-51.5%, -50%) translateX(min(2.5vw, 36px));
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--red:hover .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(0);
    opacity: 1;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon {
  position: relative;
  overflow: hidden;
  display: inline-block;
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  border-radius: 50%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-circle_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: 51.5%;
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1), opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1), background-image var(--ease-in-out-300);
  width: min(0.252vw, 3.6349714276px);
  height: min(0.457vw, 6.5748000057px);
  background-position: center;
  background-size: min(0.252vw, 3.6349714276px) min(0.457vw, 6.5748000057px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-arrow_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon::after {
    width: 0.932vw;
    height: 1.686vw;
    background-size: 0.932vw 1.686vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon::before {
  transform: translate(-51.5%, -50%) translateX(0);
  opacity: 1;
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon::after {
  transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon {
    position: relative;
    overflow: hidden;
    display: inline-block;
    width: min(1.25vw, 18px);
    height: min(1.25vw, 18px);
    border-radius: 50%;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("/assets/img/component/icon/icon-circle_white.svg");
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::after {
    position: absolute;
    display: inline-block;
    content: "";
    top: 50%;
    left: 51.5%;
    transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1), opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1), background-image var(--ease-in-out-300);
    width: min(0.252vw, 3.6349714276px);
    height: min(0.457vw, 6.5748000057px);
    background-position: center;
    background-size: min(0.252vw, 3.6349714276px) min(0.457vw, 6.5748000057px);
    background-repeat: no-repeat;
    background-image: url("/assets/img/component/icon/icon-arrow_primary-red.svg");
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::before, .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::after {
    width: 0.932vw;
    height: 1.686vw;
    background-size: 0.932vw 1.686vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::before {
    transform: translate(-51.5%, -50%) translateX(0);
    opacity: 1;
  }
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
    opacity: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(max(-2.5vw, -36px));
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::before {
    transform: translate(-51.5%, -50%) translateX(min(2.5vw, 36px));
    opacity: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::before {
    transform: translate(-51.5%, -50%) translateX(min(2.5vw, 36px));
  }
}
@media print, screen and (min-width: 768px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--arrow.theme--white:hover .c-button__icon::after {
    transform: translate(-51.5%, -50%) translateX(0);
    opacity: 1;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--pdf.theme--red .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-pdf_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--pdf.theme--red .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--pdf.theme--white .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-pdf_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--pdf.theme--white .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--blank.theme--red .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--blank.theme--red .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}
.mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--blank.theme--white .c-button__icon {
  width: min(1.25vw, 18px);
  height: min(1.25vw, 18px);
  background-position: center;
  background-size: min(1.25vw, 18px) min(1.25vw, 18px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-blank_white.svg");
}
@media only screen and (max-width: 767px) {
  .mod-contact .mod-contact_inner .mod-contact_item .mod-contact_company .mod-link_arrow p a.kind--blank.theme--white .c-button__icon {
    width: 4.615vw;
    height: 4.615vw;
    background-size: 4.615vw 4.615vw;
  }
}

.c-layout_areabox-wrapper::before {
  content: "";
  display: block;
  width: 100%;
  height: min(0.694vw, 10px);
  border-top-left-radius: min(0.694vw, 10px);
  border-top-right-radius: min(0.694vw, 10px);
}
@media only screen and (max-width: 767px) {
  .c-layout_areabox-wrapper::before {
    height: 2.564vw;
    border-top-left-radius: 2.564vw;
    border-top-right-radius: 2.564vw;
  }
}
.c-layout_areabox-wrapper::after {
  content: "";
  display: block;
  width: 100%;
  height: min(1.389vw, 20px);
  border-bottom-left-radius: min(0.694vw, 10px);
  border-bottom-right-radius: min(0.694vw, 10px);
}
.c-layout_areabox-wrapper.wrap-primary-gray::before, .c-layout_areabox-wrapper.wrap-primary-gray::after {
  background: var(--background-light_gray);
}
.c-layout_areabox-wrapper.wrap-primary-red::before, .c-layout_areabox-wrapper.wrap-primary-red::after {
  background: var(--primary-light_red);
}
.c-layout_areabox-wrapper.wrap-secondary-gray::before, .c-layout_areabox-wrapper.wrap-secondary-gray::after {
  border-left: solid 1px var(--line-light_gray);
  border-right: solid 1px var(--line-light_gray);
}
.c-layout_areabox-wrapper.wrap-secondary-gray::before {
  border-top: solid 1px var(--line-light_gray);
}
.c-layout_areabox-wrapper.wrap-secondary-gray::after {
  border-bottom: solid 1px var(--line-light_gray);
}
.c-layout_areabox-wrapper.wrap-secondary-red::before, .c-layout_areabox-wrapper.wrap-secondary-red::after {
  border-left: solid 1px var(--primary-red);
  border-right: solid 1px var(--primary-red);
}
.c-layout_areabox-wrapper.wrap-secondary-red::before {
  border-top: solid 1px var(--primary-red);
}
.c-layout_areabox-wrapper.wrap-secondary-red::after {
  border-bottom: solid 1px var(--primary-red);
}

.c-content_pagenation .is-disabled span {
  opacity: 0.3;
}

.c-localnavi-wrapper.news-area {
  margin-top: min(8.333vw, 120px);
}
@media only screen and (max-width: 767px) {
  .c-localnavi-wrapper.news-area {
    margin-top: 20.513vw;
  }
}

.cms__item .c-extension_newslink__content a:not(.c-button) {
  padding: 0;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .cms__item .c-extension_newslink__content a:not(.c-button) .c-button__text {
    padding-right: var(--c-button__text--padding, 1.538vw);
  }
}

.cms__item:has(> .c-extension_newslink-wrapper) {
  margin-top: min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cms__item:has(> .c-extension_newslink-wrapper) {
    margin-top: 10.256vw;
  }
}

.cms__item .kind--form .c-extension_newslink__number {
  position: relative;
  margin-left: min(1.667vw, 24px);
  padding-left: min(0.694vw, 10px);
  color: var(--primary-red);
  font-family: var(--family-jp);
  font-size: var(--size-26px);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-150);
}
@media only screen and (max-width: 767px) {
  .cms__item .kind--form .c-extension_newslink__number {
    font-size: var(--size-26px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .kind--form .c-extension_newslink__number {
    font-family: var(--family-jp);
    font-size: var(--size-20px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .cms__item .kind--form .c-extension_newslink__number {
    font-size: var(--size-20px);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-150);
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .kind--form .c-extension_newslink__number {
    margin-left: 6.154vw;
    padding-left: 2.564vw;
  }
}
.cms__item .kind--form .c-extension_newslink__number::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: max(-2.361vw, -34px);
  transform: translate(0, -50%);
  width: min(1.667vw, 24px);
  height: min(1.667vw, 24px);
  background-position: center;
  background-size: min(1.667vw, 24px) min(1.667vw, 24px);
  background-repeat: no-repeat;
  background-image: url("/assets/img/component/icon/icon-telephone_primary-red.svg");
}
@media only screen and (max-width: 767px) {
  .cms__item .kind--form .c-extension_newslink__number::before {
    width: 6.154vw;
    height: 6.154vw;
    background-size: 6.154vw 6.154vw;
  }
}
@media only screen and (max-width: 767px) {
  .cms__item .kind--form .c-extension_newslink__number::before {
    left: -8.718vw;
  }
}

.c-layout_areabox.kind--triple-image {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.778vw, 40px);
  padding: min(1.389vw, 20px) min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .c-layout_areabox.kind--triple-image {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 2.564vw;
    padding: 2.564vw 5.128vw;
  }
}
.c-layout_areabox.kind--triple-image .c-layout_areabox__image {
  aspect-ratio: 16/9;
  width: 100%;
  max-width: min(34.028vw, 490px);
}
@media only screen and (max-width: 767px) {
  .c-layout_areabox.kind--triple-image .c-layout_areabox__image {
    max-width: 74.359vw;
  }
}

.c-breadcrumb-wrapper li:not(:last-child):has(.no-link)::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  right: max(-1.042vw, -15px);
  width: min(0.417vw, 6px);
  height: min(0.417vw, 6px);
  border-top: solid min(0.122vw, 1.75px) var(--primary-red);
  border-right: solid min(0.122vw, 1.75px) var(--primary-red);
  transform: translate(0, -50%) rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb-wrapper li:not(:last-child):has(.no-link)::after {
    right: -3.974vw;
    width: 1.667vw;
    height: 1.667vw;
    border-top: solid 0.449vw var(--primary-red);
    border-right: solid 0.449vw var(--primary-red);
  }
}
.c-breadcrumb-wrapper li .no-link {
  position: relative;
  display: block;
  font-family: var(--family-jp);
  font-size: var(--size-12px);
  font-weight: var(--weight-regular);
  line-height: var(--line-height-170);
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb-wrapper li .no-link {
    font-size: var(--size-12px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb-wrapper li .no-link {
    font-family: var(--family-jp);
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .c-breadcrumb-wrapper li .no-link {
    font-size: var(--size-10px);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-170);
  }
}

@media only screen and (max-width: 767px) {
  .c-layout_productinfo .c-layout_productinfo__image {
    aspect-ratio: auto;
  }
}/*# sourceMappingURL=cms.css.map */