@charset "UTF-8";
:root {
  interpolate-size: allow-keywords;
  --header-height: 11.2rem;
  --header-height-sp: 4.1rem;
}

:root {
  --blue-500: #3f8efc;
  --blue-700: #1a6cdd;
  --pink-500: #f5a9a9;
  --pink-600: #f19090;
  --ice-gray-400: #f2f6fa;
  --ice-gray-500: #e5eaf0;
  --gray-50: #f6f8fa;
  --gray-100: #eaeef2;
  --gray-200: #d0d7de;
  --gray-400: #f2f6fa;
  --gray-500: #6e7781;
  --gray-600: #8c959f;
  --gray-700: #424a53;
  --gray-800: #32383f;
  --gray-900: #32383f;
  --white: #ffffff;
}

:root {
  --font-family-base:
    "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  --font-family-en: "Poppins", sans-serif;
  --color-primary: var(--blue-700);
  --color-disabled: var(--gray-200);
  --color-white: var(--white);
  --color-bg: var(--white);
  --color-bg-alt: var(--gray-50);
  --color-bg-elevated-1: var(--gray-400);
  --color-bg-elevated-2: var(--gray-500);
  --color-bg-footer: var(--ice-gray-500);
  --color-bg-pagetop: var(--ice-gray-400);
  --color-bg-tag: var(--ice-gray-400);
  --color-bg-label: var(--pink-600);
  --color-border: var(--gray-500);
  --color-border-devide: var(--gray-100);
  --color-border-devide2: var(--gray-200);
  --color-border-devide3: var(--ice-gray-500);
  --color-txt-base: var(--gray-700);
  --color-txt-gray: var(--gray-600);
  --color-txt-pink: var(--pink-600);
  --color-icn-white: var(--white);
  --color-icn-pink: var(--pink-500);
  --color-icn-gray: var(--gray-500);
  --color-icn-black: var(--gray-700);
  --color-button-primary-bg: var(--color-primary);
  --color-button-primary-txt: var(--white);
  --color-button-secondary-bg: var(--white);
  --color-button-secondary-border: var(--gray-800);
  --color-button-secondary-txt: var(--color-txt-base);
}

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

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html {
  font-size: 0.69444444dvw;
  scroll-padding-top: var(--header-height);
  scroll-behavior: smooth;
}
@media all and (max-width: 768px) {
  html {
    font-size: 3.125dvw;
    scroll-padding-top: var(--header-height-sp);
  }
}
@media screen and (min-width: 1440px) {
  html {
    font-size: 10px;
  }
}
@media screen and (max-width: 320px) {
  html {
    font-size: 10px;
  }
}
@media all and (max-width: 768px) {
  html.is-lock {
    scroll-behavior: auto;
  }
}

body {
  color: var(--color-txt-base);
  background-color: var(--color-bg);
  font-family: var(--font-family-base);
  font-size: 1.6rem;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  overflow-y: scroll;
  overflow-wrap: anywhere;
}
@media all and (max-width: 768px) {
  body {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}

p,
ul,
ol,
dl {
  margin: 0 0 1.5em;
  padding: 0;
}

a {
  color: var(--color-primary);
  text-decoration: underline;
  transition-property: color;
  transition-duration: 0.3s;
}
a:hover {
  opacity: 0.8;
  text-decoration: none;
}

img,
svg {
  vertical-align: bottom;
}

input,
textarea,
select {
  font-family: inherit;
}

@media all and (max-width: 768px) {
  .br-pc {
    display: none;
  }
}

.br-sp {
  display: none;
}
@media all and (max-width: 768px) {
  .br-sp {
    display: inline;
  }
}

.wrap {
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: 100%;
  min-width: 320px;
  min-height: 100dvh;
  overflow: clip;
  margin-left: auto;
  margin-right: auto;
}
@media all and (max-width: 768px) {
  .wrap.is-lock {
    position: fixed;
  }
}

.container {
  max-width: 147rem;
  margin-right: auto;
  margin-left: auto;
}
@media all and (max-width: 768px) {
  .container {
    max-width: none;
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
}

.container2 {
  max-width: 129.6rem;
  margin-right: auto;
  margin-left: auto;
  padding-left: 4.8rem;
  padding-right: 4.8rem;
}
@media all and (max-width: 768px) {
  .container2 {
    max-width: none;
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
}

.container3 {
  max-width: 88rem;
  margin-right: auto;
  margin-left: auto;
}
@media all and (max-width: 768px) {
  .container3 {
    max-width: none;
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
}

.header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  z-index: 8;
  background-color: var(--color-bg);
}
@media all and (max-width: 768px) {
  .header {
    height: var(--header-height-sp);
  }
}
.header__container {
  display: flex;
  align-items: center;
  padding: 2rem 2.4rem;
}
@media all and (max-width: 768px) {
  .header__container {
    height: 100%;
    padding: 0 0.7rem;
  }
}
.header__logo {
  margin: 0;
  flex: 0 0 21.8rem;
}
@media all and (max-width: 768px) {
  .header__logo {
    flex: 0 0 10.3rem;
  }
}
.header__logo img {
  width: 100%;
  height: auto;
}
.header__nav {
  margin: 0 0 0 auto;
  font-size: 1.6rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .header__nav {
    display: none;
  }
}
.header__nav__list {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
  align-items: center;
  list-style-type: none;
}
.header__nav a {
  display: block;
  padding: 1rem 1.2rem;
  text-decoration: none;
}
.header__support {
  flex: 0 0 16rem;
  margin: 0 0 0 2rem;
}
@media all and (max-width: 768px) {
  .header__support {
    flex: 0 0 10.8rem;
    margin: 0 0 0 auto;
  }
}
@media all and (max-width: 768px) {
  .header__btn {
    font-size: 1.2rem !important;
    padding: 0.3rem 1rem !important;
  }
}
@media all and (max-width: 768px) {
  .header__btn__icn {
    width: 1.5rem !important;
    height: 1.5rem !important;
  }
}
.header__hamburger {
  display: none;
}
@media all and (max-width: 768px) {
  .header__hamburger {
    display: block;
    width: 4.1rem;
    height: 4.1rem;
    margin: 0 -0.7rem 0 0.7rem;
  }
}
.header__hamburger a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.header__hamburger a span {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999rem;
}
.header__hamburger a::before, .header__hamburger a::after,
.header__hamburger a span::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 1.9rem;
  height: 0.2rem;
  background-color: var(--color-primary);
  border-radius: 0.1rem;
  transition: 0.3s;
}
.header__hamburger a::before {
  top: 1.3rem;
}
.header__hamburger a::after {
  bottom: 1.3rem;
}
.header__hamburger a span::before {
  top: 50%;
  margin-top: -0.1rem;
}
.header__hamburger a.is-open::before {
  top: 1.95rem;
  transform: rotate(-45deg);
}
.header__hamburger a.is-open::after {
  bottom: 1.95rem;
  transform: rotate(45deg);
}
.header__hamburger a.is-open span::before {
  opacity: 0;
}

.footer {
  padding: 4.8rem 0;
  background-color: var(--color-bg-footer);
}
@media all and (max-width: 768px) {
  .footer {
    padding: 1.7rem 0.3rem;
  }
}
.footer__container {
  display: flex;
  align-items: center;
  gap: 4.8rem;
}
@media all and (max-width: 768px) {
  .footer__container {
    flex-direction: column;
    gap: 0;
  }
}
.footer__col {
  flex: 0 0 32rem;
}
@media all and (max-width: 768px) {
  .footer__col {
    flex: auto;
    align-self: center;
    margin-bottom: 3.4rem;
  }
}
.footer__col2 {
  margin-left: auto;
}
.footer__logo {
  margin: 0;
}
@media all and (max-width: 768px) {
  .footer__logo {
    width: 19rem;
  }
}
.footer__logo img {
  width: 100%;
  height: auto;
}
.footer__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 3.2rem;
  padding: 0;
  list-style-type: none;
  gap: 1.6rem 2.4rem;
}
@media all and (max-width: 768px) {
  .footer__list {
    flex-wrap: wrap;
    margin-bottom: 2.7rem;
    gap: 1.7rem 2.4rem;
  }
}
@media all and (max-width: 768px) {
  .footer__list > li {
    width: 12.8rem;
  }
}
.footer__list a {
  font-size: 1.6rem;
  text-decoration: none;
  color: var(--color-txt-base);
}
@media all and (max-width: 768px) {
  .footer__list a {
    font-size: 1.4rem;
  }
}
.footer__external {
  display: flex;
}
@media all and (max-width: 768px) {
  .footer__external {
    flex-direction: column;
  }
}
.footer__youtube {
  margin: 0;
}
@media all and (max-width: 768px) {
  .footer__youtube {
    margin-bottom: 2.7rem;
  }
}
.footer__youtube a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  font-family: var(--font-family-en);
  font-weight: 500;
  text-decoration: none;
  color: var(--color-txt-base);
}
@media all and (max-width: 768px) {
  .footer__youtube a {
    gap: 0.7rem;
    font-size: 1.2rem;
  }
}
.footer__support {
  margin: 0 0 0 auto;
  flex: 0 0 16.6rem;
}
@media all and (max-width: 768px) {
  .footer__support {
    margin: 0;
    flex: 1;
  }
}

.pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 101;
}
.pagetop__txt {
  display: block;
  text-indent: -9999rem;
}
.pagetop__icn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  background-color: var(--color-bg-pagetop);
}
@media all and (max-width: 768px) {
  .pagetop__icn {
    width: 4.1rem;
    height: 4.1rem;
  }
}

.drawer {
  display: none;
  position: fixed;
  z-index: 110;
  top: var(--header-height-sp);
  width: 100dvw;
  right: -110dvw;
  bottom: 0;
  background-color: var(--color-bg);
  padding: 1rem 1.7rem 0;
  overflow-y: auto;
  transition: 0.3s;
}
@media all and (max-width: 768px) {
  .drawer {
    display: block;
  }
}
.drawer.is-open {
  right: 0;
}
.drawer__inner {
  padding-bottom: 1rem;
}
.drawer__list {
  list-style-type: none;
  margin: 0 0 2.7rem;
  padding: 0;
}
.drawer__list > li {
  border-bottom: 1px solid var(--color-border-devide);
}
.drawer__list a {
  display: flex;
  gap: 0.7rem;
  text-decoration: none;
  color: var(--color-txt-base);
  padding: 1.7rem 0 1rem;
}
.drawer__list__txt {
  font-size: 1.5rem;
  font-weight: bold;
}
.drawer__list__icn {
  flex: 0 0 2rem;
  margin: 0 0 0 auto;
}
.drawer__youtube {
  margin: 0 0 2.7rem;
}
.drawer__youtube a {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  text-decoration: none;
}
.drawer__youtube__icn .icn {
  width: 2.7rem;
  height: 2.7rem;
}
.drawer__youtube__txt {
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  font-weight: 500;
  color: var(--color-txt-base);
}
.drawer__support {
  margin: 0 0 2.7rem;
}
.drawer__support a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--color-primary);
  color: #fff;
  text-decoration: none;
  padding: 1rem 1.4rem;
}
.drawer__support__txt {
  font-size: 1.4rem;
  font-weight: 700;
}
.drawer__logo {
  margin: 0 0 2.7rem;
}
.drawer__logo img {
  width: 19rem;
  height: auto;
  margin: 0 auto;
}
.drawer__copyright {
  margin: 0;
  text-align: center;
  font-size: 1rem;
  color: var(--color-txt-gray);
}
.copyright {
  position: fixed;
  left: 1rem;
  bottom: 1.5rem;
  z-index: 100;
  writing-mode: vertical-rl;
  font-family: var(--font-family-en);
  font-size: 1.4rem;
  margin: 0;
}
@media all and (max-width: 768px) {
  .copyright {
    background-color: var(--color-bg-footer);
    padding: 1.7rem;
    position: static;
    inset: auto;
    writing-mode: horizontal-tb;
    font-size: 1rem;
    text-align: center;
  }
}

.sec {
  background-color: var(--color-bg);
  padding: 12rem 0;
}
@media all and (max-width: 768px) {
  .sec {
    padding-top: 6.1rem;
    padding-bottom: 6.1rem;
  }
}
.sec + .sec {
  padding-top: 0;
}
@media all and (max-width: 768px) {
  .sec + .sec {
    padding-top: 0;
  }
}
.sec > :last-child {
  margin-bottom: 0;
}

.sec2 {
  background-color: var(--color-bg-alt);
  padding: 10rem 0;
}
@media all and (max-width: 768px) {
  .sec2 {
    padding-top: 3.4rem;
    padding-bottom: 3.4rem;
  }
}
.sec2 > :last-child {
  margin-bottom: 0;
}

.page-header {
  display: flex;
  align-items: center;
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .page-header {
    flex-direction: column;
    align-items: normal;
    gap: 1.4rem;
    margin-bottom: 4.1rem;
  }
}
.page-header__ttl {
  display: flex;
  flex-direction: column;
  margin: 0;
  color: var(--color-primary);
  flex: 1;
}
.page-header__ttl__en {
  font-size: 5.6rem;
  font-family: var(--font-family-en);
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .page-header__ttl__en {
    font-size: 3.1rem;
  }
}
.page-header__ttl__jp {
  font-size: 2rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .page-header__ttl__jp {
    font-size: 1.4rem;
    font-weight: 500;
    margin-left: 0;
  }
}
.page-header__nav {
  margin: 0;
  padding: 0;
}
.page-header__nav__ttl {
  display: none;
}
@media all and (max-width: 768px) {
  .page-header__nav__ttl {
    display: block;
    border: 0.2rem solid var(--color-border-devide2);
  }
}
.page-header__nav__ttl a {
  display: flex;
  align-items: center;
  padding: 1rem 1.4rem;
  background-color: var(--ice-gray-400);
  text-decoration: none;
}
.page-header__nav__ttl__txt {
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  font-weight: 500;
}
.page-header__nav__ttl__icn {
  margin-left: auto;
  transition: 0.3s;
}
a.is-open .page-header__nav__ttl__icn {
  transform: rotate(180deg);
}
@media all and (max-width: 768px) {
  .page-header__nav__content {
    height: 0;
    transition: 0.3s, content-visibility 0.4s allow-discrete;
    overflow: clip;
  }
}
.page-header__nav__content.is-open {
  height: auto;
}
.page-header__nav__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: auto;
  list-style-type: none;
  gap: 1.6rem 4rem;
  margin: 0;
}
@media all and (max-width: 768px) {
  .page-header__nav__list {
    flex-direction: column;
    gap: 0;
  }
}
.page-header__nav__list a {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  color: var(--color-txt-base);
  text-decoration: none;
}
@media all and (max-width: 768px) {
  .page-header__nav__list a {
    display: block;
    padding: 1rem 1.4rem;
    border: 0.2rem solid var(--color-border-devide2);
    border-top: none;
    color: var(--color-primary);
  }
}
.page-header__nav__txt {
  font-size: 1.6rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .page-header__nav__txt {
    font-size: 1.2rem;
    font-weight: 500;
  }
}
@media all and (max-width: 768px) {
  .page-header__nav__icn {
    display: none;
  }
}

.ttl {
  display: flex;
  align-items: center;
  margin: 0;
  color: var(--color-primary);
}
@media all and (max-width: 768px) {
  .ttl {
    flex-direction: column;
    align-items: normal;
  }
}
.ttl--vertical {
  flex-direction: column;
  align-items: normal;
}
.ttl__en {
  font-size: 4.8rem;
  font-family: var(--font-family-en);
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .ttl__en {
    font-size: 2.7rem;
  }
}
.ttl__jp {
  font-size: 2rem;
  font-weight: 700;
  margin-left: auto;
}
@media all and (max-width: 768px) {
  .ttl__jp {
    font-size: 1.2rem;
    font-weight: 500;
    margin-left: 0;
  }
}
.ttl--vertical .ttl__jp {
  margin-left: 0;
}
.lead {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.57;
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .lead {
    font-size: 1.7rem;
    margin-bottom: 2.7rem;
  }
}

.txt {
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .txt {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: 2.7rem;
  }
}

.icn--md {
  width: 2.4rem;
  height: 2.4rem;
}
@media all and (max-width: 768px) {
  .icn--md {
    width: 2rem;
    height: 2rem;
  }
}
.icn--lg {
  width: 4rem;
  height: 4rem;
}
@media all and (max-width: 768px) {
  .icn--lg {
    width: 3.4rem;
    height: 3.4rem;
  }
}
.icn--xl {
  width: 4.8rem;
  height: 4.8rem;
}
@media all and (max-width: 768px) {
  .icn--xl {
    width: 2.7rem;
    height: 2.7rem;
  }
}
.icn--xxl {
  width: 8.8rem;
  height: 8.8rem;
}
@media all and (max-width: 768px) {
  .icn--xxl {
    width: 7.5rem;
    height: 7.5rem;
  }
}
.icn--primary {
  fill: var(--color-primary);
}
.icn--white {
  fill: var(--color-icn-white);
}
.icn--pink {
  fill: var(--color-icn-pink);
}
.icn--gray {
  fill: var(--color-icn-gray);
}
.icn--black {
  fill: var(--color-icn-black);
}
.icn--disabled {
  fill: var(--color-disabled);
}
.btn {
  display: flex;
  justify-content: center;
  background-color: var(--color-button-primary-bg);
  color: var(--color-button-primary-txt);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  width: 16rem;
  min-width: 8rem;
  min-height: 4.8rem;
  padding: 1.2rem 2rem;
}
@media all and (max-width: 768px) {
  .btn {
    font-size: 1.4rem;
    min-width: 6.8rem;
    min-height: 2.7rem;
    padding: 1rem 1.4rem;
  }
}
.btn--full {
  width: 100%;
}
.btn__inner {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.btn2 {
  display: flex;
  justify-content: center;
  background-color: var(--color-button-secondary-bg);
  border: 1px solid var(--color-button-secondary-border);
  color: var(--color-button-secondary-txt);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  width: 39rem;
  min-height: 4.8rem;
  padding: 1.6rem 2rem;
}
@media all and (max-width: 768px) {
  .btn2 {
    font-size: 1.4rem;
    width: 100%;
    padding: 1rem 1.4rem;
    min-height: 0;
  }
}
.btn2--full {
  width: 100%;
}
.btn2__inner {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.form-select {
  position: relative;
}
.form-select__select {
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--ice-gray-400);
  border: 2px solid var(--color-border-devide2);
  padding: 1rem 3.4rem 1rem 1.4rem;
  font-size: 1.2rem;
  color: var(--color-primary);
  cursor: pointer;
  outline: none;
}
.form-select__icn {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.4rem;
  display: flex;
  align-items: center;
  margin: auto 0;
  pointer-events: none;
}
.mv {
  margin-left: 4.8rem;
  height: calc(100dvh - var(--header-height));
  max-height: calc(120rem - var(--header-height));
  overflow: hidden;
}
@media all and (max-width: 768px) {
  .mv {
    margin-left: 0;
    height: auto;
    max-height: none;
  }
}
.mv__inner {
  position: relative;
  height: calc(100dvh - var(--header-height) - 5.6rem);
  max-height: calc(120rem - var(--header-height) - 5.6rem);
}
@media all and (max-width: 768px) {
  .mv__inner {
    height: calc(100dvh - var(--header-height-sp));
    max-height: calc(82rem - var(--header-height-sp));
    min-height: calc(56.9rem - var(--header-height-sp));
    overflow: hidden;
  }
}
@media all and (max-width: 768px) {
  .mv__txt {
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(../img/mv_bg_001.webp) no-repeat 50% 50%;
    background-size: cover;
    height: calc(100dvh - var(--header-height-sp) - 7.5rem);
    max-height: calc(82rem - var(--header-height-sp) - 7.5rem);
    min-height: calc(56.9rem - var(--header-height-sp) - 7.5rem);
  }
}
.mv__txt__pc {
  position: absolute;
  top: 11.57%;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 2;
  width: 46.6rem;
  height: 33.2rem;
}
@media all and (max-width: 768px) {
  .mv__txt__pc {
    display: none;
  }
}
.mv__txt__sp {
  position: relative;
  z-index: 2;
  width: 21.3rem;
  height: 24.6rem;
  display: none;
}
@media all and (max-width: 768px) {
  .mv__txt__sp {
    display: block;
  }
}
.mv__support {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
}
@media all and (max-width: 768px) {
  .mv__support {
    position: relative;
    height: 7.5rem;
  }
}
.mv__support a {
  display: flex;
  align-items: center;
  padding: 1.2rem 1.6rem;
  gap: 1.6rem;
  background-color: var(--color-button-primary-bg);
  color: var(--color-button-primary-txt);
  text-decoration: none;
  line-height: 1;
}
@media all and (max-width: 768px) {
  .mv__support a {
    padding: 0 1.4rem;
    height: 100%;
    gap: 1.4rem;
  }
}
.mv__support__col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.mv__support__icn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.4rem;
  height: 6.4rem;
  background-color: #fff;
  border-radius: 50%;
}
@media all and (max-width: 768px) {
  .mv__support__icn {
    width: 5.5rem;
    height: 5.5rem;
  }
}
.mv__support__txt {
  font-size: 1.4rem;
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .mv__support__txt {
    font-size: 1rem;
  }
}
.mv__support__txt2 {
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
@media all and (max-width: 768px) {
  .mv__support__txt2 {
    font-size: 1.5rem;
    gap: 0.3rem;
  }
}
.mv__imgs {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
}
.mv__imgs.slick-initialized {
  display: block;
}
@media all and (max-width: 768px) {
  .mv__imgs.slick-initialized {
    display: none;
  }
}
.mv__img {
  width: 100%;
  height: calc(100dvh - var(--header-height) - 5.6rem);
  max-height: calc(120rem - var(--header-height) - 5.6rem);
  overflow: hidden;
}
.mv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.mv__info {
  display: flex;
  align-items: center;
  height: 5.6rem;
  color: var(--color-txt-base);
  gap: 3.3rem;
}
@media all and (max-width: 768px) {
  .mv__info {
    height: auto;
    padding: 1.4rem 1.4rem 0;
  }
}
.mv__info__ttl {
  position: relative;
  font-size: 1.6rem;
  font-family: var(--font-family-en);
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .mv__info__ttl {
    display: none;
  }
}
.mv__info__ttl::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: -1.6rem;
  width: 1px;
  height: 1.6rem;
  background-color: var(--color-border-devide2);
}
.mv__info__body {
  margin: 0;
}
.mv__info a {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  color: var(--color-txt-base);
  text-decoration: none;
  gap: 1.2rem;
}
@media all and (max-width: 768px) {
  .mv__info a {
    font-size: 1.2rem;
    gap: 1rem;
  }
}
.mv__info__date {
  font-family: var(--font-family-en);
  font-weight: 500;
}
.mv__info__detail {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media all and (max-width: 768px) {
  .mv__info__detail {
    gap: 0.3rem;
  }
}
.mv__info__txt {
  max-width: 98rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media all and (max-width: 768px) {
  .mv__info__txt {
    max-width: none;
    -webkit-line-clamp: 2;
  }
}
.mv2 {
  position: relative;
  width: 100%;
  height: 40rem;
}
@media all and (max-width: 768px) {
  .mv2 {
    height: 24rem;
  }
}
.mv2__txt {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 3.2rem;
  font-weight: 700;
  margin: 0;
}
@media all and (max-width: 768px) {
  .mv2__txt {
    font-size: 2rem;
    padding: 1.4rem;
    text-align: center;
  }
}
.mv2__img {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.mv2__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (max-width: 768px) {
  .mv2__img__pc {
    display: none;
  }
}
.mv2__img__sp {
  display: none;
}
@media all and (max-width: 768px) {
  .mv2__img__sp {
    display: block;
  }
}

.pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin-bottom: 0;
  list-style-type: none;
}
@media all and (max-width: 768px) {
  .pagination__list {
    gap: 0.5rem;
  }
}
.pagination__item {
  width: 3.6rem;
  height: 3.6rem;
}
@media all and (max-width: 768px) {
  .pagination__item {
    width: 2.8rem;
    height: 2.8rem;
  }
}
.pagination__item a {
  text-decoration: none;
}
.pagination__prev {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.pagination__next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  font-weight: 500;
  color: var(--color-txt-base);
}
@media all and (max-width: 768px) {
  .pagination__link {
    font-size: 1.2rem;
  }
}
.pagination__current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  font-weight: 500;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 50%;
}
@media all and (max-width: 768px) {
  .pagination__current {
    font-size: 1.2rem;
  }
}

.phiolophy {
  padding-top: 9.6rem;
}
@media all and (max-width: 768px) {
  .phiolophy {
    padding-top: 4.1rem;
  }
}
.phiolophy__row {
  display: grid;
  grid-template-columns: 52.4rem 1fr;
  gap: 0 4.8rem;
}
@media all and (max-width: 768px) {
  .phiolophy__row {
    grid-template-columns: 1fr;
    gap: 3.4rem 0;
  }
}
.phiolophy__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .phiolophy__ttl {
    margin-bottom: 3.4rem;
  }
}
.phiolophy__txt {
  font-size: 1.8rem;
  margin-bottom: 4rem;
}
.phiolophy__btn {
  margin: 0;
}
.phiolophy__imgs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.phiolophy__img {
  position: relative;
  z-index: 1;
  width: 56.3rem;
  height: 42.2rem;
}
@media all and (max-width: 768px) {
  .phiolophy__img {
    width: 26.2rem;
    height: 19.7rem;
  }
}
.phiolophy__img2 {
  position: relative;
  z-index: 2;
  width: 39.2rem;
  height: 29.4rem;
  margin: -8rem 0 0 auto;
}
@media all and (max-width: 768px) {
  .phiolophy__img2 {
    width: 18.3rem;
    height: 13.7rem;
    margin-top: -3.7rem;
  }
}

.mission {
  padding-top: 0;
}
.mission__ttl {
  margin-bottom: 8rem;
}
@media all and (max-width: 768px) {
  .mission__ttl {
    margin-bottom: 5.8rem;
  }
}
.mission__row {
  display: flex;
  gap: 7.1rem;
}
@media all and (max-width: 768px) {
  .mission__row {
    flex-direction: column;
    gap: 5.5rem;
  }
}
.mission__col {
  position: relative;
  flex: 1;
}
.mission__col > :last-child {
  margin-bottom: 0;
}
.mission__num {
  position: absolute;
  left: 1.7rem;
  top: -3.5rem;
  z-index: 2;
  width: 4rem;
  height: 5.1rem;
}
@media all and (max-width: 768px) {
  .mission__num {
    left: 1.4rem;
    top: -2.3rem;
    width: 2.7rem;
    height: 3.5rem;
  }
}
.mission__num img {
  width: 100%;
  height: auto;
}
.mission__img {
  position: relative;
  z-index: 1;
  aspect-ratio: 564/375;
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .mission__img {
    margin-bottom: 1.7rem;
  }
}
.mission__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mission__lead {
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .mission__lead {
    margin-bottom: 1.4rem;
  }
}

.founder {
  margin-bottom: 7.2rem;
}
@media all and (max-width: 768px) {
  .founder {
    margin-bottom: 3.4rem;
  }
}
.founder__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .founder__ttl {
    margin-bottom: 3.4rem;
  }
}
.founder__row {
  display: grid;
  grid-template-columns: 52rem 1fr;
  gap: 0 4.8rem;
}
@media all and (max-width: 768px) {
  .founder__row {
    grid-template-columns: 1fr;
    gap: 1.7rem 0;
  }
}
.founder__img {
  aspect-ratio: 520/390;
}
.founder__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.founder__post {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}
@media all and (max-width: 768px) {
  .founder__post {
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 0.7rem;
  }
}
.founder__name {
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}
@media all and (max-width: 768px) {
  .founder__name {
    font-size: 2.7rem;
    margin-bottom: 0.7rem;
  }
}
.founder__note {
  font-size: 1.6rem;
  line-height: 1.7;
  margin-bottom: 4rem;
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .founder__note {
    font-size: 1.2rem;
    margin-bottom: 1.4rem;
  }
}
.founder__txt {
  margin-bottom: 0;
}
.roadmap__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .roadmap__ttl {
    margin-bottom: 3.4rem;
  }
}
.roadmap__list {
  display: flex;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  padding: 0;
  gap: 4.8rem;
}
@media all and (max-width: 768px) {
  .roadmap__list {
    flex-direction: column;
    gap: 1.6rem;
  }
}
.roadmap__list > li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26.4rem;
  height: 26.4rem;
  padding: 2.4rem;
  background-color: var(--color-white);
  border-radius: 50%;
  border: 0.4rem solid var(--color-border-devide3);
}
@media all and (max-width: 768px) {
  .roadmap__list > li {
    justify-content: flex-start;
    width: auto;
    height: auto;
    padding: 1.4rem 2rem;
    border-radius: 1.4rem;
    border-width: 0.2rem;
  }
}
.roadmap__list > li::before {
  position: absolute;
  content: "";
  width: 4.8rem;
  height: 0.4rem;
  background-color: var(--color-border-devide3);
  left: -5.2rem;
  top: 50%;
  margin-top: -0.2rem;
}
@media all and (max-width: 768px) {
  .roadmap__list > li::before {
    width: 0.2rem;
    height: 1.6rem;
    top: -1.8rem;
    left: 50%;
    margin-top: 0;
    margin-left: -0.1rem;
  }
}
.roadmap__list > li:first-child::before {
  display: none;
}
.roadmap__list__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
@media all and (max-width: 768px) {
  .roadmap__list__inner {
    flex-direction: row;
    align-items: normal;
    gap: 1.4rem;
  }
}
.roadmap__year {
  font-family: var(--font-family-en);
  font-size: 2.4rem;
  font-weight: 500;
  color: var(--color-primary);
}
@media all and (max-width: 768px) {
  .roadmap__year {
    width: 6rem;
    font-size: 1.7rem;
  }
}
.roadmap__year__jp {
  font-weight: 400;
  font-size: 2rem;
}
@media all and (max-width: 768px) {
  .roadmap__year__jp {
    font-size: 1.5rem;
  }
}
.roadmap__detail {
  font-size: 2rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .roadmap__detail {
    font-size: 1.5rem;
  }
}

.stories--type2 {
  padding-top: 4.8rem;
}
@media all and (max-width: 768px) {
  .stories--type2 {
    padding-top: 3.4rem;
  }
}
.stories__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .stories__ttl {
    margin-bottom: 1.7rem;
  }
}
@media all and (max-width: 768px) {
  .stories__txt {
    margin-bottom: 3.4rem;
  }
}
.stories__articles {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .stories__articles {
    flex-direction: column;
    gap: 2.7rem;
    margin-bottom: 3.4rem;
  }
}
.stories__article {
  position: relative;
  width: 37.2rem;
}
@media all and (max-width: 768px) {
  .stories__article {
    width: 100%;
  }
}
.stories__article a {
  display: flex;
  height: 100%;
  flex-direction: column;
  text-decoration: none;
}
.stories__article__img {
  aspect-ratio: 372/280;
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .stories__article__img {
    margin-bottom: 1.4rem;
  }
}
.stories__article__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.stories__article__badge {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  line-height: 1.2;
  font-family: var(--font-family-en);
  font-weight: 500;
  border-radius: 50%;
}
@media all and (max-width: 768px) {
  .stories__article__badge {
    top: 0.7rem;
    left: 0.7rem;
    width: 5.2rem;
    height: 5.2rem;
  }
}
.stories__article__year {
  font-size: 1.2rem;
}
@media all and (max-width: 768px) {
  .stories__article__year {
    font-size: 1rem;
  }
}
.stories__article__date {
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .stories__article__date {
    font-size: 1.4rem;
  }
}
.stories__article__inner {
  flex-grow: 1;
}
.stories__article__ttl {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--color-txt-base);
  margin-bottom: 0.8rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media all and (max-width: 768px) {
  .stories__article__ttl {
    font-size: 1.4rem;
    margin-bottom: 0.7rem;
  }
}
.stories__article__tags {
  list-style-type: none;
  margin: 0 0 0.8rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media all and (max-width: 768px) {
  .stories__article__tags {
    gap: 0.7rem;
    margin-bottom: 0.7rem;
  }
}
.stories__article__tag {
  background-color: var(--color-bg-tag);
  padding: 0.2rem 0.4rem;
  color: var(--color-primary);
  font-size: 1.2rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .stories__article__tag {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
    font-size: 1rem;
  }
}
.stories__article__txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  font-size: 1.6rem;
  color: var(--color-txt-gray);
  margin: 0;
}
@media all and (max-width: 768px) {
  .stories__article__txt {
    font-size: 1.2rem;
  }
}
.stories__btn {
  display: flex;
  justify-content: center;
}
.stories__pagination {
  margin-top: 6.4rem;
}
@media all and (max-width: 768px) {
  .stories__pagination {
    display: none;
  }
}
.stories__pagination--sp {
  display: none;
}
@media all and (max-width: 768px) {
  .stories__pagination--sp {
    display: block;
  }
}
.stories__category {
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .stories__category {
    margin-bottom: 3.4rem;
  }
}
.stories__category__list {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style-type: none;
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .stories__category__list {
    display: none;
  }
}
.stories__category__list a {
  text-decoration: none;
  color: var(--color-txt-base);
}
.stories__category__item {
  position: relative;
  font-size: 1.6rem;
  padding: 0 2.4rem;
}
.stories__category__item::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 1px;
  height: 2.4rem;
  background-color: var(--color-border-devide2);
}
.stories__category__item:last-child::after {
  display: none;
}
.stories__category__item--current {
  font-weight: 700;
  padding-left: 3.4rem;
}
.stories__category__item--current::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 0.6rem;
  height: 0.6rem;
  background-color: var(--color-txt-base);
  border-radius: 50%;
}
.stories__category__select {
  display: none;
}
@media all and (max-width: 768px) {
  .stories__category__select {
    display: block;
  }
}
.stories__count {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 4.8rem;
  border-bottom: 1px solid var(--color-border-devide2);
}
@media all and (max-width: 768px) {
  .stories__count {
    margin-bottom: 3.4rem;
  }
}
.stories__count__num {
  font-size: 2.4rem;
  font-family: var(--font-family-en);
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .stories__count__num {
    font-size: 1.5rem;
  }
}
.stories__count__txt {
  font-size: 1.4rem;
}
@media all and (max-width: 768px) {
  .stories__count__txt {
    font-size: 1rem;
  }
}

.stories2 {
  position: relative;
  padding: 8rem 0 12rem;
  background: linear-gradient(to bottom, var(--ice-gray-400) 55.8rem, var(--color-bg) 55.8rem);
}
@media all and (max-width: 768px) {
  .stories2 {
    padding: 0 0 6.1rem;
    background: none;
  }
}
.stories2__article {
  padding-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .stories2__article {
    padding: 0 1.4rem 6.1rem;
  }
}
.stories2__article__header {
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .stories2__article__header {
    background-color: var(--ice-gray-400);
    margin: 0 -1.4rem 1.7rem;
    padding: 3.4rem 1.4rem 1.7rem;
  }
}
.stories2__article__ttl {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .stories2__article__ttl {
    font-size: 2rem;
    margin-bottom: 1.7rem;
  }
}
.stories2__article__date {
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  color: var(--color-txt-gray);
  margin-bottom: 0.8rem;
}
@media all and (max-width: 768px) {
  .stories2__article__date {
    font-size: 1.2rem;
    margin-bottom: 0.7rem;
  }
}
.stories2__article__row {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  gap: 1.6rem;
}
@media all and (max-width: 768px) {
  .stories2__article__row {
    gap: 0.7rem;
  }
}
.stories2__article__category {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style-type: none;
  gap: 0.8rem 1.6rem;
  font-size: 1.2rem;
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .stories2__article__category {
    gap: 0.3rem 0.7rem;
    font-size: 1rem;
  }
}
.stories2__article__category a {
  text-decoration: none;
}
.stories2__article__share {
  margin: 0 0 0 auto;
  white-space: nowrap;
  font-size: 1.4rem;
}
@media all and (max-width: 768px) {
  .stories2__article__share {
    font-size: 1.2rem;
  }
}
.stories2__article__share button {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  border: none;
  background: none;
  cursor: pointer;
}
.stories2__article__sns {
  inset: unset;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  position-area: bottom span-left;
  overflow: hidden;
  margin-top: 0.4rem;
  /* AddToAnyのアイコンサイズを変更 */
}
.stories2__article__sns .a2a_svg {
  width: 2.8rem !important;
  height: 2.8rem !important;
}
.stories2__article__sns {
  /* ボタン全体のサイズ */
}
.stories2__article__sns .a2a_button {
  width: 2.8rem !important;
  height: 2.8rem !important;
}
.stories2__article__sns .addtoany_list,
.stories2__article__sns .a2a_kit a {
  line-height: 2.8rem !important;
}
.stories2__article__mv {
  aspect-ratio: 880/527;
}
@media all and (max-width: 768px) {
  .stories2__article__mv {
    margin: -1.7rem -1.4rem 1.7rem;
  }
}
.stories2__article__mv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.stories2__article__inner {
  display: flex;
  flex-direction: column;
  margin: 0 -4.8rem;
  padding: 4.8rem;
  background-color: var(--color-bg);
  min-height: 45rem;
}
@media all and (max-width: 768px) {
  .stories2__article__inner {
    margin: 0;
    padding: 0;
    min-height: 0;
  }
}
.stories2__article__body {
  margin-bottom: 7.2rem;
  flex-grow: 1;
}
@media all and (max-width: 768px) {
  .stories2__article__body {
    margin-bottom: 4.1rem;
  }
}
.stories2__article__pager {
  display: flex;
  margin-bottom: 0;
  font-size: 1.6rem;
  font-weight: 700;
  list-style-type: none;
}
@media all and (max-width: 768px) {
  .stories2__article__pager {
    font-size: 1.4rem;
  }
}
.stories2__article__pager a {
  display: flex;
  align-items: center;
  color: var(--color-txt-base);
  text-decoration: none;
}
.stories2__article__pager__prev {
  max-width: 50%;
}
.stories2__article__pager__next {
  margin-left: auto;
  max-width: 50%;
}
.stories2__other {
  padding-top: 4rem;
  border-top: 1px solid var(--color-border-devide2);
  background-color: var(--color-bg);
}
@media all and (max-width: 768px) {
  .stories2__other {
    padding-top: 3.4rem;
  }
}
.stories2__other__ttl {
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .stories2__other__ttl {
    margin-bottom: 4.1rem;
  }
}
.stories2__article2s {
  display: flex;
  gap: 3.2rem;
}
@media all and (max-width: 768px) {
  .stories2__article2s {
    flex-direction: column;
    gap: 1.4rem;
  }
}
.stories2__article2 {
  width: 27.6rem;
}
@media all and (max-width: 768px) {
  .stories2__article2 {
    width: auto;
  }
}
.stories2__article2 a {
  text-decoration: none;
  color: var(--color-txt-base);
}
.stories2__article2__img {
  aspect-ratio: 276/207;
  margin-bottom: 1.8rem;
}
@media all and (max-width: 768px) {
  .stories2__article2__img {
    margin-bottom: 1.4rem;
  }
}
.stories2__article2__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.stories2__article2__ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}
@media all and (max-width: 768px) {
  .stories2__article2__ttl {
    font-size: 1.4rem;
    margin-bottom: 0.7rem;
  }
}
.stories2__article2__date {
  font-size: 1.4rem;
  font-family: var(--font-family-en);
  color: var(--color-txt-gray);
  margin-bottom: 0.6rem;
}
@media all and (max-width: 768px) {
  .stories2__article2__date {
    font-size: 1.2rem;
    margin-bottom: 0.7rem;
  }
}
.stories2__article2__txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  font-size: 1.4rem;
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .stories2__article2__txt {
    font-size: 1.2rem;
  }
}

.support__ttl {
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .support__ttl {
    margin-bottom: 3.4rem;
  }
}
.support__row {
  display: grid;
  grid-template-columns: 67.4rem 1fr;
  gap: 0 4.8rem;
  grid-template-areas: "detail image";
}
@media all and (max-width: 768px) {
  .support__row {
    grid-template-columns: 1fr;
    gap: 3.4rem 0;
    grid-template-areas: "detail" "image";
  }
}
.support__col {
  grid-area: detail;
}
.support__col2 {
  grid-area: image;
  padding-top: 4.8rem;
}
@media all and (max-width: 768px) {
  .support__col2 {
    padding-top: 0;
  }
}
.support__imgs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.support__img {
  position: relative;
  z-index: 1;
  width: 42.5rem;
  height: 31.9rem;
}
@media all and (max-width: 768px) {
  .support__img {
    width: 26rem;
    height: 19.5rem;
  }
}
.support__img2 {
  position: relative;
  z-index: 2;
  width: 24.5rem;
  height: 18.4rem;
  margin: -8.7rem 0 0 auto;
}
@media all and (max-width: 768px) {
  .support__img2 {
    width: 15rem;
    height: 11.3rem;
    margin-top: -5.3rem;
  }
}
.support__img3 {
  position: relative;
  z-index: 1;
  width: 32.8rem;
  height: 24.6rem;
  margin-top: -2.5rem;
}
@media all and (max-width: 768px) {
  .support__img3 {
    width: 20.1rem;
    height: 15rem;
    margin-top: -1.5rem;
  }
}

.support2__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem;
}
@media all and (max-width: 768px) {
  .support2__row {
    grid-template-columns: 1fr;
    gap: 2.7rem;
  }
}
.support2__col {
  padding: 4rem;
  background-color: var(--color-bg);
}
@media all and (max-width: 768px) {
  .support2__col {
    padding: 1.7rem 1.4rem;
  }
}
.support2__col > :last-child {
  margin-bottom: 0;
}
.support2__header {
  display: grid;
  grid-template-columns: 14rem 1fr;
  grid-template-areas: "title price" "title title2";
  gap: 0.8rem 1.6rem;
}
@media all and (max-width: 768px) {
  .support2__header {
    grid-template-columns: 7.5rem 1fr;
    grid-template-areas: "title price" "title2 title2";
    gap: 1.7rem 1.4rem;
  }
}
.support2__header__col {
  grid-area: title;
  align-self: center;
}
.support2__header__col > :last-child {
  margin-bottom: 0;
}
.support2__header__col2 {
  grid-area: price;
  align-self: end;
  justify-self: end;
  display: flex;
  flex-direction: column;
}
@media all and (max-width: 768px) {
  .support2__header__col2 {
    align-self: center;
    justify-self: flex-start;
  }
}
.support2__header__col2 > :last-child {
  margin-bottom: 0;
}
.support2__header__col3 {
  grid-area: title2;
}
.support2__header__col3 > :last-child {
  margin-bottom: 0;
}
.support2__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 14rem;
  height: 14rem;
  background-color: var(--ice-gray-400);
  border-radius: 50%;
  color: var(--color-primary);
}
@media all and (max-width: 768px) {
  .support2__ttl {
    width: 7.5rem;
    height: 7.5rem;
  }
}
.support2__ttl__txt {
  font-size: 3.2rem;
  font-family: var(--font-family-en);
  font-weight: 600;
}
@media all and (max-width: 768px) {
  .support2__ttl__txt {
    font-size: 1.7rem;
  }
}
.support2__ttl__txt2 {
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .support2__ttl__txt2 {
    font-size: 0.9rem;
  }
}
.support2__ttl2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: end;
  gap: 0.4rem 0.8rem;
  margin: 0;
}
@media all and (max-width: 768px) {
  .support2__ttl2 {
    justify-content: space-between;
  }
}
.support2__ttl2__name {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .support2__ttl2__name {
    font-size: 1.7rem;
  }
}
.support2__ttl2__label {
  padding: 0.4rem 0.8rem;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
  background-color: var(--color-bg-label);
  color: var(--color-white);
}
@media all and (max-width: 768px) {
  .support2__ttl2__label {
    padding: 0.3rem 0.7rem;
    font-size: 1.2rem;
  }
}
.support2__price {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 0;
  color: var(--color-primary);
}
@media all and (max-width: 768px) {
  .support2__price {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.support2__price > dt {
  font-size: 1.4rem;
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .support2__price > dt {
    font-size: 1.2rem;
  }
}
.support2__price > dd {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.support2__price__value {
  font-size: 5.6rem;
  font-family: var(--font-family-en);
  font-weight: 600;
}
@media all and (max-width: 768px) {
  .support2__price__value {
    font-size: 3.1rem;
  }
}
.support2__price__value2 {
  font-size: 3.6rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .support2__price__value2 {
    font-size: 2.4rem;
  }
}
.support2__price__unit {
  font-size: 1.4rem;
  font-weight: 500;
  padding-top: 1rem;
}
@media all and (max-width: 768px) {
  .support2__price__unit {
    font-size: 1.2rem;
    padding-top: 0.9rem;
  }
}
.support2__btn {
  margin: 2.4rem 0;
}
@media all and (max-width: 768px) {
  .support2__btn {
    margin: 1.7rem 0;
  }
}
.support2__lead {
  margin-bottom: 2rem;
}
@media all and (max-width: 768px) {
  .support2__lead {
    margin-bottom: 1.7rem;
  }
}
.support2__lead__txt {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
}
@media all and (max-width: 768px) {
  .support2__lead__txt {
    font-size: 1.4rem;
  }
}
.support2__return {
  background-color: var(--ice-gray-400);
  padding: 1.6rem;
}
@media all and (max-width: 768px) {
  .support2__return {
    padding: 1.4rem;
  }
}
.support2__return > dt {
  font-size: 1.8rem;
  font-family: var(--font-family-en);
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 0.8rem;
}
@media all and (max-width: 768px) {
  .support2__return > dt {
    font-size: 1.4rem;
    margin-bottom: 0.7rem;
  }
}
.support2__return__list {
  margin: 0;
  font-size: 1.4rem;
  list-style-type: none;
}
@media all and (max-width: 768px) {
  .support2__return__list {
    font-size: 1.2rem;
  }
}
.support2__return__list > li {
  position: relative;
  padding-left: 1em;
}
.support2__return__list > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.support2__notes {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  list-style-type: none;
  font-size: 1.4rem;
}
@media all and (max-width: 768px) {
  .support2__notes {
    gap: 0.3rem;
    font-size: 1.2rem;
  }
}
.support2__notes > li {
  text-indent: -1em;
  margin-left: 1em;
}
.support2__notes > li::before {
  content: "※";
}

.faq__row {
  display: flex;
  gap: 4rem;
}
@media all and (max-width: 768px) {
  .faq__row {
    flex-direction: column;
    gap: 3.4rem;
  }
}
.faq__col {
  flex: 1;
}
.faq__col2 {
  flex: 0 0 93.5rem;
  margin-left: auto;
}
@media all and (max-width: 768px) {
  .faq__col2 {
    flex: 1;
  }
}
.faq__list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border-devide);
}
.faq__list > li {
  border-bottom: 1px solid var(--color-border-devide);
}
.faq__q a {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 3.2rem 1.6rem;
  text-decoration: none;
  color: var(--color-txt-base);
}
@media all and (max-width: 768px) {
  .faq__q a {
    gap: 0.7rem;
    padding: 1.4rem 1rem;
  }
}
.faq__q__txt {
  flex: 0 0 5.8rem;
  color: var(--color-txt-pink);
  font-size: 4.8rem;
  font-family: var(--font-family-en);
  font-weight: 500;
  text-align: center;
}
@media all and (max-width: 768px) {
  .faq__q__txt {
    flex: 0 0 3.6rem;
    font-size: 2.4rem;
  }
}
.faq__q__txt2 {
  flex: 1;
  font-size: 1.8rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .faq__q__txt2 {
    font-size: 1.4rem;
  }
}
.faq__q__icn {
  flex: 0 0 4.8rem;
  transition: 0.3s;
  margin-left: auto;
}
@media all and (max-width: 768px) {
  .faq__q__icn {
    flex: 0 0 2.7rem;
  }
}
a.is-open .faq__q__icn {
  transform: rotate(180deg);
}
.faq__a {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  transition: 0.3s, content-visibility 0.4s allow-discrete;
  height: 0;
  overflow: clip;
  padding: 0 1.6rem;
  background-color: var(--color-bg-alt);
}
@media all and (max-width: 768px) {
  .faq__a {
    gap: 0.7rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.faq__a.is-open {
  height: auto;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}
@media all and (max-width: 768px) {
  .faq__a.is-open {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.faq__a__txt {
  flex: 0 0 5.8rem;
  color: var(--color-txt-pink);
  font-size: 4.8rem;
  font-family: var(--font-family-en);
  font-weight: 500;
  text-align: center;
}
@media all and (max-width: 768px) {
  .faq__a__txt {
    flex: 0 0 3.6rem;
    font-size: 2.4rem;
  }
}
.faq__a__txt2 {
  flex: 1;
  font-size: 1.8rem;
}
@media all and (max-width: 768px) {
  .faq__a__txt2 {
    font-size: 1.4rem;
  }
}

.vision {
  padding-top: 0;
}
.vision__ttl {
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .vision__ttl {
    margin-bottom: 3.4rem;
  }
}
.vision__words {
  margin-bottom: 7.2rem;
}
@media all and (max-width: 768px) {
  .vision__words {
    margin-bottom: 3.4rem;
  }
}
.vision__words__ttl {
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .vision__words__ttl {
    font-size: 2rem;
    margin-bottom: 3.4rem;
  }
}
.vision__words__ttl2 {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 1.6rem;
}
@media all and (max-width: 768px) {
  .vision__words__ttl2 {
    font-size: 2rem;
    margin-bottom: 0.7rem;
  }
}
.vision__words__txt {
  text-align: center;
  margin-bottom: 3.2rem;
}
@media all and (max-width: 768px) {
  .vision__words__txt {
    text-align: left;
    margin-bottom: 2.7rem;
  }
}
.vision__words__txt2 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 6.4rem;
  margin-bottom: 0;
  font-size: 2rem;
}
@media all and (max-width: 768px) {
  .vision__words__txt2 {
    min-height: 0;
    font-size: 1.2rem;
  }
}
.vision__words__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .vision__words__list {
    flex-direction: column;
    align-items: normal;
    justify-content: normal;
    gap: 1.4rem;
  }
}
.vision__words__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32rem;
  height: 32rem;
  padding: 2.4rem;
  background-color: var(--ice-gray-500);
  border-radius: 50%;
}
@media all and (max-width: 768px) {
  .vision__words__item {
    width: auto;
    height: auto;
    padding: 1.4rem;
    border-radius: 1.4rem;
  }
}
.vision__words__inner {
  text-align: center;
}
.vision__message {
  display: grid;
  grid-template-columns: 4.7rem 1fr;
  gap: 0 3.2rem;
  margin-bottom: 7.2rem;
}
@media all and (max-width: 768px) {
  .vision__message {
    grid-template-columns: 1fr;
    gap: 2.7rem 0;
  }
}
.vision__message__ttl {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .vision__message__ttl {
    font-size: 2rem;
    text-align: center;
  }
}
.vision__message__col {
  padding: 7.2rem;
  background-color: var(--color-bg-alt);
}
@media all and (max-width: 768px) {
  .vision__message__col {
    padding: 3.4rem 1.4rem;
  }
}
.vision__message__col > :last-child {
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .vision__message__lead {
    margin-bottom: 1.7rem;
  }
}
.vision__movie {
  padding-top: 7.2rem;
  padding-bottom: 7.2rem;
  background-color: rgba(245, 169, 169, 0.2);
}
@media all and (max-width: 768px) {
  .vision__movie {
    padding-top: 4.1rem;
    padding-bottom: 4.1rem;
  }
}
.vision__movie__row {
  display: grid;
  grid-template-columns: 69rem 1fr;
  gap: 0 4.8rem;
}
@media all and (max-width: 768px) {
  .vision__movie__row {
    grid-template-columns: 1fr;
    gap: 2.7rem 0;
  }
}
.vision__movie__youtube {
  aspect-ratio: 560/315;
}
.vision__movie__youtube iframe {
  width: 100%;
  height: 100%;
}
.vision__movie__lead {
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .vision__movie__lead {
    margin-bottom: 1.4rem;
  }
}
.vision__movie__txt {
  margin-bottom: 3rem;
}
@media all and (max-width: 768px) {
  .vision__movie__txt {
    margin-bottom: 2.7rem;
  }
}
.vision__movie__profile {
  margin-bottom: 0;
  padding-top: 2.4rem;
  border-top: 1px solid var(--color-white);
}
@media all and (max-width: 768px) {
  .vision__movie__profile {
    padding-top: 2rem;
  }
}
.vision__movie__profile > dt {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-txt-pink);
  margin-bottom: 1.6rem;
}
@media all and (max-width: 768px) {
  .vision__movie__profile > dt {
    font-size: 1.5rem;
    margin-bottom: 1.4rem;
  }
}
.vision__movie__profile > dd {
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .vision__movie__profile > dd {
    font-size: 1.2rem;
  }
}

.focus__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .focus__ttl {
    margin-bottom: 3.4rem;
  }
}
.focus__ttl2 {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
}
@media all and (max-width: 768px) {
  .focus__ttl2 {
    gap: 0;
  }
}
.focus__ttl2__en {
  font-size: 3.6rem;
  font-family: var(--font-family-en);
}
@media all and (max-width: 768px) {
  .focus__ttl2__en {
    font-size: 2.4rem;
  }
}
.focus__ttl2__jp {
  font-size: 3.2rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .focus__ttl2__jp {
    font-size: 2rem;
  }
}
.focus__row {
  display: flex;
  flex-wrap: wrap;
  gap: 4.8rem 7.2rem;
}
@media all and (max-width: 768px) {
  .focus__row {
    flex-direction: column;
    gap: 2.7rem;
  }
}
.focus__col {
  display: flex;
  flex-direction: column;
  flex: 0 0 56.4rem;
}
@media all and (max-width: 768px) {
  .focus__col {
    flex: 1;
  }
}
.focus__col__inner {
  flex-grow: 1;
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .focus__col__inner {
    margin-bottom: 1.4rem;
  }
}
.focus__img {
  position: relative;
  aspect-ratio: 564/375;
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .focus__img {
    margin-bottom: 1.7rem;
  }
}
.focus__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.focus__txt {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .focus__txt {
    font-size: 1.7rem;
  }
}
.focus__txt2 {
  margin-bottom: 0;
  font-size: 1.8rem;
  line-height: 1.6;
}
@media all and (max-width: 768px) {
  .focus__txt2 {
    font-size: 1.4rem;
  }
}

.process__ttl {
  margin-bottom: 5.6rem;
}
@media all and (max-width: 768px) {
  .process__ttl {
    margin-bottom: 4.8rem;
  }
}
.process__detail {
  display: flex;
  gap: 4rem;
  padding: 2.4rem 0 2.4rem 3.2rem;
  background-color: var(--ice-gray-400);
}
@media all and (max-width: 768px) {
  .process__detail {
    flex-direction: column;
    gap: 0;
    padding: 1.7rem 1.4rem;
  }
}
.process__detail + .process__detail {
  margin-top: 2.4rem;
}
@media all and (max-width: 768px) {
  .process__detail + .process__detail {
    margin-top: 2rem;
  }
}
.process__detail__col {
  flex: 0 0 18rem;
  align-self: center;
}
@media all and (max-width: 768px) {
  .process__detail__col {
    flex: 1;
    width: 100%;
    margin-bottom: 1.7rem;
  }
}
.process__detail__col2 {
  flex: 1;
  display: flex;
  align-items: center;
}
@media all and (max-width: 768px) {
  .process__detail__col2 {
    margin-bottom: 2.7rem;
  }
}
.process__detail__col3 {
  flex: 0 0 30.4rem;
  aspect-ratio: 304/228;
  margin: -2.4rem 0 -2.4rem auto;
}
@media all and (max-width: 768px) {
  .process__detail__col3 {
    flex: 1;
    margin: 0;
  }
}
.process__detail__col3 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.process__detail__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  background: var(--color-white);
  color: var(--color-primary);
}
@media all and (max-width: 768px) {
  .process__detail__ttl {
    gap: 0;
    width: auto;
    height: auto;
    border-radius: 1.4rem;
    padding: 1.4rem;
  }
}
.process__detail__ttl__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media all and (max-width: 768px) {
  .process__detail__ttl__inner {
    flex-direction: row;
    gap: 2.7rem;
  }
}
.process__detail__ttl__period {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media all and (max-width: 768px) {
  .process__detail__ttl__period {
    gap: 0.3rem;
  }
}
.process__detail__ttl__en {
  font-size: 2.4rem;
  font-family: var(--font-family-en);
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .process__detail__ttl__en {
    font-size: 1.7rem;
  }
}
.process__detail__ttl__jp {
  font-size: 2rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .process__detail__ttl__jp {
    font-size: 1.5rem;
  }
}
.process__detail__ttl__txt {
  font-size: 2.8rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .process__detail__ttl__txt {
    font-size: 2rem;
  }
}
.process__detail__txt {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 1.6rem;
}
@media all and (max-width: 768px) {
  .process__detail__txt {
    font-size: 2rem;
    margin-bottom: 1.4rem;
    text-align: center;
  }
}
.process__detail__txt2 {
  font-size: 1.6rem;
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .process__detail__txt2 {
    font-size: 1.4rem;
  }
}

.network__row {
  display: grid;
  grid-template-columns: 52.4rem 1fr;
  gap: 0 4.8rem;
}
@media all and (max-width: 768px) {
  .network__row {
    grid-template-columns: 1fr;
    gap: 3.4rem 0;
  }
}
.network__col > :last-child {
  margin-bottom: 0;
}
.network__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .network__ttl {
    margin-bottom: 3.4rem;
  }
}
.network__txt {
  font-size: 1.8rem;
  margin-bottom: 4rem;
}
.network__btn {
  margin: 0;
}
.network__imgs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.network__img {
  position: relative;
  z-index: 1;
  width: 56.3rem;
  height: 42.2rem;
}
@media all and (max-width: 768px) {
  .network__img {
    width: 26.2rem;
    height: 19.7rem;
  }
}
.network__img2 {
  position: relative;
  z-index: 2;
  width: 39.2rem;
  height: 29.4rem;
  margin: -8rem 0 0 auto;
}
@media all and (max-width: 768px) {
  .network__img2 {
    width: 18.3rem;
    height: 13.7rem;
    margin-top: -3.7rem;
  }
}

@media all and (max-width: 768px) {
  .background {
    padding-top: 4.1rem;
  }
}
.background__row {
  display: grid;
  grid-template-columns: 58.9rem 1fr;
  gap: 4.8rem;
}
@media all and (max-width: 768px) {
  .background__row {
    display: block;
  }
}
@media all and (max-width: 768px) {
  .background__col {
    margin-bottom: 3.4rem;
  }
}
.background__col > :last-child {
  margin-bottom: 0;
}
.background__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .background__ttl {
    margin-bottom: 3.4rem;
  }
}
.background__img {
  aspect-ratio: 562/422;
}
.background__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.overview__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .overview__ttl {
    margin-bottom: 3.4rem;
  }
}
.overview__row {
  display: flex;
  gap: 4.8rem;
}
@media all and (max-width: 768px) {
  .overview__row {
    flex-direction: column;
    gap: 2.7rem;
  }
}
.overview__col {
  display: flex;
  flex-direction: column;
  width: 36.8rem;
}
@media all and (max-width: 768px) {
  .overview__col {
    width: auto;
  }
}
.overview__col > :last-child {
  margin-bottom: 0;
}
.overview__img {
  aspect-ratio: 368/245;
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .overview__img {
    margin-bottom: 1.7rem;
  }
}
.overview__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.overview__txt2 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .overview__txt2 {
    font-size: 2rem;
    margin-bottom: 1.4rem;
  }
}
.overview__txt3 {
  font-size: 1.8rem;
}
@media all and (max-width: 768px) {
  .overview__txt3 {
    font-size: 1.4rem;
  }
}

.features__row {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
@media all and (max-width: 768px) {
  .features__row {
    flex-direction: column;
    gap: 1.4rem;
  }
}
.features__col {
  width: 58.8rem;
  padding: 3.2rem;
  background-color: var(--ice-gray-400);
}
@media all and (max-width: 768px) {
  .features__col {
    width: 100%;
    padding: 1.7rem;
  }
}
.features__col > :last-child {
  margin-bottom: 0;
}
.features__ttl {
  margin-bottom: 7.2rem;
}
@media all and (max-width: 768px) {
  .features__ttl {
    margin-bottom: 3.4rem;
  }
}
.features__header {
  display: flex;
  align-items: center;
  margin-bottom: 2.4rem;
  gap: 4rem;
}
@media all and (max-width: 768px) {
  .features__header {
    flex-direction: column;
    margin-bottom: 1.4rem;
    gap: 1.2em;
  }
}
.features__header__icn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.2rem;
  height: 13.2rem;
  background-color: var(--white);
  border-radius: 50%;
}
@media all and (max-width: 768px) {
  .features__header__icn {
    width: 10.2rem;
    height: 10.2rem;
  }
}
.features__header__detail {
  flex: 1;
}
.features__header__ttl {
  display: flex;
  gap: 2.4rem;
  align-items: center;
  margin-bottom: 1.2rem;
}
@media all and (max-width: 768px) {
  .features__header__ttl {
    gap: 0.7rem;
    margin-bottom: 1.4rem;
  }
}
.features__header__ttl__num {
  font-size: 4.2rem;
  font-weight: 500;
  font-family: var(--font-family-en);
  white-space: nowrap;
}
@media all and (max-width: 768px) {
  .features__header__ttl__num {
    font-size: 2.4rem;
  }
}
.features__header__ttl__txt {
  font-size: 2.4rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .features__header__ttl__txt {
    font-size: 1.7rem;
  }
}
.features__header__txt {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0;
}
@media all and (max-width: 768px) {
  .features__header__txt {
    font-size: 1.5rem;
  }
}
.features__txt {
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .features__txt {
    font-size: 1.4rem;
  }
}

.challenges__row {
  display: grid;
  grid-template-columns: 56.2rem 1fr;
  gap: 0 4.8rem;
  grid-template-areas: "image detail";
}
@media all and (max-width: 768px) {
  .challenges__row {
    grid-template-columns: 1fr;
    gap: 3.4rem 0;
    grid-template-areas: "detail" "image";
  }
}
.challenges__col {
  grid-area: detail;
}
.challenges__col > :last-child {
  margin-bottom: 0;
}
.challenges__col2 {
  grid-area: image;
}
.challenges__ttl {
  margin-bottom: 4rem;
}
@media all and (max-width: 768px) {
  .challenges__ttl {
    margin-bottom: 3.4rem;
  }
}
.challenges__list {
  list-style-type: none;
  font-size: 1.8rem;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .challenges__list {
    font-size: 1.4rem;
  }
}
.challenges__list > li {
  text-indent: -1em;
  margin-left: 1em;
}
.challenges__list > li::before {
  content: "・";
}
.challenges__img {
  aspect-ratio: 562/562;
}
.challenges__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.interview__row {
  display: grid;
  grid-template-columns: 53.9rem 1fr;
  gap: 4rem 4.8rem;
  grid-template-areas: "image text" "image title" "image article";
}
@media all and (max-width: 768px) {
  .interview__row {
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-areas: "text" "image" "title" "article";
  }
}
.interview__ttl {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 0;
  grid-area: title;
}
@media all and (max-width: 768px) {
  .interview__ttl {
    font-size: 1.7rem;
    margin-bottom: 2.7rem;
  }
}
.interview__txt {
  font-size: 4.8rem;
  font-weight: 500;
  font-family: var(--font-family-en);
  color: var(--color-primary);
  margin-bottom: 0;
  grid-area: text;
}
@media all and (max-width: 768px) {
  .interview__txt {
    font-size: 2.7rem;
    margin-bottom: 3.4rem;
  }
}
.interview__imgs {
  grid-area: image;
}
@media all and (max-width: 768px) {
  .interview__imgs {
    margin-bottom: 3.4rem;
  }
}
.interview__imgs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.interview__img {
  position: relative;
  z-index: 1;
  width: 48.3rem;
  height: 35.8rem;
}
@media all and (max-width: 768px) {
  .interview__img {
    width: 26.2rem;
    height: 19.2rem;
  }
}
.interview__img2 {
  position: relative;
  z-index: 2;
  top: -6.6rem;
  width: 33.6rem;
  height: 25.2rem;
  margin: 0 0 -6.6rem auto;
}
@media all and (max-width: 768px) {
  .interview__img2 {
    top: -3.8rem;
    width: 18.3rem;
    height: 13.7rem;
    margin-bottom: -3.8rem;
  }
}
.interview__article {
  font-size: 1.8rem;
  line-height: 2;
  grid-area: article;
}
@media all and (max-width: 768px) {
  .interview__article {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.interview__article > :last-child {
  margin-bottom: 0;
}
.interview__article p {
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .interview__article p {
    margin-bottom: 2rem;
  }
}

@media all and (max-width: 768px) {
  .company {
    padding-top: 3.4rem;
  }
}
.company__list {
  display: flex;
  gap: 4.8rem;
  margin: 0;
  padding: 3.2rem 0.4rem;
  border-bottom: 1px solid var(--color-border-devide);
}
@media all and (max-width: 768px) {
  .company__list {
    flex-direction: column;
    gap: 1.4rem;
    padding: 1.7rem 0.3rem;
  }
}
.company__list > dt {
  flex: 0 0 20rem;
  color: var(--color-primary);
  font-size: 1.8rem;
}
@media all and (max-width: 768px) {
  .company__list > dt {
    flex: auto;
    font-size: 1.5rem;
  }
}
.company__list > dd {
  flex: 1;
  font-size: 1.8rem;
}
@media all and (max-width: 768px) {
  .company__list > dd {
    font-size: 1.4rem;
  }
}
.company__list2 {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
@media all and (max-width: 768px) {
  .company__list2 {
    gap: 1.4rem;
  }
}

.privacy {
  padding-top: 2rem;
}
@media all and (max-width: 768px) {
  .privacy {
    padding-top: 0;
  }
}
.privacy__ttl {
  margin: 4.8rem 0 2rem;
  padding: 0.8rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--color-primary);
  border-bottom: 0.2rem solid var(--color-border-devide2);
}
@media all and (max-width: 768px) {
  .privacy__ttl {
    margin: 3.4rem 0 1.7rem;
    font-size: 2rem;
    padding: 0.7rem 0;
  }
}
.privacy__txt {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .privacy__txt {
    margin-bottom: 1.7rem;
    font-size: 1.4rem;
  }
}
.privacy__list {
  margin: 0 0 2rem 2rem;
  list-style-type: none;
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .privacy__list {
    margin: 0 0 1.7rem 1.4rem;
    font-size: 1.4rem;
  }
}
.privacy__list > li {
  text-indent: -1em;
  margin-left: 1em;
}
.privacy__list > li::before {
  content: "・";
}
.privacy__note {
  margin: 0 0 2rem 1em;
  font-size: 1.4rem;
  text-indent: -1em;
}
@media all and (max-width: 768px) {
  .privacy__note {
    margin-bottom: 1.7rem;
    font-size: 1.2rem;
  }
}
.privacy__note::before {
  content: "※";
}
.privacy__date {
  margin: 4.8rem 0 0;
  font-size: 1.4rem;
}
@media all and (max-width: 768px) {
  .privacy__date {
    margin-top: 3.4rem;
    font-size: 1.2rem;
  }
}

.not-found__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  font-family: var(--font-family-en);
  color: var(--color-primary);
  margin-bottom: 4.8rem;
}
@media all and (max-width: 768px) {
  .not-found__ttl {
    gap: 1.7rem;
    margin-bottom: 4.1rem;
  }
}
.not-found__ttl__code {
  font-size: 7.2rem;
  font-weight: 600;
}
@media all and (max-width: 768px) {
  .not-found__ttl__code {
    font-size: 4.1rem;
  }
}
.not-found__ttl__txt {
  font-size: 2.8rem;
  font-weight: 500;
}
@media all and (max-width: 768px) {
  .not-found__ttl__txt {
    font-size: 1.7rem;
  }
}
.not-found__txt {
  margin-bottom: 4.8rem;
  font-size: 1.6rem;
  text-align: center;
}
@media all and (max-width: 768px) {
  .not-found__txt {
    margin-bottom: 1.7rem;
    font-size: 1.4rem;
  }
}
.not-found__btn {
  width: 51.4rem;
  margin: 0 auto;
}
@media all and (max-width: 768px) {
  .not-found__btn {
    width: auto;
  }
}

.article {
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .article {
    font-size: 1.4rem;
  }
}
.article h2 {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 4.8rem 0 2.2rem;
}
@media all and (max-width: 768px) {
  .article h2 {
    font-size: 2rem;
    margin: 3.4rem 0 2rem;
  }
}
.article h3 {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 4.8rem 0 2.2rem;
  padding-top: 1rem;
}
@media all and (max-width: 768px) {
  .article h3 {
    font-size: 1.7rem;
    margin: 3.4rem 0 2rem;
    padding-top: 0.9rem;
  }
}
.article h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6rem;
  height: 0.2rem;
  background-color: var(--color-primary);
}
@media all and (max-width: 768px) {
  .article h3::before {
    width: 5.1rem;
    height: 0.2rem;
  }
}
.article p {
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .article p {
    margin-bottom: 2rem;
  }
}
.article ul {
  list-style-type: none;
  line-height: 2;
  margin-bottom: 2.4rem;
}
@media all and (max-width: 768px) {
  .article ul {
    margin-bottom: 2rem;
  }
}
.article ul > li {
  text-indent: -1em;
  margin-left: 1em;
}
.article ul > li::before {
  content: "・";
}
.article ol {
  margin: 0 0 2.4rem 2.4rem;
  line-height: 2;
}
@media all and (max-width: 768px) {
  .article ol {
    margin-bottom: 2rem;
    margin-left: 2rem;
  }
}
.article .note {
  font-size: 1.2rem;
  color: var(--color-txt-gray);
}
.article > :first-child {
  margin-top: 0;
}
.article > :last-child {
  margin-bottom: 0;
}