@charset "UTF-8";
/* ===================================================================
CSS information

file name  : first_load.css
author     : Abilive
style info : 先に同期読み込みCSS
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
@keyframes FadeIn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes FadeUp {
  0% {
    transform: translateY(-200%);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
/* ===================================================================
CSS information

file name  : default.css
author     : Abilive
style info : 汎用リセット記述
=================================================================== */
html,
article,
aside,
audio,
blockquote,
body,
dd,
dialog,
div,
dl,
dt,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
input,
li,
mark,
menu,
nav,
ol,
p,
pre,
section,
td,
textarea,
th,
time,
ul,
video,
main {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-feature-settings: "palt";
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q:after,
q:before {
  content: "";
}

embed,
object {
  vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
}

abbr,
acronym,
fieldset,
img {
  border: 0;
}

li {
  list-style-type: none;
}

sup {
  vertical-align: super;
  font-size: 0.5em;
}

img {
  vertical-align: top;
}

i {
  font-style: normal;
}

svg {
  vertical-align: middle;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section,
main {
  display: block;
}

nav,
ul {
  list-style: none;
}

:root {
  --color-text: #1A1A1A;
  --color-text-fff: #fff;
  --color-cv: #1A1A1A;
  --color-line: #888787;
  --color-bg1: #F4F4F4;
  --color-bg2: #F8F8F8;
  --color-bg3: #F7F7F7;
  --color-D3D3D3: #D3D3D3;
  --color-E8E8E8: #E8E8E8;
  --color-575757: #575757;
  --nav-h-pt: 5.35rem;
  --nav-h-sp: 5.5rem;
  --nav-fix-h-pt: 4.64rem;
  --nav-fix-h-sp: 5rem;
  --lang-w: 6.42rem;
  --accordion-icon-size: 1.78rem;
  --icon-size: 2.71rem;
  --icon-size-s: 1.78rem;
}

html {
  line-height: 2.2;
  letter-spacing: 0.02em;
}
@media only screen and (min-width: 1441px) {
  html {
    font-size: calc(16 / 16 * 100%);
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  html {
    font-size: calc((16 - 1) / 16 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  html {
    font-size: calc(14 / 16 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1259px) {
  html {
    font-size: calc((14 - 1) / 16 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  html {
    font-size: calc((14 - 1) / 16 * 100%);
  }
}

body {
  background-color: var(--color-bg1);
  background-image: url(../images/common/bg_gray.png);
  background-repeat: repeat;
  background-position: top;
  background-size: auto;
  color: var(--color-text);
  position: relative;
  width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: none;
}
body a {
  color: inherit;
  text-decoration: underline;
}
body a:hover {
  text-decoration: none;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
  line-height: 1;
}

*:focus-visible {
  outline: 3px solid var(--color-line);
  outline-offset: 1px;
}

body,
pre,
input,
textarea,
select {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-style: normal;
  font-weight: 500;
  color: var(--color-text);
}

input,
select,
textarea {
  font-size: 100%;
}
@media only screen and (max-width: 767px) {
  input,
  select,
  textarea {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  input::placeholder,
  select::placeholder,
  textarea::placeholder {
    transform: scale(0.8);
    transform-origin: 0 50%;
  }
}

* {
  box-sizing: border-box;
}

#svg_defs {
  display: none;
}

#abi_page {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
.lower #abi_page {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  #abi_page {
    font-size: 100% !important;
  }
}

@media only screen and (min-width: 1025px) {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  body .view_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  body .view_pc {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .view_pc-tab,
  body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  body .view_pcl {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  body .view_pcl {
    display: none !important;
  }
}
@media only screen and (min-width: 1441px) {
  body .view_pcs {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  body .view_pcs {
    display: none !important;
  }
}
@media only screen and (min-width: 1025px) {
  body .u-view--ts, body .u-view--t {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  body .u-view--s {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  body .u-view--p {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .u-view--pt, body .u-view--t {
    display: none !important;
  }
}

svg {
  width: 1rem;
  height: 1rem;
  fill: inherit;
}

.o-icon--up-down {
  width: 0.35rem;
  height: 0.35rem;
}
.o-icon--rt {
  width: 0.64rem;
  height: 0.5rem;
}
.o-icon--down {
  width: 0.64rem;
  height: 0.5rem;
  transform: rotate(90deg);
}
.o-icon--lt {
  width: 0.64rem;
  height: 0.5rem;
  transform: scaleX(-1);
}

img {
  width: 100%;
}
img.lazyload, img.lazyloading {
  opacity: 0;
  visibility: hidden;
}
img.lazyloaded {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out;
  height: auto;
}
img[loading=lazy] {
  width: 100%;
  height: auto;
}

.u-visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .u-visually-hidden-s {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
  }
}

.c-jump_menu {
  display: none;
}

button {
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-style: normal;
  font-weight: 500;
  cursor: pointer;
  color: initial;
}
button::-ms-expand {
  display: none;
}

.js-swiper-wrp [class*=" js-swiper-"]:not(.js-swiper-column):not(.swiper-initialized) .swiper-wrapper .swiper-slide:not(:first-child), .js-swiper-wrp [class^="js-swiper-"]:not(.js-swiper-column):not(.swiper-initialized) .swiper-wrapper .swiper-slide:not(:first-child) {
  display: none;
}

.u-align-c {
  text-align: center;
  justify-content: center;
}
.u-align-c > * {
  text-align: center;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .u-align--pt {
    text-align: center;
    justify-content: center;
  }
  .u-align--pt > * {
    text-align: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .u-align--s {
    text-align: center;
    justify-content: center;
  }
  .u-align--s > * {
    text-align: center;
    justify-content: center;
  }
}

.u-flex-txt > .wide {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .u-flex-txt--pt {
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .u-flex-txt--s {
    display: flex;
    flex-wrap: wrap;
  }
}
.u-flex-txt--all {
  display: flex;
  flex-wrap: wrap;
}

.u-break-br {
  word-break: keep-all;
}

.c-fade-up {
  transition: 1.25s cubic-bezier(0.12, 0.33, 0.72, 0.9) opacity 0.5s, 1.25s cubic-bezier(0.12, 0.33, 0.72, 0.9) transform 0.5s;
}
.c-fade-up.lazyload {
  transform: translateY(2rem);
  opacity: 0;
}
.c-fade-up.lazyloaded {
  transform: translateY(0);
  opacity: 1;
}

.c-fade-in {
  transition: opacity 1.25s cubic-bezier(0.12, 0.33, 0.72, 0.9) 0.5s;
}
.c-fade-in.lazyload {
  opacity: 0;
}
.c-fade-in.lazyloaded {
  opacity: 1;
}

.c-fade-img {
  transition: transform 5s cubic-bezier(0.12, 0.33, 0.72, 0.9) 0.5s;
}
.c-fade-img.lazyload {
  transform: scale(1.15);
}
.c-fade-img.lazyloaded {
  transform: scale(1);
}

.delay075 {
  transition-delay: .75s;
}

.delay1 {
  transition-delay: 1s;
}

.delay125 {
  transition-delay: 1.25s;
}

.delay15 {
  transition-delay: 1.5s;
}

.delay175 {
  transition-delay: 1.75s;
}

.delay2 {
  transition-delay: 2s;
}

@keyframes spinInYScale {
  from {
    transform: scale(0.8) rotateY(-360deg);
    opacity: 0;
  }
  to {
    transform: scale(1) rotateY(0deg);
    opacity: 1;
  }
}
.c-anime-text {
  opacity: 0;
  display: inline-block;
  overflow: hidden;
  perspective: 1000px;
  transition: opacity 1s ease;
}
.c-anime-text > span {
  opacity: 0;
  transition: transform 1s ease;
  display: inline-block;
  transform: rotateY(-360deg);
  transform-origin: center center;
  backface-visibility: hidden;
}
.c-anime-text.lazyloaded {
  opacity: 1;
}
.c-anime-text.lazyloaded > span {
  animation: spinInYScale 1s ease-out forwards;
}

.l-modal {
  display: none;
}

.l-modal.is-open {
  display: block;
}

.c-title {
  line-height: 1.6;
  font-weight: 400;
}
.c-title--s26 {
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1025px) {
  .c-title--s26 {
    font-size: 1.86rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-title--s26 {
    font-size: 1.79rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title--s26 {
    font-size: 1.64rem;
  }
}
.c-title--s23 {
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .c-title--s23 {
    font-size: 1.64rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title--s23 {
    font-size: 1.57rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title--s18 {
    font-size: 1.29rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title--s18 {
    font-size: 1.43rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title--s18.--spsmall {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title--s16 {
    font-size: 1.14rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title--s16 {
    font-size: 1.29rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title--s15 {
    font-size: 1.07rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title--s15 {
    font-size: 1.21rem;
  }
}
.c-title--s16-tate {
  letter-spacing: .5rem;
  line-height: 1.18;
}
@media only screen and (min-width: 1025px) {
  .c-title--s16-tate {
    font-size: 1.14rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-title--s16-tate {
    font-size: 1.29rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title--s16-tate {
    font-size: 1.64rem;
  }
}
.c-title--s16-tate > span {
  writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  -moz-text-orientation: upright;
  -ms-text-orientation: upright;
  text-orientation: upright;
  text-align: left;
  display: inline-block;
  font-feature-settings: normal;
}
.c-title--bg {
  display: inline-block;
  line-height: 1.6;
}
.c-title--bg > span {
  background-color: var(--color-text);
  color: var(--color-text-fff);
  padding: .5rem 1rem;
  display: block;
}
.c-title--bg.c-title--s16 {
  line-height: 1.2;
}
.c-title--bg.c-title--s16 > span {
  text-align: center;
}
.c-title--bg.c-title--s16:not(.no-width) > span {
  min-width: 22.5rem;
}
.c-title--bg.u-align-c {
  display: flex;
}
.c-title--bg-anime {
  display: inline-block;
  line-height: 1.6;
}
.c-title--bg-anime > span {
  color: var(--color-text-fff);
  padding: .5rem 1rem;
  display: block;
  position: relative;
}
.c-title--bg-anime > span::before {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transition: width .75s ease;
  background-color: var(--color-text);
}
.c-title--bg-anime > span > span {
  opacity: 0;
  transition: opacity .75s ease .2s;
}
.c-title--bg-anime.c-title--s16 {
  line-height: 1.2;
}
.c-title--bg-anime.c-title--s16 > span {
  text-align: center;
}
.c-title--bg-anime.c-title--s16:not(.no-width) > span {
  min-width: 22.5rem;
}
.c-title--bg-anime.u-align-c {
  display: flex;
}
.c-title--bg-anime.lazyloaded > span::before {
  width: 100%;
}
.c-title--bg-anime.lazyloaded > span > span {
  opacity: 1;
}
.c-title--border {
  display: inline-block;
  padding-bottom: 1.07rem;
  border-bottom: 1px solid var(--color-line);
}
@media only screen and (max-width: 767px) {
  .c-title--border.c-title--s16 {
    font-size: 1.21rem;
  }
}
.c-title--left {
  padding: 0.28rem 0 0.28rem 2.14rem;
  border-left: 1px solid var(--color-line);
}
@media only screen and (max-width: 767px) {
  .c-title--left {
    padding-left: 1.07rem;
  }
}

.c-title-set {
  display: flex;
  flex-direction: column;
}
.c-title-set .c-title-set__jp {
  line-height: 1.2;
  font-weight: 400;
}
.c-title-set .c-title-set__en {
  font-family: 'Jomolhari';
  letter-spacing: 0.005em;
  font-weight: 400;
  line-height: 1.2;
}
.c-title-set--h4 .c-title-set__en {
  order: -1;
}
@media only screen and (min-width: 768px) {
  .c-title-set--h4 .c-title-set__en {
    font-size: 1.64rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title-set--h4 .c-title-set__en {
    font-size: 1.43rem;
  }
}
.c-title-set--h4 .c-title-set__jp {
  margin-top: .5rem;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .c-title-set--h4 .c-title-set__jp {
    font-size: 0.86rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title-set--h4 .c-title-set__jp {
    font-size: 0.79rem;
  }
}

.u-color--white {
  color: #fff;
}
.u-color--cv {
  color: var(--color-cv);
}
.u-color--line {
  color: var(--color-line);
}

.c-pagination {
  display: flex;
  position: static;
  width: auto !important;
}
@media only screen and (max-width: 1024px) {
  .c-pagination {
    justify-content: center;
  }
}
.c-pagination:not([class*="u-align-c"]) {
  justify-content: flex-start;
}
.c-pagination.swiper-pagination-bullets {
  width: auto;
}
.c-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  opacity: 1;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
@media only screen and (min-width: 768px) {
  .c-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 1.42rem;
    height: 1.42rem;
  }
}
@media only screen and (max-width: 1024px) {
  .c-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 2.14rem;
    height: 2.14rem;
  }
}
.c-pagination.swiper-pagination-bullets .swiper-pagination-bullet::before {
  content: "";
  display: block;
  border-radius: 1000px;
  border: 1px solid var(--color-text);
}
@media only screen and (min-width: 768px) {
  .c-pagination.swiper-pagination-bullets .swiper-pagination-bullet::before {
    width: 0.35rem;
    height: 0.35rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagination.swiper-pagination-bullets .swiper-pagination-bullet::before {
    width: 0.42rem;
    height: 0.42rem;
    max-width: 10px;
    max-height: 10px;
  }
}
.c-pagination.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: var(--color-text);
}
.c-pagination.vertical {
  flex-direction: column;
  margin: auto 0 auto auto;
  bottom: 0 !important;
  right: 1.07rem;
  top: 0;
  max-width: 1.42rem;
}
@media only screen and (max-width: 767px) {
  .c-pagination.vertical {
    right: 1.42rem;
    width: 1.78rem;
  }
  .c-pagination.vertical .swiper-pagination-bullet {
    max-width: 20px;
    max-height: 20px;
  }
  .c-pagination.vertical .swiper-pagination-bullet:nth-child(n+2) {
    margin-top: .75rem;
  }
}
@media only screen and (max-width: 767px) and (max-height: 700px) {
  .c-pagination.vertical .swiper-pagination-bullet:nth-child(n+2) {
    margin-top: .5rem;
  }
}
@media only screen and (max-width: 767px) and (max-height: 600px) {
  .c-pagination.vertical .swiper-pagination-bullet:nth-child(n+2) {
    margin-top: .25rem;
  }
}

.c-pagination.white.swiper-pagination-bullets .swiper-pagination-bullet::before {
  border-color: #fff;
}
.c-pagination.white.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: #fff;
}

.c-accordion summary {
  display: block;
  list-style: none;
  counter-increment: none;
  cursor: pointer;
}
.c-accordion summary::marker {
  content: none;
}
.c-accordion summary::-webkit-details-marker {
  display: none;
}
@media only screen and (min-width: 1025px) {
  .c-accordion.ts-only summary {
    pointer-events: none;
  }
}
@media only screen and (min-width: 768px) {
  .c-accordion.sp-only summary {
    pointer-events: none;
  }
}
.c-accordion button {
  font-size: 1rem;
}

.c-modal-btn {
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .c-modal-btn {
    flex-direction: column;
  }
}
.c-modal-btn__text {
  color: var(--color-text);
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .c-modal-btn__text {
    font-size: 0.86rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-modal-btn__text {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-modal-btn__text {
    margin-right: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-modal-btn__text {
    margin-right: 1rem;
  }
}
.c-modal-btn__ic {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  transition: height .3s ease-in-out;
  position: relative;
  pointer-events: none;
  height: 0.57rem;
  width: 2.71rem;
}
@media only screen and (max-width: 767px) {
  .c-modal-btn__ic {
    height: .5rem;
    width: 2.75rem;
  }
}
.c-modal-btn__ic > span {
  width: 100%;
  height: 1px;
}
.c-modal-btn__ic > span::before, .c-modal-btn__ic > span::after {
  content: "";
  transition: transform .2s ease, top .2s ease 0.2s, background-color .3s ease-in-out;
  background-color: var(--color-text);
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
}
.c-modal-btn__ic > span::before {
  top: 0%;
  transform: translateY(-100%);
}
.c-modal-btn__ic > span::after {
  width: 100%;
  top: 100%;
}

#abi_page:has(> .l-modal--menu.is-open) .c-modal-btn__ic > span::before, #abi_page:has(> .l-modal--menu.is-open) .c-modal-btn__ic > span::after {
  transition: transform .2s ease 0.2s, top .2s ease;
}
#abi_page:has(> .l-modal--menu.is-open) .c-modal-btn__ic > span::before {
  transform-origin: center center;
  transform: rotate(20deg);
  top: 50%;
}
#abi_page:has(> .l-modal--menu.is-open) .c-modal-btn__ic > span::after {
  transform-origin: center center;
  transform: rotate(-20deg);
  top: 50%;
  width: 100%;
  max-width: 100%;
}

.l-header {
  transition: transform .4s ease-in-out, opacity .4s ease-in-out;
  position: relative;
  z-index: 10;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .l-header {
    height: var(--nav-h-pt);
  }
}
@media only screen and (max-width: 767px) {
  .l-header {
    height: var(--nav-h-sp);
  }
}
.l-header__logo {
  width: 8.71rem;
  height: 100%;
}
.l-header__logo a {
  height: 100%;
  align-items: center;
  justify-content: center;
  display: flex;
}
.mouse .l-header__logo a {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .l-header__logo a:hover, .touch .l-header__logo a.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .l-header__logo a {
  -webkit-tap-highlight-color: transparent;
}
.touch .l-header__logo a.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.l-header__logo a img {
  display: block;
  width: calc(83 / 122 * 100%);
  height: auto;
}
.lower .l-header__logo a img.logo_w {
  display: none;
}
.homepage .l-header__logo a img.logo_bk {
  display: none;
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 0;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .l-header__inner {
    flex-wrap: wrap;
    max-height: none;
    width: calc(100% - 10.71rem);
  }
}
.homepage .l-header__inner {
  max-height: 4.28rem;
  margin-top: 1rem;
}
.l-header__sns {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.l-header__sns a {
  padding: .5rem .75rem;
  text-decoration: none;
  line-height: 1.2;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
  letter-spacing: 0.005em;
  font-size: 0.86rem;
}
.homepage .l-header__sns a {
  color: var(--color-text-fff);
}
.l-header__wether {
  margin-right: 1.42rem;
}
@media only screen and (max-width: 767px) {
  .l-header__wether {
    width: 100%;
    text-align: right;
  }
}
.l-header__wether #booked-widget-8lh2xanq94d > div {
  font-family: "Noto Serif JP" !important;
  width: fit-content !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  margin: 0 !important;
}
.lower .l-header__wether #booked-widget-8lh2xanq94d > div {
  padding: 0 0.5rem !important;
  background-color: var(--color-D3D3D3) !important;
}
.homepage .l-header__wether #booked-widget-8lh2xanq94d > div {
  padding: 0 !important;
  background: transparent !important;
  color: #fff !important;
}
.l-header__wether #booked-widget-8lh2xanq94d > div img {
  max-width: auto !important;
  width: auto !important;
}
@media only screen and (max-width: 767px) {
  .lower .l-header__wether {
    display: none;
  }
}
.l-header__menu {
  height: 100%;
  width: 6.42rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .l-header__menu {
    width: var(--nav-h-sp);
  }
}
.homepage .l-header__menu {
  color: var(--color-text-fff);
}
.homepage .l-header__menu .c-modal-btn__text {
  color: var(--color-text-fff);
}
.homepage .l-header__menu .c-modal-btn__ic span::after, .homepage .l-header__menu .c-modal-btn__ic span::before {
  background-color: var(--color-text-fff);
}
.l-header__lang {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  height: 100%;
  width: var(--lang-w);
}
.l-header__lang__inner {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  flex-direction: column;
  top: 0;
}
.l-header__lang__inner details {
  width: 100%;
}
.l-header__lang__inner details .btn {
  font-family: 'Jomolhari';
  letter-spacing: 0.005em;
  font-weight: 400;
  font-size: 0.86rem;
  letter-spacing: 0.005em;
  padding: .5rem .75rem;
  width: 100%;
  z-index: 2;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.homepage .l-header__lang__inner details .btn {
  height: 4.28rem;
  border-bottom-color: var(--color-text-fff);
  color: var(--color-text-fff);
}
.lower .l-header__lang__inner details .btn {
  height: var(--nav-h-pt);
}
@media only screen and (max-width: 767px) {
  .lower .l-header__lang__inner details .btn {
    height: var(--nav-h-sp);
  }
}
.l-header__lang__inner details .o-icon--down {
  margin-left: .5rem;
  fill: var(--color-text);
}
.homepage .l-header__lang__inner details .o-icon--down {
  fill: var(--color-text-fff);
}
.l-header__lang__inner details .c-accordion__target {
  width: 100%;
  background-color: var(--color-bg1);
  z-index: 1;
}
.l-header__lang__inner details .c-accordion__target ul {
  width: 100%;
}
.l-header__lang__inner details .c-accordion__target ul li:not(:last-child) {
  border-bottom: 1px solid rgba(136, 135, 135, 0.5);
}
.l-header__lang__inner details .c-accordion__target ul .a {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.86rem;
  letter-spacing: 0.005em;
  text-align: center;
  display: block;
  padding: .25em 0;
  width: 100%;
  text-decoration: none;
}
.mouse .l-header__lang__inner details .c-accordion__target ul .a {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .l-header__lang__inner details .c-accordion__target ul .a:hover, .touch .l-header__lang__inner details .c-accordion__target ul .a.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .l-header__lang__inner details .c-accordion__target ul .a {
  -webkit-tap-highlight-color: transparent;
}
.touch .l-header__lang__inner details .c-accordion__target ul .a.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.l-header__lang__inner details .c-accordion__target ul .a svg {
  display: none;
}

body.parts_fixed .l-header {
  height: var(--nav-fix-h-pt);
  background-color: rgba(31, 30, 30, 0.9);
}
@media only screen and (min-width: 768px) {
  body.parts_fixed .l-header {
    top: 0;
    position: fixed;
    z-index: 99;
    animation-name: FadeIn;
    animation-duration: .75s;
  }
}
@media only screen and (max-width: 767px) {
  body.parts_fixed .l-header {
    height: var(--nav-fix-h-sp);
  }
}
body.parts_fixed .l-header__logo a img.logo_bk {
  display: none;
}
body.parts_fixed .l-header__logo a img.logo_w {
  display: block;
}
body.parts_fixed .l-header__inner {
  max-height: 100%;
}
.homepage body.parts_fixed .l-header__inner {
  margin-top: 0;
}
.lower body.parts_fixed .l-header__wether #booked-widget-8lh2xanq94d > div {
  padding: 0 !important;
  background: transparent !important;
}
body.parts_fixed .l-header__sns a {
  color: var(--color-text-fff);
}
body.parts_fixed .l-header__wether #booked-widget-8lh2xanq94d > div {
  color: var(--color-text-fff) !important;
}
body.parts_fixed .l-header__menu {
  color: var(--color-text-fff);
}
body.parts_fixed .l-header__menu .c-modal-btn__text {
  color: var(--color-text-fff);
}
body.parts_fixed .l-header__menu .c-modal-btn__ic span::after, body.parts_fixed .l-header__menu .c-modal-btn__ic span::before {
  background-color: var(--color-text-fff);
}
body.parts_fixed .l-header__lang__inner .btn {
  border-bottom-color: var(--color-text-fff);
  color: var(--color-text-fff);
}
body.parts_fixed .l-header__lang__inner .o-icon--down {
  fill: var(--color-text-fff);
}
body.parts_fixed .l-header__lang__inner details .btn {
  height: var(--nav-fix-h-pt);
}

@keyframes zoomOut {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
.l-home-fv {
  height: 100vh;
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #000;
}
.l-home-fv__inner {
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 2;
}
.l-home-fv .c-pagination {
  z-index: 3;
  position: absolute;
  top: 0;
}
@media only screen and (max-width: 767px) {
  .l-home-fv .c-pagination {
    top: -10%;
  }
}
@media only screen and (min-width: 550px) and (max-width: 767px) and (min-height: 800px) {
  .l-home-fv .c-pagination {
    top: -22%;
  }
}

.l-home-fv__img {
  position: relative;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
  height: 100vh;
  width: 100%;
}
.l-home-fv__img__slide {
  height: 100%;
  overflow: hidden;
}
.l-home-fv__img__slide .inner {
  background-color: #000;
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
}
.l-home-fv__img__slide .inner img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.l-home-fv__img__slide video {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.l-home-fv__img__slide .video_bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.l-home-fv__img__slide .video_bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.l-home-fv__img__inner {
  position: relative;
  z-index: 1;
  height: 100%;
}
.l-home-fv__img__inner:not(.swiper-initialized) .swiper-slide .inner {
  transform: scale(1.15);
}
.l-home-fv__img__inner .swiper-slide-active .inner,
.l-home-fv__img__inner .swiper-slide-duplicate-active .inner,
.l-home-fv__img__inner .swiper-slide-prev .inner {
  animation: zoomOut 8s linear 0s normal both;
}
.is-stop .l-home-fv__img__inner .swiper-slide-active .inner, .is-stop
.l-home-fv__img__inner .swiper-slide-duplicate-active .inner, .is-stop
.l-home-fv__img__inner .swiper-slide-prev .inner {
  animation-play-state: paused;
}
.l-home-fv__img .swiper-slide-active {
  opacity: 1 !important;
}
.l-home-fv__img .swiper-slide-active img.lazyload, .l-home-fv__img .swiper-slide-active img.lazyloading {
  opacity: 1;
  visibility: visible;
}
.l-home-fv__videos {
  position: absolute;
  z-index: 4;
  right: 0;
  background-color: rgba(0, 0, 0, 0.35);
  bottom: 2.85rem;
  width: 30.35rem;
  padding: 0.28rem;
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__videos {
    width: calc(284 / 428 * 100%);
    flex-wrap: wrap;
    bottom: 5rem;
    max-width: 400px;
  }
}
.l-home-fv__videos__btn {
  width: calc(125 / 417 * 100%);
  overflow: hidden;
  position: relative;
  min-height: 4.14rem;
}
.mouse .l-home-fv__videos__btn {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .l-home-fv__videos__btn:hover, .touch .l-home-fv__videos__btn.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .l-home-fv__videos__btn {
  -webkit-tap-highlight-color: transparent;
}
.touch .l-home-fv__videos__btn.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__videos__btn {
    min-height: none;
    width: calc(125 / 276 * 100%);
  }
}
.l-home-fv__videos__btn + .l-home-fv__videos__btn {
  margin-left: calc(4 / 417 * 100%);
}
@media only screen and (max-width: 767px) {
  .l-home-fv__videos__btn + .l-home-fv__videos__btn {
    margin-left: calc(4 / 276 * 100%);
  }
}
.l-home-fv__videos__btn .img {
  position: relative;
  overflow: hidden;
  width: 100%;
  display: block;
  aspect-ratio: 125 / 58;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__videos__btn .img {
    aspect-ratio: 125 / 70;
  }
}
.l-home-fv__videos__btn .img img {
  height: 100%;
  display: block;
  object-fit: cover;
}
.l-home-fv__videos__btn .ic {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 2.71rem;
  height: 2.71rem;
  margin: auto;
  display: block;
}
.l-home-fv__videos__btn .ic img {
  height: auto;
}
.l-home-fv__videos__other {
  width: calc(163 / 417 * 100%);
}
@media only screen and (max-width: 767px) {
  .l-home-fv__videos__other {
    width: 100%;
  }
}
.l-home-fv__videos__other__link {
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: .5rem 1rem;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__videos__other__link {
    padding: .75rem 2rem;
  }
}
.mouse .l-home-fv__videos__other__link {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .l-home-fv__videos__other__link:hover, .touch .l-home-fv__videos__other__link.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .l-home-fv__videos__other__link {
  -webkit-tap-highlight-color: transparent;
}
.touch .l-home-fv__videos__other__link.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
@media only screen and (min-width: 768px) {
  .l-home-fv__videos__other__link .t {
    font-size: 0.86rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-home-fv__videos__other__link .t {
    font-size: 1rem;
  }
}
.l-home-fv__videos__other__link .o-icon {
  margin-left: 0.71rem;
  fill: #fff;
  width: 0.85rem;
  height: 0.57rem;
}
.l-home-fv__news {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  width: 100%;
  background-color: #0D0D0D;
  height: 2.85rem;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0.71rem 1.78rem;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__news {
    align-items: baseline;
    min-height: 3.5rem;
    height: auto;
  }
}
.l-home-fv__news__title {
  width: 4.28rem;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .l-home-fv__news__title {
    font-size: 0.86rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-home-fv__news__title {
    font-size: 1rem;
  }
}
.l-home-fv__news__link {
  width: calc(100% - 4.28rem);
  display: flex;
  text-decoration: none;
  letter-spacing: 0;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .l-home-fv__news__link {
    font-size: 0.86rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-home-fv__news__link {
    font-size: 1rem;
  }
}
.mouse .l-home-fv__news__link {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .l-home-fv__news__link:hover, .touch .l-home-fv__news__link.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .l-home-fv__news__link {
  -webkit-tap-highlight-color: transparent;
}
.touch .l-home-fv__news__link.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__news__link {
    align-items: baseline;
  }
}
.l-home-fv__news__link .time {
  width: 6rem;
}
.l-home-fv__news__link .t {
  max-width: calc(100% - 6rem);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-height: 1.2;
}
.firefox .l-home-fv__news__link .t, .ie .l-home-fv__news__link .t {
  max-height: 1.2em;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__news__link .t {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.2;
  }
  .firefox .l-home-fv__news__link .t, .ie .l-home-fv__news__link .t {
    max-height: 2.4em;
  }
}

.l-header-lower {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .l-header-lower {
    padding-top: var(--nav-h-pt);
  }
}
@media only screen and (max-width: 767px) {
  .l-header-lower {
    padding-top: var(--nav-h-sp);
  }
}
.l-header-lower__title .c-title {
  background-color: var(--color-text);
  color: var(--color-text-fff);
  padding: 0.5rem 1rem 0.5rem calc(120 / 1440 * 100%);
  display: inline-block;
}
@media only screen and (min-width: 1500px) {
  .l-header-lower__title .c-title {
    padding-left: calc(200 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .l-header-lower__title .c-title {
    padding-left: 1.5rem;
  }
}
.l-header-lower--image .l-header-lower__title, .l-header-lower--image_wedding .l-header-lower__title {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  z-index: 2;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
}
.l-header-lower--image .l-header-lower__title .c-title, .l-header-lower--image_wedding .l-header-lower__title .c-title {
  margin-bottom: calc(150 / 1440 * 100%);
  min-width: 32.85rem;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .l-header-lower--image .l-header-lower__title .c-title, .l-header-lower--image_wedding .l-header-lower__title .c-title {
    min-width: 28.57rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-header-lower--image .l-header-lower__title .c-title, .l-header-lower--image_wedding .l-header-lower__title .c-title {
    margin-bottom: calc(55 / 428 * 100%);
    padding-right: .75rem;
    min-width: 21.42rem;
  }
}
@media only screen and (min-width: 768px) {
  .l-header-lower--image .l-header-lower__img, .l-header-lower--image_wedding .l-header-lower__img {
    position: relative;
    max-height: 600px;
    object-fit: cover;
  }
  .l-header-lower--image .l-header-lower__img img, .l-header-lower--image_wedding .l-header-lower__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .l-header-lower--image .l-header-lower__img::after, .l-header-lower--image_wedding .l-header-lower__img::after {
    content: "";
    width: 100%;
    display: block;
  }
  .l-header-lower--image .l-header-lower__img::after, .l-header-lower--image_wedding .l-header-lower__img::after {
    padding-bottom: calc(700 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .l-header-lower--image .l-header-lower__img, .l-header-lower--image_wedding .l-header-lower__img {
    position: relative;
    object-fit: cover;
  }
  .l-header-lower--image .l-header-lower__img img, .l-header-lower--image_wedding .l-header-lower__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .l-header-lower--image .l-header-lower__img::after, .l-header-lower--image_wedding .l-header-lower__img::after {
    content: "";
    width: 100%;
    display: block;
  }
  .l-header-lower--image .l-header-lower__img::after, .l-header-lower--image_wedding .l-header-lower__img::after {
    padding-bottom: calc(430 / 428 * 100%);
  }
}
.l-header-lower--text .l-header-lower__title {
  margin-top: 6.42rem;
}
@media only screen and (max-width: 767px) {
  .l-header-lower--text .l-header-lower__title {
    margin-top: 4rem;
  }
}
.l-header-lower--text .l-header-lower__title .c-title {
  min-width: 25.71rem;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .l-header-lower--text .l-header-lower__title .c-title {
    min-width: 21.42rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-header-lower--text .l-header-lower__title .c-title {
    min-width: 14.28rem;
  }
}

#main_and_aside {
  position: relative;
  z-index: 2;
}
