@charset "UTF-8";
/*
Theme Name: BOYグループ - child--2026
Description: テーマ「BOYグループ」のテストテーマ（子テーマ）です。追加・修正などのテストにご利用ください。本修正の反映は親テーマにお願いします。
Template: boygroup
*/
/************************************************
    Reset
*************************************************/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
figure,
figcaption,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  padding: 0;
  border: 0;
  margin: 0;
}

body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: normal;
}

table,
caption,
th,
td {
  font-weight: normal;
  text-align: left;
  empty-cells: show;
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0px;
  margin: 0;
}

a img,
iframe {
  border: none;
}

ol,
ul,
li {
  list-style: none;
}

input,
textarea,
select,
button {
  font-family: inherit;
  font-size: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  vertical-align: bottom;
  box-sizing: border-box;
  max-width: 100%;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  margin: 0;
}

input[type="text"],
textarea {
  width: 100%;
}

address {
  font-style: normal;
}

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

iframe {
  vertical-align: bottom;
  max-width: 100%;
}

@supports (aspect-ratio: 16 / 9) {
  iframe[src*="youtube"] {
    aspect-ratio: 16 / 9;
    max-width: 100%;
    height: 100%;
  }
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

/************************************************
    共通設定
*************************************************/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, YuGothic, "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1;
  min-width: 1240px;
  overflow-x: hidden;
  position: relative;
}

_:-ms-lang(x)::-ms-backdrop, body {
  font-family: -apple-system, BlinkMacSystemFont, Meiryo, "Hiragino Kaku Gothic ProN", Helvetica, Arial, sans-serif;
}

@media screen and (max-width: 1239px) {
  body {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1rem;
    min-width: 375px;
  }
}

@media screen and (max-width: 374px) {
  body {
    font-size: 1rem;
  }
}

/* コンテナ */
.container {
  max-width: 1240px;
  padding: 0 30px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/************************************************
    画像表示設定
*************************************************/
img.alignleft {
  display: block;
  margin-right: auto;
}

img.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

img.alignright {
  display: block;
  margin-left: auto;
}

/************************************************
    ユーティリティ
*************************************************/
/*  リンク指定
------------------------------------------------*/
a {
  /* 画像リンク *********/
}

a:link, a:visited {
  color: #000;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
}

a:link:hover, a[href]:hover {
  color: inherit;
  text-decoration: none;
}

a::before, a::after, a *, a *::before, a *::after {
  /*transition: all $transition ease-in-out;*/
}

a:hover img {
  /*opacity: 0.5;*/
  /*transition: opacity $transition ease-in-out;*/
}

/*  フォーム関連
------------------------------------------------*/
select {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  color: inherit;
  font-size: inherit;
  text-indent: 0.01px;
  text-overflow: '';
  vertical-align: middle;
  background: none transparent;
  outline: none;
  border: solid 1px #ccc;
}

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

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

input[type='text'],
input[type='password'],
textarea {
  border: 1px solid #ccc;
  padding: 5px;
}

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
}

/*  display
------------------------------------------------*/
@media screen and (max-width: 1239px) {
  .display-pc {
    display: none;
  }
}

.display-tab {
  display: none;
}

@media screen and (max-width: 1239px) {
  .display-tab {
    display: block;
  }
}

.display-sp {
  display: none;
}

@media screen and (max-width: 1239px) {
  .display-sp {
    display: block;
  }
}

/*  br
------------------------------------------------*/
br {
  opacity: 0;
  /* IE・Edge対策 */
}

@media screen and (max-width: 1239px) {
  .br-pc {
    display: none;
  }
}

.br-tab {
  display: none;
}

@media screen and (max-width: 1239px) {
  .br-tab {
    display: inline;
  }
}

.br-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .br-sp {
    display: inline;
  }
}

/*  inline-block
------------------------------------------------*/
.i-blk {
  display: inline-block;
}

/************************************************
    ヘッダー
*************************************************/
.header {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 97;
}

.is-fixed {
  position: fixed;
  top: 0;
}

.h__bar {
  background-color: #fff;
  position: relative;
  z-index: 98;
}

.h__bar__inner {
  -js-display: flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .h__bar__inner {
    padding: 0 20px;
  }
}

.h__logo {
  width: 61px;
  position: relative;
  z-index: 99;
}

.h__logo a:hover img {
  opacity: 0.5;
  transition: opacity 0.4s ease-in-out;
}

/* ハンバーガーメニュー */
.toggle {
  display: none;
}

@media screen and (max-width: 767px) {
  .toggle {
    display: block;
    width: 36px;
    padding: 5px;
    margin-right: -5px;
    cursor: pointer;
    position: relative;
    z-index: 99;
  }
  .toggle div {
    width: 28px;
    height: 21px;
    margin: 0 auto;
    position: relative;
    transition: all 0.4s;
  }
  .toggle span {
    display: block;
    background-color: #000;
    width: 100%;
    height: 3px;
    border-radius: 1.5px;
    position: absolute;
    left: 0;
    transition: all 0.4s;
  }
  .toggle span:nth-child(1) {
    top: 0;
  }
  .toggle span:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .toggle span:nth-child(3) {
    bottom: 0;
  }
  /* ハンバーガーボタンクリックアニメーション */
  .open .toggle span:nth-of-type(1) {
    transform: translateY(9px) rotate(-45deg);
  }
  .open .toggle span:nth-of-type(2) {
    opacity: 0;
  }
  .open .toggle span:nth-of-type(3) {
    transform: translateY(-9px) rotate(45deg);
  }
}

/*  ナビゲーションメニュー
------------------------------------------------*/
.h__nav {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.4em;
  margin-right: -0.71429em;
}

@media screen and (max-width: 1239px) {
  .h__nav {
    font-size: 1.4em;
  }
}

@media screen and (max-width: 767px) {
  .h__nav {
    font-size: 2.5em;
    -js-display: flex;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.95);
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    padding-top: 60px;
    margin: 0;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 98;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s;
  }
}

.open .h__nav {
  opacity: 1;
  pointer-events: auto;
}

.h__nav__list {
  -js-display: flex;
  display: flex;
}

@media screen and (max-width: 767px) {
  .h__nav__list {
    display: block;
  }
}

.h__nav__item {
  text-align: center;
  padding: 0 0.71429em;
}

@media screen and (max-width: 767px) {
  .h__nav__item {
    padding: 0;
  }
}

.h__nav__item a {
  color: #000;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  line-height: 2.8;
  padding-left: 0.2em;
  position: relative;
}

.h__nav__item a::after {
  content: '';
  display: block;
  background-color: transparent;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -5px;
  transition: background-color 0.4s ease-in-out;
}

.h__nav__item a:hover {
  color: #000;
}

.h__nav__item a:hover::after {
  background-color: #000;
}

@-webkit-keyframes PopUp {
  70% {
    transform: scale(1.1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 0.8;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes PopUp {
  70% {
    transform: scale(1.1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 0.8;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.pageTop {
  height: 60px;
}

/************************************************
    フッター
*************************************************/
.footer {
  font-family: Arial, Helvetica, sans-serif;
}

.links + .footer {
  margin-top: -1px;
}

.f__main {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 60px 80px;
  border-top: 1px solid #c9c9c9;
}

@media screen and (max-width: 1239px) {
  .f__main {
    padding: 60px 30px;
  }
}

@media screen and (max-width: 767px) {
  .f__main {
    display: block;
  }
}

.salon .f__main,
.single .f__main {
  border: none;
}

.f__sub {
  -js-display: flex;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  padding: 45px 80px;
  border-top: 1px solid #c9c9c9;
}

@media screen and (max-width: 1239px) {
  .f__sub {
    padding: 55px 30px;
  }
}

@media screen and (max-width: 767px) {
  .f__sub {
    display: block;
    padding: 55px 20px;
  }
}

.copyright {
  font-size: 1em;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
  white-space: pre;
}

.copyright::before, .copyright::after {
  content: '';
  display: block;
}

.copyright::before {
  margin-top: calc((1.5 - 1) / 2 * -1em);
}

.copyright::after {
  margin-bottom: calc((1.5 - 1) / 2 * -1em);
}

@media screen and (max-width: 767px) {
  .copyright {
    margin-top: 3em;
  }
}

.copyright span {
  display: inline-block;
}

.f__sns {
  -js-display: flex;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1239px) {
  .f__sns {
    display: block;
  }
}

.f__sns a {
  color: #000;
  font-size: 1.4em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  -js-display: flex;
  display: flex;
  align-items: center;
  padding: 10px 1em;
}

@media screen and (max-width: 1239px) {
  .f__sns a {
    justify-content: center;
  }
}

.f__sns a.instagram {
  margin-left: calc(5rem - 2.4em);
}

@media screen and (max-width: 1239px) {
  .f__sns a.instagram {
    margin: 20px 0 0;
  }
}

.f__sns a.facebook {
  margin-left: calc(4rem - 2.4em);
}

@media screen and (max-width: 1239px) {
  .f__sns a.facebook {
    margin: 20px 0 0;
  }
}

@media screen and (max-width: 1239px) {
  .f__sns a + a {
    margin: 20px 0 0;
  }
}

.f__sns a:last-child {
  margin-right: -1.2em;
}

@media screen and (max-width: 1239px) {
  .f__sns a:last-child {
    margin-right: 0;
  }
}

.f__sns a::before {
  font-family: 'Font Awesome 5 Brands';
  font-weight: 500;
  margin-right: 14px;
}

.f__sns a.instagram::before {
  content: '\f16d';
  font-size: 23px;
  line-height: 20px;
}

.f__sns a.facebook::before {
  content: '\f39e';
  font-size: 19px;
  line-height: 20px;
}

.f__sns a:hover {
  color: #fff;
  background-color: #000;
}

.f__boygruop-i {
  text-align: center;
  width: 100%;
  margin: 20px 0 80px;
}

@media screen and (max-width: 767px) {
  .f__boygruop-i {
    margin: 0 0 60px;
  }
}

.f__logo {
  text-align: center;
}

.f__logo a:hover img {
  opacity: 0.5;
  transition: opacity 0.4s ease-in-out;
}

.f__nav {
  font-size: 2em;
  margin-right: -1em;
}

@media screen and (max-width: 1239px) {
  .f__nav {
    font-size: 1.5em;
  }
}

@media screen and (max-width: 767px) {
  .f__nav {
    margin: 50px 0 0;
  }
}

.f__nav__list {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
}

.f__nav__item {
  text-align: center;
  padding: 0 0.8em;
}

@media screen and (max-width: 767px) {
  .f__nav__item {
    width: 50%;
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .f__nav__item:first-child {
    width: 100%;
  }
}

.f__nav__item a {
  color: #000;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  line-height: 2.8;
  padding-left: 0.2em;
  position: relative;
}

.f__nav__item a::after {
  content: '';
  display: block;
  background-color: transparent;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -5px;
  transition: background-color 0.4s ease-in-out;
}

.f__nav__item a:hover {
  color: #000;
}

.f__nav__item a:hover::after {
  background-color: #000;
}

/************************************************
    loading
*************************************************/
.loading {
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
}

.home .loading {
  background-color: #000;
}

.loading img {
  width: 55px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.loader {
  width: 95px;
  height: 95px;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.loader div {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #000;
  background: linear-gradient(to right, #000 10%, rgba(0, 0, 0, 0) 42%);
  -webkit-animation: loading 1.4s infinite linear;
  animation: loading 1.4s infinite linear;
}

.home .loader div {
  background: #fff;
  background: linear-gradient(to right, #fff 10%, rgba(255, 255, 255, 0) 42%);
}

.loader div:before {
  width: 50%;
  height: 50%;
  background-color: #000;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.home .loader div:before {
  background-color: #fff;
}

.loader div:after {
  background-color: #fff;
  width: 90%;
  height: 90%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.home .loader div:after {
  background-color: #000;
}

@-webkit-keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/************************************************
    button
*************************************************/
a.btn {
  color: #000;
  text-align: center;
  display: block;
  background-color: #fff;
  border: 2px solid #000;
}

a.btn:hover {
  color: #fff;
  background-color: #000;
}

a.more {
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.4em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.4em;
  text-indent: 0.4em;
  text-align: center;
  line-height: 70px;
  display: block;
  max-width: 295px;
  height: 70px;
  margin: 0 auto;
  position: relative;
}

a.more::before {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
}

a.more::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #000;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}

a.more:hover {
  color: #fff;
}

a.more:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

a.more span::before, a.more span::after {
  content: '';
  display: block;
  background-color: #000;
  position: absolute;
  transition-duration: .6s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

a.more span::before {
  width: 3px;
  height: 100%;
  top: 0;
  transform: scaleY(0);
  transition-delay: 0.3s;
}

a.more span::after {
  width: 100%;
  height: 3px;
  left: 0;
  transform: scaleX(0);
  transition-delay: 0.5s;
}

a.more > span::before {
  left: 0;
  transform-origin: top;
}

a.more > span::after {
  top: 0;
  transform-origin: left;
}

a.more > span > span::before {
  right: 0;
  transform-origin: bottom;
}

a.more > span > span::after {
  bottom: 0;
  transform-origin: right;
}

a.more.is-shown span::before {
  transform: scaleY(1);
}

a.more.is-shown span::after {
  transform: scaleX(1);
}

.home .sec-news a.more {
  margin-top: 110px;
}

@media screen and (max-width: 1239px) {
  .home .sec-news a.more {
    margin-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  .home .sec-news a.more {
    margin-top: 30px;
  }
}

/************************************************
    button（ホバーで左から、ホバーアウトで右へ）
*************************************************/
.hover-fill::before, .hover-fill::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.hover-fill::before {
  background-color: #fff;
  z-index: -2;
}

.hover-fill::after {
  background-color: #000;
  z-index: -1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}

.hover-fill:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
  transition: transform .3s;
}

/************************************************
    24h-WEB予約
*************************************************/
.salon-reserve .btn-reserve {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  margin-bottom: 30px;
}

@media screen and (max-width: 1239px) {
  .salon-reserve .btn-reserve {
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2 / -2;
  }
}

@media screen and (max-width: 767px) {
  .salon-reserve .btn-reserve {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / -1;
  }
}

.catalog-single .btn-reserve {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 6;
  grid-row: 6;
  margin: 12em 0;
}

@media screen and (max-width: 767px) {
  .catalog-single .btn-reserve {
    margin: 7em 0;
  }
}

@media screen and (max-width: 767px) {
  .btn-reserve.has-multi-phone-number {
    -ms-grid-column-span: 1;
  }
}

.btn-reserve a {
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2em;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  display: block;
  background-color: #000;
  padding: 5px;
  transition: all 0.3s;
}

.btn-reserve a .wrap__1st {
  display: block;
  box-sizing: border-box;
  border: 1px solid #fff;
  position: relative;
}

.salon-reserve .btn-reserve a .wrap__1st {
  padding: 2.95em 0;
}

@media screen and (max-width: 767px) {
  .salon-reserve .btn-reserve a .wrap__1st {
    padding: 1.7em 0;
  }
}

.catalog-single .btn-reserve a .wrap__1st {
  padding: 2.7em 0;
}

@media screen and (max-width: 767px) {
  .catalog-single .btn-reserve a .wrap__1st {
    padding: 1.45em 0;
  }
}

.btn-reserve a .wrap__1st::before {
  content: '';
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scale(0, 1);
  transition: transform .3s;
  transform-origin: right top;
}

@-moz-document url-prefix() {
  .btn-reserve a .wrap__1st::before {
    width: calc(100% + 1px);
  }
}

.btn-reserve a .wrap__2nd {
  position: relative;
  z-index: 1;
}

.btn-reserve a:hover {
  color: #000;
}

.btn-reserve a:hover .wrap__1st::before {
  transform: scale(1, 1);
  transform-origin: left top;
}

/************************************************
    キービジュアル
*************************************************/
.keyVisual {
  width: 100%;
}

.keyVisual--home {
  height: calc(100vh - 60px);
  position: relative;
}

@media screen and (max-width: 1239px) {
  .keyVisual--home {
    height: 500px;
  }
}

@media screen and (max-width: 767px) {
  .keyVisual--home {
    height: 300px;
  }
}

.keyVisual--home__txt {
  text-align: center;
  padding: 327px 0 210px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .keyVisual--home__txt {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .keyVisual--home__logo img {
    width: 100px;
  }
}

.keyVisual--home__content {
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  line-height: 1.6;
  white-space: nowrap;
  padding-left: 0.2em;
  margin-top: 3.8em;
}

.keyVisual--home__content::before, .keyVisual--home__content::after {
  content: '';
  display: block;
}

.keyVisual--home__content::before {
  margin-top: calc((1.6 - 1) / 2 * -1em);
}

.keyVisual--home__content::after {
  margin-bottom: calc((1.6 - 1) / 2 * -1em);
}

@media screen and (max-width: 767px) {
  .keyVisual--home__content {
    text-shadow: 0px 0px 10px #000;
    margin-top: 2em;
  }
}

.keyVisual--home::after {
  content: '';
  display: block;
  width: 100%;
  height: 450px;
  background-color: #f7f7f7;
  position: absolute;
  left: 0;
  bottom: -450px;
  z-index: -1;
}

.keyVisual__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
}

.keyVisual__bg__item {
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1);
  transition: opacity 2s linear, transform 6.5s linear;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

.keyVisual__bg__item.show_ {
  opacity: 1;
}

.keyVisual__bg__item.zoom_ {
  transform: scale(1.1);
}

.keyVisual__bg__item img {
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover; object-position: center top';
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}

/************************************************
    タイトル
*************************************************/
.home-sec__title {
  font-size: 11em;
  text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000;
}

@media screen and (max-width: 1239px) {
  .home-sec__title {
    font-size: 8em;
  }
}

@media screen and (max-width: 767px) {
  .home-sec__title {
    font-size: 6em;
  }
}

@media screen and (max-width: 374px) {
  .home-sec__title {
    font-size: 5.5em;
  }
}

/************************************************
    スクロールアニメーション 
*************************************************/
.scroll-item {
  overflow: hidden;
}

.slide-photo {
  overflow: hidden;
  position: relative;
  transform: translate3d(-110%, 0, 0);
  transform-origin: left;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 0s;
}

.is-shown .slide-photo {
  transform: translate3d(0, 0, 0);
}

.slide-photo::before {
  content: '';
  display: block;
  background-color: #000;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: .4s;
}

.home-salon__item:nth-child(2n) .slide-photo::before {
  transition-delay: .5s;
}

.is-shown .slide-photo::before {
  transform: scaleX(0);
}

.slide-text01 {
  position: relative;
  transform: scaleX(0);
  transform-origin: left;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 0.8s;
}

.is-shown .slide-text01 {
  transform: scaleX(1);
}

.slide-text01::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 1.0s;
}

.slide-text01::after {
  background-color: #cf2435;
}

.slide-text01::after {
  background-color: transparent;
}

.slide-text01::after {
  background-color: #000;
}

.slide-text01::after {
  transform: scaleX(0);
}

.slide-text--d00 {
  position: relative;
}

.slide-text--d00::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

.slide-text--d00::after {
  transition-delay: 0s;
}

.is-shown.slide-text--d00::after {
  transform: scaleX(0);
}

.slide-text--d01 {
  position: relative;
}

.slide-text--d01::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

.slide-text--d01::after {
  transition-delay: 0.1s;
}

.is-shown.slide-text--d01::after {
  transform: scaleX(0);
}

.slide-text--d02 {
  position: relative;
}

.slide-text--d02::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

.slide-text--d02::after {
  transition-delay: 0.2s;
}

.is-shown.slide-text--d02::after {
  transform: scaleX(0);
}

.slide-text--d03 {
  position: relative;
}

.slide-text--d03::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

.slide-text--d03::after {
  transition-delay: 0.3s;
}

.is-shown.slide-text--d03::after {
  transform: scaleX(0);
}

.slide-text--d04 {
  position: relative;
}

.slide-text--d04::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

.slide-text--d04::after {
  transition-delay: 0.4s;
}

.is-shown.slide-text--d04::after {
  transform: scaleX(0);
}

.slide-text--d05 {
  position: relative;
}

.slide-text--d05::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

.slide-text--d05::after {
  transition-delay: 0.5s;
}

.is-shown.slide-text--d05::after {
  transform: scaleX(0);
}

/************************************************
    ホバーエフェクト
*************************************************/
.scale-photo {
  overflow: hidden;
}

.scale-photo img {
  transform: scale(1);
  transition-duration: 4s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

a:hover .scale-photo img {
  transform: scale(1.1);
  transition-duration: 4s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

/************************************************
    タイピング表示 
*************************************************/
.typing {
  opacity: 0;
}

.typing span {
  opacity: 0;
}

/************************************************
    タブパネル
*************************************************/
.select-panel__item,
.select-panel__item--lv02 {
  display: none;
}

.select-panel__item.show,
.select-panel__item--lv02.show {
  display: block;
}

/************************************************
    SNS
*************************************************/
.sns a {
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.6em;
  font-weight: bold;
  letter-spacing: 0.4em;
  text-align: center;
  display: block;
  box-sizing: border-box;
  position: relative;
}

.sns a span {
  display: block;
}

.sns a .wrap--1st {
  overflow: hidden;
  position: relative;
  transform: translate3d(-110%, 0, 0);
  transform-origin: left;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 0s;
}

.sns a.is-shown .wrap--1st {
  transform: translate3d(0, 0, 0);
}

.sns a .wrap--1st::before {
  content: '';
  display: block;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 0.6s;
}

.sns a:nth-child(2n) .wrap--1st::before {
  transition-delay: 0.7s;
}

.sns a.is-shown .wrap--1st::before {
  transform: scaleX(0);
}

.sns a .wrap--1st::after {
  content: '';
  display: block;
  background-color: #000;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 0.3s;
}

.sns a:nth-child(2n) .wrap--1st::after {
  transition-delay: 0.4s;
}

.sns a.is-shown .wrap--1st::after {
  transform: scaleX(0);
}

.sns a .wrap--2nd::before {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}

.sns a .wrap--2nd::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #000;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
  z-index: 1;
}

.sns a .wrap--3rd {
  -js-display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12.5px 0 11.5px 0.4em;
  position: relative;
  z-index: 2;
}

.sns a .wrap--3rd::before {
  font-family: 'Font Awesome 5 Brands';
  font-weight: 500;
  margin-right: 22px;
}

.sns a.instagram .wrap--3rd::before {
  content: '\f16d';
  font-size: 23px;
  line-height: 20px;
}

.sns a.facebook .wrap--3rd::before {
  content: '\f39e';
  font-size: 19px;
  line-height: 20px;
}

.sns a:hover {
  color: #fff;
}

.sns a:hover .wrap--2nd::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.home .sns {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 38px 30px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .home .sns {
    padding: 38px 20px;
  }
}

.home .sns a {
  width: 250px;
  margin: 10px 17.5px;
}

.parent-pageid-18 .sns {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 85px auto 0;
}

.parent-pageid-18 .sns a {
  width: 250px;
  border: 3px solid #000;
  margin: 10px 17.5px;
}

.side .sns a {
  border: 2px solid #000;
}

.side .sns a:hover {
  background-color: #000;
}

.side .sns a:first-child {
  border-bottom: none;
}

.side .sns a .wrap--3rd {
  padding: 28.5px 0 27.5px 0.4em;
}

/************************************************
    エステバナー
*************************************************/
.bnr--esthetic {
  overflow: hidden;
  position: relative;
}

.home .bnr--esthetic {
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-column: 1 / -1;
  -ms-grid-row: 3;
  grid-row: 3;
  max-width: 910px;
  width: 95%;
  height: 290px;
  margin: 110px auto 0;
}

@media screen and (max-width: 767px) {
  .home .bnr--esthetic {
    width: 100%;
    height: 235px;
    margin-top: 80px;
  }
}

.salon .bnr--esthetic {
  padding-top: calc(400 / 1280 * 100%);
  margin-top: 160px;
}

@media screen and (max-width: 1239px) {
  .salon .bnr--esthetic {
    padding-top: 290px;
  }
}

@media screen and (max-width: 767px) {
  .salon .bnr--esthetic {
    padding-top: 235px;
    margin-top: 50px;
  }
}

.bnr--esthetic a {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0 10px;
}

.salon .bnr--esthetic a {
  box-sizing: border-box;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.bnr--esthetic a:hover img {
  opacity: 1;
}

.bnr--esthetic__title {
  text-align: center;
}

@media screen and (max-width: 1239px) {
  .bnr--esthetic__title img {
    width: 331px;
  }
}

@media screen and (max-width: 767px) {
  .bnr--esthetic__title img {
    width: 180px;
  }
}

.bnr--esthetic ul {
  -js-display: flex;
  display: flex;
  justify-content: center;
}

.home .bnr--esthetic ul {
  margin-top: 34px;
}

@media screen and (max-width: 767px) {
  .home .bnr--esthetic ul {
    margin-top: 18px;
  }
}

.salon .bnr--esthetic ul {
  margin-top: 41px;
}

@media screen and (max-width: 767px) {
  .salon .bnr--esthetic ul {
    margin-top: 18px;
  }
}

.bnr--esthetic li {
  color: #fff;
  font-family: 'Noto Serif JP', "Hiragino Mincho ProN", HGS明朝E, serif;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  background-color: #000;
}

.home .bnr--esthetic li {
  font-size: 1.4em;
  padding: 4px 10px 5px;
  margin: 0 2px;
}

_:-ms-lang(x)::-ms-backdrop, .home .bnr--esthetic li {
  padding: 6px 10px 3px;
}

@media screen and (max-width: 767px) {
  .home .bnr--esthetic li {
    font-size: 1.1em;
  }
}

.salon .bnr--esthetic li {
  font-size: 1.6em;
  padding: 5px 13px 6px;
  margin: 0 2.5px;
}

_:-ms-lang(x)::-ms-backdrop, .salon .bnr--esthetic li {
  padding: 7px 13px 4px;
}

@media screen and (max-width: 1239px) {
  .salon .bnr--esthetic li {
    font-size: 1.4em;
    padding: 4px 10px 5px;
    margin: 0 2px;
  }
  _:-ms-lang(x)::-ms-backdrop, .salon .bnr--esthetic li {
    padding: 6px 10px 3px;
  }
}

@media screen and (max-width: 767px) {
  .salon .bnr--esthetic li {
    font-size: 1.1em;
  }
}

.bnr--esthetic__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.bnr--esthetic__bg::after {
  content: '';
  display: block;
  clear: both;
}

.bnr--esthetic__bg span {
  width: 50%;
  height: 100%;
  overflow: hidden;
  float: left;
  position: relative;
}

.bnr--esthetic__bg span::before {
  content: '';
  display: block;
  background: no-repeat center / cover;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scale(1);
  transition-duration: 4s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

a:hover .bnr--esthetic__bg span::before {
  transform: scale(1.1);
  transition-duration: 4s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
}

.bnr--esthetic__bg span:first-child::before {
  transform-origin: right center;
}

.home .bnr--esthetic__bg span:first-child::before {
  background-image: url('img/bg_salon_esthetic01.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .home .bnr--esthetic__bg span:first-child::before {
    background-image: url('img/bg_salon_esthetic01@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .home .bnr--esthetic__bg span:first-child::before {
    background-image: url('img/bg_salon_esthetic01@3x.jpg');
  }
}

.salon .bnr--esthetic__bg span:first-child::before {
  background-image: url('img/bg_salon_esthetic01_big.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .salon .bnr--esthetic__bg span:first-child::before {
    background-image: url('img/bg_salon_esthetic01_big@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .salon .bnr--esthetic__bg span:first-child::before {
    background-image: url('img/bg_salon_esthetic01_big@3x.jpg');
  }
}

.bnr--esthetic__bg span:nth-child(2)::before {
  transform-origin: left center;
}

.home .bnr--esthetic__bg span:nth-child(2)::before {
  background-image: url('img/bg_salon_esthetic02.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .home .bnr--esthetic__bg span:nth-child(2)::before {
    background-image: url('img/bg_salon_esthetic02@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .home .bnr--esthetic__bg span:nth-child(2)::before {
    background-image: url('img/bg_salon_esthetic02@3x.jpg');
  }
}

.salon .bnr--esthetic__bg span:nth-child(2)::before {
  background-image: url('img/bg_salon_esthetic02_big.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .salon .bnr--esthetic__bg span:nth-child(2)::before {
    background-image: url('img/bg_salon_esthetic02_big@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .salon .bnr--esthetic__bg span:nth-child(2)::before {
    background-image: url('img/bg_salon_esthetic02_big@3x.jpg');
  }
}

/************************************************
    ページャー（NEWS・CATALOG共通）
*************************************************/
.pager {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1px 1fr 1px 1fr;
  grid-template-columns: 1fr 1px 1fr 1px 1fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  border-top: 1px solid #000;
  border-bottom: 2px solid #000;
  margin: 10em 0 12em;
}

.catalog-archive .pager {
  -ms-grid-columns: (1fr 1px)[5] 1fr;
  grid-template-columns: repeat(5, 1fr 1px) 1fr;
}

@media screen and (max-width: 767px) {
  .catalog-archive .pager {
    -ms-grid-columns: 1fr 1px 1fr 1px 1fr;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
  }
}

@media screen and (max-width: 1239px) {
  .pager {
    margin-bottom: 10em;
  }
}

@media screen and (max-width: 767px) {
  .pager {
    margin: 7em 0 8em;
  }
}

.pager > * {
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}

.pager > *:first-child {
  border-left: none;
}

.pager > *:last-child {
  border-right: none;
}

.pager a, .pager div {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  -ms-grid-row: 1;
  grid-row: 1;
  padding: 0.95em 0;
}

@media screen and (max-width: 767px) {
  .pager a, .pager div {
    font-size: 1.4em;
  }
}

.pager a {
  display: block;
}

.pager a.prev::before {
  content: '<';
  font-family: 'Noto Sans JP', sans-serif;
  margin-right: 1em;
}

.pager a.next::after {
  content: '>';
  font-family: 'Noto Sans JP', sans-serif;
  margin-left: 1em;
}

.catalog-archive .pager a:nth-child(1) {
  -ms-grid-column: 1;
  grid-column: 1;
}

.catalog-archive .pager a:nth-child(2) {
  -ms-grid-column: 3;
  grid-column: 3;
}

.catalog-archive .pager a:nth-child(3) {
  -ms-grid-column: 5;
  grid-column: 5;
}

.catalog-archive .pager a:nth-child(4) {
  -ms-grid-column: 7;
  grid-column: 7;
}

.catalog-archive .pager a:nth-child(5) {
  -ms-grid-column: 9;
  grid-column: 9;
}

.catalog-archive .pager a:nth-child(6) {
  -ms-grid-column: 11;
  grid-column: 11;
}

@media screen and (max-width: 767px) {
  .catalog-archive .pager a:nth-child(3n+1) {
    -ms-grid-column: 1;
    grid-column: 1;
    border-left: none;
  }
  .catalog-archive .pager a:nth-child(3n+2) {
    -ms-grid-column: 3;
    grid-column: 3;
  }
  .catalog-archive .pager a:nth-child(3n) {
    -ms-grid-column: 5;
    grid-column: 5;
    border-right: none;
  }
  .catalog-archive .pager a:nth-child(-n+3) {
    -ms-grid-row: 1;
    grid-row: 1;
    border-bottom: 1px solid #000;
  }
  .catalog-archive .pager a:nth-child(n+4) {
    -ms-grid-row: 2;
    grid-row: 2;
    border-top: 1px solid #000;
    margin-top: 1px;
  }
}

.pager .prev, .pager .next {
  color: #aaa;
  pointer-events: none;
}

.pager .prev.exist, .pager .next.exist {
  color: #000;
  background-color: #fff;
  pointer-events: auto;
}

.pager .prev {
  -ms-grid-column: 1;
  grid-column: 1;
  border-right: 1px solid #000;
}

.pager .next {
  -ms-grid-column: 5;
  grid-column: 5;
  border-left: 1px solid #000;
}

.pager .current, .pager .list {
  -ms-grid-column: 3;
  grid-column: 3;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
}

.pager .current, .pager a:hover {
  color: #fff;
  background-color: #000;
}

/************************************************
    NEWS
*************************************************/
/* coming soon */
.coming-soon {
  font-size: 2.4em;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .coming-soon {
    font-size: 2em;
  }
}

.sec-news {
  padding: 100px 30px;
}

@media screen and (max-width: 1239px) {
  .sec-news {
    padding: 75px 30px;
  }
}

@media screen and (max-width: 767px) {
  .sec-news {
    padding: 50px 20px;
  }
}

.sec-news__title {
  font-family: Arial, Helvetica, sans-serif;
  /*font-size: 11em;*/
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 1.2em;
  text-indent: 1.2em;
  text-align: center;
  margin: 0 -1.2em 0.95455em;
}

@media screen and (max-width: 767px) {
  .sec-news__title {
    letter-spacing: 0.6em;
    text-indent: 0.6em;
  }
}

.sec-news__title .slide-in__wrap3 {
  letter-spacing: 1.2em;
  text-indent: 1.2em;
}

@media screen and (max-width: 767px) {
  .sec-news__title .slide-in__wrap3 {
    letter-spacing: 0.6em;
    text-indent: 0.6em;
  }
}

@media screen and (max-width: 767px) {
  .sec-news__title {
    /*font-size: 4.5em;*/
    margin: 0 -0.6em 0.95455em;
  }
}

.sec-news .posts {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: -50px auto;
}

@media screen and (max-width: 767px) {
  .sec-news .posts {
    margin: -10px auto;
  }
}

.sec-news .posts .post, .sec-news .posts::before, .sec-news .posts::after {
  width: calc(250 / 1120 * 100%);
}

@media screen and (max-width: 1239px) {
  .sec-news .posts .post, .sec-news .posts::before, .sec-news .posts::after {
    width: calc(250 / 1120 * 100%);
  }
}

@media screen and (max-width: 767px) {
  .sec-news .posts .post, .sec-news .posts::before, .sec-news .posts::after {
    width: 46%;
  }
}

.sec-news .posts::before, .sec-news .posts::after {
  content: '';
  display: block;
  order: 1;
}

.sec-news .posts .post {
  padding: 10px 0 0 10px;
  margin: 50px 0;
  transform: translate(-10px, -10px);
}

@media screen and (max-width: 767px) {
  .sec-news .posts .post {
    margin: 10px 0;
  }
}

@media screen and (max-width: 767px) {
  .sec-news .posts .post:nth-child(2n) {
    transform: translate(0, -10px);
  }
}

.sec-news .posts .post a {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  position: relative;
}

.home .sec-news {
  padding: 4.4em 80px 10.7em;
}

@media screen and (max-width: 1239px) {
  .home .sec-news {
    padding: 4.4em 30px 9.2em;
  }
}

@media screen and (max-width: 767px) {
  .home .sec-news {
    padding: 4.4em 20px 9.2em;
  }
}

.news__title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  text-align: center;
  text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000;
}

@media screen and (max-width: 767px) {
  .news__title {
    font-size: 5em;
  }
}

.news__subTitle {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.5em;
  text-align: center;
  padding-left: 0.5em;
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  .news__subTitle {
    font-size: 1.1em;
  }
}

.news-archive {
  padding: 90px 0 155px;
}

@media screen and (max-width: 767px) {
  .news-archive {
    padding-bottom: 100px;
  }
}

.news-archive .posts {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 6.25%;
  margin: -60px auto;
}

@media screen and (max-width: 767px) {
  .news-archive .posts {
    margin: -30px auto;
  }
}

.news-archive .posts .post, .news-archive .posts::before, .news-archive .posts::after {
  width: calc(320 / 1120 * 100%);
}

@media screen and (max-width: 767px) {
  .news-archive .posts .post, .news-archive .posts::before, .news-archive .posts::after {
    width: calc(130 / 280 * 100%);
  }
}

.news-archive .posts::before, .news-archive .posts::after {
  content: '';
  display: block;
  order: 1;
}

.news-archive .posts .post {
  padding: 60px 0;
}

@media screen and (max-width: 767px) {
  .news-archive .posts .post {
    padding: 30px 0;
  }
}

.news-archive .posts .post a {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  position: relative;
}

.news-archive__404 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2em;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
}

.news-single {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 8fr 62fr 8fr 42fr 8fr;
  grid-template-columns: 8fr 62fr 8fr 42fr 8fr;
  -ms-grid-rows: (auto)[5];
  grid-template-rows: repeat(5, auto);
  align-items: start;
  padding: 90px 0 0;
}

@media screen and (max-width: 1239px) {
  .news-single {
    -ms-grid-columns: 6fr 62fr 6fr 42fr 6fr;
    grid-template-columns: 6fr 62fr 6fr 42fr 6fr;
  }
}

@media screen and (max-width: 767px) {
  .news-single {
    -ms-grid-columns: 20px 1fr 20px;
    grid-template-columns: 20px 1fr 20px;
    -ms-grid-rows: (auto)[6];
    grid-template-rows: repeat(6, auto);
  }
}

.news-single .news__title {
  -ms-grid-column: 1;
  -ms-grid-column-span: 5;
  grid-column: 1 / -1;
  -ms-grid-row: 1;
  grid-row: 1;
}

@media screen and (max-width: 767px) {
  .news-single .news__title {
    -ms-grid-column-span: 3;
  }
}

.news-single .news__subTitle {
  -ms-grid-column: 1;
  -ms-grid-column-span: 5;
  grid-column: 1 / -1;
  -ms-grid-row: 2;
  grid-row: 2;
}

@media screen and (max-width: 767px) {
  .news-single .news__subTitle {
    -ms-grid-column-span: 3;
  }
}

.news-single .pager {
  -ms-grid-column: 1;
  -ms-grid-column-span: 5;
  grid-column: 1 / -1;
}

@media screen and (max-width: 767px) {
  .news-single .pager {
    -ms-grid-column-span: 3;
  }
}

.news-single .pager:nth-of-type(1) {
  -ms-grid-row: 3;
  grid-row: 3;
}

.news-single .pager:nth-of-type(2) {
  -ms-grid-row: 5;
  grid-row: 5;
  margin: 16em 0 0;
}

@media screen and (max-width: 1239px) {
  .news-single .pager:nth-of-type(2) {
    margin-top: 10em;
  }
}

@media screen and (max-width: 767px) {
  .news-single .pager:nth-of-type(2) {
    -ms-grid-row: 6;
    grid-row: 6;
    margin-top: 8em;
  }
}

.news-single .post {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 4;
  grid-row: 4;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: (auto)[4];
  grid-template-rows: repeat(4, auto);
}

.news-single .side {
  -ms-grid-column: 4;
  grid-column: 4;
  -ms-grid-row: 4;
  grid-row: 4;
}

@media screen and (max-width: 767px) {
  .news-single .side {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 5;
    grid-row: 5;
  }
}

@media screen and (max-width: 767px) {
  .side {
    margin-top: 8em;
  }
}

.side__title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.8em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.4em;
  text-indent: 0.4em;
  text-align: center;
  -js-display: flex;
  display: flex;
  align-items: center;
  margin-bottom: 2.5em;
}

@media screen and (max-width: 1239px) {
  .side__title {
    font-size: 1.6em;
  }
}

.side__title:nth-of-type(n+2) {
  margin-top: 3.33333em;
}

.side__title::before, .side__title::after {
  content: '';
  flex-grow: 1;
  display: block;
  background-color: currentColor;
  height: 1px;
}

.side__title::before {
  margin-right: calc(35 / 18 * 1em);
}

@media screen and (max-width: 1239px) {
  .side__title::before {
    margin-right: calc(15 / 18 * 1em);
  }
}

.side__title::after {
  margin-left: calc(28 / 18 * 1em);
}

@media screen and (max-width: 1239px) {
  .side__title::after {
    margin-left: calc(8 / 18 * 1em);
  }
}

.side .archives .year {
  margin: 20px 0;
}

.side .archives .year > span {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.6em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  display: block;
  background-color: #fff;
  padding: 1.875em 0;
  border: 2px solid #000;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}

.side .archives .year > span:hover {
  color: #fff;
  background-color: #000;
}

.side .archives .year.selected > span {
  color: #fff;
  background-color: #000;
}

.side .archives .year > ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr 20px)[3] 1fr;
  grid-template-columns: repeat(3, 1fr 20px) 1fr;
  -ms-grid-rows: (20px auto)[3];
  grid-template-rows: repeat(3, 20px auto);
}

@media screen and (max-width: 1239px) {
  .side .archives .year > ul {
    -ms-grid-columns: (1fr 15px)[3] 1fr;
    grid-template-columns: repeat(3, 1fr 15px) 1fr;
    -ms-grid-rows: (15px auto)[3];
    grid-template-rows: repeat(3, 15px auto);
  }
}

.side .archives .month:nth-child(4n+1) {
  -ms-grid-column: 1;
  grid-column: 1;
}

.side .archives .month:nth-child(4n+2) {
  -ms-grid-column: 3;
  grid-column: 3;
}

.side .archives .month:nth-child(4n+3) {
  -ms-grid-column: 5;
  grid-column: 5;
}

.side .archives .month:nth-child(4n) {
  -ms-grid-column: 7;
  grid-column: 7;
}

.side .archives .month:nth-child(1) {
  -ms-grid-row: 2;
  grid-row: 2;
}

.side .archives .month:nth-child(2) {
  -ms-grid-row: 2;
  grid-row: 2;
}

.side .archives .month:nth-child(3) {
  -ms-grid-row: 2;
  grid-row: 2;
}

.side .archives .month:nth-child(4) {
  -ms-grid-row: 2;
  grid-row: 2;
}

.side .archives .month:nth-child(5) {
  -ms-grid-row: 4;
  grid-row: 4;
}

.side .archives .month:nth-child(6) {
  -ms-grid-row: 4;
  grid-row: 4;
}

.side .archives .month:nth-child(7) {
  -ms-grid-row: 4;
  grid-row: 4;
}

.side .archives .month:nth-child(8) {
  -ms-grid-row: 4;
  grid-row: 4;
}

.side .archives .month:nth-child(9) {
  -ms-grid-row: 6;
  grid-row: 6;
}

.side .archives .month:nth-child(10) {
  -ms-grid-row: 6;
  grid-row: 6;
}

.side .archives .month:nth-child(11) {
  -ms-grid-row: 6;
  grid-row: 6;
}

.side .archives .month:nth-child(12) {
  -ms-grid-row: 6;
  grid-row: 6;
}

.side .archives .month > a, .side .archives .month > span {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  display: block;
  background-color: #efefef;
  padding: 1.5em 0;
  border: 1px solid transparent;
}

.side .archives .month > a:hover {
  border-color: #000;
}

.side .archives .month > span {
  opacity: 0.5;
}

.sec-news .post__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  line-height: 1.33333;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 2.66667em;
  margin-top: 1.44444em;
}

@media screen and (max-width: 1239px) {
  .sec-news .post__title {
    font-size: 1.6em;
  }
}

@media screen and (max-width: 767px) {
  .sec-news .post__title {
    font-size: 1.3em;
  }
}

.news-archive .post__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 3em;
  margin-top: 0.95em;
}

.news-archive .post__title::before, .news-archive .post__title::after {
  content: '';
  display: block;
}

.news-archive .post__title::before {
  margin-top: calc((1.5 - 1) / 2 * -1em);
}

.news-archive .post__title::after {
  margin-bottom: calc((1.5 - 1) / 2 * -1em);
}

@media screen and (max-width: 767px) {
  .news-archive .post__title {
    font-size: 1.6em;
  }
}

.news-single .post__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  line-height: 1.6;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / -1;
  -ms-grid-row: 2;
  grid-row: 2;
  margin-top: 1em;
}

.news-single .post__title::before, .news-single .post__title::after {
  content: '';
  display: block;
}

.news-single .post__title::before {
  margin-top: calc((1.6 - 1) / 2 * -1em);
}

.news-single .post__title::after {
  margin-bottom: calc((1.6 - 1) / 2 * -1em);
}

.post__time {
  display: block;
}

.sec-news .post__time {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.2em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  line-height: 30px;
  background-color: #fff;
  width: 115px;
  height: 30px;
  position: absolute;
  left: -10px;
  top: -10px;
  z-index: 1;
}

@media screen and (max-width: 1239px) {
  .sec-news .post__time {
    width: 110px;
  }
}

.news-archive .post__time {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.4em;
  font-style: italic;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.15em;
  order: -1;
  margin-top: 2rem;
}

.news-single .post__time {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.6em;
  font-style: italic;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.15em;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: center;
  align-self: center;
  margin-right: calc(18 / 16 * 1em);
}

.post__new {
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.2em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  line-height: 30px;
  background-color: #cf2435;
  width: 65px;
  height: 30px;
}

.sec-news .post__new {
  position: absolute;
  left: 105px;
  top: -10px;
  z-index: 1;
}

@media screen and (max-width: 1239px) {
  .sec-news .post__new {
    width: 58px;
    left: 100px;
  }
}

@media screen and (max-width: 767px) {
  .sec-news .post__new {
    font-size: 1em;
    line-height: 24px;
    width: 47px;
    height: 24px;
    left: -10px;
    top: 20px;
  }
}

.news-archive .post__new {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

@media screen and (max-width: 1239px) {
  .news-archive .post__new {
    width: 58px;
  }
}

@media screen and (max-width: 767px) {
  .news-archive .post__new {
    font-size: 1em;
    line-height: 24px;
    width: 47px;
    height: 24px;
  }
}

.news-single .post__new {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
}

@media screen and (max-width: 767px) {
  .catalog-archive .post__new {
    font-size: 1em;
    line-height: 24px;
    width: 47px;
    height: 24px;
  }
}

.sec-news .post__cat {
  margin-top: 1em;
}

.news-single .post__cat {
  margin-top: 1em;
}

.post__cat__item {
  color: #fff;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  display: inline-block;
  padding: 5px 8px;
  margin: 5px 5px 5px 0;
}

.post__cat__item.diary {
  background-color: forestgreen;
}

.post__cat__item.news {
  background-color: royalblue;
}

.post__cat__item.event {
  background-color: palevioletred;
}

.post__cat__item.works {
  background-color: peru;
}

.sec-news .post__photo {
  aspect-ratio: 320 / 467;
  order: -2;
  overflow: hidden;
  position: relative;
}

@supports not (aspect-ratio: 25 / 34) {
  .sec-news .post__photo {
    padding-top: 136%;
  }
}

.sec-news .post__photo img {
  font-family: 'object-fit: cover';
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@supports not (aspect-ratio: 25/34) {
  .sec-news .post__photo img {
    position: absolute;
    left: 0;
    top: 0;
  }
}

.news-archive .post__photo {
  aspect-ratio: 320 / 467;
  order: -2;
  overflow: hidden;
  position: relative;
}

@supports not (aspect-ratio: 320 / 467) {
  .news-archive .post__photo {
    padding-top: 145.9375%;
  }
}

.news-archive .post__photo img {
  font-family: 'object-fit: cover';
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@supports not (aspect-ratio: 320/467) {
  .news-archive .post__photo img {
    position: absolute;
    left: 0;
    top: 0;
  }
}

a:hover .post__photo img {
  opacity: 1;
}

.news-single .post__photo {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / -1;
  -ms-grid-row: 3;
  grid-row: 3;
  margin-top: 3.8em;
}

.post__photo img {
  width: 100%;
}

.post__photo__noImage {
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2em;
  font-weight: bold;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-align: center;
  -js-display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #777;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (max-width: 1239px) {
  .post__photo__noImage {
    font-size: 1.6em;
  }
}

.post__content {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.71429;
}

.post__content::before, .post__content::after {
  content: '';
  display: block;
}

.post__content::before {
  margin-top: calc((1.71429 - 1) / 2 * -1em);
}

.post__content::after {
  margin-bottom: calc((1.71429 - 1) / 2 * -1em);
}

.news-archive .post__content {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .news-archive .post__content {
    margin-top: 1em;
  }
}

.news-archive .post__content p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  height: 5.14286em;
}

.news-single .post__content {
  font-feature-settings: "palt" 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / -1;
  -ms-grid-row: 4;
  grid-row: 4;
  margin-top: 2.85714em;
}

/* wp-pagenavi */
.wp-pagenavi {
  text-align: center;
  margin-top: 100px;
}

.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
}

.wp-pagenavi a.page,
.wp-pagenavi span.current {
  font-size: 1.4em;
  text-align: center;
  width: 32px;
  padding: 10px 0;
  border: 1px solid #000;
  margin: 0 5px;
}

.wp-pagenavi a.page:hover,
.wp-pagenavi span.current {
  color: #fff;
  background-color: #000;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  font-size: 1.4em;
}

.wp-pagenavi a.previouspostslink {
  margin-right: 15px;
}

.wp-pagenavi a.nextpostslink {
  margin-left: 15px;
}

.wp-pagenavi span.pages {
  font-size: 1.4em;
  margin-right: 15px;
}

/************************************************
    CATALOG
*************************************************/
.catalog-sec__title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  text-align: center;
  text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000;
}

@media screen and (max-width: 1239px) {
  .catalog-sec__title {
    font-size: 8em;
  }
}

@media screen and (max-width: 767px) {
  .catalog-sec__title {
    font-size: 4em;
  }
}

@media screen and (max-width: 374px) {
  .catalog-sec__title {
    font-size: 3.5em;
  }
}

.catalog-sec__subTitle {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.5em;
  line-height: 1.5;
  text-align: center;
  padding-left: 0.5em;
  margin-top: 1em;
}

.catalog-sec__subTitle::before, .catalog-sec__subTitle::after {
  content: '';
  display: block;
}

.catalog-sec__subTitle::before {
  margin-top: calc((1.5 - 1) / 2 * -1em);
}

.catalog-sec__subTitle::after {
  margin-bottom: calc((1.5 - 1) / 2 * -1em);
}

@media screen and (max-width: 767px) {
  .catalog-sec__subTitle {
    font-size: 1.1em;
  }
}

.catalog-sec__subTitle span {
  display: inline-block;
}

.catalog-archive {
  padding: 90px 0 160px;
}

@media screen and (max-width: 767px) {
  .catalog-archive {
    padding-bottom: 100px;
  }
}

.catalog-single {
  padding-top: 90px;
}

.catalog-single .catalog {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 80px 6fr 23fr 6fr 80px;
  grid-template-columns: 80px 6fr 23fr 6fr 80px;
  -ms-grid-rows: (auto)[6];
  grid-template-rows: repeat(6, auto);
}

@media screen and (max-width: 1239px) {
  .catalog-single .catalog {
    -ms-grid-columns: 30px 3fr 23fr 3fr 30px;
    grid-template-columns: 30px 3fr 23fr 3fr 30px;
  }
}

@media screen and (max-width: 767px) {
  .catalog-single .catalog {
    -ms-grid-columns: 20px 20px 1fr 20px 20px;
    grid-template-columns: 20px 20px 1fr 20px 20px;
  }
}

.catalog-single .pager:nth-of-type(2) {
  margin: 0;
}

.catalog-list {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 6.25%;
  margin: -45px auto;
}

@media screen and (max-width: 767px) {
  .catalog-list {
    margin: -30px auto;
  }
}

.catalog-list .catalog, .catalog-list::before, .catalog-list::after {
  width: calc(320 / 1120 * 100%);
}

@media screen and (max-width: 767px) {
  .catalog-list .catalog, .catalog-list::before, .catalog-list::after {
    width: calc(130 / 280 * 100%);
  }
}

.catalog-list::before, .catalog-list::after {
  content: '';
  display: block;
  order: 1;
}

.catalog-list .catalog {
  padding: 45px 0;
}

@media screen and (max-width: 767px) {
  .catalog-list .catalog {
    padding: 30px 0;
  }
}

.catalog-archive .catalog a {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr auto auto 20px;
  grid-template-rows: 1fr auto auto 20px;
  padding: 10px 0 0 10px;
}

@media screen and (max-width: 1239px) {
  .catalog-archive .catalog a {
    -ms-grid-rows: 1fr auto auto 2px;
    grid-template-rows: 1fr auto auto 2px;
  }
}

@media screen and (max-width: 767px) {
  .catalog-archive .catalog a {
    -ms-grid-rows: 1fr auto auto;
    grid-template-rows: 1fr auto auto;
  }
}

.catalog__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
}

.catalog-archive .catalog__title {
  font-size: 1.4em;
  line-height: calc(24 / 14);
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 3;
  grid-row: 3;
  -ms-grid-column-align: start;
  justify-self: start;
  background-color: #fff;
  padding: 1.1rem 2rem 1.5rem 2rem;
  margin-top: 2px;
  transform: translateX(-10px);
}

_:-ms-lang(x)::-ms-backdrop, .catalog-archive .catalog__title {
  line-height: 2;
  padding: 1.3rem 2rem 1.3rem 2rem;
}

@media screen and (max-width: 1239px) {
  .catalog-archive .catalog__title {
    font-size: 1.2em;
    background-color: rgba(255, 255, 255, 0.6);
  }
}

@media screen and (max-width: 767px) {
  .catalog-archive .catalog__title {
    padding-left: 0;
    padding-right: 0;
    transform: translate(0);
  }
}

.catalog-archive .catalog__title span {
  border-bottom: 1px solid #000;
}

.catalog-single .catalog__title {
  font-size: 2.4em;
  line-height: 1.41667;
  text-align: center;
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 2;
  grid-row: 2;
  padding: 0 1em;
  margin: 1.25em 0 2.08333em;
}

.catalog-single .catalog__title::before, .catalog-single .catalog__title::after {
  content: '';
  display: block;
}

.catalog-single .catalog__title::before {
  margin-top: calc((1.41667 - 1) / 2 * -1em);
}

.catalog-single .catalog__title::after {
  margin-bottom: calc((1.41667 - 1) / 2 * -1em);
}

@media screen and (max-width: 767px) {
  .catalog-single .catalog__title {
    font-size: 2em;
    padding: 0 0.5em;
  }
}

.catalog__info {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto auto auto 1fr;
  grid-template-columns: auto auto auto;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  justify-content: center;
  align-items: center;
  padding-bottom: 2.1em;
  border-bottom: 1px solid #000;
}

@media screen and (max-width: 767px) {
  .catalog__info {
    -ms-grid-columns: 1fr auto auto 1fr;
    grid-template-columns: auto auto;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
  }
}

_:-ms-lang(x)::-ms-backdrop, .catalog__info * {
  -ms-grid-row-align: center;
  display: block;
}

.catalog-archive .catalog__cat {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.4em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  background-color: #fff;
  width: 85px;
  padding: calc(8 / 14 * 1em) 0;
  transform: translateX(-10px);
}

@media screen and (max-width: 1239px) {
  .catalog-archive .catalog__cat {
    background-color: rgba(255, 255, 255, 0.6);
  }
}

.catalog-single .catalog__cat {
  font-family: Arial, Helvetica, sans-serif;
  font-style: italic;
  font-size: 1.6em;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.15em;
  white-space: pre;
  -ms-grid-column: 2;
  -ms-grid-row: 1;
}

@media screen and (max-width: 767px) {
  .catalog-single .catalog__cat {
    font-size: 1.4em;
  }
}

@media screen and (max-width: 767px) {
  .catalog-single .catalog__cat {
    -ms-grid-column: 2;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    -ms-grid-column-align: end;
    justify-self: end;
  }
}

.catalog__time {
  font-family: Arial, Helvetica, sans-serif;
  font-style: italic;
  font-size: 1.6em;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.15em;
  -ms-grid-column: 3;
  -ms-grid-row: 1;
}

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

@media screen and (max-width: 767px) {
  .catalog__time {
    -ms-grid-column: 3;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
    -ms-grid-column-align: start;
    justify-self: start;
  }
}

.catalog-archive .catalog__new {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  display: block;
  transform: translate(-10px, -10px);
}

.catalog-single .catalog__new {
  -ms-grid-column: 4;
  -ms-grid-row: 1;
  margin-left: 1.5em;
}

@media screen and (max-width: 767px) {
  .catalog-single .catalog__new {
    -ms-grid-column: 1;
    -ms-grid-column-span: 4;
    grid-column: 1 / -1;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column-align: center;
    justify-self: center;
    margin: 0 0 1.5em;
  }
}

.catalog__gallery {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 3;
  grid-row: 3;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 540fr 30fr 166fr;
  grid-template-columns: 540fr 30fr 166fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
}

@media screen and (max-width: 767px) {
  .catalog__gallery {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: auto 20px auto;
    grid-template-rows: auto 20px auto;
  }
}

.catalog__gallery.sheet-1 {
  -ms-grid-columns: 98fr 540fr 98fr;
  grid-template-columns: 98fr 540fr 98fr;
}

@media screen and (max-width: 767px) {
  .catalog__gallery.sheet-1 {
    display: block;
  }
}

.catalog-archive .catalog__photo {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 4;
  grid-row: 1 / 5;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .catalog-archive .catalog__photo {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / 3;
  }
}

.catalog-single .catalog__photo {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  position: relative;
}

@media screen and (max-width: 767px) {
  .catalog-single .catalog__photo {
    -ms-grid-row-span: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    padding-top: 150%;
  }
}

.catalog-single .catalog__photo img {
  position: absolute;
  left: 0;
  top: 0;
}

.catalog-single .sheet-1 .catalog__photo {
  -ms-grid-column: 2;
  grid-column: 2;
}

@media screen and (max-width: 767px) {
  .catalog-single .sheet-1 .catalog__photo {
    padding: 0;
  }
}

.catalog-single .sheet-1 .catalog__photo img {
  position: static;
}

.catalog__photo img {
  width: 100%;
}

.catalog__thumbnail {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 25fr 3fr 25fr 3fr 25fr;
  grid-template-rows: 25fr 3fr 25fr 3fr 25fr;
}

@media screen and (max-width: 767px) {
  .catalog__thumbnail {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr;
    grid-template-columns: 1fr 20px 1fr 20px 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
  }
}

.catalog__thumbnail li {
  -ms-grid-column: 1;
  grid-column: 1;
}

.catalog__thumbnail li:nth-child(1) {
  -ms-grid-row: 1;
  grid-row: 1;
}

.catalog__thumbnail li:nth-child(2) {
  -ms-grid-row: 3;
  grid-row: 3;
}

.catalog__thumbnail li:nth-child(3) {
  -ms-grid-row: 5;
  grid-row: 5;
}

@media screen and (max-width: 767px) {
  .catalog__thumbnail li:nth-child(n) {
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .catalog__thumbnail li:nth-child(1) {
    -ms-grid-column: 1;
    grid-column: 1;
  }
  .catalog__thumbnail li:nth-child(2) {
    -ms-grid-column: 3;
    grid-column: 3;
  }
  .catalog__thumbnail li:nth-child(3) {
    -ms-grid-column: 5;
    grid-column: 5;
  }
}

.catalog__thumbnail img {
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0.5;
}

.catalog__thumbnail .selected img {
  opacity: 1;
}

.catalog__styling {
  -ms-grid-column: 2;
  -ms-grid-column-span: 3;
  grid-column: 2 / -2;
  -ms-grid-row: 4;
  grid-row: 4;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3.1em 2em;
  border-top: 3px double #000;
  border-bottom: 3px double #000;
  margin-top: 10em;
}

@media screen and (max-width: 767px) {
  .catalog__styling {
    display: block;
  }
}

.catalog__styling__title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.85em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .catalog__styling__title {
    text-align: center;
  }
}

.catalog__styling__list {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-left: 3.6em;
}

@media screen and (max-width: 767px) {
  .catalog__styling__list {
    justify-content: flex-start;
    padding: 3.6em 0 0;
  }
}

.catalog__styling__list li {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .catalog__styling__list li {
    font-size: 1.5em;
  }
}

.catalog__styling__list li::after {
  content: '   /   ';
  white-space: pre;
}

.catalog__styling__list li:last-child::after {
  content: none;
}

.catalog__stylist {
  font-family: 'Noto Sans JP', sans-serif;
  -ms-grid-column: 2;
  -ms-grid-column-span: 3;
  grid-column: 2 / -2;
  -ms-grid-row: 5;
  grid-row: 5;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 180px 230px 1fr;
  grid-template-columns: 180px 230px 1fr;
  -ms-grid-rows: 270px;
  grid-template-rows: 270px;
  background-color: #f7f7f7;
  margin-top: 85px;
}

@media screen and (max-width: 1239px) {
  .catalog__stylist {
    -ms-grid-columns: 180px 200px 1fr;
    grid-template-columns: 180px 200px 1fr;
  }
}

@media screen and (max-width: 767px) {
  .catalog__stylist {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
  }
}

.catalog__stylist__title {
  font-weight: 400;
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-column-align: center;
  justify-self: center;
  padding: 45px 20px 0;
}

@media screen and (max-width: 767px) {
  .catalog__stylist__title {
    -ms-grid-row-align: center;
    align-self: center;
    padding: 0 20px;
  }
}

.catalog__stylist__title span {
  display: block;
}

.catalog__stylist__title .name {
  font-size: 1.2em;
  margin-top: 2em;
}

.catalog__stylist__title .name span {
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
}

.catalog__stylist__title .name span:first-child {
  margin-bottom: 1em;
}

.catalog__stylist__title .name span:nth-child(2) {
  font-size: 1.33333em;
}

.catalog__stylist__thumbnail {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .catalog__stylist__thumbnail {
    height: auto;
  }
}

.catalog__stylist__content {
  font-size: 1.4em;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  line-height: 1.71429;
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
  padding: 4rem 0;
}

@media screen and (max-width: 767px) {
  .catalog__stylist__content {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / -1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
}

.catalog__stylist__content__inner {
  direction: rtl;
  overflow-y: scroll;
  height: 100%;
  padding: 0 6rem;
}

@media screen and (max-width: 767px) {
  .catalog__stylist__content__inner {
    overflow-y: hidden;
  }
}

.catalog__stylist__content__inner::-webkit-scrollbar {
  width: 3px;
}

.catalog__stylist__content__inner::-webkit-scrollbar-track {
  background: linear-gradient(90deg, transparent 0%, transparent 33.333%, #d2d2d2 33.333%, #d2d2d2 66.666%, transparent 66.666%, transparent 100%);
}

.catalog__stylist__content__inner::-webkit-scrollbar-thumb {
  background-color: #000;
}

.catalog__stylist__content__inner > * {
  direction: ltr;
}

@media screen and (max-width: 1239px) {
  .catalog__stylist__content__inner {
    padding: 0 3rem;
  }
}

/************************************************
    STAFF
*************************************************/
.salon-staff {
  padding: 70px 70px 135px;
  margin-top: 53px;
}

@media screen and (max-width: 1239px) {
  .salon-staff {
    padding: 70px 20px 135px;
  }
}

@media screen and (max-width: 767px) {
  .salon-staff {
    padding: 70px 10px 40px;
  }
}

.salon-staff__list {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
}

.parent-pageid-18 .salon-staff__list {
  margin-top: 108px;
}

.salon-staff__item {
  box-sizing: border-box;
  width: 25%;
  padding: 10px;
  position: relative;
}

@media screen and (max-width: 1239px) {
  .salon-staff__item {
    width: 50%;
  }
}

.salon-staff__item a {
  display: block;
  position: relative;
}

.salon-staff__item > div {
  position: relative;
}

.salon-staff__item__txt {
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #fff;
  box-sizing: border-box;
  max-width: 190px;
  width: 100%;
  padding: 11.5px 13px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .salon-staff__item__txt {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 10px;
  }
}

.salon-staff__item__name {
  font-size: 1.8em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .salon-staff__item__name {
    font-size: 1.6em;
  }
}

.salon-staff__item__name--en, .salon-staff__item__position {
  font-size: 1.1em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-top: 0.75em;
}

@media screen and (max-width: 767px) {
  .salon-staff__item__name--en, .salon-staff__item__position {
    font-size: 1.1em;
  }
}

.salon-staff__item__name--en span, .salon-staff__item__position span {
  display: inline-block;
}

.salon-staff__item img {
  width: 100%;
}

.salon-staff__profile__item {
  display: none;
  background-color: #fff;
  box-sizing: border-box;
  max-width: 1120px;
  width: 87.5%;
  max-height: calc(100vh - 80px);
  padding: 60px;
  margin: auto;
  overflow-y: auto;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 999;
}

@media screen and (max-width: 1239px) {
  .salon-staff__profile__item {
    padding: 40px;
  }
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__item {
    padding: 60px 20px 30px;
  }
}

.salon-staff__profile__item__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 32fr 20fr 48fr;
  grid-template-columns: 32fr 20fr 48fr;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
}

@media screen and (max-width: 1239px) {
  .salon-staff__profile__item__inner {
    -ms-grid-columns: 32fr 40px 48fr;
    grid-template-columns: 32fr 40px 48fr;
    -ms-grid-rows: auto 1fr;
    grid-template-rows: auto 1fr;
  }
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__item__inner {
    -ms-grid-columns: 4fr 3fr;
    grid-template-columns: 4fr 3fr;
  }
}

.salon-staff__profile__txt {
  direction: rtl;
  overflow-y: scroll;
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
  box-sizing: border-box;
  max-height: 480px;
  padding-left: 40px;
  overflow-x: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__txt {
    overflow-y: hidden;
  }
}

.salon-staff__profile__txt::-webkit-scrollbar {
  width: 3px;
}

.salon-staff__profile__txt::-webkit-scrollbar-track {
  background: linear-gradient(90deg, transparent 0%, transparent 33.333%, #d2d2d2 33.333%, #d2d2d2 66.666%, transparent 66.666%, transparent 100%);
}

.salon-staff__profile__txt::-webkit-scrollbar-thumb {
  background-color: #000;
}

.salon-staff__profile__txt > * {
  direction: ltr;
}

@-moz-document url-prefix() {
  .salon-staff__profile__txt {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 1239px) {
  .salon-staff__profile__txt {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / -1;
  }
  @-moz-document url-prefix() {
    .salon-staff__profile__txt {
      margin-bottom: 40px;
    }
  }
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__txt {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / -1;
    -ms-grid-row-span: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  @-moz-document url-prefix() {
    .salon-staff__profile__txt {
      margin-bottom: 20px;
    }
  }
}

@media screen and (max-width: 1239px) {
  .salon-staff__profile__txt {
    max-height: none;
  }
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__txt {
    padding: 20px 0 0;
    border-top: 1px solid #d2d2d2;
    margin-top: 20px;
  }
}

.salon-staff__profile__title span {
  display: block;
}

.salon-staff__profile__title .position {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
}

.salon-staff__profile__title .en {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 3.6em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
  margin-top: 0.55556em;
}

@media screen and (max-width: 1239px) {
  .salon-staff__profile__title .en {
    font-size: 2.8em;
  }
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__title .en {
    font-size: 2.4em;
  }
}

.salon-staff__profile__title .ja {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  margin-top: 1.28571em;
}

.salon-staff__profile__message {
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt" 1;
  margin-top: 7em;
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__message {
    margin-top: 5em;
  }
}

.salon-staff__profile__message dt {
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.salon-staff__profile__message dd {
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 1.64286em;
}

.salon-staff__profile__message dd::before, .salon-staff__profile__message dd::after {
  content: '';
  display: block;
}

.salon-staff__profile__message dd::before {
  margin-top: calc((2 - 1) / 2 * -1em);
}

.salon-staff__profile__message dd::after {
  margin-bottom: calc((2 - 1) / 2 * -1em);
}

.salon-staff__profile__shop {
  text-align: center;
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
}

@media screen and (max-width: 1239px) {
  .salon-staff__profile__shop {
    -ms-grid-column: 1;
    grid-column: 1;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__shop {
    -ms-grid-column: 2;
    grid-column: 2;
    padding-left: 20px;
  }
}

.salon-staff__profile__shop a {
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  display: block;
  background-color: #000;
  max-width: 120px;
  padding: calc(11 / 14 * 1em) 0;
  margin: 2.07143em auto 0;
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__shop a {
    font-size: 1.2em;
  }
}

.salon-staff__profile__shop a:hover {
  color: #fff;
}

.salon-staff__profile__photo {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}

@-moz-document url-prefix() {
  .salon-staff__profile__photo {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 1239px) {
  .salon-staff__profile__photo {
    -ms-grid-row: 2;
    grid-row: 2;
  }
  @-moz-document url-prefix() {
    .salon-staff__profile__photo {
      margin-bottom: 40px;
    }
  }
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__photo {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  @-moz-document url-prefix() {
    .salon-staff__profile__photo {
      margin-bottom: 20px;
    }
  }
}

.salon-staff__profile__photo img {
  width: 100%;
}

.salon-staff__profile__close {
  width: 38px;
  height: 38px;
  border: 1px solid #000;
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .salon-staff__profile__close {
    width: 28px;
    height: 28px;
  }
}

.salon-staff__profile__close::before, .salon-staff__profile__close::after {
  content: '';
  display: block;
  background-color: #626262;
  width: 25px;
  height: 1px;
  position: absolute;
  left: 50%;
  top: 50%;
}

.salon-staff__profile__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.salon-staff__profile__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.lightbox__bg {
  display: none;
  background-color: #000;
  opacity: 0.7;
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 998;
}

/************************************************
    メニュー表
*************************************************/
.menu__panel__item {
  position: relative;
}

.menu__panel__item__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-bottom: 1em;
  border-bottom: 2px solid #000;
}

.menu__panel__item__title::before, .menu__panel__item__title::after {
  content: '';
  display: block;
}

.menu__panel__item__title::before {
  margin-top: calc((1.5 - 1) / 2 * -1em);
}

.menu__panel__item__title::after {
  margin-bottom: calc((1.5 - 1) / 2 * -1em);
}

.esthetic-bridal--esthetic .menu__panel__item__title {
  font-family: 'Amiri', serif;
}

.esthetic-bridal--bridal-hairMakeUp .menu__panel__item__title {
  font-family: 'Noto Serif JP', "Hiragino Mincho ProN", HGS明朝E, serif;
  font-size: 1.8em;
}

@media screen and (max-width: 1239px) {
  .esthetic-bridal--bridal-hairMakeUp .menu__panel__item__title {
    font-size: 1.7em;
  }
}

@media screen and (max-width: 767px) {
  .esthetic-bridal--bridal-hairMakeUp .menu__panel__item__title {
    font-size: 1.6em;
  }
}

@media screen and (max-width: 1239px) {
  .salon-menu__panel .menu__panel__item__title {
    font-size: 1.9em;
  }
}

@media screen and (max-width: 767px) {
  .salon-menu__panel .menu__panel__item__title {
    font-size: 1.7em;
  }
}

.menu__panel__item__title::after {
  background-color: #f7f7f7;
}

@media screen and (max-width: 1239px) {
  .coupon .menu__panel__item__title span {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .treatment .menu__panel__item__title span {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .head-spa .menu__panel__item__title span {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .esthetic-bridal__menu__normal .menu__panel__item__title span {
    display: block;
  }
}

.menu__panel__item__title > span {
  font-size: 0.7em;
  font-weight: 400;
}

@media screen and (max-width: 1239px) {
  .coupon .menu__panel__item__title > span {
    padding: 0.5em 0 0 1em;
  }
}

@media screen and (max-width: 1239px) {
  .treatment .menu__panel__item__title > span {
    padding: 0.5em 0 0 1em;
  }
  .head-spa .menu__panel__item__title > span {
    padding: 0.5em 0 0 1em;
  }
}

.menu__panel__item__title > span::before {
  content: '/ ';
}

@media screen and (max-width: 1239px) {
  .coupon .menu__panel__item__title > span::before {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .treatment .menu__panel__item__title > span::before {
    content: none;
  }
  .head-spa .menu__panel__item__title > span::before {
    content: none;
  }
  .esthetic-bridal__menu__normal .menu__panel__item__title > span::before {
    content: none;
  }
}

.menu__panel__item__title > span > span {
  color: #ae1c2a;
  font-weight: 500;
}

.menu__panel__item__note {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.33em;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-indent: -1.05em;
  padding-left: 1.05em;
  position: absolute;
  right: 0;
  top: 0.6153846154em;
}

@media screen and (max-width: 767px) {
  .menu__panel__item__note {
    margin: 1em 0;
    position: static;
  }
}

.menu__panel__item__table {
  width: 100%;
  margin: 0 auto;
}

.menu__panel__item__table tr {
  border-bottom: 1px dotted #616161;
}

@media screen and (max-width: 767px) {
  .menu__panel__item__table tr.has-rowspan {
    border: none;
  }
  .menu__panel__item__table tr.has-rowspan td {
    padding-bottom: 0.5em;
  }
  .menu__panel__item__table tr.has-rowspan + tr td {
    padding-top: 0.5em;
  }
}

@media screen and (max-width: 767px) {
  .other .menu__panel__item__table tr:nth-child(4) {
    border: none;
  }
  .other .menu__panel__item__table tr:nth-child(4) td {
    padding-bottom: 0.5em;
  }
  .other .menu__panel__item__table tr:nth-child(5) td {
    padding-top: 0.5em;
  }
}

.menu__panel__item__table th {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8em;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 1.33333em 3rem;
}

.esthetic-bridal .menu__panel__item__table th {
  padding-left: 2rem;
}

.esthetic-bridal--bridal-hairMakeUp .menu__panel__item__table th {
  font-size: 1.6em;
}

@media screen and (max-width: 767px) {
  .esthetic-bridal--bridal-hairMakeUp .menu__panel__item__table th {
    font-size: 1.5em;
  }
}

@media screen and (max-width: 1239px) {
  .menu__panel__item__table th {
    font-size: 1.7em;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .menu__panel__item__table th {
    font-size: 1.5em;
    display: block;
    width: 100%;
    padding: 1em 1.5rem 0.5em;
  }
}

.menu__panel__item__table th[rowspan="2"], .menu__panel__item__table th[rowspan="3"] {
  vertical-align: top;
}

.menu__panel__item__table th p {
  display: inline-block;
}

.menu__panel__item__table th p::after {
  background-color: #f7f7f7;
}

.menu__panel__item__table th span {
  font-size: 0.77778em;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.head-spa .menu__panel__item__table th span {
  font-size: 1em;
}

@media screen and (max-width: 1239px) {
  .head-spa .menu__panel__item__table th span {
    display: inline;
    padding: 0;
  }
}

.esthetic-bridal--bridal-hairMakeUp .menu__panel__item__table th span {
  font-size: 0.875em;
}

@media screen and (max-width: 1239px) {
  .menu__panel__item__table th span {
    display: block;
    padding: 0.5em 0 0 1em;
  }
}

.menu__panel__item__table th span::before {
  content: '/ ';
}

@media screen and (max-width: 1239px) {
  .menu__panel__item__table th span::before {
    content: none;
  }
}

.menu__panel__item__table td {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
  text-align: right;
  white-space: nowrap;
  padding: 1.45em 3rem;
}

.esthetic-bridal .menu__panel__item__table td {
  padding-right: 2rem;
}

@media screen and (max-width: 1239px) {
  .menu__panel__item__table td {
    font-size: 1.9em;
    padding-right: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .menu__panel__item__table td {
    font-size: 1.6em;
    display: block;
    width: 100%;
    padding: 1em 0rem;
  }
}

.color .menu__panel__item__table td {
  width: calc(210 / 20 * 1em);
}

@media screen and (max-width: 767px) {
  .color .menu__panel__item__table td {
    width: 100%;
  }
}

.other .menu__panel__item__table td {
  width: calc(400 / 20 * 1em);
}

@media screen and (max-width: 767px) {
  .other .menu__panel__item__table td {
    width: 100%;
  }
}

.menu__panel__item__table td p {
  display: inline-block;
}

.esthetic-bridal .menu__panel__item__table td p {
  font-family: 'Amiri', serif;
}

.menu__panel__item__table td p::after {
  background-color: #f7f7f7;
}

.menu__panel__item__table td span.option {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.7em;
  font-weight: 500;
  white-space: pre;
  display: inline-block;
  transform: translateY(-0.15em);
}

.menu__panel__item__table td span.tax {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.6em;
  font-weight: 400;
}

.menu__panel__item__table td span.note {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.6em;
  font-weight: 400;
  white-space: pre;
}

/************************************************
    LINKS
*************************************************/
.links {
  border-bottom: 1px solid #c9c9c9;
}

.links::after {
  content: '';
  display: block;
  clear: both;
}

.links .link {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 4.8em;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  width: calc(50% - 0.5px);
  border-top: 1px solid #c9c9c9;
  float: left;
}

@media screen and (max-width: 767px) {
  .links .link {
    font-size: 4.4vw;
  }
}

.links .link:nth-of-type(even) {
  border-left: 1px solid #c9c9c9;
}

.links .link a {
  -js-display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  background: no-repeat center / cover;
  height: 37.5vw;
  padding: 0 1em;
  transition: all .4s ease-in-out;
  position: relative;
}

.links .link a::before {
  content: '';
  display: block;
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: all .4s ease-in-out;
}

.links .link a:hover {
  color: #fff;
}

.links .link a:hover::before {
  background-color: black;
}

.links .link a span {
  position: relative;
  z-index: 1;
}

.links .link.bridal-style a {
  background-image: url('img/bg_link_bridal-style.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .links .link.bridal-style a {
    background-image: url('img/bg_link_bridal-style@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .links .link.bridal-style a {
    background-image: url('img/bg_link_bridal-style@3x.jpg');
  }
}

.links .link.staff-column a {
  background-image: url('img/bg_link_staff-column.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .links .link.staff-column a {
    background-image: url('img/bg_link_staff-column@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .links .link.staff-column a {
    background-image: url('img/bg_link_staff-column@3x.jpg');
  }
}

.links .link.about-us a {
  background-image: url('img/bg_link_about-us.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .links .link.about-us a {
    background-image: url('img/bg_link_about-us@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .links .link.about-us a {
    background-image: url('img/bg_link_about-us@3x.jpg');
  }
}

.links .link.bridal-esthe a {
  background-image: url('img/bg_link_bridal-esthe.jpg');
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .links .link.bridal-esthe a {
    background-image: url('img/bg_link_bridal-esthe@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .links .link.bridal-esthe a {
    background-image: url('img/bg_link_bridal-esthe@3x.jpg');
  }
}

/************************************************
    404
*************************************************/
.not-found {
  font-size: 1.6rem;
  text-align: center;
  padding: 50px 0;
}

.not-found p + p {
  margin-top: 3em;
}

.not-found a {
  text-decoration: underline;
}

.not-found a:hover {
  text-decoration: none;
}
/*# sourceMappingURL=maps/style.css.map */
