﻿@charset "UTF-8";

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('//fonts.googleapis.com/css?family=Quicksand:300,400,500,700');


/*-------------------------
クリニック紹介
--------------------------*/
.clinic {
  width:100%;
  margin: auto;
  padding:15px 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items: stretch;
}
.clinic_logo {
  flex:1;
  padding:20px;
  text-align: center;
  background: #D02A26;
}
.clinic_info {
  flex:2;
  margin: 0 0 0 30px;
  padding: 15px 0;
}
@media screen and (max-width: 640px) {
.clinic {
  flex-direction: column;
  display:block;
  }
.clinic_logo {
  display: none;
  padding:0;
  }
.clinic_info {
  margin: 0 0 0 0;
  padding: 0;
  }
}

/*-------------------------
料金表(２列)
--------------------------*/
.pricetable {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.5;
  margin: 5px 0;
}
.pricetable th{
  width: 30%;
  padding: 10px 15px;
  text-align:center;
  vertical-align: middle;
  background-color: #F0F0F0;
  border: 2px solid #666;
  font-weight:bold;
  white-space: nowrap;
}
.pricetable td{
  width:70%;
  padding: 10px 15px;
  background-color: #FFF;
  vertical-align: middle;
  border: 2px solid #666;
}
@media screen and (max-width: 640px) {
.pricetable th,
.pricetable td {
  display:block;
  width:100%;
  border: none;
  padding: 5px 10px;
  border: 0;
  }
.pricetable th{
  text-align:left;
  font-weight:normal;
  }
}

/*-------------------------
スタッフ紹介
--------------------------*/
/*代表メッセージ*/
.staff_message {
  width:100%;
  margin: auto;
  padding:25px 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: center;
  align-items: flex-start;
}
.staff_message_img {
  width: 100%;
  max-width: 280px;
  margin:0 20px 0 0;
  text-align: center;
}
.staff_message_text {
  flex:1;
}
@media screen and (max-width: 860px) {
.staff_message_img {
  width: 100%;
  max-width: 200px;
  margin:0 20px 0 0;
  text-align: center;
  }
}
@media screen and (max-width: 640px) {
.staff_message {
  flex-direction: column;
  display:block;
  }
.staff_message_img {
  max-width:100%;
  margin:0 0 15px 0;
  }
.staff_message_img img{
  max-width:180px;
  }
}

/*スタッフ並び*/
.staff {
  width:100%;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
  flex-wrap: wrap;
}
.staff li{
  width: 25%;
  max-width:25%;
  width: calc(100% / 4);
  padding:0 15px 15px 0;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.5;
}
.staff li img {
  margin-bottom: 8px;
}
@media screen and (max-width: 640px) {
.staff li{
  width: 50%;
  max-width:50%;
  width: calc(100% / 2);
  padding:0 10px 10px 0;
  box-sizing: border-box;
  }
.staff li img {
  margin-bottom: 5px;
  }
}

/*-------------------------
灰色背景
--------------------------*/
.graybg {
  width: 100%;
  padding: 30px 0 60px;
  margin: 0 auto;
  background: #E3E3E3;
}
@media screen and (max-width: 640px) {
.graybg {
  padding: 15px 0 40px;
  }
}

/*-------------------------
白ボックス
--------------------------*/
.whitebox {
  width: 100%;
  padding: 30px 30px 40px;
  margin: 0 auto;
  background: #FFF;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  box-shadow: 0 0 5px #999;
}
@media screen and (max-width: 640px) {
.whitebox {
  padding: 20px 15px;
  }
}

/*-------------------------
薄緑ボックス
--------------------------*/
.greenbox {
  width: 100%;
  padding: 15px 20px;
  margin: 15px 0;
  background: #F1F1E2;
  line-height: 1.6;
  font-size: 0.9em;
}

/*-------------------------
サブタイトル
--------------------------*/
/*赤太文字*/
.subtitle {
  font-size: 1.6em;
  border-left: 6px solid #D02A26;
  padding-left: 0.6em;
  padding-bottom: 5px;
  line-height: 1.5em;
  margin: 0 0 20px;
  color: #D02A26;
  font-family: "Noto Sans Japanese", sans-serif;
  font-weight: 800;
}
@media screen and (max-width: 640px) {
.subtitle {
  font-size: 1.2em;
  border-left: 4px solid #D02A26;
  padding-left: 0.5em;
  line-height: 1.4em;
  margin: 0 0 15px;
  }
}

/*上下線黒太字*/
.subtitle2 {
  font-weight: bold;
  font-size: 1.3em;
  border-bottom: 2px solid #333;
  border-top: 2px solid #333;
  line-height: 1.5;
  padding: 7px 5px 5px;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
.subtitle2 {
  font-size: 1.1em;
  }
}

/*-------------------------
おかげさまで当院は多くの患者様に支持されています
--------------------------*/
.pointstitle {
  padding:40px 0 30px;
}
.points {
  width: 100%;
  background-image:url(../img/point_map.png);
  background-position:left center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  text-align: right;
}
.points img {
  margin-bottom:25px;
}
@media screen and (max-width: 860px) {
.points {
  background-position:center center;
  text-align: center;
  }
}
@media screen and (max-width: 640px) {
.pointstitle {
  padding:0 0 0;
  }
.points img {
  margin-bottom:15px;
  }
}

/*-------------------------
こんなことで悩んでいませんか？
--------------------------*/
.nayamiwrap {
  width: 100%;
  padding: 40px;
  margin: 0;
  background: #F3FF00;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
}
@media screen and (max-width: 640px) {
.nayamiwrap {
  padding: 20px;
  }
}

.nayamititle {
  text-align: center;
  margin: 0 0 30px;
}
@media screen and (max-width: 640px) {
.nayamititle {
  margin: 5px 0 20px;
  }
}

.nayamibox {
  width: 100%;
  padding: 20px 20px 15px;
  margin: 0;
  background:#FFF;
}
.nayamibox img {
  width: 100%;
  max-width: 140px;
  margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
.nayamibox img {
  max-width: 100px;
  margin-bottom: 15px;
  }
}

/*-------------------------
大文字見出し
--------------------------*/
.comment {
  font-family: "Noto Sans Japanese", sans-serif;
  line-height:1.5;
  color:#D02A26;
  font-weight: 800;
  font-size: 2.5em;
}
@media screen and (max-width: 980px) {
.comment {
  font-size: 2em;
  }
}
@media screen and (max-width: 640px) {
.comment {
  font-size: 1.5em;
  }
}

/*-------------------------
ヘッダーナビ
--------------------------*/
nav {
  width: 100%;
  padding: 15px 20px;
  margin: 0;
}
.navwrap {
  width:100%;
  margin: auto;
  padding:0;
  display: table;
}
.navleft {
  display: table-cell;
  vertical-align: middle;
  padding: 0;
  margin: 0;
}
.navleft img {
  width: 100%;
  max-width: 340px;
}
.navright {
  display: table-cell;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  text-align: right;
}
.headinfo{
  width:100%;
  max-width:240px;
  margin-right: 20px;
}
.jump_aboutus{
  width:100%;
  max-width:200px;
}
.jump_fee{
  width:100%;
  max-width:200px;
}
@media(max-width:1240px){
.jump_aboutus{
  max-width:140px;
  }
.jump_fee{
  max-width:140px;
  }
}
@media(max-width:980px){
.navleft img {
  max-width: 240px;
  }
}
@media(max-width:960px){
.headinfo{
  display: none;
  }
.jump_aboutus{
  max-width:160px;
  }
.jump_fee{
  max-width:160px;
  }
}
@media(max-width:640px){
nav {
  padding: 15px;
  }
.jump_aboutus{
  display: none;
  }
.jump_fee{
  display: none;
  }
}

/*-------------------------
ヘッダー
--------------------------*/
header {
  width: 100%;
  padding: 0;
  margin: 0;
}
.headwrap {
  width:100%;
  margin: auto;
  padding:0;
  display: table;
}
.headcatch {
  display: table-cell;
  width: 45%;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  background-image:url(../img/head1.png);
  background-position:center center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  text-align: center;
}
.headcatch img {
  padding: 30px 15px;
}
.headstaff {
  display: table-cell;
  width: 55%;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  background-image:url(../img/head2.png);
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  text-align: center;
}
@media(max-width:767px){
.headcatch {
  display: block;
  width: 100%;
  }
.headstaff {
  display: block;
  width: 100%;
  height: 320px;
  }
}
@media(max-width:480px){
.headstaff {
  height: 200px;
  }
}

/*-------------------------
自由診療
--------------------------*/
.ins {
  width: 100%;
  padding: 10px 15px;
  margin: 0;
  background: #666;
  color: #FFF;
  font-weight: bold;
  font-size: 1.2em;
  text-align: center;
  line-height: 1.5;
}
@media(max-width:840px){
.ins {
  font-size: 0.9em;
  }
}
@media(max-width:640px){
.ins {
  text-align: left;
  }
}

/*-------------------------
フッター
--------------------------*/
footer {
  width: 100%;
  background: #FFF;
  padding: 40px 0 0;
  text-align: center;
}
footer a {
  text-decoration: none !important;
}
.copyright {
  font-size: 0.7em;
  color: #999;
  font-family: 'Quicksand', sans-serif;
  margin: 20px 0 15px;
}

/* 区切り線付きリンク */
.footlink {
  margin: 30px 0 20px;
  line-height: 2em;
  text-align: center;
}
.footlink li {
	display:inline;
	list-style-type:none;
	margin-right:6px;
	padding-left:10px;
}
.footlink li+li {
	border-left:1px solid #999;
}
@media(max-width:767px){
.footlink {
  font-size: 0.9em;
  }
.footlink li {
  white-space: nowrap;
  }
}

/*-------------------------
フッター電話リンク(スマホでのみ表示)
--------------------------*/
.foottel {
  display: none;
}
@media screen and (max-width: 640px) {
.foottel {
  display: block;
  width: 100%;
  background: #D02A26;
  text-align: center;
  position: fixed;
  bottom: 0;
  left: 0;
  margin: 0;
  }
.foottel img {
  width: auto;
  height: 60px;
  }
footer {
  padding-bottom: 74px;
  }
#jumptop{
  right: 15px;
  bottom:74px;
  }
}

/*-------------------------
ページ上部へジャンプ
--------------------------*/
#jumptop{
  position:fixed;
  right: 40px;
  bottom:40px;
}
.jumpbtn {
  width:5em;
  height:5em;
  cursor:pointer;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  cursor:pointer;
  background:#D02A26;
  position: relative;
}
.jumpbtn:before {
  content: '';
  position: absolute;
  top: 45%;
  right: 1.7em;
  display: block;
  width: 1.5em;
  height: 1.5em;
  border-top: 2px solid #FFF; 
  border-right: 2px solid #FFF; 
  transform: rotate(-45deg); 
}
@media(max-width:768px){
#jumptop{
  right: 20px;
  bottom:20px;
  }
.jumpbtn {
  width: 3.5em;
  height: 3.5em;
  }
.jumpbtn:before {
  top: 42%;
  right: 1.2em;
  width: 1em;
  height: 1em;
  }
}
@media(max-width:640px){
#jumptop{
  right: 15px;
  bottom:80px;
  }
}

/*-------------------------
ボタン
--------------------------*/
.btn {
  -webkit-appearance:none;
  -moz-appearance:none;
  -ms-appearance:none;
  -o-appearance:none;
  appearance:none;
  font-size:1.1em;
  cursor: pointer;
  padding: 0.5em 0.6em;
  text-decoration: none;
  color: #FFF;
  background: #D02A26;
  text-align: center;
  font-weight: bold;
  line-height: 100%;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  margin:0;
  display: inline-block;
  transition: all .3s;
}

/*-------------------------
電話リンク
--------------------------*/
.tel  {
  font-size:2.4em;
  line-height:100%;
  padding:0;
  font-weight:500;
  font-family: 'Quicksand', sans-serif;
  white-space: nowrap;
}
.tel :before {
  content:"";
  display:inline-block;
  width:0.8em;
  height:0.8em;
  background:url(../img/icon_tel.png) no-repeat;
  background-size:contain;
  padding-left:0.9em;
  vertical-align:bottom;
}
.tel  a{
  text-decoration:none;
  color:#D02A26;
  font-weight:500;
}
@media screen and (max-width: 960px) {
.tel  {
  font-size:2em;
  }
}

.freedial  {
  font-size:2.4em;
  line-height:100%;
  padding:0;
  font-weight:500;
  font-family: 'Quicksand', sans-serif;
  white-space: nowrap;
}
.freedial :before {
  content:"";
  display:inline-block;
  width:1em;
  height:1em;
  background:url(../img/icon_freedial.png) no-repeat;
  background-size:contain;
  padding-left:1.2em;
  vertical-align:bottom;
}
.freedial  a{
  text-decoration:none;
  color:#D02A26;
  font-weight:500;
}
@media screen and (max-width: 960px) {
.freedial  {
  font-size:2em;
  }
}

/*-------------------------
左画像＋右テキスト横並び
--------------------------*/
.column {
  width:100%;
  margin: auto;
  padding:15px 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: center;
  align-items: center;
}
.column_img {
  flex: 1;
  margin:0 20px 0 0;
}
.column_text {
  flex:2;
}
@media screen and (max-width: 980px) {
.column {
  align-items: flex-start;
  }
}
@media screen and (max-width: 640px) {
.column {
  flex-direction: column;
  display:block;
  }
.column_img {
  max-width:100%;
  margin:0 0 15px 0;
  }
}

/*-------------------------
横並びflexbox
--------------------------*/
/* 均等2列(767px以下で縦列切り替え) */
.col2 {
  width:100%;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
}
.col2 li{
  width:50%;
  margin:0 20px 0 0;
}
.col2 li:last-child{
  margin:0 0 0 0;
}
@media screen and (max-width: 767px) {
.col2 {
  flex-direction: column;
  display:block;
  }
.col2 li {
  width:100%;
  margin:0 0 15px 0;
  }
.col2 li:last-child{
  margin:0 0 0 0;
  }
}