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

file name  : homepage.css
author     : Abilive
style info : トップページ
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.wrp_int {
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 11.66rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .wrp_int {
    padding-top: 9rem;
  }
}
.wrp_int::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 68.91rem;
  background: url("../images/home/bg_int.jpg") no-repeat center top/100% auto;
}
@media only screen and (max-width: 767px) {
  .wrp_int::before {
    background-size: 225% auto;
  }
}
.wrp_int .box_int_top {
  width: calc(1310 / 1440 * 100%);
  margin-right: 0;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .wrp_int .box_int_top {
    width: calc(408 / 428 * 100%);
  }
}
.wrp_int .box_int_st {
  display: flex;
  height: 0;
  overflow: visible;
  position: absolute;
  left: calc(90 / 1310 * 100%);
  top: -8rem;
}
@media only screen and (max-width: 767px) {
  .wrp_int .box_int_st {
    top: -6.2em;
    --ind: .1em;
    left: var(--ind);
    right: var(--ind);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_int .st_int {
    width: 100%;
  }
}
.wrp_int .st_int .en {
  display: block;
}
@media only screen and (max-width: 767px) {
  .wrp_int .st_int .en {
    font-size: 6.42rem;
    letter-spacing: -.03em;
  }
}
.wrp_int .st_int .en01 {
  width: 100%;
}
.wrp_int .st_int .en02 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .wrp_int .st_int .en02 {
    margin-top: -2rem;
    text-indent: 2.2em;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_int .st_int .en02 {
    margin-top: -1.5rem;
    display: block;
    padding-left: 1.2em;
  }
}

.con_int {
  background: var(--color-bg07);
  margin-right: 0;
  margin-left: auto;
  padding-top: 11.66rem;
  padding-bottom: 11.66rem;
  border-top-left-radius: 1.66rem;
  border-bottom-left-radius: 1.66rem;
  z-index: 1;
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .con_int {
    width: calc(1310 / 1440 * 100%);
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .con_int {
    width: calc(408 / 428 * 100%);
    padding-top: 8rem;
    padding-top: 6rem;
    padding-bottom: 4.16rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_int .box_txt {
    width: calc(450 / 1310 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_int .box_txt {
    width: calc(500 / 1310 * 100%);
  }
}
.con_int .box_txt > .inner {
  width: calc(330 / 450 * 100%);
  max-width: 27.5rem;
  padding-top: .75em;
  width: 92%;
}
@media only screen and (max-width: 767px) {
  .con_int .box_txt > .inner {
    width: calc(324 / 408 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
}
.con_int .box_txt > .inner .catch01 {
  font-size: 1.67rem;
  color: #65473d;
}
.con_int .box_txt > .inner .catch02 {
  font-size: 2.17rem;
  line-height: 1.4;
  letter-spacing: calc(2 / 26 * 1em);
}
.con_int .box_txt > .inner .txt {
  line-height: calc(24 / 12);
  margin-top: 1em;
}
.con_int .box_txt > .inner .btn_int {
  margin-top: 2.75rem;
}
.con_int .box_img {
  overflow: hidden;
  margin-right: 0;
  border-top-left-radius: 0.83rem;
  border-bottom-left-radius: 0.83rem;
}
@media only screen and (min-width: 768px) {
  .con_int .box_img {
    width: calc(720 / 1310 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_int .box_img {
    margin-left: calc(44 / 408 * 100%);
    margin-top: 1.5rem;
  }
}
.con_int .box_img .swiper-wrapper {
  transition-timing-function: linear;
}
.con_int .box_img .swiper-slide {
  width: 15.91rem;
  position: relative;
  max-width: 222px;
}
@media only screen and (max-width: 767px) {
  .con_int .box_img .swiper-slide {
    width: 11.83rem;
  }
}
.con_int .box_img .swiper-slide::after {
  content: "";
  width: 100%;
  padding-bottom: calc(400 / 190 * 100%);
  display: block;
}
.con_int .box_img .swiper-slide img {
  position: absolute;
  left: 0;
  top: 0;
}
.con_int .box_img .swiper-slide .caption {
  font-size: 0.92rem;
  background-color: #231914;
  min-height: 2.33rem;
  position: absolute;
  left: 0;
  top: 0;
  padding-right: 0.83rem;
  padding-left: 0.83rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.con_news {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_news {
    width: calc(900 / 1440 * 100%);
    max-width: calc(900px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_news {
    max-width: calc(900px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_news {
    width: calc(1000 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_news {
    width: calc(388 / 428 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_news {
    margin-top: 12.5rem;
    display: flex;
    --st: calc(140 / 900 * 100%);
    --txt: calc(740 / 900 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_news {
    margin-top: 8rem;
  }
}
.con_news .box_st {
  width: var(--st);
  margin-right: auto;
  margin-left: 0;
}
@media only screen and (min-width: 768px) {
  .con_news .box_st {
    padding-top: 1em;
  }
}
.con_news .btn_news {
  margin-top: 1.66rem;
}
.con_news .box_txt {
  width: var(--txt);
  margin-right: 0;
  margin-left: auto;
}
.con_news .box_txt li {
  display: flex;
}
.con_news .box_txt li a {
  height: 7.5rem;
  width: 100%;
  display: flex;
  --time: 7.5rem;
  --cate: 6rem;
  --txt: calc(100% - var(--time) - var(--cate) - var(--arr-margin) - var(--arr));
  --arr: 0.33rem;
  --arr-margin: 3.75rem;
  text-decoration: none;
  position: relative;
  flex-wrap: wrap;
  transition-property: background-color, box-shadow, transform;
  transition-duration: .15s;
  transition-timing-function: ease-out;
}
@media only screen and (max-width: 767px) {
  .con_news .box_txt li a {
    height: 6.5rem;
    --txt: calc(100% - var(--arr-margin) - var(--arr));
  }
}
.con_news .box_txt li a::before, .con_news .box_txt li a::after {
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  bottom: 0;
  background-color: #bdb8b7;
}
.con_news .box_txt li a::after {
  background-color: #978984;
  width: 3.33rem;
}
.con_news .box_txt li a .inner {
  display: flex;
  align-items: center;
  width: calc(700 / 740 * 100%);
  margin-right: calc(18 / 740 * 100%);
  margin-left: auto;
  flex-wrap: wrap;
  position: relative;
  align-content: center;
}
@media only screen and (max-width: 767px) {
  .con_news .box_txt li a .inner {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
}
.con_news .box_txt li a .inner time {
  width: var(--time);
  line-height: 1.2;
}
.con_news .box_txt li a .inner .cate {
  color: var(--color-sub01);
  width: var(--cate);
  line-height: 1.2;
}
.con_news .box_txt li a .inner .txt {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
  width: var(--txt);
}
@media only screen and (max-width: 767px) {
  .con_news .box_txt li a .inner .txt {
    margin-top: .25em;
  }
}
.con_news .box_txt li a .inner::after {
  content: "";
  display: block;
  margin-left: var(--arr-margin);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.33rem 0 0.33rem 0.33rem;
  border-color: transparent transparent transparent var(--color-text05);
}
@media only screen and (max-width: 767px) {
  .con_news .box_txt li a .inner::after {
    transform: translateY(-50%);
    position: absolute;
    right: 0;
    top: 50%;
  }
}
.con_news .box_txt li a .inner {
  transition-property: transform;
  transition-duration: .15s;
  transition-timing-function: ease-out;
}
.mouse .con_news .box_txt li a:hover, .touch .con_news .box_txt li a.touchstart {
  background-color: #fff;
  box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.1);
}
.mouse .con_news .box_txt li a:hover .inner, .touch .con_news .box_txt li a.touchstart .inner {
  transform: translateX(0.83rem);
}
.mouse .con_news .box_txt li a:hover::after, .touch .con_news .box_txt li a.touchstart::after {
  width: 100%;
}
.touch .con_news .box_txt li a {
  -webkit-tap-highlight-color: transparent;
}
.touch .con_news .box_txt li a.touchend {
  transition-delay: 200ms;
}
.con_news .box_txt li a:focus {
  background-color: #fff;
  box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.1);
}
.con_news .box_txt li a:focus .inner {
  transform: translateX(0.83rem);
}
.con_news .box_txt li a:focus::after {
  width: 100%;
}

.con_choose {
  margin-top: 12.5rem;
  --img: 37.5rem;
  --txt: calc(100% - var(--img));
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .con_choose {
    --img: 31.66rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_choose {
    --img: 31.66rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_choose {
    margin-top: 8rem;
    --img: 100%;
    --txt: 100%;
    position: relative;
  }
  .con_choose::before {
    content: "";
    background: var(--color-bg04);
    color: #EFECE2;
    --en: #D0C9C3;
    background: url("../images/home/bg_choose-sp.jpg") no-repeat center top/cover;
    border-radius: 1.66rem;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    position: sticky;
    min-height: calc(var(--vh) * 100);
  }
  .con_choose::before [class*="tmp_st"] {
    --bdc: #fff;
    color: inherit;
  }
  .con_choose::before .tmp_st_bd {
    --en: #D0C9C3;
  }
}
.con_choose .box_sticky > .inner,
.con_choose .box_choose > .inner {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_choose .box_sticky > .inner,
  .con_choose .box_choose > .inner {
    width: calc(1000 / 1440 * 100%);
    max-width: calc(1000px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_choose .box_sticky > .inner,
  .con_choose .box_choose > .inner {
    max-width: calc(1000px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_choose .box_sticky > .inner,
  .con_choose .box_choose > .inner {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  .con_choose .box_sticky > .inner,
  .con_choose .box_choose > .inner {
    width: calc(1180 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_choose .box_sticky > .inner,
  .con_choose .box_choose > .inner {
    width: calc(368 / 428 * 100%);
  }
}
.con_choose .box_sticky {
  border-radius: 1.66rem;
  min-height: calc(var(--vh) * 100);
  position: sticky;
  top: 0;
}
@media only screen and (min-width: 768px) {
  .con_choose .box_sticky {
    background: var(--color-bg04);
    color: #EFECE2;
    --en: #D0C9C3;
    background: url("../images/home/bg_choose.webp") no-repeat center top/cover;
  }
  .con_choose .box_sticky [class*="tmp_st"] {
    --bdc: #fff;
    color: inherit;
  }
  .con_choose .box_sticky .tmp_st_bd {
    --en: #D0C9C3;
  }
}
@media only screen and (max-width: 767px) {
  .con_choose .box_sticky {
    position: relative;
    background: var(--color-bg04);
    color: #EFECE2;
    --en: #D0C9C3;
    background: none;
    z-index: 1;
    min-height: auto;
    margin-top: calc(var(--vh) * 100 * -1);
  }
  .con_choose .box_sticky [class*="tmp_st"] {
    --bdc: #fff;
    color: inherit;
  }
  .con_choose .box_sticky .tmp_st_bd {
    --en: #D0C9C3;
  }
  .con_choose .box_sticky::before {
    content: "";
    border-radius: 1.66rem;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 60%, transparent);
    z-index: -1;
  }
}
.con_choose .box_sticky > .inner {
  padding-top: 10rem;
  padding-bottom: 12.5rem;
}
@media only screen and (max-width: 767px) {
  .con_choose .box_sticky > .inner {
    padding-top: calc(4.16rem);
    padding-bottom: 2em;
  }
}
.con_choose .box_sticky .box_txt {
  width: var(--txt);
}
.con_choose .box_sticky .box_txt .st_choose {
  overflow: hidden;
}
.con_choose .box_sticky .box_txt .st_choose .st1 {
  margin-top: 1em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 767px) {
  .con_choose .box_sticky .box_txt .st_choose .st1 {
    margin-right: -5em;
    display: block;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .con_choose .box_sticky .box_txt .st_choose .st1 .en {
    font-size: 7.08rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_choose .box_sticky .box_txt .st_choose .st1 .en {
    font-size: 5.83rem;
  }
}
.con_choose .box_sticky .box_txt .st_choose .st2 {
  display: block;
  margin-top: 2.5em;
  margin-bottom: 1.75em;
  letter-spacing: calc(2 / 16 * 1em);
}
@media only screen and (max-width: 767px) {
  .con_choose .box_sticky .box_txt .st_choose .st2 {
    margin-top: 1.25em;
    margin-bottom: .75em;
  }
  .con_choose .box_sticky .box_txt .st_choose .st2 .jp.s16 {
    font-size: 1.42rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_choose .box_choose {
    margin-top: calc(var(--vh) * 100 * -1);
  }
}
@media only screen and (max-width: 767px) {
  .con_choose .box_choose {
    padding-bottom: 5em;
  }
}
.con_choose .box_choose .box_img {
  width: var(--img);
  margin-right: 0;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .con_choose .box_choose .box_img {
    padding-top: 10rem;
    padding-bottom: 12.5rem;
  }
}
.con_choose .box_choose .box_img .swiper-slide {
  color: var(--color-text04);
  background: var(--color-bg01);
  height: 40rem;
  border-radius: 0.41rem;
  overflow: hidden;
  height: 100%;
  padding: 0.83rem;
}
.con_choose .box_choose .box_img .swiper-slide [class*="tmp_st"] {
  color: inherit;
}
.con_choose .box_choose .box_img .swiper-slide:not(:last-child) {
  margin-bottom: 4.16rem;
}
@media only screen and (max-width: 767px) {
  .con_choose .box_choose .box_img .swiper-slide:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_choose .box_choose .box_img .swiper-slide {
    height: auto;
  }
}
.con_choose .box_choose .box_img .swiper-slide > .inner {
  width: 100%;
  border-radius: 0.41rem;
  padding-top: 2.33rem;
  padding-bottom: 2.33rem;
  height: 100%;
  border: 1px solid var(--color-text03);
}
.con_choose .box_choose .box_img .swiper-slide > .inner .img {
  width: 100%;
}
.con_choose .box_choose .box_img .swiper-slide > .inner .img img {
  border-radius: 0.41rem;
}
.con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 {
  width: calc(360 / 430 * 100%);
  margin-right: auto;
  margin-left: auto;
  display: flex;
  position: relative;
  flex-direction: column;
}
@media only screen and (min-width: 1025px) {
  .con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 {
    max-width: 418px;
  }
}
.con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 .st {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 .st .jp {
    font-size: 1.38rem;
  }
}
.con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 .st .num {
  font-family: "EB Garamond", serif;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  font-size: 2.92rem;
  position: absolute;
  line-height: 1;
  left: -.5em;
  top: -.25em;
  display: block;
  color: var(--color-text07);
}
.con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 .txt {
  font-size: 1rem;
  line-height: 2;
  margin-top: .75rem;
}
.con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 .btn {
  margin-top: .5em;
  margin-right: -.85em;
  margin-left: -.85em;
}
.con_choose .box_choose .box_img .swiper-slide > .inner > .inner2 .img {
  order: -1;
}

.wrp_able {
  padding-top: 12.5rem;
  width: 100%;
  background: var(--color-bg03);
  overflow: hidden;
  padding-bottom: 7.08rem;
}
@media only screen and (max-width: 767px) {
  .wrp_able {
    padding-top: 6.66rem;
    padding-bottom: 5rem;
  }
}

.con_able {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_able {
    width: calc(1000 / 1440 * 100%);
    max-width: calc(1000px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_able {
    max-width: calc(1000px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_able {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_able {
    width: calc(348 / 428 * 100%);
  }
}
.con_able .box_able {
  margin-top: 4.16rem;
}
@media only screen and (max-width: 767px) {
  .con_able .box_able {
    margin-top: 3rem;
  }
}
.con_able .box_able .swiper-slide {
  width: 25.83rem;
  background-color: #fff;
  border-radius: 0.41rem;
}
@media only screen and (max-width: 767px) {
  .con_able .box_able .swiper-slide {
    width: 20.83rem;
  }
}
.con_able .box_able .swiper-slide:not(:last-child) {
  margin-right: 2.91rem;
}
@media only screen and (max-width: 767px) {
  .con_able .box_able .swiper-slide:not(:last-child) {
    margin-right: 1.66rem;
  }
}
.con_able .box_able .swiper-slide a {
  padding-top: 1.25rem;
  padding-bottom: 1.66rem;
  display: block;
  text-decoration: none;
}
.con_able .box_able .swiper-slide a > .inner {
  width: calc(270 / 310 * 100%);
  margin-right: auto;
  margin-left: auto;
}
.con_able .box_able .swiper-slide a > .inner::after {
  content: "";
  display: block;
  margin-right: 0;
  margin-left: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.33rem 0 0.33rem 0.33rem;
  border-color: transparent transparent transparent #555555;
}
.con_able .box_able .swiper-slide .st {
  color: var(--color-text07);
}
.con_able .box_able .swiper-slide .st .jp {
  display: flex;
  align-items: flex-start;
  --icon: 5.16rem;
  --t: calc(100% - var(--icon));
}
.con_able .box_able .swiper-slide .st .jp .t {
  width: var(--t);
}
@media only screen and (max-width: 767px) {
  .con_able .box_able .swiper-slide .st .jp .t {
    display: block;
  }
  .con_able .box_able .swiper-slide .st .jp .t .inn {
    display: block;
    margin-right: -3em;
  }
}
.con_able .box_able .swiper-slide .st .jp .t .num {
  font-size: 1.67rem;
  font-family: "EB Garamond", serif;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  display: block;
  margin-left: 0;
  margin-right: auto;
  margin-bottom: 2.2em;
  margin-top: .1em;
  margin-left: .1em;
}
.con_able .box_able .swiper-slide .st .jp .icon {
  border-radius: 50%;
  width: var(--icon);
  background-color: var(--color-text02);
  aspect-ratio: 1 / 1;
  margin-right: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.con_able .box_able .swiper-slide .st .jp .icon img {
  height: auto !important;
  aspect-ratio: 1;
}
.con_able .box_able .swiper-slide .st .jp .icon.ic_able01 img {
  width: 1.72rem;
  aspect-ratio: 20.71 / 29;
}
.con_able .box_able .swiper-slide .st .jp .icon.ic_able02 img {
  width: 2.16rem;
  aspect-ratio: 26 / 17;
}
.con_able .box_able .swiper-slide .st .jp .icon.ic_able03 img {
  width: 2rem;
}
.con_able .box_able .swiper-slide .st .jp .icon.ic_able04 img {
  width: 2.43rem;
  aspect-ratio: 29.26 / 29.64;
}
.con_able .box_able .swiper-slide .st .jp .icon.ic_able05 img {
  width: 2.43rem;
  aspect-ratio: 29.26 / 32.11;
}
.con_able .box_able .swiper-slide .st .jp .icon.ic_able06 img {
  width: 2.25rem;
  aspect-ratio: 27 / 27;
}
.con_able .box_able .swiper-slide .txt {
  line-height: 1.8;
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  .con_able .box_able .swiper-slide .txt {
    min-height: 5.4em;
  }
}
.con_able .box_btns {
  margin-top: 5rem;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .con_able .box_btns {
    flex-wrap: wrap;
    margin-top: 2rem;
  }
}
.con_able .box_btns .swiper_ctrls {
  width: 50%;
  position: relative;
  margin-top: 0;
  --margin: 1em;
}
@media only screen and (max-width: 767px) {
  .con_able .box_btns .swiper_ctrls {
    width: 100%;
  }
}
.con_able .box_btns .btn_able {
  width: 50%;
  margin-right: 0;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .con_able .box_btns .btn_able {
    width: 100%;
    margin-top: 2rem;
  }
}

.con_scene {
  background: var(--color-bg04);
  color: #EFECE2;
  --en: #D0C9C3;
  padding-top: 20.41rem;
  border-top-left-radius: 1.66rem;
  border-top-right-radius: 1.66rem;
  position: relative;
}
.con_scene [class*="tmp_st"] {
  --bdc: #fff;
  color: inherit;
}
.con_scene .tmp_st_bd {
  --en: #D0C9C3;
}
.con_scene::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  border-top-left-radius: 0.83rem;
  border-top-right-radius: 0.83rem;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .con_scene {
    padding-top: 8.33rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_scene:not(.lazyload)::before {
    aspect-ratio: 1440 / 1300;
    background-image: url("../images/home/bg_usage.jpg");
  }
}
@media only screen and (max-width: 767px) {
  .con_scene:not(.lazyload)::before {
    aspect-ratio: 428 / 1242;
    background-image: url("../images/home/bg_usage-sp.jpg");
  }
}
.con_scene .st_scene {
  position: relative;
}
.con_scene .st_scene .sub_en {
  text-align: center;
}
.con_scene .st_scene .sub_en .en {
  opacity: .15;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .con_scene .st_scene .sub_en .en {
    font-size: 8.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_scene .st_scene .sub_en .en {
    font-size: 4.17rem;
  }
}
.con_scene .txt_scene {
  position: relative;
  z-index: 1;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .con_scene .txt_scene {
    margin-top: 1em;
  }
}
.con_scene ul {
  margin-top: 3.5rem;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_scene ul {
    width: calc(1180 / 1440 * 100%);
    max-width: calc(1180px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_scene ul {
    max-width: calc(1180px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_scene ul {
    width: calc(1180 / 1440 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_scene ul {
    padding-bottom: 10rem;
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .con_scene ul {
    width: calc(357 / 428 * 100%);
    margin-top: 2.25rem;
    padding-bottom: 6.25rem;
  }
}
.con_scene ul li {
  border-radius: 0.83rem;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .con_scene ul li {
    --parent: 1180;
    --col: 3;
    --width: 372;
    --mtz: 1;
    --margin: calc((var(--parent) - (var(--width) * var(--col))) / (var(--col) - 1));
    width: calc(var(--width) / var(--parent) * 100%);
  }
  .con_scene ul li:not(:nth-child(3n+1)) {
    margin-left: calc(var(--margin) / var(--parent) * 100%);
  }
  .con_scene ul li:nth-child(n+4) {
    margin-top: calc(calc(var(--margin) / var(--parent) * 100%) * var(--mtz));
  }
}
@media only screen and (max-width: 767px) {
  .con_scene ul li:not(:first-child) {
    margin-top: 2.5rem;
  }
}
.con_scene ul li a {
  display: block;
  position: relative;
}
.con_scene ul li a .tag {
  position: absolute;
  left: 0;
  top: 0;
  background-color: #fff;
  width: 2.91rem;
  min-height: 10.83rem;
  color: var(--color-text04);
  display: flex;
  align-items: center;
  padding-top: 1em;
  padding-bottom: 1em;
}
@media only screen and (max-width: 767px) {
  .con_scene ul li a .tag {
    min-height: 7.91rem;
    justify-content: center;
  }
}
.con_scene ul li a .tag span {
  font-size: 1.25rem;
  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;
}

.con_pack {
  background: var(--color-bg07);
  margin-right: auto;
  margin-left: auto;
  position: relative;
  border-radius: 0.83rem;
  padding-bottom: 8.75rem;
  padding-top: 8.75rem;
}
@media only screen and (min-width: 1025px) {
  .con_pack {
    width: calc(1260 / 1440 * 100%);
    max-width: calc(1260px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_pack {
    max-width: calc(1260px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_pack {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_pack {
    width: calc(400 / 428 * 100%);
    padding-top: 5.83rem;
    padding-bottom: 5rem;
  }
}
.con_pack::before {
  content: "";
  display: block;
  position: absolute;
  --pos: 1.25rem;
  top: var(--pos);
  left: var(--pos);
  right: var(--pos);
  bottom: var(--pos);
  border-radius: 0.83rem;
  border: 1px solid var(--color-sub02);
}
@media only screen and (max-width: 767px) {
  .con_pack::before {
    --pos: 0.83rem;
  }
}
.con_pack > .inner {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .con_pack .st_pack .en.s60 {
    font-size: 4.17rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_pack .st_pack .jp {
    margin-top: 0;
  }
}
.con_pack .txt_pack {
  text-align: center;
  margin-top: 1.25em;
}
.con_pack ul {
  width: calc(1000 / 1260 * 100%);
  display: flex;
  margin-right: auto;
  margin-left: auto;
  margin-top: 4.5em;
}
@media only screen and (max-width: 767px) {
  .con_pack ul {
    flex-wrap: wrap;
    margin-top: 1.66rem;
    width: calc(348 / 400 * 100%);
  }
}
.con_pack li {
  background-color: #fff;
  box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.2);
}
@media only screen and (min-width: 768px) {
  .con_pack li {
    --parent: 1000;
    --col: 4;
    --width: 225;
    --mtz: 1;
    --margin: calc((var(--parent) - (var(--width) * var(--col))) / (var(--col) - 1));
    width: calc(var(--width) / var(--parent) * 100%);
  }
  .con_pack li:not(:nth-child(4n+1)) {
    margin-left: calc(var(--margin) / var(--parent) * 100%);
  }
  .con_pack li:nth-child(n+5) {
    margin-top: calc(calc(var(--margin) / var(--parent) * 100%) * var(--mtz));
  }
}
@media only screen and (max-width: 767px) {
  .con_pack li {
    --parent: 348;
    --col: 2;
    --width: 168;
    --mtz: 1;
    --margin: calc((var(--parent) - (var(--width) * var(--col))) / (var(--col) - 1));
    width: calc(var(--width) / var(--parent) * 100%);
  }
  .con_pack li:not(:nth-child(2n+1)) {
    margin-left: calc(var(--margin) / var(--parent) * 100%);
  }
  .con_pack li:nth-child(n+3) {
    margin-top: calc(calc(var(--margin) / var(--parent) * 100%) * var(--mtz));
  }
}
.con_pack li a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}
.con_pack li .box_txt {
  width: calc(190 / 225 * 100%);
  margin-right: auto;
  margin-left: auto;
  padding-top: .8em;
  padding-bottom: 1.25em;
}
.con_pack li .box_txt::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.41rem 0 0.41rem 0.41rem;
  border-color: transparent transparent transparent #555555;
  margin-right: 0;
  margin-left: auto;
  margin-top: 0.4em;
}
.con_pack li .box_txt .plan {
  font-size: 1.17rem;
}
@media only screen and (min-width: 768px) {
  .con_pack li .box_txt .txt {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_pack li .box_txt .txt {
    font-size: 0.92rem;
  }
}
.con_pack li .img {
  order: -1;
}
.con_pack .btn {
  margin-top: 3.16rem;
}

.con_roo {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  border-radius: 0.83rem;
  padding-bottom: 8.75rem;
  padding-top: 8.75rem;
  display: flex;
  align-items: flex-start;
}
@media only screen and (min-width: 1025px) {
  .con_roo {
    width: calc(1180 / 1440 * 100%);
    max-width: calc(1180px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_roo {
    max-width: calc(1180px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_roo {
    width: calc(1180 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_roo {
    width: calc(348 / 428 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_roo {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.con_roo .box_txt {
  width: calc(530 / 1180 * 100%);
  max-width: calc(440px * 14 / 12);
  padding-top: 1.75em;
}
@media only screen and (max-width: 767px) {
  .con_roo .box_txt {
    width: 100%;
    max-width: none;
    padding-top: 0;
  }
}
@media only screen and (min-width: 768px) {
  .con_roo .box_txt > .inner {
    width: calc(370 / 440 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 1025px) {
  .con_roo .box_txt > .inner .st_roo .en.s60 {
    margin-right: -1em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_roo .box_txt > .inner .st_roo .en.s60 {
    margin-right: -2em;
  }
}
@media only screen and (max-width: 767px) {
  .con_roo .box_txt > .inner .st_roo .en.s60 {
    font-size: 4.17rem;
  }
}
.con_roo .box_txt > .inner .txt {
  margin-top: 2.5rem;
}
.con_roo .box_txt > .inner .box_pt_links {
  margin-top: 2.1em;
}
.con_roo .box_txt > .inner .box_sp_links {
  margin-top: 1.66rem;
}
.con_roo .box_txt > .inner .box_sp_links li {
  border-radius: 0.41rem;
  box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.con_roo .box_txt > .inner .box_sp_links li:not(:first-child) {
  margin-top: 1.83rem;
}
.con_roo .box_txt > .inner .box_sp_links li a {
  background-color: #fff;
  display: block;
  text-decoration: none !important;
}
.con_roo .box_txt > .inner .box_sp_links li a .t {
  display: flex;
  align-items: center;
  width: 84%;
  margin-right: auto;
  margin-left: auto;
  height: 3.16rem;
}
.con_roo .box_txt > .inner .box_sp_links li a .t::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .3em 0 .3em .3em;
  border-color: transparent transparent transparent var(--color-text05);
  margin-right: 0;
  margin-left: auto;
}
.con_roo .box_txt > .inner .btn {
  margin-top: 3.16rem;
}
.con_roo .box_img {
  width: calc(650 / 1180 * 100%);
  order: -1;
  border-radius: 0.83rem;
  overflow: hidden;
}
.con_roo .box_img img {
  aspect-ratio: 650/550;
}

.con_acc {
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 17.5rem;
}
@media only screen and (min-width: 1025px) {
  .con_acc {
    width: calc(1000 / 1440 * 100%);
    max-width: calc(1000px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_acc {
    max-width: calc(1000px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_acc {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_acc {
    width: calc(388 / 428 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  .con_acc {
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) and (min-width: 1025px) {
  .con_acc {
    width: calc(1180 / 1440 * 100%);
    max-width: calc(1180px);
  }
}

@media only screen and (min-width: 1025px) and (max-width: 1365px) and (min-width: 1025px) and (min-width: 1441px) {
  .con_acc {
    max-width: calc(1180px * ((14 + 0) / 12));
  }
}

@media only screen and (min-width: 768px) {
  .con_acc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .con_acc {
    padding-bottom: 8rem;
  }
}
.con_acc .box_txt {
  order: -1;
}
@media only screen and (min-width: 768px) {
  .con_acc .box_txt {
    width: calc(300 / 1000 * 100%);
  }
}
.con_acc .box_txt .txt {
  margin-top: 1.5em;
}
@media only screen and (max-width: 767px) {
  .con_acc .box_txt .txt {
    margin-top: 2em;
  }
}
.con_acc .box_txt .ann {
  margin-top: 1.9em;
}
@media only screen and (max-width: 767px) {
  .con_acc .box_txt .ann {
    margin-top: 1em;
  }
}
.con_acc .box_txt .btn {
  margin-top: 2em;
}
.con_acc .box_txt .btn .inner {
  margin-right: 1.75em;
}
@media only screen and (min-width: 768px) {
  .con_acc .box_if {
    width: calc(680 / 1000 * 100%);
    margin-left: auto;
    margin-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .con_acc .box_if {
    width: 100%;
    margin-top: 2em;
  }
}
.con_acc .box_if .box_if_inner {
  aspect-ratio: 680 / 450;
  border-radius: 0.83rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .con_acc .box_if .box_if_inner {
    aspect-ratio: 1 / 1;
  }
}
.con_acc .box_if .box_if_inner iframe {
  width: 100%;
  height: 100%;
  filter: grayscale(1);
}
@media only screen and (min-width: 768px) {
  .con_acc .box_if .tmp_link {
    height: 0;
    overflow: visible;
    align-items: flex-start;
  }
  .con_acc .box_if .tmp_link a {
    padding-top: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .con_acc .box_if .tmp_link {
    margin-top: 1em;
  }
}
