@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/* ----------------------
- base
- 色変数
- フェードイン
- コンテンツ幅
- header
- footer
- contact_sp
- CONTENTS
- コンテンツ幅
- 共通見出し
- 共通ボタン
- 共通コピー
- 本文テキスト
- キャプション
- 注釈
- 整列
- バナー
- banner-area
---------------------- */
/*=======================================
　base
=======================================*/
body {
  font-family: "游明朝", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  overflow-x: hidden;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: var(--main_black);
  font-weight: 400;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/*アンカーリンク*/
.anchor {
  padding-top: 170px;
  margin-top: -170px;
  display: block;
}
@media screen and (max-width: 768px) {
  .anchor {
    padding-top: 100px;
    margin-top: -100px;
  }
}

/* PCではTELのリンク無効 */
@media only screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
main {
  padding-bottom: 130px;
  word-wrap: break-word;
}
@media screen and (max-width: 768px) {
  main {
    padding-bottom: 70.3px;
  }
}

/*=======================================
　色変数
=======================================*/
:root {
  --main_black: #231815;
  --main_green: #314032;
  --main_beige: #F5F3F2;
  --main_gold: #766443;
}

.main_black {
  color: var(--main_black);
}

.main_green {
  color: var(--main_green);
}

.main_beige {
  color: var(--main_beige);
}

.main_gold {
  color: var(--main_gold);
}

.color_white {
  color: #fff;
}

/*=======================================
　フェードイン
=======================================*/
/*その場で出現*/
.fadeIn {
  opacity: 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.fadeIn.is-show {
  opacity: 1;
}

/* 下から表示 */
.fadeIn_up {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.fadeIn_up.is-show {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

/*=======================================
　コンテンツ幅
=======================================*/
.inner {
  width: 90%;
  margin: 0 auto;
}
.inner.w768 {
  max-width: 768px;
}
.inner.w925 {
  max-width: 925px;
}
.inner.w945 {
  max-width: 945px;
}
.inner.w970 {
  max-width: 970px;
}
.inner.w1000 {
  max-width: 1000px;
}
.inner.w1020 {
  max-width: 1020px;
}
.inner.w1030 {
  max-width: 1030px;
}
.inner.w1100 {
  max-width: 1100px;
}

/*=======================================
　header
=======================================*/
header {
  width: 100%;
  height: 84px;
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #fff;
  /* ハンバーガーメニューボタン */
  /* ハンバーガーメニュー中身 */
}
@media screen and (max-width: 768px) {
  header {
    background: transparent;
    height: 62.53px;
    background: #fff;
    position: sticky;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
header .hd_logo {
  width: 201.9px;
  margin-left: 21.5px;
}
@media screen and (max-width: 1400px) {
  header .hd_logo {
    width: 160px;
  }
}
@media screen and (max-width: 768px) {
  header .hd_logo {
    width: 185.66px;
    margin: 0 auto;
  }
}
header .pc_nav {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 30px;
}
@media screen and (max-width: 1024px) {
  header .pc_nav {
    margin-right: 15px;
  }
}
header .pc_nav nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  header .pc_nav nav {
    gap: 20px;
  }
}
@media screen and (max-width: 820px) {
  header .pc_nav nav {
    gap: 10px;
  }
}
header .pc_nav nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  header .pc_nav nav ul {
    gap: 20px;
  }
}
@media screen and (max-width: 820px) {
  header .pc_nav nav ul {
    gap: 10px;
  }
}
header .pc_nav nav ul li {
  white-space: nowrap;
}
@media screen and (max-width: 1400px) {
  header .pc_nav nav ul li {
    font-size: clamp(14px, 1.1428571429vw, 16px);
  }
}
@media screen and (max-width: 1024px) {
  header .pc_nav nav ul li {
    gap: 20px;
    font-size: 10px;
  }
}
header .pc_nav nav ul li:nth-child(5) {
  position: relative;
}
header .pc_nav nav ul li:nth-child(5)::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "NEW";
  top: -1.2em;
  color: #ef0000;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
header .pc_nav nav ul:first-child li:first-child {
  position: relative;
}
header .pc_nav nav ul:first-child li:first-child::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "NEW";
  top: -1.2em;
  color: #ef0000;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
header .pc_nav nav ul.btn {
  gap: 10px;
}
header .pc_nav nav ul.btn li {
  color: #fff;
  padding: 10px 15px 8px;
  font-size: 12px;
}
@media screen and (max-width: 1400px) {
  header .pc_nav nav ul.btn li {
    padding: 10px 10px 8px;
    font-size: 10px;
  }
}
header .pc_nav nav ul.btn li.btn_map {
  background: #9b1925;
  color: #fff;
}
header .pc_nav nav ul.btn li.btn_outline {
  background: #567c03;
}
header .pc_nav nav ul.btn li.btn_request {
  background: #222222;
}
header .pc_nav nav ul.btn li.btn_reservation {
  background: #151e49;
}
header .openbtn {
  position: absolute;
  bottom: 0;
  right: 36.4px;
  width: 67.41px;
  height: 49.72px;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  header .openbtn {
    width: 37.43px;
    height: 10.26px;
    right: 16.66px;
    bottom: auto;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .openbtn:hover {
    cursor: pointer;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .openbtn:hover {
    cursor: pointer;
  }
}
header .openbtn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--main_black);
}
header .openbtn span:nth-of-type(1) {
  top: 0;
}
header .openbtn span:nth-of-type(2) {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  header .openbtn span:nth-of-type(2) {
    display: none;
  }
}
header .openbtn span:nth-of-type(3) {
  top: calc(100% - 1px);
}
@media screen and (max-width: 768px) {
  header .openbtn span:nth-of-type(3) {
    width: 73.43%;
  }
}
header .openbtn.active span {
  background: #fff;
  top: 25px;
}
@media screen and (max-width: 768px) {
  header .openbtn.active span {
    top: 5px;
  }
}
header .openbtn.active span:nth-of-type(1) {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
header .openbtn.active span:nth-of-type(2) {
  display: none;
}
header .openbtn.active span:nth-of-type(3) {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
@media screen and (max-width: 768px) {
  header .openbtn.active span:nth-of-type(3) {
    width: 100%;
  }
}
header .g_nav {
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  display: block;
  background: var(--main_green);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  padding: 46.36px 5% 50.33px;
}
header .g_nav.panelactive {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
header .g_nav .logo {
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(19deg) brightness(103%) contrast(101%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(19deg) brightness(103%) contrast(101%);
  text-align: center;
  border-bottom: 1px solid #fff;
  padding-bottom: 23.96px;
  max-width: 640px;
  width: 100%;
  margin: 0 auto 34.76px;
}
header .g_nav nav {
  margin: 0 auto;
  width: 77.67%;
  max-width: 640px;
}
header .g_nav nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  gap: 20px 0;
  margin: 0 auto 44.6px;
  width: 84.09%;
}
header .g_nav nav ul li {
  width: 50%;
}
header .g_nav nav ul li a {
  color: #fff;
}
header .g_nav nav ul li:nth-child(5), header .g_nav nav ul li:nth-child(1) {
  position: relative;
}
header .g_nav nav ul li:nth-child(5)::before, header .g_nav nav ul li:nth-child(1)::before {
  position: absolute;
  left: 0;
  content: "NEW";
  top: -1.2em;
  color: #ff2424;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
header .g_nav nav .request_btn {
  width: 100%;
  max-width: 287.76px;
  height: 50.27px;
  margin: 0 auto;
}
header .g_nav nav .request_btn:not(:last-child) {
  margin-bottom: 25px;
}
header .g_nav nav .request_btn a {
  font-size: 14px;
  letter-spacing: 0.15em;
  color: var(--main_green);
  border-radius: 8.5px;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  position: relative;
}
header .g_nav nav .request_btn a::after {
  content: "";
  background: url("../img/common/arrow01.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 18.93px;
  width: 8.04px;
  height: 7.95px;
  -webkit-filter: brightness(0) saturate(100%) invert(25%) sepia(4%) saturate(2089%) hue-rotate(74deg) brightness(91%) contrast(98%);
          filter: brightness(0) saturate(100%) invert(25%) sepia(4%) saturate(2089%) hue-rotate(74deg) brightness(91%) contrast(98%);
}

/*=======================================
　footer
=======================================*/
footer {
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  footer {
    padding-bottom: 120px;
  }
}
footer .inner .page_top {
  position: fixed;
  bottom: 50px;
  right: 50px;
}
footer .inner .logo_area {
  margin-bottom: 81.4px;
}
@media screen and (max-width: 768px) {
  footer .inner .logo_area {
    margin-bottom: 43.3px;
  }
}
footer .inner .logo_area .logo_kobe {
  display: block;
  margin: 0 auto 18px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  footer .inner .logo_area .logo_kobe {
    max-width: 107px;
    margin: 0 auto 9.7px;
  }
}
footer .inner .logo_area p {
  font-size: 20px;
  letter-spacing: 0.34em;
  line-height: 1.749;
  text-align: center;
  color: #031717;
}
@media screen and (max-width: 768px) {
  footer .inner .logo_area p {
    font-size: 7.68px;
  }
}
footer .inner .request_btn {
  width: 183.18px;
  height: 41.53px;
  margin: 0 auto 33.9px;
}
@media screen and (max-width: 768px) {
  footer .inner .request_btn {
    width: 160px;
    height: 25.35px;
    margin-bottom: 23.36px;
  }
}
footer .inner .request_btn a {
  font-size: 14.01px;
  letter-spacing: 0.15em;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  background: #212021;
}
@media screen and (max-width: 768px) {
  footer .inner .request_btn a {
    font-size: 11px;
  }
}
footer .inner .info_area {
  max-width: 562.87px;
  margin: 0 auto 43.1px;
  background: #f6f6f5;
  padding: 45.2px 0 40.2px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  footer .inner .info_area {
    padding: 32px 2% 25.56px;
    margin-bottom: 25.06px;
  }
}
footer .inner .info_area p {
  font-size: 16px;
  letter-spacing: -0.03em;
  text-align: center;
  color: #221714;
  margin-bottom: 22.6px;
}
@media screen and (max-width: 768px) {
  footer .inner .info_area p {
    font-size: 10.77px;
  }
}
footer .inner .info_area p strong {
  font-size: 18px;
  letter-spacing: 0.3em;
  margin-top: 8.9px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  footer .inner .info_area p strong {
    font-size: 12.09px;
  }
}
footer .inner .info_area .tel {
  max-width: 300px;
  width: 81.39%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  footer .inner .info_area .tel {
    width: 84.11%;
  }
}
footer .inner .companylogo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 44px;
  margin-bottom: 52.5px;
}
@media screen and (max-width: 768px) {
  footer .inner .companylogo {
    gap: 0 26.86px;
    margin-bottom: 23.36px;
  }
}
footer .inner .companylogo li a span {
  font-size: 8px;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #221814;
}
footer .inner .companylogo li a img {
  display: block;
}
footer .inner .companylogo li.logo_toyotahome01 img {
  margin-top: 8.3px;
}
footer .inner .companylogo li.logo_toyotahome02 span {
  margin-left: 42px;
}
@media screen and (max-width: 768px) {
  footer .inner .companylogo li.logo_toyotahome02 span {
    margin-left: 25px;
  }
}
footer .inner .companylogo li.logo_toyotahome02 img {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
}
@media screen and (max-width: 768px) {
  footer .inner .companylogo li.logo_toyotahome02 img {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
footer .inner .copyright {
  font-size: 10.52px;
  letter-spacing: -0.01em;
  text-align: center;
  color: #b4b4b5;
}
@media screen and (max-width: 768px) {
  footer .inner .copyright {
    font-size: 6.423px;
  }
}

/*=======================================
　contact_sp
=======================================*/
.contact_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .contact_sp {
    display: block;
  }
}
.contact_sp .bg_color {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  background-color: #5E5149;
  mix-blend-mode: multiply;
  height: 80px;
}
.contact_sp .inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 90%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 80px;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
}
.contact_sp .inner a {
  width: 50.8444444444%;
}
.contact_sp .inner a:nth-child(1) {
  padding-right: 20.5px;
  border-right: solid 1px #fff;
}
.contact_sp .inner a:nth-child(2) {
  padding-bottom: 6px;
  padding-left: 22.5px;
}
.contact_sp .inner a img {
  mix-blend-mode: normal;
}

/*=======================================
　CONTENTS
=======================================*/
.contents_area {
  margin-bottom: 18.7px;
}
@media screen and (max-width: 768px) {
  .contents_area {
    margin-bottom: 28.16px;
  }
}
.contents_area .inner .sttl {
  margin-bottom: 134.5px;
}
@media screen and (max-width: 768px) {
  .contents_area .inner .sttl {
    margin: 0 auto 64.93px;
    width: 73.18%;
  }
}
.contents_area .inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  gap: 78.7px 12.4%;
}
@media screen and (max-width: 768px) {
  .contents_area .inner ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 47.76px 0;
  }
}
.contents_area .inner ul li {
  width: 43.77%;
}
@media screen and (max-width: 768px) {
  .contents_area .inner ul li {
    width: 68.34%;
    margin: 0 auto;
  }
}
.contents_area .inner ul li .img {
  position: relative;
  margin-bottom: 23px;
}
@media screen and (max-width: 768px) {
  .contents_area .inner ul li .img {
    margin-bottom: 5px;
  }
}
.contents_area .inner ul li .img .img_cap {
  bottom: 5px;
}
@media screen and (max-width: 768px) {
  .contents_area .inner ul li .img .img_cap {
    bottom: 2px;
  }
}
.contents_area .inner ul li .img .img_cap.white {
  text-shadow: 0px 0px 7px rgb(0, 0, 0);
}
.contents_area .inner ul li .hd_txt {
  margin-bottom: 33.2px;
}
@media screen and (max-width: 768px) {
  .contents_area .inner ul li .hd_txt {
    margin-bottom: 18.13px;
  }
}
.contents_area .inner ul li .hd_txt img {
  width: auto;
  height: 18px;
}
@media screen and (max-width: 768px) {
  .contents_area .inner ul li .hd_txt img {
    width: auto;
    height: 8.27px;
  }
}
.contents_area .inner ul li .hd_txt small {
  font-size: 8px;
  letter-spacing: 0.5em;
  display: block;
  margin-bottom: 13.9px;
}
@media screen and (max-width: 768px) {
  .contents_area .inner ul li .hd_txt small {
    font-size: 7.666px;
    margin-bottom: 7.533px;
  }
}

/*=======================================
　整列
=======================================*/
.align_L {
  text-align: left;
  margin-left: 0;
}

.align_C {
  text-align: center;
  margin-left: 0;
  margin-right: 0;
}

.align_R {
  text-align: right;
  margin-right: 0;
}

/*=======================================
　共通見出し
=======================================*/
/* 下層メインタイトル */
.main_ttl {
  height: 239px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .main_ttl {
    height: 120px;
  }
}
.main_ttl h1 {
  margin-bottom: 27.8px;
}
@media screen and (max-width: 768px) {
  .main_ttl h1 {
    margin-bottom: 15px;
  }
}
.main_ttl h1 span {
  display: block;
  text-align: center;
}
.main_ttl h1 span.en {
  font-size: 40px;
  letter-spacing: 0.3em;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .main_ttl h1 span.en {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
.main_ttl h1 span.jp {
  font-size: 23px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .main_ttl h1 span.jp {
    font-size: 14px;
  }
}

/*=======================================
　共通ボタン
=======================================*/
.cmn_btn01 {
  width: 314.86px;
  height: 48.28px;
}
@media screen and (max-width: 768px) {
  .cmn_btn01 {
    height: 36.68px;
  }
}
.cmn_btn01 a {
  font-size: 14px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  position: relative;
  background: #676768;
}
@media screen and (max-width: 768px) {
  .cmn_btn01 a {
    font-size: 10.63px;
  }
}
.cmn_btn01 a::after {
  content: "";
  background: url("../img/common/arrow01.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 9.1px;
  width: 7.89px;
  height: 7.83px;
}
@media screen and (max-width: 768px) {
  .cmn_btn01 a::after {
    width: 5.986px;
    height: 5.943px;
    right: 6.9px;
  }
}

.cmn_btn02 {
  width: 100%;
  position: relative;
  padding: 0 0 13.5px 28.8px;
  border-bottom: 1px solid var(--main_black);
}
.cmn_btn02::before {
  content: "";
  width: 20.9px;
  height: 1px;
  display: inline-block;
  background: var(--main_black);
  position: absolute;
  top: 0.606em;
  left: 0;
}
@media screen and (max-width: 768px) {
  .cmn_btn02::before {
    width: 13.36px;
  }
}
.cmn_btn02 a {
  font-size: 10.52px;
  letter-spacing: -0.01em;
  border-bottom: 1px solid var(--main_black);
  display: block;
}
@media screen and (max-width: 768px) {
  .cmn_btn02 a {
    font-size: 6.726px;
    padding: 0 0 6.4px 18.33px;
  }
}

/*=======================================
　共通コピー
=======================================*/
.cmn_copy01 {
  font-size: 26.04px;
  letter-spacing: 0.3em;
  line-height: 1.776;
}
@media screen and (max-width: 820px) {
  .cmn_copy01 {
    letter-spacing: 0.17em;
  }
}
@media screen and (max-width: 768px) {
  .cmn_copy01 {
    font-size: 14.1px;
  }
}

.cmn_copy02 {
  font-size: 37px;
  letter-spacing: 0.3em;
  line-height: 1.486;
}
@media screen and (max-width: 820px) {
  .cmn_copy02 {
    letter-spacing: 0.23em;
  }
}
@media screen and (max-width: 768px) {
  .cmn_copy02 {
    font-size: 15.41px;
  }
}

.cmn_copy03 {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .cmn_copy03 {
    font-size: 14.1px;
    line-height: 1.774;
  }
}
.cmn_copy03 .sub_txt {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .cmn_copy03 .sub_txt {
    font-size: 12px;
  }
}

/*=======================================
　本文テキスト
=======================================*/
.cmn_txt01 {
  font-size: 17px;
  letter-spacing: 0.18em;
  line-height: 3;
}
@media screen and (max-width: 768px) {
  .cmn_txt01 {
    font-size: 10px;
    line-height: 2.5;
  }
}

.cmn_txt02 {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2.416;
}
@media screen and (max-width: 768px) {
  .cmn_txt02 {
    font-size: 10px;
    line-height: 1.933;
  }
}

.cmn_txt03 {
  font-size: 17.02px;
  letter-spacing: 0.04em;
  line-height: 1.645;
  color: #000;
}

/*=======================================
　キャプション
=======================================*/
.caption01 {
  font-size: 14px;
  color: #898989;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .caption01 {
    font-size: 8.666px;
    margin-top: 5px;
  }
}

.cap_left {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .cap_left {
    margin-left: 10px;
  }
}

.cap_right {
  margin-right: 20px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .cap_right {
    margin-right: 10px;
  }
}

/*=======================================
　注釈
=======================================*/
.notes01 {
  font-size: 14px;
  line-height: 1.428;
  color: #898989;
}
@media screen and (max-width: 768px) {
  .notes01 {
    font-size: 8.666px;
  }
}

.notes02 {
  font-size: 13px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .notes02 {
    font-size: 8.666px;
  }
}

/*=======================================
　バナー
=======================================*/
.bnr.location {
  height: 234.11px;
}
@media screen and (max-width: 768px) {
  .bnr.location {
    height: 78.03px;
  }
}
.bnr.location a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  background: url("../img/top/bnr_bg_location.jpg") no-repeat;
  background-size: cover !important;
}
@media screen and (max-width: 768px) {
  .bnr.location a {
    background: url("../img/top/bnr_bg_location_sp.jpg") no-repeat;
  }
}
.bnr.location a .sttl {
  margin-bottom: 20.4px;
}
@media screen and (max-width: 768px) {
  .bnr.location a .sttl {
    width: 134.35px;
    margin-bottom: 8px;
  }
}
.bnr.location a .txt {
  font-weight: normal;
  font-size: 17px;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  .bnr.location a .txt {
    font-size: 8.22px;
  }
}

/*=======================================
　画像内キャプション
=======================================*/
.img_cap {
  position: absolute;
  left: 10px;
  bottom: 8px;
  font-size: 11px;
}
@media screen and (max-width: 768px) {
  .img_cap {
    left: 3px;
    bottom: 3px;
    font-size: 9px;
  }
}
.img_cap.white {
  color: #fff;
}

/*=======================================
request_btn_mid
=======================================*/
.request_btn_mid {
  text-align: center;
  margin: 100px auto 50px;
}
@media screen and (max-width: 768px) {
  .request_btn_mid {
    margin: 50px auto 0;
  }
}
.request_btn_mid a {
  display: inline-block;
  padding: 28px 30px 25px;
  width: 90%;
  max-width: 420px;
  font-size: 26px;
  color: #fff;
  background: #750c11;
  border: 3px solid #a5151c;
}
@media screen and (max-width: 768px) {
  .request_btn_mid a {
    font-size: 16px;
    padding: 20px 20px 18px;
    width: 80%;
  }
}/*# sourceMappingURL=common.css.map */