@charset "utf-8";
/* CSS Document */ :root {
  --thin-blue: #3074a7;
  --dark-blue: #1e537b;
  --back-black: #001e43;
  --header-height: 68px
}
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
html {
  font-size: .625rem
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
body::-webkit-scrollbar {
  display: none
}
a {
  display: block;
  color: #001e43
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
  padding: 0;
  background-color: rgba(255, 255, 255, 0)
}
.js-focus-visible :focus:not(.focus-visible) {
  outline: 0
}
img {
  width: auto;
  height: auto
}

.container__inner {
  overflow: hidden
}
.lBackground {
  background-image: url("../img/back.jpg");
  background-size: 100% auto;
  background-position: 50% 0
}
@media screen and (min-width: 768px) {
  :root {
    --header-height: 110px
  }
  .lBackground {
    background-image: url("../img/back.jpg")
  }
  a[href^="tel:"] {
    pointer-events: none
  }
}
.lHeader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  z-index: 10
}
.lHeader__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 15px
}
.lHeader__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
.lHeader__logo--text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
  letter-spacing: .04em;
  color:#fff;
}

.lHeader__logo--text--b {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
  letter-spacing: .04em;
}
.lHeader__logo--image {
  width: 250px;
  height: 140px
}
.lHeader__logo--ie {
  display: none
}
.lHeader__logo--recruit {
  display: none
}
.lHeader__menuButton {
  position: relative;
  width: var(--header-height);
  height: var(--header-height);
  background-color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .05em
}
@media(hover) {
  .lHeader__menuButton:hover::before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right
  }
  .lHeader__menuButton:hover > span {
    color: #000
  }
}
.lHeader__menuButton > span {
  position: relative;
  z-index: 1;
  color: #fff;
  -webkit-transition: color .3s ease;
  transition: color .3s ease
}
.lHeader__menuButton::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0 0 0 0;
  background-color: #001e43;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease
}
.lHeader__menuButton--close {
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1
}
.lHeader__menuButton--close > span {
  pointer-events: none
}
.lHeader__menuButton--open, .lHeader__menuButton--close {
  -webkit-transition: opacity .4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity .4s cubic-bezier(0.19, 1, 0.22, 1)
}
.lHeader--fixed {
  position: fixed;
  background-color: rgba(0,30,67,1); /* 画像ではなく背景色に変更 */
  background-size: cover;
  background-position: top;
  border-bottom: 1px #001e43 solid;
  z-index: 1000;
  visibility: hidden;
}

.lHeader--menu {
  opacity: 0;
  background-color: rgba(0,30,67,1); /* 画像ではなく背景色に変更 */
  background-size: cover;
  background-position: top;
  border-bottom: 1px #001e43 solid;
  -webkit-transition: opacity .4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity .4s cubic-bezier(0.19, 1, 0.22, 1);
}

.lHeader--recruit {
  --header-height: 55px;
  z-index: 1000
}
.lHeader--recruit.lHeader--fixed {
  background-color: #fff;
  background-image: none
}
.lHeader--recruit .lHeader__wrapper {
  padding-left: 20px
}
.lHeader--recruit .lHeader__menuButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden
}
.lHeader--recruit .lHeader__menuButton > span {
  position: absolute;
  left: 0;
  right: 0;
  top: calc((100% - 2px) / 2);
  display: block;
  width: 21px;
  height: 2px;
  margin: auto;
  background-color: #fff;
  -webkit-transition: margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease, -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease, -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .4s cubic-bezier(0.39, 0.575, 0.565, 1), margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease;
  transition: transform .4s cubic-bezier(0.39, 0.575, 0.565, 1), margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease, -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.lHeader--recruit .lHeader__menuButton > span:nth-child(1) {
  margin-top: -7px
}
.lHeader--recruit .lHeader__menuButton > span:nth-child(3) {
  margin-top: 7px
}
@media(hover) {
  .lHeader--recruit .lHeader__menuButton:hover > span {
    background-color: #001e43
  }
}
.lHeader--recruit .lHeader__logo--image {
  width: 250px;
  height: 140px;
}
.menuOpen .lHeader__menuButton--close {
  opacity: 1
}
.menuOpen .lHeader--menu {
  opacity: 1
}
.menuOpen .lHeader--recruit .lHeader__menuButton > span {
  margin-top: 0
}
.menuOpen .lHeader--recruit .lHeader__menuButton > span:nth-child(1) {
  -webkit-transform: rotate(-315deg);
  transform: rotate(-315deg)
}
.menuOpen .lHeader--recruit .lHeader__menuButton > span:nth-child(2) {
  -webkit-transform: translateX(200%);
  transform: translateX(200%)
}
.menuOpen .lHeader--recruit .lHeader__menuButton > span:nth-child(3) {
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg)
}
.js .ie {
  display: none
}
.no-js .lHeader--fixed {
  display: none
}
.no-js .lHeader__logo a {
  display: none
}
.no-js .lHeader__logo .ie {
  display: block
}
@media screen and (min-width: 768px) {
  .js .lHeader {
    mix-blend-mode: difference
  }
  .js .lHeader__logo--text {
    color: #fff
  }
  .js .lHeader__menuButton {
    background-color: #001e43
  }
  .js .lHeader__menuButton::before {
    background-color: #fff
  }
  .js .lHeader__menuButton > span {
    color: #001e43
  }
  .js .lHeader__menuButton:hover > span {
    color: #fff
  }
  .js .lHeader--recruit {
    mix-blend-mode: normal
  }
  .js .lHeader--recruit .lHeader__menuButton {
    background-color: #fff
  }
  .js .lHeader--recruit .lHeader__menuButton::before {
    background-color: #001e43
  }
  .lHeader {
    position: fixed;
    z-index: 1000
  }
  .lHeader__wrapper {
    padding-left: 40px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
  .lHeader__logo {
    margin-bottom: 8px
  }
  .lHeader__logo--text {
    font-size: 13px;
    letter-spacing: .08em
  }
  .lHeader__logo--image {
    width: 222px;
    height: 36px
  }
  .lHeader__logo--recruit {
    position: fixed;
    top: 23px;
    left: 30px;
    display: block;
    width: 211px;
    height: 32px;
    z-index: 1000;
    mix-blend-mode: difference
  }
  .lHeader__logo--recruit.is-mix {
    mix-blend-mode: normal
  }
  .lHeader--menu {
    display: none
  }
  .lHeader--recruit .lHeader__wrapper {
    padding-left: 30px
  }
  .lHeader--recruit .lHeader__logo {
    visibility: hidden;
    pointer-events: none
  }
  .lHeader--recruit .lHeader__menuButton > span {
    width: 30px
  }
  .lHeader--recruit .lHeader__menuButton > span:nth-child(1) {
    margin-top: -9.5px
  }
  .lHeader--recruit .lHeader__menuButton > span:nth-child(3) {
    margin-top: 10.5px
  }
  .menuOpen .lHeader--recruit .lHeader__menuButton > span {
    margin-top: 0
  }
}
.lMenu {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 10000
}
.lMenu__inner {
  position: relative;
  width: 100%;
  height: calc(100% - var(--header-height));
  background-color: rgba(0, 0, 0, .54);
  margin-top: var(--header-height)
}
.lMenu__wrapper {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 450px;
  height: 100%;
  background-color: rgba(0,30,67,0.65);
}
.lMenu__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 30px
}
.lMenu__closeButton {
  display: none;
  position: absolute;
  top: 45px;
  right: 32px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .05em;
  -webkit-transition: opacity .4s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity .4s cubic-bezier(0.19, 1, 0.22, 1)
}
.lMenu__closeButton > span {
  pointer-events: none;
 color:#fff;
}
@media(hover) {
  .lMenu__closeButton:hover {
    opacity: .8
  }
}
.lMenu__navItem:nth-child(n+2) {
  margin-top: 3rem
}
.lMenu__navItem a {
  display: inline-block;
  font-size: 1.9rem;
  font-weight: 500;
  color:#fff;
  letter-spacing: .02em;
  -webkit-transition: color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .6s cubic-bezier(0.19, 1, 0.22, 1)
}
@media(hover) {
  .lMenu__navItem a:hover {
    color: var(--dark-blue)
  }
}
.lMenu__recruitLink {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  width: 100%;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: .02em;
  margin-top: 6rem;
  padding: 2rem 0 2.2rem
}
.lMenu__recruitLink > span {
  position: relative;
  color: #fff;
  -webkit-transition: color .3s cubic-bezier(1, 0, 0, 1);
  transition: color .3s cubic-bezier(1, 0, 0, 1);
  z-index: 1
}
.lMenu__recruitLink::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #001e43;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@media(hover) {
  .lMenu__recruitLink:hover::before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right
  }
  .lMenu__recruitLink:hover > span {
    color: #001e43
  }
}
.lMenu__snsLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 7rem 0 -3rem
}
.lMenu__facebookLink, .lMenu__instagramLink {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: .02em;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .6rem;
  -webkit-transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1), -webkit-text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1);
  margin-bottom: 3rem
}
.lMenu__facebookLink--icon svg path, .lMenu__instagramLink--icon svg path {
  -webkit-transition: stroke .3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: stroke .3s cubic-bezier(0.19, 1, 0.22, 1)
}
@media(hover) {
  .lMenu__facebookLink:hover, .lMenu__instagramLink:hover {
    color: var(--dark-blue);
    -webkit-text-decoration-color: var(--dark-blue);
    text-decoration-color: var(--dark-blue)
  }
  .lMenu__facebookLink:hover .lMenu__facebookLink--icon svg path, .lMenu__instagramLink:hover .lMenu__facebookLink--icon svg path {
    stroke: var(--dark-blue)
  }
}
.lMenu__facebookLink {
  margin-right: 3rem
}
.lMenu--recruit {
  --header-height: 55px
}
.lMenu--recruit .lMenu__closeButton {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--header-height);
  height: var(--header-height);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  overflow: hidden;
  z-index: 1
}
.lMenu--recruit .lMenu__closeButton::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0 0 0 0;
  background-color: #001e43;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease
}
.lMenu--recruit .lMenu__closeButton > span {
  position: absolute;
  left: 0;
  right: 0;
  top: calc((100% - 2px) / 2);
  display: block;
  width: 21px;
  height: 2px;
  margin: auto;
  background-color: #fff;
  -webkit-transition: margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease, -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease, -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .4s cubic-bezier(0.39, 0.575, 0.565, 1), margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease;
  transition: transform .4s cubic-bezier(0.39, 0.575, 0.565, 1), margin-top .4s cubic-bezier(0.39, 0.575, 0.565, 1), background-color .3s ease, -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.lMenu--recruit .lMenu__closeButton > span:nth-child(1) {
  margin-top: -5.5px
}
.lMenu--recruit .lMenu__closeButton > span:nth-child(3) {
  margin-top: 6.5px
}
@media(hover) {
  .lMenu--recruit .lMenu__closeButton:hover {
    opacity: 1
  }
  .lMenu--recruit .lMenu__closeButton:hover > span {
    background-color: #001e43
  }
  .lMenu--recruit .lMenu__closeButton:hover::before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right
  }
}
.menuOpen .lMenu--recruit .lMenu__closeButton > span {
  margin-top: 0
}
.menuOpen .lMenu--recruit .lMenu__closeButton > span:nth-child(1) {
  -webkit-transform: rotate(-315deg);
  transform: rotate(-315deg)
}
.menuOpen .lMenu--recruit .lMenu__closeButton > span:nth-child(2) {
  -webkit-transform: translateX(200%);
  transform: translateX(200%)
}
.menuOpen .lMenu--recruit .lMenu__closeButton > span:nth-child(3) {
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg)
}
.lMenu {
  visibility: hidden;
  pointer-events: none
}
.lMenu.is-open {
  visibility: visible;
  pointer-events: all
}
.lMenu__inner, .lMenu__wrapper {
  will-change: transform
}
.lMenu[aria-hidden=false] .lMenu__inner {
  -webkit-animation: mmfadeIn .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmfadeIn .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.lMenu[aria-hidden=false] .lMenu__wrapper {
  -webkit-animation: mmslideIn .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmslideIn .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.lMenu[aria-hidden=true] .lMenu__inner {
  -webkit-animation: mmfadeOut .6s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmfadeOut .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.lMenu[aria-hidden=true] .lMenu__wrapper {
  -webkit-animation: mmslideOut .6s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmslideOut .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@-webkit-keyframes mmfadeIn {
  from {
    background-color: rgba(0, 0, 0, 0)
  }
  to {
    background-color: rgba(0, 0, 0, .54)
  }
}
@keyframes mmfadeIn {
  from {
    background-color: rgba(0, 0, 0, 0)
  }
  to {
    background-color: rgba(0, 0, 0, .54)
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    background-color: rgba(0, 0, 0, .54)
  }
  to {
    background-color: rgba(0, 0, 0, 0)
  }
}
@keyframes mmfadeOut {
  from {
    background-color: rgba(0, 0, 0, .54)
  }
  to {
    background-color: rgba(0, 0, 0, 0)
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }
}
@media screen and (min-width: 768px) {
  .lMenu__inner {
    height: 100%;
    margin-top: 0
  }
  .lMenu__wrapper {
    max-width: 31.6vw;
    background-image: url(../image/background-pc.jpg);
    background-size: 200% auto
  }
  .lMenu__contents {
    padding: 120px 80px 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
  .lMenu__navItem:nth-child(n+2) {
    margin-top: 5rem
  }
  .lMenu__navLink {
    font-size: 2rem;
	color:#fff;
  }
  .lMenu__recruitLink {
    font-size: 2rem;
    margin-top: 8rem
  }
  .lMenu__snsLink {
    position: absolute;
    left: 80px;
    bottom: 60px;
    margin-top: 0
  }
  .lMenu__closeButton {
    display: block
  }
  .lMenu--recruit .lMenu__closeButton {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    --header-height: 77px
  }
  .lMenu--recruit .lMenu__closeButton > span {
    width: 30px
  }
  .lMenu--recruit .lMenu__closeButton > span:nth-child(1) {
    margin-top: -9.5px
  }
  .lMenu--recruit .lMenu__closeButton > span:nth-child(3) {
    margin-top: 10.5px
  }
  .menuOpen .lMenu--recruit .lMenu__closeButton > span {
    margin-top: 0
  }
}
.no-js .lMenu__inner {
  height: 100% !important;
  margin-top: 0 !important
}
.movieModal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000
}
.movieModal__inner {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .6)
}
.movieModal__wrapper {
  position: relative;
  width: 100%;
  height: 100%
}
.movieModal__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 20px
}
.movieModal__frame {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%
}
.movieModal__frame iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.movieModal__close {
  position: absolute;
  top: -10.67vw;
  right: 5.33vw;
  width: 6.4vw;
  height: 6.4vw
}
.movieModal__close::before, .movieModal__close::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff
}
.movieModal__close::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}
.movieModal__close::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}
.movieModal {
  visibility: hidden;
  pointer-events: none
}
.movieModal.is-open {
  visibility: visible;
  pointer-events: all
}
.movieModal__inner, .movieModal__wrapper {
  will-change: transform
}
.movieModal[aria-hidden=false] .movieModal__inner {
  -webkit-animation: mmfadeIn .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmfadeIn .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.movieModal[aria-hidden=false] .movieModal__wrapper {
  -webkit-animation: mmslideIn .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmslideIn .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.movieModal[aria-hidden=true] .movieModal__inner {
  -webkit-animation: mmfadeOut .6s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmfadeOut .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.movieModal[aria-hidden=true] .movieModal__wrapper {
  -webkit-animation: mmslideOut .6s cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: mmslideOut .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@media screen and (min-width: 768px) {
  .movieModal__contents {
    padding: 0 20vw
  }
  .movieModal__close {
    top: -2.93vw;
    right: 1.46vw;
    width: 2.34vw;
    height: 2.34vw
  }
  .movieModal__frame {
    max-width: 65.89vw
  }
}
.lRecruitButton {
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 90px;
  height: 90px;
  z-index: 1000
}
@media(hover) {
  .lRecruitButton:hover::before {
    -webkit-transform: scale(1.25);
    transform: scale(1.25)
  }
  .lRecruitButton:hover::after {
    --rotate: 360deg;
    --scale: 1.3
  }
}
.lRecruitButton::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../image/recruitButton-background.png) no-repeat center/cover;
  -webkit-transition: -webkit-transform .6s ease-out;
  transition: -webkit-transform .6s ease-out;
  transition: transform .6s ease-out;
  transition: transform .6s ease-out, -webkit-transform .6s ease-out
}
.lRecruitButton::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  height: 80%;
  background: url(../image/recruitButton-circle.svg) no-repeat center/cover;
  -webkit-transform: translate(-50%, -50%) rotate(var(--rotate, 0)) scale(var(--scale, 1));
  transform: translate(-50%, -50%) rotate(var(--rotate, 0)) scale(var(--scale, 1));
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease
}
.lRecruitButton__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family:"Shippori Mincho", serif;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: .05em;
  color: #fff;
  z-index: 1
}
.lRecruitButton--recruit {
  width: 113px;
  height: 113px
}
.lRecruitButton--recruit::after {
  width: 85%;
  height: 85%
}
.lRecruitButton--recruit .lRecruitButton__link {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 14px
}
.lRecruitButton--recruit .lRecruitButton__link .en {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .11em;
  margin-top: 4px
}
@media screen and (min-width: 768px) {
  .lRecruitButton {
    right: 30px;
    bottom: 30px;
    width: 134px;
    height: 134px
  }
  .lRecruitButton__link {
    font-size: 16px
  }
  .lRecruitButton--recruit {
    width: 155px;
    height: 155px
  }
  .lRecruitButton--recruit .lRecruitButton__link {
    font-size: 15px
  }
}
.lScrollBar {
  position: absolute;
  bottom: 0;
  display: none;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 10
}
.lScrollBar__scrollText {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: .05em;
  color: #fff;
  margin-bottom: 1.2rem
}
.lScrollBar__scrollLine {
  position: relative;
  width: 2px;
  height: 6rem;
  overflow: hidden;
  margin: 0 auto
}
.lScrollBar__scrollLine::before, .lScrollBar__scrollLine::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%
}
.lScrollBar__scrollLine::after {
  background-color: #fff;
  -webkit-animation: scrollLine 3s ease-in-out infinite normal;
  animation: scrollLine 3s ease-in-out infinite normal
}
.lScrollBar--about {
  top: 0;
  bottom: auto;
  height: 100vh;
  max-height: calc(74.7vw - 9.3vw);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  mix-blend-mode: difference
}
.lScrollBar--recruit {
  left: 3rem;
  bottom: -2.8vw;
  -webkit-transform: translateY(100%);
  transform: translateY(100%)
}
.lScrollBar--recruit .lScrollBar__scrollText {
  color: #001e43
}
.lScrollBar--recruit .lScrollBar__scrollLine {
  width: 3px
}
.lScrollBar--recruit .lScrollBar__scrollLine::after {
  width: 3px;
  background-color: #001e43
}
@-webkit-keyframes scrollLine {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  15% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
  }
  30% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
}
@keyframes scrollLine {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  15% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
  }
  30% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
}
@media screen and (min-width: 768px) {
  .lScrollBar {
    display: block
  }
  .lScrollBar--about {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}
.lTextContents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.lTextContents__headline {
  font-family:  "Shippori Mincho", serif;
  font-size: 2.8rem;
  letter-spacing: .05em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 0
}
.lTextContents__subHeadline {
  position: relative;
  font-family:  "Shippori Mincho", serif;
  font-size: 1.8rem;
  letter-spacing: .05em;
  line-height: 1.7;
  text-align: center;
  z-index: 1
}
.lTextContents__subHeadline::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10rem;
  height: 10rem;
  border: 3px solid #001e43;
  border-radius: 20%;
  opacity: .08;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1
}
.lTextContents__text {
  font-size: 1.6rem;
  letter-spacing: .02em;
  line-height: 2.0
}
.lTextContents__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: #fff;
  padding: 1.6rem 2rem
}
.lTextContents__link::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0;
  background-color: var(--dark-blue);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: bottom right;
  transform-origin: bottom right;
  -webkit-transition: -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .4s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform .4s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.lTextContents__link--text {
  position: relative;
  font-size: 1.5rem;
  letter-spacing: .02em;
  font-weight: 500;
  -webkit-transition: color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .6s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1
}
.lTextContents__link--icon {
  position: relative;
  width: 2.8rem;
  height: 2.8rem;
  z-index: 1
}
.lTextContents__link--icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../image/button-icon-blue.png) no-repeat top/cover;
  border-radius: 50%;
  -webkit-transition: opacity .8s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity .8s cubic-bezier(0.19, 1, 0.22, 1)
}
.lTextContents__link--icon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../image/button-icon-white.png) no-repeat top/contain;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: opacity .8s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity .8s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate(0);
  transform: translate(0)
}
@media(hover) {
  .lTextContents__link:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left
  }
  .lTextContents__link:hover .lTextContents__link--text {
    color: #fff
  }
  .lTextContents__link:hover .lTextContents__link--icon::before {
    opacity: 0
  }
  .lTextContents__link:hover .lTextContents__link--icon::after {
    opacity: 1
  }
}
@media screen and (min-width: 768px) {
  .lTextContents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
  .lTextContents__headline {
    font-size: 4.2rem;
    letter-spacing: .1em;
    line-height: 1
  }
  .lTextContents__subHeadline {
    font-size: 2.6rem;
    text-align: initial
  }
  .lTextContents__subHeadline::before {
    top: 30%;
    left: 1.5%;
    width: 9.5rem;
    height: 9.5rem
  }
  .lTextContents__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 1.6rem;
    line-height: 2.0
  }
  .lTextContents__link--text {
    font-size: 1.6rem
  }
}
@media screen and (min-width: 1024px) {
  .no-js .lTextContents__subHeadline {
    text-align: left
  }
}
.lRecruitLink__wrapper {
  position: relative;
  background-image: url(../image/recruit-link-back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 0 30px 40px
}
.lRecruitLink__wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--dark-blue);
	border-radius:100px 0 0 0;
  opacity: .9
}
.lRecruitLink__image {
  position: relative;
  top: -66px;
  margin-left: calc(50% - 50vw);
  margin-bottom: -66px
}
.lRecruitLink__image img {
  width: 100%
}
.lRecruitLink__contents {
  position: relative;
  margin-top: 4.1rem;
  color: #fff
}
.lRecruitLink__headline {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.8rem;
  letter-spacing: .05em;
  line-height: 1.5;
  text-align: left
}
.lRecruitLink__headline::before {
  border: 1px solid #fff;
  left: 7%;
  opacity: .2
}
.lRecruitLink__subHeadline {
  font-family:  "Shippori Mincho", serif;
  font-size: 2.2rem;
  letter-spacing: .05em;
  line-height: 1.5;
  margin-top: 4rem
}
.lRecruitLink__text {
  font-size: 1.6rem;
  letter-spacing: .02em;
  line-height: 2.1;
  margin-top: 2rem
}
.lRecruitLink__link {
  max-width: 71.2vw;
  margin-top: 3rem
}
@media screen and (min-width: 768px) {
  .lRecruitLink__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../image/recruit-link-back-pc.jpg) no-repeat center/cover;
    margin-left: 13.2vw;
    padding: 13.2rem 0 12rem
  }
  .lRecruitLink__image {
    top: 0;
    left: -73px;
    margin: 0 -73px 0 0;
    width: 50%;
    max-width: 589px
  }
  .lRecruitLink__contents {
    margin-top: 0;
    margin-left: 100px;
    margin-left: min(7.3vw, 100px)
  }
  .lRecruitLink__headline {
    font-size: 4.2rem;
	font-family: "Shippori Mincho", serif;
  }
  .lRecruitLink__headline > span {
    display: block
  }
  .lRecruitLink__headline::before {
    top: 50%;
    width: 16.3rem;
    height: 16.3rem
  }
  .lRecruitLink__subHeadline {
    margin-top: 9.5rem
  }
  .lRecruitLink__text {
    max-width: 350px;
    font-size: 1.8rem;
    margin-top: 4.7rem
  }
  .lRecruitLink__link {
    max-width: 28.4rem;
    margin-top: 8rem
  }
  .lRecruitLink--about {
    margin-top: -24rem
  }
}
@media screen and (min-width: 1366px) {
  .lRecruitLink__wrapper {
    width: 1186px;
    width: clamp(1186px, calc(50vw + 503px), 1463px)
  }
}
@media screen and (min-width: 1920px) {
  .lRecruitLink__wrapper {
    margin: 0 auto
  }
}
.lFooter {
  position: relative;
  width: 100%;
  background-color: var(--back-black);
  color: #fff
}
.lFooter::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../image/footer-filter.png);
  background-size: 100% auto;
  background-position: 50% 0;
  pointer-events: none
}
.lFooter__wrapper {
  padding: 5rem 30px 3.5rem
}
.lFooter__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.lFooter__logo a {
  display: block
}
.lFooter__logo--image {
  width: 167px;
  height: 96px
}
.lFooter__nav {
  margin-top: 4rem
}
.lFooter__navItem {
  padding: 2rem 0;
  border-top: 1px solid rgba(255, 255, 255, .05)
}
.lFooter__navItem:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, .05)
}
.lFooter__navLink {
  display: inline-block;
  font-size: 1.3rem;
  letter-spacing: .02em;
  color: #fff;
  -webkit-transition: opacity .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity .6s cubic-bezier(0.19, 1, 0.22, 1)
}
@media(hover) {
  .lFooter__navLink:hover {
    opacity: .7
  }
}
.lFooter__recruitLink {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .02em;
  background-color: #001e43;
  margin-top: 4.2rem;
  padding: 2rem 0;
  -webkit-transition: color .3s cubic-bezier(1, 0, 0, 1);
  transition: color .3s cubic-bezier(1, 0, 0, 1)
}
.lFooter__recruitLink > span {
  position: relative;
  z-index: 1
}
.lFooter__recruitLink::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  background-color: #fff;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@media(hover) {
  .lFooter__recruitLink:hover {
    color: #fff
  }
  .lFooter__recruitLink:hover::before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right
  }
}
.lFooter__overview {
  margin-top: 5.4rem;
  color: #fff
}
.lFooter__companyName {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5rem;
  letter-spacing: .05em
}
.lFooter__address {
  font-size: 1.3rem;
  letter-spacing: .02em;
  margin-top: 1.6rem
}
.lFooter__tel {
  font-size: 1.3rem;
  letter-spacing: .02em;
  color: #fff;
  margin-top: .5rem
}
.lFooter__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 3rem
}
.lFooter__facebook, .lFooter__instagram {
  font-size: 1.3rem;
  letter-spacing: .02em;
  color: #fff;
  -webkit-transition: opacity .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity .6s cubic-bezier(0.19, 1, 0.22, 1)
}
@media(hover) {
  .lFooter__facebook:hover, .lFooter__instagram:hover {
    opacity: .7
  }
}
.lFooter__facebook {
  margin-right: 3rem
}
.lFooter__copyright {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: .04em;
  opacity: .24;
  margin-top: 3rem
}
.lFooter__topButton {
  position: absolute;
  top: 0;
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 54px;
  height: 54px
}
.lFooter__topButton::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #001e43;
  border-radius: 50%;
  z-index: 1;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1)
}
.lFooter__topButton::after {
  content: "TOP";
  position: absolute;
  top: 50%;
  left: 51%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20px;
  color: #fff;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2
}
@media(hover) {
  .lFooter__topButton:hover::before {
    -webkit-transform: scale(1.22);
    transform: scale(1.22)
  }
}
.lFooter--recruit {
  margin-top: 9rem
}
@media screen and (min-width: 768px) {
  .lFooter::before {
    background-image: url(../image/footer-filter-pc.png)
  }
  .lFooter--recruit {
    margin-top: 22rem
  }
}
@media screen and (min-width: 1024px) {
  .lFooter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 30px
  }
  .lFooter__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 1073px;
    padding: 9.5rem 0 16rem
  }
  .lFooter__logo {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    position: relative;
    padding-right: 4rem
  }
  .lFooter__logo::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 95%;
    background-color: #fff;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }
  .lFooter__logo--image {
    width: 226px;
    height: 129px
  }
  .lFooter__nav {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-top: 0
  }
  .lFooter__navList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 8rem;
    width: 32.4rem
  }
  .lFooter__navItem {
    padding: 0;
    border: none;
    margin-bottom: 2rem;
    margin-right: 5rem
  }
  .lFooter__navItem:last-child {
    border: none
  }
  .lFooter__navItem:nth-child(n+2) {
    margin-top: 0
  }
  .lFooter__recruitLink {
    width: auto;
    max-width: 14rem;
    margin-top: 0;
    padding: 1.2rem 4rem
  }
  .lFooter__overview {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin: 0 80px 0 4rem
  }
  .lFooter__address {
    margin-top: 2rem
  }
  .lFooter__tel {
    margin-top: 1rem
  }
  .lFooter__copyright {
    position: absolute;
    left: 0;
    bottom: 2.7rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .lFooter__topButton {
    right: 40px;
    width: 74px;
    height: 74px
  }
  .lFooter__topButton::after {
    font-size: 28px
  }
}
@media screen and (min-width: 1366px) {
  .lFooter__wrapper {
    margin-left: -184px
  }
  .lFooter__overview {
    margin: 0 19.2rem 0 4rem
  }
}
.pMainVisual {
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  padding-top: 103px;
  overflow: hidden
}
.pMainVisual__wrapper {
  position: absolute;
  top: 103px;
  left: 0;
  width: 100%;
  height: calc(100% - 103px)
}
.pMainVisual__background {
  position: relative;
  width: 130vw;
  height: 130vw;
  background: url("../img/main/img03.jpg") no-repeat left/cover;
  border-radius: 50% 0 0 50%;
  margin-left: 68px;
  overflow: hidden;
  z-index: 1
}
.pMainVisual__block {
  position: absolute;
  top: 19vw;
  width: 100%
}
.pMainVisual__block--white {
  left: -45px
}
.pMainVisual__block--white h1 {
  color: #fff
}
.pMainVisual__block--black {
  left: 22px;
  width: auto
}
.pMainVisual__block--black h1 {
  color: #001e43
}
.pMainVisual__headline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 48px;
  letter-spacing: -0.1em;
  line-height: 1.4
}
.pMainVisual__headlineRow {
  overflow: hidden
}
.pMainVisual__headlineRow > span {
  display: block
}
.pMainVisual__info {
  position: absolute;
  left: 20px;
  bottom: 20px;
	z-index: 2; /* ←追加 */
	background-color: rgba(255, 255, 255, 0.7); /* 白の半透明 */
    padding: 2px 4px; /* 少し余白をつけると見やすくなる */
    border-radius: 4px; /* 角丸を追加する場合 */
}
.pMainVisual__tell {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-size: 23px;
  letter-spacing: .09em
}
.pMainVisual__adress {
  margin-top: 10px;
  font-size: 16px;
  letter-spacing: .05em
}
.pMainVisual__contact {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  margin-top: 6px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .05em;
  padding: 10px 21px;
  z-index: 1
}
.pMainVisual__contact > span {
  position: relative;
  color: #fff;
  -webkit-transition: color .3s cubic-bezier(1, 0, 0, 1);
  transition: color .3s cubic-bezier(1, 0, 0, 1);
  z-index: 1
}
.pMainVisual__contact::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #001e43;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@media(hover) {
  .pMainVisual__contact:hover::before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right
  }
  .pMainVisual__contact:hover > span {
    color: #001e43
  }
}
.pTop {
  margin-top: 8.8rem;
  padding: 0 28px
}
.pTop__middle {
  margin-top: 5rem;
  width: 100vw;
  height: 260px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw)
}
.pTop__middleWrapper {
  position: relative;
  width: 100%;
  height: 100%
}
.pTop__middleImage {
  position: relative;
  width: 100%;
  height: 85%;
  background: url(../img/main/top_about.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden;
  z-index: 1
}
.pTop__middleIcon {
  position: absolute;
  right: 21px;
  width: 149px;
  height: 84px
}
.pTop__middleIcon--white {
  bottom: -42px;
  background: url("../img/logo-white.svg") no-repeat center/cover;
	display: none !important; /* PCでは非表示 */
}
.pTop__middleIcon--black {
  bottom: -2px;
  background: url("../img/logo.svg") no-repeat center/cover;
	display: none !important; /* PCでは非表示 */
}
.pTopAbout__text {
  margin-top: 4.5rem
}
.pTopAbout__link {
  max-width: 71.2vw;
  margin: 3rem auto 0
}
.pTopWork {
  margin-top: 8.8rem;
  padding-bottom: 5rem
}
.pTopWork__subHeadline {
  margin-top: 4.2rem
}
.pTopWork__text {
  margin-top: 2.6rem
}
.pTopWork__description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 3.7rem
}
.pTopWork__descriptionLeft {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding-bottom: 2.4rem
}
.pTopWork__descriptionLeft::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #001e43;
  opacity: .08
}
.pTopWork__descriptionRight {
  margin-top: 2.8rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.pTopWork__descriptionText {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5rem;
  letter-spacing: .05em
}
.pTopWork__maxAbility {
  color: var(--dark-blue);
  margin-top: .4rem
}
.pTopWork__diameter {
  font-size: 3.4rem;
  font-weight: 700
}
.pTopWork__number {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.5rem;
  font-weight: 500;
  letter-spacing: .01em
}
.pTopWork__multiply {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: .03em;
  margin: 0 .4rem
}
.pTopWork__list {
  width: 100%;
  margin-top: 1.8rem
}
.pTopWork__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 2.1;
  padding: .8rem 1rem .5rem;
  background-color: #fff
}
.pTopWork__item:nth-child(n+2) {
  margin-top: .6rem
}
.pTopWork__listEtc {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  font-size: 1.4rem;
  letter-spacing: .02em;
  margin-top: 1rem
}
.pMajor {
	position: relative;
	background-color: #fff;
}
.pMajor__headline {
  font-size: 2.2rem;
  z-index: 2;
}
.pMajor__wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1366px;
  margin: 0 auto;
  padding: 10rem 6.7rem; /* 上の余白を追加 */
  flex-wrap: wrap; /* スマホ時に縦並びにするために追加 */
}
.pMajor__domestic, .pMajor__overseas {
  width: 48%;
}
.pMajor__stickyHead {
  padding: 1.8rem 0;
  margin-top: .8rem;
}
.pMajor__stickyHeadColumn {
  font-size: 1.4rem;
  font-weight: 500;
  color: #9a9a9a;
}
.pMajor__stickyList {
  list-style: none;
  padding: 0;
}
.pMajor__stickyItem {
  padding: 2rem 0;
  border-bottom: 1px solid #001e43;
}
.pMajor__stickyItemColumn {
  font-size: 2rem;
  font-weight: 500;
  margin: 5px 0 0 10px;
}
.pMajor__stickyItemColumn--wide {
  width: 100%;
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .pMajor__wrapper {
    flex-direction: column; /* スマホ時に縦並びにする */
    align-items: center;
  }
  .pMajor__domestic, .pMajor__overseas {
    width: 100%;
    margin-bottom: 2rem; /* 各ブロックの間隔を調整 */
  }
}
@media screen and (min-width: 768px) {
  .pMajor {
    padding: .2rem 0 11rem;
  }
  .pMajor__wrapper {
    display: flex;
    justify-content: space-between;
  }
  .pMajor__headline {
    font-size: 2.6rem;
    line-height: 1;
  }
  .pMajor__stickyHead {
    position: static;
    margin-top: 3.9rem;
  }
  .pMajor__stickyHeadColumn {
    font-size: 1.5rem;
    white-space: nowrap;
  }
  .pMajor__stickyItem {
    padding: 3.25rem 0;
  }
  .pMajor__stickyItemColumn {
    font-size: 1.5rem;
  }
}



.pTodo {
  margin-top: 6rem;
  padding: 0 30px 12.6rem
}
.pTodo__block--bottom {
  margin-top: 4.2rem
}

.pTodo__block--third {
  margin-top: 4.2rem
}
.pTodo__headline {
  display: inline-table;
  font-size: 2.2rem;
  text-align: left
}
.pTodo__headline::before {
  top: 30%;
  left: 3.5%
}
.pTodo__text {
  font-size: 1.4rem;
  line-height: 2.2;
  letter-spacing: .02em;
  margin-top: 1.5rem
}
.pTodo__image {
  margin-top: 2.5rem
}
.pTodo__image--top {
  margin-right: calc(50% - 50vw)
}
.pTodo__image--bottom {
  margin-left: calc(50% - 50vw)
}
.pTodo__image img {
  width: 100%
}
.pTodo__logoImage {
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 5rem calc(50% - 50vw) 0
}
.pTodo__logoImage img {
  width: 100%;
  height: 100%
}
.pTodo__logoImageText {
  position: absolute;
  bottom: 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .05em;
  color: #fff
}
.pTodo__logoIcon {
  display: inline-block;
  border-style: solid;
  height: 0;
  width: 0;
  border-color: transparent transparent transparent #fff;
  border-width: .75rem 0 .75rem 1.2rem;
  margin-right: 5px
}
.pBottomContents {
  background-color: #fff;
  padding: 5rem 30px 8.7rem
}
.pBottomContents__wrapper {
  width: 100%;
  background-color: #6495ED;
  padding: 37px 24px 25px
}
.pBottomContents__headline {
  font-family:  "Shippori Mincho", serif;
  font-size: 2.4rem;
  letter-spacing: .08em
}
.pBottomContents__text {
  font-size: 1.4rem;
  letter-spacing: .02em;
  line-height: 2;
  margin-top: 1.8rem
}
.pNewInfo {
  position: relative;
  padding-bottom: 4.8rem
}
.pNewInfo::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #707070
}
.pNewInfo__link {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: .02em;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .6rem;
  margin-top: 1.8rem;
  -webkit-transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), -webkit-text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: color .3s cubic-bezier(0.19, 1, 0.22, 1), text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1), -webkit-text-decoration-color .6s cubic-bezier(0.19, 1, 0.22, 1)
}
.pNewInfo__link--icon svg path {
  -webkit-transition: stroke .3s cubic-bezier(0.19, 1, 0.22, 1);
  transition: stroke .3s cubic-bezier(0.19, 1, 0.22, 1)
}
@media(hover) {
  .pNewInfo__link:hover {
    color: var(--dark-blue);
    -webkit-text-decoration-color: var(--dark-blue);
    text-decoration-color: var(--dark-blue)
  }
  .pNewInfo__link:hover .pNewInfo__link--icon svg path {
    stroke: var(--dark-blue)
  }
}
.pNewInfo__facebook {
  width: 100%;
  height: 228px;
  margin-top: 3.2rem;
  overflow: hidden
}
.pContact {
  margin-top: 1.5rem;
}
.pContact__tell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 3.6rem;
  letter-spacing: .04em;
  color: #001e43;
  margin-top: 2.4rem
}
.pContact__time {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 220px;
  font-size: 1.4rem;
  letter-spacing: .05em;
  padding: .8rem 0;
  margin: 1.6rem auto 0
}
.pContact__time::before, .pContact__time::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #001e43;
  opacity: .08
}
.pContact__time::before {
  top: 0
}
.pContact__time::after {
  bottom: 0
}
.pContact__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  margin-top: 3rem;
  padding: 2rem 0;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: .02em
}
.pContact__link > span {
  position: relative;
  color: #fff;
  -webkit-transition: color .3s cubic-bezier(1, 0, 0, 1);
  transition: color .3s cubic-bezier(1, 0, 0, 1);
  z-index: 1
}
.pContact__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #001e43;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform .3s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@media(hover) {
  .pContact__link:hover::before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right
  }
  .pContact__link:hover > span {
    color: #001e43
  }
}
.pLoad {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--back-black);
  z-index: 10000;
  -webkit-transition: -webkit-transform .6s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: -webkit-transform .6s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform .6s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform .6s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform .6s cubic-bezier(0.55, 0.055, 0.675, 0.19)
}
.pLoad::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url(../image/loading-mask.png) no-repeat center/cover
}
.pLoad__wrapper {
  width: 100%;
  height: 100%
}
.pLoad__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-filter: blur(8px);
  filter: blur(8px);
  -webkit-animation: load-logo 1.6s both cubic-bezier(0.55, 0.055, 0.675, 0.19) .4s;
  animation: load-logo 1.6s both cubic-bezier(0.55, 0.055, 0.675, 0.19) .4s
}
.pLoad__logo svg {
  -webkit-transition: opacity .4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: opacity .4s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.loading .pLoad {
  -webkit-transform: translateY(-101%);
  transform: translateY(-101%);
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s
}
.loading .pLoad__logo svg {
  opacity: 0;
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s
}
.loading .lHeader--load {
  opacity: 0
}
.loading .lScrollBar--top {
  opacity: 0
}
.loading .pMainVisual__background {
  opacity: 0
}
.loading .pMainVisual__headlineRow > span {
  -webkit-transform: translateY(100%);
  transform: translateY(100%)
}
.loading .pMainVisual__info {
  opacity: 0
}
.loading .pMainVisual__recruit {
  opacity: 0
}
.loaded .lHeader--load {
  -webkit-animation: MV-fadeInDown .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s;
  animation: MV-fadeInDown .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s
}
.loaded .lScrollBar--top {
  -webkit-animation: MV-fadeInUp .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s;
  animation: MV-fadeInUp .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s
}
.loaded .pMainVisual__background {
  -webkit-animation: MV-background-fadeIn 1s cubic-bezier(0.39, 0.575, 0.565, 1) forwards .6s;
  animation: MV-background-fadeIn 1s cubic-bezier(0.39, 0.575, 0.565, 1) forwards .6s
}
.loaded .pMainVisual__headlineRow > span {
  -webkit-animation: MV-headline-slideIn .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 1.8s;
  animation: MV-headline-slideIn .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 1.8s
}
.loaded .pMainVisual__info {
  -webkit-animation: MV-fadeInUp .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s;
  animation: MV-fadeInUp .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s
}
.loaded .pMainVisual__recruit {
  -webkit-animation: MV-fadeInUp .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s;
  animation: MV-fadeInUp .6s cubic-bezier(0.39, 0.575, 0.565, 1) both 2.4s
}



@media screen and (min-width: 768px) {
  .pMainVisual {
    padding-top: 0;
    height: auto;
    overflow: visible
  }
  .pMainVisual__wrapper {
    top: 0;
    height: 100vh;
    max-height: 75vh;
  }
  .pMainVisual__background {
    position: relative;
    top: -20vw;
    width: 85.07vw;
    height: 85.07vw;
    background: url("../img/main/img03.jpg") no-repeat top/cover;
    margin-left: 307px
  }
  .pMainVisual__block {
    top: 14.5vw
  }
  .pMainVisual__block--white {
    top: calc(14.5vw + 20vw);
    left: -183px
  }
  .pMainVisual__block--black {
    left: 124px
  }
  .pMainVisual__headline {
    font-size: min(10vw, 108px)
  }
  .pMainVisual__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    bottom: 40px;
    left: 40px;
	z-index: 2;
  }
  .pMainVisual__info--left {
    margin-right: 15px
  }
  .pMainVisual__tell {
    font-size: 23px
  }
  .pMainVisual__contact {
    font-size: 16px;
    padding: 12px 24px
  }
  .pTop__middle {
    margin-top: 6rem;
    height: 630px
  }
  .pTop__middleImage {
    background-image: url("../img/main/top_about.jpg");
    background-position: 40%  37%;
    position: absolute;
    bottom: 0;
    height: 100%
  }
  .pTop__middleIcon {
    width: 310px;
    height: 176px
  }
  .pTop__middleIcon--white {
    bottom: initial;
    top: -88px;
    right: 110px;
	  display: block; /* スマホで表示 */
  }
  .pTop__middleIcon--black {
    bottom: initial;
    top: 0;
    right: 110px;
		display: block; /* スマホで表示 */
  }
  .pTopAbout {
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
    padding-left: 150px
  }
  .pTopAbout__text {
    max-width: 635px;
    margin-top: 5.6rem
  }
  .pTopAbout__right {
    margin-left: 11rem
  }
  .pTopAbout__link {
    width: 284px;
    padding: 2.5rem 2rem;
    margin: 4.1rem 0 0
  }
  .pTopWork {
    width: 100%;
    max-width: 1366px;
    margin: 12rem auto 5rem;
    padding-top: 3rem;
    padding-left: 150px
  }
  .pTopWork__subHeadline {
    margin-top: 10.9rem
  }
  .pTopWork__text {
    margin-top: 3.8rem
  }
  .pTopWork__right {
    margin-left: 11rem
  }
  .pTopWork__maxAbility {
    margin-top: 3rem
  }
  .pTopWork__diameter {
    font-size: 3.3rem
  }
  .pTopWork__number {
    font-size: 3.3rem
  }
  .pTopWork__multiply {
    font-size: 2.3rem
  }

  .pTodo {
    max-width: 1366px;
    margin: 14.3rem auto 0;
    padding: 0 30px 20rem
  }
  .pTodo__block--bottom {
    margin-top: 11rem
  }
  .pTodo__headline::before {
    left: 1.5%
  }
  .pTodo__text {
    font-size: 1.5rem;
    margin-top: 4rem
  }
  .pTodo__logoImage {
    margin-top: 16rem
  }
  .pTodo__logoImageText {
    font-size: 2.8rem;
    bottom: 11rem
  }
  .pTodo__logoIcon {
    border-style: solid;
    height: 0;
    width: 0;
    border-color: transparent transparent transparent #fff;
    border-width: .85rem 0 .85rem 1.4rem;
    margin-right: 20px
  }
  .pBottomContents__wrapper {
    max-width: 340px;
    margin: 0 auto
  }
}
@media screen and (min-width: 1024px) {
  .pMainVisual__wrapper {
    max-height: 67.5vw
  }
  .pTop {
    margin-top: calc(-20vw + 11.5rem)
  }
  .pTopWork__description {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 6.5rem
  }
  .pTopWork__descriptionLeft {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: auto;
    height: 100%;
    margin-right: 3.5rem;
    padding: 0
  }
  .pTopWork__descriptionLeft::after {
    content: none
  }
  .pTopWork__descriptionRight {
    position: relative;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 0;
    padding-left: 5rem
  }
  .pTopWork__descriptionRight::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #001e43;
    opacity: .08
  }
  .pTopWork__descriptionText {
    font-size: 1.8rem
  }
  .pTopWork__list {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 512px
  }
  .pTopWork__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: auto;
    margin-bottom: 1.2rem;
    margin-right: 1.2rem;
    padding: .8rem 2rem
  }
  .pTopWork__item:nth-child(n+2) {
    margin-top: 0
  }
  .pTopWork__listEtc {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: auto;
    margin-top: 0
  }
  .pTodo {
    padding: 0 0 20rem
  }
  .pTodo__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }
  .pTodo__block--bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
  .pTodo__contents {
    max-width: 400px
  }
  .pTodo__contents--top {
    margin-top: min(4vw, 64px);
    margin-right: min(6vw, 100px);
    padding-left: 30px
  }
  .pTodo__contents--bottom {
    margin-top: min(4vw, 64px);
    margin-left: min(6vw, 100px);
    padding-right: 30px
  }
  .pTodo__image {
    max-width: 731px;
    margin-top: 0
  }
  .pTodo__image--top {
    margin-right: 0
  }
  .pTodo__image--bottom {
    margin-left: 0
  }
  .pTodo__headline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 2.6rem
  }
  .pBottomContents {
    margin-top: -32.7rem;
    padding: 44.7rem 30px 14rem
  }
  .pBottomContents__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1005px;
    margin: 0 auto;
    padding: 60px 57px 52px 70px
  }
  .pBottomContents__headline {
    font-size: 3rem;
    letter-spacing: .25em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
  }
  .pBottomContents__text {
    font-size: 1.5rem;
    margin: 0
  }
  .pNewInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 51%;
    padding-right: min(5vw, 60px);
    padding-bottom: 0
  }
  .pNewInfo::after {
    top: 0;
    right: 0;
    left: auto;
    width: 1px;
    height: 100%
  }
  .pNewInfo__contents {
    margin-left: 5rem
  }
  .pContact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin: 0;
    padding-left: min(5vw, 70px)
  }
  .pContact__contents {
    margin-left: 5rem
  }
  .pContact__text {
    line-height: 2.5;
	font-size: 2rem
  }
  .pContact__tell {
    font-size: 4.4rem
  }
  .pContact__time {
    width: 100%;
    font-size: 1.5rem;
    margin-top: 2.4rem;
    padding: 1.6rem 0
  }
  .pContact__link {
    font-size: 1.6rem;
    padding: 2.2rem 0
  }
  .pLoad__logo {
    width: 310px;
    height: 176px
  }
  .pLoad__logo svg {
    width: 100%;
    height: 100%
  }
}
@media screen and (min-width: 1366px) {
  .pMainVisual__wrapper {
    max-height: 56.25vw
  }
}
@-webkit-keyframes load-logo {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px)
  }
}
@keyframes load-logo {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px)
  }
}
@-webkit-keyframes MV-background-fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@keyframes MV-background-fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes MV-headline-slideIn {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}
@keyframes MV-headline-slideIn {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}
@-webkit-keyframes MV-fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@keyframes MV-fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@-webkit-keyframes MV-fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@keyframes MV-fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@media screen and (min-width: 1024px) {
  .no-js .pMainVisual__contact {
    padding: 16px 24px 8px
  }
  .no-js .pMajor__right {
    margin-left: 100px
  }
  .no-js .pTodo__contents--top {
    margin-top: 64px;
    margin-right: 100px
  }
  .no-js .pTodo__contents--bottom {
    margin-top: 64px;
    margin-left: 100px
  }
  .no-js .pContact {
    padding-left: 70px
  }
}