.page_title{
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
  max-width: 1480px;
  }

.box{
  max-width: 800px; /* 最大幅 */
  min-width: 320px; /* 最小幅 */
}

@media screen and (min-width:960px){
  .box {
    display: flex;
  }
}

@media screen and (max-width:730px){
  .box{
   min-width: none;
  }
}

.box_jp{
    max-width: 400px;
    width:100%
}

.midashi_jp{
  font-weight: bold;
  color:#404040;
  font: 3.2rem "Lato", sans-serif;
  letter-spacing: 0.08em;
  }

  @media screen and (max-width:450px){
    .midashi_jp{
      font: 1.5rem "Lato", sans-serif;
      font-weight: bold;
    }
  }
  
.box_eng{
  height: 20px;
  margin-top: 45px;
}

@media screen and (max-width:959px){
  .box_eng{
    height: 20px;
    margin-top: 10px;
  }
}

.midashi_eng{
  font-size: 14px;
  color:#404040;
  letter-spacing: .5em;
}

/* sale-banner */
@media screen and (min-width:450px){
  .coupon_responsive {
    display: none;
  }
}
@media screen and (max-width:449px){
  .coupon {
    display: none;
  }
}

.banner_button{
    display: flex;
    position: relative;
}

.banner_button_responsive{
  display: flex;
  position: relative;
}

.coupon_img{
    width: 70%;
    display: flex;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 30px;
}

@media screen and (max-width:700px){
  .coupon_img{
    width: 100%;
    display: flex;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}

.coupon_responsive_img{
  width: 100%;
  display: flex;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 30px;
}

.banner_button>span{
    position: absolute;
    left: 50%; /* ボタンの横位置 */
    top: 80%; /*ボタンの縦位置*/
    transform: translate(-50%,-50%);
    box-sizing: border-box;
    background: #FFF;
    border: 2px solid #FFF;
    border-radius: 60px;
    color: #ffcf8c;
    display: flex;
    font-weight: bold;
    max-width: 300px;
    padding: 15px 40px;
    font-size: 120%;
    transition: .3s;
}

@media screen and (max-width:1200px){
  .banner_button>span{
    position: absolute;
    left: 50%; /* ボタンの横位置 */
    top: 75%; /*ボタンの縦位置*/
    transform: translate(-50%,-50%);
    box-sizing: border-box;
    background: #FFF;
    border: 2px solid #FFF;
    border-radius: 60px;
    color: #ffcf8c;
    display: flex;
    font-weight: bold;
    max-width: 300px;
    padding: 15px 40px;
    font-size: 100%;
    transition: .3s;
  }
}

.banner_button_responsive>span{
  position: absolute;
  left: 50%; /* ボタンの横位置 */
  top: 72%; /*ボタンの縦位置*/
  transform: translate(-50%,-50%);
  box-sizing: border-box;
  background: #FFF;
  border: 2px solid #FFF;
  border-radius: 60px;
  color: #ffcf8c;
  display: flex;
  font-weight: bold;
  max-width: 300px;
  padding: 15px 20px;
  font-size: 100%;
  transition: .3s;
}

.banner_button:hover>span{
    background:#ffcf8c;
    color: #ffffff;
}

.banner_button_responsive:hover>span{
  background:#ffcf8c;
  color: #ffffff;
}
/* end of sale-banner */

/* 両端margin */
#main_width{
  width: 960px;
}
@media screen and (max-width:960px){
  #main_width{
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
  }
}

@media screen and (max-width:520px){
  #main_width{
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
  }
}

/* テキストスタイル (全体使用) */
.text_gray{
  color: #404040;
}

/* LIST同様仕様 */
  .title {
    background-color: #d2e8c9;
    color: #404040;
    font-weight: bold;
    font-size: 20px;
    line-height: 20px;
    text-align:left;
    padding: 25px 40px;
}

@media screen and (max-width: 960px) {
    .title{
     display: flex;
     margin: 25px 40px;
    }
  }
  
  /* モバイル向けレイアウト */
  @media screen and (max-width: 520px) {
    .title{
        margin-left: 5px;
        margin-right: 5px;
        display: flex;
    }
  } 

/* LIST仕様エンド */
.text_box1{
  margin-top: 20px;
  margin-bottom: 35px;
  font-size: 19px;
}

.text_box2{
  margin: 20px;
}

.subtitle{
  padding: 10px 50px;
  font-weight: bold;
  }

.text {
  padding: 0px 50px;
  line-height: 1.5;
  }

/* 初診にかかる治療時間*/
.firstvisit_parent{
  font-size: 19px;
  margin: 25px;
  overflow: hidden;
}

@media screen and (max-width:960px){
.firstvisit_parent{
   width: 100%;
   margin-left: 0px;
   margin-right: 0px;
 }
}

@media screen and (max-width:520px){
.firstvisit_parent{
   width: 100%;
   margin-left: 0px;
   margin-right: 0px;
   overflow: hidden;
 }
}

.firstvisit_box1{
  display: flex;
  text-decoration: none;
  text-align: center;
  width: 80%;
} 


  @media screen and (max-width:800px){
  .firstvisit_box1{
    display: block;
   }
  }


.firstvisit_box2{
  width: 70%;
  background:rgb(255, 255, 255);
  font-size: medium;
  color:#404040;
  text-align: center;
  margin-bottom: 30px;
}

@media screen and (max-width:800px){
  .firstvisit_box2{
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
    flex-direction: row;   
    margin-bottom: 45px;
    }
  }


.treatment_time{
  background-color: #ffcf8c;
  color:#404040;
  text-align: center;
  font-size: 19px;
  margin-left: 0px;
  margin-right: 0px;
  padding: 40px 20px;
  font-weight: bold;
  border-radius: 20px;
}

@media screen and (max-width:960px){
.treatment_time{
  padding: 40px 20px;
  font-weight: bold;
  border-radius: 20px;
  margin: 25px 40px;
  }
}
@media screen and (max-width:520px){
.treatment_time{
  font-size:18px;
  font-weight: normal;
  padding: 40px 20px;
  border-radius: 20px;
  }
}

/*改行レスポンシブ*/
.br_mobile{
  display: none;
}

@media screen and (max-width:530px){
  .br_mobile{
    display: block;
    }
  }

.text_box_hoken{
  font-size: 19px;
  margin: 20px;
}

/* 質問枠 */
.textbox_question{
  margin-top: 30px;
  margin-bottom: 100px;
}

.question{
  font-size: 19px;
  padding: 10px 30px;
  color:#404040;
  background-color: #e7e7e7;
  margin: 14px;
  font-weight: bold;
}

.p_question{
  font-size: 19px;
  padding: 15px 60px;
}

.button{
  color:rgb(231, 105, 2);
  text-decoration: underline;
}

.button:hover{
  background: rgba(255,255,255,1);
  color: #FCB55D;
  text-decoration: underline;
}