@charset "UTF-8";
:root {
  --color-darkest: #000;
  --color-highlight: #fff;
  --color-primary: #03489f;
  --color-gray-text: #808080;
  --color-gray-bg: #cfcfcf;
  --color-text: #231815;
  --color-grad: linear-gradient(135deg, #002e80 0%, #146ec4 25%, #288dff 50%, #8080ff 75%, #ff80ab 100%);
  --font-ja: dnp-shuei-gothic-kin-std, sans-serif;
  --font-en: roboto, sans-serif
}

*, :after, :before {
  margin: 0;
  padding: 0;
  list-style: none;
  background-repeat: no-repeat;
  box-sizing: inherit;
  vertical-align: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit
}

body, html {
  height: 100%
}

html {
  background-color: var(--color-darkest);
  color: var(--color-highlight);
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .01em;
  font-family: var(--font-ja);
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: justify;
  /* scroll-behavior: smooth; */
}

@media (min-width:600px) {
  html {
    font-size: 18px
  }
}

main {
  background-color: var(--color-highlight);
  color: var(--color-text);
  padding-bottom: 120px
}

@media (min-width:600px) {
  main {
    padding-bottom: 200px
  }
}

a, a img, button {
  outline: 0;
  border: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent
}

button {
  background-color: transparent;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

input, textarea {
  padding: 0;
  border: 1px solid #DDDDDD;
  border-radius: 0;
  outline: 0;
  background: 0 0
}

input[type=text]:focus, textarea:focus {
  outline: 0
}

input[type=submit], input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent
}

a:hover, button:hover {
  outline: 0
}

em, i {
  font-style: normal
}

a:disabled, button:disabled, input:disabled {
  pointer-events: none
}

picture {
  display: block
}

sup {
  vertical-align: super
}

.page--blk {
  background-color: var(--color-darkest);
  color: var(--color-highlight)
}

.page--blk main {
  /* background-color: inherit; */
  /* color: inherit */
}

.page--blk.navi-open {
  background-color: transparent
}

.page--blk:not(.navi-open) .global-header {
  background-color: #fff
}

.page--blk:not(.navi-open) .global-header .global-header__title {
  color: var(--color-darkest)
}

.page--blk:not(.navi-open) .global-header .global-header__title .logo {
  background-image: url(../img/logo.svg)
}

.page--blk .firstview {
  background-color: var(--color-highlight)
}

.page--blk .firstview .firstview__inner--title {
  color: var(--color-darkest)
}

.page--inteview-akio:not(.navi-open) .global-header.transparent .global-header__title {
  color: var(--color-primary)
}

.page--inteview-akio:not(.navi-open) .global-header.transparent .global-header__title .logo {
  background-image: url(../img/logo.svg)
}

.navi-open .global-header .global-header__title {
  z-index: 1
}

.section-wrap {
  padding: 40px 0
}

@media (min-width:600px) {
  .section-wrap {
    padding: 60px 0
  }
}

.section-wrap.gray {
  background-color: #f0f0f0
}

.subhead {
  line-height: 1.33;
  font-size: 30px;
  margin-bottom: 55px;
  font-weight: 700;
  text-align: left
}

.paragraph {
  margin: 1em 0
}

.paragraph:first-child {
  margin-top: 0
}

.paragraph:last-child {
  margin-bottom: 0
}

@media (min-width:600px) {
  .paragraph {
    margin: 1.5em 0;
    letter-spacing: .1em
  }
}

.paragraph.note {
  font-size: 12px;
  line-height: 1.75
}

@media (min-width:600px) {
  .paragraph.note {
    font-size: 14px
  }
}

.list--bullet {
  margin: 1em 0;
  line-height: 1.75;
  text-align: left
}

.list--bullet:first-child {
  margin-top: 0
}

.list--bullet:last-child {
  margin-bottom: 0
}

@media (min-width:600px) {
  .list--bullet {
    margin: 1.5em 0;
    letter-spacing: .1em
  }
}

.list--bullet li {
  padding-left: 1.25em
}

.list--bullet li:before {
  content: "・";
  display: inline-block;
  text-align: center;
  width: 1.25em;
  margin-left: -1.25em
}

.list--bullet li+li {
  margin-top: .5em
}

.list--bullet.bullet--custom li:before {
  content: attr(data-bullet)
}

.table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 700;
  width: 100%;
  table-layout: fixed;
  word-break: break-word
}

@media (min-width:600px) {
  .table {
    font-size: 16px
  }
}

.table caption {
  background-color: var(--color-primary);
  color: var(--color-highlight);
  text-align: center;
  line-height: 1.5;
  padding: .5em
}

.table tr {
  border-bottom: 1px solid #bdbdbd
}

.table td, .table th {
  padding: .75em 1em;
  vertical-align: middle
}

@media (min-width:600px) {
  .table td, .table th {
    padding: 1em 1.25em
  }
}

.table th {
  background-color: #efefef;
  text-align: left
}

.table td .list--bullet {
  line-height: 1.4;
  letter-spacing: inherit
}

.accordion__btn {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  padding-right: 50px!important
}

.accordion__btn .icon {
  width: 26px;
  height: 26px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -13px;
  border-radius: 50%
}

.accordion__btn .icon:before {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background-color: var(--color-primary);
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -1px
}

.accordion__btn .icon:after {
  content: "";
  display: block;
  width: 2px;
  height: 16px;
  background-color: var(--color-primary);
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -1px
}

.accordion.close .icon:after {
  opacity: 0
}

@media (min-width:1025px) {
  .zu--scroll .zu__head {
    display: none
  }
}

@media (max-width:1024px) {
  .zu--scroll {
    position: relative;
    z-index: 0
  }
  .zu--scroll .zu__head {
    position: absolute;
    top: 0;
    left: 0;
    height: calc(100% - 16px);
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    -webkit-filter: drop-shadow(3px 0 2px rgba(0, 0, 0, .2));
    filter: drop-shadow(3px 0 2px rgba(0, 0, 0, .2))
  }
  .zu--scroll .zu__head img {
    max-width: none;
    height: 100%;
    width: auto;
    position: absolute;
    top: 0;
    left: 0
  }
  .zu--scroll .zu__data {
    cursor: -webkit-grab;
    cursor: grab;
    overflow: hidden
  }
  .zu--scroll .zu__data:active {
    cursor: -webkit-grabbing;
    cursor: grabbing
  }
  .zu--scroll .zu__data .inner {
    overflow-x: auto;
    padding-bottom: 8px
  }
  .zu--scroll .zu__data .inner::-webkit-scrollbar {
    height: 8px
  }
  .zu--scroll .zu__data .inner::-webkit-scrollbar-track {
    background: #bdbdbd;
    border-radius: 8px
  }
  .zu--scroll .zu__data .inner::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 8px
  }
}

.chr--en {
  font-family: var(--font-en)
}

.chr--blue {
  color: var(--color-primary)
}

@media (min-width:1025px) {
  .show--l {
    display: none
  }
}

@media (min-width:600px) {
  .show--s {
    display: none
  }
}

@media (max-width:1024px) {
  .hide--l {
    display: none
  }
}

@media (max-width:599px) {
  .hide--s {
    display: none
  }
}

@media (max-width:1024px) {
  br.pc {
    display: none
  }
}

@media (min-width:1025px) {
  br.tab {
    display: none
  }
}

@media (min-width:600px) {
  br.sp {
    display: none
  }
}

.global-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: var(--color-darkest);
  z-index: 10;
  -webkit-transition: background-color 250ms ease;
  transition: background-color 250ms ease
}

@media (max-width:700px) {
  .global-header {
    height: 95px
  }
}

@media (max-width:599px) {
  .global-header {
    height: 90px
  }
}

.global-header.transparent {
  background-color: transparent
}

.global-header__title {
  position: absolute;
  top: 0;
  left: 0;
  padding: 18px 20px 0;
  line-height: 1;
  font-size: 11px;
  font-weight: 700
}

@media (min-width:600px) {
  .global-header__title {
    padding: 20px 35px 0;
    font-size: 16px
  }
}

.global-header__title .logo {
  width: 141px;
  background-image: url(../img/logo-wh.svg);
  background-size: 100% 100%;
  vertical-align: bottom;
  margin-bottom: 10px
}

@media (min-width:701px) {
  .global-header__title .logo {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 1em
  }
}

.global-header__title .logo:after {
  content: "";
  display: block;
  padding-top: 25.28369%
}

.global-header__button {
  position: fixed;
  z-index: 10;
  top: 23px;
  right: 114px;
  display: block;
  width: 120px;
  height: 36px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-en);
  background: var(--color-grad);
  border-radius: 100px;
  overflow: hidden;
  background: var(--color-grad);
  background-size: 100% 150%;
  background-position: 0 100%
}

@media (max-width:599px) {
  .global-header__button {
    top: 12px;
    right: 60px;
    font-size: 11px;
    width: 90px;
    height: 27px
  }
}

.global-header__button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--color-primary);
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  opacity: 0
}

.global-header__button:hover:before {
  opacity: 1
}

.global-header__menu {
  mix-blend-mode: difference;
  cursor: pointer;
  display: block;
  position: fixed;
  z-index: 10;
  width: 24px;
  height: 13px;
  top: 18px;
  right: 20px;
  -webkit-tap-highlight-color: transparent
}

.global-header__menu:before {
  content: "";
  display: block;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: -1
}

@media (min-width:600px) {
  .global-header__menu {
    width: 64px;
    height: 17px;
    top: 33px;
    right: 35px
  }
}

.global-header__menu span {
  display: block;
  height: 1px;
  width: 100%;
  background-color: #fff;
  position: absolute
}

.global-header__menu span:nth-child(1) {
  top: 0
}

.global-header__menu span:nth-child(2) {
  top: 50%
}

.global-header__menu span:nth-child(3) {
  bottom: -1px
}

@media (max-width:599px) {
  .navi-open .global-header__menu {
    width: 40px;
    right: 10px
  }
}

.navi-open .global-header__menu span:nth-child(1) {
  top: 6px;
  -webkit-transform: rotate(20deg);
  -ms-transform: rotate(20deg);
  transform: rotate(20deg)
}

@media (min-width:600px) {
  .navi-open .global-header__menu span:nth-child(1) {
    top: 8px
  }
}

.navi-open .global-header__menu span:nth-child(2) {
  opacity: 0
}

.navi-open .global-header__menu span:nth-child(3) {
  bottom: 6px;
  -webkit-transform: rotate(-20deg);
  -ms-transform: rotate(-20deg);
  transform: rotate(-20deg)
}

@media (min-width:600px) {
  .navi-open .global-header__menu span:nth-child(3) {
    bottom: 8px
  }
}

.global-navigation>ul {
  font-family: var(--font-en);
  font-weight: 700
}

@media (min-width:600px) {
  .global-navigation>ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -10px
  }
}

@media (min-width:1025px) {
  .global-navigation>ul {
    margin-right: -20px
  }
}

@media (max-width:599px) {
  .global-navigation>ul li+li {
    margin-top: 10px
  }
}

@media (min-width:600px) {
  .global-navigation>ul li {
    width: 50%;
    padding-right: 10px
  }
  .global-navigation>ul li:nth-child(n+3) {
    margin-top: 35px
  }
}

@media (min-width:1025px) {
  .global-navigation>ul li {
    padding-right: 20px
  }
}

.global-navigation>ul li a {
  display: inline-block
}

@media (min-width:600px) {
  .global-navigation>ul li a:hover .en {
    background-position: -80%
  }
}

.global-navigation>ul .en, .global-navigation>ul .jp {
  display: block;
  font-weight: 700
}

.global-navigation>ul .en {
  font-size: 28px;
  line-height: .9;
  letter-spacing: .05em;
  position: relative;
  z-index: 0;
  background: -webkit-linear-gradient(315deg, #fff 0, #fff 50%, #002e80 50%, #146ec4 62.5%, #288dff 75%, #8080ff 87.5%, #ff80ab 100%);
  background: linear-gradient(135deg, #fff 0, #fff 50%, #002e80 50%, #146ec4 62.5%, #288dff 75%, #8080ff 87.5%, #ff80ab 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 225% 100%;
  background-position: 0;
  -webkit-transition: background-position .2s ease;
  transition: background-position .2s ease
}

@media (min-width:600px) {
  .global-navigation>ul .en {
    padding: 0 1px 2px 1px;
    margin-left: -1px;
    font-size: 30px
  }
}

@media (min-width:1025px) {
  .global-navigation>ul .en {
    font-size: 34px
  }
}

.global-navigation>ul .jp {
  font-size: 14px;
  line-height: 1.5
}

.global-navigation>ul .en+.jp {
  margin-top: .25em
}

@media (min-width:600px) {
  .global-navigation>ul .en+.jp {
    margin-top: .75em
  }
}

.global-navigation--sm>ul {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media (max-width:599px) {
  .global-navigation--sm>ul li {
    width: 50%
  }
  .global-navigation--sm>ul li:nth-child(n+3) {
    margin-top: .75em
  }
}

@media (min-width:600px) {
  .global-navigation--sm>ul li {
    position: relative;
    margin-right: 20px;
    padding-right: 20px
  }
  .global-navigation--sm>ul li:after {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 10px);
    position: absolute;
    top: 5px;
    right: 0;
    background-color: var(--color-gray-text)
  }
  .global-navigation--sm>ul li:last-child {
    margin-right: 0;
    padding-right: 0
  }
  .global-navigation--sm>ul li:last-child:after {
    display: none
  }
}

@media (min-width:600px) {
  .global-navigation--sm>ul a {
    display: block;
    padding: 5px
  }
  .global-navigation--sm>ul a:hover {
    text-decoration: underline
  }
}

.global-navigation--wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 3;
  display: none
}

.global-navigation--wrap .global-header__title {
  color: var(--color-highlight);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.global-navigation--wrap .header_spacer {
  width: 100%;
  height: 90px;
  background-color: var(--color-darkest);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.navi-open .global-navigation--wrap {
  display: block
}

.global-navigation--wrap .navigation__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-darkest);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow-y: auto;
  padding: 100px 25px 35px;
  z-index: 0
}

@media (min-width:600px) {
  .global-navigation--wrap .navigation__inner {
    padding: 130px 40px 50px
  }
}

@media (min-width:1025px) {
  .global-navigation--wrap .navigation__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 160px 40px 50px
  }
}

@media (max-width:1024px) {
  .global-navigation--wrap .navigation__inner .col--catch {
    margin-top: 45px;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2
  }
}

@media (max-width:599px) {
  .global-navigation--wrap .navigation__inner .col--catch {
    margin-top: 30px
  }
}

@media (min-width:1025px) {
  .global-navigation--wrap .navigation__inner .col--catch {
    -webkit-box-flex: .8;
    -webkit-flex: .8;
    -ms-flex: .8;
    flex: .8;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-right: 50px
  }
  .global-navigation--wrap .navigation__inner .col--catch .catch {
    position: fixed;
    left: 40px;
    bottom: 50px;
    width: 40vw;
    max-width: 80vh;
    margin-bottom: -1.6vw
  }
}

.global-navigation--wrap .navigation__inner .col--navi {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column
}

@media (max-width:599px) {
  .global-navigation--wrap .navigation__inner .col--navi {
    -webkit-box-flex: 1;
    -webkit-flex: auto;
    -ms-flex: auto;
    flex: auto;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
  }
}

.global-navigation--wrap .navigation__inner .col--navi .global-navigation {
  margin-bottom: 30px
}

.global-navigation--wrap .navigation__inner .col--navi .global-navigation--sm {
  margin: auto 0 0
}

.global-navigation--wrap .navigation__inner .col--entry {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3;
  margin-top: 20px;
  text-align: center
}

@media (min-width:600px) {
  .global-navigation--wrap .navigation__inner .col--entry {
    display: none
  }
}

.global-navigation--wrap .inner, .global-navigation--wrap .outer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.global-navigation--wrap .outer {
  overflow: hidden;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%)
}

.global-navigation--wrap .inner {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%)
}

.global-footer {
  position: relative;
  padding: 30px 25px;
  background-color: var(--color-darkest);
  color: var(--color-gray-text)
}

@media (min-width:600px) {
  .global-footer {
    padding-top: 50px
  }
}

.global-footer a:hover {
  color: var(--color-highlight)
}

@media (max-width:599px) {
  .global-footer__wrapper {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    -ms-grid-rows: (1fr) [2];
    grid-template-rows: repeat(2, 1fr);
    -ms-grid-columns: (1fr) [2];
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px
  }
}

@media (min-width:600px) {
  .global-footer__wrapper {
    -webkit-column-count: unset;
    column-count: unset;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1176px;
    margin: auto
  }
}

.global-footer__list {
  -webkit-column-break-after: avoid;
  break-after: avoid
}

@media (max-width:1024px) {
  .global-footer__list:empty {
    display: none
  }
}

@media (min-width:1025px) {
  .global-footer__list {
    padding-left: 35px
  }
}

@media (min-width:600px) {
  .global-footer__list {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-left: 1px solid var(--color-gray-text);
    padding-left: 20px
  }
  .global-footer__list:empty {
    border-left: none;
    -webkit-box-flex: .5;
    -webkit-flex: .5;
    -ms-flex: .5;
    flex: .5
  }
}

.global-footer__list--item {
  font-weight: 700;
  margin: 1.5em 0
}

.global-footer__list--item:first-child {
  margin-top: 0
}

.global-footer__list--item:last-child {
  margin-bottom: 0
}

@media (max-width:599px) {
  .global-footer__list:first-child .global-footer__list--item {
    margin-top: 0
  }
}

.global-footer__list--item.sub {
  font-size: 14px
}

.global-footer__list--item .en, .global-footer__list--item .jp {
  display: block
}

.global-footer__list--item .en {
  font-family: var(--font-en);
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: .075em
}

@media (max-width:1024px) {
  .global-footer__list--item .en {
    font-size: 18px
  }
}

@media (max-width:599px) {
  .global-footer__list--item .en {
    font-size: 16px
  }
}

.global-footer__list--item .jp {
  font-size: 12px;
  line-height: 1.25
}

@media (max-width:1024px) {
  .global-footer__list--item .jp {
    font-size: 11px
  }
}

@media (max-width:599px) {
  .global-footer__list--item .jp {
    font-size: 10px
  }
}

.global-footer__list--item .en+.jp {
  margin-top: .5em
}

.global-footer__other-list {
  margin-top: 2em
}

@media (min-width:600px) {
  .global-footer__other-list {
    width: 100%;
    margin-top: 60px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.global-footer__other-list--item {
  line-height: 1;
  margin: 1.5em 0;
  font-size: 12px
}

@media (min-width:600px) {
  .global-footer__other-list--item {
    margin: 0
  }
  .global-footer__other-list--item+.global-footer__other-list--item {
    margin-left: 2.5em;
    position: relative
  }
  .global-footer__other-list--item+.global-footer__other-list--item:before {
    content: "|";
    position: absolute;
    top: 0;
    left: -1.5em
  }
}

.global-footer__pagetop {
  display: block;
  position: absolute;
  top: 80px;
  right: 60px
}

@media (max-width:1024px) {
  .global-footer__pagetop {
    right: 20px
  }
}

@media (max-width:599px) {
  .global-footer__pagetop {
    top: auto;
    bottom: 80px;
    right: 15px
  }
}

.global-footer__pagetop a {
  display: block;
  font-family: var(--font-en);
  color: var(--color-highlight);
  line-height: 1;
  text-align: center
}

@media (max-width:599px) {
  .global-footer__pagetop a {
    font-size: 11px
  }
}

@media (max-width:350px) {
  .global-footer__pagetop a {
    font-size: 10px
  }
}

.global-footer__pagetop a::before {
  content: "";
  display: block;
  width: 1px;
  height: 28px;
  background-color: var(--color-highlight);
  position: absolute;
  left: 50%;
  top: -30px;
  -webkit-transition: top .4s, height .4s;
  transition: top .4s, height .4s
}

@media (max-width:599px) {
  .global-footer__pagetop a::before {
    height: 18px;
    top: -20px
  }
}

.global-footer__pagetop a::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 1px solid var(--color-highlight);
  border-left: 1px solid var(--color-highlight);
  -webkit-transform: rotate(45deg) translateX(-5%);
  -ms-transform: rotate(45deg) translateX(-5%);
  transform: rotate(45deg) translateX(-5%);
  position: absolute;
  left: 50%;
  top: -29px;
  margin-left: -5px;
  -webkit-transition: top .4s;
  transition: top .4s
}

@media (max-width:599px) {
  .global-footer__pagetop a::after {
    top: -19px
  }
}

.global-footer__pagetop a:hover::before {
  height: 33px;
  top: -35px
}

.global-footer__pagetop a:hover::after {
  top: -34px
}

.global-footer__logo {
  margin: 50px 0 30px;
  width: 106px
}

@media (min-width:600px) {
  .global-footer__logo {
    display: none
  }
}

.global-footer__copyright {
  font-size: 10px;
  letter-spacing: 0;
  line-height: 1;
  word-break: break-all
}

@media (max-width:599px) {
  .global-footer__copyright {
    margin-top: 25px
  }
}

@media (min-width:600px) {
  .global-footer__copyright {
    text-align: right;
    margin-top: 25px
  }
}

.section-entry {
  padding: 53px 57px;
  background-color: var(--color-darkest)
}

@media (min-width:600px) {
  .section-entry {
    padding: 117px 57px
  }
}

.section-entry__image {
  padding: 0 10px;
  max-width: 865px;
  margin: auto
}

.section-entry__button {
  line-height: 1;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  font-family: var(--font-en);
  margin-top: 36px
}

@media (min-width:600px) {
  .section-entry__button {
    margin-top: 30px
  }
}

.section-entry__button a {
  display: block;
  position: relative;
  z-index: 0;
  background: var(--color-highlight);
  color: var(--color-darkest);
  padding: 25px 0;
  border-radius: 200px;
  max-width: 300px;
  margin: auto;
  -webkit-transition: color .4s;
  transition: color .4s
}

.section-entry__button a::after, .section-entry__button a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
  border-radius: 200px
}

.section-entry__button a::before {
  background-color: var(--color-highlight);
  opacity: 1;
  border: 1px solid #fff
}

.section-entry__button a::after {
  background: var(--color-grad);
  opacity: 0;
  -webkit-transform: scale(1.005);
  -ms-transform: scale(1.005);
  transform: scale(1.005)
}

.section-entry__button a:hover {
  color: var(--color-highlight)
}

.section-entry__button a:hover::before {
  opacity: 0
}

.section-entry__button a:hover::after {
  opacity: 1
}

.firstview {
  background-color: var(--color-darkest);
  color: var(--color-highlight);
  height: 100vh;
  height: 100svh;
  position: relative;
  z-index: 0;
}

.firstview.noph {
  height: auto;
  padding-top: 80px;
  /* padding: 140px 0 80px; */
}

@media (min-width:600px) {
  .firstview.noph {
    /* padding: 180px 0 120px; */
  }
}

.firstview.noph .firstview__text {
  padding: 0;
}

.firstview.noph .firstview__inner--subtitle, .firstview.noph .firstview__inner--title {
  top: auto
}

.firstview.inner--image {
  margin-bottom: 120px
}

@media (min-width:1088px) {
  .firstview.inner--image {
    margin-bottom: 450px
  }
}

.firstview__bgimage img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1
}

.firstview__namearea {
  position: absolute;
  z-index: 0;
  left: 0;
  bottom: 0;
  width: calc(100% - 28px);
  padding: 26px 28px;
  background-color: var(--color-darkest);
  max-width: 972px
}

@media (min-width:600px) {
  .firstview__namearea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 0 32px;
    padding-left: 11%
  }
}

.firstview__namearea--name {
  font-family: var(--font-en);
  font-weight: 700;
  font-size: 32px;
  line-height: .8
}

@media (min-width:600px) {
  .firstview__namearea--name {
    font-size: 56px
  }
}

.firstview__namearea--position {
  margin-top: 12px;
  line-height: 1.4;
  font-size: 16px
}

@media (min-width:600px) {
  .firstview__namearea--position {
    margin-top: 0
  }
}

.firstview__inner {
  width: calc(100% - 28px * 2);
  max-width: 1048px;
  margin: auto;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end
}

.firstview__inner--title {
  font-family: var(--font-en);
  font-size: 54px;
  font-weight: 700;
  line-height: 1
}

@media (min-width:600px) {
  .firstview__inner--title {
    font-size: 80px;
    position: relative
  }
}

@media (min-width:1088px) {
  .firstview__inner--title {
    font-size: 108px
  }
}

.firstview__inner--subtitle {
  line-height: 1.25;
  font-size: 40px;
  font-weight: bold;
  color: #0561B4;
  text-align: center;
}

@media (min-width:600px) {
  .firstview__inner--subtitle {
    position: relative
  }
}

.firstview__inner--image {
  margin-right: -28px;
  position: relative;
  z-index: 0
}

.firstview__inner--image img {
  width: 100%;
  max-height: 560px;
  object-fit: cover
}

@media (max-width:1087px) {
  .firstview__inner--image::after {
    content: "";
    display: block;
    position: absolute;
    left: -28px;
    bottom: 0;
    z-index: -1;
    width: calc(100% + 28px);
    height: 50%;
    background-color: var(--color-highlight)
  }
}

@media (min-width:1088px) {
  .firstview__inner--image {
    position: absolute;
    right: 0;
    bottom: 0;
    margin-right: 0;
    width: calc(1048px + (100vw - 1048px)/ 2);
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%)
  }
}

.firstview__text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media (min-width:1088px) {
  .firstview__text {
    padding-bottom: 280px
  }
}

@media (max-width:1087px) {
  .firstview__text {
    padding-top: 70px
  }
}

@media (max-width:700px) {
  .firstview__text {
    padding-top: 100px
  }
}

.firstview__scroll--wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  z-index: 1;
  pointer-events: none
}

.firstview__scroll--wrap .firstview__scroll {
  pointer-events: auto
}

.firstview__scroll {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

@media (min-width:1025px) {
  .firstview__scroll {
    right: 50px
  }
}

.firstview__scroll .chr {
  width: 8px
}

.firstview__scroll .line {
  width: 1px;
  height: 56px;
  margin-top: 5px;
  background-color: rgba(255, 255, 255, .4);
  overflow: hidden;
  position: relative
}

.firstview__scroll .line>i {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-animation: scrollbar 3s ease-in-out infinite;
  animation: scrollbar 3s ease-in-out infinite
}

@-webkit-keyframes scrollbar {
  0% {
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  45% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  55% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  100% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
}

@keyframes scrollbar {
  0% {
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  45% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  55% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  100% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
}

.numlist {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto
}

.numlist__item {
  text-align: center
}

@media (min-width:600px) {
  .numlist__item {
    text-align: left;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 130px 1fr;
    grid-template-columns: 130px 1fr;
    -ms-grid-rows: 80px 1fr;
    grid-template-rows: 80px 1fr;
    gap: 20px 0
  }
}

@media (min-width:1025px) {
  .numlist__item {
    -ms-grid-columns: 180px 1fr;
    grid-template-columns: 180px 1fr
  }
}

.numlist__item+.numlist__item {
  margin-top: 30px;
  border-top: 1px solid var(--color-gray-bg);
  padding-top: 30px
}

@media (min-width:600px) {
  .numlist__item+.numlist__item {
    margin-top: 60px;
    padding-top: 40px
  }
}

.numlist__item--num {
  line-height: 1;
  font-size: 74px;
  font-family: var(--font-en);
  font-weight: 700
}

@media (min-width:600px) {
  .numlist__item--num {
    font-size: 86px;
    -ms-grid-row-span: 2;
    -ms-grid-row: 1;
    grid-row: 1/span 2
  }
}

.numlist__item--num i {
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 97% 90%;
  background-position: 50%
}

@media (min-width:600px) {
  .numlist__item--num i {
    position: relative;
    top: -.05em
  }
}

.numlist__item--title {
  line-height: 1.4;
  font-size: 28px;
  font-weight: 700;
  margin: 20px 0
}

@media (min-width:600px) {
  .numlist__item--title {
    font-size: 44px;
    margin: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.numlist__item--content {
  text-align: left
}

.numlist__item--content p+p {
  margin-top: 1.5em
}

.numlist__item--content .list--bullet, .numlist__item--content p {
  max-width: 700px
}

.numlist__item--content .content__zu {
  max-width: 700px;
  margin: 4em 0
}

.numlist__item--content .content__zu:first-child {
  margin-top: 0
}

.numlist__item--content .content__zu:last-child {
  margin-bottom: 0
}

.numlist__item--content--sub {
  padding-top: 40px;
  border-top: 1px solid #c7c7c8
}

.numlist__item--content--sub:first-child {
  margin-top: 20px
}

.numlist__item--content--sub:last-child {
  padding-bottom: 40px;
  border-bottom: 1px solid #c7c7c8
}

.numlist__item--content--sub+.numlist__item--content--sub {
  margin-top: 40px
}

.numlist__item--content--sub p+p {
  margin-top: .5em
}

.numlist__item--content--sub .list--bullet {
  margin: .5em 0
}

.numlist__item--content--sub .head {
  color: var(--color-primary);
  font-weight: 700
}

.section-title {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: 100px auto 70px
}

@media (min-width:600px) {
  .section-title {
    margin: 270px auto 70px
  }
}

.section-title .section-title--md, .section-title .section-title--sm {
  width: auto;
  margin: 0
}

.section-title__title {
  line-height: 1;
  letter-spacing: .05em;
  text-align: left;
  font-size: 22px;
  font-family: var(--font-en);
  color: var(--color-primary)
}

@media (min-width:600px) {
  .section-title__title {
    font-size: 26px
  }
}

@media (min-width:1025px) {
  .section-title__title {
    font-size: 30px
  }
}

.section-title__copy {
  margin-top: 16px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left
}

@media (min-width:600px) {
  .section-title__copy {
    font-size: 42px
  }
}

@media (min-width:1025px) {
  .section-title__copy {
    font-size: 52px
  }
}

.section-title__copy--en {
  font-family: var(--font-en);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
  font-size: 40px;
  text-align: left;
  display: inline-block;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 100% 100%;
  background-position: 50%;
  margin: 40px 0 15px
}

@media (min-width:600px) {
  .section-title__copy--en {
    font-size: 50px;
    margin: 30px 0 15px
  }
}

@media (min-width:1025px) {
  .section-title__copy--en {
    font-size: 66px;
    margin: 10px 0 15px
  }
}

.section-title__copy--sm {
  font-weight: 700;
  line-height: 1.25;
  font-size: 32px;
  letter-spacing: 0;
  text-align: left
}

@media (min-width:600px) {
  .section-title__copy--sm {
    font-size: 36px
  }
}

@media (min-width:1025px) {
  .section-title__copy--sm {
    font-size: 40px
  }
}

.section-title__text {
  margin-top: 40px;
  font-size: 18px;
  line-height: 1.7;
  font-weight: 700
}

@media (min-width:600px) {
  .section-title__text {
    margin-top: 55px
  }
}

@media (min-width:1025px) {
  .section-title__text {
    margin-top: 70px;
    line-height: 2
  }
}

.section-title__text:first-child {
  margin-top: 0
}

@media (min-width:600px) {
  .section-title--md+.section-title__text {
    margin-top: 40px
  }
}

.section-title--md {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  color: var(--color-primary);
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  margin: 70px auto 20px
}

@media (min-width:600px) {
  .section-title--md {
    font-size: 30px
  }
}

@media (min-width:1025px) {
  .section-title--md {
    font-size: 40px;
    margin: 80px auto 30px
  }
}

.section-title--sm {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  margin: 80px auto 40px
}

@media (min-width:1025px) {
  .section-title--sm {
    font-size: 28px;
    margin: 120px auto 30px
  }
}

.btn--entry, .btn--link, .btn--link-transparent {
  font-family: var(--font-en);
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: .05em;
  font-weight: 500;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 0
}

@media (min-width:600px) {
  .btn--entry, .btn--link, .btn--link-transparent {
    font-size: 24px
  }
}

.btn--entry i, .btn--link i, .btn--link-transparent i {
  display: block;
  width: 32px;
  height: 32px;
  margin-left: 12px;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

@media (min-width:600px) {
  .btn--entry i, .btn--link i, .btn--link-transparent i {
    width: 40px;
    height: 40px;
    margin-left: 20px
  }
}

.btn--entry i svg, .btn--link i svg, .btn--link-transparent i svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.btn--entry i svg .svg--fill, .btn--link i svg .svg--fill, .btn--link-transparent i svg .svg--fill {
  -webkit-transition: fill .2s ease;
  transition: fill .2s ease;
  fill: var(--color-highlight)
}

.btn--link {
  color: var(--color-highlight);
  min-height: 70px;
  padding: 5px 35px 5px 40px;
  border-radius: 100px
}

@media (min-width:600px) {
  .btn--link {
    min-height: 90px;
    padding: 5px 40px 5px 60px
  }
}

.btn--link::after, .btn--link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: inherit;
  -webkit-transition: opacity .4s;
  transition: opacity .4s
}

.btn--link::before {
  background-color: var(--color-primary);
  opacity: 1
}

.btn--link::after {
  background: var(--color-grad);
  opacity: 0
}

.btn--link:hover::after {
  opacity: 1
}

.btn--link-transparent {
  color: var(--color-darkest);
  -webkit-transition: color .2s ease;
  transition: color .2s ease
}

.btn--link-transparent i svg .svg--fill {
  fill: var(--color-gray-text)
}

.btn--link-transparent.wh:hover, .btn--link-transparent:hover {
  color: var(--color-primary)
}

.btn--link-transparent.wh:hover i svg .svg--fill, .btn--link-transparent:hover i svg .svg--fill {
  fill: var(--color-primary)
}

.btn--link-transparent.wh {
  color: var(--color-highlight)
}

.btn--link-transparent.wh i svg .svg--fill {
  fill: var(--color-highlight)
}

.btn--entry {
  min-height: 50px;
  padding: 5px 60px;
  border-radius: 100px;
  color: var(--color-darkest);
  background-color: var(--color-highlight)
}

@media (max-width:599px) {
  .btn--entry {
    font-size: 18px
  }
}

.aboutus__intro {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: 40px auto;
  font-weight: 700;
  text-align: left;
  font-size: 20px
}

@media (min-width:600px) {
  .aboutus__intro {
    margin: 80px auto;
    font-size: 24px
  }
}

@media (min-width:1025px) {
  .aboutus__intro {
    margin: 120px auto;
    font-size: 28px
  }
}

.aboutus__intro p+p {
  margin-top: 2em
}

@media (min-width:600px) {
  .aboutus__intro p+p {
    margin-top: 2.5em
  }
}

.aboutus__zu {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto
}

.aboutus__zu .zu__head {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 1em
}

@media (min-width:600px) {
  .aboutus__zu .zu__head {
    font-size: 28px
  }
}

.aboutus__zu.zu--1 .zu__head {
  margin-bottom: 35px;
  text-align: center
}

@media (max-width:1024px) {
  .aboutus__zu.zu--1 .zu__inner {
    max-width: 550px;
    margin: auto
  }
  .aboutus__zu.zu--1 .zu__inner dl+dl {
    margin-top: 30px
  }
}

@media (min-width:1025px) {
  .aboutus__zu.zu--1 .zu__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
  .aboutus__zu.zu--1 .zu__inner dl+dl {
    margin-left: 12px
  }
}

.aboutus__zu.zu--1 .zu__inner dl {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.aboutus__zu.zu--1 .zu__inner dl dt {
  text-align: center;
  font-weight: 700;
  color: var(--color-highlight);
  background-color: var(--color-primary);
  font-size: 18px;
  line-height: 1.25;
  padding: 12px 10px;
  margin-bottom: 20px;
  position: relative
}

.aboutus__zu.zu--1 .zu__inner dl dt:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 8px;
  border-color: var(--color-primary) transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px
}

@media (max-width:1024px) {
  .aboutus__zu.zu--1 .zu__inner dl dd ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: auto;
    margin-bottom: -12px
  }
  .aboutus__zu.zu--1 .zu__inner dl dd ul li {
    width: calc((100% - 12px)/ 2);
    margin-bottom: 12px
  }
}

@media (min-width:1025px) {
  .aboutus__zu.zu--1 .zu__inner dl dd ul li+li {
    margin-top: 12px
  }
}

.aboutus__zu.zu--1 .zu__inner dl dd ul img {
  width: 100%
}

.aboutus__zu.zu--2 ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -12px
}

.aboutus__zu.zu--2 ul li {
  width: calc((100% - (12px * 4))/ 5);
  margin-bottom: 12px;
  border: 1px solid #cbcbcb
}

@media (max-width:1024px) {
  .aboutus__zu.zu--2 ul li {
    width: calc((100% - (12px * 2))/ 3)
  }
}

@media (max-width:599px) {
  .aboutus__zu.zu--2 ul li {
    width: calc((100% - (12px * 1))/ 2)
  }
}

.aboutus__zu.zu--2 ul .spacer {
  margin: 0;
  border: none
}

.aboutus__zu.zu--3 .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: -56px
}

@media (max-width:599px) {
  .aboutus__zu.zu--3 .inner {
    margin-bottom: -30px
  }
}

.aboutus__zu.zu--3 .spacer, .aboutus__zu.zu--3 dl {
  width: calc((100% - (32px * 3))/ 4)
}

@media (max-width:1024px) {
  .aboutus__zu.zu--3 .spacer, .aboutus__zu.zu--3 dl {
    width: calc((100% - (24px * 2))/ 3)
  }
}

@media (max-width:599px) {
  .aboutus__zu.zu--3 .spacer, .aboutus__zu.zu--3 dl {
    width: calc((100% - (12px * 1))/ 2)
  }
}

.aboutus__zu.zu--3 dl {
  margin-bottom: 56px
}

@media (max-width:599px) {
  .aboutus__zu.zu--3 dl {
    margin-bottom: 30px
  }
}

.aboutus__zu.zu--3 dl dt {
  border: 1px solid #cbcbcb;
  margin-bottom: 12px
}

.aboutus__zu.zu--3 dl dt img {
  width: 100%
}

@media (max-width:599px) {
  .aboutus__zu.zu--3 dl dt {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .aboutus__zu.zu--3 dl dt:after {
    content: "";
    display: block;
    padding-top: 77.92208%
  }
}

.aboutus__zu.zu--3 dl dd {
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0
}

@media (min-width:600px) {
  .aboutus__zu.zu--3 dl dd {
    font-size: 14px
  }
}

@media (min-width:1025px) {
  .aboutus__zu.zu--3 dl dd {
    font-size: 16px
  }
}

@media (max-width:599px) {
  .aboutus__zu.zu--4 {
    max-width: 360px
  }
}

.aboutus__zu.zu--5 .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: -12px
}

.aboutus__zu.zu--5 .inner .spacer, .aboutus__zu.zu--5 .inner dl {
  width: calc((100% - (12px * 4))/ 5)
}

@media (max-width:1024px) {
  .aboutus__zu.zu--5 .inner .spacer, .aboutus__zu.zu--5 .inner dl {
    width: calc((100% - (12px * 2))/ 3)
  }
}

@media (max-width:599px) {
  .aboutus__zu.zu--5 .inner .spacer, .aboutus__zu.zu--5 .inner dl {
    width: calc((100% - (12px * 1))/ 2)
  }
}

.aboutus__zu.zu--5 .inner dl {
  margin-bottom: 12px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column
}

.aboutus__zu.zu--5 .inner dl dt img {
  width: 100%
}

.aboutus__zu.zu--5 .inner dl dd {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: var(--color-primary);
  color: var(--color-highlight);
  font-size: 11px;
  padding: 5px
}

@media (min-width:600px) {
  .aboutus__zu.zu--5 .inner dl dd {
    font-size: 12px
  }
}

@media (min-width:1025px) {
  .aboutus__zu.zu--5 .inner dl dd {
    font-size: 14px;
    padding: 7px 5px
  }
}

.aboutus__title {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: 100px auto 0;
  line-height: 1;
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 700;
  text-decoration: underline
}

.aboutus__title i {
  display: inline-block;
  border-bottom: 2px solid var(--color-darkest)
}

@media (min-width:600px) {
  .aboutus__title {
    font-size: 30px;
    margin: 128px auto 0
  }
  .aboutus__title i {
    border-width: 4px
  }
}

.aboutus__list {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto;
  background-color: var(--color-gray-bg);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1px
}

@media (max-width:1024px) {
  .aboutus__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 450px
  }
}

.aboutus__list--item {
  background-color: var(--color-highlight);
  width: 100%;
  text-align: center;
  padding: 60px 0;
  line-height: 1;
  font-size: 28px;
  font-weight: 700;
  vertical-align: baseline;
  position: relative
}

@media (min-width:1025px) {
  .aboutus__list--item {
    width: calc(50% - (1px / 2))
  }
}

@media (max-width:1024px) {
  .aboutus__list--item.spacer {
    display: none
  }
}

@media (max-width:1024px) {
  .aboutus__list--item.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .aboutus__list--item.flex ul {
    margin-top: -10px
  }
}

.aboutus__list--item h4 {
  margin-bottom: 30px
}

.aboutus__list--item h4 span {
  display: inline-block;
  background-color: var(--color-darkest);
  color: var(--color-highlight);
  padding: 5px 10px
}

.aboutus__list--item p span, .aboutus__list--item ul span {
  font-size: 74px;
  margin-right: .1em
}

@media (min-width:1025px) {
  .aboutus__list--item p span, .aboutus__list--item ul span {
    font-size: 86px
  }
}

.aboutus__list--item p i, .aboutus__list--item ul i {
  line-height: 1;
  font-family: var(--font-en);
  font-weight: 700;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 97% 90%;
  background-position: 50%
}

.aboutus__list--item p sup, .aboutus__list--item ul sup {
  font-size: 28px;
  vertical-align: top;
  position: relative;
  top: .4em
}

.aboutus__list--item p .slash, .aboutus__list--item ul .slash {
  background: 0 0;
  display: inline-block;
  width: .4em;
  height: .75em;
  position: relative
}

.aboutus__list--item p .slash:after, .aboutus__list--item ul .slash:after {
  content: "／";
  font-family: var(--font-ja);
  font-size: .4em;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

.aboutus__list--item small {
  font-size: 16px;
  position: absolute;
  text-align: right;
  bottom: 20px;
  right: 20px
}

@media (min-width:1025px) {
  .aboutus__list--item ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 20px
  }
}

.aboutus__list--item ul sup {
  margin-right: 10px
}

.aboutus .section-title--md.adj--aboutus {
  margin-top: 170px
}

.crosstalk {
  margin-left: 28px
}

@media (min-width:600px) {
  .crosstalk {
    margin-left: 6vw
  }
}

.crosstalk__firstview {
  min-height: 100vh;
  min-height: 100svh
}

@media (max-width:599px) {
  .crosstalk__firstview {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .crosstalk__firstview .crosstalk__firstview--image {
    max-height: 100vw
  }
  .crosstalk__firstview .crosstalk__firstview--info {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

.crosstalk__firstview--spacer {
  background-color: var(--color-darkest);
  height: 94px
}

@media (min-width:600px) {
  .crosstalk__firstview--spacer {
    height: 80px
  }
}

.crosstalk__firstview--image {
  height: calc(100vh - (94px + 184px));
  height: calc(100svh - (94px + 184px))
}

@media (min-width:600px) {
  .crosstalk__firstview--image {
    height: calc(100vh - (80px + 204px));
    height: calc(100svh - (80px + 204px))
  }
}

.crosstalk__firstview--image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.crosstalk__firstview--info {
  background-color: var(--color-darkest);
  color: var(--color-highlight);
  padding: 15px 0 23px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media (min-width:600px) {
  .crosstalk__firstview--info {
    padding: 25px 0 33px
  }
}

.crosstalk__firstview--title {
  font-family: var(--font-en);
  font-size: 54px;
  font-weight: 700;
  line-height: 1
}

@media (min-width:600px) {
  .crosstalk__firstview--title {
    font-size: 108px;
    position: relative
  }
  .crosstalk__firstview--title br {
    display: none
  }
}

.crosstalk__firstview--subtitle {
  line-height: 1;
  font-size: 28px;
  font-weight: 700;
  color: var(--color-gray-text);
  margin-top: 10px
}

.crosstalk__intro {
  padding: 60px 30px
}

@media (min-width:1025px) {
  .crosstalk__intro {
    padding: 120px 0 60px
  }
  .crosstalk__intro .inner {
    max-width: 740px
  }
}

.crosstalk__intro .catch {
  font-weight: 700;
  font-size: 52px;
  line-height: 1.4;
  letter-spacing: 0;
  margin-bottom: 1em
}

@media (max-width:1024px) {
  .crosstalk__intro .catch {
    font-size: 40px
  }
}

@media (max-width:599px) {
  .crosstalk__intro .catch {
    font-size: 30px
  }
}

@media (min-width:1025px) {
  .crosstalk__intro {
    padding-left: 352px;
    padding-right: 10%
  }
}

@media (min-width:1025px) and (max-width:1150px) {
  .crosstalk__intro {
    padding-left: 200px
  }
}

.crosstalk__member {
  text-align: center;
  padding: 60px 0
}

.crosstalk__intro+.crosstalk__member {
  padding-top: 0
}

@media (min-width:1025px) {
  .crosstalk__member {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 56px
  }
}

.crosstalk__member--title {
  font-size: 22px;
  font-family: var(--font-en);
  color: var(--color-primary)
}

@media (min-width:1025px) {
  .crosstalk__member--title {
    width: 296px;
    text-align: left
  }
}

@media (min-width:1025px) and (max-width:1150px) {
  .crosstalk__member--title {
    width: 144px
  }
}

@media (min-width:1025px) {
  .crosstalk__member--list {
    max-width: 740px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

@media (min-width:1025px) {
  .crosstalk__member--list {
    margin-right: 10%
  }
}

.crosstalk__member--list--title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: .75em
}

@media (min-width:1025px) {
  .crosstalk__member--list--title {
    width: 100%
  }
}

.crosstalk__member--list--item {
  font-size: 16px;
  font-weight: 700
}

.crosstalk__member--list--title+.crosstalk__member--list--item {
  margin-bottom: 50px
}

@media (min-width:1025px) {
  .crosstalk__member--list--title+.crosstalk__member--list--item {
    margin-bottom: 0
  }
}

.crosstalk__member--list--item picture {
  width: 160px;
  margin: 0 auto 15px
}

@media (min-width:600px) {
  .crosstalk__member--list--item picture {
    width: 280px
  }
}

.crosstalk__section {
  overflow: hidden;
  padding-left: 33px;
  padding-right: 28px;
  margin-bottom: 64px
}

@media (min-width:600px) {
  .crosstalk__section {
    margin-bottom: 123px
  }
}

.crosstalk__section .subhead {
  margin-top: 64px
}

@media (min-width:600px) {
  .crosstalk__section .subhead {
    max-width: 865px;
    margin-top: 123px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 80px
  }
}

@media (min-width:1025px) {
  .crosstalk__section .subhead {
    font-size: 52px;
    padding-left: 120px
  }
}

@media (min-width:600px) {
  .crosstalk__section dl {
    max-width: 865px;
    margin: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.crosstalk__section dl+dl {
  margin-top: 40px
}

@media (min-width:600px) {
  .crosstalk__section dl+dl {
    margin-top: 60px
  }
}

@media (min-width:1025px) {
  .crosstalk__section dl+dl {
    margin-top: 80px
  }
}

.crosstalk__section dl dt {
  font-weight: 700
}

@media (min-width:600px) {
  .crosstalk__section dl dt {
    width: 80px
  }
}

@media (min-width:1025px) {
  .crosstalk__section dl dt {
    width: 120px
  }
}

.crosstalk__section dl dt span {
  position: relative;
  z-index: 0;
  color: var(--color-highlight)
}

.crosstalk__section dl dt span:after {
  content: "";
  display: block;
  position: absolute;
  top: -6px;
  right: -12px;
  width: calc(33px + 100% + 12px);
  height: calc(100% + 12px);
  z-index: -1;
  background-color: var(--color-darkest)
}

@media (min-width:865px) {
  .crosstalk__section dl dt span:after {
    width: 40vw
  }
}

@media (min-width:600px) {
  .crosstalk__section dl dd {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

.crosstalk__section dl dt+dd {
  margin-top: 0
}

@media (max-width:599px) {
  .crosstalk__section dl dt+dd {
    padding-top: 1.5em
  }
}

.freespirits .firstview {
  height: auto;
  min-height: 100vh;
  min-height: 100svh
}

.freespirits .firstview .firstview__inner {
  min-height: 100vh;
  min-height: 100svh
}

@media (max-width:1024px) {
  .freespirits .firstview .firstview__text {
    padding-top: 80px;
    margin-bottom: 60px
  }
}

@media (max-width:599px) {
  .freespirits .firstview .firstview__text {
    margin-top: 50px;
    margin-bottom: 40px
  }
}

@media (min-width:1088px) {
  .freespirits .firstview .firstview__text {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
  .freespirits .firstview .firstview__text .title-wrap {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 65px
  }
  .freespirits .firstview .firstview__text .freespirits__read {
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
    margin-right: calc((100vw - 1048px)/ -2 + 28px)
  }
}

.freespirits__read {
  line-height: 1.6;
  color: var(--color-highlight);
  font-weight: 700;
  font-size: 18px
}

@media (max-width:1087px) {
  .freespirits__read {
    margin-top: 30px
  }
}

@media (min-width:1025px) {
  .freespirits__read {
    max-width: 475px
  }
}

.freespirits__read br {
  display: none
}

@media (min-width:600px) {
  .freespirits__read br {
    display: block
  }
}

.freespirits__navi {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: 120px auto 0;
  line-height: 1;
  color: var(--color-highlight);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 15px 6px;
  margin-bottom: 30px
}

@media (min-width:600px) {
  .freespirits__navi {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    border-bottom: 2px solid var(--color-primary);
    margin-bottom: 60px
  }
}

.freespirits__navi--list {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  border-bottom: 2px solid var(--color-primary)
}

@media (min-width:600px) {
  .freespirits__navi--list {
    gap: 6px;
    border-bottom: none
  }
}

.freespirits__navi--button {
  cursor: pointer;
  background-color: var(--color-darkest);
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-family: var(--font-en);
  font-weight: 700;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 15px 0
}

.freespirits__navi--button.active {
  background-color: var(--color-primary)
}

.freespirits__navi--button small, .freespirits__navi--button.ja {
  font-family: var(--font-ja)
}

@media (min-width:600px) {
  .freespirits__navi--button {
    padding: 20px 0;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px
  }
}

.freespirits__navi--button small {
  display: none;
  font-size: 14px
}

@media (min-width:1025px) {
  .freespirits__navi--button small {
    display: inline;
    margin-left: .5em
  }
}

.freespirits__memberlist {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: -30px
}

@media (min-width:600px) {
  .freespirits__memberlist {
    gap: 60px 30px;
    margin-bottom: -60px
  }
}

@media (min-width:1025px) {
  .freespirits__memberlist {
    gap: 80px calc((100% - (280px * 3))/ 2);
    margin-bottom: -80px
  }
}

.freespirits__memberlist--item {
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

@media (max-width:599px) {
  .freespirits__memberlist--item {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

@media (min-width:600px) {
  .freespirits__memberlist--item {
    width: 280px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

@media (max-width:599px) {
  .freespirits__memberlist--item .freespirits__member--photo {
    width: calc(50% - 8px)
  }
}

.freespirits__memberlist--item .freespirits__member--info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.freespirits__memberlist--item .freespirits__member--info dt+dd {
  margin-top: auto
}

@media (max-width:599px) {
  .freespirits__memberlist--item .freespirits__member--info {
    padding-left: 16px
  }
}

.freespirits__member--info dt {
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 18px
}

@media (max-width:599px) {
  .freespirits__member--info dt {
    margin-bottom: 8px
  }
}

@media (min-width:600px) {
  .freespirits__member--info dt {
    font-size: 22px
  }
}

.freespirits__member--info dt:first-child {
  margin-top: 20px
}

.freespirits__member--info dd {
  color: var(--color-gray-text);
  line-height: 1.4;
  font-size: 14px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.freespirits__member--info dd>span:first-child {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.freespirits__member--info dd+dd {
  margin-top: 3px
}

.freespirits__member--info dd:first-child {
  font-weight: 700;
  margin: 30px 0 10px
}

@media (max-width:599px) {
  .freespirits__member--info dd:first-child {
    margin: 0 0 5px;
    font-size: 11px
  }
}

.freespirits__zu {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto;
  margin-bottom: 80px
}

@media (min-width:600px) {
  .freespirits__zu {
    margin-bottom: 160px
  }
}

@media (max-width:1024px) {
  .freespirits__zu.zu--2 .accordion__content {
    display: none
  }
  .freespirits__zu.zu--2 .accordion__content .js--fadein {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
}

.freespirits__zu.zu--2 .accordion__btn {
  font-size: 15px;
  font-weight: 700;
  background-color: var(--color-primary);
  color: var(--color-highlight);
  line-height: 1.5;
  padding: 5px 15px;
  min-height: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

@media (min-width:600px) {
  .freespirits__zu.zu--2 .accordion__btn {
    font-size: 16px
  }
}

@media (min-width:1025px) {
  .freespirits__zu.zu--2 .accordion__btn {
    display: none
  }
}

@media (min-width:1025px) {
  .freespirits__zu.zu--2 .accordion__content {
    display: block!important;
    height: auto!important
  }
}

@media (max-width:1024px) {
  .freespirits__zu.zu--2>*+* {
    margin-top: 35px
  }
  .freespirits__zu.zu--2 th {
    width: 8.5em
  }
  .freespirits__zu.zu--2 caption {
    display: none
  }
}

@media (max-width:599px) {
  .freespirits__zu.zu--2 th {
    width: 6em
  }
}

@media (min-width:1025px) {
  .freespirits__zu.zu--2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: -50px
  }
  .freespirits__zu.zu--2>* {
    width: calc((100% - 50px)/ 2);
    margin-bottom: 50px
  }
  .freespirits__zu.zu--2 th {
    width: 8.5em
  }
}

.freespirits__zu.zu--3 {
  width: auto
}

@media (max-width:599px) {
  .freespirits__zu.zu--3 .zoomfig__fig {
    padding: 10vw 0
  }
}

@media (max-width:599px) {
  .freespirits__support.support--3 {
    border: none;
    padding-top: 0
  }
  .freespirits__support.support--3:first-child {
    margin-top: 60px
  }
}

.freespirits__support.support--3 .accordion__content {
  padding-top: 10px
}

@media (max-width:599px) {
  .freespirits__support.support--3 .accordion__content {
    display: none
  }
  .freespirits__support.support--3 .accordion__content .js--fadein {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
  .freespirits__support.support--3 .accordion__content .head {
    display: none
  }
}

.freespirits__support.support--3 .accordion__btn {
  font-size: 15px;
  font-weight: 700;
  background-color: var(--color-primary);
  color: var(--color-highlight);
  line-height: 1.5;
  padding: 5px 15px;
  min-height: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

@media (min-width:600px) {
  .freespirits__support.support--3 .accordion__btn {
    font-size: 16px
  }
}

@media (min-width:600px) {
  .freespirits__support.support--3 .accordion__btn {
    display: none
  }
}

@media (min-width:600px) {
  .freespirits__support.support--3 .accordion__content {
    display: block!important;
    height: auto!important
  }
}

@media (max-width:1087px) {
  .interview .firstview__text {
    padding-bottom: 280px
  }
}

@media (max-width:1024px) {
  .interview .firstview__text {
    padding-bottom: 280px
  }
}

@media (max-width:599px) {
  .interview .firstview__text {
    padding-bottom: 350px
  }
}

.interview .firstview+.interview__section {
  margin-top: 80px
}

@media (min-width:600px) {
  .interview .firstview+.interview__section {
    margin-top: 125px
  }
}

.interview__title {
  font-family: source-han-sans-japanese, sans-serif;
  color: var(--color-highlight);
  text-align: left;
  line-height: 1.3;
  font-size: 32px;
  font-weight: 700;
  position: absolute;
  bottom: 160px;
  left: 28px;
  z-index: 1
}

.interview__title .en, .interview__title .jp {
  display: block
}

.interview__title .en+.jp {
  margin-top: 5px
}

@media (min-width:1025px) {
  .interview__title .en+.jp {
    margin-top: 10px
  }
}

.interview__title .en {
  font-family: var(--font-en);
  font-weight: 700;
  font-size: 54px;
  letter-spacing: 0;
  line-height: 1
}

@media (min-width:600px) {
  .interview__title .en {
    font-size: 75px
  }
}

@media (min-width:1025px) {
  .interview__title .en {
    font-size: 90px
  }
}

.interview__title .jp {
  font-family: var(--font-ja);
  font-size: 28px
}

@media (min-width:600px) {
  .interview__title .jp {
    font-size: 38px
  }
}

@media (min-width:1025px) {
  .interview__title .jp {
    font-size: 47px
  }
}

@media (max-width:1024px) {
  .interview__title {
    max-width: calc(100% - 56px)
  }
}

@media (min-width:600px) {
  .interview__title {
    bottom: 55%;
    left: 45%
  }
  .interview__title.n-masahiro {
    bottom: 55%;
    left: 11%
  }
  .interview__title.h-akio {
    bottom: 55%;
    left: 45%
  }
  .interview__title.i-nobuaki {
    bottom: 55%;
    left: 45%
  }
  .interview__title.message {
    left: 11%;
    bottom: 50%;
    right: auto
  }
}

@media (min-width:1025px) {
  .interview__title {
    font-size: 52px;
    bottom: 47.5%;
    left: auto;
    right: 10%
  }
  .interview__title.n-masahiro {
    bottom: 45%;
    left: 11%
  }
  .interview__title.h-akio {
    bottom: 45%;
    left: auto;
    right: 10%
  }
  .interview__title.i-nobuaki {
    bottom: 45%;
    left: auto;
    right: 10%
  }
  .interview__title.message {
    left: 11%;
    right: auto
  }
}

.interview__indexlist {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto
}

.firstview+.interview__indexlist, .firstview__scroll--wrap+.interview__indexlist {
  margin-top: -350px
}

@media (min-width:600px) {
  .firstview+.interview__indexlist, .firstview__scroll--wrap+.interview__indexlist {
    margin-top: -280px
  }
}

.interview__indexlist--item {
  position: relative;
  z-index: 0;
  width: calc(100% + (100vw - 100%)/ 2);
  margin-right: calc(-1 * (100vw - 100%)/ 2)
}

.interview__indexlist--item .linkblock {
  display: block
}

@media (min-width:1025px) {
  .interview__indexlist--item .linkblock {
    height: 360px
  }
}

.interview__indexlist--wrap {
  width: 100%;
  position: relative
}

@media (min-width:600px) {
  .interview__indexlist--wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    height: 100%;
    padding: 0 28px;
    height: 280px
  }
}

@media (min-width:1025px) {
  .interview__indexlist--wrap {
    padding: 0 64px 105px 64px;
    height: 100%
  }
}

.interview__indexlist--image {
  display: block;
  position: relative
}

@media (min-width:600px) {
  .interview__indexlist--image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
  }
}

.interview__indexlist--image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.interview__indexlist--image:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .25);
  -webkit-transition: background-color .4s;
  transition: background-color .4s
}

a:hover .interview__indexlist--image:after {
  background-color: transparent
}

.interview__indexlist--copy {
  font-family: source-han-sans-japanese, sans-serif;
  color: var(--color-highlight);
  line-height: 1.3;
  font-size: 30px;
  font-weight: 700
}

@media (max-width:599px) {
  .interview__indexlist--copy {
    position: absolute;
    left: 15px;
    bottom: 15px;
    padding-right: 28px
  }
}

@media (min-width:600px) {
  .interview__indexlist--copy {
    font-size: 40px;
    margin: auto 0
  }
}

.interview__indexlist--info {
  background-color: var(--color-darkest);
  color: var(--color-highlight);
  padding: 28px
}

@media (min-width:600px) {
  .interview__indexlist--info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 32px
  }
}

@media (min-width:1025px) {
  .interview__indexlist--info {
    width: 648px;
    min-height: 105px;
    padding: 30px 10px 30px 64px;
    position: absolute;
    bottom: 0;
    left: 0
  }
}

.interview__indexlist--info dt {
  line-height: .8;
  font-size: 32px;
  font-family: var(--font-en);
  font-weight: 700
}

@media (min-width:600px) {
  .interview__indexlist--info dt {
    font-size: 56px
  }
}

.interview__indexlist--info dd {
  margin-top: 14px;
  line-height: 1.5;
  font-size: 16px;
  font-weight: 700
}

@media (min-width:600px) {
  .interview__indexlist--info dd {
    margin-top: 0
  }
}

.interview__section {
  background-color: var(--color-darkest);
  color: var(--color-highlight);
  padding: 76px 0
}

@media (min-width:600px) {
  .interview__section {
    padding: 110px 0
  }
}

.interview__section .paragraph, .interview__section .subhead {
  width: calc(100% - (28px * 2));
  max-width: 690px;
  margin-left: auto;
  margin-right: auto
}

.interview__image-section {
  background-color: var(--color-darkest);
  position: relative;
  z-index: 0;
  margin-bottom: 80px
}

@media (min-width:600px) {
  .interview__image-section {
    margin-bottom: 125px
  }
}

.interview__image-section::after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background-color: var(--color-highlight);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1
}

.interview__image-section--image {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto
}

.interview__image-section--image.multiple>div {
  position: relative
}

.interview__image-section--image.multiple>div:before {
  content: "";
  display: block;
  padding-top: 100.57471%
}

@media (min-width:600px) {
  .interview__image-section--image.multiple>div:before {
    padding-top: 41.60714%
  }
}

.interview__image-section--image.multiple>div .ph {
  width: 85%;
  position: absolute
}

@media (min-width:600px) {
  .interview__image-section--image.multiple>div .ph {
    width: 55%
  }
}

.interview__image-section--image.multiple>div .ph:first-child {
  top: 0;
  right: 0
}

.interview__image-section--image.multiple>div .ph:last-child {
  bottom: 0;
  left: 0
}

.left .interview__image-section--image.multiple>div, .left .interview__image-section--image>img {
  max-width: none;
  width: calc(100% + (100vw - 100%)/ 2);
  margin-left: calc(-1 * (100vw - 100%)/ 2)
}

.right .interview__image-section--image.multiple>div, .right .interview__image-section--image>img {
  max-width: none;
  width: calc(100% + (100vw - 100%)/ 2);
  margin-right: calc(-1 * (100vw - 100%)/ 2)
}

.interview__othertitle {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  font-family: var(--font-en);
  font-weight: 700;
  line-height: 1;
  margin: 80px auto 16px;
  font-size: 54px
}

@media (min-width:600px) {
  .interview__othertitle {
    margin: 180px auto 30px;
    font-size: 100px
  }
}

.interview__othertitle small {
  display: block;
  font-size: 32px
}

@media (min-width:600px) {
  .interview__othertitle small {
    font-size: 50px
  }
}

@media (min-width:600px) {
  .message .firstview__bgimage img {
    object-position: 60% 50%
  }
}

@media (min-width:1025px) {
  .message .firstview__bgimage img {
    object-position: 40% 50%
  }
}

.message__section {
  background-color: var(--color-darkest);
  color: var(--color-highlight);
  padding: 76px 0
}

@media (min-width:600px) {
  .message__section {
    padding: 120px 0
  }
}

.message__section .paragraph, .message__section .subhead {
  width: calc(100% - (28px * 2));
  max-width: 690px;
  margin-left: auto;
  margin-right: auto
}

.message__image-section {
  background-color: var(--color-darkest);
  position: relative;
  z-index: 0
}

.message__image-section.bottom::after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background-color: var(--color-highlight);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1
}

.message__image-section--image {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto
}

.left .message__image-section--image img {
  max-width: none;
  width: calc(100% + (100vw - 100%)/ 2);
  margin-left: calc(-1 * (100vw - 100%)/ 2)
}

.right .message__image-section--image img {
  max-width: none;
  width: calc(100% + (100vw - 100%)/ 2);
  margin-right: calc(-1 * (100vw - 100%)/ 2)
}

.projectstory__indexfv {
  height: 80vh;
  height: 80svh;
  margin-bottom: 20vh;
  margin-bottom: 20svh;
  overflow: hidden
}

.projectstory__indexfv .firstview__inner--subtitle, .projectstory__indexfv .firstview__inner--title {
  top: 0
}

.projectstory__indexfv .firstview__text {
  padding-bottom: 0
}

.projectstory__indexfv--text {
  opacity: .2;
  line-height: .7;
  letter-spacing: -.05em;
  font-size: 28vw;
  font-family: var(--font-en);
  font-weight: 700;
  position: absolute;
  left: -.25em;
  bottom: -.05em
}

@media (min-width:600px) {
  .projectstory__indexfv--text {
    font-size: 15vw;
    white-space: nowrap
  }
  .projectstory__indexfv--text br {
    display: none
  }
}

.projectstory__articlefv {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

.projectstory__articlefv--subtitle, .projectstory__articlefv--title {
  width: calc(100% - (28px * 2));
  max-width: 1048px
}

.projectstory__articlefv--title {
  font-family: var(--font-en);
  font-size: 54px;
  font-weight: 700;
  line-height: 1
}

@media (min-width:600px) {
  .projectstory__articlefv--title {
    font-size: 108px
  }
}

.projectstory__articlefv--subtitle {
  line-height: 1;
  font-size: 28px;
  font-weight: 700;
  margin-top: 10px
}

.projectstory__titleblock {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto;
  position: relative;
  z-index: 1;
  margin-top: -30px
}

@media (min-width:600px) {
  .projectstory__titleblock {
    margin-top: -115px
  }
}

.projectstory__titleblock--inner {
  background-color: #fff;
  display: inline-block;
  padding: 30px
}

.projectstory__titleblock--num {
  line-height: 1;
  font-family: var(--font-en);
  font-weight: 700;
  color: var(--color-primary);
  font-size: 16px
}

.projectstory__titleblock--num i {
  font-size: 35px;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 97% 90%;
  background-position: 50%
}

.projectstory__titleblock--title {
  font-size: 24px;
  line-height: 1.67;
  font-weight: 700;
  color: var(--color-text)
}

@media (min-width:600px) {
  .projectstory__titleblock--title {
    font-size: 28px
  }
}

@media (min-width:600px) {
  .projectstory__memberlist--spacer {
    padding-top: 86px
  }
}

.projectstory__memberlist--title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 40px
}

.projectstory__memberlist--title small {
  display: block;
  font-family: var(--font-en);
  font-weight: 700;
  color: var(--color-primary);
  font-size: 22px;
  margin-bottom: 10px
}

.projectstory__memberlist--item {
  position: relative
}

.projectstory__memberlist--item--text {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  background-color: #fff;
  padding: 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  min-width: 288px
}

@media (max-width:400px) {
  .projectstory__memberlist--item--text {
    min-width: calc(100% - 30px)
  }
}

@media (min-width:1025px) {
  .projectstory__memberlist--item--text {
    min-width: 320px
  }
}

.projectstory__list {
  margin-bottom: -30px
}

@media (min-width:600px) {
  .projectstory__list {
    margin-bottom: -60px
  }
}

@media (min-width:1025px) {
  .projectstory__list {
    margin-bottom: -100px
  }
}

.projectstory__list--item {
  position: relative
}

.projectstory__list--item+.projectstory__list--item {
  margin-top: 30px
}

@media (min-width:600px) {
  .projectstory__list--item+.projectstory__list--item {
    margin-top: 50px
  }
}

@media (min-width:1025px) {
  .projectstory__list--item+.projectstory__list--item {
    margin-top: 70px
  }
}

.projectstory__list--item a:hover .btn--link-transparent {
  color: var(--color-primary)
}

.projectstory__list--item a:hover .btn--link-transparent i svg .svg--fill {
  fill: var(--color-primary)
}

.projectstory__list--image img {
  width: 100%;
  max-height: 540px;
  object-fit: cover
}

.projectstory__list--label {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto;
  line-height: .775;
  font-family: var(--font-en);
  font-weight: 700;
  color: var(--color-primary);
  font-size: 30px;
  vertical-align: baseline
}

.projectstory__list--label i {
  font-size: 86px;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 97% 90%;
  background-position: 50%
}

.projectstory__list--info {
  background-color: var(--color-highlight);
  padding: 33px;
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto;
  margin-top: -140px;
  position: relative
}

@media (min-width:1025px) {
  .projectstory__list--info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: -65px
  }
  .projectstory__list--info dt {
    padding-right: 20px
  }
  .projectstory__list--info dd {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
  }
}

.projectstory__list--info dt {
  line-height: 1.5
}

.projectstory__list--info dt strong {
  display: block;
  font-size: 24px;
  font-weight: 700
}

@media (min-width:1025px) {
  .projectstory__list--info dt strong {
    font-size: 28px
  }
}

.projectstory__list--info dt small {
  display: block;
  margin-top: 20px;
  font-size: 18px
}

@media (min-width:600px) {
  .projectstory__list--info dt small {
    margin-top: 0
  }
}

.projectstory__list--info dd {
  font-family: var(--font-en);
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 25px
}

@media (min-width:1025px) {
  .projectstory__list--info dd {
    margin-top: 0
  }
}

.projectstory__list--info dd i {
  display: block;
  width: 40px;
  height: 40px;
  margin-left: 20px;
  position: relative
}

.projectstory .section-title, .projectstory .subhead {
  width: calc(100% - (28px * 2));
  max-width: 1190px;
  margin: 62px auto
}

@media (min-width:600px) {
  .projectstory .section-title, .projectstory .subhead {
    margin: 190px auto 83px
  }
}

@media (min-width:1025px) {
  .projectstory .section-title__copy, .projectstory .subhead {
    font-size: 52px
  }
}

.projectstory__flex {
  width: calc(100% - (28px * 2));
  max-width: 1190px;
  margin: auto
}

@media (min-width:851px) {
  .projectstory__flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.projectstory__flex--image {
  position: relative;
  margin-left: -28px;
  margin-right: -28px;
  margin-bottom: 64px
}

@media (max-width:850px) {
  .projectstory__flex--image.memberlist {
    padding: 0 28px;
    margin-top: 50px
  }
}

@media (max-width:850px) and (min-width:600px) {
  .projectstory__flex--image:not(.memberlist) {
    height: 600px
  }
  .projectstory__flex--image:not(.memberlist) img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
  }
  .projectstory__flex--image:not(.memberlist) .js--mask--i, .projectstory__flex--image:not(.memberlist) .js--mask--l, .projectstory__flex--image:not(.memberlist) .js--mask--o, .projectstory__flex--image:not(.memberlist) .js--mask--r {
    height: 100%
  }
}

@media (min-width:851px) {
  .projectstory__flex--image {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    width: 50%
  }
  .projectstory__flex--image.memberlist img {
    height: auto
  }
  .image-left .projectstory__flex--image {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    width: calc(50% + 28px);
    margin-left: -28px
  }
}

@media (min-width:851px) and (min-width:1190px) {
  .image-left .projectstory__flex--image {
    width: calc(50% + (100vw - 1190px)/ 2);
    margin-left: calc(-1 * (100vw - 1190px)/ 2)
  }
}

@media (min-width:851px) {
  .image-left .projectstory__flex--image .js--mask--i, .image-left .projectstory__flex--image .js--mask--o {
    height: 100%
  }
  .image-right .projectstory__flex--image {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    width: calc(50% + 28px);
    margin-right: -28px
  }
}

@media (min-width:851px) and (min-width:1190px) {
  .image-right .projectstory__flex--image {
    width: calc(50% + (100vw - 1190px)/ 2);
    margin-right: calc(-1 * (100vw - 1190px)/ 2)
  }
}

@media (min-width:851px) {
  .image-right .projectstory__flex--image .js--mask--i, .image-right .projectstory__flex--image .js--mask--o {
    height: 100%
  }
  .projectstory__flex--image .sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0
  }
  .projectstory__flex--image picture>img {
    width: 100%;
    height: 100vh;
    height: 100svh;
    object-fit: cover
  }
}

.projectstory__flex--text>p:first-child {
  margin-top: 0
}

@media (min-width:851px) {
  .projectstory__flex--text {
    width: 50%
  }
  .image-left .projectstory__flex--text {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    padding-left: 28px
  }
}

@media (min-width:851px) and (min-width:1190px) {
  .image-left .projectstory__flex--text {
    padding-left: 90px
  }
}

@media (min-width:851px) {
  .image-right .projectstory__flex--text {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    padding-right: 28px
  }
}

@media (min-width:851px) and (min-width:1190px) {
  .image-right .projectstory__flex--text {
    padding-right: 90px
  }
}

.projectstory__fillimage {
  margin-top: 62px;
  width: 100%
}

@media (min-width:600px) {
  .projectstory__fillimage {
    margin-top: 160px
  }
}

.projectstory__fillimage img {
  width: 100%
}

.projectstory__other {
  width: calc(100% - (28px * 2));
  max-width: 1190px;
  margin: auto;
  margin-top: 80px;
  margin-bottom: -6px;
  line-height: 1;
  font-family: var(--font-en);
  font-weight: 700;
  color: var(--color-primary);
  font-size: 30px
}

@media (min-width:600px) {
  .projectstory__other {
    margin-bottom: -10px;
    margin-top: 240px
  }
}

.projectstory__other i {
  font-size: 55px;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 97% 90%;
  background-position: 50%
}

@media (min-width:600px) {
  .projectstory__other i {
    font-size: 86px
  }
}

.projectstory__other+.projectstory__list .projectstory__list--label {
  display: none
}

.recruit__title {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: 90px auto 30px;
  font-size: 28px;
  font-weight: 700;
  color: var(--color-primary)
}

@media (min-width:600px) {
  .recruit__title {
    font-size: 44px;
    margin: 155px auto 35px
  }
}

.recruit__list {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto;
  border-top: 1px solid var(--color-gray-bg)
}

.recruit__list:last-child {
  border-bottom: 1px solid var(--color-gray-bg)
}

@media (min-width:600px) {
  .recruit__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.recruit__list--title {
  font-weight: 700;
  color: var(--color-primary)
}

@media (max-width:599px) {
  .recruit__list--title {
    padding: 10px 15px;
    background-color: #f5f5f5;
    line-height: 1;
    border-bottom: 1px solid var(--color-gray-bg)
  }
}

@media (min-width:600px) {
  .recruit__list--title {
    padding: 40px 0;
    width: 155px;
    padding-right: 1.5em
  }
}

.recruit__list--item {
  padding: 20px 0;
  text-align: left
}

@media (min-width:600px) {
  .recruit__list--item {
    padding: 40px 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

.recruit__list--item small {
  display: inline-block;
  font-size: 12px;
  line-height: 1.75;
  margin-bottom: 1em
}

.recruit__list--item small:last-child {
  margin-bottom: 0
}

@media (min-width:600px) {
  .recruit__list--item small {
    font-size: 14px
  }
}

.recruit__list--item .flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  line-height: 1.5
}

.recruit__list--item .flow li {
  background-color: var(--color-primary);
  color: var(--color-highlight);
  padding: 5px 15px
}

.recruit__list--item .flow li>i {
  font-family: var(--font-en)
}

.recruit__list--item .flow li+li {
  margin-top: 30px;
  position: relative
}

.recruit__list--item .flow li+li:before {
  content: "";
  display: block;
  width: 2px;
  height: 20px;
  background-color: var(--color-primary);
  position: absolute;
  top: -25px;
  left: 45px
}

.recruit__sublist {
  padding: 20px 0
}

.recruit__sublist:first-child {
  padding-top: 0
}

.recruit__sublist:last-child {
  padding-bottom: 0
}

.recruit__sublist+.recruit__sublist {
  border-top: 1px solid var(--color-gray-bg)
}

@media (min-width:600px) {
  .recruit__sublist {
    padding: 40px 0
  }
}

.recruit__sublist--title {
  color: var(--color-primary);
  font-weight: 700
}

.recruit__sublist--title.en {
  font-family: var(--font-en)
}

.recruit__sublist.note {
  padding-top: 12px
}

@media (min-width:600px) {
  .recruit__sublist.note {
    padding-top: 20px
  }
}

.system__zu {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: auto
}

@media (max-width:599px) {
  .system__zu.zu--1 .zoomfig__fig {
    padding: 10vw 0
  }
}

.system__zu.zu--2 {
  width: auto
}

@media (max-width:799px) {
  .system__zu.zu--2 {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto
  }
}

.system__list {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: 58px auto;
  line-height: 1.6;
  border-top: 1px solid var(--color-gray-bg);
  border-bottom: 1px solid var(--color-gray-bg)
}

.system__list--item {
  padding: 24px
}

.system__list--item:nth-child(odd) {
  background-color: #f5f5f5
}

.system__benefit {
  width: calc(100% - (28px * 2));
  max-width: 1048px;
  margin: 58px auto
}

@media (min-width:600px) {
  .system__benefit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: -45px
  }
}

@media (max-width:599px) {
  .system__benefit dl+dl {
    margin-top: 60px
  }
}

@media (min-width:600px) {
  .system__benefit dl {
    width: calc((100% - 45px * 1)/ 2);
    margin-bottom: 45px
  }
}

@media (min-width:1025px) {
  .system__benefit dl {
    width: calc((100% - 45px * 2)/ 3)
  }
}

.system__benefit dl dt {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--color-primary);
  text-align: center;
  padding-bottom: .3em;
  border-bottom: 2px solid var(--color-primary);
  margin-bottom: 1em
}

@media (min-width:600px) {
  .system__benefit dl dt {
    font-size: 24px
  }
}

@media (min-width:1025px) {
  .system__benefit dl dt {
    font-size: 32px
  }
}

.top {
  padding-bottom: 100px
}

.top .firstview--top {
  height: 100vh;
  height: 100svh;
  height: var(--vh);
  background-color: #000;
  position: relative;
  z-index: 0
}

.top .firstview--top .ph--bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: var(--vh);
  z-index: -1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  overflow: hidden
}

.top .firstview--top .ph--bg img {
  margin: auto;
  height: 100%;
  width: auto
}

.top .firstview--top .ph--bg .vrt {
  display: none
}

@media (max-aspect-ratio:114 / 65) {
  .top .firstview--top .ph--bg .hor {
    display: none
  }
  .top .firstview--top .ph--bg .vrt {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end
  }
}

.top .firstview--top .ph--bg .scroller {
  overflow-x: auto;
  height: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: -webkit-grab;
  cursor: grab
}

.top .firstview--top .ph--bg .scroller:active {
  cursor: -webkit-grabbing;
  cursor: grabbing
}

.top .firstview--top .ph--bg .scroller::-webkit-scrollbar {
  display: none
}

.top .firstview--top .ph--bg .scroller img {
  width: auto;
  height: 90%;
  max-width: none;
  margin: 0
}

@media (min-aspect-ratio:3 / 2) {
  .top .firstview--top .ph--bg .scroller img {
    width: 100%;
    height: auto
  }
}

.top .firstview--top .catch {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  pointer-events: none
}

.top .firstview--top .catch .hor, .top .firstview--top .catch .vrt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.top .firstview--top .catch .vrt {
  display: none
}

@media (max-aspect-ratio:114 / 65) {
  .top .firstview--top .catch .hor {
    display: none
  }
  .top .firstview--top .catch .vrt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.top .firstview--top .catch .chr2 {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: 100%
}

.top .firstview--top .catch img {
  max-width: calc(100vw - 100px);
  max-height: calc(var(--vh) - 100px)
}

@media (max-aspect-ratio:114 / 65) {
  .top .firstview--top .catch img {
    max-width: calc(100vw - 100px);
    max-height: calc(var(--vh) - 200px)
  }
}

@media (orientation:portrait) {
  .top .firstview--top .firstview__scroll {
    display: none
  }
}

.top__section {
  padding: 75px 0 100px
}

@media (min-width:600px) {
  .top__section {
    padding: 150px 0
  }
}

.top__section:last-of-type {
  padding-bottom: 0
}

.top__section.blk+.top__section.blk, .top__section:not(.blk)+.top__section:not(.blk) {
  padding-top: 0
}

.top__section.blk {
  background-color: var(--color-darkest);
  color: var(--color-highlight)
}

.top__section.blk .section__title .en, .top__section.blk .section__title--md .en, .top__section.blk .section__title--sm .en {
  color: var(--color-gray-text)
}

.top__section.blk .section__title .jp, .top__section.blk .section__title--md .jp, .top__section.blk .section__title--sm .jp {
  color: var(--color-highlight)
}

.top__section .section__inner {
  width: calc(100% - (28px * 2));
  max-width: 1128px;
  margin-left: auto;
  margin-right: auto
}

.top__section .section__inner.wide {
  max-width: 1368px
}

.top__section .section__title, .top__section .section__title--md, .top__section .section__title--sm {
  color: var(--color-darkest);
  letter-spacing: 0
}

.top__section .section__title .en, .top__section .section__title .jp, .top__section .section__title--md .en, .top__section .section__title--md .jp, .top__section .section__title--sm .en, .top__section .section__title--sm .jp {
  display: block;
  font-weight: 700
}

.top__section .section__title .en, .top__section .section__title--md .en, .top__section .section__title--sm .en {
  font-family: var(--font-en);
  line-height: .9
}

.top__section .section__title .jp, .top__section .section__title--md .jp, .top__section .section__title--sm .jp {
  line-height: 1.3
}

.top__section .section__title {
  margin: 60px auto
}

@media (min-width:600px) {
  .top__section .section__title {
    margin: 100px auto
  }
}

.top__section .section__title:first-child {
  margin-top: 0
}

.top__section .section__title:last-child {
  margin-bottom: 0
}

.top__section .section__title .en+.jp {
  margin-top: .4em
}

@media (min-width:600px) {
  .top__section .section__title .en+.jp {
    margin-top: .6em
  }
}

.top__section .section__title .en {
  font-size: 54px
}

@media (min-width:600px) {
  .top__section .section__title .en {
    font-size: 90px
  }
}

@media (min-width:1025px) {
  .top__section .section__title .en {
    font-size: 142px
  }
}

.top__section .section__title .jp {
  color: var(--color-gray-text);
  font-size: 28px
}

@media (min-width:600px) {
  .top__section .section__title .jp {
    font-size: 34px
  }
}

@media (min-width:1025px) {
  .top__section .section__title .jp {
    font-size: 40px
  }
}

.top__section .section__title--md .en+.jp {
  margin-top: .4em
}

@media (min-width:600px) {
  .top__section .section__title--md .en+.jp {
    margin-top: .6em
  }
}

.top__section .section__title--md .en {
  font-size: 54px
}

@media (min-width:600px) {
  .top__section .section__title--md .en {
    font-size: 60px
  }
}

@media (min-width:1025px) {
  .top__section .section__title--md .en {
    font-size: 66px
  }
}

.top__section .section__title--md .jp {
  font-size: 20px
}

@media (min-width:600px) {
  .top__section .section__title--md .jp {
    font-size: 24px
  }
}

@media (min-width:1025px) {
  .top__section .section__title--md .jp {
    font-size: 28px
  }
}

.top__section .section__title--sm .en+.jp {
  margin-top: .2em
}

@media (min-width:600px) {
  .top__section .section__title--sm .en+.jp {
    margin-top: .4em
  }
}

.top__section .section__title--sm .en {
  display: inline-block;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 100% 100%;
  background-position: 50%;
  font-size: 54px
}

@media (min-width:600px) {
  .top__section .section__title--sm .en {
    font-size: 56px
  }
}

.top__section .section__title--sm .jp {
  color: var(--color-gray-text);
  font-size: 24px
}

.top__intro {
  padding: 40px 0
}

@media (min-width:600px) {
  .top__intro {
    padding: 80px 0
  }
}

@media (min-width:1025px) {
  .top__intro {
    padding: 120px 0
  }
}

.top__intro .intro {
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: left
}

@media (max-width:350px) {
  .top__intro .intro {
    font-size: 7.5vw
  }
}

@media (min-width:600px) {
  .top__intro .intro {
    font-size: 34px
  }
}

@media (min-width:1025px) {
  .top__intro .intro {
    font-size: 41px
  }
}

.top__intro .intro p+p {
  margin-top: .8em
}

@media (min-width:600px) {
  .top__intro .intro p+p {
    margin-top: 1.5em
  }
}

.top__intro .intro .js--mask--i, .top__intro .intro .js--mask--o {
  display: inline-block;
  width: 100%
}

@media (max-width:1024px) {
  .top__freespirits .freespirits__index.col .item+.item {
    margin-top: 60px;
    padding-top: 50px;
    border-top: 1px solid #a2a2a3
  }
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index.col {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .top__freespirits .freespirits__index.col .item {
    width: 50%;
    padding: 15px 50px;
    border-left: 1px solid #a2a2a3
  }
}

.top__freespirits .freespirits__index+.freespirits__index {
  margin-top: 55px
}

.top__freespirits .freespirits__index .item .head {
  margin-bottom: 25px
}

.top__freespirits .freespirits__index .item .lead {
  margin-bottom: 30px
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .item .lead {
    margin-bottom: 45px
  }
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .top__freespirits .freespirits__index .item .more {
    margin: auto 0 0
  }
}

.top__freespirits .freespirits__index .head {
  font-family: var(--font-en);
  line-height: .9;
  text-align: center
}

@media (max-width:1024px) {
  .top__freespirits .freespirits__index .head {
    margin-bottom: 30px
  }
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .head {
    text-align: left
  }
}

.top__freespirits .freespirits__index .head .num {
  display: inline-block;
  font-size: 86px;
  line-height: .8;
  background: var(--color-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 100% 100%;
  background-position: 50%;
  font-weight: 700
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .head .num {
    margin-right: .15em
  }
}

.top__freespirits .freespirits__index .head .en {
  font-weight: 500;
  font-size: 30px;
  letter-spacing: .05em;
  color: var(--color-primary);
  display: block
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .head .en {
    display: inline
  }
}

@media (max-width:1024px) {
  .top__freespirits .freespirits__index .head .num+.en {
    margin-top: .5em
  }
}

.top__freespirits .freespirits__index .lead {
  font-size: 32px;
  line-height: 1.4;
  font-weight: 700;
  text-align: center
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .lead {
    font-size: 40px;
    text-align: left
  }
}

.top__freespirits .freespirits__index .ph {
  position: relative;
  z-index: 0;
  margin-right: -28px
}

@media (max-width:1024px) {
  .top__freespirits .freespirits__index .ph {
    margin: 0 -28px
  }
}

@media (min-width:1185px) {
  .top__freespirits .freespirits__index .ph {
    margin-right: calc((100vw - 1128px)/ -2)
  }
}

.top__freespirits .freespirits__index .ph:after {
  content: "";
  display: block;
  padding-top: 29.03226%
}

@media (max-width:1024px) {
  .top__freespirits .freespirits__index .ph:after {
    padding-top: 60vw
  }
}

@media (max-width:599px) {
  .top__freespirits .freespirits__index .ph:after {
    padding-top: 95.74468%
  }
}

.top__freespirits .freespirits__index .ph img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%
}

.top__freespirits .freespirits__index .ph .btn--link {
  position: absolute
}

@media (max-width:1024px) {
  .top__freespirits .freespirits__index .ph .btn--link {
    bottom: 40px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .ph .btn--link {
    right: 28px;
    bottom: 50px
  }
}

@media (min-width:1185px) {
  .top__freespirits .freespirits__index .ph .btn--link {
    right: calc((100vw - 1128px)/ 2)
  }
}

.top__freespirits .freespirits__index .ph .slide, .top__freespirits .freespirits__index .ph .slideshow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.top__freespirits .freespirits__index .ph .slideshow {
  z-index: -1;
  overflow: hidden
}

.top__freespirits .freespirits__index .more {
  text-align: center
}

@media (min-width:1025px) {
  .top__freespirits .freespirits__index .more {
    text-align: left
  }
}

.top__freespirits .freespirits__index .btn--link {
  min-width: 264px;
  white-space: nowrap
}

.top__about .section__title {
  text-align: right;
  margin-bottom: 0
}

.top__about .section__title+.inner {
  margin-top: -5px
}

@media (min-width:600px) {
  .top__about .section__title+.inner {
    margin-top: -8px
  }
}

@media (min-width:1025px) {
  .top__about .section__title+.inner {
    margin-top: -10px
  }
}

.top__about .inner {
  padding-top: 25px;
  position: relative;
  z-index: 0
}

@media (min-width:600px) {
  .top__about .inner {
    padding-top: 50px
  }
}

.top__about .inner:before {
  content: "";
  display: block;
  width: calc(100% + 28px);
  height: 100%;
  position: absolute;
  top: 0;
  right: -28px;
  background-color: var(--color-darkest);
  z-index: -1
}

@media (min-width:1025px) {
  .top__about .inner:before {
    width: 970px
  }
}

@media (min-width:1185px) {
  .top__about .inner:before {
    width: calc(970px + calc((100vw - 1128px)/ 2));
    right: calc((100vw - 1128px)/ -2)
  }
}

.top__about .lead {
  font-weight: 700;
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  color: var(--color-highlight);
  margin-bottom: 45px;
  padding-left: 28px
}

@media (min-width:600px) {
  .top__about .lead {
    font-size: 40px
  }
}

@media (min-width:1025px) {
  .top__about .lead {
    font-size: 52px;
    max-width: 944px;
    margin-left: auto
  }
}

.top__about .ph {
  position: relative;
  margin-left: -28px
}

@media (max-width:1024px) {
  .top__about .ph {
    margin: 0 -28px
  }
}

@media (min-width:1185px) {
  .top__about .ph {
    margin-left: calc((100vw - 1128px)/ -2)
  }
}

.top__about .ph:after {
  content: "";
  display: block;
  padding-top: 28.08112%
}

@media (max-width:1024px) {
  .top__about .ph:after {
    padding-top: 60vw
  }
}

@media (max-width:599px) {
  .top__about .ph:after {
    padding-top: 95.74468%
  }
}

.top__about .ph img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%
}

.top__about .more {
  position: absolute;
  bottom: 0;
  z-index: 0;
  display: block
}

@media (max-width:1024px) {
  .top__about .more {
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: var(--color-highlight);
    min-height: 90px;
    border-radius: 90px;
    padding: 5px 40px;
    white-space: nowrap
  }
}

@media (max-width:599px) {
  .top__about .more {
    min-height: 70px
  }
}

@media (min-width:1025px) {
  .top__about .more {
    padding-right: 35px;
    right: 0
  }
}

.top__about .more:before {
  content: "";
  display: block;
  width: 264px;
  height: 70px;
  background-color: var(--color-highlight);
  position: absolute;
  top: -50px;
  z-index: -1;
  border-radius: 70px
}

@media (max-width:1024px) {
  .top__about .more:before {
    display: none
  }
}

@media (min-width:1025px) {
  .top__about .more:before {
    width: 450px;
    height: 112px;
    right: -28px;
    border-radius: 150px 0 0 150px
  }
}

@media (min-width:1185px) {
  .top__about .more:before {
    width: calc(450px + calc((100vw - 1128px)/ 2));
    right: calc((100vw - 1128px)/ -2)
  }
}

.top__about .more:hover .btn--link-transparent {
  color: var(--color-primary)
}

.top__about .more:hover .btn--link-transparent i:before {
  background-color: var(--color-primary);
  border-color: var(--color-highlight)
}

.top__about .more:hover .btn--link-transparent i:after {
  background-color: var(--color-highlight)
}

.top__interview {
  position: relative;
  z-index: 0
}

@media (min-width:801px) {
  .top__interview {
    padding-bottom: 200px
  }
}

@media (min-width:801px) and (max-width:1024px) {
  .top__interview {
    padding-bottom: 150px
  }
}

.top__interview .bg, .top__interview .copy {
  position: absolute
}

@media (min-width:801px) {
  .top__interview .bg, .top__interview .copy {
    left: 14.61988vw;
    bottom: 0
  }
}

.top__interview .bg {
  overflow: hidden;
  z-index: -1
}

@media (max-width:800px) {
  .top__interview .bg {
    width: 34.66667vw;
    max-width: 180px;
    height: 100%;
    top: 330px;
    left: -7px
  }
  .top__interview .bg .copy {
    width: 100%;
    top: 0;
    left: 0;
    padding-top: 20%
  }
  .top__interview .bg .copy img {
    width: 100%
  }
  .top__interview .bg .copy .clone_after {
    top: 100%
  }
  .top__interview .bg .hor {
    display: none
  }
}

@media (min-width:801px) {
  .top__interview .bg {
    width: 100%;
    height: 180px;
    left: 0;
    bottom: -5px
  }
}

@media (min-width:801px) and (max-width:1024px) {
  .top__interview .bg {
    height: 130px
  }
}

@media (min-width:801px) {
  .top__interview .bg .copy {
    height: 100%;
    top: 0;
    left: 0;
    padding-left: 3%
  }
  .top__interview .bg .copy img {
    height: 100%;
    width: auto;
    max-width: none
  }
  .top__interview .bg .copy .clone_before {
    left: -203%
  }
  .top__interview .bg .copy .clone_after {
    left: 100%
  }
  .top__interview .bg .vrt {
    display: none
  }
}

.top__interview .section__inner.wide {
  width: auto
}

.top__interview .more--wrap {
  margin-top: -90px
}

@media (max-width:1190px) {
  .top__interview .more--wrap {
    margin-top: 55px;
    text-align: center
  }
}

.top__interview .section__title {
  margin-bottom: 0
}

.top__interview:before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% - 180px - 210px);
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--color-gray-bg);
  z-index: -1
}

.top__interview .inner {
  padding-top: 180px
}

.top__interview .interview__index {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: -225px;
  padding-left: 28px
}

@media (max-width:1190px) {
  .top__interview .interview__index {
    margin-top: -135px
  }
}

@media (max-width:800px) {
  .top__interview .interview__index {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: -122px
  }
}

@media (min-width:801px) {
  .top__interview .interview__index {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

.top__interview .interview__index .item {
  display: block
}

@media (max-width:800px) {
  .top__interview .interview__index .item {
    width: 71.46667vw;
    max-width: 450px
  }
}

@media (min-width:801px) {
  .top__interview .interview__index .item {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 273px
  }
  .top__interview .interview__index .item:nth-of-type(1) {
    margin-top: calc(85px * 0)
  }
  .top__interview .interview__index .item:nth-of-type(2) {
    margin-top: calc(85px * 1)
  }
  .top__interview .interview__index .item:nth-of-type(3) {
    margin-top: calc(85px * 2)
  }
  .top__interview .interview__index .item:nth-of-type(4) {
    margin-top: calc(85px * 3)
  }
  .top__interview .interview__index .item:nth-of-type(5) {
    margin-top: calc(85px * 4)
  }
  .top__interview .interview__index .item:nth-of-type(6) {
    margin-top: calc(85px * 5)
  }
  .top__interview .interview__index .item:nth-of-type(7) {
    margin-top: calc(85px * 6)
  }
  .top__interview .interview__index .item:nth-of-type(8) {
    margin-top: calc(85px * 7)
  }
}

.top__interview .interview__index .item:hover .ph img {
  opacity: .8
}

.top__interview .interview__index .item:hover .name {
  opacity: 1
}

@media (max-width:800px) {
  .top__interview .interview__index .item+.item {
    margin-top: 40px
  }
}

@media (min-width:801px) {
  .top__interview .interview__index .item+.item {
    margin-left: 30px
  }
}

.top__interview .interview__index .ph {
  position: relative;
  background-color: #000
}

.top__interview .interview__index .ph:before {
  content: "";
  display: block;
  padding-top: 138.0597%
}

.top__interview .interview__index .ph .name {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 0 7px 10px;
  opacity: .5
}

.top__interview .interview__index .ph img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease
}

.top__interview .interview__index .name {
  font-family: var(--font-en);
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color-highlight);
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease
}

@media (min-width:600px) {
  .top__interview .interview__index .name {
    font-size: 28px
  }
}

@media (min-width:1025px) {
  .top__interview .interview__index .name {
    font-size: 30px
  }
}

.top__interview .interview__index .title {
  font-weight: 700;
  color: var(--color-gray-text);
  font-size: 18px;
  letter-spacing: 0;
  text-align: left;
  line-height: 1.6
}

@media (min-width:600px) {
  .top__interview .interview__index .title {
    font-size: 20px
  }
}

@media (min-width:1025px) {
  .top__interview .interview__index .title {
    font-size: 22px
  }
}

.top__interview .interview__index .ph+.title {
  margin-top: 15px
}

@media (min-width:600px) {
  .top__interview .interview__index .ph+.title {
    margin-top: 20px
  }
}

.top__navi--article {
  padding: 70px 0 0
}

@media (min-width:851px) {
  .top__navi--article .section__inner {
    width: auto
  }
}

@media (max-width:850px) {
  .top__navi--article .article__index .item+.item {
    margin-top: 60px
  }
}

@media (min-width:851px) {
  .top__navi--article .article__index {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .top__navi--article .article__index .item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 50%;
    padding-left: 60px
  }
}

.top__navi--article .article__index .head {
  margin-bottom: 60px
}

@media (min-width:851px) {
  .top__navi--article .article__index .head {
    margin-bottom: 90px
  }
}

.top__navi--article .article__index .lower {
  margin: auto 0 0;
  display: block
}

@media (min-width:1201px) {
  .top__navi--article .article__index .lower {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.top__navi--article .article__index .lower:hover .btn--link-transparent.wh {
  color: var(--color-primary)
}

.top__navi--article .article__index .lower:hover .btn--link-transparent.wh i svg .svg--fill {
  fill: var(--color-primary)
}

.top__navi--article .article__index .more {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

@media (max-width:1200px) {
  .top__navi--article .article__index .more {
    margin-bottom: 30px
  }
}

@media (max-width:850px) {
  .top__navi--article .article__index .more {
    text-align: right
  }
}

.top__navi--article .article__index .ph {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.top__navi--article .article__index .ph img {
  width: 100%
}

@media (max-width:850px) {
  .top__navi--article .article__index .ph {
    margin: 0 -28px
  }
}

@media (min-width:1201px) {
  .top__navi--article .article__index .ph {
    margin-left: 35px
  }
}

@media (min-width:851px) {
  .top__navi--etc {
    padding: 100px 0
  }
}

@media (min-width:851px) {
  .top__navi--etc .section__inner {
    width: auto
  }
}

@media (min-width:851px) {
  .top__navi--etc .etc__index {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 60px
  }
}

.top__navi--etc .etc__index .item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column
}

.top__navi--etc .etc__index .item:hover .btn--link-transparent {
  color: var(--color-primary)
}

.top__navi--etc .etc__index .item:hover .btn--link-transparent i svg .svg--fill {
  fill: var(--color-primary)
}

@media (max-width:1200px) and (min-width:851px) {
  .top__navi--etc .etc__index .item {
    width: calc((100% - 100px)/ 2)
  }
  .top__navi--etc .etc__index .item:not(:nth-child(2n+1)):before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -50px;
    background-color: #a2a2a3
  }
  .top__navi--etc .etc__index .item:nth-child(n+3) {
    margin-top: 100px
  }
  .top__navi--etc .etc__index .item:nth-child(2n+1):not(:nth-child(1)):before {
    content: "";
    display: block;
    width: calc(200% + 100px);
    height: 2px;
    background-color: #a2a2a3;
    position: absolute;
    top: -50px;
    left: 0
  }
}

@media (max-width:850px) {
  .top__navi--etc .etc__index .item+.item {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 2px solid #a2a2a3
  }
}

@media (min-width:1201px) {
  .top__navi--etc .etc__index .item {
    width: calc((100% - 200px)/ 3)
  }
  .top__navi--etc .etc__index .item:not(:nth-child(3n+1)):before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -50px;
    background-color: #a2a2a3
  }
  .top__navi--etc .etc__index .item:nth-child(3n+1):not(:nth-child(1)):before {
    content: "";
    display: block;
    width: calc(300% + 200px);
    height: 2px;
    background-color: #a2a2a3;
    position: absolute;
    top: -50px;
    left: 0
  }
  .top__navi--etc .etc__index .item:nth-child(n+4) {
    margin-top: 100px
  }
}

.top__navi--etc .etc__index .head {
  margin-bottom: 50px
}

@media (min-width:851px) {
  .top__navi--etc .etc__index .head {
    margin-bottom: 60px
  }
}

.top__navi--etc .etc__index .more {
  text-align: right;
  margin: auto 0 0
}

.entry__form input[type=email]::-webkit-input-placeholder, .entry__form input[type=search]::-webkit-input-placeholder, .entry__form input[type=text]::-webkit-input-placeholder, .entry__form textarea::-webkit-input-placeholder {
  color: #8c8c8d
}

.entry__form input[type=email]:-ms-input-placeholder, .entry__form input[type=search]:-ms-input-placeholder, .entry__form input[type=text]:-ms-input-placeholder, .entry__form textarea:-ms-input-placeholder {
  color: #8c8c8d
}

.entry__form input[type=email]::placeholder, .entry__form input[type=search]::placeholder, .entry__form input[type=text]::placeholder, .entry__form textarea::placeholder {
  color: #8c8c8d
}

.entry__content {
  width: calc(100% - (28px * 2));
  max-width: 870px;
  margin: auto;
  padding-top: 80px
}

@media (min-width:600px) {
  .entry__content {
    padding-top: 100px;
    max-width: 550px;
  }
}
@media (min-width:768px) {
  .entry__content {
    max-width: 718px;
  }
}

@media (min-width:820px) {
  .entry__content {
    max-width: 770px;
  }
}



@media (min-width:1025px) {
  .entry__content {
    padding-top: 120px
  }
}

.entry__form input[type=email], .entry__form input[type=search], .entry__form input[type=text], .entry__form input[type=tel], .entry__form textarea {
  color: var(--color-darkest);
  font-size: inherit;
  line-height: 1.5;
  padding: 1em;
  background-color: #fff
}

.entry__form input[type=email]:focus, .entry__form input[type=search]:focus, .entry__form input[type=text]:focus, .entry__form textarea:focus {
  outline: 0
}

.entry__form input[type=email], .entry__form input[type=text], .entry__form input[type=tel], .entry__form select {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 56px;
  border: 1px solid #DDDDDD;
}

.entry__form select {
  padding-left: 1em;
}

select {
  -webkit-appearance: none;
  appearance: none; /* デフォルトの矢印を非表示 */
}
select::-ms-expand {
  display: none; /* デフォルトの矢印を非表示(IE用) */
}

.select_box {
  position: relative;
}

.select_box::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 13px solid #C4C4C4;
  right: 1em;
  top: 39%;
}

.entry__form .tel {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.entry__form .tel input[type=text] {
  width: 30%;
}

.required {
  background: #C4C4C4;
  color: var(--color-highlight);
  padding: 5px 20px;
  margin-right: 10px;
  font-size: 14px;
}
.free {
  width: 68.38px;
  display: inline-block;
  content: "";
  margin-right: 10px;
}

@media (min-width:600px) {
  .entry__form input[type=email], .entry__form input[type=text], .entry__form input[type=tel], .entry__form select {
    height: 45px
  }
}

.entry__form textarea {
  width: 100%;
  min-height: 284px;
  min-width: 100%;
  max-width: 100%;
  resize: none
}

.entry__form input[type=checkbox], .entry__form input[type=radio] {
  display: none
}

.entry__form input[type=checkbox]+span, .entry__form input[type=radio]+span {
  display: block;
  padding-left: 30px;
  position: relative;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent
}

.entry__form input[type=checkbox]+span:before, .entry__form input[type=radio]+span:before {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  background-color: var(--color-highlight);
  position: absolute;
  top: .1em;
  left: 0;
  border: 1px solid #DDDDDD;
}

.entry__form input[type=checkbox]+span:after, .entry__form input[type=radio]+span:after {
  content: "";
  display: block;
  width: 12px;
  height: 7px;
  border-left: 2px solid var(--color-darkest);
  border-bottom: 2px solid var(--color-darkest);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 7px;
  left: 5px;
  opacity: 0
}

.entry__form input[type=checkbox]:checked+span:after, .entry__form input[type=radio]:checked+span:after {
  opacity: 1
}

.entry__form .mwform-checkbox-field {
  display: block
}

.entry__form .input-file {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 56px;
  position: relative
}

@media (min-width:600px) {
  .entry__form .input-file {
    height: 45px
  }
}

.entry__form .input-file.selected .delete {
  opacity: 1;
  pointer-events: auto
}

.entry__form .input-file label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%
}

.entry__form .input-file input[type=file] {
  display: none
}

.entry__form .input-file .filename {
  padding-right: 40px
}

.entry__form .input-file .btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  padding: 5px 30px 5px 15px;
  background-color: var(--color-highlight);
  color: var(--color-darkest);
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border: 1px solid #DDDDDD;
  border-right: none;
  position: relative;
  cursor: pointer
}

.entry__form .input-file .btn:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 3px 0 3px;
  border-color: var(--color-darkest) transparent transparent transparent;
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -2px
}

.entry__form .input-file .delete {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 25px;
  height: 25px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color-darkest);
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  opacity: 0;
  pointer-events: none
}

.entry__form .privacy {
  color: var(--color-darkest);
  font-size: inherit;
  line-height: 1.75;
  padding: 2em;
  background-color: #fff;
  max-height: 300px;
  overflow-y: auto;
  min-height: 200px;
  border: 1px solid #DDDDDD;
}

.entry__form .privacy h1, .entry__form .privacy h2, .entry__form .privacy h3, .entry__form .privacy h4 {
  font-weight: 700;
  margin: 2em 0 1em
}

.entry__form .privacy h1:first-child, .entry__form .privacy h2:first-child, .entry__form .privacy h3:first-child, .entry__form .privacy h4:first-child {
  margin-top: 0
}

.entry__form .privacy h1:last-child, .entry__form .privacy h2:last-child, .entry__form .privacy h3:last-child, .entry__form .privacy h4:last-child {
  margin-bottom: 0
}

.entry__form .privacy h1 {
  margin-bottom: 1.5em
}

.entry__form .privacy p {
  margin: .5em 0
}

.entry__form .privacy p:first-child {
  margin-top: 0
}

.entry__form .privacy p:last-child {
  margin-bottom: 0
}

.entry__form .privacy hr {
  border: none;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #8c8c8d;
  margin: 2em 0
}

.entry__form .privacy hr:first-child {
  margin-top: 0
}

.entry__form .privacy hr:last-child {
  margin-bottom: 0
}

.entry__form .privacy table {
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #8c8c8d;
  font-size: .8em;
  line-height: 1.5
}

.entry__form .privacy table td, .entry__form .privacy table th {
  border: 1px solid #8c8c8d;
  padding: .5em .75em
}

.entry__form .privacy table th {
  background-color: #f0f0f0;
  vertical-align: middle
}

.entry__form .privacy--agreement {
  margin: 30px 0 0
}

.entry__form .privacy--agreement:first-child {
  margin-top: 0
}

.entry__form .privacy--agreement:last-child {
  margin-bottom: 0
}

@media (max-width:599px) {
  .entry__form .submit {
    text-align: center;
  }

  .entry__form .submit button[type=submit], .entry__form .submit input[type=submit] {
    margin: auto;
  }
}

.entry__form .submit .back, .entry__form .submit .backtotop, .entry__form .submit button[type=submit], .entry__form .submit input[type=submit] {
  min-width: 240px;
  min-height: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #333333;
  border: 1px solid var(--color-highlight);
  color: var(--color-highlight);
  border-radius: 5px;
  font-weight: 700;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease
}
.entry__form .submit--input {
  margin-top: 80px;
}
.entry__form .submit--input .g_confirmb {
  margin: 0 auto;
  position: relative;
  max-width: 600px;
  width: 100%;
}
.entry__form .submit--input .g_confirmb::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: #FFF #FFF transparent transparent;
  transform: rotate(45deg);
  right: 1em;
}

.submit.submit--confirm {
  margin-top: 80px;
}

.submit.submit--confirm ul {
  display: flex;
  justify-content: center;
}


.submit.submit--confirm ul li:first-child {
  margin-right: 20px;
}
.submit.submit--confirm ul li .back {
  position: relative;
}
.submit.submit--confirm ul li .back::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: #FFF #FFF transparent transparent;
  transform: rotate(225deg);
  left: 1em;
}
.submit.submit--confirm ul li .submit {
  position: relative;
}
.submit.submit--confirm ul li .submit::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: #FFF #FFF transparent transparent;
  transform: rotate(45deg);
  right: 1em;
}

.entry__form .submit .back:hover, .entry__form .submit .backtotop:hover, .entry__form .submit button[type=submit]:hover, .entry__form .submit input[type=submit]:hover {
  color: var(--color-highlight);
  background-color: var(--color-darkest)
}

.entry__form .submit .back {
  background-color: var(--color-gray-text);
  border-color: var(--color-gray-text);
  color: var(--color-highlight)
}

.entry__form .submit .backtotop {
  max-width: 230px
}

@media (max-width:599px) {
  .entry__form .submit>ul {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: inline-block;
  }
  .submit.submit--confirm ul li:first-child {
    margin-right: 0;
  }
  .entry__form .submit>ul li+li {
    margin-top: 10px
  }
}

.entry__form .is-error input[type=email], .entry__form .is-error input[type=search], .entry__form .is-error input[type=text], .entry__form .is-error textarea {
  background-color: #ffebe5
}

.entry__form .error {
  font-size: 13px;
  font-weight: 700;
  margin: .5em 0 0;
  display: inline-block;
}

.error {
  color: red;
}

.entry__form .error * {
  /* color: red; */
}

.attention {
  font-size: 90%;
  text-indent: -1em;
  padding-left: 1em;
}

.entry__form>dl {
  font-size: 16px;
  line-height: 1.4
}

.entry__form>dl+dl {
  margin-top: 40px
}

@media (min-width:600px) {
  .entry__form>dl+dl {
    margin-top: 65px
  }
}

@media (min-width:600px) {
  .entry__form>dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.entry__form>dl>dt {
  color: #000;
  font-weight: 700;
  text-align: left
}

@media (max-width:599px) {
  .entry__form>dl>dt {
    margin-bottom: .75em
  }
  .free {
    width: 0;
  }
}

@media (min-width:600px) {
  .entry__form>dl>dt {
    width: 225px;
    padding: 12px 1em 0 0
  }
}

@media (min-width:1025px) {
  .entry__form>dl>dt {
    width: 275px
  }
}

@media (min-width:600px) {
  .entry__form>dl>dd {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

.entry__form>dl>dd>ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -20px;
  margin-right: -25px;
  padding-top: 12px
}

.entry__form>dl>dd>ul li {
  margin: 0 25px 20px 0
}

@media (min-width:600px) {
  .entry__form.conform>dl dt {
    padding-top: 0
  }
}

.entry__form.thanks {
  text-align: center
}

.entry__form.thanks .submit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 60px auto -20px
}

.entry__form.thanks .submit li {
  margin: 0 15px 20px
}

.js--slideshow .slide .inner, .js--slideshow .slide .outer, .js--topKV .slideshow .slide .inner, .js--topKV .slideshow .slide .outer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.js--slideshow .slide .outer, .js--topKV .slideshow .slide .outer {
  overflow: hidden;
  -webkit-transform: translateX(-101%);
  -ms-transform: translateX(-101%);
  transform: translateX(-101%)
}

.js--slideshow .slide .inner, .js--topKV .slideshow .slide .inner {
  -webkit-transform: translateX(101%);
  -ms-transform: translateX(101%);
  transform: translateX(101%)
}

.js--topKV .slideshow {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 2s ease;
  transition: opacity 2s ease
}

.js--topKV .firstview__scroll {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity .5s ease 2s;
  transition: opacity .5s ease 2s
}

.js--topKV.inited .firstview__scroll, .js--topKV.inited .slideshow {
  visibility: visible;
  opacity: 1
}

.js--topKV2:not(.inited) {
  pointer-events: none
}

.js--topKV2 .ph--bg {
  opacity: 0
}

.js--topKV2 .firstview__scroll {
  opacity: 0
}

.js--topKV2 .catch img {
  opacity: 0
}

.js--topKV2 .catch .chr1 {
  -webkit-transform: translateY(-3%);
  -ms-transform: translateY(-3%);
  transform: translateY(-3%)
}

.js--topKV2 .catch .chr2 {
  -webkit-transform: translateX(-3%);
  -ms-transform: translateX(-3%);
  transform: translateX(-3%)
}

.js--fadein {
  opacity: 0;
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px)
}

@media (max-width:599px) {
  .js--fadein {
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px)
  }
}

.js--fadein--order .js--child {
  opacity: 0;
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px)
}

@media (max-width:599px) {
  .js--fadein--order .js--child {
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px)
  }
}

.js--mask--l, .js--mask--ph, .js--mask--r {
  overflow: hidden;
  vertical-align: top;
  position: relative
}

.pageready .js--mask--l, .pageready .js--mask--ph, .pageready .js--mask--r {
  visibility: hidden
}

.js--mask--l.mask--absolute .js--mask--i, .js--mask--l.mask--absolute .js--mask--o, .js--mask--ph.mask--absolute .js--mask--i, .js--mask--ph.mask--absolute .js--mask--o, .js--mask--r.mask--absolute .js--mask--i, .js--mask--r.mask--absolute .js--mask--o {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.js--mask--l .js--mask--curtain {
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right
}

.js--mask--r .js--mask--curtain {
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left
}

.js--mask--i, .js--mask--o {
  display: block;
  position: relative;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  vertical-align: top;
  max-height: 999999px
}

.js--mask--curtain {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  will-change: transform
}

.js--mask--curtain.curtain--blue {
  background-color: var(--color-primary)
}

.js--mask--curtain.curtain--blk {
  background-color: var(--color-darkest)
}

.js--mask--curtain.curtain--grad {
  background-color: none;
  background: var(--color-grad);
  background-size: 100% 150%;
  background-position: 0 100%
}

.pageready .js--mask--curtain {
  visibility: hidden
}

.js--mask--order .js--child--l .js--mask--curtain {
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right
}

.js--mask--order .js--child--r .js--mask--curtain {
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left
}

.js--mask--open {
  overflow: visible
}

.js--mask--open>.js--mask--o {
  overflow: visible
}

.js--mask--open>.js--mask--o .js--mask--i {
  overflow: visible
}

.js--count {
  display: inline-block;
  white-space: nowrap;
  text-align: right
}

.js--zoomfig .zoomfig__fig {
  overflow: hidden;
  position: relative
}

.js--zoomfig .zoomfig__fig .scale1 {
  -ms-touch-action: pan-y!important;
  touch-action: pan-y!important
}

.js--zoomfig .zoomfig__fig img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.js--zoomfig .zoomfig__icon {
  width: 36px;
  height: 36px;
  margin: 40px auto;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNiAzNiI+PHBhdGggZD0iTTQsNi44MjhsOS4yOTIsOS4yOTIsMi44MjgtMi44MjhMNi44MjgsNGg1Ljk3MVYwSDBWMTIuNjEySDRWNi44MjhabTkuNDkyLDEyLjg1M0w0LDI5LjE3MnYtNS43ODVIMHYxMi42MTJIMTIuOHYtNEg2LjgyOGw5LjQ5Mi05LjQ5Mi0yLjgyOC0yLjgyOFptMTguNTA4LDkuNDkybC05LjA5Mi05LjA5Mi0yLjgyOCwyLjgyOCw5LjA5MSw5LjA5MmgtNS45NzF2NGgxMi44di0xMi42MTVoLTR2NS43ODhaTTIzLjIsMFY0aDUuOTcxbC04Ljg5MSw4Ljg5MiwyLjgyOCwyLjgyOCw4Ljg5Mi04Ljg5MnY1Ljc4OGg0VjBoLTEyLjhaIiBzdHlsZT0iZmlsbDogIzAzNDhhZDsiLz48L3N2Zz4=)
}

.navi-open {
  overflow: hidden
}

.win .navi-open {
  overflow: auto
}

body {
  -webkit-transition: opacity 250ms ease;
  transition: opacity 250ms ease
}

.wf-loading body {
  opacity: 0
}

.name-f-1:after {
  content: "H.AKIO"
}

.name-f-2:after {
  content: "N.MASAHIRO"
}

.name-f-3:after {
  content: "I.NOBUAKI"
}

.name-f-4:after {
  content: "Y.YAMAGUCHI"
}

.name-f-5:after {
  content: "T.ARIIZUMI"
}

.name-f-6:after {
  content: "R.HARA"
}

.name-f-7:after {
  content: "S.OH"
}

.name-f-8:after {
  content: "A.INAMITSU"
}

.name-f-9:after {
  content: "T.USHIDA"
}

.name-f-10:after {
  content: "K.SATO"
}

.name-f-11:after {
  content: "T.HORIGUCHI"
}

.name-f-12:after {
  content: "S.YODOGAWA"
}

.name-f-13:after {
  content: "Y.ASANO"
}

.name-f-14:after {
  content: "A.OSEKI"
}

.name-i-1:after {
  content: "N.MASAHIRO"
}

.name-i-2:after {
  content: "I.NOBUAKI"
}

.name-i-3:after {
  content: "H.AKIO"
}

.name-m-1:after {
  content: "S.TAKUYA"
}

.name-c-1:after {
  content: "淀川"
}

.name-c-2:after {
  content: "浅野"
}

.name-p-1-1:after {
  content: "安藤"
}

.name-p-1-2:after {
  content: "加藤"
}

.name-p-2-1:after {
  content: "堀口"
}

.name-p-2-2:after {
  content: "牛田"
}

.mg-0 {
  margin: 0 !important;
}

.mgt-0 {
  margin-top: 0 !important;
}

.ind-6em {
  text-indent: 6em;
}

