
@charset "UTF-8";
/*
 *
 */
:root {
  --color-foreground: #424242;
  --color-h1: #212121;
  --color-border: #959595;
  --color-border2: #E3E5E5;
  --color-border3: #707070;
  --color-link: #7e7e7e;
  --color-header-border: #b7b7b7;
  --color-header-background: #f7f7f7;
  --color-header-background2: #E7EAEB;
  --font-family-japanese: YakuHanJPs_Narrow, "Open Sans", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "YuGothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  --font-family-yu: YakuHanJPs_Narrow, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "YuGothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  --font-family-english: "Open Sans", sans-serif;
  --font-family-cezanne: fot-cezanne-pron, sans-serif;
  --font-family-mincho: "dnp-shuei-mincho-pr6n", sans-serif;
  --line-height: 2.0;
  --transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  --base-px: 4px;
  --space-2: calc(var(--base-px) * 2);
  --space-1: calc(var(--base-px) * 4);
  --space0: calc(var(--base-px) * 6);
  --space1: calc(var(--base-px) * 10);
  --space2: calc(var(--base-px) * 16);
  --space3: calc(var(--base-px) * 26);
  --space4: calc(var(--base-px) * 42);
  --space5: calc(var(--base-px) * 68);
}

body, dd, dl, dt, figure, h1, h2, h3, h4, h5, h6, html, ol, p, ul {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: 400;
}

ul, li, ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

table {
  border-collapse: collapse;
}

th, td {
  vertical-align: top;
  text-align: left;
  padding: 0;
  margin: 0;
}

fieldset {
  padding: 0;
  margin: 0;
  border: none;
}

h1, h2, h3, h4, h5 {
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
}

address {
  font-style: normal;
}

button {
  appearance: none;
  font-size: inherit;
  font-family: inherit;
  border: none;
  padding: 0;
  background-color: transparent;
  color: inherit;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-size: 15px;
  scroll-behavior: smooth;
}

body {
  line-break: normal;
  overflow-wrap: break-word;
  -ms-hyphens: auto;
  hyphens: auto;
  word-break: break-word;
  line-break: strict;
  color: var(--color-foreground);
  background-color: var(--color-background);
  font-family: var(--font-family-japanese);
  line-height: var(--line-height);
}
body.menu--open {
  overflow: hidden;
}

@supports (-webkit-touch-callout: none) {
  html {
    height: -webkit-fill-available;
  }
  body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
  }
}
a {
  color: var(--color-link);
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

nav a {
  text-decoration: none;
}

@media screen and (max-width: 40em) {
  figure figcaption {
    font-size: 11px;
  }
}

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

svg {
  max-width: 100%;
  max-height: 100%;
}

iframe {
  width: 100%;
}

sup,
sub {
  font-size: 10px;
  font-family: var(--font-family-yu);
}

video {
  width: 100%;
  height: auto;
}

::selection {
  background-color: var(--color-header-background);
}

::-moz-selection {
  background-color: var(--color-header-background);
}

[data-whatinput=mouse] *:focus,
[data-whatinput=touch] *:focus {
  outline: none;
}

.font-family-mincho {
  font-family: var(--font-family-mincho);
  font-weight: 500;
  font-style: normal;
}

.l-footer-top {
  margin-top: var(--space5);
  padding-top: var(--space2);
  padding-bottom: var(--space2);
}

.l-footer-logo {
  width: 16%;
}
@media screen and (max-width: 60em) {
  .l-footer-logo {
    width: 20%;
  }
}
@media screen and (max-width: 40em) {
  .l-footer-logo {
    width: 115px;
  }
}

.l-footer-bottom {
  padding-top: var(--space2);
  padding-bottom: var(--space2);
  background-color: #e7eaeb;
}
.l-footer-bottom .copyright span {
  margin-right: 0.5em;
}

.l-header-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 167px;
  z-index: 1000;
  pointer-events: none;
  background: linear-gradient(180deg, #fff 0%, #fff 50%, rgba(255, 255, 255, 0.44) 75%, rgba(255, 255, 255, 0) 100%);
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 0.8s var(--transition-timing-function), transform 0.8s var(--transition-timing-function);
}
.page-scrolled.direction-minus .l-header-bg {
  opacity: 1;
  transform: translateY(0);
}
.menu--open .l-header-bg {
  display: none;
}
@media screen and (max-width: 40em) {
  .l-header-bg {
    height: 100px;
  }
}

.l-header-logo {
  width: 160px;
  position: fixed;
  top: var(--space2);
  left: var(--space2);
  z-index: 1001;
  transition: transform 0.8s var(--transition-timing-function);
}
.l-header-logo a {
  display: block;
}
.menu--open .l-header-logo {
  z-index: 100;
}
.direction-plus.page-scrolled .l-header-logo {
  transform: translateY(-300%);
}
.direction-minus.page-scrolled .l-header-logo {
  transform: translateY(0);
}
@media screen and (max-width: 40em) {
  .l-header-logo {
    width: 115px;
    top: var(--space1);
    left: var(--space0);
  }
}

.l-nav-btn {
  position: fixed;
  top: var(--space2);
  right: var(--space2);
  width: 68px;
  height: 68px;
  z-index: 1001;
  mix-blend-mode: difference;
  transition: transform 0.8s var(--transition-timing-function);
}
.page-scrolled .l-nav-btn {
  mix-blend-mode: inherit;
}
.direction-plus.page-scrolled .l-nav-btn {
  transform: translateY(-300%);
}
.direction-minus.page-scrolled .l-nav-btn {
  transform: translateY(0);
}
.l-nav-btn button {
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background-color: transparent;
  appearance: none;
  box-sizing: border-box;
  color: var(--color-border);
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-english);
  transition: transform 0.2s var(--transition-timing-function);
}
.l-nav-btn button:hover {
  transform: scale(1.05);
}
@media screen and (max-width: 40em) {
  .l-nav-btn {
    width: 58px;
    height: 58px;
    top: var(--space0);
    right: var(--space0);
  }
  .l-nav-btn button {
    font-size: 12px;
  }
}

.l-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  padding-left: var(--space0);
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.28);
  display: none;
  opacity: 0;
  transition: opacity 0.2s;
}
.l-nav .c-menu-module {
  background-color: rgba(247, 247, 247, 0.88);
}
.l-nav.show {
  display: block;
}
.menu--open .l-nav {
  opacity: 1;
}

.l-nav-inner {
  max-width: 1028px;
  padding: var(--space3) var(--space2) var(--space2);
  height: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
  margin-left: auto;
}
.l-nav-inner > * {
  width: 100%;
}
@media (max-width: 60em) and (max-height: 834px) {
  .l-nav-inner {
    align-items: flex-start;
    overflow: scroll;
  }
  .l-nav-inner > * {
    flex-direction: column;
    gap: var(--space1);
  }
  .l-nav-inner > * > * {
    width: 100% !important;
  }
}
@media (max-height: 850px) {
  .l-nav-inner {
    align-items: flex-start;
    overflow: scroll;
  }
}
@media screen and (max-width: 40em) {
  .l-nav-inner {
    align-items: flex-start;
    overflow: scroll;
    padding: 0;
  }
  .l-nav-inner > * {
    gap: 0;
  }
}

@media screen and (max-width: 40em) {
  .l-nav-menu {
    margin-bottom: var(--space1);
    padding: var(--space3) var(--space0) 0;
  }
}

.l-nav-menu-item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s var(--transition-timing-function), transform 1s var(--transition-timing-function);
}
.l-nav-menu-item:nth-child(1) {
  transition-delay: 0;
}
.l-nav-menu-item:nth-child(2) {
  transition-delay: 0.15s;
}
.l-nav-menu-item:nth-child(3) {
  transition-delay: 0.3s;
}
.menu--open .l-nav-menu-item {
  opacity: 1;
  transform: translateY(0);
}

.l-nav-submenu {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s var(--transition-timing-function), transform 1s var(--transition-timing-function);
  transition-delay: 0.3s;
}
.menu--open .l-nav-submenu {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 40em) {
  .l-nav-submenu {
    padding: var(--space1) var(--space0);
    background-color: var(--color-header-background2);
  }
}

.l-main {
  overflow: hidden;
}

.l-wrap {
  margin-left: var(--space3);
  margin-right: var(--space3);
}
@media screen and (max-width: 40em) {
  .l-wrap {
    margin-left: var(--space0);
    margin-right: var(--space0);
  }
}

.l-thumbs {
  display: flex;
  justify-content: space-between;
  gap: var(--space2);
}
@media screen and (max-width: 60em) {
  .l-thumbs {
    gap: var(--space2);
  }
}
@media screen and (max-width: 40em) {
  .l-thumbs {
    display: block;
    gap: var(--space0);
  }
}

.l-thumbs-item {
  width: calc((100% - var(--space3)) / 2);
}
@media screen and (max-width: 60em) {
  .l-thumbs-item {
    width: calc((100% - var(--space2)) / 2);
  }
}
@media screen and (max-width: 40em) {
  .l-thumbs-item {
    width: 100%;
  }
}

.l-mainarea {
  height: 100vh;
}
@media screen and (max-width: 40em) {
  .l-mainarea {
    height: var(--vh);
    min-height: 90vh;
  }
}

.l-mainarea-top {
  height: calc(100% - var(--space2));
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 60em) {
  .l-mainarea-top {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 40em) {
  .l-mainarea-top {
    height: calc(100% - var(--space1));
  }
}


.l-mainarea-top-title {
  width: 50%;
  padding: 0 var(--space2);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--space0);
  opacity: 0;
  transition: opacity 1s var(--transition-timing-function) 1s;
}
.loaded .l-mainarea-top-title {
  opacity: 1;
}
.l-mainarea-top-title h1 {
  font-size: min(3.1vw, 44px);
  line-height: 1.4;
  font-family: var(--font-family-cezanne);
  letter-spacing: 0.08em;
}
.l-mainarea-top-title p {
  color: var(--color-link);
  font-size: 16px;
}
.l-mainarea-top-title p.caption {
  color: var(--color-link);
  font-size: 10px;
}
.l-mainarea-top-title h1 sup {
  font-size: 0.5em;
}

@media screen and (max-width: 60em) {
  .l-mainarea-top-title {
    width: 100%;
    padding: var(--space1);
    gap: var(--space-2);
    flex-direction: column-reverse;
    flex-grow: 1;
  }
  .l-mainarea-top-title h1 {
    font-size: 32px;
  }
}
@media screen and (max-width: 40em) {
  .l-mainarea-top-title {
    padding: var(--space1) var(--space0);
    justify-content: flex-end;
    white-space: nowrap;
  }
  .l-mainarea-top-title h1 {
    font-size: 32px;
  }
  .l-mainarea-top-title h1.sp-text-small {
    font-size: 24px;
  }
  .l-mainarea-top-title p {
    font-size: 14px;
  }
}

.l-mainarea-top-image {
  width: 50%;
  height: 100%;
}
.l-mainarea-top-image figure {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.l-mainarea-top-image figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.1);
  transition: transform 1s var(--transition-timing-function), opacity 1s var(--transition-timing-function);
}
.loaded .l-mainarea-top-image figure img {
  opacity: 1;
  transform: scale(1);
}
@media screen and (max-width: 60em) {
  .l-mainarea-top-image {
    width: 100%;
    height: 66%;
  }
}

.l-pankuzu {
  height: var(--space2);
  padding: var(--space0);
  font-size: 12px;
  text-align: right;
  opacity: 0;
  transition: opacity 1s var(--transition-timing-function) 1s;
}
.loaded .l-pankuzu {
  opacity: 1;
}
.l-pankuzu > * {
  display: inline-flex;
}
.l-pankuzu > * > * {
  display: flex;
  justify-content: space-between;
}
.l-pankuzu > * > * + *:before {
  content: "\02022";
  margin: 0 1em;
}
.l-pankuzu.in-container {
  height: auto;
}
.l-pankuzu.in-container a,
.l-pankuzu.in-container span {
  color: #424242;
}
@media screen and (max-width: 60em) {
  .l-pankuzu {
    padding-left: var(--space1);
    padding-right: var(--space1);
    text-align: left;
  }
}
@media screen and (max-width: 40em) {
  .l-pankuzu {
    height: var(--space1);
    padding-top: 0;
    padding-bottom: 0;
    padding-left: var(--space0);
    padding-right: var(--space0);
  }
  .l-pankuzu.in-container {
    padding: var(--space0);
  }
}

.l-fullbox {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 60em) {
  .l-fullbox {
    flex-direction: column;
  }
}

.l-fullbox-content {
  padding: var(--space3);
  box-sizing: border-box;
}
@media screen and (max-width: 60em) {
  .l-fullbox-content {
    padding: var(--space2);
  }
}
@media screen and (max-width: 40em) {
  .l-fullbox-content {
    padding: var(--space0);
  }
}

.l-moviearea {
  max-width: 66.875%;
}
.l-moviearea.-left {
  margin-left: var(--space2);
}
.l-moviearea.-right {
  margin-left: auto;
}
.l-moviearea.-nospace.-left {
  margin-left: 0;
}
.l-moviearea.-nospace.-right {
  margin-right: 0;
}
@media screen and (max-width: 40em) {
  .l-moviearea {
    max-width: 100%;
  }
  .l-moviearea.-left {
    margin-left: 0;
  }
  .l-moviearea.-right {
    margin-right: 0;
  }
}

.l-dancolumn {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space3);
}
@media screen and (max-width: 60em) {
  .l-dancolumn {
    gap: var(--space2);
  }
}

.l-dancolumn-item {
  width: calc((100% - var(--space3)) / 2);
}
.l-dancolumn-item:nth-child(even) {
  margin-top: var(--space5);
}
.l-dancolumn-item:nth-child(odd) {
  margin-top: calc(var(--space5) * -1);
}
.l-dancolumn-item:first-child {
  margin-top: 0;
}
@media screen and (max-width: 60em) {
  .l-dancolumn-item {
    width: calc((100% - var(--space2)) / 2);
  }
  .l-dancolumn-item:nth-child(even) {
    margin-top: var(--space4);
  }
  .l-dancolumn-item:nth-child(odd) {
    margin-top: calc(var(--space4) * -1);
  }
  .l-dancolumn-item:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 40em) {
  .l-dancolumn-item {
    width: 100%;
  }
  .l-dancolumn-item:nth-child(even), .l-dancolumn-item:nth-child(odd) {
    margin-top: var(--space0);
  }
  .l-dancolumn-item:first-child {
    margin-top: 0;
  }
}

.l-column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-column > * {
  flex-grow: 1;
  box-sizing: border-box;
}
.l-column.-c3.gap\:0 > * {
  width: calc((100% - var(--space0) * 2) / 3);
}
@media screen and (max-width: 60em) {
  .l-column {
    flex-direction: column;
  }
  .l-column.-c3.gap\:0 {
    flex-direction: row;
  }
  .l-column.-c3.gap\:0 > * {
    width: calc((100% - var(--space0)) / 2);
  }
}
@media screen and (max-width: 40em) {
  .l-column.-c3.gap\:0 {
    flex-direction: column;
  }
  .l-column.-c3.gap\:0 > * {
    width: 100%;
  }
}

.p-home-mainvisual {
  position: relative;
  height: 100vh;
  transition: height 1s var(--transition-timing-function);
}
.p-home-mainvisual.is--loaded {
  height: calc(100vh - var(--space1));
  transition-delay: 0s;
}
.p-home-mainvisual.is--loaded-first {
  transition-delay: 3s;
}
@media screen and (max-width: 40em) {
  .p-home-mainvisual {
    /* min-height: 80vh; */
    height: calc(var(--vh));
  }
  .p-home-mainvisual.is--loaded {
    height: calc(var(--vh) - var(--space1));
  }
}

.p-home-mainvisual-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  overflow: hidden;
}

.p-home-loading {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-header-background);
  z-index: 101;
  animation: loading 1s var(--transition-timing-function) infinite alternate forwards;
}

@keyframes loading {
  0% {
    background-color: #E7EAEB;
  }
  75% {
    background-color: #f7f7f7;
  }
}
.p-home-mainvisual-canvas {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.2);
  transition: opacity 4s var(--transition-timing-function), transform 4s var(--transition-timing-function);
}
.is--loaded .p-home-mainvisual-canvas {
  opacity: 1;
  transform: scale(1);
}

.p-home-mainvisual-title-image {
  display: none;
}

.p-home-mainvisual-title {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  white-space: nowrap;
}
.p-home-mainvisual-title ul {
  font-family: var(--font-family-english);
}
.p-home-mainvisual-title-item {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  white-space: nowrap;
  z-index: 0;
}
.p-home-mainvisual-title-item a {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
  padding: var(--space2);
}
.p-home-mainvisual-title-item a .--title {
  color: var(--color-foreground);
  font-family: var(--font-family-cezanne);
}
.p-home-mainvisual-title-item a .--title + * {
  margin-top: 8px;
}
.p-home-mainvisual-title-item a > div {
  opacity: 0;
  transform: translateY(15px);
  transform-origin: 0 0;
  transition: all 1s var(--transition-timing-function) 0s;
  transition-delay: 0s;
  transition-duration: 0.4s;
}
.p-home-mainvisual-title-item.-white a {
  color: #fff;
}
.p-home-mainvisual-title-item.-white a .--title {
  color: #fff;
}
.p-home-mainvisual-title-item.-current {
  z-index: 1;
}
.p-home-mainvisual-title-item.-current a > div {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 1s;
  transition-delay: 2s;
}
.is--loaded-first .p-home-mainvisual-title-item.-current a > div {
  transition-delay: 3s;
}
@media screen and (max-width: 40em) {
  .p-home-mainvisual.is--loaded {
    height: calc(var(--vh) - var(--space1));
  }
  .p-home-mainvisual-title-item a {
    padding: var(--space2) var(--space0);
  }
  .p-home-mainvisual-title-item a .--title + * {
    margin-top: 0;
  }
}

.p-home-mainvisual-paging {
  position: absolute;
  right: var(--space2);
  bottom: var(--space2);
  font-family: var(--font-family-cezanne);
  font-weight: 500;
  z-index: 101;
  mix-blend-mode: difference;
  display: flex;
  gap: var(--space0);
  justify-content: flex-end;
  transition: opacity 1s var(--transition-timing-function) 2s, transform 1s var(--transition-timing-function) 2s;
  opacity: 0;
}
.p-home-mainvisual-paging button {
  display: block;
  color: var(--color-link);
  cursor: pointer;
  transition: color 0.2s;
  font-size: 14px;
  font-family: var(--font-family-english);
}
.p-home-mainvisual-paging button.-current, .p-home-mainvisual-paging button:hover {
  color: var(--color-foreground);
}
.is--loaded .p-home-mainvisual-paging {
  opacity: 1;
}
.is--loaded-first .p-home-mainvisual-paging {
  transition-delay: 3s;
}
@media screen and (max-width: 40em) {
  .p-home-mainvisual-paging {
    right: var(--space0);
    bottom: var(--space0);
    gap: var(--space-1);
  }
}

.p-home-about {
  margin-top: var(--space2);
}
@media screen and (max-width: 40em) {
  .p-home-about {
    margin-top: var(--space-2);
  }
}

.p-home-orbisu-image {
  font-size: 0;
}
@media screen and (min-width: 60.00001em) {
  .p-home-orbisu-image {
    max-width: 100%;
    max-height: calc(100vh - var(--space2) * 2);
    width: 100%;
    height: 857px;
  }
  .p-home-orbisu-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
  }
}

@media screen and (min-width: 60.00001em) {
  .p-home-orbisu-contents {
    flex-grow: 1;
  }
}

.p-home-orbisu-image2 {
  font-size: 0;
}
@media screen and (min-width: 60.00001em) {
  .p-home-orbisu-image2 {
    max-width: calc((100vh - var(--space2) * 2) * 0.7607934656);
    max-height: calc(100vh - var(--space2) * 2);
    width: 100%;
    box-sizing: border-box;
    aspect-ratio: 652/857;
    margin: auto;
  }
  .p-home-orbisu-image2 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: 50% 50%;
  }
}

.p-home-products-inner {
  margin-left: var(--space5);
  margin-right: var(--space5);
  position: relative;
}
@media screen and (max-width: 60em) {
  .p-home-products-inner {
    margin-left: var(--space0);
    margin-right: var(--space0);
  }
}

.p-home-products-arrows {
  position: absolute;
  top: -25px;
  right: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.p-home-products-arrows > * {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 60em) {
  .p-home-products-arrows {
    top: -12px;
    right: -12px;
  }
  .p-home-products-arrows > * {
    width: 44px;
    height: 44px;
  }
}

.p-home-products-list {
  position: relative;
}

.p-home-swiper-arrow {
  position: absolute;
  top: 279.5px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 1px solid var(--color-foreground);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 8px auto;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.4s var(--transition-timing-function);
}
.p-home-swiper-arrow:hover {
  opacity: 1;
}
.p-home-swiper-arrow.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 40em) {
  .p-home-swiper-arrow {
    width: 57px;
    height: 57px;
    top: 186px;
  }
}

.p-home-swiper-arrow-prev {
  left: var(--space3);
  background-image: url("../img/common/arrow-black-left.png");
}
@media screen and (max-width: 40em) {
  .p-home-swiper-arrow-prev {
    left: 30px;
  }
}

.p-home-swiper-arrow-next {
  right: var(--space3);
  background-image: url("../img/common/arrow-black.png");
}
@media screen and (max-width: 40em) {
  .p-home-swiper-arrow-next {
    right: 30px;
  }
}

.p-home-products-list-item {
  width: 280px !important;
  padding-left: 24px;
}
.p-home-products-list-item:nth-last-child(-n+2) {
  padding-right: 24px;
}
.p-home-products-list-item:first-child {
  padding-left: max(calc((100% - 1280px) / 2) + 64px, var(--space2));
}
.p-home-products-list-item:last-child {
  padding-right: max(calc((100% - 1280px) / 2) + 64px, var(--space2));
}
.p-home-products-list-item a {
  display: block;
  padding-bottom: 32px;
  white-space: initial;
}
@media screen and (min-width: 60.00001em) {
  .p-home-products-list-item {
    width: 420px !important;
    padding: 0 32px;
  }
}
@media screen and (max-width: 40em) {
  .p-home-products-list-item:first-child {
    padding-left: 24px;
  }
  .p-home-products-list-item:last-child {
    padding-right: 24px;
  }
}
@media (any-hover: hover) {
  .p-home-products-list-item a {
    transition: color 0.8s var(--transition-timing-function);
  }
  .p-home-products-list-item a figure {
    overflow: hidden;
  }
  .p-home-products-list-item a figure img {
    width: 100%;
    transition: transform 0.8s var(--transition-timing-function);
  }
  .p-home-products-list-item a:hover {
    text-decoration: none;
    color: var(--color-accent);
  }
  .p-home-products-list-item a:hover figure img {
    transform: scale(1.1);
  }
}

.p-home-products-list-title {
  margin-top: var(--space0);
  font-size: 24px;
  color: var(--color-foreground);
  line-height: 1.5;
  font-family: var(--font-family-cezanne);
  font-weight: 500;
}
.p-home-products-list-title sup {
  font-size: 14px;
}
.p-home-products-list-title sub {
  vertical-align: baseline;
  font-size: 14px;
}
@media screen and (max-width: 60em) {
  .p-home-products-list-title {
    margin-top: var(--space0);
    font-size: 20px;
  }
}

.p-home-products-list-link {
  margin-top: var(--space-1);
  font-size: 16px;
  line-height: 1.5;
}
.p-home-products-list-link .c-link {
  color: var(--color-foreground);
}
@media screen and (max-width: 60em) {
  .p-home-products-list-link {
    margin-top: var(--space-2);
  }
}
@media screen and (max-width: 40em) {
  .p-home-products-list-link {
    font-size: 14px;
  }
}

.p-orbisu-special > * {
  position: relative;
  z-index: 1;
}
.p-orbisu-special > *:hover {
  z-index: 2;
}

@media screen and (max-width: 60em) {
  .p-trial-setimage {
    margin-inline: calc(var(--space1) * -1);
  }
}

.p-trial-voice {
  position: relative;
  padding-top: var(--space3);
  padding-bottom: var(--space3);
  background-color: #F4F4F4;
}
.p-trial-voice > * {
  position: relative;
  z-index: 1;
}
.p-trial-voice:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/orbis_u/trial/bg.jpg") no-repeat 50% 50%;
  background-size: cover;
  z-index: 0;
  opacity: 0.3;
}

.p-trial-item-header {
  min-height: 96px;
}
@media screen and (max-width: 60em) {
  .p-trial-item-header {
    min-height: inherit;
  }
}

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

.align-center-block > * {
  margin-left: auto;
  margin-right: auto;
}

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

.align-right-block > * {
  margin-left: auto;
}

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

.align-left-block > * {
  margin-right: auto;
}

@media screen and (max-width: 60em) {
  .tablet\:align-center {
    text-align: center;
  }
  .tablet\:align-right {
    text-align: right;
  }
  .tablet\:align-left {
    text-align: left;
  }
  .tablet\:align-center-block > * {
    margin-left: auto;
    margin-right: auto;
  }
  .tablet\:align-right-block > * {
    margin-left: auto;
  }
  .tablet\:align-left-block > * {
    margin-right: auto;
  }
}
@media screen and (max-width: 40em) {
  .sp\:align-center {
    text-align: center;
  }
  .sp\:align-right {
    text-align: right;
  }
  .sp\:align-left {
    text-align: left;
  }
  .sp\:align-center-block {
    margin-left: auto;
    margin-right: auto;
  }
  .sp\:align-right-block {
    margin-left: auto;
  }
  .sp\:align-left-block {
    margin-right: auto;
  }
}
[class*=ratio-] {
  width: 100%;
  object-fit: cover;
}

.ratio-16\:9 {
  aspect-ratio: 16/9;
}

.ratio-4\:3 {
  aspect-ratio: 4/3;
}

.ratio-3\:2 {
  aspect-ratio: 3/2;
}

.ratio-1\:1 {
  aspect-ratio: 1/1;
}

@media screen and (max-width: 60em) {
  .tablet\:ratio-16\:9 {
    aspect-ratio: 16/9;
  }
  .tablet\:ratio-4\:3 {
    aspect-ratio: 4/3;
  }
  .tablet\:ratio-3\:2 {
    aspect-ratio: 3/2;
  }
  .tablet\:ratio-1\:1 {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 40em) {
  .sp\:ratio-16\:9 {
    aspect-ratio: 16/9;
  }
  .sp\:ratio-4\:3 {
    aspect-ratio: 4/3;
  }
  .sp\:ratio-3\:2 {
    aspect-ratio: 3/2;
  }
  .sp\:ratio-1\:1 {
    aspect-ratio: 1/1;
  }
}
.c-text {
  --line-height: 2.0;
  line-height: var(--line-height);
}
.c-text > * + * {
  margin-top: calc(var(--line-height) * 1em);
}

.c-title1 {
  font-size: 38px;
  line-height: 1.5;
  color: var(--color-h1);
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  font-family: var(--font-family-cezanne);
  font-weight: 500;
}
.c-title1 sup {
  color: var(--color-h1);
  font-size: 19px;
}
@media screen and (max-width: 40em) {
  .c-title1 {
    font-size: 32px;
  }
}

.c-title2 {
  font-size: 32px;
  line-height: 1.5;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  font-family: var(--font-family-cezanne);
  font-weight: 500;
}
.c-title2 sup {
  font-size: 0.5em;
}
@media screen and (max-width: 40em) {
  .c-title2 {
    font-size: 28px;
  }
}

.c-title3 {
  font-family: var(--font-family-english);
  font-size: 12px;
  color: #818688;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}
.c-title3 + * {
  margin-top: 5px;
}

.c-en-stitle {
  color: #818688;
  font-size: 16px;
  font-family: var(--font-family-english);
}
@media screen and (max-width: 40em) {
  .c-en-stitle {
    font-size: 12px;
  }
}

.c-color-grey {
  color: #818688;
}

.c-color-link {
  color: var(--color-link);
}

.c-en {
  font-family: var(--font-family-english);
}

.c-link {
  text-decoration: none;
  line-height: 1.4;
  transition: opacity 0.6s var(--transition-timing-function);
}
.c-link:hover {
  opacity: 0.5;
}
.c-link.-underline span {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 4px;
}
.c-link.-white span {
  border-color: #fff;
}
.c-link.-black span {
  color: var(--color-foreground);
  border-color: var(--color-foreground);
}
.c-link.-circle {
  display: inline-flex;
  gap: calc(var(--base-px) * 2);
  position: relative;
  margin-left: calc(var(--base-px) * 4);
}
.c-link.-circle:before {
  content: "";
  display: block;
  width: 7px;
  min-width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-bottom: 4px;
  background-color: var(--color-border);
  position: absolute;
  top: 0.4em;
  left: calc(var(--base-px) * -4);
}
.c-link.-circle span {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 2px;
}
.c-link.-circle.-white:before {
  background-color: #fff;
}
.c-link.-circle.-white span {
  border-color: #fff;
}
.c-link.-circle.-black:before {
  background-color: var(--color-foreground);
}
.c-link.-circle.-black span {
  color: var(--color-foreground);
  border-color: var(--color-foreground);
}
.c-link.-icon {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--base-px) * 4);
}
.c-link.-icon:after {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.6em;
  min-width: 4px;
  min-height: 8px;
  background: url("../img/common/arrow.png") no-repeat 50% 50%;
  background-size: contain;
  transition: transform 0.4s var(--transition-timing-function);
  transform: translateX(-4px);
}
.c-link.-icon.-black:after {
  background-image: url("../img/common/arrow-black.png");
}
.c-link.-icon.-white:after {
  background-image: url("../img/common/arrow-white.png");
}
.c-link.-icon:hover:after {
  transform: translateX(0);
}
.c-link.-icon.-underline:after {
  position: relative;
  top: max(-0.2em, -2px);
}
.c-link.-blank {
  display: inline-flex;
  gap: calc(var(--base-px) * 2);
}
.c-link.-blank:after {
  display: block;
  content: "\02192";
  color: currentColor;
  transition: transform 0.4s var(--transition-timing-function);
  transform: translate(0, 0) rotate(-45deg);
}
.c-link.-blank:hover:after {
  transform: translate(2px, -2px) rotate(-45deg);
}
.c-link.-anchor {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--base-px) * 3);
}
.c-link.-anchor:after {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.6em;
  min-width: 4px;
  min-height: 8px;
  background: url("../img/common/arrow.png") no-repeat 50% 50%;
  background-size: contain;
  transition: transform 0.4s var(--transition-timing-function);
  transform: translate(0, 0) rotate(90deg);
}
.c-link.-anchor:hover:after {
  transform: translate(0, 4px) rotate(90deg);
}
.c-link.-block {
  display: flex;
  justify-content: space-between;
}
.c-link.-border {
  padding-bottom: var(--space0);
  border-bottom: 1px solid var(--color-border);
}
.c-link.-border .--title {
  color: var(--color-foreground);
}
.c-link.-white {
  color: #fff;
}
@media screen and (max-width: 40em) {
  .c-link:after {
    font-size: 14px;
  }
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 640px;
  height: 128px;
  text-align: center;
  background-color: #fff;
  border: 1px solid var(--color-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.4s var(--transition-timing-function);
}
.c-btn .--title {
  color: var(--color-foreground);
}
.c-btn:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.c-btn:hover .c-icon.-blank:after {
  transform: translate(2px, -2px) rotate(-45deg);
}

.c-hover-fade {
  transition: opacity 0.6s var(--transition-timing-function);
}
.c-hover-fade:hover {
  opacity: 0.5;
}

.c-hover-scale {
  display: block;
}
@media (any-hover: hover) {
  .c-hover-scale {
    transition: color 0.8s var(--transition-timing-function);
  }
  .c-hover-scale figure {
    overflow: hidden;
  }
  .c-hover-scale figure img {
    width: 100%;
    transition: transform 0.8s var(--transition-timing-function);
  }
  .c-hover-scale:hover {
    text-decoration: none;
    color: var(--color-accent);
  }
  .c-hover-scale:hover figure img {
    transform: scale(1.1);
  }
}

.c-icon.-blank:after {
  content: "\02192";
  display: inline-block;
  color: currentColor;
  transform: translate(0, 0) rotate(-45deg);
  transition: transform 0.4s var(--transition-timing-function);
  margin-left: 0.5em;
}

.c-thumb-link a {
  display: block;
  text-decoration: none;
  position: relative;
  color: var(--color-foreground);
}
@media (any-hover: hover) {
  .c-thumb-link a {
    transition: color 0.8s var(--transition-timing-function);
  }
  .c-thumb-link a figure {
    overflow: hidden;
  }
  .c-thumb-link a figure img {
    width: 100%;
    transition: transform 0.8s var(--transition-timing-function);
  }
  .c-thumb-link a:hover {
    text-decoration: none;
    color: var(--color-accent);
  }
  .c-thumb-link a:hover figure img {
    transform: scale(1.1);
  }
}
.c-thumb-link a > * + * {
  margin-top: var(--space0);
}
@media screen and (max-width: 40em) {
  .c-thumb-link a > * + * {
    margin-top: var(--space-1);
  }
}
.c-thumb-link a figure img {
  width: 100%;
  height: auto;
}
.c-thumb-link a:hover .--title.-link:after {
  transform: translate(0, -50%);
}
.c-thumb-link a:hover .--title.-blank:after {
  transform: translate(2px, -2px) rotate(-45deg);
}

.c-thumb-link2 a {
  display: block;
  padding-top: var(--space0);
  padding-bottom: var(--space2);
  text-decoration: none;
  position: relative;
  color: var(--color-foreground);
  overflow: hidden;
  transition: box-shadow 0.6s var(--transition-timing-function);
}
.c-thumb-link2 a > * + * {
  margin-top: var(--space1);
}

.c-thumb-link2 a figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
}
@media (any-hover: hover) {
  .c-thumb-link2 a:hover {
    z-index: 1;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  }
  .c-thumb-link2 a:hover .--title.-link:after {
    transform: translate(0, -50%);
  }
  .c-thumb-link2 a:hover .--title.-blank:after {
    transform: translate(2px, -2px) rotate(-45deg);
  }
}
@media screen and (max-width: 40em) {
  .c-thumb-link2 a {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
  }
}

.c-thumb-link-image {
  font-size: 0;
}
.c-thumb-link-content {
  position: relative;
}
.c-thumb-link-content > * + * {
  margin-top: calc(var(--space-2) - 0.2em);
}
.c-thumb-link-content p {
  line-height: 1.4;
}
.c-thumb-link-content .--stitle {
  color: var(--color-link);
  line-height: 1.0;
}
.c-thumb-link-content .--title {
  position: relative;
  color: #3B4043;
  font-family: var(--font-family-cezanne);
  font-weight: 500;
}
.c-thumb-link-content .--title.-link:after {
  content: "";
  display: block;
  width: 0.3em;
  height: 0.5em;
  background: url("../img/common/arrow.png") no-repeat 50% 50%;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-4px, -50%);
  transition: transform 0.4s var(--transition-timing-function);
}
@media screen and (max-width: 40em) {
  .c-thumb-link-content .--title.-link:after {
    display: none;
  }
}
.c-thumb-link-content .--title.-blank {
  width: max-content;
  max-width: 100%;
  padding-right: 1.5em;
  box-sizing: border-box;
}
.c-thumb-link-content .--title.-blank:after {
  content: "\02192";
  font-size: 1em;
  position: absolute;
  right: 0;
  top: 0.2em;
  transform: rotate(-45deg);
  line-height: 1em;
  transition: transform 0.4s var(--transition-timing-function);
}
.c-thumb-link-content .--title + * {
  margin-top: calc(var(--space-2) + 0.2em);
}
.c-thumb-link-content.align-center .--title.-blank {
  margin-left: auto;
  margin-right: auto;
}
.c-tag {
  width: max-content;
  max-width: 100%;
  border: 1px solid var(--color-border);
  line-height: 1;
  padding: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.c-tag + * {
  margin-top: var(--space0);
}

.c-caption {
  font-size: 10px;
  color: var(--color-link);
  font-family: var(--font-family-yu);
}
.c-caption.-white {
  color: #fff;
}

.c-image {
  font-size: 0;
  overflow: hidden;
  position: relative;
}
.c-image img {
  width: 100%;
  height: auto;
}
.c-image figcaption {
  font-size: var(--scale-1);
}
@media screen and (max-width: 40em) {
  .c-image figcaption {
    font-size: 11px;
  }
  .c-tag + * {
    margin-top: var(--space-1);
  }
}

.c-movie {
  font-size: 0;
}
.c-movie video {
  width: 100%;
  height: auto;
}

.c-table {
  border-top: 1px solid var(--color-border3);
  border-bottom: 1px solid var(--color-border3);
  letter-spacing: 0.04em;
  line-height: 2;
}

.c-table-row {
  display: flex;
  gap: var(--space2);
  padding: var(--space1) 0;
}
.c-table-row + .c-table-row {
  border-top: 1px solid var(--color-border3);
}
.c-table-row + .c-table-row.-no-border {
  padding-top: 0;
  border-top: none;
}
@media screen and (max-width: 60em) {
  .c-table-row {
    flex-direction: column;
    gap: var(--space-2);
  }
}

@media screen and (min-width: 60.00001em) {
  .c-table-head {
    width: 20.5263157895%;
  }
}

@media screen and (max-width: 40em) {
  .sp\:c-thumblist-overflow {
    overflow-x: scroll;
    padding-bottom: 30px;
  }
  .sp\:c-thumblist-overflow .l-flex {
    width: max-content;
    flex-wrap: nowrap;
  }
  .sp\:c-thumblist-overflow .c-thumblist-item {
    width: 75vw !important;
  }
  .l-wrap .sp\:c-thumblist-overflow {
    margin-left: calc(-1 * var(--sp-margin));
    margin-right: calc(-1 * var(--sp-margin));
    padding-left: var(--sp-margin);
  }
  .l-wrap .sp\:c-thumblist-overflow > * {
    padding-right: var(--sp-margin);
  }
}

.c-menu-module {
  background-color: var(--color-header-background);
}
.c-menu-module ul li a {
  color: #3B4043;
  font-size: 18px;
}

.c-menu-module-orbis_u {
  background-color: #fff;
}
@media screen and (max-width: 60em) {
  .c-menu-module-orbis_u {
    display: flex;
    flex-direction: column;
  }
}

.c-menu-module-orbis_u-top {
  border-bottom: 1px solid #F2F6F7;
}
@media screen and (max-width: 60em) {
  .c-menu-module-orbis_u-top {
    order: 2;
  }
}
@media screen and (max-width: 40em) {
  .c-menu-module-orbis_u-top {
    /* border-bottom: none; */
  }
}

.c-menu-module-orbis_u-bottom {
  display: flex;
  justify-content: space-between;
}
.c-menu-module-orbis_u-bottom ul li a {
  font-size: 14px;
}
.c-menu-module-orbis_u-bottom .--image {
  width: 40%;
}
.c-menu-module-orbis_u-bottom .--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-menu-module-orbis_u-bottom .--link {
  width: 60%;
  padding: var(--space0) var(--space1);
  box-sizing: border-box;
}
.c-menu-module-orbis_u-bottom .--link li a {
  color: var(--color-link);
}
@media screen and (max-width: 60em) {
  .c-menu-module-orbis_u-bottom {
    display: contents;
  }
  .c-menu-module-orbis_u-bottom .--image {
    width: 100%;
    order: 1;
  }
  .c-menu-module-orbis_u-bottom .--link {
    width: 100%;
    order: 3;
    padding: var(--space-1);
  }
}

.c-shop-link {
  width: 100%;
  height: 123px;
  background-color: #fff;
  box-sizing: border-box;
  padding-left: var(--space1);
  padding-right: var(--space1);
}
@media screen and (max-width: 40em) {
  .c-shop-link {
    height: 105px;
    padding-left: var(--space0);
    padding-right: var(--space0);
    color: var(--color-foreground);
  }
  .c-shop-link br {
    display: none;
  }
}

.c-bglist > li {
  background-color: #F5F5F5;
  padding: var(--space0) var(--space1);
}
.c-bglist > li + li {
  margin-top: 8px;
}
.c-bglist > li ul {
  margin-top: 1em;
  margin-left: var(--space1);
}
@media screen and (max-width: 40em) {
  .c-bglist > li {
    padding: var(--space0);
  }
  .c-bglist > li ul {
    margin-left: 0;
  }
}

.c-numberlist {
  counter-reset: num;
}
.c-numberlist .--numberlist-num {
  counter-increment: num;
  position: relative;
  padding-left: 1.5em;
}
.c-numberlist .--numberlist-num:before {
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0;
}
.c-numberlist .--numberlist-num.-bold:before {
  font-weight: bold;
}

.c-list li, .rte li {
  position: relative;
  padding-left: 1em;
}
.c-list li:before, .rte li:before {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  background-color: var(--color-border);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.7em;
}

.c-color-black {
  color: var(--color-foreground);
}

.c-bg-grey {
  background-color: #F4F4F4;
}

.c-bg-white {
  background-color: #fff;
}

.c-full-image {
  overflow: hidden;
  height: 43.75vw;
}
.c-full-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/7;
}
@media screen and (max-width: 60em) {
  .c-full-image {
    height: 85.33333333vw;
  }
  .c-full-image img {
    aspect-ratio: 1/1;
  }
  .c-full-image.sp-aspect-change {
    height: 66.66666667vw;
  }
  .c-full-image.sp-aspect-change img {
    aspect-ratio: 375/250;
  }
  .c-full-image.sp-aspect-change2 {
    height: 59vw;
  }
  .c-full-image.sp-aspect-change2 img {
    aspect-ratio: 375/220;
  }
}

.c-full-movie {
  position: relative;
}
.c-full-movie video {
  width: 100%;
  height: auto;
}
.c-full-movie.-cutted:before {
  content: "";
  display: block;
  padding-top: 43.75%;
}
.c-full-movie.-cutted video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 60em) {
  .c-full-movie.-cutted:before {
    padding-top: 56.25%;
  }
}

.c-blockspan span + span {
  margin-left: 0.5em;
}
@media screen and (max-width: 60em) {
  .c-blockspan span {
    display: block;
  }
  .c-blockspan span + span {
    margin-left: 0;
  }
}

.c-view {
  display: flex;
  justify-content: space-between;
  margin-left: var(--space2);
}
.c-view.-reverse {
  flex-direction: row-reverse;
  margin-left: 0;
  margin-right: var(--space2);
}
@media screen and (max-width: 60em) {
  .c-view {
    flex-direction: column;
    margin-left: 0;
    gap: var(--space1);
  }
  .c-view.-reverse {
    flex-direction: column;
    margin-right: 0;
  }
}

.c-view-image {
  width: 39.08730159%;
}
@media screen and (max-width: 60em) {
  .c-view-image {
    width: auto;
    margin-left: var(--space1);
    margin-right: var(--space1);
  }
}

.c-view-content {
  width: 51.98412698%;
}
.c-view-content > * + * {
  margin-top: calc(var(--space2) - 0.4em);
}
.c-view-content h2 {
  font-size: 32px;
  line-height: 1.56;
  font-family: var(--font-family-cezanne);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 60em) {
  .c-view-content {
    width: 100%;
  }
  .c-view-content > * + * {
    margin-top: var(--space0);
  }
  .c-view-content h2 {
    font-size: 28px;
  }
}

.c-loading {
  position: absolute;
  bottom: var(--space2);
  right: var(--space2);
  border: 3px solid var(--color-background);
  border-top: 3px solid var(--color-link);
  border-radius: 50%;
  width: var(--space0);
  height: var(--space0);
  animation: spin 0.4s linear infinite;
  z-index: 500;
  transition: all 0.1s var(--transition-timing-function);
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*20230322　add*/
@media screen and (min-width: 60em) {
  .title__height{
    height: 55px;
  }
}


/*20230725　add*/

.c-title4 {
  font-size: 22px;
  line-height: 1.4;
  font-family: var(--font-family-cezanne);
}

@media screen and (max-width: 40em) {
  .c-link.-border {
    padding-bottom: var(--space-1);
    border-bottom: 1px solid var(--color-border);
  }

  .sp\:no-border {
    border-bottom: none !important;
  }
}

/*20230726　add*/

@media screen and (max-width: 40em) {
  .l-footer-top {
    margin-top: var(--space4);
  }
}

.c-taglist {
  display: flex;
  font-size: 13px;
  gap: 8px;
}
.c-taglist > * {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: .3em;
  border: 1px solid #707070;
  min-width: 90px;
  height: 30px;
}

@media screen and (max-width: 70em) {
  .c-taglist {
    flex-wrap: wrap;
  }
}

.c-faqlist {
  font-size: 15px;
  border-bottom: 1px solid var(--color-border);
}

.c-faqlist dt {
  border-top: 1px solid var(--color-border);
  padding-block: 40px;
  padding-left: 2em;
  padding-right: var(--space1);
  cursor: pointer;
  position: relative;
}

.c-faqlist dt::before {
  content: "Q.";
  display: block;
  position: absolute;
  top: 40px;
  left: 0;
}

.c-faqlist dt::after {
  content: "";
  display: block;
  width: 12px;
  height: 7px;
  background: url("../img/common/arrow-top.png") no-repeat 50% 50%;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 20px;
  transition: transform 0.4s var(--transition-timing-function);
  transform: translate(0,-3px) rotate(180deg);
}

.c-faqlist dd {}
.c-faqlist dd > div {
  padding-bottom: 40px;
}
.c-faqlist-answer {
  background: #F4F4F4;
  padding: 64px;
  padding-left: 80px;
  position: relative;
}
.c-faqlist-answer::before {
  content: "A.";
  display: block;
  position: absolute;
  top: 64px;
  left: 40px;
}
.c-faqlist-answer > * + * {
  margin-top: 1em;
}

@media screen and (max-width: 40em) {
  .c-faqlist dt::before {
    top: 20px;
  }
  .c-faqlist-answer {
    padding: 40px;
    padding-left: 56px;
  }
  .c-faqlist-answer::before {
    top: 40px;
    left: 28px;
  }
  .c-faqlist dt {
    padding-block: 20px;
  }
}

.l-fullmain-area {
  position: relative;
  opacity: 0;
  transition: opacity .6s;
}
.page-onready .l-fullmain-area {
  opacity: 1;
}
.l-fullmain-area {
  height: calc(100vh - 72px);
  height: calc(100svh - 72px);
}
.l-fullmain-area.--udot {
  height: auto;
}
.l-fullmain-area h1,
.l-fullmain-area h1 * {
  display: block;
  line-height: 1.0;
}
.l-fullmain-area h1,
.l-fullmain-area h1 picture {
  display: block;
  height: 100%;
}
.l-fullmain-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.l-fullmain-area-caption {
  text-align: right;
  position: absolute;
  bottom: var(--space0);
  left: 0;
  width: 100%;
  padding-inline: var(--space0);
  box-sizing: border-box;
  font-size: 10px;
  color: #fff;
  opacity: 0.67;
  z-index: 10;
}

.l-fullmain-area.--udot .l-fullmain-area-caption {
  bottom: 6px;
}

.c-mincho-title {
  line-height: 1.5;
  font-family: var(--font-family-mincho);
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
}
.c-mincho-title sup {
  font-size: 0.4em;
  font-family: var(--font-family-mincho);
}

.l-udot-agingcare {
  color: #fff;
  background: url('../img/orbis_udot/bg-1.jpg') no-repeat center center / cover;
}
.l-udot-agingcare p small {
  display: inline-block;
  opacity: 0.76;
  font-size: 10px;
  line-height: 1.8;
}

@media screen and (max-width: 50em) {
  .l-fullmain-area.--udot {
    max-height:  170vw;
  }
  .l-fullmain-area.--udot .l-fullmain-area-caption {
    bottom: 0;
  }
}

@media screen and (max-width: 40em) {
  .l-fullmain-area {
    max-height: 170vw;
  }
  .l-fullmain-area-caption {
    bottom: var(--space-1);
  }
  .l-udot-agingcare p {
    font-size: 14px;
  }
}


.l-udot-products {
  position: relative;
  background: transparent linear-gradient(1deg, #FDF9ED 0%, #FFFFFF 1%, #FFFFFE 13%, #FCF8EC 26%, #DBBAB1 50%, #D3ACA1 79%, #4A4C69 100%, #000000 100%) 0% 0% no-repeat padding-box;
  background-size: 100% calc(100% + 20px);

}
.l-udot-products::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.57;
  mix-blend-mode: overlay;
  filter: blur(25px);
  background-image: url('../img/orbis_udot/bg-2.jpg');
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: 100% auto;
}
.l-udot-products header,
.l-udot-products header .c-caption {
  color: #fff;
}

.p-home-triangle figure {
  margin: 0 auto;
}
.p-home-bonus-list li {
  padding: 0 70px;
  white-space: nowrap;
  text-align: center;
}
.p-home-bonus-list li + li {
  border-left: 1px solid var(--color-border);
}
.p-home-bonus-list li > div {
  width: max-content;
  margin-inline: auto;
}
.p-home-bonus-list figure {
  width: 170px;
}
@media screen and (max-width: 60em) {
  .p-home-bonus-list li {
    padding: var(--space0);
    text-align: left;
  }
  .p-home-bonus-list li + li {
    border-left: none;
    border-top: 1px solid var(--color-border);
  }
  .p-home-bonus-list figure + div {
    min-width: 200px;
  }
  .p-home-bonus-list figure {
    width: 100px;
  }
}
@media screen and (max-width: 40em) {
  .p-home-bonus-list li {
    padding: var(--space0) var(--space-2);
  }
  .p-home-bonus-list figure + div {
    min-width: 140px;
  }
}

.aspect-video {
  display: block;
  line-height: 1.0;
  font-size: 0;
}
.aspect-video > * {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

@media screen and (max-width: 30em) {
  .p-home-brandmessage-text {
    letter-spacing: -0.06em;
  }
}
@media screen and (max-width: 768px) {
  .is-hide--sp {
    display:none!important
  }
}
@media screen and (min-width: 769px) {
  .is-hide--pc {
    display:none!important
  }
}
