@charset "utf-8";

:root{
  --vh: 0;
}
/* 各種色変更など変更用
 * ========================================================================== */
html {
  overflow-y: scroll;
}

/* 調整 */
html * {
	font-family: "Noto Serif JP", serif;;
}
.en2 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 100;
  line-height: 1;
}
a.cvBtn .btn-name { font-size: 17px;}
a.cvBtn .btn-text { font-size: 13px;}
.tel-link p { font-size: 13px; line-height: 1.3;}
#information .info-head.contents-title { font-size: 13px;}
#information #info-column .info-text { font-size: 17px;}
.meritItems .meritItem a .merit-text {bottom: 90px;font-size: 22px;}
.meritItems .meritItem a .arrow { font-size: 17px;}
#caption { max-width: 1245px;}
#caption .caption { font-size: 12px;}
footer { background: #efefef;}
@media screen and (max-width: 1280px) {
	#nav-contactBtns .nav-contactBtn {height: 60px;width: 80px;letter-spacing: -1px;}
	#nav-contactBtns .nav-contactBtn.nav-contactBtn_req::before { width: 24px; height: 24px;}
    #corpotation_link ul li img { height: 30px; width: auto;}
}
@media screen and (max-width: 960px) {
	#corpotation_link ul { flex-wrap: wrap; gap: 20px 0;}
}
@media screen and (max-width: 619px) {
	#information #info-column .info-text {font-size: 15px;}
	.meritItems .meritItem a .merit-text {bottom: 80px;font-size: 17px;}
	.meritItems .meritItem a .arrow { font-size: 15px;}
	#corpotation_link ul li img { height: 28px;}
}
/**
/* 各種リンク色指定
 * ========================================================================== */
a:link, a:visited, a:hover, a:active { color: #151515;}
.reqBtn { background: #af9147 !important; color: #fff !important}
.resBtn { background: #002662 !important; color: #fff !important}
.onlineBtn { background: #002662 !important; color: #fff !important}
.limitedBtn { background: #fff !important; border: #002662 solid 1px !important;}

/**
/* ヘッダー
 * ========================================================================== */
/*.loaded header{ opacity: 1; }*/
header::before {
/*BRANZBLUE
	background-image: url("../../img/header-bg-BRANZBLUE.png");*/
/*DARKBROWN
	background-image: url("../../img/header-bg-DARKBROWN.png");*/
/*BLACK*/
	background-image: url("../img/header-bg-BLACK.png");
/*WHITE
	background-image: url("../../img/header-bg-WHITE.png");*/
/*BLUE
	background-image: url("../../img/header-bg-BLUE.png");*/
/*LIGHTBLUE
	background-image: url("../../img/header-bg-LIGHTBLUE.png");*/
/*BLUEGREEN
	background-image: url("../../img/header-bg-BLUEGREEN.png");*/
/*LIGHTBROWN
	background-image: url("../../img/header-bg-LIGHTBROWN.png");*/
/*GRAY
	background-image: url("../../img/header-bg-GRAY.png");*/
}
body.is-white header::before {
  background-image: url("../img/header-bg-WHITE.png");
}
header nav .inner .cv-wrap a,
header nav .inner .cv-wrap .contact { color:#fff; background: #af9147;}
header > .contact { background: #002662;}
header .menu-trigger .line { background-color: #fff;}
body.is-white header .menu-trigger .line { background-color: #000;}
header .menu-trigger::after { color: #fff!important}
body.menu-open header .menu-trigger::after { color: #000!important;}
body.is-white header .menu-trigger::after { color: #000!important}
body.menu-open.is-white header .menu-trigger .line { background: none!important}
@media screen and (max-width:1280px) {
	header .menu-trigger .line { background-color: #000;}
	header .menu-trigger::after {color: #000!important;}
}
@media screen and (max-width:619px) {
	header nav .inner .cv-wrap a, header nav .inner .cv-wrap .contact {
		text-align: center;
	}
}
/**
/* ヘッダーお問い合わせ・インフォメーションエリア　電話番号アイコン
 * ========================================================================== */
/*背景色が濃色の場合やアイコン変更が必要な場合は変更する*/
.tel-link .tel-num a::before {
	background: url(../img/icon-tel-black.svg) no-repeat center center;
}

/**
/* ロゴ
 * ========================================================================== */
/*ロゴを変更する場合下記を調整*/
h1 a {
	background-image: url("../img/logo_pc.svg");
	width: 374px;
	height: 28px;
}
body.is-white h1 a {
	background-image: url("../img/logo_blue_pc.svg");
}
header nav .logo { width: 357px;}
header nav .logo img { width: 100%;}

@media screen and (max-width:1024px) {
    h1 a {
		background-image: url("../img/logo_sp.svg");
		width: 100px;
        height: auto;
        aspect-ratio: 99 / 53;
    }
    body.is-white h1 a {
      background-image: url("../img/logo_blue_sp.svg");
    }
	header nav .logo {width: 100px;}
}

/**
/* インフォメーションスライダー　背景色　文字色　ドット色
 * ========================================================================== */
#infoArea { background: #1a1a1a !important; color: #fff;}
#infoArea .slick-dots li button { background: rgba(255,255,255,.4);}
#infoArea .slick-dots li.slick-active button { background: rgba(255,255,255,1);}

/**
/* 行動提起　背景色　文字色
 * ========================================================================== */
#actionproposal {background: #3e3a39 !important;}
#actionproposal p { color: #fff !important;}

/**
/* 物件セールスポイント　スマホ時スライダー　ドット色
 * ========================================================================== */
/*背景色が濃色の場合や視認性が悪い場合は変更する*/
.meritItems .slick-dots li button:before { color: #000 !important;}
.meritItems .slick-dots li.slick-active button:before {  color: #000 !important;}

/**
/* フッター　各種背景色　文字色
 * ========================================================================== */
#page-prev-next-btns { background: #1a1a1a;}
#page-prev-next-btns > a { color: #fff;}
#tel-footer { color: #fff; background: #000;}
#textlink-footer { color: #fff; background: #000;}
.other-links a { color: #fff;}

/**
/* フッター　コンバージョンボタン
 * ========================================================================== */
/*限定サイトボタンがない場合は　justify-content: center;　とする*/
#cv-limited {justify-content: space-between;align-items: flex-start;flex-wrap: wrap;}
.esalon-caption {text-align: left;line-height: 1.5;font-size: 13px;}
.cv-entry {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  aspect-ratio: 1367 / 500;
}
.cv-entry .caption {
  position: absolute;
  right: 15px;
  bottom: 5px;
  font-size: 14px;
}
.entry_content {
  position: relative;
  padding: 50px 20px;
  text-align: center;
  z-index: 1;
}
.cv-entry .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: -12%;
  bottom: 0;
  z-index: 0;
  background: url('../../assets/img/entry_bg_pc.jpg') no-repeat center / cover;
}
.cv-entry.is-bg-anim .bg {
  animation: fadeInDown 1.5s ease-in-out forwards;
}
.entry_content p {
  padding-top: 30px;
  font-size: 25px;
  line-height: 1.5;
}
.entry_content .entry_btn_wrap {
  padding-top: 40px;
}
.entry_content .entry_btn {
  display: flex;
  height: 70px;
  max-width: 540px;
  color: #fff !important;
  text-align: center;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin: 0 auto;
  background: #af9147;
}
.entry_content .entry_btn_wrap .entry_btn i {
  background-image: url(../img/icon-req-white.svg);
  width: 40px;
  height: 39px;
  background-size: cover;
  background-position: center top;
  margin-right: 20px;
}
@media screen and (max-width: 1024px) {
  #cv-limited .esalon-caption { width: 100%;}
  .entry_content_title img {
    max-height: 60px;
  }
  .entry_content p {
    padding-top: 20px;
    font-size: 18px;
  }
  .entry_content .entry_btn_wrap {
    padding-top: 20px;
  }
  .entry_content .entry_btn {
    font-size: 19px;
  }
}
@media screen and (max-width: 619px) {
  .esalon-caption { font-size: 12px; letter-spacing: -0.3px;}
  .cv-entry {
    aspect-ratio: 375 / 350;
  }
  .cv-entry .caption {
    font-size: 11px;
  }
  .cv-entry .bg {
    right: -12%;
    top: 0;
    background: url('../../assets/img/entry_bg_sp.jpg') no-repeat center / cover;
  }
  .cv-entry.is-bg-anim .bg {
    animation: fadeInLeft 1.5s ease-in-out forwards;
  }
  .entry_content_title img {
    max-height: 50px;
  }
  .entry_content p {
    padding-top: 30px;
  }
  .entry_content .entry_btn_wrap {
    padding-top: 30px;
  }
  .entry_content .entry_btn {
    font-size: 18px;
  }
  .entry_content .entry_btn_wrap .entry_btn i {
    width: 30px;
    height: 29px;
  }
}

/**
/* フッター　電話番号アイコン
 * ========================================================================== */
/*フッター背景色が淡色の場合やアイコン変更が必要な場合は変更する*/
#tel-footer .tel-link .tel-num a::before {
  background-image: url(../img/icon-tel-white.svg);
}

/**
/* メニュー　新着・更新アイコン
 * ========================================================================== */
.is-new::before,
.is-update::before {
  display: block;
  position: absolute;
  left: 0;
  top: -1.6em;
  content: 'NEW';
  font-size: 12px;
  color: #d20000;
}
.is-update::before {
  content: 'UPDATE';
}
/**
/* フッター　誘導ボタン
 * ========================================================================== */
.exnav-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 80px auto 0;
  max-width: 1205px;
  width: 90%;
}
.exnav-wrap .linkLabel {
  overflow: hidden;
  position: relative;
}
.exnav-wrap .linkLabel picture::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3));
  pointer-events: none;
}
.exnav-wrap .linkLabel img {
  width: 100%;
  /* height: 12.5vw; */
}
/* .exnav-wrap .comingsoon {
	position: relative;
	pointer-events: none;
	overflow: hidden;
}
.exnav-wrap .comingsoon::after {
	width: 100%;
	height: 100%;
	content: "";
	background-color: rgba(0,0,0,0.7);
	display: block;
	position: absolute;
	top: 0;
	left: 0
} */
.exnav-wrap a {
  opacity: 1;
  transition: 0.2s all;
}
.exnav-wrap p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  white-space: nowrap;
  font-size: 25px;
  letter-spacing: 2px;
}
.exnav-wrap .linkLabel .img-cap {
  position: absolute;
  top: auto;
  left: auto;
  right: 10px;
  bottom: 0px;
  transform: none;
  color: #fff;
  z-index: 1;
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0;
  margin: 0;
}
.exnav-wrap a:hover {
  opacity: 0.7;
  transition: 0.2s all;
}
@media screen and (max-width: 619px) {
  .exnav-wrap {
    margin: 40px auto 0;
    grid-template-columns: repeat(1, 1fr);
  }
  .exnav-wrap .linkLabel {
    display: inline-block;
    width: 100%;
    position: relative;
  }
  .exnav-wrap a:hover {
    opacity: 1;
  }
  .exnav-wrap .linkLabel img {
    width: 100%;
    height: auto;
  }
  .exnav-wrap .linkLabel.basicFade.morph .img-cap {
    font-size: 11px;
  }
  .exnav-wrap .linkLabel .img-cap {
    font-size: 11px;
  }
}

/**
/* 共通スタイル
 * ========================================================================== */
body.is-white .main {
  padding-top: 80px;
}
.btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  line-height: 1;
  transition: 0.2s all;
}
.btn a:hover {
  opacity: 0.7;
}
.btn a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
}
/**
/* スクロールアニメーション
 * ========================================================================== */

@keyframes fadeInUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
@keyframes fadeInDown {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10%);
  }
}
@keyframes fadeInLeft {
  from {
    transform: translateX(-10%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    transform: translateX(10%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes scaleDown {
  from { transform: scale(1.06); }
  to   { transform: scale(1); }
}
@keyframes zoomPulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}