@charset "UTF-8";
:root {
  --width-content: 680px;
  --width-inner: 400px;
  --color-white: #fff;
  --color-black: #000;
  --color-thin-gray: #f5f5f5;
  --color-border-gray: #cdcdcd;
  --color-primary: #b59b7b;
  --font-notoserif: 'Noto Serif JP', serif;
  --font-notosans: 'Noto Sans JP', sans-serif;
  --font-baskervville: 'Baskervville', serif;
  --font-size-s: clamp(0.625rem, 0.589rem + 0.18vw, 0.75rem);
  --font-size-m: clamp(0.75rem, 0.714rem + 0.18vw, 0.875rem);
  --font-size-l: clamp(0.875rem, 0.839rem + 0.18vw, 1rem);
}

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

body {
  font-family: var(--font-notoserif);
  font-weight: 200;
  line-height: 2.2;
  letter-spacing: 1px;
}
body.active {
  overflow: hidden;
}

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

ul,
li {
  list-style: none;
}

img {
  vertical-align: top;
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.js-fadeUp {
  opacity: 0;
  visibility: hidden;
}
.js-fadeUp.is-fadein {
  opacity: 1;
  visibility: visible;
  -webkit-animation: fadeUpAnime 1s;
          animation: fadeUpAnime 1s;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.header {
  width: 100%;
  padding-inline: 9.2307692308vw;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding-block: 20px;
  position: relative;
}
.header__logo {
  width: max(210px, 17.5vw);
  height: auto;
}
.header__logo img {
  width: 100%;
  height: auto;
  display: block;
}
.header__hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  .header__hamburger {
    display: block;
    position: absolute;
    z-index: 101;
    right: 20px;
    top: 10px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
  }
  .header__hamburger span {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    top: 20px;
    left: 6px;
    background: #333;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .header__hamburger span:nth-child(1) {
    top: 10px;
  }
  .header__hamburger span:nth-child(2) {
    top: 20px;
  }
  .header__hamburger span:nth-child(3) {
    top: 30px;
  }
  .header__hamburger {
    /* スマホメニューを開いてる時のボタン */
  }
  .header__hamburger.active span:nth-child(1) {
    top: 16px;
    background-color: #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .header__hamburger.active span:nth-child(2) {
    width: 0;
    background-color: #fff;
  }
  .header__hamburger.active span:nth-child(3) {
    top: 16px;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
.header__nav {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 2em;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .header__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    position: fixed;
    top: 0;
    right: -100%;
    z-index: 100;
    background: rgba(6, 22, 62, 0.92);
    width: 100%;
    height: 100%;
    -webkit-transition: right 0.6s;
    transition: right 0.6s;
    overflow-y: auto;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
  }
  .header__nav.active {
    right: 0;
  }
}
.header__menu {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 2em;
  line-height: 1.6;
  font-size: 14px;
}
.header__menu--item {
  display: block;
}
.header__menu--item span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header__menu--item:hover span::after {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .header__menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    color: #fff;
    font-size: 16px;
  }
}
.header__sns {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 1em;
}
.header__sns--item {
  display: -webkit-box;
  display: flex;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header__sns--item:hover {
  opacity: 0.4;
}
.header__sns--item svg {
  width: 17px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .header__sns {
    gap: 3em;
  }
  .header__sns svg {
    width: 24px;
  }
  .header__sns-facebook path:first-of-type {
    fill: #fff;
  }
  .header__sns-facebook path:nth-of-type(2) {
    fill: none;
  }
  .header__sns-instagram path {
    fill: white;
  }
}

.more {
  font-size: 12px;
}
.more a {
  padding-right: 6.5em;
  padding-bottom: 10px;
  padding-top: 10px;
  background-image: -webkit-linear-gradient(#000, #000);
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 100% 1px;
  -webkit-transition: background-size 0.3s;
  transition: background-size 0.3s;
  position: relative;
}
.more a::before {
  content: "";
  display: block;
  width: 5px;
  height: 7px;
  background: url(/corporate/images/icon_arrowmore-black.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.more a::after {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  background-color: var(--color-black);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.more a:hover {
  background-size: 0 1px;
}
.more a:hover::after {
  width: 10px;
}
.more--story a {
  background-image: -webkit-linear-gradient(var(--color-white), var(--color-white));
  background-image: linear-gradient(var(--color-white), var(--color-white));
}
.more--story a::before {
  background: url(/corporate/images/icon_arrowmore-white.svg) no-repeat;
}
.more--story a::after {
  background-color: var(--color-white);
}

.view__inner {
  font-size: 12px;
  position: relative;
}
.view__text {
  padding-right: 6.5em;
  padding-bottom: 10px;
  padding-top: 10px;
  background-image: -webkit-linear-gradient(#000, #000);
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 100% 1px;
  -webkit-transition: background-size 0.3s;
  transition: background-size 0.3s;
  position: relative;
}
.view__icon {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url(/corporate/images/icon_arrowview-black.svg);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 7px 7px;
}
.view__icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  position: absolute;
  top: 2px;
  right: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.view:hover .view__text {
  background-size: 0 1px;
}
.view:hover .view__icon::before {
  width: 40%;
}

.head {
  text-align: center;
  padding-top: 15.9722222222vw;
}
.head img {
  width: auto;
  height: max(33px, 4.8611111111vw);
}

.footer {
  background-color: var(--color-thin-gray);
}
.footer__pagetop {
  font-size: 0.72em;
  position: fixed;
  bottom: 3em;
  right: 3em;
  z-index: 10;
  -webkit-writing-mode: vertical-lr;
          writing-mode: vertical-lr;
  display: -webkit-box;
  display: flex;
  gap: 1em;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}
.footer__pagetop img {
  margin-left: 5px;
}
.footer__pagetop:hover {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}
.footer__inner {
  width: max(300px, 75%);
  margin-inline: auto;
}
.footer__top {
  padding-top: 63px;
  display: grid;
  -webkit-box-pack: justify;
          justify-content: space-between;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: -webkit-max-content auto;
  grid-template-rows: max-content auto;
}
@media screen and (max-width: 767px) {
  .footer__top {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}
.footer__info-contact {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: start;
          align-items: flex-start;
  margin-bottom: 2em;
}
.footer__info-contact a {
  position: relative;
  padding-bottom: 10px;
  padding-top: 10px;
  background-image: -webkit-linear-gradient(#000, #000);
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 100% 1px;
  -webkit-transition: background-size 0.3s;
  transition: background-size 0.3s;
}
.footer__info-contact a::after {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  background: url(/corporate/images/icon_contact.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) translateX(35px);
          transform: translateY(-50%) translateX(35px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 0;
}
.footer__info-contact a:hover {
  background-size: 0 1px;
}
.footer__info-contact a:hover::after {
  -webkit-transform: translateY(-50%) translateX(45px);
          transform: translateY(-50%) translateX(45px);
  opacity: 1;
}
.footer__info-contact img {
  width: auto;
  height: clamp(28px, 2.5vw, 36px);
}
.footer__info-address {
  margin-bottom: 1em;
  font-size: 12px;
}
.footer__info-open {
  margin-bottom: 3em;
  line-height: 1.5;
  font-size: 12px;
  line-height: 1.8;
}
.footer__info-open span {
  font-size: 10px;
}
@media screen and (max-width: 767px) {
  .footer__info {
    grid-row: 2/3;
  }
  .footer__info-contact a {
    width: 100%;
  }
}
.footer__nav--menu {
  display: grid;
  -webkit-box-pack: end;
          justify-content: end;
  -webkit-column-gap: 5em;
     -moz-column-gap: 5em;
          column-gap: 5em;
  row-gap: 1em;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: minmax(100px, -webkit-max-content) minmax(100px, -webkit-max-content);
  grid-template-columns: minmax(100px, max-content) minmax(100px, max-content);
  font-size: max(16px, 0.9722222222vw);
}
.footer__nav--menu a {
  display: -webkit-box;
  display: flex;
  gap: 1em;
  -webkit-box-align: center;
          align-items: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer__nav--menu a::before {
  content: attr(data-num);
  font-size: 0.8em;
  -webkit-transform: none;
          transform: none;
}
.footer__nav--menu a span {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.footer__nav--menu a:hover span {
  -webkit-transform: translateX(0.5em);
          transform: translateX(0.5em);
}
@media screen and (max-width: 767px) {
  .footer__nav {
    grid-row: 1/2;
    margin-bottom: 18.4615384615vw;
  }
  .footer__nav--menu {
    -webkit-column-gap: 3em;
       -moz-column-gap: 3em;
            column-gap: 3em;
  }
}
.footer__sns {
  display: -webkit-box;
  display: flex;
  gap: 4em;
  font-size: 10px;
}
.footer__sns--item {
  display: -webkit-box;
  display: flex;
  gap: 1em;
  -webkit-box-align: center;
          align-items: center;
}
.footer__sns--item span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer__sns--item:hover span::after {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .footer__sns {
    grid-row: 3/4;
  }
}
.footer__bottom {
  border-top: 1px solid var(--color-black);
  margin-top: 63px;
  padding-top: 63px;
  padding-bottom: 63px;
  font-size: 10px;
  position: relative;
  text-align: center;
}
.footer__bottom--logo {
  width: auto;
  height: clamp(28px, 2.5vw, 36px);
}
.footer__bottom--copyright {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
@media screen and (max-width: 767px) {
  .footer__bottom {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    row-gap: 2em;
  }
  .footer__bottom--copyright {
    position: initial;
  }
}

.top {
  background-image: url(/corporate/images/bg_top.jpg);
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .top {
    background-image: url(/corporate/images/bg_top_sp.jpg);
  }
}

.top-hero {
  display: grid;
  grid-template-columns: max(70px, 4.8611111111vw) 1fr;
  grid-template-areas: "scroll visual";
}
@media screen and (max-width: 767px) {
  .top-hero {
    grid-template-columns: 1fr;
    grid-template-areas: "visual";
  }
}
.top-hero__visual {
  position: relative;
  grid-area: visual;
  overflow: hidden;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.top-hero__splide img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .top-hero__splide img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.top-hero__title {
  position: absolute;
  bottom: 0;
  left: 0;
}
.top-hero__title img {
  width: 90%;
  margin-left: -8px;
  margin-bottom: -1px;
}
@media screen and (max-width: 767px) {
  .top-hero__title img {
    margin-left: -3px;
  }
}
.top-hero__scroll {
  grid-area: scroll;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
          justify-content: center;
}
.top-hero__scroll span {
  -webkit-writing-mode: vertical-lr;
          writing-mode: vertical-lr;
  position: relative;
  padding-bottom: max(60px, 4.1666666667vw);
  font-size: 0.6em;
  letter-spacing: 1px;
}
.top-hero__scroll span::before {
  content: "";
  display: block;
  width: 1px;
  height: 50px;
  background-color: var(--color-black);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.top-hero__scroll span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 7px;
  height: 7px;
  border: 1px solid var(--color-black);
  border-radius: 50%;
  -webkit-animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
          animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
}
@media screen and (max-width: 767px) {
  .top-hero__scroll {
    display: none;
  }
}

@-webkit-keyframes circlemove {
  0% {
    bottom: 48px;
  }
  100% {
    bottom: 0px;
  }
}

@keyframes circlemove {
  0% {
    bottom: 48px;
  }
  100% {
    bottom: 0px;
  }
}
@-webkit-keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.top-news {
  margin-inline: max(70px, 4.8611111111vw);
  padding-block: max(15px, 2.4305555556vw);
  border-bottom: 1px solid var(--color-black);
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  -webkit-column-gap: 2.0833333333vw;
     -moz-column-gap: 2.0833333333vw;
          column-gap: 2.0833333333vw;
  row-gap: max(0.5em, 1.0416666667vw);
  line-height: 1.5;
}
.top-news__head {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  height: max(18px, 1.5625vw);
}
.top-news__head img {
  width: max(45px, 3.5416666667vw);
  height: auto;
}
.top-news__content {
  font-size: max(12px, 1.0416666667vw);
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  -webkit-column-gap: max(1.5em, 2.0833333333vw);
     -moz-column-gap: max(1.5em, 2.0833333333vw);
          column-gap: max(1.5em, 2.0833333333vw);
  row-gap: max(0.5em, 1.0416666667vw);
}
@media screen and (max-width: 767px) {
  .top-news {
    margin-inline: 9.2307692308vw;
    grid-template-columns: 1fr;
  }
}

.top-vision {
  min-height: 100vh;
  margin-top: max(60px, 12.5vw);
  display: grid;
  grid-template-columns: 1fr 40.2777777778vw;
  -webkit-box-align: center;
          align-items: center;
  justify-items: center;
  grid-template-areas: "inner image01" "image02 image02";
  row-gap: 3.4722222222vw;
}
.top-vision__inner {
  grid-area: inner;
}
.top-vision__head {
  margin-bottom: 5em;
}
.top-vision__head img {
  width: auto;
  height: clamp(24px, 2.9166666667vw, 42px);
}
.top-vision__text {
  margin-bottom: 5em;
  font-size: max(12px, 0.9722222222vw);
}
.top-vision__text br.sp {
  display: none;
}
.top-vision__text p {
  line-height: 2;
  margin-bottom: 2em;
}
.top-vision__image--01 {
  grid-area: image01;
}
.top-vision__image--01 img {
  width: 100%;
  height: auto;
}
.top-vision__image--02 {
  grid-area: image02;
}
.top-vision__image--02 img {
  width: 46.5277777778%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .top-vision {
    grid-template-columns: 1fr;
    grid-template-areas: "inner" "image01" "image02";
  }
  .top-vision__inner {
    margin-bottom: 3em;
  }
  .top-vision__head {
    text-align: center;
    margin-bottom: 3em;
  }
  .top-vision__text {
    padding-inline: 9.2307692308vw;
    margin-bottom: 3em;
  }
  .top-vision__text br.sp {
    display: initial;
  }
  .top-vision__image--01 {
    margin-bottom: 14.1025641026vw;
  }
  .top-vision__image--01 img {
    height: 100%;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-vision__image--02 img {
    width: 80.7692307692vw;
    height: 100%;
    aspect-ratio: 315/272;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-vision__more {
    padding-inline: 9.2307692308vw;
  }
}

.top-story {
  background-image: url(/corporate/images/bg_top_stories.jpg);
  background-size: cover;
  color: var(--color-white);
  overflow: hidden;
  padding-left: 80px;
  margin-top: -15.2777777778%;
  padding-top: 30.5555555556%;
  padding-bottom: 26.3888888889%;
}
.top-story__inner {
  width: 100%;
  display: grid;
  gap: 50px;
  grid-template-columns: 324px calc(100% - 324px - 20px);
  grid-template-rows: -webkit-max-content 1fr -webkit-max-content;
  grid-template-rows: max-content 1fr max-content;
  grid-template-areas: "head movie" "text movie" "more movie";
}
.top-story__head {
  text-align: center;
  grid-area: head;
}
.top-story__head img {
  width: 100%;
  height: auto;
}
.top-story__text {
  grid-area: text;
  font-size: max(12px, 0.9722222222vw);
}
.top-story__movie {
  grid-area: movie;
  aspect-ratio: 16/9;
}
.top-story__movie iframe {
  width: 100%;
  height: 100%;
}
.top-story__more {
  grid-area: more;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .top-story {
    padding-inline: 9.2307692308vw;
    margin-top: -60.2564102564vw;
    padding-top: 73.8461538462vw;
    padding-bottom: 51.2820512821vw;
  }
  .top-story__inner {
    grid-template-columns: 1fr;
    grid-template-rows: initial;
    grid-template-areas: "head" "movie" "text" "more";
  }
  .top-story__head img {
    width: auto;
    height: max(66px, 17.9487179487vw);
  }
}

.top-aboutus {
  background-image: url(/corporate/images/bg_top_aboutus.jpg);
  background-size: cover;
}
.top-aboutus::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  z-index: -1;
}
.top-aboutus__inner {
  width: 84.7222222222vw;
  padding: 5.5555555556vw;
  margin-inline: auto;
  -webkit-transform: translateY(-200px);
          transform: translateY(-200px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-areas: "image image" "head text" "more text";
  position: relative;
}
.top-aboutus__inner::before {
  content: "";
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: calc(100% - 200px);
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.top-aboutus__image {
  width: 100%;
  height: auto;
  grid-area: image;
  margin-bottom: 5.5555555556vw;
}
.top-aboutus__head {
  grid-area: head;
}
.top-aboutus__head img {
  width: auto;
  height: clamp(24px, 2.9166666667vw, 42px);
}
.top-aboutus__text {
  grid-area: text;
  font-size: max(12px, 0.9722222222vw);
}
.top-aboutus__more {
  grid-area: more;
}
@media screen and (max-width: 767px) {
  .top-aboutus__inner {
    row-gap: 3em;
    grid-template-columns: 1fr;
    grid-template-areas: "image" "head" "text" "more";
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  .top-aboutus__inner::before {
    height: calc(100% - 50px);
  }
  .top-aboutus__image {
    width: 100%;
    height: 100%;
    aspect-ratio: 32/33;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-aboutus__head {
    text-align: center;
  }
}

.about {
  background-image: url(/corporate/images/bg_about.jpg);
  background-size: 100%;
  background-repeat: repeat-y;
}
.about-head {
  text-align: center;
}
.about-head img {
  width: auto;
  height: max(23px, 2.9861111111vw);
}
@media screen and (max-width: 767px) {
  .about {
    background-image: url(/corporate/images/bg_about_sp.jpg);
  }
  .about-head--history img {
    height: max(65px, 2.9861111111vw);
  }
}

.about-history {
  padding-top: max(90px, 12.5vw);
  padding-bottom: max(90px, 13.8888888889vw);
}
.about-history__movie {
  margin-top: max(40px, 5.5555555556vw);
  margin-inline: 10.4166666667vw;
  aspect-ratio: 16/9;
}
.about-history__movie iframe {
  width: 100%;
  height: 100%;
}
.about-history__list {
  margin-top: max(40px, 6.5972222222vw);
  padding-inline: 10.4166666667vw;
}
.about-history__item {
  display: grid;
  grid-template-columns: 17.3611111111vw 1fr;
  -webkit-column-gap: 2.9861111111vw;
     -moz-column-gap: 2.9861111111vw;
          column-gap: 2.9861111111vw;
  row-gap: 5.1282051282vw;
  margin-bottom: max(55px, 9.5833333333vw);
}
.about-history__item:last-of-type {
  margin-bottom: 0;
}
.about-history__image {
  position: relative;
  margin-top: 1.3em;
}
.about-history__image::before {
  content: attr(data-num);
  position: absolute;
  top: -1.3em;
  font-family: "Bodoni Moda", serif;
  font-size: max(36px, 3.125vw);
}
.about-history__image img {
  width: 100%;
  height: auto;
}
.about-history__text dt {
  font-size: max(21px, 1.6666666667vw);
}
.about-history__text dt br.sp {
  display: none;
}
.about-history__text dd {
  font-size: max(12px, 0.9722222222vw);
  line-height: 2.7;
}
@media screen and (max-width: 767px) {
  .about-history__item {
    grid-template-columns: 1fr;
  }
  .about-history__text dt br.sp {
    display: initial;
  }
}

.about-service {
  background-color: var(--color-white);
  padding-top: max(125px, 23.2638888889vw);
  padding-bottom: 17.3611111111vw;
}
.about-service__head {
  text-align: center;
  padding-bottom: 9.7222222222vw;
}
.about-service__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 0.8333333333vw;
     -moz-column-gap: 0.8333333333vw;
          column-gap: 0.8333333333vw;
  row-gap: 2.7777777778vw;
  margin-top: max(60px, 9.7222222222vw);
}
.about-service__formothers {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 3em;
}
.about-service__formothers--image {
  overflow: hidden;
}
.about-service__formothers--image img {
  width: 100%;
  height: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.about-service__formothers--head {
  width: 100%;
  text-align: center;
}
.about-service__formothers--head img {
  width: auto;
  height: 16px;
}
.about-service__formothers--text {
  padding-inline: 7.6388888889vw;
  font-size: 12px;
}
.about-service__formothers--view {
  padding-left: 7.6388888889vw;
}
.about-service__formothers:hover .about-service__formothers--image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media screen and (max-width: 767px) {
  .about-service__inner {
    grid-template-columns: 1fr;
    row-gap: 15.3846153846vw;
  }
  .about-service__formothers {
    -webkit-box-align: end;
            align-items: flex-end;
  }
  .about-service__formothers--view {
    margin-right: 7.6388888889vw;
  }
}

.about-message {
  background-image: -webkit-linear-gradient(left, transparent 59.0277777778vw, transparent 60%), url("/corporate/images/bg_about_topmessage.jpg");
  background-image: linear-gradient(to right, transparent 59.0277777778vw, transparent 60%), url("/corporate/images/bg_about_topmessage.jpg");
  background-repeat: no-repeat;
  background-size: cover, 59.0277777778vw 100%;
  background-position: center, center left;
  display: grid;
  grid-template-columns: 59.0277777778vw 1fr;
  grid-template-areas: "head head" "text visual";
}
.about-message__head {
  grid-area: head;
  text-align: left;
  margin-bottom: max(60px, 6.8055555556vw);
  padding-top: max(80px, 15.9722222222vw);
  padding-inline: 11.8055555556vw;
}
.about-message__text {
  font-size: 14px;
  grid-area: text;
  color: var(--color-white);
  padding-bottom: max(80px, 15.9722222222vw);
  padding-inline: 11.8055555556vw;
}
.about-message__text p {
  margin-bottom: 2em;
}
.about-message__visual {
  grid-area: visual;
  margin-left: -5.9027777778vw;
  padding-right: 5.9027777778vw;
  text-align: right;
}
.about-message__image {
  width: 75%;
  margin-bottom: 2.0833333333vw;
}
.about-message__image img {
  width: 100%;
  height: auto;
}
.about-message__sign {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  gap: max(12px, 2.0833333333vw);
  line-height: 1.5;
  font-size: max(11px, 0.8333333333vw);
}
.about-message__sign img {
  width: auto;
  height: max(26px, 2.5694444444vw);
}
@media screen and (max-width: 767px) {
  .about-message {
    background-image: -webkit-linear-gradient(top, transparent calc(100% - 51.2820512821vw), transparent 0%), url("/corporate/images/bg_about_topmessage.jpg");
    background-image: linear-gradient(to bottom, transparent calc(100% - 51.2820512821vw), transparent 0%), url("/corporate/images/bg_about_topmessage.jpg");
    background-repeat: no-repeat;
    background-size: 100% 100%, 100% calc(100% - 51.2820512821vw);
    background-position: center, top center;
    grid-template-columns: 1fr;
    grid-template-areas: "head" "text" "visual";
  }
  .about-message__text p br {
    display: none;
  }
  .about-message__visual {
    margin-inline: auto;
    padding-inline: 11.8055555556vw;
  }
  .about-message__image {
    width: 100%;
  }
  .about-message__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 310/300;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 100% 0;
       object-position: 100% 0;
  }
}

.about-overview {
  padding-top: 26.3888888889vw;
  padding-bottom: 18.75vw;
}
.about-overview__inner {
  display: grid;
  grid-template-columns: 40.2777777778vw 1fr;
  -webkit-box-align: center;
          align-items: center;
  justify-items: center;
  row-gap: 3.4722222222vw;
  margin-top: 11.1111111111vw;
}
.about-overview__image img {
  width: 100%;
  height: auto;
}
.about-overview__label {
  font-family: var(--font-notosans);
  font-size: 0.8333333333vw;
  font-weight: 400;
  color: var(--color-primary);
  margin-bottom: 1.8055555556vw;
}
.about-overview__items {
  display: grid;
  grid-template-columns: 12.5vw 21.5277777778vw;
  line-height: 1.5;
  border-top: 1px solid var(--color-border-gray);
  font-size: max(12px, 0.9722222222vw);
}
.about-overview__items dt {
  border-bottom: 1px solid var(--color-border-gray);
  padding-block: 1.8055555556vw;
}
.about-overview__items dd {
  border-bottom: 1px solid var(--color-border-gray);
  padding-block: 1.8055555556vw;
}
@media screen and (max-width: 767px) {
  .about-overview__head img {
    width: auto;
    height: max(57px, 14.6153846154vw);
  }
  .about-overview__inner {
    grid-template-columns: 1fr;
  }
  .about-overview__image {
    display: none;
  }
  .about-overview__content {
    width: 100%;
    padding-inline: 11.8055555556vw;
  }
  .about-overview__label {
    font-size: 3.8461538462vw;
    margin-bottom: 7.6923076923vw;
    text-align: center;
  }
  .about-overview__items {
    grid-template-columns: 6em 1fr;
  }
  .about-overview__items dt {
    padding-block: 7.6923076923vw;
  }
  .about-overview__items dd {
    padding-block: 7.6923076923vw;
  }
}

.vision {
  background-image: url(/corporate/images/bg_vision.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .vision {
    background-image: none;
  }
}

.vision-video {
  margin-top: max(50px, 15.9722222222vw);
  margin-inline: 3.2638888889vw;
  aspect-ratio: 16/9;
}
.vision-video iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .vision-video {
    margin-inline: 9.2307692308vw;
  }
}

.vision-lead {
  font-size: 14px;
  text-align: center;
  margin-top: 7.2916666667vw;
}
@media screen and (max-width: 767px) {
  .vision-lead {
    margin-inline: 9.2307692308vw;
    text-align: left;
    line-height: 1.8;
  }
}

.vision-category {
  width: 100%;
  padding-inline: 12.9166666667vw;
  margin-top: 13.1944444444vw;
  margin-right: auto;
  margin-left: auto;
}
.vision-category__label {
  position: relative;
}
.vision-category__label span {
  background-color: #fff;
  padding-right: 1em;
  font-size: 14px;
  letter-spacing: 2px;
}
.vision-category__label::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-border-gray);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
}
.vision-category__inner--horizontal {
  padding-top: max(55px, 5.9027777778vw);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: max(53px, 3.4722222222vw);
}
.vision-category__inner--vertical {
  padding-top: 2.4305555556vw;
  display: grid;
  grid-template-columns: 1fr 50vw;
}
.vision-category__inner--vertical dt {
  background-image: -webkit-linear-gradient(left, var(--color-border-gray) 2px, transparent 2px);
  background-image: linear-gradient(to right, var(--color-border-gray) 2px, transparent 2px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-block: 3.8194444444vw;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}
.vision-category__inner--vertical dt:last-of-type {
  background-image: none;
}
.vision-category__inner--vertical dt img {
  width: auto;
  height: max(24px, 1.8055555556vw);
}
.vision-category__inner--vertical dd {
  background-image: -webkit-linear-gradient(left, var(--color-border-gray) 2px, transparent 2px);
  background-image: linear-gradient(to right, var(--color-border-gray) 2px, transparent 2px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-block: 3.8194444444vw;
  font-size: 14px;
}
.vision-category__inner--vertical dd:last-of-type {
  background-image: none;
}
.vision-category__head img {
  width: auto;
  height: max(28px, 2.7777777778vw);
}
.vision-category__head--rows img {
  height: max(66px, 6.7361111111vw);
}
.vision-category__text {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .vision-category {
    padding-inline: 7.6923076923vw;
  }
  .vision-category__inner--horizontal {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .vision-category__inner--vertical {
    grid-template-columns: 1fr;
  }
  .vision-category__inner--vertical dt {
    background-image: none;
    -webkit-box-pack: center;
            justify-content: center;
    padding-top: 15.8974358974vw;
  }
  .vision-category__inner--vertical dd {
    padding-bottom: 15.8974358974vw;
  }
  .vision-category__inner--vertical dd br {
    display: none;
  }
  .vision-category__text br[aria-hidden=true] {
    display: none;
  }
}

.vision-illustration {
  width: 100%;
  padding-inline: 12.9166666667vw;
  margin-block: 13.1944444444vw;
  margin-right: auto;
  margin-left: auto;
}
.vision-illustration img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .vision-illustration {
    padding-inline: 7.6923076923vw;
  }
}