@charset "UTF-8";
/*========== reset ==========*/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
button,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1em;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  word-wrap: break-word;
}

ol,
ul {
  list-style: none;
  padding: 0px;
  margin: 0;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  height: auto;
  display: block;
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

video {
  max-width: 100%;
  outline: none;
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
}

svg {
  height: auto;
}

:root {
  --headerHeight: 80px;
  --paddingSection: 60px;
  --paddingLR: 24px;
  --colorFont: #fff;
  --colorFontSub: #000;
  --colorMain: #0A91EA;
  --colorSub: #99A1AF;
  --space200: 200px;
  --space160: 160px;
  --space140: 140px;
  --space120: 120px;
  --space100: 100px;
  --space80: 80px;
  --space64: 64px;
  --space60: 60px;
  --space56: 56px;
  --space50: 50px;
  --space40: 40px;
  --space32: 32px;
  --space30: 30px;
  --space24: 24px;
  --space20: 20px;
  --space16: 16px;
  --fs12: 12px;
  --fs13: 13px;
  --fs14: 14px;
  --fs15: 15px;
  --fs16: 16px;
  --fs17: 17px;
  --fs18: 18px;
  --fs19: 19px;
  --fs20: 20px;
  --fs22: 22px;
  --fs24: 24px;
  --fs26: 26px;
  --fs28: 28px;
  --fs30: 30px;
  --fs32: 32px;
  --fs34: 34px;
  --fs36: 36px;
  --fs38: 38px;
  --fs40: 40px;
  --fs50: 50px;
}
@media screen and (max-width: 999px) {
  :root {
    --paddingLR: 32px;
    --paddingSection: 120px;
    --space200: 160px;
    --space160: 120px;
    --space140: 120px;
    --space120: 80px;
    --space100: 80px;
    --space80: 64px;
    --space64: 56px;
    --space60: 56px;
    --space56: 40px;
    --space50: 40px;
    --space40: 32px;
    --space32: 24px;
    --space30: 24px;
    --space24: 20px;
    --space20: 16px;
    --space16: 16px;
    --fs12: 12px;
    --fs13: 12px;
    --fs14: 13px;
    --fs15: 14px;
    --fs16: 14px;
    --fs17: 16px;
    --fs18: 16px;
    --fs19: 17px;
    --fs20: 17px;
    --fs22: 18px;
    --fs24: 19px;
    --fs26: 20px;
    --fs28: 21px;
    --fs30: 22px;
    --fs32: 23px;
    --fs34: 24px;
    --fs36: 26px;
    --fs38: 27px;
    --fs40: 28px;
    --fs50: 40px;
  }
}
@media screen and (max-width: 959px) {
  :root {
    --paddingLR: 20px;
    --headerHeight: 50px;
    --paddingSection: 40px;
    --space200: 100px;
    --space160: 80px;
    --space140: 80px;
    --space120: 80px;
    --space100: 80px;
    --space80: 40px;
    --space64: 32px;
    --space60: 32px;
    --space56: 32px;
    --space50: 32px;
    --space40: 24px;
    --space32: 24px;
    --space30: 24px;
    --space24: 16px;
    --space20: 16px;
    --space16: 16px;
    --fs12: 12px;
    --fs13: 12px;
    --fs14: 13px;
    --fs15: 14px;
    --fs16: 14px;
    --fs17: 16px;
    --fs18: 16px;
    --fs19: 17px;
    --fs20: 17px;
    --fs22: 18px;
    --fs24: 19px;
    --fs26: 20px;
    --fs28: 21px;
    --fs30: 22px;
    --fs32: 23px;
    --fs34: 24px;
    --fs36: 26px;
    --fs38: 27px;
    --fs40: 28px;
    --fs50: 32px;
  }
}

/*==========　基本設定　==========*/
* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  font-family: "Inter", sans-serif;
  background-color: #000000;
  color: var(--colorFont);
  line-height: 1.5;
  width: 100%;
}

.body_wrap {
  overflow: hidden;
}

.anchor {
  padding-top: var(--headerHeight);
  margin-top: calc(var(--headerHeight) * -1);
}

a:not([class]) {
  color: var(--colorMain);
  text-decoration: underline;
}

@media screen and (min-width: 960px) {
  a:not([class^=btn-]) {
    transition: opacity 0.5s;
  }
  a:not([class^=btn-]):hover {
    opacity: 0.5;
  }
}

#body_bg {
  position: relative;
}
#body_bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: center bottom/100% auto url("../img/common/bg-body-foot.png") no-repeat;
  opacity: 0.72;
  z-index: -2;
  pointer-events: none;
}
#body_bg::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: top center/100% url("../img/common/bg-body.png") repeat-y;
  opacity: 0.5;
  z-index: -1;
  pointer-events: none;
}

.container {
  width: 100%;
  max-width: calc(1280px + var(--paddingLR) * 2);
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.inner {
  width: 100%;
  max-width: calc(1080px + var(--paddingLR) * 2);
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.inner_contents {
  width: 100%;
  max-width: calc(680px + var(--paddingLR) * 2);
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media screen and (max-width: 959px) {
  .container .inner,
.container .inner_contents,
.inner .inner_contents {
    padding-left: 0;
    padding-right: 0;
  }
}
.padding_section {
  padding-top: var(--paddingSection);
  padding-bottom: var(--paddingSection);
}

.margin_section {
  margin-top: var(--paddingSection);
  margin-bottom: var(--paddingSection);
}
.margin_section:first-child {
  margin-top: 0;
}
.margin_section:last-child {
  margin-bottom: 0;
}

.block-center {
  margin-left: auto;
  margin-right: auto;
}

.ib {
  display: inline-block;
}

.only-sp {
  display: none;
}
@media screen and (max-width: 959px) {
  .only-sp {
    display: block;
  }
}

.only-pc {
  display: block;
}
@media screen and (max-width: 959px) {
  .only-pc {
    display: none;
  }
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/*========== font ==========*/
.text-aside {
  font-size: var(--fs13);
  color: var(--colorSub);
}

.text-blue {
  color: var(--colorMain);
}

.text-white {
  color: #fff;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
  text-justify: inter-ideograph;
  -moz-text-align-last: left;
       text-align-last: left;
}

.fw-light {
  font-weight: 300;
}

.fw-normal {
  font-weight: 400;
}

.fw-mid {
  font-weight: 500;
}

.fw-bold {
  font-weight: 700;
}

.fw-black {
  font-weight: 900;
}

.fs-12 {
  font-size: var(--fs12);
}

.fs-13 {
  font-size: var(--fs13);
}

.fs-14 {
  font-size: var(--fs14);
}

.fs-15 {
  font-size: var(--fs15);
}

.fs-16 {
  font-size: var(--fs16);
}

.fs-17 {
  font-size: var(--fs17);
}

.fs-18 {
  font-size: var(--fs18);
}

.fs-19 {
  font-size: var(--fs19);
}

.fs-20 {
  font-size: var(--fs20);
}

.fs-22 {
  font-size: var(--fs22);
}

.fs-24 {
  font-size: var(--fs24);
}

.fs-26 {
  font-size: var(--fs26);
}

.fs-28 {
  font-size: var(--fs28);
}

.fs-30 {
  font-size: var(--fs30);
}

.fs-32 {
  font-size: var(--fs32);
}

.fs-34 {
  font-size: var(--fs34);
}

.fs-36 {
  font-size: var(--fs36);
}

.fs-38 {
  font-size: var(--fs38);
}

.fs-40 {
  font-size: var(--fs40);
}

.fs-50 {
  font-size: var(--fs50);
}

/*========== margin ==========*/
.mt-200 {
  margin-top: var(--space200);
}

.mb-200 {
  margin-bottom: var(--space200);
}

.ml-200 {
  margin-left: var(--space200);
}

.mr-200 {
  margin-right: var(--space200);
}

.mt-160 {
  margin-top: var(--space160);
}

.mb-160 {
  margin-bottom: var(--space160);
}

.ml-160 {
  margin-left: var(--space160);
}

.mr-160 {
  margin-right: var(--space160);
}

.mt-140 {
  margin-top: var(--space140);
}

.mb-140 {
  margin-bottom: var(--space140);
}

.ml-140 {
  margin-left: var(--space140);
}

.mr-140 {
  margin-right: var(--space140);
}

.mt-120 {
  margin-top: var(--space120);
}

.mb-120 {
  margin-bottom: var(--space120);
}

.ml-120 {
  margin-left: var(--space120);
}

.mr-120 {
  margin-right: var(--space120);
}

.mt-100 {
  margin-top: var(--space100);
}

.mb-100 {
  margin-bottom: var(--space100);
}

.ml-100 {
  margin-left: var(--space100);
}

.mr-100 {
  margin-right: var(--space100);
}

.mt-80 {
  margin-top: var(--space80);
}

.mb-80 {
  margin-bottom: var(--space80);
}

.ml-80 {
  margin-left: var(--space80);
}

.mr-80 {
  margin-right: var(--space80);
}

.mt-64 {
  margin-top: var(--space64);
}

.mb-64 {
  margin-bottom: var(--space64);
}

.ml-64 {
  margin-left: var(--space64);
}

.mr-64 {
  margin-right: var(--space64);
}

.mt-60 {
  margin-top: var(--space60);
}

.mb-60 {
  margin-bottom: var(--space60);
}

.ml-60 {
  margin-left: var(--space60);
}

.mr-60 {
  margin-right: var(--space60);
}

.mt-56 {
  margin-top: var(--space56);
}

.mb-56 {
  margin-bottom: var(--space56);
}

.ml-56 {
  margin-left: var(--space56);
}

.mr-56 {
  margin-right: var(--space56);
}

.mt-50 {
  margin-top: var(--space50);
}

.mb-50 {
  margin-bottom: var(--space50);
}

.ml-50 {
  margin-left: var(--space50);
}

.mr-50 {
  margin-right: var(--space50);
}

.mt-40 {
  margin-top: var(--space40);
}

.mb-40 {
  margin-bottom: var(--space40);
}

.ml-40 {
  margin-left: var(--space40);
}

.mr-40 {
  margin-right: var(--space40);
}

.mt-32 {
  margin-top: var(--space32);
}

.mb-32 {
  margin-bottom: var(--space32);
}

.ml-32 {
  margin-left: var(--space32);
}

.mr-32 {
  margin-right: var(--space32);
}

.mt-30 {
  margin-top: var(--space30);
}

.mb-30 {
  margin-bottom: var(--space30);
}

.ml-30 {
  margin-left: var(--space30);
}

.mr-30 {
  margin-right: var(--space30);
}

.mt-24 {
  margin-top: var(--space24);
}

.mb-24 {
  margin-bottom: var(--space24);
}

.ml-24 {
  margin-left: var(--space24);
}

.mr-24 {
  margin-right: var(--space24);
}

.mt-20 {
  margin-top: var(--space20);
}

.mb-20 {
  margin-bottom: var(--space20);
}

.ml-20 {
  margin-left: var(--space20);
}

.mr-20 {
  margin-right: var(--space20);
}

.mt-16 {
  margin-top: var(--space16);
}

.mb-16 {
  margin-bottom: var(--space16);
}

.ml-16 {
  margin-left: var(--space16);
}

.mr-16 {
  margin-right: var(--space16);
}

/*========== padding ==========*/
.pt-200 {
  padding-top: var(--space200);
}

.pb-200 {
  padding-bottom: var(--space200);
}

.pl-200 {
  padding-left: var(--space200);
}

.pr-200 {
  padding-right: var(--space200);
}

.pt-160 {
  padding-top: var(--space160);
}

.pb-160 {
  padding-bottom: var(--space160);
}

.pl-160 {
  padding-left: var(--space160);
}

.pr-160 {
  padding-right: var(--space160);
}

.pt-140 {
  padding-top: var(--space140);
}

.pb-140 {
  padding-bottom: var(--space140);
}

.pl-140 {
  padding-left: var(--space140);
}

.pr-140 {
  padding-right: var(--space140);
}

.pt-120 {
  padding-top: var(--space120);
}

.pb-120 {
  padding-bottom: var(--space120);
}

.pl-120 {
  padding-left: var(--space120);
}

.pr-120 {
  padding-right: var(--space120);
}

.pt-100 {
  padding-top: var(--space100);
}

.pb-100 {
  padding-bottom: var(--space100);
}

.pl-100 {
  padding-left: var(--space100);
}

.pr-100 {
  padding-right: var(--space100);
}

.pt-80 {
  padding-top: var(--space80);
}

.pb-80 {
  padding-bottom: var(--space80);
}

.pl-80 {
  padding-left: var(--space80);
}

.pr-80 {
  padding-right: var(--space80);
}

.pt-64 {
  padding-top: var(--space64);
}

.pb-64 {
  padding-bottom: var(--space64);
}

.pl-64 {
  padding-left: var(--space64);
}

.pr-64 {
  padding-right: var(--space64);
}

.pt-60 {
  padding-top: var(--space60);
}

.pb-60 {
  padding-bottom: var(--space60);
}

.pl-60 {
  padding-left: var(--space60);
}

.pr-60 {
  padding-right: var(--space60);
}

.pt-56 {
  padding-top: var(--space56);
}

.pb-56 {
  padding-bottom: var(--space56);
}

.pl-56 {
  padding-left: var(--space56);
}

.pr-56 {
  padding-right: var(--space56);
}

.pt-50 {
  padding-top: var(--space50);
}

.pb-50 {
  padding-bottom: var(--space50);
}

.pl-50 {
  padding-left: var(--space50);
}

.pr-50 {
  padding-right: var(--space50);
}

.pt-40 {
  padding-top: var(--space40);
}

.pb-40 {
  padding-bottom: var(--space40);
}

.pl-40 {
  padding-left: var(--space40);
}

.pr-40 {
  padding-right: var(--space40);
}

.pt-32 {
  padding-top: var(--space32);
}

.pb-32 {
  padding-bottom: var(--space32);
}

.pl-32 {
  padding-left: var(--space32);
}

.pr-32 {
  padding-right: var(--space32);
}

.pt-30 {
  padding-top: var(--space30);
}

.pb-30 {
  padding-bottom: var(--space30);
}

.pl-30 {
  padding-left: var(--space30);
}

.pr-30 {
  padding-right: var(--space30);
}

.pt-24 {
  padding-top: var(--space24);
}

.pb-24 {
  padding-bottom: var(--space24);
}

.pl-24 {
  padding-left: var(--space24);
}

.pr-24 {
  padding-right: var(--space24);
}

.pt-20 {
  padding-top: var(--space20);
}

.pb-20 {
  padding-bottom: var(--space20);
}

.pl-20 {
  padding-left: var(--space20);
}

.pr-20 {
  padding-right: var(--space20);
}

.pt-16 {
  padding-top: var(--space16);
}

.pb-16 {
  padding-bottom: var(--space16);
}

.pl-16 {
  padding-left: var(--space16);
}

.pr-16 {
  padding-right: var(--space16);
}

/*========== header ==========*/
#header {
  position: absolute;
  width: 100%;
  height: var(--headerHeight);
  top: 0;
  left: 0;
  z-index: 99;
}
#header .row-flex {
  height: 100%;
  display: flex;
  align-items: flex-end;
  gap: var(--space40);
}
#header.is-first .area-logo,
#header.is-first .area-btn {
  display: none;
}
#header.is-first .area-status {
  display: block;
}
#header.is-scroll {
  position: fixed;
  top: 0;
  transform: translateY(-100%);
  background-color: rgba(0, 0, 0, 0.8);
}
#header.is-scroll .area-logo,
#header.is-scroll .area-btn {
  display: block;
}
#header.is-scroll .area-status {
  display: none;
}
#header.is-scroll.is-view {
  transform: translateY(0%);
  transition: transform 0.5s;
}
#header .area-logo {
  margin-top: auto;
  margin-bottom: auto;
  padding: 10px;
  height: 100%;
}
#header .area-logo img {
  width: auto;
  height: 100%;
}
#header .area-status {
  margin-top: auto;
}
#header .area-menu {
  margin-left: auto;
  padding-bottom: 20px;
}
#header .area-btn {
  margin-top: auto;
  margin-bottom: auto;
}
#header .area-btn .row-btn {
  display: flex;
  gap: 10px;
}
#header .text-status {
  font-size: var(--fs13);
  min-width: 200px;
  height: 40px;
  border-radius: 100px;
  background: linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(194, 194, 194, 0.1) 48.06%, rgba(255, 255, 255, 0.2) 100%);
  border: 1px solid rgba(153, 161, 175, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
#header .text-status::before {
  content: "";
  width: 0.5rem;
  aspect-ratio: 8/9;
  background: center/contain url("../img/common/icon-status.svg") no-repeat;
}
#header .menu-header {
  display: flex;
  gap: var(--space40);
  color: #99A1AF;
}
#header .menu-header a {
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  #header .menu-header a {
    transition: color 0.5s;
  }
  #header .menu-header a:hover {
    opacity: 1;
    color: #fff;
  }
}

#hamburger_menu {
  display: contents;
}

#hamburger_btn,
#hamburger_bg {
  display: none;
}

@media screen and (max-width: 959px) {
  #header .area-status {
    margin-bottom: 4px;
  }
  #header .menu-header {
    flex-direction: column;
    align-items: center;
    margin-bottom: var(--space40);
  }
  #header.is-open {
    background-color: rgba(0, 0, 0, 0.8);
  }
  #header.is-open .area-logo,
#header.is-open .area-btn {
    display: block;
  }
  #header.is-open .area-status {
    display: none;
  }
  #header.is-open .area-btn .row-btn {
    flex-direction: column;
    align-items: center;
  }
  #header.is-open #hamburger_menu {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  #header.is-open #hamburger_btn {
    justify-content: center;
  }
  #header.is-open #hamburger_btn span:nth-of-type(1) {
    transform: rotate(45deg);
    margin-bottom: -1px;
  }
  #header.is-open #hamburger_btn span:nth-of-type(2) {
    display: none;
  }
  #header.is-open #hamburger_btn span:nth-of-type(3) {
    margin-top: -1px;
    transform: rotate(-45deg);
  }
  #header.is-open #hamburger_bg {
    width: 100vw;
    height: calc(100vh - var(--headerHeight));
    height: calc(100dvh - var(--headerHeight));
    opacity: 0.5;
  }
  #hamburger_menu {
    background-color: #000;
    display: block;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    position: fixed;
    top: var(--headerHeight);
    left: 0;
    width: 100%;
    padding: var(--paddingSection) var(--paddingLR);
    transition: -webkit-clip-path 0.5s;
    transition: clip-path 0.5s;
    transition: clip-path 0.5s, -webkit-clip-path 0.5s;
  }
  /*== ボタン ==*/
  #hamburger_btn {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    width: 50px;
    aspect-ratio: 1/1;
    padding: 18px 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }
  #hamburger_btn span {
    transform-origin: center;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all 0.5s;
  }
  /*== エリア外 ==*/
  #hamburger_bg {
    display: block;
    width: 0;
    height: 0;
    background-color: #000;
    opacity: 0;
    position: fixed;
    top: var(--headerHeight);
    left: 0;
    z-index: -1;
    transition: opacity 0.5s;
  }
}
/*========== footer ==========*/ /*========== sidebar ==========*/
.title-01 {
  font-size: var(--fs50);
  font-weight: 500;
  margin-bottom: var(--space60);
}
.title-01:not(:first-child) {
  margin-top: var(--space80);
}

.title-02 {
  font-size: var(--fs32);
  font-weight: 700;
  margin-bottom: var(--space24);
}
.title-02:not(:first-child) {
  margin-top: var(--space80);
}

.title-03 {
  font-size: var(--fs22);
  font-weight: 700;
  color: var(--colorMain);
  margin-bottom: var(--space24);
}
.title-03:not(:first-child) {
  margin-top: var(--space80);
}

.title-icons {
  line-height: 1.25;
  display: flex;
  gap: 0.625rem;
  margin-bottom: var(--space24);
}
.title-icons:not(:first-child) {
  margin-top: var(--space80);
}
.title-icons .icon {
  flex-shrink: 0;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin-bottom: auto;
}
.title-icons .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.title-icons .title {
  font-size: var(--fs20);
  font-weight: 700;
}
@media screen and (max-width: 959px) {
  .title-icons .icon {
    width: 1.25rem;
  }
}

@-webkit-keyframes btn_hover {
  49.9% {
    opacity: 0;
    transform: translate(50%, -50%);
  }
  50% {
    opacity: 0;
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 1;
    transform: translate(0%, -50%);
  }
}

@keyframes btn_hover {
  49.9% {
    opacity: 0;
    transform: translate(50%, -50%);
  }
  50% {
    opacity: 0;
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 1;
    transform: translate(0%, -50%);
  }
}
.btn-01 {
  font-size: var(--fs16);
  font-weight: 700;
  min-width: 260px;
  height: 60px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100px;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25em 2em;
  color: var(--colorFontSub);
  background-color: #fff;
  position: relative;
}
.btn-01.btn-small {
  font-size: var(--fs14);
  min-width: 180px;
  height: 48px;
}
.btn-01[data-color=blue] {
  background-color: var(--colorMain);
}
.btn-01::after {
  content: "";
  width: 0.625rem;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon-btn-01.svg") no-repeat;
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 960px) {
  .btn-01:hover {
    opacity: 1;
  }
  .btn-01:hover::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_hover;
            animation-name: btn_hover;
  }
}

.btn-02 {
  width: 100%;
  max-width: 340px;
  height: 60px;
  border-radius: 100px;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25em 2em;
  font-size: var(--fs14);
  font-weight: 700;
  color: var(--colorMain);
  background-color: #000;
  border: 1px solid var(--colorMain);
  position: relative;
}
.btn-02::after {
  content: "";
  width: 1.375rem;
  aspect-ratio: 1/1;
  background: center/36.3637% url("../img/common/icon-btn-02.svg") no-repeat;
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translate(0%, -50%);
  border: 1px solid var(--colorMain);
  border-radius: 50%;
}
.btn-02[disable] {
  pointer-events: none;
  color: #fff;
  background-color: #808080;
  border-color: #808080;
  opacity: 0.3;
}
.btn-02[disable]::after {
  border-color: #808080;
  background-image: url("../img/common/icon-btn-02-disable.svg");
}
@media screen and (min-width: 960px) {
  .btn-02:hover {
    opacity: 1;
  }
  .btn-02:hover::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_hover;
            animation-name: btn_hover;
  }
}

.list-checkmark {
  font-size: var(--fs16);
  font-weight: 500;
  color: var(--colorSub);
}
.list-checkmark > * {
  display: flex;
  gap: 0.5rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(153, 161, 175, 0.6);
}
.list-checkmark > *::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon-list-checkmark.svg") no-repeat;
  flex-shrink: 0;
  margin-bottom: auto;
}
@media screen and (max-width: 959px) {
  .list-checkmark > *::before {
    width: 1rem;
    margin-top: 0.125em;
  }
}

/*========== effect ==========*/
.trigger .fx-flash .fx-textBox, .trigger.fx-flash .fx-textBox {
  transform: translateY(0);
  opacity: 1;
}
.trigger .fx-flash::after, .trigger.fx-flash::after {
  width: 100%;
  -webkit-animation: fx-flash 0.5s ease-out forwards 0s;
          animation: fx-flash 0.5s ease-out forwards 0s;
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
          clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
.trigger .fx-fadeIn, .trigger.fx-fadeIn {
  -webkit-animation-name: fx-fadeIn;
          animation-name: fx-fadeIn;
}
.trigger .fx-fadeUp, .trigger.fx-fadeUp {
  -webkit-animation-name: fx-fadeUp;
          animation-name: fx-fadeUp;
}
.trigger .fx-slideLeft, .trigger.fx-slideLeft {
  -webkit-animation-name: fx-slideLeft;
          animation-name: fx-slideLeft;
}
.trigger .fx-slideRight, .trigger.fx-slideRight {
  -webkit-animation-name: fx-slideRight;
          animation-name: fx-slideRight;
}

.fx-flash {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.fx-flash.text-center {
  margin-left: auto;
  margin-right: auto;
}
.fx-flash .fx-textBox {
  display: block;
  opacity: 0;
  transform: translateY(100%);
  transition: transform 0.5s ease-out 0.5s, opacity 0.5s ease-in-out 0.625s;
}
.fx-flash::after {
  content: "";
  background-color: var(--colorMain);
  width: 0;
  height: 80%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
  transition: width 0.25s ease-out 0s, -webkit-clip-path 0.5s ease-out 0.5s;
  transition: width 0.25s ease-out 0s, clip-path 0.5s ease-out 0.5s;
  transition: width 0.25s ease-out 0s, clip-path 0.5s ease-out 0.5s, -webkit-clip-path 0.5s ease-out 0.5s;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.fx-flash.fx-heightFull::after {
  height: 100%;
}

@-webkit-keyframes fx-flash {
  0% {
    opacity: 0.5;
  }
  10% {
    opacity: 0;
  }
  18% {
    opacity: 0.5;
  }
  25% {
    opacity: 0;
  }
  30% {
    opacity: 0.5;
  }
  38% {
    opacity: 0;
  }
  42% {
    opacity: 0.5;
  }
  55% {
    opacity: 0;
  }
  65% {
    opacity: 0.5;
  }
  78% {
    opacity: 0;
  }
  82% {
    opacity: 0.5;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fx-flash {
  0% {
    opacity: 0.5;
  }
  10% {
    opacity: 0;
  }
  18% {
    opacity: 0.5;
  }
  25% {
    opacity: 0;
  }
  30% {
    opacity: 0.5;
  }
  38% {
    opacity: 0;
  }
  42% {
    opacity: 0.5;
  }
  55% {
    opacity: 0;
  }
  65% {
    opacity: 0.5;
  }
  78% {
    opacity: 0;
  }
  82% {
    opacity: 0.5;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fx-fadeIn {
  opacity: 0;
  will-change: opacity;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fx-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fx-fadeUp {
  opacity: 0;
  transform: translateY(40px);
  will-change: transform, opacity;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx-fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes fx-fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
.fx-slideLeft {
  will-change: transform, opacity;
  transform: translateX(-40px);
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx-slideLeft {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fx-slideLeft {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fx-slideRight {
  will-change: transform, opacity;
  transform: translateX(40px);
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx-slideRight {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fx-slideRight {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*========== index ==========*/
#mv {
  padding-top: calc(var(--headerHeight) + var(--space80));
  padding-bottom: var(--space100);
}
#mv .flex {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
#mv .box-text {
  flex-shrink: 0;
}
#mv .box-video video {
  width: calc(100% + 16rem);
  max-width: 60vw;
  margin: -4rem -16rem 0 0;
}
#mv .area-date {
  max-width: 607px;
  margin-top: var(--space50);
  background: linear-gradient(-90deg, rgba(0, 27, 55, 0) 0%, rgba(0, 0, 0, 0.61) 47.1%, #001b37 150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: var(--space16) var(--paddingLR) var(--space24);
}
#mv .area-date .wrapper {
  max-width: 490px;
  margin-left: auto;
  margin-right: auto;
}
#mv .area-date .title {
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--colorMain);
  margin-bottom: 0.5rem;
}
#mv .area-date .list {
  font-size: var(--fs14);
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
}
#mv .area-date .list dt, #mv .area-date .list dd {
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
#mv .area-date .list dt {
  padding-right: 1rem;
}
#mv .area-date .list dd {
  text-align: right;
}
#mv .area-entry {
  margin-top: var(--space40);
}
#mv .area-entry .row {
  display: flex;
  align-items: center;
  gap: var(--space16);
}
#mv .area-entry .row + .row {
  margin-top: var(--space16);
}
#mv .area-entry .col-text {
  font-size: var(--fs13);
}
@media screen and (max-width: 959px) {
  #mv {
    padding-bottom: var(--paddingSection);
  }
  #mv .flex {
    flex-direction: column;
  }
  #mv .box-video video {
    width: calc(100% + 2rem);
    max-width: 100%;
    margin: 0;
  }
  #mv .area-title {
    max-width: 320px;
  }
  #mv .area-entry .row {
    flex-direction: column;
    align-items: flex-start;
  }
}

#index_video .padding_section {
  padding-top: var(--space100);
}
#index_video .area-video {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
#index_video .area-btn {
  margin-top: var(--space60);
}
#index_video .text-later {
  font-size: var(--fs16);
  text-align: center;
  color: var(--colorSub);
  margin-top: var(--space24);
}
@media screen and (max-width: 959px) {
  #index_video .padding_section {
    padding-top: var(--paddingSection);
  }
}

#index_overview .deco {
  padding-top: calc(var(--paddingSection) + var(--space200));
  position: relative;
  z-index: 1;
}
#index_overview .deco::before {
  content: "";
  width: 88.65249%;
  aspect-ratio: 1000/523;
  background: center/contain url("../img/index/index_overview-deco-01.png") no-repeat;
  position: absolute;
  top: calc(var(--space120) * -1);
  left: -260px;
  opacity: 0.6;
  z-index: -1;
  pointer-events: none;
}
#index_overview .text-intro {
  font-size: var(--fs16);
}
#index_overview .layout-market {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
#index_overview .layout-market .item {
  background: linear-gradient(45deg, #001b37 -50%, rgba(0, 0, 0, 0.61) 49.5%, #001b37 150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: var(--space16) var(--space20) var(--space24);
}
#index_overview .layout-market .row-title {
  display: flex;
  gap: 0.5rem;
  margin-bottom: var(--space16);
}
#index_overview .layout-market .row-title .title {
  font-size: var(--fs16);
  font-weight: 500;
  line-height: 1.25;
}
#index_overview .layout-market .icon {
  width: 1.25rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: auto;
  flex-shrink: 0;
}
#index_overview .layout-market .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#index_overview .layout-market .text {
  color: var(--colorSub);
  font-size: var(--fs13);
  line-height: 1.23;
}
@media screen and (max-width: 959px) {
  #index_overview .deco::before {
    top: -40px;
    left: -80px;
  }
}

#index_benefits .deco {
  position: relative;
  z-index: 1;
}
#index_benefits .deco::before {
  content: "";
  width: 88.65249%;
  aspect-ratio: 1000/666;
  background: center/contain url("../img/index/index_benefits-deco-01.png") no-repeat;
  position: absolute;
  top: -360px;
  right: -260px;
  opacity: 0.4;
  z-index: -1;
  pointer-events: none;
}
#index_benefits .text-intro {
  font-size: var(--fs16);
  color: var(--colorSub);
}
#index_benefits .layout-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space64) 0;
}
#index_benefits .layout-benefits:not(:first-child) {
  margin-top: var(--space64);
}
#index_benefits .layout-benefits .item {
  padding: 0rem 1.25rem 1rem;
  border-right: 1px solid var(--colorSub);
  display: flex;
  flex-direction: column;
  gap: var(--space20);
}
#index_benefits .layout-benefits .item:nth-child(3n) {
  border-right: none;
}
#index_benefits .layout-benefits .row-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
#index_benefits .layout-benefits .title {
  text-align: center;
  font-weight: 500;
  line-height: 1.25;
}
#index_benefits .layout-benefits .text {
  font-size: var(--fs13);
  color: var(--colorSub);
}
#index_benefits .layout-subsidy {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space30);
}
#index_benefits .layout-subsidy:not(:first-child) {
  margin-top: var(--space40);
}
#index_benefits .layout-subsidy .item {
  text-align: center;
  line-height: 1.25;
  background: linear-gradient(45deg, #001b37 -50%, rgba(0, 0, 0, 0.61) 49.5%, #001b37 150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem;
}
#index_benefits .layout-subsidy .year {
  font-size: var(--fs14);
  font-weight: 700;
  color: var(--colorMain);
  margin-bottom: 10px;
}
#index_benefits .layout-subsidy .date {
  font-size: var(--fs12);
  color: var(--colorSub);
  margin-bottom: 1rem;
}
#index_benefits .layout-subsidy .upto {
  font-size: var(--fs22);
  font-weight: 700;
  color: var(--colorMain);
  margin-bottom: 10px;
}
#index_benefits .layout-subsidy .dollar {
  font-size: var(--fs12);
  margin-bottom: 10px;
}
#index_benefits .layout-subsidy .aside {
  font-size: var(--fs12);
  color: var(--colorSub);
}
#index_benefits .layout-expenses {
  background: linear-gradient(45deg, #001b37 -50%, rgba(0, 0, 0, 0.61) 49.5%, #001b37 150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem var(--space40);
}
#index_benefits .layout-expenses:not(:first-child) {
  margin-top: var(--space30);
}
#index_benefits .layout-expenses .title {
  font-size: var(--fs18);
  font-weight: 700;
  color: var(--colorMain);
  margin-bottom: var(--space24);
}
#index_benefits .layout-expenses .list {
  font-size: var(--fs12);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#index_benefits .layout-expenses .list > * {
  border-radius: 100px;
  background: rgba(153, 161, 175, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 6px 1rem;
}
#index_benefits .layout-buttons {
  margin-top: var(--space40);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space30);
}
#index_benefits .layout-schedule {
  min-width: 800px;
  width: 100%;
  font-size: var(--fs14);
}
#index_benefits .layout-schedule .border {
  border-left: 1px solid rgba(128, 128, 128, 0.6);
}
#index_benefits .layout-schedule thead {
  color: var(--colorSub);
}
#index_benefits .layout-schedule thead th {
  text-align: left;
  padding: 10px 0;
}
#index_benefits .layout-schedule tbody {
  border-top: 1px solid #808080;
  border-bottom: 1px solid #808080;
}
#index_benefits .layout-schedule tbody th {
  text-align: left;
  font-weight: 500;
  padding: 10px 0;
}
#index_benefits .layout-schedule tbody tr:first-child th {
  font-size: var(--fs13);
  color: var(--colorSub);
  padding: 0.5rem 2px;
}
#index_benefits .layout-schedule tbody tr:first-child > th:not(:first-child) {
  border-right: none;
}
#index_benefits .layout-schedule tbody tr:not(:last-child) {
  border-bottom: 1px solid rgba(128, 128, 128, 0.6);
}
#index_benefits .layout-schedule .active {
  background-color: var(--colorMain);
  height: 10px;
  border-radius: 100px;
  width: calc(100% - var(--spanMinus));
  display: block;
}
#index_benefits .layout-schedule .active.position-left {
  margin-right: auto;
}
#index_benefits .layout-schedule .active.position-right {
  margin-left: auto;
}
#index_benefits .layout-schedule [colspan="1"] .active {
  width: calc(100% - (100% / 1) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="2"] .active {
  width: calc(100% - (100% / 2) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="3"] .active {
  width: calc(100% - (100% / 3) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="4"] .active {
  width: calc(100% - (100% / 4) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="5"] .active {
  width: calc(100% - (100% / 5) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="6"] .active {
  width: calc(100% - (100% / 6) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="7"] .active {
  width: calc(100% - (100% / 7) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="8"] .active {
  width: calc(100% - (100% / 8) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="9"] .active {
  width: calc(100% - (100% / 9) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="10"] .active {
  width: calc(100% - (100% / 10) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="11"] .active {
  width: calc(100% - (100% / 11) * var(--spanMinus));
}
#index_benefits .layout-schedule [colspan="12"] .active {
  width: calc(100% - (100% / 12) * var(--spanMinus));
}
#index_benefits .sp_scroll {
  display: contents;
}
#index_benefits .sp_scroll_hint {
  display: none;
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  #index_benefits .deco::before {
    top: -160px;
    right: -80px;
  }
}
@media screen and (max-width: 959px) {
  #index_benefits .layout-benefits {
    grid-template-columns: repeat(2, 1fr);
  }
  #index_benefits .layout-benefits .item:nth-child(3n) {
    border-right: 1px solid var(--colorSub);
  }
  #index_benefits .layout-benefits .item:nth-child(2n) {
    border-right: none;
    padding-right: 0;
  }
  #index_benefits .layout-benefits .item:nth-child(2n-1) {
    padding-left: 0;
  }
}
@media screen and (max-width: 959px) {
  #index_benefits .layout-subsidy {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 959px) {
  #index_benefits .layout-schedule {
    width: 100%;
    font-size: var(--fs14);
  }
  #index_benefits .layout-schedule .border {
    border-left: 1px solid rgba(128, 128, 128, 0.6);
  }
  #index_benefits .layout-schedule thead {
    color: var(--colorSub);
  }
  #index_benefits .layout-schedule thead th {
    text-align: left;
    padding: 10px 0;
  }
  #index_benefits .layout-schedule tbody {
    border-top: 1px solid #808080;
    border-bottom: 1px solid #808080;
  }
  #index_benefits .layout-schedule tbody th {
    text-align: left;
    font-weight: 500;
    padding: 10px 0;
  }
  #index_benefits .layout-schedule tbody tr:first-child th {
    font-size: var(--fs13);
    color: var(--colorSub);
    padding: 0.5rem 2px;
  }
  #index_benefits .layout-schedule tbody tr:first-child > th:not(:first-child) {
    border-right: none;
  }
  #index_benefits .layout-schedule tbody tr:not(:last-child) {
    border-bottom: 1px solid rgba(128, 128, 128, 0.6);
  }
  #index_benefits .layout-schedule .active {
    background-color: var(--colorMain);
    height: 10px;
    border-radius: 100px;
    width: calc(100% - var(--spanMinus));
    display: block;
  }
  #index_benefits .layout-schedule .active.position-left {
    margin-right: auto;
  }
  #index_benefits .layout-schedule .active.position-right {
    margin-left: auto;
  }
  #index_benefits .layout-schedule [colspan="1"] .active {
    width: calc(100% - (100% / 1) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="2"] .active {
    width: calc(100% - (100% / 2) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="3"] .active {
    width: calc(100% - (100% / 3) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="4"] .active {
    width: calc(100% - (100% / 4) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="5"] .active {
    width: calc(100% - (100% / 5) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="6"] .active {
    width: calc(100% - (100% / 6) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="7"] .active {
    width: calc(100% - (100% / 7) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="8"] .active {
    width: calc(100% - (100% / 8) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="9"] .active {
    width: calc(100% - (100% / 9) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="10"] .active {
    width: calc(100% - (100% / 10) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="11"] .active {
    width: calc(100% - (100% / 11) * var(--spanMinus));
  }
  #index_benefits .layout-schedule [colspan="12"] .active {
    width: calc(100% - (100% / 12) * var(--spanMinus));
  }
}
@media screen and (max-width: 959px) {
  #index_benefits .sp_scroll {
    display: block;
    overflow-X: auto;
  }
}
@media screen and (max-width: 959px) {
  #index_benefits .sp_scroll_hint {
    display: block;
    font-size: var(--fs12);
  }
}

#index_application .layout-process {
  counter-reset: step;
}
#index_application .layout-process > * {
  display: flex;
}
#index_application .layout-process > *:not(:last-child) {
  padding-bottom: var(--space40);
}
#index_application .layout-process > *:first-child .col-steps::after {
  height: calc(100% - 2.5rem + var(--space40));
  top: 2.5rem;
}
#index_application .layout-process > *:last-child .col-steps::after {
  height: 100%;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 4px), 50% 100%, 0% calc(100% - 4px));
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 4px), 50% 100%, 0% calc(100% - 4px));
}
#index_application .layout-process .col-steps {
  padding: 0 var(--space40);
  color: var(--colorMain);
  flex-shrink: 0;
  border-right: 1px solid rgba(153, 161, 175, 0.6);
  position: relative;
  z-index: 1;
}
#index_application .layout-process .col-steps::after {
  content: "";
  width: 0.625rem;
  height: calc(100% + var(--space40));
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  background-color: var(--colorMain);
  opacity: 0.2;
  z-index: -1;
}
#index_application .layout-process .col-steps .step {
  font-size: var(--fs20);
  font-weight: 700;
  width: 4em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  margin-bottom: auto;
}
#index_application .layout-process .col-steps .step::after {
  counter-increment: step;
  content: counter(step);
}
#index_application .layout-process .col-text {
  padding-left: 10px;
  line-height: 1.25;
}
#index_application .layout-process .title {
  font-size: var(--fs18);
  font-weight: 500;
  margin-bottom: 0.375rem;
}
#index_application .layout-process .date {
  font-size: var(--fs14);
  color: var(--colorMain);
  font-weight: 700;
  margin-bottom: 0.375rem;
}
#index_application .layout-process .text {
  font-size: var(--fs14);
  color: var(--colorSub);
}
@media screen and (max-width: 959px) {
  #index_application .layout-process > *:first-child .col-steps::after {
    height: calc(100% - 1.5rem + var(--space40));
    top: 1.5rem;
  }
}

#index_banner {
  padding-bottom: 180px;
}
@media screen and (max-width: 959px) {
  #index_banner {
    padding-bottom: var(--paddingSection);
  }
}

.layout-banner-entry {
  background: linear-gradient(45deg, #001b37 -50%, rgba(0, 0, 0, 0.61) 49.5%, #001b37 150%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: var(--space40) var(--space80);
}
.layout-banner-entry .item:not(:last-child) {
  padding-bottom: var(--space40);
  margin-bottom: var(--space40);
  border-bottom: 1px solid rgba(153, 161, 175, 0.6);
}
.layout-banner-entry .title {
  font-size: var(--fs20);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: var(--space32);
}
.layout-banner-entry .col-text {
  font-size: var(--fs16);
}
.layout-banner-entry .row-flex {
  display: flex;
  align-items: center;
  gap: var(--space24) var(--space64);
}
@media screen and (max-width: 959px) {
  .layout-banner-entry {
    padding: var(--space40) var(--paddingLR);
  }
  .layout-banner-entry .row-flex {
    flex-direction: column;
  }
}

.layout-banner-contact {
  text-align: center;
  padding-top: var(--space64);
  padding-bottom: var(--space80);
  background: linear-gradient(90deg, #001b37 -50%, rgba(0, 0, 0, 0.61) 49.5%, #001b37 150%);
}
.layout-banner-contact a {
  font-size: var(--fs16);
  font-weight: 500;
  text-decoration: none;
}
.layout-banner-contact .text {
  margin-top: var(--space32);
  font-size: var(--fs14);
  line-height: 1.25;
}