@charset "UTF-8";

/* =============================================
  # 基本設定

  ## 配色

  - #28080c
  - #442329
  - rgba(68, 35, 41, .6)
  - rgba(68, 35, 41, .2)
  - rgba(68, 35, 41, .1)

  ## 環境ごとのスタイル変更

  ユーザーが使用している環境によってJSでbodyに独自のクラスを付与する様に設定しています。
  ブラウザごとにスタイルを変える場合はCSSハックを使わずにこちらのクラスを利用してください。

  ### デバイス

  - スマホ : .ua-sp
      - iPhone : .ua-iphone
      - Android : .ua-sp-android
  - タブレット : .ua-tb
      - iPad : .ua-ipad
      - Android : .ua-tb-android
  - パソコン : .ua-pc
      - Win : .ua-win
      - Mac : .ua-Mac

  ### ブラウザ

  - Internet Explorer : .ua-oe
  - Microsoft Edge : .ua-edge
  - Google Chrome : .ua-chrome
  - Safari : .ua-safari
  - Firefox : .ua-firefox
  - Opera : .ua-opera
  - その他 : .ua-other-browser

============================================= */

@import url('//fonts.googleapis.com/css?family=Cormorant+Garamond:400,400i|Noto+Sans+JP|Playfair+Display&display=swap');

/* =============================================
  BASE
============================================= */

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

::-moz-selection {
  background: #e7e7e7;
}

::selection {
  background: #e7e7e7;
}

html,
body {
  height: 100%;
  width: 100%;
}

html {
  font-size: 62.5%;
  line-height: 1.15;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  background: #fff;
  color: #28080c;
  -ms-content-zooming: none;
  font: normal normal normal 1.5em/1.7 '游明朝体',YuMincho,'游明朝','Yu Mincho','ヒラギノ明朝 ProN W3','Hiragino Mincho ProN W3',HiraMinProN-W3,'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ヒラギノ明朝 Pro','Hiragino Mincho Pro','Noto Serif JP','HGS明朝E',serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: .1em;
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  overflow-y: scroll;
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font: inherit;
}

a {
  color: currentColor;
  text-decoration: none;
}

small {
  font-size: .8rem;
}

ul,
ol {
  list-style: none;
}

img,
picture,
video {
  height: auto;
  max-width: 100%;
}

img {
  border-style: none;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  font: inherit;
  outline: none;
}

button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

[hidden] {
  display: none;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

address {
  font: inherit;
}

main {
  display: block;
}

.pc {
  display: block;
}
.sp {
  display: none;
}

.l-wrapper {
  position: relative;
}

/* =============================================
  LAYOUT
============================================= */

/* --- BURGER MENU --- */

.burger-icon {
  display: none;
  height: 20px;
  position: relative;
  width: 28px;
}

.burger-icon__line {
  background: #fff;
  display: inline-block;
  height: 2px;
  left: 0;
  position: absolute;
  -webkit-transition: all .5s;
  transition: all .5s;
  width: 100%;
}

.burger-icon__line:first-child {
  top: 0;
}

.burger-icon__line:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.burger-icon__line:last-child {
  bottom: 0;
}

.js-active .burger-icon__line:first-child {
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
}

.js-active .burger-icon__line:nth-child(2) {
  -webkit-animation: burger-line .5s forwards;
  animation: burger-line .5s forwards;
  left: 50%;
  opacity: 0;
}

.js-active .burger-icon__line:last-child {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg);
}

@-webkit-keyframes burger-line {
  100% {
    height: 0;
  }
}

@keyframes burger-line {
  100% {
    height: 0;
  }
}

/* --- FOOTER --- */

.footer {
  background: #442329;
  color: #fff;
  text-align: center;
}

.footer__inner {
  margin: auto;
  max-width: 1400px;
  padding: 50px 5%;
}

.f-ttl {
  font-size: 2.4rem;
  margin-bottom: 50px;
}

.f-address {
  margin-bottom: 30px;
}

.f-tel {
  margin-bottom: 50px;
}

.f-tel__ttl-inner {
  display: inline-block;
  padding: 0 1em;
  position: relative;
}

.f-tel__ttl-inner::before,
.f-tel__ttl-inner::after {
  background: #fff;
  content: '';
  display: inline-block;
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 1.5625vw;
}

.f-tel__ttl-inner::before {
  left: 100%;
}

.f-tel__ttl-inner::after {
  right: 100%;
}

.f-tel__link {
  display: inline-block;
  font: 4.5rem/1 'Cormorant Garamond', serif;
  line-height: 1;
  padding-left: 6.5rem;
  position: relative;
}

.f-tel__link::before {
  align-items: center;
  background: #28080c;
  border-radius: 50%;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  color: #fff;
  content: '\f095';
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  font: bold 2.8rem/1 'Font Awesome 5 Free', sans-serif;
  height: 5rem;
  justify-content: center;
  left: 0;
  position: absolute;
  top: .3125vw;
  width: 5rem;
}

.f-mail {
  align-items: center;
  border: 1px solid #fff;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: auto;
  padding: 1.5em 0;
  position: relative;
  -webkit-transition: color .5s;
  transition: color .5s;
  z-index: 0;
  width:50%;
}

.f-mail::after {
  background: #fff;
  bottom: 0;
  content: '';
  display: inline-block;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: scale3d(.8, .8, 1);
  transform: scale3d(.8, .8, 1);
  -webkit-transition: all .5s;
  transition: all .5s;
  z-index: -1;
}

.f-mail.hover {
  color: #28080c;
}

.f-mail.hover::after {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.copyright {
  background: #28080c;
  display: block;
  font-size: 1.5rem;
  padding: 35px 0;
  text-align: center;
}

/* --- GLOBAL HEADER --- */

.global-header {
  height: 80px;
  position: relative;
  z-index: 1000;
}

.global-header__inner {
  -webkit-box-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  height: 100%;
  justify-content: flex-end;
  position: relative;
}

.global-header__block {
  background: #442329;
  left: 0;
  min-width: 220px;
  padding: 2%;
  position: absolute;
  top: 0;
  width: 16.25vw;
}

.h-logo {
  margin-bottom: 2.5vw;
}

.h-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.h-contact,
.h-contact__item,
.h-contact__tel,
.h-contact__mail {
  height: 100%;
}

.h-contact__tel,
.h-contact__mail {
  align-items: center;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
}

.h-contact__tel {
  background: #eae7e7;
  padding: 0 35px;
}

.h-contact__tel-ttl {
  color: #28080c;
  display: block;
  line-height: 1;
  margin-bottom: .2em;
  padding: 0 .5em;
  position: relative;
}

.h-contact__tel-ttl::before,
.h-contact__tel-ttl::after {
  background: #442329;
  content: '';
  display: inline-block;
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 25px;
}

.h-contact__tel-ttl::before {
  left: 100%;
}

.h-contact__tel-ttl::after {
  right: 100%;
}

.h-contact__tel-num {
  font: 3.2rem/1 'Cormorant Garamond', serif;
  padding-left: 4.5rem;
  position: relative;
}

.h-contact__tel-num::before {
  align-items: center;
  background: #442329;
  border-radius: 50%;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  color: #fff;
  content: '\f095';
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  font: bold 1.8rem/1 'Font Awesome 5 Free', sans-serif;
  height: 3.2rem;
  justify-content: center;
  left: 0;
  position: absolute;
  top: .5rem;
  width: 3.2rem;
}

.h-contact__mail {
  background: #442329;
  border: 2px solid #442329;
  -webkit-box-pack: center;
  color: #fff;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  width: 200px;
}

.h-contact__mail.hover {
  background: #eae7e7;
  color: #442329;
}

.gnav__item {
  height: 1.5em;
  line-height: 1.5;
  overflow: hidden;
  text-align: center;
}

.gnav__item:not(:last-child) {
  margin-bottom: 1.5625vw;
}

.gnav__contact {
  display: none;
}

.gnav__link {
  color: #fff;
  display: inline-block;
  position: relative;
  -webkit-transition: -webkit-transform .3s ease-in-out;
  transition: -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
}

.gnav__link::after {
  content: attr(title) '';
  display: block;
  font: italic normal normal inherit/1.5 'Cormorant Garamond', serif;
}

.gnav__link.hover {
  -webkit-transform: translate3d(0, -1.5em, 0);
  transform: translate3d(0, -1.5em, 0);
}

@-webkit-keyframes nav-trans {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes nav-trans {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.loader {
  align-items: center;
  bottom: 0;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000;
}

.loader::before {
  -webkit-animation: loader-icon .6s linear infinite;
  animation: loader-icon .6s linear infinite;
  border-bottom: none;
  border-left: none;
  border-radius: 50%;
  border-right: 2px solid transparent;
  border-top: 2px solid rgba(255, 255, 255, .9);
  content: '';
  display: inline-block;
  height: 70px;
  position: relative;
  width: 70px;
}

@-webkit-keyframes loader-icon {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loader-icon {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* --- MAIN --- */

/* --- SUBPAGE --- */

.sub--pb {
  padding-bottom: 50px;
}

.sub-headline {
  align-items: center;
  background: #ddd center center / cover no-repeat;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  height: 20vw;
  justify-content: center;
  margin-left: auto;
  min-height: 300px;
  overflow: hidden;
  position: relative;
  width: 95vw;
  z-index: 0;
}

.sub-headline::before,
.sub-headline::after {
  content: '';
  display: inline-block;
  position: absolute;
}

.sub-headline::before {
  background: url('../img/common/bg-headline-layer.png') center center/contain no-repeat;
  height: 46.875vw;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 75vw;
  z-index: 1;
}

.sub-headline::after {
  border: 1px solid #fff;
  bottom: 20px;
  left: 20px;
  opacity: .9;
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 2;
}

.sub-headline__ttl {
  font-size: 2rem;
  position: relative;
  text-align: center;
  z-index: 3;
  margin-right:3vw;
}

.sub-headline__ttl::before {
  content: attr(data-ttl) '';
  display: block;
  font: italic 8rem/1 'Cormorant Garamond', serif;
}

.sub-headline__ttl--capitalize::before {
  text-transform: capitalize;
}

.sub-section {
  padding: 50px 0;
}

.sub-section.first {
	padding:100px 0 50px;
}

.sub-container {
  margin: auto;
  max-width: 1000px;
  padding: 0 5%;
}

.sub-wrapper {
  margin: auto;
  max-width: 1000px;
  padding: 80px 5%;
}

.sub-ttl {
  font-size: 2.8rem;
  line-height: 1.5;
  margin-bottom: 50px;
  text-align: center;
  font-weight:900;
  letter-spacing:0.1em;
}

.sub-ttl__inner {
  display: inline-block;
  padding: 0 .8em;
  position: relative;
}

.sub-ttl__inner::before,
.sub-ttl__inner::after {
  background: #28080c;
  content: '';
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 30px;
}

.sub-ttl__inner::before {
  left: 100%;
}

.sub-ttl__inner::after {
  right: 100%;
}

.sub-eyecatch {
  margin-bottom: 50px;
  padding-right: 5%;
}

.sub-eyecatch__img {
  background: #ddd center center / cover no-repeat;
  display: block;
}

.sub-eyecatch__img::after {
  content: '';
  display: block;
  padding-top: 32.89474%;
}

.sub-desc p {
  line-height: 2;
}

.sub-desc p:not(:last-of-type) {
  margin-bottom: 1em;
}

.sub-desc--mb {
  margin-bottom: 30px;
}

/* =============================================
  COMPONENTS
============================================= */

.articles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.articles__item {
  background: #28080c;
}

.articles--col2 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.articles--col4 {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 60px;
}

.articles--col4 .articles__item {
  width: calc(25% - 9px);
}

.articles--col4 .articles__item:not(:last-child) {
  margin-right: 12px;
}

.articles--col2 .articles__item {
  margin-bottom: 30px;
  width: 47.26027%;
}

.articles__inner {
  background: #fff;
  border: 1px solid #28080c;
  color: #28080c;
  display: block;
  height: 100%;
  padding: 10px;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
}

.articles__inner.hover {
  -webkit-transform: translate3d(-7px, -7px, 0);
  transform: translate3d(-7px, -7px, 0);
}

.articles__desc {
  display: -ms-grid;
  display: grid;
  gap: 10px;
  -ms-grid-columns: minmax(-webkit-min-content, -webkit-max-content) 10px 1fr;
  -ms-grid-columns: minmax(min-content, max-content) 10px 1fr;
  -ms-grid-rows: auto 10px auto;
  grid-template-areas:
    'category date'
    'title title';
  grid-template-columns: minmax(-webkit-min-content, -webkit-max-content) 1fr;
  grid-template-columns: minmax(min-content, max-content) 1fr;
}

.articles__thumb {
  margin-bottom: 10px;
}

.articles__thumb img {
  width: 100%;
}

.articles__cat {
  align-self: center;
  background: #28080c;
  color: #fff;
  display: inline-block;
  grid-area: category;
  -ms-grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-align: center;
  line-height: 2.5;
  padding: 0 1em;
  text-align: center;
  white-space: nowrap;
  font-size:1.3rem;
}

.articles__date {
  align-self: center;
  display: block;
  font-weight: bold;
  grid-area: date;
  -ms-grid-column: 3;
  -ms-grid-row: 1;
  -ms-grid-row-align: center;
  font-size:1.3rem;

}

.articles__ttl {
  font-size: 1.6rem;
  font-weight: bold;
  grid-area: title;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  -ms-grid-row: 3;
}

.menu-detail__item > .articles__ttl {
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  -ms-grid-row: 1;
}

.breadcrumbs {
  border-top: 1px solid rgba(40, 8, 12, .2);
  padding: 1em 0;
}

.breadcrumbs__list {
  align-items: center;
  -webkit-box-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: auto;
  max-width: 1400px;
  padding: 0 5%;
}

.breadcrumbs__item:not(:last-child) {
  margin-right: 1em;
}

.breadcrumbs__item:not(:last-child)::after {
  content: '\003e';
  display: inline-block;
  margin-left: 1em;
}

.btn {
  align-items: center;
  background: #fff;
  border: 2px solid #28080c;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  color: #28080c;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  font-weight: bold;
  justify-content: center;
  padding: 1em 0;
  position: relative;
  -webkit-transition: background .5s, color .5s;
  transition: background .5s, color .5s;
  width: 250px;
}

.btn::after {
  background: #28080c;
  bottom: 0;
  content: '';
  display: inline-block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(7px, 7px);
  transform: translate(7px, 7px);
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  z-index: -1;
}

.btn--center {
  margin: auto;
}

.btn.hover {
  background: transparent;
  color: #fff;
}

.btn.hover::after {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.font-gothic {
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
}

.font-mincho {
  font-family: '游明朝体', YuMincho, '游明朝', 'Yu Mincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', HiraMinProN-W3, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'Noto Serif JP', 'HGS明朝E', serif;
}

.grid-table {
  background: rgba(68, 35, 41, .1);
}

.grid-table__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.grid-table__item:not(:last-child) {
  border-bottom: 1px solid rgba(68, 35, 41, .2);
}

.grid-table__ttl {
  align-items: center;
  background: rgba(68, 35, 41, .1);
  -webkit-box-align: center;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  flex-basis: 25rem;
  -ms-flex-negative: 0;
  -ms-flex-pack: center;
  -ms-flex-preferred-size: 30rem;
  flex-shrink: 0;
  font-weight: bold;
  justify-content: center;
}

.grid-table__desc {
  flex-basis: auto;
  -ms-flex-preferred-size: auto;
  padding: 30px 35px;
}

/* =============================================
  FRONT PAGE
============================================= */

.home-blog__ttl {
  font: italic normal normal 7.5rem/1 'Cormorant Garamond', serif;
  margin-bottom: 50px;
  position: relative;
  text-align: center;
  z-index: 0;
}

.home-blog__ttl::before {
  border-bottom: 1px solid #28080c;
  border-top: 3px solid #28080c;
  content: '';
  display: inline-block;
  height: 8px;
  left: 0;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.home-blog__ttl-inner {
  background: #fff;
  display: inline-block;
  padding: 0 .3em;
  position: relative;
  z-index: 1;
}

.mv-slider {
  z-index: 0;
}

.mv-slider::before {
  border: 1px solid #fff;
  bottom: 20px;
  content: '';
  left: 20px;
  opacity: .9;
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 2;
}

.mv-slider,
.mv-slider__item {
  height: calc(100vh - 80px);
  max-height: 70.71875vw;
  position: relative;
}

.mv-slider__item {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.mv-slider__bg {
  background: #ddd center center / cover no-repeat;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: scale3d(1.03, 1.03, 1) rotate(0.0001deg);
  transform: scale3d(1.03, 1.03, 1) rotate(0.0001deg);
  z-index: -1;
}

.mv-slider__bg img {
  width: 100%;
  height: 100%;
  object-fit:cover;
  font-family: 'object-fit: cover;';
}

.mv-slider__desc {
  background: rgba(68, 35, 41, .6);
  bottom: 3.4375vw;
  color: #fff;
  padding: 50px 110px 50px 55px;
  position: absolute;
  right: 0;
  width: 900px;
  z-index: 1;
}

.mv-slider__ttl {
  font-size: 2.8rem;
  margin-bottom: 25px;
}

.mv-slider__txt {
  font: italic 2rem/1.5 'Cormorant Garamond', serif;
}

.mv-slider__current {
  align-items: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  font: 9rem/1 'Playfair Display', serif;
  justify-content: center;
  letter-spacing: .05em;
  position: absolute;
  right: 50px;
  top: -65px;
}

.mv-slider__current::before {
  content: '0';
}

.mv-slider__current-txt {
  -webkit-animation: mv-slider-leave 1s ease-in-out forwards;
  animation: mv-slider-leave 1s ease-in-out forwards;
  display: inline-block;
}

.mv-slider__loader {
  height: 252px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
  transform: translate(-50%, -50%) rotate(-90deg);
  width: 252px;
}

.mv-slider__loader-circle {
  fill: transparent;
  stroke: rgba(255, 255, 255, .9);
  stroke-width: 2;
}

.slick-slide.slick-current .mv-slider__current-txt {
  -webkit-animation: mv-slider-appear 1s ease-in-out forwards;
  animation: mv-slider-appear 1s ease-in-out forwards;
}

.slick-slide.slick-current .mv-slider__loader-circle {
  -webkit-animation: loader-circle 4s linear forwards;
  animation: loader-circle 4s linear forwards;
}

.slick-slide.slick-current .mv-slider__bg {
  -webkit-animation: mv-slider-image 4.5s linear forwards;
  animation: mv-slider-image 4.5s linear forwards;
}

@-webkit-keyframes loader-circle {
  0% {
    stroke-dasharray: 0 791;
  }

  100% {
    stroke-dasharray: 791 791;
  }
}

@keyframes loader-circle {
  0% {
    stroke-dasharray: 0 791;
  }

  100% {
    stroke-dasharray: 791 791;
  }
}

@-webkit-keyframes mv-slider-appear {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%) rotateX(90deg);
    transform: translateY(-50%) rotateX(90deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0) rotateX(0);
    transform: translateY(0) rotateX(0);
  }
}

@keyframes mv-slider-appear {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%) rotateX(90deg);
    transform: translateY(-50%) rotateX(90deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0) rotateX(0);
    transform: translateY(0) rotateX(0);
  }
}

@-webkit-keyframes mv-slider-leave {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0) rotateX(0);
    transform: translateY(0) rotateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(50%) rotateX(-90deg);
    transform: translateY(50%) rotateX(-90deg);
  }
}

@keyframes mv-slider-leave {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0) rotateX(0);
    transform: translateY(0) rotateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(50%) rotateX(-90deg);
    transform: translateY(50%) rotateX(-90deg);
  }
}

@-webkit-keyframes mv-slider-image {
  0% {
    -webkit-transform: scale3d(1, 1, 1) rotate(0.0001deg);
    transform: scale3d(1, 1, 1) rotate(0.0001deg);
  }

  100% {
    -webkit-transform: scale3d(1.03, 1.03, 1) rotate(0.0001deg);
    transform: scale3d(1.03, 1.03, 1) rotate(0.0001deg);
  }
}

@keyframes mv-slider-image {
  0% {
    -webkit-transform: scale3d(1, 1, 1) rotate(0.0001deg);
    transform: scale3d(1, 1, 1) rotate(0.0001deg);
  }

  100% {
    -webkit-transform: scale3d(1.03, 1.03, 1) rotate(0.0001deg);
    transform: scale3d(1.03, 1.03, 1) rotate(0.0001deg);
  }
}

.home-section {
  margin-bottom: 80px;
  position: relative;
  z-index: 0;
}

.home-section__bg {
  background: #ddd center center / cover no-repeat;
  min-height: 450px;
  padding-top: 32.89474%;
}

.home-section__desc {
  background: rgba(68, 35, 41, .6);
  bottom: -40px;
  color: #fff;
  min-width: 720px;
  padding: 50px 45px;
  position: absolute;
  width: 45vw;
  z-index: 1;
}

.home-section__ttl {
  font-size: 2.4rem;
  margin-bottom: 30px;
}

.home-section__ttl::before {
  color: #28080c;
  content: attr(data-ttl) '';
  font: italic normal normal 10rem/1 'Cormorant Garamond', serif;
  left: 0;
  position: absolute;
  top: -60px;
}

.home-section__txt {
  letter-spacing: .05em;
  line-height: 2;
  margin-bottom: 30px;
}

.home-section:nth-of-type(odd) {
  padding-left: 5%;
}

.home-section:nth-of-type(odd) .home-section__desc {
  right: 0;
}

.home-section:nth-of-type(even) {
  padding-right: 5%;
}

.home-section:nth-of-type(even) .home-section__desc {
  left: 0;
}
.home-section__btn-wrap + .home-section__btn-wrap{
  margin-top: 30px;
}
.home-container {
  margin: 0 auto 80px;
  max-width: 1200px;
  padding: 0 5%;
}

.home-nav {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.home-nav__item {
  background: #ddd center center / cover no-repeat;
  width: 48.61111%;
}

.home-nav__inner {
  padding: 50px 30px;
  position: relative;
  z-index: 0;
}

.home-nav__inner::before,
.home-nav__inner::after {
  content: '';
  display: inline-block;
  position: absolute;
}

.home-nav__inner::before {
  background: rgba(68, 35, 41, .6);
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: -2;
}

.home-nav__inner::after {
  background: transparent;
  border: 1px solid #fff;
  bottom: 10px;
  left: 10px;
  right: 10px;
  top: 10px;
  z-index: -1;
}

.home-nav__ttl {
  color: #fff;
  font-size: 1.8rem;
  margin-bottom: 30px;
  text-align: center;
}

.home-nav__ttl::before {
  color: #fff;
  content: attr(data-ttl) '';
  display: block;
  font: italic normal normal 7.5rem/1 'Cormorant Garamond', serif;
}

/* =============================================
  ABOUT PAGE
============================================= */

.profile-name {
  border-bottom: 1px solid #28080c;
  font-size: 2.8rem;
  line-height: 1.5;
  margin-bottom: 30px;
  padding: 30px 0;
}

.profile-name__en {
  display: inline-block;
  font-size: 1.5rem;
  margin-left: 1.5em;
}

.profile-carrier {
  background: rgba(68, 35, 41, .1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0;
}

.profile-carrier__ttl {
  align-self: center;
  flex-basis: 26.95072%;
  -ms-flex-item-align: center;
  -ms-flex-negative: 0;
  -ms-flex-preferred-size: 26.95072%;
  flex-shrink: 0;
  font-weight: bold;
  -ms-grid-row-align: center;
  text-align: center;
}

.profile-carrier__desc {
  flex-basis: auto;
  -ms-flex-preferred-size: auto;
  padding-right: 5%;
}

.profile-carrier__item:not(:last-child) {
  margin-bottom: 1.5rem;
}

.profile-carrier__date {
  display: inline-block;
  margin-right: 1em;
}

.summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.summary-eyecatch,
.summary-list {
  width: 50%;
}

.summary-eyecatch {
  position: relative;
}

.summary-eyecatch__img {
  background: #ddd center center / cover no-repeat;
  bottom: 0;
  display: inline-block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.summary-list {
  background: rgba(68, 35, 41, 1);
  color: #fff;
  padding: 4.6875%;
}

.summary-list__item {
  border-top: 1px solid rgba(255, 255, 255, .2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1em .8em;
}

.summary-list__ttl {
  flex-basis: 14.5rem;
  -ms-flex-negative: 0;
  -ms-flex-preferred-size: 14.5rem;
  flex-shrink: 0;
}

.summary-list__desc {
  flex-basis: auto;
  -ms-flex-preferred-size: auto;
}

/* =============================================
  MENU PAGE
============================================= */

.menu-check {
  background: #ddd center center / cover no-repeat;
  margin-bottom: 50px;
  padding: 80px 0;
}

.menu-check__ttl {
  font-size: 2.8rem;
  margin-bottom: 50px;
  text-align: center;
}

.check-list {
  margin: auto;
  max-width: 800px;
  padding: 0 5%;
}

.check-list__item {
  line-height: 2;
  padding-left: 4.5rem;
  position: relative;
}

.check-list__item:not(:last-child) {
  margin-bottom: 30px;
}

.check-list__item::before {
  background: url('../img/common/check.svg') center center/contain no-repeat;
  content: '';
  display: inline-block;
  height: 3rem;
  left: 0;
  position: absolute;
  width: 3rem;
}

.menu-detail {
  margin: auto;
  max-width: 1400px;
  padding: 0 5%;
}

.menu-detail__item {
  background: rgba(68, 35, 41, .1);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50% 6.25% 1fr;
  grid-gap: 30px 6.25%;
  -ms-grid-rows: auto 30px auto;
  grid-template-areas: 'image title' 'image text';
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto auto;
  margin: 0 calc(50% - 50vw);
  padding: 50px calc(50vw - 50%);
}

.menu-detail__item:not(:last-child) {
  margin-bottom: 50px;
}

.menu-detail__photo {
  grid-area: image;
  -ms-grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
}

.menu-detail__photo-img,
.menu-detail__photo-img img {
  width: 100%;
}

.menu-detail__ttl {
  align-self: end;
  font-size: 2.4rem;
  grid-area: title;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  -ms-grid-row: 3;
  -ms-grid-row-align: end;
  font-weight:900;
}

.menu-detail__item > .menu-detail__ttl {
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  -ms-grid-row: 1;
}

.menu-detail__desc {
  grid-area: text;
  -ms-grid-column: 3;
  -ms-grid-row: 3;
  line-height: 2;
}

.menu-detail__desc p:not(:last-of-type) {
  margin-bottom: 1em;
}

/* =============================================
  ACCESS PAGE
============================================= */

.access-map {
  margin-bottom: 50px;
  padding-top: 58.33333%;
  position: relative;
}

.access-map iframe {
  -webkit-filter: grayscale(100%) sepia(5%);
  filter: grayscale(100%) sepia(5%);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* =============================================
  FAQ PAGE
============================================= */

.faq-list__item {
  margin-bottom: 30px;
}

.faq-list__ttl {
  align-items: center;
  background: rgba(68, 35, 41, .1);
  -webkit-box-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  font-size: 2rem;
  font-weight:900;
  padding: 1.5rem;
  position: relative;
}

.faq-list__ttl::before {
  align-items: center;
  align-self: flex-start;
  background: #442329;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  color: #fff;
  content: 'Q';
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  -ms-flex-item-align: start;
  -ms-flex-negative: 0;
  -ms-flex-pack: center;
  flex-shrink: 0;
  font: normal 3rem/1 'Cormorant Garamond', serif;
  height: 4.5rem;
  justify-content: center;
  margin-right: 1.5rem;
  width: 4.5rem;
}

.faq-list__desc {
  line-height: 2;
  padding: 30px;
}

/* =============================================
  BLOG PAGE
============================================= */

.blog-wrapper {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.blog-contents {
  width: 69.19431%;
}

.pagination,
.single-pagination {
  border-top: 1px dashed rgba(68, 35, 41, .2);
  padding-top: 50px;
}

/** WordPress標準搭載の一覧ページのペーネーション **/

.screen-reader-text {
  display: none;
}

.nav-links {
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.page-numbers {
  align-items: center;
  background: #442329;
  border-radius: 50%;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  height: 5rem;
  justify-content: center;
  line-height: 1;
  overflow: hidden;
  position: relative;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  width: 5rem;
}

.page-numbers.hover {
  opacity: .8;
}

.page-numbers:not(:last-child) {
  margin-right: 1em;
}

.page-numbers.prev::after,
.page-numbers.next::after {
  background:
    url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cdefs%3E%3Cstyle%3E.a%2C.b%7Bfill%3Anone%3B%7D.b%7Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Crect%20class%3D%22a%22%20width%3D%2248%22%20height%3D%2248%22%2F%3E%3Cpolyline%20class%3D%22b%22%20points%3D%2221%2018%2027%2024%2021%2030%22%2F%3E%3C%2Fsvg%3E')
    center center/contain no-repeat;
  content: '';
  height: 3.5rem;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 3.5rem;
}

.page-numbers.prev.prev,
.page-numbers.next.prev {
  align-self: flex-start;
  -ms-flex-item-align: start;
}

.page-numbers.prev.prev::after,
.page-numbers.next.prev::after {
  -webkit-transform: translate(-50%, -50%) rotate(-180deg);
  transform: translate(-50%, -50%) rotate(-180deg);
}

.page-numbers.prev.next,
.page-numbers.next.next {
  align-self: flex-end;
  -ms-flex-item-align: end;
}

.page-numbers.prev.next::after,
.page-numbers.next.next::after {
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/** 記事ページのペーネーション **/

.single-pagination__list {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.single-pagination__item {
  width: 48%;
}

.single-pagination__item .btn {
  width: 100%;
}

.post-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
}

.post-meta__item:not(:last-child) {
  margin-right: 1em;
}

.post-meta__date::before,
.post-meta .post-categories::before {
  color: rgba(40, 8, 12, .2);
  display: inline-block;
  font-family: 'Font Awesome 5 Free', sans-serif;
  font-weight: bold;
  margin-right: .3em;
}

.post-meta__date::before {
  content: '\f017';
}

.post-meta .post-categories {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.post-meta .post-categories::before {
  content: '\f07c';
}

.post-meta .post-categories li:not(:last-child) {
  margin-right: .5em;
}

.post-title {
  border-bottom: 1px solid rgba(68, 35, 41, .2);
  font-size: 2.8rem;
  margin-bottom: .3em;
  padding-bottom: .3em;
  font-weight:900;
}

.post-content {
  line-height: 2;
}

.post-intro {
  margin-bottom: 50px;
}

.post-intro__eyecatch {
  margin-bottom: 30px;
}

.post-intro__eyecatch img {
  width: 100%;
}

.post-section__eyecatch {
  margin-bottom: 30px;
}

.seoLinks {
  margin-bottom: 2em;
  margin-top: .5em;
}

.seoLinks a {
  text-decoration: underline;
}

.tableTtl {
  background: #442329;
  color: #fff;
  line-height: 1;
  padding: 1em;
  text-align: center;
}

.tableContents {
  background: rgba(68, 35, 41, .1);
  margin-bottom: 50px;
  padding: 50px 5%;
}

.tableContents__item {
  padding-left: 2.5rem;
  position: relative;
}

.tableContents__item::before {
  border: .6rem solid transparent;
  border-left: 1rem solid #28080c;
  content: '';
  display: inline-block;
  left: 0;
  position: absolute;
  top: .8rem;
}

.tableContents__item::before:not(:last-child) {
  margin-bottom: 10px;
}

.tableContents li {
  margin-bottom: 10px;
}

.tableContents li:last-child {
  margin-bottom: 0;
}

.seoTtl01 {
  border-bottom: 1px solid rgba(68, 35, 41, .4);
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: .3em;
  text-align: left;
}

.seoTtl02 {
  background: rgba(68, 35, 41, .2);
  font-weight: bold;
  margin-bottom: 30px;
  padding: 1em;
}

.seoImg {
  width: 100%;
}

.seoText {
  line-height: 2;
  margin-bottom: 50px;
  word-break: normal;
  word-wrap: break-word;
}

.seoBlockH3 {
  padding-left: 4.5rem;
  position: relative;
}

.seoBlockH3::before {
  background: #28080c;
  border-radius: 50%;
  content: '';
  display: inline-block;
  height: .8rem;
  left: 2.5rem;
  position: absolute;
  top: .9rem;
  width: .8rem;
}

#seoAnchor {
  margin-top: -100px;
  padding-top: 100px;
}

.sidebar {
  width: 26.54028%;
}

.side-gadget:not(:last-child) {
  margin-bottom: 35px;
}

.side-gadget__ttl {
  background: #442329;
  color: #fff;
  line-height: 1;
  padding: 1em;
}

.side-nav__item {
  border-bottom: 1px solid #ccc;
}

.side-nav__link {
  display: block;
  padding: .8em 1em;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.side-nav__link.hover {
  -webkit-transform: translateX(4px);
  transform: translateX(4px);
}

.side-nav__date {
  display: block;
  margin-bottom: .2em;
  font-weight:900;
  font-size:1.2rem;
}

/* =============================================
  CONTACT PAGE
============================================= */

.cf {
  background: rgba(40, 8, 12, .1);
  padding: 80px 12.5%;
}

.cf__list {
  margin-bottom: 50px;
}

.cf__item:not(:last-child) {
  margin-bottom: 30px;
}

.cf__ttl {
  line-height: 2;
  margin-bottom: 15px;
}

.cf__note {
  color: #fff;
  display: inline-block;
  margin-right: 1em;
  padding: 0 .8em;
}

.cf__note--required {
  background: #442329;
}

.cf__note--any {
  background: rgba(0, 0, 0, .2);
}

.cf__message {
  height: 30rem;
}

.cf__txt,
.cf__message {
  background: #fff;
  border: 1px solid #ddd;
  color: #555;
  padding: .5em;
  resize: none;
  -webkit-transition: -webkit-box-shadow .3s;
  transition: -webkit-box-shadow .3s;
  transition: box-shadow .3s;
  transition: box-shadow .3s, -webkit-box-shadow .3s;
  width: 100%;
}

.cf__txt:focus,
.cf__message:focus {
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .3);
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .3);
}

.contact-btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.cf__submit {
  margin: auto;
  position: relative;
  width: 250px;
  z-index: 0;
}

.cf__submit::after {
  background: #28080c;
  bottom: 0;
  content: '';
  display: inline-block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(7px, 7px);
  transform: translate(7px, 7px);
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  z-index: -1;
}

.cf__submit.hover {
  background: transparent;
  color: #fff;
}

.cf__submit.hover::after {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.cf__btn {
  cursor: pointer;
  width: 100%;
}

.contact-desc {
  margin-bottom: 50px;
  text-align: center;
}

.contact-desc__txt:not(:last-of-type) {
  margin-bottom: 30px;
}

.privacy {
  background: #fffff7;
  border: 1px solid #ccc;
  display: block;
  font-size: 1.2rem;
  height: 200px;
  margin: 20px 0 10px 0;
  margin: 0 auto 1em;
  overflow: auto;
  padding: 16px;
}

.privacy__title {
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: center;
}

.privacy-list {
  width: auto;
}

.privacy-list__item {
  margin-top: 1.2em;
}

.privacy-list__ttl {
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  margin-bottom: 15px;
  padding-bottom: 10px;
}

.privacy-list__desc .num {
  display: table-cell;
  font-style: normal;
  font-weight: bold;
  padding-right: 10px;
  white-space: nowrap;
}

.privacy-list__desc .content {
  display: table-cell;
}

.consent {
  margin: 0 auto 2em;
  max-width: 655px;
  text-align: center;
}

.consent label {
  cursor: pointer;
  display: inline-block;
}

.consent input {
  display: none;
}

.consent .mwform-checkbox-field-text {
  display: inline-block;
  padding-left: 30px;
  position: relative;
}

.consent .mwform-checkbox-field-text::before,
.consent .mwform-checkbox-field-text::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 2px;
}

.consent .mwform-checkbox-field-text::before {
  border: 2px solid #28080c;
  border-radius: 0;
  height: 20px;
  left: 0;
  -webkit-transition: all .5s cubic-bezier(1, 0, 0, 1);
  transition: all .5s cubic-bezier(1, 0, 0, 1);
  width: 20px;
}

.consent .mwform-checkbox-field-text::after {
  border-bottom: 2px solid transparent;
  border-right: 2px solid transparent;
  height: 16px;
  left: 5px;
  opacity: 0;
  -webkit-transform: rotate(-200deg);
  transform: rotate(-200deg);
  -webkit-transition: all .4s cubic-bezier(.785, .135, .15, .86);
  transition: all .4s cubic-bezier(.785, .135, .15, .86);
  width: 8px;
}

.consent input:checked + .mwform-checkbox-field-text::before {
  opacity: 0;
  -webkit-transform: scale3d(2, 2, 1);
  transform: scale3d(2, 2, 1);
}

.consent input:checked + .mwform-checkbox-field-text::after {
  border-bottom: 2px solid #28080c;
  border-right: 2px solid #28080c;
  opacity: 1;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

.mw_wp_form_input .cf__back{
  display: none;
}
.mw_wp_form_input .contact__lead--confirm{
  display: none;
}

.mw_wp_form_confirm .contact__lead--input,
.mw_wp_form_confirm .consent,
.mw_wp_form_confirm .privacy {
  display: none;
}

/* =============================================
  404
============================================= */

.not-found__txt {
  line-height: 2;
  text-align: center;
}

.not-found__btn {
  margin-top: 50px;
}

/* =============================================
  ANIMATION
============================================= */

.effect-fadeup {
  opacity: 0;
  -webkit-transform: translate3d(0, 120px, 0);
  transform: translate3d(0, 120px, 0);
  -webkit-transition: opacity .8s linear, -webkit-transform .8s ease-out;
  transition: opacity .8s linear, -webkit-transform .8s ease-out;
  transition: opacity .8s linear, transform .8s ease-out;
  transition: opacity .8s linear, transform .8s ease-out, -webkit-transform .8s ease-out;
}

.effect-fadeup.js-action {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.effect-reveal {
  opacity: 0;
}

.effect-reveal__slide-item {
  position: relative;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  z-index: 0;
}

.effect-reveal__slide-item::before {
  background: #442329;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform-origin: right top;
  transform-origin: right top;
  z-index: 1;
}

.effect-reveal.js-action {
  opacity: 1;
}

.effect-reveal.js-action .effect-reveal__slide-item {
  -webkit-animation: reveal-slide .8s cubic-bezier(.77, 0, .175, 1) both;
  animation: reveal-slide .8s cubic-bezier(.77, 0, .175, 1) both;
}

.effect-reveal.js-action .effect-reveal__slide-item::before {
  -webkit-animation: reveal-mask 1s cubic-bezier(.77, 0, .175, 1) .6s both;
  animation: reveal-mask 1s cubic-bezier(.77, 0, .175, 1) .6s both;
}

.effect-reveal.js-action .effect-reveal__fade-item {
  -webkit-animation: reveal-fade .8s ease-out 1s both;
  animation: reveal-fade .8s ease-out 1s both;
}

@-webkit-keyframes reveal-slide {
  0% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes reveal-slide {
  0% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes reveal-mask {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
}

@keyframes reveal-mask {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
}

@-webkit-keyframes reveal-fade {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 120px, 0);
    transform: translate3d(0, 120px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes reveal-fade {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 120px, 0);
    transform: translate3d(0, 120px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.l-shutter {
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
}

.l-shutter__grid {
  display: inline-block;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 50%;
}

.l-shutter__grid::after {
  background: #442329;
  bottom: 0;
  content: '';
  display: inline-block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.l-shutter.js-appear .l-shutter__grid {
  -webkit-animation: shutter-appear .8s cubic-bezier(.645, .045, .355, 1) forwards;
  animation: shutter-appear .8s cubic-bezier(.645, .045, .355, 1) forwards;
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.l-shutter.js-leave .l-shutter__grid {
  -webkit-animation: shutter-leave .8s cubic-bezier(.645, .045, .355, 1) forwards;
  animation: shutter-leave .8s cubic-bezier(.645, .045, .355, 1) forwards;
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

@-webkit-keyframes shutter-appear {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
}

@keyframes shutter-appear {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
}

@-webkit-keyframes shutter-leave {
  0% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes shutter-leave {
  0% {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@media screen and (max-width: 1024px) {
  .articles--col4 .articles__item {
    width: 31.94444%;
  }

  .articles--col4 .articles__item:last-child:not(:first-child) {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.4em;
  }

  .sp {
    display: block;
  }
  .pc ,
  .not-sp {
    display: none;
  }

  .burger-icon {
    display: inline-block;
  }

  .footer__inner {
    padding: 50px 5%;
  }

  .f-ttl {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }

  .f-address {
    margin-bottom: 30px;
	font-size:1.2rem;
  }

  .f-address__txt {
    line-height: 2;
  }

  .f-tel {
    margin-bottom: 0px;
  }
  .f-tel .f-tel__desc{
    height:60px;
    margin-bottom:20px;
  }

  .f-tel__ttl-inner::before,
  .f-tel__ttl-inner::after {
    width: 15px;
  }

  .f-tel__link {
    padding-top:5px;
    font-size: 3.6rem;
    padding-left: 6rem;
  }

  .f-tel__link::before {
    font-size: 2.4rem;
    height: 5rem;
    top: .5rem;
    width: 5rem;
  }

  .f-mail {
    width: 100%;
  }

  .copyright {
    padding: 15px 0;
	font-size:1.2rem;
  }

  .global-header {
    left: 0;
    padding: 0 constant(safe-area-inset-right) 0 constant(safe-area-inset-left);
    padding: 0 env(safe-area-inset-right) 0 env(safe-area-inset-left);
    position: fixed;
    right: 0;
    top: 0;
  }

  .global-header,
  .global-header::before {
    height: 60px;
  }

  .global-header::before {
    background: #442329;
    content: '';
    display: inline-block;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    z-index: -1;
  }

  .global-header.js-active::before {
    background: #28080c;
    height: 100vh;
    max-height: 100vh;
  }

  .global-header__inner {
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: justify;
    -ms-flex-align: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 5%;
  }

  .global-header__block {
    background: transparent;
    padding: 0;
    position: relative;
    width: auto;
  }

  .h-logo {
    height: 35px;
    margin: 0;
  }

  .h-logo__img,
  .h-logo__img img {
    height: 100%;
    width: auto;
  }

  .h-contact {
    display: none;
  }

  .gnav {
    bottom: 0;
    display: none;
    left: 0;
    overflow-y: scroll;
    position: fixed;
    right: 0;
    top: 0;
  }

  .gnav__list {
    align-items: center;
    bottom: 0;
    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    height: 100%;
    justify-content: center;
    left: 0;
    overflow-y: auto;
    padding: 60px 5% 0;
    position: absolute;
    right: 0;
    top: 0;
  }

  .gnav__item:not(:last-child) {
    margin-bottom: 32px;
  }

  .gnav__contact {
    display: block;
  }

  .gnav__link {
    -webkit-animation: nav-trans .5s ease-in-out .5s both;
    animation: nav-trans .5s ease-in-out .5s both;
  }

  .gnav__link::after {
    display: none;
  }

  .global-header.js-active .gnav {
    display: block;
  }

  .contents::before {
    content: '';
    display: block;
    height: 60px;
  }

  .sub--pb {
    padding-bottom: 0;
  }

  .sub-headline {
    height: 61.875vw;
    min-height: 0;
    width: 100%;
  }

  .sub-headline::before {
    height: 187.5vw;
    width: 156.25vw;
  }

  .sub-headline::after {
    bottom: 10px;
    left: 10px;
    right: 10px;
    top: 10px;
  }

  .sub-headline__ttl {
    font-size: 1.8rem;
  }

  .sub-headline__ttl::before {
    font-size: 7rem;
  }

  .sub-section {
    padding: 30px 0;
  }

  .sub-section.first {
	  padding:30px 0;
  }

  .sub-section--sp-pb0 {
    padding-bottom: 0;
  }

  .sub-container {
    padding: 0 5%;
    width: 100%;
  }

  .sub-wrapper {
    padding: 50px 5%;
  }

  .sub-ttl {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }

  .sub-ttl__inner::before,
  .sub-ttl__inner::after {
    width: 15px;
  }

  .sub-eyecatch {
    padding: 0;
  }

  .sub-eyecatch__img::after {
    margin-bottom: 30px;
    padding-top: 57.8125%;
  }

  .articles {
    display: block;
    margin-bottom: 50px;
  }

  .articles__item:not(:last-child) {
    margin-bottom: 25px;
  }

  .articles--col4 .articles__item {
    width: 100%;
  }

  .articles--col2 .articles__item {
    width: 100%;
  }

  .articles--col2 .articles__item:nth-last-child(2) {
    margin-bottom: 25px;
  }

  .articles__inner {
    padding: 0;
  }

  .articles__desc {
    gap: 10px;
    padding: 5px 10px 15px;
  }

  .articles__ttl {
    font-size: 1.6rem;
  }

  .breadcrumbs {
    padding: 1.5em 0;
  }

  .breadcrumbs__list {
    max-width: 89.0625vw;
  }

  .breadcrumbs__item:not(:last-child) {
    margin-right: .8em;
  }

  .breadcrumbs__item:not(:last-child)::after {
    margin-left: .8em;
  }

  .btn {
    width: 100%;
  }

  .btn::after {
    display: none;
  }

  .grid-table__ttl {
    flex-basis: 34.72222%;
    -ms-flex-preferred-size: 34.72222%;
  }

  .grid-table__ttl,
  .grid-table__desc {
    padding: 24px 12px;
  }

  .home-blog {
    padding: 0 5%;
  }

  .home-blog__ttl {
    font-size: 5rem;
    margin-bottom: 30px;
  }

  .mv-slider {
    max-height: 100%;
  }

  .mv-slider::before {
    bottom: 10px;
    left: 10px;
    right: 10px;
    top: 10px;
  }

  .mv-slider,
  .mv-slider__item {
    height: 109.375vw;
    max-height: 100%;
    min-height: 450px;
  }

  .mv-slider__desc {
    bottom: 0;
    left: 0;
    padding: 25px 30px;
    width: 100%;
  }

  .mv-slider__ttl {
    font-size: 1.8rem;
    margin-bottom: 15px;
    width: 80%;
  }

  .mv-slider__txt {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .mv-slider__current {
    font-size: 4rem;
    height: 120px;
    height: 120px;
    right: 10px;
    top: -60px;
  }

  .mv-slider__loader {
    height: 120px;
    width: 120px;
  }

  .home-section {
    margin-bottom: 50px;
  }

  .home-section__bg {
    min-height: 200px;
    padding-top: 65.625%;
  }

  .home-section__desc {
    bottom: 0;
    margin-top: -50px;
    min-width: 300px;
    padding: 30px;
    position: relative;
    width: 95vw;
  }

  .home-section__ttl {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }

  .home-section__ttl::before {
    font-size: 7rem;
    top: -45px;
  }

  .home-section__txt {
    margin-bottom: 25px;
  }

  .home-section:nth-of-type(even) .home-section__desc {
    margin-left: auto;
  }

  .home-section:nth-of-type(odd),
  .home-section:nth-of-type(even) {
    padding: 0;
  }
  .home-section__btn-wrap + .home-section__btn-wrap{
  margin-top: 25px;
}
  .home-container {
    margin: 0 auto 50px;
  }

  .home-nav {
    display: block;
  }

  .home-nav__item {
    width: 100%;
  }

  .home-nav__item:not(:last-child) {
    margin-bottom: 25px;
  }

  .home-nav__inner {
    padding: 45px 30px;
  }

  .home-nav__inner::after {
    bottom: 10px;
    left: 10px;
    right: 10px;
    top: 10px;
  }

  .home-nav__ttl {
    font-size: 1.8rem;
    line-height: 2;
    margin-bottom: 15px;
  }

  .home-nav__ttl::before {
    font-size: 5rem;
  }

  .profile-name {
    font-size: 1.8rem;
    margin-bottom: 30px;
    padding: 1em 0;
  }

  .profile-name__en {
    font-size: 1.3rem;
    margin-left: 1em;
  }

  .profile-carrier {
    display: block;
    padding: 30px 5%;
  }

  .profile-carrier__ttl {
    margin-bottom: 30px;
  }

  .profile-carrier__desc {
    padding: 0;
  }

  .profile-carrier__date {
    display: block;
    margin-bottom: .3em;
  }

  .summary {
    display: block;
  }

  .summary-eyecatch,
  .summary-list {
    width: 100%;
  }

  .summary-eyecatch {
    padding-top: 57.8125%;
  }

  .summary-list {
    padding: 30px 5%;
  }

  .summary-list__item {
    padding: 1em 0;
  }

  .summary-list__item:last-child {
    padding-bottom: 0;
  }

  .summary-list__ttl {
    flex-basis: 24.21875%;
    -ms-flex-preferred-size: 24.21875%;
  }

  .menu-check {
    margin-bottom: 0;
    padding: 50px 5%;
  }

  .menu-check__ttl {
    font-size: 1.8rem;
    margin-bottom: 7.8125vw;
  }

  .check-list {
    padding: 0;
  }

  .check-list__item {
    padding-left: 3rem;
  }

  .check-list__item:not(:last-child) {
    margin-bottom: 15px;
  }

  .check-list__item::before {
    height: 1.8rem;
    top: .4rem;
    width: 1.8rem;
  }

  .menu-detail__item {
    display: block;
    padding: 30px 5%;
  }

  .menu-detail__item:not(:last-child) {
    margin-bottom: 30px;
  }

  .menu-detail__photo {
    margin-bottom: 25px;
  }

  .menu-detail__ttl {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }

  .access-map {
    margin-bottom: 25px;
  }

  .faq-list__item {
    margin-bottom: 25px;
  }

  .faq-list__item:last-child {
    margin-bottom: 0;
  }

  .faq-list__ttl {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 15px;
    padding: 10px;
  }

  .faq-list__ttl::before {
    font-size: 2rem;
    height: 2.5rem;
    margin-right: 10px;
    width: 2.5rem;
  }

  .faq-list__desc {
    padding: 0 3.125vw;
  }

  .blog-wrapper {
    display: block;
  }

  .blog-contents {
    width: 100%;
  }

  .pagination,
  .single-pagination {
    padding-top: 30px;
  }

  .pagination {
    margin-bottom: 30px;
  }

  .page-numbers {
    height: 4.5rem;
    width: 4.5rem;
  }

  .post {
    margin-bottom: 50px;
  }

  .post-title {
    font-size: 1.8rem;
    margin-bottom: .5em;
    padding-bottom: .5em;
  }

  .post-content {
    margin-bottom: 30px;
  }

  .post-intro {
    margin-bottom: 30px;
  }

  .tableContents {
    margin-bottom: 30px;
    padding: 30px 5%;
  }

  .tableContents__item {
    padding-left: 2rem;
  }

  .tableContents__item::before {
    top: .7rem;
  }

  .seoTtl01 {
    font-size: 1.8rem;
  }

  .seoText {
    margin-bottom: 30px;
  }

  .sidebar {
    width: 100%;
  }

  .side-gadget:not(:last-child) {
    margin-bottom: 7.8125vw;
  }

  .side-nav__link {
    padding: 1em;
  }

  .contact-btnArea {
    display: block;
  }

  .cf__back {
    margin-top:15px;
  }

  .cf {
    padding: 30px 5%;
  }

  .cf__list {
    margin-bottom: 30px;
  }

  .cf__ttl {
    margin-bottom: 10px;
  }

  .cf__note {
    margin-right: .5em;
  }

  .cf__message {
    height: 20rem;
  }

  .cf__submit::after {
    display: none;
  }

  .contact-desc {
    text-align: left;
  }

  .contact-desc__txt:not(:last-of-type) {
    margin-bottom: 15px;
  }

  .not-found__btn {
    margin-top: 30px;
  }
}

/* update class */
.articles__desc {
	display:block;
}
.articles__desc .articles__cat {
	align-self: auto;
	text-align: left;
	padding: 0.8em 0.8em 0.6em 0.8em;
	line-height:1;
}
.articles__desc .articles__date {
	align-self: auto;
	margin: 0.7em 0 0.3em 0;
}
.articles__desc .articles__ttl {
	line-height:1.5;
	word-break: break-all;
}
@media screen and (min-width: 768px) {
	.articles__thumb img {
		object-fit:cover;
		font-family: 'object-fit: cover;';
		height:183px;
	}
	.articles__thumb.index img {
		height:165px;
	}
}
/***** refusal *****/
.refusal {
  text-align: right;
  margin-top: 30px;
}
.refusal img {
  width: 100%;
  max-width: 300px;
  margin-left: auto;
}
@media screen and (max-width: 770px) {
  .refusal {
    margin-top: 15px;
  }
  .refusal img {
    max-width: 270px;
  }
}
/***** pagetop *****/
.p-pagetop {
  bottom: 8px;
  height: 56px;
  position: fixed;
  right: 8px;
  width: 56px;
  z-index: 99;
}

.p-pagetop__btn {
  align-items: center;
  background: rgba(68, 35, 41, .8);
  border-radius: 4px;
  display: inline-flex;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  transition: background .3s, transform .5s, opacity .5s, visibility .5s;
  width: 100%;
}

.p-pagetop__btn::after {
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%2C.cls-2%7Bfill%3Anone%3B%7D.cls-2%7Bstroke%3A%23fafafa%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%3E%3Crect%20class%3D%22cls-1%22%20width%3D%2248%22%20height%3D%2248%22%2F%3E%3C%2Fg%3E%3Cg%20id%3D%22icon_data%22%3E%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2226%2011%2039%2024%2026%2037.25%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%229%22%20y1%3D%2224%22%20x2%3D%2228%22%20y2%3D%2224%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') center center/contain no-repeat;
  content: '';
  display: inline-block;
  height: 32px;
  opacity: .8;
  transform: rotate(-90deg);
  width: 32px;
}

.p-pagetop__btn.is-hover {
  background: rgba(68, 35, 41, .4);
}

.p-pagetop[aria-hidden] .p-pagetop__btn {
  opacity: 0;
  transform: scale3d(.9, .9, 1);
  visibility: hidden;
}
@media screen and (max-width: 770px) {
  .p-pagetop {
    height: 48px;
    width: 48px;
  }
  .p-pagetop__btn::after {
    height: 24px;
    width: 24px;
  }
}
