@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;
  }
}
/* ===================================================================
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;
}

/* ===================================================================
CSS information

file name  : first_load.css
author     : Abilive
style info : 先行読み込みCSS
=================================================================== */
.c-modal-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  width: 5.83rem;
}
@media only screen and (max-width: 767px) {
  .c-modal-btn {
    width: 6.66rem;
  }
}
.c-modal-btn__text {
  line-height: 1;
  font-size: 1rem;
  margin-left: 0.75rem;
}
@media only screen and (max-width: 767px) {
  .c-modal-btn__text {
    margin-left: 1rem;
  }
}
.c-modal-btn__ic {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  pointer-events: none;
  width: 3.33rem;
  height: 1.83rem;
}
.c-modal-btn__ic > span {
  width: 100%;
  transition: background-color 0.3s ease-in-out;
  background-color: var(--color-txt-body);
  height: 1px;
}
.c-modal-btn__ic > span::before, .c-modal-btn__ic > span::after {
  content: "";
  transition: transform 0.2s ease, top 0.2s ease 0.2s, background-color 0.3s ease-in-out;
  background-color: var(--color-txt-body);
  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 {
  background-color: transparent !important;
}
#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 0.2s ease 0.2s, top 0.2s ease;
}
#abi_page:has(> .l-modal--menu.is-open) .c-modal-btn__ic > span::before {
  transform-origin: center center;
  transform: rotate(40deg);
  top: 50%;
}
#abi_page:has(> .l-modal--menu.is-open) .c-modal-btn__ic > span::after {
  transform-origin: center center;
  transform: rotate(-40deg);
  top: 50%;
  width: 100%;
  max-width: 100%;
}

.c-nav {
  display: flex;
  flex-wrap: wrap;
}
.c-nav__li__link {
  text-decoration: none;
  display: block;
  letter-spacing: 0.03em;
  font-size: 1.08rem;
}
.c-nav__li__link .t {
  padding-bottom: 0.25rem;
  background-image: linear-gradient(#1b1b1b, #1b1b1b);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
.mouse .c-nav__li__link:hover .t, .touch .c-nav__li__link.touchstart .t {
  background-position: bottom left;
  background-size: 100% 1px;
}
.touch .c-nav__li__link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .c-nav__li__link.touchend {
  transition-delay: 0.2s;
}
@media only screen and (min-width: 768px) {
  .c-nav--small .c-nav__li__link {
    font-size: 0.92rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav--small .c-nav__li__link {
    font-size: 0.86rem;
  }
}

.l-header {
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--nav-h-pt);
  top: 0;
}
@media only screen and (max-width: 767px) {
  .l-header {
    height: var(--nav-h-sp);
  }
}
.l-header > .inner {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .l-header > .inner {
    width: calc(1360 / 1440 * 100%);
    max-width: calc(1360px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .l-header > .inner {
    max-width: calc(1360px * (15 + 3) / 12);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .l-header > .inner {
    max-width: calc(1360px * (15 + 2) / 12);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .l-header > .inner {
    width: calc(1360 / 1440 * 100%);
  }
}
.l-header > .inner {
  flex-wrap: wrap;
  align-items: center;
  display: flex;
  height: 100%;
}
.l-header__logo {
  width: 6.75rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .l-header__logo {
    margin-left: calc(15 / 380 * 100%);
  }
}
.mouse .l-header__logo a {
  transition: opacity 0.3s ease-in;
}
.mouse .l-header__logo a:hover, .touch .l-header__logo a.touchstart {
  opacity: 0.7;
}
.touch .l-header__logo a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.touch .l-header__logo a.touchend {
  transition-delay: 0.2s;
}
.l-header__logo a {
  display: block;
}
.l-header__logo a img {
  height: auto;
  width: 100%;
}
.l-header__nav {
  display: flex;
  align-items: center;
  margin-right: 0;
  margin-left: auto;
  height: 100%;
}
.l-header__nav .c-nav {
  height: 100%;
}
@media only screen and (max-width: 1024px) {
  .l-header__nav .c-nav {
    display: none;
  }
}
.l-header__nav .c-nav__li {
  height: 100%;
}
.l-header__nav .c-nav__li:not(:last-child) {
  margin-right: 1.66rem;
}
@media only screen and (min-width: 1025px) and (max-width: 1259px) {
  .l-header__nav .c-nav__li:not(:last-child) {
    margin-right: 1.25rem;
  }
}
.l-header__nav .c-nav__li__link {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.l-header__nav__btn {
  width: 16.66rem;
  margin-left: 1.66rem;
}
.l-header__menu {
  height: 100%;
  margin-right: -1.25rem;
}
@media only screen and (max-width: 767px) {
  .l-header__menu {
    margin-left: auto;
    margin-right: 0;
  }
}

html.homepage body:not(.parts_fixed) .l-header {
  background-color: var(--color-bg-main);
  background-image: url(../images/common/pattern.png);
  background-repeat: repeat;
  background-position: top;
  background-size: auto;
}
@media only screen and (min-width: 768px) {
  html.homepage body:not(.parts_fixed) .l-header__logo {
    width: 10.5rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) and (max-width: 1259px) {
  html.homepage body:not(.parts_fixed) .l-header__logo {
    width: 8.33rem;
  }
}
@media only screen and (min-width: 768px) {
  html.homepage body:not(.parts_fixed) .l-header__logo a {
    width: 100%;
    position: absolute;
    left: calc(70 / 126 * 100%);
    top: -0.84rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) and (max-width: 1259px) {
  html.homepage body:not(.parts_fixed) .l-header__logo a {
    left: calc(30 / 126 * 100%);
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  html.homepage body:not(.parts_fixed) .l-header__logo a {
    left: calc(30 / 126 * 100%);
  }
}
html.homepage body:not(.parts_fixed) .l-header__logo .logo_normal {
  display: none;
}
@media only screen and (max-width: 767px) {
  html.homepage body:not(.parts_fixed) .l-header__logo .logo_normal {
    display: block;
  }
}
html.homepage body:not(.parts_fixed) .l-header__logo .logo_tate {
  display: block;
}
@media only screen and (max-width: 767px) {
  html.homepage body:not(.parts_fixed) .l-header__logo .logo_tate {
    display: none;
  }
}

.parts_fixed #header .l-header {
  position: fixed;
  z-index: 99;
  animation-name: FadeIn;
  animation-duration: 0.75s;
  height: var(--nav-fix-h-pt);
}
@media only screen and (max-width: 767px) {
  .parts_fixed #header .l-header {
    right: 0;
    left: auto;
    width: var(--nav-fix-h-sp);
    height: var(--nav-fix-h-sp);
  }
}
@media only screen and (max-width: 767px) {
  .parts_fixed #header .l-header__logo {
    display: none;
  }
}
.homepage .parts_fixed #header .l-header__logo .logo_normal {
  display: block;
}
.homepage .parts_fixed #header .l-header__logo .logo_tate {
  display: none;
}
.parts_fixed #header .l-header__nav .c-nav {
  display: none;
}
.parts_fixed #header .l-header__nav__btn {
  background-color: #ECE8E3;
}
@media only screen and (max-width: 767px) {
  .parts_fixed #header .l-header__menu {
    background-color: var(--color-bg-main);
  }
}

:root {
  --color-txt-body: #000;
  --color-cv-1: #AD3333;
  --color-acc-1: #3A3A3A;
  --color-acc-2: #6D6565;
  --color-sub-1: #9E8F8F;
  --color-sub-2: #F8F5F1;
  --color-sub-red: #D63324;
  --color-table-line: #CAC1C1;
  --color-table-bg: #E2DBD3;
  --color-bg-main: #EBE7E2;
  --color-bg-sub: #F2EDE6;
  --color-txt-error: #A91A1A;
  --font-family-jp-mincho: "Zen Old Mincho", serif;
  --font-family-jp-mincho-weight: 400;
  --font-family-jp-mincho-style: normal;
  --font-family-jp-mincho-letter: 0;
  --font-family-jp-gothic: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  --font-family-jp-gothic-weight: 400;
  --font-family-jp-gothic-style: normal;
  --font-family-jp-gothic-letter: 0;
  --font-family-en-mincho: "EB Garamond", serif;
  --font-family-en-mincho-weight: 400;
  --font-family-en-mincho-style: italic;
  --font-family-en-mincho-letter: 0;
  --font-family-en-gothic: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  --font-family-en-gothic-weight: 400;
  --font-family-en-gothic-style: normal;
  --font-family-en-gothic-letter: 0;
  --nav-h-pt: 10rem;
  --nav-h-sp: 6.66rem;
  --nav-fix-h-pt: 5.83rem;
  --nav-fix-h-sp: 6.66rem;
  --icon-size: 1.66rem;
  --ic-btn-width: 3.33rem;
  --ic-btn-height: 1.66rem;
  --ic-btn-width-l: 5.83rem;
  --ic-btn-height-l: 2.91rem;
  --accordion-icon-size: 1.66rem;
  --animation-easing: ease-out;
  --animation-duration: .5s;
  --animation-delay: .2s;
}

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

body {
  color: var(--color-txt-body);
  position: relative;
  width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: none;
  background-color: var(--color-bg-main);
  background-image: url(../images/common/pattern.png);
  background-repeat: repeat;
  background-position: top;
  background-size: auto;
}
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-acc-1);
  outline-offset: 1px;
}

body,
pre,
input,
textarea,
select {
  font-family: var(--font-family-jp-mincho);
  font-style: var(--font-family-jp-mincho-style);
  font-weight: var(--font-family-jp-mincho-weight);
  color: var(--color-txt-body);
}

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::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
    font-size: 0.85rem;
  }
  input::placeholder,
  select::placeholder,
  textarea::placeholder {
    font-size: 0.85rem;
  }
}

* {
  box-sizing: border-box;
}

#svg_defs {
  display: none;
}

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

.lower #main {
  margin-top: 1.66rem;
}

button {
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
}
button::-ms-expand {
  display: none;
}
button {
  font-family: var(--font-family-jp-mincho);
  font-style: var(--font-family-jp-mincho-style);
  font-weight: var(--font-family-jp-mincho-weight);
  font-size: 1rem;
  cursor: pointer;
  color: initial;
}

@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 {
  fill: inherit;
}

.o-icon--down {
  width: 0.33rem;
  height: 0.58rem;
  transform: rotate(90deg);
}
.o-icon--rt {
  width: 0.33rem;
  height: 0.58rem;
}
.o-icon--lt {
  width: 0.33rem;
  height: 0.58rem;
  transform: scaleX(-1);
}
.o-icon--blank {
  width: 0.83rem;
  height: 0.75rem;
}
.o-icon--pdf {
  width: 0.75rem;
  height: 1rem;
}
.o-icon--map {
  width: 0.75rem;
  height: 0.91rem;
}
.o-icon--insta svg {
  width: 1.5rem;
  height: 1.5rem;
}
.o-icon--plus {
  width: 1.16rem;
  height: 1.16rem;
}
.o-icon--minus {
  width: 1.16rem;
  height: 0.16rem;
}
.o-icon--logo-red {
  fill: #D63324;
}
.o-icon--logo-gray {
  fill: #818181;
}
.o-icon--logo-light-gray {
  fill: #D5D5D5;
}

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;
}

.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;
}

.c-jump_menu {
  display: none;
}

.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;
  }
}

.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;
  }
}

.c-fade-up {
  transition: opacity var(--animation-duration) var(--animation-delay) var(--animation-easing), transform var(--animation-duration) var(--animation-delay) var(--animation-easing);
}
.c-fade-up.lazyload {
  transform: translateY(1.5rem);
  opacity: 0;
}
.c-fade-up.lazyloaded {
  transform: translateY(0);
  opacity: 1;
}

.c-fade-up-left {
  transition: opacity var(--animation-duration) var(--animation-delay) var(--animation-easing), transform var(--animation-duration) var(--animation-delay) var(--animation-easing);
}
.c-fade-up-left.lazyload {
  transform: translateX(-30%);
  opacity: 0;
}
.c-fade-up-left.c-fade-up-left--show2.lazyload {
  transform: translateX(-60%);
}
.c-fade-up-left.c-fade-up-left--show3.lazyload {
  transform: translateX(-90%);
}
.c-fade-up-left.lazyloaded {
  transform: translateX(0);
  opacity: 1;
}

.c-fade-blur {
  transition: filter var(--animation-duration) var(--animation-delay) var(--animation-easing), opacity var(--animation-duration) var(--animation-delay) var(--animation-easing);
}
.c-fade-blur.lazyload {
  opacity: 0;
  filter: blur(1rem);
}
.c-fade-blur.lazyloaded {
  opacity: 1;
  filter: blur(0);
}

.c-fade-in {
  transition: opacity 1s var(--animation-delay) var(--animation-easing);
}
.c-fade-in.lazyload {
  opacity: 0;
}
.c-fade-in.lazyloaded {
  opacity: 1;
}

.c-delay-slow1 {
  transition-delay: calc(var(--animation-delay) + 0.2s);
}

.c-delay-slow2 {
  transition-delay: calc(var(--animation-delay) + 0.4s);
}

.c-delay-slow3 {
  transition-delay: calc(var(--animation-delay) + 0.6s);
}

.l-modal {
  display: none;
}

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

.c-title-set {
  --title-color: var(--color-txt-body);
  display: flex;
  flex-direction: column;
}
.c-title-set__jp {
  line-height: 1.4;
  font-family: var(--font-family-jp-mincho);
  font-style: var(--font-family-jp-mincho-style);
  font-weight: var(--font-family-jp-mincho-weight);
}
.c-title-set__jp {
  font-weight: 500;
}
.c-title-set__jp:not([class*=u-color--]) {
  color: var(--title-color);
}
.c-title-set:has(> .c-title-set__en) .c-title-set__jp {
  margin-top: 1.66rem;
}
.c-title-set__en {
  line-height: 1;
  order: -1;
  font-optical-sizing: auto;
  letter-spacing: 0.03em;
  font-family: var(--font-family-en-mincho);
  font-style: var(--font-family-en-mincho-style);
  font-weight: var(--font-family-en-mincho-weight);
}
.c-title-set__en {
  font-weight: 600;
}
.c-title-set__en:not([class*=u-color--]) {
  color: var(--title-color);
}

.c-title {
  line-height: 1.4;
  font-weight: 500;
}
.c-title:not([class*=u-color--]) {
  color: var(--color-txt-body);
}

.u-color--white {
  color: #fff;
}
.u-color--cv {
  color: var(--color-cv-1);
}
.u-color--acc-1 {
  color: var(--color-acc-1);
}
.u-color--acc-2 {
  color: var(--color-acc-2);
}

.l-home-fv {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
  height: 100vh;
  min-height: 100vh;
  width: 100%;
  opacity: 1;
  transition: 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
  .l-home-fv {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
  }
}
.l-home-fv__slider {
  width: calc(1360 / 1440 * 100%);
  height: 100%;
  margin-right: auto;
  margin-left: auto;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__slider {
    width: calc(360 / 380 * 100%);
  }
}
.l-home-fv__slider .swiper-slide {
  overflow: hidden;
  height: 100%;
}
.l-home-fv__slider .swiper-slide .inner {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.l-home-fv__slider .swiper-slide .inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: linear-gradient(330deg, rgba(255, 255, 255, 0) 60%, #FFFFFF 92%);
  height: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .l-home-fv__slider .swiper-slide .inner::before {
    height: 150%;
  }
}
@media only screen and (max-width: 767px) {
  .l-home-fv__slider .swiper-slide .inner::before {
    display: none;
  }
}
.l-home-fv__slider .swiper-slide .inner::after {
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.is-scrolled .l-home-fv__slider .swiper-slide .inner::after {
  opacity: 1;
}
.l-home-fv__slider .swiper-slide .inner picture {
  display: block;
  width: 100%;
  height: 100%;
}
.l-home-fv__slider .swiper-slide .inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  display: block;
}
@media only screen and (max-width: 767px) {
  .l-home-fv__slider .swiper-slide .inner img {
    -o-object-position: center;
       object-position: center;
  }
}
.l-home-fv__slider .slide_inner {
  height: 100%;
}
.l-home-fv__slider .slide_inner:not(.swiper-initialized) .swiper-wrapper > .swiper-slide:not(:first-child) {
  display: none;
}
.l-home-fv__slider .slide_inner .swiper-slide-active {
  opacity: 1 !important;
}
.l-home-fv__slider .slide_inner .swiper-slide-active img.lazyload, .l-home-fv__slider .slide_inner .swiper-slide-active img.lazyloading {
  opacity: 1;
  visibility: visible;
}
.l-home-fv.is-fin {
  opacity: 0;
}

.l-home-fv-open {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  width: 100%;
  height: 100vh;
  padding-top: var(--nav-h-pt);
}
@media only screen and (max-width: 767px) {
  .l-home-fv-open {
    padding-top: var(--nav-h-sp);
  }
}
@media only screen and (min-width: 1025px) {
  .l-home-fv-open .c-title-set__en {
    font-size: 6.67rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .l-home-fv-open .c-title-set__en {
    font-size: 5.83rem;
  }
}
@media only screen and (max-width: 767px) {
  .l-home-fv-open .c-title-set__en {
    font-size: 4.29rem;
  }
}
.l-home-fv-open .c-title-set__en {
  font-weight: 500;
  font-style: normal;
}

.p-home-cover {
  margin-top: 100vh;
}
.p-home-cover__inner {
  background-color: var(--color-bg-main);
  background-image: url(../images/common/pattern.png);
  background-repeat: repeat;
  background-position: top;
  background-size: auto;
}