@charset "UTF-8";
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("https://fonts.googleapis.com/css?family=Lato:400,700&display=swap");
@import url("https://use.typekit.net/qxa5prd.css");
@font-face {
  font-family: "Thesignature";
  src: url(../fonts/Thesignature.otf) format("opentype");
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  margin: 0;
  padding: 0;
}

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

p {
  line-height: 1.6;
}

img,
video {
  border: none;
  height: auto;
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
}

code,
kbd,
pre,
samp {
  font-family: monospace, sans-serif;
  font-size: inherit;
}

ul,
ol {
  list-style: none;
}

table {
  border: 1px solid #eee;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

th,
td {
  border: 1px solid #eee;
  padding: 4px 6px;
  text-align: left;
  vertical-align: top;
}

blockquote,
q {
  quotes: none;
}

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

form {
  margin: 0;
  padding: 0;
}

form button {
  -webkit-appearance: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
}

form button:hover,
form button:focus {
  outline: none;
}

form button:hover {
  opacity: 0.6;
}

form button ::-moz-focus-inner {
  border: none;
  padding: 0;
}

input,
textarea {
  -webkit-appearance: none;
  background-image: none;
  border: 1px solid #e2e2e2;
  border-radius: 0;
  font-family: inherit;
  font-size: 1em;
  padding: 20px 24px;
  width: 100%;
}

textarea:hover,
textarea:focus {
  outline: none;
}

textarea:focus {
  border-color: #e2e2e2;
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
}

textarea ::-moz-focus-inner {
  border: none;
  padding: 0;
}

input::-webkit-input-placeholder {
  color: #e2e2e2;
}

input::-moz-placeholder {
  color: #e2e2e2;
}

input:-ms-input-placeholder {
  color: #e2e2e2;
}

input::-ms-input-placeholder {
  color: #e2e2e2;
}

input::placeholder {
  color: #e2e2e2;
}

input:focus {
  border-color: #e2e2e2;
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
}

input[type=submit],
input[type=button] {
  -webkit-appearance: none;
  background-image: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  margin: 0;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  width: auto;
}

input[type=submit]:hover,
input[type=submit]:focus,
input[type=button]:hover,
input[type=button]:focus {
  outline: none;
}

input[type=radio] {
  display: none;
}

input[type=radio] + span {
  cursor: pointer;
  display: inline-block;
  margin: 0 16px 0 0;
  padding: 0 0 0 30px;
  position: relative;
}

input[type=radio] + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
  content: "";
  width: 18px;
  display: block;
  height: 18px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

input[type=radio]:checked + span::before {
  background: #960021;
}

input[type=radio] + span::after {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}

input[type=radio]:checked + span::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  left: 5px;
  opacity: 1;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox] + span {
  cursor: pointer;
  display: inline-block;
  margin: 0 16px 0 0;
  padding: 0 0 0 30px;
  position: relative;
  -webkit-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}

input[type=checkbox] + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 2px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

input[type=checkbox] + span::after {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}

input[type=checkbox]:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  width: 16px;
  height: 10px;
  margin: -0.2em 0 0 0.1em;
  border-bottom: 3px solid #ff0000;
  border-left: 3px solid #ff0000;
  opacity: 1;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  padding: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background-image: url(../img/select-arrow.svg);
  background-position: right 6px center;
  background-repeat: no-repeat;
  background-size: 24px;
  border: 1px solid #e2e2e2;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.4em 2.4em 0.4em 0.8em;
}

select:focus {
  border-color: #e2e2e2;
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background: #fff;
  color: #1e1c1c;
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Noto Sans Japanese", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
  overflow-x: hidden;
}
body main, body footer {
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
body.open main, body.open footer {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

main {
  padding-bottom: 160px;
}

.spbr {
  display: none;
}
@media (width < 768px) {
  .spbr {
    display: block;
  }
}

.pcbr {
  display: block;
}
@media (width < 768px) {
  .pcbr {
    display: none;
  }
}

/* layout */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  z-index: 999;
}
.header > h1 {
  font-family: "Thesignature", sans-serif;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  color: #960021;
  font-size: 80px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  left: 24px;
  top: 29px;
  z-index: 0;
}
@media (width < 768px) {
  .header > h1 {
    font-size: 30px;
    top: 21px;
  }
}
.header > button {
  width: 64px;
  height: 64px;
  background-color: #040404;
  position: absolute;
  right: 36px;
  top: 20px;
  z-index: 2;
  cursor: pointer;
}
@media (width < 768px) {
  .header > button {
    width: 50px;
    height: 50px;
    right: 20px;
  }
}
.header > button div {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 25px;
  height: 4px;
  background-color: white;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (width < 768px) {
  .header > button div {
    width: 22px;
    height: 3px;
  }
}
.header > button div:nth-of-type(1) {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.header > button div:nth-of-type(2) {
  -webkit-transform: translate(-50%, calc(10px - 50%));
          transform: translate(-50%, calc(10px - 50%));
}
@media (width < 768px) {
  .header > button div:nth-of-type(2) {
    -webkit-transform: translate(-50%, calc(7.87px - 50%));
            transform: translate(-50%, calc(7.87px - 50%));
  }
}
.header > button div:nth-of-type(3) {
  -webkit-transform: translate(-50%, calc(-10px - 50%));
          transform: translate(-50%, calc(-10px - 50%));
}
@media (width < 768px) {
  .header > button div:nth-of-type(3) {
    -webkit-transform: translate(-50%, calc(-7.87px - 50%));
            transform: translate(-50%, calc(-7.87px - 50%));
  }
}
.header > nav {
  opacity: 0;
  pointer-events: none;
  background: rgba(4, 4, 4, 0.7);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100dvw;
  height: 100dvh;
  overflow-y: scroll;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 64px 20px;
}
@media (width < 768px) {
  .header > nav {
    padding: 120px 20px;
  }
}
.header > nav > .inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.header > nav > .inner > h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  color: transparent;
  -webkit-text-stroke: 1px rgb(255, 255, 255);
  margin-bottom: 32px;
}
@media (width < 768px) {
  .header > nav > .inner > h2 {
    font-size: 60px;
    line-height: 1;
  }
}
.header > nav > .inner > ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 128px;
     -moz-column-gap: 128px;
          column-gap: 128px;
  row-gap: 50px;
}
@media (width < 768px) {
  .header > nav > .inner > ul {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}
.header > nav > .inner > ul li {
  min-width: 320px;
}
@media (width < 768px) {
  .header > nav > .inner > ul li {
    min-width: 0;
    width: 100%;
  }
}
.header > nav > .inner > ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header > nav > .inner > ul li a > span {
  display: block;
  position: relative;
  color: #D9D9D9;
  font-family: "Noto Sans JP";
  font-size: 30px;
  font-style: normal;
  font-weight: 900;
  width: 38px;
  text-align: center;
  line-height: 80px;
}
@media (width < 768px) {
  .header > nav > .inner > ul li a > span {
    font-size: 18px;
    line-height: 24px;
  }
}
.header > nav > .inner > ul li a > span::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 50.804px;
  height: 50.804px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  border: 2px solid #D9D9D9;
  opacity: 0.4;
}
@media (width < 768px) {
  .header > nav > .inner > ul li a > span::before {
    width: 30px;
    height: 30px;
  }
}
.header > nav > .inner > ul li a > h3 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-left: 33px;
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}
@media (width < 768px) {
  .header > nav > .inner > ul li a > h3 {
    font-size: 12px;
    margin-left: 23px;
  }
  .header > nav > .inner > ul li a > h3 span {
    font-size: 18px;
  }
}
.header > nav > .inner > ul li a > h3 span {
  font-size: 24px;
}
.header > nav > .inner > ul li a::after {
  content: "";
  width: 35px;
  height: 35px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235%22%20height%3D%2235%22%20viewBox%3D%220%200%2035%2035%22%20fill%3D%22none%22%3E%20%3Crect%20width%3D%2234.9996%22%20height%3D%2235%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M9.25%2035L34.9997%200V35H9.25Z%22%20fill%3D%22%23E9E9E9%22%2F%3E%20%3Cpath%20d%3D%22M24.3536%2017.3536C24.5488%2017.1583%2024.5488%2016.8417%2024.3536%2016.6464L21.1716%2013.4645C20.9763%2013.2692%2020.6597%2013.2692%2020.4645%2013.4645C20.2692%2013.6597%2020.2692%2013.9763%2020.4645%2014.1716L23.2929%2017L20.4645%2019.8284C20.2692%2020.0237%2020.2692%2020.3403%2020.4645%2020.5355C20.6597%2020.7308%2020.9763%2020.7308%2021.1716%2020.5355L24.3536%2017.3536ZM10%2017.5H24V16.5H10V17.5Z%22%20fill%3D%22%231E1C1C%22%2F%3E%3C%2Fsvg%3E");
  background-size: 100%;
}
@media (width < 768px) {
  .header > nav > .inner > ul li a::after {
    width: 22px;
    height: 22px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2221.9998%22%20height%3D%2222%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M5.8125%2022L21.998%200V22H5.8125Z%22%20fill%3D%22%23E9E9E9%22%2F%3E%3Cpath%20d%3D%22M15.3536%2011.3536C15.5488%2011.1583%2015.5488%2010.8417%2015.3536%2010.6464L12.1716%207.46447C11.9763%207.2692%2011.6597%207.2692%2011.4645%207.46447C11.2692%207.65973%2011.2692%207.97631%2011.4645%208.17157L14.2929%2011L11.4645%2013.8284C11.2692%2014.0237%2011.2692%2014.3403%2011.4645%2014.5355C11.6597%2014.7308%2011.9763%2014.7308%2012.1716%2014.5355L15.3536%2011.3536ZM6%2011.5H15V10.5H6V11.5Z%22%20fill%3D%22%231E1C1C%22%2F%3E%3C%2Fsvg%3E");
  }
}
.header.open > button > div:nth-of-type(1) {
  -webkit-transform: translate(-50%, -50%) scaleX(0);
          transform: translate(-50%, -50%) scaleX(0);
}
.header.open > button > div:nth-of-type(2) {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.header.open > button > div:nth-of-type(3) {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.header.open nav {
  opacity: 1;
  pointer-events: all;
}

.footer {
  padding: 0 20px;
  background: #1e1c1c;
}
.footer__inner {
  padding: 142px 0 95px;
  max-width: 1360px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (width < 768px) {
  .footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 50px 0 80px;
  }
}
.footer__inner > p {
  color: #960021;
  font-family: "Thesignature", sans-serif;
  font-size: 80px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (width < 768px) {
  .footer__inner > p {
    font-size: 30px;
    margin-bottom: 40px;
  }
}
.footer__links > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media (width < 768px) {
  .footer__links > ul {
    gap: 16px 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.footer__links > ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  color: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}
@media (width < 768px) {
  .footer__links > ul li {
    width: 50%;
  }
  .footer__links > ul li a {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: calc(100% - 21px);
  }
}
.footer__links > ul li::before {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2215%22%20viewBox%3D%220%200%209%2015%22%20fill%3D%22none%22%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7.44986%206.03564L1.41421%200L0%201.41421L6.03564%207.44986L0.414214%2013.0713L1.82843%2014.4855L8.89949%207.41443L7.48528%206.00022L7.44986%206.03564Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  width: 8.899px;
  height: 14.485px;
  background-size: 100%;
  background-repeat: no-repeat;
}
.footer__sns {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 24px;
  margin-left: auto;
  margin-right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media (width < 768px) {
  .footer__sns {
    margin-top: 40px;
    margin-right: auto;
  }
}
.footer__sns a:nth-last-of-type(1) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%3E%20%3Cg%20opacity%3D%220.6%22%20clip-path%3D%22url(%23clip0_1354_364)%22%3E%20%3Cpath%20d%3D%22M8.78763%200.104906C7.19163%200.180206%206.10172%200.434906%205.14892%200.809306C4.16282%201.19361%203.32702%201.70931%202.49542%202.54391C1.66382%203.37851%201.15172%204.21491%200.770124%205.20251C0.400824%206.15741%200.150624%207.24821%200.0801243%208.84511C0.00962433%2010.442%20-0.00597568%2010.9553%200.00182432%2015.0287C0.00962432%2019.1021%200.0276243%2019.6127%200.105024%2021.2129C0.181224%2022.8086%200.435024%2023.8982%200.809424%2024.8513C1.19432%2025.8374%201.70942%2026.6729%202.54432%2027.5048C3.37922%2028.3367%204.21502%2028.8476%205.20502%2029.2298C6.15902%2029.5985%207.25013%2029.8499%208.84673%2029.9198C10.4433%2029.9897%2010.9572%2030.0059%2015.0294%2029.9981C19.1016%2029.9903%2019.6143%2029.9723%2021.2142%2029.8964C22.8141%2029.8205%2023.898%2029.5649%2024.8514%2029.1923C25.8375%2028.8065%2026.6736%2028.2923%2027.5049%2027.4571C28.3362%2026.6219%2028.848%2025.7849%2029.2293%2024.7967C29.5989%2023.8427%2029.85%2022.7516%2029.9193%2021.1562C29.9892%2019.5551%2030.0057%2019.0439%2029.9979%2014.9711C29.9901%2010.8983%2029.9718%2010.3877%2029.8959%208.78811C29.82%207.18851%2029.5659%206.10221%2029.1918%205.14851C28.8063%204.16241%2028.2918%203.32751%2027.4572%202.49501C26.6226%201.66251%2025.785%201.15101%2024.7971%200.770606C23.8425%200.401306%2022.752%200.149606%2021.1554%200.0806064C19.5588%200.0116064%2019.0449%20-0.00609358%2014.9712%200.00170642C10.8975%200.00950642%2010.3875%200.0269064%208.78763%200.104906ZM8.96283%2027.2213C7.50033%2027.1577%206.70622%2026.9147%206.17702%2026.7113C5.47622%2026.4413%204.97702%2026.1149%204.44962%2025.5926C3.92222%2025.0703%203.59822%2024.5693%203.32462%2023.87C3.11912%2023.3408%202.87162%2022.5476%202.80322%2021.0851C2.72882%2019.5044%202.71322%2019.0298%202.70452%2015.0251C2.69582%2011.0204%202.71112%2010.5464%202.78042%208.96511C2.84282%207.50381%203.08732%206.70881%203.29042%206.17991C3.56042%205.47821%203.88562%204.97991%204.40912%204.45281C4.93262%203.92571%205.43212%203.60111%206.13202%203.32751C6.66062%203.12111%207.45382%202.87571%208.91572%202.80611C10.4976%202.73111%2010.9716%202.71611%2014.9757%202.70741C18.9798%202.69871%2019.455%202.71371%2021.0375%202.78331C22.4988%202.84691%2023.2941%203.08901%2023.8224%203.29331C24.5235%203.56331%2025.0224%203.88761%2025.5495%204.41201C26.0766%204.93641%2026.4015%205.43411%2026.6751%206.13551C26.8818%206.66261%2027.1272%207.45551%2027.1962%208.91831C27.2715%2010.5002%2027.2886%2010.9745%2027.2958%2014.9783C27.303%2018.9821%2027.2889%2019.4576%2027.2196%2021.0383C27.1557%2022.5008%2026.9133%2023.2952%2026.7096%2023.825C26.4396%2024.5255%2026.1141%2025.025%2025.5903%2025.5518C25.0665%2026.0786%2024.5676%2026.4032%2023.8674%2026.6768C23.3394%2026.8829%2022.5453%2027.1289%2021.0846%2027.1985C19.5027%2027.2729%2019.0287%2027.2885%2015.0231%2027.2972C11.0175%2027.3059%2010.545%2027.2897%208.96312%2027.2213M21.1911%206.98301C21.1917%207.33904%2021.2979%207.6869%2021.4962%207.98259C21.6945%208.27828%2021.976%208.50852%2022.3052%208.64419C22.6344%208.77986%2022.9964%208.81487%2023.3454%208.74478C23.6945%208.6747%2024.015%208.50267%2024.2662%208.25046C24.5175%207.99825%2024.6884%207.67718%2024.7572%207.32786C24.826%206.97853%2024.7897%206.61666%2024.6528%206.28799C24.5159%205.95932%2024.2846%205.67862%2023.9882%205.4814C23.6918%205.28418%2023.3436%205.1793%2022.9875%205.18001C22.5102%205.18096%2022.0529%205.37144%2021.716%205.70955C21.3791%206.04766%2021.1903%206.50572%2021.1911%206.98301ZM7.29812%2015.0149C7.30652%2019.2689%2010.7613%2022.7096%2015.0144%2022.7015C19.2675%2022.6934%2022.7106%2019.2389%2022.7025%2014.9849C22.6944%2010.7309%2019.2387%207.28931%2014.985%207.29771C10.7313%207.30611%207.29002%2010.7615%207.29812%2015.0149ZM9.99992%2015.0095C9.99797%2014.0206%2010.2893%2013.0533%2010.8371%2012.2299C11.3849%2011.4066%2012.1645%2010.7642%2013.0774%2010.3839C13.9903%2010.0037%2014.9955%209.90266%2015.9658%2010.0937C16.9361%2010.2847%2017.828%2010.7591%2018.5286%2011.457C19.2293%2012.1549%2019.7072%2013.0449%2019.9021%2014.0144C20.0969%2014.984%2019.9999%2015.9895%2019.6233%2016.9039C19.2467%2017.8183%2018.6073%2018.6005%2017.7862%2019.1515C16.965%2019.7026%2015.9988%2019.9977%2015.0099%2019.9997C14.3533%2020.0011%2013.7028%2019.8731%2013.0956%2019.623C12.4884%2019.373%2011.9365%2019.0058%2011.4712%2018.5424C11.006%2018.079%2010.6366%2017.5285%2010.3842%2016.9223C10.1317%2016.3161%2010.0011%2015.6662%209.99992%2015.0095Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_1354_364%22%3E%20%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E");
  width: 30px;
  height: 30px;
  background-size: 100%;
}
.footer__sns a:nth-last-of-type(2) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2230%22%20viewBox%3D%220%200%2029%2030%22%20fill%3D%22none%22%3E%20%3Cg%20opacity%3D%220.6%22%20clip-path%3D%22url(%23clip0_1354_366)%22%3E%20%3Cpath%20d%3D%22M17.2589%2012.6964L28.0548%200H25.4966L16.1225%2011.0241L8.63543%200H0L11.3219%2016.6704L0%2029.9846H2.55843L12.4577%2018.3427L20.3646%2029.9846H29L17.2583%2012.6964H17.2589ZM13.7548%2016.8173L12.6077%2015.1573L3.48027%201.94852H7.40986L14.7758%2012.6084L15.9229%2014.2684L25.4978%2028.1247H21.5682L13.7548%2016.8179V16.8173Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_1354_366%22%3E%20%3Crect%20width%3D%2229%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E");
  width: 29px;
  height: 30px;
  background-size: 100%;
}
.footer > small {
  display: block;
  color: #fff;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  width: 100%;
  padding-bottom: 24px;
}

.container {
  padding-left: 20px;
  padding-right: 20px;
}
.container__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

.underpage {
  position: relative;
  background-color: #1e1c1c;
  width: 100dvw;
}
.underpage::after {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 980px;
  width: 100%;
  height: calc(100% - 980px);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221920%22%20height%3D%224369%22%20viewBox%3D%220%200%201920%204369%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cmask%20id%3D%22mask0_3091_308%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%221920%22%20height%3D%224369%22%3E%3Crect%20width%3D%221920%22%20height%3D%224369%22%20fill%3D%22%23D9D9D9%22%2F%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url(%23mask0_3091_308)%22%3E%3Crect%20width%3D%221920%22%20height%3D%224369%22%20fill%3D%22%231E1C1C%22%2F%3E%3Cpath%20d%3D%22M1920.27%204368.54L-47.999%202400.27L1920.27%20432L1920.27%204368.54Z%22%20fill%3D%22%23232323%22%2F%3E%3Cg%20style%3D%22mix-blend-mode%3Aoverlay%22%3E%3Cpath%20d%3D%22M-349%20703H142V1194L-349%20703Z%22%20fill%3D%22%23960021%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M-0.392578%200L418.215%20418.607L-0.392578%20837.214V0Z%22%20fill%3D%22%23232323%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: 100%;
  z-index: 1;
}
.underpage_container {
  position: relative;
  width: 100vw;
  z-index: 2;
  padding-left: 80px;
  padding-right: 80px;
  padding-top: 245px;
}
@media (width < 768px) {
  .underpage_container {
    padding-top: 143px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.underpage_container__img {
  position: absolute;
  width: 100%;
  max-width: 83vw;
  aspect-ratio: 1;
  -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
          clip-path: polygon(0 0, 100% 100%, 100% 0);
  overflow: hidden;
  right: 0;
  top: 0;
}
@media (width < 768px) {
  .underpage_container__img {
    max-width: none;
  }
}
.underpage_container__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.underpage_container__img::before {
  content: "";
  background: #1e1c1c;
  opacity: 0.5;
  width: 100%;
  aspect-ratio: 1;
  position: absolute;
  right: 0;
  bottom: 0;
}
.underpage_container__img::after {
  content: "";
  background: #960021;
  mix-blend-mode: overlay;
  width: 25vw;
  aspect-ratio: 1;
  position: absolute;
  right: 0;
  bottom: 0;
}
.underpage_container__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.underpage__sns {
  position: fixed;
  left: 36px;
  top: 80vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 99;
}
@media (width < 768px) {
  .underpage__sns {
    display: none;
  }
}
.underpage__sns a:nth-last-of-type(2) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2230%22%20viewBox%3D%220%200%2029%2030%22%20fill%3D%22none%22%3E%20%3Cg%20opacity%3D%220.6%22%20clip-path%3D%22url(%23clip0_1354_366)%22%3E%20%3Cpath%20d%3D%22M17.2589%2012.6964L28.0548%200H25.4966L16.1225%2011.0241L8.63543%200H0L11.3219%2016.6704L0%2029.9846H2.55843L12.4577%2018.3427L20.3646%2029.9846H29L17.2583%2012.6964H17.2589ZM13.7548%2016.8173L12.6077%2015.1573L3.48027%201.94852H7.40986L14.7758%2012.6084L15.9229%2014.2684L25.4978%2028.1247H21.5682L13.7548%2016.8179V16.8173Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_1354_366%22%3E%20%3Crect%20width%3D%2229%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E");
  width: 29px;
  height: 30px;
  background-size: 100%;
}
.underpage__sns a:nth-last-of-type(1) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%3E%20%3Cg%20opacity%3D%220.6%22%20clip-path%3D%22url(%23clip0_1354_364)%22%3E%20%3Cpath%20d%3D%22M8.78763%200.104906C7.19163%200.180206%206.10172%200.434906%205.14892%200.809306C4.16282%201.19361%203.32702%201.70931%202.49542%202.54391C1.66382%203.37851%201.15172%204.21491%200.770124%205.20251C0.400824%206.15741%200.150624%207.24821%200.0801243%208.84511C0.00962433%2010.442%20-0.00597568%2010.9553%200.00182432%2015.0287C0.00962432%2019.1021%200.0276243%2019.6127%200.105024%2021.2129C0.181224%2022.8086%200.435024%2023.8982%200.809424%2024.8513C1.19432%2025.8374%201.70942%2026.6729%202.54432%2027.5048C3.37922%2028.3367%204.21502%2028.8476%205.20502%2029.2298C6.15902%2029.5985%207.25013%2029.8499%208.84673%2029.9198C10.4433%2029.9897%2010.9572%2030.0059%2015.0294%2029.9981C19.1016%2029.9903%2019.6143%2029.9723%2021.2142%2029.8964C22.8141%2029.8205%2023.898%2029.5649%2024.8514%2029.1923C25.8375%2028.8065%2026.6736%2028.2923%2027.5049%2027.4571C28.3362%2026.6219%2028.848%2025.7849%2029.2293%2024.7967C29.5989%2023.8427%2029.85%2022.7516%2029.9193%2021.1562C29.9892%2019.5551%2030.0057%2019.0439%2029.9979%2014.9711C29.9901%2010.8983%2029.9718%2010.3877%2029.8959%208.78811C29.82%207.18851%2029.5659%206.10221%2029.1918%205.14851C28.8063%204.16241%2028.2918%203.32751%2027.4572%202.49501C26.6226%201.66251%2025.785%201.15101%2024.7971%200.770606C23.8425%200.401306%2022.752%200.149606%2021.1554%200.0806064C19.5588%200.0116064%2019.0449%20-0.00609358%2014.9712%200.00170642C10.8975%200.00950642%2010.3875%200.0269064%208.78763%200.104906ZM8.96283%2027.2213C7.50033%2027.1577%206.70622%2026.9147%206.17702%2026.7113C5.47622%2026.4413%204.97702%2026.1149%204.44962%2025.5926C3.92222%2025.0703%203.59822%2024.5693%203.32462%2023.87C3.11912%2023.3408%202.87162%2022.5476%202.80322%2021.0851C2.72882%2019.5044%202.71322%2019.0298%202.70452%2015.0251C2.69582%2011.0204%202.71112%2010.5464%202.78042%208.96511C2.84282%207.50381%203.08732%206.70881%203.29042%206.17991C3.56042%205.47821%203.88562%204.97991%204.40912%204.45281C4.93262%203.92571%205.43212%203.60111%206.13202%203.32751C6.66062%203.12111%207.45382%202.87571%208.91572%202.80611C10.4976%202.73111%2010.9716%202.71611%2014.9757%202.70741C18.9798%202.69871%2019.455%202.71371%2021.0375%202.78331C22.4988%202.84691%2023.2941%203.08901%2023.8224%203.29331C24.5235%203.56331%2025.0224%203.88761%2025.5495%204.41201C26.0766%204.93641%2026.4015%205.43411%2026.6751%206.13551C26.8818%206.66261%2027.1272%207.45551%2027.1962%208.91831C27.2715%2010.5002%2027.2886%2010.9745%2027.2958%2014.9783C27.303%2018.9821%2027.2889%2019.4576%2027.2196%2021.0383C27.1557%2022.5008%2026.9133%2023.2952%2026.7096%2023.825C26.4396%2024.5255%2026.1141%2025.025%2025.5903%2025.5518C25.0665%2026.0786%2024.5676%2026.4032%2023.8674%2026.6768C23.3394%2026.8829%2022.5453%2027.1289%2021.0846%2027.1985C19.5027%2027.2729%2019.0287%2027.2885%2015.0231%2027.2972C11.0175%2027.3059%2010.545%2027.2897%208.96312%2027.2213M21.1911%206.98301C21.1917%207.33904%2021.2979%207.6869%2021.4962%207.98259C21.6945%208.27828%2021.976%208.50852%2022.3052%208.64419C22.6344%208.77986%2022.9964%208.81487%2023.3454%208.74478C23.6945%208.6747%2024.015%208.50267%2024.2662%208.25046C24.5175%207.99825%2024.6884%207.67718%2024.7572%207.32786C24.826%206.97853%2024.7897%206.61666%2024.6528%206.28799C24.5159%205.95932%2024.2846%205.67862%2023.9882%205.4814C23.6918%205.28418%2023.3436%205.1793%2022.9875%205.18001C22.5102%205.18096%2022.0529%205.37144%2021.716%205.70955C21.3791%206.04766%2021.1903%206.50572%2021.1911%206.98301ZM7.29812%2015.0149C7.30652%2019.2689%2010.7613%2022.7096%2015.0144%2022.7015C19.2675%2022.6934%2022.7106%2019.2389%2022.7025%2014.9849C22.6944%2010.7309%2019.2387%207.28931%2014.985%207.29771C10.7313%207.30611%207.29002%2010.7615%207.29812%2015.0149ZM9.99992%2015.0095C9.99797%2014.0206%2010.2893%2013.0533%2010.8371%2012.2299C11.3849%2011.4066%2012.1645%2010.7642%2013.0774%2010.3839C13.9903%2010.0037%2014.9955%209.90266%2015.9658%2010.0937C16.9361%2010.2847%2017.828%2010.7591%2018.5286%2011.457C19.2293%2012.1549%2019.7072%2013.0449%2019.9021%2014.0144C20.0969%2014.984%2019.9999%2015.9895%2019.6233%2016.9039C19.2467%2017.8183%2018.6073%2018.6005%2017.7862%2019.1515C16.965%2019.7026%2015.9988%2019.9977%2015.0099%2019.9997C14.3533%2020.0011%2013.7028%2019.8731%2013.0956%2019.623C12.4884%2019.373%2011.9365%2019.0058%2011.4712%2018.5424C11.006%2018.079%2010.6366%2017.5285%2010.3842%2016.9223C10.1317%2016.3161%2010.0011%2015.6662%209.99992%2015.0095Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_1354_364%22%3E%20%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E");
  width: 30px;
  height: 30px;
  background-size: 100%;
}
.underpage__title {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  line-height: normal;
  color: transparent;
  -webkit-text-stroke: 1px rgb(255, 255, 255);
  margin-bottom: 32px;
}
.underpage__title--achievements img {
  width: 1280px;
  height: 127px;
}
@media (width < 768px) {
  .underpage__title--achievements img {
    width: 326px;
    height: 138px;
  }
}
.underpage__title--contact img {
  width: 938px;
  height: 182px;
}
@media (width < 768px) {
  .underpage__title--contact img {
    width: 306px;
    height: 62px;
  }
}
.underpage__title--company img {
  width: 938px;
  height: 172px;
}
@media (width < 768px) {
  .underpage__title--company img {
    width: 351px;
    height: 60px;
  }
}
.underpage__title--company img {
  width: 938px;
  height: 172px;
}
@media (width < 768px) {
  .underpage__title--company img {
    width: 351px;
    height: 60px;
  }
}
.underpage__title--thanks img {
  width: 868px;
  height: 164px;
}
@media (width < 768px) {
  .underpage__title--thanks img {
    width: 290px;
    height: 60px;
  }
}
.underpage__title--privacyPolicy img {
  width: 1100px;
  height: 108px;
}
@media (width < 768px) {
  .underpage__title--privacyPolicy img {
    width: 302px;
    height: 128px;
  }
}

.top {
  background-color: lightgray;
  background-size: cover;
  background-repeat: repeat;
  overflow: hidden;
}
.top__heading > span {
  opacity: 0.4;
  display: block;
  position: relative;
  color: #d9d9d9;
  font-family: "Noto Sans JP";
  font-size: 80px;
  font-style: normal;
  font-weight: 900;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 80px;
}
@media (width < 768px) {
  .top__heading > span {
    font-size: 30px;
  }
}
.top__heading > span::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 130px;
  height: 130px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  border: 2px solid #d9d9d9;
  opacity: 0.4;
}
@media (width < 768px) {
  .top__heading > span::before {
    width: 50px;
    height: 50px;
  }
}
.top__btn {
  display: block;
  min-width: 414px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 70px;
  background-color: #fff;
  color: #1e1c1c;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 74px;
  padding-left: 32px;
  padding-right: 80px;
  overflow: hidden;
  cursor: pointer;
}
@media (width < 768px) {
  .top__btn {
    height: 50px;
    width: 100%;
    min-width: 0;
    max-width: 260px;
    font-size: 16px;
    white-space: nowrap;
    padding-left: 16px;
    margin-top: 48px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.2;
  }
}
.top__btn:hover span:first-of-type {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.top__btn:hover i {
  right: 30px;
}
@media (width < 768px) {
  .top__btn:hover i {
    right: 10px;
  }
}
.top__btn span {
  z-index: 2;
}
.top__btn span:first-of-type {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  pointer-events: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.top__btn span:first-of-type::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #e9e9e9;
}
.top__btn span:first-of-type::after {
  content: "";
  width: 166px;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);
          clip-path: polygon(100% 0, 0 0, 0 100%);
  background-color: #e9e9e9;
}
.top__btn i {
  position: absolute;
  top: 50%;
  right: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2223%22%20height%3D%2216%22%20viewBox%3D%220%200%2023%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.7071%208.70711C23.0976%208.31658%2023.0976%207.68342%2022.7071%207.2929L16.3431%200.928934C15.9526%200.538409%2015.3195%200.538409%2014.9289%200.928933C14.5384%201.31946%2014.5384%201.95262%2014.9289%202.34315L20.5858%208L14.9289%2013.6569C14.5384%2014.0474%2014.5384%2014.6805%2014.9289%2015.0711C15.3195%2015.4616%2015.9526%2015.4616%2016.3431%2015.0711L22.7071%208.70711ZM-8.74228e-08%209L22%209L22%207L8.74228e-08%207L-8.74228e-08%209Z%22%20fill%3D%22%231E1C1C%22%2F%3E%3C%2Fsvg%3E");
  width: 23px;
  height: 16px;
  background-size: 100%;
  background-repeat: no-repeat;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 2;
}
@media (width < 768px) {
  .top__btn i {
    right: 16px;
  }
}
.top__btn::before {
  content: "";
  width: 166px;
  height: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background-color: #e9e9e9;
  z-index: 1;
}
@media (width < 768px) {
  .top__btn::before {
    width: 229px;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
            clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  }
}
.top__btn.black {
  background: #1e1c1c;
  color: #fff;
}
.top__btn.black span:first-of-type::before, .top__btn.black span:first-of-type::after {
  background-color: #161515;
}
.top__btn.black i {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2223%22%20height%3D%2216%22%20viewBox%3D%220%200%2023%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.7071%208.70711C23.0976%208.31658%2023.0976%207.68342%2022.7071%207.2929L16.3431%200.928934C15.9526%200.538409%2015.3195%200.538409%2014.9289%200.928933C14.5384%201.31946%2014.5384%201.95262%2014.9289%202.34315L20.5858%208L14.9289%2013.6569C14.5384%2014.0474%2014.5384%2014.6805%2014.9289%2015.0711C15.3195%2015.4616%2015.9526%2015.4616%2016.3431%2015.0711L22.7071%208.70711ZM-8.74228e-08%209L22%209L22%207L8.74228e-08%207L-8.74228e-08%209Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}
.top__btn.black::before {
  background-color: #161515;
}
@media (width < 768px) {
  .top .top__btn--wide {
    height: 70px;
  }
}
.top_mv {
  background-size: cover;
  position: relative;
  height: 698px;
  width: 100dvw;
  background-color: black;
}
@media (width < 768px) {
  .top_mv {
    padding: 80px 20px 0;
    height: 597px;
  }
}
.top_mv__sns {
  position: fixed;
  left: 36px;
  top: 574px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 99;
}
@media (width < 768px) {
  .top_mv__sns {
    display: none;
  }
}
.top_mv__sns a:nth-last-of-type(2) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2230%22%20viewBox%3D%220%200%2029%2030%22%20fill%3D%22none%22%3E%20%3Cg%20opacity%3D%220.6%22%20clip-path%3D%22url(%23clip0_1354_366)%22%3E%20%3Cpath%20d%3D%22M17.2589%2012.6964L28.0548%200H25.4966L16.1225%2011.0241L8.63543%200H0L11.3219%2016.6704L0%2029.9846H2.55843L12.4577%2018.3427L20.3646%2029.9846H29L17.2583%2012.6964H17.2589ZM13.7548%2016.8173L12.6077%2015.1573L3.48027%201.94852H7.40986L14.7758%2012.6084L15.9229%2014.2684L25.4978%2028.1247H21.5682L13.7548%2016.8179V16.8173Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_1354_366%22%3E%20%3Crect%20width%3D%2229%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E");
  width: 29px;
  height: 30px;
  background-size: 100%;
}
.top_mv__sns a:nth-last-of-type(1) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%3E%20%3Cg%20opacity%3D%220.6%22%20clip-path%3D%22url(%23clip0_1354_364)%22%3E%20%3Cpath%20d%3D%22M8.78763%200.104906C7.19163%200.180206%206.10172%200.434906%205.14892%200.809306C4.16282%201.19361%203.32702%201.70931%202.49542%202.54391C1.66382%203.37851%201.15172%204.21491%200.770124%205.20251C0.400824%206.15741%200.150624%207.24821%200.0801243%208.84511C0.00962433%2010.442%20-0.00597568%2010.9553%200.00182432%2015.0287C0.00962432%2019.1021%200.0276243%2019.6127%200.105024%2021.2129C0.181224%2022.8086%200.435024%2023.8982%200.809424%2024.8513C1.19432%2025.8374%201.70942%2026.6729%202.54432%2027.5048C3.37922%2028.3367%204.21502%2028.8476%205.20502%2029.2298C6.15902%2029.5985%207.25013%2029.8499%208.84673%2029.9198C10.4433%2029.9897%2010.9572%2030.0059%2015.0294%2029.9981C19.1016%2029.9903%2019.6143%2029.9723%2021.2142%2029.8964C22.8141%2029.8205%2023.898%2029.5649%2024.8514%2029.1923C25.8375%2028.8065%2026.6736%2028.2923%2027.5049%2027.4571C28.3362%2026.6219%2028.848%2025.7849%2029.2293%2024.7967C29.5989%2023.8427%2029.85%2022.7516%2029.9193%2021.1562C29.9892%2019.5551%2030.0057%2019.0439%2029.9979%2014.9711C29.9901%2010.8983%2029.9718%2010.3877%2029.8959%208.78811C29.82%207.18851%2029.5659%206.10221%2029.1918%205.14851C28.8063%204.16241%2028.2918%203.32751%2027.4572%202.49501C26.6226%201.66251%2025.785%201.15101%2024.7971%200.770606C23.8425%200.401306%2022.752%200.149606%2021.1554%200.0806064C19.5588%200.0116064%2019.0449%20-0.00609358%2014.9712%200.00170642C10.8975%200.00950642%2010.3875%200.0269064%208.78763%200.104906ZM8.96283%2027.2213C7.50033%2027.1577%206.70622%2026.9147%206.17702%2026.7113C5.47622%2026.4413%204.97702%2026.1149%204.44962%2025.5926C3.92222%2025.0703%203.59822%2024.5693%203.32462%2023.87C3.11912%2023.3408%202.87162%2022.5476%202.80322%2021.0851C2.72882%2019.5044%202.71322%2019.0298%202.70452%2015.0251C2.69582%2011.0204%202.71112%2010.5464%202.78042%208.96511C2.84282%207.50381%203.08732%206.70881%203.29042%206.17991C3.56042%205.47821%203.88562%204.97991%204.40912%204.45281C4.93262%203.92571%205.43212%203.60111%206.13202%203.32751C6.66062%203.12111%207.45382%202.87571%208.91572%202.80611C10.4976%202.73111%2010.9716%202.71611%2014.9757%202.70741C18.9798%202.69871%2019.455%202.71371%2021.0375%202.78331C22.4988%202.84691%2023.2941%203.08901%2023.8224%203.29331C24.5235%203.56331%2025.0224%203.88761%2025.5495%204.41201C26.0766%204.93641%2026.4015%205.43411%2026.6751%206.13551C26.8818%206.66261%2027.1272%207.45551%2027.1962%208.91831C27.2715%2010.5002%2027.2886%2010.9745%2027.2958%2014.9783C27.303%2018.9821%2027.2889%2019.4576%2027.2196%2021.0383C27.1557%2022.5008%2026.9133%2023.2952%2026.7096%2023.825C26.4396%2024.5255%2026.1141%2025.025%2025.5903%2025.5518C25.0665%2026.0786%2024.5676%2026.4032%2023.8674%2026.6768C23.3394%2026.8829%2022.5453%2027.1289%2021.0846%2027.1985C19.5027%2027.2729%2019.0287%2027.2885%2015.0231%2027.2972C11.0175%2027.3059%2010.545%2027.2897%208.96312%2027.2213M21.1911%206.98301C21.1917%207.33904%2021.2979%207.6869%2021.4962%207.98259C21.6945%208.27828%2021.976%208.50852%2022.3052%208.64419C22.6344%208.77986%2022.9964%208.81487%2023.3454%208.74478C23.6945%208.6747%2024.015%208.50267%2024.2662%208.25046C24.5175%207.99825%2024.6884%207.67718%2024.7572%207.32786C24.826%206.97853%2024.7897%206.61666%2024.6528%206.28799C24.5159%205.95932%2024.2846%205.67862%2023.9882%205.4814C23.6918%205.28418%2023.3436%205.1793%2022.9875%205.18001C22.5102%205.18096%2022.0529%205.37144%2021.716%205.70955C21.3791%206.04766%2021.1903%206.50572%2021.1911%206.98301ZM7.29812%2015.0149C7.30652%2019.2689%2010.7613%2022.7096%2015.0144%2022.7015C19.2675%2022.6934%2022.7106%2019.2389%2022.7025%2014.9849C22.6944%2010.7309%2019.2387%207.28931%2014.985%207.29771C10.7313%207.30611%207.29002%2010.7615%207.29812%2015.0149ZM9.99992%2015.0095C9.99797%2014.0206%2010.2893%2013.0533%2010.8371%2012.2299C11.3849%2011.4066%2012.1645%2010.7642%2013.0774%2010.3839C13.9903%2010.0037%2014.9955%209.90266%2015.9658%2010.0937C16.9361%2010.2847%2017.828%2010.7591%2018.5286%2011.457C19.2293%2012.1549%2019.7072%2013.0449%2019.9021%2014.0144C20.0969%2014.984%2019.9999%2015.9895%2019.6233%2016.9039C19.2467%2017.8183%2018.6073%2018.6005%2017.7862%2019.1515C16.965%2019.7026%2015.9988%2019.9977%2015.0099%2019.9997C14.3533%2020.0011%2013.7028%2019.8731%2013.0956%2019.623C12.4884%2019.373%2011.9365%2019.0058%2011.4712%2018.5424C11.006%2018.079%2010.6366%2017.5285%2010.3842%2016.9223C10.1317%2016.3161%2010.0011%2015.6662%209.99992%2015.0095Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_1354_364%22%3E%20%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E");
  width: 30px;
  height: 30px;
  background-size: 100%;
}
.top_mv__video {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.top_mv__video > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_mv__bg {
  position: absolute;
  width: 100%;
  height: 133px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 35.3%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 35.3%, 0 100%);
  background-color: #1e1c1c;
  top: 0;
  left: 0;
  z-index: 2;
}
@media (width < 768px) {
  .top_mv__bg {
    height: 80px;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 50%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 50%, 0 100%);
  }
}
.top_mv__bg2 {
  position: absolute;
  width: 518px;
  height: 100%;
  -webkit-clip-path: polygon(9.2% 0, 100% 0, 100% 100%, 0 9.2%);
          clip-path: polygon(9.2% 0, 100% 0, 100% 100%, 0 9.2%);
  background: #960021;
  mix-blend-mode: overlay;
  top: 0;
  right: 0;
  z-index: 2;
}
@media (width < 768px) {
  .top_mv__bg2 {
    display: none;
  }
}
.top_mv__txt {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: white;
}
@media (width < 768px) {
  .top_mv__txt {
    position: relative;
    left: 0;
    top: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.top_mv__txt h2 {
  font-size: 120px;
  font-weight: 900;
  line-height: 120px;
  text-align: left;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  margin-bottom: 60px;
  white-space: nowrap;
}
.top_mv__txt h2 span {
  font-size: 100px;
}
@media (width < 768px) {
  .top_mv__txt h2 {
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 107px;
  }
  .top_mv__txt h2 span {
    font-size: 30px;
  }
}
.top_mv__txt strong {
  font-family: "Thesignature", sans-serif;
  font-size: 80px;
  font-weight: 400;
  line-height: 82.8px;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  position: absolute;
  left: 181px;
  top: 191px;
  color: #960021;
  white-space: nowrap;
}
@media (width < 768px) {
  .top_mv__txt strong {
    font-size: 30px;
    position: absolute;
    left: -10px;
    top: 90px;
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
}
.top_mv__txt p {
  font-size: 20px;
  font-weight: 700;
  line-height: 28.96px;
}
@media (width < 768px) {
  .top_mv__txt p {
    font-size: 14px;
    line-height: 26px;
  }
}
.top_media {
  background: #1e1c1c;
  width: 100dvw;
  height: auto;
  padding: 20px 16px;
}
@media (width < 768px) {
  .top_media {
    padding-left: 0;
    padding-right: 0;
  }
  .top_media .container__inner {
    padding: 0 33px;
  }
}
@media (max-width: 1680px) {
  .top_media__heading {
    padding: 0 150px;
  }
}
@media (width < 768px) {
  .top_media__heading {
    padding: 0;
  }
}
.top_media__heading__container {
  position: relative;
}
.top_media__heading__inner {
  position: absolute;
  top: -129px;
  left: -4px;
}
@media (width < 768px) {
  .top_media__heading__inner {
    top: -110px;
    left: -10px;
  }
}
.top_media__heading__inner h2 {
  position: relative;
  z-index: 4;
  font-family: "Noto Sans JP", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 0.8;
}
.top_media__heading__inner h2 svg {
  margin-bottom: 10px;
  margin-top: 20px;
}
@media (width < 768px) {
  .top_media__heading__inner h2 {
    font-size: 14px;
  }
}
.top_media__heading__inner::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: -68px;
  right: 10px;
  display: block;
  width: 246.037px;
  height: 246.037px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #960021;
  mix-blend-mode: overlay;
}
@media (width < 768px) {
  .top_media__heading__inner::before {
    width: 199.28px;
    aspect-ratio: 1;
    height: auto;
    top: -63px;
    right: -5px;
  }
}
.top_media__heading__inner::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: -23px;
  right: -116px;
  display: block;
  width: 267.099px;
  height: 267.099px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  flex-shrink: 0;
  background: #1e1c1c;
}
@media (width < 768px) {
  .top_media__heading__inner::after {
    width: 168.28px;
    aspect-ratio: 1;
    height: auto;
    top: -45px;
    right: -50px;
  }
}
.top_media__heading__inner > div {
  position: absolute;
  top: -68px;
  right: 10px;
  display: block;
  width: 246.037px;
  height: 246.037px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 1;
  background: #1e1c1c;
  opacity: 0.8;
}
@media (width < 768px) {
  .top_media__heading__inner > div {
    width: 199.28px;
    aspect-ratio: 1;
    height: auto;
    top: -63px;
    right: -5px;
  }
}
.top_media__content {
  position: relative;
  z-index: 5;
}
@media (width < 768px) {
  .top_media__content ul {
    display: block;
    gap: unset;
  }
}
.top_media__content ul li {
  aspect-ratio: 237/157;
  background: #373636;
  margin: 0 16px;
}
@media (width < 768px) {
  .top_media__content ul li {
    margin: 0 4px;
  }
}
.top_media__content ul li a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.top_media__content ul li a img {
  width: 100%; /* 画像をスライダーの幅にフィット */
  height: 100%; /* 高さもスライダー枠にフィット */
  -o-object-fit: cover;
     object-fit: cover; /* アスペクト比を保ちながら全体を埋める */
  display: block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.top_media__content ul li a:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top_story {
  padding: 160px 245px 0;
  position: relative;
}
@media (width < 768px) {
  .top_story {
    padding: 295px 0 0;
  }
}
.top_story h3 {
  color: #fff;
  font-size: 90px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  position: relative;
}
@media (width < 768px) {
  .top_story h3 {
    font-size: 50px;
  }
}
.top_story h3 small {
  font-size: 60px;
  display: inline-block;
  -webkit-transform: translate(3px, 10px);
          transform: translate(3px, 10px);
}
@media (width < 768px) {
  .top_story h3 small {
    font-size: 30px;
    -webkit-transform: translate(0px, 2px);
            transform: translate(0px, 2px);
  }
}
.top_story h3 span {
  position: absolute;
  top: -44px;
  left: -52px;
}
@media (width < 768px) {
  .top_story h3 span {
    top: -49px;
    left: -10px;
  }
}
.top_story strong {
  margin-top: 40px;
}
@media (width < 768px) {
  .top_story strong {
    margin-top: 24px;
  }
}
.top_story strong span {
  content: attr(text);
  position: relative;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 58px;
  color: transparent;
  font-size: 40px;
  font-style: normal;
  font-weight: 900;
  line-height: 58px;
  overflow: hidden;
}
@media (width < 768px) {
  .top_story strong span {
    display: block;
    font-size: 26px;
    height: 38px;
    line-height: 37px;
  }
  .top_story strong span:last-of-type {
    padding-left: 14px;
  }
  .top_story strong span:last-of-type::after {
    padding-left: 14px;
  }
}
.top_story strong span::before {
  content: "";
  position: absolute;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.top_story strong span::after {
  content: attr(text);
  position: absolute;
  left: 0;
  top: 0;
  color: #1e1c1c;
  width: 100%;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.top_story p {
  color: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 34px; /* 212.5% */
  margin-top: 40px;
}
@media (width < 768px) {
  .top_story p {
    font-size: 14px;
    line-height: 30px;
  }
}
.top_story__img {
  position: absolute;
  right: 0;
  top: 0;
  width: 957px;
  max-width: 50vw;
  pointer-events: none;
}
@media (width < 768px) {
  .top_story__img {
    max-width: none;
    max-width: 84%;
    width: 380px;
  }
}
.top_story__txt {
  position: absolute;
  left: 0;
  top: 0;
}
@media (width < 768px) {
  .top_story__txt {
    top: 24px;
  }
}
.top_message {
  padding: 220px 100px 0;
  position: relative;
}
@media (width < 768px) {
  .top_message {
    padding: 298px 0 0;
  }
}
@media (width >= 768px) {
  .top_message .container__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.top_message h3 {
  position: relative;
}
@media (width < 768px) {
  .top_message h3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    z-index: 2;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    white-space: nowrap;
  }
}
.top_message h3 p {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  color: #fff;
  font-size: 90px;
  font-style: normal;
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0.08em;
}
@media (width < 768px) {
  .top_message h3 p {
    font-size: 50px;
  }
  .top_message h3 p small:first-of-type {
    font-size: 30px;
  }
  .top_message h3 p small:last-of-type {
    font-size: 40px;
  }
}
.top_message h3 p small {
  font-size: 68px;
}
.top_message h3 span {
  position: absolute;
  left: 120px;
  top: -44px;
}
@media (width < 768px) {
  .top_message h3 span {
    left: 64px;
    top: -56px;
  }
}
.top_message__content {
  max-width: 1030px;
  width: 100%;
  margin-top: 60px;
}
@media (width < 768px) {
  .top_message__content {
    margin-top: -230px;
    position: relative;
    z-index: 1;
  }
}
.top_message__content__img {
  position: relative;
  z-index: 1;
}
.top_message__content__img picture img {
  aspect-ratio: 281/181;
}
@media (width >= 768px) {
  .top_message__content__img picture img {
    width: 748px;
    height: 482px;
  }
}
.top_message__content__box {
  position: relative;
  background-color: #fff;
}
@media (width >= 768px) {
  .top_message__content__box {
    z-index: 2;
    width: 714px;
    padding: 64px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
    margin-right: 0;
    margin-top: -215px;
  }
}
@media (width < 768px) {
  .top_message__content__box {
    padding: 40px 15px;
  }
}
.top_message__content__box p {
  color: #1e1c1c;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 34px; /* 212.5% */
}
@media (width < 768px) {
  .top_message__content__box p {
    font-size: 14px;
    line-height: 30px;
  }
}
.top_message__pattern {
  position: absolute;
  width: 358.206px;
  height: 358.206px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #1e1c1c;
  -webkit-transform-origin: center;
          transform-origin: center;
  left: -178px;
  top: -68px;
}
@media (width < 768px) {
  .top_message__pattern {
    width: 223.95px;
    height: 223.95px;
    top: -36px;
    left: -185px;
  }
}
.top_message__txt {
  position: absolute;
  left: 0;
  top: 200px;
  z-index: 2;
}
@media (width < 768px) {
  .top_message__txt {
    top: 170px;
    left: 4px;
  }
}
.top_achievements {
  padding: 224px 100px 0;
  position: relative;
  color: #1e1c1c;
}
@media (width < 768px) {
  .top_achievements {
    padding: 224px 0 0;
  }
}
.top_achievements .container {
  position: relative;
  z-index: 1;
}
.top_achievements h3 > span, .top_achievements h3 > span::before {
  opacity: 1;
}
.top_achievements h3 > span {
  position: absolute;
  z-index: 1;
  top: -10px;
  left: -49px;
}
@media (width < 768px) {
  .top_achievements h3 > span {
    top: -33px;
    left: -6px;
  }
}
.top_achievements h3 p {
  position: relative;
  z-index: 2;
  color: #1e1c1c;
  font-size: 90px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}
@media (width < 768px) {
  .top_achievements h3 p {
    font-size: 40px;
    line-height: 1.3;
  }
}
.top_achievements h3 p small {
  font-size: 60px;
  margin-right: 7px;
}
@media (width < 768px) {
  .top_achievements h3 p small {
    font-size: 30px;
  }
}
.top_achievements__content {
  margin-top: 32px;
}
.top_achievements__content p {
  color: #1e1c1c;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 34px; /* 212.5% */
}
@media (width < 768px) {
  .top_achievements__content p {
    font-size: 14px;
    line-height: 30px;
  }
}
.top_achievements::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%) rotate(15.309deg);
          transform: translate(-50%, 50%) rotate(15.309deg);
  height: 150%;
  width: 143vw;
  background-color: #fff;
  z-index: 0;
  pointer-events: none;
}
@media (width < 768px) {
  .top_achievements::after {
    width: 300vw;
  }
}
.top_achievements__img {
  position: absolute;
  right: 0;
  top: -120px;
  width: 652px;
  pointer-events: none;
  z-index: 2;
  max-width: 34vw;
}
@media (width < 768px) {
  .top_achievements__img {
    max-width: none;
    width: 171px;
    top: 0;
  }
}
.top_project {
  padding-top: 460px;
  padding-bottom: 217px;
  position: relative;
  color: #1e1c1c;
}
@media (width < 768px) {
  .top_project {
    padding-top: 120px;
    padding-bottom: 157px;
  }
}
.top_project .container {
  position: relative;
  z-index: 1;
}
@media (width >= 768px) {
  .top_project .container {
    margin-left: 50%;
  }
}
@media (width < 768px) {
  .top_project h3 {
    margin-top: 40px;
  }
}
.top_project h3 > span, .top_project h3 > span::before {
  opacity: 1;
}
.top_project h3 > span {
  position: absolute;
  z-index: 1;
  top: -10px;
  left: -49px;
}
@media (width < 768px) {
  .top_project h3 > span {
    top: -49px;
    left: -7px;
  }
}
.top_project h3 p {
  position: relative;
  z-index: 2;
  color: #1e1c1c;
  font-size: 90px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}
@media (width < 768px) {
  .top_project h3 p {
    font-size: 30px;
  }
}
.top_project h3 p small {
  font-size: 60px;
  margin-right: 7px;
}
@media (width < 768px) {
  .top_project h3 p small {
    font-size: 30px;
  }
}
.top_project__content {
  margin-top: 32px;
}
.top_project__content p {
  color: #1e1c1c;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 34px; /* 212.5% */
}
@media (width < 768px) {
  .top_project__content p {
    font-size: 14px;
    line-height: 30px;
  }
}
@media (width < 768px) {
  .top_project__content .top__btn {
    margin-top: 40px;
  }
}
.top_project::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -250px) rotate(15.309deg);
          transform: translate(-50%, -250px) rotate(15.309deg);
  height: 150%;
  width: 143vw;
  background-color: #fff;
  z-index: 0;
  pointer-events: none;
}
@media (width < 768px) {
  .top_project::before {
    width: 300vw;
    height: 119%;
  }
}
@media (width >= 768px) {
  .top_project__img {
    position: absolute;
    left: 0;
    top: 262px;
    width: 927px;
    pointer-events: none;
    z-index: 2;
    max-width: 48.5vw;
  }
}
@media (width < 768px) {
  .top_project__img {
    position: relative;
    z-index: 2;
  }
}
@media (width >= 768px) {
  .top_project__txt {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
  }
}
@media (width < 768px) {
  .top_project__txt {
    margin-top: 40px;
    position: relative;
    z-index: 2;
    margin-left: 20px;
  }
}
.top_contact {
  padding: 467px 100px 0;
}
@media (width < 768px) {
  .top_contact {
    padding: 33px 0 0;
  }
}
.top_contact .container__inner > p {
  color: #fff;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
}
@media (width >= 768px) {
  .top_contact .container__inner > p {
    line-height: 34px; /* 170% */
    margin-left: 12px;
    margin-top: -24px;
  }
}
@media (width < 768px) {
  .top_contact .container__inner > p {
    margin-bottom: 21px;
    line-height: 1;
  }
}
.top_contact h3 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 80px;
}
.top_contact h3 > span {
  position: absolute;
  z-index: 1;
  top: -10px;
  left: -49px;
}
@media (width < 768px) {
  .top_contact h3 > span {
    top: -112px;
    left: -3px;
  }
}
.top_contact h3 p {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 180px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}
.top_contact h3 p small {
  font-size: 60px;
  margin-right: 7px;
}
.top_contact h3 > a {
  position: relative;
  display: block;
  width: 100px;
  height: 100px;
  border: 1px solid #ffffff;
  border-radius: 999px;
}
@media (width < 768px) {
  .top_contact h3 > a {
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0;
    bottom: -78px;
  }
}
.top_contact h3 > a::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2222%22%20height%3D%2224%22%20viewBox%3D%220%200%2022%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M21.0607%2013.0607C21.6464%2012.4749%2021.6464%2011.5251%2021.0607%2010.9393L11.5147%201.3934C10.9289%200.807611%209.97919%200.807611%209.3934%201.3934C8.80761%201.97919%208.80761%202.92893%209.3934%203.51472L17.8787%2012L9.3934%2020.4853C8.80761%2021.0711%208.80761%2022.0208%209.3934%2022.6066C9.97919%2023.1924%2010.9289%2023.1924%2011.5147%2022.6066L21.0607%2013.0607ZM0%2013.5H20V10.5H0V13.5Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-size: 100%;
  width: 22px;
  height: 24px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (width < 768px) {
  .top_contact h3 > a::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2219%22%20height%3D%2216%22%20viewBox%3D%220%200%2019%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18.7071%208.70711C19.0976%208.31658%2019.0976%207.68342%2018.7071%207.29289L12.3431%200.928932C11.9526%200.538408%2011.3195%200.538408%2010.9289%200.928932C10.5384%201.31946%2010.5384%201.95262%2010.9289%202.34315L16.5858%208L10.9289%2013.6569C10.5384%2014.0474%2010.5384%2014.6805%2010.9289%2015.0711C11.3195%2015.4616%2011.9526%2015.4616%2012.3431%2015.0711L18.7071%208.70711ZM0%209H18V7H0V9Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
    width: 19px;
    height: 16px;
  }
}
.top_contact h3 > a:hover::after {
  left: calc(50% + 10px);
}
.top [data-aos=top__aos-animate--01] span::before, .top [data-aos=top__aos-animate--01] span::after {
  width: 0%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.top [data-aos=top__aos-animate--01] span:nth-of-type(2)::before, .top [data-aos=top__aos-animate--01] span:nth-of-type(2)::after {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.top [data-aos=top__aos-animate--01].aos-animate span::before, .top [data-aos=top__aos-animate--01].aos-animate span::after {
  width: 100%;
}

.story {
  padding-bottom: 0 !important;
}
.story_head__txt {
  font-family: "Noto Sans JP", sans-serif;
}
.story_head__txt--01 {
  font-size: 30px;
  font-weight: 900;
  line-height: 1.45;
  margin-top: 38px;
  color: #fff;
}
@media (width < 768px) {
  .story_head__txt--01 {
    margin-top: 14px;
    font-size: 20px;
  }
}
.story_head__txt--02 {
  margin-top: 60px;
  display: block;
}
.story_head__txt--02 span {
  content: attr(text);
  display: block;
  position: relative;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 72px;
  color: transparent;
  font-size: 50px;
  font-style: normal;
  font-weight: 900;
  line-height: 72px;
  overflow: hidden;
}
@media (width < 768px) {
  .story_head__txt--02 span {
    display: block;
    font-size: 24px;
    height: 34px;
    line-height: 34px;
  }
}
.story_head__txt--02 span::before {
  content: "";
  position: absolute;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.story_head__txt--02 span::after {
  content: attr(text);
  position: absolute;
  left: 0;
  top: 0;
  color: #1e1c1c;
  width: 100%;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.story_head__txt--02[data-aos=story__aos-animate--01] span::before, .story_head__txt--02[data-aos=story__aos-animate--01] span::after {
  width: 0%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.story_head__txt--02[data-aos=story__aos-animate--01].aos-animate span::before, .story_head__txt--02[data-aos=story__aos-animate--01].aos-animate span::after {
  width: 100%;
}
.story_head__txt--03 {
  font-size: 16px;
  font-weight: 700;
  line-height: 2.125;
  color: #fff;
  margin-top: 48px;
}
@media (width < 768px) {
  .story_head__txt--03 {
    margin-top: 40px;
    font-size: 14px;
  }
}
.story_head__txt--04 {
  font-size: 24px;
  font-weight: 900;
  color: #fff;
  margin-top: 48px;
}
@media (width < 768px) {
  .story_head__txt--04 {
    font-size: 20px;
  }
}
.story_head__txt--04 span {
  display: inline-block;
  font-size: 20px;
  margin-right: 24px;
}
@media (width < 768px) {
  .story_head__txt--04 span {
    font-size: 16px;
  }
}
.story_history {
  max-width: 800px;
  margin: 154px auto 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
@media (width < 768px) {
  .story_history {
    margin: 80px auto 0;
  }
}
.story_history__head h3 {
  font-size: 24px;
  font-weight: 900;
}
@media (width < 768px) {
  .story_history__head h3 {
    font-size: 20px;
  }
}
.story_history__head p {
  margin-top: 32px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}
@media (width < 768px) {
  .story_history__head p {
    margin-top: 40px;
    font-size: 14px;
    line-height: 30px;
  }
}
.story_history__content {
  margin: 96px auto 0;
  max-width: 754px;
}
@media (width < 768px) {
  .story_history__content {
    margin-top: 80px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.story_history__content h3 {
  width: 264px;
  height: 57px;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 30px;
  color: #1e1c1c;
  font-weight: 900;
}
@media (width < 768px) {
  .story_history__content h3 {
    font-size: 20px;
    width: 158px;
    height: 35px;
  }
}
.story_history__content ul {
  padding: 64px 0 64px 62px;
  border-left: 3px solid #fff;
}
@media (width < 768px) {
  .story_history__content ul {
    padding: 24px 0 24px 12px;
  }
}
.story_history__content ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 32px;
  font-size: 16px;
  line-height: 1.448125;
}
.story_history__content ul li:not(:first-of-type) {
  margin-top: 24px;
}
@media (width < 768px) {
  .story_history__content ul li:not(:first-of-type) {
    margin-top: 16px;
  }
}
@media (width < 768px) {
  .story_history__content ul li {
    font-size: 14px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
  }
}
.story_history__content ul li::before {
  content: "";
  width: 14px;
  height: 14px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background-color: #fff;
  position: relative;
  top: 6px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (width < 768px) {
  .story_history__content ul li::before {
    width: 10px;
    height: 10px;
    top: 0;
  }
}
.story_content {
  margin-top: 160px;
  font-family: "Noto Sans JP", sans-serif;
}
@media (width < 768px) {
  .story_content {
    margin-top: 128px;
  }
}
.story_content h3 {
  font-size: 90px;
  font-weight: 900;
  color: #fff;
  margin-bottom: 60px;
}
.story_content h3 small {
  font-size: 50px;
}
@media (width < 768px) {
  .story_content h3 {
    font-size: 40px;
    margin-bottom: 40px;
  }
  .story_content h3 small {
    font-size: 20px;
  }
}
.story_content > ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding-bottom: 175px;
  padding-left: 40px;
  margin-left: -40px;
  gap: 16px;
}
@media (width < 768px) {
  .story_content > ul > li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    padding-left: 0;
    margin-left: -20px;
    margin-right: -20px;
    padding-bottom: 80px;
    width: 100vw;
    overflow: hidden;
    gap: 24px;
  }
}
.story_content > ul > li:last-of-type {
  padding-bottom: 235px;
}
@media (width < 768px) {
  .story_content > ul > li:last-of-type {
    padding-bottom: 150px;
  }
}
.story_content > ul > li .story_content__number {
  isolation: isolate;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__number {
    padding-left: 20px;
  }
}
.story_content > ul > li .story_content__number p {
  position: relative;
  display: block;
  font-size: 150px;
  font-weight: 900;
  line-height: 217.2px;
  color: #fff;
  z-index: 1;
  padding-left: 160px;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__number p {
    font-size: 70px;
    padding-left: 40px;
    line-height: 101.36px;
  }
}
.story_content > ul > li .story_content__number p span {
  display: block;
  width: 160px;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 150px;
  font-weight: 900;
  color: #1e1c1c;
  overflow: hidden;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__number p span {
    width: 40px;
    font-size: 70px;
  }
}
.story_content > ul > li .story_content__number p span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 160px;
  height: 100vh;
  background-color: #fff;
  z-index: -1;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__number p span::before {
    width: 40px;
    height: 2000px;
  }
}
.story_content > ul > li .story_content__number small {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 160px;
  line-height: 1;
  padding-left: 8px;
  display: block;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__number small {
    font-size: 14px;
    left: 40px;
  }
}
.story_content > ul > li .story_content__number picture {
  display: block;
  margin-top: 40px;
  width: 418px;
  position: relative;
  z-index: 2;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
}
.story_content > ul > li .story_content__number picture img {
  width: 100%;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__number picture {
    display: block;
    width: 100vw;
    height: 140px;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  .story_content > ul > li .story_content__number picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (width < 768px) {
  .story_content > ul > li .story_content__content {
    padding-left: 76px;
    padding-right: 20px;
    text-align: justify;
  }
}
.story_content > ul > li .story_content__content h4 {
  margin-bottom: 40px;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__content h4 {
    margin-bottom: 24px;
  }
}
.story_content > ul > li .story_content__content h4 span {
  content: attr(text);
  display: block;
  position: relative;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 58px;
  color: transparent;
  font-size: 40px;
  font-style: normal;
  font-weight: 900;
  line-height: 58px;
  overflow: hidden;
  padding: 0 0 0 24px;
  margin-bottom: 8px;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__content h4 span {
    display: block;
    font-size: 18px;
    height: 26px;
    line-height: 26px;
    padding: 0 0 0 4px;
    margin-bottom: 4px;
  }
}
.story_content > ul > li .story_content__content h4 span::before {
  content: "";
  position: absolute;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.story_content > ul > li .story_content__content h4 span::after {
  content: attr(text);
  position: absolute;
  left: 0;
  top: 0;
  color: #1e1c1c;
  width: 100%;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  padding: 0 0 0 24px;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__content h4 span::after {
    padding: 0 0 0 4px;
  }
}
.story_content > ul > li .story_content__content h4[data-aos=story__aos-animate--01] span::before, .story_content > ul > li .story_content__content h4[data-aos=story__aos-animate--01] span::after {
  width: 0%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.story_content > ul > li .story_content__content h4[data-aos=story__aos-animate--01] span:nth-of-type(2)::before, .story_content > ul > li .story_content__content h4[data-aos=story__aos-animate--01] span:nth-of-type(2)::after {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.story_content > ul > li .story_content__content h4[data-aos=story__aos-animate--01].aos-animate span::before, .story_content > ul > li .story_content__content h4[data-aos=story__aos-animate--01].aos-animate span::after {
  width: 100%;
}
.story_content > ul > li .story_content__content h5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 0;
  font-size: 24px;
  font-weight: 900;
  color: #fff;
  gap: 21px;
  margin-top: 48px;
  margin-bottom: 32px;
}
.story_content > ul > li .story_content__content h5::before {
  content: "";
  display: block;
  background-color: #fff;
  width: 14px;
  height: 52px;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__content h5 {
    font-size: 18px;
    gap: 16px;
    margin-top: 40px;
    margin-bottom: 24px;
    padding-left: 16px;
    border-left: solid 14px #fff;
  }
  .story_content > ul > li .story_content__content h5::before {
    display: none;
  }
}
.story_content > ul > li .story_content__content p {
  color: #fff;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
}
@media (width < 768px) {
  .story_content > ul > li .story_content__content p {
    font-size: 14px;
    line-height: 30px;
  }
}
.story_foot {
  margin: 0 calc(50% - 50vw);
  background-size: auto 100%;
  background-repeat: no-repeat;
  z-index: 2;
  position: relative;
  padding-top: 110px;
  padding-bottom: 160px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1920px) {
  .story_foot {
    background-size: 100% auto;
  }
}
@media (width < 768px) {
  .story_foot {
    background-size: 100% auto;
    background-color: #7b7b7b;
    padding-top: 80px;
    padding-bottom: 76px;
  }
}
.story_foot__inner {
  max-width: 1360px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
}
.story_foot__inner > h3 {
  font-size: 78px;
  font-weight: 900;
  line-height: 1, 45;
  color: #fff;
}
@media (width < 768px) {
  .story_foot__inner > h3 {
    font-size: 40px;
    line-height: 57.92px;
  }
}
.story_foot__inner > p {
  font-size: 40px;
  font-weight: 900;
  line-height: 1, 45;
  color: #fff;
  margin-top: 40px;
}
@media (width < 768px) {
  .story_foot__inner > p {
    font-size: 20px;
    line-height: 28.96px;
    margin-top: 24px;
  }
}
.story_foot__content {
  padding: 64px;
  background: rgba(255, 255, 255, 0.6980392157);
  width: 100%;
  max-width: 716px;
  margin-top: 90px;
}
@media (width < 768px) {
  .story_foot__content {
    margin-top: 40px;
    padding: 24px 20px;
  }
}
.story_foot__content > p {
  font-size: 16px;
  font-weight: 700;
  line-height: 2.125;
}
@media (width < 768px) {
  .story_foot__content > p {
    font-size: 14px;
    line-height: 30px;
  }
}
.story_foot__content__foot {
  margin-top: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
  display: block;
}
@media (width < 768px) {
  .story_foot__content__foot {
    margin-top: 24px;
  }
}
.story_foot__content__foot > p {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.45;
}
@media (width < 768px) {
  .story_foot__content__foot > p {
    font-size: 16px;
    line-height: 23.17px;
  }
}
.story_foot__content__foot > strong {
  font-size: 40px;
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  margin-top: 16px;
}
@media (width < 768px) {
  .story_foot__content__foot > strong {
    gap: 16px;
    font-size: 30px;
    line-height: 43.44px;
  }
  .story_foot__content__foot > strong small {
    font-size: 16px;
  }
}
.story_foot__content__foot > strong small {
  font-size: 20px;
}

.message_head__txt {
  font-family: "Noto Sans JP", sans-serif;
}

.message_head__txt--01 {
  font-size: 30px;
  font-weight: 900;
  line-height: 1.45;
  margin-top: 38px;
  color: #fff;
}
@media (width < 768px) {
  .message_head__txt--01 {
    margin-top: 14px;
    font-size: 20px;
  }
}

.message_head__txt--02 {
  margin-top: 60px;
  display: block;
}
.message_head__txt--02 span {
  content: attr(text);
  display: block;
  position: relative;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 72px;
  color: transparent;
  font-size: 50px;
  font-style: normal;
  font-weight: 900;
  line-height: 72px;
  overflow: hidden;
}
@media (width < 768px) {
  .message_head__txt--02 span {
    display: block;
    font-size: 24px;
    height: 34px;
    line-height: 34px;
  }
}

.message_head__txt--02 span::before {
  content: "";
  position: absolute;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.message_head__txt--02 span::after {
  content: attr(text);
  position: absolute;
  left: 0;
  top: 0;
  color: #1e1c1c;
  width: 100%;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.message_head__txt--02[data-aos=message__aos-animate--01] span::before,
.message_head__txt--02[data-aos=message__aos-animate--01] span::after {
  width: 0%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.message_head__txt--02[data-aos=message__aos-animate--01].aos-animate span::before,
.message_head__txt--02[data-aos=message__aos-animate--01].aos-animate span::after {
  width: 100%;
}

.message_head__txt--03 {
  font-size: 16px;
  font-weight: 700;
  line-height: 2.125;
  color: #fff;
  margin-top: 48px;
}
@media (width < 768px) {
  .message_head__txt--03 {
    margin-top: 40px;
    font-size: 14px;
  }
}

.message_head__txt--04 {
  font-size: 24px;
  font-weight: 900;
  color: #fff;
  margin-top: 48px;
}
@media (width < 768px) {
  .message_head__txt--04 {
    font-size: 20px;
  }
}
.message_head__txt--04 span {
  display: inline-block;
  font-size: 20px;
  margin-right: 24px;
}
@media (width < 768px) {
  .message_head__txt--04 span {
    font-size: 16px;
  }
}

.message__main {
  max-width: 800px;
  width: 100%;
  padding-top: 160px;
  margin: 0 auto;
}
@media (width < 768px) {
  .message__main {
    padding-top: 40px;
  }
}

.message__movie {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 アスペクト比 (高さ/幅 = 9/16) */
  height: 0;
  overflow: hidden;
}
.message__movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.message__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 160px;
}
@media (width < 768px) {
  .message__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 80px;
  }
}

.message__ceoImg {
  max-width: 500px;
  width: 46%;
}
@media (width < 768px) {
  .message__ceoImg {
    width: 100%;
  }
}

.message__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #fff;
  margin-left: 70px;
}
@media (width < 768px) {
  .message__desc {
    width: 100%;
    font-size: 14px;
    margin-top: 40px;
    margin-left: 0;
  }
}

.portfolio__main {
  width: 1000px;
  max-width: 100%;
  padding-top: 82px;
  margin: 0 auto;
}

@media (width < 768px) {
  .portfolio__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 70px 0;
  }
}

.portfolio__item {
  position: relative;
}
.portfolio__item:nth-child(even) .portfolio__itemTitleContainer {
  margin-left: auto;
}
@media (width < 768px) {
  .portfolio__item:nth-child(even) .portfolio__itemTitleContainer {
    margin-left: 0;
  }
}
.portfolio__item:nth-child(even) .portfolio__itemMain {
  margin-left: 0;
  margin-right: 80px;
}
@media (width < 768px) {
  .portfolio__item:nth-child(even) .portfolio__itemMain {
    margin: 0 auto;
  }
}

.portfolio__itemTitleContainer {
  position: relative;
  background: url(../img/portfolio/bg_1.jpg) no-repeat center center/cover;
  width: 520px;
  height: 472px;
}
.portfolio__itemTitleContainer span {
  display: block;
  font-size: 20px;
  padding-top: 20px;
}
@media (width < 768px) {
  .portfolio__itemTitleContainer span {
    font-size: 16px;
    padding-top: 8px;
  }
}
.portfolio__itemTitleContainer--2 {
  background: url(../img/portfolio/bg_2.jpg) no-repeat center center/cover;
  width: 702px;
  height: 467px;
}
.portfolio__itemTitleContainer--3 {
  background: url(../img/portfolio/bg_3.jpg) no-repeat center center/cover;
}
.portfolio__itemTitleContainer--4 {
  background: url(../img/portfolio/bg_4.jpg) no-repeat center center/cover;
  width: 892px;
  height: 466px;
}
.portfolio__itemTitleContainer--5 {
  background: url(../img/portfolio/bg_5.jpg) no-repeat center center/cover;
  width: 582px;
  height: 496px;
}
.portfolio__itemTitleContainer--6 {
  background: url(../img/portfolio/bg_6.jpg) no-repeat center center/cover;
  width: 892px;
  height: 466px;
}
.portfolio__itemTitleContainer--7 {
  background: url(../img/portfolio/bg_7.jpg) no-repeat center center/cover;
  width: 592px;
  height: 496px;
}
@media (width < 768px) {
  .portfolio__itemTitleContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 130px;
  }
}

.portfolio__itemTitle {
  position: absolute;
  top: 72px;
  left: 80px;
  color: #fff;
  font-size: 60px;
  font-weight: 800;
  line-height: 1;
}
@media (width < 768px) {
  .portfolio__itemTitle {
    position: relative;
    top: auto;
    left: auto;
    font-size: 30px;
    text-align: center;
  }
}

.portfolio__itemMain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 40px;
  position: relative;
  top: -180px;
  background: #fff;
  padding: 54px 72px;
  margin-left: 80px;
}
.portfolio__itemMain--2 {
  top: -240px;
}
.portfolio__itemMain--3 {
  top: -240px;
}
.portfolio__itemMain--4 {
  top: -240px;
}
.portfolio__itemMain--5 {
  top: -240px;
}
.portfolio__itemMain--6 {
  top: -240px;
}
.portfolio__itemMain--7 {
  top: -240px;
}
@media (width < 768px) {
  .portfolio__itemMain {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px 0;
    top: -20px;
    width: 96%;
    padding: 16px;
    margin: 0 auto;
  }
}

.portfolio__itemMainImg {
  width: 300px;
}
@media (width < 768px) {
  .portfolio__itemMainImg {
    width: 100%;
  }
}

.portfolio__itemMainDesc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 16px;
  font-weight: 600;
  line-height: 2;
}
@media (width < 768px) {
  .portfolio__itemMainDesc {
    font-weight: 500;
  }
}

.group__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (width < 768px) {
  .group__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.group {
  margin-top: 170px;
}
@media (width < 768px) {
  .group {
    margin-top: 128px;
  }
}

.group__title {
  color: #fff;
  width: 50%;
}

.group__subTitle {
  color: #fff;
  font-size: 60px;
  font-weight: 800;
}
@media (width < 768px) {
  .group__subTitle {
    font-size: 20px;
    padding-top: 24px;
    margin-left: auto;
  }
}

.group__main {
  margin-top: 82px;
}
@media (width < 768px) {
  .group__main {
    margin-top: 32px;
  }
}

.thanks__main {
  max-width: 800px;
  width: 100%;
  padding-top: 82px;
  margin: 0 auto;
}

.thanks__descs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px 0;
  background: rgba(255, 255, 255, 0.6);
  padding: 80px 20px;
  text-align: center;
}
@media (width < 768px) {
  .thanks__descs {
    padding: 26px 14px;
    text-align: left;
  }
}

.thanks__desc {
  font-size: 16px;
  font-weight: 600;
  line-height: 2;
}

.thanks__btnContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.privacyPolicy__main {
  max-width: 900px;
  width: 100%;
  padding-top: 82px;
  margin: 0 auto;
}

.privacyPolicy__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: rgba(255, 255, 255, 0.6);
  padding: 48px 50px;
}
@media (width < 768px) {
  .privacyPolicy__contents {
    padding: 24px 16px;
  }
}
.privacyPolicy__contents dt {
  font-size: 16px;
  font-weight: 600;
}
@media (width < 768px) {
  .privacyPolicy__contents dt {
    font-size: 14px;
  }
}
.privacyPolicy__contents dd {
  font-size: 14px;
  font-weight: 400;
  padding-top: 10px;
  line-height: 1.6;
}
@media (width < 768px) {
  .privacyPolicy__contents dd {
    font-size: 10px;
  }
}
.privacyPolicy__contents dd + dt {
  margin-top: 24px;
}

.privacyPolicy__btnContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contact__main {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}

.wpcf7-form {
  color: #fff;
  margin-top: 100px;
}

.contact__formItem + .contact__formItem {
  margin-top: 64px;
}

.contact__formItemLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 18px;
  font-weight: 800;
  padding-left: 70px;
}
.contact__formItemLabel::before {
  content: "必須";
  position: absolute;
  left: 0;
  padding: 3px 8px;
  background: #960021;
  color: #fff;
  font-weight: bold;
}

.wpcf7-form-control-wrap {
  display: block;
  margin-top: 24px;
}

.wpcf7-form-control {
  padding: 8px;
}
.wpcf7-form-control.wpcf7-radio {
  padding: 0;
  margin: 0;
}

.wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 24px;
  line-height: 3;
}
@media (width < 768px) {
  .wpcf7-radio {
    gap: 12px 24px;
  }
}
.wpcf7-radio .wpcf7-list-item {
  background: #232323;
  margin: 0;
}
.wpcf7-radio .wpcf7-list-item label {
  font-weight: 600;
  padding: 4px 10px;
}
@media (width < 768px) {
  .wpcf7-radio .wpcf7-list-item label {
    font-size: 14px;
    padding: 0 10px;
  }
}

.wpcf7-text {
  height: 40px;
}

.wpcf7-text,
.wpcf7-textarea {
  background: #fff;
}

.contact__formItemCount {
  display: block;
  padding-top: 14px;
  text-align: right;
}

.contact__formItemLink {
  color: #d60b37;
  text-decoration: underline;
}

.contact__formItem--privacyPolicy span {
  text-align: center;
}

.contact__submitContainer {
  margin-top: 80px;
}

.top__btn--contact {
  margin: 0 auto;
}
.top__btn--contact input {
  z-index: 100;
}

.top__btn--contact:has(input:disabled) {
  cursor: not-allowed;
}

.top__btn--contact:has(input:disabled) span::before,
.top__btn--contact:has(input:disabled) span::after {
  background-color: transparent;
  pointer-events: none;
}

.top__btn--contact:has(input:disabled) i {
  right: 40px;
}

.wpcf7-spinner {
  display: none;
}

.contact__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-color: #fff;
  color: #1e1c1c;
  width: 100%;
  height: 50px;
  font-style: normal;
  font-weight: 900;
  min-width: 0;
  max-width: 260px;
  font-size: 16px;
  padding-left: 16px;
  margin-top: 48px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
}
.contact__btn label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.contact__btn .contact_submitBtn {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.contact__btn .contact_submitBtn:disabled ~ label {
  color: #999;
}
.contact__btn .contact__btnText {
  padding: 8px;
}
.contact__btn i {
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2223%22%20height%3D%2216%22%20viewBox%3D%220%200%2023%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.7071%208.70711C23.0976%208.31658%2023.0976%207.68342%2022.7071%207.2929L16.3431%200.928934C15.9526%200.538409%2015.3195%200.538409%2014.9289%200.928933C14.5384%201.31946%2014.5384%201.95262%2014.9289%202.34315L20.5858%208L14.9289%2013.6569C14.5384%2014.0474%2014.5384%2014.6805%2014.9289%2015.0711C15.3195%2015.4616%2015.9526%2015.4616%2016.3431%2015.0711L22.7071%208.70711ZM-8.74228e-08%209L22%209L22%207L8.74228e-08%207L-8.74228e-08%209Z%22%20fill%3D%22%231E1C1C%22%2F%3E%3C%2Fsvg%3E");
  width: 23px;
  height: 16px;
  background-size: 100%;
  background-repeat: no-repeat;
  z-index: 2;
}
.contact__btn::before {
  content: "";
  width: 229px;
  height: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background-color: #e9e9e9;
  z-index: 1;
}

.achievements__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 160px 0;
  max-width: 1280px;
  width: 100%;
  padding-top: 80px;
  margin: 0 auto;
}

.company__main {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding-top: 82px;
}

.company__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.company__dl dt,
.company__dl dd {
  color: #fff;
  padding: 20px 0;
  border-bottom: 1px solid #565656;
}
.company__dl dt {
  width: 200px;
  font-size: 20px;
  font-weight: 800;
}
@media (width < 768px) {
  .company__dl dt {
    font-size: 14px;
    width: 20%;
  }
}
.company__dl dd {
  width: calc(100% - 200px);
  font-size: 16px;
  font-weight: 600;
  line-height: 2;
}
@media (width < 768px) {
  .company__dl dd {
    width: 80%;
    font-size: 12px;
  }
}

.access {
  max-width: 1000px;
  width: 100%;
  padding-top: 154px;
  margin: 0 auto;
}

.access__title {
  width: 100%;
  max-width: 770px;
  margin-left: auto;
}
@media (width < 768px) {
  .access__title {
    width: 80%;
  }
}
.access__title span {
  display: block;
  color: #fff;
  font-size: 20px;
  padding-top: 18px;
}
@media (width < 768px) {
  .access__title span {
    font-size: 18px;
  }
}

.access__branches {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 80px;
}
@media (width < 768px) {
  .access__branches {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 48px 0;
    margin-top: 60px;
  }
}

.access__branch {
  color: #fff;
  width: 48%;
}
@media (width < 768px) {
  .access__branch {
    width: 100%;
  }
}

.access__branchImg img {
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (width < 768px) {
  .access__branchImg img {
    height: auto;
  }
}

.access__branchName {
  font-size: 30px;
  margin-top: 24px;
}
@media (width < 768px) {
  .access__branchName {
    font-size: 16px;
  }
}

.access__branchAddress {
  font-size: 16px;
  margin-top: 16px;
}
@media (width < 768px) {
  .access__branchAddress {
    font-size: 14px;
  }
}

.access__branchDesc {
  font-size: 16px;
}
@media (width < 768px) {
  .access__branchDesc {
    font-size: 14px;
  }
}

.achievement__fv {
  width: 100%;
  max-width: 940px;
  padding-top: 206px;
  margin: 0 auto;
}
@media (width < 768px) {
  .achievement__fv {
    width: 100%;
    padding-top: 48px;
  }
}

.achievement__mediaBtnContainer {
  margin-top: 24px;
  text-align: center;
}

.achievement__mediaBtn {
  display: inline-block;
  background: #1e1c1c;
  color: #d8d6cd;
  width: 380px;
  text-align: center;
  padding: 8px;
  border: 1px solid #707070;
  border-radius: 100px;
}

.achievement__main {
  width: 100%;
  max-width: 664px;
  padding-top: 60px;
  margin: 0 auto;
}
.achievement__main h2 {
  font-size: 20px;
}

.achievement__title {
  color: #fff;
  font-size: 20px;
}

.achievement__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px 0;
  color: #d8d6cd;
  margin-top: 24px;
}

.achievement__metaTitle {
  background: #d8d6cd;
  color: #1e1c1c;
  width: 80px;
  font-size: 12px;
  text-align: center;
  padding: 4px 0;
}

.achievement__metaDesc {
  -webkit-box-flex: calc(100% - 80px);
      -ms-flex: calc(100% - 80px);
          flex: calc(100% - 80px);
  font-size: 14px;
  padding-left: 16px;
}

.achievement__desc {
  font-size: 16px;
  color: #d8d6cd;
  margin-top: 34px;
}
@media (width < 768px) {
  .achievement__desc {
    font-size: 14px;
  }
}

.achievement__mainImg {
  max-width: 800px;
  width: 100%;
  margin-top: 85px;
}

.achievement__allArticleBtnContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 70px;
}

.achievement__allArticleBtn {
  background: #d8d6cd;
  margin: 0 auto;
  border-radius: 100px;
}

.c-achievement__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}
@media (width < 768px) {
  .c-achievement__title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 10px 0;
  }
}
.c-achievement__title span {
  display: block;
  background: #fff;
  color: #1e1c1c;
  font-size: 50px;
  padding: 4px 16px;
}
@media (width < 768px) {
  .c-achievement__title span {
    font-size: 28px;
  }
}

.c-achievement__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 80px 0;
  margin-top: 62px;
}
@media (width < 768px) {
  .c-achievement__items {
    gap: 46px 0;
  }
}
.c-achievement__items::after {
  content: "";
  width: 31%;
}

.c-achievement__item {
  color: #fff;
  width: 31%;
}
@media (width < 768px) {
  .c-achievement__item {
    width: 100%;
  }
}

.c-achievement__ItemImg img {
  width: 100%;
  max-width: 370px;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-achievement__itemTitle {
  font-size: 30px;
  text-align: center;
  padding-top: 16px;
  font-weight: 600;
}
@media (width < 768px) {
  .c-achievement__itemTitle {
    font-size: 24px;
  }
}

.c-achievement__itemDate {
  display: block;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin-top: 8px;
}

.c-achievement__itemDesc {
  font-weight: 600;
  line-height: 2;
  margin-top: 10px;
}/*# sourceMappingURL=style.css.map */