@charset "utf-8";

#CONTENTS{ overflow: hidden;}

/*** CONTENTS ***/
.aspect-23-41 { aspect-ratio: 23 / 41;}

.hair h2 {
  padding: 5rem 0 3rem;
  font-size: var(--font-size-xl);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;  
  text-align: center;
  letter-spacing: 0.1em;
}

.hair h2 span {
  font-size: var(--font-size-xxl);
}

.hair h2 span,
.hair p span {
  color: #ff8706;
}

.hair p.arrow-right {
  text-align: right;
}
.hair p.arrow-right a {
  display: inline-block;
}

.hair p.right {
  text-align: right;
}


/* contents title */
.hair .contents-title-block{
  align-items: center;
  /*justify-content: center;*/
  justify-content: flex-end;
  overflow: hidden;
  
  
}

.hair .contents-title-bg{
  position: absolute;
  display: flex;
  justify-content: flex-start;
  background-color: #FBF2E5;
}


.hair .contents-title-bg .main-image{
  width: 100vw;
  display: block;  
  height: 60vh;
  min-height: 42rem;
  object-fit: contain;
  object-position: left top;
}



.hair .contents-title-inner{
  position: relative;
  margin-right: calc(-5vw + 8em);
  margin-top: 1.5em;
  padding: 0;
  display: block;
  z-index: 100;
  background: inherit;  
  background-color: transparent;
}

.hair .contents-title {
  position: relative;
  padding: 0 0 0.5em;
  display: block;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-align: right;
  line-height: 2;
}

.hair .contents-title span{
  padding: 0.2em 0.6em;
  display: inline;  
  background: linear-gradient(#ff8706 100%, #ff8706 0%);
}

.hair .contents-title em {
  margin-right: 0.5rem;
  font-size: var(--font-size-xxxl);
}

.hair .contents-title-sub-copy{
  position: relative;
  width: 100%;  
  margin-top: 0;
  padding: 1em 1.5em;
  line-height: 1.5;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: var(--font-size-l);
  font-weight: bold;
  letter-spacing: 0.05em;
  background: rgba(255,255,255,0.8);
}
  
.hair .contents-title-sub-copy span { color: #00aeef;}

@media screen and (min-width: 641px) and (max-width: 1400px) {

.hair .contents-title-bg .main-image{
  width: 100vw;
  height: 55vh;
  min-height: 42rem;
  object-fit: contain;
}

}/* End min 1400 */

@media screen and (min-width: 641px) and (max-width: 1100px) {

.hair .contents-title-block{
  height: 50vh;
  min-height: 42rem;
  max-height: 46rem;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
}

.hair .contents-title-inner{
  position: relative;
  margin-right: 5%;
  margin-top: 10%;
  padding: 0;
  width: auto;  
}

.hair .contents-title-sub-copy{
  position: relative;
  width: inherit;  
  margin-top: 0;
  padding: 1em 1.5em;
}

.hair .contents-title-bg .main-image{
  width: 100%;
  height: 55vh;
  min-height: 42rem;
  object-fit: cover;
  object-position: left top; 
}

}/* End min 641 max 1100 */



@media screen and (max-width: 640px) {

.hair .contents-title-inner{
  position: absolute;
  left: inherit;
  right: inherit;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: calc(100vh - 4rem);
  height: calc(100svh - 4rem);
  display: flex;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  z-index: 100;
}

.hair .contents-title {
  position: absolute;
  right: 5%;
  top: 15%;
  margin: 0;
  padding: 0 0 0.5em;
}

.hair .contents-title-sub-copy{
  position: absolute;
  bottom: 0;
  padding: 1.5em 3.5em 1.5em 1.5em;
  white-space: nowrap;
}

.hair .contents-title-bg .main-image{
  width: 100vw;
  height: calc(100vh - 4rem);
  height: calc(100svh - 4rem);
  object-fit: cover;
  object-position: center center;
}

}/* End max 640 */

/*
.section01 {
  min-height: 100vh; 
}
*/

.hair-bg {
  background-color: #fcf5e9;
}

.hair .lead-txt {
  margin: 0;
}

ul.img01 {
  margin-top: 2rem;
  padding-bottom: 6rem;
}

ul.img01 li {
  padding: 1rem 0;
}

ul.img01 img {
  display: block;
}

.img01-1 {
  display: block;
  max-width: 30rem;
  margin: 0 0 0 auto;
}
.img01-2 {
  display: block;
  max-width: 30rem;
  margin: 0 auto 0 0;
}

.img01 .img01-1 img{
  display: block;
  border-radius: 1em 0 0 1em;
}
.img01 .img01-2 img {
  display: block;
  border-radius: 0 1em 1em 0;
}

/*--------------------------------------
  モーダル表示
--------------------------------------*/
.modal-wrap input {
  display: none;
}

.modal-overlay {
  display: none;
  justify-content: center;
  overflow: auto;
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0,174,239, 0.5);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 2em, rgba(255,255,255, 0.3) 2em, rgba(255,255,255, 0.3) 4em );
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
  cursor: pointer;
  overscroll-behavior: none;
}

.menu-on .modal-overlay { display: flex;}

.step01 .modal-overlay { background: rgba(249,179,104, 0.7);background-image: repeating-linear-gradient(-45deg, transparent, transparent 2em, rgba(255,255,255, 0.3) 2em, rgba(255,255,255, 0.3) 4em );}
.step02 .modal-overlay { background: rgba(239,202,83, 0.7);background-image: repeating-linear-gradient(-45deg, transparent, transparent 2em, rgba(255,255,255, 0.3) 2em, rgba(255,255,255, 0.3) 4em );}
.step03 .modal-overlay { background: rgba(167,216,102, 0.7);background-image: repeating-linear-gradient(-45deg, transparent, transparent 2em, rgba(255,255,255, 0.3) 2em, rgba(255,255,255, 0.3) 4em );}
.step04 .modal-overlay { background: rgba(79,172,211, 0.7);background-image: repeating-linear-gradient(-45deg, transparent, transparent 2em, rgba(255,255,255, 0.3) 2em, rgba(255,255,255, 0.3) 4em );}


/* End モーダル表示 */


@media screen and (min-width: 768px)  {
  .hair .contents-section {
    max-width: 72rem;
  }
  
  .hair h2 {
    padding: 5rem 0 4rem
  }
  
  .section01 {
    min-height: inherit;
  }
  
  ul.img01 {
    max-width: 72rem;
    margin: 6rem auto 0;
    padding-bottom: 8rem;
  }
  .img01 .img01-1 img,
  .img01 .img01-2 img {
    border-radius: 1em;
  }
  
  .img01-1 {
    max-width: 40rem;
  }
  .img01-2 {
    max-width: 40rem;
  }

}


@media screen and (min-width: 1200px) {
  .hair .contents-title-inner {
    position: absolute;
    left: 50%;
  }

}


@media screen and (min-width: 420px) and (max-width: 768px) {
  
  ul.img01 {
    max-width: 60rem;
    margin: 6rem auto 0;
    padding-bottom: 8rem;
  }
  .img01 .img01-1 img,
  .img01 .img01-2 img {
    border-radius: 1em;
  }

}/* End max 420 */



