@charset "UTF-8";

/*---------------------------------------------------------
 Hero Image
----------------------------------------------------------*/
.basic-hd .entry-header { padding: 0; }
.basic-hd .entry-header .section-inner {
 padding: clamp(240px, 28vw, 400px) clamp(1.5rem, 7vw, 6rem) clamp(18px, 5vw, 60px);
 width: 100%;
 background-color: #fff;
 background-position: 50% 50%;
 border-radius: 0;
}
.basic-hd .entry-header .section-inner {
 background-image: url(/wp/wp-content/themes/twentytwenty-child/img/syukatsu/hair/hair_mv_sp.jpg);
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
}
.basic-hd .entry-header h1 {
 font-size: clamp(1.563rem, 1.153rem + 2.05vw, 2.688rem);
 font-weight: bold;
 position: relative;
}
.basic-hd .entry-header h1::before {
 display: block;
 content: "";
 width: 80%;
 max-width: 700px;
 min-height: 5rem;
 background-image: url(/wp/wp-content/themes/twentytwenty-child/img/syukatsu/hair/hair_mv-text.png);
 background-size: contain;
 background-position: bottom left;
 background-repeat: no-repeat;
 position: absolute;
 bottom: 20px;
 left: -10px;
}

@media screen and (max-width: 500px) {
.basic-hd .entry-header { padding: 0; }
}
@media screen and (max-width: 577px) {
.basic-hd .entry-header h1::before { bottom: 50px; }
}
@media screen and (min-width: 768px) {
.basic-hd .entry-header .section-inner {
 background-image: url(/wp/wp-content/themes/twentytwenty-child/img/syukatsu/hair/hair_mv.jpg);
 background-position: 60% 50%;
}
}

/*******************************************************
 * Base
 *******************************************************/
.bg-grid {
 background-image: url(/wp/wp-content/themes/twentytwenty-child/img/syukatsu/rec-child/bg2.png);
 background-size: 18px 18px;
 background-position: top center;
 background-repeat: repeat;
}
.bg-blue { background-color: #e4f3f7; }


/*******************************************************
  Typography
 *******************************************************/
.hair h3 {
 margin: 30px auto 20px;
 padding-left: 0;
 border-left: 0;
 font-size: 24px;
 font-weight: bold;
 text-align: center;
 line-height: 1.2;
 letter-spacing: 0.1em;
}
.hair .women h3 span:not(.brmb),
.hair .men h3 span:not(.brmb) {
 margin: 0 0 11px;
 padding: 3px 5px 3px 8px;
 color: #fff;
 font-size: 15px;
 display: inline-block;
}
.hair .women h3 { color: #c15352; }
.hair .women h3 span { background-color: #c15352; }
.hair .men h3 { color: #3670b0; }
.hair .men h3 span { background-color: #3670b0; }

.br::before, .brpc::before, .brmb::before {
	content: "\A";
	white-space: pre;
}
.brpc { display: none; }
.brmb { display: none; }

.hlight {
 background: -webkit-linear-gradient(transparent 70%, #fbe38f 60%)!important;
	background: -o-linear-gradient(transparent 70%, #fbe38f 60%)!important;
	background: linear-gradient(transparent 70%, #fbe38f 60%)!important;
}


/*******************************************************
 * Contents
 *******************************************************/
.commentary {
 margin-bottom: 50px;
 padding: 20px 0 10px;
}
.hair .commentary h3 { margin-bottom: 30px; }
.commentary > div {
 margin: 0 auto 20px;
 padding: 0;
 width: 90%;
 max-width: 900px; 
}
.commentary > div > div {
 padding-top: 10px;
 display: flex;
 align-items: center;
 justify-content: center;
}
.commentary > div figure {
 margin-right: 25px;
 width: 40%;
}
.hair .commentary > div > div p {
 font-size: 12px;
 line-height: 1.4;
}
.hair .commentary > div > div > p span {
 margin-top: 5px;
 font-size: 14px;
 font-weight: bold;
 display: block;
}


/*******************************************************
 * Tabs change
 *******************************************************/
.tab-wrap {
 margin: 0 auto 50px;
 max-width: 900px;
 display: flex;
 flex-wrap: wrap;
}
.tab-label {
 background-color: #fff;
 border-right: 1px solid #efefef;
 margin: 0;
 padding: 5px 10px;
 order: -1;
 position: relative;
 display: flex;
 align-items: center;
 cursor: pointer;
 -webkit-transition: all 1s;
 transition: all 1s;
}
.tab-label:last-of-type { border-right: 0; }
.tab-label, .tab-switch {
 padding: 10px 15px;
 width: calc(100% / 3);
}
.women .tab-label { color: #c15352; }
.men .tab-label { color: #3670b0; }

.women .tab-label::before {
 content: "";
 width: 8px;
 height: 8px;
 margin: 0 8px;
 border-bottom: 2px solid #c15352;
 border-right: 2px solid #c15352;
 transform: rotate(45deg);
 position: absolute;
 bottom: 0;
 left: 50%;
 margin-left: -8px;
}
.men .tab-label::before {
 content: "";
 width: 8px;
 height: 8px;
 margin: 0 8px;
 border-bottom: 2px solid #3670b0;
 border-right: 2px solid #3670b0;
 transform: rotate(45deg);
 position: absolute;
 bottom: 0;
 left: 50%;
 margin-left: -8px;
}
.women input:checked + label.tab-label::before,
.men input:checked + label.tab-label::before { display: none; }


.tab-label figure {
 padding-right: 10px;
 width: 65%;
}
.hair .tab-label p {
 margin: 0;
 font-size: 16px;
 font-weight: bold;
 line-height: 1.3;
}
.tab-label p span {
 display: block;
 font-size: 22px;
 font-weight: bold;
}

/* active tab */
.women .tab-switch:checked+.tab-label {
 background: #c15352;
 color: #fff;
}
.women .tab-switch:checked+.tab-label::after {
 content: "";
 width: 0;
 height: 0;
 border-style: solid;
 border-right: 12px solid transparent;
 border-left: 12px solid transparent;
 border-top: 15px solid #c15352;
 border-bottom: none;
 position: absolute;
 bottom: -15px;
 left: 50%;
 margin-left: -12px;
}
.men .tab-switch:checked+.tab-label {
 background: #3670b0;
 color: #fff;
}
.men .tab-switch:checked+.tab-label::after {
 content: "";
 width: 0;
 height: 0;
 border-style: solid;
 border-bottom: none;
 border-right: 12px solid transparent;
 border-left: 12px solid transparent;
 border-top: 15px solid #3670b0;
 position: absolute;
 bottom: -15px;
 left: 50%;
 margin-left: -12px;
}

.tab-switch:checked+.tab-label+.tab-content {
 display: block;
}
.tab-switch { display: none; }

.tab-content {
 margin: 15px 0 0;
 width: 100%;
 display: none;
}
.visit {
 margin: 30px 0 20px;
 display: flex;
 align-items: center;
}
.visit figure { padding: 0 15px 0 0; }
.visit p { width: 100%; }
.visit p span {
 display: block;
 font-size: 15px;
 font-weight: bold;
}
.women .visit p span { color: #c15352; }
.men .visit p span { color: #3670b0; }

.compare {
 display: flex;
 flex-wrap: wrap;
 align-items: baseline;
 justify-content:space-between;
}
.compare > div, .compare > .text{ width: calc(97% / 2); }
.hair .compare > div p {
 margin: 0 0 5px;
 padding: 2px;
 border: 1px solid #efefef;
 font-weight: bold;
 text-align: center;
 letter-spacing: 0.2em;
}
.hair .women .compare > div p { color: #c15352; }
.hair .women .compare > div.swiper p { border: 1px solid #c15352; }
.hair .men .compare > div p { color: #3670b0; }
.hair .men .compare > div.swiper p { border: 1px solid #3670b0; }



/*******************************************************
 * Carousel
 *******************************************************/
.swiper {
 margin: 0;
 width: 100%;
}
.swiper-wrapper { width: 100%; }
.swiper-slide {
 width: 100%;
 height: 100%;
 text-align: center;
 line-height: 1.4;
}
.swiper-slide a {
 display: block;
 position: relative;
 cursor: pointer;
}
.swiper-slide img { display: initial; }
.swiper .icon-point {
 width: 50%;
 height: auto;
 position: absolute;
 bottom: 0;
 right: 0;
 z-index: 8;
}

.thumbsimg-w1,.thumbsimg-w2,.thumbsimg-w3,
.thumbsimg-m1,.thumbsimg-m2,.thumbsimg-m3 {
 margin-left: 51.5%;
 margin-top: -50px;
 padding: 15px 0;
 box-sizing: border-box;
 cursor: pointer;
}
.thumbsimg-m1, .thumbsimg-m3 { width: calc((48.5% / 5) * 3) !important; }
.thumbsimg-m2 { width: calc((48.5% / 5) * 2) !important; }

.thumbsimg-w1 .swiper-slide,.thumbsimg-w2 .swiper-slide,.thumbsimg-w3 .swiper-slide,
.thumbsimg-m1 .swiper-slide,.thumbsimg-m2 .swiper-slide,.thumbsimg-m3 .swiper-slide {
 width: 25%;
 height: 100%;
}
.thumbsimg-w1 .swiper-slide-thumb-active, .thumbsimg-w2 .swiper-slide-thumb-active,
.thumbsimg-w3.swiper-slide-thumb-active, .thumbsimg-m1 .swiper-slide-thumb-active,
.thumbsimg-m2 .swiper-slide-thumb-active,.thumbsimg-m3 .swiper-slide-thumb-active {
 opacity: 1; background-color: #000; }
.swiper-slide-thumb-active img { opacity: 0.6; }

.before-comment{
	padding-top: 10px;
    line-height: 1.5;
    height: 40px;
    display: inline-block;
}


/*******************************************************
 * Modal
 *******************************************************/
.modaal-wrapper .modaal-close, .modaal-close:focus, .modaal-close:hover { background: #c15352; }
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after,.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after { background: #fff; }

.modaal-content-container { padding: 20px 0; color: #565656; }
.mdetail > *:not(.mdet-comment) {
 margin: 20px auto;
 padding: 0;
 width: 90%;
 max-width: 750px;
}
.mdetail > div:first-of-type {
 display: flex;
 align-items: center;
 justify-content: center;
}
.mdetail > div:first-of-type figure { width: 50%; }
.mdetail > div:first-of-type dl {
 margin: 0 0 0 20px;
 padding: 0;
 width: 50%;
}
.mdetail > div:first-of-type dt {
 margin: 0;
 padding: 8px 0 6px;
 font-size: 13px;
}
.mdetail > div:first-of-type dd {
 margin: 0;
 padding: 0 0 18px;
 font-size: 25px;
 font-weight: bold;
 line-height: 1.3;
}
.mdetail > div:first-of-type dd:last-of-type { font-size: 18px; }

.mdetail.brilliant > div:first-of-type {
 display: block;
}
.mdetail.brilliant > div:first-of-type figure {
 margin-bottom: 15px;
 width: 46%;
 display: flex;
 justify-content: space-between;
}
.mdetail.brilliant > div:first-of-type figure img { margin: 0 4%; }
.mdetail.brilliant > div:first-of-type dl {
 margin: 0;
 width: 100%;
 text-align: center;
}


.mdetail.mwomen > div:first-of-type dt:first-of-type,
.mdetail.mwomen > div:first-of-type dd:first-of-type { color: #c15352; }
.mdetail.mmen > div:first-of-type dt:first-of-type,
.mdetail.mmen > div:first-of-type dd:first-of-type { color: #3670b0; }

.mdet-comment {
 margin-bottom: 50px;
 padding: 30px 0;
 width: 100% !important;
}
.mdet-comment > div {
 margin: 0 auto;
 width: 90%;
 max-width: 900px;
 display: flex;
 align-items: center;
}
.mdet-comment > div > div:first-of-type {
 padding-right: 20px;
 width: 70%;
}
.mdet-comment h4 {
 margin: 0 0 15px;
 font-size: 18px;
 font-weight: bold;
 text-align:left;
}
.hair .mdet-comment > div > div:first-of-type p {
 font-size: 13px;
 line-height: 1.8;
}
.hair .mdet-comment > div > div:last-of-type p {
 margin-top: 10px;
 font-size: 10px;
 line-height: 1.8;
 text-align: center;
}
.hair .mdet-comment div:last-of-type p span {
 font-size: 12px;
 font-weight: bold;
 display: block;
}
.mdet-comment figure { margin: 0 auto; width: 65%; }

.mdetail > h4 {
 font-size: 22px;
 font-weight: bold;
 letter-spacing: 0.1em;
 text-align: center;
}
.mdetail.mwomen > h4 { color: #c15352; } 
.mdetail.mmen > h4 { color: #3670b0; }
.mdetail > h4 span { display: none; }
.mdetail ul {
 margin: 0;
 padding: 0;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
}
.mdetail li {
 margin: 0 0 3%;
 padding: 0;
 width: calc(97% / 2);
 border: 1px solid #dedede;
 list-style: none;
 position: relative;
}
.mdetail li::after {
 content: "";
 width: 10px;
 height: 10px;
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin-top: -5px;
}
.mdetail.mwomen li::after {
 border-top: 3px solid #c15352;
 border-right: 3px solid #c15352;
}
.mdetail.mmen li::after {
 border-top: 3px solid #3670b0;
 border-right: 3px solid #3670b0;
}
.mdetail li a {
 margin: 0;
 padding: 8px 25px 8px 8px;
 font-size: 15px;
 font-weight: bold;
 line-height: 1.4;
 display: block;
 display: flex;
 align-items: center;
 cursor: pointer;
}
.mdetail li a img {
 margin-right: 12px;
 width: 25%;
}
.mdetail.mwomen li a { color: #c15352 }
.mdetail.mmen  li a { color: #3670b0; }
.mdetail li.selfbt { border: 1px dashed #c15352; opacity: 0.7; }
.mdetail.mmen li.selfbt { border: 1px dashed #3670b0; opacity: 0.7; }
.mdetail li.selfbt a {
 cursor: default;
 opacity: 0.6;
}
.mdetail li.selfbt::after { opacity: 0.5; }

.mdetail .backbtn {
 margin-bottom: 50px;
 font-size: 15px;
 text-align: center;
 letter-spacing: 0.1em;
}
.mdetail .backbtn a {
 display: inline-block;
 padding: 8px 30px;
 border-radius: 50px;
 color: #fff;
 text-decoration: none;
}
.mdetail.mwomen .backbtn a { background-color: #c15352; }
.mdetail.mmen .backbtn a { background-color: #3670b0; }

.bg-grid { background-size: 35px 35px; }


/*******************************************************
 * Typography
 *******************************************************/
.brpc { display: initial; }
 
.hair h2.balloon {
 padding-bottom: 50px;
 font-size: 50px;
}
 .hair h3 {
  margin: 80px auto 30px;
  font-size: 36px;
}
.hair h3.blue span:not(.brmb) { font-size: 20px; }
 
 
/*******************************************************
 * Contents
 *******************************************************/
.commentary {
 margin-bottom: 120px;
 padding: 10px 0 30px;
}
.hair .commentary h3 { margin-bottom: 40px; }
.commentary > div {
 margin: 0 auto 15px;
 padding: 0 0 0 30px;
}
.commentary > div {
 display: flex;
 justify-content: space-between;
}
.hair .commentary > div > p {
 width: 70%;
 box-sizing: border-box;
}
.commentary > div > div {
 display: initial;
 text-align: center;
}
.commentary > div figure {
    margin: 0 auto;
    width: 90%;
}
.hair .commentary > div > div p {
 margin: 10px 0 0;
 font-size: 13px;
 line-height: 1.4;
}
.hair .commentary > div > div p span {
 margin-top: 3px;
 font-size: 15px;
 font-weight: bold;
 display: block;
}


 
/*******************************************************
 * Tabs change
 *******************************************************/ 
.tab-label, .tab-switch { padding: 15px 20px; }
.women .tab-label::before {
 width: 10px;
 height: 10px;
 margin: 0 10px;
 border-bottom: 3px solid #c15352;
 border-right: 3px solid #c15352;
 margin-left: -10px;
}
.men .tab-label::before {
 width: 10px;
 height: 10px;
 margin: 0 10px;
 border-bottom: 3px solid #3670b0;
 border-right: 3px solid #3670b0;
 margin-left: -10px;
}
.tab-label figure { padding-right: 20px; width: 40%; }
.tab-label p span {
 margin-left: 8px;
 font-size: 45px;
 display: inline-block;
}
.tab-content {
 margin: 80px auto 0;
 width: 75%;
}
.visit figure { padding-right: 25px; }
.visit p span { font-size: 18px; }

.compare { margin-bottom: 0; }
.hair .compare > div p {
 margin-bottom: 8px;
 border: 2px solid #efefef;
 font-size: 20px;
}
.hair .women .compare > div.swiper p { border: 1px solid #c15352; }
.hair .men .compare > div.swiper p { border: 1px solid #3670b0; }

 
/*******************************************************
 * Carousel
 *******************************************************/
.thumbsimg-w1,.thumbsimg-w2,.thumbsimg-w3 { width: 40% !important; }
.thumbsimg-m1, .thumbsimg-m3 { width: calc((38.8% / 5) * 3) !important; }
.thumbsimg-m2 { width: calc((38.8% / 5) * 2) !important; }
 

/*******************************************************
 * Modal
 *******************************************************/ 
.mdetail > *:not(.mdet-comment):not(ul) {
 margin: 80px auto 30px;
 width: 80%;
} 
.mdetail > div:first-of-type dl { margin: 0 0 0 30px; }
.mdetail > div:first-of-type dt {
 padding: 0 0 7px;
 font-size: 13px;
}
.mdetail > div:first-of-type dd {
 padding: 0 0 20px;
 font-size: 27px;
 line-height: 1.4;
}
.mdetail.brilliant > div:first-of-type figure { margin-bottom: 3; } 
 
.mdet-comment { padding: 30px 0; }
.mdet-comment > div {
 width: 90%;
 max-width: 900px;
 display: flex;
 align-items: center;
}
.mdet-comment h4 {
 margin: 0 0 20px;
 font-size: 23px;
}
.hair .mdet-comment > div > div:first-of-type p {
 font-size: 14px;
 line-height: 1.8;
}
.hair .mdet-comment > div > div:last-of-type p {
 margin-top: 10px;
 font-size: 12px;
 line-height: 1.8;
}
.hair .mdet-comment div:last-of-type p span { font-size: 14px; }
.mdet-comment figure { margin: 0 auto; width: 65%; }
.mdetail > h4 { font-size: 24px; }
.mdetail li { margin-bottom: 2%; width: calc(98% / 2) }
.mdetail li::after {
 width: 14px;
 height: 14px;
 margin-top: -7px;
}
.mdetail > h4 {
 font-size: 24px;
 letter-spacing: 0.1em;
}
.mdetail > h4 span { display: initial; }
.mdetail li a {
 padding: 10px;
 font-size: 18px;
}
.mdetail li a img {
 margin-right: 20px;
 width: 25%;
}
.mdetail > p.backbtn {
 margin: 30px auto 60px;
 font-size: 17px;
}
.mdetail .backbtn a { padding: 12px 50px; }

.alert{
  background:#FF6766;
  color:#FFF;
  padding: 20px;
  line-height: 1.6em;
  font-size: 15px;
}



/******************************************************************
 * mobile Style: under 500px
 -----------------------------------------------------------------*/
@media print, screen and (max-width: 768px) {
.alert{
  font-size: 14px;
}
.hair h3 {
 margin: 30px auto 20px;
 font-size: 24px;
 font-weight: bold;
 text-align: center;
 line-height: 1.2;
 letter-spacing: 0.1em;
}
.hair .compare > div p {
 margin: 0 0 5px;
 padding: 2px;
 border: 1px solid #efefef;
 font-size: 14px;
 font-weight: bold;
 text-align: center;
 letter-spacing: 0.2em;
}

.brmb { display: initial; }

/* Tabs change ----------------------------------*/
.tab-wrap {
 width: 100vw;
 position: relative;
 margin-left: calc(-50vw + 50%);
 max-width: none; 
 margin-bottom: 0;
}
.tab-label, .tab-switch {
    padding: 10px 15px;
    width: calc(100% / 3);
}
.hair .tab-label p { font-size: 8px; margin: 0; line-height: 1.3;}
.tab-label p span { font-size: 22px; }
.tab-content {
 margin: 40px auto;
 padding: 0 5px;
 width: calc(100% - 30px);
}

.tab-label figure {
    padding-right: 10px;
    width: 100%;
}

.tab-label p span{
	margin-left: 0px;
}

/* Contents ----------------------------------*/
.commentary > div {
 padding: 0 5px;
 display: initial;
 width: calc(100% - 30px);
}
 
.commentary > div > div {
    display: flex;
    text-align: center;
}

.hair .commentary > div > p {
 padding-left: 5%;
 padding-right: 5%;
 width: 100%;
 box-sizing: border-box;
}

.hair .commentary > div > div p {
    margin: 10px 0 0;
    padding-right: 5%;
    font-size: 12px;
    line-height: 1.4;
}

.commentary > div figure {
    margin-right: 25px;
    width: 40%;
}


/* Tabs Change ----------------------------------*/
 .women .tab-label::before {
 content: "";
 width: 6px;
 height: 6px;
 margin: 0 6px;
 border-bottom: 2px solid #c15352;
 border-right: 2px solid #c15352;
 margin-left: -3px;
}
.men .tab-label::before {
 width: 6px;
 height: 6px;
 margin: 0 6px;
 border-bottom: 2px solid #3670b0;
 border-right: 2px solid #3670b0;
 left: 50%;
 margin-left: -6px;
}
 .women .tab-switch:checked+.tab-label::after {
 border-right: 8px solid transparent;
 border-left: 8px solid transparent;
 border-top: 11px solid #c15352;
 bottom: -11px;
 margin-left: -8px;
}
.men .tab-switch:checked+.tab-label::after {
 border-right: 8px solid transparent;
 border-left: 8px solid transparent;
 border-top: 11px solid #3670b0;
 bottom: -11px;
 margin-left: -8px;
}
 

/* Carousel ----------------------------------*/
.thumbsimg-w1,.thumbsimg-w2,.thumbsimg-w3,
.thumbsimg-m1,.thumbsimg-m2,.thumbsimg-m3 { padding: 10px 0; }


 /* Modal ----------------------------------*/
.mdetail > div:first-of-type dl { margin: 0 0 0 15px; }
.mdetail > div:first-of-type dt {
 margin: 0;
 padding: 6px 0 4px;
 font-size: 12px;
}
.mdetail > div:first-of-type dd {
 padding: 0 0 10px;
 font-size: 22px;
 line-height: 1.3;
}
.mdetail > div:first-of-type dd:last-of-type { font-size: 17px; }
.mdet-comment{ margin-bottom: 40px; }
.mdet-comment h4 {
 margin: 0 0 15px;
 font-size: 17px;
 text-align:left;
}
.mdet-comment > div {
 display: block;
 align-items: left;
}
.mdet-comment > div > div:first-of-type {
 padding: 0 0 15px;
 width: 100%;
}
.hair .mdet-comment > div > div:first-of-type p { font-size: 12px; }
.hair .mdet-comment > div > div:last-of-type {
 display: flex;
 align-items: center;
}
.hair .mdet-comment > div > div:last-of-type p {
 margin-right: 10px;
 font-size: 10px;
 text-align: left;
}
.hair .mdet-comment div:last-of-type p span {
 font-size: 12px;
 font-weight: bold;
 display: block;
}
.mdet-comment figure { margin: 0 auto; width: 40%; }
.mdetail > h4 {
 margin-bottom: 15px;
 font-size: 16px;
 letter-spacing: 0.05em;
}
.mdetail ul { margin-top: 15px; }
.mdetail li a {
 padding: 5px 18px 5px 5px;
 font-size: 11px;
}
.mdetail li::after {
 width: 8px;
 height: 8px;
 right: 8px;
 margin-top: -4px;
}
.mdetail.mwomen li::after {
 border-top: 2px solid #c15352;
 border-right: 2px solid #c15352;
}
.mdetail.mmen li::after {
 border-top: 2px solid #3670b0;
 border-right: 2px solid #3670b0;
}
 
.thumbsimg-w1, .thumbsimg-w2, .thumbsimg-w3, .thumbsimg-m1, .thumbsimg-m2, .thumbsimg-m3{
	margin-top: -77px;
}
 .before-comment{
 	height: 80px;
 }
 
}
 




