@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/syomei/syomei_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
 *******************************************************/
.syomei .copy{
 font-size: 15px;
 text-align: center;
}
.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
 *******************************************************/
.syomei p {
 margin: 0 0 15px;
 font-size: 14px;
 line-height: 1.8;
}
.syomei h2.balloon {
 padding: 15px 10px 25px;
 font-size: 28px;
 font-weight: bold;
 line-height: 1.2;
 text-align: center;
}
.syomei .balloon span:first-of-type {
 display: block;
 margin: 0 auto 5px;
 width: 35%;
}

.syomei h3.title-blue {
 margin: 15px auto 10px;
 padding: 15px 20px;
 background-color: #fff;
 font-size: 22px;
 color: #3670b0;
 font-weight: bold;
 text-align: center;
 position: relative;
 border: solid 1px #3670b0;
 box-sizing: border-box;
}
.syomei h3.title-blue .stx { font-size: 19px; }
.syomei h3.title-blue:before {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  margin-left: -15px;
  border: 8px solid transparent;
  border-top: 8px solid #fff;
  z-index: 2;
}
.syomei h3.title-blue:after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 50%;
  margin-left: -15px;
  border: 8px solid transparent;
  border-top: 8px solid #3670b0;
  z-index: 1;
}
.syomei h3.title-blue img {
 margin: 0;
 width: 9%;
 position: absolute;
 top: -35%;
 left: -4%;
}
.commentary h4 {
 margin: 0 auto 10px;
 color: #3670b0;
 font-size: 20px;
 font-weight: bold;
 letter-spacing: 0.2em;
 text-align:center; 
}
.commentary h4 img { display: none; }

.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;
}


/*------------------------------------
   Links
 -----------------------------------*/
.linkadj {
 margin-top: -57px;
 padding-top: 57px;
}



/*******************************************************
 * Contents
 *******************************************************/
.commit {
 margin: 0 auto;
 padding: 0 0 5rem;
 max-width: 718px !important;
 display: flex;
 align-items: flex-start;
 justify-content: center;
}
.commit > div { width: 32.87%; max-width: 236px; }
.commit > div:nth-of-type(2) { width: 34.26%; max-width: 246px; }

.commentary {
 margin-bottom: 3rem;
 padding: 20px 0 10px;
}
.commentary > div {
 margin: 0 auto 10px;
 padding: 0 5px;
 width: calc(100% - 30px);
 max-width: 900px; 
}
.syomei .commentary p { font-size: 1.4rem; }
.commentary > div:nth-of-type(2){
 display: flex;
 align-items: center;
 justify-content: center;
}
.commentary > div:nth-of-type(2) figure {
 margin-right: 10px;
 width: 30%;
}
.syomei .commentary > div:nth-of-type(2) p {
 font-size: 12px;
 line-height: 1.4;
}
.syomei .commentary > div:nth-of-type(2) p span {
 margin-top: 3px;
 font-size: 14px;
 font-weight: bold;
 display: block;
}

.btnarea {
 padding-bottom: 30px;
 text-align: center;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}
.syomei .btnarea > p { margin: 0 1rem; }
.btnarea a {
 margin: 0 auto;
 padding: 4px 15px;
 width: 18em;
 color: #3670b0;
 border: 1px solid #3670b0;
 border-radius: 50px;
 text-decoration: none;
 text-align: center;
 font-weight: bold;
 display: inline-block;
 position: relative;
 -webkit-transition: all .3s;
 transition: all 1s;
}
.btnarea a:hover {
 background-color: #3670b0;
 color: #fff;
 opacity: 1;
}
.btnarea a::before {
 content: "";
 margin: auto;
 width: 8px;
 height: 8px;
 border-top: 2px solid #3670b0;
 border-right: 2px solid #3670b0;
 position: absolute;
 top: 0;
 bottom: 0;
 right: 15px;
 transform: rotate(45deg);
 -webkit-transition: all .3s;
 transition: all 1s;
}
.btnarea a:hover::before {
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
}

section > div.btnarea {
 margin-top: -40px;
 padding-bottom: 0;
}
.syomei .btnarea > p a {
 font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem)!important;
}
.btnarea a::before {
 width: 12px;
 height: 12px;
 border-top: 3px solid #3670b0;
 border-right: 3px solid #3670b0;
 right: 25px;
}
.btnarea a:hover::before {
 border-top: 3px solid #fff;
 border-right: 3px solid #fff;
}


.flength { padding: 40px 0; }
.flength h2 {
 margin: 30px auto 32px;
 color: #3670b0;
 font-size: 30px;
 font-weight: bold;
 text-align: center;
 letter-spacing: 0.2em;
}
.flength dl {
 margin: 0 auto;
 padding: 0;
 width: 90%;
 max-width: 900px; 
}
.flength dt {
 padding: 8px;
 font-weight: bold;
 letter-spacing: 0.1em;
 text-align: center;
}
.flength dt:first-of-type {
 background-color: #f5f5f5;
 color: #525151;
}
.flength dt:last-of-type {
 background-color: #f6f1e8;
 color: #bd944d;
}
.flength dd + dt { margin-top: 0; }
.flength dd {
 padding: 25px;
 background-color: #fff;
 line-height: 1.4;
}
.flength dd.darrow {
 padding: 10px;
 background-color: #e4f3f7;
 text-align: center;
}
.flength dt + dd { margin-top: 0; }
.flength dd.darrow img {
 margin: 0 auto;
 width: 10%;
}
.syomei .flength dd p {
 margin-bottom: 10px;
 font-size: 18px;
 font-weight: bold;
 line-height: 1.5;
 letter-spacing: 0.1em;
}
.flength dd:first-of-type {
 display: flex;
 align-items: center;
}
.flength dd:first-of-type figure {
 margin-left: 20px;
 padding-right: 30px;
 width: 40%;
}
.flength dd:first-of-type p { color: #3670b0; }
.flength dd:last-of-type p {
 padding: 20px 0 0;
 color: #bd944d;
}
.flength dd:last-of-type figure {
 margin: 0 auto;
 width: 80%;
}
.flength dd ul { margin: 0; }
.flength dd li {
 margin: 0 0 8px 0;
 font-size: 15px;
 list-style: none;
}
.flength dd:first-of-type li {
 padding-left: 30px;
 background: url("/wp/wp-content/themes/twentytwenty-child/img/syukatsu/syomei/ico_check.png") left top no-repeat;
 background-size: 1.2em;
}
.flength dd:last-of-type li { margin-left: 30px; }
.flength dd:last-of-type li::before {
 margin: 0 5px 0 -28px;
 color: #bd944d;
 font-weight: bold;
}
.flength dd:last-of-type li:first-child::before { content: "01."; }
.flength dd:last-of-type li:nth-child(2)::before { content: "02."; }
.flength dd:last-of-type li:last-child::before { content: "03."; }


.commentary {
 margin-bottom: 12px;
 padding: 10px 0 30px;
}
.commentary h3 { margin-bottom: 40px; }
.commentary > div {
 margin: 0 auto 15px;
 padding: 0 0 0 30px;
}
.commentary > div {
 display: flex;
 justify-content: space-between;
}
.commentary > div > p {
 padding-right: 5%;
 width: 75%;
}
.commentary > div > div {
 display: initial;
 text-align: center;
}
.commentary > div figure {
 margin: 0 auto;
 width: 90%;
}
.commentary > div > div p {
 margin: 10px 0 0;
 font-size: 13px;
 line-height: 1.4;
}
.commentary > div > div p span {
 margin-top: 3px;
 font-size: 15px;
 font-weight: bold;
 display: block;
}


/*******************************************************
 * Carousel
 *******************************************************/
section > div.swiper {
 margin-top: 0;
 width: 100%;
}
.swiper-wrapper {
 padding-bottom: 5.5%;
 width: 100%;
 height: 320px;
}
.swiper-slide {
 padding-top: 5%;
 width: 100%;
 height: 100%;
 display: flex;
 align-items: center;
}
.swiper-slide figure {
 padding: 0 5.5%;
 position: relative;
}
.swiper-slide figure img:last-of-type {
    width: 83px;
    height: auto;
    position: absolute;
    top: -2em;
    right: 0;
    z-index: 5;
}
.swiper-slide img { display: initial; }
.syomei .swiper-slide p {
 padding: 0 7% 0 0;
 width: 90%;
 font-size: 15px;
}
.swiper-pagination-bullet {
 background: #3670b0 !important;
}

.swiper-button-prev:after,
.swiper-button-next:after {
 font-family: initial;
 font-size: initial;
 text-transform: none !important;
 letter-spacing: 0;
 font-variant: initial;
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
 content: "";
}

.swiper-button-prev,
.swiper-button-next {
	margin-top: -14px;
	width: 80px;
	height: 80px;
	background-size: contain;
}
.swiper-button-prev {	background-image: url("/wp/wp-content/themes/twentytwenty-child/img/syukatsu/rec-child/arrowLeft.svg"); }
.swiper-button-next {
	background-image: url("/wp/wp-content/themes/twentytwenty-child/img/syukatsu/rec-child/arrowRight.svg");
 /*transform: scale(-1, 1);*/
}
.swiper-button-prev, .swiper-rtl .swiper-button-next { left: 0; }
.swiper-button-next, .swiper-rtl .swiper-button-prev { right: 0; }

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

 
/*******************************************************
  Typography
 *******************************************************/
.brpc { display: initial; }
.syomei p {
 margin: 0 0 20px;
 font-size: 18px;
}
.syomei h2.balloon {
 padding-bottom: 50px;
 font-size: 50px;
}
.syomei h3.title-blue {
 margin: 90px auto 20px;
 padding: 30px 20px;
 font-size: 40px;
 border: solid 2px #3670b0;
 letter-spacing: 0.05em;
}
.syomei h3.title-blue .stx { font-size: 32px; }
.syomei h3.title-blue:before {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 50%;
    margin-left: -15px;
    border: 8px solid transparent;
    border-top: 8px solid #fff;
    z-index: 2;
}
.syomei h3.title-blue:after {
    content: "";
    position: absolute;
    bottom: -17px;
    left: 50%;
    margin-left: -15px;
    border: 8px solid transparent;
    border-top: 8px solid #3670b0;
    z-index: 1;
}
.syomei h4 span { display: none; }
.syomei h4 img { display: initial; }
  

/*******************************************************
 * Contents
 *******************************************************/
.commit { padding-bottom: 80px; }
.entry-content > .fullw.commentary { margin-bottom: 60px; }
.syomei .commentary p { font-size: 16px; }
.commentary h3 {
 display: block;
 margin: 80px auto 30px;
 padding-left: 0;
 border-left: 0;
 font-size: 36px;
 font-weight: bold;
 text-align: center;
 line-height: 1.2;
 letter-spacing: 0.1em;
}
.commentary > div {
 margin: 0 auto 15px;
 padding: 0 0 0 30px;
}
.commentary > div > div {
 padding-top: 10px;
 align-items: center;
 justify-content: center;
}
.commentary > div > div p{
 line-height: 1.3;
 font-size: 13px;
}
.commentary > div > p {
 font-size: 16px;
 width: 70%;
}
.commentary > div:nth-of-type(2) {
 padding-bottom: 20px;
 justify-content: flex-start;
}
.commentary > div:nth-of-type(2) figure {
 margin-right: 20px;
 width: 42%;
}
.commentary > div figure {
 margin: 0 auto;
 width: 90%;
}
.commentary > div > div p span {
 font-size: 15px;
 font-weight: bold;
 display: block;
}
 
.flength { padding: 50px 0; }
.flength h2 {
 font-size: 48px;
 letter-spacing: 0.1em;
}
.flength dt {
 padding: 18px;
 font-size: 24px;
}
.flength dd { padding: 25px 60px 40px; }
.flength dd.darrow { padding: 25px; }
.syomei .flength dd p {
 margin: 10px 0 15px;
 font-size: 26px;
}
.flength dd:first-of-type { display: flex; }
.flength dd:first-of-type figure {
 margin-left: 30px;
 padding-right: 40px;
 width: 34%;
 text-align: right;
}
.syomei .flength dd:first-of-type p {
 margin: 20px 0;
 line-height: 1.5;
}
.flength dd:last-of-type p { padding: 20px 0 0; }
.flength dd:last-of-type figure { width: 60%; }
.flength dd li {
 margin: 0 0 10px 0;
 font-size: 20px;
 line-height: 1.5;
}
.flength dd:first-of-type li {
 padding-left: 35px;
 background-size: 1.2em;
}
.flength dd:last-of-type li::before {
 margin: 0 12px 0 -28px;
 color: #bd944d;
 font-weight: bold;
}
.flength dd:last-of-type li:first-child::before { content: "01."; }
.flength dd:last-of-type li:nth-child(2)::before { content: "02."; }
.flength dd:last-of-type li:last-child::before { content: "03."; } 

.syomei p.attention {
 margin: 0;
 padding-top: 40px;
}

@media print, screen and (min-width: 840px) {
.entry-content > .fullw.commentary { margin-bottom: 0 !important; }
}

/*******************************************************
 * Carousel
 *******************************************************/
section > div.swiper { margin-top: 20px; }
.swiper-wrapper {
 padding-bottom: 5%;
 width: 100%;
 height: 440px;
}
.swiper-slide figure { padding: 0 5% 0 10%; }
.syomei .swiper-slide p {
 padding: 0 10% 0 0;
 width: 60%;
 font-size: 18px;
} 
.swiper-pagination-bullet {
 margin: 0 0 0 10px !important;
 width: 12px !important;
 height: 12px !important;
}



/******************************************************************
 * mobile Style: under 768px
 -----------------------------------------------------------------*/
@media print, screen and (max-width: 768px) {
.syomei p {
 margin: 0 0 15px;
 font-size: 14px;
 line-height: 1.8;
}
.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;
}
.syomei h2.balloon {
 padding: 15px 10px 25px;
 font-size: 28px;
 font-weight: bold;
 line-height: 1.2;
 text-align: center;
}
.brmb { display: initial; }
.syomei h3.title-blue {
 margin: 30px auto 10px;
 padding: 15px 12px;
 background-color: #fff;
 font-size: 22px;
 color: #3670b0;
 font-weight: bold;
 text-align: center;
 position: relative;
 border: solid 1px #3670b0;
 box-sizing: border-box;
}
.syomei h3.title-blue .stx { font-size: 15px; }
.syomei h3.title-blue img {
 width: 11%;
 top: -35%;
 left: -5%;
}
.syomei .copy{
 text-align: left;
 font-size: 0.9em;
 padding-top: 10px;
}
.flength h2 {
 margin: 10px auto 25px;
 font-size: 22px;
}
.flength h2 .sub-ttl{
 display: block;
 padding-top: 10px;
 font-size: 16px;
}
.flength dl {
 padding: 0;
 width: 100%;
}
.flength dd { padding: 20px; }
.syomei .flength dd p {
 margin-bottom: 10px;
 font-size: 15px;
 line-height: 1.3;
}
.flength dd li {
 margin-bottom: 5px;
 font-size: 13px;
}
.flength dd:first-of-type li { background-size: 1.2em; }
.flength dd:first-of-type figure {
 margin-left: 0;
 padding-right: 15px;
 width: 60%;
}

/* Carousel -------------------------------------*/
section > div.swiper { margin: 0 0 10px; }
.swiper-slide figure + p { margin-top: 10px; }
.swiper-slide img { width: 70%; }
.swiper-wrapper { height: auto; }
.syomei .swiper-slide p {
 padding: 10px 10% 10px 10%;
 margin-bottom: 0px;
 width: 100%;
 text-align: left;
 box-sizing: border-box;
 font-size: 12px;
}
.swiper-slide { padding-top: 5%; display: block; text-align: center;}
.swiper-slide figure { padding:0; }
.swiper-slide figure img:last-of-type {
 width: 83px;
 bottom: -0.7em;
 top: initial;
 right: 0.7em;
} 
.swiper-button-prev,
.swiper-button-next {
	margin-top: -10px;
	width: 60px;
	height: 60px;
	background-size: contain;
}

/*******************************************************
 * Contents
 *******************************************************/
.commentary {
 margin-bottom: 30px;
 padding: 10px 0 30px;
}
.commentary h3 {
 margin: 30px auto 20px;
 font-size: 24px;
 font-weight: bold;
 text-align: center;
 line-height: 1.2;
 letter-spacing: 0.1em;
}
.commentary > div {
 padding: 0 5px;
 width: calc(100% - 30px);
}
.commentary > div {
 display: block;
 justify-content: space-between;
}
.commentary > div > p {
 padding-right: 0%;
 width: 100%;
}
.commentary > div > div {
 padding-top: 10px;
 display: flex;
 align-items: center;
 justify-content: center;
}
.commentary > div figure {
 margin-right: 25px;
 width: 40%;
}
.commentary > div > div p {
 margin: 1px 0 0;
 font-size: 12px;
 line-height: 1.4;
}
.commentary > div > div p span {
 margin-top: 3px;
 font-size: 12px;
 font-weight: bold;
 display: block;
}

.swiper-pagination-bullet {
 margin: 0 0 0 10px !important;
 width: 8px !important;
 height: 8px !important;
}
.syomei .commentary p { font-size: 14px; }
.syomei .btnarea > p { margin: 0 10px 20px; }
.btnarea a::before {
 content: "";
 margin: auto;
 width: 8px;
 height: 8px;
 border-top: 2px solid #3670b0;
 border-right: 2px solid #3670b0;
 position: absolute;
 top: 0;
 bottom: 0;
 right: 15px;
 transform: rotate(45deg);
 -webkit-transition: all .3s;
 transition: all 1s;
}
}

@media print, screen and (max-width: 840px) {
section > div.btnarea { flex-wrap: wrap;}
.syomei .btnarea > p { margin: 0 10px 20px; }
 
}
