@charset "utf-8";

/*
16px基準文字サイズ
8px	  0.5rem
10px	0.625rem
11px	0.6875rem
12px	0.750rem
13px	0.8125rem
14px  0.875rem
15px	0.9375rem
16px	1rem
18px	1.125rem
20px	1.25rem
21px  1.3125rem
22px	1.375rem
24px	1.5rem
28px  1.75rem
30px  
32px	2rem
36px	2.25rem 
38px	2.375rem 
39px	 2.4375rem
40px	 2.5rem
*/
/*
Layout（ページを構成する要素に対して使用するクラス）・・・「l-」
Component（複数のページで再利用できる要素に対して使用するクラス）・・・「c-」
Project（ページ単位で使用するクラス）・・・「p-」
Utility（強制的にスタイルを当てたりする調整用のクラス）・・・「u-」
*/

/* ================================================
   RESET
================================================ */
html, body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td {
margin: 0;
padding: 0;
}
h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: normal;
}
address, caption, cite, code, dfn, th, var {
font-style: normal;
font-weight: normal;
}
caption, th {
text-align: left;
}
ol, ul {
list-style: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
img, abbr, acronym, fieldset {
border: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
img {
max-width: 100%;
height: auto;
vertical-align: top;
}
a {
display: block; 
text-decoration: none;
outline: none;
}

a[href^="tel:"]{
display:inline;
}

/* ================================================
   BASIC
================================================ */
html {
	scroll-behavior: smooth;
}

@media (max-width: 1400px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 0.9375rem;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
/*html {
font-size:62.5%;
}
*/
body {
font-size:1rem;
line-height: 1.6;
font-family:  'Noto Serif JP', serif;
font-weight: 500;
color: #000;
padding: 0px;
margin: 0px;
-webkit-text-size-adjust:100%;
letter-spacing:0.05em;
overflow:hidden;
overflow-y:scroll;
overflow-x:hidden;
-webkit-backface-visibility: hidden;
-webkit-font-smoothing: antialiased;
}

a {
color:#000;
-webkit-transition: all .4s;
transition: all .4s;
text-decoration:none;
}
a:hover {
opacity: 0.7;
-webkit-transition: all .4s;
transition: all .4s;
text-decoration:none;

}
@media screen and (min-width: 768px) {
   a[href^="tel:"] {
       pointer-events: none;
       display:inline;
   }
}

/* WRAPPER
------------------------------------------------ */
#wrapper {}
#wrapper img {
max-width:100%;
height:auto;
}

/* HEADER
------------------------------------------------ */
#header {
width: 100%;
height: 110px;
position: relative;
}
.l-header_inr {
position: relative;
margin: 0 auto;
display: flex;
justify-content: end;
align-items: center;
}
.l-logo {
width: 12rem;
min-width: 150px;
position: absolute;
left: 2rem;
top: 3rem;
z-index: 2;
}

.l-header_main {
display: flex;
justify-content:flex-start;
height: 110px;
}
.l-header_nav {
display: flex;
justify-content: flex-end;
align-items: center;
}
.l-header_nav li {

}
.l-header_nav a {
padding: 0.5rem 1rem;
text-align: center;
margin: 0 auto;
font-size: 1rem;
display: flex;
align-items: center;
}
.l-header_nav a span {

}
.l-header_nav a p {
line-height:1.2;
}
/*
._nav_res1 {
background: #5f759e;
color:#fff;
}
._nav_res2 {
background: #175587;
color:#fff;
}
._nav_res3 {
background: #063c68;
color:#fff;
}
*/
.l-header_main a {
   position: relative;
}
.l-header_contact {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   gap: 1.5rem;
   margin: 0 2rem;
}
.l-header_contact a{
display: flex;
}
.l-header_link_insta {
width: 2.5rem;
min-width: 29px;
max-width: 29px;
}

.l-gnav {
display: flex;
align-items: baseline;
justify-content:space-around;
}
.l-gnav_item:first-child {
   margin-left: 0;
}
.l-gnav_item {
   margin: 0 1.2rem;
}
.l-gnav_item a {
font-size: 1rem;
line-height: 1.25vw;
padding: 0.7291666667vw 0.2083333333vw;
}

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

   .l-logo {
      min-width: 90px;
      margin: 0 1rem;
      width: 6rem;
      position: relative;
      left: 0rem;
      top: 0rem;
  }
  .l-gnav_item a {
   padding: 0.8rem;
   line-height: 1.3;
  }
  .l-gnav {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   background: #ddc041;
  }
  .l-gnav li a {
   color: #fff;
  }
  .l-gnav li {
   width: auto;
   text-align: center;
  }
  .l-header_inr_nav_sub {
   display: none;
   margin: 0 auto;
  }
  #header {
   height: 70px;
   }
   .l-header_inr {
   max-height: 70px;
   line-height: unset;
   justify-content: space-between;
   }
   .l-header_nav {
   display:none;
   }
   .l-header_nav a {
    padding: 0 1rem;
    font-size: 0.937rem;
   }
   .l-header_link_insta {
    width: 2rem;
    min-width: 32px;
   }
   .l-header_contact a {
    line-height: auto;
   }
   .l-header_contact {
    gap: 1rem;
    margin: 0 1rem;
    position: absolute;
    right: 5rem;
    top: 0;
    bottom: 0;
   }
   .l-header_link_tel {
      display: none;
   }
  /*
  .l-header_nav a span {
  display:block;
  }
  .l-header_nav li {
  width:33.33%;
  }
  .l-header_nav li a {
  text-align:center;
  padding:1.5rem 1rem;
  display: block;
  }
  .l-header_nav {
  width:100%;
  }
  .l-header_nav li a span {
  display:inline;
  }
  */
}
@media screen and (max-width: 640px) {
   .l-gnav_item a {
      font-size: 3.2vw;
      line-height: 1.2;
      padding: 0.8rem 0;
   }
   .l-gnav_item span {
      display: block;
   }
   .l-header_nav a {
    padding: 0 0.6rem;
    font-size: 0.8rem;
   }

}


/* VISUAL
------------------------------------------------ */
.p-mv {
   background: url(images/mv_bg.jpg) no-repeat center center;
   background-size: cover;
   height: 70vh;
   position: relative;
}

.p-mv_inr {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
height: fit-content;
}

.p-mv_txt {
font-size: 2.5rem;
text-align: center;
margin: 1rem auto 0;
color: #fff;
}
.p-mv_txt span {
   display: block;
}

.p-mv_txt_block{
   display: block;
}

.p-mv_txt_big {
   font-size: 4rem;
   line-height: 1;
}

.p-hero_txt {
text-align: center;
padding: 4rem 0 0;
}
.p-hero_txt p {
   text-align: center;
   font-size: 1.1rem;
   margin: 0.5rem auto;
}
.p-hero_txt h2 {
color:#5e759e;
margin-bottom: 1rem;
font-size: 2rem;
font-weight: 600;
}
@media (max-width: 1280px) {
   .p-mv {
   height: 60vw;
   }
}
@media screen and (max-width: 768px) {
   .p-mv_txt {
      font-size: 2.5vw;
   }
   .p-mv_txt_big {
      font-size: 5vw;
   }
   .p-mv_pic {
      width: 11rem;
      text-align: center;
      margin: 0 auto;
   }
   .p-hero_txt {
      padding: 4rem 20px 0;
  }
  .p-hero_txt h2 {
   font-size: 1.75rem;
  }
  .p-mv {
   height: 75vw;
   }
}
@media screen and (max-width: 640px) {
   .p-mv_pic {
   width: 7rem;
   }
   .p-mv_txt {
      font-size: 4vw;
  }
  .p-hero_txt h2 {
   font-size: 1.5rem;
   }
   .p-hero_txt p {
      font-size: 1rem;
      margin: 0.8rem auto;
   }
}

/* Float Button
------------------------------------------------ */
.p-float_btn_pos {
   display: none;
   position: fixed;
   bottom: 0;
   width: 100%;
   z-index: 10;
}
.p-float_btn {
   display: flex;
}
.p-float_btn li {
   width: 50%;
}
.p-float_btn_line {
   border-radius: 10px 10px 0 0;
background: #06c755;
color: #fff;
text-align: center;
margin: 0 auto;
padding:0.5rem 0.5rem;
font-size: 1rem;
}
.p-float_btn_tel {
border-radius: 10px 10px 0 0;
background: #cbaf33;
color: #fff;
text-align: center;
margin: 0 auto;
padding: 0.5rem 0.5rem;
font-size: 1rem;
}
.p-float_btn a {
   position: relative;
   display:block;
}
.p-float_btn a:after {
position: absolute;
top: 50%;
right: 1.5rem;
display: block;
content: '';
width: 0.7rem;
height: 0.7rem;
margin-top: -5px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
   .p-float_btn_pos {
   display: block;
   }
}

/* CONTENTS
------------------------------------------------ */
.l-contents {
margin: 8rem auto;
}
.l-contents-inner {
margin: 0 auto;
max-width: 1200px;
padding: 0 1rem;
}
.l-page_main {
margin: 4rem 0;
}
.l-page_main_ttl {
font-size: 1.5rem;
margin-bottom:2rem;
border-bottom:1px solid #ddd;
padding:1rem 0;
}
.l-page_head_pic {
margin-top:2rem;
}

@media screen and (max-width: 768px) {
  .l-contents {
  margin: 4rem auto;
  }
  .l-page_main_ttl {
    font-size: 1.215rem;
  }
}

/* FOOTER
------------------------------------------------ */
.l-footer {
margin-top: 5rem;
background: #5e759e;
}
.l-footer_inr {
position: relative;
margin: 0 auto;
padding: 6rem 1rem;
max-width: 1200px;
width: calc(100% - 30px);
color: #fff;
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 3rem;

}

.l-footer_logo {
   width: 14rem;
}
.l-footer_logo_sub {
   max-width: 300px;
   width: 90%;
   margin:0 0 1rem 0;
}
.l-footer_add {
font-size: 1rem;

}
.l-footer_tel {
   font-size: 1rem;
}
.l-footer_mail {
   font-size: 1rem;
   margin:0.5rem 0;
}
.l-copy {
   font-size: 1rem;
   margin-top: 3rem;
   text-align: right;
}
.l-footer_list {}
.l-footer_list_item {
   padding: 0.2rem 0;
}
.l-footer_list_item a {
color:#fff;
display:inline;
}

.l-footer_privacy a {
color:#fff;
margin-top:2rem;
}


@media (max-width: 768px) {
  .l-footer_logo {
   margin: 0 auto 2rem;
   }
   .l-footer_inr {
      display: block;
      text-align: center;
   }
   .l-copy {
   font-size: 1rem;
   margin-top: 3rem;
   text-align: center;
   }
}


/* PAGETOP */

/* ================================================
   コンテンツページ
================================================ */

/* TOP
------------------------------------------------ */
.p-top-section {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.p-top-section_inr {
   max-width: calc(1000px - 30px);
   margin: 0 auto;
}
.p-top-section_ttl {
font-size: 1.75rem;
text-align: center;
margin-bottom: 2rem;
color: #5e759e;
font-weight: 600;
}
.p-top-section_ttl_lead {
   text-align: center;
   font-size: 1.125rem;
   margin-bottom: 3rem;
}
.p-top-section_head {
   position: relative;
   padding: 17rem 3rem;
   margin: 8rem auto 3rem;
}
.p-top-section_ttl_pic {
   display: block;
   line-height: 1;
   width: 12rem;
   text-align: center;
   margin: 0 auto;
}
.p-top-section_txt {
    text-align: center;
    margin: 0 0 4rem;
}
.p-top-section_txt_item {
       line-height: 2;
}
.p-top-resinArt .p-top-head_main {
   background: url(images/top_mv_resinart.jpg) no-repeat center center;
   background-size: cover;
   max-width: calc(1200px - 6rem);
}
.p-top-macrame .p-top-head_main {
   background: url(images/top_mv_macrame.jpg) no-repeat center center;
   background-size: cover;
   max-width: calc(1200px - 6rem);
}
.p-top-bar .p-top-head_main {
   background: url(images/top_mv_bar.jpg) no-repeat center center;
   background-size: cover;
   max-width: calc(1200px - 6rem);
}
.p-top-resinUv .p-top-head_main {
   background: url(images/top_mv_uv.jpg) no-repeat center center;
   background-size: cover;
   max-width: calc(1200px - 6rem);
}
.p-top-head_main_ttl {
   position: absolute;
   right: 5rem;
   top:0;
   bottom:0;
   margin: auto;
   width: 15rem;
   height: fit-content;
   filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
}
.p-top-head_main_ttl_wh {
filter: drop-shadow(0 0 5px #aaa) !important;
}
.p-top-head_main_ttl_sub {
   left: 7rem !important;
   right: unset;
}

.p-top-section__price{
    background: #f1f3f8;
    padding: 3rem;
    margin-bottom: 3rem;
}
.p-top-section__price_block {
   display: flex;
   justify-content: space-between;
   gap: 3rem;
}
.p-top-section__price_pic {
   width: 45%;
}
.p-top-section__price_main {
width: 50%;
}
.p-top-section__price_ttl {
   font-size: 1.215rem;
   font-weight: bold;
   color: #cbaf33;
   margin-bottom: 1rem;
}
.p-top-section__price_table {
   width: 100%;
}
.p-top-section__price_table tr {
   border-bottom: 1px solid #e0e4eb;
    display: flex;
    justify-content: space-between;
}
.p-top-section__price_table tr th {
padding: 0.8rem 0;
font-weight: bold;
}
.p-top-section__price_table tr td {
padding: 0.8rem 0;
}
.p-top-section__price_point {
   font-size: 0.9rem;
   margin-top: 1rem;
}


@media screen and (max-width: 768px) {
   .p-top-section_ttl {
   font-size: 1.5rem;
   }
   .p-top-section_head {
   padding: 14rem 3rem;
   }
   .p-top-section_txt {
    text-align: left;
    margin: 0 0 4rem;
   }
   .p-top-section_txt_item br {
      display: none;
   }


}
@media (max-width: 660px) {

   .p-top-section__price_block {
   display: block;
   }
   .p-top-section__price_pic {
   width: auto;
   margin-bottom: 2rem;
   }
   .p-top-section__price_main {
   width: auto;
   }
   .p-top-section__price {
    padding: 2rem 1.5rem;
    margin-bottom: 2rem;
   }

.p-top-head_main_ttl {
      left: 0 !important;
      right: 0 !important;
}
.p-top-head_main_ttl_sub {
      left: 0 !important;
      right: 0 !important;
}

}
@media screen and (max-width: 640px) {
   .p-top-section_head {
      padding: 8rem 2rem;
      margin: 6rem auto 3rem;
   }
   .p-top-head_main_ttl {
      width: 9rem;
      left: 0 !important;
      right: 0 !important;
   }
   .p-top-section_ttl {
      font-size: 1.25rem;
      }
      .p-top-head_main_ttl_sub {
      width: 9rem;
      left: 0 !important;
      right: 0 !important;
      }
}

/*TOPICS*/
.p-top_topics_ttl {
   font-size:2rem ;
   color: #5e759e;
   font-weight: bold;
   text-align: center;
   margin: 0 auto 2rem;
}
.p-top_topics {
max-width: 900px;
margin: 8rem auto;
padding: 0 1rem;
}
.p-top_topics_list {
   margin-bottom: 3rem;
}
.p-top_topics_list_item_sublist {
display: flex;
justify-content:start;
align-items: center;
gap: 4rem;
}
.p-top_topics_list_item {
padding: 1.5rem 0.5rem ;
}
.p-top_topics_list_items {
border-bottom: 1px solid #ddd;
}
.p-top_topics_list_item_sublist_data {
color: #5e759e;
font-weight: 500;
}

@media screen and (max-width: 768px) {
   .p-top_topics_list_item_sublist {
   display: block;
   }
   .p-top_topics {
   margin:3rem auto 5rem;
   }
   .p-top_topics_ttl {
    font-size: 1.5rem;
    margin: 0 auto ;
   }
}

/*ART*/
.p-top_about {
   background: url(images/top_about_bg.jpg) no-repeat center center;
   background-size: cover;
   padding: 6rem 1rem;
}
.p-top_about_txt {
   text-align: center;
   line-height: 2.5;
   font-size: 1.125rem;
}
.p-contents__inr {
 max-width: 1200px;  
 margin: 0 auto;
}
.p-contents__inr_wide {
 max-width: 100%;  
}
@media screen and (max-width: 768px) {
   .p-top_about_txt {
   font-size: 0.9rem;
   }
}

/*Price*/
.p-top-feature_list {
}
.p-top-price_list li {
margin-bottom: 2rem;   
background: #eff1f5;
padding: 3rem;
}
.p-top-price_list_wrap {
display: flex;
justify-content: flex-start;
gap: 4rem;
}
.p-top-price_list_ttl {
font-size: 1.75rem;
margin-bottom: 1rem;
color: #cbaf33;
font-weight: 600;
}
.p-top-price_list_icn {
   width:10%;
   max-width: 75px;
   text-align: center;
}
.p-top-price_list_icn_num {
color: #cbaf33;
font-weight: 600;
font-size: 2.5rem;
line-height: 1;
}
.p-top-price_list_description {
   font-size:1rem;
   width:80%;
}
.p-top-price_list_description_attention {
   margin-top: 1rem;
}
.p-top-price_list_description_attention li {
   font-size: 0.9375rem;
   padding: 0;
   margin: 0;
}
.p-top-price_list_description_list {
   padding: 2rem 1rem;
   margin-top: 2rem;
   border: 1px solid #cbaf33;
   display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.p-top-price_list_description_list li {
   padding:0;
   margin: 0;
}
.p-top-price_table {
   border-top: 1px solid #ddd;
width: 100%;
margin: 2rem 0 4rem 0;
}
.p-top-price_table tr {
   border-bottom: 1px solid #ddd;
}
.p-top-price_table tr th {
   padding: 1rem 0.5rem;
   color: #5e759e;
   font-weight: bold;
   width: 30%;
}
.p-top-price_table tr td {
padding: 1rem 0.5rem;
}
.p-top-price_table_list_one {
line-height: 1.8;
}
.p-top-price_table_list_one dt {
   color: #cbaf33;
}
.p-top-price_table_list {
display: flex;
gap: 1rem;
}
.p-top-price_table_list dt {
color: #cbaf33;
width: 8rem;
}

@media screen and (max-width: 768px) {
   .p-top-price_list_ttl {
      font-size: 1.4rem;
      text-align: center;
   }
   .p-top-price_list_description_list {
      display: block; 
   }
   .p-top-price_table_list {
      display: block;
   }
   .p-top-price_list_wrap {
      display: block;
   }
   .p-top-price_list_icn {
      width: auto;
      text-align: center;
      margin: 0 auto;
   }
   .p-top-price_list_description {
      width: auto;
  }
  .p-top-price_list li {
   padding: 2rem;
  }
  .p-top-price_list_description_list li,
  .p-top-price_list_description_attention li {
   padding: 0 !important;
  }
  .p-top-price_list_ttl span {
   display: block;
  }
}
@media screen and (max-width: 640px) {
.p-top-price_table tr th {
   display: block;
   width: auto;
   }
   .p-top-price_table tr td {
      display: block;
      padding-top:0;
   }
}

/*BAR*/
.p-top-section__bar {}
.p-top-section__bar_ttl {
font-size: 1.75rem;
font-weight: 600;
color: #5e759e;
margin-bottom: 2rem;
text-align: center;
}

.p-top-section__access_table {
   border-top: 1px solid #e0e4eb;
width: 100%;
margin:0 0 3rem 0;
}
.p-top-section__access_table tr {
border-bottom: 1px solid #e0e4eb;
display: flex;
}
.p-top-section__access_table tr th {
padding:1.5rem 0.5rem;
font-weight: bold;
width: 20%;
color: #5e759e;
}
.p-top-section__access_table tr td {
padding: 1.5rem 0.5rem;
width: 75%;
}

/*map*/
.ggmap {
   position: relative;
   width: 100%;
   padding-top: 40%;
   height: 0;
}
.ggmap iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
@media screen and (max-width: 768px) {
   .ggmap {
      padding-top: 67%;
   }
   .p-top-section__bar_ttl {
    font-size: 1.215rem;
        margin-bottom: 1rem;
   }
   .p-top-section__access_table tr th {
   display: block;
   width: auto;
   padding: 1.5rem 0.5rem 0 0.5rem;
   }
   .p-top-section__access_table tr td {
   display: block;
   width: auto;
   padding: 0.5rem 0.5rem 1.5rem;
   }
   .p-top-section__access_table tr {
    display: block;
   }
}


/*Contact*/
.p-top-contact{
background: url(images/top_contact_bg.jpg) no-repeat center center;
background-size: cover;
max-width: calc(1000px - 6rem);
border: 1px solid #ddd;
padding: 5rem 2rem;
margin: 6rem auto;
}
.p-top-contact_ttl {
color: #ddc041;
font-size: 2.4rem;
text-align: center;
margin-bottom: 1rem;
font-weight: bold;
}
.p-top-contact_ttl_lead {
   color: #fff;
   font-weight: 600;
   font-size: 1.75rem;
   text-align: center;
   margin-bottom: 2rem;
}
.p-top-contact_ttl_lead span {
   font-size: 1rem;
   display: block;
}

.p-top-contact_btn_list {
display: flex;
justify-content: center;
gap: 2rem;
}
.p-top-contact_btn a {
position: relative;
}
.p-top-contact_btn a:after {
   position: absolute;
   top: 50%;
   right: 20px;
   display: block;
   content: '';
   width: 10px;
   height: 10px;
   margin-top: -5px;
   border-top: 2px solid #fff;
   border-right: 2px solid #fff;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
}

.p-top-contact_btn_line {
border-radius: 10px 10px;
background: #06c755;
color: #fff;
text-align: center;
margin: 0 auto;
padding: 1.5rem 5rem;
font-size: 1.25rem;
}
.p-top-contact_btn_tel {
border-radius: 10px 10px;
background: #cbaf33;
color: #fff;
text-align: center;
margin: 0 auto;
/*padding: 0.8333333333vw 3.3333333333vw;*/
padding: 1.5rem 5rem;
font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
   .p-top-contact_btn_list {
      display: block;
   }
   .p-top-contact_btn_list li:first-child {
      margin-bottom: 1rem;
   }
}
@media screen and (max-width: 640px) {
   .p-top-contact_ttl {
   font-size: 2rem;
   }
   .p-top-contact {
      /*background: url(images/top_contact_bg.jpg) no-repeat center center;*/
   }
}

/*Salon*/
.p-top-salon_logo {
   width: 8rem;
   text-align: center;
   margin: 0 auto;

}
.p-top-salon {
   max-width: calc(1000px - 6rem);
   border: 1px solid #ddd;
   padding: 3rem;
   margin: 5rem auto;
}
.p-top-salon_ttl {
   font-size: 1.25rem;
   font-weight: bold;
   text-align: center;
   margin: 1.5rem 0;
}
.p-top-salon_txt {
font-size: 1rem;
text-align: center;
}

/*About*/
.p-top-about {
   max-width: 1000px;
   margin: 0 auto;
}
.p-top-about_ttl {
   text-align: center;
   margin: 0 auto ;
   font-size:1.5rem;
   font-weight: bold;
}
.p-top-about_table {
   border-top: 1px solid #ddd;
width: 100%;
margin: 2rem 0 4rem 0;
}
.p-top-about_table tr {
   border-bottom: 1px solid #ddd;
}
.p-top-about_table tr th {
   padding: 1rem 0.5rem;
   color: #5e759e;
   font-weight: bold;
   width: 30%;
}
.p-top-about_table tr td {
padding: 1rem 0.5rem;
}

@media screen and (max-width: 768px) {
   .p-top-salon {
      margin:4rem 20px;
      padding: 2rem;
   }
   .p-top-about_ttl {
      font-size: 1.215rem;
   }
   .p-top-about_table {
      font-size: 1rem;
   }
   .p-top-about_table tr th {
      width: 180px;
      display: block;
      padding-bottom: 0.5rem;
  }
  .p-top-about_table tr td {
   display: block;
   padding-top: 0;
   }
}

/* Contact
------------------------------------------------ */
.p-contact {
   max-width: 900px;
   margin: 0 auto;
   padding:0 15px;
}
.p-contact_tel {
color: #cbaf33;
margin: 1rem 0 0.5rem;
font-size: 1.25rem;
font-weight: 600;
}
.p-contact_tel a {
display: inline-block;
}
.p-contact_head {
   margin: 8rem 0 6rem;
}
.p-contact_required {
   font-size: 0.8rem;
   color: #cc0000;
   margin-left: 2rem;
}
.p-table_A th {
   display: flex;
   justify-content: space-between;align-items: center;
}

.p-table_A {
border-top: 1px solid #ddd;
width: 100%;
margin: 2rem 0 4rem 0;
font-size: 1rem !important;
}
.p-table_A tr {
   border-bottom: 1px solid #ddd;
   vertical-align: baseline;
}
.p-table_A tr th {
   padding: 1rem 0.5rem;
   color: #5e759e;
   font-weight: bold;
   width: 14rem;
}
.p-table_A tr td {
padding: 1rem 0.5rem;
}
.p-table_A_txt {
appearance: none;
    border: solid 1px #ccc;
    border-radius: 2px;
    background: #fff;
    padding: 0.8rem 1rem;
    width: 100%;
    max-width: 600px;
    font-size: 1rem;
}
.p-table_A_link {
   display: inline-block;
   margin: 0 0.3rem;
   color: #5e759e;
   text-decoration: underline;
}

.p-contact_attention {
   text-align: center;
   margin: 0 0 3rem;
}
.p-contact_attention span {
   color: #cc0000;
}
.p-contact_btn {
   text-align: center;
   margin: 0 auto;
}
.p-contact_btn_css {
   background-color: #ddc041;
   color: #fff;
   padding: 1rem 2rem ;
   text-decoration: none;
   border-radius: 5px;
   font-size: 1em;
   border: none;
 }
 .p-contact_btn_css:hover {
   color: #fff;
   opacity: 0.8;
 }

 @media screen and (max-width: 640px) {
   .p-contact_head {
      margin: 4rem 0 3rem;
   }
   .p-table_A tr th {
      display: block;
      width: auto;
      padding-bottom: 0;
   }
   .p-table_A tr td {
   display: block;
   }
   .p-table_A_txt {
      padding: 0.8rem 1rem;
      width: 90%;
   }
 }

/* PAGE
------------------------------------------------ */
.l-page_head_ttl {
   font-size:3rem;
   line-height: 1.2;
   }
.l-page_head_ttl span {
   display: block;
   font-size: 1.125rem;
   color: #5f759e;
   font-weight: 600;
}
.l-page_head {
   margin: 3rem 0;
}

.p-page_main {
   margin: 4rem 0;
}

@media screen and (max-width: 768px) {
   .l-page_head_ttl {
      font-size:2rem;
   }
}


/* ARCHIVE
------------------------------------------------ */
.c-more  {
margin:0 auto;
text-align: center;
}
.c-more a {
border:1px solid #ccc;
text-align:center;
display:inline-block;
margin:0 auto;
padding:1rem 3rem;
border-radius:10px 10px;
}

.p-topinfo_ttl {
font-size: 2rem;
text-align: center;
margin-bottom: 2rem;
color: #5e759e;
font-weight: 600;
}
.p-topinfo {
margin: 3rem auto 1rem;
max-width: 900px;
}
.p-topinfo_list {
margin: 0 0 40px;
padding:0 20px;
}
.p-topinfo_list li {
border-bottom:1px solid #ddd;
}
.p-topinfo_list li a {
padding:1.5rem 0;
display:block;
font-size:0.9375rem;
}
.p-topinfo_list li a dl {
display:flex;
}
.p-topinfo_list li a dl dt {
margin:0 40px 0 0;
color: #5e759e;
}

.p-info_list {
margin: 0 0 40px;
}
.p-info_list li {
border-bottom:1px solid #ddd;
}
.p-info_list li a {
padding:2rem 0;
display:block;
font-size:0.9375rem;
}
.p-info_list li a dl {
display:flex;
}
.p-info_list li a dl dt {
margin:0 40px 0 0;
color: #5e759e;
}
.p-info_list li a dl dd {
}

.wp-pagenavi {
    clear: both;
    display: flex;
    text-align: center;
    justify-content: center;
}
.wp-pagenavi a, .wp-pagenavi span {
    border: none !important;
}

@media screen and (max-width: 640px) {
  .p-topinfo_list li a dl {
  display:block;
  }
  .p-info_list li a dl {
  display:block;
  }
}

/* SINGLE
------------------------------------------------ */
.p-page_wrap {
   max-width: 900px;
   margin: 5rem auto;
   padding:0 15px;
}
.p-single {
min-height:200px;
padding:0 20px 5rem 20px;
}
.p-single_date {
margin-bottom:1rem;
}
.p-single_ttl {
font-size:1.75rem;
margin-bottom:2.5rem;
}
.p-single_date {
color: #5e759e;
}
.p-single_date span {
color: #000;
}
.p-single_main p {
margin-bottom:1rem;
}
.p-single_back {
margin:0 auto;
text-align:center;
}
.p-single_main {
padding-bottom:4rem;
margin-bottom:2rem;
border-bottom:1px solid #ddd;
}
.p-single_main a {
   color: #5e759e;
   text-decoration: underline;
}


@media screen and (max-width: 640px) {
  .p-single_ttl {
  font-size:1.5rem;
  }
}


/*PRIVACY*/
.wrapHINAGATA h3 {
margin:1.5em 0;
font-size:1.125rem;
padding:1rem 0;
border-bottom:1px solid #ccc;
font-weight:600;
}
div.wrapHINAGATA p{
	margin:1rem 0;
	line-height:1.5;
}
div.wrapHINAGATA ul{
	margin:20px 0 0 30px;
}
div.wrapHINAGATA ul li{
	list-style:outside decimal;
	line-height:140%;
	margin:10px 0 0 0;
}
div.wrapHINAGATA ul li ul{
	margin:15px 0 10px 10px;
}
div.wrapHINAGATA ul li ul li{
	list-style:outside none;
	margin-left:20px;
	text-indent:-1.5em;
}
div.wrapHINAGATA ul.child{
	margin:15px 0 0 10px;
}
div.wrapHINAGATA ul.child li{
	list-style:outside none;
	margin-left:45px;
	text-indent:-1.7em;
}
div.wrapHINAGATA p.tR{
	margin:30px 0 0 0;
	font-size:0.95em;
	line-height:140%;
	text-align:right;
}
div.wrapHINAGATA ul li ul li ol li{
	list-style:outside lower-roman;
	margin-left:20px;
	text-indent:-0.2em;
}
div.wrapHINAGATA ol{
	margin:20px 0 0 40px;
}
div.wrapHINAGATA ol li{
	list-style:outside decimal;
	line-height:140%;
	margin:10px 0 0 0;
}
div.wrapHINAGATA ol li ol{
margin-bottom: 20px;
}
div.wrapHINAGATA ol li ol li{
font-size: 100%;
}



/* ADD
------------------------------------------------ */
.b {
font-weight:bold;
}
.center {
text-align:center;
}
.red {
color: #cc0000;
}
.txt-r {
text-align: right;
}
.bg-gray1{
padding:20px;
background:#efefef;
}
.aligncenter {
display: block;
margin: 0 auto;
}
.alignright {
float: right;
}
.alignleft {
float: left;
}

/* Button
------------------------------------------------ */
.c-btn__center {
text-align: center;
margin: 0 auto;
}
.c-btn_more_details {
display: block;
position: relative;
text-align: center;
margin: 0 auto;
padding: 1rem 2.5rem;

border-radius: 10px;
}

.c-btn_more {
   display: flex;
   justify-content: center;
}
.c-btn_main {
   display: flex;
   justify-content: center;
}
.c-btn {
    align-items: center;
    background: #5f759e;
  /*background-image: linear-gradient(90deg, rgba(35, 100, 251, 1), rgba(14, 176, 255, 1));*/
    color: #fff;
    text-align: center;
    border-radius: 10px;
    border: none;
    box-sizing: border-box;
    display: flex;
    height: 65px;
    justify-content: center;
    max-width: max-content;
    min-width: 250px;
    padding: 0 15px 0 30px;
    position: relative;
    z-index: 0;
}
.c-btn_sub {
   border: 1px solid #ccc;
    align-items: center;
    text-align: center;
    border-radius: 10px;
    box-sizing: border-box;
    display: flex;
    height: 65px;
    justify-content: center;
    max-width: max-content;
    min-width: 250px;
    padding: 0 15px 0 30px;
    position: relative;
    z-index: 0;
}

/*THANKS*/
.p-contact__thanks {
   padding-top: 4rem;
}
.p-contact__thanks_title {
   font-size: 1.5rem;
    margin-bottom: 1rem;
}
.p-contact__thanks_number {
   margin: 1rem 0 2rem;
   font-size: 1.5rem;
}
.p-contact__thanks_number a {
display: inline;
}
.p-contact__text {
       margin-bottom: 1rem;
}
.p-contact__thanks_top {
   margin-top:3rem;
   font-size: 1rem;
}


/* 変数代替（仮定） */
:root {
  --blue: #005bac;
  --blue-dark: #003b73;
  --white: #ffffff;
  --bold: 700;
  --noto-font-family: 'Noto Sans JP', sans-serif;
  --lato-font-family: 'Lato', sans-serif;
}

body.is-fixed {
    height: 100%;
    overflow: hidden !important;
}
/* ハンバーガーボタン */
.c-hamburger {
  width: 58px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  padding: 0;
  color: var(--blue);
  background: none;
    border: none;
  z-index:100;
  display:none;
}

@media (min-width: 768px) {
  .c-hamburger {
    width: 50px;
    background: transparent;
    border: none;
    display:none;
  }
  
}
@media (max-width: 768px) {
  .c-hamburger {
    display:block;
  }
  
}

.c-hamburger span {
  position: relative;
  display: block;
  height: 1px;
  width: 50%;
  margin-inline: auto;
  background-color: var(--blue);
  transition: 0.3s ease-in-out;
}

.c-hamburger.open span {
  background-color: var(--white);
}

.c-hamburger span:nth-child(1),
.c-hamburger span:nth-child(3) {
  top: 0;
}

.c-hamburger span:nth-child(2) {
  margin-block: 8px;
}

@media (min-width: 768px) {
  .c-hamburger span:nth-child(2) {
    margin-block: 7px;
  }
}

.c-hamburger.open span:nth-child(1) {
  top: 9px;
  transform: rotate(45deg);
}

@media (min-width: 768px) {
  .c-hamburger.open span:nth-child(1) {
    top: 8px;
  }
}

.c-hamburger.open span:nth-child(2) {
  background-color: transparent;
  box-shadow: none;
}

.c-hamburger.open span:nth-child(3) {
  top: -10px;
  transform: rotate(-45deg);
}

@media (min-width: 768px) {
  .c-hamburger.open span:nth-child(3) {
    top: -8px;
  }
}

/* ドロワー height 100%注意*/
.p-drawer {
  overflow-y: scroll;
  position: fixed;
  top: 0;
  bottom:0;
  right: 0;
  width: 100%;
  z-index: 20;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
  pointer-events: none;
  background-image: linear-gradient(150deg, rgba(38, 159, 255, 1) 40%, rgba(15, 105, 196, 1) 85%);
  padding-block: 200px;
  display: none;
}

@media (min-width: 768px) {
  .p-drawer.open {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .p-drawer {
  padding-block: 6.25rem 6.25rem;
  display: block;
  }
}

.p-drawer.open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  display:block;
}
.p-drawer__title {
  font-size: 1rem;
  line-height: 1.666;
  letter-spacing: 0.075em;
  font-weight: var(--bold);
  color: var(--white);
}

.p-drawer__address {
  text-decoration: none;
  border: none;
  margin-top:1rem;
}

@media (min-width: 768px) {
  .p-drawer__address {
    margin-block-start: 30px;
  }
}

.p-drawer__address p {
  font-size: 15px;
  line-height: 1.866;
  letter-spacing: 0.075em;
  font-weight: var(--bold);
  color: var(--white);
  text-decoration: none;
  border: none;
}
.p-drawer__address a {
color:#fff;
}
.p-drawer__address_tel {
margin-top:1rem;
}

.p-drawer__contents {
padding: 0 3rem;
}
.p-drawer__info {
margin-top: 3rem;
}
.p-drawer__nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.p-drawer__navItem {
  font-size: 20px;
  line-height: 1.166;
  letter-spacing: 0.01em;
  font-weight: var(--bold);
  color: var(--white);
}

@media (min-width: 768px) {
  .p-drawer__navItem {
    font-size: 20px;
  }
}

.p-drawer__body {
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .p-drawer__body {
    margin-block-start: 30px;
    flex-direction: column;
    justify-content: initial;
    align-items: initial;
  }
}

.p-drawer__deco-text {
  font-family: var(--lato-font-family);
  font-size: 120px;
  line-height: 1;
  letter-spacing: 0;
  font-weight: var(--bold);
  color: rgba(255, 255, 255, 0.04);
}.

@media (min-width: 768px) {
  .p-drawer__deco-text {
    font-size: 63px;
  }
}

.p-drawer__privacy {
  display: inline-block;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--white);
}

.p-drawer__copyright {
  font-family: var(--lato-font-family);
  font-size: 13px;
  line-height: 2.3;
  color: var(--white);
  margin-block-start: 40px;
}

@media (min-width: 768px) {
  .p-drawer__copyright {
    margin-block-start: 30px;
  }
}

/*******
予約
********/
.monthly-prev,
.monthly-next {
padding: 1em;
border: 1px solid #ccc;
}

.monthly-prev-next {
margin-top: 2rem;
}

.monthly-calendar table {
    width: 98%;
    border: 1px solid #ccc;
}
.monthly-calendar caption {
padding:0.5em;
}

.monthly-calendar th {
background: #e2f7ff;
padding: 0.5em;
}

/* 基本非表示 */
.l-header_nav .sub-menu {
  display: none;
  position: absolute;
  background: #fff;
  padding: 10px 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  top: 100%;
  left: 0;
  z-index: 1000;
  min-width: 180px;
}

.l-header_nav li.has-sub {
  position: relative;
}

.l-header_nav li.has-sub:hover .sub-menu {
  display: block;
}

.l-header_nav .sub-menu li {
  padding: 8px 20px;
  white-space: nowrap;
}

.l-header_nav .sub-menu li a {
  color: #333;
  text-decoration: none;
}

.l-header_nav .sub-menu li a:hover {
  background: #f5f5f5;
}
/* 親メニューの位置調整 */
.l-header_nav li.has-sub {
  position: relative;
}

/* ホバーで表示 */
.l-header_nav li.has-sub:hover .sub-menu {
  display: block;
}

.l-header_nav .sub-menu li {
  padding: 5px 20px;
  white-space: nowrap;
}

.l-header_nav .sub-menu li a {
  color: #333;
  text-decoration: none;
}

.l-header_nav .sub-menu li a:hover {
  background: #f0f0f0;
}


/*
予約フォームのスマホ対応*/

@media (max-width: 600px) {
  .content-form th {
  text-align:left !important;
  }

}
@media (max-width: 480px) {

  .content-text.medium {
    width: 95% !important;
  }
    #booking_client-fieldset table th,
    #booking_client-fieldset table td,
    #booking-reservation-fieldset table th,
    #booking-reservation-fieldset table td,
    #booking-message-fieldset table th,
    #booking-message-fieldset table td,
    #booking-confirm-fieldset table th,
    #booking-confirm-fieldset table td {
        display: block;
        float: none;
        width: 90%;
        text-align: center;
        overflow: auto;
    }
}
.content-form th, .content-form td {
    border-right: none !important;
    border-bottom: none !important;
    padding: 10px;
}
