@charset "UTF-8";
/*
Theme Name: noz
Theme URL:
Description :
Author: Ryoka Ikematsu
Version : 1.0.0
*/
@import "css/sanitize.css";
/* ==========================================================================
   RESET
========================================================================== */
body,
div,
p,
ul,
ol,
dl,
form,
table,
fieldset,
img,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  border: 0;
  padding: 0;
}

a {
  outline: 0;
}

em,
address {
  font-style: normal;
}

li {
  list-style: none;
}

table {
  border-collapse: collapse;
}

img {
  vertical-align: bottom;
}

a {
  color: #000000;
  text-decoration: none;
}
a:hover {
  transition: 0.5s;
  text-decoration: none;
  filter: alpha(opacity=75);
  -moz-opacity: 0.75;
  opacity: 0.75;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

/* ==========================================================================
   Base Styles
========================================================================== */
/* ======================
   Common
====================== */
html {
  scroll-behavior: revert;
}

body {
	font-family: 'Noto Serif JP', serif;
  font-weight: normal;
  color: #333333;
  line-height: 2.5;
  font-size: 14px;
  letter-spacing: 0.05em;
}
@media (min-width: 1280px) {
  body {
    line-height: 3.5;
  }
}
@media (max-width: 767px) {
  body {
    font-size: 13px;
  }
}

@font-face {
  font-family: "yumin";
  src: url("fonts/yumin.eot?") format("eot"), url("fonts/yumin.woff2") format("woff2"), url("fonts/yumin.woff") format("woff");
}
.yumin {
  font-family: "yumin", serif;
}

@font-face {
  font-family: "yumindb";
  src: url("fonts/yumindb.eot?") format("eot"), url("fonts/yumindb.woff2") format("woff2"), url("fonts/yumindb.woff") format("woff");
}
.yumindb {
  font-family: "yumindb", serif;
}

@font-face {
  font-family: "yuminl";
  src: url("fonts/yuminl.eot?") format("eot"), url("fonts/yuminl.woff2") format("woff2"), url("fonts/yuminl.woff") format("woff");
}
.yuminl {
  font-family: "yuminl", serif;
}

@font-face {
  font-family: "optima";
  src: url("fonts/OPTIMA.eot?") format("eot"), url("fonts/OPTIMA.woff2") format("woff2"), url("fonts/OPTIMA.woff") format("woff");
}
.optima {
  font-family: "optima", serif;
}

@font-face {
  font-family: "lb";
  src: url("fonts/LibreBaskerville-Regular.woff") format("woff"), url("fonts/LibreBaskerville-Regular.ttf") format("ttf");
}
.lb {
  font-family: "lb", serif;
}

@font-face {
  font-family: "pd";
  src: url("fonts/PlayfairDisplay-Regular.woff") format("woff"), url("fonts/PlayfairDisplay-Regular.ttf") format("ttf");
}
.pd {
/* ↓ 明朝体に変更 */
font-family: 'Noto Serif JP', serif;
}

.light {
  font-weight: 300;
}

.medium {
  font-weight: 500;
}

.bold {
  font-weight: 700;
}

.white {
  color: #000000;
}

.black {
  color: #474a4d;
}

.blue {
  color: #adadad;
}

.bg-white {
  background-color: #ffffff;
}

.bg-black {
  background-color: #474a4d;
}

.bg-beige {
  background-color:rgb(243 235 230);
}

.bg-gray {
  background-color: rgba(224, 219, 219, 0.2);
}

.shadow {
	box-shadow: 10px 10px rgba(2, 1, 4, 0.1)
}

.sepia {
  position: relative;
  filter: contrast(50%) brightness(120%) saturate(100%) sepia(35%);
}

.pc-area {
  display: none;
}
@media (min-width: 768px) {
  .pc-area {
    display: block;
  }
}

.sp-area {
  display: block;
}
@media (min-width: 768px) {
  .sp-area {
    display: none;
  }
}

.new-line {
  display: block;
}
@media (min-width: 768px) {
  .new-line {
    display: none;
  }
}

a[href^="tel:"] {
  pointer-events: initial;
}

.inner {
  padding: 0 15px;
  position: relative;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .inner {
    padding: 0 25px;
  }
}
@media (min-width: 1280px) {
  .inner {
    padding: 0;
  }
}

.flex {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
}

img {
  width: 100%;
}

.zoomIn img {
  transform: scale(1);
  transition: 0.3s ease-in-out;
}
.zoomIn a:hover img {
  transform: scale(1.1);
}

.animate__animated {
  /* フェードアップ */
  /* フェードダウン */
  /* 右から左にフェード */
  /* 左から右にフェード */
}
.animate__animated.fadeup {
  -webkit-animation-name: fadeup;
          animation-name: fadeup;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  opacity: 0;
}
@-webkit-keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate__animated.fadedown {
  -webkit-animation-name: fadedown;
          animation-name: fadedown;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  opacity: 0;
}
@-webkit-keyframes fadedown {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadedown {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate__animated.fadeleft {
  -webkit-animation-name: fadeleft;
          animation-name: fadeleft;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  opacity: 0;
}
@-webkit-keyframes fadeleft {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeleft {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.animate__animated.faderight {
  -webkit-animation-name: faderight;
          animation-name: faderight;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  opacity: 0;
}
@-webkit-keyframes faderight {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes faderight {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ======================
   イントロスプラッシュ（動画）
====================== */
#intro-splash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 1.2s ease;
}
#intro-splash video {
  width: auto;
  max-width: 60%;
  max-height: 60%;
  opacity: 0;
  transition: opacity 1.2s ease;
}
#intro-splash video.is-visible {
  opacity: 1;
}
#intro-splash.is-hidden {
  opacity: 0;
  pointer-events: none;
}
body.intro-active {
  overflow: hidden;
}

/* ======================
   Header
====================== */
.header-container {
  position: relative;
  z-index: 3;
}
.header-container header .site-header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  min-height: 60px;
  padding: 0 15px;
  position: fixed;
  top: 0;
  left: 0;
  background:rgb(255 255 255);
  width: 100%;
  transition: background .4s ease;
}
body.has-transparent-header .header-container header .site-header {
  background: transparent;
}
body.has-transparent-header.header-scrolled .header-container header .site-header {
  background: rgb(255 255 255);
}
.header-container header .site-header.transform {
  background:rgb(255 255 255);
  padding: 0 15px;
}
.header-container header .site-header .site-logo {
  margin-right: 1rem;
}
.header-container header .site-header .site-logo img {
  width: 62px;
  width: 16.5333333333vw;
}
@media (min-width: 768px) {
  .header-container header .site-header .site-logo img {
    width: 76px;
    width: 9.8958333333vw;
  }
}
@media (min-width: 1280px) {
  .header-container header .site-header .site-logo img {
    width: 90px;
  }
}
.header-container header .site-header .title {
  position: relative;
  line-height: 1;
  z-index: 2;
}
.header-container header .site-header .title a {
  letter-spacing: 0.05em;
  font-weight: normal;
  font-size: 25px;
  font-size: 6.6666666667vw;
}
@media (min-width: 768px) {
  .header-container header .site-header .title a {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media (min-width: 1280px) {
  .header-container header .site-header .title a {
    font-size: 36px;
  }
}
.header-container header .site-header .menu-box .navToggle {
  display: block;
  position: fixed;
  right: 10px;
  top: 10px;
  width: 44px;
  height: 38px;
  cursor: pointer;
  z-index: 10001;
  text-align: center;
}
.header-container header .site-header .menu-box .navToggle span {
  display: block;
  position: absolute;
  width: 35px;
  border-bottom: solid 2px #474a4d;
  transition: 0.35s ease-in-out;
  left: 5px;
}
.header-container header .site-header .menu-box .navToggle span:nth-child(1) {
  top: 8px;
}
.header-container header .site-header .menu-box .navToggle span:nth-child(2) {
  top: 18px;
  width: 18px;
  left: 13px;
}
.header-container header .site-header .menu-box .navToggle span:nth-child(3) {
  top: 28px;
}
.header-container header .site-header .menu-box .navToggle.active span:nth-child(1) {
  top: 18px;
  left: 5px;
  transform: rotate(-45deg);
}
.header-container header .site-header .menu-box .navToggle.active span:nth-child(2), .header-container header .site-header .menu-box .navToggle.active span:nth-child(3) {
  top: 18px;
  transform: rotate(45deg);
}
.header-container header .site-header .globalMenu {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.75);
  color: #ffffff;
  text-align: center;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.header-container header .site-header .globalMenu ul {
  background: none;
  margin: 0 auto;
  padding: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.header-container header .site-header .globalMenu ul li {
  list-style-type: none;
  padding: 0;
  width: auto;
  border-bottom: none;
  margin-bottom: 1.75rem;
}
.header-container header .site-header .globalMenu ul li:first-child {
  border-top: none;
}
.header-container header .site-header .globalMenu ul li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}
.header-container header .site-header .globalMenu ul li a {
  position: relative;
  display: block;
  color: #ffffff;
  padding: 0.5em 0;
  font-size: 15px;
  letter-spacing: 0.1em;
}
.header-container header .site-header .globalMenu ul li a::first-letter {
  color: #adadad;
}
.header-container header .site-header .globalMenu ul li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #ffffff;
  transition: all 0.3s;
  transform: scale(0, 1);
  transform-origin: center top;
}
.header-container header .site-header .globalMenu ul li a span {
  margin-left: 1em;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
}
.header-container header .site-header .globalMenu ul li a i {
  margin-right: 8px;
}
.header-container header .site-header .globalMenu ul li:hover a {
  color: #adadad;
}
.header-container header .site-header .globalMenu.active {
  opacity: 1;
  visibility: visible;
}

/*========= 背景動画 ===============*/
/*header設定*/
.mv {
  margin-top: 60px;
  margin-bottom: 0;
}
body.has-transparent-header .mv {
  margin-top: 0;
}
@media (min-width: 768px) {
  .mv {
    margin-bottom: 2rem;
  }
}
@media (min-width: 1280px) {
  .mv {
    margin-bottom: 5rem;
  }
}
.mv #header {
  position: relative;
  text-align: center;
  color: #ffffff;
}
.mv #header #loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
}
.mv #header #loading.disappear {
  display: none;
}
.mv #header .mv_title {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color:#222222;
  text-shadow: 0 0 6px #ffffff, 0 0 14px #ffffff, 0 0 22px #ffffff;
  line-height: 2;
  font-weight: normal;
  letter-spacing: 0.05em;
  width: 100%;
  font-size: 20px;
  font-size: 4.4444444444vw;
}
@media (min-width: 768px) {
  .mv #header .mv_title {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media (min-width: 1280px) {
  .mv #header .mv_title {
    font-size: 32px;
  }
}
.mv #header .mv_title span {
  display: inline-block;
  background-color: transparent;
  line-height: 1;
  padding: 0;
  letter-spacing: 0.2em;
  opacity: 0;
}
.mv #header #video-area {
  z-index: -1;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .mv #header #video-area {
    aspect-ratio: 16/9;
  }
}
.mv #header #video-area #video {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.mv #header .main-slide {
  width: 100%;
  max-width: 100%;
  margin: auto 0;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media (max-width: 767px) {
  .mv #header .main-slide {
    aspect-ratio: 750 / 1334;
  }
}
.mv #header .main-slide img {
  width: 100%;
  margin: 0 auto;
  animation: heroZoomOut 8s ease-in-out infinite alternate;
  animation-play-state: paused;
}
.mv #header .main-slide img.hero-anim-play {
  animation-play-state: running;
}
@media (max-width: 767px) {
  .mv #header .main-slide img {
    height: 100%;
    object-fit: cover;
    margin: 0;
  }
}
@keyframes heroZoomOut {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
.mv #header .main-slide .slick-dots {
  bottom: -56px;
}
.mv #header.appear {
  -webkit-animation-name: PageAnimeAppear;
          animation-name: PageAnimeAppear;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.page:not(.home) .mv #header .mv_title span,
.archive .mv #header .mv_title span,
.single .mv #header .mv_title span {
  background: none;
}
/* フロントページ以外のMVタイトルを白に */
.page:not(.home) .mv #header .mv_title,
.archive .mv #header .mv_title,
.single .mv #header .mv_title {
  color: #ffffff;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}

.page .mv #header .main-img {
  position: relative;
}
.page .mv #header .main-img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 200px;
  height: 53.3333333333vw;
}
@media (min-width: 768px) {
  .page .mv #header .main-img img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}
.page .mv #header .main-img .mv_title span {
  background: none;
}

/*========= スクロールダウン ===============*/
.scrolldown {
  position: absolute;
  bottom: 20px;
  left: 5%;
  z-index: 1;
  -webkit-animation: arrowmove 1s ease-in-out infinite;
          animation: arrowmove 1s ease-in-out infinite;
}
@media (min-width: 768px) {
  .scrolldown {
    bottom: 5%;
    left: 5%;
  }
}
@-webkit-keyframes arrowmove {
  0% {
    bottom: 1%;
  }
  50% {
    bottom: 3%;
  }
  100% {
    bottom: 1%;
  }
}
@keyframes arrowmove {
  0% {
    bottom: 1%;
  }
  50% {
    bottom: 3%;
  }
  100% {
    bottom: 1%;
  }
}
.scrolldown span {
  position: absolute;
  left: 0;
  top: -94px;
  color: #ffffff;
  font-size: 10px;
  letter-spacing: 0.25em;
  -ms-writing-mode: tb-lr;
      writing-mode: vertical-lr;
  font-family: "lb", serif;
}
@media (min-width: 768px) {
  .scrolldown span {
    top: -150px;
  }
}
.scrolldown::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 5px;
  width: 1px;
  height: 15px;
  background: #ffffff;
  transform: skewX(-31deg);
}
.scrolldown:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 94px;
  background: #ffffff;
}
@media (min-width: 768px) {
  .scrolldown:after {
    height: 150px;
  }
}

.fixed-bnr {
  display: block;
}
.fixed-bnr .fixed-bnr-inner {
  position: fixed;
  top: 9px;
  right: 60px;
  z-index: 4;
}
@media (min-width: 768px) {
  .fixed-bnr .fixed-bnr-inner {
    top: 2px;
  }
}
@media (min-width: 1280px) {
  .fixed-bnr .fixed-bnr-inner {
    top: 0;
  }
}
.fixed-bnr .fixed-bnr-inner a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  margin: 0 auto;
  background: #f1f1f1;
  line-height: 1;
  width: 130px;
  color: 000000;
  font-size: 13px;
  box-shadow: 1px 1px 1px;
  border: solid 1px transparent;
  box-sizing: border-box;
  transition: background .4s ease, box-shadow .4s ease, color .4s ease, border-color .4s ease;
}
body.has-transparent-header:not(.header-scrolled) .fixed-bnr .fixed-bnr-inner a {
  background: transparent;
  color: #000000;
  border-color: #000000;
}
@media (min-width: 768px) {
  .fixed-bnr .fixed-bnr-inner a {
    padding: 21px;
    width: 205px;
    font-size: 18px;
  }
}
@media (min-width: 1280px) {
  .fixed-bnr .fixed-bnr-inner a {
    width: 260px;
    font-size: 18px;
	box-shadow: 3px 3px 9px;
  }
}
.fixed-bnr .fixed-bnr-inner a span {
  font-family: "yumin", serif;
  float: right;
  font-size: 10px;
  font-size: 2.6666666667vw;
}
@media (min-width: 768px) {
  .fixed-bnr .fixed-bnr-inner a span {
    font-size: 13px;
    font-size: 1.6927083333vw;
  }
}
@media (min-width: 1280px) {
  .fixed-bnr .fixed-bnr-inner a span {
    font-size: 16px;
  }
}

/* ======================
   Main
====================== */
.main-container {
  position: relative;
  z-index: 1;
  background: #ffffff;
}
article section {
  padding: 3rem 0;
}
@media (min-width: 768px) {
  article section {
    padding: 4rem 0;
  }
}
@media (min-width: 1280px) {
  article section {
    padding: 6rem 0;
  }
}
article section .title {
  position: relative;
  opacity: 0;
  letter-spacing: 0.2em;
  line-height: 1.2;
  font-weight: normal;
  width: 95%;
  padding-bottom: 15px;
  margin: 0 auto 1rem;
  font-size: 22px;
  font-size: 6.2222222222vw;
}

@media (min-width: 768px) {
  article section .title {
    width: 100%;
    margin-bottom: 0;
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}

@media (min-width: 1280px) {
  article section .title {
    margin-bottom: 2rem;
    font-size: 36px;
  }
}
article section .title::first-letter {
  color:#000000;
}
article section .title::after {
  content: "";
  height: 1px;
  background-color: #B5B5B6;
  position: absolute;
  bottom: 25px;
  left: 0;
  margin-bottom: 1rem;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  article section .title::after {
    width: 260px;
  }
}
@media (min-width: 1280px) {
  article section .title::after {
    width: 340px;
  }
}
article section .title .sub-title {
  display: block;
  margin-top: 1rem;
  letter-spacing: 0.05em;
  font-family: 'Noto Serif JP', serif;
  text-align: left;
  font-size: 11px;
  font-size: 2.9333333333vw;
}
#flow .title .sub-title {
  text-align: center;
}
@media (min-width: 768px) {
  article section .title .sub-title {
    font-size: 12px;
    font-size: 1.5625vw;
  }
}
@media (min-width: 1280px) {
  article section .title .sub-title {
    font-size: 14px;
  }
}
article section .title p {
  margin-bottom: 1rem;
}

.link-btn {
  display: block;
  text-align: center;
  padding: 14px 15px;
  margin: 2rem auto;
  line-height: 1;
  color:#434343;
  background:rgb(124 121 121);
  border: solid 1px#ffffff;
  box-sizing: border-box;
  letter-spacing: 0.05em;
  width: 225px;
  width: 60vw;
  font-size: 13px;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .link-btn {
    margin: 1rem auto;
    padding: 18px 15px;
    margin: 1rem auto;
    width: 262px;
    width: 34.1145833333vw;
    font-size: 16px;
    font-size: 2.0833333333vw;
  }
}
@media (min-width: 1280px) {
  .link-btn {
    margin: 3rem auto;
    padding: 21px 15px;
    width: 300px;
    font-size: 18px;
  }
}
.link-btn:hover {
  color: #5d5d5d;
  background: #ffffff;
  border: solid 1px #C9CACA;
  box-sizing: border-box;
}

#message .title {
  opacity: 1;
}
#message .title::after {
  left: 0;
  transform: none;
}
#message .message_wrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-around;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
}
#message .info {
  width: 100%;
}
@media (min-width: 768px) {
  #message .info {
    width: 50%;
  }
}
@media (min-width: 1280px) {
  #message .info {
    width: 50%;
  }
}
#message .info .link-btn {
  margin: 3rem auto;
}
@media (min-width: 768px) {
  #message .info .link-btn {
    margin: 3rem 0;
  }
}
#message .img {
  width: 100%;
  opacity: 0;
}
@media (min-width: 768px) {
  #message .img {
    width: 50%;
  }
}
@media (min-width: 1280px) {
  #message .img {
    width: 38%;
    margin: 0;
  }
}

#trouble .trouble_wrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  #trouble .trouble_wrap {
    display: flex;
    display: -ms-flexbox;
    justify-content: space-around;
    -webkit-box-pack: space-around;
    -ms-flex-pack: space-around;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-wrap: wrap;
    padding-left: 10px;
    padding-left: 1.3020833333vw;
    padding-right: 10px;
    padding-right: 1.3020833333vw;
  }
}
@media (min-width: 1280px) {
  #trouble .trouble_wrap {
    padding: 0 170px;
  }
}
#trouble .title2 {
  position: relative;
  background: none;
  padding: 0 0 15px;
  margin: 0 auto 2rem;
  line-height: 1.4;
  letter-spacing: 0.15em;
  font-weight: normal;
  text-align: center;
  font-size: 20px;
  font-size: 5.3333333333vw;
  opacity: 0;
}
@media (min-width: 768px) {
  #trouble .title2 {
    margin: 0 auto 3rem;
    font-size: 20px;
    font-size: 2.6041666667vw;
  }
}
@media (min-width: 1280px) {
  #trouble .title2 {
    font-size: 24px;
  }
}
#trouble .title2:before {
  display: none;
}
#trouble .title2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: #474a4d;
}
#trouble .trouble_list {
  width: 100%;
  margin-bottom: 2rem;
  opacity: 0;
}
@media (min-width: 768px) {
  #trouble .trouble_list {
    max-width: 50%;
    margin-bottom: 0;
  }
}
#trouble .trouble_list li {
  position: relative;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: normal;
}
@media (min-width: 1280px) {
  #trouble .trouble_list li {
    font-size: 16px;
  }
}

#trouble .trouble_list li::before {
  content: "・";
  margin-right: 2px;
}

#trouble .img {
  width: 100%;
  opacity: 0;
}
@media (min-width: 768px) {
  #trouble .img {
    width: 50%;
  }
}
#trouble .link-btn {
  margin-bottom: 0;
}

#style .title span {
  text-align: center;
}
#style .style_list {
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  #style .style_list {
    padding: 0;
  }
}
#style .style_list li {
  width: 47.5%;
  margin-bottom: 1rem;
  margin-right: 5%;
}
@media (min-width: 768px) {
  #style .style_list li {
    width: 23%;
    margin-right: 2.5%;
  }
}
#style .style_list li a {
  display: block;
  width: 100%;
  height: 100%;
}
#style .style_list li a img {
  width: 100%;
}
#style .style_list li:nth-of-type(2) {
  margin-top: 2rem;
}
#style .style_list li:nth-of-type(2n) {
  margin-top: 3rem;
  margin-bottom: -2rem;
  margin-right: 0;
}
@media (min-width: 768px) {
  #style .style_list li:nth-of-type(2n) {
    margin-right: 2.5%;
  }
}
#style .style_list li:nth-of-type(4n) {
  margin-right: 0;
}

#salon {
  background-size: 160%;
  background-position: top center;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  #salon {
    background-size: contain;
  }
}


#salon .title {
  color: #000000；
  padding-top: 10px;
  padding-top: 2.6666666667vw;
}
@media (min-width: 768px) {
  #salon .title {
    padding-top: 35px;
    padding-top: 4.5572916667vw;
  }
}
@media (min-width: 1280px) {
  #salon .title {
    padding-top: 70px;
    padding-top: 5.46875vw;
    margin-bottom: 100px;
    margin-bottom: 7.8125vw;
  }
}
#salon .title::after {
  background-color: #474a4d;
}
#salon .title::first-letter {
  color: #000000;
}
#salon span {
  text-align: center;
}
#salon .salon_list {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-wrap: wrap;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 2rem;
  margin-top: 30px;
  margin-top: 3.90625vw;
  opacity: 0;
}
@media (min-width: 768px) {
  #salon .salon_list {
    margin-top: 20px;
    margin-top: 2.6041666667vw;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1280px) {
  #salon .salon_list {
    margin-top: 80px;
    margin-top: 6.25vw;
  }
}
@media screen and (min-width: 1281px) and (max-width: 1440px) {
  #salon .salon_list {
    margin-top: 110px;
    margin-top: 7.6388888889vw;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1920px) {
  #salon .salon_list {
    margin-top: 200px;
    margin-top: 10.4166666667vw;
  }
}
#salon .salon_list li {
  width: 30%;
}
#salon .salon_list li img {
  width: 100%;
}
#salon p {
  text-align: left;
}
@media (min-width: 768px) {
  #salon p {
    text-align: center;
  }
}

#staff .title {
  opacity: 1;
}
#staff .title::after {
  left: 0;
  transform: none;
}
#staff .staff_list {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-around;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
}
#staff .staff_list .txt {
  width: 100%;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  #staff .staff_list .txt {
    width: 50%;
    margin-bottom: 0;
  }
}
@media (min-width: 1280px) {
  #staff .staff_list .txt {
    width: 47.5%;
    margin-right: 2.5%;
  }
}
#staff .staff_list .txt .link-btn {
  margin: 3rem 0;
}
#staff .staff_list .img {
  padding: 0 4rem;
  opacity: 0;
}
@media (min-width: 768px) {
  #staff .staff_list .img {
    padding: 0 2rem;
    width: 50%;
  }
}
@media (min-width: 1280px) {
  #staff .staff_list .img {
    width: 47.5%;
    padding: 0 6rem;
  }
}
#staff .staff_list .img p {
  position: relative;
}
#staff .staff_list .img p::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  display: block;
  border: 1px solid #adadad;
}
#staff .staff_list .img p::after img {
  width: 100%;
}

#faq .title {
  text-align: center;
}
#faq .title span {
  text-align: center;
}
#faq .faq_list {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-evenly;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
}
#faq .faq_list li {
  width: 100%;
  background-color: #ffffff;
  padding: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  #faq .faq_list li {
    width: 45%;
  }
}
#faq .faq_list li .faq_ttl {
  padding: 1rem;
  border-bottom: solid 1px #000000;
  line-height: 2;
  font-size: 16px;
}
#faq .faq_list li .faq_txt {
  padding: 1rem;
  font-size: 14px;
}
#faq .link-btn {
  margin: 1rem auto;
}

#blog .title::after {
  left: 0;
  transform: none;
}
#blog .blog_list {
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
  margin-bottom: 5rem;
}
#blog .blog_list .blog_item {
  width: 47.5%;
  margin-bottom: 2rem;
  margin-right: 5%;
}
@media (min-width: 768px) {
  #blog .blog_list .blog_item {
    width: 23%;
    margin-right: 2.5%;
  }
}
#blog .blog_list .blog_item > a {
  display: block;
  width: 100%;
  height: 100%;
}
#blog .blog_list .blog_item .img {
  width: 100%;
  margin-bottom: 0.5rem;
}
#blog .blog_list .blog_item .img img {
  width: 100%;
}
#blog .blog_list .blog_item .post-categories {
  line-height: 1;
  margin-bottom: 0.5rem;
  line-height: 1;
  display: inline-block;
  background-color: #adadad;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  padding: 5px 10px;
  font-size: 12px;
  pointer-events: none;
}
#blog .blog_list .blog_item .blog_title {
  margin-bottom: 0.5rem;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.25;
}
#blog .blog_list .blog_item .date {
  line-height: 1;
  font-size: 14px;
}
#blog .blog_list .blog_item:nth-of-type(2) {
  margin-top: 2rem;
}
#blog .blog_list .blog_item:nth-of-type(2n) {
  margin-top: 3rem;
  margin-bottom: -2rem;
  margin-right: 0;
}
@media (min-width: 768px) {
  #blog .blog_list .blog_item:nth-of-type(2n) {
    margin-right: 2.5%;
  }
}
#blog .blog_list .blog_item:nth-of-type(4n) {
  margin-right: 0;
}

.page:not(.home) .concept #intro {
  padding: 4rem 0 6rem;
}
.page:not(.home) .concept #intro .intro_wrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-wrap: wrap;
}
.page:not(.home) .concept #intro .intro_wrap .info_item {
  width: 100%;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #intro .intro_wrap .info_item {
    width: 50%;
    margin-bottom: 0;
  }
}
.page:not(.home) .concept #intro .intro_wrap .img {
  width: 100%;
}
.page:not(.home) .concept #intro .intro_wrap .img.inner {
  padding: 0 15px;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #intro .intro_wrap .img {
    width: 50%;
  }
}
.page:not(.home) .concept #choice .title2 {
  position: relative;
  padding: 0 0 15px;
  margin: 0 auto 2rem;
  line-height: 1.4;
  font-weight: normal;
  letter-spacing: 0.15em;
  font-size: 18px;
  font-size: 4.8vw;
}
.page:not(.home) .concept #choice .title2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: #474a4d;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .title2 {
    margin: 0 auto 3rem;
    font-size: 20px;
    font-size: 2.6041666667vw;
  }
}
@media (min-width: 1280px) {
  .page:not(.home) .concept #choice .title2 {
    font-size: 26px;
  }
}
.page:not(.home) .concept #choice .title2 span {
  font-size: 23px;
  font-size: 6.1333333333vw;
  color: #000000;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .title2 span {
    font-size: 33px;
    font-size: 4.296875vw;
  }
}
@media (min-width: 1280px) {
  .page:not(.home) .concept #choice .title2 span {
    font-size: 42px;
  }
}
.page:not(.home) .concept #choice .choice_wrap {
  margin-top: 3rem;
}
.page:not(.home) .concept #choice .choice_wrap .choice_item {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-around;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-wrap: wrap;
  position: relative;
  padding: 2.5rem 2rem 2rem;
  background-color: #ffffff;
  border: 1px solid #E0DBDB;
  box-sizing: border-box;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item {
    padding: 3rem 2rem 2rem;
    margin-bottom: 5rem;
  }
}
@media (min-width: 1280px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item {
    padding: 3.5rem 2rem 2rem;
    margin-bottom: 6rem;
  }
}
.page:not(.home) .concept #choice .choice_wrap .choice_item .txt {
  width: 100%;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item .txt {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 0;
  }
}
.page:not(.home) .concept #choice .choice_wrap .choice_item .txt h2 {
  line-height: 1.6;
  margin-bottom: 1rem;
  font-weight: normal;
  font-size: 17px;
  font-size: 4.5333333333vw;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item .txt h2 {
    font-size: 17px;
    font-size: 2.2135416667vw;
  }
}
@media (min-width: 1280px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item .txt h2 {
    font-size: 19px;
  }
}
.page:not(.home) .concept #choice .choice_wrap .choice_item .txt p {
  line-height: 1.9;
  font-size: 13px;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item .txt p {
    font-size: 13px;
    font-size: 1.6927083333vw;
  }
}
@media (min-width: 1280px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item .txt p {
    line-height: 2.2;
    font-size: 14px;
  }
}
.page:not(.home) .concept #choice .choice_wrap .choice_item .inner {
  padding: 0;
}
.page:not(.home) .concept #choice .choice_wrap .choice_item .img {
  width: 100%;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item .img {
    width: 48%;
  }
}
.page:not(.home) .concept #choice .choice_wrap .choice_item::before {
  font-family: "optima", serif;
  font-style: italic;
  font-size: 20px;
  display: inline-block;
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  background: #ffffff;
  padding: 0 10px;
  color: #adadad;
}
@media (min-width: 768px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item::before {
    top: -16px;
    font-size: 22px;
  }
}
@media (min-width: 1280px) {
  .page:not(.home) .concept #choice .choice_wrap .choice_item::before {
    top: -18px;
    font-size: 24px;
  }
}
.page:not(.home) .concept #choice .choice_wrap .choice_item:nth-of-type(1)::before {
  content: "01";
}
.page:not(.home) .concept #choice .choice_wrap .choice_item:nth-of-type(2)::before {
  content: "02";
}
.page:not(.home) .concept #choice .choice_wrap .choice_item:nth-of-type(3)::before {
  content: "03";
}
.page:not(.home) .concept #choice .choice_wrap .choice_item:nth-of-type(4)::before {
  content: "04";
}
.page:not(.home) .concept #choice .choice_wrap .choice_item:nth-of-type(5)::before {
  content: "05";
}
.page:not(.home) #menu .inner {
  max-width: 1000px;
}
.page:not(.home) #menu .top_txt {
  margin-bottom: 5rem;
}
.page:not(.home) #menu .menu_wrap {
  padding: 1.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .page:not(.home) #menu .menu_wrap {
    padding: 3rem;
  }
}
.page:not(.home) #menu .menu_wrap .menu_title {
  text-align: center;
  margin-bottom: 2rem;
  line-height: 1;
  color: #000000
  font-size: 22px;
}
.page:not(.home) #menu .menu_wrap .menu_div {
  text-align: center;
  margin-bottom: 1rem;
  line-height: 1;
  color: #000000
  font-size: 12px;
}
.page:not(.home) #menu .menu_wrap .menu_wrap_inner {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
}
.page:not(.home) #menu .menu_wrap .menu_list {
  width: 100%;
}
@media (min-width: 768px) {
  .page:not(.home) #menu .menu_wrap .menu_list {
    width: 100%;
  }
}
.page:not(.home) #menu .menu_wrap .menu_list:last-child li:first-child {
  border-top: none;
}
@media (min-width: 768px) {
  .page:not(.home) #menu .menu_wrap .menu_list:last-child li:first-child {
    border-top: dotted 2px #000000;
  }
}
.page:not(.home) #menu .menu_wrap .menu_list li {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-wrap: wrap;
  width: 100%;
  border-bottom: dotted 2px #000000;
  line-height: 2;
}
.page:not(.home) #menu .menu_wrap .menu_list li .menu_ttl {
  display: block;
  width: 70%;
  padding: 10px 0;
  text-align: left;
  font-weight: normal;
  font-size: 18px;
}
@media (min-width: 768px) {
  .page:not(.home) #menu .menu_wrap .menu_list li .menu_ttl {
    padding: 15px 0;
  }
}
.page:not(.home) #menu .menu_wrap .menu_list li .menu_ttl span {
  display: block;
  font-size: 12px;
}
.page:not(.home) #menu .menu_wrap .menu_list li .menu_ div {
  display: block;
  font-size: 12px;
  text-align: center;
}
.page:not(.home) #menu .menu_wrap .menu_list li .menu_price {
  display: block;
  width: 30%;
  padding: 10px 0;
  text-align: right;
  font-size: 16px;
}
@media (min-width: 768px) {
  .page:not(.home) #menu .menu_wrap .menu_list li .menu_price {
    padding: 15px 0;
  }
}
.page:not(.home) #menu .menu_wrap .menu_list li:first-child {
  border-top: dotted 2px #000000;
}
.page:not(.home) #menu .menu_wrap .menu_list li:nth-of-type(2n) {
  border-top: none;
}
@media (min-width: 768px) {
  .page:not(.home) #menu .menu_wrap .menu_list li:last-child {
    border-bottom: dotted 2px #000000;
  }
}
.page:not(.home) #menu .menu_wrap .attention {
  text-align: right;
  width: 100%;
  margin-top: 2rem;
  font-size: 12px;
}
.page:not(.home) #salon .title {
  font-size: 36px;
  font-size: 9.6vw;
  color: black;
}
@media (min-width: 768px) {
  .page:not(.home) #salon .title {
    font-size: 41px;
    font-size: 5.3385416667vw;
  }
}
@media (min-width: 1280px) {
  .page:not(.home) #salon .title {
    font-size: 46px;

  }
}
.page:not(.home) #salon .title::first-letter {
  color: #000000;
}
.page:not(.home) #salon .title::after {
  display: none;

}

#salon {
  padding-top: 4rem;
}
#salon .salon_inner {
  padding: 0 15px;
  max-width: 700px;
  margin: 0 auto 3rem;
}
#salon .salon_inner .thumbnail {
  margin: 2rem 0;
}
#salon .salon_inner .thumbnail .slick-track {
  transform: unset !important;
}
#salon .salon_inner .thumbnail .thumbnail-img {
  opacity: 0.3;
  transition: opacity 0.3s linear;
  margin: 0 0.5rem !important;
}
@media (min-width: 768px) {
  #salon .salon_inner .thumbnail .thumbnail-img {
    margin: 0 1rem !important;
  }
}
#salon .salon_inner .thumbnail .slick-current {
  opacity: 1;
}
#salon .map {
  margin: 0 auto;
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  #salon .map {
    aspect-ratio: 16/5.5;
  }
}
#salon .map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  position: relative;
}
#salon .address {
  width: 100%;
  max-width: 480px;
  border-bottom: solid 1px #E0DBDB;
  margin: 0 auto;
}
#salon .address tr {
  border-top: solid 1px #E0DBDB;
  font-size: 14px;
}
#salon .address tr th {
  font-weight: normal;
  text-align: left;
  padding: 15px 10px 15px 20px;
}
@media (min-width: 768px) {
  #salon .address tr th {
    padding: 15px 30px;
  }
}
#salon .address tr td {
  line-height: 2.5;
  padding: 15px 20px 15px 10px;
}
@media (min-width: 768px) {
  #salon .address tr td {
    padding: 15px 30px;
  }
}
#salon .address tr td span {
  padding-right: 60px;
}
#salon .address tr td a {
  color: #000000;
}

#archive-blog .blog_inner {
  max-width: 810px;
  padding: 0 15px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #archive-blog .blog_inner {
    padding: 0 25px;
  }
}
@media (min-width: 1280px) {
  #archive-blog .blog_inner {
    padding: 0;
  }
}
#archive-blog .blog_list {
  margin-bottom: 5rem;
}
#archive-blog .blog_list .blog_item {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-evenly;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
  margin-bottom: 5rem;
}
#archive-blog .blog_list .blog_item .img {
  width: 100%;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  #archive-blog .blog_list .blog_item .img {
    width: 47.5%;
    margin-bottom: 0;
    margin-right: 5%;
  }
}
#archive-blog .blog_list .blog_item .img a {
  display: block;
  width: 100%;
  height: 100%;
}
#archive-blog .blog_list .blog_item .img a img {
  width: 100%;
}
#archive-blog .blog_list .blog_item .info {
  width: 100%;
}
@media (min-width: 768px) {
  #archive-blog .blog_list .blog_item .info {
    width: 47.5%;
  }
}
#archive-blog .blog_list .blog_item .info .post-categories {
  line-height: 1;
  margin-bottom: 1rem;
  margin-right: 10px;
  line-height: 1;
  display: inline-block;
  background-color: #adadad;
  line-height: 1;
  text-align: center;
  padding: 5px 10px;
  font-size: 12px;
  color: #ffffff;
}
#archive-blog .blog_list .blog_item .info .blog_title {
  margin-bottom: 1rem;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.25;
}
#archive-blog .blog_list .blog_item .info .date {
  margin-bottom: 1.5rem;
  line-height: 1;
  font-size: 12px;
}
#archive-blog .blog_list .blog_item .info .blog_content {
  line-height: 2;
}
#archive-blog .blog_list .blog_item .info .blog_content a {
  display: inline-block;
  float: right;
  color: #adadad;
}
#archive-blog .blog_list .blog_item .info .blog_content a:hover {
  text-decoration: underline;
}

#single-blog .inner {
  max-width: 860px;
  padding: 0 15px;
  margin: 0 auto;
}
#single-blog .blog_inner {
  max-width: 810px;
  margin: 3rem auto;
}
@media (min-width: 768px) {
  #single-blog .blog_inner {
    padding: 0 25px;
  }
}
@media (min-width: 1280px) {
  #single-blog .blog_inner {
    padding: 0;
  }
}
#single-blog .post-categories {
  line-height: 1;
  margin-bottom: 1rem;
  margin-right: 10px;
  line-height: 1;
  display: inline-block;
  background-color: #adadad;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  padding: 2px 4px;
  font-size: 12px;
}
#single-blog .blog_title {
  margin-bottom: 1rem;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.25;
}
#single-blog .date {
  margin-bottom: 1.5rem;
  line-height: 1;
  font-size: 12px;
}
#single-blog .blog_content {
  line-height: 2;
}
#single-blog .blog_content p {
  margin: 1rem 0;
}
@media (min-width: 768px) {
  #single-blog .blog_content p {
    margin: 2rem 0;
  }
}
#single-blog .blog_content img {
  max-width: 100%;
  margin: 1rem 0;
}
@media (min-width: 768px) {
  #single-blog .blog_content img {
    margin: 2rem 0;
  }
}

.post-type-archive-hairstyle .style_list {
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
}
.post-type-archive-hairstyle .style_list .style_item {
  width: 47.5%;
  margin-bottom: 5%;
  margin-right: 5%;
}
@media (min-width: 768px) {
  .post-type-archive-hairstyle .style_list .style_item {
    width: 23.1%;
    margin-right: 2.5%;
  }
}
.post-type-archive-hairstyle .style_list .style_item a {
  display: block;
  width: 100%;
  height: 100%;
}
.post-type-archive-hairstyle .style_list .style_item a img {
  width: 100%;
}
.post-type-archive-hairstyle .style_list .style_item:nth-of-type(2) {
  margin-top: 0;
}
.post-type-archive-hairstyle .style_list .style_item:nth-of-type(2n) {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
}
@media (min-width: 768px) {
  .post-type-archive-hairstyle .style_list .style_item:nth-of-type(2n) {
    margin-right: 2.5%;
  }
}
.post-type-archive-hairstyle .style_list .style_item:nth-of-type(4n) {
  margin-right: 0;
}

.single-hairstyle .style_wrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-evenly;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto 5rem;
}
.single-hairstyle .style_wrap .img {
  width: 100%;
}
@media (min-width: 768px) {
  .single-hairstyle .style_wrap .img {
    width: 47.5%;
    margin-right: 2.5%;
  }
}
.single-hairstyle .style_wrap .img img {
  width: 100%;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .single-hairstyle .style_wrap .img img {
    margin-bottom: 0;
  }
}
.single-hairstyle .style_wrap .img .style_title {
  line-height: 1.5;
  margin-bottom: 1rem;
  font-size: 24px;
  font-size: 6.4vw;
}
@media (min-width: 768px) {
  .single-hairstyle .style_wrap .img .style_title {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media (min-width: 1280px) {
  .single-hairstyle .style_wrap .img .style_title {
    font-size: 30px;
  }
}
.single-hairstyle .style_wrap .style_info {
  width: 100%;
}
@media (min-width: 768px) {
  .single-hairstyle .style_wrap .style_info {
    width: 47.5%;
  }
}
.single-hairstyle .style_wrap .style_info .style_title {
  line-height: 1.5;
  margin-bottom: 2rem;
  font-size: 24px;
  font-size: 6.4vw;
}
@media (min-width: 768px) {
  .single-hairstyle .style_wrap .style_info .style_title {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media (min-width: 1280px) {
  .single-hairstyle .style_wrap .style_info .style_title {
    font-size: 30px;
  }
}
.single-hairstyle .style_wrap .style_info .style_comment {
  line-height: 2;
  margin-bottom: 2rem;
  font-size: 16px;
}
.single-hairstyle .style_wrap .style_info .style_menu_wrap {
  background-color: rgba(224, 219, 219, 0.2);
  padding: 1rem;
}
.single-hairstyle .style_wrap .style_info .style_menu_wrap .style_menu_title {
  line-height: 1;
  font-size: 20px;
  margin-bottom: 1rem;
  color: #adadad;
}
.single-hairstyle .style_wrap .style_info .style_menu_wrap .style_menu {
  line-height: 2;
  font-size: 20px;
}

.post-type-archive-staff .inner {
  max-width: 840px;
  margin: 0 auto;
}
.post-type-archive-staff .staff_list {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-around;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-wrap: wrap;
  margin-bottom: 5rem;
}
.post-type-archive-staff .staff_list .staff_info {
  width: 100%;
  padding: 0 2rem;
  order: 2;
}
@media (min-width: 768px) {
  .post-type-archive-staff .staff_list .staff_info {
    padding: 0;
    width: 48%;
    margin-right: 4%;
  }
}
.post-type-archive-staff .staff_list .staff_info .staff_name {
  line-height: 1;
  margin-bottom: 1.5rem;
  font-size: 24px;
  font-size: 6.4vw;
}
@media (min-width: 768px) {
  .post-type-archive-staff .staff_list .staff_info .staff_name {
    margin-bottom: 3rem;
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media (min-width: 1280px) {
  .post-type-archive-staff .staff_list .staff_info .staff_name {
    font-size: 30px;
  }
}
.post-type-archive-staff .staff_list .staff_info .staff_name span {
  line-height: 1;
  display: block;
  margin-top: 1rem;
  color: #878787;
  font-size: 16px;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .post-type-archive-staff .staff_list .staff_info .staff_name span {
    font-size: 18px;
    font-size: 2.34375vw;
  }
}
@media (min-width: 768px) and (min-width: 1280px) {
  .post-type-archive-staff .staff_list .staff_info .staff_name span {
    font-size: 22px;
  }
}
.post-type-archive-staff .staff_list .staff_info .staff_message {
  line-height: 2.5;
}
.post-type-archive-staff .staff_list .staff_img {
  width: 100%;
  order: 1;
  padding: 0 2rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .post-type-archive-staff .staff_list .staff_img {
    width: 48%;
    padding: 0 3rem;
    margin-bottom: 0;
    order: 2;
  }
}
.post-type-archive-staff .staff_list .staff_img p {
  position: relative;
}
.post-type-archive-staff .staff_list .staff_img p::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  display: block;
  border: 1px solid #C5AC73;
}

.post-type-archive-faq .faq_wrap .tab_container {
  padding-bottom: 1em;
  background-color: #ffffff;
  padding: 3rem 2rem;
  margin: 0 auto;
}
.post-type-archive-faq .faq_wrap .tab_container .tab_item {
  padding: 0 15px;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.3s ease;
  width: 60%;
  margin: 1rem 20%;
}
@media (min-width: 768px) {
  .post-type-archive-faq .faq_wrap .tab_container .tab_item {
    width: 25%;
    margin: 0;
  }
}
@media (min-width: 1280px) {
  .post-type-archive-faq .faq_wrap .tab_container .tab_item {
    width: 15%;
    margin: 0 5%;
  }
}
.post-type-archive-faq .faq_wrap .tab_container .tab_item:hover {
  opacity: 0.75;
}
.post-type-archive-faq .faq_wrap .tab_container input[name=tab_item] {
  display: none;
}
.post-type-archive-faq .faq_wrap .tab_container .tab_content {
  display: none;
  padding: 1em 1em 0;
  clear: both;
  overflow: hidden;
}
.post-type-archive-faq .faq_wrap .tab_container .tab_content .tab_content_description {
  margin-bottom: 2rem;
}
.post-type-archive-faq .faq_wrap .tab_container .tab_content .tab_content_description h2 {
  padding: 1rem 0;
  font-size: 18px;
  border-bottom: #000000 solid 1px;
}
.post-type-archive-faq .faq_wrap .tab_container .tab_content .tab_content_description p {
  padding: 1rem 0;
  font-size: 14px;
}
.post-type-archive-faq .faq_wrap .tab_container #tab1:checked ~ #tab1_content,
.post-type-archive-faq .faq_wrap .tab_container #tab2:checked ~ #tab2_content,
.post-type-archive-faq .faq_wrap .tab_container #tab3:checked ~ #tab3_content,
.post-type-archive-faq .faq_wrap .tab_container #tab4:checked ~ #tab4_content {
  display: block;
}
.post-type-archive-faq .faq_wrap .tab_container input:checked + .tab_item {
  border-bottom: #000000 solid 2px;
}

.wp-pagenavi {
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  margin: 2rem 0;
}
.wp-pagenavi span,
.wp-pagenavi .pages {
  background: #ffffff;
  color: #474a4d;
  border: solid 1px #474a4d;
  padding: 5px 10px;
  margin: 2px;
}
.wp-pagenavi .current {
  background: #474a4d;
  color: #ffffff;
  border: solid 1px #474a4d;
  padding: 5px 10px;
}
.wp-pagenavi .page {
  color: #474a4d;
  border: solid 1px #474a4d;
  padding: 5px 10px;
  margin: 2px;
}
.wp-pagenavi .previouspostslink {
  color: #474a4d;
  border: solid 1px #474a4d;
  padding: 5px 10px;
}
.wp-pagenavi .nextpostslink {
  color: #474a4d;
  border: solid 1px #474a4d;
  padding: 5px 10px;
}

/*アコーディオン*/
input[type=submit], input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
         appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus, input[type=button]::focus {
  outline-offset: -2px;
}

/* ======================
   Footer Map削除版
====================== */
.footer-container {
  position: relative;
  z-index: 1;
}

.footer-container .foot-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  color: #5d5d5d;
  background:rgb(239 239 239);
  position: relative;
}

.footer-container .foot-wrap .shop_info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 40px;
  padding-bottom: 40px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .footer-container .foot-wrap .shop_info {
    padding-top: 20px;
    padding-bottom: 20px;
    flex-direction: column;
  }
}

.footer-container .foot-wrap .shop_info .info {
  width: 48%;
  padding: 0 20px;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .footer-container .foot-wrap .shop_info .info {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
  }
}

.footer-container .foot-wrap .shop_info .info .logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .footer-container .foot-wrap .shop_info .info .logo {
    justify-content: center;
    flex-direction: column;
  }
}

.footer-container .foot-wrap .shop_info .info .site-logo {
  margin-right: 20px;
}

.footer-container .foot-wrap .shop_info .info .site-logo img {
  width: 120px;
}

@media (max-width: 767px) {
  .footer-container .foot-wrap .shop_info .info .site-logo {
    margin-right: 0;
    margin-bottom: 15px;
  }
}

.footer-container .foot-wrap .shop_info .info .sns {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.footer-container .foot-wrap .shop_info .info .sns li {
  margin-right: 15px;
  margin-left: 0;
  margin-bottom: 10px;
}

.footer-container .foot-wrap .shop_info .info .sns li a img {
  width: 24px;
}

.footer-container .foot-wrap .shop_info .info .sns li.insta-item {
  width: 120px;
  text-align: center;
  margin-right: 10px;
}

.footer-container .foot-wrap .shop_info .info .sns li.insta-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
}

.footer-container .foot-wrap .shop_info .info .sns li.insta-item .insta-label {
  display: block;
  font-size: 10px;
  color: #eeeeee;
  margin-top: 5px;
  line-height: 1.3;
  text-align: center;
  word-break: break-all;
}

@media (max-width: 767px) {
    .footer-container .foot-wrap .shop_info .info .sns {
        justify-content: center;
    }
    .footer-container .foot-wrap .shop_info .info .sns li.insta-item {
        width: 100px;
    }
}

.footer-container .foot-wrap .shop_info .info .to-contact {
  margin-top: 20px;
}

.footer-container .foot-wrap .shop_info .info .link-btn {
  display: inline-block;
  text-align: center;
  padding: 18px 30px;
  line-height: 1;
  color: #000000;
  background: #90a9e9;
  border: solid 1px #000000;
  box-sizing: border-box;
  letter-spacing: 0.05em;
  min-width: 260px;
  font-size: 16px;
  text-decoration: none;
  transition: all 0.3s;
}

.footer-container .foot-wrap .shop_info .info .link-btn:hover {
  color: #474a4d;
  background: #ffffff;
  border: solid 1px #ffffff;
}

.footer-container .foot-wrap .shop_info .address {
  width: 48%;
  padding: 0 20px;
  box-sizing: border-box;
  border-bottom: none;
  position: static;
}

@media (max-width: 767px) {
  .footer-container .foot-wrap .shop_info .address {
    width: 100%;
  }
}

.footer-container .foot-wrap .shop_info .address tr {
  border-top: solid 1px rgb(43 42 42 / 46%);
  border-bottom: solid 1px rgb(43 42 42 / 46%);
  font-size: 15px;
}

.footer-container .foot-wrap .shop_info .address tr th {
  font-weight: normal;
  text-align: left;
  padding: 15px 10px;
  width: 20%;
  vertical-align: top;
}

.footer-container .foot-wrap .shop_info .address tr td {
  padding: 15px 10px;
}

.footer-container .foot-wrap .shop_info .address tr td a {
  color: #4d4d4d;
  text-decoration: none;
}

address {
  font-size: 12px;
  text-align: center;
  padding: 15px;
  background: rgb(243 235 230);
  color: #7f7f7f;
  width: 100%;
  display: block;
  font-style: normal;
}

/*========= ページトップ ===============*/
#page-top {
  position: fixed;
  z-index: 2;
  opacity: 0;
  right: 0;
  bottom: 0;
  transform: translateY(100);
}
#page-top.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}
#page-top.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}
@-webkit-keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background:rgb(180 180 181);
  width: 55px;
  height: 55px;
  color:#eeeeee;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 10px;
  line-height: 1.5;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  #page-top a {
    width: 48px;
    height: 48px;
  }
}
@media (min-width: 1280px) {
  #page-top a {
    width: 69px;
    height: 69px;
  }
}

/* ==========================================================================
   Helper classes
========================================================================== */
.clear {
  clear: both;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
}
.clearfix:before {
  content: " ";
  display: table;
}
.clearfix:after {
  content: " ";
  display: table;
  clear: both;
}

.hidden {
  display: none !important;
  visibility: hidden;
}

.left {
  float: left;
}

.right {
  float: right;
}

.align-right {
  text-align: right;
}

.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

/*# sourceMappingURL=style.css.map */

/* FAQタブ */
.post-type-archive-faq .tab_container {
  display: flex;
  flex-wrap: wrap;
}
.post-type-archive-faq .faq_wrap .tab_container .tab_item {
  flex: 1;
  text-align: center;
  line-height: 1.4;
  padding: 10px 5px;
  font-size: 13px;
  width: auto;
  margin: 0;
  float: none;
  cursor: pointer;
  border-bottom: 2px solid #E0DBDB;
}
@media (min-width: 768px) {
  .post-type-archive-faq .faq_wrap .tab_container .tab_item {
    font-size: 15px;
    padding: 12px 10px;
  }
  .tab-br { display: none; }
}
@media (max-width: 767px) {
  .tab-br { display: inline; }
}

/* フロントページのボタン背景色 */
.home .link-btn {
  background: #f1f1f1;
}

/* フッター SP: ロゴ左・SNSアイコン右の横並び */
@media (max-width: 767px) {
  .footer-container .foot-wrap .shop_info .info .logo {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
  }
  .footer-container .foot-wrap .shop_info .info .site-logo {
    margin-right: 20px;
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .footer-container .foot-wrap .shop_info .info .site-logo img {
    width: 80px;
  }
  .footer-container .foot-wrap .shop_info .info .sns {
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
  }
  .footer-container .foot-wrap .shop_info .info .sns li {
    margin-right: 12px;
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
	.post-type-archive-faq .faq_wrap .tab_container .tab_item {
		padding: 0 5px;
		width: 25%;
		line-height: 1.2;
		margin: 0 0;
	}
}
/* ==========================================================================
   Contact Form 7 決定版スタイル（上書き用）
========================================================================== */

.wpcf7 label {
    display: block;
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.5;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 15px !important;
    border: 1px solid #ccc !important;
    border-radius: 12px !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 16px;
    margin-top: 5px;
    margin-bottom: 20px;
    background-color: #ffffff;
    transition: all 0.3s;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
    border-color: #90a9e9 !important;
    outline: none;
    box-shadow: 0 0 8px rgba(144, 169, 233, 0.3);
}

.wpcf7-form-control-wrap[class*="person-name"]::before,
.wpcf7-form-control-wrap[class*="person-kana"]::before,
.wpcf7-form-control-wrap[class*="your-email"]::before,
.wpcf7-form-control-wrap[class*="checkbox-753"]::before,
.wpcf7-form-control-wrap[class*="textarea-108"]::before {
    content: "必須";
    background-color: #ff0000;
    color: #ffffff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 8px;
    font-weight: normal;
}

.wpcf7-checkbox {
    display: block;
    margin-top: 10px;
    margin-bottom: 20px;
}

.wpcf7-submit {
    display: block;
    min-width: 240px;
    margin: 60px auto !important;
    padding: 18px 30px !important;
    font-size: 14px;
    letter-spacing: 0.15em;
    color: #fff !important;
    background: #bdbdbd !important;
    border: none !important;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(26, 35, 126, 0.2);
    -webkit-appearance: none;
}

.wpcf7-submit:hover {
    background: #bdbdbd !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(26, 35, 126, 0.3);
}

/* ポートフォリオ スライダー（slick未初期化でも横スクロールで機能する） */
#style .portfolio-slider-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-bottom: 1rem;
}
#style .portfolio-slider-wrap::-webkit-scrollbar {
    display: none;
}
#style .portfolio-slider {
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    padding: 0;
}
#style .portfolio-slider .style_item {
    flex: 0 0 200px;
    width: 200px;
    padding: 0 5px;
    scroll-snap-align: start;
}
@media (min-width: 768px) {
    #style .portfolio-slider .style_item {
        flex: 0 0 230px;
        width: 230px;
    }
}
#style .portfolio-slider .style_item a {
    display: block;
    overflow: hidden;
}
#style .portfolio-slider .style_item a img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
#style .portfolio-slider .style_item a:hover img {
    transform: scale(1.04);
}
#style .portfolio-slider.slick-initialized {
    display: block;
}
#style .portfolio-slider.slick-initialized .style_item {
    flex: none;
    width: auto;
}

/* フロントページ FLOW セクション */
#flow .flow_list {
    max-width: 640px;
    margin: 2rem auto 3rem;
    list-style: none;
    padding: 0;
}
#flow .flow_list .flow_item {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-bottom: 2.5rem;
}
#flow .flow_list .flow_item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 24px;
    top: 40px;
    width: 1px;
    height: calc(100% - 20px);
    background-color: #ffffff;
}
#flow .flow_list .flow_item .flow_step {
    font-family: "optima", serif;
    font-size: 26px;
    color: #2b2a2a;
    line-height: 1;
    min-width: 50px;
    flex-shrink: 0;
    letter-spacing: 0.05em;
}
#flow .flow_list .flow_item .flow_txt {
    padding-left: 1.5rem;
}
#flow .flow_list .flow_item .flow_txt h3 {
    font-size: 15px;
    font-weight: normal;
    line-height: 1.6;
    margin-bottom: 0.4rem;
    letter-spacing: 0.05em;
}
#flow .flow_list .flow_item .flow_txt p {
    font-size: 13px;
    line-height: 2;
    color: #272727;
}

/* フローアイテム内の写真スロット */
.service-flow .flow_item {
    flex-direction: column;
}
.service-flow .flow_item .flow_item_header {
    display: flex;
    align-items: flex-start;
    width: 100%;
}
.service-flow .flow_item .flow_img {
    margin: 1rem 0 0 calc(62px + 1.5rem);
    max-width: 480px;
}
.service-flow .flow_item .flow_img img {
    width: 100%;
    height: auto;
    display: block;
}

/* サロンページ ご利用の流れ */
.service-flow .flow-section {
    padding: 3rem 0 4rem;
}
.service-flow .flow-section .inner {
    max-width: 760px;
}
.service-flow .flow-category-title {
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 0.15em;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #474a4d;
    line-height: 1.6;
}
@media (min-width: 768px) {
    .service-flow .flow-category-title {
        font-size: 24px;
    }
}
.service-flow .flow-category-title span {
    display: block;
    font-size: 12px;
    color: #adadad;
    letter-spacing: 0.1em;
    margin-top: 0.5rem;
}
.service-flow .flow-service-title {
    font-size:27px;
    font-weight: normal;
    letter-spacing: 0.1em;
    margin: 3.5rem 0 2rem;
    padding-left: 1rem;
    border-left: 3px solid #adadad;
    line-height: 1.6;
}
@media (min-width: 768px) {
    .service-flow .flow-service-title {
        font-size: 27px;
    }
}
.service-flow .flow_list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
}
.service-flow .flow_list .flow_item {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-bottom: 2.5rem;
    flex-direction: column;
}
.service-flow .flow_list .flow_item .flow_item_header {
    display: flex;
    align-items: flex-start;
    width: 100%;
}
.service-flow .flow_list .flow_item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 30px;
    top: 50px;
    width: 1px;
    height: calc(100% - 30px);
    background-color: #ffffff00;
}
.service-flow .flow_list .flow_item .flow_step {
    font-family: "optima", serif;
    font-size: 11px;
    color: #2b2a2a;
    letter-spacing: 0.08em;
    line-height: 1.4;
    min-width: 62px;
    flex-shrink: 0;
    border: 1px solid #2b2a2a;
    padding: 6px 4px;
    text-align: center;
}
.service-flow .flow_list .flow_item .flow_txt {
    padding-left: 1.5rem;
    padding-top: 4px;
}
.service-flow .flow_list .flow_item .flow_txt h3,
.service-flow .flow_list .flow_item .flow_txt h4 {
    font-size: 15px;
    font-weight: normal;
    line-height: 1.6;
    margin-bottom: 0.4rem;
    letter-spacing: 0.05em;
}
@media (min-width: 768px) {
    .service-flow .flow_list .flow_item .flow_txt h3,
    .service-flow .flow_list .flow_item .flow_txt h4 {
        font-size: 16px;
    }
}
.service-flow .flow_list .flow_item .flow_txt p {
    font-size: 13px;
    line-height: 2;
    color: #555;
}

/* ========================================
   メニュー・料金ページ
======================================== */
#price-page {
    padding: 3rem 0 5rem;
}
#price-page .inner {
    max-width: 900px;
}
.price-notes {
    font-size: 12px;
    color: #777;
    line-height: 2.2;
    margin-bottom: 4rem;
    padding: 1.2rem 1.5rem;
    border: 1px solid #E0DBDB;
}
.price-section {
    margin-bottom: 5rem;
    padding-bottom: 5rem;
    border-bottom: 1px solid #E0DBDB;
}
.price-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.price-section-title {
    font-size: 22px;
    font-weight: normal;
    letter-spacing: 0.2em;
    margin-bottom: 2.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #474a4d;
    line-height: 1.6;
}
@media (min-width: 768px) {
    .price-section-title {
        font-size: 26px;
    }
}
.price-section-title span {
    display: block;
    font-size: 12px;
    color: #adadad;
    letter-spacing: 0.1em;
    margin-top: 0.4rem;
}
.price-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
    margin-bottom: 2rem;
}
@media (min-width: 600px) {
    .price-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 900px) {
    .price-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.price-grid--single {
    grid-template-columns: 1fr;
    max-width: 320px;
}
.price-card {
    padding: 1.8rem 1.5rem;
    border: 1px solid #E0DBDB;
    background: #fff;
}
.price-card-name {
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 0.1em;
    margin-bottom: 0rem;
}
.price-card-desc {
    font-size: 12px;
    color: #adadad;
    line-height: 1.9;
    margin-bottom: 1.2rem;
    min-height: 3.8em;
}
.price-card-amount {
    font-family: "optima", serif;
    font-size: 30px;
    letter-spacing: 0.03em;
    line-height: 1;
    margin-bottom: 1.2rem;
}
.price-card-amount small {
    font-size: 14px;
    letter-spacing: 0.05em;
    color: #555;
}
.price-card-detail {
    font-size: 12px;
    color: #555;
    line-height: 2;
    border-top: 1px solid #E0DBDB;
    padding-top: 1rem;
}
.price-card-detail p {
    margin: 0;
    line-height: 2;
}
.price-options {
    font-size: 12px;
    color: #555;
    line-height: 2.2;
    padding: 1.5rem 2rem;
    background: rgb(243 235 230);
}
.price-options + .price-options {
    margin-top: 1.5rem;
}
.price-options-title {
    font-family: "optima", serif;
    font-size: 13px;
    letter-spacing: 0.15em;
    margin-bottom: 0.4rem;
    color: #474a4d;
}
.price-options ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.price-note {
    font-size: 12px;
    color: #adadad;
    line-height: 2;
}

/* キャンセルポリシー */
.cancel-policy {
    margin-top: 2.5rem;
    padding: 2rem 2rem 1.5rem;
    border: 1px solid #E0DBDB;
}
.cancel-policy-title {
    font-size: 13px;
    font-weight: normal;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
    color: #474a4d;
}
.cancel-policy-sub {
    font-size: 12px;
    color: #adadad;
    letter-spacing: 0.1em;
    margin-bottom: 0rem;
    margin-top: -0.4rem;
}
.cancel-policy ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cancel-policy ul li {
    font-size: 12px;
    color: #555;
    line-height: 2;
    padding-left: 1em;
    text-indent: -1em;
}
.cancel-policy ul li::before {
    content: '・';
    color: #adadad;
}

/* ===== フッター 新レイアウト ===== */

/* 古いfoot-wrapのflexを上書き */
.footer-container .foot-wrap {
    display: block !important;
    background: rgb(243 235 230);
    padding: 0;
}

/* PC: 左半分（ロゴ・SNS・ボタン）＋右半分（Address/Tel/Hour） */
.footer-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    align-items: stretch;
    column-gap: 60px;
}

/* 左カラム（ロゴ・SNS・ボタン） */
.footer-col--info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 36px;
    padding: 80px 64px;
    box-sizing: border-box;
    background: rgb(243 235 230);
}

.footer-logo-sns {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: nowrap;
}

.footer-logo {
    margin: 0;
    flex-shrink: 0;
}

.footer-logo img {
    width: 80px;
    display: block;
}

.footer-sns {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-sns li {
    display: flex;
    align-items: center;
    margin: 0;
}

.footer-sns li a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-sns li a img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    display: block;
    filter: brightness(0.55);
}

.footer-cta-btn {
    display: inline-block;
    text-align: center;
    padding: 20px 48px;
    background: #ffffff;
    color: #474a4d;
    font-size: 15px;
    letter-spacing: 0.08em;
    line-height: 1;
    border: 1px solid #474a4d;
    text-decoration: none;
    transition: all 0.3s;
    white-space: nowrap;
    align-self: flex-start;
}

.footer-cta-btn:hover {
    background: #474a4d;
    color: #ffffff;
    border-color: #474a4d;
    opacity: 1;
}

/* 右カラム：Address / Tel / Hour */
.footer-col--table {
    display: flex;
    align-items: center;
    padding: 48px 40px;
    box-sizing: border-box;
}

.footer-info-table {
    width: 100%;
    border-collapse: collapse;
}

.footer-info-table tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.footer-info-table tr:first-child {
    border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.footer-info-table th {
    font-weight: normal;
    text-align: left;
    vertical-align: top;
    padding: 22px 20px 22px 0;
    width: 90px;
    font-size: 13px;
    letter-spacing: 0.05em;
    color: #333333;
    white-space: nowrap;
}

.footer-info-table td {
    padding: 22px 0;
    font-size: 13px;
    line-height: 1.8;
    color: #555555;
}

/* SP: 縦積み */
@media (max-width: 767px) {
    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-col--info {
        padding: 28px 20px 20px;
        gap: 20px;
    }

    .footer-logo img {
        width: 64px;
    }

    .footer-cta-btn {
        margin-top: 20px;
        margin-bottom: 0;
        display: block;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .footer-col--table {
        padding: 8px 20px 28px;
    }

    .footer-info-table th {
        width: 64px;
        font-size: 12px;
        padding: 16px 16px 16px 0;
    }

    .footer-info-table td {
        font-size: 12px;
        padding: 16px 0;
    }
}
.post-type-archive-faq .faq_wrap .tab_container .tab_content {
  ...
  width: 100%;
  flex: 1 1 100%;
}
/* ==========================================================================
   uochan カラー設定（ホワイト・アイボリー × グリーン）2026-11
   色を変えたいときは、この :root の値だけ変更すればOK
========================================================================== */
:root{
  --r-base:#FEFBF6;      /* 全体の背景（明るいベージュ） */
  --r-beige:#F4F1E6;     /* セクション背景（ベージュ） */
  --r-pale:#EEF2E8;      /* パステルオレンジ（薄） */
  --r-orange:#C5D3B8;    /* パステルオレンジ（アクセント） */
  --r-deep:#9DB18E;      /* 濃いめオレンジ（ボタン・強調） */
  --r-text:#5E544A;      /* 文字色（ブラウン） */
  --r-sub:#9A9086;       /* サブ文字色 */
  --r-line:#E6E2D6;      /* 罫線 */
}
body{color:var(--r-text);background:var(--r-base);}
a{color:var(--r-text);}
.main-container,.header-container header .site-header,.header-container header .site-header.transform,
body.has-transparent-header.header-scrolled .header-container header .site-header{background:var(--r-base);}
.bg-beige,address,.price-options,.footer-container .foot-wrap,.footer-col--info{background:var(--r-beige)!important;}
.bg-gray{background:var(--r-pale);}
.header-container header .site-header .menu-box .navToggle span{border-bottom-color:var(--r-text);}
.header-container header .site-header .globalMenu{background:rgba(90,70,54,.92);}
.header-container header .site-header .globalMenu ul li a::first-letter,
.header-container header .site-header .globalMenu ul li:hover a{color:var(--r-pale);}
.mv #header .mv_title{color:#fff;text-shadow:0 1px 12px rgba(60,40,25,.35);}
article section .title,article section .title::first-letter,#salon .title,#salon .title::first-letter{color:var(--r-text);}
article section .title::first-letter{color:var(--r-deep);}
article section .title .sub-title{color:var(--r-sub);}
article section .title::after,#trouble .title2:after,.page:not(.home) .concept #choice .title2::after{background-color:var(--r-orange)!important;}
.page:not(.home) .concept #choice .title2 span,#trouble .title2 span{color:var(--r-deep);}
/* ボタン */
.link-btn,.home .link-btn{color:#fff!important;background:var(--r-orange)!important;border:1px solid var(--r-orange)!important;border-radius:999px;transition:.3s;}
.link-btn:hover,.home .link-btn:hover{color:var(--r-deep)!important;background:#fff!important;border-color:var(--r-orange)!important;}
.footer-cta-btn{background:var(--r-deep);color:#fff;border:1px solid var(--r-deep);border-radius:999px;}
.footer-cta-btn:hover{background:#fff;color:var(--r-deep);border-color:var(--r-deep);}
/* 追従バナー（ご予約） */
.fixed-bnr .fixed-bnr-inner a{background:var(--r-deep)!important;color:#fff!important;border:none!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;line-height:1.3;white-space:nowrap;}
.fixed-bnr .fixed-bnr-inner a .white{color:#fff!important;display:block;font-size:.75em;}
/* FAQ・ブログ・その他 */
#faq .faq_list li{background:#fff;border-radius:12px;}
#faq .faq_list li .faq_ttl{border-bottom-color:var(--r-line);color:var(--r-deep);}
#blog .blog_list .blog_item .post-categories,#archive-blog .blog_list .blog_item .info .post-categories,#single-blog .post-categories{background:var(--r-orange);}
#staff .staff_list .img p::after,.post-type-archive-staff .staff_list .staff_img p::after{border-color:var(--r-orange);}
#flow .flow_list .flow_item .flow_step{color:var(--r-deep);}
#flow .flow_list .flow_item .flow_txt p{color:var(--r-text);}
.footer-info-table th{color:var(--r-text);}.footer-info-table td{color:var(--r-sub);}
#page-top a{background:var(--r-orange);color:#fff;}
.wp-pagenavi .current{background:var(--r-orange);border-color:var(--r-orange);}
.ac-filter-link{color:var(--r-sub);}.ac-filter-link:hover,.ac-filter-link.active{color:var(--r-deep);}
.ac-lightbox-overlay{background:rgba(251,246,240,.98);}

/* ===== relier メニューページ ===== */
.mv_title .mv_sub{display:block;font-size:.4em;letter-spacing:.2em;margin-top:.6em;}
.r-menu{padding:60px 0 100px;}
.r-menu .title{margin-bottom:40px;}
.r-menu__lead{max-width:760px;margin:0 auto 80px;text-align:center;line-height:2.2;}
.r-menu__genres,.r-menu__plans,.r-menu__options{margin-bottom:100px;}
.r-genre{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center;margin-bottom:80px;}
.r-genre.is-reverse .r-genre__txt{order:2;}
.r-genre__en{color:var(--r-orange);letter-spacing:.2em;font-size:13px;margin-bottom:8px;}
.r-genre__title{font-size:22px;font-weight:400;margin-bottom:20px;color:var(--r-text);}
.r-genre__desc{line-height:2.1;margin-bottom:28px;}
.r-genre__imgs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:12px;}
.r-genre__imgs img{width:100%;height:100%;object-fit:cover;border-radius:6px;aspect-ratio:4/3;display:block;}
.r-genre__imgs img:first-child{grid-column:1/3;aspect-ratio:16/9;}
.r-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;}
.r-plan{position:relative;background:#fff;border:1px solid var(--r-line);border-radius:16px;padding:36px 28px 32px;text-align:center;}
.r-plan.is-featured{border:2px solid var(--r-orange);box-shadow:0 10px 30px rgba(125,154,110,.15);}
.r-plan__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--r-orange);color:#fff;font-size:12px;padding:4px 16px;border-radius:999px;white-space:nowrap;}
.r-plan__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:18px;}
.r-plan__name{font-size:19px;font-weight:400;margin-bottom:6px;}
.r-plan__target{font-size:13px;color:var(--r-sub);margin-bottom:14px;}
.r-plan__price{font-size:30px;color:var(--r-deep);letter-spacing:.04em;margin-bottom:18px;}
.r-plan__spec{border-top:1px solid var(--r-line);margin:0;}
.r-plan__spec div{display:flex;justify-content:space-between;padding:10px 4px;border-bottom:1px solid var(--r-line);font-size:14px;}
.r-plan__spec dt{color:var(--r-sub);}.r-plan__spec dd{margin:0;}
.r-plan__detail{font-size:13px;line-height:1.9;margin-top:14px;text-align:left;}
.r-options{max-width:760px;margin:0 auto;background:var(--r-beige);border-radius:16px;padding:16px 32px;}
.r-options li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:16px 0;border-bottom:1px dashed var(--r-line);}
.r-options li:last-child{border-bottom:none;}
.r-options__price{color:var(--r-deep);}
.r-options__note{width:100%;font-size:12px;color:var(--r-sub);}
.r-menu__notes{max-width:760px;margin:0 auto 80px;border:1px solid var(--r-line);border-radius:16px;padding:28px 32px;}
.r-notes__title{font-size:17px;font-weight:400;margin-bottom:14px;}
.r-menu__notes li{position:relative;padding-left:1.2em;font-size:14px;line-height:1.9;}
.r-menu__notes li::before{content:"・";position:absolute;left:0;color:var(--r-orange);}
.r-menu__cta{text-align:center;background:var(--r-pale);border-radius:16px;padding:48px 24px;}
.r-menu__cta p{margin-bottom:20px;line-height:2;}
.r-menu__cta .footer-cta-btn{display:inline-block;padding:14px 40px;}
@media (max-width:767px){
 .r-genre{grid-template-columns:1fr;gap:24px;}
 .r-genre.is-reverse .r-genre__txt{order:0;}
 .r-menu__lead{text-align:left;margin-bottom:56px;}
 .r-options,.r-menu__notes{padding:12px 20px;}
}
/* ===== relier ご利用の流れ ===== */
#flow .flow_list .flow_item .flow_txt h3{color:var(--r-text);}

/* ===== relier ポートフォリオ ===== */
.r-pf-head{padding:150px 0 10px;text-align:center;}
.r-pf-lead{margin-top:-10px;color:var(--r-sub);}
@media (max-width:767px){.r-pf-head{padding-top:110px;}}
.r-faq-all{max-width:860px;margin:0 auto;}
.r-faq-all .faq_ttl{font-size:16px;font-weight:400;}

/* ロゴ */
.site-logo img{height:auto!important;width:88px!important;max-width:none;}
.footer-logo img{height:auto!important;max-width:200px;}
@media (max-width:767px){.site-logo img{width:60px!important;}}

.r-menu .title.align-center .sub-title,.r-pf-head .title .sub-title{display:block;text-align:center;}
.r-plan__target{line-height:1.7;min-height:3.4em;}
.r-plan__badge{line-height:1.6;}


/* パステルオレンジ調整：ボタン文字は読みやすいブラウンに */
.link-btn,.home .link-btn{color:var(--r-text)!important;}
.link-btn:hover,.home .link-btn:hover{color:var(--r-text)!important;}
.footer-cta-btn,.fixed-bnr .fixed-bnr-inner a,.fixed-bnr .fixed-bnr-inner a .white{color:var(--r-text)!important;}
.footer-cta-btn{background:var(--r-orange);border-color:var(--r-orange);}
.footer-cta-btn:hover{background:#fff;color:var(--r-text)!important;border-color:var(--r-orange);}
.fixed-bnr .fixed-bnr-inner a{background:var(--r-orange)!important;}
.r-plan__badge,#page-top a{color:var(--r-text);}
.r-plan__price,.r-options__price,.r-genre__en,#faq .faq_list li .faq_ttl,#flow .flow_list .flow_item .flow_step{color:#7D9A6E;}

/* ===== 下層ページのヘッダー写真（600:175）＋オーバーレイ ===== */
body:not(.home) .mv{padding-top:90px;}
body:not(.home) .mv #header,body:not(.home) .mv .main-img{height:auto!important;min-height:0!important;}
body:not(.home) .mv .main-img{position:relative;aspect-ratio:600/175;overflow:hidden;}
body:not(.home) .mv .main-img picture{display:block;height:100%;}
body:not(.home) .mv .main-img img{width:100%;height:100%!important;object-fit:cover;display:block;}
body:not(.home) .mv .main-img::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(60,42,30,.28),rgba(60,42,30,.38));z-index:1;pointer-events:none;}
body:not(.home) .mv .mv_title{z-index:2;text-shadow:0 2px 12px rgba(40,25,15,.45);}
@media (max-width:767px){
 body:not(.home) .mv{padding-top:60px;}
 body:not(.home) .mv .main-img{aspect-ratio:auto;height:140px!important;}
 body:not(.home) .mv .mv_title{font-size:26px;}
}
/* ===== FVのタイトルを読みやすく ===== */
.home .mv .slider-top li{position:relative;}
.home .mv .slider-top li::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(40,25,15,.38) 0%,rgba(40,25,15,.14) 55%,rgba(40,25,15,0) 80%);pointer-events:none;}
.home .mv #header .mv_title{color:#fff;z-index:3;text-shadow:0 0 2px rgba(40,25,15,.55),0 2px 10px rgba(40,25,15,.6),0 0 30px rgba(40,25,15,.45);letter-spacing:.12em;}
/* ===== 予約ボタンを丸く ===== */
.fixed-bnr .fixed-bnr-inner a{border-radius:999px!important;padding:10px 26px!important;height:auto!important;margin:12px 16px 0 0;box-shadow:0 4px 14px rgba(90,70,54,.12);}
@media (max-width:767px){.fixed-bnr .fixed-bnr-inner a{padding:8px 16px!important;margin:10px 8px 0 0;font-size:12px;}}

@media (max-width:767px){.fixed-bnr .fixed-bnr-inner a{margin:10px 16px 0 0!important;padding:7px 14px!important;}}

/* ===== スマホの横ずれ防止 ===== */
html,body{overflow-x:clip;max-width:100%;}
@supports not (overflow:clip){html,body{overflow-x:hidden;}}
@media (max-width:767px){
 .footer-main{grid-template-columns:minmax(0,1fr)!important;}
 .footer-col--info,.footer-col--table{min-width:0;max-width:100%;}
 .footer-cta-btn{white-space:normal;max-width:100%;text-align:center;box-sizing:border-box;}
 .footer-info-table{width:100%;table-layout:fixed;}
 .footer-info-table td{word-break:break-word;}
}

/* メニューを開いたとき、FVのタイトルより前面に */
.header-container,.header-container header,.header-container header .site-header{z-index:1000!important;}
.header-container header .site-header .globalMenu{z-index:1001!important;}
.header-container header .site-header .menu-box{z-index:1002!important;position:relative;}
.fixed-bnr{position:relative;z-index:999;}

/* メニューを開いている間はFVタイトル等を隠す */
.header-container header .site-header .globalMenu{background:rgba(90,70,54,.97)!important;}
body:has(.globalMenu.active) .mv_title,
body:has(.globalMenu.active) .scrolldown,
body:has(.globalMenu.active) .fixed-bnr{opacity:0!important;visibility:hidden!important;transition:opacity .3s;}

/* FV下の余白を詰める */
.home .mv{margin-bottom:0!important;}
.home .mv .slider-top{margin-bottom:0!important;}
.home .mv .slick-dots{bottom:16px!important;}
.home .mv .slick-dots li button:before{color:#fff;opacity:.6;}
.home .mv .slick-dots li.slick-active button:before{opacity:1;}
@media (min-width:768px){.home #message{padding-top:48px!important;}}
.home .mv #header .scrolldown{display:none;}
/* 予約ボタン：常に表示＋メニューボタンと高さをそろえる */
.fixed-bnr{position:relative;z-index:1003!important;display:block!important;}
.fixed-bnr .fixed-bnr-inner{position:fixed!important;top:7px!important;right:66px!important;z-index:1003!important;opacity:1!important;visibility:visible!important;transform:none!important;}
.fixed-bnr .fixed-bnr-inner a{margin:0!important;height:44px!important;width:auto!important;padding:0 26px!important;box-sizing:border-box;}
@media (max-width:767px){
 .fixed-bnr .fixed-bnr-inner{top:9px!important;right:60px!important;}
 .fixed-bnr .fixed-bnr-inner a{height:40px!important;padding:0 14px!important;margin:0!important;}
}
#blog .blog_list .blog_empty{list-style:none;width:100%;text-align:center;color:var(--r-sub);padding:20px 0;}

/* h1のサブテキスト（地域・業種・店名） */
.home .mv #header .mv_title .mv_seo{display:block!important;width:100%;font-size:14px!important;letter-spacing:.16em;margin:2.2em 0 0!important;line-height:1.6;font-weight:400;}
.mv_title .mv_sub{display:block;font-size:12px!important;letter-spacing:.12em;margin-top:.9em;font-weight:400;line-height:1.6;}
.r-pf-head .title .sub-title{font-size:12px;line-height:1.7;}
@media (max-width:767px){.home .mv #header .mv_title .mv_seo{font-size:11px!important;letter-spacing:.06em;margin-top:1.8em!important;padding:0 16px;box-sizing:border-box;}.mv_title .mv_sub{font-size:10px!important;letter-spacing:.05em;padding:0 12px;}}
#single-blog .blog_title{font-size:22px;font-weight:400;}

/* トップの写真の上ではロゴを白く */
.home.has-transparent-header:not(.header-scrolled) .site-logo img{filter:drop-shadow(0 2px 8px rgba(40,35,25,.25));}
.home.has-transparent-header:not(.header-scrolled) .navToggle span{border-bottom-color:#fff!important;}

/* menu PC layout fix */
.r-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1000px;margin:0 auto;}
.r-plan{display:flex;flex-direction:column;padding:40px 26px 30px;}
.r-plan p{line-height:1.7;}
.r-plan__name{line-height:1.5;}
.r-plan__target{min-height:1.7em;}
.r-plan__price{font-size:30px;line-height:1.3!important;white-space:nowrap;margin:6px 0 22px;}
.r-plan__tax{font-size:13px;margin-left:4px;letter-spacing:0;vertical-align:.1em;}
.r-plan__spec div{align-items:center;gap:12px;}
.r-plan__spec dt{white-space:nowrap;flex-shrink:0;}
.r-plan__spec dd{text-align:right;line-height:1.6;}
.r-plan__detail{margin-top:auto;padding-top:16px;}
.r-options li{align-items:baseline;}
.r-options li p,.r-options li span{line-height:1.8;}
@media (max-width:1024px) and (min-width:768px){.r-plans{grid-template-columns:1fr 1fr;}}
@media (max-width:767px){.r-plans{grid-template-columns:1fr;}.r-plan__price{font-size:28px;}}

@media (min-width:1025px){.r-plans{max-width:none;margin-left:calc(50% - min(550px,50vw - 40px));margin-right:calc(50% - min(550px,50vw - 40px));}}
.r-plan__spec div{font-size:13.5px;}

/* staff photo fallback = logo */
.staff_img p.is-logo,#staff .img p.is-logo{background:var(--r-beige);border-radius:12px;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;margin:0;}
.staff_img p.is-logo img,#staff .img p.is-logo img{width:56%!important;max-width:240px;height:auto!important;object-fit:contain;aspect-ratio:auto!important;}

/* uochan logo badge */
.header-container header .site-header .site-logo{padding-top:8px;}
@media (max-width:767px){.header-container header .site-header .site-logo{padding-top:6px;}}

/* plans: center last row */
.r-plans{display:flex!important;flex-wrap:wrap;justify-content:center;}
.r-plan{flex:0 1 calc((100% - 48px)/3);min-width:0;}
@media (max-width:1024px) and (min-width:768px){.r-plan{flex-basis:calc((100% - 24px)/2);}}
@media (max-width:767px){.r-plan{flex-basis:100%;}}

/* 2026-11 修正：メニュー✕の色 */
.header-container header .site-header .menu-box .navToggle.active span,
.home.has-transparent-header .navToggle.active span{border-bottom-color:#fff!important;}
/* OPTION：プラン同様のカード表示 */
.r-opts{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:1000px;margin:0 auto;}
.r-opt{position:relative;flex:0 1 calc((100% - 60px)/4);min-width:0;background:#fff;border:1px solid var(--r-line);border-radius:16px;padding:30px 16px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;}
.r-opt__label{display:inline-block;font-size:11px;letter-spacing:.14em;line-height:1.6;color:var(--r-text);background:var(--r-orange);border-radius:999px;padding:2px 14px;margin-bottom:14px;}
.r-opt__name{font-size:16px;font-weight:400;line-height:1.6;margin:0 0 6px;}
.r-opt__note{font-size:12px;line-height:1.7;color:var(--r-sub);margin:0 0 8px;}
.r-opt__price{font-size:24px;line-height:1.3!important;color:#7D9A6E;letter-spacing:.04em;white-space:nowrap;margin:auto 0 0;padding-top:12px;}
@media (max-width:1024px){.r-opt{flex-basis:calc((100% - 40px)/3);}}
@media (max-width:767px){.r-opts{gap:12px;}.r-opt{flex-basis:calc((100% - 12px)/2);padding:24px 10px 18px;border-radius:12px;}.r-opt__name{font-size:14px;}.r-opt__note{font-size:11px;}.r-opt__price{font-size:20px;}}
/* ポートフォリオ：Instagramボタン */
.r-pf-insta{text-align:center;padding:40px 20px 70px;}
.r-pf-insta__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;box-sizing:border-box;padding:16px 36px;border-radius:999px;background:var(--r-orange);color:var(--r-text)!important;font-size:15px;line-height:1.5;letter-spacing:.06em;text-decoration:none;border:1px solid var(--r-orange);transition:.3s;}
.r-pf-insta__btn:hover{background:#fff;opacity:1;}
.r-pf-insta__btn img{width:20px;height:20px;flex-shrink:0;}
@media (max-width:767px){.r-pf-insta{padding:30px 16px 50px;}.r-pf-insta__btn{font-size:14px;padding:14px 22px;width:100%;}}
@media (max-width:767px){.r-menu__cta .footer-cta-btn{padding:14px 20px;font-size:14px;letter-spacing:.04em;white-space:nowrap;}}


/* ===== LINEおすすめメニュー診断（MESSAGE内） ===== */
#message .u-diag{display:flex;align-items:center;gap:40px;max-width:960px;margin:64px auto 0;padding:36px 40px;background:var(--r-pale);border-radius:20px;box-sizing:border-box}
#message .u-diag__img{flex:0 0 240px;margin:0}
#message .u-diag__img img{width:100%;height:auto;aspect-ratio:560/700;object-fit:cover;object-position:center bottom;border-radius:16px;display:block;box-shadow:none}
#message .u-diag__body{flex:1;min-width:0}
#message .u-diag__en{font-size:13px;letter-spacing:.2em;color:var(--r-deep);margin:0 0 6px;font-weight:600;line-height:1.4}
#message .u-diag__ttl{font-size:clamp(20px,2.4vw,26px);line-height:1.5;margin:0 0 14px;color:var(--r-text);word-break:auto-phrase;text-wrap:balance}
#message .u-diag__txt{font-size:15px;line-height:1.8;margin:0 0 18px;color:var(--r-text);word-break:auto-phrase;text-wrap:pretty}
#message .u-diag__steps{display:flex;gap:10px;list-style:none;margin:0 0 22px;padding:0}
#message .u-diag__steps li{flex:1;background:#fff;border-radius:12px;padding:10px 8px;text-align:center;font-size:13px;line-height:1.5;color:var(--r-text);word-break:auto-phrase;list-style:none}
#message .u-diag__steps li span{display:block;font-size:11px;letter-spacing:.12em;color:var(--r-deep);font-weight:600;margin-bottom:2px}
#message .u-diag__cta{margin:0 0 10px}
#message .u-diag__btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 32px;background:#06C755;color:#fff!important;border-radius:10px;font-weight:700;font-size:16px;line-height:1.4;text-decoration:none;box-shadow:0 4px 12px rgba(6,199,85,.22);transition:opacity .2s;box-sizing:border-box}
#message .u-diag__btn:hover{opacity:.85}
#message .u-diag__note{font-size:12px;color:var(--r-sub);margin:0;line-height:1.6}
@media (max-width:767px){
#message .u-diag{flex-direction:column;gap:20px;padding:26px 18px;margin-top:44px;border-radius:16px}
#message .u-diag__img{flex:none;width:60%;max-width:230px}
#message .u-diag__body{text-align:center;width:100%}
#message .u-diag__steps{flex-direction:column;gap:6px}
#message .u-diag__steps li{display:flex;align-items:center;justify-content:center;gap:10px}
#message .u-diag__steps li span{display:inline;margin:0}
#message .u-diag__btn{width:100%;padding:0 16px;font-size:15px}
}

/* 代表写真：角丸＋装飾枠も角丸 */
#staff .img img{border-radius:16px}
#staff .img p::after{border-radius:16px}
@media (max-width:767px){#staff .img p{margin-bottom:28px}}

/* オプション：価格非表示に合わせて中央揃え・改行調整 */
.r-opt{justify-content:center;padding-top:26px;padding-bottom:26px}
.r-opt__name{word-break:auto-phrase;text-wrap:balance}
.r-opt__note{word-break:auto-phrase;text-wrap:pretty;margin-bottom:0}

/* ポートフォリオ写真も角丸に */
.ac-portfolio-thumbnail{border-radius:12px;overflow:hidden}
.ac-portfolio-thumbnail img{border-radius:12px}

/* スタッフページの代表写真も角丸 */
.staff_img img{border-radius:16px}
.staff_img p::after{border-radius:16px}
#style img{border-radius:12px}


/* ===== 撮影風景動画（LINE診断の下） ===== */
#message .u-movie{max-width:960px;margin:40px auto 0;text-align:center}
#message .u-movie__en{font-size:13px;letter-spacing:.2em;color:var(--r-deep);margin:0 0 4px;font-weight:600;line-height:1.4}
#message .u-movie__ttl{font-size:clamp(19px,2.2vw,24px);line-height:1.5;margin:0 0 18px;color:var(--r-text)}
#message .u-movie__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:16px}
#message .u-movie__viewport::-webkit-scrollbar{display:none}
#message .u-movie__track{display:flex}
#message .u-movie__item{flex:0 0 100%;scroll-snap-align:center;box-sizing:border-box;padding:0 2px}
#message .u-movie__frame{position:relative;width:100%;max-width:760px;margin:0 auto;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#EEF2E8}
#message .u-movie__frame.is-short{max-width:340px;aspect-ratio:9/16}
#message .u-movie__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
#message .u-movie__cap{font-size:13px;color:var(--r-sub);margin:10px 0 0;line-height:1.6;word-break:auto-phrase}
#message .u-movie__nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px}
#message .u-movie__arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--r-line);background:#fff;cursor:pointer;position:relative;padding:0;transition:opacity .2s}
#message .u-movie__arrow::before{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;border-top:1.5px solid var(--r-text);border-right:1.5px solid var(--r-text);transform:translate(-65%,-50%) rotate(45deg)}
#message .u-movie__arrow.is-prev::before{transform:translate(-35%,-50%) rotate(-135deg)}
#message .u-movie__arrow:disabled{opacity:.35;cursor:default}
#message .u-movie__dots{display:flex;gap:8px}
#message .u-movie__dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--r-orange);cursor:pointer}
#message .u-movie__dot.is-active{background:var(--r-deep);width:20px;border-radius:999px}
@media (max-width:767px){#message .u-movie{margin-top:32px}#message .u-movie__frame,#message .u-movie__viewport{border-radius:12px}}

/* MESSAGE・特徴の写真も角丸 */
#message .message_wrap .img img,#trouble img{border-radius:16px}
#message .u-movie__track{align-items:center}
#message .u-movie__frame.is-short{max-width:260px}
@media (max-width:767px){#message .u-movie__frame.is-short{max-width:240px}}

/* STYLE：写真がまだないジャンル（COMING SOON） */
.r-genre__soon{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--r-pale);border:1px dashed var(--r-orange);border-radius:16px;padding:32px 16px;box-sizing:border-box;text-align:center}
.r-genre__soon-en{font-size:clamp(20px,2.6vw,28px);letter-spacing:.24em;color:var(--r-deep);margin:0;line-height:1.3}
.r-genre__soon-ja{font-size:13px;color:var(--r-sub);margin:0;line-height:1.6}
@media (max-width:767px){.r-genre__soon{min-height:180px;width:100%}}

/* オプション料金 */
.r-opt__price{font-size:20px;color:var(--r-deep);letter-spacing:.04em;margin:0 0 6px;}
