@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
  font-size: 160%;
  -webkit-text-size-adjust: none;
  font-weight: 400;
}
html:focus-within {
  scroll-behavior: smooth;
}
*, ::before, ::after {
  box-sizing: border-box;
  outline: none;
}
img {
  vertical-align: middle;
  max-width: 100%;
  flex-shrink: 0;
  height: auto;
}
select {
  visibility: visible !important;
}
a {
  transition: all ease 0.3s;
  text-decoration: none;
  color: var(--txt);
}
a[href^="tel:"] {
  word-break: keep-all;
}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
  background: #fff
}
body {
  -webkit-text-size-adjust: none;
  min-width: 320px;
  color: var(--txt);
  font-family: var(--f-main)
}
body.hidden_o {
  overflow: hidden;
}
table {
  width: 100%
}
h2, h3, h4, h5, h6 {
  line-height: 1.4;
}
p, dd, dt, li, th, td, address {
  line-height: 2em;
  letter-spacing: 0;
}
p {
  margin: 0 0 1.5em;
}
p:last-child {
  margin-bottom: 0
}
.bold {
  font-weight: bold;
}
.left {
  text-align: left
}
.right {
  text-align: right;
}
.auto {
  margin-left: auto;
  margin-right: auto;
}
.red {
  color: var(--red);
}
.txt_line {
  text-decoration: underline;
}
.f_big {
  font-size: 150%;
}
.f_sm {
  font-size: 80%;
}
.m0a {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
:root {
  --txt: #000;
  --mcolor: #1a1a1a;
  --scolor: #999999;
  --container: 1440px;
  --container2: 1580px;
  --f-main: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  --f-cormor: "Cormorant SC", serif;
  --f-nts: "Noto Sans JP", sans-serif;
  /* --f-nsr: 'Noto Serif JP', serif; */
}
#wrapper {
  min-width: 1260px;
  overflow: hidden;
  margin: 0 auto
}
.inner02 {
  width: var(--container2);
  margin: 0 auto;
  position: relative;
  max-width: 100%;
}
.inner {
  width: var(--container);
  margin: 0 auto;
  position: relative;
  max-width: 100%;
}
/*==========================================================
                       H E A D E R
==========================================================*/
/* HAMBUGER BUTTON */
.hamburger {
  font: inherit;
  display: block;
  overflow: visible;
  margin: 0;
  padding: 10px 8px 5px;
  cursor: pointer;
  transition-timing-function: linear;
  transition-duration: .15s;
  transition-property: opacity, filter;
  text-transform: none;
  color: inherit;
  border: 0
}
.hamburger-box {
  position: relative;
  display: inline-block;
  width: 35px;
  height: 24px
}
.hamburger-inner {
  top: 50%;
  display: block;
  margin-top: -2px
}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
  position: absolute;
  width: 34px;
  height: 2px;
  transition: all ease 0.15s;
  background-color: #fff
}
.hamburger-inner::after, .hamburger-inner::before {
  display: block;
  content: ""
}
.hamburger-inner::before {
  top: -13px;
}
.hamburger-inner::after {
  bottom: -12px;
}
.hamburger--3dxy .hamburger-box {
  perspective: 80px
}
.hamburger--3dxy .hamburger-inner {
  transition: transform .15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0 cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy .hamburger-inner::after, .hamburger--3dxy .hamburger-inner::before {
  transition: transform cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy.is_active .hamburger-inner {
  transform: rotateX(180deg) rotateY(180deg);
  background-color: transparent !important
}
.hamburger--3dxy.is_active .hamburger-inner::before {
  transform: translate3d(0, 13px, 0) rotate(45deg);
}
.hamburger--3dxy.is_active .hamburger-inner::after {
  transform: translate3d(0, -13px, 0) rotate(-45deg);
}
.h_burger {
  cursor: pointer;
}
header {
  position: relative;
  z-index: 9;
}
header.active .h_box {
  background: rgba(0, 0, 0, .8);
}
header.active .h_box.active {
  background: transparent;
}
header.active .h_lead {
  border-color: transparent;
  padding: 10px 0;
}
.h_box {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9;
  transition: .3s ease-in-out;
}
.h_lead {
  border-bottom: 1px solid #fff;
  padding: 14px 0 13px 0;
  display: flex;
  justify-content: space-between;
  transition: .3s ease-in-out;
}
.h_sns {
  display: flex;
  margin: 0 42px 0 0;
}
nav .h_sns {
  display: none;
}
.h_inner {
  padding: 0px 40px 0 40px;
  transition: .3s ease-in-out;
}
.h_plugins {
  display: flex;
  align-items: center;
  margin: 0 15px 0 0;
}
.sns_fb {
  margin: 0 24px 0;
}
.sns_fb img {
  filter: brightness(0) invert(1);
}
.mv_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  padding: 0 0 63px 0;
  width: max-content;
}
.mv_text h2 {
  font-size: 48px;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
/* .mv_text h2 span{transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;opacity: 0;visibility: hidden;}
.mv_text h2 span:nth-child(1){transform: translateY(20px);}
.mv_text h2 span:nth-child(2){transform: translateY(20px);}
.mv_text h2 span:nth-child(3){transform: translateY(20px);} */
main.playvideo .mv_text h2 span:nth-child(1) {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}
main.playvideo02 .mv_text h2 span:nth-child(2) {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}
main.playvideo03 .mv_text h2 span:nth-child(3) {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}
main.playvideo.played .mv_text h2 span {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition-delay: 0s !important;
  transition: none !important;
}
/* main.playvideo .mv_text h2 span{visibility: visible;opacity: 1;transform: translateY(0);} */
.mv_news_post dl {
  display: flex;
  margin: 0 0 0px 0;
}
/* .mv_banner{position: absolute;bottom: 25px;right: 23px;} */
.mv_banner {
  position: fixed;
  bottom: 25px;
  right: 40px;
  z-index: 5;
  transition: 0s all;
  display: none
}
/* nav{position: fixed;top: 0;left: 0;width: 100%;height: 100%;z-index: 8;background: #1a1a1a;padding: 257px 0 0 0;display: none;} */
nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 8;
  background: #1a1a1a;
  padding: 70px 0 0 0;
  display: none;
}
/* .nav_item li a{display: inline-block;color: #fff;font-size: 18px;font-family: var(--f-nts);font-weight: 300;position: relative;} */
.nav_item li a {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-family: var(--f-nts);
  font-weight: 300;
  position: relative;
}
/* .nav_item li a::before{content: '';position: absolute;bottom: -3px;left: 0;width: 0;height: 1px;background: #fff;transition: .3s ease-in-out;} */
/* .nav_ttl p{color: #fff;font-size: 24px;border-bottom: 1px solid #fff;text-align: center;padding: 0 0 8px 0;} */
.nav_ttl p {
  color: #fff;
  font-size: 20px;
  border-bottom: 1px solid #fff;
  text-align: center;
  padding: 0 0 8px 0;
}
.nav_tel {
  margin: 20px 0 0 62px;
}
.nav_item li:not(:last-child) {
  margin: 0 0 5px 0;
}
.nav_cmp01 {
  display: flex; /* align-items: center; */
}
.nav_tel a {
  display: inline-block;
  color: #fff;
  font-size: 45px;
  padding: 0 0 0 57px;
  position: relative;
}
.nav_tel a::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 0;
  width: 38px;
  height: 25px;
  background: url(../images/tel_ic03.png) no-repeat center/100%;
}
.nav_list {
  border-bottom: 1px solid #fff;
  padding: 0 0 70px 0;
  margin: 0 0 30px 0;
}
.nav_ttl {
  margin: 0 0 20px 0;
}
.nav_booking {
  margin: 37px 0 0 6px;
}
.nav_booking p {
  color: #fff;
  font-size: 16px;
  font-weight: 200;
  font-family: var(--f-nts);
  letter-spacing: 0.05em;
}
.nav_cmp02 .addr p {
  color: #fff;
  font-size: 16px;
  font-family: var(--f-nts);
  font-weight: 200;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.nav_cmp02 .note p {
  color: #fff;
  font-size: 16px;
  font-family: var(--f-nts);
  font-weight: 200;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.nav_cmp02 {
  margin: 5px 0 0 0;
}
.nav_cmp02 .addr {
  margin: 0 0 8px 0;
}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
  position: relative;
  z-index: 4;
}
.mv {
  padding: 0;
  position: relative;
}
/* .mv_background{width: 100%;max-height: 960px;height: 100vh;background: url(../images/main_visual_img01.jpg) no-repeat center/cover;} */
.mv_background {
  width: 100%;
  max-height: 960px;
  height: 100vh;
  position: relative;
}
.mv_background .mv_video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mv_background .mv_video::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4);
}
.mv_background .mv_video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@keyframes zoomImg {
  0% {
    transform: scale(1.2)
  }
  100% {
    transform: scale(1.0)
  }
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl_h3 {
  text-align: center;
  font-weight: bold;
}
.ttl_h3:not(:last-child) {
  margin-bottom: 30px;
}
.ttl_h3 span {
  display: block;
}
.ttl_h3 .ja {
  font-size: 32px;
}
.ttl_h3 .en {
  font-size: 16px;
}
/* DEFAUTL NAME BUTTON */
.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 20px;
  font-family: var(--f-cormor);
  background: #1a1a1a;
  width: 240px;
  height: 60px;
  border: 3px solid rgba(255, 255, 255, 0.85);
  position: relative;
}
.btn.line a::after {
  background: url(../images/btn_ic01.png) no-repeat center/100%
}
.btn a::after {
  content: '';
  position: absolute;
  top: calc((100% - 8px)/2);
  right: -30px;
  width: 54px;
  height: 5px;
  background: url(../images/btn_ic.png) no-repeat center/100%;
  transition: .3s ease-in-out;
}
.btn.center a {
  margin-left: auto;
  margin-right: auto;
}
.btn_box:not(:last-child) {
  margin-bottom: 30px;
}
.btn_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.btn_box .btn {
  margin: 10px;
}
.mv_news {
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  max-width: 780px;
  height: 134px;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 0 50px 0 40px;
}
section {
  padding: 40px 0;
}
.mv_news_ttl p {
  font-size: 28px;
  font-weight: 300;
  font-family: var(--f-cormor);
  letter-spacing: 0.05em;
}
.mv_news_post .years {
  font-size: 16px;
  color: #808080;
  margin: 0 30px 0 0;
}
.mv_news_post .title {
  display: inline-block;
  color: #000;
  font-weight: 500;
  letter-spacing: 0;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
  position: relative;
}
.mv_news_post .title::before {
  content: '';
  position: absolute;
  bottom: 3px;
  left: 0;
  width: 0%;
  height: 1px;
  background: #000;
  transition: .3s ease-in-out;
}
.mv_news_ttl {
  margin: 0px 78px 0 0;
}
.slide_box {
  position: fixed;
  top: 147px;
  right: 0;
  z-index: 5;
}
.slide_box_item {
  width: 180px;
  height: 140px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: .3s ease-in-out;
  position: relative;
}
.slide_box_item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.slide_box_item.house {
  background: #f6f5f2;
}
.slide_box_item.house span {
  letter-spacing: -1px;
}
.slide_box_item span {
  display: inline-block;
  font-size: 16px;
  position: relative;
  padding: 53px 0 0 0;
  font-weight: 500;
  letter-spacing: 0;
  color: #000;
  transition: .3s ease-in-out;
}
.slide_box_item a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}
.under .slide_box_item.person, .under .slide_box_item.book {
  background: #f6f5f2;
}
/* .slide_box_item.book{background: #1a1a1a;} */
/* .slide_box_item.book span{color: #fff;} */
/* .slide_box_item.book a{color: #fff;} */
.slide_box_item.book span::before {
  content: '';
  position: absolute;
  top: 6px;
  left: calc((100% - 32px)/2);
  width: 32px;
  height: 30px;
  background: url(../images/item_box01.png) no-repeat center/100%;
  transition: .3s ease-in-out;
}
.slide_box_item.house span::before {
  content: '';
  position: absolute;
  top: 0;
  left: calc((100% - 42px)/2);
  width: 42px;
  height: 40px;
  background: url(../images/item_box02.png) no-repeat center/100%;
  transition: .3s ease-in-out;
}
.slide_box_item.person span::before {
  content: '';
  position: absolute;
  top: 5px;
  left: calc((100% - 56px)/2);
  width: 56px;
  height: 34px;
  background: url(../images/item_box03.png) no-repeat center/100%;
  transition: .3s ease-in-out;
}
.slide_box_item:not(:last-child) {
  margin: 0 0 20px 0;
}
/* .slide_box_item.person{display: none;} */
.slide_box.show .slide_box_item {
  width: 160px;
  height: 100px;
}
.sec_ttl p.en {
  font-size: 100px;
  font-weight: 300;
  font-family: var(--f-cormor);
  margin: 0;
  line-height: 1;
  letter-spacing: 0.05em;
}
.sec_ttl p.ja {
  margin: 7px 0 0 4px;
  line-height: 1;
  font-size: 24px;
  letter-spacing: -1px;
}
/*============= SEC01 ==============*/
.sec01 {
  padding: 161px 0 176px 0;
  position: relative;
}
.sec01_ovn {
  padding-bottom: 0px;
}
.sec01::before {
  content: '';
  position: absolute;
  top: 208px;
  left: 162px;
  width: 1580px;
  height: 330px;
  background: #f6f5f2;
  z-index: -1;
}
.sec01 .inner {
  position: relative;
}
.sec01 .slick-next::before, .sec01 .slick-prev::before {
  display: none;
}
.sec01 .slick-next::after {
  content: '';
  position: absolute;
  top: calc((100% - 34px));
  left: calc((100% - 30px));
  width: 14px;
  height: 20px;
  background: url(../images/s4_btn.png) no-repeat center/100%;
  transition: .3s ease-in-out;
}
.sec01 .slick-prev::after {
  content: '';
  position: absolute;
  top: calc((100% - 20px)/2);
  left: calc((100% - 34px));
  width: 14px;
  height: 20px;
  background: url(../images/s4_btn_prev.png) no-repeat center/100%;
  transition: .3s ease-in-out;
}
.sec01 .inner::before {
  content: '';
  z-index: -1;
  width: 100%;
  height: 330px;
  background: #f6f5f2;
  position: absolute;
  top: 47px;
  left: 0;
}
.sec01 .slick-prev, .sec01 .slick-next {
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  z-index: 3;
  top: 40%;
  transition: .3s ease-in-out;
}
.sec01 .slick-next {
  right: 10px;
}
.sec01 .slick-prev {
  left: 10px;
}
.s1_head {
  padding: 0 0 0 67px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.s1_left {
  display: flex;
  align-items: flex-end;
}
.s1_description p {
  line-height: 1.8;
  font-size: 18px;
  letter-spacing: 0;
  font-weight: 500;
}
/* .s1_description{margin: 0px 0 -6px 87px;} */
.s1_description {
  margin: 0px 0 -6px 30px;
}
.s1_right {
  padding: 0 70px 0 0;
}
.s1_right .btn {
  margin: 0 0 -3px 0;
}
/* .s1_col:not(:last-child){margin: 0 64px 0 0;} */
.s1_col {
  width: 384px;
  position: relative;
  margin: 0 32px;
  transition: .3s ease-in-out;
}
.s1_col.hide {
    display: none !important;
}
.s1_col a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.s1_years p {
  font-size: 16px;
  color: #808080;
  line-height: 1.2;
}
.s1_years {
  margin: 0 0 7px 0;
}
.s1_desc p {
  font-size: 18px;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
}
.s1_fix .s1_desc p {
  display: block;
  line-height: 1.8;
}
/* .s1_content{padding: 56px 0 0 150px ;} */
.s1_content {
  padding: 56px 100px 0 150px;
}
/* .s1_list,.s1_list02{display: flex;} */
.s1_list {
  display: flex;
}
.s1_img {
  margin: 0 0 20px 0;
  height: 284px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #d9d9d9;
  overflow: hidden;
}
.s1_img img {
  max-height: 284px;
  width: auto;
  transition: .3s ease-in-out;
  height: 100%;
  object-fit: cover;
}
.s1_img p {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*============= SEC02 ==============*/
.sec02 {
  background: #191919;
  padding: 160px 0 177px 0;
}
.s2_head {
  display: flex;
  color: #fff;
  justify-content: space-between;
  align-items: flex-end;
}
.s2_left {
  display: flex;
}
.s2_desc {
  margin: 75px 0 0 37px;
}
.s2_desc p {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0;
}
.s2_btn {
  margin: 0 0 10px 0;
}
.s2_ttl p {
  font-size: 24px;
  color: #fff;
  letter-spacing: -2.5px;
  line-height: 1.4;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
}
.s2_ttl {
  margin: 0 0 7px 0;
}
.s2_text p {
  font-size: 16px;
  color: #fff;
  font-family: var(--f-nts);
  font-weight: 200;
  line-height: 1.6;
  letter-spacing: 0;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
}
.s2_img {
  width: 100%;
  height: 580px;
  background: #fff;
  overflow: hidden;
  margin: 0 0 25px 0px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* .s2_img img{max-height: 580px;transition: .3s ease-in-out;} */
.s2_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .3s ease-in-out;
}
.s2_img p {
  width: 100%;
  height: 100%;
}
.s2_content {
  margin: 54px 0 0 0;
}
.s2_item {
  width: 428px;
  position: relative;
}
.s2_item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.s2_item:not(:last-child) {
  margin: 0 78px 0 0;
}
.s2_list {
  display: flex;
  position: relative;
  flex-wrap: wrap;
}
.s2_item_f {
  width: 25%;
}
.s2_list::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4);
}
.s2_btn_f {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/*============= SEC03 ==============*/
.sec03 {
  background: #f6f5f2;
  padding: 160px 0 159px 0;
}
.s3_description p {
  font-size: 16px;
  font-family: var(--f-nts);
  line-height: 1.7;
}
.s3_head {
  display: flex;
  justify-content: space-between;
}
.s3_left {
  display: flex;
}
.s3_description {
  margin: 50px 0px 0 20px;
}
.s3_btn {
  margin: 62px 0 0 0;
}
.s3_onright {
  width: 414px;
  margin: 76px 0 0 0;
}
.s3_content {
  display: flex;
  justify-content: space-between;
}
.sec_box_title p {
  font-size: 36px;
  line-height: 1.75;
}
.s3_onleft {
  padding: 65px 0 0 0;
}
.sec_box_desc p {
  font-family: var(--f-nts);
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0;
  margin: 0 0 35px 0;
}
.sec_box_desc p:last-child {
  margin: 0;
}
.sec_box_desc {
  margin: 41px 0 56px 0;
}
.sec_box_step li {
  width: 500px;
  height: 60px;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 0 6px 0 6px;
  margin: 0 0 16px 0;
}
.sec_box_step li:last-child {
  margin: 0;
}
.sec_box_step li .number {
  width: 38px;
  height: 38px;
  background: #5e5f60;
  border: 2px solid rgba(255, 255, 255, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  color: #fff;
  padding: 3px 0 0 0px;
  margin: 0 13px 0 0;
  flex-shrink: 0;
}
.sec_box_step li .txt {
  font-size: 20px;
  color: #191919;
  letter-spacing: -2px;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
  transition: .3s ease-in-out;
}
.s3_oncenter {
  padding: 55px 0 0 53px;
}
.s3_list {
  width: 100%;
}
.s3_item {
  width: 100%;
  height: 132px;
  background: #191919;
  margin: 0 0 14px 0;
  display: flex;
  align-items: center;
  padding: 0 0 0 40px;
}
.s3_alpha {
  width: 50px;
  height: 50px;
  background: #5e5f60;
  border: 3px solid rgba(255, 255, 255, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 0 0 0;
  margin: 0 58px 0 0;
}
.s3_alpha p {
  font-size: 44px;
  color: #fff;
}
.s3_item:last-child {
  margin: 0 0 0 0;
}
/*============= SEC04 ==============*/
.sec04 {
  background: url(../images/s4_bg.jpg) repeat center/100%;
  padding: 162px 0 112px 0;
}
.s4_flex {
  display: flex;
}
.s4_bdo {
  flex-shrink: 0;
}
.s4_list {
  padding: 0 0 0 80px;
}
.s4_list .slick-prev, .s4_list .slick-next {
  z-index: 99;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.s4_list .slick-prev::before, .s4_list .slick-next::before {
  display: none
}
.s4_list .slick-prev {
  background: url("../images/s4_btn_prev.png")rgba(255, 255, 255, 0.8) no-repeat center/14px;
}
.s4_list .slick-next {
  background: url("../images/s4_btn.png")rgba(255, 255, 255, 0.8) no-repeat center/14px;
}
.s4_list .slick-prev {
  left: 63px;
  top: 45%;
}
.s4_list .slick-next {
  left: 517px;
  top: 45%;
  right: auto
}
.s4_desc p {
  font-size: 18px;
  color: #fff;
  font-weight: 300;
}
.s4_head {
  display: flex;
  justify-content: space-between;
}
.s4_left {
  display: flex;
}
.s4_head .sec_ttl {
  color: #fff;
}
.s4_desc {
  margin: 70px 0 0 41px;
}
.s4_list .slick-track {
  display: flex;
  align-items: flex-end;
}
.s4_btn {
  margin: 65px 0 0 0;
}
/* .s4_item{width: 468px;height: 662px;background: #fff;margin: 0 24px 0 0;padding: 14px;position: relative;} */
.s4_item {
  width: 468px;
  height: auto;
  background: #fff;
  margin: 0 24px 0 0;
  padding: 14px;
  position: relative;
  transition: .1s all;
}
/* .s4_item.zoom{height: 722px;} */
.s4_item.zoom {
  height: auto;
}
.s4_item.zoom::before {
  opacity: 0;
}
.s4_item.zoom .s4_info {
  color: #000;
}
.s4_item.zoom .s4_btn_item p {
  filter: unset;
}
.s4_item.zoom .s4_ttl_ja p {
  color: #000;
}
.s4_item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .8);
  z-index: 1;
  transition: .3s ease-in-out;
}
.s4_item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
.s4_content {
  margin: 49px 0 0 0;
  padding: 0 0 0 210px; /* height: 752px; */
}
.s4_ttl_en .small {
  margin: 0 0 -5px 0;
  font-family: var(--f-cormor);
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
/* .s4_ttl_en{display: none;} */
.s4_ttl_en {
  margin: 0 0 10px 0;
}
.s4_ttl_en .large {
  margin: 0 0 8px 0;
  font-family: var(--f-cormor);
  font-size: 48px;
  line-height: 1.2;
  letter-spacing: 0.07em;
}
/* .s4_ttl_ja p{font-size: 16px;font-family: var(--f-nts);color: #808080;font-weight: 300;line-height: 1.4;letter-spacing: 0;} */
.s4_ttl_ja p {
  font-size: 26px;
  color: #fff;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0;
}
.s4_item_img {
  margin: 0 0 10px 0;
  overflow: hidden;
  position: relative;
  transition: .3s all;
}
.s4_item_img p {
  width: 100%;
  height: 100%;
}
.s4_item.zoom .s4_item_img {
  height: 603px;
}
.s4_item.zoom .s4_item_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s4_item_img img {
  transition: .3s ease-in-out;
}
.s4_info {
  display: flex;
  margin: 0 0 0 12px;
  justify-content: space-between;
  align-items: center;
  transition: .3s ease-in-out;
  position: relative;
  z-index: 2;
  color: #fff;
}
.s4_btn_item {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1px solid #e5e5e5;
  display: flex;
  justify-content: center;
  align-items: center;
}
.s4_btn_item p {
  background: url(../images/s4_btn.png) no-repeat center/100%;
  width: 10px;
  height: 15px;
  transition: .3s ease-in-out;
  filter: brightness(0) invert(1);
}
.s4_bdo p {
  width: 100%;
}
.sec04 .slick-dots {
  position: absolute;
  top: 0;
  bottom: unset;
  left: -278px;
  width: 277px !important;
  height: 100%;
  background: rgba(255, 255, 255, 0);
}
.sec04 .slick-dots li {
  transition: .3s all;
}
.sec04 .slick-dots li:nth-child(1) {
  position: absolute;
  top: 274px;
  left: 3px;
  width: 35px;
  height: 40px;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
}
.sec04 .slick-dots li:nth-child(2) {
  position: absolute;
  top: 200px;
  left: 2px;
  width: 40px;
  height: 55px;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
}
.sec04 .slick-dots li:nth-child(3) {
  position: absolute;
  top: 136px;
  left: 13px;
  width: 39px;
  height: 48px;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
}
.sec04 .slick-dots li:nth-child(4) {
  position: absolute;
  top: 29px;
  left: 99px;
  width: 44px;
  height: 37px;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
}
.sec04 .slick-dots li:nth-child(5) {
  position: absolute;
  top: 48px;
  left: 166px;
  width: 46px;
  height: 30px;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
}
.sec04 .slick-dots li:nth-child(6) {
  position: absolute;
  top: 512px;
  left: 57px;
  width: 54px;
  height: 127px;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
}
.sec04 .slick-dots li.slick-active {
  opacity: 1;
}
.sec04 .slick-dots li button::before {
  opacity: 0;
}
/*============= SEC05 ==============*/
.sec05 {
  padding: 161px 0 80px 0;
}
.s5_head {
  display: flex;
  justify-content: space-between;
  margin: 0 0 55px 0;
}
.s5_left {
  display: flex;
}
.sec05 .sec_ttl p.en {
  letter-spacing: 0.02em;
}
.s5_desc p {
  font-size: 18px;
  font-weight: 500;
}
.sec05 .sec_ttl p.ja {
  font-weight: 500;
}
.s5_desc {
  margin: 70px 0 0 45px;
}
.s5_btn {
  margin: 75px 0 0 0;
}
.sec05 .sec_box_step li {
  background: #f6f5f2;
  width: 350px;
  position: relative;
  transition: .3s ease-in-out;
}
.sec05 .sec_box_step li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.s5_content {
  display: flex;
  justify-content: space-between;
}
.s5_onright {
  margin: 13px 0 0 0;
}
/*============= SEC06 ==============*/
.s6_bg {
  background: url(../images/s6_bg.jpg) no-repeat center/cover;
  width: 1280px;
  height: 480px;
  margin: 0 auto;
  display: flex; /* align-items: center; */ justify-content: center;
  padding: 107px 0 0 0;
}
.s6_txt p {
  text-align: center;
  font-size: 32px;
  color: #fff;
  line-height: 1.8;
  letter-spacing: 0;
}
/*============= SEC07 ==============*/
/* .sec07{padding: 161px 0 240px 0;} */
.sec07 {
  padding: 80px 0 240px 0;
}
.sec07.s8_bg {
  padding: 0 0 180px 0;
}
.s7_desc p {
  font-size: 18px;
  letter-spacing: -1px;
  font-weight: 500;
}
.s7_head {
  display: flex;
}
.s7_desc {
  margin: 70px 0 0 40px;
}
.s7_content {
  position: relative;
  height: 600px;
  margin: 50px 0 0 0;
  width: 100%;
  padding: 172px 161px 0 0;
}
.s7_content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1600px;
  height: 540px;
  background: url(../images/s7_img01.jpg) no-repeat center/100%;
  z-index: -1;
}
.s8_bg .s7_content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1600px;
  height: 540px;
  background: url(../images/s8_img01_fix.jpg) no-repeat center/100%;
  z-index: -1;
}
.s7_content::after {
  content: '';
  position: absolute;
  left: 0;
  top: 132px;
  width: calc((100% - 161px));
  height: 528px;
  background: #1a1a1a;
  z-index: -2;
}
.s8_bg .s7_content::after {
  background: #f6f5f2;
}
.s7_list dl {
  width: 390px;
  height: 70px;
  background: #fff;
  display: flex;
  padding: 0 0 0 6px;
  align-items: center;
  margin: 0 0 16px 0;
  position: relative;
  transition: .3s ease-in-out;
}
.s7_list a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.s7_list dl:last-child {
  margin: 0;
}
.s7_list {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  align-items: flex-end;
}
.s7_list dt {
  width: 38px;
  height: 38px;
  background: #5e5f60;
  font-size: 32px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 13px 0 0;
  padding: 4px 1px 0 0px;
  border: 2px solid rgba(255, 255, 255, 0.85);
}
.s7_list .txt_ja {
  font-size: 20px;
  color: #191919;
  display: inline-block;
  line-height: 1.2;
  margin: 0 0 3px 0;
  letter-spacing: -1px;
}
.s7_list .txt_en {
  font-size: 16px;
  font-family: var(--f-cormor);
  color: #808080;
  display: inline-block;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.s7_list dd {
  display: flex;
  flex-direction: column;
}
/*============= SEC08 ==============*/
.sec08 {
  background: #f6f5f2;
  padding: 160px 0 180px 0;
}
.s8_head {
  display: flex; /* justify-content: space-between; */
}
.s8_desc {
  margin: 73px 0 0 36px;
}
.s8_desc p {
  font-size: 18px;
}
.s8_info p {
  margin: 0 0 0 0;
  text-align: center;
}
.s8_info .ja {
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: -1px;
}
.s8_info .en {
  font-size: 20px;
  font-family: var(--f-cormor);
  color: #808080;
  font-weight: 300;
}
.s8_list {
  display: flex; /* justify-content: center; */
}
.s8_item {
  width: 382px;
  border-right: 1px solid #808080;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 57px 0 58px 0;
  flex-shrink: 0;
}
.s8_info {
  margin: 25px 0 26px 0;
}
.s8_img {
  height: 120px;
}
.s8_item:last-child {
  border-right: 0;
}
.s8_width {
  margin: 65px 0 0 0;
  padding: 0 0 0 150px;
}
.sec08 .sec_ttl p.ja {
  letter-spacing: 0;
}
/*==========================================================
                        F O O T E R
==========================================================*/
/* footer{position: relative;z-index: 3;background: #1a1a1a;padding: 150px 0 40px 0;margin: 311px 0 0 0;} */
footer {
  position: relative;
  z-index: 3;
  background: #1a1a1a;
  padding: 50px 0 40px 0;
  margin: 0 0 0 0;
}
.inner_1200 {
  width: 1280px;
  margin: 0 auto;
}
.ft_contact {
  width: 100%;
  height: auto;
  background: url(../images/ft_contact_bg.jpg) no-repeat center/cover;
  position: relative;
  margin: -280px 0 0 0;
  padding: 82px 0 89px 0;
  text-align: center;
  display: none;
}
.ft_contact_ttl p {
  margin: 0;
  text-align: center;
}
.ft_contact_ttl .ja {
  font-size: 24px;
  line-height: 1.2;
}
.ft_contact_ttl .en {
  font-size: 74px;
  font-weight: 300;
  font-family: var(--f-cormor);
  line-height: 1.2;
}
.ft_contact_desc .txt01 p {
  line-height: 1.2;
  font-size: 18px;
  letter-spacing: 0.05em;
}
.ft_contact_desc .txt01 {
  margin: 45px 0 15px 0;
}
.ft_contact_desc .tel {
  display: flex;
  justify-content: center;
  margin: 0 0px 3px 0;
}
.ft_contact_desc .tel a {
  display: inline-block;
  position: relative;
  font-size: 67px;
  padding: 0 0 0 83px;
  letter-spacing: -2px;
  line-height: 1.2;
}
.ft_contact_desc .tel a::before {
  content: '';
  position: absolute;
  top: calc((100% - 43px)/2);
  left: 0;
  width: 56px;
  height: 36px;
  background: url(../images/tel_ic.png) no-repeat center/100%;
}
.ft_contact_desc .txt02 p {
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.8;
  margin: 0 0 4px 0;
}
.ft_contact_desc .txt02 span {
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.8;
}
.ft_company p, .ft_company a {
  margin: 0;
  line-height: 1.2;
  color: #fff;
  display: inline-block;
}
.ft_note p {
  font-family: var(--f-nts);
  font-size: 16px;
  letter-spacing: 0;
  font-weight: 200;
}
.ft_bottom {
  padding: 50px 0 0 0;
}
/* .ft_logo{margin: 0 0 36px 0;} */
.ft_logo {
  margin: 0 0 20px 0;
}
.ft_address_small {
  margin: 0 0 10px 0;
}
.ft_address_small p {
  font-size: 16px;
  font-weight: 200;
  font-family: var(--f-nts);
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.ft_address_small .s_bold, .nav_cmp02 .addr .s_bold {
  font-size: 18px;
  font-weight: 700;
}
.ft_tel_small a {
  font-size: 34px;
  position: relative;
  padding: 0 0 0 45px;
}
.ft_tel_small a::before {
  content: '';
  position: absolute;
  top: calc((100% - 24px)/2);
  left: 0;
  width: 30px;
  height: 20px;
  background: url(../images/tel_ic02.png) no-repeat center/100%;
}
.ft_booking_small p {
  letter-spacing: 0.05em;
  font-family: var(--f-nts);
  font-weight: 300;
}
.ft_tel_small {
  margin: 0 10px 0 0;
}
.ft_contact_small {
  display: flex;
  align-items: center;
  margin: 0 0 7px 0;
}
.ft_ttl p {
  color: #fff;
  font-size: 20px;
  position: relative;
  line-height: 1.3;
  border-bottom: 1px solid #fff;
  text-align: center;
  letter-spacing: 0.05em;
  padding: 0 0 7px 0;
}
.ft_menu {
  margin: 55px 0 55px 0;
  display: flex;
  border-bottom: 1px solid #fff;
  padding: 0 0 50px 0;
}
.ft_menu_item ul {
  display: flex;
  flex-direction: column;
}
.ft_menu_item li a {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-weight: 200;
  line-height: 1.89;
  font-family: var(--f-nts);
  letter-spacing: 0;
  white-space: nowrap;
  position: relative;
}
/* .ft_menu_item li a::before{content: '';position: absolute;bottom: 0;left: 0;width: 0%;height: 1px;background: #fff;transition: .3s ease-in-out;} */
/* .ft_menu_item li a::before{content: '';background-image: linear-gradient(to right, #fff, #fff);background-size: 100% 1px;background-position: bottom left;position: absolute;bottom: 0;left: 0;width: 100%;height: 1px;} */
.ft_ttl {
  margin: 0 0 15px 0;
}
/* .ft_menu_col:not(:last-child){margin: 0 150px 0 0;} */
/* .ft_menu_col:not(:last-child){margin: 0 150px 50px 0;} */
.ft_menu_col:not(:last-child) {
  margin: 0 100px 50px 0;
}
address {
  font-size: 12px;
  color: #fff;
  font-weight: 200;
  text-align: center;
  letter-spacing: 0.02em;
}
/* BACK TO TOP */
.to_top {
  position: fixed;
  z-index: 8;
  width: 70px;
  height: 70px;
  bottom: 10px;
  right: 10px;
  cursor: pointer;
  transition: all .2s;
  opacity: 0;
  visibility: hidden
}
.to_top.show {
  transform: scale(1);
  opacity: 1;
  visibility: visible
}
.none {
  display: none !important
}
/* FIREFOX ONLY */
@-moz-document url-prefix() {}
/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}
.load_page {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  z-index: 11;
}
.page_slide {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1a1a1a;
  transition: 1s ease-in-out;
  ;
  transition-delay: 1s;
}
.page_slide.active {
  top: 0;
  transition-delay: 0s;
}
.page_slide .page_slide_txt {
  color: #fff;
  font-size: 40px;
  filter: blur(10px);
  opacity: 0;
  transition: .7s ease-in-out;
  transition-delay: 1s;
  text-align: center;
  overflow: hidden;
  transform: translateY(20px);
}
.page_slide.active .page_slide_txt {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}
.full_txt {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page_slide_img {
  width: 100%;
  height: 100%;
}
.page_slide_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.load_page.bye {
  transition: 2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.load_page06 {
  background-image: url(../images/load_page06.png);
  background-size: cover;
  height: 265px;
  animation: dsl 60s linear forwards infinite;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.load_page07 {
  background-image: url(../images/load_page07.png);
  background-size: cover;
  height: 265px;
  animation: dsl02 60s linear forwards infinite;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.load_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.5;
  animation: cc01 4s linear forwards;
}
@-webkit-keyframes dsl {
  from {
    background-position: 0 center;
  }
  to {
    background-position: 5555px center;
  }
}
@-webkit-keyframes dsl02 {
  from {
    background-position: 0 center;
  }
  to {
    background-position: -5555px center;
  }
}
@-webkit-keyframes cc01 {
  from {
    transform: scale(0) translate(-50%, -50%);
  }
  to {
    transform: scale(1) translate(-50%, -50%);
  }
}
/* .page_slide_txt span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  animation: bounceIn 0.1s forwards;
  animation-delay: calc(var(--char-index) * 0.01s); /
}

@keyframes bounceIn {
  0% {
      opacity: 0;
      transform: translateY(20px);
  }
  60% {
      opacity: 1;
      transform: translateY(-10px);
  }
  100% {
      opacity: 1;
      transform: translateY(0);
  }
} */
.sec03a {
  background: url(../images/sec03_a.jpg) no-repeat center/cover; /* height: 1310px; */ position: relative;
  padding: 0;
}
.sec03a_flex {
  display: flex;
  height: 100%;
  width: 100%;
  justify-content: space-between;
}
.sec03a_left {
  padding: 162px 0 432px 235px;
}
.sec03a_right {}
.s3a_box {
  width: 874px;
  height: 529px;
  background: rgba(0, 0, 0, .4);
  padding: 77px 0 0 95px;
}
.sec03a_left .sec_ttl {
  margin: 0 0 55px 0;
}
.sec03a_left .sec_ttl p.en, .sec03a_left .sec_ttl p.ja {
  color: #fff;
}
.s3a_box .large {
  font-size: 40px;
  color: #fff;
  font-family: var(--f-main);
  line-height: 1.7;
  margin: 0 0 32px 0;
}
.s3a_box .small {
  font-size: 20px;
  color: #fff;
  line-height: 2.18;
  font-family: var(--f-nts);
}
.sec03a_right {
  width: 688px;
  background: rgba(255, 255, 255, 0.8);
  padding: 170px 20px 0 60px;
}
.s3_r_ttl p {
  font-family: var(--f-main);
  font-size: 36px;
  line-height: 1.85;
  font-weight: 500;
}
.s3_r_content dl {
  padding: 0 0 0 100px;
  margin: 0 0 53px 0;
  position: relative;
}
.s3_r_content dl.b01::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 4px;
  width: 96px;
  height: 96px;
  background: url(../images/s3a_img01.jpg) no-repeat center/100%;
}
.s3_r_content dl.b02::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 4px;
  width: 96px;
  height: 96px;
  background: url(../images/s3a_img02.jpg) no-repeat center/100%;
}
.s3_r_content dl.b03::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 4px;
  width: 96px;
  height: 96px;
  background: url(../images/s3a_img03.jpg) no-repeat center/100%;
}
.s3_r_content dl:last-child {
  margin: 0;
}
.s3_r_content dt {
  font-size: 28px;
  line-height: 1.5;
  border-bottom: 1px solid #000;
  padding-left: 40px;
  letter-spacing: 0;
  margin: 0 0 25px 0;
  font-weight: 500;
}
.s3_r_content dd {
  font-size: 18px;
  line-height: 1.7;
  margin: 0 0 0 40px;
  font-family: var(--f-nts);
  font-weight: 500;
}
.s3_r_content {
  width: 100%;
  max-width: 525px;
}
.s3_r_ttl {
  margin: 0 0 50px 0;
}
/* .nav_col:nth-child(1),
.nav_col:nth-child(2),
.ft_menu_col:nth-child(1),
.ft_menu_col:nth-child(2)
{display: none;} */
.sec09 {
  padding: 180px 0;
}
.s9_list {
  display: flex;
}
.s9_col {
  position: relative;
}
.s9_ttl {
  position: absolute;
  bottom: 0;
  left: 178px;
  min-width: auto;
  height: 80px;
  background: rgba(26, 26, 26, .85);
  padding: 15px 30px 0 30px;
}
/* .s9_ttl .en{color: #fff;font-size: 30px;font-family: var(--f-cormor);margin: 0 0 3px 0;line-height: 1;letter-spacing: 0.01em;} */
.s9_ttl .en {
  color: #fff;
  font-size: 30px;
  font-family: var(--f-cormor);
  margin: 0 0 3px 0;
  line-height: 1;
  letter-spacing: 0.01em;
}
.s9_ttl .ja {
  color: #fff;
  font-size: 14px;
  margin: 0;
  line-height: 1;
  letter-spacing: 0.05em;
}
.s9_personal {
  position: absolute;
  bottom: -40px;
  left: 0;
}
.s9_col:not(:last-child) {
  margin: 0 3px 0 0;
}
.s9_ct02 {
  padding: 170px 0 130px 0;
  text-align: center;
}
.s9_text .sec_ttl {
  margin: 0 0 50px 0;
}
.s9_desc p {
  font-size: 18px;
}
.logo02 {
  width: 220px;
  display: none;
}
.modal_bnn {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .2);
  z-index: -9999;
  opacity: 0;
  transition: all 0.5s;
}
.modal_bnn_box {
  position: relative;
  z-index: 100001;
  max-width: 722px;
  width: 100%;
  padding: 0px 20px;
}
.modal_bnn_close {
  position: absolute;
  top: -20px;
  right: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background: #000;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  z-index: 10;
}
.modal_bnn_close svg {
  display: flex;
  align-items: center;
  fill: #fff;
  width: auto;
}
.modal_bnn_close:hover {
  opacity: 0.7;
}
.modal_bnn a {
  display: block;
}
.modal_bnn a:hover {
  transform: scale(1.01);
}
.modal_bnn.active {
  z-index: 9999;
  opacity: 1;
}