@charset "utf-8";

/*=================================================================================================================================*/
/** 個別指定 for スマートフォン
/*=================================================================================================================================*/

/*---------------------------------------------
 ** 320px
---------------------------------------------*/
@media screen and (max-width: 320px) {
}

/*---------------------------------------------
 ** 740px
---------------------------------------------*/
@media screen and (max-width: 740px) {
  /*---------------------------------------------
	body
---------------------------------------------*/
  html {
    scroll-behavior: smooth;
  }
  body {
    font-size: 15px;
    font-family: sans-serif;
    color: #444;
  }
  p {
    font-size: 15px;
  }

  /* fook */
  .only_sp_none {
    display: none !important;
  }
  .sp_br {
    display: inline;
  }

  /*画像*/
  img {
    max-width: 100%;
    height: auto;
  }

#header{
  margin-top:0;
}

  .head_text h1{
    width:100%;
    text-align: center;
    padding-top:10px;
  }
  .head_text h2{
    width:100%;
    text-align: center;
    padding-top:10px;
  }
  .head_text h1,  .head_text h2{
    margin:0 auto;
  }

#header {
  width: 100%;
  background:url(../img/main.png) no-repeat #f1d8ba;
  background-size:100% auto;
  position:relative;
}

.header_wrapper{
  width:100%;
  background:none;
  background-size:auto 100%;
  margin-left:0;
  text-align: center;
  position:relative;
}

.header_inner{
  width:90%;
  padding:56% 0 0!important;
  margin:80px auto 0;
}

.header_inner h1{
  background:#EA7C00;
  padding:10px 0;
  font-size:1.8rem;
  text-align: center;
  border-radius: 30px;
  margin-bottom:10px;
}
.header_inner h2{
  text-align: center;
  font-size:2.4rem;
  letter-spacing: 0.15em;
  font-weight: bold;
  color:#4D3013;
  line-height: 1.4;
  margin-bottom:5px;
}
.header_inner h2 span{
  font-size:3.0rem;
}
.header_inner h2 span.orange{
  color:#EA5A00;
}
.header_inner p{
  font-size:1.6rem;
  text-align: left;
  padding-bottom:5%;
  margin-bottom:0;
}


  /*---------------------------------------------
 **  ナビ
---------------------------------------------*/

  /*---------------------------------------------
 **  メイン画像
---------------------------------------------*/
  .main_img {
    width: 100%;
    height: 130px;
    position: relative;
    background-size: cover;
    text-align: center;
  }

  .main_h1 {
    text-align: center;
    font-size: 20px;
    padding: 80px 0 0 0;
  }

  /*---------------------------------------------
 ** ヘッダー記述
---------------------------------------------*/
  #header {
  }

  /*---------------------------------------------
 **  ロゴ
---------------------------------------------*/
  #logo {
    width: 175px;
    height: 58px;
    margin: 0px auto 0px;
  }
  #footer #logo {
    width: 224px;
    height: 77px;
    margin: 0 auto 15px;
  }
  .sp_tel {
    width: 51px;
    height: 51px;
    position: absolute;
    top: 1px;
    left: 3%;
  }

  /*---------------------------------------------
 **  タイトル
---------------------------------------------*/
  h2 {
    font-size: 2.2rem;
    margin-bottom: 1.7rem;
  }

  h3 {
    font-size: 19px;
  }

.bgc_green, .bgc_pink{
  font-size:20px;
}
  /*=================================================================================================================================*/
  /**  TOP	*/
  /*=================================================================================================================================*/
  .head_text {
    width: 90%;
    margin: 0 auto;
    top: unset;
    left: 0%;
    right: 0;
  }

  .head_text h1 {
    font-size: 23px;
  }

  .head_text h2 {
    font-size: 20px;
  }

  .head_text p::after {
    width: 97px;
    height: 97px;
    position: absolute;
    top: -54px;
    right: 0;
    background: url(../img/common/open.png) no-repeat;
    background-size: contain;
    content: "";
  }

  .head_text p {
    font-size: 26px;
    margin-bottom: 0;
  }

  /*=================================================================================================================================*/
  /**  フッター	*/
  /*=================================================================================================================================*/
  .footer_wrapper {
    margin: 0;
    padding-bottom: 10px;
  }

  /* フッターナビ */
  #footer nav ul {
    background: #f6f6f6;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1px 0 1px 0;
  }
  #footer nav li {
    width: 49.3%;
    margin: 1px;
  }
  #footer nav a {
    width: 100%;
    background: #fff;
    font-size: 12px;
    padding: 10px 0;
    text-align: center;
    text-decoration: none;
    display: block;
    position: relative;
  }
  #footer nav a:after {
    width: 10px;
    height: 10px;
    position: absolute;
    top: 15px;
    right: 11px;
    background: url(../img/common/bt_icon_blue.png) 0 0 no-repeat;
    background-size: 100%;
    content: "";
  }

  #copyright {
    font-size: 10px !important;
  }

  /* ページTOPへ */
  #pageTop {
    right: 6%;
    bottom: 0;
  }
  #pageTop a {
    width: 40px;
    height: 57px;
  }

  .head_text h2 {
    font-size: 16px;
    margin-bottom: 20px;
    text-align: center;
  }
  .head_text h2 span {
    color: #fff;
    background: #43361c;
    padding: 5px 12px 5px 15px;
    margin-bottom: 8px;
    text-shadow: none;
    display: block;
    text-align: center;
    width: 90%;
  }

  .for_medical{
    display: none;
  }
  .for_medical_sp{
    width:calc(100% - 120px)!important;
    display: block;
    width:280px;
    position:absolute;
    top:-80px;
    left:5%;
  }

  #about, #area, #service, #list, #for_medical, #contact{
    margin-top:0;
    padding-top:0;
  }


  /* ボタン */
  .btn_base {
    width: 80% !important;
    max-width: 400px;
    padding: 20px 5% 18px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none !important;
    box-shadow: 2px 2px rgba(0, 0, 0, 0.342);
  }

  .h2_content {
    font-size: 20px;
  }
  .h2_content > br {
    display: none;
  }

  .section_block {
    margin-bottom: 30px;
  }

  .section_bg_01 {
    background: url(../img/common/section_bg_01.jpg);
    padding: 30px 0!important;
  }

  .bg_yellow01{
    width:100%;
    background:url(../img/img01_01.jpg) no-repeat bottom center;
    background-size:100% auto;
    background-color:#FDF4DE;
    padding-bottom:30%;
  }

  .bg_yellow01 div{
    width:90%;
    margin:0 auto 30px;
  }
  .bg_yellow01 div h3{
    font-size:1.8rem;
    background:url(../img/icon_home.png) no-repeat top center;
    background-size:40px auto;
    padding-top:50px;
    text-align: center;
  }

  .about h3, .area h3, .target h3,
  .service h3, .hearing h3{
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    background:url(../img/line_orange.png) repeat-x bottom 0 left 0;
    padding-top:30px;
    padding-bottom: 26px;
    line-height: 1.6;
    margin-bottom: 20px;
    background-size: 3%;
  }
  .about h3 span{
    font-size:1.8rem;
  }

  .sanda_can01 .w1200,  .sanda_can02 .w1200{
    display: block;
    text-align: center;
  }
  .about .w1200 div{
    width:100%;
    padding-top:4%;
    text-align: center;
  }
  .about .w1200 img{
    width:70%;
    height:100%;
    margin:0 auto 30px;
  }
  .about h4{
    font-size:2.0rem;
    font-weight: bold;
    margin-bottom:30px;
    line-height: 1.6;
  }
  .about h4 span{
    display: block;
    color:#EA5B00;
    font-size:3.0rem;
  }
  .about p{
    text-align: left;
  }

  .sanda_can01::after, .sanda_can03::after{
    content:'';
    width:42%;
    height:300px;
    position:absolute;
    right:0;
    top:6%;
    background:#ffe9d2;
    border-radius:20px 0 0 20px;
    z-index:-2;
  }

  .sanda_can02::after{
    content:'';
    width:42%;
    height:300px;
    position:absolute;
    left:0;
    top:6%;
    background:#ffe9d2;
    border-radius:0 20px 20px 0;
    z-index:-2;
  }

  .area p{
    width:90%;
    font-size:1.5rem;
    margin:0 auto;
  }

  .service p{
    text-align: left;
  }
  .target div, .service div{
    border:3px solid #EA5B00;
  }

  .hearing .w1200{
    display: block;
    text-align: center;
  }
  .hearing .w1200 p{
    width:100%;
    text-align: left;
  }
  .hearing .w1200 img{
    width:80%;
    margin:0 auto 30px;
  }

  .contact{
    display: block;
  }

  .contact .btn{
    width:60%;
    color:#fff;
    font-weight: bold;
    font-size:1.6rem;
    text-align: center;
    padding:2% 2% 0;
    background:#EA5B00;
    border:1px solid #4E3014;
    border-radius: 20px;
    height:2rem;
    line-height: 0.7;
    margin:10px auto;
  }
  .contact .con_info{
    width:90%;
    margin:20px auto;
  }
  .contact .con_info p:nth-child(1){
    width:90%;
    font-size:3.0rem;
    font-weight: bold;
    background:url(../img/icon_tel.png) no-repeat top 10px left;
    background-size:30px auto;
    padding:10px 0 10px 15px;
    line-height: 1.0;
    margin:0 auto;
    text-align: center;
  }
  .contact .con_info p:nth-child(2){
    padding:7px 0 10px;
    text-align: center;
    background:#FFC199;
    text-align: center;
    border-radius: 20px;
    margin:20px auto 10px;
    line-height: 1.0;
  }

  .bg_blue01{
    background:url(../img/for_medi_img01.jpg) no-repeat center bottom #AFD7E3;
    background-size:80% auto;
    padding:15% 0 110%;

  }

  .bg_blue01 div .read{
    width: 90%;
    padding-right: 0;
  }
  .bg_blue01 h2 span{
    background:url(../img/icon_doctor.png) no-repeat top left;
    background-size:35px auto;
    display: inline-block;
    padding:5px 0 10px 45px;
  }

  .entry h3, .flow h3, .merit h3, .network h3, .message h3{
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    background:url(../img/line_blue.png) repeat-x bottom 0 left 0;
    padding-top:30px;
    padding-bottom: 26px;
    line-height: 1.6;
    margin-bottom: 20px;
    background-size: 3%;
  }
  .entry p{
    text-align: left;
    margin:20px auto 10px;
  }

  .entry div{
    margin:0 auto 50px;
  }

  .howto h3{
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    padding-bottom:20px;
    line-height: 1.6;
    margin:0 auto 0;
  }

  .bg_blue03 div ul{
    width:95%;
    max-width:1200px;
    background:#E0F0FF;
    padding:2% 0;
    text-align: center;
    display: block;
    margin:0 auto;
  }
  .bg_blue03 div ul li{
    width:100%;
    border-right:0;
    border-bottom:3px solid #fff;
    padding:3% 0 5%;
  }
  .bg_blue03 div ul li:last-child{
    border-bottom:0;
  }

  .bg_blue03 div ul li:nth-child(1) h5 span{
    padding:0 0 0px 50px;
  }
  .bg_blue03 div ul li:nth-child(3) h5{
    margin:20px auto 0;
  }

  .bg_blue03 p{
    width:90%;
    margin:20px auto 50px;
  }

  .flow .flow_block{
    width:90%;
  }
  .flow .flow_block .green{
    width:84%;
    padding:5% 8% 3%;
  }
  .flow .flow_block .green div{
    background:url(../img/icon_staff.png) no-repeat top 50px left;
    background-size:15%;
    padding:0 0 0 65px;
  }

  .flow .flow_block .blue h4{
    font-size:2.0rem;
  }
  .flow .flow_block .blue h4 span{
    font-size:3.0rem;
  }

  .flow .flow_block > div{
    position:relative;
    margin:0 auto 70px;
  }

  .flow .flow_block > div::after{
    bottom: -50px;
    border-top: 30px solid #2B579A;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
  }

  .merit li{
    font-size:14px;
    margin-bottom:15px;
    display: flex;
  }
  .merit li span:nth-child(1){
    width:10%;
    font-size:2.4rem;
    font-weight: bold;
    display: inline-block;
    border-right:2px solid #2B5799;
    color:#2B5799;
    padding:5px 15px 5px 0;
    margin-right:15px;
    line-height:1.0;
    display: left;
  }
  .merit li span:nth-child(2){
    width:85%;
  }
  .network dl{
    width:47%;
    margin-right:6%;
    margin-bottom:40px;
    text-decoration: none;
    font-size:1.4rem;
    line-height:1.6;
  }
  .network dl:nth-child(3n){
    margin-right:6%;
  }
  .network dl:nth-child(2n){
    margin-right:0;
  }

  .box_cont p{
    text-align: left;
  }

  .footer_inner .logo{
    width:70%;
    max-width:374px;
    margin:60px auto 40px;
    border-bottom:1px solid #FBE6AE;
    padding:0 15% 50px;
  }

  #pageTop {
    width:40px;
    height:40px;
    position: fixed;
    bottom: 20px;
    right: 20px;
  }

  .t_center{
    text-align: left!important;
  }

}
