/*** The new CSS reset - version 1.5.1 (last updated 1.3.2022) ***/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&amp;family=Noto+Sans+SC:wght@100..900&amp;family=Noto+Sans+TC:wght@100..900&amp;family=Noto+Sans:ital,wght@0,100..900;1,100..900&amp;family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap");
body {
  margin: 0;
  padding: 0;
}

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

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

a,
button {
  cursor: revert;
  text-decoration: none;
}

ol,
ul,
dl,
dt,
dd,
menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

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

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  background-color: #242834;
  color: #F4F4EA;
  overflow-x: hidden;
}
body.is-loading {
  overflow: hidden;
}
body.ja {
  font-family: "Noto Sans JP", serif;
}
body.en {
  font-family: "Noto Sans", serif;
}
@media screen and (max-width: 767.99px) {
  body.en .p-technology__top-lead {
    max-width: 79.4871794872vw;
    margin-left: auto;
    margin-right: auto;
  }
}
body.en .p-technology__box-item .ttl-note {
  display: block;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  body.en .p-technology__box-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.en .p-technology__box-btn {
    width: 23.4375vw;
  }
}
@media screen and (min-width: 768px) {
  body.en .p-beauty__text-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.en .p-beauty__text-btn {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.en .p-beauty__text-btn {
    padding-left: 1.9230769231vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.en .l-footer__copyright {
    width: 100%;
  }
}
body.tc {
  font-family: "Noto Sans TC", serif;
}
body.tc .p-technology__box-btn {
  padding-left: 0;
  justify-content: center;
}
body.sc {
  font-family: "Noto Sans SC", serif;
}
body.sc .p-technology__box-btn {
  padding-left: 0;
  justify-content: center;
}
body.de {
  font-family: "Noto Sans", serif;
}
@media screen and (max-width: 767.99px) {
  body.de .p-technology__top-lead {
    max-width: 79.4871794872vw;
    margin-left: auto;
    margin-right: auto;
  }
}
body.de .p-technology__box-item .ttl-note {
  display: block;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  body.de .p-technology__box-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.de .p-technology__box-btn {
    width: 23.4375vw;
  }
}
@media screen and (min-width: 768px) {
  body.de .p-beauty__text-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.de .p-beauty__text-btn {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.de .p-beauty__text-btn {
    padding-left: 1.9230769231vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.de .l-footer__copyright {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  body.de .p-technology__box-item.item02 img {
    margin-left: 45px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.de .p-technology__box-item.item02 img {
    margin-left: 2.34375vw;
  }
}
@media screen and (min-width: 768px) {
  body.de .p-technology__box-btn {
    width: 500px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.de .p-technology__box-btn {
    width: 26.0416666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.de .p-beauty__lineup-slider {
    height: 138.4615384615vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.de .p-beauty__lineup-slider .item-text {
    top: 94.8717948718vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.de .p-beauty__lineup-slider .item-text-ttl .info {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767.99px) {
  body.de .p-beauty__lineup-arrows {
    bottom: 46.1538461538vw;
  }
}
body.fr {
  font-family: "Noto Sans", serif;
}
@media screen and (max-width: 767.99px) {
  body.fr .p-technology__top-lead {
    max-width: 79.4871794872vw;
    margin-left: auto;
    margin-right: auto;
  }
}
body.fr .p-technology__box-item .ttl-note {
  display: block;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  body.fr .p-technology__box-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.fr .p-technology__box-btn {
    width: 23.4375vw;
  }
}
@media screen and (min-width: 768px) {
  body.fr .p-beauty__text-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.fr .p-beauty__text-btn {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.fr .p-beauty__text-btn {
    padding-left: 1.9230769231vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.fr .l-footer__copyright {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  body.fr .p-technology__box-item.item02 img, body.fr .p-technology__box-item.item03 img {
    margin-left: 45px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.fr .p-technology__box-item.item02 img, body.fr .p-technology__box-item.item03 img {
    margin-left: 2.34375vw;
  }
}
body.nl {
  font-family: "Noto Sans", serif;
}
@media screen and (max-width: 767.99px) {
  body.nl .p-technology__top-lead {
    max-width: 79.4871794872vw;
    margin-left: auto;
    margin-right: auto;
  }
}
body.nl .p-technology__box-item .ttl-note {
  display: block;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  body.nl .p-technology__box-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.nl .p-technology__box-btn {
    width: 23.4375vw;
  }
}
@media screen and (min-width: 768px) {
  body.nl .p-beauty__text-btn {
    width: 450px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.nl .p-beauty__text-btn {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.nl .p-beauty__text-btn {
    padding-left: 1.9230769231vw;
  }
}
@media screen and (max-width: 767.99px) {
  body.nl .l-footer__copyright {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  body.nl .p-technology__box-item.item02 img {
    margin-left: 45px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body.nl .p-technology__box-item.item02 img {
    margin-left: 2.34375vw;
  }
}
@media screen and (min-width: 768px) {
  body p {
    font-size: 16px;
    line-height: 2.25;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  body p {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  body p {
    font-size: calc(24 / 780 * 100vw);
    line-height: 1.9166666667;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}

@media screen and (min-width: 768px) {
  html, css {
    touch-action: none;
  }
}

a {
  color: inherit;
  transition: all 0.3s;
}

.u-en {
  font-family: "Poppins", serif;
}

.d-ib {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .l-inner {
    margin-left: calc((100vw - 1340px) / 2);
    max-width: 1500px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-inner {
    margin-left: calc((100vw - 69.7916666667vw) / 2);
    max-width: 78.125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-inner {
    margin: 0 auto;
    max-width: 79.4871794872vw;
  }
}

.c-btn {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  color: #989896;
  border: 1px solid #989896;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-btn:hover::before {
    opacity: 1;
  }
}
.c-btn::before, .c-btn::after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.3s;
}
.c-btn::before {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(rgba(255, 255, 255, 0.15) 0%, rgba(173, 173, 173, 0.05) 59.61%, rgba(128, 128, 128, 0.13) 100%);
}
.c-btn::after {
  top: 55%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../png/ic-arrow.png);
}

.l-header {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 10000001;
  width: 100vw;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .l-header {
    top: 46px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-header {
    top: 2.3958333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header {
    top: 0;
  }
}
.l-header__inner {
  display: flex;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    justify-content: flex-end;
    align-items: center;
    column-gap: 47px;
    max-width: 1740px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-header__inner {
    max-width: 90.625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__inner {
    padding-right: 6.9230769231vw;
    align-items: center;
  }
}
.l-header__lang {
  position: relative;
  z-index: 1000001;
  display: flex;
  width: max-content;
}
@media screen and (max-width: 767.99px) {
  .l-header__lang {
    margin-right: auto;
    margin-left: 3.8461538462vw;
  }
}
.l-header__lang::before, .l-header__lang::after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 2;
}
.l-header__lang::before {
  background-image: url(../png/ic-language.png);
}
@media screen and (min-width: 768px) {
  .l-header__lang::before {
    width: 12px;
    height: 12px;
    left: 9px;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__lang::before {
    width: 2.9487179487vw;
    height: 2.9487179487vw;
    left: 2.4358974359vw;
  }
}
.l-header__lang::after {
  background-image: url(../png/ic-arrow-wh.png);
}
@media screen and (min-width: 768px) {
  .l-header__lang::after {
    width: 7px;
    height: 4px;
    right: 12px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-header__lang::after {
    width: 0.3645833333vw;
    height: 0.2083333333vw;
    right: 0.625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__lang::after {
    width: 1.6666666667vw;
    height: 0.8974358974vw;
    right: 3.0769230769vw;
  }
}
.l-header__lang select {
  cursor: pointer;
  background-color: transparent;
  border: 1px solid #fff;
  background-color: #242834;
  color: #fff;
  font-family: "Poppins", "Noto Sans JP", serif;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media screen and (max-width: 767.99px) {
  .l-header__lang select {
    font-size: calc(25 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .l-header__lang select {
    font-size: 12px;
    letter-spacing: 0.05em;
    width: 137px;
    height: 25px;
    border-radius: 19px;
    padding-left: 32px;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__lang select {
    backdrop-filter: blur(10px);
    --webkit-backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.1);
    height: 5.8974358974vw;
    width: 30.7692307692vw;
    padding-left: 6.1538461538vw;
    border-radius: 3.3333333333vw;
  }
}
.l-header__lang select option {
  color: #000;
}
.l-header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    position: relative;
    z-index: 1000001;
  }
  .l-header__logo:hover {
    opacity: 0.7;
  }
}
.l-header__logo img {
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-header__logo img {
    width: 95px;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__logo img {
    width: 18.7179487179vw;
  }
}
.l-header__navwrap {
  position: fixed;
  height: 100vh;
}
@media screen and (min-width: 768px) {
  .l-header__navwrap {
    z-index: 100001;
    left: 60px;
    top: 0;
    opacity: 0;
    animation: fade 1s 1s forwards;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-header__navwrap {
    left: 3.125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__navwrap {
    background-color: #242834;
    right: 0;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: -10;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 25.641025641vw 10.2564102564vw 12.8205128205vw 20vw;
    transition: all 0.6s;
    width: 100vw;
    overflow-y: auto;
  }
  .l-header__navwrap::before {
    position: absolute;
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #fff;
    left: 20vw;
    top: 0;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__navwrap.is-panelactive {
    z-index: 100001;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
}
@media screen and (min-width: 768px) {
  .l-header__nav {
    height: 100%;
    display: flex;
  }
}
.l-header__nav-ttl {
  font-style: italic;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-ttl {
    font-size: calc(30 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (min-width: 768px) {
  .l-header__nav-ttl {
    border-right: 1px solid #F4F4EA;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 200;
    padding-right: 6px;
    margin-right: 16px;
    padding-top: 10vh;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-ttl {
    position: absolute;
    bottom: 11.5384615385vw;
    left: 11.5384615385vw;
  }
}
.l-header__nav-list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-header__nav-list {
    height: 100%;
    justify-content: center;
    row-gap: 50px;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-list {
    width: 100%;
    row-gap: 10.8974358974vw;
    margin-bottom: 17.9487179487vw;
  }
}
.l-header__nav-list a {
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-header__nav-list a {
    column-gap: 24px;
  }
  .l-header__nav-list a:hover .u-en {
    border: 1px solid #fff;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-list a {
    column-gap: 8.4615384615vw;
    padding-left: 4.6153846154vw;
  }
}
.l-header__nav-list a::before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  transform: translate(-50%, -100%);
  background-color: #F4F4EA;
  height: 1px;
}
@media screen and (min-width: 768px) {
  .l-header__nav-list a::before {
    width: 9px;
    left: -40px;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-list a::before {
    width: 3.8461538462vw;
    left: -8.9743589744vw;
  }
}
.l-header__nav-list a .u-ja {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-list a .u-ja {
    font-size: calc(40 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .l-header__nav-list a .u-ja {
    font-size: 16px;
    letter-spacing: 0.05em;
    font-weight: 300;
    width: 29px;
    height: 29px;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-list a .u-ja {
    color: #fff;
  }
}
.l-header__nav-list a .u-en {
  font-style: italic;
  position: relative;
  transition: all 0.2s;
  border: 1px solid transparent;
}
@media screen and (min-width: 768px) {
  .l-header__nav-list a .u-en {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-header__nav-list a .u-en {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-list a .u-en {
    font-size: calc(30 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (min-width: 768px) {
  .l-header__nav-list a .u-en {
    padding: 2px 8px;
  }
  .l-header__nav-list a .u-en br.is-tab {
    display: none;
  }
  .l-header__nav-list a .u-en::before {
    position: absolute;
    content: "";
    display: block;
    z-index: -1;
    background: linear-gradient(to right, #161822 0%, rgba(255, 255, 255, 0) 100%);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    mix-blend-mode: multiply;
    filter: blur(6px);
  }
}
@media (min-width: 768px) and (max-width: 1600px) {
  .l-header__nav-list a .u-en {
    padding: 0.1041666667vw 0.4166666667vw;
  }
  .l-header__nav-list a .u-en br.is-tab {
    display: block;
  }
}
@media screen and (max-width: 767.99px) {
  .l-header__nav-list a .u-en br.is-tab {
    display: none;
  }
}
.l-header__link {
  padding-left: 6.0256410256vw;
  color: #fff;
}
.l-header__link-ttl {
  margin-bottom: 3.8461538462vw;
}
@media screen and (max-width: 767.99px) {
  .l-header__link-ttl {
    font-size: calc(30 / 780 * 100vw);
    line-height: 1.3333333333;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
.l-header__link-txt {
  margin-bottom: 5.1282051282vw;
}
@media screen and (max-width: 767.99px) {
  .l-header__link-txt {
    font-size: calc(20 / 780 * 100vw);
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: 100;
  }
}
.l-header__link-btn {
  color: #fff;
  border-color: #fff;
  width: 61.5384615385vw;
  height: 8.2051282051vw;
  border-radius: 5.1282051282vw;
  padding-left: 5vw;
}
@media screen and (max-width: 767.99px) {
  .l-header__link-btn {
    font-size: calc(20 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
.l-header__link-btn::after {
  width: 1.2820512821vw;
  height: 2.1794871795vw;
  right: 4.1025641026vw;
}
.l-header__openbtn {
  position: relative;
  z-index: 1000001;
  width: 10.2564102564vw;
  height: 10.2564102564vw;
  background-color: #0d0f13;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-bottom-right-radius: 2.5641025641vw;
}
.l-header__openbtn span {
  position: absolute;
  z-index: 1;
  height: 0.2564102564vw;
  border-radius: 0.3846153846vw;
  left: 3.5897435897vw;
  background-color: #fff;
  transition: all 0.6s;
}
.l-header__openbtn span:first-of-type {
  width: 3.4615384615vw;
  top: 4.1025641026vw;
}
.l-header__openbtn span:nth-of-type(2) {
  width: 2.9487179487vw;
  top: 50%;
  transform: translateY(-50%);
}
.l-header__openbtn span:last-of-type {
  width: 2.1794871795vw;
  bottom: 4.1025641026vw;
}
.l-header__openbtn.is-active span:first-of-type {
  transform: rotate(-45deg);
  top: 4.6153846154vw;
}
.l-header__openbtn.is-active span:nth-of-type(2) {
  opacity: 0;
}
.l-header__openbtn.is-active span:last-of-type {
  width: 3.4615384615vw;
  bottom: auto;
  top: 4.6153846154vw;
  transform: rotate(45deg);
}

.l-footer {
  background-color: #202020;
}
.l-footer .l-side-space {
  box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .l-footer .l-side-space {
    padding-inline: 6.6666666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-footer .l-side-space {
    padding-inline: 5.3333333333vw;
  }
}
.l-footer .l-inner {
  max-width: 1040px;
  margin-inline: auto;
}
@media screen and (max-width: 767.99px) {
  .l-footer .l-inner {
    max-width: none;
    flex-direction: column;
  }
}

.l-footer__copyright {
  opacity: 0.5;
}

@media screen and (min-width: 768px) {
  .l-footer__head {
    padding-block: 53px 42px;
  }
  .l-footer__logo {
    width: 100px;
  }
  .l-footer__body {
    padding-block: 36px;
  }
  .l-footer__body-inner {
    gap: 36px;
  }
  .l-footer__list {
    gap: 36px;
  }
  .l-footer__bnr {
    padding-block: 72px;
    gap: 25px;
  }
}
@media screen and (max-width: 767.99px) {
  .l-footer__head {
    padding-block: 53px 37px;
  }
  .l-footer__logo {
    width: 100px;
  }
  .l-footer__body {
    padding-block: 35px 50px;
  }
  .l-footer__list {
    gap: 17px;
  }
  .l-footer__copyright {
    margin-top: 39px;
  }
  .l-footer__bnr {
    padding-block: 72px 22px;
    gap: 48px;
  }
}
@media screen and (min-width: 768px) {
  .u-hv-op:hover {
    opacity: 0.7;
  }
}

.u-lh-15 {
  line-height: 1.5;
}

.u-ls-30 {
  letter-spacing: 0.03em;
}

.u-flex {
  display: flex;
}

.u-flex-between-md {
  display: flex;
  justify-content: space-between;
}

.u-flex-wrap {
  flex-wrap: wrap;
}

.u-fs-14 {
  font-size: 0.875rem;
}

@media screen and (max-width: 767.99px) {
  .u-flex-col-not-md {
    flex-direction: column;
  }
}
.l-grobal__bg {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .l-grobal__bg {
    padding: 248px 0 115px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__bg {
    padding: 12.9166666667vw 0 5.9895833333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__bg {
    padding: 15.8974358974vw 0 33.3333333333vw;
  }
}
.l-grobal__bg::before, .l-grobal__bg::after {
  position: absolute;
  content: "";
  display: block;
}
@media screen and (min-width: 768px) {
  .l-grobal__bg::before {
    z-index: 2;
    background: linear-gradient(to top, rgba(36, 40, 52, 0) 0%, #242834 100%);
    width: 100%;
    height: 94px;
    left: 0;
    right: 0;
    top: 28px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__bg::before {
    height: 4.8958333333vw;
    top: 1.4583333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__bg::before {
    width: 120.2564102564vw;
    height: 5.8974358974vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: 52.5641025641vw;
  }
}
.l-grobal__bg::after {
  z-index: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../png/bg-grobal.png);
  mix-blend-mode: exclusion;
}
@media screen and (min-width: 768px) {
  .l-grobal__bg::after {
    width: 100%;
    height: 50vw;
    top: 30px;
    left: 0;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__bg::after {
    top: 1.5625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__bg::after {
    width: 120.2564102564vw;
    height: 60.1282051282vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: -3.8461538462vw;
  }
}
.l-grobal__inner {
  position: relative;
  z-index: 5;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-grobal__inner {
    max-width: 1320px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__inner {
    max-width: 68.75vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__inner {
    max-width: 79.4871794872vw;
  }
}
.l-grobal__text {
  color: #F4F4EA;
}
.l-grobal__text-ttl .sub {
  display: block;
}
@media screen and (min-width: 768px) {
  .l-grobal__text-ttl .sub {
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 600;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__text-ttl .sub {
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__text-ttl .sub {
    font-size: calc(40 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 600;
  }
}
.l-grobal__text-ttl .main {
  display: block;
}
@media screen and (min-width: 768px) {
  .l-grobal__text-ttl .main {
    font-size: 100px;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 600;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__text-ttl .main {
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__text-ttl .main {
    font-size: calc(80 / 780 * 100vw);
    line-height: 1.375;
    letter-spacing: 0em;
    font-weight: 600;
  }
}
.l-grobal__text-txt {
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .l-grobal__text-txt {
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__text-txt {
    font-size: 1.4583333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__text-txt {
    font-size: calc(32 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
.l-grobal__btn {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-grobal__btn {
    width: max-content;
    margin-left: auto;
    margin-top: 10px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__btn {
    margin-top: 0.5208333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__btn {
    margin: 8.2051282051vw calc(50% - 50vw) 0;
    width: 100vw;
  }
}
.l-grobal__btn-btn {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .l-grobal__btn-btn {
    border: 3px solid #FFFFFF;
    width: 660px;
    height: 111px;
    padding-left: 148px;
    column-gap: 18px;
    border-radius: 56px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__btn-btn {
    width: 34.375vw;
    height: 5.78125vw;
    padding-left: 7.7083333333vw;
    column-gap: 0.9375vw;
    border-radius: 2.9166666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__btn-btn {
    margin: 0 auto;
    width: 84.6153846154vw;
    height: 14.2307692308vw;
    border-radius: 7.1794871795vw;
    padding-left: 18.9743589744vw;
    column-gap: 2.3076923077vw;
  }
}
.l-grobal__btn-btn::after {
  background-image: url(../png/ic-arrow-wh.png);
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
}
@media screen and (min-width: 768px) {
  .l-grobal__btn-btn::after {
    width: 23px;
    height: 16px;
    right: 45px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__btn-btn::after {
    width: 1.1979166667vw;
    height: 0.8333333333vw;
    right: 2.34375vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__btn-btn::after {
    width: 2.9487179487vw;
    height: 2.0512820513vw;
    right: 5.7692307692vw;
  }
}
@media screen and (min-width: 768px) {
  .l-grobal__btn-btn img {
    width: 27px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__btn-btn img {
    width: 1.40625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__btn-btn img {
    width: 3.4615384615vw;
  }
}
.l-grobal__btn-btn .txt {
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .l-grobal__btn-btn .txt {
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__btn-btn .txt {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__btn-btn .txt {
    font-size: calc(30 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
.l-grobal__btn-txt {
  color: #F4F4EA;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .l-grobal__btn-txt {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__btn-txt {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__btn-txt {
    font-size: calc(16 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (min-width: 768px) {
  .l-grobal__btn-txt {
    margin-top: 12px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .l-grobal__btn-txt {
    margin-top: 0.625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .l-grobal__btn-txt {
    margin-top: 2.5641025641vw;
  }
}

.p-mv {
  position: relative;
}
.p-mv::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  background-size: 100%;
  background-repeat: no-repeat;
  opacity: 0;
  animation: fade 1s 1.6s forwards;
}
@media screen and (min-width: 768px) {
  .p-mv::before {
    background-image: url(../png/im-mv02.png);
    width: 80.8854166667vw;
    height: 83.8541666667vw;
    right: 0;
    top: -2.6041666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv::before {
    background-image: url(../png/im-mv02-sp.png);
    width: 119.358974359vw;
    height: 123.9743589744vw;
    top: -12.8205128205vw;
    right: -24.358974359vw;
  }
}
.p-mv__bg {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-mv__bg {
    padding-top: 172px;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-mv__bg {
    padding-top: 8.9583333333vw;
    padding-bottom: 4.1666666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv__bg {
    padding-top: 68.4615384615vw;
  }
}
.p-mv__bg::before, .p-mv__bg::after {
  position: absolute;
  content: "";
  display: block;
  background-size: 100%;
  background-repeat: no-repeat;
}
.p-mv__bg::before {
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .p-mv__bg::before {
    background-image: url(../png/bg-mv.png);
    width: 115.9375vw;
    height: 135.5729166667vw;
    top: -12.5520833333vw;
    left: 50%;
    transform: translateX(-52.8%);
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv__bg::before {
    background-image: url(../png/bg-mv-sp.png);
    width: 168.9743589744vw;
    height: 197.5641025641vw;
    top: -27.4358974359vw;
    left: -38.4615384615vw;
  }
}
.p-mv__bg::after {
  opacity: 0;
  z-index: -3;
  animation: fade 1s 1.4s forwards;
}
@media screen and (min-width: 768px) {
  .p-mv__bg::after {
    background-image: url(../png/im-mv01.png);
    width: 53.8020833333vw;
    height: 132.5520833333vw;
    top: -10.1041666667vw;
    left: -3.59375vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv__bg::after {
    background-image: url(../png/im-mv01-sp.png);
    width: 78.3333333333vw;
    height: 193.0769230769vw;
    left: -28.2051282051vw;
    top: -23.7179487179vw;
  }
}
.p-mv__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 5;
  opacity: 0;
  animation: fade 1s 1s forwards;
}
@media screen and (min-width: 768px) {
  .p-mv__ttl img {
    width: 540px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-mv__ttl img {
    width: 28.125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv__ttl img {
    width: 65.3846153846vw;
  }
}
.p-mv__scroll {
  position: absolute;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-style: italic;
  z-index: 5;
  color: #F4F4EA;
}
@media screen and (min-width: 768px) {
  .p-mv__scroll {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-mv__scroll {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv__scroll {
    font-size: calc(24 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__scroll {
    right: 90px;
    bottom: -498px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-mv__scroll {
    right: 4.6875vw;
    bottom: -25.9375vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv__scroll {
    left: 50%;
    transform: translateX(-50%);
    bottom: -70.5128205128vw;
  }
}
.p-mv__scroll::after {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  background-color: #fff;
  left: 50%;
  transform: translate(-50%, 100%);
}
@media screen and (min-width: 768px) {
  .p-mv__scroll::after {
    height: 131px;
    bottom: -8px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-mv__scroll::after {
    height: 6.8229166667vw;
    bottom: -0.4166666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-mv__scroll::after {
    height: 16.7948717949vw;
    bottom: -0.7692307692vw;
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-philosophy {
  position: relative;
}
@media screen and (max-width: 767.99px) {
  .p-philosophy::before {
    position: absolute;
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../png/bg-philosophy-sp02.png);
    width: 100%;
    height: 266.9230769231vw;
    bottom: 49.7435897436vw;
    left: 0;
    right: 0;
    z-index: 1;
    mix-blend-mode: multiply;
  }
}
.p-philosophy__bg {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-philosophy__bg {
    padding-top: 46.1979166667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-philosophy__bg {
    padding-top: 100vw;
    padding-bottom: 20.5128205128vw;
  }
}
.p-philosophy__bg::before, .p-philosophy__bg::after {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
}
.p-philosophy__bg::before {
  z-index: 3;
  background-size: contain;
  left: 50%;
  opacity: 0;
  animation: fade 1s 2s forwards;
}
@media screen and (min-width: 768px) {
  .p-philosophy__bg::before {
    background-image: url(../png/im-philosophy.png);
    width: 118.1770833333vw;
    height: 113.0208333333vw;
    top: -0.625vw;
    transform: translateX(-49.3%);
  }
}
@media screen and (max-width: 767.99px) {
  .p-philosophy__bg::before {
    background-image: url(../png/im-philosophy-sp.png);
    width: 167.0512820513vw;
    height: 167.3076923077vw;
    top: -55.1282051282vw;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767.99px) {
  .p-philosophy__bg::after {
    background-size: 100%;
    left: 50%;
    transform: translateX(-51%);
    bottom: 0;
    z-index: 2;
    background-image: url(../png/bg-philosophy-sp.png);
    width: 259.8717948718vw;
    height: 192.5641025641vw;
  }
}
.p-philosophy__inner {
  position: relative;
  z-index: 10;
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-philosophy__inner {
    align-items: flex-start;
    justify-content: center;
    column-gap: 188px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-philosophy__inner {
    column-gap: 9.7916666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-philosophy__inner {
    flex-direction: column;
    row-gap: 9.6153846154vw;
  }
}
@media screen and (min-width: 768px) {
  .p-philosophy__ttl {
    font-size: 100px;
    line-height: 1.1;
    letter-spacing: 0em;
    font-weight: 600;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-philosophy__ttl {
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-philosophy__ttl {
    font-size: calc(100 / 780 * 100vw);
    line-height: 1.1;
    letter-spacing: 0em;
    font-weight: 600;
  }
}
@media screen and (min-width: 768px) {
  .p-philosophy__text p {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-philosophy__text p {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 768px) {
  .p-philosophy__text p + p {
    margin-top: 26px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-philosophy__text p + p {
    margin-top: 1.3541666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-philosophy__text p + p {
    margin-top: 6.9230769231vw;
  }
}
@media screen and (min-width: 768px) {
  .p-philosophy__text p.mb {
    margin-bottom: 55px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-philosophy__text p.mb {
    margin-bottom: 2.8645833333vw;
  }
}

.p-beauty {
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .p-beauty {
    padding-top: 188px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty {
    padding-top: 9.7916666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty {
    padding-top: 25.641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty .l-inner {
    max-width: 1530px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty .l-inner {
    max-width: 79.6875vw;
  }
}
.p-beauty__inner {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-beauty__inner {
    align-items: center;
    column-gap: 72px;
    margin-bottom: 132px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__inner {
    column-gap: 3.75vw;
    margin-bottom: 6.875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__inner {
    flex-direction: column;
    row-gap: 12.8205128205vw;
    margin-bottom: 29.4871794872vw;
  }
}
.p-beauty__text {
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .p-beauty__text {
    width: 661px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__text {
    width: 34.4270833333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__text-ttl {
    font-size: 54px;
    line-height: 1.4444444444;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__text-ttl {
    font-size: 2.8125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__text-ttl {
    font-size: calc(54 / 780 * 100vw);
    line-height: 1.4444444444;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__text-ttl {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__text-note {
    margin-bottom: 30px;
    margin-top: -10px;
    padding-left: 266px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__text-note {
    margin-bottom: 1.5625vw;
    margin-top: -0.5208333333vw;
    padding-left: 13.8541666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__text-note {
    margin-bottom: 8.9743589744vw;
    margin-top: -1.1538461538vw;
    padding-left: 39.7435897436vw;
  }
}
.p-beauty__text-txt {
  word-break: auto-phrase;
}
@media screen and (min-width: 768px) {
  .p-beauty__text-txt {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.1em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__text-txt {
    font-size: 0.9375vw;
  }
}
.p-beauty__text-btn {
  color: #fff;
  border-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-beauty__text-btn {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__text-btn {
    font-size: 0.7291666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__text-btn {
    font-size: calc(24 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__text-btn {
    width: 385px;
    height: 40px;
    padding-left: 60px;
    border-radius: 20px;
    margin-top: 36px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__text-btn {
    width: 20.0520833333vw;
    height: 2.0833333333vw;
    padding-left: 3.125vw;
    border-radius: 1.0416666667vw;
    margin-top: 1.875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__text-btn {
    width: 66.6666666667vw;
    height: 8.2051282051vw;
    padding-left: 4.6153846154vw;
    border-radius: 3.8461538462vw;
    margin-top: 8.9743589744vw;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__text-btn::after {
    width: 8px;
    height: 13px;
    right: 24px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__text-btn::after {
    width: 0.4166666667vw;
    height: 0.6770833333vw;
    right: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__text-btn::after {
    width: 1.2820512821vw;
    height: 2.1794871795vw;
    right: 2.8205128205vw;
  }
}
.p-beauty__img {
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-beauty__img {
    width: 817px;
    padding-top: 26px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__img {
    width: 42.5520833333vw;
    padding-top: 1.3541666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}
.p-beauty__img::before {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../png/im-beauty02.png);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-beauty__img::before {
    width: 683px;
    height: 683px;
    left: 345px;
    top: -156px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__img::before {
    width: 35.5729166667vw;
    height: 35.5729166667vw;
    left: 17.96875vw;
    top: -8.125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img::before {
    width: 80.5128205128vw;
    height: 80.5128205128vw;
    right: -21.1538461538vw;
    top: -21.5384615385vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img img {
    width: 96.4102564103vw;
  }
}
.p-beauty__img-item {
  position: absolute;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-beauty__img-item {
    width: 280px;
    top: 80px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__img-item {
    width: 14.5833333333vw;
    top: 4.1666666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img-item {
    width: 32.9487179487vw;
    top: 6.4102564103vw;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__img-item.item01 {
    left: 0;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img-item.item01 {
    left: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__img-item.item02 {
    right: 0;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img-item.item02 {
    right: 2.5641025641vw;
  }
}
.p-beauty__img-item.item03 {
  left: 50%;
  transform: translateX(-50%);
}
.p-beauty__img-item .num {
  display: block;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .p-beauty__img-item .num {
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 500;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__img-item .num {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img-item .num {
    font-size: calc(27 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 500;
  }
}
.p-beauty__img-item .txt01 {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-beauty__img-item .txt01 {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.1em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__img-item .txt01 {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img-item .txt01 {
    font-size: calc(14 / 780 * 100vw);
    line-height: 1.6428571429;
    letter-spacing: 0.1em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__img-item .txt01 {
    min-height: 52px;
    margin: 16px 0;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__img-item .txt01 {
    min-height: 2.7083333333vw;
    margin: 0.8333333333vw 0;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img-item .txt01 {
    min-height: 6.1538461538vw;
    margin: 2.0512820513vw 0;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__img-item .txt02 {
    font-size: 18px;
    line-height: 1.4444444444;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__img-item .txt02 {
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__img-item .txt02 {
    font-size: calc(16 / 780 * 100vw);
    line-height: 1.4375;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
.p-beauty__lineup {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup {
    padding-bottom: 108px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup {
    padding-bottom: 5.625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup {
    padding-bottom: 10.2564102564vw;
  }
}
.p-beauty__lineup::before {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup::before {
    background-image: url(../png/bg-beauty.png);
    width: 100%;
    height: 75.0520833333vw;
    bottom: -11.1979166667vw;
    left: 0;
    right: 0;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup::before {
    background-image: url(../png/bg-beauty-sp.png);
    left: 50%;
    transform: translateX(-50%);
    width: 259.8717948718vw;
    height: 192.5641025641vw;
    bottom: 0;
  }
}
.p-beauty__lineup-ttl {
  text-align: center;
  font-style: italic;
  margin-bottom: 6.4102564103vw;
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-ttl {
    font-size: calc(36 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 100;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider {
    box-sizing: content-box;
    padding-bottom: 24px;
    height: 780px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider {
    height: 40.625vw;
    padding-bottom: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider {
    height: 130.7692307692vw;
  }
}
.p-beauty__lineup-slider .swiper-wrapper {
  align-items: flex-start;
}
.p-beauty__lineup-slider .item {
  width: max-content;
  height: auto;
  transition: all 0.6s;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item {
    cursor: pointer;
    padding-top: 150px;
    margin: 0 65px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item {
    padding-top: 7.8125vw;
    margin: 0 3.3854166667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item {
    padding-top: 18.4615384615vw;
    margin: 0 7.6923076923vw;
  }
}
.p-beauty__lineup-slider .item-text {
  position: absolute;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text {
    transform: translateX(100%);
    bottom: 10px;
    right: -100px;
    width: 620px;
    padding-left: 27px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text {
    bottom: 0.5208333333vw;
    right: -5.2083333333vw;
    width: 32.2916666667vw;
    padding-left: 1.40625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item-text {
    width: 79.4871794872vw;
    padding-left: 3.4615384615vw;
    left: 50%;
    transform: translateX(-50%);
    top: 93.5897435897vw;
  }
}
.p-beauty__lineup-slider .item-text::before {
  position: absolute;
  content: "";
  display: block;
  height: 100%;
  background-color: #fff;
  left: 0;
  top: 0;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text::before {
    width: 5px;
    border-radius: 30px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text::before {
    width: 0.2604166667vw;
    border-radius: 1.5625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item-text::before {
    width: 0.641025641vw;
    border-radius: 3.8461538462vw;
  }
}
.p-beauty__lineup-slider .item-text-ttl {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-ttl {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-ttl {
    margin-bottom: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item-text-ttl {
    margin-bottom: 2.5641025641vw;
  }
}
.p-beauty__lineup-slider .item-text-ttl .ttl {
  font-family: "Poppins", "Noto Sans JP", serif;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-ttl .ttl {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-ttl .ttl {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item-text-ttl .ttl {
    font-size: calc(26 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 600;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-ttl .info {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-ttl .info {
    font-size: 0.7291666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item-text-ttl .info {
    font-size: calc(20 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-txt {
    font-size: 14px;
    line-height: 1.8571428571;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item-text-txt {
    font-size: 0.7291666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item-text-txt {
    font-size: calc(20 / 780 * 100vw);
    line-height: 1.4;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
.p-beauty__lineup-slider .item img {
  transition: all 0.6s;
  transform-origin: top;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item img {
    width: 185px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-slider .item img {
    width: 9.6354166667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item img {
    width: 23.7179487179vw;
  }
}
.p-beauty__lineup-slider .item.swiper-slide-active {
  height: 100%;
  z-index: 10;
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-slider .item.swiper-slide-active img {
    transform: scale(2.7135);
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-slider .item.swiper-slide-active img {
    transform: scale(2.227);
  }
}
.p-beauty__lineup-slider .item.swiper-slide-active .item-text {
  opacity: 1;
  z-index: 3;
}
.p-beauty__lineup-arrows {
  position: absolute;
  display: flex;
  align-items: center;
  transform: translateX(-50%);
  z-index: 50;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-arrows {
    left: 49.4%;
    bottom: 0;
    column-gap: 100px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-arrows {
    column-gap: 5.2083333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-arrows {
    left: 50%;
    column-gap: 14.4871794872vw;
    bottom: 42.3076923077vw;
  }
}
.p-beauty__lineup-arrows::before {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../png/ic-watch.png);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.12s;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-arrows::before {
    width: 35px;
    height: 19px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-arrows::before {
    width: 1.8229166667vw;
    height: 0.9895833333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-arrows::before {
    width: 4.4871794872vw;
    height: 2.4358974359vw;
  }
}
.p-beauty__lineup-arrows.is-active::before {
  background-image: url(../png/ic-watch-active.png);
}
.p-beauty__lineup-arrows .arrow {
  position: relative;
  display: flex;
  cursor: pointer;
}
.p-beauty__lineup-arrows .arrow::before {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow::before {
    width: 11px;
    height: 12px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow::before {
    width: 0.5729166667vw;
    height: 0.625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-arrows .arrow::before {
    width: 1.4102564103vw;
    height: 2.8205128205vw;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow.prev {
    padding-right: 27px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow.prev {
    padding-right: 1.40625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-arrows .arrow.prev {
    padding-right: 3.4615384615vw;
  }
}
.p-beauty__lineup-arrows .arrow.prev::before {
  background-image: url(../png/ic-prev.png);
  right: 0;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow.next {
    padding-left: 27px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow.next {
    padding-left: 1.40625vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-arrows .arrow.next {
    padding-left: 3.4615384615vw;
  }
}
.p-beauty__lineup-arrows .arrow.next::before {
  background-image: url(../png/ic-next.png);
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow .u-en {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup-arrows .arrow .u-en {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup-arrows .arrow .u-en {
    font-size: calc(24 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
.p-beauty__lineup .num {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup .num {
    width: 138px;
    left: calc((100% - 600px) / 2);
    bottom: 120px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup .num {
    width: 7.1875vw;
    left: 31.25vw;
    bottom: 6.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup .num {
    right: 10.2564102564vw;
    bottom: 51.2820512821vw;
    width: 17.6923076923vw;
  }
}
.p-beauty__lineup .num-no {
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup .num-no {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup .num-no {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup .num-no {
    font-size: calc(16 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup .num-no {
    margin-right: 6px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup .num-no {
    margin-right: 0.3125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup .num-no {
    margin-right: 0.7692307692vw;
  }
}
.p-beauty__lineup .num-now {
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup .num-now {
    font-size: 35px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup .num-now {
    font-size: 1.8229166667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup .num-now {
    font-size: calc(35 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup .num-now {
    margin-right: 6px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup .num-now {
    margin-right: 0.3125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup .num-now {
    margin-right: 0.7692307692vw;
  }
}
.p-beauty__lineup .num-slash, .p-beauty__lineup .num-all {
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup .num-slash, .p-beauty__lineup .num-all {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup .num-slash, .p-beauty__lineup .num-all {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup .num-slash, .p-beauty__lineup .num-all {
    font-size: calc(16 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 200;
  }
}
.p-beauty__lineup .num-ttl {
  width: 100%;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .p-beauty__lineup .num-ttl {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 100;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-beauty__lineup .num-ttl {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-beauty__lineup .num-ttl {
    font-size: calc(16 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 100;
  }
}

.p-technology {
  position: relative;
  z-index: 7;
  text-align: center;
}
.p-technology__bg {
  position: relative;
  background-color: #242834;
}
@media screen and (min-width: 768px) {
  .p-technology__bg {
    padding: 225px 0 0;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__bg {
    padding: 11.71875vw 0 0;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__bg {
    padding: 24.358974359vw 0 0;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__bg::before {
    position: absolute;
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-image: url(../png/bg-technology.png);
    background-size: 100%;
    width: 100%;
    left: 0;
    right: 0;
    height: 840px;
    top: -155px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__bg::before {
    top: -8.0729166667vw;
    height: 43.75vw;
  }
}
.p-technology__top {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-technology__top {
    margin-bottom: 70px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__top {
    margin-bottom: 3.6458333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__top {
    margin-bottom: 8.9743589744vw;
  }
}
.p-technology__top-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-technology__top-ttl {
    left: 10px;
    margin-bottom: 67px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__top-ttl {
    left: 0.5208333333vw;
    margin-bottom: 3.4895833333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__top-ttl {
    margin-bottom: 11.5384615385vw;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__top-ttl img {
    width: 569px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__top-ttl img {
    width: 29.6354166667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__top-ttl img {
    width: 72.9487179487vw;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__top-lead {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__top-lead {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__top-lead {
    padding-left: 75px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__top-lead {
    padding-left: 3.90625vw;
  }
}
.p-technology__box {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .p-technology__box {
    left: 10px;
    width: 1320px;
    padding: 64px 0 60px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box {
    left: 0.5208333333vw;
    width: 68.75vw;
    padding: 3.3333333333vw 0 3.125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box {
    width: 79.4871794872vw;
    padding: 9.2307692308vw 7.8205128205vw 12.8205128205vw;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__box-txt {
    margin-bottom: 68px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-txt {
    margin-bottom: 3.5416666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-txt {
    margin-bottom: 7.6923076923vw;
  }
}
.p-technology__box-inner {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-technology__box-inner {
    justify-content: center;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-inner {
    flex-direction: column;
    row-gap: 7.6923076923vw;
  }
}
.p-technology__box-item {
  position: relative;
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__box-item.item01 img {
    margin-left: 50px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item.item01 img {
    margin-left: 2.6041666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__box-item.item02 {
    margin-right: 85px;
    margin-left: 61px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item.item02 {
    margin-right: 4.4270833333vw;
    margin-left: 3.1770833333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item.item02 .ttl-en {
    top: 3.8461538462vw;
  }
}
.p-technology__box-item .ttl-en {
  color: #F4F4EA;
  font-style: italic;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-technology__box-item .ttl-en {
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item .ttl-en {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item .ttl-en {
    font-size: calc(30 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 300;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__box-item .ttl-en {
    text-align: center;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item .ttl-en {
    margin-bottom: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item .ttl-en {
    position: absolute;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    right: 0;
    top: 12.8205128205vw;
  }
}
.p-technology__box-item img {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-technology__box-item img {
    width: 264px;
    margin-left: 16px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item img {
    width: 13.75vw;
    margin-left: 0.8333333333vw;
    margin-bottom: 1.0416666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item img {
    width: 39.1025641026vw;
    margin-left: 13.4615384615vw;
    margin-bottom: 3.0769230769vw;
  }
}
.p-technology__box-item .ttl {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-technology__box-item .ttl {
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item .ttl {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item .ttl {
    font-size: calc(28 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
.p-technology__box-item .ttl-note {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-technology__box-item .ttl-note {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item .ttl-note {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item .ttl-note {
    font-size: calc(18 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__box-item .ttl-note {
    margin-left: 20px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item .ttl-note {
    margin-left: 1.0416666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item .ttl-note {
    margin-left: 3.0769230769vw;
  }
}
.p-technology__box-item .sub01 {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-technology__box-item .sub01 {
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item .sub01 {
    font-size: 1.1458333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item .sub01 {
    font-size: calc(24 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
.p-technology__box-item .sub02 {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-technology__box-item .sub02 {
    font-size: 26px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-item .sub02 {
    font-size: 1.3541666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-item .sub02 {
    font-size: calc(28 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
.p-technology__box-btn {
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  border-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-technology__box-btn {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-btn {
    font-size: 0.7291666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-btn {
    font-size: calc(24 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__box-btn {
    width: 385px;
    height: 40px;
    padding-left: 30px;
    border-radius: 20px;
    margin-top: 54px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-btn {
    width: 20.0520833333vw;
    height: 2.0833333333vw;
    padding-left: 1.5625vw;
    border-radius: 1.0416666667vw;
    margin-top: 2.8125vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-btn {
    width: 100%;
    height: 14.1025641026vw;
    justify-content: center;
    border-radius: 7.6923076923vw;
    margin-top: 8.9743589744vw;
  }
}
@media screen and (min-width: 768px) {
  .p-technology__box-btn::after {
    width: 8px;
    height: 13px;
    right: 24px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-technology__box-btn::after {
    width: 0.4166666667vw;
    height: 0.6770833333vw;
    right: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-technology__box-btn::after {
    width: 1.2820512821vw;
    height: 2.1794871795vw;
    right: 2.8205128205vw;
  }
}

.p-knowledge {
  position: relative;
  z-index: 7;
}
@media screen and (min-width: 768px) {
  .p-knowledge {
    padding-top: 244px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge {
    padding-top: 12.7083333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge {
    padding-top: 23.0769230769vw;
  }
}
.p-knowledge__ttl {
  position: relative;
  z-index: 10;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-knowledge__ttl {
    font-size: 46px;
    line-height: 1.652173913;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__ttl {
    font-size: 2.3958333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__ttl {
    font-size: calc(46 / 780 * 100vw);
    line-height: 1.652173913;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .p-knowledge__ttl {
    margin-bottom: 42px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__ttl {
    margin-bottom: 2.1875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__ttl {
    margin-bottom: 9.2307692308vw;
  }
}
.p-knowledge__item {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item:not(:last-of-type) {
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item:not(:last-of-type) {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item:not(:last-of-type) {
    margin-bottom: 14.1025641026vw;
  }
}
.p-knowledge__item::before {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-knowledge__item.item01::before {
  z-index: -3;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item.item01::before {
    background-image: url(../png/bg-knowledge01.png);
    width: 70.3125vw;
    height: 68.2291666667vw;
    right: calc((100vw - 1680px) / -2);
    bottom: -175px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item.item01::before {
    right: -6.25vw;
    bottom: -9.1145833333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item.item01::before {
    background-image: url(../png/bg-knowledge01-sp.png);
    width: 257.8205128205vw;
    height: 98.8461538462vw;
    left: -96.1538461538vw;
    top: -52.9487179487vw;
  }
}
.p-knowledge__item.item02::before {
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item.item02::before {
    background-image: url(../png/bg-knowledge02.png);
    width: 50.0520833333vw;
    height: 71.4583333333vw;
    left: calc((100vw - 1318px) / -2);
    bottom: -220px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item.item02::before {
    left: -15.6770833333vw;
    bottom: -11.4583333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item.item02::before {
    background-image: url(../png/bg-knowledge02-sp.png);
    width: 109.2307692308vw;
    height: 106.0256410256vw;
    right: -10vw;
    top: -56.1538461538vw;
  }
}
.p-knowledge__item.item03::before {
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item.item03::before {
    background-image: url(../png/bg-knowledge03.png);
    width: 104.6875vw;
    height: 40.15625vw;
    right: calc((100vw - 1680px) / -2);
    bottom: -100px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item.item03::before {
    right: -6.25vw;
    bottom: -5.2083333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item.item03::before {
    background-image: url(../png/bg-knowledge03-sp.png);
    width: 89.8717948718vw;
    height: 128.3333333333vw;
    left: -10.2564102564vw;
    top: -45.3846153846vw;
  }
}
@media screen and (min-width: 768px) {
  .p-knowledge__item.item03 .p-knowledge__item-ttl {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item.item03 .p-knowledge__item-ttl {
    margin-bottom: 2.0833333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-ttl {
    margin-bottom: 70px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item-ttl {
    margin-bottom: 3.6458333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item-ttl {
    margin-bottom: 6.9230769231vw;
  }
}
.p-knowledge__item-ttl .u-en {
  display: block;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-ttl .u-en {
    font-size: 26px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 200;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item-ttl .u-en {
    font-size: 1.3541666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item-ttl .u-en {
    font-size: calc(25 / 780 * 100vw);
    line-height: 1.56;
    letter-spacing: 0.1em;
    font-weight: 200;
  }
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-ttl .u-en {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item-ttl .u-en {
    margin-bottom: 0.8333333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item-ttl .u-en {
    margin-bottom: 2.0512820513vw;
  }
}
.p-knowledge__item-ttl .u-ja {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-ttl .u-ja {
    font-size: 46px;
    line-height: 1.652173913;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item-ttl .u-ja {
    font-size: 2.3958333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item-ttl .u-ja {
    font-size: calc(46 / 780 * 100vw);
    line-height: 1.652173913;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
.p-knowledge__item-wrap {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-wrap {
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item-wrap {
    flex-direction: column;
    row-gap: 8.9743589744vw;
  }
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-text {
    width: 410px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item-text {
    width: 21.3541666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item-text p {
    line-height: 1.5;
  }
}
.p-knowledge__item-movie {
  position: relative;
  display: flex;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-movie {
    width: 1060px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item-movie {
    width: 55.2083333333vw;
  }
}
.p-knowledge__item-movie::before {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../png/ic-movie.png);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .p-knowledge__item-movie::before {
    width: 178px;
    height: 113px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-knowledge__item-movie::before {
    width: 9.2708333333vw;
    height: 5.8854166667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-knowledge__item-movie::before {
    width: 13.3333333333vw;
    height: 8.4615384615vw;
  }
}

.p-find {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-find {
    max-width: 1920px;
    padding-top: 220px;
    padding-bottom: 258px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-find {
    padding-top: 11.4583333333vw;
    padding-bottom: 13.4375vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-find {
    padding: 23.0769230769vw 0;
  }
}
.p-find::after {
  position: absolute;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-find::after {
    background-image: url(../png/im-find.png);
    width: 857px;
    height: 857px;
    right: 0;
    top: 0;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-find::after {
    width: 44.6354166667vw;
    height: 44.6354166667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-find::after {
    background-image: url(../png/im-find-sp.png);
    width: 100vw;
    height: 100vw;
    bottom: 0;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-find__lead {
    font-size: 32px;
    line-height: 2.25;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-find__lead {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-find__lead {
    font-size: calc(28 / 780 * 100vw);
    line-height: 1.9285714286;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-find__lead {
    margin-bottom: 52px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-find__lead {
    margin-bottom: 2.7083333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-find__lead {
    max-width: 79.4871794872vw;
    margin: 0 auto 51.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .p-find__btn {
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-find__btn {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-find__btn {
    font-size: calc(26 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .p-find__btn {
    width: 660px;
    height: 111px;
    border-radius: 56px;
    padding-left: 90px;
    border-width: 3px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-find__btn {
    width: 34.375vw;
    height: 5.78125vw;
    border-radius: 2.9166666667vw;
    padding-left: 4.6875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-find__btn {
    width: 79.4871794872vw;
    height: 14.2307692308vw;
    margin: 0 auto;
    border-radius: 7.1794871795vw;
    border-width: 0.3846153846vw;
    padding-left: 7.9487179487vw;
  }
}
@media screen and (min-width: 768px) {
  .p-find__btn::after {
    width: 16px;
    height: 23px;
    right: 42px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-find__btn::after {
    width: 0.8333333333vw;
    height: 1.1979166667vw;
    right: 2.1875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-find__btn::after {
    width: 2.0512820513vw;
    height: 2.9487179487vw;
    right: 4.358974359vw;
  }
}

@media screen and (min-width: 768px) {
  .p-event {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event {
    margin-bottom: 5.2083333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-event__bg {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../jpg/bg-event-pc.jpg);
    aspect-ratio: 1920/894;
    display: flex;
    align-items: center;
  }
}
.p-event__inner {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-event__inner {
    max-width: 1320px;
    padding-right: 660px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__inner {
    max-width: 68.75vw;
    padding-right: 34.375vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__inner {
    max-width: 84.6153846154vw;
  }
}
@media screen and (min-width: 768px) {
  .p-event__ttl {
    font-size: 36px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__ttl {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__ttl {
    font-size: calc(36 / 780 * 100vw);
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .p-event__ttl {
    margin-bottom: 36px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__ttl {
    margin-bottom: 1.875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__ttl {
    text-align: center;
    margin-bottom: 6.1538461538vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__img {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 6.9230769231vw;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .p-event__txt {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.1em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__txt {
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__txt {
    font-size: calc(28 / 780 * 100vw);
    line-height: 1.8571428571;
    letter-spacing: 0.1em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-event__txt {
    margin-bottom: 36px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__txt {
    margin-bottom: 1.875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__txt {
    margin-bottom: 6.1538461538vw;
  }
}
.p-event__btn {
  color: #FFFFFF;
  border: 1px solid #FFFFFF;
}
@media screen and (min-width: 768px) {
  .p-event__btn {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__btn {
    font-size: 0.7291666667vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__btn {
    font-size: calc(24 / 780 * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
}
@media screen and (min-width: 768px) {
  .p-event__btn {
    width: 385px;
    height: 40px;
    border-radius: 20px;
    padding-left: 90px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__btn {
    width: 20.0520833333vw;
    height: 2.0833333333vw;
    border-radius: 1.0416666667vw;
    padding-left: 4.6875vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__btn {
    justify-content: center;
    width: 100%;
    height: 8.9743589744vw;
    border-radius: 4.4871794872vw;
  }
}
.p-event__btn::after {
  background-image: url(../png/ic-arrow-wh.png);
  transform: translateY(-50%) rotate(-90deg);
}
@media screen and (min-width: 768px) {
  .p-event__btn::after {
    width: 13px;
    height: 8px;
    right: 24px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-event__btn::after {
    width: 0.6770833333vw;
    height: 0.4166666667vw;
    right: 1.25vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-event__btn::after {
    width: 2.1794871795vw;
    height: 1.2820512821vw;
    right: 2.8205128205vw;
  }
}

#philosophy {
  padding-top: 120px;
  margin-top: -120px;
}

#technology,
#special {
  padding-top: 40px;
  margin-top: -40px;
}

.p-loading {
  position: fixed;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000001;
}
.p-loading.is-hidden {
  pointer-events: none;
}
.p-loading.is-hidden img {
  display: none;
}
.p-loading.is-hidden .p-loading__box {
  transform: translateY(-100%);
}
.p-loading img {
  height: auto;
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-loading img {
    width: 95px;
  }
}
@media screen and (max-width: 767.99px) {
  .p-loading img {
    width: 18.7179487179vw;
  }
}
.p-loading__box {
  position: absolute;
  width: 6.25%;
  background-color: #000;
  height: 100%;
  transition: all 0.5s;
  transform-origin: top;
}
.p-loading__box.box01 {
  left: 0;
  transition-delay: 0.3s;
}
.p-loading__box.box02 {
  left: 6.25%;
  transition-delay: 0.1s;
}
.p-loading__box.box03 {
  left: 12.5%;
  transition-delay: 0.5s;
}
.p-loading__box.box04 {
  left: 18.75%;
  transition-delay: 0.4s;
}
.p-loading__box.box05 {
  left: 25%;
}
.p-loading__box.box06 {
  left: 31.25%;
  transition-delay: 0.3s;
}
.p-loading__box.box07 {
  left: 37.5%;
  transition-delay: 0.2s;
}
.p-loading__box.box08 {
  left: 43.75%;
  transition-delay: 0.1s;
}
.p-loading__box.box09 {
  left: 50%;
}
.p-loading__box.box10 {
  left: 56.25%;
  transition-delay: 0.4s;
}
.p-loading__box.box11 {
  left: 62.5%;
  transition-delay: 0.5s;
}
.p-loading__box.box12 {
  left: 68.75%;
  transition-delay: 0.6s;
}
.p-loading__box.box13 {
  left: 75%;
  transition-delay: 0.5s;
}
.p-loading__box.box14 {
  left: 81.25%;
}
.p-loading__box.box15 {
  left: 87.5%;
  transition-delay: 0.1s;
}
.p-loading__box.box16 {
  left: 93.75%;
  transition-delay: 0.3s;
}

@media screen and (min-width: 768px) {
  .p-historybnr {
    margin: 200px 0 100px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-historybnr {
    margin: 10.4166666667vw 0 5.2083333333vw;
  }
}
@media screen and (max-width: 767.99px) {
  .p-historybnr {
    margin-top: 19.2307692308vw;
    margin-bottom: 15.3846153846vw;
  }
}
@media screen and (min-width: 768px) {
  .p-historybnr .l-inner {
    max-width: 1300px;
  }
}
@media screen and (max-width: 1919.9px) and (min-width: 768px) {
  .p-historybnr .l-inner {
    max-width: 67.7083333333vw;
  }
}

@media screen and (max-width: 767.99px) {
  .is-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
}