@charset "UTF-8";

/* ===================================
reset css
=================================== */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

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

a {
    text-decoration: none;
    color: #000;
}

/* ===================================
iosのボタンリセット
=================================== */
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    -webkit-box-sizing: border-box;
    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;
}

/* ===================================
input textarea reset
=================================== */
input,
textarea {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    max-width: 100%;
}

/* ===================================
common
=================================== */
body {
    background: #f7f3f0;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15px;
    letter-spacing: 0.15em;
    font-weight: 400;
    color: #68666c;
    overflow-x: hidden;
}

.serif {
    font-family: 'Noto Serif JP', serif;
}

a {
    color: inherit;
}

video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

img {
    width: 100%;
    height: 100%;
    display: block;
}

strong {
    font-weight: bold;
}

.sp,
.tb,
.l_tb,
.m_tb,
.l_sp,
.s_pc,
.s_sp,
.xs_sp,
.se {
    display: none;
}

.min_tb {
    display: block;
}

@media screen and (max-width: 1150px) {
    .s_pc {
        display: inline-block !important;
    }
}

@media screen and (max-width: 1024px) {
    .l_tb {
        display: inline-block !important;
    }
}

@media screen and (max-width: 950px) {
    .m_tb {
        display: inline-block !important;
    }
}

@media screen and (max-width: 767px) {
    .tb {
        display: inline-block !important;
    }
    .min_tb {
        display: none;
    }
}

@media screen and (max-width: 600px) {
    body {
        font-size: 14px;
    }
}

@media screen and (max-width: 500px) {
    .l_sp {
        display: inline-block !important;
    }
}
@media screen and (max-width: 450px) {
    .s_sp {
        display: inline-block !important;
    }
}

@media screen and (max-width: 400px) {
    .xs_sp {
        display: inline-block !important;
    }
}
@media screen and (max-width: 350px) {
    .se {
        display: inline-block !important;
    }
}

/* ===================================
header
=================================== */
#l-header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
    background: #f7f3f0;

}

body.fixed #l-header {
    z-index: 1;
}

.l-head_top .l-inner_l {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.c-head_logo {
    width: 200px;
    margin-left: 40px;
}

.c-head_logo a {
    display: block;
    transition: 0.5s;
}

.c-head_logo a:hover {
    opacity: 0.5;
}

/* right */
.c-head_right {
    display: flex;
    align-items: center;
    margin: 30px 0;
}

.c-bottombtn_sp {
    display: none;
}

/* メニュー一覧
======================　*/

.c-menu_nav {
    display: flex;
    justify-content: center;
    padding: 15px 20px;
    background: #f7f3f0;
}

.c-menu_nav li {
    position: relative;
}

.c-menu_nav li::before {
    content: "";
    width: 1px;
    height: 30px;
    position: absolute;
    top: 3px;
    left: 0;
}

.c-menu_nav li:nth-last-of-type(1)::after {
    content: "";
    width: 1px;
    height: 30px;
    position: absolute;
    top: 3px;
    right: 0;
}

.c-menu_nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    font-size: 14px;
    line-height: 1;
    font-weight: 400;
    transition: 0.5s;
}

/*
sns固定ボタン =============== */

.fixed_area {
    position: fixed;
    right: 40px;
    bottom: 215px;
}

.fixed_area .head_ico_box {
    flex-direction: column;
}

.fixed_area .head_ico_box .head_ico_item:nth-of-type(n+2) {
    margin: 11px 0 0 0;
}

@media screen and (max-width: 1024px) {
    .fixed_area {
    bottom: 100px;
    }
}
@media screen and (max-width: 767px) {

    .c-head_right .c-tel_box,
    .c-head_right .c-reserve_btn {
        display: none;
    }
    .fixed_area {
        bottom: 115px;
        right: 15px;
    }
}

@media screen and (max-width: 600px) {
    .c-head_right {
        margin: 0;
    }

    .c-head_logo {
        width: 220px;
    }
    .fixed_area {
        bottom: 180px;
    }
    .fixed_area .head_ico_box .head_ico_item {
        height: 27px;
        width: 27px;
    }
    .fixed_area .head_ico_box .head_ico_item:nth-of-type(n+2) {
        margin: 11px 0 0 0;
    }

    .sp-btnList {
        display: flex;
        font-size: 10px;
        width: 100%;
        height: 100%;
      }
      .sp-btnList > li {
        width: 20%;
        height: 100%;
        color: #fff;
        text-align: center;
      }
      .sp-btnList > li > a {
        display: block;
        width: 100%;
        height: 100%;
        background: url(../img/common/sp-ico_tel.png) no-repeat center top 15px/25px auto;
        padding-top: 49px;
      }
      .sp-btnList .tel {
        background-color: #fff;
        color: #de817e;
      }
      .sp-btnList .web {
        background-color: #de817e;
      }
      .sp-btnList .web a {
        background-image: url(../img/common/sp-ico_web.png);
        padding-top: 44px;
        line-height: 1.2;
      }
      .sp-btnList .line {
        background-color: #6ea768;
      }
      .sp-btnList .line a {
        background-image: url(../img/common/sp-ico_line.png);
        padding-top: 44px;
        line-height: 1.2;
      }
      .sp-btnList .shop {
        background-color: #68a0a7;
      }
      .sp-btnList .shop a {
        background-image: url(../img/common/sp-ico_shop.png);
      }
      .sp-btnList .sns {
        background-color: #666;
        position: relative;
      }
      .sp-btnList .sns span {
        background: url(../img/common/sp-ico.png) no-repeat center top 15px/25px auto;
        padding-top: 49px;
        display: block;
      }
      .sp-btnList .sns .sp-snslist {
        position: absolute;
        opacity: 0;
        visibility: hidden;
        top: -170px;
        top: -120px;
        transition: opacity 0.3s, top 0.3s;
        right: 50%;
        transform: translateX(50%);
        z-index: -1;
      }
      .sp-btnList .sns .sp-snslist li {
        margin-bottom: 15px;
      }
      .sp-btnList .sns .sp-snslist li a {
        background-color: #333;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 0 0 1px;
      }
      .sp-btnList .sns .sp-snslist li a img {
        width: 25px;
        height: auto;
      }
      .sp-btnList .sns.open span {
        background-image: url(../img/common/sp-ico_rev.png);
      }
      .sp-btnList .sns.open .sp-snslist {
        opacity: 1;
        visibility: visible;
        top: -270px;
      }
      /* 追記 */
      .sp-snslist a {
        background: #333 !important;
    }
    .sp-snslist .head_ico_item:nth-of-type(n+2){
        margin-left: 0 !important;
        margin-top: 15px;
    }

    .fixed_area .head_ico_box{
        display: none;
    }
}

/* バーガーメニュー */
body.open {
    overflow: hidden;
}

.c-menu_btn {
    width: 30px;
    height: 30px;
    position: relative;
    margin-left: 30px;
    margin-right: 45px;
    cursor: pointer;
    z-index: 300;
}
/* バーガーボタンの背景 */
.c-menu_btn:before {
    content: "";
    width: 180%;
    height: 167%;
    background-color: #9f887f;
    position: absolute;
    top: -10px;
    left: 0;
    transition: .5s;
}

.c-menu_btn .c-menu_line {
    width: 35px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 30%;
}


.c-menu_btn .c-menu_line:before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #fff;
    ;
    position: absolute;
    top: -6px;
    left: 0;
    transition: .5s;
}

.c-menu_btn .c-menu_line:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 6px;
    left: 0;
    transition: .5s;
}


body.open .c-menu_btn .c-menu_line{
    background: transparent;
    transition: .2s;
}
body.open .c-menu_btn .c-menu_line:after {
    transform: rotate(30deg);
    top: 0;
    transition: .5s;
}

body.open .c-menu_btn .c-menu_line:before {
    transform: rotate(-30deg);
    top: 0;
    transition: .5s;
}

/* バーガーボタン */
/* ヘッダーのボタンのみ薄茶色 */
#l-header .c-reserve_btn a {
    background: #9f887f;
}

/* オープン後復活 */
#l-header .c-reserve_btn a:hover {
    opacity: 0.5;
}

.c-reserve_btn a {
    font-size: 14px;
    background: #9f887f;
    display: flex;
    width: 165px;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-weight: 100;
    padding: 18px 8px;
    transition: 0.5s;
    position: relative;
}

.c-reserve_btn.ver00 a {
    background: #afa5a1 !important;
}

.c-reserve_btn.ver02 a {
    background: #826e66 !important;
}

.c-reserve_btn.ver03 a {
    background: #77655e !important;
}

.c-reserve_btn.ver04 a {
    background: #5e504b !important;
}


.c-reserve_btn a:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 8px 8px;
    border-color: transparent transparent #fff transparent;
    position: absolute;
    right: 5px;
    bottom: 5px;
}
/* オープン後復活 */
.c-reserve_btn a:hover {
    opacity: 0.7;
}

.c-reserve_btn a>span {
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
}

.c-tel_box a {
    display: block;
    transition: 0.5s;
}

.c-tel_box a:hover {
    opacity: 0.5;
}

/* telボタン */
.c-tel_box a .c-textarea {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 100;
    width: 135px;
    flex-wrap: wrap;
    margin-right: 45px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.c-num {
    display: flex;
    align-items: center;
}

.c-num span {
    width: 20px;
    margin-right: 10px;
}

/* メニュー内 */
.c-menu_area {
    display: none;
    position: fixed;
    overflow-y: scroll;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: #f7f3f0;
    z-index: 100;
}

.c-menu_area .c-menu_inner {
  overflow: auto;
  height: calc(100vh - 15px);
  width: 100%;
}

.c-menu_container {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 145px 0 150px;
}

.head_link_list,
.head_btn_list {
  height: 100%;
}

/* リンクメニュー */
.head_link_list {
  width: 60%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

.head_link_list ul {
  display: flex;
  flex-wrap: wrap;
}

.head_link_list ul li {
  font-size: 20px;
  letter-spacing: 0.3em;
  line-height: 2;
  width: 50%;
}

.head_link_list ul li a {
    position: relative;
    display: inline-block;
    transition: .3s;
}

.head_link_list ul li a:hover {
    opacity: 0.7;
}

.head_link_list ul li a:after {
    position: absolute;
    content: "→";
    right: -30px;
    color: #c8c7c5;
    font-size: 17px;
    top: 50%;
    transform: translate(0, -50%);
}

.head_link_list ul li:nth-of-type(n+3) {
  padding-top: 30px;
}

/* ボタンメニュー */
.head_btn_list {
  width: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.head_btn_box {
  width: 100%;
}
/* 共通コンテンツのカスタマイズ */
.head_btn_box .c-reserve_btn a {
  width: 100%;
  margin-bottom: 20px;
  height: 45px;
  min-width: 390px;
  box-sizing: border-box;
  padding: 40px 0;
}
.head_btn_container .contact_p {
  font-size: 35px;
  text-align: center;
}
.head_btn_list .contact_p_small{
  margin-top: 10px;
  text-align: center;
}
.head_btn_box .c-reserve_btn a span img {
  width: 26px;
  margin-right: 20px;
}
.head_btn_list .contact_p span img {
  width: 36px;
  display: inline-block;
  margin-right: 15px;
}

.head_ico_box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
}

.head_ico_box a {
    transition: .3s;
}
.head_ico_box a:hover {
   opacity: 0.7;
}
.head_ico_item {
  background: #333;
  padding: 10px;
  border-radius: 50%;
  height: 28px;
  width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.head_ico_item:nth-of-type(n+2) {
  margin-left: 25px;
}

.head_ico_item img {
  width: 20px;
  height: auto;
}
@media screen and (max-width: 1250px) {
  .c-menu_container {
    padding: 0 100px;
}
  .head_link_list ul li {
    font-size: 18px;
  }
  .head_btn_box .c-reserve_btn a {
    height: 36px;
    min-width: 325px;
  }
}


@media screen and (max-width: 1024px) {

    /* オープン後削除 */
/* .l-head_top .l-inner_l {
    padding: 10px 0;
} */
    .c-menu_nav a {
        width: 200px;
        font-size: 13px;
    }

    .c-tel_box a .c-textarea {
        font-size: 17px;
        margin-right: 20px;
    }

    .c-num span {
        width: 20px;
        margin-right: 5px;
    }

    .c-reserve_btn a {
        font-size: 13px;
        width: 130px;
    }

    .c-head_right {
        margin: 10px 20px 10px 25px;
    }

    .c-head_logo {
        width: 280px;
        margin-left: 20px;
    }

    .c-menu_btn {
        margin-left: 20px;
        margin-right: 20px;
    }
    /* burger menu */
    .c-menu_container {
      padding: 0 50px;
  }

  .head_btn_box .c-reserve_btn a {
    padding: 20px 0;
  }
}
@media screen and (max-width: 900px) {
   /* burger menu */
  .c-menu_container {
    flex-direction: column;
    padding: 80px 50px;
  }

  .head_link_list,
  .head_btn_list {
    height: auto;
    width: 85%;
  }
  .head_link_list {
    margin-bottom: 30px;
  }

  .head_link_list ul li {
    font-size: 17px;
  }

  .head_btn_container {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
    .l-head_top .l-inner_l {
        position: relative;
        height: 70px;
        /* オープン後削除 */
        /* padding: 0; */
    }

    .c-head_logo {
        margin: 0 auto;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: auto;
        width: 180px;
    }

    .c-head_right {
        position: absolute;
        top: 0;
        right: 14px;
        margin: 20px 0;
    }
   /* burger menu */
    .head_btn_list, .head_link_list {
      width: 100%;
  }
  .head_btn_container .contact_p {
    font-size: 32px !important;
  }
  .head_ico_box {
    margin-top: 15px;
  }
  .head_ico_item {
    height: 22px;
    width: 22px;
  }
}

@media screen and (max-width: 600px) {
    .l-head_top .l-inner_l {
        height: 60px;
    }

    .c-head_logo {
        width: 140px;
    }

    .c-menu_btn {
        width: 35px;
        margin-right: 10px;
    }
    .c-menu_btn:before {
        content: "";
        width: 130%;
        height: 150%;
        top: -11px;
    }
    .c-menu_btn .c-menu_line {
        width: 25px;
        top: 38%;
    }

     /* burger menu */
     .c-menu_area .c-menu_inner {
      height: auto;
    }
    .c-menu_container {
      padding: 35px;
      box-sizing: border-box;
    }

    .head_link_list ul {
      flex-direction: column;
      width: 100%;
    }

    .head_link_list ul li {
      font-size: 15px;
      width: 100%;
    }

    .head_link_list ul li:nth-of-type(n+2) {
      padding-top: 10px;
    }
    .head_btn_list {
      align-items: flex-start;
  }
    .head_btn_box .c-reserve_btn a {
      margin-bottom: 10px;
    }
}

@media screen and (max-width: 450px) {
    /* burger menu */
    .head_link_list {
      margin-bottom: 15px;
      }
    .head_link_list ul li:nth-of-type(n+2) {
      padding-top: 8px;
      }

    .head_btn_box .c-reserve_btn a {
      padding: 25px 0;
      margin-bottom: 8px;
      min-width: auto;
    }
    .head_btn_container .contact_p {
      font-size: 30px !important;
    }
    .head_btn_list .contact_p span img {
      width: 30px;
      display: inline-block;
      margin-right: 8px;
    }
}

/*
 【SP】画面下部ナビゲーション =============== */

.header_nav_sp {
    display: none;
  }

  .nav_menu li {
    width: 100%;
}


  @media screen and (max-width: 600px) {
    .header_nav_sp {
      display: block;
      position: fixed;
      z-index: 10;
      bottom: 0;
      width: 100%;
      padding-bottom: env(safe-area-inset-bottom);
      background-color: #000;
      -webkit-transition: 0.5s;
      transition: 0.5s;
      margin-right: -9px;
    }
    .nav_menu {
      width: 100%;
      display: flex;
  }
  /* オープン後削除！ */
  /* .nav_menu.sp-btnList:before {
    content: "10月11日(火)から予約受付開始！！";
    position: absolute;
    background: #9f887f;
    color: #fff;
    position: absolute;
    top: 28px;
    left: 3%;
    transform: rotate(-4deg);
    font-size: 14px;
    width: 90%;
    z-index: 10;
    text-align: center;
    padding: 10px 4px;
    letter-spacing: 0.15em;
} */

  .nav_menu li {
    font-size: 15px;
  }
    .header_nav_sp li a,
    li#sns{
        width: 100%;
        background-color: #fff;
        display: inline-block;
        color: #9f887f;
        padding: 20px 0;
        text-align: center;
        transition: 0.3s;
        letter-spacing: 0.01em;
    }
    .header_nav_sp li:nth-child(2) a {
      background-color: #9f887f;
      color: #fff;
    }
    li#sns {
        background-color: #333;
        color: #fff;
      }

    /* オープン後復活 */
    .header_nav_sp li a:hover{
      opacity: 0.7;
    }

    .header_nav_sp li a img, #sns img{
        width: 20px;
        margin: auto;
        margin-bottom: 9px;
    }
    .sp-snslist {
        display: flex;
        justify-content: center;
        flex-direction: column;
    }
    .sp-snslist a img {
        width: 70% !important;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto!important;
        text-align: center;
        height: 70%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate( -50%, -50%);
    }
    .sp-snslist a {
        background: #333 !important;
        width: 40px !important;
        height: 40px !important;
        box-sizing: border-box;
        position: relative;
    }
  }

  @media screen and (max-width: 400px) {

    .header_nav_sp li a {
      padding: 14px 0;
    }
    .header_nav_sp li a img {
        width: 36px;
        margin-bottom: 5px;
    }
    .nav_menu li {
        font-size: 14px;
      }
  }

  @media screen and (max-width: 350px) {
    .nav_menu li {
        font-size: 13px;
    }
    .header_nav_sp li a {
        padding: 15px 0;
    }
    .header_nav_sp li a img,
    #sns img {
        width: 30px;
        margin-bottom: 5px;
    }
    .header_nav_sp li a, li#sns {
        padding: 15px 0;
    }
}

/* SP画面下部ナビゲーション
===============================　*/


/* ===================================
footer
=================================== */

/*  contact (ご予約)
======================　*/
#f_contact {
    margin-bottom: 100px;
}

.contact {
    background: url(../img/common/contact_bg.png) no-repeat;
    background-size: cover;
    background-position: center center;
    width: 100%;
    padding: 72px 0 100px;
    box-sizing: border-box;
}

.contact_container {
    margin: 20px 0 0 0;
    text-align: center;
    box-sizing: border-box;
    /* padding-left: 45px; */
}

.contact_container p {
    line-height: 2.5;
}

.contact_p span img {
    width: 40px;
    display: inline-block;
    margin-right: 20px;
}

.contact_p {
    font-size: 50px;
    letter-spacing: 0.001em;
}

.contact_p a{
    transition: .3s;
}

.contact_p a:hover{
   opacity: 0.7;
}

.contact_p_small {
    line-height: 1;
    margin-top: -35px;
}

/* 予約ボタンbox */
.contact_reserve_box {
    display: flex;
    justify-content: center;
    justify-content: center;
    flex-direction: column;
    margin-top: 10px;
}

.contact_reserve_box .c-reserve_btn {
    width: calc(33.3% - 33px);
}

.contact_reserve_box .c-reserve_btn a {
    width: 100%;
    height: 45px;
}

.contact_reserve_box .c-reserve_btn:nth-of-type(n+2) {
    margin-top: 20px;
}

.contact_reserve_box .c-reserve_btn a span img {
    width: 25px;
    margin-right: 15px;
}

/* カレンダー追加に伴うレイアウト変更 */
.footer_c_wrap {
    display: flex;
    align-items: center;
    margin-top: 25px;
}
/* リボン */
.footer_c_wrap .ribbon_head span {
    padding: 1px 5px;
}

/* /リボン */

.footer_calendar,
.footer_contact {
    width: 50%;
}

.footer_c_wrap .simcal-calendar {
    margin-top: 30px;
}

.footer_contact {
    margin-left: 20px;
}

/* ボタン */
.contact_reserve_box .c-reserve_btn {
    width: 100%;
}
/* /カレンダー追加に伴うレイアウト変更 */



@media screen and (max-width: 1024px) {
    .contact_p {
        font-size: 40px;
    }

    .contact_reserve_box .c-reserve_btn a {
        height: 30px;
    }

    .footer_c_wrap .ribbon_head span {
        width: 200px;
    }
}

@media screen and (max-width: 1004px) {
    /* スマホのdots表示打ち消し */
    #f_contact .simcal-default-calendar .simcal-events, .simcal-event > .simcal-event-title {
        display: block !important;
    }

    #f_contact .simcal-event-details.simcal-tooltip-content, .simcal-events-dots {
        display: none !important;
    }

    #f_contact .simcal-event-title{
        font-size: 10px !important;
        letter-spacing: 0.05em;
    }
}

@media screen and (max-width: 767px) {
    .contact_container p {
        line-height: 2.3;
        font-size: 14px;
    }

    .contact_p {
        font-size: 40px !important;
    }

    .contact_p_small {
        margin-top: -22px;
        font-size: 12px;
    }

    .contact_reserve_box .c-reserve_btn:nth-of-type(n+2) {
        margin-top: 15px;
    }

    .contact_reserve_box .c-reserve_btn a {
        height:25px;
        font-size: 12px;
    }

    .contact_reserve_box .c-reserve_btn a span img {
        width: 19px;
        margin-right: 8px;
    }

    .footer_c_wrap {
        flex-direction: column-reverse;
        margin-top: 0;

    }

    .footer_calendar,
    .footer_contact {
        width: 100%;
    }

    .footer_contact {
        margin-left: 0;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 600px) {
    .contact_reserve_box {
        flex-direction: column;
    }

    .contact_reserve_box .c-reserve_btn {
        width: 80%;
        margin: auto;
    }

    .contact_reserve_box .c-reserve_btn a {
        width: auto;
    }

    .contact_reserve_box .c-reserve_btn:nth-of-type(n+2) {
        margin-left: 0;
        margin: 15px auto 0;
    }
    .footer_c_wrap .ribbon_head span {
        padding: 0px 5px;
    }
}

@media screen and (max-width: 450px) {
    .contact_container p {
        line-height: 2;
        font-size: 13px;
    }

    .contact_p {
        font-size: 34px !important;
    }

    .contact_p span img {
        width: 26px;
        margin-right: 7px;
    }

    .contact_p_small {
        margin-top: -15px;
    }

    .contact_reserve_box .c-reserve_btn {
        width: 100%;
    }

    .footer_c_wrap .ribbon_head span:before {
        border-width: 12px 13px 12px 0;
    }
    .footer_c_wrap .ribbon_head span:after {
        border-width: 12px 0 12px 13px;
    }
}

/*  access (アクセス)
======================　*/
#f_access {
    margin-bottom: 100px;
}

.access_container {
    display: flex;
}

/* 左側 */
.access_map img {
    width: 600px;
    height: auto;
}

/* 右側 */
.access .sec_head h2 {
    margin: 0;
    min-width: 400px;
    max-width: 390px;
}

.access_item_right {
    margin-left: 70px;
}

.access_txt {
    margin-top: 100px;
}

.access_tx01 {
    font-size: 20px;
    letter-spacing: 0.2em;
    margin-bottom: 50px;
}

.access_tx02 {
    margin: 20px 0;
    line-height: 2;
}

.map_link a p {
    letter-spacing: 0.1em;
    color: #7a7a7a;
    display: inline-block;
    transition: .3s;
}
.map_link a p:hover{
   opacity: 0.7;
}

.map_link a span img {
    width: 20px;
    display: inline-block;
    margin-left: 15px;
}

@media screen and (min-width: 1650px) {
    .access_map img {
        width: 43vw !important;
    }
}

@media screen and (max-width: 1200px) {
    .access_map img{
        width: 500px;
    }
}

@media screen and (max-width: 1024px) {
    .access_map img {
        width: 400px;
    }

    .access_item_right {
        margin-left: 40px;
    }

    .access .sec_head h2 {
        width: 80%;
        min-width: auto;
    }

    .access_txt {
        margin-top: 40px;
    }

    .access_tx01 {
        font-size: 18px;
    }

    .access_tx02 {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .access_map img {
        width: 300px;
    }

    .access_item_right {
        margin-left: 20px;
    }

    .access .sec_head h2 {
        width: 60%;
    }

    .access_txt {
        margin-top: 25px;
    }

    .access_tx01 {
        font-size: 17px;
        margin-bottom: 25px;
        line-height: 1.3;
        letter-spacing: 0.1em;
    }

    .access_tx02 {
        margin: 15px 0;
        font-size: 13px;
    }
}

@media screen and (max-width: 600px) {
    .access_container {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
    }

    .access .sec_head h2 {
        width: 60%;
        margin: 0 auto;
    }

    .access_txt {
        width: 93%;
        margin: 35px auto 0;
    }

    .access_item_left {
        margin-top: 30px;
    }

    .access_map img {
        width: 85vw;
    }
}

/*  footer_施術メニュー
======================　*/
#f_menu {
    background-color: #3d3d3d;
}

/* 施術メニュー */
#f_menu .menu_cat_container {
    background: none !important;
    color: #fff;
}

/* カテゴリー */
#f_menu .menu_item h3:before {
    background-color: #fff;
}

/* コスメボタン */
#f_menu .cosme_btn a span:after {
    content: "";
    background: url(../img/top/ds_cosme_yajirushi_white.png) no-repeat;
    background-size: contain;
}

#f_menu .cosme_btn p:before,
#f_menu .cosme_btn p:after {
    background: #fff;
}

#f_menu .cosme_btn a {
    background-color: transparent;
    color: #fff;
}

#f_menu .cosme_btn a:before {
    content: none;
}

/* footer_bottom
======================　*/
.f_bottom {
    /*background-color: #333;
    color: #fff;*/
    padding: 55px 105px 45px;
}

.f_link_top {
    padding-bottom: 55px;
    margin-bottom: 55px;
    border-bottom: 1px solid #333333;
}

.f_link_top ul {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, auto);
    column-gap: 30px;
    row-gap: 20px;
}

/*.f_link_top li:nth-of-type(n+2) {
    margin-left: 15px;
}*/
.f_link_top li a{
    transition: .3s;
}
.f_link_top li a:hover{
    opacity: 0.7;
}


.f_link_bottom {
    display: flex;
    justify-content: space-between;
    padding-bottom: 90px;
}
.f_link_bottom a{
    transition: .3s;
}

.f_link_bottom a:hover{
    opacity: 0.7;
}

.cr {
    font-size: 12px;
}

.menu_item h3 {
    pointer-events: none;
}

@media screen and (max-width: 1370px) {
    .f_bottom {
        font-size: 14px;
        padding: 55px 30px 45px;
    }
}

@media screen and (max-width: 1200px) {
    .f_bottom {
        font-size: 13px;
        padding: 55px 10px 45px;
    }

    /*.f_link_top li:nth-of-type(n+2) {
        margin-left: 10px;
    }*/
}

@media screen and (max-width: 1024px) {
    .f_link_top {
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .f_link_top ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .f_link_top ul li {
        width: 20%;
        line-height: 1.8;
        text-align: center;
    }

    .f_link_top li:nth-of-type(n+2) {
        margin-left: 0;
    }
}

@media screen and (max-width: 850px) {
    .f_link_top ul {
        display: flex;
        justify-content: flex-start;
    }

    .f_link_top ul li {
        width: 25%;
    }
}

@media screen and (max-width: 767px) {
    .f_link_top ul li {
        width: 33.3%;
    }
}

@media screen and (max-width: 600px) {
    .f_bottom {
        padding: 40px 0px 35px;
        font-size: 12px;
    }

    .f_link_top ul li {
        width: 50%;
        text-align: left;
    }
    #f_menu .menu_item ul {
        display: none;
    }
    .menu_item h3 {
        pointer-events: inherit;
    }
    .f_link_top li:nth-of-type(n+3) {
        margin-top: 10px;
    }
}

.plus{
    display: none;
}
@media screen and (max-width: 450px) {
    .plus{
        display: inline-block !important;
    }

    .plus {
        position: absolute;
        right: 0px;
        bottom: 0;
        height: 100%;
        /* transform: translateY(50%); */
      }

      .plus:before {
        display: block;
        content: "";
        background-color: #fff;
        position: absolute;
        width: 10px;
        height: 2px;
        bottom: 50%;
        right: 0;
        transform: translate(50%, 50%);
        transition: 0.5s;
      }
      .plus:after {
        display: block;
        content: "";
        position: absolute;
        width: 10px;
        height: 2px;
        bottom: 50%;
        right: 0;
        background-color: #fff;
        transform: translate(50%, 50%) rotate(90deg);
        transition: .5s;
      }



      /* #f_menu .menu_item h3.open .plus:before,
      #f_menu .menu_item h3.open .plus:after {
        width: 2px;
        height: 10px;
      } */

      #f_menu .menu_item h3.open .plus:before {
        background-color: #fff;
      }
      #f_menu .menu_item h3.open .plus:after {
        background-color: #fff;
        transform: translate(50%, 50%);
        transition: .5s;
      }
}

.form-box .open-area,.form-box .open-area2{display: none;margin-left:20px;}
.bifurcation-area{display:flex;margin-bottom:20px;}
.form-box .bland{    width: 100%;
    margin: 15px 0 42px -20px;
    max-width: 500px;}

.insta_img{
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	width:1000px;
	margin:60px auto 0;
}
.insta_img .insta_item{
	width:19%;
	height:auto;
	margin-right:1%;
}
.insta_img div img{
	width:100%;
	height:auto;
}
.insta_img .acc{
	margin-top:10px;
}
@media screen and (max-width: 1000px) {
	.insta_img{
		width:100%;
}
	.insta_img .insta_item{
		width:33%;
		height:auto;
}
}
@media screen and (max-width: 450px) {
	.insta_img div{
		width:46%;
		height:auto;
}
}
/* ===================================
大カテゴリ
=================================== */
/* 中カテゴリ
==============================　*/
/* 小カテゴリ、コメント */
