@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@500;600&family=Noto+Sans+JP:wght@500;600;700&family=Noto+Sans+SC:wght@500&display=swap");
/*------------------------------------------------------*/
/*  reset */
/*------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

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

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

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

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

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

input, textarea, select {
  *font-size: 100%;
}

legend {
  color: #000;
}

*,
::before,
::after {
  border-style: solid;
  border-width: 0;
}

:root {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important;
  }
}
img {
  vertical-align: bottom;
}

.clearfix:after,
.cf:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

* html .clearfix, * html .cf {
  zoom: 1;
} /* IE6 */
*:first-child + html .clearfix, *:first-child + html .cf {
  zoom: 1;
} /* IE7 */
/*------------------------------------------------------*/
/* noneImages */
/*------------------------------------------------------*/
.noneImages {
  display: none;
}

.nf-message {
  display: none;
}

* {
  -webkit-appearance: none;
}

/*------------------------------------------------------*/
/*  variable */
/*------------------------------------------------------*/
/*------------------------------------------------------*/
/*  mixin */
/*------------------------------------------------------*/
/*------------------------------------------------------*/
/*  keyframes */
/*------------------------------------------------------*/
@-webkit-keyframes anm-line {
  0% {
    background-size: 100% 100%;
    background-position: right;
  }
  50% {
    background-size: 0% 100%;
    background-position: right;
  }
  50.1% {
    background-size: 0% 100%;
    background-position: left;
  }
  100% {
    background-size: 100% 100%;
    background-position: left;
  }
}
@keyframes anm-line {
  0% {
    background-size: 100% 100%;
    background-position: right;
  }
  50% {
    background-size: 0% 100%;
    background-position: right;
  }
  50.1% {
    background-size: 0% 100%;
    background-position: left;
  }
  100% {
    background-size: 100% 100%;
    background-position: left;
  }
}
@-webkit-keyframes anm-line2 {
  0% {
    width: 100%;
    right: 0;
    left: auto;
  }
  50% {
    width: 0;
    right: 0;
    left: auto;
  }
  50.1% {
    width: 0;
    left: 0;
    right: auto;
  }
  100% {
    width: 100%;
    left: 0;
    right: auto;
  }
}
@keyframes anm-line2 {
  0% {
    width: 100%;
    right: 0;
    left: auto;
  }
  50% {
    width: 0;
    right: 0;
    left: auto;
  }
  50.1% {
    width: 0;
    left: 0;
    right: auto;
  }
  100% {
    width: 100%;
    left: 0;
    right: auto;
  }
}
@-webkit-keyframes modal-open {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@keyframes modal-open {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@-webkit-keyframes modal-close {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes modal-close {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes footer-arrow {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
  35% {
    -webkit-transform: translateY(-40%);
            transform: translateY(-40%);
    opacity: 0;
  }
  65% {
    -webkit-transform: translateY(40%);
            transform: translateY(40%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes footer-arrow {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
  35% {
    -webkit-transform: translateY(-40%);
            transform: translateY(-40%);
    opacity: 0;
  }
  65% {
    -webkit-transform: translateY(40%);
            transform: translateY(40%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
}
@-webkit-keyframes common-page__title {
  0% {
    background-size: 100% 100%;
  }
  100% {
    background-size: 0 100%;
  }
}
@keyframes common-page__title {
  0% {
    background-size: 100% 100%;
  }
  100% {
    background-size: 0 100%;
  }
}
@-webkit-keyframes top-main__line {
  0% {
    background-size: 100% 100%;
  }
  100% {
    background-size: 0% 100%;
  }
}
@keyframes top-main__line {
  0% {
    background-size: 100% 100%;
  }
  100% {
    background-size: 0% 100%;
  }
}
@-webkit-keyframes news-arrow__go {
  0% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    opacity: 1;
  }
  49.9% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    opacity: 0;
  }
  50% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 0;
  }
  100% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    opacity: 1;
  }
}
@keyframes news-arrow__go {
  0% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    opacity: 1;
  }
  49.9% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    opacity: 0;
  }
  50% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 0;
  }
  100% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    opacity: 1;
  }
}
@-webkit-keyframes news-arrow__back {
  0% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    opacity: 1;
  }
  49.9% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 0;
  }
  50% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    opacity: 0;
  }
  100% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    opacity: 1;
  }
}
@keyframes news-arrow__back {
  0% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    opacity: 1;
  }
  49.9% {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 0;
  }
  50% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    opacity: 0;
  }
  100% {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    opacity: 1;
  }
}
@-webkit-keyframes news-arrow__nav--next {
  0%, 100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1;
  }
  40% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
  40.1%, 60% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
}
@keyframes news-arrow__nav--next {
  0%, 100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1;
  }
  40% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
  40.1%, 60% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
}
@-webkit-keyframes news-arrow__nav--prev {
  0%, 100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1;
  }
  40% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
  40.1%, 60% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
}
@keyframes news-arrow__nav--prev {
  0%, 100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1;
  }
  40% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
  40.1%, 60% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
}
/*------------------------------------------------------*/
/*  base */
/*------------------------------------------------------*/
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel, .owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item, .owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: none;
}

.no-js .owl-carousel, .owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
  background: 0 0;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

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

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.owl-height {
  -webkit-transition: height 0.5s ease-in-out;
  transition: height 0.5s ease-in-out;
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

.owl-carousel .owl-item .owl-lazy:not([src]), .owl-carousel .owl-item .owl-lazy[src^=""] {
  max-height: 0;
}

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url(owl.video.play.png) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.1s ease;
  transition: -webkit-transform 0.1s ease;
  transition: transform 0.1s ease;
  transition: transform 0.1s ease, -webkit-transform 0.1s ease;
}

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

html {
  height: 100%;
  font-size: 62.5%;
}

body {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", -apple-system, BlinkMacSystemFont, "メイリオ", meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #000;
  background: #fff;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  position: relative;
  cursor: pointer;
}

input, button, textarea, select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: 0;
  color: inherit;
}

option {
  color: #000;
}

button {
  background-color: initial;
}

button,
input:focus {
  outline: 0;
}

select::-ms-expand {
  display: none;
}

main {
  position: relative;
}

img, svg {
  width: 100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  pointer-events: none;
  -webkit-touch-callout: none;
}

canvas {
  vertical-align: bottom;
}

::-moz-selection {
  background: #000;
  color: #fff;
}

::selection {
  background: #000;
  color: #fff;
}

::-moz-selection {
  background: #000;
  color: #fff;
}

::-webkit-input-placeholder {
  color: #000;
  opacity: 0.3;
}

::-moz-placeholder {
  color: #000;
  opacity: 0.3;
}

:-ms-input-placeholder {
  color: #000;
  opacity: 0.3;
}

::-ms-input-placeholder {
  color: #000;
  opacity: 0.3;
}

::placeholder {
  color: #000;
  opacity: 0.3;
}

td {
  border: 1px solid #000;
  padding: 10px;
}

.layout {
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0px;
}
@media screen and (max-width: 750px) {
  .layout {
    width: 100%;
    left: 0;
    margin-left: 0;
    top: -3px;
  }
}

#wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
  min-height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  left: 0;
}
@media screen and (max-width: 750px) {
  #wrapper {
    padding: 0;
  }
}

._img-fit {
  position: relative;
}
._img-fit::before {
  content: "";
  width: 100%;
  display: block;
  position: relative;
}
._img-fit img.img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}
._img-fit img.img.-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

._fontb {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
}

._rl {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

._i-center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

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

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

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

._d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
._d-flex.-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
._d-flex.-space {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
._d-flex.-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 750px) {
  ._d-flex.-pc {
    display: block;
  }
}

._anmline-parent ._anmline-child {
  background: linear-gradient(transparent 0%, transparent calc(100% - 2px), #000 calc(100% - 2px), #000 100%);
  background-repeat: no-repeat;
  background-size: 0 100%;
  background-position: right;
  padding-bottom: 2px;
  -webkit-transition: background-size 0.6s ease-out;
  transition: background-size 0.6s ease-out;
}
@media screen and (min-width: 751px) {
  ._anmline-parent:hover ._anmline-child {
    background-size: 100% 100%;
    background-position: left;
  }
}

@media screen and (max-width: 750px) {
  ._pc {
    display: none !important;
  }
}

@media screen and (min-width: 751px) {
  ._sp {
    display: none !important;
  }
}

@media screen and (max-width: 850px) {
  ._min851 {
    display: none !important;
  }
}

@media screen and (min-width: 851px) {
  ._max850 {
    display: none !important;
  }
}

@media screen and (max-width: 950px) {
  ._min951 {
    display: none !important;
  }
}

@media screen and (min-width: 951px) {
  ._max950 {
    display: none !important;
  }
}

@media screen and (max-width: 1060px) {
  ._min1061 {
    display: none !important;
  }
}

@media screen and (min-width: 1061px) {
  ._max1060 {
    display: none !important;
  }
}

@media screen and (max-width: 1100px) {
  ._min1101 {
    display: none !important;
  }
}

@media screen and (min-width: 1101px) {
  ._max1100 {
    display: none !important;
  }
}

@media screen and (max-width: 1160px) {
  ._min1161 {
    display: none !important;
  }
}

@media screen and (min-width: 1161px) {
  ._max1160 {
    display: none !important;
  }
}

@media screen and (max-width: 1200px) {
  ._min1201 {
    display: none !important;
  }
}

@media screen and (min-width: 1201px) {
  ._max1200 {
    display: none !important;
  }
}

@media screen and (max-width: 1270px) {
  ._min1271 {
    display: none !important;
  }
}

@media screen and (min-width: 1271px) {
  ._max1270 {
    display: none !important;
  }
}

@media screen and (max-width: 1300px) {
  ._min1301 {
    display: none !important;
  }
}

@media screen and (min-width: 1301px) {
  ._max1300 {
    display: none !important;
  }
}

@media screen and (max-width: 1560px) {
  ._min1561 {
    display: none !important;
  }
}

@media screen and (min-width: 1561px) {
  ._max1560 {
    display: none !important;
  }
} /*------------------------------------------------------*/
/*  common */
/*------------------------------------------------------*/
.common-main {
  padding: calc(98px + 98px) 102px 159px;
}
.common-main__head .title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  overflow: hidden;
  margin-bottom: 42px;
}
.common-main__head .title-jp {
  font-size: 7.2rem;
  line-height: 9rem;
  letter-spacing: 0;
  font-weight: 700;
  margin-left: -0.05em;
  margin-bottom: 6px;
}
.common-main__head .title-en {
  font-size: 1.9rem;
  line-height: 3.2rem;
  font-weight: 600;
}
.common-main__head .title-en__inner {
  padding-bottom: 9px;
}
.common-main__head .title-en__inner > span {
  padding-bottom: 4px;
}
.common-main__head .title-en__inner > span::before {
  bottom: 0 !important;
}
.common-main__head .title-jp__inner, .common-main__head .title-en__inner {
  position: relative;
  background: linear-gradient(transparent 0%, transparent calc(100% - 6px), #000 calc(100% - 6px), #000 100%);
  background-position: right;
  background-repeat: no-repeat;
  background-size: 0 100%;
}
.common-main__head .title-jp__inner.-show, .common-main__head .title-en__inner.-show {
  -webkit-animation: common-page__title 0.4s ease-in forwards;
          animation: common-page__title 0.4s ease-in forwards;
}
.common-main__head .title-jp__inner.-show > span.-show::before, .common-main__head .title-en__inner.-show > span.-show::before {
  opacity: 0;
}
.common-main__head .title-jp__inner > span, .common-main__head .title-en__inner > span {
  position: relative;
  display: inline-block;
  opacity: 0;
}
.common-main__head .title-jp__inner > span.-show::before, .common-main__head .title-en__inner > span.-show::before {
  opacity: 1;
}
.common-main__head .title-jp__inner > span::before, .common-main__head .title-en__inner > span::before {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 0;
  width: 100%;
  height: 6px;
  background: #000;
}
.common-main__head .breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 85px;
  gap: 5px 0;
}
.common-main__head .breadcrumb-item {
  font-size: 1.5rem;
  line-height: 2.4rem;
}
.common-main__head .breadcrumb-item.-current a::after {
  height: 5px;
}
.common-main__head .breadcrumb-item:not(.-home) a {
  padding-bottom: 6px;
}
.common-main__head .breadcrumb-item.-home a {
  padding-bottom: 12px;
}
.common-main__head .breadcrumb-item.-home a::after {
  bottom: -4px;
}
.common-main__head .breadcrumb-item.-arrow {
  position: relative;
  width: 7px;
  height: 13px;
  margin: 7px 15px 0;
}
.common-main__head .breadcrumb-item.-arrow > img {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.common-main__head .breadcrumb-item a::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 6px;
  background: #000;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}
.common-main__head .breadcrumb-item a .icon {
  width: 15px;
  height: 14px;
}
.common-main__head .breadcrumb-item a .icon > img {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .common-main__head .breadcrumb-item a:hover::after {
    right: initial;
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 950px) {
  .common-main {
    padding: calc(98px + 100px) 36px 140px;
  }
}
@media screen and (max-width: 750px) {
  .common-main {
    padding: calc(60px + 53px) 18px 35px;
  }
  .common-main__head .title {
    margin-bottom: 23px;
  }
  .common-main__head .title-jp {
    font-size: 4rem;
    line-height: 4.8rem;
  }
  .common-main__head .title-en {
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 500;
  }
  .common-main__head .title-en__inner > span {
    padding-bottom: 6px;
  }
  .common-main__head .title-jp__inner > span::before, .common-main__head .title-en__inner > span::before {
    bottom: -5px;
  }
  .common-main__head .breadcrumb {
    margin-bottom: 58px;
  }
  .common-main__head .breadcrumb-item {
    font-size: 1.2rem;
    line-height: 1.4rem;
  }
  .common-main__head .breadcrumb-item.-current a::after {
    height: 1px;
  }
  .common-main__head .breadcrumb-item:not(.-home) a {
    padding-bottom: 0;
  }
  .common-main__head .breadcrumb-item.-home a {
    top: 1px;
    padding-bottom: 0;
  }
  .common-main__head .breadcrumb-item.-home a::after {
    display: none;
  }
  .common-main__head .breadcrumb-item.-arrow {
    width: 6px;
    height: 10px;
    margin: 3px 17px 0;
  }
  .common-main__head .breadcrumb-item a .icon {
    position: relative;
    top: 1px;
    width: 12px;
    height: 12px;
  }
}

/*------------------------------------------------------*/
/*  header */
/*------------------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 98px;
  background: #fff;
  border-bottom: 1px solid #ececec;
  padding: 0 36px;
  z-index: 100;
}
.header-name {
  width: 50%;
  font-size: 0;
  line-height: 0;
}
.header-name > a {
  width: 330px;
  padding-bottom: 1px;
}
.header-name.-top > a {
  display: none;
}
.header-nav {
  width: 50%;
}
.header-nav__list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 42px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding-top: 6px;
}
.header-nav__list li.-current a::after {
  right: initial;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .header-nav__list li.-current a:hover::after {
    right: 0;
    left: initial;
    width: 0;
  }
}
.header-nav__list li a {
  font-size: 1.5rem;
  line-height: 98px;
}
.header-nav__list li a::after {
  content: "";
  position: absolute;
  bottom: 3px;
  right: 0;
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  width: 0;
  height: 4px;
  background: #000;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .header-nav__list li a:hover::after {
    right: initial;
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  .header-nav__list {
    -webkit-transform: initial;
            transform: initial;
  }
}
@media screen and (max-width: 1060px) {
  .header {
    gap: 12%;
  }
}
@media screen and (max-width: 950px) {
  .header {
    padding: 0 24px 0 36px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header-opener {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    width: 23px;
    height: 18px;
    padding: 12px;
    cursor: pointer;
  }
  .header-opener.-open .header-opener__inner > span.-top {
    width: calc(100% + 4px);
    -webkit-transform: translateY(8px) rotate(35deg);
            transform: translateY(8px) rotate(35deg);
  }
  .header-opener.-open .header-opener__inner > span.-center {
    right: 50%;
    -webkit-transform: translate(calc(50% - 2px), calc(-50% + 1px)) rotate(45deg);
            transform: translate(calc(50% - 2px), calc(-50% + 1px)) rotate(45deg);
    width: 8px;
    height: 8px;
    background: #fff;
  }
  .header-opener.-open .header-opener__inner > span.-bottom {
    width: calc(100% + 4px);
    -webkit-transform: translateY(-8px) rotate(-35deg);
            transform: translateY(-8px) rotate(-35deg);
  }
  .header-opener__inner {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .header-opener__inner > span {
    display: inline-block;
    position: absolute;
    right: 0;
    width: 100%;
    height: 2px;
    background: #000;
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
  }
  .header-opener__inner > span.-top {
    top: 0;
    width: 13px;
  }
  .header-opener__inner > span.-center {
    top: calc(50% - 1px);
    width: 18px;
    z-index: 1;
    -webkit-transition: 0s;
    transition: 0s;
  }
  .header-opener__inner > span.-bottom {
    bottom: 0;
    width: 100%;
  }
}
@media screen and (max-width: 950px) and (min-width: 751px) {
  .header-opener:not(.-open):hover .header-opener__inner > span.-top {
    width: 100%;
  }
  .header-opener:not(.-open):hover .header-opener__inner > span.-bottom {
    width: 13px;
  }
}
@media screen and (max-width: 750px) {
  .header {
    height: 60px;
    padding: 0 6px 0 18px;
  }
  .header-name > a {
    width: 226px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/*------------------------------------------------------*/
/*  footer */
/*------------------------------------------------------*/
.footer {
  position: relative;
  padding: 0 36px 70px;
}
.footer-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer-top__detail {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 50%;
}
.footer-top__detail .logo {
  width: 330px;
  margin-bottom: 42px;
}
.footer-top__detail .company {
  margin-bottom: 37px;
}
.footer-top__detail .company-jp {
  font-size: 1.4rem;
  line-height: 2.8rem;
  margin-bottom: 7px;
}
.footer-top__detail .company-en {
  font-size: 1.2rem;
  font-weight: 600;
}
.footer-top__nav {
  position: relative;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: -3px;
}
.footer-top__nav .list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 55px;
  font-size: 1.5rem;
  line-height: 2.8rem;
}
.footer-top__nav .list li.-current > a::after {
  right: initial;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .footer-top__nav .list li.-current > a:hover::after {
    right: 0;
    left: initial;
    width: 0;
  }
}
.footer-top__nav .list li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 1px;
  background: #000;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .footer-top__nav .list li a:hover::after {
    right: initial;
    left: 0;
    width: 100%;
  }
}
.footer-top__nav .list li ul.-sub {
  font-size: 1.2rem;
  line-height: 2.4rem;
  margin-top: 17px;
}
.footer-top__nav .list li ul.-sub li + li {
  margin-top: 10px;
}
.footer-top__nav .list.-first > li:nth-of-type(3) {
  margin-right: -90px;
}
.footer-top__nav .list.-second {
  gap: 4px 55px;
  font-size: 1.2rem;
  line-height: 2.4rem;
  margin-top: 32px;
}
.footer-pagetop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 17px;
  position: absolute;
  bottom: 72px;
  right: 107px;
  cursor: pointer;
}
.footer-pagetop__text {
  font-size: 1.2rem;
  font-weight: 600;
}
.footer-pagetop__arrow {
  width: 14px;
  height: 15px;
}
.footer-pagetop__arrow img {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media screen and (min-width: 751px) {
  .footer-pagetop:hover .footer-pagetop__arrow {
    -webkit-animation: footer-arrow 0.6s ease-out forwards;
            animation: footer-arrow 0.6s ease-out forwards;
  }
}
.footer-copy small {
  font-size: 1.2rem;
  font-weight: 600;
}
@media screen and (max-width: 1340px) {
  .footer-top {
    gap: 14.4%;
    padding-right: 292px;
  }
  .footer-top__detail {
    width: initial;
  }
  .footer-top__nav {
    -webkit-transform: initial;
            transform: initial;
    display: block;
  }
  .footer-top__nav .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 950px) {
  .footer {
    padding: 80px 36px 70px;
  }
  .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background: #ececec;
  }
  .footer-top {
    display: block;
    padding-right: 0;
  }
  .footer-top__detail .company-jp {
    margin-bottom: 10px;
  }
  .footer-top__nav {
    margin-top: 0;
  }
  .footer-end {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 40px;
  }
  .footer-pagetop {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    position: relative;
    bottom: initial;
    right: initial;
  }
  .footer-pagetop__text {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .footer {
    padding: 44px 18px 36px;
  }
  .footer-top__detail {
    margin-bottom: 11px;
  }
  .footer-top__detail .logo {
    width: 230px;
    margin-bottom: 27px;
  }
  .footer-top__detail .company {
    margin-bottom: 0;
  }
  .footer-top__detail .company-jp {
    margin-bottom: 9px;
  }
  .footer-top__nav .list {
    gap: 20px 23px;
    font-size: 1.2rem;
    line-height: 2rem;
  }
  .footer-top__nav .list li.-current a::after {
    height: 1px;
  }
  .footer-top__nav .list li:nth-of-type(3) {
    margin-right: 0;
  }
  .footer-top__nav .list li:nth-of-type(4) {
    margin-left: 0;
  }
  .footer-top__nav .list li a::after {
    bottom: 0px;
  }
  .footer-top__nav .list li ul.-sub {
    font-size: 1.2rem;
    line-height: 1.4rem;
    margin-top: 19px;
  }
  .footer-top__nav .list li ul.-sub li + li {
    margin-top: 18px;
  }
  .footer-top__nav .list li ul.-sub li a {
    padding-bottom: 3px;
  }
  .footer-top__nav .list.-first > li:nth-of-type(4) {
    margin-left: 0;
  }
  .footer-top__nav .list.-second {
    gap: 15px 23px;
    font-size: 1.2rem;
    line-height: 1.4rem;
    margin-top: 34px;
  }
  .footer-top__nav .list.-second li a {
    padding-bottom: 4px;
  }
  .footer-end {
    margin-top: 40px;
  }
  .footer-copy small {
    font-size: 1.2rem;
  }
  .footer-pagetop__arrow {
    position: relative;
    width: 10px;
    height: 11px;
  }
  .footer-pagetop__arrow > img {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
  }
}

/*------------------------------------------------------*/
/*  modal */
/*------------------------------------------------------*/
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  z-index: 99;
}
.modal.-open {
  pointer-events: auto;
}
.modal.-open .modal-box {
  -webkit-animation: modal-open 0.4s linear forwards;
          animation: modal-open 0.4s linear forwards;
}
.modal.-open .modal-nav__list .item {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
.modal.-open .modal-nav__list .item:nth-of-type(1) {
  -webkit-transition: 0.3s linear 0.5s;
  transition: 0.3s linear 0.5s;
}
.modal.-open .modal-nav__list .item:nth-of-type(2) {
  -webkit-transition: 0.3s linear 0.6s;
  transition: 0.3s linear 0.6s;
}
.modal.-open .modal-nav__list .item:nth-of-type(3) {
  -webkit-transition: 0.3s linear 0.7s;
  transition: 0.3s linear 0.7s;
}
.modal.-open .modal-nav__list .item:nth-of-type(4) {
  -webkit-transition: 0.3s linear 0.8s;
  transition: 0.3s linear 0.8s;
}
.modal.-open .modal-nav__list.-second {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  -webkit-transition: 0.3s linear 0.9s;
  transition: 0.3s linear 0.9s;
}
.modal.-close .modal-box {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-animation: modal-close 0.4s linear forwards 0.2s;
          animation: modal-close 0.4s linear forwards 0.2s;
}
.modal-box {
  position: relative;
  height: 100%;
  max-height: 100vh;
  max-height: 100dvh;
  overflow: hidden;
  background: #fff;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: 0.4s linear 0.2s;
  transition: 0.4s linear 0.2s;
}
.modal-box__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 137px 36px 40px;
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal-box__inner::-webkit-scrollbar {
  display: none;
}
.modal-nav__list {
  font-size: 1.8rem;
  line-height: 2rem;
}
.modal-nav__list .item {
  -webkit-transform: translateX(-6px);
          transform: translateX(-6px);
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0s ease-out 0.4s;
  transition: opacity 0.2s ease-out, -webkit-transform 0s ease-out 0.4s;
  transition: opacity 0.2s ease-out, transform 0s ease-out 0.4s;
  transition: opacity 0.2s ease-out, transform 0s ease-out 0.4s, -webkit-transform 0s ease-out 0.4s;
}
.modal-nav__list .item + .item {
  margin-top: 30px;
}
.modal-nav__list .item.-current .item-link::after {
  width: 100%;
}
.modal-nav__list .item-link {
  padding-bottom: 3px;
}
.modal-nav__list .item-link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #000;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .modal-nav__list .item-link:hover::after {
    width: 100%;
  }
}
.modal-nav__list .item ul.-sub {
  font-size: 1.3rem;
  line-height: 1.4rem;
  font-weight: 500;
  margin-top: 22px;
}
.modal-nav__list .item ul.-sub li + li {
  margin-top: 21px;
}
.modal-nav__list .item ul.-sub li.-current > a::after {
  width: calc(100% - 16px);
}
.modal-nav__list .item ul.-sub li > a {
  padding-bottom: 5px;
  padding-left: 16px;
}
.modal-nav__list .item ul.-sub li > a::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 1px;
  background: #000;
}
.modal-nav__list .item ul.-sub li > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 16px;
  width: 0;
  height: 1px;
  background: #000;
}
@media screen and (min-width: 751px) {
  .modal-nav__list .item ul.-sub li > a:hover::after {
    width: calc(100% - 16px);
  }
}
.modal-nav__list.-second {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 14px 22px;
  font-size: 1.4rem;
  margin-top: 33px;
  -webkit-transform: translateX(-6px);
          transform: translateX(-6px);
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0s ease-out 0.4s;
  transition: opacity 0.2s ease-out, -webkit-transform 0s ease-out 0.4s;
  transition: opacity 0.2s ease-out, transform 0s ease-out 0.4s;
  transition: opacity 0.2s ease-out, transform 0s ease-out 0.4s, -webkit-transform 0s ease-out 0.4s;
}
.modal-nav__list.-second li.-current a::after {
  width: 100%;
}
.modal-nav__list.-second li a {
  padding-bottom: 2px;
}
.modal-nav__list.-second li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #000;
}
@media screen and (min-width: 751px) {
  .modal-nav__list.-second li a:hover::after {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .modal-box__inner {
    padding: 99px 18px 40px;
  }
}

/*------------------------------------------------------*/
/*  top */
/*------------------------------------------------------*/
.top {
  margin-top: -74px;
  margin-bottom: -16px;
}
.top-language {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 55px;
}
.top-language__list {
  position: relative;
  left: 66px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  font-size: 1.5rem;
  line-height: 1.3;
}
.top-language__list li {
  position: relative;
}
.top-language__list li input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  z-index: 1;
  border: 1px solid #ececec;
  border-radius: 999px;
  -webkit-transition: border-color 0.1s ease-out;
  transition: border-color 0.1s ease-out;
}
.top-language__list li input:checked {
  border: none;
  pointer-events: none;
}
.top-language__list li input:checked + ::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  border-radius: 999px;
  z-index: -1;
}
.top-language__list li input:checked + label {
  color: #fff;
}
@media screen and (min-width: 751px) {
  .top-language__list li input:hover {
    border-color: #000;
  }
}
.top-language__list li label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 35px;
  padding: 7px 18px 8px;
}
.top-language__list li label.-zh_cn {
  font-family: "Noto Sans SC", sans-serif;
}
.top-main {
  font-size: 1.7rem;
  line-height: 3.6rem;
  line-break: normal;
  margin-bottom: 122px;
}
.top-main::before {
  content: "";
  display: block;
  padding-top: calc(7.1% + 64px);
}
.top-main__wrap {
  position: relative;
}
.top-main__logo {
  position: fixed;
  width: calc(100% - 204px);
  height: calc(100vh - 210px);
  left: 102px;
  top: 210px;
  z-index: 999;
  -webkit-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
.top-main__logo > p {
  position: absolute;
  width: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top-main__logo.-scroll {
  width: 330px;
  left: 36px;
  top: 37px;
  height: 30px;
  -webkit-transition: all 0.35s ease-out 0s;
  transition: all 0.35s ease-out 0s;
}
.top-main__inner {
  display: none;
}
.top-main__inner.-show {
  display: block;
}
.top-main__inner > p {
  opacity: 0;
}
.top-main__inner > p + p {
  margin-top: 36px;
}
.top-main__inner.-zh_cn {
  font-family: "Noto Sans SC", sans-serif;
}
.top-section__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top-section__top .heading-inner {
  position: relative;
  font-size: 4.4rem;
  line-height: 5.4rem;
  font-weight: 700;
}
.top-section__top .heading-inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 6px;
  background: #000;
  opacity: 0;
}
.top-section__top .heading-inner.-show::after {
  opacity: 1;
  width: 0;
  -webkit-transition: width 0.4s ease-in;
  transition: width 0.4s ease-in;
}
.top-section__top .heading-inner.-show > span.-show::before {
  opacity: 0;
}
.top-section__top .heading-inner > span {
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
  opacity: 0;
}
.top-section__top .heading-inner > span.-show::before {
  opacity: 1;
}
.top-section__top .heading-inner > span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: #000;
}
.top-section__top .link {
  gap: 17px;
}
.top-section__top .link-text {
  font-size: 1.5rem;
}
.top-section__top .link-icon {
  width: 14px;
}
@media screen and (min-width: 751px) {
  .top-section__top .link:hover .link-icon {
    -webkit-animation: news-arrow__nav--next 0.6s ease-out forwards;
            animation: news-arrow__nav--next 0.6s ease-out forwards;
  }
}
.top-news__top {
  margin-bottom: 16px;
}
.top-news .news-body__listbox {
  margin-bottom: 0;
}
.top-news .news-body__list li a {
  padding: 26px 0;
}
.top-news .news-body__list li a .title {
  font-size: 1.7rem;
  line-height: 3.6rem;
  margin-top: 7px;
}
@media screen and (max-width: 950px) {
  .top {
    margin-top: -66px;
    margin-bottom: -30px;
  }
  .top-language__list {
    left: 0;
  }
  .top-main__logo {
    width: calc(100% - 72px);
    left: 36px;
  }
  .top-news .news-body__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 60px;
  }
  .top-news .news-body__button .link {
    height: 66px;
    border-radius: 999px;
    border: 1px solid #000;
    gap: 20px;
    padding-left: 43px;
    padding-right: 25px;
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
  }
  .top-news .news-body__button .link-text {
    font-size: 1.5rem;
  }
  .top-news .news-body__button .link-icon {
    position: relative;
    top: 1px;
    width: 14px;
  }
  .top-news .news-body__button .link-icon svg .st0 {
    fill: none;
    stroke: #000000;
    stroke-width: 3;
    stroke-miterlimit: 10;
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
  }
}
@media screen and (max-width: 950px) and (min-width: 751px) {
  .top-news .news-body__button .link:hover {
    background: #000;
    color: #fff;
  }
  .top-news .news-body__button .link:hover .link-icon svg .st0 {
    stroke: #fff;
  }
}
@media screen and (max-width: 750px) {
  .top {
    margin-top: -34px;
    margin-bottom: 31px;
  }
  .top-language {
    margin-bottom: 30px;
  }
  .top-language__box {
    position: relative;
    width: 110px;
    height: 36px;
  }
  .top-language__box select {
    position: relative;
    top: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #ececec;
    border-radius: 999px;
    padding-left: 19px;
    padding-right: 36px;
    font-size: 1.2rem;
    background: initial;
  }
  .top-language__box .arrow {
    position: absolute;
    top: 50%;
    right: 13px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 10px;
    height: 6px;
    pointer-events: none;
  }
  .top-language__box .arrow > img {
    position: absolute;
    top: 1px;
    left: 0;
  }
  .top-main {
    font-size: 1.5rem;
    line-height: 3rem;
    margin-bottom: 55px;
  }
  .top-main::before {
    padding-top: calc(7.1% + 29px);
  }
  .top-main__logo {
    width: calc(100% - 36px);
    height: calc(100vh - 145px);
    left: 18px;
    top: 145px;
  }
  .top-main__logo.-scroll {
    width: 226px;
    left: 18px;
    top: 22px;
    height: 18px;
  }
  .top-main > p + p {
    margin-top: 30px;
  }
  .top-section__top .heading-inner {
    font-size: 2.8rem;
    line-height: 3.2rem;
  }
  .top-news__top {
    margin-bottom: 1px;
  }
  .top-news .news-body__list li a .title {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
  .top-news .news-body__button {
    margin-top: 42px;
  }
  .top-news .news-body__button .link-text {
    font-size: 1.4rem;
  }
  .top-news .news-body__button .link-icon {
    width: 10px;
  }
  .top-news .news-body__button .link-icon svg .cls-1 {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-width: 2px;
  }
}

/*------------------------------------------------------*/
/*  news */
/*------------------------------------------------------*/
.news-head {
  margin-bottom: 18px;
}
.news-head__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px;
  font-size: 1.5rem;
  line-height: 1.3;
}
.news-head__list li {
  position: relative;
}
.news-head__list li:nth-of-type(1) {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
}
.news-head__list li.-current a {
  background: #000;
  color: #fff;
  border: none;
  pointer-events: none;
}
.news-head__list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 122px;
  min-height: 35px;
  padding: 7px 32px 8px 32px;
  border: 1px solid #ececec;
  border-radius: 999px;
  -webkit-transition: border-color 0.1s ease-out;
  transition: border-color 0.1s ease-out;
}
@media screen and (min-width: 751px) {
  .news-head__list li a:hover {
    border-color: #000;
  }
}
.news-body__listbox {
  margin-bottom: 71px;
}
.news-body__list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #ececec;
  padding: 36px 0 36px;
}
.news-body__list li a .date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 1.7rem;
}
.news-body__list li a .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5rem;
  line-height: 2.8rem;
}
.news-body__list li a .category::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  background: #000;
  margin: 0 6px;
}
.news-body__list li a .title {
  width: 100%;
  font-size: 2.6rem;
  line-height: 3.6rem;
  padding-right: 128px;
  margin-top: 10px;
}
.news-body__list li a .arrow {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 14px;
}
@media screen and (min-width: 751px) {
  .news-body__list li a.-out .arrow {
    top: calc(50% + 21px);
    right: initial;
    left: -30px;
    -webkit-animation: news-arrow__back 0.4s ease-out 0.1s forwards;
            animation: news-arrow__back 0.4s ease-out 0.1s forwards;
  }
  .news-body__list li a:hover.-hover .arrow {
    -webkit-animation: news-arrow__go 0.4s ease-out forwards;
            animation: news-arrow__go 0.4s ease-out forwards;
  }
}
.news-body__pager {
  gap: 24px;
}
.news-body__pager .nav {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 14px;
  margin-top: 5px;
}
.news-body__pager .nav.-prev a > p > img {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 751px) {
  .news-body__pager .nav.-prev a:hover > p {
    -webkit-animation: news-arrow__nav--prev 0.6s ease-out forwards;
            animation: news-arrow__nav--prev 0.6s ease-out forwards;
  }
}
@media screen and (min-width: 751px) {
  .news-body__pager .nav.-next a:hover > p {
    -webkit-animation: news-arrow__nav--next 0.6s ease-out forwards;
            animation: news-arrow__nav--next 0.6s ease-out forwards;
  }
}
.news-body__pager .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 18px 0;
  font-size: 2rem;
  padding: 0 12px;
}
.news-body__pager .list li.-current a > span::after {
  right: initial;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .news-body__pager .list li.-current a:hover > span::after {
    right: 0;
    left: initial;
    width: 0;
  }
}
.news-body__pager .list li a {
  padding: 0 9px;
  margin: 0 9px;
}
.news-body__pager .list li a > span {
  position: relative;
  padding: 0 2px 13px;
}
.news-body__pager .list li a > span::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: translateX(2%);
          transform: translateX(2%);
  width: 0;
  height: 5px;
  background: #000;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .news-body__pager .list li a:hover > span::after {
    right: initial;
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 950px) {
  .news-body__pager {
    gap: 0;
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .news-body__pager .list {
    padding: 0 24px;
  }
}
@media screen and (max-width: 750px) {
  .news {
    padding: 0;
  }
  .news-head {
    margin-bottom: 19px;
  }
  .news-head__list {
    gap: 12px;
    font-size: 1.2rem;
    line-height: 1.4rem;
  }
  .news-head__list li a {
    min-width: 74px;
    min-height: 36px;
    padding: 7px 16px 8px;
  }
  .news-body__listbox {
    margin-bottom: 38px;
  }
  .news-body__listbox .cursor {
    display: none !important;
  }
  .news-body__list li a {
    padding: 25px 0 25px;
  }
  .news-body__list li a .date {
    font-size: 1.4rem;
  }
  .news-body__list li a .category {
    font-size: 1.2rem;
    line-height: 1.4rem;
  }
  .news-body__list li a .category::before {
    width: 6px;
    margin: 0 5px;
  }
  .news-body__list li a .title {
    font-size: 1.6rem;
    line-height: 2.6rem;
    padding-right: 75px;
  }
  .news-body__list li a .arrow {
    width: 10px;
  }
  .news-body__pager .nav {
    width: 10px;
  }
  .news-body__pager .list {
    gap: 8px 0;
    font-size: 1.7rem;
    padding: 0 16px;
  }
  .news-body__pager .list li.-current a > span::after {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 75%;
  }
  .news-body__pager .list li a {
    padding: 0 5px;
    margin: 0 5px;
  }
  .news-body__pager .list li a > span {
    position: relative;
    padding: 0 2px;
  }
  .news-body__pager .list li a > span::after {
    height: 1px;
    -webkit-transform: translateX(-14%);
            transform: translateX(-14%);
  }
}

.news-single {
  margin-top: -7px;
  margin-bottom: -14px;
}
.news-single__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 23px;
}
.news-single__top .date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 1.7rem;
}
.news-single__top .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5rem;
  line-height: 2.8rem;
}
.news-single__top .category::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  background: #000;
  margin: 2px 6px 0;
}
.news-single__title {
  font-size: 3rem;
  line-height: 3.6rem;
  font-weight: 700;
  margin-bottom: 35px;
}
.news-single__main {
  font-size: 1.7rem;
  line-height: 3.6rem;
  margin-bottom: 77px;
}
.news-single__main p + p {
  margin-top: 37px;
}
.news-single__main a {
  text-decoration: underline;
}
@media screen and (min-width: 751px) {
  .news-single__main a:hover {
    text-decoration: none;
  }
}
.news-single__main img {
  width: 100%;
  height: auto;
  max-width: 1000px;
}
.news-single__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.news-single__nav .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  height: 82px;
  border: 1px solid #000;
  border-radius: 999px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  padding-left: 52px;
  padding-right: 24px;
}
.news-single__nav .button a .text {
  font-size: 1.8rem;
}
.news-single__nav .button a .arrow {
  position: relative;
  top: 2px;
  width: 14px;
}
.news-single__nav .button a .arrow svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.news-single__nav .button a .arrow svg .st0 {
  fill: none;
  stroke: #000000;
  stroke-width: 3;
  stroke-miterlimit: 10;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .news-single__nav .button a:hover {
    background: #000;
    color: #fff;
  }
  .news-single__nav .button a:hover .arrow svg .st0 {
    stroke: #fff;
  }
}
@media screen and (max-width: 750px) {
  .news-single {
    margin-top: 0;
    margin-bottom: 31px;
  }
  .news-single__top {
    margin-bottom: 11px;
  }
  .news-single__top .date {
    font-size: 1.4rem;
  }
  .news-single__top .category {
    font-size: 1.2rem;
    line-height: 1.4rem;
  }
  .news-single__top .category::before {
    width: 6px;
    margin: 1px 5px 0;
  }
  .news-single__title {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 26px;
  }
  .news-single__main {
    font-size: 1.4rem;
    line-height: 2.8rem;
    border-top: 1px solid #ececec;
    padding-top: 28px;
    margin-bottom: 33px;
  }
  .news-single__main p + p {
    margin-top: 27px;
  }
  .news-single__nav .button a {
    height: 60px;
    gap: 26px;
    padding-left: 45px;
    padding-right: 18px;
  }
  .news-single__nav .button a .text {
    font-size: 1.5rem;
  }
  .news-single__nav .button a .arrow {
    top: 1px;
    width: 10px;
  }
  .news-single__nav .button a .arrow svg .cls-1 {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-width: 2px;
  }
} /*------------------------------------------------------*/
/*  company */
/*------------------------------------------------------*/
.company {
  margin-top: -8px;
  margin-bottom: -14px;
}
.company-title {
  font-size: 4.4rem;
  line-height: 5.4rem;
  font-weight: 700;
  margin-bottom: 40px;
}
.company-main {
  margin-bottom: 81px;
}
.company-main dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.7rem;
  line-height: 3.6rem;
}
.company-main dl + dl {
  margin-top: 22px;
}
.company-main dl dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 140px;
}
.company-main dl dd {
  width: calc(100% - 140px);
}
.company-main dl dd ._fontb {
  display: inline-block;
  font-size: 1.8rem;
  margin-top: 2px;
}
.company-main dl dd .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.company-main dl dd .block + .block {
  margin-top: 10px;
}
.company-main dl dd .block-position {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 162px;
}
.company-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 36px;
}
.company-link__button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 82px;
  border: 1px solid #000;
  border-radius: 999px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  gap: 45px;
  padding-left: 58px;
  padding-right: 23px;
}
.company-link__button a .text {
  font-size: 1.8rem;
}
.company-link__button a .arrow {
  position: relative;
  top: 2px;
  width: 14px;
}
.company-link__button a .arrow svg .st0 {
  fill: none;
  stroke: #000000;
  stroke-width: 3;
  stroke-miterlimit: 10;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .company-link__button a:hover {
    background: #000;
    color: #fff;
  }
  .company-link__button a:hover .arrow svg .st0 {
    stroke: #fff;
  }
}
@media screen and (max-width: 750px) {
  .company {
    margin-top: -3px;
    margin-bottom: 31px;
  }
  .company-title {
    font-size: 2.8rem;
    line-height: 3.2rem;
    margin-bottom: 26px;
  }
  .company-main {
    margin-bottom: 52px;
  }
  .company-main dl {
    display: block;
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
  .company-main dl + dl {
    margin-top: 21px;
  }
  .company-main dl dt {
    width: initial;
    font-size: 1.3rem;
    margin-bottom: 10px;
  }
  .company-main dl dt > span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
  }
  .company-main dl dt > span::before {
    content: "";
    display: block;
    width: 6px;
    height: 1px;
    background: #000;
  }
  .company-main dl dd {
    width: 100%;
  }
  .company-main dl dd ._fontb {
    font-size: 1.5rem;
    margin-top: 3px;
  }
  .company-main dl dd .block + .block {
    margin-top: 0;
  }
  .company-main dl dd .block-position {
    width: 136px;
  }
  .company-link {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 18px 12px;
  }
  .company-link__button:nth-of-type(2) a {
    gap: 25px;
    padding-left: 29px;
    padding-right: 17px;
  }
  .company-link__button a {
    height: 60px;
    gap: 19px;
    padding-left: 35px;
    padding-right: 20px;
  }
  .company-link__button a .text {
    font-size: 1.5rem;
  }
  .company-link__button a .arrow {
    top: 1px;
    width: 10px;
  }
  .company-link__button a .arrow svg .cls-1 {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-width: 2px;
  }
}

/*------------------------------------------------------*/
/*  contact */
/*------------------------------------------------------*/
.contact {
  margin-top: -4px;
  margin-bottom: -19px;
}
.contact-lead {
  font-size: 1.7rem;
  line-height: 3.6rem;
  margin-bottom: 41px;
}
.contact-lead a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}

.contact-lead a.red::after {
  background: #ff3333;
}

@media screen and (min-width: 751px) {
  .contact-lead a:hover::after {
    left: initial;
    right: 0;
    width: 0;
  }
}
.contact-focus {
  font-size: 1.4rem;
  line-height: 3.2rem;
}
.contact-focus__title {
  font-size: 2.4rem;
  line-height: 3.4rem;
  margin-bottom: 18px;
}
.contact-focus__text {
  margin-bottom: 33px;
}
.contact-focus ul li, .contact-focus ul li > span {
  position: relative;
  padding-left: 20px;
}
.contact-focus ul li::before, .contact-focus ul li > span::before, .contact-focus ul li > span::before, .contact-focus ul li > span > span::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.contact-focus ul li > span::before {
  top: -6px;
}
.contact-focus ul a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .contact-focus ul a:hover::after {
    left: initial;
    right: 0;
    width: 0;
  }
}
.contact-form {
  margin-top: 88px;
}
.contact-form .form-required {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11px;
  margin-bottom: 33px;
}
.contact-form .form-required__icon {
  width: 12px;
}
.contact-form .form-required__text {
  font-size: 1.5rem;
}
.contact-form .form-wrap {
  font-size: 1.7rem;
}
.contact-form .form-wrap + .form-wrap {
  margin-top: 12px;
}
.contact-form .form-wrap:not(.-required) .form-item__term .title::before {
  background: initial;
}
.contact-form .form-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contact-form .form-item__term {
  width: 296px;
  padding-top: 18px;
}
.contact-form .form-item__term .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  position: relative;
}
.contact-form .form-item__term .title::before {
  content: "";
  width: 12px;
  height: 13px;
  background: url(../../83/images/common/icon/asterisk.svg) 0 0 no-repeat;
}
.contact-form .form-item__description {
  position: relative;
  width: calc(100% - 296px);
  height: 60px;
}
.contact-form .form-item__description::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #000;
  pointer-events: none;
}
.contact-form .form-item__description.select .select-box {
  width: 100%;
  height: 100%;
  padding: 0 24px;
  cursor: pointer;
  background: initial;
}
.contact-form .form-item__description.select::after {
  content: "";
  width: 8px;
  height: 14px;
  font-size: 0;
  line-height: 0;
  background: url(/files/83/images/common/icon/arrow3.svg) no-repeat 0 0;
  background-size: contain;
  display: block;
  position: absolute;
  right: 24px;
  top: 50%;
  -webkit-transform: rotate(90deg) translateX(-70%);
          transform: rotate(90deg) translateX(-70%);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  pointer-events: none;
}
.contact-form .form-item__description.input .input-box {
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 24px;
}
.contact-form .form-item__description.textarea {
  height: 400px;
}
.contact-form .form-item__description.textarea .textarea-box {
  width: 100%;
  height: 100%;
  line-height: 3.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  resize: none;
  padding: 16px 24px;
}
.contact-form .form-error {
  padding-left: 296px;
}
.contact-form .form-error__inner {
  position: relative;
  color: #000;
  padding-top: 6px;
}
.contact-form .form-error__inner .text {
  display: inline-block;
}
.contact-form .form-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 59px;
  margin-top: 65px;
}
.contact-form .form-button__box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 82px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 999px;
  padding-left: 57px;
  padding-right: 25px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.contact-form .form-button__box.-back {
  padding-left: 25px;
  padding-right: 57px;
}
.contact-form .form-button__box.-back .form-button__box--item {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.contact-form .form-button__box.-back .form-button__box--item .icon svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.contact-form .form-button__box--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
.contact-form .form-button__box--item .text {
  font-size: 1.8rem;
}
.contact-form .form-button__box--item .icon {
  position: relative;
  top: 2px;
  width: 14px;
}
.contact-form .form-button__box--item .icon svg .st0 {
  fill: none;
  stroke: #000000;
  stroke-width: 3;
  stroke-miterlimit: 10;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .contact-form .form-button__box:hover {
    background: #000;
    color: #fff;
  }
  .contact-form .form-button__box:hover .form-button__box--item .icon svg .st0 {
    stroke: #fff;
  }
}
.contact-form .form-button__trigger {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: initial;
  cursor: pointer;
  z-index: 1;
  opacity: 0;
}
.contact-form .form-button__checker {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}
@media screen and (max-width: 950px) {
  .contact-form .form-item {
    display: block;
  }
  .contact-form .form-item__term {
    width: initial;
    margin-bottom: 12px;
  }
  .contact-form .form-item__description {
    width: 100%;
  }
  .contact-form .form-error {
    padding-left: 0;
  }
}
@media screen and (max-width: 750px) {
  .contact {
    margin-top: -4px;
    margin-bottom: 31px;
  }
  .contact-lead {
    font-size: 1.4rem;
    line-height: 2.8rem;
    margin-bottom: 39px;
  }
  .contact-lead a::after {
    bottom: 3px;
  }
  .contact-focus {
    font-size: 1.3rem;
    line-height: 2.6rem;
  }
  .contact-focus__title {
    font-size: 1.8rem;
    line-height: 2.5rem;
    font-weight: 700;
    margin-bottom: 8px;
  }
  .contact-focus__text {
    margin-bottom: 12px;
  }
  .contact-focus ul li, .contact-focus ul li > span {
    padding-left: 11px;
  }
  .contact-focus ul a::after {
    bottom: 2px;
  }
  .contact-focus ul li + li {
    margin-top: 11px;
  }
  .contact-focus ul li:nth-of-type(3) br._sp {
    display: none;
  }
  .contact-focus ul li > span {
    display: inline-block;
  }
  .contact-focus ul li > span::before {
    top: 0;
  }
  .contact-focus ul li > span:nth-of-type(1) {
    margin-top: 4px;
  }
  .contact-form {
    margin-top: 27px;
  }
  .contact-form .form-required {
    gap: 6px;
    margin-bottom: 8px;
  }
  .contact-form .form-required__icon {
    position: relative;
    top: -1px;
    width: 10px;
  }
  .contact-form .form-required__text {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
  .contact-form .form-wrap {
    font-size: 1.4rem;
  }
  .contact-form .form-wrap + .form-wrap {
    margin-top: 2px;
  }
  .contact-form .form-item__term {
    margin-bottom: 9px;
  }
  .contact-form .form-item__term .title {
    gap: 6px;
  }
  .contact-form .form-item__term .title::before {
    position: relative;
    top: 1px;
    width: 10px;
    height: 11px;
    background: url(../../83/images/sp/common/icon/asterisk.svg) 0 0 no-repeat;
  }
  .contact-form .form-item__description {
    height: 48px;
  }
  .contact-form .form-item__description.input .input-box, .contact-form .form-item__description.select .select-box {
    padding: 0 15px;
  }
  .contact-form .form-item__description.textarea {
    height: 240px;
  }
  .contact-form .form-item__description.textarea .textarea-box {
    line-height: 2.8rem;
    padding: 11px 15px;
  }
  .contact-form .form-item__description.select::after {
    width: 6px;
    height: 10px;
    background: url(/files/83/images/sp/common/icon/arrow3.svg) no-repeat 0 0;
    background-size: contain;
    right: 18px;
  }
  .contact-form .form-button {
    gap: 43px;
    margin-top: 60px;
  }
  .contact-form .form-button__box {
    height: 60px;
    padding-left: 48px;
    padding-right: 20px;
  }
  .contact-form .form-button__box.-back {
    padding-left: 20px;
    padding-right: 48px;
  }
  .contact-form .form-button__box--item .text {
    font-size: 1.5rem;
  }
  .contact-form .form-button__box--item .icon {
    width: 10px;
  }
  .contact-form .form-button__box--item .icon svg .cls-1 {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-width: 2px;
  }
}

.contact-confirm {
  margin-top: -8px;
  margin-bottom: -13px;
}
.contact-confirm .contact-lead {
  margin-bottom: 0;
}
.contact-confirm .contact-form {
  margin-top: 33px;
}
.contact-confirm .form-wrap {
  line-height: 3.6rem;
}
.contact-confirm .form-wrap + .form-wrap {
  margin-top: -2px;
}
.contact-confirm .form-wrap.-tel, .contact-confirm .form-wrap.-mail {
  line-breaK: anywhere;
}
.contact-confirm .form-wrap.-mail2 {
  display: none;
}
.contact-confirm .form-item__term {
  width: 256px;
}
.contact-confirm .form-item__term .title::before {
  display: none;
}
.contact-confirm .form-item__description {
  width: calc(100% - 256px);
  padding: 19px 0 0 0;
}
.contact-confirm .form-item__description::before {
  display: none;
}
.contact-confirm .form-item__description.input .input-box, .contact-confirm .form-item__description.input input {
  padding: 0;
}
.contact-confirm .form-item__description.select::after {
  display: none;
}
.contact-confirm .form-item__description.textarea {
  height: initial;
  white-space: pre-wrap;
}
.contact-confirm .form-button {
  margin-top: 57px;
}
.contact-confirm .form-button__box {
  padding-left: 74px;
}
.contact-confirm .form-button__box--item {
  gap: 61px;
}
@media screen and (max-width: 950px) {
  .contact-confirm .contact-form {
    margin-top: 42px;
  }
  .contact-confirm .form-wrap + .form-wrap {
    margin-top: 30px;
  }
  .contact-confirm .form-item__term {
    width: initial;
    font-size: 1.4rem;
    padding-top: 0;
    margin-bottom: 0;
  }
  .contact-confirm .form-item__term .title {
    gap: 6px;
  }
  .contact-confirm .form-item__term .title::before {
    display: block;
    width: 6px;
    height: 1px;
    background: #000;
  }
  .contact-confirm .form-item__description {
    width: 100%;
    height: initial;
    padding-top: 0;
    padding-left: 12px;
  }
}
@media screen and (max-width: 750px) {
  .contact-confirm {
    margin-bottom: 31px;
  }
  .contact-confirm .contact-form {
    margin-top: 46px;
  }
  .contact-confirm .form-wrap {
    line-height: 2.8rem;
  }
  .contact-confirm .form-wrap + .form-wrap {
    margin-top: 35px;
  }
  .contact-confirm .form-item__term {
    font-size: 1.2rem;
    margin-bottom: 8px;
  }
  .contact-confirm .form-button {
    margin-top: 54px;
  }
  .contact-confirm .form-button__box {
    padding-left: 50px;
    padding-right: 20px;
  }
  .contact-confirm .form-button__box--item {
    gap: 35px;
  }
}

.contact-completion {
  margin-top: -14px;
  margin-bottom: -18px;
}
.contact-completion .contact-lead {
  font-size: 2.4rem;
  line-height: 4.8rem;
  margin-bottom: 77px;
}
@media screen and (max-width: 750px) {
  .contact-completion {
    margin-top: -10px;
    margin-bottom: 24px;
  }
  .contact-completion .contact-lead {
    font-size: 1.8rem;
    line-height: 3.6rem;
    margin-bottom: 47px;
  }
}

/*------------------------------------------------------*/
/*  policy */
/*------------------------------------------------------*/
.policy-toptitle {
  font-size: 4.4rem;
  line-height: 5.4rem;
  font-weight: 700;
  margin-bottom: 34px;
}
.policy-toptitle:not(.-top) {
  margin-top: 97px;
  margin-bottom: 49px;
}
.policy-lead {
  font-size: 1.7rem;
  line-height: 3.6rem;
  margin-bottom: 60px;
}
.policy-block + .policy-block {
  margin-top: 42px;
}
.policy-block__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  font-size: 2.4rem;
  line-height: 3.4rem;
  margin-bottom: 17px;
}
.policy-block__title .number {
  position: relative;
  font-size: 2.7rem;
}
.policy-block__text {
  font-size: 1.4rem;
  line-height: 3.4rem;
}
.policy-block__text .item {
  position: relative;
  padding-left: 17px;
  display: inline-block;
  width: 100%;
}
.policy-block__text .item:nth-of-type(1) {
  margin-top: 9px;
}
.policy-block__text .item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.policy-block__text .item.-number {
  padding-left: 24px;
}
.policy-block__text .item.-number:nth-of-type(1)::before {
  content: "(1)";
}
.policy-block__text .item.-number:nth-of-type(2)::before {
  content: "(2)";
}
.policy-block__text .item.-number:nth-of-type(3)::before {
  content: "(3)";
}
.policy-block__text .item.-number:nth-of-type(4)::before {
  content: "(4)";
}
.policy-block__text .item.-number:nth-of-type(5)::before {
  content: "(5)";
}
.policy-block__text .item.-number:nth-of-type(6)::before {
  content: "(6)";
}
.policy-block__text .item.-number:nth-of-type(7)::before {
  content: "(7)";
}
.policy-block__text .item.-number:nth-of-type(8)::before {
  content: "(8)";
}
.policy-block__text .item.-number:nth-of-type(9)::before {
  content: "(9)";
}
.policy-block__text .item.-number:nth-of-type(10)::before {
  content: "(10)";
}
.policy-block__text .item.-number:nth-of-type(11)::before {
  content: "(11)";
}
.policy-block__text .item.-number:nth-of-type(12)::before {
  content: "(12)";
}
.policy-block__text .item.-number:nth-of-type(13)::before {
  content: "(13)";
}
.policy-block__text .item.-number:nth-of-type(14)::before {
  content: "(14)";
}
.policy-block__text .item.-number:nth-of-type(15)::before {
  content: "(15)";
}
.policy-block__text .item.-number:nth-of-type(16)::before {
  content: "(16)";
}
.policy-block__text .item.-number:nth-of-type(17)::before {
  content: "(17)";
}
.policy-block__text .item.-number:nth-of-type(18)::before {
  content: "(18)";
}
.policy-block__text .item.-number:nth-of-type(19)::before {
  content: "(19)";
}
.policy-block__text .item.-number:nth-of-type(20)::before {
  content: "(20)";
}
.policy-block__text .item.-number:nth-of-type(21)::before {
  content: "(21)";
}
.policy-block__text .item.-number:nth-of-type(22)::before {
  content: "(22)";
}
.policy-block__text .item.-number:nth-of-type(23)::before {
  content: "(23)";
}
.policy-block__text .item.-number:nth-of-type(24)::before {
  content: "(24)";
}
.policy-block__text .item.-number:nth-of-type(25)::before {
  content: "(25)";
}
.policy-block__text .item.-number:nth-of-type(26)::before {
  content: "(26)";
}
.policy-block__text .item.-number:nth-of-type(27)::before {
  content: "(27)";
}
.policy-block__text .item.-number:nth-of-type(28)::before {
  content: "(28)";
}
.policy-block__text .item.-number:nth-of-type(29)::before {
  content: "(29)";
}
.policy-block__text .item.-number:nth-of-type(30)::before {
  content: "(30)";
}
.policy-block__text .item.-number:nth-of-type(31)::before {
  content: "(31)";
}
.policy-block__text .item.-number:nth-of-type(32)::before {
  content: "(32)";
}
.policy-block__text .item.-number:nth-of-type(33)::before {
  content: "(33)";
}
.policy-block__text .item.-number:nth-of-type(34)::before {
  content: "(34)";
}
.policy-block__text .item.-number:nth-of-type(35)::before {
  content: "(35)";
}
.policy-block__text .item.-number:nth-of-type(36)::before {
  content: "(36)";
}
.policy-block__text .item.-number:nth-of-type(37)::before {
  content: "(37)";
}
.policy-block__text .item.-number:nth-of-type(38)::before {
  content: "(38)";
}
.policy-block__text .item.-number:nth-of-type(39)::before {
  content: "(39)";
}
.policy-block__text .item.-number:nth-of-type(40)::before {
  content: "(40)";
}
.policy-block__text .item.-number:nth-of-type(41)::before {
  content: "(41)";
}
.policy-block__text .item.-number:nth-of-type(42)::before {
  content: "(42)";
}
.policy-block__text .item.-number:nth-of-type(43)::before {
  content: "(43)";
}
.policy-block__text .item.-number:nth-of-type(44)::before {
  content: "(44)";
}
.policy-block__text .item.-number:nth-of-type(45)::before {
  content: "(45)";
}
.policy-block__text .item.-number:nth-of-type(46)::before {
  content: "(46)";
}
.policy-block__text .item.-number:nth-of-type(47)::before {
  content: "(47)";
}
.policy-block__text .item.-number:nth-of-type(48)::before {
  content: "(48)";
}
.policy-block__text .item.-number:nth-of-type(49)::before {
  content: "(49)";
}
.policy-block__text .item.-number:nth-of-type(50)::before {
  content: "(50)";
}
.policy-block__text a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .policy-block__text a:hover::after {
    left: auto;
    right: 0;
    width: 0;
  }
}
.policy-foot {
  font-size: 1.4rem;
  line-height: 3.4rem;
  margin-top: 34px;
}
.policy-foot > p + p {
  margin-top: 45px;
}
.policy-foot__sign {
  text-align: right;
  margin-top: 32px;
}
@media screen and (max-width: 750px) {
  .policy-toptitle {
    font-size: 3rem;
    line-height: 3.6rem;
  }
  .policy-toptitle:not(.-top) {
    margin-top: 70px;
    margin-bottom: 28px;
  }
  .policy-lead {
    font-size: 1.4rem;
    line-height: 2.8rem;
    margin-bottom: 36px;
  }
  .policy-block + .policy-block {
    margin-top: 25px;
  }
  .policy-block__title {
    gap: 6px;
    font-size: 1.8rem;
    line-height: 2.5rem;
    font-weight: 700;
    margin-bottom: 9px;
  }
  .policy-block__title .number {
    font-size: 2rem;
    font-weight: 500;
  }
  .policy-block__text {
    font-size: 1.3rem;
    line-height: 2.6rem;
  }
  .policy-foot {
    font-size: 1.3rem;
    line-height: 2.6rem;
    margin-top: 28px;
  }
  .policy-foot p + p {
    margin-top: 28px;
  }
  .policy-foot__sign {
    margin-top: 33px;
    margin-bottom: -4px;
  }
}

.term {
  margin-top: -8px;
  margin-bottom: -23px;
}
@media screen and (max-width: 750px) {
  .term {
    margin-bottom: 25px;
  }
}

.privacy {
  margin-top: -11px;
  margin-bottom: -23px;
}
.privacy .policy-block__text .item + .item {
  margin-top: 10px;
}
.privacy .policy-block__text .item:nth-of-type(1) {
  margin-top: -5px;
}
.privacy .policy-block__text .item.-type1 {
  margin-top: 10px;
}
@media screen and (max-width: 750px) {
  .privacy {
    margin-top: -5px;
    margin-bottom: 25px;
  }
  .privacy .policy-block__title {
    font-size: 1.6rem;
    line-height: 2.5rem;
    font-weight: 500;
    margin-bottom: 12px;
  }
  .privacy .policy-block__text .item.-type1 .-pb {
    display: inline-block;
    padding-bottom: 5px;
  }
  .privacy .policy-block__text .item.-type2 {
    margin-left: -2px;
    padding-left: 15px;
  }
  .privacy .policy-block__text .item.-type2 + .item.-type2 {
    margin-top: 8px;
  }
  .privacy .policy-block__text .item.-number {
    line-height: 2rem;
    margin-top: 12px;
  }
  .privacy .policy-block__text .item.-number ~ .item.-number {
    margin-top: 7px;
  }
  .privacy .policy-block__text .-flex {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  .privacy .policy-block__text .-flex > span:nth-of-type(1) {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 41px;
  }
}

.compliance {
  margin-top: -11px;
  margin-bottom: -23px;
}
.compliance .policy-block__text .item + .item {
  margin-top: 10px;
}
.compliance .policy-block__text .item:nth-of-type(1) {
  margin-top: -5px;
}
.compliance .policy-block__text .item.-type1 {
  margin-top: 10px;
}
@media screen and (max-width: 750px) {
  .compliance {
    margin-top: -5px;
    margin-bottom: 25px;
  }
  .compliance .policy-block__title {
    font-size: 1.6rem;
    line-height: 2.5rem;
    font-weight: 500;
    margin-bottom: 8px;
  }
}

.humanright {
  margin-top: -8px;
  margin-bottom: -23px;
}
.humanright .policy-lead {
  margin-bottom: 56px;
}
.humanright .policy-block + .policy-block {
  margin-top: 38px;
}
@media screen and (max-width: 750px) {
  .humanright {
    margin-top: -2px;
    margin-bottom: 31px;
  }
  .humanright .policy-toptitle.-top {
    font-size: 2.8rem;
    line-height: 3.2rem;
    margin-bottom: 26px;
  }
  .humanright .policy-lead {
    margin-bottom: 40px;
  }
  .humanright .policy-block + .policy-block {
    margin-top: 32px;
  }
  .humanright .policy-block__title {
    font-size: 1.6rem;
    line-height: 2.5rem;
    font-weight: 500;
    margin-bottom: 8px;
  }
}

.governance {
  margin-top: -8px;
  margin-bottom: -23px;
}
.governance .policy-lead {
  margin-bottom: 0;
}
.governance .policy-block.-governance--top {
  margin-top: 70px;
}
@media screen and (max-width: 750px) {
  .governance {
    margin-top: -4px;
    margin-bottom: 24px;
  }
  .governance .policy-toptitle {
    font-size: 2.8rem;
    line-height: 3.2rem;
    margin-bottom: 27px;
  }
  .governance .policy-block.-governance--top {
    margin-top: 40px;
  }
}

/*------------------------------------------------------*/
/*  philosophy */
/*------------------------------------------------------*/
.philosophy {
  margin-top: -8px;
  margin-bottom: -23px;
}
.philosophy .policy-toptitle {
  margin-bottom: 45px;
}
.philosophy-block + .philosophy-block {
  margin-top: 61px;
}
.philosophy-block.-show1 .philosophy-head__en::after {
  -webkit-animation: anm-line2 0.7s ease-in forwards;
          animation: anm-line2 0.7s ease-in forwards;
}
.philosophy-block.-show2 .philosophy-head__en::after {
  -webkit-animation: anm-line2 0.7s ease-in 0.6s forwards;
          animation: anm-line2 0.7s ease-in 0.6s forwards;
}
.philosophy-block.-show3 .philosophy-head__en::after {
  -webkit-animation: anm-line2 0.7s ease-in 1.2s forwards;
          animation: anm-line2 0.7s ease-in 1.2s forwards;
}
.philosophy-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 31px;
}
.philosophy-head__en {
  font-size: 4rem;
  line-height: 4.8rem;
  margin-right: 24px;
  position: relative;
}
.philosophy-head__en::after {
  content: "";
  width: 100%;
  height: 4px;
  background: #000;
  position: absolute;
  left: 0;
  bottom: -2px;
}
.philosophy-head__jp {
  font-size: 1.7rem;
}
.philosophy-text {
  font-size: 2.7rem;
}
.philosophy-value__head {
  font-size: 2.7rem;
  line-height: 3.4rem;
  margin-bottom: 9px;
}
.philosophy-value__head .no {
  display: inline-block;
  margin-right: 5px;
}
.philosophy-value__text {
  font-size: 1.7rem;
  line-height: 3.6rem;
}
.philosophy-value li + li {
  margin-top: 25px;
}
@media screen and (max-width: 750px) {
  .philosophy {
    margin-top: -5px;
    margin-bottom: 27px;
  }
  .philosophy .policy-toptitle {
    margin-bottom: 23px;
  }
  .philosophy-block + .philosophy-block {
    margin-top: 31px;
  }
  .philosophy-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 12px;
  }
  .philosophy-head__en {
    font-size: 2.8rem;
    margin-bottom: 2px;
  }
  .philosophy-head__en::after {
    bottom: 2px;
  }
  .philosophy-head__jp {
    font-size: 1.4rem;
  }
  .philosophy-text {
    font-size: 1.8rem;
    line-height: 3.4rem;
  }
  .philosophy-value {
    padding-top: 9px;
  }
  .philosophy-value__head {
    font-size: 2rem;
    line-height: 2.5rem;
    margin-bottom: 3px;
  }
  .philosophy-value__text {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
  .philosophy-value li + li {
    margin-top: 16px;
  }
}

/*------------------------------------------------------*/
/*  notfound */
/*------------------------------------------------------*/
.notfound {
  margin-top: -14px;
  margin-bottom: -16px;
}
.notfound-lead {
  font-size: 2.4rem;
  line-height: 4.8rem;
  margin-bottom: 68px;
}
.notfound-text {
  font-size: 1.7rem;
  line-height: 3.6rem;
  margin-bottom: 57px;
}
.notfound-button__box a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
  height: 82px;
  border: 1px solid #000;
  border-radius: 999px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  padding-left: 78px;
  padding-right: 24px;
}
.notfound-button__box a .text {
  font-size: 1.8rem;
}
.notfound-button__box a .arrow {
  position: relative;
  top: 2px;
  width: 14px;
}
.notfound-button__box a .arrow svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.notfound-button__box a .arrow svg .st0 {
  fill: none;
  stroke: #000000;
  stroke-width: 3;
  stroke-miterlimit: 10;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
@media screen and (min-width: 751px) {
  .notfound-button__box a:hover {
    background: #000;
    color: #fff;
  }
  .notfound-button__box a:hover .arrow svg .st0 {
    stroke: #fff;
  }
}
@media screen and (max-width: 750px) {
  .notfound {
    margin-top: -10px;
    margin-bottom: 31px;
  }
  .notfound-lead {
    font-size: 1.8rem;
    line-height: 3.6rem;
    margin-bottom: 43px;
  }
  .notfound-text {
    font-size: 1.4rem;
    line-height: 2.8rem;
    margin-bottom: 53px;
  }
  .notfound-button__box a {
    gap: 52px;
    height: 60px;
    padding-left: 70px;
    padding-right: 19px;
  }
  .notfound-button__box a .text {
    font-size: 1.5rem;
  }
  .notfound-button__box a .arrow {
    top: 1px;
    width: 10px;
  }
  .notfound-button__box a .arrow svg .cls-1 {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-width: 2px;
  }
}