@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400&display=swap");
:root {
  --main-color: #333;
  --reversal-color: #efeeee;
  --section-separate-color: #efefef;
  --main-bg: #fdfdfd;
  --reversal-bg: #333;
  --main-text-color: #000;
  --main-link-color: #111;
  --reversal-text-color: #ffffff;
  --theme-color: #ffffff;
}

html {
  max-width: 100%;
  width: 100%;
  scroll-behavior: smooth;
  font-size: clamp(14px, 1vw, 18px);
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.5vw;
  }
}

body {
  font-family: "Noto Sans JP", "Roboto", sans-serif;
  color: var(--main-text-color);
  font-weight: 300;
  font-size: 1rem;
  background-color: var(--theme-color);
}
@media screen and (max-width: 767px) {
  body {
    font-weight: 500;
  }
}

h1 {
  font-size: 1.6rem;
}

h2 {
  font-size: 1.4rem;
}

.preload {
  transition: none;
  animation: none;
}

a {
  color: var(--main-link-color);
  text-decoration: none;
  font-size: 1rem;
}

html {
  width: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
}

:root {
  --header-color: #ffffff;
  --header-color-e0: #ffffffe0;
}

header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1226;
  width: 100%;
  padding: 20px 40px;
  background-color: var(--header-color);
  box-sizing: border-box;
  transition: padding 0.3s;
}
header div {
  position: relative;
  display: flex;
  align-items: center;
}

.scrolled {
  background-color: var(--header-color-e0);
  padding: 10px 40px;
}
.scrolled .l-header__logo {
  width: 13rem;
  height: auto;
  float: left;
  margin-left: 1rem;
}

.l-header__logo {
  width: 15rem;
  height: auto;
  float: left;
  margin-left: 1rem;
  transition: width 0.3s;
}
.l-header__nav {
  display: flex;
  list-style: none;
  margin: 0 1rem 0 auto;
  float: right;
}
@media screen and (max-width: 767px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav li {
  margin-left: 25px;
}
.l-header__nav a {
  color: var(--main-text-color);
  display: inline-block;
  position: relative;
}
.l-header__nav a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--main-text-color);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 300ms;
}
.l-header__nav a:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.l-header__nav_hamburger {
  position: fixed;
  top: -15px;
  left: 0;
  width: 100%;
  z-index: 10;
}
.l-header__nav_hamburger__menu {
  /*最初はナビゲーションボタンは非表示*/
  display: none;
  list-style: none;
  background-color: #ffffff;
  text-align: center;
  height: 80vh;
  padding: 5rem 0;
}
.l-header__nav_hamburger li {
  padding: 1rem 0;
}
.l-header__nav_hamburger li a {
  font-size: 3rem;
}

.hamburger {
  position: absolute;
  top: 32px;
  right: 32px;
  cursor: pointer;
  width: 32px;
  height: 24px;
  z-index: 11;
  display: none;
}
@media screen and (max-width: 767px) {
  .hamburger {
    display: inline;
  }
}

.hamburger span {
  /*3本の線を作る*/
  transition: all 0.3s;
  position: absolute;
  height: 2px;
  background-color: #333;
  width: 100%;
  z-index: 11;
}

.hamburger span:nth-of-type(1) {
  /*上の線の位置*/
  top: 4px;
}

.hamburger span:nth-of-type(2) {
  /*真ん中の線の位置*/
  top: 12px;
}

.hamburger span:nth-of-type(3) {
  /*下の線の位置*/
  top: 20px;
}

.hamburger.open span:nth-of-type(1) {
  /*openのとき、上の線を右斜めにする*/
  top: 10px;
  transform: translateY(6px) rotate(-33deg);
}

.hamburger.open span:nth-of-type(2) {
  /*真ん中の線を消す*/
  opacity: 0;
}

.hamburger.open span:nth-of-type(3) {
  /*下の線を左斜めにする*/
  top: 22px;
  transform: translateY(-6px) rotate(33deg);
}

footer {
  padding: 5rem 10rem;
  background-color: #000;
  color: #ffffff;
}

.l-footer__nav {
  text-align: right;
}
.l-footer__nav ul {
  list-style: none;
}
.l-footer__nav a {
  color: #ffffff;
  font-size: 1.6rem;
}
.l-footer__nav a::after {
  background-color: #ffffff;
}
.l-footer__nav a:visited {
  color: #ffffff;
}

.c-button__one {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-gap: 1rem;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  padding: 1rem 3rem;
  transition: background-color 0.5s, border 0.5s, color 0.5s, transform 0.25s;
  border-radius: 10px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  background-color: #ffffff;
  color: var(--main-text-color);
}
@media screen and (max-width: 767px) {
  .c-button__one {
    width: 40rem;
  }
}
.c-button__one::before {
  content: "";
}
.c-button__one a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-button__one::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-right: var(--main-color) solid 0.4rem;
  border-bottom: var(--main-color) solid 0.4rem;
  transform: rotate(-45deg);
  transition: left 0.5s, border-right 0.5s, border-bottom 0.5s;
}
.c-button__one:hover {
  background-color: var(--reversal-bg);
  color: var(--reversal-text-color);
  transform: scale(102%);
}
.c-button__one:hover::after {
  border-right: var(--reversal-color) solid 0.4rem;
  border-bottom: var(--reversal-color) solid 0.4rem;
}

.c-button__two {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-gap: 1rem;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  padding: 1rem 3rem;
  transition: background-color 0.5s, border 0.5s, color 0.5s, transform 0.25s;
  border-radius: 10px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  background-color: #ffffff;
  color: var(--main-text-color);
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .c-button__two {
    width: 50rem;
  }
}
.c-button__two::before {
  content: "";
}
.c-button__two a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-button__two::after {
  position: absolute;
  right: 1rem;
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-right: var(--main-color) solid 0.4rem;
  border-bottom: var(--main-color) solid 0.4rem;
  transform: rotate(-45deg);
  transition: left 0.5s, border-right 0.5s, border-bottom 0.5s;
}
.c-button__two:hover {
  background-color: var(--reversal-bg);
  color: var(--reversal-text-color);
  transform: scale(102%);
}
.c-button__two:hover::after {
  border-right: var(--reversal-color) solid 0.4rem;
  border-bottom: var(--reversal-color) solid 0.4rem;
  color: black;
}

.c-button__goto {
  box-sizing: border-box;
  font-family: "Shippori Mincho", sans-serif;
  cursor: pointer;
  border: 1px solid #333;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  transition: 1s;
  font-size: clamp(2rem, 1vw, 3rem);
  padding: 1rem 3rem;
}
.c-button__goto span {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.c-button__goto::before, .c-button__goto::after {
  position: absolute;
  background: #fdfdfd;
  z-index: -1;
  transition: 1s;
  content: "";
}
.c-button__goto::before {
  width: 75%;
  height: 110%;
}
.c-button__goto::after {
  width: 110%;
  height: 40%;
}
.c-button__goto:hover::before {
  width: 0px;
  background: #fdfdfd;
}
.c-button__goto:hover::after {
  height: 0px;
  background: #fdfdfd;
}
.c-button__goto:hover {
  background: #fdfdfd;
}
.c-button__goto a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-button__copy {
  font-family: "Shippori Mincho", sans-serif;
  box-sizing: border-box;
  cursor: pointer;
  border: 1px solid #333;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 0;
  left: 0;
  z-index: 0;
  transition: 1s;
  font-size: clamp(2rem, 1vw, 3rem);
  padding: 1rem 3rem;
}
.c-button__copy span {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.c-button__copy::before, .c-button__copy::after {
  position: absolute;
  background: #fdfdfd;
  z-index: -1;
  transition: 1s;
  content: "";
}
.c-button__copy::before {
  width: 75%;
  height: 110%;
}
.c-button__copy::after {
  width: 110%;
  height: 40%;
}
.c-button__copy:hover::before {
  width: 0px;
  background: #fdfdfd;
}
.c-button__copy:hover::after {
  height: 0px;
  background: #fdfdfd;
}
.c-button__copy:hover {
  background: #fdfdfd;
}
.c-button__copy a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-title__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}

.c-title__productTitle {
  font-size: 400%;
  font-weight: 400;
  text-align: center;
}

.c-img__products {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  justify-self: center;
  width: 100%;
  height: 200%;
}
.c-img__title {
  width: 35rem;
  height: 100%;
}
.c-img__insert {
  width: 20rem;
  height: auto;
}
.c-img__slider {
  width: 25rem;
  height: auto;
}

.p-card__container {
  display: grid;
  padding: 0 7vw;
}
@media screen and (max-width: 767px) {
  .p-card__container {
    padding: 0 2vw;
  }
}
.p-card__inner {
  position: relative;
  display: grid;
  align-items: center;
  border-radius: 10px;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  background-color: #fdfdfd;
  border: white solid 1px;
  padding: 2vw;
}
.p-card__inner-unHover {
  position: relative;
  display: grid;
  align-items: center;
  border-radius: 10px;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  padding: 3% 0;
  background-color: #fdfdfd;
  border: white solid 1px;
  padding: 2rem;
}
.p-card__inner-noVisual {
  position: relative;
  display: grid;
  align-items: center;
  border-radius: 10px;
  margin: 20px;
  padding: 3% 0;
  padding: 2rem;
}
.p-card__inner-field {
  position: relative;
  display: grid;
  align-items: center;
  border-radius: 10px;
  margin: 0 20px;
  padding: 3% 0;
  padding: 1rem 2rem;
}

.p-card__hover:hover {
  background-color: #6c6c6c;
  color: white;
  transition: background-color 0.4s ease 0s, color 0.2s ease 0s;
}

.p-gridTable {
  font-size: 2rem;
}
.p-gridTable__header {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 1rem;
}
.p-gridTable__box {
  display: grid;
  align-items: center;
  font-size: 2rem;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 7rem;
}
.p-gridTable__item-1 {
  grid-column: 1/3;
}
.p-gridTable__item-2 {
  grid-column: 4/6;
}
.p-gridTable__item-3 {
  grid-column: 5/6;
}
.p-gridTable__item-message {
  grid-column: 1/6;
}

.p-home__load {
  position: fixed;
  z-index: 2000;
  width: 100%;
  height: 100vh;
  top: 0px;
  margin: 0;
  padding: 0;
  background: var(--main-bg);
}
.p-home__load.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 500ms;
}
.p-home__load h1 {
  display: none;
  margin-top: 50vh;
  text-align: center;
  font-size: 50px;
}

.p-info {
  text-align: center;
}
.p-info__info-list li {
  list-style: none;
  margin: 20px auto;
  width: 250px;
  height: 100px;
}
.p-info__title {
  font-size: 25px;
  float: left;
}
.p-info__date {
  font-size: 15px;
  font-weight: lighter;
  float: left;
}

.p-about-light {
  background-color: var(--section-separate-color);
  text-align: center;
  padding: 1px;
}
.p-about-light__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}
.p-about-light__sectionTitle::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 110%;
  top: -5%;
  left: 4%;
  background-color: var(--main-color);
}

.p-show_window {
  text-align: center;
}
.p-show_window__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}
.p-show_window__sectionTitle::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 110%;
  top: -5%;
  left: 4%;
  background-color: var(--main-color);
}
.p-show_window__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(1, 1fr);
  padding: 0 7vw;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-show_window__container {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-show_window__inner {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 0.5fr 3fr 0.5fr;
  grid-template-rows: 5vw 3fr;
  font-size: 1.6rem;
  border-radius: 10px;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  padding: 3% 0;
  background-color: var(--main-bg);
  border: white solid 1px;
  transition: background-color 0.5s, border 0.5s, color 0.5s;
  transition: transform 0.25s;
}
.p-show_window__inner h1 {
  grid-column: 2/3;
  grid-row: 1/2;
}
.p-show_window__inner p {
  grid-column: 2/3;
  grid-row: 2/3;
}
.p-show_window__inner a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-show_window__inner::before {
  content: "";
  grid-column: 1/2;
  grid-row: 1/3;
}
.p-show_window__inner::after {
  content: "";
  display: block;
  position: absolute;
  width: 2rem;
  height: 2rem;
  left: 0;
  border-right: var(--main-color) solid 0.4rem;
  border-bottom: var(--main-color) solid 0.4rem;
  transform: rotate(-45deg);
  transition: left 0.5s, border-right 0.5s, border-bottom 0.5s;
  grid-column: 3/4;
  grid-row: 1/3;
}
.p-show_window__inner:hover {
  transform: scale(101%);
}
.p-show_window__inner:hover::after {
  left: 10%;
}

@keyframes show_window_arrow_in {
  from {
    left: 80%;
  }
  to {
    left: 85%;
  }
}
@keyframes show_window_arrow_out {
  from {
    left: 85%;
  }
  to {
    left: 80%;
  }
}
.p-links {
  margin: 0 auto;
  text-align: center;
  font-size: 1.6rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, 1fr);
  place-items: center;
}
.p-links div {
  width: 40rem;
  height: 75%;
  padding: 0.6rem 5px;
  position: relative;
  display: flex;
  align-items: center;
}
.p-links div p {
  margin-left: 10px;
}
.p-links div a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-links__email {
  position: relative;
}
.p-links__email a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-links__email p::after {
  content: "Copied!";
  position: absolute;
  left: 100%;
  top: 25%;
  padding: 9px 10px;
  background: none;
  display: none;
  color: #000000;
}
.p-links__email.active p::after {
  display: block;
}

/*==================================================
スライダーのためのcss
===================================*/
.p-first_window__slider {
  width: 50%;
  margin: 100px auto;
  position: relative;
  z-index: 1;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .p-first_window__slider {
    width: 90%;
  }
}

.slider-item {
  margin: auto;
  width: 100%;
  max-width: 75%;
}
.slider-item div {
  display: grid;
  place-content: center;
  height: auto;
  margin: 0 10px;
  position: relative;
}
.slider-item div p {
  display: block;
  height: 100%;
  line-height: 10;
  text-align: center;
}
.slider-item div img {
  width: 30rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.slider-item div a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slick-slide {
  height: auto;
}

/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute; /*絶対配置にする*/
  z-index: 3;
  top: 40%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #ccc; /*矢印の色*/
  border-right: 2px solid #ccc; /*矢印の色*/
  height: 2rem;
  width: 2rem;
}

.slick-prev { /*戻る矢印の位置と形状*/
  left: 5rem;
  transform: rotate(-135deg);
}

.slick-next { /*次へ矢印の位置と形状*/
  right: 5rem;
  transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/
.slick-dots {
  position: relative;
  z-index: 3;
  text-align: center;
  margin: 10rem 0 0 0;
  padding-left: 0;
  width: 100%;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px; /*ドットボタンのサイズ*/
  height: 8px; /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #ccc; /*ドットボタンの色*/
  border-style: none;
}

.slick-dots .slick-active button {
  background: #333; /*ドットボタンの現在地表示の色*/
  opacity: 0.75;
}

.p-about {
  margin-top: 0vh;
  text-align: center;
}
.p-about__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}
.p-about__sectionTitle::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 110%;
  top: -5%;
  left: 4%;
  background-color: var(--main-color);
}
.p-about__heart {
  background-color: #ffffff;
  width: 45%;
  margin: 0 auto;
  box-sizing: border-box;
  min-width: -moz-fit-content;
  min-width: fit-content;
  padding: 0 2rem;
}
.p-about__heart-title {
  font-size: 2rem;
}
.p-about__heart-main {
  font-size: 2.5rem;
  font-weight: 300;
}
.p-about__MVV-title {
  font-size: 2rem;
}
.p-about__MVV-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 300px);
  font-size: 1.5rem;
  font-weight: 400;
  padding: 0 7vw;
}
@media screen and (max-width: 767px) {
  .p-about__MVV-main {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 1fr);
  }
}
.p-about__MVV-main div {
  display: grid;
  place-content: center;
}
.p-about__MVV-main div p {
  margin-top: 0;
}
.p-about__MVV-main-title {
  padding: 0 10px 0 10px;
  font-size: 2rem;
  position: relative;
}
.p-about__MVV-main-title_sizeBig {
  font-size: 4rem;
  font-weight: 500;
}
.p-about__MVV-main-mission {
  grid-column: 1/2;
  grid-row: 1/2;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-about__MVV-main-mission {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.p-about__MVV-main-vision {
  grid-column: 1/2;
  grid-row: 2/3;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-about__MVV-main-vision {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
.p-about__MVV-main-values {
  grid-column: 2/3;
  grid-row: 1/3;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-about__MVV-main-values {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
.p-about__MVV br {
  margin-bottom: 15px;
}

.p-infomation_gridContainer {
  display: grid;
  grid-template-columns: 3fr 1fr 10fr;
  justify-items: center;
  align-items: center;
  width: 75%;
  margin: 0 auto;
  font-size: 1rem;
  font-weight: 400;
  grid-auto-rows: 5rem;
}
@media screen and (max-width: 767px) {
  .p-infomation_gridContainer {
    width: 85%;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, 5rem 2fr);
    font-size: 2rem;
    font-weight: 400;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridTitle {
    grid-column: span 1;
    justify-self: start;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridSeparator {
    grid-column: span 3;
    visibility: hidden;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridContent {
    grid-column: span 4;
    padding: 0 2rem;
    margin-bottom: 3rem;
  }
}

.p-smartglasses_about {
  margin-top: 0vh;
  text-align: center;
}

.p-smartglasses_show_window {
  text-align: center;
}
.p-smartglasses_show_window__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}
.p-smartglasses_show_window__sectionTitle::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 110%;
  top: -5%;
  left: 4%;
  background-color: var(--main-color);
}
.p-smartglasses_show_window__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(1, 300px);
  padding: 0 7vw;
}
.p-smartglasses_show_window__card {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 0.5fr 3fr 0.5fr;
  grid-template-rows: 1fr 1fr;
  font-size: 2rem;
  border-radius: 10px;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  padding: 3% 0;
  background-color: var(--main-bg);
  border: white solid 1px;
  transition: background-color 0.5s, border 0.5s, color 0.5s;
  transition: transform 0.25s;
}
.p-smartglasses_show_window__card h1 {
  grid-column: 2/3;
  grid-row: 1/2;
}
.p-smartglasses_show_window__card p {
  grid-column: 2/3;
  grid-row: 2/3;
}
.p-smartglasses_show_window__card a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-smartglasses_show_window__card::before {
  content: "";
  grid-column: 1/2;
  grid-row: 1/3;
}
.p-smartglasses_show_window__card::after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0;
  border-right: var(--main-color) solid 3px;
  border-bottom: var(--main-color) solid 3px;
  transform: rotate(-45deg);
  transition: left 0.5s, border-right 0.5s, border-bottom 0.5s;
  grid-column: 3/4;
  grid-row: 1/3;
}
.p-smartglasses_show_window__card:hover {
  transform: scale(101%);
}
.p-smartglasses_show_window__card:hover::after {
  left: 10%;
}

.p-luceum-1_about {
  margin-top: 0vh;
  text-align: center;
}

.p-luceum-1_show_window {
  text-align: center;
}
.p-luceum-1_show_window__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}
.p-luceum-1_show_window__sectionTitle::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 110%;
  top: -5%;
  left: 4%;
  background-color: var(--main-color);
}
.p-luceum-1_show_window__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 300px);
  padding: 0 7vw;
}
.p-luceum-1_show_window__card {
  position: relative;
  border-radius: 10px;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  padding: 3% 0;
  background-color: var(--main-bg);
  border: white solid 1px;
  transition: background-color 0.5s, border 0.5s, color 0.5s;
  transition: transform 0.25s;
}
.p-luceum-1_show_window__card a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-luceum-1_show_window__card::after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  border-right: var(--main-color) solid 3px;
  border-bottom: var(--main-color) solid 3px;
  position: absolute;
  top: 125px;
  left: 85%;
  transform: rotate(-45deg);
  transition: left 0.5s, border-right 0.5s, border-bottom 0.5s;
}
.p-luceum-1_show_window__card:hover {
  transform: scale(101%);
}
.p-luceum-1_show_window__card:hover::after {
  left: 90%;
}

@keyframes show_window_arrow_in {
  from {
    left: 80%;
  }
  to {
    left: 85%;
  }
}
@keyframes show_window_arrow_out {
  from {
    left: 85%;
  }
  to {
    left: 80%;
  }
}
.p-provirium_entrance {
  margin-top: 0vh;
  text-align: center;
}

.p-provirium_about {
  margin-top: 0vh;
  text-align: left;
}

.p-provirium_usage {
  margin-top: 0vh;
  text-align: left;
}

.p-provirium_introduce {
  margin-top: 0vh;
  text-align: left;
}

.p-provirium-grid__container {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr;
  padding: 0 7vw;
}
@media screen and (max-width: 767px) {
  .p-provirium-grid__container {
    grid-template-columns: 1fr 2fr 2fr 1fr;
  }
}
.p-provirium-grid__inner {
  position: relative;
  display: grid;
  align-items: center;
  border-radius: 10px;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
  background-color: #fdfdfd;
  border: white solid 1px;
  padding: 2vw;
  align-content: center;
}
.p-provirium-grid__inner-left {
  grid-column: 1/3;
}
@media screen and (max-width: 767px) {
  .p-provirium-grid__inner-left {
    grid-column: 1/4;
  }
}
.p-provirium-grid__inner-right {
  grid-column: 2/4;
}
@media screen and (max-width: 767px) {
  .p-provirium-grid__inner-right {
    grid-column: 2/5;
  }
}
.p-provirium-grid__inner-all {
  grid-column: 1/4;
}
@media screen and (max-width: 767px) {
  .p-provirium-grid__inner-all {
    grid-column: 1/5;
  }
}

.p-provirium_attention {
  margin-top: 0vh;
  text-align: left;
  margin: 2rem;
  font-size: 1.4rem;
}

.p-provirium-data__card {
  color: #000000;
  position: relative;
}
.p-provirium-data__card::after {
  content: "コピーしました";
  position: absolute;
  display: grid;
  place-content: center;
  background-color: rgba(0, 0, 0, 0.75);
  color: #ffffff;
  border-radius: 10px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity ease-in 0.2s;
}
.p-provirium-data__card.active::after {
  opacity: 1;
}

.p-privacy {
  margin-top: 0vh;
  text-align: center;
}
.p-privacy__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}
.p-privacy__sectionTitle::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 110%;
  top: -5%;
  left: 4%;
  background-color: var(--main-color);
}
.p-privacy__heart {
  background-color: #ffffff;
  width: 45%;
  margin: 0 auto;
  box-sizing: border-box;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.p-privacy__heart-title {
  font-size: 3rem;
}
.p-privacy__heart-main {
  font-size: 3.5rem;
  font-weight: 300;
}
.p-privacy__MVV-title {
  font-size: 3.5rem;
}
.p-privacy__MVV-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 300px);
  font-size: 2rem;
  font-weight: 400;
  padding: 0 7vw;
}
@media screen and (max-width: 767px) {
  .p-privacy__MVV-main {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 1fr);
  }
}
.p-privacy__MVV-main div {
  display: grid;
  place-content: center;
}
.p-privacy__MVV-main div p {
  margin-top: 0;
}
.p-privacy__MVV-main-title {
  padding: 0 10px 0 10px;
  font-size: 4rem;
  position: relative;
}
.p-privacy__MVV-main-title_sizeBig {
  font-size: 6rem;
  font-weight: 500;
}
.p-privacy__MVV-main-mission {
  grid-column: 1/2;
  grid-row: 1/2;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-privacy__MVV-main-mission {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.p-privacy__MVV-main-vision {
  grid-column: 1/2;
  grid-row: 2/3;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-privacy__MVV-main-vision {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
.p-privacy__MVV-main-values {
  grid-column: 2/3;
  grid-row: 1/3;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-privacy__MVV-main-values {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
.p-privacy__MVV br {
  margin-bottom: 15px;
}

.p-infomation_gridContainer {
  display: grid;
  grid-template-columns: 3fr 1fr 10fr;
  justify-items: center;
  align-items: center;
  width: 75%;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: 400;
  grid-auto-rows: 5rem;
}
@media screen and (max-width: 767px) {
  .p-infomation_gridContainer {
    width: 85%;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, 5rem 2fr);
    font-size: 2rem;
    font-weight: 400;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridTitle {
    grid-column: span 1;
    justify-self: start;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridSeparator {
    grid-column: span 3;
    visibility: hidden;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridContent {
    grid-column: span 4;
    padding: 0 2rem;
    margin-bottom: 5rem;
  }
}

.p-legal {
  margin-top: 0vh;
  text-align: center;
}
.p-legal__sectionTitle {
  position: relative;
  padding-left: 5%;
  font-size: 250%;
  text-align: left;
  font-weight: 300;
}
.p-legal__sectionTitle::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 110%;
  top: -5%;
  left: 4%;
  background-color: var(--main-color);
}
.p-legal__heart {
  background-color: #ffffff;
  width: 45%;
  margin: 0 auto;
  box-sizing: border-box;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.p-legal__heart-title {
  font-size: 3rem;
}
.p-legal__heart-main {
  font-size: 3.5rem;
  font-weight: 300;
}
.p-legal__MVV-title {
  font-size: 3.5rem;
}
.p-legal__MVV-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 300px);
  font-size: 2rem;
  font-weight: 400;
  padding: 0 7vw;
}
@media screen and (max-width: 767px) {
  .p-legal__MVV-main {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 1fr);
  }
}
.p-legal__MVV-main div {
  display: grid;
  place-content: center;
}
.p-legal__MVV-main div p {
  margin-top: 0;
}
.p-legal__MVV-main-title {
  padding: 0 10px 0 10px;
  font-size: 4rem;
  position: relative;
}
.p-legal__MVV-main-title_sizeBig {
  font-size: 6rem;
  font-weight: 500;
}
.p-legal__MVV-main-mission {
  grid-column: 1/2;
  grid-row: 1/2;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-legal__MVV-main-mission {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.p-legal__MVV-main-vision {
  grid-column: 1/2;
  grid-row: 2/3;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-legal__MVV-main-vision {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
.p-legal__MVV-main-values {
  grid-column: 2/3;
  grid-row: 1/3;
  border-radius: 10px;
  background-color: #ffffff;
  margin: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 23px 0px;
}
@media screen and (max-width: 767px) {
  .p-legal__MVV-main-values {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
.p-legal__MVV br {
  margin-bottom: 15px;
}

.p-infomation_gridContainer {
  display: grid;
  grid-template-columns: 3fr 1fr 10fr;
  justify-items: center;
  align-items: center;
  width: 75%;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: 400;
  grid-auto-rows: 5rem;
}
@media screen and (max-width: 767px) {
  .p-infomation_gridContainer {
    width: 85%;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, 5rem 2fr);
    font-size: 2rem;
    font-weight: 400;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridTitle {
    grid-column: span 1;
    justify-self: start;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridSeparator {
    grid-column: span 3;
    visibility: hidden;
  }
}
@media screen and (max-width: 767px) {
  .p-infomation_gridContent {
    grid-column: span 4;
    padding: 0 2rem;
    margin-bottom: 5rem;
  }
}

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

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

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

.u-fonts__weightVeryBold {
  font-weight: 600;
}

.u-fonts__weightBold {
  font-weight: 400;
}

.u-fonts__weightLight {
  font-weight: 300;
}

.u-fonts__weightVeryLight {
  font-weight: 100;
}

.u-fonts__sizeMaximum {
  font-size: 3rem;
}

.u-fonts__sizeBigger {
  font-size: 2rem;
}

.u-fonts__sizeMiddle {
  font-size: 1.6rem;
}

.u-fonts__sizeSmaller {
  font-size: 0.8rem;
}

.u-fonts__wideBr br {
  margin-top: 10px;
}

.u-margin__center {
  margin: 0 auto 0 auto;
}

.u-margin__bottom-10px {
  margin-bottom: 10px;
}

.u-padding__5px {
  padding: 5px;
}

.u-padding__10px {
  padding: 10px;
}

.u-anim_a {
  display: inline-block;
  position: relative;
}
.u-anim_a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 300ms;
}
.u-anim_a:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}
.u-anim_a:visited {
  color: #747474;
}

.u-anim_a_static {
  display: inline-block;
  position: relative;
}
.u-anim_a_static::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 300ms;
}
.u-anim_a_static:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.u-a__static {
  display: inline-block;
  position: relative;
  text-decoration: underline;
}

.u-hyperlink__backCategory {
  margin-left: 20%;
}
.u-hyperlink__backCategory:visited {
  color: var(--main-text-color);
}/*# sourceMappingURL=style.css.map */