/* CSS Document */
/* 共通 予約フォームリンク */
section .reserve_title p a{
  color: #fff;
  text-decoration: underline;
}

@media screen and (min-width: 769px){
  /* TOP_お知らせ・リンク */

  .morebtn span {
    font-family : 'Marcellus', serif;
    font-size : 14px;
    line-height : 23px;
    letter-spacing : 2.8px;
    color : #FFFFFF;
    border: 1.2px #fff solid;
    display: inline-block;
    padding: 7.5px 20px 7.5px 28px;
    margin-top: 50px;
  }
  .morebtn.black span {
    color : #000;
    border: 1.2px #000 solid;
    display: inline-block;
  }
  .morebtn span:hover,  #header .mainmanu li .menu_more:hover {
    background: #fff;
    color : #e0b665;
  }
  .morebtn.black span:hover {
    color : #fff;
    border: 1.2px #e0b665 solid;
    background: #e0b665;
  }
  .morebtn span:after {
    content: "";
    background: url(/images/common/more_icon.png) no-repeat left top;
    width: 51px;
    height: 7px;
    display: inline-block;
    vertical-align: middle;
    margin: -5px 0 0 25px;
    -webkit-transition: all 1s ease-out;
    -moz-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    transition: all 1s ease-out;
  }
  .morebtn.black span:after {
    content: "";
    background: url(/images/common/more_icon_b.png) no-repeat left top;
  }
  .morebtn span:hover:after {
    content: "";
    background: url(/images/common/more_icon_on.png) no-repeat left top;
  }
  .morebtn.black span:hover:after {
    content: "";
    background: url(/images/common/more_icon_b_on.png) no-repeat left top;
  }
  /* #topread .txt{
    display: none;
  } */
  /* ここまで */

  /* 施術クッションページ */
  .cushion_title {
    background: #F3B65E;
    padding: 85px 50px 100px 50px;
    text-align: center;
    margin-bottom: 39.5px;
    min-width: 1126px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
  }
  .cushion_title h1 {
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.15em;
    margin-bottom: 50px;
    line-height: 1.8;
    font-size: 35px;
    font-weight: 600;
  }
  .cushion_title h1 .title_en {
    font-size: 16px;
    display: block;
    font-family: 'Marcellus', serif;
    letter-spacing: 0.15em;
    margin-top: 7px;
    font-weight: 400;
  }
  .cushion_title p {
    line-height: 2.1;
    font-weight: 400;
  }
  .cushion_title h1:after {
    content: "";
    background: #fff;
    width: 186px;
    height: 1px;
    display: block;
    margin: 30px auto 0 auto;
  }
  section.cushion_list {
    width: 1126px;
    margin: 100px auto 60px;
  }
  section .title_border {
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 20px;
    position: relative;
    padding-left: 40px;
    letter-spacing: 0.1em;
    margin: 35px auto;
    text-align: left;
  }
  section .title_border:before {
    content: "";
    background: #EFA951;
    width: 22px;
    height: 4px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .cushion_list ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 80px;
  }
  .cushion_list ul li{
    width: 258px;
    height: 480px;
    margin-left: 30px;
  }
  .cushion_list ul li:nth-child(4n+1) {
    margin-left: 0;
  }
  .cushion_list ul li:nth-child(n+5) {
    margin-top: 30px;
  }
  .cushion_list ul li a {
    display: block;
    background: #F3E7CC url(/images/outline/initiative_menu.png) no-repeat center bottom 30px;
    letter-spacing: normal;
    padding-bottom: 23px;
    position: relative;
    height: 100%;
    box-sizing: border-box;
  }
  .cushion_list ul li a:hover{
    background: #F3B65E url(/images/outline/initiative_menu_ov.png) no-repeat center bottom 30px;
    color: #fff;
  }
  .cushion_list ul li a img{
    display: block;
    width: 100%;
    height: auto;
  }
  .cushion_list ul li a h3 {
    font-family: 'Noto Serif JP', serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.3em;
    margin: 30px 0 0 0;
  }
  .cushion_list ul li a p {
    margin: 15px auto 0 auto;
    width: 230px;
    text-align: left;
    font-size: 12px;
    line-height: 2;
  }
  .title_ja{
    display: block;
    font-size: 14px;
    margin: 5px auto 0;
  }
    /* 診療一覧リンクボタン */
    .link_menu {
    width: 600px;
    margin: 101px auto 121px auto;
    }
    .link_menu .box_btn_hight60 {
    font-size: 17.4px;
    }
  /* ここまで */

  /* キャンペーンバナー */
  .campaign_banner_area{
    position: fixed;
    bottom: 150px;
    right: 20px;
  }

  .campaign_banner_area .hide_btn{
    position: absolute;
    top: -20px;
    right: -10px;
    width: 40px;
    height: 40px;
    z-index: 1;
    border: 1px #eeb860 solid;
    border-radius: 50%;
    background-color: #fff;
  }
  .campaign_banner_area .hide_btn::before ,
  .campaign_banner_area .hide_btn::after{
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    display: inline-block;
    width: 30px;
    height: 1px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #eeb860;
  }
  .campaign_banner_area .hide_btn::before{
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    right: 5px;
  }
  .campaign_banner_area .hide_btn::after{
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  .hide{
    display: none!important;
  }
  /* ここまで */
}

@media screen and (max-width: 768px){
  #topread .morebtn span{
    font-family: 'Marcellus', serif;
    font-size: calc(100vw / ( 750 / 22 ));
    line-height: calc(100vw / ( 750 / 64 ));
    display: inline-block;
    width: calc(100vw / ( 750 / 420 ));
    text-align: center;
    margin: 0 auto calc(100vw / ( 768 / 40 )) auto;
  }
  /* #topread .txt{
    display: none;
  } */
  /* ここまで */

  /* 施術クッションページ */
  .cushion_title{
    background: #F3B65E;
    padding: calc(100vw / ( 768 / 75 )) calc(100vw / ( 768 / 89 )) calc(100vw / ( 768 / 78 )) calc(100vw / ( 768 / 89 ));
    text-align: center;
    margin-bottom: calc(100vw / ( 768 / 60 ));
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
  }
  .cushion_title h1{
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.15em;
    line-height: 1.8;
    font-size: calc(100vw / ( 768 / 38 ));
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: calc(100vw / ( 768 / 38 ));
  }
  .cushion_title h1:after{
    content: "";
    background: #fff;
    width: calc(100vw / ( 768 / 186 ));
    height: 1px;
    display: block;
    margin: calc(100vw / ( 768 / 33 )) auto 0 auto;
  }
  .cushion_title h1 .title_en{
    font-size: calc(100vw / ( 768 / 20 ));
    display: block;
    font-family: 'Marcellus', serif;
    letter-spacing: 0.15em;
    margin-top: calc(100vw / ( 768 / 7 ));
    font-weight: 400;
  }
  .cushion_title p{
    line-height: 2.1;
    font-weight: 400;
    line-height: 1.8;
  }
  section.cushion_list{
    width: calc(100vw / ( 768 / 680 ));
    margin: calc(100vw / ( 768 / 100 )) auto 0 auto;
  }
  section .title_border ,
  .cushion_list ul li a h3 {
    font-family: 'Noto Serif JP', serif;;
    font-weight: 600;
    font-size: calc(100vw / ( 768 / 30 ));
    position: relative;
    padding-left: calc(100vw / ( 768 / 57 ));
    letter-spacing: 0.2em;
    margin-bottom: calc(100vw / ( 768 / 50 ));
    margin-top:calc(100vw / ( 768 / 67 ));
    text-align: left;
  }
  section .title_border:before ,
  .cushion_list ul li a h3::before {
    content: "";
    background: #EFA951;
    width: calc(100vw / ( 768 / 33 ));
    height: calc(100vw / ( 768 / 6 ));
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .cushion_list ul li {
    margin: calc(100vw / ( 768 / 32 )) auto calc(100vw / ( 768 / 32 )) auto;
    border-bottom: #B3B3B3 1px solid;
  }
  .cushion_list ul li:first-child {
    margin-top: 0;
  }
  .cushion_list ul li:last-child {
    border: none;
  }
  .cushion_list ul li a {
    display: flex;
    flex-direction: column;
    text-align: left;
  }
  .cushion_list ul li a picture ,
  .cushion_list ul li a img{
    order: 2;
  }
  .cushion_list ul li a h3 {
    order: 1;
    margin-top:calc(100vw / ( 768 / 32 ));
    background: url(/images/menu/icon_ya_sp.png) no-repeat right calc(100vw / ( 768 / 45 )) center;
    background-size: calc(100vw / ( 768 / 73 )) auto;
  }
  .cushion_list ul li a p {
    order: 3;
    line-height: 1.7;
    letter-spacing: 0.04em;
    text-align: left;
    padding: 1.3em 0.5em 0 0.9em;
    min-height: 5.5em;
    position: relative;
  }
  ul.manyitem{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
  ul.manyitem li {
    width: 46%;
    margin: 0 0 calc(100vw / ( 768 / 48 ));
    border: 1px #f3b660 solid;
  }
  ul.manyitem li:last-child {
    border: 1px #f3b660 solid;
  }
  ul.manyitem li a{
    background: url(/images/outline/initiative_menu.png) no-repeat center bottom calc(100vw / ( 768 / 40 ));
    padding: 0 0 calc(100vw / ( 768 / 80 )) 0;
  }
  ul.manyitem li a img{
    width: 80%;
    height: auto;
    margin: 0 auto;
  }
  ul.manyitem li a h3{
    background: none;
    text-align: center;
    padding: 0;
  }
  ul.manyitem li a h3::before{
    display: none;
  }
  .title_ja{
    display: block;
    font-size: calc(100vw / ( 768 / 23 ));
  }
    /* 診療一覧リンクボタン */
    .link_menu {
      width: calc(100vw / ( 768 / 680 ));
      margin: calc(100vw / ( 768 / 101 )) auto calc(100vw / ( 768 / 116 )) auto;
    }
    .link_menu .box_btn_hight60 {
      height: calc(100vw / ( 768 / 120 ));
      line-height: calc(100vw / ( 768 / 120 ));
    }
  /* ここまで */

  /* キャンペーンバナー */
  .campaign_banner_area{
    position: fixed;
    bottom: calc(100vw / ( 768 / 220 ));
    right: calc(100vw / ( 768 / 20 ));
    width: 60%;
  }
  .campaign_banner_area .hide_btn{
    position: absolute;
    top: calc(100vw / ( 768 / -20 ));
    right: calc(100vw / ( 768 / -10 ));
    width: calc(100vw / ( 768 / 60 ));
    height: calc(100vw / ( 768 / 60 ));
    z-index: 1;
    border: 1px #eeb860 solid;
    border-radius: 50%;
    background-color: #fff;
  }
  .campaign_banner_area .hide_btn::before ,
  .campaign_banner_area .hide_btn::after{
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    display: inline-block;
    width: calc(100vw / ( 768 / 40 ));
    height: 1px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #eeb860;
  }
  .campaign_banner_area .hide_btn::before{
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    right: 5px;
  }
  .campaign_banner_area .hide_btn::after{
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  .hide{
    display: none!important;
  }
  /* ここまで */
}
