@charset "UTF-8";
/* =======================================
    style.css
========================================== */



/* common
========================================== */
* {
    margin: 0px;
    padding: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
ul {
    list-style-type: none;
    letter-spacing: -0.5em;
}
ul li {
    letter-spacing: normal;
}
a {
  text-decoration: none;
}
body {
  color: #313131;
}
p,h2,h3,h4,
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .block_head,
.simulation .sec_inner .simulation_area .simulation_wrap .num_block .block_head,
.simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_title {
    visibility: hidden;
}
p {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: .03em;
    font-weight: 500;
}
p,h2,h3,h4,a,li,dt,dd {
    font-feature-settings: "palt";
}
.wf-active p,
.wf-active h2,
.wf-active h3,
.wf-active h4,
.wf-active .simulation .sec_inner .simulation_area .simulation_wrap .item_block .block_head,
.wf-active .simulation .sec_inner .simulation_area .simulation_wrap .num_block .block_head,
.wf-active .simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_title {
    visibility: visible;
}
section img {
    opacity: 0;
    transition: all 0.6s;
}
section img.lazyloaded {
    opacity: 1;
}
.pc {
    display: block;
}
.sp {
    display: none;
}

/* section fv
========================================== */

.fv {
    background: #feefef url("../img/fv_bg.png") no-repeat center;
    position: relative;
    padding-top: 100px;
    padding-bottom: 0;
    box-shadow: inset 0px 0px 70px 0px #f1bcc7;
    z-index: 2;
}
.fv.btm {
    padding-top: 50px;
}
.fv .fv-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}
.fv .title {
    position: relative;
    right: -2em;
}
.fv .logo-hairup {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    margin: 0 -7em 3em 0;
}
.fv .logo-hairup h1 {
    display: table;
    width: 316px;
    height: auto;
}
.fv .logo-hairup .text {
    border-top: 1px solid #886346;
    border-bottom: 1px solid #886346;
    display: table;
    margin-right: 1.5em;
    padding: 0.5em 1.5em;
}
.fv .logo-hairup .text p {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: center;
    color: #886346;
    font-family: 'Noto Sans JP', sans-serif;  
}
.fv .catch {
    margin-bottom: 2.5em;
}
.fv .catch p {
    font-family: 'Noto Serif JP', serif;
    font-size: 46px;
    font-weight: bold;
    color: #886346;
    letter-spacing: 0.06em;
    text-align: right;
    line-height: 1;
}
.fv .catch p:first-child,
.fv .catch p:nth-child(2) {
    margin-bottom: 0.5em;
}
.fv .catch p:first-child {
    margin-right: -1em;
}
.fv .catch p:nth-child(2) {
    margin-right: 0;
}
.fv .catch p:nth-child(3) {
    margin-right: 1em;
}
.fv .lead {
    padding-right: 4em;
}
.fv .lead p {
    text-align: right;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    line-height: 1;
    font-size: 17px;
    letter-spacing: 0.095em;
    font-feature-settings: "palt";
}
.fv .lead p:first-child,
.fv .lead p:nth-child(2),
.fv .lead p:nth-child(3) {
    margin-bottom: 0.95em;
}
.fv .lead p:first-child {
    margin-right: -1em;
}
.fv .lead p:nth-child(2) {
    margin-right: 0;
}
.fv .lead p:nth-child(3) {
    margin-right: 1em;
}
.fv .lead p:nth-child(4) {
    margin-right: 2em;
}
.fv .fv-photo {
}
.fv.btm .title {
    right: 0;
}
.fv.btm .fv-photo {
    position: relative;
    right: -4em;
}

/* applybtn
========================================== */

.applybtn {
    display: table;
    margin: 4em auto;
    position: relative;
    z-index: 1;
}
.applybtn a:hover {
    filter: brightness(1.15);
}

/* section common
========================================== */
/*
"源暎ラテミン" licensed under the SIL Open Font License 1.1
https://okoneya.jp/font/genei-latin.html
*/

section {
    padding: 0 0 100px 0;
    position: relative;
}
section:before,
section:after {
    width: 60%;
    height: 50vh;
    padding-top: 84.6796657382%;
    content: "";
    display: block;
    position: fixed;
    opacity: 0.1;
    z-index: 1;
    background-size: contain !important;
}
section:before {
    background: url("../img/section_bg_right.png") no-repeat top right;
    top: 0;
    right: 0;
}
section:after {
    background: url("../img/section_bg_left.png") no-repeat bottom left;
    bottom: 0;
    left: 0;
}
section div,
section p {
    z-index: 2;
    position: relative;
}
.htitle {
    display: table;
    margin: 0 auto 2em auto;
    color: #e7316e;
    text-align: center;
}
.htitle p {
    font-size: 14px;
    margin-bottom: 0.3em;
}
.htitle h2 {
    line-height: 1;
}
p.lead {
    font-size: 15px;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 3em;
}
span.italic {
    font-family: "BIZ-UDPGothic-Bold", "BIZ UDPGothic", Raleway Dots, cursive;
}
.flexbox {
    display: flex;
    align-items: center;
}
section .inner {
    max-width: 1000px;
    margin: 0 auto;
}
p.note {
    font-size: 12px;
    line-height: 1.5;
}

/* section about
========================================== */

section.about {
    padding: 100px 0;
}
section.about .flexbox {
    justify-content: space-around;
}
section.about .fuki {
    background: #e54e81;
    padding: 2.5em 1.5em;
    position: relative;
    border-radius: 10px;
}
section.about .fuki:before {
    content: "";
    width: 16px;
    height: 51px;
    display: table;
    position: absolute;
    left: -15px;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/about_fuki.png") no-repeat;
}
section.about .fuki p {
    line-height: 1.8;
    color: white;
    font-size: 15px;
}

/* section plan
========================================== */

section.plan {
    background: #f5f1e9;
    padding-top: 100px;
}
section.plan ul.flexbox.anchor {
    justify-content: center;
    margin-bottom: 3em;
    position: relative;
    z-index: 2;
}
section.plan ul.flexbox.anchor li {
    text-indent: -999em;
    display: table;
    margin: 0 14px;
}
section.plan ul.flexbox.anchor li:first-child a {
    background-image: url("../img/anchor_taiken_off.png");
}
section.plan ul.flexbox.anchor li:first-child a:hover {
    background-image: url("../img/anchor_taiken_on.png");
}
section.plan ul.flexbox.anchor li:nth-child(2) a {
    background-image: url("../img/anchor_teigaku_off.png");
}
section.plan ul.flexbox.anchor li:nth-child(2) a:hover {
    background-image: url("../img/anchor_teigaku_on.png");
}
section.plan ul.flexbox.anchor li:nth-child(3) a {
    background-image: url("../img/anchor_standard_off.png");
}
section.plan ul.flexbox.anchor li:nth-child(3) a:hover {
    background-image: url("../img/anchor_standard_on.png");
}
section.plan ul.flexbox.anchor li a {
    display: table;
    width: 178px;
    height: 178px;
    background-repeat: no-repeat;
    background-size: contain;
    transition: all 0.6s;
}
section.plan .plan-title {
    background: white;
    border-radius: 8px 8px 0 0;
    text-align: center;
    padding: 1em 2em;
    display: table;
    margin: 0 auto;
}
section.plan .plan-title p {
    font-size: 15px;
    line-height: 1;
    margin-bottom: 0.5em;
    
}
section.plan .plan-title h3 {
    font-size: 35px;
    line-height: 1;
    color: #886346;
    font-weight: normal;
    letter-spacing: 0.05em;
    font-family: 'GenEiLateMin', sans-serif;
}
section.plan .white-box {
    background: white;
    border-radius: 8px;
    max-width: 1000px;
    padding: 2em 1.5em;
}
section.plan .flexbox.course {
    justify-content: space-around;
    margin-bottom: 2em;
}
section.plan #taiken,
section.plan #teigaku,
section.plan #standard,
section.plan #lineup-anchor {
    padding-top: 100px;
    margin-top: -100px;
}
.la {
    text-decoration: underline;
}
section.plan .flexbox.plan-btn {
    justify-content: space-around;
}
section.plan p.note {
    margin-bottom: 2em;
}
section.plan .flexbox.plan-btn li a:hover,
section.plan .teigaku-btn li:hover {
    filter: brightness(1.15);
}
section.plan .block-taiken,
section.plan .block-teigaku {
    margin-bottom: 5em;
}
section.plan .flexbox.watashi {
    justify-content: space-around;
    margin-bottom: 1em;
}
section.plan .flexbox.detail {
    justify-content: center;
    width: 90%;
    margin: 0 auto;
}
section.plan .flexbox.detail picture {
    flex-shrink: 0;
    padding-right: 2em;
}
section.plan .subtitle {
    background: #886346;
    border-radius: 1.5em;
    padding: 0.8em 2em;
    margin-bottom: 1em;
    display: table;
}
section.plan .subtitle h4 {
    font-family: 'GenEiLateMin', sans-serif;
    line-height: 1;
    font-size: 24px;
    color: white;
    font-weight: normal;
    letter-spacing: 0.03em;
}
section.plan .introduce1 {
    font-size: 20px;
    line-height: 1.8;
    margin-bottom: 1.3em;
}
section.plan .introduce2 {
    color: rgba(49,49,49,0.8);
    font-size: 14px;
}
section.plan .flexbox.teigaku-btn {
    justify-content: center;
}
section.plan .teigaku-btn li {
    width: 481px;
    height: 106px;
    display: flex;
    align-items: center;
    padding-left: 2em;
    background: url("../img/apply_btn_bg.jpg") no-repeat;
}
section.plan .teigaku-btn li a {
    color: white;
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
}
section.plan .teigaku-btn li a span {
    font-size: 70%;
    margin-left: 0.2em;
}
section.plan .block-teigaku .note {
    text-align: center;
}
section.plan .standard-lead {
    font-size: 20px;
    text-align: center;
    margin: 2em auto 2em auto;
    line-height: 1.5;
}
section.plan .simm-subtitle {
    background: #ff6599;
    border-radius: 1.5em;
    padding: 0.8em 2em;
    margin: 0 auto 1em auto;
    line-height: 1;
    display: table;
}
section.plan .simm-subtitle h4 {
    font-family: 'GenEiLateMin', sans-serif;
    line-height: 1;
    font-size: 24px;
    color: white;
    font-weight: normal;
    letter-spacing: 0.03em;
}
section.plan .desc_sub {
    text-align: center;
    font-size: 15px;
    line-height: 1;
    margin-bottom: 2em;
}

/* section simulation
========================================== */

.simulation {
  position: relative;
}
.simulation .sec_inner {
  /* position: relative;
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: auto; */
}
.simulation .sec_inner .title_area {
  flex-basis: 100%;
  text-align: right;
  margin-bottom: 50px;
}
.simulation .sec_inner .simulation_image_area {
  flex-basis: 100%;
  margin-bottom: 50px;
}
.simulation .sec_inner .simulation_image_area .inner {
  flex-basis: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.simulation .sec_inner .simulation_image_area .block {
}
.simulation .sec_inner .simulation_image_area .block .image_area {
  font-size: 0;
}
.simulation .sec_inner .simulation_image_area .block .image_area img {
  width: 100%;
}
.simulation .sec_inner .simulation_image_area .block p {
  font-size: 17px;
  text-align: center;
  line-height: 1;
  font-family: 'Playfair Display', sans-serif;
}
.simulation .sec_inner .simulation_360_area {
  position: relative;
  flex-basis: 100%;
  margin-bottom: 50px;
  padding: 50px 0 60px;
}
.simulation .sec_inner .simulation_360_area:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 350px;
  height: 1px;
  background-color: #000;
}
.simulation .sec_inner .simulation_360_area:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 350px;
  height: 1px;
  background-color: #000;
}
.simulation .sec_inner .simulation_360_area .head {
  line-height: 1;
  font-size: 21px;
  margin-bottom: 24px;
  text-align: center;
}
.simulation .sec_inner .simulation_360_area .desc {
  font-size: 18px;
  margin-bottom: 20px;
  text-align: center;
}
.simulation .sec_inner .simulation_360_area .btn_area {
  display: flex;
  justify-content: center;
  font-size: 0;
}
.simulation .sec_inner .simulation_360_area .btn_area .btn_360_01 {
  margin-right: 15px;
}
.simulation .sec_inner .simulation_360_area .btn_area .btn_360_01,
.simulation .sec_inner .simulation_360_area .btn_area .btn_360_02 {
  cursor: pointer;
}
.simulation .sec_inner .simulation_360_area .btn_area .btn_360_01 img,
.simulation .sec_inner .simulation_360_area .btn_area .btn_360_02 img {
  width: 290px;
  height: auto;
}
.simulation .sec_inner .simulation_area {
  flex-basis: 100%;
}
.simulation .sec_inner .simulation_area .desc {
  font-size: 21px;
  margin-bottom: 20px;
  text-align: center;
}
.simulation .sec_inner .simulation_area .simulation_wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding: 40px;
    background-color: #f5f1e9;
    border-radius: 8px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .block_head {
  flex-basis: 100%;
  font-size: 24px;
  line-height: 1;
  margin-bottom: 30px;
  font-family: 'GenEiLateMin', sans-serif;
  font-weight: normal;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .block_head span {
    font-size: 50%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin-left: 1em;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item {
  flex-basis:48%;
  display: flex;
  align-items: center;
  background-color: #fff;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .image {
  flex-basis: 100px;
  font-size: 0;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .image img {
  width: 100%;
  height: auto;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .checkbox {
  flex-basis: 100px;
  padding: 0 30px;
  font-size: 0;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .checkbox input[type="checkbox"] {
  width: 40px;
  height: 40px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .name {
  font-size: 20px;
  line-height: 1.2;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .name span {
  font-size: 70%;
}
.simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .name span.italic {
    font-size: 1em;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 50px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block .block_head {
  flex-basis: 100%;
  font-size: 24px;
  line-height: 1;
  margin-bottom: 30px;
  font-family: 'GenEiLateMin', sans-serif;
  font-weight: normal;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block ul {
  flex-basis: 100%;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  background-color: #fff;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li {
  flex-basis: 16.666%;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li:last-child {
  border-right: none;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block ul.micro li {
  flex-basis: 33.333%;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li label {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li label input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-right: 12px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block {
  position: relative;
  flex-basis: 100%;
  display: flex;
  background-color: #fff;
  padding: 0 0;
  margin-bottom: 24px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block:before {
  content: "";
  position: absolute;
  left: 50%;
  top: -17px;
  transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-right: 14px solid transparent;
  border-bottom: 17px solid #eee;
  border-left: 14px solid transparent;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_title {
    flex-basis: 18%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    font-size: 23px;
    background: #886346;
    color: white;
    font-family: 'GenEiLateMin', sans-serif;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_info {
    flex-basis: 49.7%;
    flex-flow: column;
    justify-content: center;
    display: flex;
    padding-left: 30px;
    position: relative;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_info:after {
    content: "";
    display: table;
    width: 2px;
    height: 70%;
    right: 0;
    position: absolute;
    border-right: 2px dotted #886346;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_result {
    flex-basis: 32.3%;
    flex-flow: column;
    justify-content: center;
    display: flex;
    padding: 2em 0 2em 30px;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_name {
    font-size: 20px;
    margin-bottom: 0.5em;
    line-height: 1;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_num {
  font-size: 24px;
  line-height: 1;
}

.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_price {
  font-size: 21px;
  letter-spacing: .1em;
  line-height: 1;
  margin-bottom: 0.3em;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.unit_price {
  font-size: 15px;
  line-height: 1;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_num span {
  font-size: 40px;
  font-weight: 500;
  padding-right: .5rem;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_price span {
  letter-spacing: normal;
  font-size: 40px;
  padding-right: .2em;
  line-height: 1;
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_price strong {
    font-size: 60%;
    font-feature-settings: "palt";
}
.simulation .sec_inner .simulation_area .simulation_wrap .result_block p.unit_price span {
  font-size: 30px;
  font-weight: 700;
  padding: 0 .5rem;
}
.simulation .sec_inner .simulation_area .simulation_wrap ul.ulAttention li,
section.plan ul.ulAttention li {
  font-size: 14px;
}

/* section style
========================================== */

section#style {
    padding: 100px 0;
}
section.style .blockstyle {
    display: table;
    margin: 0 auto;
}
.modal {
  position: relative;
  display: none;
  width: 100%;
  max-width: 1000px;
  background-color: #fff;
}
.modal.none {
	display: none;
}
.modal .modal-body {
  padding: 50px;
}
.modal .plainmodal-close {
  position: absolute;
  top: -58px;
  right: 0;
  width: 39px;
  height: 39px;
  background-image: url(../img/close.png);
  background-size: 100% auto;
  cursor: pointer;
}
.modal .modal-body .inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.modal .modal-body .inner .title_area {
  flex-basis: 26.666%;
  display: flex;
  flex-wrap: wrap;
}
.modal .modal-body .inner .title_area .logo {
  position: relative;
  flex-basis: 100%;
  margin-bottom: 30px;
}
.modal .modal-body .inner .title_area .logo .new {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 71px;
  height: 30px;
  background-image: url(../img/new.png);
  background-size: 100% auto;
}
#detail01_modal .modal-body .inner .title_area .logo img {
  width: 147px;
}
#detail02_modal .modal-body .inner .title_area .logo img {
  width: 114px;
}
#detail03_modal .modal-body .inner .title_area .logo img {
  width: 138px;
}
#detail04_modal .modal-body .inner .title_area .logo img {
  width: 113px;
}
.modal .modal-body .inner .title_area .name {
  flex-basis: 100%;
  font-size: 28px;
  line-height: 1.2;
  margin-bottom: 60px;
}
.modal .modal-body .inner .title_area .category {
  flex-basis: 100%;
  line-height: 40px;
  border: 1px solid #f38897;
  color: #f38897;
  border-radius: 10px;
  text-align: center;
}
.modal .modal-body .inner .desc_area {
  flex-basis: 68.888%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
.modal .modal-body .inner .desc_area .mater_area {
  flex-basis: 29%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.modal .modal-body .inner .desc_area .mater_area .range {
  flex-basis: 100%;
  margin-bottom: 16px;
}
.modal .modal-body .inner .desc_area .mater_area .amount {
  flex-basis: 100%;
}
.modal .modal-body .inner .desc_area .mater_area .range p {
  color: #000;
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 1;
}

.modal .modal-body .inner .desc_area .mater_area .amount p {
  color: #000;
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 1;
}
.modal .modal-body .inner .desc_area .mater_area .range .image,
.modal .modal-body .inner .desc_area .mater_area .amount .image {
  font-size: 0;
}
.modal .modal-body .inner .desc_area .mater_area .range .image img,
.modal .modal-body .inner .desc_area .mater_area .amount .image img {
  width: 100%;
  height: auto;
}

.modal .modal-body .inner .desc_area .icon_area {
  flex-basis: 64.5%;
}
.modal .modal-body .inner .desc_area .icon_area img {
  width: 100%;
  height: auto;
}
.modal .modal-body .inner .desc_area p.text_area {
  color: #000;
  flex-basis: 100%;
  font-size: 16px;
  line-height: 1.8;
  margin-top: 24px;
  padding-top: 20px;
  padding-right: 20px;
  border-top: 1px solid #dddddd;
}
.style_modal .modal-head {
  background-color: #fb9eab;
  color: #fff;
	padding: 0.5em 0;
  font-size: 20px;
  text-align: center;
}
.style_modal .modal-body {
  padding: 25px;
  background-color: #fcebef;
}
.style_modal .modal-body .title {
  color: #a0936b;
  font-size: 48px;
  margin-bottom: 16px;
  line-height: 1.1;
}
.style_modal .modal-body .desc {
  font-size: 19px;
  line-height: 1.5;
  color: #535353;
  margin-bottom: 40px;
}
.style_modal .modal-body .block {
  background-color: #fff;
  padding: 30px;
}
.style_modal .modal-body .block .txt_box {
  border-bottom: 1px solid #a3a3a3;
  padding-bottom: 12px;
  margin-bottom: 16px;
}
.style_modal .modal-body .block .txt_box .txt1 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 8px;
}
.style_modal .modal-body .block .course {
  font-size: 26px;
  line-height: 1.3;
  margin-bottom: 15px;
  color: #a0936b;
}
.style_modal .modal-body .block .txt_box .txt1 .txt1-1 {
  font-size: 22px;
  line-height: 1.333;
  background: #f38897;
  color: white;
  padding: 0.5em;
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: 0 auto 10px auto;
  text-align: center;
}
.style_modal .modal-body .block .txt_box .txt1 .txt1-1 span {
  font-size: 70%;
}
.style_modal .modal-body .block .txt_box .txt1 .txt1-2 {
  font-size: 28px;
  line-height: 1;
}
.style_modal .modal-body .block .txt_box .txt2 {
  display: flex;
	flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.style_modal .modal-body .block .txt_box .txt2 .txt2-1 {
  font-size: 17px;
  color: #fff;
  line-height: 37px;
  text-align: center;
  background-color: #afafaf;
  margin-bottom: 2%;
  letter-spacing: 0.1em;
  padding: 0 0.5em;
}
.style_modal .modal-body .block .txt_box .txt2 .txt2-2 {
  font-size: 19px;
  line-height: 1;
	margin-left: 5px;
}
.style_modal .modal-body .block .txt_box .txt2 .txt2-3 {
  font-size: 21px;
  line-height: 1;
}
.style_modal .modal-body .block .txt_box .txt2 .txt2-3 span {
  font-size: 43px;
  font-weight: 900;
}
.style_modal .modal-body .block .ulAttention {
  margin-bottom: 12px;
}
.style_modal .modal-body .block .ulAttention li {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 4px;
}
.style_modal .modal-body .block a.more {
  position: relative;
  display: block;
  line-height: 60px;
  text-align: center;
  color: #f38897;
  border: 2px solid #f38897;
  font-size: 19px;
}
.style_modal .modal-body .block a.more:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 27px;
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 10px;
  height: 15px;
  background-image: url(../img/arrow_style_modal.png);
  background-size: 100% auto;
}
section.style .style_desc {
    background: #fef8f9;
    border: 1px solid #ffabbd;
    padding: 5em 4em 3em 4em;
    margin: 2em auto 0 auto;
    position: relative;
}
section.style .ribbon {
    width: 286px;
    height: 53px;
    display: table;
    background-size: contain;
    position: absolute;
    top: -0.5em;
    left: -0.5em;
    text-indent: -999em;
}
section.style .ribbon.one {
    background-image: url("../img/style_ribbon1.png");
}
section.style .ribbon.two {
    background-image: url("../img/style_ribbon2.png");
}
section.style .ribbon.three {
    background-image: url("../img/style_ribbon3.png");
}
section.style .style_desc_inner {
    display: flex;
    align-items: center;
    justify-content: center;
}
section.style .info {
    text-align: center;
    flex-shrink: 0;
    margin: 0 4em 0 0;
}
section.style .info .course {
    margin-bottom: 1em;
    font-size: 22px;
    line-height: 1.8;
}
section.style .info img.course-img {
    margin: 0 auto;
    text-align: center;
}
section.style .blockstyle.style1 .info img.course-img {
    width: 272px;
}
section.style .blockstyle.style2 .info img.course-img {
    width: 434px;
}
section.style .blockstyle.style3 .info img.course-img {
    width: 429px;
}
section.style .style_btn p {
    font-weight: 600;
    line-height: 1.5;
    padding-left: 1em;
}
section.style .style_btn p span {
    font-size: 65%;
    display: block;
    font-weight: normal;
}
section.style .style_btn.price-std {
    color: #886346; 
    font-size: 22px;
    height: 85px;
    background: url("../img/style_btn_bg1.jpg") no-repeat;
    margin-bottom: 1em;
}
section.style .style_btn.price-tgk {
    color: #fff; 
    height: 126px;
    font-size: 30px;
    background: url("../img/style_btn_bg2.jpg") no-repeat;
}
section.style .style_btn {
    width: 450px;
    display: flex;
    align-items: center;
    background-size: contain;
    cursor: pointer;
}
section.style .style_btn:hover {
    filter: brightness(1.15);
}
section.style .blockstyle.style1,
section.style .blockstyle.style2 {
    margin-bottom: 150px;
}
section.style .blockstyle.style2 {
    display: none;
}
.style_modal.modal {
    max-width: inherit;
    width: auto;
}

/* section lineup
========================================== */

section.lineup {
    background: #fff2f5;
    padding: 100px 0;
}
section.lineup .arrow {
}
section.lineup table {
    width: 100%;
}
section.lineup table .arrow-text {
    width: 100%;
    margin: 0 0 10px 0;
    padding: 1em;
    display: flex;
    justify-content: space-between;
    background: url(../img/lineup_arrow_chart.png) no-repeat;
    background-size: 100% 100%;
}
section.lineup table .arrow-text p {
    line-height: 1;
    font-weight: 500;
}
section.lineup table .arrow-text p:first-child {
    color: #e54e81;
}
section.lineup table .arrow-text p:last-child {
    color: #fff;
    text-align: right;
    padding-right: 0.5em;
}
section.lineup table .product-name,
section.lineup table .price,
section.lineup table .price-attachment {
    width: 1em;
    padding-right: 10px;
    height: 100%;
}
section.lineup table .product-name-text,
section.lineup table .price-text,
section.lineup table .price-attachment-text {
    padding: 1em;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}
section.lineup table .product-name p,
section.lineup table .price p,
section.lineup table .price-attachment p {
    writing-mode: vertical-rl; 
    line-height: 1;
    color: white;
    font-weight: 500;
}
section.lineup table .product-name-text,
section.lineup table .price-attachment-text {
    background: #d6b296;
}
section.lineup table .price-text {
    background: #c09878;
}
section.lineup table .td1,
section.lineup table .td2,
section.lineup table .td3 {
    padding-right: 10px;
    vertical-align: top;
    width: calc(100% / 5);
    height: 100%;
}
section.lineup table .product-name-text,
section.lineup table .whitewrap.one {
    border-radius: 8px 8px 0 0;
}
section.lineup table .price-attachment-text,
section.lineup table .whitewrap.three {
    border-radius: 0 0 8px 8px;
}
section.lineup table {
    border-collapse: collapse;
    height: 100%;
}
section.lineup table .whitewrap img {
    width: 140px;
    height: auto;
}
section.lineup table .whitewrap {
    background: white;
    padding: 1.5em 1em;
    height: 100%;
    position: relative;
}
section.lineup table .whitewrap p {
    line-height: 1;
}
section.lineup table .whitewrap.two {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
section.lineup table .whitewrap.one:after,
section.lineup table .whitewrap.two:after {
    content: "";
    width: 80%;
    height: 1px;
    background: rgba(0,0,0,0.3);
    display: table;
    margin-top: 1em;
    position: absolute;
    bottom: 0;
    transform: translate(-50%, 0px);
    -webkit-transform: translate(-50%, 0px);
    -ms-transform: translate(-50%, 0px);
    left: 50%;
    right: 0;
}
section.lineup table .whitewrap p,
section.lineup table .whitewrap dt,
section.lineup table .whitewrap dd {
    font-feature-settings: "palt";
}

section.lineup .whitewrap.one p {
    background: #f2a0bb;
    border-radius: 5px;
    color: white;
    text-align: center;
    width: 100%;
    font-size: 14px;
    padding: 0.5em;
    margin: 0.8em 0 1em 0;
}
section.lineup .whitewrap.one dl dt {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 0.3em 0;
    line-height: 1.3;
}
section.lineup .whitewrap.one dl dd {
    font-size: 13px;
    font-weight: 500;
    color: rgba(49,49,49,0.8);
    line-height: 1.5;
    letter-spacing: 0.05em;
}
section.lineup table .whitewrap.two p:first-of-type {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0.5em;
}
section.lineup table .whitewrap.two p:first-of-type span {
    font-size: 60%;
}
section.lineup table .whitewrap.two p:nth-of-type(2) {
    font-size: 13px;
    line-height: 1.5;
    font-weight: 500;
}
section.lineup table .whitewrap.three {
    display: flex;
    justify-content: center;
    align-items: center;
}
section.lineup table .whitewrap.three p {
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}
section.lineup .liberte-box h2 {
    width: 480px;
    height: 124px;
    display: table;
    margin: 0 auto -1em auto;
    text-indent: -9999em;
    background: url(../img/lineup_liberte.png) no-repeat;
    position: relative;
    z-index: 3;
}
section.lineup .sentence {
    border-radius: 8px;
    padding: 5em 3em 3em 3em;
    background: white;
    width: 80%;
    margin: 0 auto;
}
section.lineup .liberte-box {
    margin: 5em auto 0 auto;
}
section.lineup .liberte-box h3 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 1em;
    letter-spacing: 0.05em;
}
section.lineup .liberte-box p {
    color: rgba(49,49,49,0.8);
    font-size: 15px;
    line-height: 2;
}
section.lineup .more-liberte a {
    font-size: 15px;
    font-weight: 500;
    display: table;
    position: relative;
    margin: 2em 0 0 auto;
    padding: 1em 2.5em 1em 1.5em;
    background: url(../img/lineup_btn_bg.jpg) no-repeat;
    background-size: 100% 100%;
    color: white;
    text-align: left;
    letter-spacing: 0.08em;
}
section.lineup .more-liberte a:hover,
section.originalhair .more-hairup a:hover {
    filter: brightness(1.15);
}

/* section originalhair
========================================== */

section.originalhair {
    padding: 100px 0;
}
section.originalhair ul {
    display: table;
    margin: 0 auto;
}
section.originalhair ul li {
    margin: 0 auto 100px auto;
}
section.originalhair ul li:last-child {
    margin: 0 auto;
}
section.originalhair .more-hairup {
    display: table;
    margin: 4em auto 0 auto;
}
section.originalhair .more-hairup a {
    width: 525px;
    height: 120px;
    font-size: 28px;
    font-weight: 500;
    display: table;
    position: relative;
    margin: 0 auto;
    padding: 1.5em 1.5em 1em 4em;
    background: url(../img/original_btn_bg.png) no-repeat;
    background-size: 100% 100%;
    color: white;
    text-align: center;
    letter-spacing: 0.08em;
}

/* section experience
========================================== */

section.experience {
    background: #f5f1e9;
    padding: 100px 0;
}
section.experience ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2em;
}
section.experience ul li:last-child {
    margin-bottom: 0;
}
section.experience ul li .photo {
    display: flex;
    align-items: flex-start;
}
section.experience ul li .photo picture {
    flex-shrink: 0;
}
section.experience ul li .num {
    padding-right: 0.8em;
}
section.experience ul li .num p {
    writing-mode: vertical-rl;
    font-size: 25px;
    font-weight: 500;
    color: #886346;
    line-height: 1;
    margin: 0 auto;
    padding-top: 0.5em;
}
section.experience ul li .fuki {
    position: absolute;
    z-index: 2;
    flex-shrink: 0;
    right: 0;
}
section.experience ul li:nth-child(even) .fuki {
    position: absolute;
    left: 0;
}
section.experience ul li:nth-child(even) .photo {
    margin: 0 0 0 auto;
    position: relative;
    z-index: 1;    
}

/* section qa
========================================== */

section.qa {
    padding: 100px 0;
}
section.qa dl {
    margin-bottom: 3em;
    letter-spacing: 0.05em;
}
section.qa dl dt,
section.qa dl dd {
    position: relative;
    display: flex;
}
section.qa dl dt {
    align-items: center;
    border-left: 4px solid #ff6599;
    background: #ffabbd;
    padding: 1em 2em;
}
section.qa dl dd {
    align-items: flex-start;
}
section.qa dl dt p {
    color: white;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.5;
    padding-left: 20px;
}
section.qa dl dt p,
section.qa dl dd p {
    letter-spacing: 0.10em;
}
section.qa dl dd {
    padding: 1em 2em;
}
section.qa dl dd p {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    padding-left: 30px;
}
section.qa dl dt:before {
    content: "Q.";
    color: white;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.5;
}
section.qa dl dd:before {
    content: "A.";
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
}

/* footer
========================================== */

footer {
    position: relative;
    z-index: 1;
}


@media screen and (max-width: 64em) {
    
    /* fv */
    
    .fv {
    }
    .fv.btm {
        padding-top: 0;
    }
    .fv.btm .title {
        right: -2em;
    }
    .fv.btm .logo-hairup {
        margin: 0 -3em 2em 0;
    }
    .fv .fv-inner {
        width: 95%;
    }
    .fv .logo-hairup {
        transform: scale(0.85);
        transform-origin: bottom right;
        margin: 0 -7em 2em 0;
    }
    .fv .catch {
        transform: scale(0.90);
        transform-origin: center right;
        margin-bottom: 2em;
    }
    .fv .catch p {
        font-size: 5vw;
        white-space: nowrap;
    }
    .fv .lead p {
        font-size: 1.8vw;
        white-space: nowrap;
    }
    .fv .fv-photo {
        transform: scale(0.90);
        transform-origin: bottom right;
    }
    .fv.btm .fv-photo {
        position: relative;
        right: 0;
    }
    .fv .logo-hairup .text p {
        font-size: 2vw;
    }
    .fv .logo-hairup h1 {
        width: 30vw;
    }
    
    /* apply btn */
    
    .applybtn {
        max-width: 80%;
    }
    
    /* section common */
    
    section .inner {
        width: 95%;
    }  
    section:before {
        width: 90vw;
    }
    
    /* section about */
    
    section.about .fuki {
        margin-left: 30px;
    }
    section.about .fuki {
        margin-left: 30px;
        padding: 1em 1.5em;
    }
    
    /* section plan */
    
    .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .name {
        font-size: 1.5rem;
        padding-right: 1em;
    }
    .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .checkbox input[type="checkbox"] {
        width: 30px;
        height: 30px;
    }
    .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .checkbox {
        flex-basis: unset;
        padding: 0 20px;
    }
    .simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li label {
        font-size: 1.6rem;
    }
    
    /* section style */
    
    section.style .style_desc {
        padding: 5em 2em 2em 2em;
    }
    section.style .btns-wrap {
        width: 60%;
    }
    section.style .style_btn {
        width: 100%;
        padding: 1em 0;
        background-size: 100% 100% !important;
    }
    section.style .style_btn.price-tgk {
        height: auto;
        font-size: 2rem;
    }
    section.style .style_btn.price-std {
        height: auto;
        font-size: 1.5rem;
    }
    section.style .info .course {        
        font-size: 1.6rem;
        line-height: 1.3;
    }
    section.style .info {
        width: 50%;
    }
    
    /* section experience */
    
    section.experience ul li .fuki {
        width: 50%;
    }
    section.experience ul li .photo picture {
        flex-shrink: initial;
    }
    section.experience ul li .photo {
        width: 55%;
    }
    
}


@media screen and (max-width: 767px) {

      .title_area .head_block p.head {
        font-size: 14px;
        line-height: 1.5;
        padding: 12px 0;
      }
      .title_area h1.title {
        font-size: 50px;
      }
      .title_area p.desc {
        font-size: 14px;
      }
      .container {
        padding-top: 120px;
      }
      section.about .sec_inner {
        padding: 0 25px 170%;
      }
      /* CPバナー挿入用 */
      section.about .sec_inner {
        padding: 0 25px 110%;
        }
      section.about .sec_inner .title_area {

      }
      section.about .sec_inner p.txt1 {
        font-size: 41px;
      }
      section.about .sec_inner p.txt2 {
        font-size: 15px;
      }
      section.about .sec_inner .image_area {
        bottom: 23.8%;
        right: -3.5%;
        top: auto;
        width: 93%;
      }
      /* CPバナー挿入用 */
    section.about .sec_inner .image_area {
        bottom: 5%;
    }    


      section.lineup {
        /* padding-bottom: 49.3%; */
      }
      section.lineup .sec_inner .title_area {
        padding: 0 25px;
        margin-bottom: 10.6%;
      }
      section.lineup .sec_inner .lineup_area {
        padding: 0 25px;
      }
      section.lineup .sec_inner .lineup_area .block,
      section.lineup .sec_inner .lineup_area .block:nth-child(n+3) {
        flex-basis: 100%;
        margin-bottom: 11.4%;
      }
      section.lineup .sec_inner .lineup_area .block:last-child {
        margin-bottom: 0;
      }
      section.lineup .sec_inner .arrow {
        width: 89px;
        margin-bottom: 15px;
        padding-left: 25px;
      }
      section.lineup .sec_inner .arrow img {
        width: 100%;
        height: auto;
      }
      section.lineup .sec_inner .table_outer {
        overflow-x: scroll;
        overflow-y: hidden;
        padding-bottom: 50px;
        padding-left: 25px;
        margin-bottom: 0;
      }
      section.lineup .sec_inner .lineup_table {
        min-width: 1000px;
        margin-bottom: 0;
        padding: 24px 16px;
      }
      section.lineup .sec_inner .lineup_table .top {
        margin-bottom: 16px;
      }
      section.lineup .sec_inner .lineup_table .name .items .block .desc .item_copy {
        font-size: 12px;
      }
      section.lineup .sec_inner .lineup_table .name .items .block .desc .item_name {
        font-size: 14px;
        white-space: nowrap;
      }
      section.lineup .sec_inner .lineup_table .row .items .block p {
        font-size: 12px;
        padding: 12px 0;
      }
      section.lineup .sec_inner .lineup_table .row.unit .items .block p {
        padding: 24px 0;
      }
      section.lineup .sec_inner .lineup_pr {
        display: none;
      }
      .simulation .sec_inner .title_area {
        padding: 0 25px;
        margin-bottom: 0;
      }
      .simulation .sec_inner .simulation_image_area {
        overflow-x: scroll;
        overflow-y: hidden;
        margin-bottom: 55px;
      }
      .simulation .sec_inner .arrow {
        width: 64px;
        margin-bottom: 15px;
        padding-left: 25px;
      }
      .simulation .sec_inner .arrow img {
        width: 100%;
        height: auto;
      }
      .simulation .sec_inner .simulation_image_area {
        padding-left: 25px;
      }
      .simulation .sec_inner .simulation_image_area .inner {
        min-width: 556px;
      }
      .simulation .sec_inner .simulation_image_area .block {
      }
      .simulation .sec_inner .simulation_image_area .block .image_area {
        margin-bottom: 16px;
      }
      .simulation .sec_inner .simulation_360_area {
        margin-bottom: 20px;
        padding: 25px 0 27px;
      }
      .simulation .sec_inner .simulation_360_area:before,
      .simulation .sec_inner .simulation_360_area:after {
        width: 230px;
      }
      .simulation .sec_inner .simulation_360_area .inner {
        max-width: 260px;
        margin: 0 auto;
      }
      .simulation .sec_inner .simulation_360_area .head {
        font-size: 14px;
        margin-bottom: 20px;
      }
      .simulation .sec_inner .simulation_360_area .desc {
        font-size: 13px;
      }
      .simulation .sec_inner .simulation_360_area .inner .btn_area {
        flex-wrap: wrap;
      }
      .simulation .sec_inner .simulation_360_area .btn_area .btn_360_01 {
        margin-bottom: 13px;
      }
      .simulation .sec_inner .simulation_360_area .btn_area .btn_360_01,
      .simulation .sec_inner .simulation_360_area .btn_area .btn_360_02 {
        flex-basis: 100%;
        margin-right: 0;
      }
      .simulation .sec_inner .simulation_360_area .btn_area .btn_360_01 img,
      .simulation .sec_inner .simulation_360_area .btn_area .btn_360_02 img {
        width: 100%;
        height: auto;
      }
      .simulation .sec_inner .simulation_area .desc {
        font-size: 16px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap {
        padding: 25px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block {
        margin-bottom: 30px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block .block_head {
        font-size: 15px;
        margin-bottom: 15px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item {
        flex-basis: 100%;
        margin-bottom: 15px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item:last-of-type {
        margin-bottom: 0;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .image {
        flex-basis: 73px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .checkbox {
        flex-basis: 72px;
        padding: 0 22px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .name {
        font-size: 16px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .item_block .item .checkbox input[type="checkbox"] {
        width: 28px;
        height: 28px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .num_block {
        margin-bottom: 30px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .num_block .block_head {
        font-size: 15px;
        margin-bottom: 15px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .num_block ul {
        background-color: transparent;
        flex-wrap: wrap;
        padding: 0;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li,
      .simulation .sec_inner .simulation_area .simulation_wrap .num_block ul.micro li {
        flex-basis: 49.23%;
        background-color: #eee;
        border-right: none;
        margin-bottom: 1.54%;
        padding: 12px 0;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li label {
        font-size: 16px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .num_block ul li label input[type="checkbox"] {
        width: 16px;
        height: 16px;
        margin-right: 10px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block:before {
        top: -14px;
        border-right: 10px solid transparent;
        border-bottom: 14px solid #eee;
        border-left: 10px solid transparent;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block {
        flex-wrap: wrap;
        padding: 0 0;
        margin-bottom: 0;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_title {
        flex-basis: 100%;
        border-right: none;
        border-bottom: 1px solid #d2d2d2;
        font-size: 4vw;
        min-height: inherit;
        padding: 1em 0;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_info {
        flex-basis: 100%;
        padding: 2em 0 2em 30px;
        border-right: none;
        padding: 14px 10px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_name,
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_num {
        font-size: 4vw;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_result {
        flex-basis: 100%;
        border-right: none;
        padding: 0 10px 10px 10px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_price {
        font-size: 20px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .result_block p.unit_price {
        font-size: 14px;
      }
      .simulation .sec_inner .simulation_area .simulation_wrap .ulAttention {
        padding-top: 20px;
      }


      section.style .sec_inner .style_block {
        padding: 56.66% 0 17.6% !important;
      }
      section.style .sec_inner .style_block.style_odd .style_block_top .style_before .icon,
      section.style .sec_inner .style_block.style_odd .style_block_top .style_after .icon,
      section.style .sec_inner .style_block.style_even .style_block_top .style_before .icon,
      section.style .sec_inner .style_block.style_even .style_block_top .style_after .icon {
        top: 2.5%;
        left: 0;
        width: 30%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_top {
        padding: 0 10px;
        margin-bottom: 74.6%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_top .style_num {
        left: 49.86%;
        top: -62.26%;
        width: 36%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_top .style_before {
        flex-basis: 68%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_top .style_after {
        bottom: -123%;
        right: -5%;
        width: 68%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_top .style_line {
        width: 4.666%;
        bottom: -17%;
        left: 51.2%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle {
        flex-wrap: wrap;
        padding: 0 25px;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_whole {
        flex-basis: 55.384%;
        margin-bottom: 72%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_whole figure {
        flex-basis: 100%;
          top: 0;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc {
        flex-basis: 100%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_bottom {
        margin-top: 0;
        padding-right: 0;
        top: 53.8%;
        right: -6.66%;
        left: auto;
        bottom: auto;
      }
      section.style .sec_inner .style_block.style_odd .style_block_bottom .style_arrange {
        flex-basis: 52.26%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_bottom .style_arrange p {
        font-size: 16px;
        padding-top: 0;
      }
      section.style .sec_inner .style_block.style_odd .style_block_bottom .style_line {
        top: -36.17%;
        left: 50%;
        width: 10.4%;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc {
        padding-bottom: 0;
          top: 0;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc .style_desc_inner .info p.course {
        font-size: 16px;
        margin-bottom: 6px;
      }

      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc .style_desc_inner .info p.price {
        font-size: 16px;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc .style_desc_inner .ulAttention {
        margin-bottom: 15px;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc .style_desc_inner .ulAttention li {
        font-size: 10px;
      }
      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc .style_desc_inner .style_btn {
        padding: 10px 64px 10px 0;
      }

      section.style .sec_inner .style_block.style_even .style_block_top {
        padding: 0;
        margin-bottom: 75.5%;
        margin-right: -6.666%;
      }
      section.style .sec_inner .style_block.style_even .style_block_top .style_num {
        top: -62.26%;
        left: 11.333%;
        width: 36%;
      }
      section.style .sec_inner .style_block.style_even .style_block_top .style_before {
        flex-basis: 60.25%;
        font-size: 0;
      }
      section.style .sec_inner .style_block.style_even .style_block_top .style_after {
        bottom: -123%;
        left: 5%;
        width: 59.75%;
      }
      section.style .sec_inner .style_block.style_even .style_block_top .style_line {
        width: 4.53%;
        bottom: -17.5%;
        left: 46.875%;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle {
        justify-content: flex-end;
        flex-wrap: wrap;
        padding: 0 25px;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_whole {
        order: 1;
        flex-basis: 55.384%;
        margin-bottom: 6.666%;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_whole figure {
        flex-basis: 100%;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc {
        order: 2;
        flex-basis: 100%;
      }

      section.style .sec_inner .style_block.style_odd .style_block_middle .style_desc .style_desc_inner .info img,
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc .style_desc_inner .info img {
        width: 90%;
      }		
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc {
        padding-bottom: 0;
          top: 0;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc .style_desc_inner .info {
        padding-bottom: 6px;
        margin-bottom: 10px;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc .style_desc_inner .info p.course {
        font-size: 16px;
        margin-bottom: 6px;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc .style_desc_inner .info p.price {
        font-size: 16px;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc .style_desc_inner .ulAttention {
        margin-bottom: 15px;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc .style_desc_inner .ulAttention li {
        font-size: 10px;
      }
      section.style .sec_inner .style_block.style_even .style_block_middle .style_desc .style_desc_inner .style_btn {
        padding: 10px 64px 10px 0;
      }
      section.attraction {
        padding: 18.13% 0 19.2%;
      }
      section.attraction .sec_inner .title_area {
        margin-bottom: 50px;
      }
      section.attraction .sec_inner .attraction_area .block {
        flex-wrap: wrap;
        margin-bottom: 11.466%;
      }
      section.attraction .sec_inner .attraction_area .block:last-of-type {
        margin-bottom: 0;
      }
      section.attraction .sec_inner .attraction_area .block:nth-child(odd) .attraction_image {
        order: 1;
        flex-basis: 100%;
        margin-bottom: 10%;
        margin-left: -14%;
      }
      section.attraction .sec_inner .attraction_area .block:nth-child(even) .attraction_image {
        order: 1;
        flex-basis: 100%;
        margin-bottom: 10%;
        margin-left: 14%;
        margin-right: -14%;
      }
      section.attraction .sec_inner .attraction_area .block .attraction_desc,
      section.attraction .sec_inner .attraction_area .block:nth-child(even) .attraction_desc {
        order: 2;
        flex-basis: 100%;
        position: static;
        padding: 0 25px;
        width: auto;
      }
      
      /* modal */
      
      .modal {
        width: calc(100vw - 50px)
      }
      .modal .plainmodal-close {
        top: -50px;
      }
      .modal .modal-body {
        padding: 25px 20px 16px;
      }
      .modal .modal-body .inner {
        flex-wrap: wrap;
      }
      .modal .modal-body .inner .title_area {
        flex-basis: 100%;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
      }
      .modal .modal-body .inner .title_area .name {
        order: 1;
        font-size: 24px;
        padding-bottom: 16px;
        margin-bottom: 20px;
        border-bottom: 2px solid #dddddd;
      }
      .modal .modal-body .inner .title_area .category {
        order: 2;
        flex-basis: 46.666%;
        font-size: 13px;
        line-height: 30px;
      }
      .modal .modal-body .inner .title_area .logo {
        order: 3;
        flex-basis: 46.666%;
        margin-bottom: 0;
        text-align: center;
      }
      #detail01_modal .modal-body .inner .title_area .logo img {
        width: 78px;
      }
      #detail02_modal .modal-body .inner .title_area .logo img {
        width: 106px;
      }
      #detail03_modal .modal-body .inner .title_area .logo img {
        width: 78px;
      }
      #detail04_modal .modal-body .inner .title_area .logo img {
        width: 92px;
      }
      .modal .modal-body .inner .desc_area {
        flex-basis: 100%;
      }
      .modal .modal-body .inner .desc_area .mater_area {
        flex-basis: 100%;
        margin-bottom: 20px;
      }
      .modal .modal-body .inner .desc_area .mater_area .range {
        flex-basis: 46.666%;
        margin-bottom: 0;
      }
      .modal .modal-body .inner .desc_area .mater_area .amount {
        flex-basis: 46.666%;
      }
      .modal .modal-body .inner .desc_area .mater_area .range p,
      .modal .modal-body .inner .desc_area .mater_area .amount p {
        font-size: 14px;
      }
      .modal .modal-body .inner .desc_area .icon_area {
        flex-basis: 100%;
      }
      .modal .modal-body .inner .desc_area p.text_area {
        margin-top: 16px;
        padding-top: 12px;
        font-size: 14px;
      }
      #detail01_modal .modal-body,
      #detail02_modal .modal-body,
      #detail03_modal .modal-body,
      #detail04_modal .modal-body {
        max-height: calc(100vh - 120px);
        overflow-y: scroll;
        -webkit-overflow-scrolling: auto;
        overflow-scrolling: auto;
      } 
    .style_modal {
        width: 100%;
        max-width: calc(100vw - 32px);
      }
      .style_modal .modal-head {
        font-size: 20px;
        line-height: 60px;
      }
      .style_modal .modal-body {
        padding: 30px 14px 20px;
        max-height: calc(100vh - 180px);
        overflow-y:scroll; 
        -webkit-overflow-scrolling: auto;
        overflow-scrolling: auto;
      }
      .style_modal .modal-body .title {
        font-size: 32px;
        padding: 0 10px;
      }
      .style_modal .modal-body .desc {
        padding: 0 10px;
        font-size: 16px;
        margin-bottom: 20px;
        white-space: nowrap;
      }
      .style_modal .modal-body .block {
        padding: 18px 16px;
      }
      .style_modal .modal-body .block .txt_box .txt1 .txt1-1 {
          font-size: 20px;
      }
      .style_modal .modal-body .block .txt_box .txt1 .txt1-2 {
        font-size: 20px;
      }
      .style_modal .modal-body .block .txt_box .txt2 .txt2-1 {
        line-height: 27px;
        font-size: 12px;
      }
      .style_modal .modal-body .block .txt_box .txt2 .txt2-2 {
        font-size: 14px;
          margin-right: 5px;
      }
      .style_modal .modal-body .block .txt_box .txt2 .txt2-3 {
        font-size: 16px;
      }
      .style_modal .modal-body .block .txt_box .txt2 .txt2-3 span {
        font-size: 250%;
      }
      .style_modal .modal-body .block .ulAttention li {
        font-size: 12px;
      }
      .style_modal .modal-body .block .ulAttention li br {
        display: none;
      }
      .style_modal .modal-body .block .txt_box .txt2 {
      }
      .style_modal .modal-body .block .course {
        font-size: 16px;
      }
      .style_modal .modal-body .block a.more {
        font-size: 16px;
        padding-right: 20px;
      }	
}

@media screen and (max-width: 42em) {
    
    /* common */
    
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    
    /* applybtn */
    
    .applybtn {
        max-width: 95%;
        margin: 0 auto 2em auto;
    }
    
    /* section common */
    
    .htitle p {
        font-size: 3.5vw;
        margin-bottom: 0;    
    }
    p.lead {
        margin-bottom: 2em;
        font-size: 3.8vw;
        line-height: 1.5;
        padding: 0 1em;
    }
    section:before {
        background: url("../img/section_bg_right_sp.png") no-repeat top right;
    }
    section:after {
        background: url("../img/section_bg_left_sp.png") no-repeat bottom left;
    }
    .htitle h2 img {
        transform: scale(0.7);
    }
    
    /* section fv */
    
    .fv {
        background: transparent;
        box-shadow: none;
        padding-top: 0;
        padding-bottom: 0;
    }
    .fv .fv-inner {
        width: 100%;
    }
    .fv .logo-hairup .text {
        display: none;
    }
    .fv .fvimg {
        max-width: 100%;
    }
    .fv .title {
        right: initial;
    }
    .fv.btm .title {
        right: 0;
    }
    .fv .lead {
        padding-right: 0;
        padding-top: 0.8em;
        padding-bottom: 0.8em;
    }
    .fv .lead p:first-child,
    .fv .lead p:nth-child(2),
    .fv .lead p:nth-child(3),
    .fv .lead p:nth-child(4) {
        margin-right: 0;
    }
    .fv .lead p {
        text-align: center;
        font-size: 3.5vw;
        margin-bottom: 0 !important;
        line-height: 1.5;
    }
    .fv .logo-hairup {
        display: none;
    }
    
    /* section common */
    
    section {
        padding: 0 0 3em 0;
    }
    
    /* section about */
    
    section.about {
        padding: 3em 0;
    }
    section.about .flexbox {
        flex-flow: column;
    }
    section.about .flexbox picture img {
        margin: 0 auto;
        width: 60vw;
    }
    section.about .fuki {
        margin-left: 0;
        margin-top: 20px;
    }
    section.about .fuki:before {
        transform: translate(-50%, 0px);
        -webkit-transform: translate(-50%, 0px);
        -ms-transform: translate(-50%, 0px);
        left: 50%;
        top: -16px;
        background: url(../img/about_fuki_sp.png) no-repeat;
        width: 52px;
        height: 16px;
    }
    section.about .fuki p {
        font-size: 3.5vw;
    }
    
    /* section plan */
    
    section.plan {
        padding-top: 3em;
    }
    section.plan .white-box {
        padding: 1.5em 1em;
    }
    section.plan ul.flexbox.anchor {
        margin-bottom: 0;
        width: 100%;
        justify-content: space-around;
    }
    section.plan ul.flexbox.anchor li {
        margin: 0 0;
    }
    section.plan ul.flexbox.anchor li a {
        width: calc(100vw / 3 - 20px);
        height: 0;
        padding-top: 100%;
    }
    section.plan ul.flexbox.anchor li:first-child a {
        background-image: url(../img/anchor_taiken_off_sp.png);
    }
    section.plan ul.flexbox.anchor li:first-child a:hover {
        background-image: url(../img/anchor_taiken_on_sp.png);
    }
    section.plan ul.flexbox.anchor li:nth-child(2) a {
        background-image: url(../img/anchor_teigaku_off_sp.png);
    }
    section.plan ul.flexbox.anchor li:nth-child(2) a:hover {
        background-image: url(../img/anchor_teigaku_on_sp.png);
    }
    section.plan ul.flexbox.anchor li:nth-child(3) a {
        background-image: url(../img/anchor_standard_off_sp.png);
    }
    section.plan ul.flexbox.anchor li:nth-child(3) a:hover {
        background-image: url(../img/anchor_standard_on_sp.png);
    }
    section.plan .flexbox.course {
        flex-flow: column;
        margin-bottom: 1em;
    }
    section.plan .flexbox.course li:first-child {
        /* margin-bottom: 1.5em; */
    }
    section.plan .plan-title p {
        font-size: 3.5vw;
    }
    section.plan .plan-title h3 {
        font-size: 6vw;
    }
    section.plan .flexbox.plan-btn {
        flex-flow: column;
    }
    section.plan .flexbox.plan-btn li:first-child {
        margin-bottom: 1em;
    }
    section.plan .flexbox.detail picture {
        flex-shrink: unset;
        padding-right: 1em;
    }
    section.plan .subtitle {
        border-radius: 10px;
    }
    section.plan .subtitle {
        border-radius: 10px;
        padding: 0.8em 1em;
        width: 100%;
    }
    section.plan .introduce1 {
        font-size: 3.5vw;
    }
    section.plan .introduce2 {
        font-size: 3.5vw;
        margin-bottom: 1em;
    }
    section.plan .subtitle h4 {
        font-size: 4vw;
        text-align: center;
    }
    section.plan .flexbox.detail {
        width: 100%;
        margin: 0 auto 1em auto;
    }
    section.plan .flexbox.watashi {
        flex-flow: column;
    }
    section.plan .flexbox.watashi li {
        margin-bottom: 1.5em;
    }
    section.plan .block-teigaku .note {
        text-align: left;
    }
    section.plan .teigaku-btn li {
        background-size: contain;
        padding-top: 22.0374220374%;
        height: 0;
        width: 100%;
        position: relative;
    }
    section.plan .teigaku-btn li a {
        font-size: 4.5vw;
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    section.plan .standard-lead {
        font-size: 3.8vw;
        margin: 0 auto 1em auto;
    }
    .simulation .sec_inner .simulation_image_area .block .image_area img {
        width: initial;
        max-width: initial;
    }
    .simulation .sec_inner .arrow {
        width: 30vw;
    }
    section.plan .simm-subtitle {
        border-radius: 10px;
        padding: 0.8em 1em;
    }
    section.plan .simm-subtitle h4 {
        font-size: 4vw;
    }
    section.plan .desc_sub {
        font-size: 3.8vw;
        line-height: 1.5;
    }
    section.plan .desc_sub {
        font-size: 3.8vw;
        line-height: 1.5;
        margin-bottom: 1.5em;    
    }
    .simulation .sec_inner .simulation_area .simulation_wrap .result_block .result_info:after {
        content: none;
    }
    .simulation .sec_inner .simulation_area .simulation_wrap .result_block p.result_num {
        border-bottom: 2px dotted #886346;
        padding-bottom: 1em;
    }
    .simulation .sec_inner .simulation_area .simulation_wrap .item_block .block_head span {
        display: block;
        margin-top: 0.5em;
        font-size: 80%;
    }
    section.plan ul.flexbox.anchor li:first-child a:hover {
        background-image: url(../img/anchor_taiken_off_sp.png);
    }
    section.plan ul.flexbox.anchor li:nth-child(2) a:hover {
        background-image: url(../img/anchor_teigaku_off_sp.png);
    }
    section.plan ul.flexbox.anchor li:nth-child(3) a:hover {
        background-image: url("../img/anchor_standard_off.png");
    }
    
    /* section style */
    
    section.style .style_desc {
        padding: 4em 1.5em 1.5em 1.5em;
        margin: 3em auto 0 auto;
    }
    section.style .style_desc_inner {
        flex-flow: column;
    }
    section.style .info {
        margin: 0 0 1em 0;
        width: 100%;
    }
    section.style .style_desc_inner {
        flex-flow: column;
    }
    section.style .info .course {
        line-height: 1.5;
        font-size: 4vw;
    }
    section.style .ribbon {
        transform: scale(0.8);
        transform-origin: top left;
    }
    section.style .btns-wrap {
        width: 100%;
    }
    section.style .style_btn.price-std {
        font-size: 4vw;
    }
    section.style .style_btn.price-tgk {
        font-size: 5vw;
    }
    section.style .blockstyle.style1,
    section.style .blockstyle.style2 {
        margin-bottom: 3em;
    }  
    
    /* section lineup */
    
    section.lineup table {
        width: 1000px;
    }
    section.lineup {
        padding: 3em 0;
    }
    section.lineup .table-wrap {
        width: 95%;
        overflow-x: scroll;
    }
    section.lineup .scroll {
        margin-bottom: 1em;
        width: 20vw;
    }
    section.lineup .liberte-box h2 {
        width: 100%;
        height: 0;
        background-size: contain;
        padding-top: 21.0169491525%;
        transform: scale(0.7);
        transform-origin: bottom center;
        position: relative;
        bottom: -1em;
    }
    section.lineup .liberte-box {
        margin: 1em auto 0 auto;
    }
    section.lineup .sentence {
        width: 90%;
        padding: 3.5em 1.5em 1.5em 1.5em;
    }
    section.lineup .liberte-box h3 {
        font-size: 5vw;
        line-height: 1.5;
        text-align: center;
    }
    section.lineup .liberte-box p {
        font-size: 3.5vw;
    }
    
    /* section original */

    section.originalhair {
        padding: 3em 0;
    }
    section.originalhair .catch {
        font-size: 6.7vw;
        color: #e54e81;
        font-family: 'GenEiLateMin', sans-serif;
        font-style: italic;
        letter-spacing: 0;
        font-weight: 600;
    }
    section.originalhair .catch span {
        color: #313131;
        font-size: 70%;
        font-family: 'Noto Sans JP', sans-serif;
        font-style: normal;
    }
    section.originalhair .description {
        font-size: 3.8vw;
        line-height: 1.8;
        color: rgba(49,49,49,0.8);
        margin: 2em auto 0 auto;
    }
    section.originalhair .description strong {
        background: linear-gradient(transparent 70%, #f9dba0 0, #f9dba0 100%, transparent 0%);
        border-bottom: 0;
    }
    section.originalhair ul li {
        margin: 0 auto 3em auto;
    }
    section.originalhair .more-hairup {
        width: 90%;
        margin: 2em auto 0 auto;
        position: relative;
        left: -1em;
    }
    section.originalhair .more-hairup a {
        width: 100%;
        height: 0;
        background-size: 100% 100%;
        font-size: 4.5vw;
        padding: 1.6em 1.5em 1em 4em;
    }
    
    /* section experience */
    
    section.experience {
        padding: 3em 0;
    }
    section.experience ul li {
        flex-flow: column;
    }
    section.experience ul li .num p {
        font-size: 5vw;
    }
    section.experience ul li .fuki {
        width: 70%;
        position: relative;
        margin: -3em 0 0 auto;
    }
    section.experience ul li:nth-child(even) .fuki {
        margin: -3em auto 0 0;
        position: relative;
        order: 2;
    }
    section.experience ul li:nth-child(2) .fuki {
        margin: -1.5em auto 0 0;
    }
    section.experience ul li:nth-child(5) .fuki {
        width: 76%;
    }
    section.experience ul li .photo {
        margin: 0 auto 0 0;
        position: relative;
        width: 80%;
    }
    section.experience ul li:nth-child(even) .photo {
        margin: 0 0 0 auto;
    }
    
    /* section qa */
    
    section.qa {
        padding: 3em 0;
    }
    section.qa dl {
        margin-bottom: 2em;
    }
    section.qa dl dt {
        border-left: 2px solid #ff6599;
        padding: 0.5em 1em;
    }
    section.qa dl dt p {
        font-size: 4.5vw;
        padding-left: 20px;
    }
    section.qa dl dd {
        padding: 0.5em 1em;
    }
    section.qa dl dd p {
        font-size: 3.8vw;
        padding-left: 30px;
    }
    section.qa dl dt:before {
        font-size: 4vw;
    }
    section.qa dl dd:before {
        font-size: 4vw;
    }    
}




