@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* common
---------------------------------------------------------------------- */
:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

.p-xrglass {
  position: relative;
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  line-height: 1;
  color: #000;
}

@media (any-hover: hover) {
  .p-xrglass a:hover {
    opacity: .7;
  }
}

.p-xrglass .inner {
  width: 940px;
  margin-inline: auto;
}
.p-xrglass .anchor-scroll {
  padding-top: 70px;
  margin-top: -70px;
}

@media screen and (min-width: 769px) {
  .p-xrglass .sp {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .anchor-scroll {
    padding-top: 40px;
    margin-top: -40px;
  }

  .p-xrglass .pc {
    display: none !important;
  }

  .p-xrglass .inner {
    width: 100%;
    padding-inline: 25px;
  }
}

/* mv
---------------------------------------------------------------------- */
.p-xrglass .mv {
  position: relative;
  padding-top: 25px;
}

.p-xrglass .mv::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  max-height: 394px;
  height: 64%;
  aspect-ratio: 1500/394;
  content: "";
  background: url("../images/mv_bg.jpg") center center no-repeat;
  background-size: cover;
}

.p-xrglass .mv .wrap {
  max-width: 1020px;
  margin-inline: auto;
}

.p-xrglass .mv .ttl img {
  width: 100%;
}

.p-xrglass .mv .figure {
  width: 100%;
  min-width: 940px;
  margin-top: -17px;
}

.p-xrglass .mv .figure img {
  width: 100%;
}

.p-xrglass .mv .lead {
  margin-top: -32px;
  font-size: 24px;
  font-weight: 500;
  line-height: calc(45 / 24);
  text-align: center;
}

.p-xrglass .mv .note {
  margin-top: 12px;
  font-size: 12px;
  line-height: calc(21 / 12);
  text-align: end;
}

@media screen and (max-width: 768px) {
  .p-xrglass .mv {
    padding-top: 0;
  }

  .p-xrglass .mv::before {
    display: none;
  }

  .p-xrglass .mv .container {
    position: relative;
    padding-top: 27px;
    padding-bottom: 13px;
  }

  .p-xrglass .mv .container::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 306px;
    content: "";
    background: url("../images/mv_bg.jpg") center center no-repeat;
    background-size: cover;
  }

  .p-xrglass .mv .wrap {
    width: 100%;
    max-width: 390px;
    padding-inline: 25px;
  }

  .p-xrglass .mv .figure {
    width: 100%;
    min-width: inherit;
    margin-top: 10px;
  }

  .p-xrglass .mv .figure img {
    width: 100%;
  }

  .p-xrglass .mv .pic {
    width: 100%;
    max-width: 193px;
    margin-inline: auto;
  }

  .p-xrglass .mv .pic img {
    width: 100%;
  }

  .p-xrglass .mv .lead {
    margin-top: -25px;
    font-size: 14px;
    line-height: calc(27 / 14);
    text-align: left;
  }

  .p-xrglass .mv .note {
    margin-top: 18px;
    font-size: 9px;
    line-height: calc(11 / 9);
    text-align: end;
  }
}

/* nav
---------------------------------------------------------------------- */

.p-xrglass .nav-wrap {
  position: relative;
  padding-top: 44px;
  margin-top: 88px;
  margin-bottom: 37px;
}

.p-xrglass .nav {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  width: 940px;
  padding: 12px 0;
  background: #fff;
}

.p-xrglass nav.is-sticky {
  position: fixed !important;
  top: 0 !important;
  width: 100%;
}

.p-xrglass .nav .list {
  position: static;
  top: 0;
  display: flex;
  justify-content: space-between;
  max-width: 940px;
  margin: 0 auto;
}

.p-xrglass nav .item {
  font-family: "Roboto", sans-serif;
  font-size: 21px;
  font-weight: 500;
  line-height: calc(28 / 23);
}

.p-xrglass .nav .item a {
  position: relative;
  padding-bottom: 6px;
  color: #000;
}

.p-xrglass .nav .item a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #DFCD2A;
  transform: scale(0,1);
  transform-origin: right top;
  transition: transform .2s ease-in-out;
}

@media (any-hover: hover) {
  .p-xrglass .nav .item a:hover {
    text-decoration: none;
    opacity: 1;
  }

  .p-xrglass nav .item {
    white-space: nowrap;
  }

  .p-xrglass .nav .item a:hover::after {
    transform: scale(1,1);
    transform-origin: left top;
  }
}

@media screen and (min-width: 769px) {
  .p-xrglass .nav .list {
    display: flex!important;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .nav-wrap {
    position: relative;
    height: 88px;
    padding-top: 0;
    margin-top: 6px;
    margin-bottom: 0;
  }

  .p-xrglass .nav {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    width: 100%;
    padding: 0;
    transform: translateX(-50%);
  }

  .p-xrglass .nav.is-sticky {
    position: fixed !important;
    top: 0 !important;
    width: 100%;
  }

  .p-xrglass .nav .inner {
    padding: 25px;
  }

  .p-xrglass nav .btn {
    position: relative;
    width: 100%;
    padding: 8px 0 6px;
    border-top: 1px solid #b2b2b2;
    border-bottom: 1px solid #b2b2b2;
  }

  .p-xrglass nav .btn .txt {
    display: block;
    width: 140px;
    margin: 0 auto;
  }

  .p-xrglass nav .btn .txt img {
    width: 100%;
  }

  .p-xrglass nav .btn .icn {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
  }

  .p-xrglass nav .btn .icn span {
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #b2b2b2;
    transition: opacity .2s linear;
  }

  .p-xrglass nav .btn.is-active .icn span {
    opacity: 0;
  }

  .p-xrglass nav .btn .icn::before,
  .p-xrglass nav .btn .icn::after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: #b2b2b2;
    transition: bottom .2s linear, transform .2s linear;
  }

  .p-xrglass nav .btn .icn::before {
    bottom: calc(100% - 4px);
  }

  .p-xrglass nav .btn.is-active .icn::before {
    bottom: 50%;
    transform: translateY(-50%) rotate(45deg);
  }

  .p-xrglass nav .btn .icn::after {
    bottom: 4px;
  }

  .p-xrglass nav .btn.is-active .icn::after {
    bottom: 50%;
    transform: translateY(-50%) rotate(-45deg);
  }

  .p-xrglass .nav .list {
    display: none;
  }

  .p-xrglass nav .item {
    width: 100%;
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1em;
    text-align: center;
    border-top: 1px solid #b2b2b2;
  }

  .p-xrglass nav .item:first-child {
    border-top: none;
  }

  .p-xrglass nav .item:last-child {
    border-bottom: 1px solid #b2b2b2;
  }

  .p-xrglass .nav .item a {
    display: block;
    width: 100%;
    padding: 12px 0 13px;
  }

  .p-xrglass .nav .item a::after {
    display: none;
  }
}


/* news
---------------------------------------------------------------------- */
.p-xrglass .news {
  margin-top: 94px;
}

.p-xrglass .news .headline {
  padding-bottom: 9px;
  padding-left:  11px;
  border-bottom: 1px solid #000;
  border-left: 9px solid #000;
}

.p-xrglass .news .list {
  margin-top: 24px;
}

.p-xrglass .news .list-item {
  position: relative;
  padding-left: 160px;
  font-size: 18px;
  font-weight: 500;
  line-height: calc(45 / 18);
  letter-spacing: .1em;
}

.p-xrglass .news .list-item.new::before {
  content: "New";
  position: absolute;
  top: 50%;
  left: 27px;
  transform: translateY(-50%);
  padding-bottom: 1px;
  width: 100px;
  font-size: 18px;
  line-height: calc(21.5/18);
  font-weight: 700;
  color: #fff;
  background-color: #dfcd2a;
  letter-spacing: 0.1em;
  text-align: center;
}

.p-xrglass .news .list-item:nth-child(n+4) {
  display: none;
}

.p-xrglass .news .list-box {
  display: flex;
  gap: 2em;
}

.p-xrglass .news .date {
  display: block;
  font-weight: inherit;
}

.p-xrglass .news .ttl {
  flex: 1 1 10%;
  display: block;
  min-width: 0;
  font-weight: inherit;
}

.p-xrglass .news .ttl a {
  text-decoration: underline;
  color: inherit;
  font-weight: 500;
}

.p-xrglass .news .btn {
  position: relative;
  width: 240px;
  margin: 20px auto 0;
  font-size: 17px;
  line-height: calc(29/17);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: #e5e5e5;
  border-radius: 999px;
  cursor: pointer;
}

.p-xrglass .news .btn::before,
.p-xrglass .news .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 10px;
  height: 2px;
  background-color: #000;
  border-radius: 999px;
  transition: transform 0.2s ease-in-out;
}

.p-xrglass .news .btn::after {
  transform: translateY(-50%) rotate(90deg);
}

.p-xrglass .news .btn.is-active::after {
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .p-xrglass .news {
    margin-top: 55px;
  }

  .p-xrglass .news .headline {
    padding-bottom: 4px;
    padding-left:  8px;
    border-left-width: 6px;
  }

  .p-xrglass .news .headline img {
    width: 40px;
  }

  .p-xrglass .news .list {
    margin-top: 18px;
  }

  .p-xrglass .news .list-item {
    gap: 1em;
    padding-left: 70px;
    font-size: 12px;
    line-height: calc(20 / 12);
    letter-spacing: .04em;
  }

  .p-xrglass .news .list-item.new::before {
    top: 2.5px;
    transform: none;
    left: 10px;
    padding-bottom: 1px;
    width: 50px;
    font-size: 12px;
    line-height: calc(14/12);
  }

  .p-xrglass .news .list-item:nth-of-type(n+2) {
    margin-top: 1em;
  }
}


/* movie
---------------------------------------------------------------------- */
.p-xrglass .movie {
  margin-top: 125px;
}

.p-xrglass .movie .inner {
  max-width: 800px;
}

.p-xrglass .movie-box {
  aspect-ratio: 16/9;
}

.p-xrglass .movie-box iframe {
  width: 100%;
  height: 100%;
}

.p-xrglass .movie-notice {
  margin-top: 10px;
  font-size: 15px;
  line-height: calc(21 / 15);
}

.p-xrglass .movie-notice li {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 768px) {
  .p-xrglass .movie {
    margin-top: 50px;
  }

  .p-xrglass .movie-notice {
    margin-top: 5px;
    font-size: 10px;
    line-height: calc(16 / 10);
  }
}


/* concept
---------------------------------------------------------------------- */
.p-xrglass .concept {
  position: relative;
  width: 100%;
  padding: 0 0 120px;
  margin-top: 100px;
  overflow: hidden;
}

.p-xrglass .concept .inner {
  position: relative;
  padding-top: 60px;
}

.p-xrglass .concept .inner::before {
  position: absolute;
  top: .078125vw;
  left: -370px;
  z-index: -1;
  width: 512px;
  height: 512px;
  content: "";
  background-color: #DFCD2A  ;
  border-radius: 50%;
}

.p-xrglass .heading {
  display: flex;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-size: 25px;
  font-weight: 500;
  line-height: calc(30 / 25);
  letter-spacing: .02em;
}

.p-xrglass .heading::before {
  margin-right: 0.5em;
  font-size: 15px;
  content: "▶";
}

.p-xrglass .concept .ttl {
  margin-top: 40px;
  font-size: 59.5px;
  font-weight: 700;
  line-height: calc(85 / 59.5);
  letter-spacing: 0.04em;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s, transform .7s;
}

.p-xrglass .concept .ttl.fadeIn {
  opacity: 1;
  transform: translateY(0);
}

.p-xrglass .concept .lead {
  margin-top: 22px;
  font-size: 32.6px;
  font-weight: 700;
  line-height: calc(45 / 32.6);
  letter-spacing: 0.04em;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s, transform .7s;
}

.p-xrglass .concept .lead.fadeIn {
  opacity: 1;
  transform: translateY(0);
}

.p-xrglass .concept .txt {
  margin-top: 47px;
  font-size: 20px;
  font-weight: 500;
  line-height: calc(57 / 20);
  letter-spacing: 0.1em;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s, transform .7s;
}

.p-xrglass .concept .txt.fadeIn {
  opacity: 1;
  transform: translateY(0);
}

.p-xrglass .concept .note {
  margin-top: 38px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: calc(21 / 11);
  letter-spacing: -.01em;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s, transform .7s;
}

.p-xrglass .concept .note.fadeIn {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (max-width: 768px) {
  .p-xrglass .concept-scroll {
    padding-top: 60px;
    margin-top: -60px;
    pointer-events: none;
  }

  .p-xrglass .concept {
    padding: 0 0 53px;
    margin-top: 0;
  }

  .p-xrglass .concept .inner {
    padding-top: 59px;
  }

  .p-xrglass .concept .inner::before {
    top: 22px;
    left: -43px;
    width: 230px;
    height: 230px;
  }

  .p-xrglass .heading {
    font-size: 13px;
    line-height: calc(16 / 13);
  }

  .p-xrglass .heading::before {
    font-size: 8px;
  }

  .p-xrglass .concept .ttl {
    margin-top: 10px;
    font-size: 28px;
    line-height: calc(42.5 / 28);
    transform: translateY(30px);
  }

  .p-xrglass .concept .lead {
    margin-top: 14px;
    font-size: 16.3px;
    line-height: calc(20.4 / 16.3);
    letter-spacing: 0;
    transform: translateY(30px);
  }

  .p-xrglass .concept .txt {
    margin-top: 22px;
    font-size: 13.8px;
    line-height: calc(34 / 13.8);
    letter-spacing: 0;
    transform: translateY(30px);
  }

  .p-xrglass .concept .note {
    margin-top: 15px;
    font-size: 9px;
    line-height: calc(11 / 9);
    transform: translateY(30px);
  }
}

/* usageexample
---------------------------------------------------------------------- */
.p-xrglass .usageexample {
  position: relative;
  padding: 101px 0 156px;
  background-size: cover;
}

.p-xrglass .usageexample.picking {
  background: url("../images/example_bg01.jpg") center center no-repeat;
  background-size: cover;
}
.p-xrglass .usageexample.remote {
  background: url("../images/example_bg02.jpg") center center no-repeat;
  background-size: cover;
}
.p-xrglass .usageexample.education {
  background: url("../images/example_bg03.jpg") center center no-repeat;
  background-size: cover;
}

.p-xrglass .usageexample .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: none;
  width: 100%;
  height: 100%;
}

.p-xrglass .usageexample.picking .bg.picking {
  display: block;
}
.p-xrglass .usageexample.remote .bg.remote {
  display: block;
}
.p-xrglass .usageexample.education .bg.education {
  display: block;
}

.p-xrglass .usageexample .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-xrglass .usageexample .heading {
  color: #FFF;
}

.p-xrglass .usageexample .ttl {
  margin-top: 22px;
  font-size: 45.5px;
  font-weight: 700;
  line-height: calc(74 / 45.5);
  letter-spacing: 0.02em;
  color: #FFF;
}

.p-xrglass .usageexample .tabs {
  display: flex;
  gap: 0 50px;
  margin-top: 58px;
}

.p-xrglass .usageexample .tab {
  position: relative;
  flex: 1;
  font-size: 22.7px;
  line-height: calc(52 / 22.7);
  text-align: center;
  color: #FFF;
}

@media (any-hover: hover) {
  .p-xrglass .usageexample .tab:hover {
    opacity: .7;
  }
}

.p-xrglass .usageexample .tab::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #FFF;
}

.p-xrglass .usageexample .tab.is-active {
  font-weight: 700;
}

.p-xrglass .usageexample .tab.is-active::after {
  height: 2.83px;
}

.p-xrglass .usageexample .item {
  display: none;
  margin-top: 38px;
}

.p-xrglass .usageexample .item.is-show {
  display: block;
}

.p-xrglass .usageexample .item .fig {
  display: flex;
  gap: 0 14px;
  padding: 0 44px;
}

.p-xrglass .usageexample .item .fig img {
  flex: 1;
}

.p-xrglass .usageexample .item .container {
  display: flex;
  align-items: center;
  padding: 0 44px;
  margin-top: 33px;
}

.p-xrglass .usageexample .item .caption {
  width: 325px;
  font-size: 32px;
  font-weight: 500;
  line-height: calc(45 / 32);
  color: #FFF;
}

.p-xrglass .usageexample .item#tab-remote .caption {
  width: 240px;
}

.p-xrglass .usageexample .item .txt {
  flex: 1;
  font-size: 17px;
  font-weight: 400;
  line-height: calc(34 / 17);
  letter-spacing: -.01em;
  color: #FFF;
}

.p-xrglass .usageexample .box {
  display: flex;
  align-items: center;
  padding: 28px 46px 28px 55px;
  margin-top: 39px;
  background-color: rgba(255,255,255,.2);
}

.p-xrglass .usageexample .box .note {
  flex: 1;
  font-size: 17px;
  line-height: calc(34 / 17);
  letter-spacing: -.01em;
  color: #FFF;
}

.p-xrglass .usageexample .box .btn {
  display: block;
  width: 204px;
  padding: 5px 0 7px;
  font-size: 23px;
  line-height: calc(46 / 23);
  text-align: center;
  letter-spacing: -.01em;
  color: #FFF;
  border: 1px solid #FFF;
  border-radius: 999px;
}

@media (any-hover: hover) {
  .p-xrglass .usageexample .box .btn:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .usageexample-scroll {
    padding-top: 87px;
    margin-top: -87px;
    pointer-events: none;
  }

  .p-xrglass .usageexample {
    padding: 32px 0 28px;
    margin-bottom: 0;
  }

  .p-xrglass .usageexample .ttl {
    margin-top: 9px;
    font-size: 24px;
    line-height: calc(33 / 24);
  }

  .p-xrglass .usageexample .tabs {
    gap: 0 9px;
    margin-top: 16px;
  }

  .p-xrglass .usageexample .tab {
    font-size: 13px;
    font-feature-settings: "palt";
    line-height: calc(34 / 13);
    white-space: nowrap;
  }

  .p-xrglass .usageexample .tab::after {
    height: 0.14px;
  }

  .p-xrglass .usageexample .tab.is-active span {
    font-weight: 700;
  }

  .p-xrglass .usageexample .tab.is-active::after {
    height: 2.83px;
  }

  .p-xrglass .usageexample .item {
    display: none;
    margin-top: 25px;
  }

  .p-xrglass .usageexample .item .fig {
    display: block;
    padding: 0 calc((20/340) * 100%);
  }

  .p-xrglass .usageexample .item .fig img {
    width: 100%;
  }

  .p-xrglass .usageexample .item .fig img + img {
    margin-top: 15px;
  }

  .p-xrglass .usageexample .item .container {
    display: block;
    padding: 0 20px;
    margin-top: 22px;
  }

  .p-xrglass .usageexample .item .caption {
    width: 100%;
    font-size: 19.5px;
    font-weight: 500;
    line-height: calc(27.7 / 19.5);
    text-align: center;
  }

  .p-xrglass .usageexample .item#tab-remote .caption {
    width: 100%;
  }

  .p-xrglass .usageexample .item .txt {
    margin-top: 12px;
    font-size: 15px;
    line-height: calc(30 / 15);
  }

  .p-xrglass .usageexample .box {
    display: block;
    padding: 10px 14px 15px;
    margin-top: 26px;
  }

  .p-xrglass .usageexample .box .note {
    font-size: 11px;
    line-height: calc(21 / 11);
    letter-spacing: -.01em;
  }

  .p-xrglass .usageexample .box .btn {
    display: block;
    width: 97px;
    padding: 3px 0 4px;
    margin: 8px auto 0;
    font-size: 10px;
    line-height: calc(20 / 10);
    letter-spacing: -.01em;
  }
}


/* otherscene
---------------------------------------------------------------------- */
.p-xrglass .otherscene {
  position: relative;
  width: 100%;
  padding: 100px 0 155px;
  margin-top: -8px;
  overflow: hidden;
}

.p-xrglass .otherscene::before {
  position: absolute;
  top: 176px;
  right: -424px;
  z-index: -1;
  width: 910px;
  height: 910px;
  content: "";
  background-color: #DFCD2A;
  border-radius: 50%;
}

.p-xrglass .otherscene .ttl {
  margin-top: 30px;
  font-size: 45.5px;
  font-weight: 700;
  line-height: calc(74 / 45.5);
  letter-spacing: 0.02em;
}

.p-xrglass .xrglass-slider {
  position: relative;
}

.p-xrglass .xrglass-slider .slick-list {
  overflow: visible;
}

.p-xrglass .xrglass-slider-prev,
.p-xrglass .xrglass-slider-next {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 103px;
  height: 103px;
  background-color: #FFF;
  border-radius: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.p-xrglass .xrglass-slider-prev > span,
.p-xrglass .xrglass-slider-next > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.p-xrglass .xrglass-slider-prev::after,
.p-xrglass .xrglass-slider-next::after {
  position: absolute;
  top: 50%;
  width: 15px;
  height: 24px;
  content: "";
  background: #000;
  mask: url("../images/arw_black.svg") center center no-repeat;
  mask-size: cover;
}

@media (any-hover: hover) {
  .p-xrglass .xrglass-slider-prev:hover,
  .p-xrglass .xrglass-slider-next:hover {
    opacity: .7;
  }
}

.p-xrglass .xrglass-slider-prev {
  left: -63px;
}

.p-xrglass .xrglass-slider-prev::after {
  left: calc(50% - 2.5px);
  transform: translate(-50%,-50%) rotate(180deg);
}

.p-xrglass .xrglass-slider-next {
  right: -63px;
}

.p-xrglass .xrglass-slider-next::after {
  left: calc(50% + 2.5px);
  transform: translate(-50%,-50%);
}

.p-xrglass .otherscene .list {
  margin-top: 39px;
}

.p-xrglass .otherscene .list .item {
  width: 815px;
  margin: 0 30px;
}

.p-xrglass .otherscene .list .caption {
  font-size: 27px;
  font-weight: 700;
  line-height: calc(55 / 27);
  text-align: center;
}

.p-xrglass .otherscene .list .item .fig {
  width: 100%;
  margin-top: 16px;
}

.p-xrglass .otherscene .list .item .fig img {
  width: 100%;
  border-radius: 51px;
  filter: grayscale(1);
}

.p-xrglass .otherscene .list .item.slick-center .fig img {
  filter: grayscale(0);
}

.p-xrglass .otherscene .list .item .fig figcaption {
  margin-top: 22px;
  font-size: 20px;
  font-weight: 400;
  font-feature-settings: "palt";
  line-height: calc(37 / 20);
}

.p-xrglass .otherscene .note {
  max-width: 815px;
  margin: 25px auto 0;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: calc(21 / 11);
  letter-spacing: -.01em;
}

@media screen and (max-width: 1066px) {
  .p-xrglass .otherscene .list .prev {
    left: 0;
  }

  .p-xrglass .otherscene .list .next {
    right: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .otherscene-scroll {
    padding-top: 50px;
    margin-top: -50px;
    pointer-events: none;
  }

  .p-xrglass .otherscene {
    padding: 69px 0 60px;
    margin-top: 0;
  }

  .p-xrglass .otherscene::before {
    top: 203px;
    right: -161px;
    width: 305px;
    height: 305px;
  }

  .p-xrglass .otherscene .ttl {
    margin-top: 12px;
    font-size: 24px;
    line-height: calc(33 / 24);
  }

  .p-xrglass .xrglass-slider-prev,
  .p-xrglass .xrglass-slider-next {
    width: 39px;
    height: 39px;
  }

  .p-xrglass .xrglass-slider-prev::after,
  .p-xrglass .xrglass-slider-next::after {
    width: 6px;
    height: 9px;
  }

  .p-xrglass .xrglass-slider-prev {
    left: -22.5px;
  }

  .p-xrglass .xrglass-slider-prev::after {
    left: calc(50% - 0.5px);
  }

  .p-xrglass .xrglass-slider-next {
    right: -22.5px;
  }

  .p-xrglass .xrglass-slider-next::after {
    left: calc(50% + 0.5px);
  }

  .p-xrglass .otherscene .list {
    margin-top: 29px;
  }

  .p-xrglass .otherscene .list .item {
    width: min(311px , 79.74vw);
    margin: 0 5px;
  }

  .p-xrglass .otherscene .list .caption {
    display: flex;
    align-items: end;
    justify-content: center;
    min-height: 48px;
    font-size: 17.7px;
    line-height: calc(24 / 17.7);
  }

  .p-xrglass .otherscene .list .item .fig {
    width: 100%;
    margin-top: 19px;
  }

  .p-xrglass .otherscene .list .item .fig img {
    width: 100%;
    border-radius: 20px;
  }

  .p-xrglass .otherscene .list .item .fig figcaption {
    margin-top: 11px;
    font-size: 11px;
    font-weight: 400;
    line-height: calc(21 / 11);
  }

  .p-xrglass .otherscene .note {
    margin-top: 15px;
    font-size: 9px;
    line-height: calc(11 / 9);
  }
}


/* design
---------------------------------------------------------------------- */
.p-xrglass .design {
  padding: 100px 0 102px;
  margin-top: 0;
  background-color: #F3F3F3;
}

.p-xrglass .design .ttl {
  margin-top: 40px;
  font-size: 45.5px;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: calc(74 / 45.5);
  letter-spacing: 0.02em;
}

.p-xrglass .design .contents {
  display: none;
  padding-bottom: 75px;
}

.p-xrglass .design .lead {
  margin-top: 29px;
  font-size: 26px;
  font-weight: 700;
  line-height: calc(60 / 26);
  letter-spacing: 0.02em;
}

.p-xrglass .design .txt {
  margin-top: 8px;
  font-size: 20px;
  font-weight: 400;
  line-height: calc(45 / 20);
  letter-spacing: -0.01em;
}

.p-xrglass .design .note {
  margin-top: 12px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: calc(21 / 11);
  letter-spacing: -.01em;
  text-align: end;
}


.p-xrglass .design .pic {
  margin-top: 120px;
}

.p-xrglass .design .item {
  margin-top: 160px;
}

.p-xrglass .design .item + .item {
  margin-top: 65px;
}

.p-xrglass .design .caption {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 36.6px;
  font-weight: 700;
  line-height: calc(51.6 / 36.6);
  letter-spacing: 0.12em;
}

.p-xrglass .design .caption::before,
.p-xrglass .design .caption::after {
  flex: 1;
  display: block;
  height: 1px;
  content: "";
  background-color: #000;
}

.p-xrglass .design .caption::before {
  margin-right: 25px;
}

.p-xrglass .design .caption::after {
  margin-left: 25px;
}

.p-xrglass .design .prof {
  max-width: 550px;
  margin: 61px auto 0;
}

.p-xrglass .design .prof .prof-item {
  display: flex;
  gap: 0 26px;
  align-items: center;
  max-width: 400px;
  margin: 0 auto;
}

.p-xrglass .design .prof .prof-item img {
  width: 183px;
}

.p-xrglass .design .prof-img {
  width: 206px;
  padding: 11px;
  background : #F3F3F3;
  border-radius: 50%;
}

.p-xrglass .design .prof-img img {
  width: 100%;
  border-radius: 50%;
}

.p-xrglass .design .prof .prof-item .prof-box {
  flex: 1;
}

.p-xrglass .design .prof .prof-item .prof-position {
  font-size: 17.7px;
  font-weight: 400;
  line-height: calc(28.3 / 17.7);
  letter-spacing: 0.04em;
}

.p-xrglass .design .prof .prof-item .prof-name {
  margin-top: 7px;
  font-size: 29px;
  font-weight: 700;
  line-height: calc(36 / 29);
}

.p-xrglass .design .prof .prof-item .prof-name span {
  font-size: 21px;
  font-weight: 700;
}

.p-xrglass .design .prof .prof-item .prof-eng {
  margin-top: 14px;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: calc(29 / 18);
}

.p-xrglass .design .prof .prof-txt {
  margin-top: 27px;
  font-size: 17.7px;
  font-weight: 400;
  line-height: calc(30 / 17.7);
  letter-spacing: -0.01em;
}

.p-xrglass .design .container {
  display: flex;
  gap: 0 60px;
  justify-content: center;
  margin-top: 60px;
}

.p-xrglass .design .container .prof {
  max-width: 400px;
  margin: 0;
}

.p-xrglass .design .item + .ttl {
  margin-top: 143px;
}

.p-xrglass .design .fig {
  width: 100%;
  margin-top: 80px;
  overflow: hidden;
  border-radius: 25px;
}

.p-xrglass .design .fig img {
  width: 100%;
}

.p-xrglass .design .btn {
  position: relative;
  width: 330px;
  margin: 45px auto 0;
  padding-bottom: 4px;
  border: 1px solid #000;
  border-radius: 999px;
  text-align: center;
  font-size: 24px;
  letter-spacing: .3em;
  font-weight: 700;
  line-height: calc(40/24);
  cursor: pointer;
}

.p-xrglass .design .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 14px;
  transform: translateY(-50%) rotate(90deg);
  background: url("../images/arw_black.svg") center center no-repeat;
  background-size: contain;
  transition: transform .2s ease-in-out;
}

.p-xrglass .design .btn.is-active::after {
  transform: translateY(-50%) rotate(-90deg);
}

@media screen and (max-width: 768px) {
  .p-xrglass .product-scroll {
    padding-top: 81px;
    margin-top: -81px;
    pointer-events: none;
  }

  .p-xrglass .design {
    padding: 38px 0 45px;
    margin-top: 0;
  }

  .p-xrglass .design .ttl {
    margin-top: 17px;
    font-size: 24px;
    line-height: calc(33 / 24);
    letter-spacing: 0.04em;
  }

  .p-xrglass .design .contents {
    padding-bottom: 45px;
  }

  .p-xrglass .design .lead {
    margin-top: 16px;
    font-size: 17.7px;
    line-height: calc(24 / 17.7);
  }

  .p-xrglass .design .txt {
    margin-top: 6px;
    font-size: 15px;
    line-height: calc(30 / 15);
  }

  .p-xrglass .design .note {
    margin-top: 15px;
    font-size: 9px;
    line-height: calc(11 / 9);
  }

  .p-xrglass .design .pic {
    margin-top: 55px;
  }

  .p-xrglass .design .item {
    margin-top: 108px;
  }

  .p-xrglass .design .item + .item {
    margin-top: 29px;
  }

  .p-xrglass .design .caption {
    font-size: 16px;
    line-height: calc(23 / 16);
  }

  .p-xrglass .design .caption::before,
  .p-xrglass .design .caption::after {
    height: 1px;
  }

  .p-xrglass .design .caption::before {
    margin-right: 10px;
  }

  .p-xrglass .design .caption::after {
    margin-left: 10px;
  }

  .p-xrglass .design .prof {
    width: 100%;
    max-width: 306px;
    padding: 0 17px;
    margin: 20px auto 0;
  }

  .p-xrglass .design .prof .prof-item {
    gap: 0 19px;
  }

  .p-xrglass .design .prof .prof-item img {
    width: 121px;
  }

  .p-xrglass .design .prof-img {
    width: 140px;
    padding: 5px;
  }

  .p-xrglass .design .prof .prof-item .prof-position {
    font-size: 12px;
    line-height: calc(20 / 12);
  }

  .p-xrglass .design .prof .prof-item .prof-name {
    margin-top: 6px;
    font-size: 20.5px;
    line-height: calc(25.6 / 20.5);
  }

  .p-xrglass .design .prof .prof-item .prof-name span {
    font-size: 15px;
  }

  .p-xrglass .design .prof .prof-item .prof-eng {
    margin-top: 12px;
    font-size: 12.7px;
    line-height: calc(20.5 / 12.7);
  }

  .p-xrglass .design .prof .prof-txt {
    margin-top: 11px;
    font-size: 11.3px;
    line-height: calc(21.2 / 11.3);
    letter-spacing: -0.01em;
  }

  .p-xrglass .design .container {
    display: block;
    margin-top: 28px;
  }

  .p-xrglass .design .container .prof {
    max-width: 306px;
    margin: 0 auto;
  }

  .p-xrglass .design .container .prof + .prof {
    margin-top: 34px;
  }

  .p-xrglass .design .item + .ttl {
    margin-top: 70px;
  }

  .p-xrglass .design .fig {
    width: 100%;
    margin-top: 50px;
    overflow: hidden;
    border-radius: 9px;
  }

  .p-xrglass .design .btn {
    width: 220px;
    margin: 30px auto 0;
    padding-bottom: 3px;
    font-size: 16px;
    line-height: calc(27/16);
  }

  .p-xrglass .design .btn::after {
    right: 15px;
    width: 7px;
    height: 10px;
  }
}

/* background
---------------------------------------------------------------------- */
.p-xrglass .background {
  position: relative;
  width: 100%;
  padding: 75px 0 30px;
  overflow: hidden;
}

.p-xrglass .background .ttl {
  font-size: 35.5px;
  font-weight: 700;
  line-height: calc(54 / 35.5);
  letter-spacing: .3em;
  text-align: center;
}

.p-xrglass .background .contents {
  padding-bottom: 55px;
  display: none;
}

.p-xrglass .background .contents::before {
  position: absolute;
  top: 167px;
  left: -256px;
  z-index: -1;
  width: 730px;
  height: 730px;
  content: "";
  background-color: #DFCD2A;
  border-radius: 50%;
}

.p-xrglass .background .txt {
  margin-top: 34px;
  font-size: 20px;
  font-weight: 400;
  line-height: calc(45 / 20);
  text-align: justify;
  text-align-last: left;
  letter-spacing: -.02em;
}

.p-xrglass .background .fig {
  margin-top: 12px;
}

.p-xrglass .background .fig img {
  width: 100%;
}

.p-xrglass .background .fig + .txt {
  margin-top: 19px;
}

.p-xrglass .background .note {
  margin-top: 24px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 15.6px;
  font-weight: 400;
  line-height: calc(21 / 15.6);
  letter-spacing: -.01em;
}

.p-xrglass .background .box {
  display: flex;
  gap: 0 64px;
  align-items: end;
  justify-content: center;
  margin-top: 24px;
}

.p-xrglass .background .box .fig:first-child {
  width: 280px;
}

.p-xrglass .background .box .fig:last-child {
  width: 543px;
}

.p-xrglass .background .box .fig:last-child {
  width: 543px;
}

.p-xrglass .background .box .fig img {
  width: 100%;
}

.p-xrglass .background .box .fig figcaption {
  margin-top: 16px;
  font-size: 16px;
  line-height: calc(25 / 16);
  font-weight: 400;
}

.p-xrglass .background .box .fig:last-child figcaption {
  margin-top: 8px;
}

.p-xrglass .background .box + .txt {
  margin-top: 54px;
}

.p-xrglass .background .txt + .txt {
  margin-top: 44px;
}

.p-xrglass .background .btn {
  position: relative;
  width: 330px;
  margin: 45px auto 0;
  padding-bottom: 4px;
  border: 1px solid #000;
  border-radius: 999px;
  text-align: center;
  font-size: 24px;
  letter-spacing: .3em;
  font-weight: 700;
  line-height: calc(40/24);
  cursor: pointer;
}

.p-xrglass .background .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 14px;
  transform: translateY(-50%) rotate(90deg);
  background: url("../images/arw_black.svg") center center no-repeat;
  background-size: contain;
  transition: transform .2s ease-in-out;
}

.p-xrglass .background .btn.is-active::after {
  transform: translateY(-50%) rotate(-90deg);
}

@media screen and (min-width: 769px) {
  .p-xrglass .background .txt {
    margin-inline: -2px;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .background {
    padding: 45px 0 0;
  }

  .p-xrglass .background .ttl {
    font-size: 20px;
    line-height: calc(24 / 20);
    letter-spacing: .26em;
  }

  .p-xrglass .background .contents::before {
    position: absolute;
    top: 135px;
    left: -42px;
    z-index: -1;
    width: 230px;
    height: 230px;
    content: "";
    background-color: #DFCD2A;
    border-radius: 50%;
  }

  .p-xrglass .background .txt {
    margin-top: 20px;
    font-size: 14.8px;
    line-height: calc(29.8 / 14.8);
  }

  .p-xrglass .background .fig {
    margin-top: 12px;
  }

  .p-xrglass .background .fig + .txt {
    margin-top: 19px;
  }

  .p-xrglass .background .note {
    margin-top: 12px;
    font-size: 11.3px;
    line-height: calc(21.2 / 11.3);
  }

  .p-xrglass .background .box {
    display: block;
    margin-top: 33px;
  }

  .p-xrglass .background .box .fig:first-child {
    width: 100%;
    padding: 0 28px;
  }

  .p-xrglass .background .box .fig:last-child {
    width: 100%;
    margin-top: 18px;
  }

  .p-xrglass .background .box .fig img {
    width: 100%;
  }

  .p-xrglass .background .box .fig figcaption {
    margin-top: 6px;
    font-size: 13.5px;
    font-weight: 400;
    line-height: calc(22 / 13.5);
  }

  .p-xrglass .background .box + .txt {
    margin-top: 44px;
  }

  .p-xrglass .background .txt + .txt {
    margin-top: 30px;
  }

  .p-xrglass .background .btn {
    width: 220px;
    margin: 30px auto 0;
    padding-bottom: 3px;
    font-size: 16px;
    line-height: calc(27/16);
  }

  .p-xrglass .background .btn::after {
    right: 15px;
    width: 7px;
    height: 10px;
  }
}

/* product
---------------------------------------------------------------------- */
.p-xrglass .product {
  height: 738px;
  padding-block: 60px;
  margin-top: 70px;
  background: url('../images/product_bg-pc.jpg') no-repeat center center;
  background-size: auto 100%;
}

.p-xrglass .prod-txt {
  margin-top: 25px;
  font-size: 18px;
  line-height: calc(34 / 18);
  text-align: justify;
  text-align-last: left;
  letter-spacing: .01em;
}

.p-xrglass .prod-txt span {
  display: inline-block;
}

.p-xrglass .prod-btn {
  position: relative;
  display: block;
  margin-top: 28px;
  padding: 6px 0 6px 29px;
  max-width: 363px;
  font-size: 14px;
  line-height: calc(25/14);
  color: #fff;
  background-color: #000;
  border-radius: 999px;
}

.p-xrglass .prod-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 26px;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.p-xrglass .prod-btn::after {
  content: "";
  position: absolute;
  top: calc(50% + 1px);
  right: 31.5px;
  transform: translateY(-50%);
  width: 10px;
  height: 7px;
  background: url('../images/arw_white_down.svg') no-repeat center center;
  background-size: contain;
}

.p-xrglass .prod-btn:hover {
  text-decoration: none;
}

.p-xrglass .prod-c1 {
  margin-top: 70px;
}

.p-xrglass .prod-c1 .prod-txt {
  max-width: 328px;
}

.p-xrglass .prod-xr1 {
  margin-top: 82px;
}

.p-xrglass .prod-xr1 .prod-txt {
  max-width: 370px;
}

@media screen and (max-width: 768px) {
  .p-xrglass .product {
    position: relative;
    height: auto;
    aspect-ratio: 786/682;
    padding-block: 0;
    margin-top: 45px;
    background-image: url('../images/product_bg-sp-2504.jpg');
    background-size: cover;
  }

  .p-xrglass .prod-c1,
  .p-xrglass .prod-xr1 {
    margin: 0;
  }

  .p-xrglass .product .heading,
  .p-xrglass .prod-name,
  .p-xrglass .prod-txt {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  .p-xrglass .prod-btn {
    position: absolute;
    bottom: 4vw;
    margin-top: 0;
    padding: 1.07vw 0 1.07vw 5.33vw;
    width: 64.53vw;
    max-width: inherit;
    font-size: 2.67vw;
    line-height: calc(25/14);
  }

  .p-xrglass .prod-btn::before {
    right: 3.5vw;
    width: 3.73vw;
    height: 3.73vw;
  }

  .p-xrglass .prod-btn::after {
    top: calc(50% + 0.1vw);
    right: 4.4vw;
    width: 1.87vw;
    height: 1.33vw;
  }
}

/* function
---------------------------------------------------------------------- */
.p-xrglass .function {
  margin-top: 95px;
}

.p-xrglass .func-h {
  font-size: 45px;
  font-weight: 700;
  line-height: calc(50 / 45);
  letter-spacing: .04em;
}

.p-xrglass .func-h:not(:first-child) {
  margin-top: 44px;
}

.p-xrglass .func-tablist {
  display: flex;
  gap: 50px;
  margin-top: 64px;
}

.p-xrglass .func-tab {
  position: relative;
  flex: 1 1 33%;
  min-width: 0;
  padding-bottom: 8px;
  font-size: 23px;
  line-height: calc(37.7893 / 22.6772);
  color: #000;
}

.p-xrglass .func-tab::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background: #000;
  transform: scaleY(.28);
}

.p-xrglass .func-tab[aria-selected="true"] {
  font-weight: 700;
  pointer-events: none;
}

.p-xrglass .func-tab[aria-selected="true"]::before {
  transform: scaleY(2.83);
}

.p-xrglass .func-panel {
  margin-top: 47px;
}

.p-xrglass .func-panel[aria-hidden="true"] {
  display: none;
}

.p-xrglass .panel-main {
  display: flex;
  gap: 53px;
  justify-content: space-between;
}

.p-xrglass .panel-main-bloc {
  flex: 1 1 5%;
  min-width: 0;
}

.p-xrglass .panel-main-ttl {
  margin-block: var(--leading-trim);
  font-size: 32px;
  font-weight: 500;
  line-height: calc(45.32 / 32.07);
}

.p-xrglass .panel-main-txt {
  max-width: 345px;
  margin-top: 30px;
  font-size: 17px;
  line-height: calc(30 / 17);
  text-align: justify;
  text-align-last: left;
  letter-spacing: .01em;
}

.p-xrglass .panel-modes {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin-top: 44px;
  counter-reset: ui-modes;
}

.p-xrglass .panel-mode {
  width: 205px;
  counter-increment: ui-modes;
}

.p-xrglass .panel-mode-h {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.p-xrglass .panel-mode-h::before {
  font-family: "Roboto", sans-serif;
  font-size: 37px;
  font-weight: 400;
  line-height: 1;
  content: counter(ui-modes);
}

.p-xrglass .panel-mode-h > span {
  padding-top: 4px;
  font-size: 17px;
  font-weight: 700;
  line-height: calc(26 / 17);
}

.p-xrglass .panel-mode-fig {
  margin-top: 5px;
}

.p-xrglass .panel-mode-img {
  display: block;
  width: 100%;
}

.p-xrglass .panel-mode-txt {
  margin-top: 10px;
  font-size: 17px;
  line-height: calc(24 / 17);
  text-align: justify;
  text-align-last: left;
}

.p-xrglass .panel-notice {
  padding-left: 1em;
  margin-top: 22px;
  font-size: 15px;
  line-height: calc(21 / 15);
  text-indent: -1em;
  letter-spacing: -.01em;
}

.p-xrglass .panel-camera {
  max-width: 845px;
  margin-inline: auto;
}

.p-xrglass .panel-camera-boxs {
  display: flex;
  gap: 40px;
  margin-top: 40px;
}

.p-xrglass .panel-camera-box {
  flex: 0 1 33.3%;
}

.p-xrglass .panel-camera-img {
  display: block;
  width: 100%;
}

.p-xrglass .panel-camera-h {
  margin-top: 10px;
  font-size: 22px;
  font-weight: 600;
  line-height: calc(30 / 22);
}

.p-xrglass .panel-camera-txt {
  margin-top: 7px;
  font-size: 17px;
  line-height: calc(24 / 17);
  text-align: justify;
  text-align-last: left;
  letter-spacing: -.01em;
}

.p-xrglass .panel-sp {
  display: flex;
  gap: 52px;
  margin-top: 42px;
}

.p-xrglass .panel-sp-box {
  flex: 1 1 10%;
  min-width: 0;
}

.p-xrglass .panel-sp-img {
  display: block;
  width: 100%;
}

.p-xrglass .panel-sp-bloc {
  display: flex;
  gap: 30px;
  padding-inline: 24px;
  margin-top: 8px;
}

.p-xrglass .panel-sp-txts {
  flex: 1 1 10%;
  min-width: 0;
  padding-top: 35px;
}

.p-xrglass .panel-sp-h {
  font-size: 22px;
  font-weight: 600;
  line-height: calc(30 / 22);
}

.p-xrglass .panel-sp-txt {
  margin-top: 8px;
  font-size: 17px;
  line-height: calc(24 / 17);
  text-align: justify;
  text-align-last: left;
  letter-spacing: -.01em;
}

@media screen and (max-width: 768px) {
  .p-xrglass .function {
    margin-top: 27px;
  }

  .p-xrglass .func-h {
    font-size: 22px;
    line-height: calc(30 / 22);
    letter-spacing: 0;
  }

  .p-xrglass .func-h:not(:first-child) {
    margin-top: 10px;
  }

  .p-xrglass .func-tablist {
    gap: 17px;
    justify-content: center;
    margin-top: 20px;
  }

  .p-xrglass .func-tab {
    flex: 0 1 8.25em;
    padding-bottom: 3px;
    font-size: 12px;
    line-height: calc(14 / 12);
  }

  .p-xrglass .func-tab::before {
    transform: scaleY(.1);
  }

  .p-xrglass .func-tab[aria-selected="true"]::before {
    transform: scaleY(.99);
  }

  .p-xrglass .func-panel {
    margin-top: 20px;
  }

  .p-xrglass .panel-main {
    display: block;
  }

  .p-xrglass .panel-main-ttl {
    font-size: 18px;
    line-height: calc(26 / 18);
    text-align: center;
  }

  .p-xrglass .panel-main-txt {
    max-width: none;
    margin-top: 10px;
    font-size: 14px;
    line-height: calc(27 / 14);
  }

  .p-xrglass .panel-main-fig {
    margin-top: 40px;
  }

  .p-xrglass .panel-modes {
    display: block;
    margin-top: 58px;
  }

  .p-xrglass .panel-mode {
    display: grid;
    gap: 0 17px;
    grid-template-columns: 190px 1fr;
    grid-template-rows: auto 1fr;
    width: auto;
  }

  .p-xrglass .panel-mode:nth-child(n+2) {
    margin-top: 22px;
  }

  .p-xrglass .panel-mode-h {
    grid-column-start: 2;
    grid-row-start: 1;
    align-items: center;
  }

  .p-xrglass .panel-mode-h::before {
    font-size: 32px;
  }

  .p-xrglass .panel-mode-h > span {
    padding-top: 0;
    font-size: 14px;
    line-height: 1;
  }

  .p-xrglass .panel-mode-fig {
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 1;
    margin-top: 0;
  }

  .p-xrglass .panel-mode-txt {
    margin-top: 6px;
    font-size: 12px;
    line-height: calc(18 / 12);
  }

  .p-xrglass .panel-notice {
    margin-top: 18px;
    font-size: 10px;
    line-height: calc(16 / 10);
  }

  .p-xrglass .panel-camera {
    max-width: none;
  }

  .p-xrglass .panel-camera .panel-main-fig {
    width: 86.9565%;
    margin-inline: auto;
  }

  .p-xrglass .panel-camera-boxs {
    display: block;
    margin-top: 24px;
  }

  .p-xrglass .panel-camera-box {
    display: grid;
    gap: 6px 17px;
    grid-template-columns: 190px 1fr;
    grid-template-rows: auto 1fr;
  }

  .p-xrglass .panel-camera-box:nth-child(n+2) {
    margin-top: 35px;
  }

  .p-xrglass .panel-camera-fig {
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 1;
  }

  .p-xrglass .panel-camera-h {
    margin-top: 0;
    font-size: 14px;
    line-height: 1;
  }

  .p-xrglass .panel-camera-txt {
    margin-top: 0;
    font-size: 12px;
    line-height: calc(18 / 12);
    letter-spacing: -.02em;
  }

  .p-xrglass .panel-sp {
    display: block;
    margin-top: 38px;
  }

  .p-xrglass .panel-sp-box {
    width: 82.32%;
    margin-inline: auto;
  }

  .p-xrglass .panel-sp-box:nth-child(n+2) {
    margin-top: 32px;
  }

  .p-xrglass .panel-sp-bloc {
    gap: 17px;
    padding-inline: 0;
    margin-top: 4px;
  }

  .p-xrglass .panel-sp-pict {
    width: 37px;
  }

  .p-xrglass .panel-sp-txts {
    padding-top: 20px;
  }

  .p-xrglass .panel-sp-h {
    font-size: 14px;
    line-height: calc(16 / 14);
  }

  .p-xrglass .panel-sp-txt {
    margin-top: 5px;
    font-size: 12px;
    line-height: calc(18 / 12);
    letter-spacing: .02em;
  }
}

/* ai-assist
---------------------------------------------------------------------- */
.p-xrglass .ai-assist {
  margin-top: 132px;
}

.p-xrglass .ai-assist-slider {
  margin-top: 28px;
}

.p-xrglass .ai-assist-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 921px;
  min-width: 921px;
  min-height: 722px;
  padding: 50px 20px;
  margin-inline: 14px;
  background : #F3F3F3;
  border-radius : 47px;
  transform: scale(.83);
  transition: transform .3s ease;
}

.p-xrglass .ai-assist-slide.slick-center {
  transform: scale(1);
}

.p-xrglass .ai-assist-slider .xrglass-slider-prev,
.p-xrglass .ai-assist-slider .xrglass-slider-next {
  background: #000;
}

.p-xrglass .ai-assist-slider .xrglass-slider-prev::after,
.p-xrglass .ai-assist-slider .xrglass-slider-next::after {
  background: #FFF;
}

.p-xrglass .ai-assist-h {
  font-size: 34px;
  font-weight: 700;
  text-align: center;
}

.p-xrglass .ai-assist-fig {
  margin-top: 35px;
}

.p-xrglass .ai-assist-img {
  margin-inline: auto;
}

.p-xrglass .ai-assist-sh {
  margin-top: 30px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
}

.p-xrglass .ai-assist-txt {
  margin-top: 10px;
  font-size: 19px;
  line-height: calc(36 / 19);
  letter-spacing: .02em;
  text-align: center;
}

.p-xrglass .ai-assist-notice {
  max-width: 921px;
  margin: 18px auto 0;
  font-size: 15px;
  line-height: calc(21 / 15);
  letter-spacing: -.01em;
}

.p-xrglass .ai-assist-notice > li {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (min-width: 769px) {
  .p-xrglass .ai-assist-img {
    width: 627px;
    aspect-ratio: 209/117;
  }

  .p-xrglass .ai-assist-img.img-talk {
    width: 637px;
    aspect-ratio: 637/416;
  }

  .p-xrglass .ai-assist-img.img-visual {
    width: 751px;
    aspect-ratio: 751/295;
  }

  .p-xrglass .ai-assist-img.img-qs {
    width: 824px;
    aspect-ratio: 824/395;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .ai-assist {
    margin-top: 50px;
  }

  .p-xrglass .ai-assist-slider {
    margin-top: 20px;
  }

  .p-xrglass .ai-assist-slide {
    width: 325px;
    min-width: 325px;
    min-height: 292px;
    padding: 12px 10px;
    margin-inline: -7px;
    border-radius : 17px;
  }

  .p-xrglass .ai-assist-h {
    font-size: 16px;
  }

  .p-xrglass .ai-assist-fig {
    margin-top: 10px;
  }

  .p-xrglass .ai-assist-img {
    width: 221px;
  }

  .p-xrglass .ai-assist-img.img-talk,
  .p-xrglass .ai-assist-img.img-visual,
  .p-xrglass .ai-assist-img.img-qs {
    width: 100%;
  }

  .p-xrglass .ai-assist-sh {
    width: 221px;
    margin: 8px auto 0;
    font-size: 14px;
    line-height: calc(20 / 14);
    text-align: left;
  }

  .p-xrglass .ai-assist-txt {
    width: 221px;
    margin: 5px auto 0;
    font-size: 12px;
    line-height: calc(18 / 12);
    letter-spacing: .04em;
    text-align: left;
  }

  .p-xrglass .ai-assist-notice {
    max-width: 332px;
    margin-top: 8px;
    font-size: 10px;
    line-height: calc(16 / 10);
    letter-spacing: -.03em;
  }
}

/* workspace
---------------------------------------------------------------------- */
.p-xrglass .workspace {
  margin-top: 100px;
  padding-bottom: 50px;
}

.p-xrglass .workspace-copy {
  margin-top: 30px;
  font-size: 26px;
  font-weight: 600;
  line-height: calc(52 / 26);
  letter-spacing: .02em;
}

.p-xrglass .workspace-products-img {
  display: block;
  width: 100%;
  margin-top: 53px;
}

.p-xrglass .workspace-imgs {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 72px;
}

.p-xrglass .workspace-imgs img {
  display: block;
  width: auto;
  height: 290px;
}

.p-xrglass .workspace-notice {
  padding-left: 8px;
  margin-top: 28px;
  font-size: 15px;
  line-height: calc(21 / 15);
  letter-spacing: -.01em;
}

.p-xrglass .workspace-notice li {
  padding-left: 1em;
  text-indent: -1em;
}

.p-xrglass .workspace-fig {
  margin-top: 52px;
}

.p-xrglass .workspace-flex {
  margin-top: 40px;
  display: flex;
  gap: 0 38px;
}

.p-xrglass .workspace-flexfig {
  width: 352px;
}

.p-xrglass .workspace-flexlist {
  flex: 1;
  font-size: 15px;
  line-height: calc(21 / 15);
  letter-spacing: -.01em;
}

.p-xrglass .workspace-flex li {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 768px) {
  .p-xrglass .workspace {
    margin-top: 70px;
    padding-bottom: 0;
  }

  .p-xrglass .workspace-copy {
    margin-top: 8px;
    font-size: 14px;
    line-height: calc(27 / 14);
  }

  .p-xrglass .workspace-products-img {
    margin-top: 15px;
  }

  .p-xrglass .workspace-imgs {
    margin-top: 20px;
  }

  .p-xrglass .workspace-imgs img {
    width: 48%;
    height: auto;
  }

  .p-xrglass .workspace-notice {
    padding-left: 0;
    margin-top: 5px;
    font-size: 10px;
    line-height: calc(16 / 10);
  }

  .p-xrglass .workspace-fig {
    margin-top: 35px;
  }

  .p-xrglass .workspace-flex {
    margin-top: 25px;
    display:  block;
  }

  .p-xrglass .workspace-flexfig {
    width: 100%;
  }

  .p-xrglass .workspace-flexlist {
    margin-top: 10px;
    font-size: 10px;
    line-height: calc(16 / 10);
  }
}

/* spec
---------------------------------------------------------------------- */
.p-xrglass .spec {
  padding: 100px 0 0;
}

.p-xrglass .spec .container {
  margin-top: 27px;
}

.p-xrglass .spec .item {
  padding: 34px 55px 30px;
  background-color: #F3F3F3;
  border-radius: 22px;
}

.p-xrglass .spec .item-option {
  margin-top: 91px;
  padding: 76px 55px 55px;
  background-color: #F3F3F3;
  border-radius: 22px;
}

.p-xrglass .spec .item + .item {
  margin-top: 37px;
}

.p-xrglass .spec .fig {
  width: 140px;
  margin: 0 auto;
  text-align: center;
}

.p-xrglass .spec .fig img {
  width: 140px;
  text-align: center;
}

.p-xrglass .spec .caption {
  margin-top: 13px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 22.7px;
  font-weight: 600;
  line-height: calc(34 / 22.7);
  text-align: center;
}

.p-xrglass .spec .item-option .caption span {
  font-size: 17px;
}

.p-xrglass .spec table {
  margin-top: 35px;
}

.p-xrglass .spec tr {
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-weight: 400;
  border-bottom: 1px solid #000;
}

.p-xrglass .spec tr:last-child {
  border-bottom: none;
}

.p-xrglass .spec th {
  width: 247px;
  padding: 29px 0 29px 13px;
  font-size: 18.4px;
  line-height: calc(24 / 18);
  vertical-align: middle;
}

.p-xrglass .spec td {
  padding: 29px 0;
  font-size: 18.4px;
  line-height: calc(31.2 / 18.4);
  vertical-align: middle;
}

.p-xrglass .spec .item-option td {
  text-align: end;
}

.p-xrglass .spec td p + img {
  margin-top: 10px;
}

.p-xrglass .spec td img {
  display: block;
}

.p-xrglass .spec td img + p {
  margin-top: 50px;
}

.p-xrglass .spec .txt-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.p-xrglass .spec table .list li {
  padding-left: 1em;
  font-feature-settings: normal;
  text-indent: -1em;
}

.p-xrglass .spec .note {
  margin-top: 17px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 15.6px;
  font-weight: 400;
  line-height: calc(21.2 / 15.6);
  text-align: end;
}

.p-xrglass .spec .insert-scroll {
  padding-top: 54px;
  margin-top: -54px;
  pointer-events: none;
}

.p-xrglass .spec .insert {
  margin-top: 46px;
  margin-bottom: 96px;
  padding: 58px 118px;
  border: 1px solid #c8c8c8;
  border-radius: 21px;
}

.p-xrglass .spec .insert-ttl {
  margin-bottom: 30px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 22.7px;
  font-weight: 600;
  line-height: calc(34 / 22.7);
  text-align: center;
}

.p-xrglass .spec .insert-txt {
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: calc(31 / 18);
  letter-spacing: -.01em;
}

.p-xrglass .spec .insert-fig {
  width: 480px;
  margin: 20px auto 23px;
}

.p-xrglass .spec .insert-logos {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  gap: 0 70px;
}

.p-xrglass .spec .insert-logo {
  width: 266px;
  text-align: center;
}

.p-xrglass .spec .insert-logo img{
  margin-bottom: 25px;
}

.p-xrglass .spec .insert-link {
  font-size: 16px;
  line-height: 1;
  color: #000;
}

.p-xrglass .spec .insert-link::after {
  content: "";
  display: inline-block;
  top: 3px;
  margin-left: 3px;
  width: 16px;
  height: 16px;
  background: url('../images/insert-blank.svg') no-repeat center center;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .p-xrglass .spec-scroll {
    padding-top: 74px;
    margin-top: -74px;
    pointer-events: none;
  }

  .p-xrglass .spec {
    padding: 55px 0 0;
  }

  .p-xrglass .spec .container {
    margin-top: 20px;
  }

  .p-xrglass .spec .item {
    padding: 34px 20px 25px;
    border-radius: 10px;
  }

  .p-xrglass .spec .item + .item {
    margin-top: 17px;
  }

  .p-xrglass .spec .item-option {
    margin-top: 17px;
    padding: 34px 20px 25px;
    border-radius: 10px;
  }

  .p-xrglass .spec .fig {
    width: 80px;
  }

  .p-xrglass .spec .fig img {
    width: 100%;
    text-align: center;
  }

  .p-xrglass .spec .caption {
    margin-top: 13px;
    font-size: 17.7px;
    font-weight: 500;
    line-height: calc(20 / 17.7);
  }

  .p-xrglass .spec .item-option .caption span {
    font-size: 12px;
  }

  .p-xrglass .spec table {
    margin-top: 11px;
  }

  .p-xrglass .spec th {
    width: 123px;
    height: 72px;
    padding: 10px 0 10px 13px;
    font-size: 12.7px;
    line-height: calc(17.7 / 12.7);
    vertical-align: middle;
  }

  .p-xrglass .spec td {
    padding: 10px 0;
    font-size: 12.7px;
    line-height: calc(17.7 / 12.7);
    vertical-align: middle;
  }

  .p-xrglass .spec td img + p {
    margin-top: 30px;
  }

  .p-xrglass .spec table .list {
    padding-top: 16px;
  }

  .p-xrglass .spec table .list li + li {
    margin-top: 5px;
  }

  .p-xrglass .spec .note {
    margin-top: 5px;
    font-size: 12.7px;
    line-height: calc(17.4 / 12.7);
  }

  .p-xrglass .spec .insert-scroll {
    padding-top: 79px;
    margin-top: -79px;
    pointer-events: none;
  }

  .p-xrglass .spec .insert {
    margin-top: 40px;
    margin-bottom: 60px;
    padding: 30px 20px;
    border-radius: 10px;
  }

  .p-xrglass .spec .insert-ttl {
    margin-bottom: 20px;
    font-size: 17.7px;
    font-weight: 500;
    line-height: calc(20 / 17.7);
  }

  .p-xrglass .spec .insert-txt {
    font-size: 12.7px;
    line-height: calc(17.7 / 12.7);
  }

  .p-xrglass .spec .insert-fig {
    max-width: 480px;
    width: 100%;
    margin: 20px auto 23px;
  }

  .p-xrglass .spec .insert-logos {
    margin-top: 30px;
    display: block;
  }

  .p-xrglass .spec .insert-logo {
    margin: 25px auto 0;
  }

  .p-xrglass .spec .insert-logo img {
    margin-bottom: 15px;
  }
}

/* partner
---------------------------------------------------------------------- */
.p-xrglass .partner {
  padding: 150px 0 100px;
}

.p-xrglass .partner .ttl {
  margin-top: 30px;
  font-size: 45.5px;
  font-weight: 700;
  line-height: calc(74 / 45.5);
  letter-spacing: 0.02em;
}

.p-xrglass .partner .txt {
  margin-top: 24px;
  font-size: 20px;
  font-weight: 400;
  line-height: calc(45 / 20);
  letter-spacing: -0.01em;
}

.p-xrglass .partner .list {
  display: flex;
  gap: 26px 70px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 38px;
}

.p-xrglass .partner .list + .list {
  margin-top: 26px;
}

.p-xrglass .partner .item {
  width: 266px;
}

.p-xrglass .partner .item img {
  display: block;
  width: 100%;
}

.p-xrglass .partner .item .caption {
  margin-top: 10px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: calc(32 / 18);
  text-align: center;
  white-space: nowrap;
}

.p-xrglass .partner .box {
  display: flex;
  padding: 32px 48px 32px 55px;
  margin-top: 46px;
  background-color: #F3F3F3;
}

.p-xrglass .partner .box .note {
  flex: 1;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: calc(34 / 17);
  letter-spacing: -.01em;
}

.p-xrglass .partner .box .btn {
  display: block;
  width: 214px;
  padding: 9px 0 7px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: calc(48 / 24);
  letter-spacing: -.01em;
  text-align: center;
  color: #FFF;
  background-color: #000;
  border-radius: 999px;
}

@media (any-hover: hover) {
  .p-xrglass .partner .box .btn:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .partner-scroll {
    padding-top: 81px;
    margin-top: -81px;
    pointer-events: none;
  }

  .p-xrglass .partner {
    padding: 38px 0 54px;
  }

  .p-xrglass .partner .ttl {
    margin-top: 14px;
    font-size: 20.4px;
    line-height: calc(33 / 20.4);
    letter-spacing: -0.02em;
  }

  .p-xrglass .partner .txt {
    margin-top: 7px;
    font-size: 14px;
    font-weight: 500;
    line-height: calc(22.7 / 14);
    letter-spacing: .02em;
  }

  .p-xrglass .partner .list {
    gap: 10px 7.4%;
    padding: 0;
    margin-top: 28px;
  }

  .p-xrglass .partner .list + .list {
    margin-top: 10px;
  }

  .p-xrglass .partner .item {
    flex: 0 1 28.4%;
    width: 28.4%;
  }

  .p-xrglass .partner .item .caption {
    margin-top: 3px;
    font-size: 15.6px;
    line-height: calc(31 / 15.6);
  }

  .p-xrglass .partner .box {
    display: block;
    padding: 15px 15px 11px;
    margin-top: 40px;
    background-color: #F3F3F3;
  }

  .p-xrglass .partner .box .note {
    font-size: 11.3px;
    line-height: calc(21 / 11.3);
  }

  .p-xrglass .partner .box .btn {
    width: 97px;
    padding: 3px 0 4px;
    margin: 7px auto 0;
    font-size: 10px;
    line-height: calc(20 / 10);
  }
}

/* FAQ
---------------------------------------------------------------------- */
.p-xrglass .faq-scroll {
  padding-top: 18px;
  margin-top: -18px;
  pointer-events: none;
}

.p-xrglass .faq {
  background-color: #f3f3f3;
  padding: 82px 0 160px;
}

.p-xrglass .faq .ttl {
  margin-top: 30px;
  font-size: 45.5px;
  font-weight: 700;
  line-height: calc(74 / 45.5);
  letter-spacing: 0.02em;
}

.p-xrglass .faq .box {
  margin-top: 55px;
}

.p-xrglass .faq .item {
  padding: 0 35px;
  background-color: #fff;
}

.p-xrglass .faq .item + .item {
  margin-top: 19px;
}

.p-xrglass .faq .question {
  position: relative;
  padding: 15px 50px;
  font-size: 24px;
  font-weight: 700;
  line-height: calc(30 / 24);
  cursor: pointer;
}

.p-xrglass .faq .question::before {
  content: "Q";
  position: absolute;
  top: 50%;
  left: 2px;
  transform: translateY(-50%);
  font-family: "Roboto", sans-serif;
  font-size: 36px;
  line-height: calc(40/36);
  font-weight: 500;
  color: #dfcd2a;
}

.p-xrglass .faq .btn {
  position: absolute;
  font-size: 0;
  text-indent: 100%;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
}

.p-xrglass .faq .btn::before,
.p-xrglass .faq .btn::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #b9b9b9;
  transition: top .2s ease-in-out, transform .2s ease-in-out;
}
.p-xrglass .faq .btn::before {
  top: 5px;
}
.p-xrglass .faq .btn::after {
  bottom: 5px;
}

.p-xrglass .faq .question.is-active .btn::before {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.p-xrglass .faq .question.is-active .btn::after {
  bottom: inherit;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.p-xrglass .faq .answer {
  display: none;
  position: relative;
  padding: 14px 0 14px 50px;
  font-size: 17px;
  line-height: calc(34/17);
  letter-spacing: -.01em;
  border-top: 1px solid #000;
}

.p-xrglass .faq .answer span{
  display: block;
  margin-top: 6px;
  font-size: 15px;
  line-height: calc(21/15);
  letter-spacing: .03em;
}

.p-xrglass .faq .answer::before {
  content: "A";
  position: absolute;
  top: 50%;
  left: 2px;
  transform: translateY(-50%);
  font-family: "Roboto", sans-serif;
  font-size: 36px;
  line-height: calc(40/36);
  font-weight: 500;
  color: #60bfcc;
}

@media screen and (max-width: 768px) {
  .p-xrglass .faq-scroll {
    padding-top: 59px;
    margin-top: -59px;
    pointer-events: none;
  }

  .p-xrglass .faq {
    padding: 60px 0;
  }

  .p-xrglass .faq .ttl {
    margin-top: 14px;
    font-size: 20.4px;
    line-height: calc(33 / 20.4);
    letter-spacing: -0.02em;
  }

  .p-xrglass .faq .box {
    margin-top: 30px;
  }

  .p-xrglass .faq .item {
    padding: 0 15px;
  }

  .p-xrglass .faq .item + .item {
    margin-top: 15px;
  }

  .p-xrglass .faq .question {
    padding: 10px 30px;
    font-size: 16px;
    line-height: calc(21 / 16);
  }

  .p-xrglass .faq .question::before {
    left: 2px;
    font-size: 24px;
    line-height: calc(36/24);
  }

  .p-xrglass .faq .btn {
    width: 20px;
    height: 20px;
  }

  .p-xrglass .faq .btn::before {
    top: 4px;
  }
  .p-xrglass .faq .btn::after {
    bottom: 4px;
  }

  .p-xrglass .faq .answer {
    padding: 10px 0 10px 30px;
    font-size: 14px;
    line-height: calc(24/14);
  }

  .p-xrglass .faq .answer span{
    margin-top: 6px;
    font-size: 12px;
    line-height: calc(18/12);
  }

  .p-xrglass .faq .answer::before {
    left: 2px;
    font-size: 24px;
    line-height: calc(36/24);
  }
}

/* contact
---------------------------------------------------------------------- */
.p-xrglass .contact {
  padding: 126px 0 120px;
  text-align: center;
  background-color: #DFCD2A;
}

.p-xrglass .contact .inner {
  position: relative;
}

.p-xrglass .contact .btn-box {
  position: relative;
}

.p-xrglass .contact .btn-box::before {
  position: absolute;
  top: -24px;
  left: 50%;
  z-index: 1;
  width: 370px;
  height: 54px;
  content: "";
  background: url("../images/contact_img01.png") center center no-repeat;
  background-size: cover;
  transform: translateX(-50%);
  pointer-events: none;
}

.p-xrglass .contact .btn-orange-box {
  position: relative;
}

.p-xrglass .contact .btn-orange-box::before {
  position: absolute;
  top: -24px;
  left: 50%;
  z-index: 1;
  width: 370px;
  height: 54px;
  content: "";
  background: url("../images/contact_img02.png") center center no-repeat;
  background-size: cover;
  transform: translateX(-50%);
  pointer-events: none;
}

.p-xrglass .contact .btn {
  position: relative;
  display: block;
  width: 925px;
  padding: 48px 0 48px;
  margin: 0 auto;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 41.5px;
  font-weight: 500;
  line-height: calc(52 / 41.5);
  text-align: center;
  color: #000;
  background-color: #FFF;
  border-radius: 999px;
}

.p-xrglass .contact .btn-orange {
  position: relative;
  display: block;
  width: 925px;
  padding: 48px 0 48px;
  margin: 96px auto 0;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 41.5px;
  font-weight: 500;
  line-height: calc(52 / 41.5);
  text-align: center;
  color: #e97236;
  background-color: #FFF;
  border: 4px solid #e97236;
  border-radius: 999px;
}

@media (any-hover: hover) {
  .p-xrglass .contact .btn:hover {
    text-decoration: none;
  }

  .p-xrglass .contact .btn-orange:hover {
    text-decoration: none;
  }
}

.p-xrglass .contact .btn::before {
  position: absolute;
  top: 50%;
  right: 41.5px;
  width: 63px;
  height: 63px;
  content: "";
  background-color: #000;
  border-radius: 50%;
  transform: translateY(-50%);
}

.p-xrglass .contact .btn::after {
  position: absolute;
  top: 50%;
  right: 63px;
  width: 16px;
  height: 26px;
  content: "";
  background: url("../images/arw_white.svg") center center no-repeat;
  background-size: cover;
  transform: translateY(-50%);
}

.p-xrglass .contact .btn-orange::before {
  position: absolute;
  top: 50%;
  right: 41.5px;
  width: 63px;
  height: 63px;
  content: "";
  background-color: #e97236;
  border-radius: 50%;
  transform: translateY(-50%);
}

.p-xrglass .contact .btn-orange::after {
  position: absolute;
  top: 50%;
  right: 63px;
  width: 16px;
  height: 26px;
  content: "";
  background: url("../images/arw_white.svg") center center no-repeat;
  background-size: cover;
  transform: translateY(-50%);
}

.p-xrglass .contact .txt {
  display: inline-block;
  margin-top: 73px;
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-size: 21.7px;
  font-weight: 500;
  line-height: calc(34 / 21.7);
  text-align: left;
}

.p-xrglass .contact .link {
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", "Noto Sans JP",sans-serif;
  font-weight: 500;
  color: #000;
  text-decoration: underline;
}

.p-xrglass .contact .link[target="_blank"]::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  background: url("../images/blank.svg") center center no-repeat;
  background-size: cover;
}

@media (any-hover: hover) {
  .p-xrglass .contact .link:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 768px) {
  .p-xrglass .contact {
    padding: 62px 0 52px;
  }

  .p-xrglass .contact .btn-box::before {
    top: -13px;
    width: 221px;
    height: 30px;
  }

  .p-xrglass .contact .btn-orange-box::before {
    top: -13px;
    width: 221px;
    height: 30px;
  }

  .p-xrglass .contact .btn {
    width: 100%;
    padding: 24px 0;
    font-size: 17px;
    line-height: calc(25 / 17);
  }

  .p-xrglass .contact .btn-orange {
    width: 100%;
    padding: 24px 0;
    margin-top: 40px;
    font-size: 17px;
    line-height: calc(25 / 17);
    border-width: 2px;
  }

  .p-xrglass .contact .btn::before {
    right: 19px;
    width: 28px;
    height: 28px;
  }

  .p-xrglass .contact .btn::after {
    right: 28px;
    width: 8px;
    height: 13px;
  }

  .p-xrglass .contact .btn-orange::before {
    right: 19px;
    width: 28px;
    height: 28px;
  }

  .p-xrglass .contact .btn-orange::after {
    right: 28px;
    width: 8px;
    height: 13px;
  }

  .p-xrglass .contact .txt {
    display: block;
    margin-top: 30px;
    font-size: 11.3px;
    line-height: calc(17.7 / 11.3);
  }
}

/* caution
---------------------------------------------------------------------- */
.p-xrglass .caution {
  position: relative;
  width: 100%;
  padding: 65px 0 97px;
}

.p-xrglass .caution-inner {
  width: 100%;
  max-width: 730px;
  margin: 0 auto;
}

.p-xrglass .caution .text {
  font-size: 16px;
  line-height: calc(24.0945 / 15.5906);
  text-align: justify;
  text-align-last: left;
}

.p-xrglass .caution .list + .list {
  margin-top: 38px;
}

.p-xrglass .caution .list:is(ul) li {
  padding-left: 1.25em;
  text-indent: -1.25em;
}

.p-xrglass .caution .list:is(ul) li ul li {
  padding-left: .5em;
  text-indent: -.5em;
}

.p-xrglass .caution .list:is(ol) {
  counter-reset: caution;
}

.p-xrglass .caution .list:is(ol) > li {
  position: relative;
  padding-left: 2.8em;
  counter-increment: caution;
}

.p-xrglass .caution .list:is(ol) > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "＊"counter(caution)"：";
}

@media screen and (max-width: 768px) {
  .p-xrglass .caution {
    position: relative;
    width: 100%;
    padding: 34px 0 36px;
  }

  .p-xrglass .caution-inner {
    max-width: inherit;
    padding: 0 20px;
  }

  .p-xrglass .caution .text {
    font-size: 9px;
    line-height: calc(14 / 9);
  }

  .p-xrglass .caution .list + .list {
    margin-top: 26px;
  }
}


/* 共有パーツ リニューアル
---------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .dynabook-2025__main .p-breadcrumb {
    display: none;
  }
}

.dynabook-2025.p-2025-header {
    position: relative !important;
}
.dynabook-2025.p-2025-header.is-level-0-h .p-2025-header__block--level-0 {
    display: block;
}
.dynabook-2025.p-2025-header.is-level-0-h .p-2025-header__btn {
    -webkit-clip-path: inset(18% 0 round 10px 10px 10px 10px);
}
.l-container.dynabook-2025__main {
    padding-top: 0 !important;
}

@media (max-width: 780px) {
    .dynabook-2025 .p-2025-header__sp--ui--box {
        position: absolute !important;
        margin-right: -2.5641025641vw;
    }
    .dynabook-2025 .p-2025-header__sp--ui--box .p-2025-header__sp--btn-close {
        margin-right: 2.5641025641vw;
    }
}
