@charset "UTF-8";
/*
Theme Name: hollywoman
Author: hollywoman
Description: WordPress Theme for hollywoman
Version: 1.0.0
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-size: 100%;
  vertical-align: baseline;
  word-break: break-all;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
html {
  overflow-y: scroll;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

input, textarea {
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}
dt {
      float: left ;
      width: 20px;
}
dd {
      margin-left: 25px;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

a:focus {
  outline: none;
}
*:focus {
outline: none;
}
html {
  font-size: 62.5%;
}
body {
  color: #000;
  background-color: #fff;
  font-family: 'Noto Serif JP', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
/* Windows 用 Medium 指定の游ゴシック */
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}
/* font-weight: bold の時は通常どおり Bold 書体を使わせる */
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

/*
utils
---------------*/
@media screen and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .sp {
    display: none !important;
  }
}

/*
アニメ
---------------*/
.fadeInDown {
  opacity : 0;
  transform: translateY(-30px);
  transition: 1s;
}
/*
アニメend
---------------*/
details summary::-webkit-details-marker {
  display: none;
}
.blockspace{
  padding: 40px 0;
}
.blockspace-bottom{
  padding: 0 0 40px 0;
}
.blockspace-top{
  padding: 40px 0 0 0;
}
img.bk{
  width: 100%;
}
h1, h2, h3, h4 {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .05em;
  font-size: 2.6rem;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  h1, h2, h3, h4 {
    font-size: 1.4rem;
  }
}
h2.pink{
  color: #d1111a;
  margin: 0 auto;
  padding: 20px 0;
}
h2.absolute{
  z-index: 999;
  position: absolute;
  padding-top: 80px;
  text-align: center;
  left: 0;
  right: 0;
  margin: auto;

}
h2.absolute_bottom{
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    position: absolute;
    text-align: center;
    right: 0;
    margin: auto;
}
h2 img.inst{
    height: 70px;
}
h2 img.inst_twoline{
    height: 140px;
}
.h2reset{
  padding: 0px 0 20px 0!important;
  }
table {
  color: #000;
  font-size: 1.6rem;
  line-height: 1.8;
}

p {
  color: #000;
  font-size: 2rem;
  line-height: 1.6;
}
p.big{
  font-size: 2.5rem;
}
span.pink{
  color: #d1111a;
}
span.gold{
  color: #9b793e;
}
.red{
  color: #d1111a;
}
@media screen and (max-width: 767px) {
  p {
    font-size: 1.4rem;
  }
}

a,a:hover,a:visited{
  color: #222;
}

small {
  font-size: 0.8em;
}
.overhidden{
  overflow: hidden;
}
img {
  vertical-align: bottom;
}
img.wid100{
  width: 100%;
}
img.widauto{
  width: auto;
}
img.heiauto{
  height: auto;
}
input[type="text"],
input[type="email"],
input[type="password"] {
  border: 1px solid #e9e9e9;
  padding: 0 10px;
  height: 2.5em;
  font-size: 1.5rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
}

@media screen and (max-width: 767px) {
  input[type="text"],
  input[type="email"],
  input[type="password"] {
    font-size: 1.3rem;
  }
}

textarea {
  border: 1px solid #e9e9e9;
  padding: 10px;
  font-size: 1.5rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
}

@media screen and (max-width: 767px) {
  textarea {
    font-size: 1.3rem;
  }
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input[type="checkbox"] {
  cursor: pointer;
}

select {
  border: 1px solid #e9e9e9;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 10px 60px 10px 10px;
  background-image: url(img/icon-select.png);
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 12px auto;
  background-color: #fff;
  outline: none;
  cursor: pointer;
  border-radius: 0;
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  select {
    font-size: 1.3rem;
  }
}

select::-ms-expand {
  display: none;
}
.top_border{
  top: 0;
  margin: 0;
  padding: 0;
  height: 5px;
  background-color: #f9e9e0;
}
button {
  border: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

.button,.button02 {
  position: relative;
  width: 240px;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  font-size: 1.6rem;
  margin: 10px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  opacity: 1;
  filter: alpha(opacity=100);
  zoom: 1;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
.button {
  font-family: "Big Caslon";
  color: #000!important;
  border:1px solid #000;
  padding: 20px 30px;
}
.button02 {
  font-weight: bold;
  background-color: #d1111a;
  padding: 20px 30px;
  color: #fff!important;
}
.button:hover,.button02:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  zoom: 1;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
a.button,a.button02 {
  text-decoration: none!important;
}

@media screen and (max-width: 767px) {
  .wrapper.wrapper-s {
    width:90%;
    margin: 0 auto;
  }
  .button {
    padding: 10px 40px;
    background-position: right 20px top 50%;
  }
  .button02 {
    padding: 15px 60px;
  }
}

.button.button-block {
  display: block;
}
.wrapper {
  position: relative;
  text-align: center;
}
.bg-pink{
  background-color: #f9e9e0;
}
.bk img{
  width: 100%;
  text-align: center;
}
.tategaki{
  text-orientation: upright; /* すべて縦方向に表示 */
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .wrapper {
    /*width: 1200px;*/
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .wrapper.wrapper-s {
    width: 700px;
  }
}
.flex{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center; /* 子要素をflexboxにより中央に配置する */
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
.align-center{
  text-align: center!important;
}
.align-left{
  text-align: left!important;
}
.p30{
  padding: 30px 0!important;
}
.pt30{
  padding-top: 30px!important;
}
.pb30{
  padding-bottom: 30px!important;
}
.mt30{
  margin-top: 30px!important;
}
.mt50{
  margin-top: 50px!important;
}
.mb10{
  margin-bottom: 10px!important;
}
.mb30{
  margin-bottom: 30px!important;
}
.mb50{
  margin-bottom: 50px!important;
}
.mr10{
  margin-right: 10px!important;
}
.ml10{
  margin-left: 10px!important;
}
.relative{
  position: relative;
}
/*ハンバーガーボタン*/
.el_humburger {
  position: fixed;
  top: 45px;
  right: 60px;
  width: 46px;
  height: 25px;
  padding-top: 1px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 0px;
  z-index: 999;
  cursor: pointer;
  pointer-events: auto;
  color: #000;
  text-align: center;
}
.el_humburger_wrapper {
  z-index: 999;
  margin-bottom: 5px;
  width: 42px;
  display: inline-block;
}
.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
  display: none;
} 
.el_humburger_text.el_humburger_text__close {
  display: none;
}
.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
  display: block;
}
.el_humburger span.el_humburger_bar {
  z-index: 999;
  display: block;
  width: 100%;
  margin: 0 auto 9px;
  height: 1px;
  background: #000;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
} 
.el_humburger span.el_humburger_bar:last-child {
  margin-bottom: 0; }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar {
  background: #000;
}
.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
  -webkit-transform: translateY(9px) rotate(-45deg);
  -ms-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
} 
.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
  opacity: 0;
} 
.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-11px) rotate(45deg);
  -ms-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
} 
.el_humburgerButton.el_humburgerButton__close {
  top: 2%;
  right: 2%; }
 
.el_humburgerButton__close span.el_humburger_bar {
  display: block;
  width: 35px;
  margin: 0 auto;
  height: 4px;
  background: #000; }
 
.el_humburgerButton__close span.el_humburger_bar.top {
  -webkit-transform: translateY(5px) rotate(-45deg);
  -ms-transform: translateY(5px) rotate(-45deg);
  transform: translateY(5px) rotate(-45deg); }
 
.el_humburgerButton__close span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-6px) rotate(45deg);
  -ms-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg); }
 
.navi {
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  width: 0;
  z-index: 999;
  padding-top: 70px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
  .js_humburgerOpen .navi {
    width: 450px; }
 
.navi_item {
  opacity: 0;
  font-size: 2rem;
  margin-bottom: 28px;
  white-space: nowrap;
  margin-left: 90px;
  -webkit-transform: translateX(200px);
  transform: translateX(200px);
  transition: opacity .2s ease, -webkit-transform .6s ease;
  transition: transform .6s ease, opacity .2s ease;
  transition: transform .6s ease, opacity .2s ease, -webkit-transform .6s ease;
}
.navi_item.op_innerLink {
  cursor: pointer;
}
.navi_item a,
.navi_item_sub a{
  text-decoration: none;
}
.navi_item_sub{
  opacity: 0;
  font-size: 1.5rem;
  margin-left: 90px;
  border-top:#28C9C4 1px solid;
  padding-top: 30px;
  -webkit-transform: translateX(300px);
  transform: translateX(300px);
  transition: opacity .2s ease, -webkit-transform .6s ease;
  transition: transform .6s ease, opacity .2s ease;
  transition: transform .6s ease, opacity .2s ease, -webkit-transform .6s ease;
}
.navi_item_sub a{
  display: block;
}
.js_humburgerOpen .navi_item,
.js_humburgerOpen .navi_item_sub {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  transition: opacity .9s ease, -webkit-transform 1s ease;
  transition: transform 1s ease, opacity .9s ease;
  transition: transform 1s ease, opacity .9s ease, -webkit-transform 1s ease;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
details summary {
    color: transparent;
}
details summary span {
    color: #000;
}
.page p {
    text-align: left;
    margin: 10px 0;
}
.inst_top{
  margin: 0 auto;
  text-align: center;
  }
.inst_top img.inst_top_logo{
  width: auto;
  margin: 20px auto;
}
.inst_top img.inst_top_img{
  width: 100%;
  margin: 0px auto;
}
.inst_menu a{
  margin:35px 0;
  display: block;
}
.threezero .bg{
  width: 80%;
}
.threezero .textbox{
  float: right;
  text-align: left;
    width: 70%;
    right: 0;
    margin-top: -60px;
    background-color: #fff;
    padding: 20px 0 20px 20px;
    border-left: #d1111a 1px solid;
}
.stepbtn{
  width: 200px;
}
.flow {
  border: 2px solid #d1111a;
}
.flow > li {
  padding: 30px;
}
.flow > li:not(:last-child) {
  border-bottom: 1px solid #d1111a;
  position: relative;
}
.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 15%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color:  #d1111a;
}
.flow > li:not(:last-child)::after {
  border-width: 21px;
  border-top-color: #fff;
}
.flow > li dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flow > li dl dt {
  color:  #d1111a;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 1vw;
  text-align: center;
}
.flow > li dl dt .icon {
    font-family: "ＭＳ ゴシック";
  font-size: 1.5rem;
  color: #fff;
  font-weight: bold;
  background:  #d1111a;
  padding: 5px 10px;
  display: block;
}
.box{
  border:1px solid #000;
  padding: 30px 20px;
  margin: 20px auto;
}
.boxopacity{
  background-color: #fff;
  opacity: 0.8;
  padding: 30px 20px;
  margin: 20px auto;
  width: 60%;
}
.box_white{
  background-color: #fff;
  padding: 50px;
  margin: 20px auto;
}
.radi40{
 /* border-radius: 40px;*/
}
.bnr_gray{
  border:1px solid #222;
  padding:5px 20px;
  margin: 20px auto;
  width: 310px;
  text-align: center;
}
.bnr_gray p{
    margin: 10px 0;
}

input[type="date"]{
    padding: 10px;
    font-size: 1.6rem;
}
/* お問い合わせ */
span.wpcf7-list-item{
  margin: 0!important;
}
div.wpcf7-response-output{
  font-size: 15px;
}
/* footer */
footer{
  text-align: center;
}
.footer_bg{
  padding: 30px 0;
  background-color: #F5F1ED;
}
.page_tit {
  display: inline-block;
  padding: 50px;
  background-color: #CAAA7A;
  margin: 0 auto 30px auto;
}
.page_tit h1{
    font-size: 3rem;
    text-align: center;
    font-weight: 300;
    letter-spacing: .2em;
}
.page_tit h2{
    font-size: 2.5rem;
    text-align: center;
    font-weight: 300;
    letter-spacing: .2em;
}
/* 予約フォーム */
.em-booking-form-details p {
  margin: 30px 0;
}
.em-form-required{
    background: #d54a41;
    color: #fff;
    padding: 5px 10px;
    font-size: 11px;
    line-height: 2.4rem;
    margin-left: 10px;
    letter-spacing: 1.1px;
    font-weight: bold;
}
table.em-tickets{
  border-collapse: separate;
  margin: 0px auto;
  padding: 20px;
  border: 1px solid #222;
  width: 100%;
  text-align: left;
}
tr.em-ticket th,
tr.em-ticket td{
  display: block;
}
.bookingcancelpolicy{
  background-color: #ffffff;
  margin: 0px auto;
  padding: 20px;
  border: 1px solid #e9e9e9;
  height: 8em;
  overflow-y: auto;
}
.bookingcancelpolicy p{
  font-size: 12px;
}
.em-booking-form p.mt-l {
    margin: 70px 0 0 0!important;
}
.em-booking-form-details{
  padding: 10px 0!important;
  width: 100%!important;
}
.em-booking-form label{
  display: block!important;
  float: none!important;
  width: 350px!important;
  margin-bottom: 10px;
}
.em-booking-form-details input.input{
  width: 250px!important;
}
.em-booking-form-details textarea{
  width: 100%!important;
}
.em-booking-form span.input-group{
    margin-left: 220px!important;
}
.em-booking-form span.input-group input{
  margin-left: 0!important;
}
label[for="booking_comment"],
label[for="booking_comment02"],
label[for="booking_comment03"] {
  width: 100%!important;
}
p.input-field-data_privacy_consent label{
  width: 100%!important;
  margin-bottom: 30px;
}
p.em-booking-gateway{
  text-align: center;
}
.em-booking-form label{
  text-align: left;
}
.em-booking-gateway  select{
  padding: 10px 30px 10px 10px;
  width: 100%;
  margin: 0 auto;
}
.em-booking-form-details .em-booking-submit{
  max-width: 320px;
  cursor: pointer;
  display: inline-block;
  background-color: #000;
  color: #fff!important;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 10px 0;
  padding: 30px 90px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
}
.ui-datepicker .ui-datepicker-title select {
  -webkit-appearance:button!important;
  background-image:none!important;
  margin: 0 3px!important;
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  justify-content: center; /* 子要素をflexboxにより中央に配置する */
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
.ui-widget-header{
  background: #222 url() 50% 50% repeat-x!important;
  border:none!important;
}
.ui-datepicker-title{
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
}
div.em-booking-message-success {
  background-color:#fff!important;
  border:1px solid #d1111a!important;
  color: #000!important;
  font-size: 1.6rem!important;
  line-height: 1.8!important;
  padding: 30px!important;
  text-align: left;
}
.em-warning-confirms {
  background-color:none!important;
  border:1px solid #28C9C4!important;
}
/*
@media screen and (min-width:1025px) and (max-width:1320px) {
  .menu_text:nth-child(odd),.menu_text:nth-child(even){
    border:none;
  }
}*/
@media screen and (max-width:1024px) {
  body{
    background-size: 90%;
  }
  h1, h2, h3, h4 {
    font-size:1.8rem;
  }
  h2.pink{
    font-size:1.8rem;
  }
  p {
    font-size: 1.5rem;
  }
  input[type="text"],
  input[type="email"],
  input[type="password"] {
    font-size: 1.3rem;
  }
  textarea {
    font-size: 1.3rem;
  }
  select {
    font-size: 1.3rem;
  }
 .boxopacity{
  width: 90%;
    padding:0px;
  }
  .navi_item,
  .navi_item_sub {
    margin-left: 0;
  }
  .el_humburger {
    display: block;
    right: 0;
    top: 0;
    padding-top: 20px;
    width: 70px;
    height: 70px;
  }
  .el_humburger_wrapper {
    margin-bottom: 5px;
    width: 30px;
  }
  .el_humburger_text {
    font-size: 10px;
    padding-top: 2px;
  }
  .el_humburger_text svg path {
    -webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    -o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    fill: #000;
  }
  .js_humburgerOpen .el_humburger_text svg path {
    fill: #000;
  }
  .el_humburger span.el_humburger_bar {
    left: 0;
    top: 0;
    background: #000;
  }
  .js_humburgerOpen .navi {
    width: 100%;
    padding: 70px 5% 0 15%;
  } 
  h2.absolute_bottom{
    width: fit-content;
  }
  h2 img.inst{
    height: 40px;
  }
  h2 img.inst_twoline{
    height: 80px;
  }
  h2.absolute{
    padding-top: 50px;
  }
  .inst_menu a img{
    height: 38px;
  }
  .threezero .textbox{
    margin-top: -20px;
  }
.box_white{
  padding: 20px;
}
.inst_top img.inst_top_logo{
  width: 75%;
}
.flow > li{
    padding: 30px 10px;
}
.flow > li dl dt{
    flex-basis: unset;
    width: 60px;
  }
.flow > li dl dt .icon{
    font-size: 1.3rem;
    width: 60px;
  }
.flow > li dl dd p{
    line-height: 1.4;
  }
  h2.absolute_bottom{
    bottom: 20px;
  }
  div.em-booking-message-success {
    font-size: 1.4rem!important;
  }
  label[for="sex"]{
    width: 50px!important;
  }
  p.input-field-sex span.input-group{
    margin-left:60px!important;
  }
  .page_tit{
    padding: 30px;
  }
  .page_tit h1{
    font-size: 2rem;
  }
  .page_tit h2{
    font-size: 1.5rem;
  }
  .ui-datepicker-title{
    display: block;
  }
  .ui-datepicker .ui-datepicker-title select {
    margin: 5px 0!important;
    padding: 5px;
    width: 100%!important;
    background-image: url(img/icon-select.png)!important;
  }
  .footericon a img{
    width: 35px;
  }
}



/*血流ゼロトレ---------------*/
.pb10{
  padding-bottom: 10px;
}
.box{
  background-color: #fff;
}
.gothic{
    font-family:"Noto Sans JP", MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ","Meiryo, sans-serif";
}
.serif{
  font-family: serif;
}
.under{
  text-decoration: underline;
}
.bold{
  font-weight: bold;
}
span.gold{
  color: #a67227;
}
h2.gold{
  color: #a67227;
  margin: 0 auto;
  padding: 20px 0;
}
h2.border {
    display: inline-block;
    padding: 15px 0;
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
    margin: 10px auto;
    font-size: 2.5rem!important;
}
.bg-gold{
  background-color: #caaa7a;
}
.bg-gold-thin{
  background-color: #D8CAA3;
}
.ketsuryu_btn{
  width: 350px;
}
#ketsuryu_body{
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
#ketsuryu_body h2.serif{
    font-family: serif;
    font-size: 3.8rem;
    color: #d1111a;
}
#ketsuryu_body h2 .sub{
    color: #000;
}
#ketsuryu_body h2[id]:before {
  display: block;
  height: 60px;
  margin-top: -60px;
  visibility: hidden;
  content: "";
}
#ketsuryu_header{
position: fixed;
width: 100%;
height: 60px;
background: #fff;
z-index: 9999;
box-shadow: 0 10px 10px rgba(0,0,0,0.1);
}
#ketsuryu_header .logo {
position: fixed;
z-index: 999;
width: 310px;
left: 90px;
top: 20px;
}

#ketsuryu_header .logo a img {
    width: 200px;
  }
#ketsuryu_header>.btn {
position: fixed;
z-index: 999;
width: 160px;
right: 90px;
top: 7px;
}


/*ファーストビュー画像ー---------------*/
.ketsuryu_top img.ketsuryu_top_img{
  width: 100%;
  margin: 60px auto 0 auto;
}

.ketsuryu_top_btn{
  margin: -1px 0 0 0;
  padding: 20px 0 40px 0;
  background-color: #AC8456;
}
.triangle:after {
    content: '\025bc';
    color: #AC8456;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 0;
    text-align: center;
    font-size: 3em;
    line-height: 0.6;
}
/*メディアー---------------*/
.ketsuryu_media{
    position: relative;
    padding: 40px 0;
  }
  .slidemedia{
    width: 100%;
    margin: 10px auto;
  }
  .slick-slide img{
    width: 100%;
    height: auto;
    margin-top: 20px;
  }
/*こんな人におすすめー---------------*/
.osusume{
    background: url(img/heart_bg.png) no-repeat right -20px top 10px;
    background-size: 50%;
}
.osusume h2 img{
    width: 530px;
    text-align: center;
    margin-bottom: 30px;
}
.osusume_tit{
    margin: 0 0 1em 0;
    padding: 20px 0 0 0;
}
.osusume_tit span{
font-size: 1.4em;
}
.osusume_inner{
    background: rgba(219,178,118,0.8);
    width: 90%;
    margin: 0 auto 40px auto;
    padding: 0 0 20px;
  }
.osusume_inner > ul{
    background: #fff;
    width: 84%;
    margin: 0 auto;
    padding: 5%;
    text-align: center;
}
.osusume_inner > ul li:before{
  content: '';
  width: 1em;
  height: 1em;
  background-image: url(img/check.png);
  background-size: contain;
  display: inline-block;
    margin-right: 3px;
}
.osusume_inner > ul li {
    font-size: 2rem;
    padding-top: 10px;
}

/*目次ー---------------*/
dl.list {
    width: 26em;
    margin: 0 auto 4em;
    font-size: 2em;
    line-height: 2.1;
    text-align: left;
    background-color: #fff;
    border: 2px solid #a67227;
    /*border-radius: 40px;*/
}
dl a{
    display: block;
    text-decoration: none;
}
.mokuji dl a{
    background: url(img/dot.svg) repeat-x;
    background-position: center bottom;
    background-size: 134px 2px;
    padding: 8px 0;
  }
dl.list dt {
  font-weight: bold;
clear: both;
float: left;
width: 5em;
padding: 0;
color: #d1111a;
}
dl.list  dd {
  font-weight: bold;
    padding: 0 0 0 5em;
    position: relative;
}
dl.list a dd:hover{
  opacity: .6;
}
dl.list a dd:after {
content: '▼';
padding-left: 10px;
color:#d1111a;
font-size: 0.6em;
position: absolute;
top: 0.9em;
}


/*講座の内容ー---------------*/

.ketsuryu_contents{
  font-family: serif;}
}
.ketsuryu_contents h2{
  font-weight: bold;
}
.ketsuryu_contents h3{
    font-size: 2.3rem;
  font-weight: bold;
}
.ketsuryu_contents .bg{
  width: 100%;
}
.ketsuryu_contents .textbox{
    text-align: left;
    width: 70%;
    right: 0;
    margin: 10px auto 80px auto;
    background-color: #fff;
    border:4px solid #c29c65;
    padding: 20px;
    top: -40px;
    z-index: 1000;
}

.ketsuryu_contents .textbox .serif{
    font-size: 1.5rem;
}

/*スケジュールー---------------*/
.schedule{
    background: url(img/schedule.png) no-repeat right top;
    background-size: contain;
    padding: 0 0 80px 0;
  }
  /* flex-schedul */
.flex-schedule {
  width: 100%;
  list-style: none;
  margin: 0 auto;
  box-sizing: border-box;
}

.flex-schedule li {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;

}

.flex-schedule .area {
  padding: 10px;
  display: block;
  width: 100%;
  border-left: 6px solid #a67227;
}

.flex-schedule li .time {
  margin-top: 20px; 
    width: 90px;
    justify-content: right;
    text-align: right;
    margin-top: 20px;
    margin-right: 20px;
}

.flex-schedule .sch_box {
  text-align: left;
  position: relative;
  min-height: 1em;
  padding: 1em;
  background: #D8CAA3;
  border-radius: 6px;
}

.flex-schedule .sch_box::before {
  content: "";
  position: absolute;
  left: -23px;
  top: 17px;
  background: #a67227;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}

/*講師紹介ー---------------*/
.prof{
    background: #fff;
    border: 2px solid #a67227;
    /*border-radius: 40px;*/
    padding: 30px;
}
.profimg{
  width: 300px;
  margin: 0 10px;
} 
.prof p{
  font-size: 1.5rem;
}


/*価格ー---------------*/
.price{
    background: url(img/price_bg.jpg) no-repeat center bottom;
    background-size: cover;
    height: 50vw;
  }


/*Q&Aー---------------*/
  .accordion {
  width: 100%;
  text-align: left;
  color: #000;
  font-size: 2rem;
  line-height: 1.6;
}

.accordion-hidden {
  display: none;
}
.accordion-open {
  display: block;
  padding: 30px 80px 30px 10px;
  background: #fff;
  cursor: pointer;
  position: relative;
}
.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background: #000;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}
.accordion-hidden:checked+.accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

.accordion-inner {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  margin:0 0 10px 0;
  background: #fff;
  /*
  transition: 0.5s;*/
}

.accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 10px;
}
.accordion_qa .Q,
.accordion_qa .A {
  font-family:"Noto Sans JP", MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ","Meiryo, sans-serif";
  position: relative;
}

.accordion_qa .Q::before,
.accordion_qa .A::before {
  font-size: 1.5em;
  display: block;
  position: absolute;
  top: -.6em;
  left: -1.3em;
}

.accordion_qa .Q::before {
  color: #CAAA7A;
  font-family: serif;
  content: 'Q.';
}

.accordion_qa .A::before {
  color: #CAAA7A;
  font-family: serif;
  content: 'A.';
}

.accordion_qa .accordion-open {
  padding-left: 2.5em;
}

/*VOICEー---------------*/
.balloon {
  width: 100%;
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon .faceicon {
  float: left;
  margin-right: -90px;
  width: 80px;
}

.balloon .faceicon img{
  width: 100%;
  height: auto;
  border: solid 3px #D8CAA3;
  border-radius: 50%;
}

.balloon .chatting {
  width: 100%;
}

.says {
  font-family:"Noto Sans JP", MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ","Meiryo, sans-serif";
  text-align: left;
  display: inline-block;
  position: relative; 
  margin: 5px 0 0 105px;
  padding: 17px 43px;
  border-radius: 12px;
  background: #D8CAA3;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #D8CAA3;
}

.says p.voice {
  font-size: 1.5rem;
}

.accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 10px 10px 10px 2.5em;
}
@media(max-width:780px){

.flex{
  display: block;
}

.ketsuryu_btn{
    width: 80%;
    margin: 0 auto;
  }
  h2.border{
    font-size: 2rem!important;
  }
#ketsuryu_header {
    height: 12.5vw;
}
#ketsuryu_header .logo {
width: 45vw;
left: 3vw;
top: 3vw;
}
#ketsuryu_header>.btn {
width: 36vw;
right: 2vw;
top: 2vw;
}
.ketsuryu_top img.ketsuryu_top_img{
    margin: 12vw 0 0;
}
.osusume h2 img{
  width: 100%;
}
  .osusume_inner > ul li {
    text-indent: -1.2em;
    font-size: 1.5rem;
    text-align: left;
    padding: 0.5em 0 0 1.2em;
  }
  dl.list{
    width: auto;
    font-size: 1.5rem;
    line-height: 3;
  }
  dl.list dt{
    width: 7em;
    font-size: 0.7em;
    padding-top: 0.7em;
}
  dl.list dd {
    padding: 0 0 0 10px;
  }
  .ketsuryu_contents h3{
    font-size: 1.7rem;
  }
  .ketsuryu_contents .textbox{
    top: -25px;
    width: 75%;
  }
  .ketsuryu_naiyou .box  span{
    font-size: 0.7em;
  }
  .schedule{
    padding: 40px 0 80px 0;
  }
  .flex-schedule li .time{
    margin-top: 22px;
  }
  .profimg{
    width: 100%;
    margin: 0;
  }

.stepbtn{
    width: 100%;
}
  .price{
    background-size: cover;
    height: 200vw;
  }

  .accordion {
    font-size: 1.5rem;
}

.balloon {
  width: 100%;
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon .faceicon {
  float: none; 
    margin: 0 auto;
    width: 100px;
}

.says {
    margin: 25px 0 30px 0;
}

.says:after {
    top: -10px;
    left: 48%;
    border-bottom: 12px solid #D8CAA3; 
    -webkit-transform: rotate(135deg);
    transform: rotate(-135deg);
}
.says p.voice {
    font-size: 1.3rem;
}
}
