@import url(/css/init.css);

/*

@ custom properties

========================================*/
:root {

  /* color */
  --gry10   : rgb(34,34,34);
  --gry20   : rgb(75,74,74);
  --gry70   : rgb(219,220,220);
  --p-red95 : rgb(251,249,247);
  --p-red90 : rgb(246,243,238);
  --dp-red50: rgb(179,129,84);
  --d-red50 : rgb(179,150,105);
  --dk-red20: rgb(153,52,44);

}


/*

@ base

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

body {
  position: relative;
}

body * {
  font-size: 1.6rem;
  font-weight: 100;
  color: var(--gry10);
}

section {
/*  margin-bottom: 4rem; */
}

h1 {
  font-size: 1.6rem;
}

h2 {
  font-size: 1.9rem;
}

h2.lg {
  font-size: 2.2rem;
}

h3 {
  margin-bottom: 1em;
  font-size: 2rem;
}

h4 {
  font-size: 1.8rem;
}

small {
  font-size: 1.4rem;
}

a {
  text-decoration: none;
}

h2 > a {
  font-size: inherit;
}

#g-c {
  margin: 0 auto;
  width: 100vw;
}

#g-c > nav ul {
  margin: 0;
  padding: 0;
}

#g-c > nav #to-inq a {
  padding: 0.5rem 1.5rem;
  color: var(--dp-red50);
  border: solid 1px var(--dp-red50);
}

/* @ footer */

footer {
  background-color: rgb(247,244,239);
}

.ft-addr span {
  margin-left: 1rem;
}

.ft-addr small {
}

#inq-contact span {
  display: block;
}

#inq-contact small {
  display: inline-block;
  width: 2.5em;
}

/* @ content */

article > *:not(header) {
  margin-left: auto;
  margin-right: auto;
  width: 93%;
}

#logo-home-top {
  display: block;
  margin: 2rem auto 4rem auto;
  height: 15rem;
  background: url(/img/common/logo3.svg) no-repeat center;
  background-size: contain;
}

.bg-mark1 {
  background: url(/img/common/mark-p-red90.svg) no-repeat center 65%;
  background-size: 50rem;
}

/*
  prof
*/
.info-prof {
  padding: 1rem 3rem;
  gap: 3rem;
  background-color: var(--p-red90);
}

.info-prof > div {
  align-self: center;
}

.info-prof .pname {
  padding: 0.5rem 0;
  font-size: 1.8rem;
}

img.the-salon {
  width: 50%;
  display: block;
  margin: 1rem;
}

/*
@ facebook
........................................ */
.fb-c{
  padding: 2rem 9rem 0rem 9rem;
  background: url(/img/common/mark-p-red90.svg) no-repeat 10rem 4rem;
  background-size: 46rem;
}

.fb-c img {
  margin: 21rem 0 0rem -8rem;
  height: 33rem;
}

.fb-c > div {
  position: relative;
}

/*
@ form
........................................ */
#inq-contact {
  max-width: 40rem;
  display: flex;
  gap: 2rem;
  justify-content: center;
}
#inq-contact > * {
  width: auto;
  flex-basis: auto;
}

#inq-contact img {
  height:1.3rem;
  max-width:fit-content
}

#ft1 {
  margin: 5rem auto;
  padding: 2rem;
  border: solid 1px var(--gry10);
}

form > p {
    margin-bottom: 1em;
}

form input[type="text"],
form textarea {
  border: solid 1px var(--gry70);
  padding: .5em;
}

form input[type="text"][data-status="error"],
form textarea[data-status="error"] {
  border: solid 1px #f00;
  background-color: #ffe1e1;  
}

form .consent-block,
form .to-send {
  text-align: center;  
}

td[data-msg]::after,
label[data-msg]::after {
  display: block;
  content: attr(data-msg);
  vertical-align: top;
  color: #ff6161;
  font-size: 1.6rem;
}

.mark-splter {
  display: block;
  margin: 0;
  width: 3.5rem;
  height: auto;
}

.d-red50 {
  color: var(--d-red50);
  border-color: var(--d-red50);
}

.d-red50[data-snp="brd-bevel"] > i:before {
  border-color: var(--d-red50);
}

.cat-1 {
  height: 17rem;
  text-align: center;
}
.index-news li > small {
  margin: 0 1rem;
}

/* zazen-trin */
.item-1 {
  width: 18rem;
  height: 18rem;
  border: double 4px var(--dp-red50);
  border-radius: 50%;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.8;
  letter-spacing: 0.2rem;
}

.fu-logo img ,
.cho-logo img {
  height: 20rem;
  width: auto;
}

.info-sho,
.info-cha {
  flex-direction: row;
  font-size: 3rem;
  letter-spacing: 0.25rem;
}

.info-sho small,
.info-cha small {
  padding-right:1em;
  font-size: 2rem;
}

@media screen and (max-width: 640px) {
  [data-snp="flex"] [data-atr*="mb-"] {
    margin-bottom: 0;
  }

  [data-atr*="mb-"],
  [data-atr*="centerTop"]  {
    margin-bottom: 3rem;
  }

  *:not([data-snp*="jp-tea-lesson-"]) > [data-snp="flex"] > *:first-child {
    /*margin-bottom: 2rem;*/
  }

  [data-snp="flex"] > a:last-child {
    margin-bottom: -2rem;
  }

  *:not([data-snp*="jp-tea-lesson-"]) > [data-snp*="flex"] > [data-atr*="sum"] {
    margin-left: 1em;
    margin-bottom: 1em;
  }

  img + img,
  .ext5 img  {
    margin-top: 3rem;
  }

  *:not([data-snp^="jp-tea-lesson-"]) .head,
  *:not([data-snp^="jp-tea-lesson-"]) h5 {
/*    border: none !important; */
    border: none;
  }

  .fb-c{
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .fb-c img {
    padding: 3rem;
  }

  .info-prof > div {
    padding: 1rem;
  }

  [data-snp="brd-bevel"] {
    margin-bottom: 3rem;
  }

  [data-snp="flex"][data-atr*="sp2"] > [data-snp="img-16:9"] {
    padding-top: 56.25% !important;
    margin-bottom: 3rem;
  }

}

/*
@ width ~1023

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

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

  /*
  @ nav
  ........................................ */

  #to-home {
    position: fixed;
    display: block;
    width: 13rem;
    height: 5rem;
    top: 0;
    left: 0;
    z-index: 10;
  }

  #g-c > nav {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    transition: all .2s ease-in-out;
    background: var(--p-red95) url(/img/common/mark-white.svg) no-repeat center;
    background-size: 42%;
    z-index: 1;
  }

  #g-c > nav > #to-home-nav {
    display: none;
  }

  #g-c > nav #links {
    margin: 8rem auto 0;
    width: 10em;
  }

  #g-c > nav #links li {
    margin-bottom: 1em;
  }

  #g-c > nav #links li#to-inq {
    margin: 2em 0 3em 0;
  }

  #g-c > nav #to-fb-icon img {
    display: block;
    width: auto;
    height: 3rem;
    margin: calc(3rem / 4);
  }

  #menu-ctl {
    position: absolute;
    left: -100vw;
  }

  #g-c > nav #info {
    display: none;
  } 
  
  /* @ open ctl (nav) */
  
  label.menu-open {
    display: block;
    position: fixed;
    top: 10px;
    right: 15px;
    text-align: center;
    cursor: pointer;
    z-index: 10;
  }
  
  label.menu-open:after {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 5rem;
    background: url(/img/common/logo2.svg) no-repeat 1rem center / 10rem;
    background-color: #fff;
    z-index: -1;
    pointer-events: none; 
 }
  
  label.menu-open i,
  label.menu-open i:before,
  label.menu-open i:after{
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    background-color: #000;
  }
  
  label.menu-open i{
    position: relative;
    margin: 0 auto 16px auto;
  }
  
  label.menu-open i:before{
    transform: translateY(calc((16px - 2px) / 2));
  }
  label.menu-open i:after{
    transform: translateY(calc(16px - 2px));
  }
  
  label.menu-open span {
    position: relative;
    top: -5px;
    text-align: center;
    font-size: 10px;
  }
  
  
  /* @ close ctl (nav) */
  
  label.menu-close i {
    display: block;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    border: solid 1px rgb(222,222,222);
    font-size: 10px;
    line-height: 58px;
  }
  
  
  /* @ nav action */
  
  #menu-ctl:checked ~ nav label.menu-close {
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 2; 
    text-align: center;
    cursor: pointer;
  }
  
  #menu-ctl:checked ~ label.menu-open {
    display: none;  
  }
  
  #menu-ctl:checked ~ nav {
    position: fixed;
    left: 0;
    z-index: 2;
  }

  footer nav[data-snp="flex"] {
    display: none;
  }

  footer div[data-snp="flex"] > p:nth-of-type(1) {
/*    display: none;*/
  }

  footer div[data-snp="flex"] {
    display: block;
    text-align: center;
    padding: 1rem 0;
  }

  .ft-addr span {
    display: block;
    margin-left: 0;
  }
  
  .ft-addr small {
    display: inline-block;
    width: 2.5em;
  }

  main {
    margin-top: 5rem;
  }

  /* @ content */
  .info-prof {
    padding: 1rem 0;
  }

  .fb-c img {
    margin: 0rem;
 }

  [data-atr*="zazen-flow"] {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .item-1 {
    margin: 1rem auto;
  }

  .index-news li > small {
      margin: 0;
      display: block;
      border-bottom: solid 1px var(--gry70);
  }
/*
  [data-path="index"] [data-snp*="flex"] > [data-atr*="head"],
  [data-path="index"] [data-snp*="flex"] > [data-atr*="sum"] > * {
      display: block;
      margin-bottom: 2rem;
  }
*/
  [data-path="index"] [data-atr*="brd-l"] {
      border-left: none;
  }

  [data-atr*="brd-l"] {
/*    border-left: none; */
  }

}

/*

@ width 640~1023

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

@media screen and (min-width: 640px) and (max-width: 1023px) {

  /*
  @ nav
  ........................................ */

  #g-c > nav {
    background-position: center 18rem;
    background-size: 20rem;
  }

  #g-c > nav #to-fb-icon {
    display: none;
  }

  #g-c > nav > div#links {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    width: inherit;
  }
  
  #g-c > nav #links #to-inq {
    position: relative;
    left: 0;
    transform: translate(-90%, 7rem);
  }

  #g-c > nav > div > ul {
    display: inline-block;
    margin: 70px 60px 0 60px;
    width: auto;
  }

  article {
    padding: 0 1rem;
  }
  
  /* @ header */
  header {
    margin-top: 5rem;
  }

  footer nav[data-snp="flex"] {
    display: none;
  }

  #logo-home-top {
    display: block;
    margin: 5rem auto;
    width: auto;
    height: 10rem;
    background: url(/img/common/logo1.svg) no-repeat center;
  }

  .info-prof {
    padding: 1rem 0;
  }

  [data-atr*="zazen-flow"] {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }

  [data-snp="brd-bevel"][data-atr*="inquiry-s"] ,
  [data-snp="brd-bevel"][data-atr*="inquiry-c"] {
    width: 51%;
  }

  [data-snp="brd-bevel"][data-atr*="inquiry-c"] {
    margin-left: auto;
    margin-right: auto;
  }

  .item-1 {
    margin: 0;
  }

  [data-atr*="brd-l"] {
    border-left: solid 1px #000;
  }

}


/*

@ width 1024~

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

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

  #g-c {
    position: relative;
    margin: 2rem auto 0 auto;
    min-width: 1000px;
    max-width: 1200px;
  }

  /*
  @ nav
  ........................................ */
  
  #to-home {
    display: none;
  }

  input#menu-ctl,
  label.menu-close,
  label.menu-open,
  #g-c > nav #to-fb-icon {
    display: none;
  }

  #g-c > nav {
    position: sticky;
    display: block;
    top: 5rem;
    width:23rem;
    transition: none;
    padding-bottom: 300px;
  }

  #g-c > nav > #to-home-nav {
    display: block;
    margin: 0 auto 2rem auto;
    padding-bottom: 2rem;
    width: 15rem;
    height: 20rem;
    border-bottom: solid 1px #000;
  }

  #g-c > nav > #to-home-nav img {
    display: block;
    margin: 0 auto;
    width: auto;
    height: 100%;
  }

  #g-c > nav #links {
    margin: 0 auto;
    padding: 0 5rem;
  }

  #g-c > nav #links li {
    margin-bottom: 1em;
  }

  #g-c > nav #to-inq {
    margin-top: 2rem;
    margin-left: -1rem;
  }

  #g-c > nav #to-inq a {
    padding: 0.75rem 2rem;
  }

  #g-c > nav #info {
    width: 16rem;
    margin: 2em auto 0 auto;
  }

  #g-c > nav #info img {
    width: auto;
    height: 1.3rem;
  }
  
  main {
    margin: -104.5rem 0 0 23rem;
    width: calc(100% - 23rem);
  }

  [data-atr*="zazen-flow"] {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }


  /*
  @ footer
  ........................................ */

  footer {
    position: relative;
    padding-left: 6rem;
  }

  footer > nav {
    padding: 3rem 4rem 1rem 4rem;
  }

  footer > nav[data-snp="flex"][data-atr*="sp"]{
    flex-wrap: wrap;
  }

  footer nav a {
    font-size: 1.3rem;
  }

  footer nav #f-fb-icon li {
    text-align: right;
    padding-right: 4em;
  }
 
  footer nav #f-fb-icon img {
    width: 3rem;
  }
  
  footer nav > ul:nth-of-type(6) {
    transform: translateX(-2em);
  }

  footer div[data-snp="flex"] {
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 10rem 1em 4rem;
  }

  footer div[data-snp="flex"] p {
    font-size: 1.4rem;
  }

  /* @ content */

  #logo-home-top {
    display: block;
    margin: 5rem auto;
    width: auto;
    height: 10rem;
    background: url(/img/common/logo1.svg) no-repeat center;
  }

  [data-snp="brd-bevel"][data-atr*="inquiry-s"] ,
  [data-snp="brd-bevel"][data-atr*="inquiry-c"] {
    width: 51%;
  }

  [data-snp="brd-bevel"][data-atr*="inquiry-c"] {
    margin-left: auto;
    margin-right: auto;
  }
}
 