/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */ *, ::before, ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
body {
  margin: 0
}
main {
  display: block
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0
}
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none
}
dt {
  font-weight: bold
}
dd {
  margin-left: 0
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit
}
pre {
  font-family: monospace, monospace;
  font-size: inherit
}
address {
  font-style: inherit
}
a {
  background-color: rgba(0, 0, 0, 0);
  text-decoration: none;
  color: inherit
}
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}
b, strong {
  font-weight: bolder
}
code, kbd, samp {
  font-family: monospace, monospace;
  font-size: inherit
}
small {
  font-size: 80%
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -0.25em
}
sup {
  top: -0.5em
}
svg, img, embed, object, iframe {
  vertical-align: bottom
}
button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: rgba(0, 0, 0, 0);
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit
}
button, [type=button], [type=reset], [type=submit] {
  cursor: pointer
}
button:disabled, [type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled {
  cursor: default
}
:-moz-focusring {
  outline: auto
}
select:disabled {
  opacity: inherit
}
option {
  padding: 0
}
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0
}
legend {
  padding: 0
}
progress {
  vertical-align: baseline
}
textarea {
  overflow: auto
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
[type=number] {
  -moz-appearance: textfield
}
label[for] {
  cursor: pointer
}
details {
  display: block
}
summary {
  display: list-item
}
[contenteditable]:focus {
  outline: auto
}
table {
  border-color: inherit;
  border-collapse: collapse
}
caption {
  text-align: left
}
td, th {
  vertical-align: top;
  padding: 0
}
th {
  text-align: left;
  font-weight: bold
}
@font-face {
  font-family: "futura-pt";
  src: url("../fonts/FuturaPTLight.otf") format("opentype");
  font-weight: 300
}
@font-face {
  font-family: "futura-pt";
  src: url("../fonts/FuturaPTMedium.otf") format("opentype");
  font-weight: 500
}
@font-face {
  font-family: "futura-pt";
  src: url("../fonts/FuturaPTDemi.otf") format("opentype");
  font-weight: 600
}
@font-face {
  font-family: "futura-pt";
  src: url("../fonts/FuturaPTHeavy.otf") format("opentype");
  font-weight: 900
}
@font-face {
  font-family: "futura-pt";
  src: url("../fonts/FuturaPTHeavyOblique.otf") format("opentype");
  font-weight: 900;
  font-style: italic
}
@font-face {
  font-family: "futura-pt-book";
  src: url("../fonts/FuturaPTBook.otf") format("opentype");
  font-weight: 400
}
@font-face {
  font-family: "futura-pt";
  src: url("../fonts/FuturaPTBook.otf") format("opentype");
  font-weight: 400
}
@font-face {
  font-family: "freestyle-script";
  src: url("../fonts/FREESCPT.TTF") format("TrueType");
  font-weight: 400
}
:root {
  --primary-color: #272727
}
:root {
  --YuGothic: "Yu Gothic", "游ゴシック", "YuGothic", "Meiryo", sans-serif;
  --notosan: "Noto Sans JP", sans-serif;
  --notoserif: "Noto Serif", serif;
  --futura-pt: "futura-pt", sans-serif;
  --freestyle: "freestyle-script", sans-serif;
  --max-width: 1020px;
  --pd-lr: 2rem
}
@media screen and (max-width: 767px) {
  :root {
    --pd-lr: 3.5rem
  }
}
::-moz-selection {
  background: #abadfd
}
::selection {
  background: #abadfd
}
html {
  font-size: 62.5%
}
@media screen and (max-width: 1450px) {
  html {
    font-size: .6896551724vw
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3333333333vw
  }
}
body {
  color: #393939;
  font-family: var(--YuGothic);
  font-size: 1.6rem;
  line-height: 1.7;
  word-break: break-all;
  overflow-wrap: break-word
}
body.fix {
  height: 100%;
  overflow: hidden
}
@media screen and (max-width: 767px) {
  body {
    font-size: 2.4rem;
    line-height: 1.75
  }
}
a, a:visited {
  text-decoration: none
}
a img, a:visited img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-text-decoration-skip: none
}
img, video, iframe {
  max-width: 100%;
  height: auto
}
* ul {
  margin: 0;
  padding: 0;
  list-style-type: none
}
* ul li {
  margin: 0;
  padding: 0
}
.bold {
  font-weight: bold
}
.no-scroll {
  overflow: hidden
}
.container {
  max-width: calc(var(--max-width) + 4rem);
  padding-left: 2rem;
  padding-right: 2rem;
  margin-left: auto;
  margin-right: auto
}
@media screen and (max-width: 767px) {
  .container {
    padding-left: 3.5rem;
    padding-right: 3.5rem
  }
}
.text-right {
  text-align: right
}
.text-center {
  text-align: center
}
.text-left {
  text-align: left
}
.br-sp {
  display: none
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .br-sp {
    display: block
  }
}
@media screen and (max-width: 767px) {
  .br-sp {
    display: block
  }
}
.br-pc {
  display: block
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .br-pc {
    display: none
  }
}
@media screen and (max-width: 767px) {
  .br-pc {
    display: none
  }
}
body {
  opacity: 0;
  animation: fadeInBody .6s ease-in forwards
}
html, body {
  scrollbar-width: none
}
html::-webkit-scrollbar, body::-webkit-scrollbar {
  display: none
}
@keyframes fadeInBody {
  to {
    opacity: 1
  }
}
.l-main {
  position: relative;
  padding-top: 7.2vw;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 8.2rem
  }
}
body #loading {
  display: none
}
body.loading {
  overflow: hidden
}
body.loading #loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(43, 211, 196, .4588235294);
  z-index: 9999
}
body.loading #loading .inn {
  width: 13rem;
  height: 13rem
}
.main-sub {
  display: flex;
  width: 100%
}
.main-sub__left {
  margin-top: 12.121212vw;
  width: calc(100vw - 4.848485vw)
}
@media screen and (max-width: 767px) {
  .main-sub__left {
    margin-top: 0;
    padding-top: 11rem;
    width: 100%;
    position: relative
  }
  .main-sub__left::after {
    content: "";
    position: absolute;
    width: 32.7vw;
    height: 50rem;
    background: #00aa8b;
    background: linear-gradient(180deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);;
    right: 0;
    top: 0
  }
}
.main-sub__left .main-heading {
  height: 21.212121vw;
  position: relative;
  text-align: right;
  padding-right: 1.818182vw
}
.main-sub__left .main-heading::before {
  content: "";
  position: absolute;
  height: 100%;
  width: calc(100% - 29.090909vw);
  background: #00aa8b;
  background: linear-gradient(180deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  left: 0;
  top: 0
}
@media screen and (max-width: 767px) {
  .main-sub__left .main-heading {
    text-align: left;
    padding-left: 3rem;
    position: absolute;
    top: 23rem;
    left: 0
  }
  .main-sub__left .main-heading::before {
    display: none
  }
}
.main-sub__left .main-heading .ttl-h1 {
  transform: translateY(-1.515152vw)
}
.main-sub__left .main-heading .ttl-h1 .en {
  font-family: var(--futura-pt);
  font-size: 4.424242vw;
  letter-spacing: 0.242424vw;
  line-height: 1.4
}
@media screen and (max-width: 767px) {
  .main-sub__left .main-heading .ttl-h1 .en {
    font-size: 6rem
  }
}
.main-sub__left .main-heading .ttl-h1 .ja {
  display: block;
  font-size: 1.878788vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  .main-sub__left .main-heading .ttl-h1 .ja {
    font-size: 2.7rem
  }
}
.main-sub__left .main-img {
  position: absolute;
  top: 0;
  z-index: 2
}
.main-sub__left .main-img img {
  width: 81.818182vw
}
@media screen and (max-width: 767px) {
  .main-sub__left .main-img {
    position: relative
  }
  .main-sub__left .main-img img {
    width: 100%
  }
}
.main-sub__left .box-slogan {
  margin-top: 7.272727vw;
  padding: 12.121212vw 15.151515vw 5.69697vw 10.545455vw;
  border: 0.121212vw solid #000;
  margin-left: 12.121212vw;
  margin-right: 6.060606vw;
  text-align: center;
  font-size: 1.939394vw;
  font-weight: bold;
  letter-spacing: 0.363636vw;
  position: relative
}
.main-sub__left .box-slogan::before {
  content: "";
  position: absolute;
  width: 21.212121vw;
  height: 15.151515vw;
  background-color: var(--primary-color);
  top: -3.030303vw;
  right: -6.242424vw
}
@media screen and (max-width: 767px) {
  .main-sub__left .box-slogan::before {
    content: none
  }
}
@media screen and (max-width: 767px) {
  .main-sub__left .box-slogan {
    margin-top: 3rem;
    padding: 6rem 4rem;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 6rem);
    font-size: 3rem;
    border-width: .2rem;
    background-color: #fff;
    position: relative;
    z-index: 2
  }
  .main-sub__left .box-slogan::before {
    left: -3rem;
    top: -6rem;
    z-index: -1;
    height: calc(100% + 6rem)
  }
}
.main-sub__right {
  width: 4.848485vw;
  display: flex;
  justify-content: center;
  margin-top: 15.151515vw;
  position: relative
}
@media screen and (max-width: 767px) {
  .main-sub__right {
    display: none
  }
}
.main-sub__right::before {
  content: "";
  position: absolute;
  width: 0.121212vw;
  height: 3.454545vw;
  background:linear-gradient(0deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%);
  margin-top: -4.242424vw
}
.main-sub__right::after {
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% - 12.121212vw);
  background:linear-gradient(0deg, rgb(24, 0, 132) 0%, rgb(172, 180, 230) 100%);
  bottom: 0;
  z-index: -1
}
.main-sub__right .text-vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: normal;
  font-size: 1.090909vw;
  font-weight: bold;
  letter-spacing: 0.130909vw;
  color: var(--primary-color);
  line-height: 1.939394vw
}
.l-header {
  padding: 0 1.151515vw;
  padding-right: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  transition: .2s;
  transition-duration: .3s
}
.l-header.fixed {
  background-color: #fff;
  padding: 0vw 1.090909vw;
  padding-right: 0;
  box-shadow: -2px -2px 8px rgba(0, 0, 0, .3803921569)
}

.l-header-index {
  padding: 0 1.151515vw;
  padding-right: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  transition: .2s;
  transition-duration: .3s
}
.l-header-index.fixed {
  background-color: #180084;
  padding: 0vw 1.090909vw;
  padding-right: 0;
  box-shadow: -2px -2px 8px rgba(0, 0, 0, .3803921569)
}

@media screen and (min-width: 768px) {
  .l-header.fixed #btn-hamburger {
    height: 2.3vw
  }
  .l-header-index.fixed #btn-hamburger {
    height: 2.3vw
  }
}

@media screen and (min-width: 768px) {
  .l-header.fixed .nav .btn-entry {
    padding: 1.636364vw 2.424242vw
  }
  .l-header-index.fixed .nav .btn-entry {
    padding: 1.636364vw 2.424242vw
  }
}
.l-header__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%
}
.l-header__logo a {
  display: block;
  width: 18.181818vw;
  height: 1.818182vw;
  background-image: url(../img/common/logo.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center
}
.l-header__logo_index a {
  display: block;
  width: 35.181818vw;
  height: 2.818182vw;
  background-image: url(../img/common/logo_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center
}
@media screen and (max-width: 767px) {
  .l-header__logo a {
    width: 36rem;
    height: 4rem
  }
}
.l-header__logo img {
  width: 18.181818vw
}
@media screen and (max-width: 767px) {
  .l-header__logo img {
    width: 100%
  }
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    width: 100%;
    max-width: 36rem
  }
  .l-header__logo a {
    display: flex;
    align-items: center
  }
}
.l-header__nav {
  display: flex;
  align-items: center
}
.l-header__nav .btn-menu {
  width: 4.848485vw;
  height: 5.454545vw;
  border-radius: 50%;
  position: relative
}
@media screen and (max-width: 767px) {
  .l-header__nav .btn-menu {
    width: 6rem;
    height: 6rem
  }
}
.l-header__nav .btn-menu span {
  background-color: #000;
  height: 0.212121vw;
  width: 2.121212vw;
  display: inline-block;
  position: absolute;
  top: 1.515152vw;
  left: 50%;
  transform: translateX(-50%);
  border-radius: .5rem;
  transition: .2s
}
@media screen and (max-width: 767px) {
  .l-header__nav .btn-menu span {
    width: 4rem;
    height: .4rem
  }
}
.l-header__nav .btn-menu span:nth-of-type(2) {
  top: 2.121212vw
}
@media screen and (max-width: 767px) {
  .l-header__nav .btn-menu span:nth-of-type(2) {
    top: 2.3rem
  }
}
.l-header__nav .btn-menu span:nth-of-type(3) {
  top: 2.727273vw
}
@media screen and (max-width: 767px) {
  .l-header__nav .btn-menu span:nth-of-type(3) {
    top: 3.6rem
  }
}
.l-header__nav .hamburger {
  width: 4.848485vw;
  display: flex;
  justify-content: center
}
@media screen and (max-width: 767px) {
  .l-header__nav .hamburger {
    width: 6rem;
    z-index: 9999
  }
}
.l-header__nav #btn-hamburger {
  width: 3.125vw;
  height: 2vw;
  position: relative;
  transform: rotate(0deg);
  transition: .5s ease-in-out;
  cursor: pointer
}
@media screen and (max-width: 767px) {
  .l-header__nav #btn-hamburger {
    width: 5rem;
    height: 3.5rem
  }
}
.l-header__nav #btn-hamburger span {
  display: block;
  position: absolute;
  height: .2545833vw;
  width: 100%;
  background: var(--primary-color);
  border-radius: .2545833vw;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: .25s ease-in-out
}

@media screen and (max-width: 767px) {
  .l-header__nav #btn-hamburger span {
    height: 3px;
    border-radius: 3px
  }
}
.l-header__nav #btn-hamburger span:nth-child(1) {
  top: 0vw;
  transform-origin: left center
}
.l-header__nav #btn-hamburger span:nth-child(2) {
  top: .9375vw;
  transform-origin: left center
}
@media screen and (max-width: 767px) {
  .l-header__nav #btn-hamburger span:nth-child(2) {
    top: 1rem
  }
}
.l-header__nav #btn-hamburger span:nth-child(3) {
  top: 1.875vw;
  transform-origin: left center
}
@media screen and (max-width: 767px) {
  .l-header__nav #btn-hamburger span:nth-child(3) {
    top: 2rem
  }
}
.l-header__nav #btn-hamburger.open span {
  background-color: #fff
}
.l-header__nav #btn-hamburger.open span:nth-child(1) {
  transform: rotate(45deg);
  top: -0.15625vw;
  left: .4166667vw
}
@media screen and (max-width: 767px) {
  .l-header__nav #btn-hamburger.open span:nth-child(1) {
    top: -0.4rem;
    left: .3rem
  }
}
.l-header__nav #btn-hamburger.open span:nth-child(2) {
  width: 0%;
  opacity: 0
}
.l-header__nav #btn-hamburger.open span:nth-child(3) {
  transform: rotate(-45deg);
  top: 10px;
  left: 2px
}
@media screen and (max-width: 767px) {
  .l-header__nav #btn-hamburger.open span:nth-child(3) {
    top: 3.2rem;
    left: .1rem
  }
}
.l-header__nav .nav .wrap {
  display: flex;
  align-items: center;
  -moz-column-gap: 3.030303vw;
  column-gap: 3.030303vw
}
.l-header__nav .nav .btn-entry {
  /*background-color: var(--primary-color);
  color: #fff;*/
    background: linear-gradient(35deg, rgb(255, 186, 0) 0%, rgb(255, 255, 0) 67%);
    color: #180065;
  font-size: 0.909091vw;
  font-weight: bold;
  height: 100%;
  display: block;
  padding: 2.848485vw 2.424242vw;
  letter-spacing: 0.181818vw;
  transition: .4s;
  font-family: var(--futura-pt)
}
.l-header__nav .nav .btn-entry:hover {
  opacity: .7
}
@media screen and (max-width: 767px) {
  .l-header__nav .nav .btn-entry {
    font-size: 2.7rem;
    padding: 1.7rem 4.8rem;
    letter-spacing: 1px
  }
}
.l-header__nav .nav .menu {
  display: flex;
  -moz-column-gap: 1.515152vw;
  column-gap: 1.515152vw
}
.l-header__nav .nav .menu .menu-item {
  font-size: 0.848485vw;
  color: var(--primary-color);
  font-weight: bold
}
.l-header__nav .nav .menu .menu-item_index {
  font-size: 0.848485vw;
  color: white;
  font-weight: bold
}
.l-header__nav .nav .menu .menu-item a {
  position: relative;
  padding-bottom: 0.242424vw
}
@media screen and (max-width: 767px) {
  .l-header__nav .nav .menu .menu-item a {
    padding-bottom: 0
  }
}
.l-header__nav .nav .menu .menu-item a::after {
  content: "";
  position: absolute;
  width: 0%;
  height: .2rem;
  bottom: 0;
  background-color: #262626;
  left: 0;
  transition: .2s
}
.l-header__nav .nav .menu .menu-item_index a::after {
  content: "";
  position: absolute;
  width: 0%;
  height: .2rem;
  bottom: 0;
  background-color: #FFFFFF;
  left: 0;
  transition: .2s
}

@media screen and (max-width: 767px) {
  .l-header__nav .nav .menu .menu-item a::after {
    content: none
  }
}
.l-header__nav .nav .menu .menu-item a:hover::after {
  width: 100%
}
@media screen and (max-width: 767px) {
  .l-header__nav .menu-wrap {
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    position: fixed;
    top: 0;
    left: -0.9rem;
    width: 100vw;
    height: 100vh;
    background-color: rgba(39, 39, 39, .9176470588);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 15rem;
    z-index: 99
  }
  .l-header__nav .menu-wrap .menu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 90%
  }
  .l-header__nav .menu-wrap .menu .menu-item {
    width: 100%
  }
  .l-header__nav .menu-wrap .menu .menu-item a {
    color: #fff;
    font-size: 3rem;
    padding: 3rem 0;
    display: block;
    border-bottom: 1px solid hsla(0, 0%, 100%, .431372549);
    text-align: center
  }
}
.l-header__nav.active .btn-menu {
  position: relative;
  z-index: 9999
}
.l-header__nav.active .btn-menu span:nth-of-type(1) {
  top: unset;
  transform: translate(-50%, -50%) rotate(45deg)
}
.l-header__nav.active .btn-menu span:nth-of-type(2) {
  top: unset;
  transform: translate(-50%, -50%) rotate(-45deg)
}
.l-header__nav.active .nav {
  visibility: visible;
  opacity: 1
}
@media screen and (max-width: 767px) {
  .l-header__nav.active .menu-wrap {
    opacity: 1;
    visibility: visible
  }
}
.l-footer {
  background-color: #272727;
  color: #fff;
  padding-top: 12rem;
  padding-bottom: 13rem
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer {
    padding-top: 20rem;
    padding-bottom: 20rem
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-top: 15rem
  }
}
.l-footer__in {
  max-width: 78rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer__in {
    max-width: 100rem
  }
}
@media screen and (max-width: 767px) {
  .l-footer__in {
    max-width: 62rem;
    padding-left: 4rem;
    padding-right: 4rem
  }
}
.l-footer__menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 3rem;
  column-gap: 3rem
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer__menu {
    display: flex;
    flex-direction: column
  }
}
@media screen and (max-width: 767px) {
  .l-footer__menu {
    display: flex;
    flex-direction: column
  }
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer__menu .menu-footer {
    display: contents
  }
  .l-footer__menu .menu-footer:nth-of-type(2) li:first-child a {
    border-top: none
  }
}
@media screen and (max-width: 767px) {
  .l-footer__menu .menu-footer {
    display: contents
  }
  .l-footer__menu .menu-footer:nth-of-type(2) li:first-child a {
    border-top: none
  }
}
.l-footer__menu .menu-footer li:first-child a {
  border-top: .1rem solid hsla(0, 0%, 100%, .5254901961)
}
.l-footer__menu .menu-footer .instagram {
  padding-top: 6rem;
  display: flex;
  justify-content: center
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer__menu .menu-footer .instagram {
    padding-top: 9rem;
    order: 99
  }
}
@media screen and (max-width: 767px) {
  .l-footer__menu .menu-footer .instagram {
    padding-top: 9rem;
    order: 99
  }
}
.l-footer__menu .menu-footer .instagram .mess {
  background-color: #fff;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 1.2px;
  color: #272727;
  font-weight: bold;
  padding: 1.8rem 2.5rem;
  border-radius: 1rem;
  position: relative
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer__menu .menu-footer .instagram .mess {
    font-size: 3.3rem;
    padding: 4.5rem
  }
}
@media screen and (max-width: 767px) {
  .l-footer__menu .menu-footer .instagram .mess {
    color: #00b07f;
    font-size: 2.5rem
  }
}
.l-footer__menu .menu-footer .instagram .mess::before {
  content: "";
  position: absolute;
  border-left: 1.8rem solid rgba(0, 0, 0, 0);
  border-right: 1.8rem solid rgba(0, 0, 0, 0);
  border-top: 3.5rem solid #fff;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%)
}
.l-footer__menu .menu-footer .instagram a:hover {
  opacity: .7
}
.l-footer__menu .menu-footer .instagram .ico-ins {
  margin-top: 4rem;
  display: block;
  width: 6.5rem;
  height: 6.5rem;
  margin-left: auto;
  margin-right: auto
}
@media screen and (max-width: 767px) {
  .l-footer__menu .menu-footer .instagram .ico-ins {
    margin-top: 6rem;
    width: 9.6rem;
    height: 9.6rem
  }
}
.l-footer__menu .menu-footer li:not(.instagram) a {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: .1rem solid hsla(0, 0%, 100%, .5254901961);
  padding: 1.5rem 4rem;
  position: relative;
  transition: .2s
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer__menu .menu-footer li:not(.instagram) a {
    font-size: 3.4rem;
    padding: 4rem 10rem
  }
}
@media screen and (max-width: 767px) {
  .l-footer__menu .menu-footer li:not(.instagram) a {
    padding: 4rem 10rem;
    padding-left: 5rem;
    font-size: 2.5rem;
    border-color: hsla(0, 0%, 100%, .3647058824)
  }
}
.l-footer__menu .menu-footer li:not(.instagram) a:hover {
  background-color: #000
}
.l-footer__menu .menu-footer li:not(.instagram) a::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  background-image: url(../img/top/ico-circle-arrow.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  right: 4rem
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  .l-footer__menu .menu-footer li:not(.instagram) a::before {
    right: 10rem;
    width: 5rem;
    height: 5rem;
    top: 50%;
    transform: translateY(-50%)
  }
}
@media screen and (max-width: 767px) {
  .l-footer__menu .menu-footer li:not(.instagram) a::before {
    width: 4rem;
    height: 4rem;
    top: 50%;
    transform: translateY(-50%)
  }
}
.not-found__content-top {
  padding: 9rem 0;
  background-color: #f4f4f4
}
.not-found__content-bottom {
  text-align: center;
  padding-top: 10rem
}
.not-found__content-bottom .c-button {
  margin-left: auto;
  margin-right: auto
}
.not-found-title {
  text-align: center;
  font-size: 3rem;
  line-height: 1.7333333333
}
.not-found-text {
  text-align: center;
  margin-top: 3rem;
  line-height: 1.75
}
#home .l-main {
  padding-top: 0
}
#home .top-mv {
  /*margin-top: 1.212121vw;*/
  position: relative;
  display: flex;
  background:linear-gradient(180deg, rgb(24, 0, 132) 0%, rgb(100, 100, 255) 100%);
}
@media screen and (max-width: 767px) {
  #home .top-mv {
    /*margin-top: 4.1rem*/
  }
}
#home .top-mv::before {
  content: "";
  position: absolute;
  width: 5vw;
  right: 0;
  height: 40%;
  background:  linear-gradient(150deg, rgb(255, 186, 0) 0%, rgb(255, 255, 0) 67%);
  bottom: 0
}
@media screen and (max-width: 767px) {
  #home .top-mv::before {
    width: 8vw
  }
}
#home .top-mv .character {
  position: absolute;
  bottom: 0;
  width: 54.545455vw;
  z-index: 9999
}
#home .top-mv .character img {
  position: relative;
  z-index: 9999
}
#home .top-mv__slider {
  position: relative;
  width: calc(100% - 4.848485vw)
}
#home .top-mv__slider .swiper {
  width: 100%;
  margin-left: unset;
  margin-right: unset;
  position: relative
}
#home .top-mv__slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
#home .top-mv__slider .slogan {
  position: absolute;
  right: 6.666667vw;
  top: 16.363636vw;
  z-index: 1
}
@media screen and (max-width: 767px) {
  #home .top-mv__slider .slogan {
    top: unset;
    bottom: 18rem;
    right: -4rem
  }
}
#home .top-mv__slider .slogan img {
  max-width: 38.30303vw
}
@media screen and (max-width: 767px) {
  #home .top-mv__slider .slogan img {
    max-width: 51rem
  }
}
#home .top-mv__slider .heading {
  position: absolute;
  z-index: 1;
  bottom: 0.606061vw;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 3.636364vw);
  bottom: 8.7vw
}

@media screen and (min-width: 767px)  and ( max-width:1080px){
#home .top-mv__slider .heading {
  position: absolute;
  z-index: 1;
  bottom: 0.606061vw;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 3.636364vw);
  bottom: 12.1vw;
}
}

#home .top-mv__slider .heading img {
  width: 100%
}
#home .top-mv__bottom {
  padding: 1.090909vw 2.424242vw;
  text-align: right;
  font-size: 1.939394vw;
  font-weight: bold;
  letter-spacing: 0.363636vw;
  background-color: var(--primary-color);
  color: #fff
}

@media screen and (max-width: 767px) {
  #home .top-mv__slider .heading {
    /*transform: rotateZ(90deg);*/
    bottom: 37rem;
    /*left: -34rem;*/
    width: 80rem;
	display:none;
  }
#home .top-mv__bottom {
  padding: 1.090909vw 2.424242vw;
  text-align: center;
  font-size: 1.939394vw;
  font-weight: bold;
  letter-spacing: 0.363636vw;
  background-color: var(--primary-color);
  color: #fff
}
}

@media screen and (max-width: 767px) {
  #home .top-mv__bottom {
    font-size: 2.5rem;
    font-weight: bold;
    padding: 5rem 4rem;
    margin-top: -0.25rem;
    width: calc(100% + 6rem)
  }
}
#home .top-mv__right {
  width: 4.848485vw;
  display: flex;
  justify-content: center;
  margin-top: 12.121212vw;
  position: relative
}
@media screen and (max-width: 767px) {
  #home .top-mv__right {
    width: 6rem;
    margin-top: 9rem
  }
}
#home .top-mv__right::before {
  content: "";
  position: absolute;
  width: 0.121212vw;
  height: 3.454545vw;
  background-color: white;
  margin-top: -4.242424vw
}
@media screen and (max-width: 767px) {
  #home .top-mv__right::before {
    top: 0;
    width: .2rem;
    height: 5.7rem
  }
}
#home .top-mv__right .text-vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: normal;
  font-size: 1.090909vw;
  font-weight: bold;
  letter-spacing: 0.130909vw;
  color:white;
  line-height: 1.939394vw
}
@media screen and (max-width: 767px) {
  #home .top-mv__right .text-vertical {
    padding-top: 4rem;
    font-size: 1.8rem
  }
}
#home #section__vision {
  background-color: #180084;
  position: relative
}
#home #section__vision .ttl-h2 {
  position: absolute;
  font-size: 9rem;
  color: #fff;
  font-weight: 500;
  top: 35.151515vw;
  z-index: 2;
  right: 18vw
}
@media screen and (max-width: 767px) {
  #home #section__vision .ttl-h2 {
    font-size: 7rem;
    top: 9rem
  }
}
#home #section__vision .ttl-h2::after {
  content: "";
  position: absolute;
  width: 14.181818vw;
  right: -18.181818vw;
  height: 0.242424vw;
  background-color: #fff;
  top: 50%;
  transform: translateY(-50%)
}
@media screen and (max-width: 767px) {
  #home #section__vision .ttl-h2::after {
    height: .4rem
  }
}
#home #section__vision .vision {
  position: relative
}
#home #section__vision .vision__img {
  width: calc(100% - 21.212121vw);
  margin-left: 50%;
}
@media screen and (max-width: 767px) {
  #home #section__vision .vision__img {
    width: 100%;
    margin: 0 auto;
    text-align: center;
	height: 200vw;
  }
}
#home #section__vision .vision__img img {
  width: 72%
}
#home #section__vision .vision__content {
  position: absolute;
  left: 6.060606vw;
  top: 0vw;
  z-index: 2;
  background-color: #fff;
  padding: 3.5vw 2vw;
}
@media screen and (max-width: 767px) {
  #home #section__vision .vision__content {
        top: 50rem;
        margin: 0 auto;
        text-align: center;
        left: 0;
  }
}
#home #section__vision .vision__content .ttl-h3 {
  font-size: 2vw;
  letter-spacing: 0.30303vw;
  color: var(--primary-color);
  font-weight: bold;
  margin-bottom: 1.818182vw;
  font-style: italic;
}
@media screen and (max-width: 767px) {
  #home #section__vision .vision__content .ttl-h3 {
    font-size: 3.6rem;
    margin-bottom: 3.5rem;
	font-style: italic;
  }
}
#home #section__vision .vision__content p {
  font-size: 1vw;
  color: var(--primary-color);
  margin-bottom: 1.818182vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #home #section__vision .vision__content p {
    font-size: 2.4rem;
    margin-bottom: 3rem
  }
}
#home #section__vision .interview-slider {
  padding-top: 5rem;
  background-color: #fff;
  padding-bottom: 5rem;
  position: relative
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider {
    padding-top: 0
  }
}
#home #section__vision .interview-slider .box-player {
  position: absolute;
  background-color: var(--primary-color);
  color: #fff;
  bottom: 4.848485vw;
  left: 3.636364vw;
  padding: 1.818182vw;
  padding-bottom: 2.424242vw;
  z-index: 2
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .box-player {
    top: -18rem;
    bottom: unset;
    width: 80%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding-top: 2rem;
    padding-bottom: 7rem
  }
  #home #section__vision .interview-slider .box-player::after {
    content: "";
    position: absolute;
    width: 3rem;
    height: 3rem;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/top/double-arrow-down.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center
  }
}
#home #section__vision .interview-slider .box-player .t-top {
  font-size: 0.969697vw;
  font-weight: bold;
  margin-bottom: 0.606061vw
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .box-player .t-top {
    font-size: 1.9rem
  }
}
#home #section__vision .interview-slider .box-player .text-en {
  font-family: var(--futura-pt);
  font-size: 3.636364vw;
  line-height: 1;
  margin-bottom: 0.606061vw
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .box-player .text-en {
    font-size: 8rem
  }
}
#home #section__vision .interview-slider .box-player .t-bottom {
  font-size: 0.666667vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .box-player .t-bottom {
    font-size: 1.5rem
  }
}
#home #section__vision .interview-slider .swiper-pagination-bullet {
  background: #180084 !important
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0
  }
}
#home #section__vision .interview-slider .swiper-button-next {
  right: 3rem
}
#home #section__vision .interview-slider .swiper-button-prev {
  display: none
}
#home #section__vision .interview-slider .swiper-button-next, #home #section__vision .interview-slider .swiper-button-prev {
  background-color: var(--primary-color);
  width: 8.5rem;
  height: 8.5rem;
  border-radius: 50%;
  color: #fff
}
#home #section__vision .interview-slider .swiper-button-next::after, #home #section__vision .interview-slider .swiper-button-prev::after {
  font-size: 30px
}
#home #section__vision .interview-slider .swiper {
  width: 100%;
  margin-left: unset;
  margin-right: unset
}
#home #section__vision .interview-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
#home #section__vision .interview-slider .swiper-slide {
  position: relative
}
#home #section__vision .interview-slider .swiper-slide .box-player {
  display: none
}
#home #section__vision .interview-slider .swiper-slide .box-interview {
  position: absolute;
  left: 30.30303vw;
  padding: 1.818182vw;
  z-index: 2;
  bottom: 0;
  background-color: #fff;
  border-radius: 1.212121vw;
  border: .2rem solid #000;
  width: 100%;
  max-width: 27.878788vw;
  bottom: 1.818182vw
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-slide .box-interview {
    left: 4rem;
    max-width: 52rem;
    bottom: 15rem;
    padding: 3rem;
    border-width: .3rem;
    border-radius: 2rem
  }
}
#home #section__vision .interview-slider .swiper-slide .box-interview::before {
  content: "";
  position: absolute;
  width: 7.272727vw;
  height: 7.272727vw;
  background-image: url(../img/top/sub-chart.png);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -1.818182vw;
  left: -2.424242vw;
  z-index: 4
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-slide .box-interview::before {
    width: 12rem;
    height: 12rem;
    bottom: -15rem
  }
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-slide .box-interview::after {
    bottom: -15.1rem;
    right: -12rem;
    width: 26rem;
    height: 35rem
  }
}
#home #section__vision .interview-slider .swiper-slide .box-interview .t-top {
  font-size: 1.030303vw;
  font-weight: bold;
  color: var(--primary-color);
  margin-bottom: 0.727273vw
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-slide .box-interview .t-top {
    font-size: 2rem
  }
}
#home #section__vision .interview-slider .swiper-slide .box-interview .ttl-large {
  font-size: 2.181818vw;
  font-weight: bold;
  line-height: 1.3888888889;
  letter-spacing: 0.242424vw;
  color: #180084;
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-slide .box-interview .ttl-large {
    font-size: 4rem;
    line-height: 1.3
  }
}
#home #section__vision .interview-slider .swiper-slide .box-interview .t-bottom {
  font-size: 0.787879vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-slide .box-interview .t-bottom {
    font-size: 1.6rem;
    margin-top: 1rem
  }
}
#home #section__vision .interview-slider .swiper-slide .box-interview .btn-interview {
  margin-top: 1.818182vw;
  font-size: 0.909091vw;
  color: #180084;
  letter-spacing: 0.121212vw;
  margin-left: auto;
  display: block;
  width: 5.757576vw;
  height: 1.212121vw;
  padding-bottom: 1.515152vw;
  background-image: url(../img/top/btn-link.svg);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100%;

}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .swiper-slide .box-interview .btn-interview {
    margin-left: unset;
    font-size: 2.0rem;
    width: 14rem;
    height: 4rem;
    font-weight: 500;
    padding-right: 1rem
  }
}
#home #section__vision .interview-slider .character {
  position: absolute;
  z-index: 4;
  bottom: 0;
  width: 17vw;
  right: 26vw
}
@media screen and (max-width: 767px) {
  #home #section__vision .interview-slider .character {
    width: 37vw;
    right: 6vw
  }
}
#home .grid-category {
  width: calc(100% - 4.848485vw);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 1.212121vw;
  column-gap: 1.212121vw;
  margin-top: 3.636364vw;
  margin-bottom: 6.060606vw
}
@media screen and (max-width: 767px) {
  #home .grid-category {
    grid-template-columns: 1fr;
    width: calc(100% - 6rem);
    row-gap: 1.5rem
  }
}
#home .grid-category .grid-left a {
  display: block;
  height: 36.363636vw;
  width: 100%;
  position: relative;
  overflow: hidden
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-left a {
    height: 50rem
  }
}
#home .grid-category .grid-left a::after {
  content: "";
  position: absolute;
  background-image: url(../img/top/philosophy.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  transition: .4s
}
#home .grid-category .grid-left a:hover::after {
  transform: scale(1.2);
  opacity: .7
}
#home .grid-category .grid-left a p.en {
  writing-mode: vertical-rl;
  font-size: 5.333333vw;
  color: #fff;
  position: absolute;
  top: 1.212121vw;
  right: 1.212121vw
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-left a p.en {
    font-size: 5rem;
    top: 3rem
  }
}
#home .grid-category .grid-left a p.en::after {
  content: "";
  position: absolute;
  height: 6.060606vw;
  width: 0.181818vw;
  background-color: #fff;
  left: 50%;
  transform: translateX(-50%);
  bottom: -9.090909vw
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-left a p.en::after {
    bottom: -9rem;
    height: 7rem;
    width: .2rem
  }
}
#home .grid-category .grid-left a p.link {
  position: absolute;
  color: #fff;
  font-size: 2.30303vw;
  font-weight: bold;
  bottom: 1.212121vw;
  left: 1.818182vw
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-left a p.link {
    font-size: 3rem;
    bottom: 2rem;
    left: 4rem
  }
}
#home .grid-category .grid-left a p.link::after {
  content: "";
  position: absolute;
  width: 5.2rem;
  height: 5.2rem;
  background-image: url(../img/top/ico-arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  right: -7rem
}
#home .grid-category .grid-right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 1.212121vw
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-right {
    gap: 1.5rem
  }
}
#home .grid-category .grid-right a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-right a {
    height: 30rem
  }
}
#home .grid-category .grid-right a::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  transition: .4s
}
#home .grid-category .grid-right a:hover::after {
  transform: scale(1.2);
  opacity: .7
}
#home .grid-category .grid-right a p.en {
  font-size: 2.8rem;
  color: #fff;
  font-weight: 500;
  position: absolute
}
#home .grid-category .grid-right a p.link {
  position: absolute;
  color: #fff;
  font-size: 2.30303vw;
  font-weight: bold;
  top: 1.212121vw;
  left: 1.212121vw;
  line-height: 1;
  writing-mode: vertical-rl;
  text-orientation: upright
}
#home .grid-category .grid-right a p.link .text-large {
  font-size: 2.606061vw;
  letter-spacing: 0.363636vw
}
#home .grid-category .grid-right a p.link .text-small {
  font-size: 1.151515vw
}
#home .grid-category .grid-right a p.link::after {
  content: "";
  position: absolute;
  width: 4rem;
  height: 4rem;
  background-image: url(../img/top/ico-arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -4.5rem;
  left: 50%;
  transform: translateX(-50%)
}
#home .grid-category .grid-right .cat-2::after {
  background-image: url(../img/top/our_works.jpg)
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-right .cat-2 .link {
    line-height: 1.3;
    letter-spacing: .4rem;
    top: 2rem
  }
  #home .grid-category .grid-right .cat-2 .link .text-large {
    font-size: 3.5rem
  }
  #home .grid-category .grid-right .cat-2 .link .text-small {
    font-size: 2rem
  }
}
#home .grid-category .grid-right .cat-2 p.en {
  bottom: 2rem;
  right: 3rem
}
#home .grid-category .grid-right .cat-2 p.link::after {
  bottom: -5rem
}
#home .grid-category .grid-right .cat-3 {
  background-color: #180084;
}
#home .grid-category .grid-right .cat-3 p.en {
  top: 50%;
  transform: translateY(-50%);
  left: 2rem
}
#home .grid-category .grid-right .cat-3 p.link {
  position: absolute;
  right: 3.5rem;
  left: unset;
  width: -moz-fit-content;
  width: fit-content;
  top: 3rem
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-right .cat-3 p.link .text-large {
    font-size: 4rem;
    letter-spacing: .8rem
  }
}
#home .grid-category .grid-right .cat-4 {
  background-color: var(--primary-color);
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-right .cat-4 p.link {
    top: 4rem;
    left: 2rem
  }
  #home .grid-category .grid-right .cat-4 p.link .text-large {
    font-size: 4rem;
    letter-spacing: .5rem
  }
}
#home .grid-category .grid-right .cat-4 p.en {
  top: 50%;
  transform: translateY(-50%);
  left: unset;
  right: 3rem
}
#home .grid-category .grid-right .cat-5::after {
  background-image: url(../img/top/development.jpg)
}
#home .grid-category .grid-right .cat-5 p.link {
  left: unset;
  right: 1rem
}
#home .grid-category .grid-right .cat-5 p.link .text-large {
  font-size: 3.5rem;
  letter-spacing: 1px
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-right .cat-5 p.link {
    top: 2rem;
    line-height: 1.3
  }
  #home .grid-category .grid-right .cat-5 p.link .text-large {
    font-size: 4rem
  }
  #home .grid-category .grid-right .cat-5 p.link .text-small {
    font-size: 2rem;
    font-weight: 600
  }
}
#home .grid-category .grid-right .cat-5 p.link::after {
  left: 2rem
}
@media screen and (max-width: 767px) {
  #home .grid-category .grid-right .cat-5 p.link::after {
    bottom: -5rem;
    left: 3rem
  }
}
#home .grid-category .grid-right .cat-5 p.en {
  bottom: 2rem;
  left: 2rem
}
@media screen and (max-width: 767px) {
  #p-philosophy .l-main {
    padding-top: 0
  }
}
#p-philosophy .row-mv {
  display: flex;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv {
    background: linear-gradient(-95deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  }
}
#p-philosophy .row-mv .side-left {
  padding-left: 4.242424vw;
  display: flex;
  align-items: center;
  width: 37vw
}
@media screen and (min-width: 768px) {
  #p-philosophy .row-mv .side-left {
    height: 100vh;
    position: sticky;
    top: 10rem
  }
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left {
    position: absolute;
    z-index: 2;
    height: 89.3rem;
    right: 6rem;
    color: #fff;
    width: calc(100vw - 6rem);
    left: 0;
    text-align: right
  }
  #p-philosophy .row-mv .side-left .inner {
    width: 100%;
    height: 60%
  }
}
#p-philosophy .row-mv .side-left .heading {
  padding-left: 2.060606vw;
  margin-bottom: 3.636364vw;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .heading {
    margin-right: -2rem;
    text-shadow: 3px 2px 7px rgba(0, 0, 0, .2784313725);
    margin-bottom: 6rem
  }
}
#p-philosophy .row-mv .side-left .heading::before {
  content: "";
  position: absolute;
  height: 4.848485vw;
  width: 0.606061vw;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #180084;
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .heading::before {
    content: none
  }
}
#p-philosophy .row-mv .side-left .heading .en {
  display: block;
  font-size: 4.484848vw;
  font-family: var(--futura-pt);
  font-weight: 600;
  letter-spacing: 0.545455vw;
  white-space: nowrap;
  z-index: 1;
  line-height: 1.2
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .heading .en {
    font-size: 7rem
  }
}
#p-philosophy .row-mv .side-left .heading .ja {
  font-size: 1.939394vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .heading .ja {
    font-size: 3.2rem
  }
}
#p-philosophy .row-mv .side-left .des {
  padding-left: 2.060606vw;
  font-size: 0.909091vw;
  font-weight: bold;
  letter-spacing: 0.242424vw
}
#p-philosophy .row-mv .side-left .des p {
  margin-bottom: 1.818182vw
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .des p {
    font-size: 2.2rem;
    text-shadow: 3px 2px 7px rgba(0, 0, 0, .2784313725)
  }
}
#p-philosophy .row-mv .side-left .des span {
  position: relative
}
#p-philosophy .row-mv .side-left .des span.blue {
  background: #00f19c;
  background:linear-gradient(0deg, rgb(255, 255, 0) 47%, rgba(255, 255, 0, 0) 48%);
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .des span.blue {
    background: none
  }
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .des span.bl-sp {
    color: white;
  }
}
#p-philosophy .row-mv .side-left .des span.yellow {
  background: #ff0;
  background: linear-gradient(0deg, rgb(255, 255, 0) 47%, rgba(255, 255, 0, 0) 48%)
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .des span.yellow {
    background: none;
    color: #E5FF23;
  }
}
#p-philosophy .row-mv .side-left .des .highlight {
  padding: 0.606061vw 0;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .des .highlight {
    position: absolute;
    bottom: 19rem;
    left: 0;
    width: 100%;
    color: var(--primary-color);
    font-size: 2.3rem;
    padding: 1.6rem 0
  }
}
#p-philosophy .row-mv .side-left .des .highlight::before {
  content: "";
  position: absolute;
  width: 37vw;
  background: #ffba00;
  background: linear-gradient(90deg, rgb(255, 186, 0) 0%, rgb(255, 255, 0) 67%);
  height: 100%;
  left: -6.30303vw;
  z-index: -1;
  top: 0
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .side-left .des .highlight::before {
    width: 100%;
    left: 0
  }
}
#p-philosophy .row-mv .main-right {
  width: 63vw;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .main-right {
    width: calc(100% - 6rem)
  }
}
#p-philosophy .row-mv .main-right .main-img {
  position: relative
}
#p-philosophy .row-mv .main-right .main-img::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 12.7vw;
  height: 100%;
  background: linear-gradient(180deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .main-right .main-img::before {
    content: none
  }
}
#p-philosophy .row-mv .main-right img {
  width: 100%
}
#p-philosophy .row-mv .main-right .main-slogan {
  font-size: 1.69697vw;
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: 0;
  color: #fff;
  letter-spacing: 0.30303vw;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, .3)
}
@media screen and (max-width: 767px) {
  #p-philosophy .row-mv .main-right .main-slogan {
    position: relative;
    top: unset;
    display: flex;
    justify-content: center;
    font-size: 3.8rem;
    padding: 3rem 0;
    width: calc(100% + 8rem)
  }
  #p-philosophy .row-mv .main-right .main-slogan p {
    text-align: left
  }
}
#p-philosophy .philosophy {
  margin-top: 3.636364vw;
  margin-bottom: 3.636364vw
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 8rem;
    padding-bottom: 8rem;
    position: relative;
    background-color: #fff
  }
  #p-philosophy .philosophy::after {
    content: "";
    position: absolute;
    width: 10rem;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--primary-color);
    z-index: 0
  }
}
#p-philosophy .philosophy__item {
  display: flex;
  margin-bottom: 6.363636vw;
  padding-right: 4.848485vw
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item {
    padding-right: 0;
    margin-bottom: 8rem;
    position: relative;
    z-index: 2
  }
}
@media screen and (min-width: 768px) {
  #p-philosophy .philosophy__item img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
    height: 29.5vw
  }
}
#p-philosophy .philosophy__item .item-left {
  padding-left: 4.242424vw;
  min-width: 37vw;
  padding-top: 7.878788vw
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item .item-left {
    display: none
  }
}
#p-philosophy .philosophy__item .item-left .heading {
  padding-left: 2.060606vw;
  margin-bottom: 2.424242vw;
  position: relative
}
#p-philosophy .philosophy__item .item-left .heading::before {
  content: "";
  position: absolute;
  height: 4.848485vw;
  width: 0.606061vw;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #00f19c
}
#p-philosophy .philosophy__item .item-left .heading .en {
  display: block;
  font-size: 4.484848vw;
  font-family: var(--futura-pt);
  font-weight: 600;
  letter-spacing: 0.545455vw;
  white-space: nowrap;
  z-index: 1;
  line-height: 1.2
}
#p-philosophy .philosophy__item .item-left .heading .ja {
  font-size: 1.939394vw;
  font-weight: bold
}
#p-philosophy .philosophy__item .item-left .des {
  padding-left: 2.060606vw;
  font-size: 0.909091vw;
  font-weight: bold;
  letter-spacing: 0.242424vw
}
#p-philosophy .philosophy__item .item-left .des p {
  margin-bottom: 2.424242vw
}
#p-philosophy .philosophy__item .item-left .des span {
  position: relative
}
#p-philosophy .philosophy__item .item-left .des span.blue {
  background: #00f19c;
  background: linear-gradient(0deg, rgb(0, 241, 156) 47%, rgba(0, 226, 181, 0) 48%)
}
#p-philosophy .philosophy__item .item-left .des span.yellow {
  background: #ff0;
  background: linear-gradient(0deg, rgb(255, 255, 0) 47%, rgba(255, 255, 0, 0) 48%)
}
#p-philosophy .philosophy__item .item-left .des .highlight {
  padding: 0.606061vw 0;
  position: relative
}
#p-philosophy .philosophy__item .item-left .des .highlight::before {
  content: "";
  position: absolute;
  width: 37vw;
  background: #ffba00;
  background: linear-gradient(90deg, rgb(255, 186, 0) 0%, rgb(255, 255, 0) 67%);
  height: 100%;
  left: -6.30303vw;
  z-index: -1;
  top: 0
}
#p-philosophy .philosophy__item .item-right {
  position: relative;
  border: 0.121212vw solid #000;
  padding-bottom: 1.818182vw;
  width: calc(100% - 4.242424vw)
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item .item-right {
    width: 100%;
    padding-bottom: 3rem;
    background-color: #fff
  }
}
#p-philosophy .philosophy__item .item-right .img {
  border-bottom: 0.121212vw solid #000
}
#p-philosophy .philosophy__item .item-right .stt {
  position: absolute;
  top: 1.818182vw;
  left: 1.818182vw;
  font-family: var(--futura-pt);
  line-height: 1
}
#p-philosophy .philosophy__item .item-right .stt .current {
  font-size: 3.939394vw;
  line-height: 1;
  font-weight: 600
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item .item-right .stt .current {
    font-size: 6rem
  }
}
#p-philosophy .philosophy__item .item-right .stt .x {
  margin-right: 0.606061vw
}
#p-philosophy .philosophy__item .item-right .stt .normal {
  font-size: 1.575758vw
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item .item-right .stt .normal {
    font-size: 3rem
  }
}
#p-philosophy .philosophy__item .item-right .stt .en {
  display: block;
  font-size: 0.727273vw;
  letter-spacing: 0.181818vw;
  text-align: center
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item .item-right .stt .en {
    font-size: 1.4rem
  }
}
#p-philosophy .philosophy__item .item-right img {
  width: 100%
}
#p-philosophy .philosophy__item .item-right .content .ttl {
  font-size: 1.939394vw;
  font-weight: bold;
  letter-spacing: 0.242424vw;
  color: #fff;
  padding-left: 1.939394vw;
  margin-top: -5.151515vw
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item .item-right .content .ttl {
    padding-left: 3rem;
    font-size: 3rem;
    margin-top: -8rem
  }
}
#p-philosophy .philosophy__item .item-right .content .ttl .bg-bl {
  padding-left: 0.606061vw;
  background-color: #180065
}
#p-philosophy .philosophy__item .item-right .content .ttl .blue {
  color: #E5FF23;
}
#p-philosophy .philosophy__item .item-right .content .des {
  margin-top: 1.454545vw;
  padding: 0 2.69697vw;
  font-size: 0.909091vw;
  font-weight: bold;
  letter-spacing: 0.242424vw
}
@media screen and (max-width: 767px) {
  #p-philosophy .philosophy__item .item-right .content .des {
    margin-top: 2rem;
    font-size: 2.3rem;
    padding: 2rem;
    font-weight: 500
  }
}
#p-philosophy .philosophy__item:nth-of-type(2) .item-right .stt {
  color: #fff
}
#p-our-works .l-main {
  padding-top: 8vw
}
@media screen and (max-width: 767px) {
  #p-our-works .l-main {
    padding-top: 0
  }
}
#p-our-works .main-sub__left .main-heading::before {
  background: #00aa8b;
  background: linear-gradient(180deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
}
@media screen and (min-width: 768px) {
  #p-our-works .main-sub__left .box-slogan {
    margin-top: 3.939394vw
  }
}
#p-our-works #section-works {
  margin-top: -6.060606vw;
  margin-bottom: 4.242424vw;
  position: relative
}
#p-our-works #section-works .swipe {
  display: none
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .swipe {
    margin-top: 4rem;
    display: block;
    font-size: 3rem;
    color: #180084;
    letter-spacing: .4rem;
    text-align: right;
    font-weight: 600;
    margin-bottom: 2rem;
    margin-right: 6rem;
    position: relative;
    padding-right: 2.5rem
  }
  #p-our-works #section-works .swipe::after {
    content: "";
    position: absolute;
    width: 2rem;
    height: 2rem;
    background-image: url(../img/out-works/arrow-right.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 0;
    transform: translateY(-50%)
  }
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works {
    margin-top: 0;
    padding-left: 4rem
  }
  #p-our-works #section-works::before {
    content: "";
    position: absolute;
    background-color: var(--primary-color);
    left: 0;
    top: -32rem;
    width: 15rem;
    height: 104rem
  }
  #p-our-works #section-works::after {
    content: "";
    position: absolute;
    background-color: #180084;
    left: 0;
    bottom: -3.2rem;
    width: 100%;
    height: 62rem
  }
}
#p-our-works #section-works .container {
  max-width: unset;
  padding-left: unset;
  padding-right: unset
}
#p-our-works #section-works .step .inner {
  width: 69.69697vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  -moz-column-gap: 8.6rem;
  column-gap: 8.6rem;
  position: relative;
  height: 21.212121vw
}
#p-our-works #section-works .step .inner .img img {
  border: 0.121212vw solid #000
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step .inner .img img {
    border: .3rem solid #000;
    margin-left: unset !important
  }
}
#p-our-works #section-works .step .inner .stt {
  font-family: var(--futura-pt);
  font-size: 3.939394vw;
  color: #232323;
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
  margin-top: -3.030303vw;
  line-height: 1.4
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step .inner .stt {
    font-size: 6rem;
    margin-top: -4rem
  }
}

#p-our-works #section-works .step .inner .ttl {
  font-size: 1.7vw;
  font-weight: bold;
  border-bottom: 1px solid #fff;
  letter-spacing: 0.363636vw
}

@media screen and (max-width: 767px) {
  #p-our-works #section-works .step .inner .ttl {
    font-size: 3rem;
  }
}
#p-our-works #section-works .step .inner .text-medium {
  font-size: 1.454545vw;
  font-weight: bold;
  margin-top: 1.272727vw;
  margin-bottom: 1.090909vw;
  letter-spacing: 0.181818vw
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step .inner .text-medium {
    font-size: 2rem
  }
}
#p-our-works #section-works .step .inner .text-normal {
  font-size: 0.909091vw;
  font-weight: bold;
  letter-spacing: 0.121212vw
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step .inner .text-normal {
    font-size: 1.4rem;
    font-weight: 600
  }
}
#p-our-works #section-works .step .inner .content {
  padding-right: 3.030303vw
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step .inner .content {
    padding-left: 4rem;
    padding-bottom: 4rem;
    width: 100%
  }
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step .inner {
    flex-wrap: wrap;
    height: unset;
    width: unset
  }
  #p-our-works #section-works .step .inner .img {
    width: 100%
  }
}
#p-our-works #section-works .step.item-right {
  position: relative;
  padding-bottom: 3.030303vw;
  padding-top: 9.090909vw
}
@media screen and (min-width: 768px) {
  #p-our-works #section-works .step.item-right {
    width: 100% !important
  }
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-right {
    padding-top: 0
  }
}
#p-our-works #section-works .step.item-right .inner {
  color: #fff;
  background-color: var(--primary-color)
}
@media screen and (min-width: 768px) {
  #p-our-works #section-works .step.item-right .content {
    width: 37.606061vw
  }
}
#p-our-works #section-works .step.item-right .img img {
  width: 21.69697vw;
  margin-top: -6.060606vw
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-right .img img {
    width: 100%;
    margin-top: unset
  }
}
#p-our-works #section-works .step.item-right::before {
  content: "";
  position: absolute;
  width: 4.848485vw;
  height: calc(100% + 0vw);
  top: 0vw;
  right: 0;
  background: #00aa8b;
  background: rgb(24, 0, 132);
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-right::before {
    content: none
  }
}
#p-our-works #section-works .step.item-right::after {
  content: "";
  position: absolute;
  width: calc(100% - 6.060606vw);
  background: #00aa8b;
  background:linear-gradient(-100deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  height: 10.909091vw;
  bottom: 0;
  right: 0;
  z-index: -1
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-right::after {
    content: none
  }
}
#p-our-works #section-works .step.item-left {
  padding-top: 9.090909vw;
  padding-bottom: 3.030303vw;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-left {
    padding-top: 0
  }
}
#p-our-works #section-works .step.item-left::before {
  content: "";
  position: absolute;
  width: 6.060606vw;
  height: 100%;
  left: 0;
  bottom: 0;
  background-color: var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-left::before {
    content: none
  }
}
#p-our-works #section-works .step.item-left::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 12.121212vw;
  left: 0;
  bottom: 0;
  z-index: -1;
  background-color: var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-left::after {
    content: none
  }
}
#p-our-works #section-works .step.item-left .inner {
  border: 0.121212vw solid var(--primary-color);
  padding-left: 4.848485vw;
  justify-content: space-between;
  background-color: #fff
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-left .inner {
    padding-left: 0
  }
}
#p-our-works #section-works .step.item-left .content {
  width: 37.606061vw
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-left .content {
    width: 100%;
    order: 2;
    border: .3rem solid var(--primary-color)
  }
}
#p-our-works #section-works .step.item-left .img {
  margin-right: -0.121212vw
}
#p-our-works #section-works .step.item-left .img img {
  width: 21.818182vw;
  margin-top: -6.242424vw;
  margin-left: 0.242424vw
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .step.item-left .img img {
    width: 100%;
    margin-top: unset;
    order: 1
  }
}
#p-our-works #section-works .step.item-left .ttl {
  border-bottom: 1px solid var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-our-works #section-works .swiper {
    width: 100%;
    margin-left: unset;
    margin-right: unset;
    position: relative
  }
}
#p-environment .l-main {
  padding-top: 0
}
#p-environment .main-sub__left .main-img {
  top: 6.060606vw
}
@media screen and (min-width: 768px) {
  #p-environment .main-sub__left .box-slogan {
    margin-top: 14.272727vw
  }
}
@media screen and (max-width: 767px) {
  #p-environment .main-sub__left .box-slogan {
    margin-top: 8.5rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment .main-sub__left .box-slogan::before {
    content: none
  }
}
@media screen and (min-width: 768px) {
  #p-environment .main-sub__right::after {
    height: 66vw;
    background-color: #00e2b5;
    bottom: -27vw;
	background:linear-gradient(0deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%)
  }
}
#p-environment #section-base {
  padding: 9rem 0
}
@media screen and (max-width: 767px) {
  #p-environment #section-base {
    padding: 4rem 0
  }
}
#p-environment #section-base .container {
  max-width: 150rem
}
#p-environment #section-base .container .box-base {
  padding-top: 3.3rem;
  padding-left: 11.5rem;
  padding-right: 11.5rem;
  padding-bottom: 6rem;
  color: #fff;
  background-color: var(--primary-color);
  text-align: center;
  box-shadow: .7rem .7rem .5rem rgba(0, 0, 0, .1294117647)
}
@media screen and (max-width: 767px) {
  #p-environment #section-base .container .box-base {
    padding-left: 2.5rem;
    padding-right: 1.5rem
  }
}
#p-environment #section-base .container .box-base .ttl-h2 {
  font-family: var(--futura-pt);
  font-size: 6.7rem;
  margin-bottom: 4.4rem
}
@media screen and (max-width: 767px) {
  #p-environment #section-base .container .box-base .ttl-h2 {
    margin-bottom: 0
  }
}
#p-environment #section-base .container .box-base p {
  margin-bottom: 5rem;
  font-size: 2.4rem;
  font-weight: bold
}
#p-environment #section-base .container .box-base p:last-child {
  margin-bottom: 0
}
#p-environment #section-works {
  padding-bottom: 9rem
}
#p-environment #section-works .box-works {
  border: .2rem solid #000;
  padding: 7rem 5rem;
  box-shadow: .7rem .7rem .5rem rgba(0, 0, 0, .1450980392)
}
@media screen and (max-width: 767px) {
  #p-environment #section-works .box-works {
    padding: 2rem;
    padding-bottom: 4rem
  }
}
#p-environment #section-works .box-works .ttl-h2 {
  text-align: center;
  font-family: var(--futura-pt);
  font-size: 6.7rem;
  letter-spacing: 0.30303vw
}
#p-environment #section-works .box-works .des {
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 2rem
}
@media screen and (max-width: 767px) {
  #p-environment #section-works .box-works .des {
    font-size: 2.6rem
  }
}
#p-environment #section-works .box-works .list-item {
  margin-top: 4.2rem;
  display: flex;
  justify-content: center;
  -moz-column-gap: 1.3rem;
  column-gap: 1.3rem
}
@media screen and (max-width: 767px) {
  #p-environment #section-works .box-works .list-item {
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 3rem
  }
}
#p-environment #section-works .box-works .list-item .item {
  width: 24rem;
  height: 22rem;
  background-color: var(--primary-color);
  border-radius: 2.4rem;
  color: #fff;
  padding-top: 3rem;
  text-align: center
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(1) {
  line-height: 1.8
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(1) .ttl {
  font-size: 2rem;
  font-weight: bold
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(1) .row {
  font-size: 1.5rem;
  font-weight: bold
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(1) .row p {
  display: flex;
  justify-content: center;
  align-items: center
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(1) .row .number {
  font-family: var(--futura-pt);
  font-size: 7.6rem;
  font-weight: 500;
  margin-left: 1rem;
  margin-right: .7rem
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(2) {
  padding-top: 0;
  font-size: 3.9rem;
  font-weight: bold;
  line-height: 1.6;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: .3rem
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(3) {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 1rem;
  letter-spacing: .3rem
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(3) .row p {
  display: flex;
  align-items: center;
  justify-content: center
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(3) .row p .number {
  font-family: var(--futura-pt);
  font-size: 8.3rem;
  font-weight: 500;
  margin-left: 1rem;
  margin-right: .7rem
}
#p-environment #section-works .box-works .list-item .item:nth-of-type(4) {
  font-size: 5.1rem;
  font-weight: bold;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  letter-spacing: 1rem
}
#p-environment .sec-common {
  position: relative;
  padding-top: 7rem;
  padding-bottom: 20rem
}
#p-environment .sec-common .container {
  max-width: 123rem
}
@media screen and (max-width: 767px) {
  #p-environment .sec-common {
    padding-top: 5rem;
    padding-bottom: 10rem
  }
  #p-environment .sec-common .intro {
    padding-left: 3rem;
    padding-right: 3rem
  }
}
#p-environment .sec-common::before {
  content: "";
  position: absolute;
  background: #00aa8b;
  background: linear-gradient(150deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%);
  width: 100%;
  height: 100%;
  border-top-right-radius: 10rem;
  border-top-left-radius: 10rem;
  left: 0;
  top: 0;
  z-index: -1
}
@media screen and (max-width: 767px) {
  #p-environment .sec-common::before {
    border-top-right-radius: 4rem;
    border-top-left-radius: 4rem
  }
}
#p-environment .sec-common .ttl-small {
  font-weight: bold;
  font-size: 1.9rem;
  letter-spacing: .22rem;
  color: #180084;
  background-color: white;
  border-radius: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 4rem;
  padding-top: 1.2rem;
  line-height: 1;
  display: flex;
  align-items: center;
  box-shadow: -2px 1px 8px rgba(51, 51, 51, .3294117647)
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment .sec-common .ttl-small {
    font-size: 3rem;
    border-radius: 3rem;
    padding-top: 1.5rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment .sec-common .ttl-small {
    font-size: 2.3rem
  }
}
#p-environment .sec-common .ttl-h2 {
  font-size: 3.2rem;
  color: white;
  font-weight: bold;
  margin: 2.5rem 0
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment .sec-common .ttl-h2 {
    font-size: 5.1rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment .sec-common .ttl-h2 {
    margin: 2rem 0;
    margin-bottom: 1rem;
    font-size: 3rem
  }
}
#p-environment .sec-common .des {
  color: white;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.8823529412
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment .sec-common .des {
    font-size: 2.8rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment .sec-common .des {
    font-size: 1.75rem;
    font-weight: 500
  }
}
#p-environment #sec-edu {
  padding-bottom: 30rem
}
#p-environment #sec-edu .container {
  padding-left: 1.5rem;
  padding-right: 1.5rem
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment #sec-edu {
    padding-bottom: 20rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu {
    padding-bottom: 15rem
  }
}
#p-environment #sec-edu .q-wrap {
  display: grid;
  grid-template-columns: 1.8fr 1.2fr;
  margin-top: 7rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment #sec-edu .q-wrap {
    grid-template-columns: 1fr;
    row-gap: 8.6rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap {
    grid-template-columns: 1fr;
    row-gap: 7rem
  }
}
#p-environment #sec-edu .q-wrap .box-q {
  padding: 2rem;
  padding-top: 0;
  background-color: #fff;
  border-radius: 3rem;
  box-shadow: -2px 1px 8px rgba(51, 51, 51, .3294117647);
  border: .2rem solid var(--primary-color)
}
#p-environment #sec-edu .q-wrap .box-q .wrap {
  margin-top: 4rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap .box-q {
    border-radius: 1rem
  }
}
#p-environment #sec-edu .q-wrap .box-q .t-head {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--primary-color);
  border-radius: 5rem;
  padding: .4rem 3rem;
  border: .2rem solid var(--primary-color);
  margin-top: -2rem;
  background-color: #fff;
  letter-spacing: 2.4px
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment #sec-edu .q-wrap .box-q .t-head {
    font-size: 3rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap .box-q .t-head {
    padding: .3rem 3rem;
    padding-top: .5rem;
    font-size: 2rem
  }
}
#p-environment #sec-edu .q-wrap .box-q .des {
  color: #272727;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 1.9px
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment #sec-edu .q-wrap .box-q .des {
    font-size: 2.4rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap .box-q .des {
    font-size: 2rem
  }
}
#p-environment #sec-edu .q-wrap .box-q .row {
  display: flex;
  justify-content: center;
  -moz-column-gap: 2rem;
  column-gap: 2rem
}
#p-environment #sec-edu .q-wrap .box-q .ttl {
  font-size: 1.3rem;
  font-weight: bold;
  color: var(--primary-color);
  position: relative;
  letter-spacing: 1.9px
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment #sec-edu .q-wrap .box-q .ttl {
    font-size: 2.4rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap .box-q .ttl {
    font-size: 2rem
  }
}
#p-environment #sec-edu .q-wrap .box-q .ttl span {
  background-color: #fff;
  color: #180084;
  padding-right: 1rem;
  position: relative
}
#p-environment #sec-edu .q-wrap .box-q .ttl::before {
  content: "";
  position: absolute;
  width: 100%;
  height: .1rem;
  background-color: #180084;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}
#p-environment #sec-edu .q-wrap .box-q2 .des {
  text-align: left
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment #sec-edu .q-wrap .box-q2 .des {
    display: flex;
    -moz-column-gap: 7rem;
    column-gap: 7rem
  }
}
#p-environment #sec-edu .q-wrap .wrap {
  display: flex;
  justify-content: center;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
  margin-top: 2rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap .wrap {
    justify-content: center;
    flex-wrap: wrap
  }
  #p-environment #sec-edu .q-wrap .wrap .ttl {
    font-size: 2rem
  }
  #p-environment #sec-edu .q-wrap .wrap .des {
    font-size: 2rem
  }
}
@media screen and (max-width: 767px)and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap .wrap .des {
    font-size: 1.7rem;
    display: flex;
    -moz-column-gap: 7rem;
    column-gap: 7rem;
    font-weight: 500
  }
}
@media screen and (max-width: 767px) {
  #p-environment #sec-edu .q-wrap .wrap > .box-l {
    width: 100%
  }
  #p-environment #sec-edu .q-wrap .wrap > .box-r {
    margin-top: 2rem;
    width: 100%
  }
  #p-environment #sec-edu .q-wrap .wrap > .box-r .row .des {
    width: 50%
  }
}
#p-environment #sec-sup {
  margin-top: -10rem;
  padding-bottom: 30rem
}
#p-environment #sec-sup .container {
  padding-left: 1.5rem;
  padding-right: 1.5rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-sup {
    padding-bottom: 18rem
  }
}
#p-environment #sec-sup .ttl-small {
  color: #fff;
  background: #00aa8b;
  background: #180084;
}
#p-environment #sec-sup .ttl-h2 {
  color: #272727
}
#p-environment #sec-sup::before {
  background: #fff
}
#p-environment #sec-sup .des {
  color: #272727
}
#p-environment #sec-sup .des img {
  max-width: 25rem;
  float: right;
  display: inline
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-environment #sec-sup .des img {
    max-width: 30rem
  }
}
@media screen and (max-width: 767px) {
  #p-environment #sec-sup .des img {
    max-width: 23rem;
    transform: translateY(2rem);
    padding-left: 3rem
  }
}
#p-environment #sec-relation {
  margin-top: -10rem
}
#p-environment #sec-relation .ttl-small {
  color: #232323;
  background: #00aa8b;
  background:linear-gradient(70deg, rgb(255, 255, 0) 0%, rgb(255, 200, 0) 100%);
}
#p-environment #sec-relation .ttl-h2, #p-environment #sec-relation .des {
  color: #fff
}
#p-environment #sec-relation::before {
  background: unset;
  background-color: var(--primary-color)
}
#p-environment #sec-relation .swiper {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  height: 56rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-relation .swiper {
    height: 38rem
  }
}
#p-environment #sec-relation .swiper-wrapper {
  transition-timing-function: linear !important
}
#p-environment #sec-relation .swiper-slide {
  text-align: center;
  margin-right: 1.5rem !important;
  width: 38rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-relation .swiper-slide {
    width: 42rem
  }
}
#p-environment #sec-relation .marquee {
  margin-top: 6rem;
  padding: 2rem;
  background-color: #fff
}
@media screen and (max-width: 767px) {
  #p-environment #sec-relation .marquee {
    margin-top: 4rem;
    padding-left: 0;
    padding-right: 0
  }
}
#p-environment #sec-relation .marquee_old {
  margin-top: 6rem;
  overflow: hidden;
  background-color: #fff;
  padding: 2rem 0;
  padding-bottom: 0;
  border-left: 2rem solid #fff;
  border-right: 2rem solid #fff
}
@media screen and (max-width: 767px) {
  #p-environment #sec-relation .marquee_old {
    margin-top: 4rem;
    padding: 3rem 0
  }
}
#p-environment #sec-relation .marquee_old .scroll {
  display: inline-block;
  width: 120rem;
  animation: marquee 20s linear infinite
}
#p-environment #sec-relation .marquee_old .list {
  display: flex;
  gap: 2rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-relation .marquee_old .list {
    gap: 1.5rem
  }
}
#p-environment #sec-relation .marquee_old .list .item {
  min-width: 25rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-relation .marquee_old .list .item {
    min-width: 17rem
  }
}
#p-environment #sec-relation .marquee_old img {
  min-width: 25.2rem;
  display: block;
  margin-bottom: 2rem
}
@media screen and (max-width: 767px) {
  #p-environment #sec-relation .marquee_old img {
    min-width: 17rem
  }
  #p-environment #sec-relation .marquee_old img:nth-of-type(2) {
    margin-bottom: 0
  }
}
@keyframes marquee {
  from {
    transform: translateX(0%)
  }
  to {
    transform: translateX(-100%)
  }
}
#p-guidelines .main-gui__left {
  margin-top: 12.121212vw;
  width: calc(100vw - 4.848485vw)
}
@media screen and (max-width: 767px) {
  #p-guidelines .main-gui__left {
    margin-top: 0;
    padding-top: 11rem;
    width: 100%;
    position: relative
  }
}
#p-guidelines .main-gui__left .main-heading {
  height: 9.090909vw;
  position: relative;
  text-align: right;
  padding-right: 1.818182vw
}
#p-guidelines .main-gui__left .main-heading::before {
  content: "";
  position: absolute;
  height: 1.818182vw;
  width: calc(100% - 29.090909vw);
  background: #00aa8b;
  background: linear-gradient(220deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  left: 0;
  top: 1.818182vw
}
@media screen and (max-width: 767px) {
  #p-guidelines .main-gui__left .main-heading::before {
    width: calc(100% - 31rem);
    height: 2rem;
    top: 3rem
  }
}
#p-guidelines .main-gui__left .main-heading .ttl-h1 {
  transform: translateY(-1.515152vw)
}
#p-guidelines .main-gui__left .main-heading .ttl-h1 .en {
  font-family: var(--futura-pt);
  font-size: 4.424242vw;
  letter-spacing: 0.242424vw;
  line-height: 1.4
}
@media screen and (max-width: 767px) {
  #p-guidelines .main-gui__left .main-heading .ttl-h1 .en {
    font-size: 6rem
  }
}
#p-guidelines .main-gui__left .main-heading .ttl-h1 .ja {
  display: block;
  font-size: 1.878788vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #p-guidelines .main-gui__left .main-heading .ttl-h1 .ja {
    font-size: 2.7rem
  }
}
#p-guidelines .main-gui__left .main-heading .ttl-h1 .ja {
  padding-right: 3.030303vw
}
#p-guidelines .tab-guide {
  margin-top: 10rem;
  margin-bottom: 8rem
}
#p-guidelines .tab-guide .container {
  max-width: 113rem
}
@media screen and (max-width: 767px) {
  #p-guidelines .tab-guide .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem
  }
}
#p-guidelines .tab-guide .tab__header {
  display: flex;
  justify-content: center
}
#p-guidelines .tab-guide .tab__header .tab {
  color: #fff;
  font-size: 1.9rem;
  font-weight: bold;
  background-color: var(--primary-color);
  padding: 1.1rem 1rem;
  text-align: center;
  width: 20.3rem;
  border-top-left-radius: 2.5rem;
  cursor: pointer
}
@media screen and (max-width: 767px) {
  #p-guidelines .tab-guide .tab__header .tab {
    width: 12.3rem;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center
  }
}
#p-guidelines .tab-guide .tab__header .tab.active {
  background: #00aa8b;
  background: linear-gradient(70deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%);
}
#p-guidelines .tab-guide .tab__body {
  border-radius: 3.2rem;
  border: .3rem solid #272727;
  padding-top: 4rem;
  padding-left: 8rem;
  padding-right: 5rem;
  padding-bottom: 9rem
}
@media screen and (max-width: 767px) {
  #p-guidelines .tab-guide .tab__body {
    padding-top: 4rem;
    padding-left: 4rem;
    padding-right: 4rem;
    padding-bottom: 7rem
  }
}
#p-guidelines .tab-guide .tab__body .tab-item {
  display: none
}
#p-guidelines .tab-guide .tab__body .tab-item.active {
  display: block
}
#p-guidelines .tab-guide .tab__body .tab__title {
  font-size: 3.7rem;
  font-weight: bold;
  position: relative;
  padding-left: 4rem;
  margin-bottom: 2.5rem
}
@media screen and (max-width: 767px) {
  #p-guidelines .tab-guide .tab__body .tab__title {
    font-size: 3rem
  }
}
#p-guidelines .tab-guide .tab__body .tab__title::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-top: 2.4rem solid rgba(0, 0, 0, 0);
  border-bottom: 2.4rem solid rgba(0, 0, 0, 0);
  border-left: 2.4rem solid var(--primary-color)
}
#p-guidelines .tab-guide .tab__body .tab__content dl {
  display: flex;
  padding: 3rem 1rem;
  border-top: 1px solid rgba(0, 0, 0, .2470588235)
}
#p-guidelines .tab-guide .tab__body .tab__content dl:last-child {
  padding-bottom: 0
}
#p-guidelines .tab-guide .tab__body .tab__content dl dt {
  min-width: 25rem;
  font-size: 2.6rem;
  color: #180084;
  font-weight: bold;
  letter-spacing: .3rem
}
@media screen and (max-width: 767px) {
  #p-guidelines .tab-guide .tab__body .tab__content dl dt {
    min-width: 18rem;
    font-size: 2.5rem
  }
}
#p-guidelines .tab-guide .tab__body .tab__content dl dd {
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.8947368421;
  letter-spacing: .22rem
}
@media screen and (max-width: 767px) {
  #p-guidelines .tab-guide .tab__body .tab__content dl dd {
    font-size: 2rem;
    font-weight: 500
  }
}
#p-guidelines .tab-guide .tab__body .tab__content dl dd .btn-link {
  background: #00aa8b;
  background: linear-gradient(220deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  border-radius: 5rem;
  padding: .5rem 3rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  display: inline-block
}
@media screen and (max-width: 767px) {
  #p-guidelines .tab-guide .tab__body .tab__content dl dd .btn-link {
    font-size: 2.2rem
  }
}
#p-development .main-sub__left .box-slogan {
  margin-top: 3.090909vw
}
#p-development .box-d {
  display: flex
}
@media screen and (max-width: 767px) {
  #p-development .box-d {
    flex-wrap: wrap;
    background-color: var(--primary-color)
  }
  #p-development .box-d .box-left {
    order: 2
  }
  #p-development .box-d .box-right {
    order: 1
  }
}
#p-development .box-d .box-left {
  background-color: var(--primary-color);
  padding-top: 7.272727vw;
  padding-right: 4.848485vw;
  padding-bottom: 4.848485vw;
  padding-left: 6.666667vw;
  color: #fff;
  width: 100%
}
@media screen and (max-width: 767px) {
  #p-development .box-d .box-left {
    padding-top: 0
  }
}
#p-development .box-d .box-left .ttl-h2 {
  font-family: var(--futura-pt);
  font-size: 2.787879vw;
  letter-spacing: 0.30303vw;
  position: relative;
  display: block;
  padding-right: 1.515152vw;
  width: -moz-fit-content;
  width: fit-content;
  color: white;
}
@media screen and (max-width: 767px) {
  #p-development .box-d .box-left .ttl-h2 {
    font-size: 6rem;
    padding-right: 5rem;
    margin-top: -16rem;
    line-height: 1.4;
    margin-bottom: 10rem
  }
}
#p-development .box-d .box-left .ttl-h2 span {
  position: relative;
  z-index: 1
}
#p-development .box-d .box-left .ttl-h2::after {
  content: "";
  position: absolute;
  width: calc(100% + 6.666667vw);
  height: 100%;
  padding: 0.606061vw 1.515152vw;
  background: linear-gradient(70deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%);
  left: -6.666667vw;
  border-bottom-right-radius: 2.727273vw
}
@media screen and (max-width: 767px) {
  #p-development .box-d .box-left .ttl-h2::after {
    border-bottom-right-radius: 5rem
  }
}
#p-development .box-d .box-left .ttl-medium {
  margin-top: 3.636364vw;
  margin-bottom: 1.69697vw;
  font-size: 1.333333vw;
  font-weight: bold;
  letter-spacing: 0.242424vw
}
@media screen and (max-width: 767px) {
  #p-development .box-d .box-left .ttl-medium {
    font-size: 3rem;
    line-height: 1.6;
    margin-bottom: 2rem
  }
}
#p-development .box-d .box-left .ttl-medium .blue {
  color: #E5FF23;
}
#p-development .box-d .box-left .des {
  font-size: 0.848485vw;
  font-weight: bold;
  letter-spacing: 0.30303vw
}
@media screen and (max-width: 767px) {
  #p-development .box-d .box-left .des {
    font-weight: 500;
    font-size: 1.7rem
  }
}
#p-development .box-d .box-right {
  width: 66.666667vw
}
@media screen and (max-width: 767px) {
  #p-development .box-d .box-right {
    padding-top: 4rem;
    width: 100%;
    text-align: center
  }
}
#p-development .box-d .box-right img {
  width: 100%
}
@media screen and (max-width: 767px) {
  #p-development .box-d .box-right img {
    max-width: 42rem
  }
}
#p-development .main-img {
  margin-top: 3.636364vw
}
#p-development section {
  background-color: #180084
}
@media screen and (max-width: 767px) {
  #p-development section {
    background-color: unset
  }
}
#p-development section .inner {
  background-color: #fff;
  padding-left: 7.272727vw;
  padding-right: 1.515152vw;
  width: calc(100% - 4.848485vw);
  padding-top: 3.636364vw;
  padding-bottom: 1.212121vw
}
@media screen and (max-width: 767px) {
  #p-development section .inner {
    padding-top: 4rem;
    padding-left: 1.5rem;
    width: 100%;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0
  }
}
#p-development #section__career .inner {
  padding-bottom: 3.636364vw
}
@media screen and (max-width: 767px) {
  #p-development #section__career .inner {
    padding-top: 0;
    padding-bottom: 0
  }
}
#p-development #section__career .box-d .box-left {
  background-color: #f5f5f5;
  color: var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-development #section__career .box-d .box-left {
    padding-bottom: 7rem
  }
}
#p-development #section__career .box-d .box-left .ttl-h2 {
  color: #fff
}
#p-development #section__career .box-d .box-left .ttl-medium .blue {
      color: #180084;
    background-color: #E5FF23;
}
@media screen and (max-width: 767px) {
  #p-development #section__career .box-d .box-right {
    background-color: #f5f5f5
  }
}
#p-interview .l-header.fixed .l-header__logo a {
  background-image: url(../img/common/logo.png)
}
#p-interview .l-header__logo a {
  background-image: url(../img/common/logo-white.png)
}
#p-interview .l-main {
  padding-top: 0
}
#p-interview .main-interview .main-top {
  display: flex
}
#p-interview .main-interview .main-top .main-left {
  width: 60.606061vw;
  background-color: var(--primary-color);
  color: #fff;
  padding-left: 7.69697vw;
  display: flex;
  align-items: center
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-left .inner {
    padding-bottom: 5rem
  }
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-left {
    padding-left: 4rem;
    width: 50%
  }
}
#p-interview .main-interview .main-top .main-left .ttl-top {
  font-size: 1.090909vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-left .ttl-top {
    font-size: 2rem
  }
}
#p-interview .main-interview .main-top .main-left .ttl-h1 {
  font-size: 4.242424vw;
  font-weight: 900;
  line-height: 1.2;
  margin-top: 0.606061vw;
  margin-bottom: 0.606061vw
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-left .ttl-h1 {
    font-size: 6rem
  }
}
#p-interview .main-interview .main-top .main-left .ttl-sub {
  font-size: 0.848485vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-left .ttl-sub {
    font-size: 2rem
  }
}
#p-interview .main-interview .main-top .main-right {
  width: 100%;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-right {
    width: 50%
  }
}
#p-interview .main-interview .main-top .main-right .info {
  position: absolute;
  left: 3.030303vw;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.090909vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-right .info {
    left: -17rem;
    top: 83%;
    font-size: 2rem
  }
}
#p-interview .main-interview .main-top .main-right .info span {
  line-height: 2;
  background: #00aa8b;
  background: linear-gradient(120deg, rgb(24, 0, 132) 0%, rgb(130, 130, 240) 100%);
  color: #fff;
  padding: 0.606061vw;
  letter-spacing: 0.121212vw;
  display: block;
  margin-bottom: .3rem
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-right .info span {
    padding: .4rem;
    line-height: 2
  }
}
#p-interview .main-interview .main-top .main-right .text-right {
  position: absolute;
  top: 5.454545vw;
  right: 0;
  height: 100%;
  width: 4.848485vw;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 9.090909vw
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-top .main-right .text-right {
    display: none
  }
}
#p-interview .main-interview .main-top .main-right .text-right::before {
  content: "";
  position: absolute;
  width: 0.121212vw;
  height: 3.454545vw;
  background-color: var(--primary-color);
  margin-top: -4.242424vw
}
#p-interview .main-interview .main-top .main-right .text-right::after {
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% - 10.30303vw);
  background-color: rgb(140, 150, 255) ;
  bottom: 0
}
#p-interview .main-interview .main-top .main-right .text-right .text-vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: normal;
  font-size: 1.090909vw;
  font-weight: bold;
  letter-spacing: 0.130909vw;
  color: var(--primary-color);
  line-height: 1.939394vw
}
#p-interview .main-interview .main-top .main-right .text-right .text-vertical span {
  position: relative;
  z-index: 2
}
#p-interview .main-interview .main-bottom {
  font-size: 2.242424vw;
  font-weight: bold;
  text-align: center;
  padding: 3.636364vw 0;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-bottom {
    font-size: 3rem;
    padding-top: 4rem;
    padding-bottom: 6rem
  }
}
#p-interview .main-interview .main-bottom::before {
  content: "";
  position: absolute;
  width: 5.151515vw;
  height: 100%;
  background: #00aa8b;
  background: linear-gradient(0deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%);
  bottom: 0;
  left: 10%;
  transform: skewX(328deg)
}
@media screen and (max-width: 767px) {
  #p-interview .main-interview .main-bottom::before {
    width: 9rem;
    left: -3%;
    transform: skewX(315deg)
  }
}
#p-interview .interview {
  background: #00aa8b;
  background:linear-gradient(0deg, rgb(24, 0, 132) 0%, rgb(140, 150, 255)  100%);
}
@media screen and (max-width: 767px) {
  #p-interview .interview {
    background-color: unset;
    background: unset
  }
}
#p-interview .interview .inner {
  padding-right: 4.848485vw
}
@media screen and (max-width: 767px) {
  #p-interview .interview .inner {
    padding-left: unset;
    padding-right: unset
  }
}
#p-interview .interview__item {
  display: flex
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item {
    flex-wrap: wrap;
    justify-content: center
  }
}
#p-interview .interview__item.img-left {
  color: #fff
}
#p-interview .interview__item.img-left .img {
  width: 51vw;
  position: relative
}
#p-interview .interview__item.img-left .img img {
  width: 100%
}
#p-interview .interview__item.img-left .content {
  width: 50vw;
  padding: 4.848485vw;
  padding-top: 4.848485vw
}
@media screen and (min-width: 768px) {
  #p-interview .interview__item.img-left .content {
    background: #00aa8b;
    background: linear-gradient(70deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%);
  }
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-left .content {
    margin-top: -4rem;
    width: 100%;  
	background: linear-gradient(70deg, rgb(24, 0, 132) 0%, rgb(152, 160, 210) 100%);;
    padding-top: 7rem;
    padding-bottom: 12rem
  }
}
#p-interview .interview__item.img-left .content .des {
  font-size: 1.0vw;
  font-weight: 500;
  letter-spacing: 0.3vw
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-left .content .des {
    font-weight: 500;
    font-size: 1.8rem
  }
}
#p-interview .interview__item.img-left .content .ttl-h3 {
  font-size: 1.878788vw;
  font-weight: bold;
  margin-bottom: 1.212121vw
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-left .content .ttl-h3 {
    font-size: 4rem
  }
}
#p-interview .interview__item.last-item {
  background-color: #fff
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.last-item .img {
    margin-top: -5rem
  }
}
#p-interview .interview__item.last-item .content {
  background-color: #fff;
  background: #fff
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.last-item .content {
    background-color: #fff
  }
}
#p-interview .interview__item.last-item .ttl-h3 {
  color: #180065;
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.last-item .ttl-h3 {
    font-size: 4rem
  }
}
#p-interview .interview__item.last-item .des {
  color: var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.last-item .des {
    font-size: 1.8rem
  }
}
#p-interview .interview__item.img-right {
  background-color: var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-right .img {
    order: 1
  }
}
#p-interview .interview__item.img-right .content {
  width: 65vw;
  color: #fff;
  padding: 12.121212vw
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-right .content {
    width: 100%;
    order: 2;
    padding: 4rem;
    padding-top: 2rem;
    padding-bottom: 10rem
  }
}
#p-interview .interview__item.img-right .content .des {
  font-size: 1.0vw;
  font-weight: 500;
  letter-spacing: 0.3vw
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-right .content .des {
    font-weight: 500;
    font-size: 1.8rem
  }
}
#p-interview .interview__item.img-right .content .ttl-h3 {
  font-size: 1.878788vw;
  font-weight: bold;
  margin-bottom: 1.212121vw;
  color: #E5FF23;
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-right .content .ttl-h3 {
    font-size: 4rem
  }
}
#p-interview .interview__item.img-right .img {
  width: 35vw
}
@media screen and (max-width: 767px) {
  #p-interview .interview__item.img-right .img {
    width: 33rem;
    margin-top: -7rem
  }
}
#p-interview .interview__item.img-right .img img {
  width: 100%
}
#p-entry {
  padding-top: 6.060606vw
}
#p-entry .entry-heading {
  padding-left: 13.333333vw;
  position: relative
}
@media screen and (max-width: 767px) {
  #p-entry .entry-heading {
    padding-left: 4rem
  }
}
#p-entry .entry-heading::before {
  content: "";
  position: absolute;
  width: 10.30303vw;
  height: 1.515152vw;
  background: #00aa8b;
  background: linear-gradient(220deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  left: 0;
  top: 1.212121vw
}
@media screen and (max-width: 767px) {
  #p-entry .entry-heading::before {
    content: none
  }
}
#p-entry .entry-heading::after {
  content: "";
  position: absolute;
  width: 70.30303vw;
  height: 1.515152vw;
  background: #00aa8b;
  background: linear-gradient(220deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  right: 0;
  bottom: 0.606061vw
}
@media screen and (max-width: 767px) {
  #p-entry .entry-heading::after {
    content: none
  }
}
#p-entry .entry-heading .ttl-h1 {
  line-height: 1.2
}
#p-entry .entry-heading .ttl-h1 .en {
  font-family: var(--futura-pt);
  font-size: 5.272727vw;
  color: var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-entry .entry-heading .ttl-h1 .en {
    font-size: 6rem;
    margin-right: 5rem
  }
}
#p-entry .entry-heading .ttl-h1 .ja {
  display: block;
  font-size: 1.939394vw;
  letter-spacing: 0.181818vw;
  font-weight: bold
}
@media screen and (max-width: 767px) {
  #p-entry .entry-heading .ttl-h1 .ja {
    display: inline-block;
    font-size: 2.5rem
  }
}
#p-entry #section__entry {
  position: relative;
  padding: 20rem 0
}
@media screen and (max-width: 767px) {
  #p-entry #section__entry {
    padding-top: 7rem
  }
}
#p-entry #section__entry .ttl-h2 {
  margin-bottom: 10rem
}
@media screen and (max-width: 767px) {
  #p-entry #section__entry .ttl-h2 {
    margin-bottom: 5rem
  }
}
#p-entry #section__entry .ttl-h2 .en {
  font-size: 11.2rem;
  font-family: var(--futura-pt);
  color: var(--primary-color);
  font-weight: 400
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-entry #section__entry .ttl-h2 .en {
    font-size: 10.4rem
  }
}
@media screen and (max-width: 767px) {
  #p-entry #section__entry .ttl-h2 .en {
    font-size: 9rem
  }
}
#p-entry #section__entry .ttl-h2 .ja {
  margin-left: 1rem;
  font-weight: bold;
  font-size: 4.1rem;
  letter-spacing: .41rem;
  color: var(--primary-color)
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-entry #section__entry .ttl-h2 .ja {
    font-size: 3.8rem
  }
}
@media screen and (max-width: 767px) {
  #p-entry #section__entry .ttl-h2 .ja {
    font-size: 2.8rem
  }
}
#p-entry .container {
  max-width: 102rem
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-entry .container {
    max-width: 100%;
    padding: 0 15rem
  }
}
#p-entry dl {
  display: flex;
  margin-bottom: 5rem
}
@media screen and (max-width: 767px) {
  #p-entry dl {
    margin-bottom: 3.5rem;
    flex-wrap: wrap
  }
}
#p-entry dl dt {
  min-width: 39rem
}
@media screen and (max-width: 767px) {
  #p-entry dl dt {
    width: 100%;
    padding-bottom: 1rem
  }
}
#p-entry dl dt label {
  font-size: 2.3rem;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-entry dl dt label {
    font-size: 2.6rem
  }
}
@media screen and (max-width: 767px) {
  #p-entry dl dt label {
    font-size: 2rem
  }
}
#p-entry dl dt label.required::after {
  content: "必須";
  font-size: 1.7rem;
  background-color: #f24f56;
  border-radius: .3rem;
  color: #fff;
  margin-left: 2rem;
  padding: .5rem 1rem;
  line-height: 1
}
@media screen and (max-width: 767px) {
  #p-entry dl dt label.required::after {
    padding-top: 1rem;
    font-size: 1.5rem
  }
}
#p-entry dl dd {
  width: calc(100% - 39rem)
}
#p-entry dl dd label.error {
  color: red;
  font-size: 2rem;
  font-weight: bold;
  display: block;
  margin-top: 1rem
}
@media screen and (max-width: 767px) {
  #p-entry dl dd {
    width: 100%
  }
}
#p-entry .row-2 {
  display: flex;
  -moz-column-gap: 2.2rem;
  column-gap: 2.2rem
}
#p-entry input, #p-entry textarea {
  font-size: 2.3rem;
  padding: 1rem;
  border: .1rem solid #babbbb
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-entry input, #p-entry textarea {
    font-size: 2.6rem
  }
}
@media screen and (max-width: 767px) {
  #p-entry input, #p-entry textarea {
    font-size: 2.5rem
  }
}
#p-entry input:not([type=checkbox]) {
  background-color: #fff;
  padding: 1rem;
  border-radius: 1rem;
  width: 100%
}
#p-entry input:not([type=checkbox])::-moz-placeholder {
  color: #dbdcdc
}
#p-entry input:not([type=checkbox])::placeholder {
  color: #dbdcdc
}
@media screen and (max-width: 767px) {
  #p-entry input:not([type=checkbox]) {
    padding: 1rem;
    min-height: 7rem
  }
}
#p-entry textarea {
  background-color: #fff;
  width: 100%;
  border-radius: 1rem
}
#p-entry input[type=checkbox] {
  background-color: #fff;
  width: 4.1rem;
  height: 4.1rem
}
#p-entry input[type=checkbox]:checked {
  background-image: url(../img/form/checked.svg);
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: center
}
@media screen and (max-width: 767px) {
  #p-entry input[type=checkbox] {
    width: 3rem;
    height: 3rem;
    padding: unset
  }
}
#p-entry .checkbox {
  margin-bottom: 5rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 4rem;
  column-gap: 4rem
}
@media screen and (max-width: 767px) {
  #p-entry .checkbox {
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    margin-bottom: 2rem
  }
}
#p-entry .checkbox label {
  font-size: 2.3rem;
  font-weight: bold
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-entry .checkbox label {
    font-size: 2.6rem
  }
}
@media screen and (max-width: 767px) {
  #p-entry .checkbox label {
    font-size: 1.8rem
  }
}
#p-entry .f-agree .checkbox {
  align-items: flex-start
}
@media screen and (max-width: 767px) {
  #p-entry .f-agree .checkbox input {
    min-width: 3rem
  }
}
#p-entry .f-agree .checkbox input {
  transform: translateY(0.5rem) translateX(0.5rem)
}
#p-entry .info {
  background-color: #fff;
  margin-left: 8rem;
  font-size: 1.7rem;
  padding: 2rem;
  font-weight: bold;
  height: 20rem;
  overflow-y: scroll;
  border: .1rem solid #babbbb
}
@media screen and (max-width: 767px) {
  #p-entry .info {
    margin-left: 5rem
  }
}
@media screen and (max-width: 767px)and (max-width: 767px) {
  #p-entry .info {
    padding: 1rem
  }
}
#p-entry .btn-wrap {
  text-align: center;
  margin-top: 10rem
}
@media screen and (max-width: 767px) {
  #p-entry .btn-wrap {
    margin-top: 7rem;
    display: flex;
    justify-content: center;
    -moz-column-gap: 2rem;
    column-gap: 2rem
  }
}
#p-entry .btn-wrap .btn {
  font-weight: bold;
  font-size: 3.3rem;
  color: #fff;
  line-height: 1;
  background: #00aa8b;
  background: linear-gradient(220deg, rgb(24, 0, 132) 0%, rgb(152, 147, 174) 100%);
  padding: 3.3rem 5rem;
  border-radius: 10rem;
  transition: .4s;
  border: .2rem solid #fff
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-entry .btn-wrap .btn {
    font-size: 3rem
  }
}
@media screen and (max-width: 767px) {
  #p-entry .btn-wrap .btn {
    padding: 2rem 5rem;
    font-size: 2.5rem;
    border-width: .2rem
  }
}
#p-entry .btn-wrap .btn:hover {
  background-color: #fff;
  border: .2rem solid #180084;
  background: #fff;
  color: #180084
}
#p-entry .confirm-entry .ttl-l {
  font-size: 4.7rem;
  font-weight: bold;
  color: var(--primary-color);
  letter-spacing: .6rem
}
@media screen and (max-width: 767px) {
  #p-entry .confirm-entry .ttl-l {
    font-size: 3rem
  }
}
#p-entry .confirm-entry .confirm-wrap {
  margin-top: 3rem;
  background-color: #fff;
  border: .2rem solid var(--primary-color)
}
@media screen and (max-width: 767px) {
  #p-entry .confirm-entry .confirm-wrap {
    margin-top: 1.5rem
  }
}
#p-entry .confirm-entry .confirm-wrap dl {
  margin: unset
}
#p-entry .confirm-entry .confirm-wrap dl:first-child dt, #p-entry .confirm-entry .confirm-wrap dl:first-child dd {
  padding-top: 3rem
}
#p-entry .confirm-entry .confirm-wrap dl:last-child dt, #p-entry .confirm-entry .confirm-wrap dl:last-child dd {
  padding-bottom: 3rem
}
#p-entry .confirm-entry .confirm-wrap dl dt {
  background-color: var(--primary-color);
  padding: 3rem 6rem;
  padding-right: 3rem;
  width: 43rem;
  color: #fff
}
@media screen and (max-width: 767px) {
  #p-entry .confirm-entry .confirm-wrap dl dt {
    width: 100%;
    padding: 1.5rem 3rem;
    padding-right: 1.5rem
  }
}
#p-entry .confirm-entry .confirm-wrap dl dt label {
  font-size: 2.5rem
}
@media screen and (max-width: 767px) {
  #p-entry .confirm-entry .confirm-wrap dl dt label {
    font-size: 2rem
  }
  #p-entry .confirm-entry .confirm-wrap dl dt label::after {
    white-space: nowrap;
    font-size: 1rem;
    margin-left: 1rem
  }
}
#p-entry .confirm-entry .confirm-wrap dl dd {
  font-size: 2.5rem;
  font-weight: bold;
  padding: 3rem
}
@media screen and (max-width: 767px) {
  #p-entry .confirm-entry .confirm-wrap dl dd {
    font-size: 2rem;
    padding: 2rem
  }
}
#p-entry .confirm-entry .btn-wrap {
  margin-top: 10rem
}
@media screen and (max-width: 767px) {
  #p-entry .confirm-entry .btn-wrap {
    margin-top: 5rem
  }
}
#p-entry .confirm-entry .btn-wrap .btn {
  width: 100%;
  max-width: 33rem
}
#p-entry .confirm-entry .btn-wrap .btn:nth-of-type(2) {
  margin-left: 4rem
}
@media screen and (max-width: 767px) {
  #p-entry .confirm-entry .btn-wrap .btn:nth-of-type(2) {
    margin-left: unset
  }
}
#p-entry .tab_form, #p-entry .tab_confirm {
  display: none
}
#p-entry .tab_form.active, #p-entry .tab_confirm.active {
  display: block
}
#p-thanks .l-main {
  padding-top: 15rem;
  padding-bottom: 15rem
}
@media screen and (max-width: 1180px)and (min-width: 768px) {
  #p-thanks .l-main {
    padding: 20rem 0
  }
}
#p-thanks .thanks {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  text-align: center;
  padding: 10rem 5rem;
  font-weight: 500;
  color: var(--primary-color);
  border-radius: 5rem
}
@media screen and (max-width: 767px) {
  #p-thanks .thanks {
    padding: 6rem 3rem
  }
}
#p-thanks .thanks .ttl-h2 {
  font-size: 6.7rem
}
@media screen and (max-width: 767px) {
  #p-thanks .thanks .ttl-h2 {
    font-size: 5rem
  }
}
#p-thanks .thanks .des {
  font-size: 3.6rem
}
@media screen and (max-width: 767px) {
  #p-thanks .thanks .des {
    font-size: 2.7rem;
    font-weight: bold
  }
}
#section__thanks {
  padding: 15rem 0;
  padding-bottom: 20rem
}
@media screen and (max-width: 767px) {
  #section__thanks {
    padding-top: 5rem;
    padding-bottom: 4rem
  }
}
#section__thanks .ttl-h2 {
  font-size: 6.7rem;
  font-family: var(--futura-pt);
  font-weight: 500;
  color: #180084;
  text-align: center
}
#section__thanks .container {
  max-width: 78rem
}
@media screen and (max-width: 767px) {
  #section__thanks .container {
    padding-left: 0;
    padding-right: 0
  }
}
#section__thanks .des {
  text-align: center;
  font-size: 3.7rem
}
@media screen and (max-width: 767px) {
  #section__thanks .des {
    font-size: 2.7rem;
    font-weight: bold
  }
}
#section__thanks .banner-line {
  display: block;
  margin-top: 6rem;
  background-color: #3fa538;
  padding: 4rem;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-bottom: 6.4rem;
  position: relative;
  opacity: 1;
  transition: .3s
}
@media screen and (max-width: 767px) {
  #section__thanks .banner-line {
    padding-bottom: 8.4rem
  }
}
#section__thanks .banner-line:hover {
  opacity: .7
}
#section__thanks .banner-line .click {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 10rem;
  background-color: #fff200;
  border-radius: 50%;
  border: double .6rem #3fa538;
  font-size: 2.1rem;
  font-weight: 900;
  color: #3fa538;
  position: absolute;
  top: 1.2rem;
  right: 1rem
}
#section__thanks .banner-line .text-line {
  color: #fff;
  font-size: 3.1rem;
  letter-spacing: .3rem;
  text-align: center;
  padding: 3rem
}
#section__thanks .banner-line .outline {
  border: .5rem solid #fff200;
  border-radius: 1.5rem
}
#section__thanks .banner-line .text-mes {
  line-height: 2;
  font-size: 1.4rem;
  letter-spacing: .12rem;
  background-color: #fff;
  text-align: center;
  font-weight: 500;
  width: calc(100% - 16rem);
  position: absolute;
  left: 50%;
  bottom: 1.4rem;
  transform: translateX(-50%);
  padding: .7rem 0;
  border-radius: .4rem
}
@media screen and (max-width: 767px) {
  #section__thanks .banner-line .text-mes {
    font-size: 1.8rem;
    font-weight: bold;
    bottom: 1.4rem
  }
}
#section__thanks .banner-line .text-mes::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: -1.2rem;
  left: 50%;
  transform: translateX(-50%);
  border-left: 1rem solid rgba(0, 0, 0, 0);
  border-right: 1rem solid rgba(0, 0, 0, 0);
  border-bottom: 1.5rem solid #fff
}