@charset "UTF-8";
/*** The new CSS reset - version 1.9 (last updated 19.6.2023) ***/
:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
::after,
::before {
  box-sizing: border-box;
}

a,
button {
  cursor: revert;
}

menu,
ol,
ul {
  list-style-type: "";
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:focus:not(:focus-visible) {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after,
  ::backdrop {
    background-attachment: scroll !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
:where(:-moz-any-link) {
  text-underline-offset: 0.25em;
}
:where(:any-link) {
  text-underline-offset: 0.25em;
}

/* Outfit Bold */
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit-v11-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Noto Sans JP */
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/noto-sans-jp-v53-japanese-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/noto-sans-jp-v53-japanese-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/noto-sans-jp-v53-japanese-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/noto-sans-jp-v53-japanese-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --main-color: #51a1da;
  --accent-color: #faa805;
  --sub-color: #004588;
  --text-color: #333333;
  --bg-color: #f4f4f4;
  --border-color: #c6c6c6;
  --error-color: #da053e;
  --font-base: "Noto Sans JP", sans-serif;
  --font-outfit: "Outfit", sans-serif;
  --fs-base: 15px;
  --fs-base-sp: 14px;
  --h-header: 68px;
  --h-header-sp: min(16vw, 60px);
  --w-artboard: 1366px;
  --w-container: 1012px;
  --w-container-sp: 84vw;
  --trans-tm: 0.3s;
  --trans-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --triangle-r: polygon(0% 0%, 100% 50%, 0% 100%);
  --triangle-b: polygon(0% 0%, 100% 0%, 50% 100%);
  --angle: 30deg;
}

html {
  scroll-margin-block-start: var(--h-header);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}
@media (width < 740px) {
  html {
    scroll-margin-block-start: var(--h-header-sp);
  }
}

body {
  font-family: var(--font-base);
  color: var(--text-color);
  width: 100%;
  min-height: 100dvh;
  height: 100%;
  position: relative;
  z-index: 1;
  font-size: var(--fs-base);
  line-height: 2;
}
@media (width < 740px) {
  body {
    font-size: var(--fs-base-sp);
  }
}
body.is-stop {
  overflow: hidden;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

@media (any-hover: hover) and (pointer: fine) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.l__wrapper {
  width: 100%;
  overflow: clip;
}
.l__container {
  width: min(var(--w-container-sp), var(--w-container));
  margin-inline: auto;
}
.l__container-thin {
  width: min(840px, 88vw);
  margin-inline: auto;
}
.l__toc-1 {
  --pbs: 120px;
  width: min(100%, var(--artboad));
  padding-block-start: var(--pbs);
  padding-inline-end: max(0px, (100vw - var(--w-container)) / 2);
  display: grid;
  grid-template-columns: calc(max(0px, (100vw - var(--w-container)) / 2) + 178px) 1fr;
  gap: 0 min(4vw, 80px);
}
@media (width < 1080px) {
  .l__toc-1 {
    padding-inline-end: 4vw;
  }
}
@media (width < 940px) {
  .l__toc-1 {
    grid-template-columns: 1fr;
    padding-inline: 8vw;
  }
}
.l__toc-1_tbl .m__toc_list {
  background-color: #fff;
  border-radius: 0 10px 10px 0;
  padding-inline-start: max(0px, (100vw - var(--w-container)) / 2);
  padding-inline-end: 10px;
  padding-block: 52px;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 602px;
  position: sticky;
  top: calc(var(--pbs) + var(--h-header));
}
@media (width < 1080px) {
  .l__toc-1_tbl .m__toc_list {
    padding-inline-start: 4vw;
  }
}
@media (width < 940px) {
  .l__toc-1_tbl .m__toc_list {
    display: none;
  }
}
.l__toc-1_cont .l__accordion + .faq-m__heading {
  margin-block-start: 70px;
}
@media (width < 740px) {
  .l__toc-1_cont .l__accordion + .faq-m__heading {
    margin-block-start: min(16vw, 60px);
  }
}
.l__accordion {
  width: 100%;
}
.l__accordion .-item:not(:first-of-type) {
  margin-block-start: 15px;
}
@media (width < 740px) {
  .l__accordion {
    width: min(100%, var(--w-container-sp));
    margin-inline: auto;
  }
}
.l__safe100 {
  padding-block: min(10.67vw, 100px);
}
.l__simple_2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 4%;
}
@media (width < 740px) {
  .l__simple_2col {
    grid-template-columns: 1fr;
  }
}
.l__simple_2col .-box {
  padding-block: 1em;
  padding-inline: 1em;
  display: grid;
  place-items: center;
}

.m__en {
  font-family: var(--font-outfit);
  line-height: 1;
  text-transform: uppercase;
}
.m__ib {
  display: inline-block;
}
.m__mb_sub-top {
  margin-block-start: 80px;
}
@media (width < 740px) {
  .m__mb_sub-top {
    margin-block-start: min(16vw, 60px);
  }
}
.m__mb_s10em {
  margin-block-start: 1em;
}
.m__mb_s15em {
  margin-block-start: 1.5em;
}
.m__mb_s70 {
  margin-block-start: min(10.67vw, 70px);
}
.m__mb_s90 {
  margin-block-start: min(24vw, 90px);
}
.m__mb_s100 {
  margin-block-start: min(16vw, 100px);
}
.m__mb_e1em {
  margin-block-end: 1em;
}
.m__pb_s100 {
  padding-block-start: 100px;
}
.m__pb_e100 {
  padding-block-end: 100px;
}
.m__pb_sub-bottom {
  padding-block-end: 100px;
}
.m__bg_grey {
  background-color: var(--bg-color);
}
.m__bg_wt {
  background-color: #fff;
}
.m__heading_common .-ja {
  font-size: clamp(14px, 1.76vw, 18px);
  line-height: 2.72;
  font-weight: 500;
  letter-spacing: 0.09em;
  margin-block-end: 0.5em;
}
@media (width < 740px) {
  .m__heading_common .-ja {
    font-size: min(3.73vw, 14px);
    margin-block-end: 0;
  }
}
.m__heading_common .m__en {
  font-size: clamp(56px, 7.81vw, 80px);
  letter-spacing: 0.03em;
  color: var(--main-color);
  text-transform: uppercase;
}
@media (width < 740px) {
  .m__heading_common .m__en {
    font-size: min(12.8vw, 56px);
  }
}
.m__heading_align-change {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.6;
  margin-block-end: 1.5em;
  color: var(--main-color);
  display: block;
}
@media (width < 740px) {
  .m__heading_align-change {
    text-align: center;
  }
}
.m__title {
  height: min(34.38vw, 352px);
  position: relative;
  z-index: 1;
  margin-block-start: var(--h-header);
}
@media (width < 940px) {
  .m__title {
    margin-block-start: var(--h-header-sp);
  }
}
@media (width < 740px) {
  .m__title {
    height: min(47.2vw, 177px);
  }
}
.m__title::before {
  content: "";
  width: min(73.05vw, 748px);
  height: 100%;
  background-image: url(../img/sub/bg-subpage-ttl.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top left;
  position: absolute;
  top: 0;
  left: min(74.32vw, 50vw - 506px + 761px);
  z-index: -1;
}
@media (width < 740px) {
  .m__title::before {
    width: min(38.67vw, 145px);
    background-image: url(../img/sub/bg-subpage-ttl_sp.webp);
    left: unset;
    right: 0;
  }
}
.m__title_container {
  width: min(var(--w-container-sp), var(--w-container));
  margin-inline: auto;
  padding-block-start: min(7.23vw, 74px);
  height: 100%;
  background-image: url(../img/common/shape-1.svg);
  background-repeat: no-repeat;
  background-size: min(10.94vw, 112px);
  background-position: right bottom min(4.98vw, 51px);
}
@media (width < 740px) {
  .m__title_container {
    width: 100vw;
    padding-inline: 6vw;
    background-size: 60px, 60px;
    background-position: right min(2.67vw, 10px) bottom min(7.47vw, 28px);
  }
}
.m__btn_blank {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline-end: 1.5384615385em;
  background-image: url(../img/common/ico-blank.svg);
  background-size: 1.1538461538em;
  background-repeat: no-repeat;
  background-position: right center;
}
.m__btn_more {
  display: block;
  font-size: min(4.27vw, 16px);
  font-weight: 600;
  width: 12.8125em;
  height: 3.3125em;
  border-radius: 100vmax;
  background-color: var(--sub-color);
  color: #fff;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.m__btn_more .-inner {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 2;
}
.m__btn_more::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background-color: var(--accent-color);
  translate: -100% 0;
  transition: translate var(--trans-tm);
  z-index: 1;
  position: absolute;
  inset: 0;
}
.m__btn_more:focus-visible::before {
  translate: initial;
}
@media (any-hover: hover) {
  .m__btn_more:hover::before {
    translate: initial;
  }
}
.m__btn_anchor {
  display: block;
  font-size: min(3.2vw, 16px);
  font-weight: 600;
  width: 14.875em;
  height: 3.3125em;
  border-radius: 100vmax;
  background-color: var(--sub-color);
  color: #fff;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.m__btn_anchor .-inner {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 2;
}
.m__btn_anchor::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background-color: var(--accent-color);
  translate: -100% 0;
  transition: translate var(--trans-tm);
  z-index: 1;
  position: absolute;
  inset: 0;
}
.m__btn_anchor:focus-visible::before {
  translate: initial;
}
@media (any-hover: hover) {
  .m__btn_anchor:hover::before {
    translate: initial;
  }
}
@media (width < 740px) {
  .m__btn_anchor {
    height: 3.6666666667em;
    width: 13.1666666667em;
  }
  .m__btn_anchor .m__more {
    grid-template-columns: 1fr 0.6666666667em;
    padding-inline: 1em;
    gap: 0.2em;
  }
  .m__btn_anchor .m__more::after {
    width: 0.6666666667em;
    aspect-ratio: 8/6;
    -webkit-clip-path: var(--triangle-b);
            clip-path: var(--triangle-b);
    background-color: #fff;
  }
}
.m__btn_tiktok {
  display: block;
  width: min(92vw, 698px);
  margin-inline: auto;
  transition: opacity var(--trans-tm);
}
.m__btn_tiktok:focus-visible {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .m__btn_tiktok:hover {
    opacity: 0.6;
  }
}
.m__more {
  display: grid;
  grid-template-columns: 1fr 0.4375em;
  padding-inline: 1.3125em 1em;
  width: 100%;
  height: 100%;
  place-items: center;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
}
.m__more::after {
  content: "";
  width: 0.4375em;
  aspect-ratio: 7/9;
  -webkit-clip-path: var(--triangle-r);
          clip-path: var(--triangle-r);
  background-color: #fff;
}
.m__bottom_btns {
  width: 100%;
  height: 196px;
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  align-items: center;
  background-color: var(--accent-color);
}
@media (width < 740px) {
  .m__bottom_btns {
    height: min(71.47vw, 268px);
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1px 1fr;
  }
}
.m__bottom_btns .-separator {
  width: 1px;
  height: 136px;
  background-color: #fff;
}
@media (width < 740px) {
  .m__bottom_btns .-separator {
    height: 1px;
    width: var(--w-container-sp);
    justify-self: center;
  }
}
.m__bottom_btn {
  color: #fff;
  font-size: min(4vw, 15px);
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  place-items: center;
  place-content: center;
}
@media (width < 740px) {
  .m__bottom_btn {
    background-image: url(../img/common/arrow-circle-wt.svg);
    background-size: 2.3333333333em;
    background-repeat: no-repeat;
    background-position: right 8vw center;
  }
}
.m__bottom_btn .m__en {
  font-size: 2em;
  display: block;
  text-align: center;
  letter-spacing: 0.15em;
  position: relative;
  z-index: 2;
  text-transform: uppercase;
}
.m__bottom_btn .-ja {
  display: block;
  font-weight: 600;
  text-align: center;
  margin-block-start: 0.5333333333em;
  letter-spacing: 0.15em;
  position: relative;
  z-index: 2;
}
@media (width < 740px) {
  .m__bottom_btn .-ja {
    margin-block-start: 0.3333333333em;
  }
}
.m__bottom_btn::before {
  content: "";
  display: block;
  width: 0%;
  height: 100%;
  background-color: var(--main-color);
  position: absolute;
  z-index: 1;
  transition: width var(--trans-tm) var(--trans-ease);
}
.m__bottom_btn:focus-visible::before {
  width: 100%;
}
@media (any-hover: hover) {
  .m__bottom_btn:hover::before {
    width: 100%;
  }
}
.m__floatBtns {
  display: contents;
}
.m__floatBtns .-entry {
  display: none;
}
.m__floatBtns .-pagetop {
  width: 65px;
  aspect-ratio: 1/1;
  position: fixed;
  bottom: 80px;
  right: 20px;
  z-index: 998;
  transition: opacity var(--trans-tm), translate 0.5s;
  translate: 0 150px;
}
@media (width < 740px) {
  .m__floatBtns .-pagetop {
    width: min(14.67vw, 55px);
  }
}
.m__floatBtns .-pagetop:focus-visible {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .m__floatBtns .-pagetop:hover {
    opacity: 0.6;
  }
}
.m__floatBtns.is-visible .-pagetop {
  translate: initial;
}
@media (width < 740px) {
  .m__floatBtns {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    gap: min(4vw, 15px);
    font-size: min(4.8vw, 18px);
    width: 100%;
    padding-block: min(4vw, 15px);
    position: fixed;
    bottom: 0;
    z-index: 998;
    translate: 0 4.7777777778em;
    transition: translate 0.5s;
  }
  .m__floatBtns .-entry {
    display: grid;
    background-color: var(--accent-color);
    color: #fff;
    width: 15.1111111111em;
    height: 3.0555555556em;
    place-items: center;
    border-radius: 100vmax;
  }
  .m__floatBtns .-pagetop {
    position: static;
    translate: unset;
  }
  .m__floatBtns.is-visible {
    translate: initial;
  }
}
.m__detail {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s var(--trans-ease);
}
.m__detail .-cont {
  overflow: hidden;
}
.m__accordion {
  background-color: #fff;
  border-radius: 10px;
}
.m__accordion.is-open .m__detail {
  grid-template-rows: 1fr;
}
.m__toc_list.-list1 {
  font-size: 17px;
  font-weight: 700;
}
.m__toc_item {
  color: #c6c6c6;
}
.m__toc_item:not(:first-of-type) {
  margin-block-start: 1em;
}
.m__toc_item a {
  display: block;
  line-height: 2;
  transition: color var(--trans-tm);
}
.m__toc_item a.is-selected {
  color: var(--accent-color);
}
.m__toc_item a:focus-visible {
  color: var(--accent-color);
}
@media (any-hover: hover) {
  .m__toc_item a:hover {
    color: var(--accent-color);
  }
}
.m__simple_txt {
  font-size: 15px;
  line-height: 2;
  text-align: justify;
}
@media (width < 740px) {
  .m__simple_txt {
    font-size: 14px;
    line-height: 2.14;
  }
}
.m__simple_ol {
  list-style: decimal;
  padding-inline-start: 1.5em;
}
.m__simple_ol ol:not(.-no-pdb),
.m__simple_ol ul:not(.-no-pdb) {
  padding-inline-start: 2em;
}
@media (width < 740px) {
  .m__simple_ol ol:not(.-no-pdb),
  .m__simple_ol ul:not(.-no-pdb) {
    padding-inline-start: 0;
  }
}
.m__simple_ol > li:not(*:first-of-type) {
  margin-block-start: 1em;
}
.m__simple_ol .-opt {
  margin-inline-start: -1.5em;
}
.m__simple_ol-l > ol:not(.-no-pdb),
.m__simple_ol-l ul:not(.-no-pdb) {
  padding-inline-start: 1.5em;
}
.m__simple_ol-l .-head {
  font-weight: 700;
  display: block;
}
.m__simple_ol-l .-txt {
  display: block;
}
.m__simple_ol-l .-box {
  padding-block: 1.4666666667em;
  padding-inline: 2.6666666667em;
}
.m__simple_ol-b {
  counter-reset: number 0;
}
.m__simple_ol-b li {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.5em;
}
.m__simple_ol-b li::before {
  counter-increment: number 1;
  content: "(" counter(number) ")";
}
.m__simple_link {
  color: #253494;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 2.13;
}
.m__simple_link:focus-visible {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .m__simple_link:hover {
    text-decoration: underline;
  }
}
.m__simple_table {
  display: block;
}
.m__simple_table tbody {
  display: grid;
  grid-template-columns: max-content 1fr;
}
@media (width < 740px) {
  .m__simple_table tbody {
    display: block;
  }
}
.m__simple_table tr {
  display: contents;
}
.m__simple_table tr:not(:first-of-type) th,
.m__simple_table tr:not(:first-of-type) td {
  border-top: 1px solid #243494;
}
@media (width < 740px) {
  .m__simple_table tr {
    display: block;
  }
  .m__simple_table tr:not(:first-of-type) {
    border-top: 1px solid #243494;
  }
  .m__simple_table tr:not(:first-of-type) th,
  .m__simple_table tr:not(:first-of-type) td {
    border-top: none;
  }
}
.m__simple_table th,
.m__simple_table td {
  display: block;
}
.m__simple_table th {
  padding-block: 1.4666666667em;
  padding-inline: 2.6666666667em;
  font-weight: 700;
}
@media (width < 740px) {
  .m__simple_table th {
    padding-inline: 1.4285714286em;
    padding-block-end: 0;
  }
}
.m__simple_table td {
  padding-block: 1.4666666667em;
  padding-inline-start: 1.4666666667em;
  padding-inline-end: 2.6666666667em;
}
@media (width < 740px) {
  .m__simple_table td {
    padding-inline: 1.4285714286em;
    padding-block-start: 0;
  }
}

.header {
  height: var(--h-header);
  width: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}
@media (width < 940px) {
  .header {
    height: var(--h-header-sp);
  }
}
.header__container {
  height: 100%;
  width: min(98vw, 1324px);
  margin-inline: auto;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
}
@media (width < 940px) {
  .header__container {
    width: 100vw;
    padding-inline-start: max(4.27vw, 2vw);
  }
}
.header__heading {
  font-size: min(1.37vw, 16px);
}
@media (width < 940px) {
  .header__heading {
    font-size: min(3.73vw, 14px);
  }
}
.header__heading a {
  display: grid;
  grid-template-columns: 9.375em 1fr;
  grid-auto-rows: max-content;
  grid-template-areas: "img span1" "img span2";
  align-items: center;
  gap: 0.4em 1em;
  transition: opacity var(--trans-tm);
}
.header__heading a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__heading a:hover {
    opacity: 0.7;
  }
}
.header__heading .-logo {
  grid-area: img;
}
.header__heading .-co {
  color: var(--sub-color);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  grid-area: span1;
}
.header__heading .m__en {
  color: var(--main-color);
  line-height: 1;
  font-size: 1.0625em;
  letter-spacing: 0.04em;
  grid-area: span2;
  text-transform: uppercase;
}
.header__nav {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 0 min(1.5vw, 40px);
}
.header__nav_list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center;
  font-size: 14px;
}
.header__nav_list li {
  border-right: 1px solid #c6c6c6;
}
.header__nav_list .-grand {
  display: block;
  padding-inline: min(1.5vw, 2.1428571429em);
  transition: color var(--trans-tm);
}
.header__nav_list .-grand:focus-visible {
  color: var(--main-color);
}
@media (any-hover: hover) {
  .header__nav_list .-grand:hover {
    color: var(--main-color);
  }
}
.header__nav_list .-ja-sp {
  display: none;
}
.header__nav_list .-item-sp {
  display: none;
}
.header__nav_list .-sublist {
  display: none;
}
.header__entry {
  font-size: 16px;
  color: #fff;
  background-color: var(--sub-color);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;
  width: min(14vw, 10.375em);
  height: 2.9375em;
  border-radius: 100vmax;
  overflow: hidden;
}
.header__entry span {
  grid-area: 1/1/2/2;
  z-index: 2;
}
.header__entry::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background-color: var(--accent-color);
  translate: -100% 0;
  grid-area: 1/1/2/2;
  transition: translate var(--trans-tm);
  z-index: 1;
}
.header__entry:focus-visible::before {
  translate: initial;
}
@media (any-hover: hover) {
  .header__entry:hover::before {
    translate: initial;
  }
}
@media (width < 940px) {
  .header__entry {
    display: none;
  }
}

body:has(.top-m__video) .header {
  translate: 0 calc(var(--h-header) * -1);
  transition: translate 0.5s;
}
@media (width < 940px) {
  body:has(.top-m__video) .header {
    translate: 0 calc(var(--h-header-sp) * -1);
  }
}
body:has(.top-m__video) .header.is-visible {
  translate: initial;
}

.menu__btn {
  display: none;
}
@media (width < 940px) {
  .menu__btn {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    place-items: center;
    place-content: center;
    height: 100%;
    aspect-ratio: 1/1;
    background-color: var(--sub-color);
  }
  .menu__btn span {
    display: block;
    width: 43%;
    height: 2px;
    background-color: #fff;
    transition: rotate 0.2s;
  }
  .menu__btn.is-close span {
    grid-area: 1/1/2/2;
  }
  .menu__btn.is-close span:first-of-type {
    rotate: 45deg;
  }
  .menu__btn.is-close span:nth-of-type(2) {
    opacity: 0;
  }
  .menu__btn.is-close span:nth-of-type(3) {
    rotate: 315deg;
  }
}
.menu__box {
  display: none;
}
@media (width < 940px) {
  .menu__box {
    display: inherit;
    margin-block-start: var(--h-header-sp);
    width: 100vw;
    height: calc(100vh - var(--h-header-sp));
    height: calc(100dvh - var(--h-header-sp));
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    inset: 0;
    z-index: 999;
    pointer-events: none;
  }
  .menu__box::before {
    content: "";
    width: 100%;
    height: 100%;
    position: fixed;
    inset: 0;
    background-color: #333;
    transition: opacity 0.4s;
    opacity: 0;
    z-index: 1;
  }
  .menu__box.is-visible {
    opacity: 1;
    pointer-events: all;
  }
  .menu__box.is-visible::before {
    opacity: 0.6;
  }
  .menu__box.is-visible .menu__body {
    translate: initial;
  }
}
.menu__body {
  width: 280px;
  background-color: #fff;
  margin-inline: auto 0;
  translate: 280px 0;
  transition: translate 0.4s var(--trans-ease);
  position: relative;
  z-index: 2;
}
.menu__body .header__nav_list {
  display: block;
  padding-block: 30px;
  padding-inline: 40px;
}
.menu__body .header__nav_list li {
  border: none;
}
.menu__body .header__nav_list .-grand {
  padding: 0;
  margin-block-end: 20px;
}
.menu__body .header__nav_list .-grand .m__en {
  font-size: 21px;
  color: var(--main-color);
  text-transform: uppercase;
}
.menu__body .header__nav_list .-ja-sp {
  line-height: 1.4;
}
@media (width < 940px) {
  .menu__body .header__nav_list .-ja-sp {
    display: block;
  }
}
.menu__body .header__nav_list .-item-sp {
  font-size: 13px;
  line-height: 2.28em;
}
@media (width < 940px) {
  .menu__body .header__nav_list .-item-sp {
    display: inherit;
  }
}
.menu__body .header__nav_list :nth-child(1 of .-item-sp) {
  margin-block-start: 50px;
}
.menu__body .header__nav_list .-sublist {
  margin-block-end: 30px;
}
.menu__body .header__nav_list .-sublist_sub {
  margin-block: 0.5em;
  list-style-type: "- ";
  padding-inline-start: 1.25em;
}
@media (width < 940px) {
  .menu__body .header__nav_list .-sublist {
    display: inherit;
  }
}

.footer {
  background-color: #fff;
}
.footer__container {
  width: min(90vw, var(--w-container));
  margin-inline: auto;
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-auto-rows: auto;
  grid-template-areas: "data nav" "data copy";
  gap: 0 min(5.86vw, 13%);
  padding-block-start: 87px;
}
@media (width < 740px) {
  .footer__container {
    width: var(--w-container-sp);
    width: 100%;
    grid-template-columns: 1fr;
    grid-template-areas: "data" "copy";
    padding-block-start: min(13.33vw, 50px);
  }
}
.footer__data {
  grid-area: data;
}
@media (width < 740px) {
  .footer__data {
    padding-inline: 3vw;
    padding-block-end: 25px;
  }
}
.footer__data .-co {
  display: block;
  font-size: min(5.87vw, 25px);
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--sub-color);
}
@media (width < 740px) {
  .footer__data .-co {
    text-align: center;
  }
}
.footer__data .-en {
  display: block;
  font-size: min(4.8vw, 18px);
  letter-spacing: 0.0277777778em;
  color: var(--main-color);
  margin-block-start: 0.1666666667em;
  margin-block-end: 1em;
}
@media (width < 740px) {
  .footer__data .-en {
    text-align: center;
  }
}
.footer__sns {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 18px;
}
@media (width < 740px) {
  .footer__sns {
    justify-content: center;
    gap: min(12vw, 45px);
  }
}
.footer__sns a {
  display: block;
  width: 30px;
  transition: opacity var(--trans-tm);
}
@media (width < 740px) {
  .footer__sns a {
    width: min(12vw, 45px);
  }
}
.footer__sns a:focus-visible {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .footer__sns a:hover {
    opacity: 0.6;
  }
}
.footer__entry {
  display: block;
  font-size: min(4vw, 15px);
  font-weight: 600;
  width: 13.8666666667em;
  height: 3.5333333333em;
  border-radius: 100vmax;
  background-color: var(--sub-color);
  color: #fff;
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-block-start: 2em;
}
.footer__entry .-inner {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 2;
}
.footer__entry::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background-color: var(--accent-color);
  translate: -100% 0;
  transition: translate var(--trans-tm);
  z-index: 1;
  position: absolute;
  inset: 0;
}
.footer__entry:focus-visible::before {
  translate: initial;
}
@media (any-hover: hover) {
  .footer__entry:hover::before {
    translate: initial;
  }
}
@media (width < 740px) {
  .footer__entry {
    display: none;
  }
}
.footer__nav {
  font-size: 15px;
  grid-area: nav;
  justify-self: end;
  padding-block-start: 0.8em;
}
@media (width < 740px) {
  .footer__nav {
    display: none;
  }
}
.footer__nav_list {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  grid-template-areas: "list1 list2 list3" "list1 list4 list6" "list1 list5 ." "list1 . .";
  width: min(100%, 670px);
  gap: 40px min(6.77vw, 110px);
}
@media (width < 940px) {
  .footer__nav_list {
    grid-template-columns: repeat(3, max-content);
    grid-template-areas: "list1 list2" "list1 list3" "list1 list4" "list1 list5" "list1 list6";
  }
}
.footer__nav_list > li {
  font-size: 15px;
  grid-area: var(--grid-area);
}
.footer__nav_list > li .m__en {
  display: block;
  font-size: 22px;
  color: var(--main-color);
  text-transform: uppercase;
}
.footer__nav_list > li .-ja {
  display: block;
}
.footer__nav .-sublist > li {
  margin-block-start: 1em;
}
.footer__nav .-sublist_sub {
  margin-block: 0.5em;
  list-style-type: "- ";
  padding-inline-start: 1.25em;
}
.footer__privacy {
  font-size: 14px;
  margin-block-start: 40px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  gap: 3.4em;
}
.footer__privacy a {
  display: block;
}
.footer__copy {
  font-size: min(3.73vw, 14px);
  grid-area: copy;
  justify-self: end;
  padding-block: 15px 20px;
}
@media (width < 740px) {
  .footer__copy {
    background-color: var(--bg-color);
    padding-block-end: min(21.33vw, 80px);
    justify-self: stretch;
    text-align: center;
    font-weight: 500;
  }
}

.top-m__heading_common {
  font-size: 17px;
  background-image: url(../img/common/shape-0.svg);
  background-size: 1.4705882353em;
  background-repeat: no-repeat;
  background-position: top 0.5882352941em left;
  padding-inline-start: 2.2352941176em;
}
@media (width < 740px) {
  .top-m__heading_common {
    font-size: min(4vw, 15px);
  }
}
.top-m__heading_common .m__en {
  font-size: 4.7058823529em;
  letter-spacing: 0.03em;
  color: var(--main-color);
  text-transform: uppercase;
}
@media (width < 740px) {
  .top-m__heading_common .m__en {
    font-size: 3em;
  }
}
.top-m__heading_common .-ja {
  font-size: 17px;
  letter-spacing: 0.09em;
  line-height: 2.88;
  font-weight: 500;
}
@media (width < 740px) {
  .top-m__heading_common .-ja {
    line-height: 2;
  }
}
.top-m__video {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  overflow: hidden;
  background-image: url(../img/top/poster.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media (width < 740px) {
  .top-m__video {
    background-image: url(../img/top/poster_sp.png);
  }
}
.top-m__video .-video {
  grid-area: 1/1/2/2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  z-index: 1;
}
.top-m__video .-cont {
  height: 100vh;
  height: 100dvh;
  grid-area: 1/1/2/2;
  display: grid;
  align-content: end;
  z-index: 2;
}
.top-m__video .-cont svg {
  display: block;
  width: 4.47vw;
  margin-inline: auto;
}
@media (width < 740px) {
  .top-m__video .-cont svg {
    width: min(15.2vw, 57px);
  }
}
.top-m__video .-cont #mousePoint {
  animation: mouse 2.5s infinite var(--trans-ease) 0s both;
}
.top-m__video .-cont .-img-txt {
  width: 79.36vw;
  margin-inline: auto;
}
@media (width < 740px) {
  .top-m__video .-cont .-img-txt {
    width: min(100vw, 375px);
  }
}
.top-m__lead {
  position: relative;
  z-index: 1;
  background-image: url(../img/top/bg-top-lead.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}
@media (width < 940px) {
  .top-m__lead {
    display: grid;
    grid-template-rows: max-content min(58.67vw, 300px);
  }
}
.top-m__lead::before, .top-m__lead::after {
  content: "";
  display: block;
  width: 38.14vw;
  height: 21.96vw;
  background-color: #fff;
  position: absolute;
  z-index: 1;
}
@media (width < 940px) {
  .top-m__lead::before, .top-m__lead::after {
    width: 22.73vw;
    height: 13.13vw;
  }
}
@media (width < 740px) {
  .top-m__lead::before, .top-m__lead::after {
    width: 40.53vw;
    height: 23.47vw;
  }
}
.top-m__lead::before {
  top: 0;
  left: 0;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
}
.top-m__lead::after {
  bottom: 0;
  right: 0;
  -webkit-clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
}
.top-m__lead img {
  position: absolute;
}
.top-m__lead .-img-person {
  width: max(175px, 19.47vw);
  aspect-ratio: 266 / 319;
  bottom: 0;
  right: 69.62vw;
  z-index: 3;
}
@media (width < 940px) {
  .top-m__lead .-img-person {
    position: static;
    grid-row: 2/3;
    height: 100%;
    width: auto;
    margin-inline-start: 8vw;
  }
}
.top-m__lead .-shape1 {
  width: max(112px, 8.2vw);
  bottom: 25.62vw;
  right: 4.32vw;
  z-index: 2;
}
@media (width < 740px) {
  .top-m__lead .-shape1 {
    width: min(17.07vw, 64px);
    bottom: 21.33vw;
    right: 8vw;
  }
}
.top-m__lead .-shape2 {
  width: max(83px, 6.08vw);
  bottom: 17.2vw;
  left: 6.95vw;
  z-index: 2;
}
@media (width < 940px) {
  .top-m__lead .-shape2 {
    bottom: 36.6vw;
  }
}
@media (width < 740px) {
  .top-m__lead .-shape2 {
    width: min(12.53vw, 47px);
    bottom: 52vw;
    left: 6.13vw;
  }
}
.top-m__lead_cont {
  position: relative;
  z-index: 4;
  color: #fff;
  padding-block-start: 7.91vw;
  padding-block-end: 10.4vw;
}
@media (width < 940px) {
  .top-m__lead_cont {
    padding-block-end: min(10.13vw, 38px);
  }
}
@media (width < 740px) {
  .top-m__lead_cont {
    padding-block-start: min(26.67vw, 100px);
  }
}
.top-m__lead_cont .-heading {
  font-size: max(38px, 3.29vw);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-block-end: 0.8em;
}
@media (width < 740px) {
  .top-m__lead_cont .-heading {
    font-size: min(7.2vw, 27px);
  }
}
.top-m__lead_cont .-txt {
  font-size: max(16px, 1.24vw);
  font-weight: 500;
  line-height: 2.29;
  letter-spacing: 0.06em;
  text-align: center;
  width: min(100%, 43.95vw);
  margin-inline: auto;
}
@media (width < 940px) {
  .top-m__lead_cont .-txt {
    width: var(--w-container-sp);
  }
}
@media (width < 740px) {
  .top-m__lead_cont .-txt {
    font-size: min(4vw, 15px);
    width: 100vw;
  }
}
.top-m__carousel .splide__slide img {
  width: 21.16vw;
}
@media (width < 740px) {
  .top-m__carousel .splide__slide img {
    width: 43vw;
  }
}
.top-m__sticky-bg {
  position: relative;
}
.top-m__sticky-bg .-bg {
  position: absolute;
  top: 0;
  z-index: -1;
}
@media (width < 1024px) {
  .top-m__sticky-bg .-bg {
    translate: 0 30vw;
  }
}
@media (width < 740px) {
  .top-m__sticky-bg .-bg {
    translate: 0 10vw;
  }
}
.top-m__sticky-bg .-bg.is-fixed {
  position: fixed;
  top: var(--h-header);
}
.top-m__sticky-bg .-box {
  width: min(var(--w-container-sp), 495px);
}
@media (width < 740px) {
  .top-m__sticky-bg .-box .m__btn_more {
    margin-inline: auto;
    background-color: var(--accent-color);
  }
}
.top-m__sticky-bg .-box.-box1 {
  margin-inline-start: max(6vw, 50vw - 506px);
  padding-block-start: 120px;
}
@media (width < 740px) {
  .top-m__sticky-bg .-box.-box1 {
    padding-block-start: min(16vw, 60px);
  }
}
.top-m__sticky-bg .-box.-box2 {
  padding-block-start: 306px;
}
@media (width < 1024px) {
  .top-m__sticky-bg .-box.-box2 {
    padding-block-start: 0;
    width: min(84vw, 600px);
    margin-inline: auto;
  }
}
.top-m__sticky-bg .-box .-txt {
  font-size: 15px;
  line-height: 2.13;
  letter-spacing: 0.07em;
  margin-block: 0.6em 2em;
  text-align: justify;
}
.top-m__sticky-bg .-box1-wrap {
  min-height: 780px;
  background-color: #fff;
  aspect-ratio: 1366 / 789;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
  position: relative;
  z-index: 2;
}
@media (width < 740px) {
  .top-m__sticky-bg .-box1-wrap {
    min-height: unset;
    height: min(185.6vw, 696px);
  }
}
.top-m__sticky-bg .-box-with-img {
  display: grid;
  grid-template-columns: min(38vw, 532px) 1fr;
  gap: min(10vw, 163px);
  margin-block-start: 21.96vw;
  margin-inline-start: max(0px, 50vw - 683px);
  position: relative;
  z-index: 2;
}
@media (width < 1024px) {
  .top-m__sticky-bg .-box-with-img {
    grid-template-columns: 1fr;
    gap: min(10.67vw, 40px) 0;
  }
  .top-m__sticky-bg .-box-with-img img {
    width: min(58.93vw, 390px);
  }
}
@media (width < 740px) {
  .top-m__sticky-bg .-box-with-img {
    margin-block-start: min(93.33vw, 350px);
  }
}
.top-m__sticky-bg .-box-with-img::before {
  content: "";
  height: min(80vw, 1067px);
  aspect-ratio: 1366 / 789;
  -webkit-clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
  background-color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
@media (width < 1024px) {
  .top-m__sticky-bg .-box-with-img::before {
    height: calc(600px + 45vw);
  }
}
.top-m__large-link {
  aspect-ratio: 248 / 151;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  font-size: clamp(14px, 1.66vw, 17px);
  color: #fff;
  position: relative;
  z-index: 1;
}
@media (width < 740px) {
  .top-m__large-link {
    width: min(100vw, 400px);
    aspect-ratio: 375 / 289;
    font-size: min(3.73vw, 14px);
  }
}
.top-m__large-link::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(to bottom, rgba(118, 118, 118, 0.31) 0%, #333 100%);
  position: absolute;
  inset: 0;
  z-index: 2;
  mix-blend-mode: multiply;
  transition: opacity var(--trans-tm);
}
.top-m__large-link.-culture {
  background-image: url(../img/top/bg-culture.webp);
}
@media (width < 740px) {
  .top-m__large-link.-culture {
    background-image: url(../img/top/bg-culture_sp.webp);
  }
}
.top-m__large-link.-culture::after {
  background: rgba(5, 161, 218, 0.89);
}
.top-m__large-link.-data {
  background-image: url(../img/top/bg-data.webp);
}
@media (width < 740px) {
  .top-m__large-link.-data {
    background-image: url(../img/top/bg-data_sp.webp);
  }
}
.top-m__large-link.-data::after {
  background: rgba(246, 169, 3, 0.9);
}
.top-m__large-link::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
  transition: opacity var(--trans-tm);
  opacity: 0;
}
.top-m__large-link:focus-visible::before {
  opacity: 0;
}
.top-m__large-link:focus-visible::after {
  opacity: 1;
}
.top-m__large-link:focus-visible .-summary::after {
  scale: 1.06;
}
@media (any-hover: hover) {
  .top-m__large-link:hover::before {
    opacity: 0;
  }
  .top-m__large-link:hover::after {
    opacity: 1;
  }
  .top-m__large-link:hover .-summary::after {
    scale: 1.06;
  }
}
.top-m__large-link .-cont {
  display: grid;
  height: 100%;
  padding-block: 1.1764705882em 1.4705882353em;
  padding-inline: 1.1764705882em;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 3.0588235294em;
  position: relative;
  z-index: 3;
}
@media (width < 740px) {
  .top-m__large-link .-cont {
    padding-block: min(8vw, 30px);
    padding-inline-start: min(8vw, 30px);
    padding-inline-end: min(6.67vw, 25px);
    grid-template-rows: 1fr 4.4285714286em;
  }
}
.top-m__large-link .-heading {
  background-image: url(../img/common/shape-0.svg);
  background-size: 1.4705882353em;
  background-repeat: no-repeat;
  background-position: top 0.5882352941em left;
  padding-inline-start: 2.2352941176em;
}
.top-m__large-link .-heading .m__en {
  font-size: min(6.84vw, 70px);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
@media (width < 740px) {
  .top-m__large-link .-heading .m__en {
    font-size: min(12vw, 45px);
  }
}
.top-m__large-link .-heading .-ja {
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.09em;
}
@media (width < 740px) {
  .top-m__large-link .-heading .-ja {
    font-size: 1.0714285714em;
  }
}
.top-m__large-link .-summary {
  line-height: 1.59;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: grid;
  grid-template-columns: 1fr 3em;
  gap: 1em;
}
@media (width < 740px) {
  .top-m__large-link .-summary {
    line-height: 2.14;
    grid-template-columns: 1fr 2.5em;
    align-items: center;
  }
}
.top-m__large-link .-summary::after {
  content: "";
  aspect-ratio: 1/1;
  background-image: url(../img/common/arrow-circle-wt.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.top-m__large-link_wrap {
  background: linear-gradient(to bottom, #fff 65%, var(--bg-color) 65%);
  padding-block-start: min(26.67vw, 96px);
}
@media (width < 740px) {
  .top-m__large-link_wrap {
    background: linear-gradient(to bottom, #fff 45%, var(--bg-color) 45%);
  }
}
.top-m__large-link_wrap .l__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(6.67vw, 25px) 20px;
}
@media (width < 740px) {
  .top-m__large-link_wrap .l__container {
    width: 100vw;
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
.top-m__faq {
  padding-block: 100px;
}
@media (width < 740px) {
  .top-m__faq {
    padding-block-start: min(16vw, 60px);
    padding-block-end: min(26.67vw, 100px);
  }
}
.top-m__faq .l__container {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-template-rows: max-content 1fr;
  gap: min(8vw, 40px) 8%;
}
@media (width < 740px) {
  .top-m__faq .l__container {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: min(8vw, 30px);
  }
}
.top-m__faq .-heading {
  grid-area: 1/1/2/2;
}
@media (width < 740px) {
  .top-m__faq .-heading {
    grid-area: 1/1/2/2;
  }
}
.top-m__faq .-heading .m__en {
  display: block;
  font-size: clamp(45px, 7.81vw, 80px);
  letter-spacing: 0.03em;
  color: var(--main-color);
  text-transform: uppercase;
}
@media (width < 740px) {
  .top-m__faq .-heading .m__en {
    font-size: min(12vw, 45px);
  }
}
.top-m__faq .-heading .-ja {
  font-size: 17px;
  line-height: 2.88;
  letter-spacing: 0.09em;
}
@media (width < 740px) {
  .top-m__faq .-heading .-ja {
    line-height: 2;
    font-size: min(4vw, 15px);
  }
}
.top-m__faq .l__accordion {
  grid-area: 1/2/3/3;
}
@media (width < 740px) {
  .top-m__faq .l__accordion {
    grid-area: 2/1/3/2;
  }
}
.top-m__faq .m__btn_more {
  grid-area: 2/1/3/2;
}
@media (width < 740px) {
  .top-m__faq .m__btn_more {
    grid-area: 3/1/4/2;
    margin-block-start: min(2.67vw, 10px);
    margin-inline: auto;
    background-color: var(--accent-color);
  }
}
@keyframes mouse {
  0% {
    translate: initial;
    opacity: 1;
  }
  80% {
    translate: 0 40%;
    opacity: 0;
  }
  100% {
    translate: 0 40%;
    opacity: 0;
  }
}
.top-animation_up {
  translate: 0 400px;
  opacity: 0;
}
@media (width < 740px) {
  .top-animation_up {
    translate: 0 200px;
  }
}

.faq-m__heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--main-color);
  line-height: 1.67;
  letter-spacing: 0.09em;
  margin-block-end: 1em;
  scroll-margin-block-start: var(--h-header);
}
@media (width < 740px) {
  .faq-m__heading {
    font-size: 18px;
  }
}
.faq-m__summary {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.6666666667em;
  display: grid;
  grid-template-columns: 1fr 0.8333333333em;
  align-items: center;
  gap: 1.5em;
  padding-block: 1.3888888889em;
  padding-inline: 1.9444444444em 1.6666666667em;
  cursor: pointer;
  transition: color var(--trans-tm);
}
@media (width < 740px) {
  .faq-m__summary {
    font-size: 16px;
    line-height: 1.75;
    padding-block: 1.25em;
    padding-inline: 1.5625em 0.9375em;
    grid-template-columns: 1fr 0.9375em;
    gap: 0.9375em;
  }
}
.faq-m__summary:focus-visible {
  color: #7b7a7a;
}
@media (any-hover: hover) {
  .faq-m__summary:hover {
    color: #7b7a7a;
  }
}
.faq-m__summary::after {
  content: "";
  aspect-ratio: 5 / 4;
  -webkit-clip-path: var(--triangle-b);
          clip-path: var(--triangle-b);
  background-color: var(--accent-color);
  margin-block-start: 0.5555555556em;
  transition: rotate var(--trans-tm);
}
.faq-m__summary.is-open::after {
  rotate: 180deg;
}
.faq-m__detail {
  font-size: 16px;
  line-height: 1.88;
  letter-spacing: 0.02em;
  padding-block: 1.25em;
  padding-inline: 2.1875em;
  border-top: 3px solid var(--bg-color);
}
@media (width < 740px) {
  .faq-m__detail {
    font-size: 14px;
    line-height: 2.14;
    padding-block: 1.7857142857em;
    padding-inline: 1.7857142857em;
  }
}

.data-m__heading {
  font-size: clamp(24px, 3.13vw, 32px);
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.09em;
  line-height: 1.53;
  margin-block-end: 0.9em;
}
.data-m__caution {
  font-size: 14px;
  text-align: end;
  margin-block-start: 0.5em;
}
.data-m__box1 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 2%;
}
@media (width < 740px) {
  .data-m__box1 {
    grid-template-columns: 1fr;
  }
}
.data-m__box2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 2%;
}
@media (width < 740px) {
  .data-m__box2 {
    grid-template-columns: 1fr;
  }
}
.data-m__card {
  background-color: var(--bg-color);
  font-size: min(1.46vw, 18px);
  padding-block: 1.3333333333em;
  padding-inline: 1.3333333333em;
  position: relative;
}
@media (width < 940px) {
  .data-m__card {
    padding-block: 2em;
  }
}
@media (width < 740px) {
  .data-m__card {
    font-size: min(4.8vw, 18px);
    padding-block-start: min(16vw, 60px);
    padding-block-end: 1.2777777778em;
  }
}
.data-m__card .-item-name {
  font-size: max(16px, 1em);
  font-weight: 500;
  letter-spacing: 0.09em;
  position: absolute;
  top: 1.3333333333em;
  left: 1.3333333333em;
  line-height: 1;
}
.data-m__card .-item-cont {
  color: var(--main-color);
  font-weight: 700;
}
.data-m__card .-item-cont .-span20 {
  font-size: 1.1111111111em;
  letter-spacing: 0.09em;
}
.data-m__card .-item-cont .-span21 {
  font-size: 1.1666666667em;
  letter-spacing: 0.105em;
}
.data-m__card .-item-cont .-span23 {
  font-size: 1.2777777778em;
  letter-spacing: 0.09em;
}
.data-m__card .-item-cont .-span32 {
  font-size: 1.7777777778em;
  letter-spacing: 0.03em;
}
.data-m__card .-item-cont .-span56 {
  font-size: 3.1111111111em;
  letter-spacing: 0.0214285714em;
}
.data-m__card .-item-cont .-span56 .-s {
  font-size: 0.7142857143em;
}
.data-m__card .-item-cont .-span56 .-ss {
  font-size: 0.3571428571em;
  font-family: var(--font-base);
}
.data-m__card .-item-cont .-span63 {
  font-size: 3.5em;
  letter-spacing: 0.03em;
}
.data-m__card .-item-cont .-span63 .-s {
  font-size: 0.3650793651em;
}
.data-m__card .-item-cont .-span85 {
  font-size: 4.7222222222em;
  letter-spacing: 0.03em;
}
.data-m__card .-item-cont .-span85 .-s {
  font-size: 0.6470588235em;
}
.data-m__card .-item-cont .-span85 .-ss {
  font-size: 0.2705882353em;
}
.data-m__card .-item-cont .-span96 {
  font-size: 5.3333333333em;
  letter-spacing: 0.03em;
}
.data-m__card .-item-cont .-span110 {
  font-size: 6.1111111111em;
  letter-spacing: 0.03em;
}
@media (width < 740px) {
  .data-m__card.-type1 {
    padding-block-end: 2.0555555556em;
  }
}
.data-m__card.-type1 .-item-cont {
  height: 100%;
  display: grid;
  place-items: center;
  place-content: center;
  background-image: url(../img/data/ico-sogyo.svg);
  background-repeat: no-repeat;
  background-size: 8.1666666667em;
  background-position: center;
}
@media (width < 740px) {
  .data-m__card.-type1 .-item-cont {
    background-size: contain;
    padding-block: 1em;
  }
}
@media (width < 740px) {
  .data-m__card.-type2 {
    padding-block-end: 1.6666666667em;
  }
}
.data-m__card.-type2 .-item-cont {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4444444444em;
  background-image: url(../img/data/ico-kyoten.svg);
  background-repeat: no-repeat;
  background-size: 6.5555555556em;
  background-position: center;
}
.data-m__card.-type2 .-txt2 {
  display: block;
  justify-self: end;
  align-self: center;
}
.data-m__card.-type2 .-txt2 span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.data-m__card.-type2 .-txt2 .-span96 {
  margin-block-start: -0.02em;
}
.data-m__card.-type2 .-txt3-txt span {
  display: block;
}
.data-m__card.-type2 .-txt3-txt:not(:first-of-type) {
  display: grid;
  grid-template-columns: 1.6ch 1fr;
  gap: 0 0.4em;
  align-items: center;
}
.data-m__card.-type2 .-txt3-txt .-span32 {
  justify-self: center;
}
.data-m__card.-type2 .-txt3-txt .-span20 {
  line-height: 1.8;
}
@media (width < 740px) {
  .data-m__card.-type3 {
    padding-block-end: 2.2222222222em;
  }
}
.data-m__card.-type3 .-item-cont {
  height: 100%;
  display: grid;
  place-content: center;
  place-items: center;
}
.data-m__card.-type3 .-txt4 .-pi {
  display: inline-block;
  padding-inline-start: 1em;
}
.data-m__card.-type3 .-txt4 .-span32 {
  display: inline-block;
  padding-inline: 0.1em;
}
.data-m__card.-type4 .-item-cont {
  display: grid;
  grid-template-columns: 1fr min-content 1fr;
  gap: 0 0.2222222222em;
  padding-block-start: 3em;
  padding-block-end: 1.2222222222em;
}
@media (width < 740px) {
  .data-m__card.-type4 .-item-cont {
    padding-block-start: 0;
    padding-block-end: 0;
  }
}
.data-m__card.-type4 .-item-cont img {
  margin-block-start: 0.4em;
}
.data-m__card.-type4 .-item-cont .-stat1 {
  display: grid;
  grid-template-columns: 4.4444444444em 1fr;
  align-items: center;
}
@media (width < 740px) {
  .data-m__card.-type4 .-item-cont .-stat1 {
    grid-template-columns: 1fr;
    grid-auto-rows: min-content;
    place-items: center;
  }
  .data-m__card.-type4 .-item-cont .-stat1 .-txt5 {
    display: contents;
  }
  .data-m__card.-type4 .-item-cont .-stat1 br {
    display: none;
  }
  .data-m__card.-type4 .-item-cont .-stat1 img {
    order: 2;
    width: 4.4444444444em;
    margin-block-end: 0.3em;
  }
  .data-m__card.-type4 .-item-cont .-stat1 .-head {
    order: 1;
  }
  .data-m__card.-type4 .-item-cont .-stat1 .-span56 {
    order: 3;
  }
}
.data-m__card.-type4 .-item-cont .-stat2 {
  display: grid;
  grid-template-columns: 1fr 4.4444444444em;
  align-items: center;
}
@media (width < 740px) {
  .data-m__card.-type4 .-item-cont .-stat2 {
    grid-template-columns: 1fr;
    grid-auto-rows: min-content;
    place-items: center;
  }
  .data-m__card.-type4 .-item-cont .-stat2 .-txt5 {
    display: contents;
  }
  .data-m__card.-type4 .-item-cont .-stat2 br {
    display: none;
  }
  .data-m__card.-type4 .-item-cont .-stat2 img {
    order: 2;
    width: 4.4444444444em;
    margin-block-end: 0.3em;
  }
  .data-m__card.-type4 .-item-cont .-stat2 .-head {
    order: 1;
  }
  .data-m__card.-type4 .-item-cont .-stat2 .-span56 {
    order: 3;
  }
}
.data-m__card.-type4 .-item-cont .-separator {
  font-size: 1.1111111111em;
  font-weight: 700;
  line-height: 1;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  align-self: end;
  margin-block-end: 1em;
}
@media (width < 740px) {
  .data-m__card.-type4 .-item-cont .-separator {
    align-self: center;
  }
}
.data-m__card.-type4 .-item-cont .-txt5 {
  text-align: center;
}
.data-m__card.-type5 .-item-cont {
  height: 100%;
  display: grid;
  place-content: center;
  place-items: center;
}
@media (width < 1024px) {
  .data-m__card.-type6 {
    grid-column: span 2;
  }
}
.data-m__card.-type6 .-item-cont {
  padding-block-start: 2.5em;
  padding-block-end: 0.8333333333em;
  display: grid;
  place-items: center;
}
@media (width < 740px) {
  .data-m__card.-type6 .-item-cont {
    padding-block-start: 1em;
  }
}
.data-m__card.-type6 .-txt7 {
  display: block;
}
.data-m__card.-type6 .-txt7 .-span21 {
  display: block;
  line-height: 1.4;
}
@media (width < 740px) {
  .data-m__card.-type6 .-txt7 .-span21 {
    font-size: 1.5555555556em;
  }
}
.data-m__card.-type6 .-txt7 .-span63 {
  display: block;
  line-height: 1;
}
@media (width < 740px) {
  .data-m__card.-type6 .-txt7 .-span63 {
    font-size: 4.7222222222em;
  }
}
@media (width < 740px) {
  .data-m__card.-type6 .-txt8 .-span85 {
    font-size: 5.3333333333em;
  }
}
.data-m__card.-type6 .-txt9 {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.9em;
  align-items: center;
}
.data-m__card.-type6 .-txt9 .-span23 {
  display: block;
  line-height: 1.43;
}
@media (width < 740px) {
  .data-m__card.-type6 .-txt9 .-span23 {
    font-size: 1.5em;
  }
}
.data-m__card.-type6 .-txt9 .-span85 {
  display: block;
}
@media (width < 740px) {
  .data-m__card.-type6 .-txt9 .-span85 {
    font-size: 5.3333333333em;
  }
}
.data-m__card.-type7 {
  grid-column: span 2;
}
@media (width < 740px) {
  .data-m__card.-type7 {
    padding-inline: 0.7222222222em;
  }
}
.data-m__card.-type7 .-item-cont {
  padding-block-start: 4.1111111111em;
}
.data-m__card.-type7 .-item-cont.-img1 {
  padding-inline: 1.0555555556em 1.9444444444em;
}
.data-m__card.-type7 .-item-cont.-img2 {
  padding-inline: 1.2222222222em 1.2777777778em;
  padding-block-end: 1.3888888889em;
}
@media (width < 740px) {
  .data-m__card.-type7 .-item-cont {
    padding-block-start: 1em;
  }
  .data-m__card.-type7 .-item-cont.-img1 {
    padding-inline: 0;
  }
  .data-m__card.-type7 .-item-cont.-img1 img {
    width: 95%;
  }
  .data-m__card.-type7 .-item-cont.-img2 {
    padding-inline: 0;
  }
}

.requirements-m__lead {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-block: 80px 100px;
}
@media (width < 740px) {
  .requirements-m__lead {
    grid-template-columns: 1fr;
    gap: min(10.67vw, 40px);
    padding-block: min(16vw, 60px);
  }
}
@media (width < 740px) {
  .requirements-m__lead .-img img {
    width: 92vw;
  }
}
.requirements-m__lead .-txt {
  align-self: center;
  width: min(506px, 42vw);
  display: grid;
  place-items: end;
}
@media (width < 740px) {
  .requirements-m__lead .-txt {
    width: var(--w-container-sp);
    place-items: center;
    justify-self: center;
  }
}
.requirements-m__lead .-txt p {
  font-size: 17px;
  line-height: 1.59;
  letter-spacing: 0.05em;
  display: block;
  width: min(90%, 410px);
}
@media (width < 940px) {
  .requirements-m__lead .-txt p br {
    display: none;
  }
}
@media (width < 740px) {
  .requirements-m__lead .-txt p {
    font-size: 14px;
    width: 100%;
    line-height: 2.14;
  }
}
.requirements-m__btns {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 30px 20px;
  margin-block-end: 100px;
}
@media (width < 740px) {
  .requirements-m__btns {
    gap: 3.73vw 1vw;
    justify-content: space-between;
    margin-block-end: min(16vw, 60px);
  }
}
.requirements-m__heading {
  font-size: min(6.4vw, 32px);
  color: var(--main-color);
  font-weight: bold;
  letter-spacing: 0.09em;
  text-align: center;
  margin-block-end: 1em;
}
.requirements-m__heading3 {
  display: grid;
  place-items: center;
  background-color: var(--sub-color);
  color: #fff;
  font-size: 1.1333333333em;
  line-height: 1.76;
  letter-spacing: 0.02em;
  text-align: center;
}
.requirements-m__heading3 + .-txt {
  padding-block: 0.5em;
}
.requirements-m__heading4 {
  background-color: var(--bg-color);
  text-align: center;
}
.requirements-m__tables {
  display: grid;
  grid-template-columns: 11.4666666667em 1fr;
  font-size: 15px;
}
@media (width < 940px) {
  .requirements-m__tables {
    font-size: min(3.73vw, 15px);
    grid-template-columns: 1fr;
  }
}
.requirements-m__r {
  display: contents;
}
@media (width < 940px) {
  .requirements-m__r {
    display: block;
  }
  .requirements-m__r.is-open .requirements-m__summary {
    grid-template-rows: 1fr;
  }
}
.requirements-m__h {
  display: block;
  font-size: 18px;
  color: var(--main-color);
  font-weight: 700;
  line-height: 1.78;
  letter-spacing: 0.09em;
  padding-inline-start: 0.5555555556em;
  padding-inline-end: 2em;
  padding-block: 1.8888888889em;
  border-bottom: 1px solid var(--sub-color);
}
@media (width < 940px) {
  .requirements-m__h {
    border-bottom: none;
    padding-block-start: 1em;
    padding-block-end: 0;
    padding-inline: 0;
    font-size: min(4.27vw, 18px);
    display: grid;
    grid-template-columns: 1fr 1.0625em;
    align-items: center;
    cursor: pointer;
  }
  .requirements-m__h br {
    display: none;
  }
  .requirements-m__h:not(.-no-open)::after {
    content: "";
    aspect-ratio: 17 / 10;
    background-image: url(../img/common/arrow-caret.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    rotate: 180deg;
  }
  .requirements-m__h.-no-open {
    pointer-events: none;
  }
}
.requirements-m__summary {
  display: block;
  border-bottom: 1px solid var(--sub-color);
  padding-block-end: 2em;
  padding-block-start: 2.2666666667em;
}
@media (width < 940px) {
  .requirements-m__summary {
    padding-block-start: 0;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s var(--trans-ease);
    padding-block-end: 1.5em;
  }
  .requirements-m__summary .-cont-wrap {
    overflow: hidden;
    padding-block-start: 1em;
  }
}
.requirements-m__summary .-cont-0 {
  display: grid;
  grid-template-columns: 17.2em 1fr;
  grid-template-rows: repeat(auto-fill, minmax(100px, 1fr));
}
@media (width < 740px) {
  .requirements-m__summary .-cont-0 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
.requirements-m__summary .-cont-0 .requirements-m__heading3 {
  grid-row: 1/span 5;
}
@media (width < 740px) {
  .requirements-m__summary .-cont-0 .requirements-m__heading3 {
    grid-row: unset;
    padding-block: 0.2em;
  }
  .requirements-m__summary .-cont-0 .requirements-m__heading3 br {
    display: none;
  }
}
.requirements-m__summary .-cont-0 .requirements-m__table2 {
  grid-column: 2/3;
}
@media (width < 740px) {
  .requirements-m__summary .-cont-0 .requirements-m__table2 {
    grid-column: unset;
  }
}
.requirements-m__summary .-cont-0 + .-cont-0 {
  margin-block-start: 1em;
}
.requirements-m__summary :nth-last-child(1 of .-cont-0) {
  margin-block-end: 2em;
}
.requirements-m__summary .-cont-1:not(:first-of-type) {
  margin-block-start: 1em;
}
.requirements-m__summary .-txt {
  letter-spacing: 0.02em;
}
.requirements-m__summary .-txt2 {
  font-size: 0.8666666667em;
  letter-spacing: 0.0230769231em;
}
.requirements-m__summary .-borderd {
  border: 1px solid var(--bg-color);
}
.requirements-m__summary .-borderd + .-borderd {
  margin-block-start: 10px;
}
.requirements-m__summary .-borderd .-txt {
  display: block;
  padding-block: 0.5em;
  padding-inline: 1.4em;
}
@media (width < 740px) {
  .requirements-m__summary .-borderd .-txt {
    line-height: 1.57;
  }
}
.requirements-m__table2 {
  display: block;
  border: 1px solid var(--bg-color);
}
.requirements-m__table2 caption {
  display: block;
}
.requirements-m__table2 tbody {
  display: grid;
  grid-template-columns: 1fr max-content;
  width: min(90%, 280px);
  margin-inline: auto;
  padding-block: 0.2em;
}
.requirements-m__table2 tr {
  display: contents;
}
.requirements-m__table2 th {
  display: block;
}
.requirements-m__table2 td {
  display: block;
  text-align: end;
}
.requirements-m__list {
  padding-block-start: 1em;
  padding-inline: 1.3333333333em;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
@media (width < 740px) {
  .requirements-m__list {
    padding-inline: 0.5em;
  }
}
.requirements-m__list > li {
  display: flex;
}
.requirements-m__list > li:not(:first-of-type) {
  margin-block-start: 0.5em;
}
.requirements-m__list > li ul {
  padding-inline-start: 1em;
}
.requirements-m__list2 {
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.requirements-m__list2 > li:not(:first-of-type) {
  margin-block-start: 0.5em;
}
.requirements-m__list2 > li ol {
  padding-inline-start: 1em;
}
.requirements-m__list3 {
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.requirements-m__option {
  text-align: center;
}
.requirements-m__flow {
  width: 100%;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  padding-block: 150px 250px;
}
@media (width < 740px) {
  .requirements-m__flow {
    padding-block: min(21.33vw, 80px) min(46.4vw, 174px);
  }
}
.requirements-m__flow::before {
  content: "";
  width: 200%;
  height: 100%;
  background-color: var(--bg-color);
  transform: skewY(-10deg);
  grid-area: 1/1/2/2;
  justify-self: center;
  z-index: 1;
  margin-block-start: 32px;
}
.requirements-m__flow .l__container {
  grid-area: 1/1/2/2;
  justify-self: center;
  z-index: 2;
}
.requirements-m__flow .-box-wrap {
  font-size: clamp(12px, 1.1vw, 15px);
  display: grid;
  grid-template-columns: repeat(5, 1fr) 9.3333333333em;
  gap: 0.6666666667em;
  margin-block-start: 70px;
}
@media (width < 1024px) {
  .requirements-m__flow .-box-wrap {
    font-size: 15px;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    gap: 2em 0.6666666667em;
  }
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap {
    font-size: 3.73vw;
    grid-template-columns: 1fr;
    gap: 1.4285714286em;
  }
}
.requirements-m__flow .-box-wrap .-box {
  display: grid;
  grid-template-rows: 9.3333333333em 1fr;
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap .-box {
    grid-template-rows: 10em max-content 0.7857142857em;
  }
}
.requirements-m__flow .-box-wrap .-box .-txt {
  justify-self: center;
  line-height: 1.6;
  letter-spacing: 0.07em;
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap .-box .-txt .-pc {
    display: none;
  }
}
.requirements-m__flow .-box-wrap .-box:not(:last-of-type) {
  grid-template-columns: 9.3333333333em 1fr;
  gap: 2.6666666667em 0.6666666667em;
}
@media (width < 1024px) {
  .requirements-m__flow .-box-wrap .-box:not(:last-of-type) {
    gap: 2em 0.6666666667em;
  }
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap .-box:not(:last-of-type) {
    grid-template-columns: 1fr;
    gap: 1.1428571429em;
  }
}
.requirements-m__flow .-box-wrap .-box:not(:last-of-type) img {
  grid-area: 1/1/2/2;
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap .-box:not(:last-of-type) img {
    height: 10em;
    aspect-ratio: 1/1;
  }
}
.requirements-m__flow .-box-wrap .-box:not(:last-of-type)::after {
  content: "";
  width: 0.7333333333em;
  aspect-ratio: 11/13;
  display: block;
  background-color: var(--main-color);
  -webkit-clip-path: var(--triangle-r);
          clip-path: var(--triangle-r);
  grid-area: 1/2/2/3;
  align-self: center;
  justify-self: center;
}
@media (width < 1024px) {
  .requirements-m__flow .-box-wrap .-box:not(:last-of-type)::after {
    width: 1em;
  }
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap .-box:not(:last-of-type)::after {
    width: 0.9285714286em;
    grid-area: 3/1/4/2;
    aspect-ratio: 13/11;
    -webkit-clip-path: var(--triangle-b);
            clip-path: var(--triangle-b);
  }
}
.requirements-m__flow .-box-wrap .-box:not(:last-of-type) .-txt {
  grid-area: 2/1/3/2;
}
@media (width < 1024px) {
  .requirements-m__flow .-box-wrap .-box:not(:last-of-type) .-txt {
    grid-area: 2/1/3/3;
  }
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap .-box:not(:last-of-type) .-txt {
    grid-area: 2/1/3/2;
    text-align: center;
  }
}
.requirements-m__flow .-box-wrap .-box:last-of-type {
  grid-template-columns: 1fr;
  gap: 2.6666666667em;
}
@media (width < 740px) {
  .requirements-m__flow .-box-wrap .-box:last-of-type {
    gap: 1.1428571429em;
  }
}

section[id^=requirement] {
  scroll-margin-block-start: var(--h-header);
}

.environment-m__btns {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
  gap: 20px;
  justify-content: center;
  justify-items: center;
}
@media (width < 940px) {
  .environment-m__btns {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: min(4vw, 20px);
  }
}
@media (width < 740px) {
  .environment-m__btns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.environment-m__heading {
  font-size: min(6.4vw, 32px);
  font-weight: 700;
  color: var(--main-color);
  text-align: center;
  letter-spacing: 0.09em;
  margin-block-start: min(16vw, 100px);
  margin-block-end: min(5.33vw, 40px);
}
.environment-m__heading.-no-mbs {
  margin-block-start: 0;
}
.environment-m__heading_with-mark {
  font-size: 1.2em;
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.39;
  display: grid;
  grid-template-columns: 1.3888888889em 1fr;
  gap: 0.8333333333em;
  align-items: start;
  margin-block-end: 1.1111111111em;
}
@media (width < 740px) {
  .environment-m__heading_with-mark {
    font-size: min(4.8vw, 18px);
  }
}
.environment-m__heading_with-mark::before {
  content: "";
  aspect-ratio: 25 / 33;
  background-image: url(../img/common/shape-0.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.environment-m__heading_under-ico {
  font-size: 1.3333333333em;
  font-weight: 700;
  color: var(--main-color);
  text-align: center;
  letter-spacing: 0.09em;
  margin-block: 1em;
}
@media (width < 740px) {
  .environment-m__heading_under-ico {
    font-size: 1.1428571429em;
    margin-block: 0.75em;
  }
}
.environment-m__heading_mid {
  font-size: 1.6em;
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.09em;
  text-align: center;
  margin-block-end: 1.25em;
}
.environment-m__note {
  font-size: 17px;
  text-align: center;
  line-height: 1.59;
  letter-spacing: 0.05em;
  margin-block-end: 2.3529411765em;
}
@media (width < 740px) {
  .environment-m__note {
    font-size: 14px;
    line-height: 2.14;
  }
}
.environment-m__card {
  font-size: 15px;
  background-color: var(--bg-color);
  padding-block-end: 3.3333333333em;
}
@media (width < 740px) {
  .environment-m__card {
    font-size: 14px;
    padding-block-end: min(8vw, 30px);
  }
  .environment-m__card .-txt {
    line-height: 1.71;
  }
}
.environment-m__card.-card1 {
  padding-block-start: 2.6666666667em;
  padding-inline: 3.3333333333em;
}
@media (width < 740px) {
  .environment-m__card.-card1 {
    padding-block-start: min(8.53vw, 32px);
    padding-inline: min(6.67vw, 25px);
  }
}
.environment-m__card.-card2 {
  padding-block-start: 2em;
  padding-inline: 3.3333333333em;
}
@media (width < 740px) {
  .environment-m__card.-card2 {
    padding-block-start: min(5.33vw, 20px);
    padding-inline: min(5.33vw, 20px);
  }
}
.environment-m__card.-card2.-colspan2 {
  grid-column: span 2;
}
.environment-m__card.-card2 img {
  height: 3.4666666667em;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
@media (width < 740px) {
  .environment-m__card.-card2 img {
    height: 3.2142857143em;
  }
}
.environment-m__card.-card3 {
  padding-block-start: 3.3333333333em;
  padding-inline: 5.7333333333em;
}
.environment-m__card.-card3 .-txt + .environment-m__heading_with-mark {
  margin-block-start: 2.2222222222em;
}
@media (width < 740px) {
  .environment-m__card.-card3 {
    padding-block-start: min(8vw, 30px);
    padding-inline: min(6.67vw, 25px);
  }
}
.environment-m__box1 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (width < 940px) {
  .environment-m__box1 {
    grid-template-columns: 1fr;
    gap: min(5.33vw, 20px);
  }
}
.environment-m__box2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (width < 940px) {
  .environment-m__box2 {
    grid-template-columns: repeat(2, 1fr);
    gap: min(4vw, 15px);
  }
}
.environment-m__img {
  margin-block-start: 100px;
}
.environment-m__txt {
  font-size: 15px;
  margin-block: 4em;
  width: min(100%, 668px);
  margin-inline: auto;
}
.environment-m__imgs-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (width < 740px) {
  .environment-m__imgs-wrap {
    grid-template-columns: 1fr;
    gap: min(10.67vw, 40px);
    margin-block-start: min(10.67vw, 40px);
  }
}
.environment-m__imgs-wrap .-map {
  display: grid;
  place-items: center;
}
.environment-m__imgs-wrap .-map img {
  width: 60%;
}
@media (width < 740px) {
  .environment-m__imgs-wrap .-map {
    order: 2;
  }
  .environment-m__imgs-wrap .-map img {
    width: min(84vw, 411px);
  }
}
@media (width < 740px) {
  .environment-m__imgs-wrap .-exterior {
    order: 1;
    width: 92vw;
    margin-inline: auto 0;
  }
}
.environment-m__table {
  display: block;
  padding-block-end: 150px;
}
@media (width < 740px) {
  .environment-m__table {
    margin-block-start: min(8vw, 30px);
    padding-block-end: min(26.67vw, 100px);
  }
}
.environment-m__table tbody {
  font-size: 15px;
  display: grid;
  grid-template-columns: 152px 1fr 172px;
}
@media (width < 740px) {
  .environment-m__table tbody {
    display: block;
  }
}
.environment-m__table tr {
  display: contents;
}
.environment-m__table tr:first-of-type th {
  border-top: 1px solid #c6c6c6;
}
.environment-m__table tr:first-of-type td {
  border-top: 1px solid #c6c6c6;
}
@media (width < 740px) {
  .environment-m__table tr {
    display: block;
    border-bottom: 1px solid #c6c6c6;
    padding-block-end: 1.6666666667em;
  }
  .environment-m__table tr th,
  .environment-m__table tr td {
    display: block;
    border: none;
  }
  .environment-m__table tr:first-of-type {
    border-top: 1px solid #c6c6c6;
  }
  .environment-m__table tr:first-of-type th,
  .environment-m__table tr:first-of-type td {
    border: none;
  }
}
.environment-m__table th {
  font-size: 1.2em;
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.09em;
  padding-block: 1.6111111111em;
  padding-inline-start: 0.5555555556em;
  border-bottom: 1px solid #c6c6c6;
}
@media (width < 740px) {
  .environment-m__table th {
    padding-inline: 0;
    padding-block: 1em 0;
  }
}
.environment-m__table td {
  border-bottom: 1px solid #c6c6c6;
}
.environment-m__table td.-data {
  padding-block: 1.9333333333em;
}
.environment-m__table td.-data span,
.environment-m__table td.-data a {
  display: block;
}
@media (width < 740px) {
  .environment-m__table td.-data {
    padding-block: 0;
  }
}
.environment-m__table td.-googlemap {
  display: grid;
  place-items: center;
}
.environment-m__table td.-googlemap a {
  color: var(--sub-color);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: underline;
}
.environment-m__table td.-googlemap a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .environment-m__table td.-googlemap a:hover {
    text-decoration: none;
  }
}
@media (width < 740px) {
  .environment-m__table td.-googlemap {
    display: block;
  }
}

section[id^=environment] {
  scroll-margin-block-start: var(--h-header);
}

.works__section {
  margin-top: 60px;
  padding-bottom: 100px;
  overflow: hidden;
}
@media (width > 740px) {
  .works__section {
    padding-top: 242px;
    margin-top: unset;
    padding-bottom: 131px;
  }
}
.works-card {
  position: relative;
  z-index: 1;
  background-color: #fff;
  -webkit-clip-path: polygon(0 48px, 100% 0, 100% calc(100% - 48px), 0 100%);
          clip-path: polygon(0 48px, 100% 0, 100% calc(100% - 48px), 0 100%);
  padding-top: 107px;
}
.works-card:first-of-type .works-card__bg-text {
  right: 0;
}
.works-card:not(:last-of-type) {
  margin-bottom: -48px;
}
.works-card:nth-child(odd) {
  background-color: var(--bg-color);
}
.works-card:nth-child(even) .works-card__img {
  margin-top: 24px;
  margin-right: unset;
  margin-left: -30px;
}
@media (width > 740px) {
  .works-card:nth-child(even) .works-card__img {
    margin-top: auto;
  }
}
.works-card:nth-child(even) .works-card__img-el {
  margin-left: unset;
  width: clamp(204px, 54.4vw, 285px);
}
@media (width > 940px) {
  .works-card:nth-child(even) .works-card__img-el {
    width: 405px;
  }
}
.works-card:nth-child(even) .works-card__bg-text {
  left: 0;
  right: unset;
  transform: translateY(-107%);
}
@media (width > 740px) {
  .works-card:nth-child(even) .works-card__bg-text {
    transform: translateY(-50%);
  }
}
@media (width > 940px) {
  .works-card:nth-child(even) .works-card__bg-text {
    left: -147px;
    top: 278px;
  }
}
@media (width > 740px) {
  .works-card:nth-child(even) .works-card__body {
    margin-top: 116px;
    margin-bottom: 146px;
  }
}
@media (width > 940px) {
  .works-card:nth-child(even) .works-card__body {
    margin-top: 215px;
  }
}
@media (width > 740px) {
  .works-card:nth-child(even) > div {
    flex-direction: row-reverse;
  }
}
@media (width > 740px) {
  .works-card {
    padding-top: unset;
    margin-top: -172px;
    -webkit-clip-path: polygon(0 172px, 100% 0, 100% calc(100% - 172px), 0 100%);
            clip-path: polygon(0 172px, 100% 0, 100% calc(100% - 172px), 0 100%);
  }
  .works-card:not(:last-of-type) {
    margin-bottom: unset;
  }
}
@media (width > 740px) {
  .works-card > div {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 22px;
         column-gap: 22px;
  }
  .works-card > div > div {
    flex: 0 1 50%;
  }
  .works-card > div > .works-card__body {
    margin-top: 182px;
    margin-bottom: 80px;
  }
}
@media (width > 940px) {
  .works-card > div {
    height: 730px;
  }
  .works-card > div > .works-card__body {
    margin-top: 262px;
  }
}
.works-card__title {
  font-size: 24px;
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.09em;
  margin-bottom: 28px;
  line-height: 1;
}
@media (width > 740px) {
  .works-card__title {
    font-size: 32px;
    margin-bottom: 25px;
  }
}
.works-card__lead {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: var(--sub-color);
  margin-bottom: 33px;
}
@media (width > 740px) {
  .works-card__lead {
    font-size: 24px;
    margin-bottom: 25px;
  }
}
.works-card__desc {
  line-height: 2.143;
  margin-bottom: 40px;
}
.works-card__img {
  position: relative;
  margin-right: -30px;
}
@media (width > 740px) {
  .works-card__img {
    margin-top: auto;
  }
}
.works-card__img-el {
  width: clamp(205px, 55vw, 285px);
  height: auto;
  margin-left: auto;
  display: block;
  position: relative;
  z-index: 1;
}
@media (width > 940px) {
  .works-card__img-el {
    width: 405px;
  }
}
.works-card__bg-text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 23px;
  font-weight: normal;
  font-family: var(--font-outfit);
  font-size: clamp(50px, 6.23vw, 85px);
  color: #05a1da;
  line-height: 0.96;
  opacity: 0.15;
}
@media (width > 940px) {
  .works-card__bg-text {
    right: -156px !important;
    top: 164px;
  }
  .works-card__bg-text .works-br {
    display: none;
  }
}
.works-detail {
  margin-top: 60px;
}
.works-detail__innr {
  margin-top: -80px;
  padding-top: 80px;
}
.works-detail__innr:nth-of-type(2n) .interview-card {
  flex-direction: row;
}
.works-detail__innr:not(:last-child) {
  margin-bottom: 91px;
}
@media (width > 740px) {
  .works-detail__innr:not(:last-child) {
    margin-bottom: 120px;
  }
}
.works-detail__innr:last-child {
  margin-bottom: 100px;
}
@media (width > 740px) {
  .works-detail__innr:last-child {
    margin-bottom: 150px;
  }
}
@media (width > 740px) {
  .works-detail {
    margin-top: 100px;
  }
}
@media (width > 740px) {
  .works-detail__contents > div {
    display: flex;
    margin-bottom: 100px;
  }
}
@media (width > 740px) {
  .works-detail__layout {
    width: unset;
    max-width: 1366px;
    margin-inline: auto;
  }
}
.works-detail__anchor-nav {
  margin-bottom: 60px;
}
@media (width > 740px) {
  .works-detail__anchor-nav {
    margin-bottom: 120px;
  }
}
.works-detail__anchor-nav ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 19px 15px;
  justify-content: center;
  margin-inline: auto;
}
.works-detail__anchor-nav a {
  font-size: 12px;
  letter-spacing: 0.02em;
  display: block;
  width: 100%;
  white-space: nowrap;
}
@media (width > 740px) {
  .works-detail__anchor-nav a {
    font-size: 14px;
  }
}
@media (width > 1024px) {
  .works-detail__anchor-nav a {
    font-size: 16px;
  }
}
.works-detail__anchor-nav a .m__more::after {
  rotate: 90deg;
}
.works-detail__kv {
  margin-bottom: 67px;
  margin-inline: -8vw;
}
@media (width > 740px) {
  .works-detail__kv {
    margin-inline: unset;
    margin-bottom: unset;
  }
}
.works-detail__kv-img {
  width: 100%;
  height: auto;
  display: block;
}
@media (width > 740px) {
  .works-detail__desc {
    flex: 1 1 auto;
    max-width: 496px;
    margin-top: 39px;
    margin-right: min(8vw, 177px);
  }
}
.works-detail__intro {
  margin-bottom: 42px;
  flex: 0 0 50.7320644217%;
}
.works-detail__intro-heading {
  font-size: 24px;
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.09em;
  line-height: 2.042;
  margin-bottom: 24px;
}
@media (width > 740px) {
  .works-detail__intro-heading {
    font-size: 32px;
    margin-bottom: 25px;
  }
}
.works-detail__intro-text {
  line-height: 2.143;
  margin-bottom: 42px;
}
@media (width > 740px) {
  .works-detail__intro-text {
    margin-bottom: 66px;
  }
}
.works-detail__schedule {
  background-color: var(--bg-color);
  padding: 19px 20px 0px;
  margin-bottom: 60px;
  border-radius: 7px;
}
@media (width > 740px) {
  .works-detail__schedule {
    padding: 18px 25px 0px;
    margin-bottom: unset;
  }
}
.works-detail__schedule-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 19px;
}
@media (width > 740px) {
  .works-detail__schedule-heading {
    font-size: 24px;
    margin-bottom: 17px;
  }
}
.works-detail__schedule-icon {
  width: 22px;
  height: 22px;
}
@media (width > 740px) {
  .works-detail__schedule-icon {
    width: 27px;
    height: 27px;
  }
}
.works-detail__schedule-title {
  display: flex;
  -moz-column-gap: 11px;
       column-gap: 11px;
  align-items: center;
}
.works-detail__schedule-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1.4s var(--trans-ease);
}
.works-detail__schedule-content.is-open {
  max-height: 1400px;
  padding-bottom: 30px;
}
.works-detail__schedule-item:not(:last-of-type) .schedule-item__desc {
  position: relative;
  padding-bottom: 19px;
}
@media (width > 740px) {
  .works-detail__schedule-item:not(:last-of-type) .schedule-item__desc {
    padding-bottom: 23px;
  }
}
.works-detail__schedule-item:not(:last-of-type) .schedule-item__desc::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background-color: var(--main-color);
  left: 18px;
  top: 0;
  position: absolute;
}
.works-detail__schedule-item .schedule-item__time {
  background-color: var(--main-color);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  padding: 9px 12px;
  border-radius: 24px;
  display: inline-flex;
  align-items: center;
  font-family: var(--font-outfit);
}
.works-detail__schedule-item .schedule-item__time::before {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 50%;
  display: block;
  background-color: #fff;
  margin-right: 13px;
}
.works-detail__schedule-item .schedule-item__desc {
  letter-spacing: 0.07em;
  line-height: 1.429;
  display: flex;
  padding-top: 14px;
  padding-left: 39px;
}
@media (width > 740px) {
  .works-detail__schedule-item .schedule-item__desc {
    font-size: 15px;
    padding-top: 10px;
  }
}
.works-detail__toggle-icon {
  width: 17px;
  height: 14px;
  background-color: var(--accent-color);
  transition: -webkit-clip-path 0.3s ease;
  transition: clip-path 0.3s ease;
  transition: clip-path 0.3s ease, -webkit-clip-path 0.3s ease;
  -webkit-clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
          clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
  transition: rotate 0.3s ease;
}
.works-detail__toggle-icon.is-open {
  rotate: 180deg;
}
@media (width > 740px) {
  .works-detail__interview-card .interview__pc-none {
    display: none;
  }
}
.works-detail__interview-card .interview__pc-block {
  display: none;
}
@media (width > 740px) {
  .works-detail__interview-card .interview__pc-block {
    display: block;
  }
}
@media (width > 740px) {
  .works-detail__interview-card {
    width: min(var(--w-container-sp), var(--w-container));
    margin-inline: auto;
  }
}
.works-detail__interview-card .interview-card {
  position: relative;
}
@media (width > 740px) {
  .works-detail__interview-card .interview-card {
    display: flex;
    flex-direction: row-reverse;
  }
}
.works-detail__interview-card .interview-card .interview-card__img {
  flex: 1 1 57.5%;
}
.works-detail__interview-card .interview-card .interview-card__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.works-detail__interview-card .interview-card .interview-card__br-none {
  display: none;
}
@media (width > 740px) {
  .works-detail__interview-card .interview-card .interview-card__br-none {
    display: block;
  }
}
.works-detail__interview-card .interview-card__body {
  padding: 25px 8vw 25px;
  color: #fff;
  display: block;
  flex: 1 1 42.5%;
  position: relative;
  cursor: pointer;
  position: relative;
  z-index: 10;
  background-color: var(--main-color);
  transition: 0.3s background-color var(--trans-ease);
}
.works-detail__interview-card .interview-card__body:hover {
  background: rgba(246, 169, 3, 0.9);
}
@media (width > 740px) {
  .works-detail__interview-card .interview-card__body {
    padding: 60px 40px 41px;
  }
}
.works-detail__interview-card .interview-card__label {
  font-family: var(--font-outfit);
  display: flex;
  align-items: center;
  -moz-column-gap: 14px;
       column-gap: 14px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.13em;
  margin-bottom: 13px;
  line-height: 1;
  text-transform: uppercase;
}
@media (width > 940px) {
  .works-detail__interview-card .interview-card__label {
    font-size: 17px;
    margin-bottom: 25px;
  }
}
.works-detail__interview-card .interview-card__label img {
  width: 17px;
  height: 21px;
}
@media (width > 940px) {
  .works-detail__interview-card .interview-card__label img {
    width: 21px;
    height: 26px;
  }
}
.works-detail__interview-card .interview-card__title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 29px;
}
@media (width > 1024px) {
  .works-detail__interview-card .interview-card__title {
    font-size: 30px;
    margin-bottom: 31px;
    line-height: 1.467;
    height: 118px;
  }
}
.works-detail__interview-card .interview-card__bottom {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}
.works-detail__interview-card .interview-card__position {
  background-color: #fff;
  color: var(--main-color);
  display: inline-block;
  font-weight: 700;
  padding: 2px 5px;
  letter-spacing: 0.09em;
  margin-bottom: 15px;
  display: inline-block;
  width: 100%;
  text-align: center;
}
@media (width > 940px) {
  .works-detail__interview-card .interview-card__position {
    font-size: 17px;
    margin-bottom: 17px;
  }
}
.works-detail__interview-card .interview-card__meta {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.works-detail__interview-card .interview-card__meta li {
  display: inline-block;
  width: auto;
}
.works-detail__interview-card .interview-card__link {
  position: absolute;
  bottom: 20px;
  right: 8vw;
  width: 35px;
  height: 35px;
}
@media (width > 740px) {
  .works-detail__interview-card .interview-card__link {
    right: 20px;
    width: 50px;
    height: 50px;
  }
}
.works-detail #sales .interview-card {
  flex-direction: row !important;
}

@media (width > 740px) {
  .works-detail.interview {
    margin-top: 120px;
  }
}
.works-detail.interview .works-detail__innr {
  margin-top: unset;
  padding-top: unset;
}
.works-detail.interview .works-detail__innr:not(:last-child) {
  margin-bottom: 40px;
}
@media (width > 740px) {
  .works-detail.interview .works-detail__innr:not(:last-child) {
    margin-bottom: 75px;
  }
}

.interview-detail {
  margin-top: 100px;
}
@media (width > 740px) {
  .interview-detail {
    margin-top: 120px;
  }
}
.interview-detail .works-detail__innr:not(:last-child) {
  margin-bottom: unset !important;
}
.interview-detail .works-detail__interview-card {
  width: 100%;
  max-width: 1366px;
}
.interview-detail .works-detail__interview-card .interview-card__body {
  padding-left: 8vw;
  pointer-events: none;
}
@media (min-width: 1205px) {
  .interview-detail .works-detail__interview-card .interview-card__body {
    padding-left: min(177px, (100vw - 1012px) / 2);
    flex: 0 0 44.5%;
  }
}
.interview-detail .works-detail__interview-card .interview-card__img {
  max-height: 400px;
}
@media (width > 740px) {
  .interview-detail .works-detail__interview-card .interview-card__img {
    flex: 0 0 55.5%;
  }
}
@media (width > 740px) {
  .interview-detail__contents {
    display: flex;
  }
}
.interview-detail__contents-ttl {
  display: none;
  background-color: var(--bg-color);
  padding-right: min(2.196193265%, 30px);
}
@media (width > 740px) {
  .interview-detail__contents-ttl {
    display: block;
    flex: 0 0 36.676427525%;
    padding-left: max(8vw, (100vw - 1012px) / 2);
  }
}
@media (min-width: 1366px) {
  .interview-detail__contents-ttl {
    flex: 0 0 calc(501px + (100vw - 1366px) / 2);
  }
}
.interview-detail__contents-ttl-group {
  position: sticky;
  padding-top: 100px;
  top: 0;
  transition: opacity 0.4s ease;
  opacity: 0;
  pointer-events: none;
  position: sticky;
}
.interview-detail__contents-ttl-group.is-active {
  opacity: 1;
  pointer-events: auto;
}
.interview-detail__contents-ttl-name {
  font-size: 15px;
  color: #333;
  margin-bottom: 16px;
}
.interview-detail__contents-ttl-ul {
  display: flex;
  flex-direction: column;
  row-gap: 23px;
}
.interview-detail__contents-ttl-anch {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em !important;
  display: flex !important;
}
.interview-detail__contents-ttl-anch > br {
  display: none;
}
.interview-detail__contents-ttl-anch::before {
  content: "Q.";
  color: currentColor;
  font-family: var(--font-outfit);
  font-size: 17px;
  display: block;
  margin-top: -2px;
  padding-right: 4px;
}
.interview-detail__contents-items {
  display: flex;
  flex-direction: column;
  row-gap: 100px;
  padding-top: 60px;
}
@media (width > 740px) {
  .interview-detail__contents-items {
    padding-top: 100px;
    flex: 0 0 63.3235724744%;
    padding-right: max(8vw, (100vw - 1012px) / 2);
    row-gap: 120px;
  }
}
@media (min-width: 1366px) {
  .interview-detail__contents-items {
    flex: 0 1 auto;
  }
}
.interview-detail__contents-innr {
  padding: 0 30px;
}
@media (width > 740px) {
  .interview-detail__contents-innr {
    padding-left: min(6.2957540264vw, 86px);
    padding-right: unset;
  }
}
.interview-detail__contents-innr .interview-detail__person-meta > p {
  margin-bottom: 50px;
  display: flex;
  align-items: start;
  -moz-column-gap: 30px;
       column-gap: 30px;
  border-bottom: 1px solid #C6C6C6;
}
.interview-detail__contents-innr .interview-detail__person-meta > p > span {
  display: block;
}
.interview-detail__contents-innr .meta-name {
  font-size: 20px;
}
.interview-detail__contents-innr .meta-date {
  padding-top: 3px;
  font-size: 15px;
}
.interview-detail__answer-ttl {
  color: var(--accent-color);
  margin-bottom: 19px;
  display: flex;
  align-items: flex-start;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.667;
  scroll-margin-block-start: var(--h-header);
}
@media (width > 740px) {
  .interview-detail__answer-ttl > br {
    display: none;
  }
}
.interview-detail__answer-ttl:not(:first-of-type) {
  margin-top: 60px;
}
@media (width > 740px) {
  .interview-detail__answer-ttl:not(:first-of-type) {
    margin-top: 70px;
  }
}
.interview-detail__answer-ttl::before {
  content: "Q.";
  margin-right: 8px;
  color: var(--accent-color);
  font-family: var(--font-outfit);
  font-size: 22px;
  margin-top: -2px;
}
.interview-detail__answer-text {
  letter-spacing: 0.04em;
  line-height: 2.143;
}
.interview-detail__answer-img {
  margin-top: 30px;
}
.interview-detail__splide {
  width: 100%;
  position: relative;
  padding-top: 100px;
  padding-bottom: 38px;
  overflow: hidden;
}
@media (width > 740px) {
  .interview-detail__splide {
    padding-top: 169px;
    padding-bottom: 150px;
  }
}
.interview-detail__splide::before {
  display: none;
  content: "";
  height: 100%;
  width: 36.676427525%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: var(--bg-color);
  z-index: -1;
}
@media (width > 740px) {
  .interview-detail__splide::before {
    display: block;
  }
}
@media (min-width: 1366px) {
  .interview-detail__splide::before {
    width: calc(501px + (100vw - 1366px) / 2);
  }
}
.interview-detail__splide::after {
  content: url("../img/interview/ill-bg-deco.svg");
  display: block;
  position: absolute;
  top: 174px;
  right: 44.5333333333%;
  z-index: -1;
}
@media (width > 740px) {
  .interview-detail__splide::after {
    right: unset;
    left: 0;
    top: 120px;
  }
}
.interview-detail__splide-ttl {
  padding: 0 30px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: var(--main-color);
  margin-bottom: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (width > 740px) {
  .interview-detail__splide-ttl {
    padding-right: max(30px, (100vw - 1012px) / 2);
    padding-left: 38.616398243%;
    font-size: 32px;
  }
}
@media (min-width: 1366px) {
  .interview-detail__splide-ttl {
    padding-left: calc(528px + (100vw - 1366px) / 2);
  }
}
.interview-detail__splide-ttl-arrow {
  display: flex;
  -moz-column-gap: 13px;
       column-gap: 13px;
}
@media (width > 740px) {
  .interview-detail__splide-ttl-arrow {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
.interview-detail__splide-ttl-btn {
  display: block;
  cursor: pointer;
}
@media (width > 740px) {
  .interview-detail__splide-ttl-btn {
    width: 51px;
  }
}
.interview-detail__splide-ttl-btn--right img {
  rotate: 180deg;
}
.interview-detail__splide .splide {
  max-width: 1366px;
  margin-inline: auto;
}
.interview-detail__splide .splide__slide {
  width: 238px !important;
  flex: 0 0 auto;
}
.interview-detail__splide .splide__slide-anch {
  display: block;
}
.interview-detail__splide .splide__slide figure {
  margin-bottom: 15px;
}
.interview-detail__splide .splide__slide .splide__ttl {
  font-size: 18px;
  letter-spacing: 0.04em;
  font-weight: 700;
  line-height: 1.722;
  color: var(--main-color);
  margin-bottom: 13px;
}
@media (width > 740px) {
  .interview-detail__splide .splide__slide .splide__ttl {
    font-size: 20px;
    margin-bottom: 22px;
  }
}
.interview-detail__splide .splide__slide .splide__bottom {
  display: inline-flex;
  flex-direction: column;
  row-gap: 8px;
}
.interview-detail__splide .splide__slide .splide__roll {
  height: 29px;
  background-color: var(--main-color);
  color: #fff;
  font-weight: normal;
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
  align-items: center;
  display: flex;
}
.interview-detail__splide .splide__slide .splide__time {
  display: flex;
  flex-direction: column;
  line-height: 1.923;
  font-size: 13px;
  letter-spacing: 0.02em;
}
@media (width > 740px) {
  .interview-detail__splide .splide__slide .splide__time {
    font-size: 15px;
  }
}

.inquery-m__heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--main-color);
  line-height: 1.67;
  letter-spacing: 0.09em;
  margin-block-end: 1em;
  scroll-margin-block-start: var(--h-header);
  text-align: center;
  word-break: keep-all;
}
@media (width < 740px) {
  .inquery-m__heading {
    font-size: 18px;
  }
}
.inquery-m__box1 {
  display: flex;
  justify-content: center;
  gap: 20px 2%;
  margin-bottom: 80px;
}
@media (width < 740px) {
  .inquery-m__box1 {
    margin-bottom: 60px;
    flex-direction: column;
  }
}
.inquery-m__box2 {
  display: flex;
  justify-content: center;
}
.inquery-m__button {
  max-width: 488px;
  height: 196px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-direction: column;
  padding: 1em;
  width: 100%;
  color: #fff;
  font-size: 30px;
  transition-duration: var(--trans-tm);
  transition-timing-function: var(--trans-ease);
}
@media (width < 740px) {
  .inquery-m__button {
    width: 100%;
    font-size: 24px;
    height: 127px;
  }
}
.inquery-m__button .button__text {
  text-transform: uppercase;
  display: inline-block;
  letter-spacing: 0.15em;
}
.inquery-m__button .button__icon {
  width: 0.7em;
  margin-left: 0.5em;
  display: inline-block;
}
.inquery-m__button .entry-info__image {
  width: 38%;
  margin: 10px auto 0;
}
@media (width < 740px) {
  .inquery-m__button .entry-info__image {
    width: 62%;
  }
}
.inquery-m__button.button--primary {
  background-color: var(--sub-color);
}
.inquery-m__button.button--secondary {
  background-color: var(--main-color);
}
.inquery-m__button:hover {
  background-color: var(--accent-color);
}
.inquery-m__steps {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin-bottom: 32px;
}
.inquery-m__steps .form-steps__item {
  font-size: 15px;
  position: relative;
}
.inquery-m__steps .form-steps__item:not(:first-child) {
  padding-left: 5em;
}
@media (width < 740px) {
  .inquery-m__steps .form-steps__item:not(:first-child) {
    padding-left: 4em;
  }
}
.inquery-m__steps .form-steps__item:not(:first-child):before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--main-color);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.3em;
  margin: auto;
}
.inquery-m__steps .form-steps__item:not(:first-child):after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 4px solid var(--main-color);
  border-right: 0;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2.1em;
  margin: auto;
}
.inquery-m__steps .form-steps__item.is-active {
  color: var(--main-color);
  font-weight: bold;
}
.inquery-m__info {
  margin-block-start: 80px;
  padding-block-start: 100px;
  padding-block-end: 150px;
}
@media (width < 740px) {
  .inquery-m__info {
    margin-block-start: 60px;
    padding-block-end: 60px;
    padding-block-start: 60px;
  }
}
.inquery-m__info form dl,
.inquery-m__info #confirm_window dl {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border-color);
  padding: 16px 0;
  gap: 20px;
}
@media (width < 740px) {
  .inquery-m__info form dl,
  .inquery-m__info #confirm_window dl {
    display: block;
    padding: 30px 0;
  }
}
.inquery-m__info form dl:last-of-type,
.inquery-m__info #confirm_window dl:last-of-type {
  border-bottom: none;
}
.inquery-m__info form dl dt,
.inquery-m__info #confirm_window dl dt {
  width: 250px;
  font-weight: bold;
  color: var(--main-color);
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 40px;
  font-size: 20px;
}
@media (width < 740px) {
  .inquery-m__info form dl dt,
  .inquery-m__info #confirm_window dl dt {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
.inquery-m__info form dl dd,
.inquery-m__info #confirm_window dl dd {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media (width < 740px) {
  .inquery-m__info form dl dd,
  .inquery-m__info #confirm_window dl dd {
    width: 100%;
  }
}
.inquery-m__info form dl dd.fl-center,
.inquery-m__info #confirm_window dl dd.fl-center {
  justify-content: center;
}
.inquery-m__info form dl dd input[type=text],
.inquery-m__info form dl dd input[type=email],
.inquery-m__info form dl dd input[type=tel],
.inquery-m__info form dl dd select,
.inquery-m__info form dl dd textarea,
.inquery-m__info #confirm_window dl dd input[type=text],
.inquery-m__info #confirm_window dl dd input[type=email],
.inquery-m__info #confirm_window dl dd input[type=tel],
.inquery-m__info #confirm_window dl dd select,
.inquery-m__info #confirm_window dl dd textarea {
  width: 100%;
  height: 40px;
  padding: 5px 12px;
  border: 1px solid #707070;
  border-radius: 4px;
  font-size: 14px;
  color: var(--text-color);
  background-color: #fff;
}
.inquery-m__info form dl dd input[type=text].w2em,
.inquery-m__info form dl dd input[type=email].w2em,
.inquery-m__info form dl dd input[type=tel].w2em,
.inquery-m__info form dl dd select.w2em,
.inquery-m__info form dl dd textarea.w2em,
.inquery-m__info #confirm_window dl dd input[type=text].w2em,
.inquery-m__info #confirm_window dl dd input[type=email].w2em,
.inquery-m__info #confirm_window dl dd input[type=tel].w2em,
.inquery-m__info #confirm_window dl dd select.w2em,
.inquery-m__info #confirm_window dl dd textarea.w2em {
  width: 4em;
}
.inquery-m__info form dl dd input[type=text].w4em,
.inquery-m__info form dl dd input[type=email].w4em,
.inquery-m__info form dl dd input[type=tel].w4em,
.inquery-m__info form dl dd select.w4em,
.inquery-m__info form dl dd textarea.w4em,
.inquery-m__info #confirm_window dl dd input[type=text].w4em,
.inquery-m__info #confirm_window dl dd input[type=email].w4em,
.inquery-m__info #confirm_window dl dd input[type=tel].w4em,
.inquery-m__info #confirm_window dl dd select.w4em,
.inquery-m__info #confirm_window dl dd textarea.w4em {
  width: 6em;
}
.inquery-m__info form dl dd input[type=text].w10em,
.inquery-m__info form dl dd input[type=email].w10em,
.inquery-m__info form dl dd input[type=tel].w10em,
.inquery-m__info form dl dd select.w10em,
.inquery-m__info form dl dd textarea.w10em,
.inquery-m__info #confirm_window dl dd input[type=text].w10em,
.inquery-m__info #confirm_window dl dd input[type=email].w10em,
.inquery-m__info #confirm_window dl dd input[type=tel].w10em,
.inquery-m__info #confirm_window dl dd select.w10em,
.inquery-m__info #confirm_window dl dd textarea.w10em {
  width: 12em;
}
.inquery-m__info form dl dd input[type=text]::-moz-placeholder, .inquery-m__info form dl dd input[type=email]::-moz-placeholder, .inquery-m__info form dl dd input[type=tel]::-moz-placeholder, .inquery-m__info form dl dd select::-moz-placeholder, .inquery-m__info form dl dd textarea::-moz-placeholder, .inquery-m__info #confirm_window dl dd input[type=text]::-moz-placeholder, .inquery-m__info #confirm_window dl dd input[type=email]::-moz-placeholder, .inquery-m__info #confirm_window dl dd input[type=tel]::-moz-placeholder, .inquery-m__info #confirm_window dl dd select::-moz-placeholder, .inquery-m__info #confirm_window dl dd textarea::-moz-placeholder {
  color: var(--border-color);
}
.inquery-m__info form dl dd input[type=text]::placeholder,
.inquery-m__info form dl dd input[type=email]::placeholder,
.inquery-m__info form dl dd input[type=tel]::placeholder,
.inquery-m__info form dl dd select::placeholder,
.inquery-m__info form dl dd textarea::placeholder,
.inquery-m__info #confirm_window dl dd input[type=text]::placeholder,
.inquery-m__info #confirm_window dl dd input[type=email]::placeholder,
.inquery-m__info #confirm_window dl dd input[type=tel]::placeholder,
.inquery-m__info #confirm_window dl dd select::placeholder,
.inquery-m__info #confirm_window dl dd textarea::placeholder {
  color: var(--border-color);
}
.inquery-m__info form dl dd select,
.inquery-m__info #confirm_window dl dd select {
  padding-top: 10px;
  padding-bottom: 8px;
}
.inquery-m__info form dl dd select.w2em,
.inquery-m__info #confirm_window dl dd select.w2em {
  width: 5em;
}
.inquery-m__info form dl dd select.w4em,
.inquery-m__info #confirm_window dl dd select.w4em {
  width: 7em;
}
.inquery-m__info form dl dd select.w10em,
.inquery-m__info #confirm_window dl dd select.w10em {
  width: 13em;
}
.inquery-m__info form dl dd textarea,
.inquery-m__info #confirm_window dl dd textarea {
  height: auto;
  min-height: 100px;
  padding: 8px 12px;
}
.inquery-m__info form dl dd ul,
.inquery-m__info #confirm_window dl dd ul {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0;
}
.inquery-m__info form dl dd ul li + li,
.inquery-m__info #confirm_window dl dd ul li + li {
  margin-left: 16px;
}
.inquery-m__info form dl dd ul li label,
.inquery-m__info #confirm_window dl dd ul li label {
  font-size: 14px;
  color: var(--text-color);
}
.inquery-m__info form dl dd ul li label input,
.inquery-m__info #confirm_window dl dd ul li label input {
  margin-right: 4px;
  vertical-align: middle;
}
.inquery-m__info form dl .error_blank,
.inquery-m__info #confirm_window dl .error_blank {
  display: block;
  font-size: 14px;
  color: var(--error-color);
}
.inquery-m__info form dl .__pp_link,
.inquery-m__info #confirm_window dl .__pp_link {
  display: inline-block;
  border-bottom: 1px solid var(--text-color);
}
.inquery-m__info form dl label,
.inquery-m__info #confirm_window dl label {
  cursor: pointer;
}
.inquery-m__info form dl select,
.inquery-m__info #confirm_window dl select {
  position: relative;
  padding-right: 20px;
  -webkit-appearance: auto;
}
.inquery-m__info form dl input[type=checkbox],
.inquery-m__info form dl input[type=radio],
.inquery-m__info #confirm_window dl input[type=checkbox],
.inquery-m__info #confirm_window dl input[type=radio] {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: 1px solid #707070;
  background-color: #fff;
  position: relative;
}
.inquery-m__info form dl input[type=checkbox],
.inquery-m__info #confirm_window dl input[type=checkbox] {
  border-radius: 5px;
}
.inquery-m__info form dl input[type=checkbox]:checked::after,
.inquery-m__info #confirm_window dl input[type=checkbox]:checked::after {
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  border-bottom: 2px solid var(--main-color);
  border-left: 2px solid var(--main-color);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  rotate: -35deg;
}
.inquery-m__info form dl input[type=radio],
.inquery-m__info #confirm_window dl input[type=radio] {
  border-radius: 50%;
}
.inquery-m__info form dl input[type=radio]:checked::after,
.inquery-m__info #confirm_window dl input[type=radio]:checked::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--main-color);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 50%;
}
.inquery-m__info form dl .__fl,
.inquery-m__info #confirm_window dl .__fl {
  display: flex;
  justify-items: start;
  gap: 10px;
}
.inquery-m__info form dl .__fl > dd,
.inquery-m__info #confirm_window dl .__fl > dd {
  flex-basis: auto;
}
.inquery-m__info form dl dt:has(+ .required),
.inquery-m__info #confirm_window dl dt:has(+ .required) {
  position: relative;
}
.inquery-m__info form dl dt:has(+ .required):after,
.inquery-m__info #confirm_window dl dt:has(+ .required):after {
  content: "必須";
  position: absolute;
  right: 0;
  background: var(--accent-color);
  color: #fff;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 2px;
}
@media (width < 740px) {
  .inquery-m__info form dl dt:has(+ .required):after,
  .inquery-m__info #confirm_window dl dt:has(+ .required):after {
    position: static;
    margin-left: 30px;
  }
}
.inquery-m__info .form-submit__button,
.inquery-m__info .form-return__button {
  text-align: center;
  margin: 0 auto;
  position: relative;
  font-size: 16px;
  color: #fff;
  background-color: var(--sub-color);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;
  width: min(14vw, 15em);
  height: 2.9375em;
  border-radius: 100vmax;
  overflow: hidden;
  margin-top: 80px;
}
@media (width < 740px) {
  .inquery-m__info .form-submit__button,
  .inquery-m__info .form-return__button {
    width: 80%;
  }
}
.inquery-m__info .form-submit__button .button-hidden__text,
.inquery-m__info .form-return__button .button-hidden__text {
  opacity: 0;
}
.inquery-m__info .form-submit__button::before,
.inquery-m__info .form-return__button::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background-color: var(--accent-color);
  translate: -100% 0;
  grid-area: 1/1/2/2;
  position: absolute;
  top: 0;
  transition: translate var(--trans-tm);
  z-index: 1;
}
.inquery-m__info .form-submit__button::after,
.inquery-m__info .form-return__button::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 7px solid #fff;
  border-right: 0;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
}
.inquery-m__info .form-submit__button:focus-visible::before,
.inquery-m__info .form-return__button:focus-visible::before {
  translate: initial;
}
@media (any-hover: hover) {
  .inquery-m__info .form-submit__button:hover::before,
  .inquery-m__info .form-return__button:hover::before {
    translate: initial;
  }
}
.inquery-m__info .form-submit__button input,
.inquery-m__info .form-return__button input {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 1;
}
.inquery-m__info .form-return__button::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 7px solid #fff;
  border-left: 0;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 10px;
  right: inherit;
  bottom: 0;
  margin: auto;
}
.inquery-m__confirm {
  display: none;
}
.inquery-m__confirm .confirm-btn__wrapper {
  display: flex;
  justify-content: center;
  gap: 10px 56px;
}
@media (width < 740px) {
  .inquery-m__confirm .confirm-btn__wrapper {
    flex-direction: column;
    align-items: center;
  }
}
.inquery-m__confirm .confirm-btn__wrapper .form-submit__button,
.inquery-m__confirm .confirm-btn__wrapper .form-return__button {
  margin: 0;
}/*# sourceMappingURL=style.css.map */