@charset "UTF-8";
/* -------------------------------------------------------------------
＜1879px以下＞
------------------------------------------------------------------- */
@media screen and (max-width:1879px) {}
/* -------------------------------------------------------------------
＜1280px以下＞
------------------------------------------------------------------- */
@media screen and (max-width:1280px) {
.f_menuBlock ul li a {
padding: 0 8px;
}
}
/* -------------------------------------------------------------------
＜1200px以下＞
------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
section .wrapper {width: 94%;}
/* 共通
-------------------------------------- */
ul.flow li {margin: 10px 6px;}
.infoRightBlock .e_time {
font-size: 88%;
}
.box001.introBox .shosaiBlock {padding-left: 40px;}
.brnMenu_3column ul li {
width: 32%;
}
.fBox {
border-radius: 0 30px 30px 30px;
padding: 30px;
}
.fBox_wrapper {border-radius: 0 30px 30px 30px;}
}
@media screen and (max-width:1090px) {
.f_menuBlock ul li a {
padding: 0 6px;
font-size: 84%;
}
}
@media screen and (max-width:1070px) {
.infoRightBlock .btnBlock {
max-width: 44%;
}
.btn_soudan a, .btn_shiryochu a {
/* width: 140px; */
}
}
/* -------------------------------------------------------------------

＜1024px以下＞

------------------------------------------------------------------- */
@media screen and (max-width:1024px) {
/* 共通
-------------------------------------- */
ul.flow li {
font-size: 100%;
line-height: 1.4rem;
}
header {
/**width: 100%;**/
position: relative;
/**height: 55px;**/
top: inherit;
left: inherit;
-moz-transform: none;
-webkit-transform: none;
-ms-transform: none;
transform: none;
}
header .tpl-inner-wrap {
/**width: 100%;
border-radius: inherit;**/
/* height: 55px; */
min-width: 320px;
border-radius: 0 0 14px 14px;
}
.infoRightBlock .tel a::before {background: url(../images/common/icon-tel_sp.png) no-repeat center;margin: 0;}
.swiper-button-prev, .swiper-button-next {
display: none;
}
/* ヘッダー情報エリア
-------------------------------------- */
.logoBlock {
  padding: 0 15px;
  width: 400px;
}
.topInfoBlock {
padding: 10px 60px 10px 16px;
/**-webkit-justify-content: flex-end;
justify-content: flex-end;**/
}
.infoRightBlock {
/* display: none; */
-webkit-justify-content: flex-end;
justify-content: flex-end;
/* width: 48%; */
}
.infoRightBlock .tel {
  display: none;
  padding: 0;
}
.infoRightBlock .tel a {
  /* width: 60px;
  height: 55px;
  background: #ec4242;
  display: inline-block;
  line-height: 60px;
  text-align: center; */
}
.btn_soudan a, .btn_shiryochu a {
  /* width: 60px;
  height: 55px;
  border-radius: inherit;
  margin: 0; */
}
.btn_soudan span.icon_mail, .btn_shiryochu span.icon_tooth {
/* margin: 0; */
}
.infoRightBlock .btnBlock {
-webkit-justify-content: right;
justify-content: right;
width: auto;
max-width: inherit;
}
span.txt_pc, p.e_time {
/* display: none; */
}
ul.infomationBlock span.date, ul.blogListBlock span.date {
font-size: 88%;
}
.brnMenu_l a .menuTit, .brnMenu_3column ul li a .menuTit {
height: 100px;
}
.brnMenu_l a .menuTit {
left: 50%;
top: 50%;
-moz-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
img.icon_brnMenu_l, img.icon_brnMenu_s {
margin: 0 auto 6px;
}
img.icon_brnMenu_s {display: none;}


/* ヘッダー
-------------------------------------- */
/**.topInfoBlock {
padding: 12px 16px;
}
.infoRightBlock .e_time {
font-size: 76%;
}**/
.btn_soudan_l a {
width: 100%;
}

.fBox {padding: 20px;}
.f_infoBlock {
width: 30%;
padding: 0 10px;
}
.hyoBlock {
margin: 0 10px;
width: 34%;
}
/* フッター
-------------------------------------- */
.f_menuBlock ul.mainMenu {
width: 98%;
margin: 0 auto;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.f_menuBlock ul li a {ont-size: 88%;}
.f_menuBlock ul.mainMenu li + li a {border: none;}
.f_menuBlock ul.mainMenu li {
padding: 4px 0;
width: 20%;
}

}
@media screen and (max-width:1000px) {

}
@media only screen and (max-width: 768px) {
/* 共通
-------------------------------------- */
br.sp768 {display: block;}
h2.pt002 {
font-size: 200%;
padding: 42px 0;
}
/*boxパーツ*/
.box_wrapper img {
float: none;
margin: 0 auto 20px;
}
.box001 .boxTit p {font-size: 138%;}
.box001 .boxTit span.nintei {
font-size: 60%;
padding: 6px 10px;
right: 16px;
}
/*テーブル レスポンシブ対応（横スクロール方式）*/
.scroll {
overflow-x: scroll;
}
.scroll::-webkit-scrollbar{height:10px;}/*バーの太さ*/
.scroll::-webkit-scrollbar-track{background:#dddddd;}/*バーの背景色*/
.scroll::-webkit-scrollbar-thumb{background:#2cc2e4;}/*バーの色*/
.scroll table.hyo_pri, .scroll table.hyo_l {
min-width: 640px;
margin: 0 10px 50px;
}
/*ノーマル（左項目のみ）*/
table.normal {margin: 20px auto 0;}
table.hyo_pri th, table.hyo_l tr.yobi td {font-size: 100%;}
/*予約の流れ*/
ul.flow li { width: 22%;}
/*診療スケジュール表*/
.scheduleBlock .schedule {width: 48%;}
.hikakuBlock {flex-direction: column;}
span.arrow_alone02 {
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
margin: 20px auto;
}
/*画像並び*/
.col.col-4 {flex-wrap: wrap;}
.col.col-4 img, .col.col-4 figure {
width: 30%;
padding: 10px 0;
}
/*医師紹介BOX*/
.flexbox {flex-direction: column;}
.box001.introBox .imgBlock {margin: 0 auto;}
.box001.introBox .shosaiBlock {padding-left: 0;}
/*ボタンパーツ*/
span.mainTxt {font-size: 125%;}
.btn_n span.mainTxt {padding: 0;}
.btn_n span.icon_indoorview {
margin-right: 10px;
}
/* フッター上　病院情報
-------------------------------------- */
.footerInfoArea {
margin: 40px auto 0;
min-height: auto;
}
.fBox {padding: 20px;}
.fBox_wrapper {
border-radius: 0 20px 20px 20px;
padding: 10px;
}
.fBox .imgBlock {display: none;}
.f_infoBlock, .hyoBlock {
width: 46%;
padding: 0;
}
/* フッター
-------------------------------------- */
footer {margin: 40px auto 0;}
.f_menuBlock {padding: 22px 0 0;}
.f_menuBlock ul.mainMenu {display: none;}
.f_menuBlock ul.subMenu {
align-items: center;
flex-direction: column;
}
.f_menuBlock ul.subMenu li {padding: 8px 0;}
.f_menuBlock ul.subMenu li a {font-size: 100%;}

/* スマホ固定ボタン
-------------------------------------- */
.sp_menu_fiexd {
display: block;
background: #10c3dc;
width: 100%;
-webkit-animation: SpMenuAnime 2s ease;
animation: SpMenuAnime 2s ease;
-webkit-transition: .3s ease-in-out;
-moz-transition: .3s ease-in-out;
-o-transition: .3s ease-in-out;
transition: .3s ease-in-out;
position: fixed;
bottom: 0;
z-index: 98;
}
@-webkit-keyframes SpMenuAnime {
0% {opacity: 0;}
25% {opacity: 0;}
100% {opacity: 1;}
}
@keyframes SpMenuAnime {
0% {opacity: 0;}
25% {opacity: 0;}
100% {opacity: 1;}
}
.sp_menu_fiexd ul {
-js-display: flex;
display: flex;
-webkit-justify-content: space-around;
justify-content: space-around;
}
.sp_menu_fiexd ul li {width: 25%;}
.sp_menu_fiexd ul li a {
font-family: fot-tsukuardgothic-std, sans-serif;
font-style: normal;
font-weight: 700;
display: block;
color: #fff;
text-align: center;
padding: .8em 0;
font-size: 100%;
}
.sp_menu_fiexd li+ li {border-left: 1px solid #fff;}
.sp_menu_fiexd ul li a::before {
content: "";
width: 38px;
height: 38px;
display: block;
margin: 0 auto 10px;
}
.sp_menu_fiexd ul li.f_tel a::before {
background: url("../images/common/icon_sp_fmenu_btn_tel.png");
background-size: contain;
}
.sp_menu_fiexd ul li.f_soudan a::before {
background: url("../images/common/icon_sp_fmenu_btn_mail.png");
background-size: contain;
}
.sp_menu_fiexd ul li.f_to_p a::before {
background: url("../images/common/icon_sp_fmenu_btn_to_patient.png");
background-size: contain;
}
.sp_menu_fiexd ul li.f_access a::before {
background: url("../images/common/icon_sp_fmenu_btn_access.png");
background-size: contain;
}

/* トップへボタン
-------------------------------------- */
#page-top {
bottom: 120px;
right: 10px;
z-index: 101;
}
ul.step {width: 96%;}

}
/* -------------------------------------------------------------------

＜640px以下＞

------------------------------------------------------------------- */
@media only screen and (max-width: 640px) {
  .infoRightBlock {
    display: none;
  }
/* 共通
-------------------------------------- */
br.sp640 {display: block;}
/*boxパーツ*/
.box001 {padding: 20px 20px;}
.box001 .boxTit p {
font-size: 125%;
padding: 17px 0 17px 20px;
}
.box001 .boxTit span.nintei {
bottom: -26px;
left: 15px;
right: inherit;
}
.box002, .box003 {padding: 20px 24px;}
/*boxパーツ（ビフォーアフター）*/
.hikakuBlock {
flex-wrap: wrap;
-webkit-justify-content: center;
justify-content: center;
}
.hikakuBlock img {margin-bottom: 60px;}
/*帯パーツ*/
.obi002 {font-size: 125%;}
.obi003 {font-size: 113%;}
ul.flow li { width: 30%;}
/*ノーマル（左項目のみ）*/
table.normal th {font-size: 100%;}
/*画像並び*/
.col.col-3 {flex-wrap: wrap;}
.col.col-3 img, .col.col-4 img, .col.col-3 figure, .col.col-4 figure {
width: 47.5%;
padding: 10px 0;
}
.col.col-3 figure img, .col.col-4 figure img {
padding: 0;
}
.col figure figcaption {
text-align: left;
font-size: 88%;
padding: 10px;
}
.btn_soudan_l a {
font-size: 125%;
}
/*お問い合わせフォーム - セレクト幅*/
.table-contactform7 select {width: calc(48% - 20px);}
/*ヘッダーロゴ*/
.logoBlock {
width: 240px;
padding: 2px 8px;
}
h2.pt001 {font-size: 150%;}
/*ヘッダー下*/
.leadArea {
background: none;
margin-bottom: 0;
}
.leadArea .wrapper {padding: 40px 0 20px;}
.leadArea #svg-bg {
height: 24%;
top: 0;
}
ul.infomationBlock li, ul.blogListBlock li {
flex-direction: column;
align-items: flex-start;
padding: 20px 0;
}
ul.infomationBlock li a, ul.blogListBlock li a {
margin: 0;
padding: 10px 0 0;
}
.brnMenu_3column ul li a .menuTit {
width: 140px;
}
.brnMenu_l a .menuTit, .brnMenu_3column ul li a .menuTit {
height: 80px;
font-size: 100%;
border-radius: 20px 0 20px 20px;
}
/* フッター上　病院情報
-------------------------------------- */
.footerInfoArea .wrapper {padding: 20px 0;}
.fBox {
background: none;
padding: 0;
}
.fBox_wrapper {
flex-direction: column;
background: none;
padding: 0;
}
.f_infoBlock, .hyoBlock {
width: 100%;
margin: 20px auto;
background: #fff;
border-radius: 0 16px 16px 16px;
padding: 20px;
}
/* フッター
-------------------------------------- */
.f_menuBlock ul.mainMenu li { width: 33%;}
.sp_menu_fiexd ul li a span.txt {font-size: 88%;}
}
/* -------------------------------------------------------------------

＜490px以下＞

------------------------------------------------------------------- */
@media only screen and (max-width: 490px) {
/* 共通
-------------------------------------- */
br.sp490 {display: block;}
.wrapper {padding: 40px 0 20px;}
.wave_up #svg-bg {
height: 18%;
top: -47px;
}
h2, h3, h4, h5, h6 {margin-bottom: 20px;}
h3, h4, h5, h6 {line-height: 1.6rem;}
h2.pt001 {
font-size: 125%;
letter-spacing: 0.1em;
margin-bottom: 20px;
line-height: 1.8rem;
padding: 0;
}
h2.pt002 {
font-size: 125%;
padding: 20px 0;
}
p {line-height: 1.8rem;}
/*flowパーツ*/
ul.flow li {
width: 100%;
border-radius: 0 0 30px 30px;
height: 60px;
margin-bottom: 40px;
}
ul.flow li::after {
background: none;
position: absolute;
content: "";
border: solid 40px transparent;
border-top: solid 30px #9ff1f7;
left: 50%;
-moz-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
bottom: -80px;
height: auto;
top: inherit;
width: 0;
}
/*帯パーツ*/
.obi002 {
font-size: 113%;
letter-spacing: -0.04em;
border-radius: 0 0 30px 30px;
}
.obi003 {
font-size: 100%;
text-align: left;
padding: 20px;
line-height: 1.4rem;
}
/*boxパーツ*/
.box_wrapper_wh { margin: 40px auto 0;}
.box001 .boxTit p {font-size: 100%;}
/*boxパーツ（ビフォーアフター）*/
.hikakuBlock {flex-direction: column;}
/*ノーマル（左項目のみ）*/
table.normal th {
font-size: 94%;
text-align: left;
padding: 1.2em 1.2em;
line-height: 1.2rem;
}
/*ボタン パーツ*/
.btn_g_indoorview span.mainTxt {font-size: 125%;}
.btn_g_indoorview span.mainTxt::before {font-size: 63%;}

.btn_yoyaku_l .telBlock {flex-direction: column;}
.btn_yoyaku_l  span.timeBlock {font-size: 76%;}

.btn_g_indoorview span.icon_indoorview {
width: 40px;
height: 34px;
margin-right: 12px;
}
/*テーブルパーツ*/
table.normal td {padding: 1.2em;}
table.hyp_pri_sin {font-size: 88%;}
/*診療スケジュール表*/
.scheduleBlock .schedule {width: 100%;}

/* ---------------------------------------
ロゴ
--------------------------------------- */
.logoBlock {
width: 200px;
padding: 5px 8px;
}
/* ---------------------------------------
スライダー
--------------------------------------- */
img.s-img.pc {display: none;}
img.s-img.sp {display: block;}
/* ---------------------------------------
コンテンツ
--------------------------------------- */
.leadArea {
background: none;
margin-bottom: 0;
}
.leadArea .wrapper {padding: 40px 0 20px;}
.leadArea #svg-bg {
height: 28%;
top: -34px;
}
.leadArea h2 {margin-bottom: 60px;}
ul.step li {
padding: 10px 0;
font-size: 125%;
}
.btn_soudan_l span.icon_mail {
display: none;
}
.btn_soudan_l a {
letter-spacing: -0.06em;
padding: 16px 0;
}
.safeArea {
margin-top: 10px;
}
.safeArea.wave_up #svg-bg {
height: 36%;
top: -38px;
}
.brnMenu_3column ul li a .menuTit {
height: 60px;
font-size: 88%;
border-radius: 16px 0 16px 16px;
}
.brnMenu_3column ul li a .menuTit {
width: 94px;
letter-spacing: -0.1em;
}
.brnMenu_l a .menuTit {height: 70px;}
/* ---------------------------------------
フッター
--------------------------------------- */
footer {
margin: 0 auto;
padding: 40px 0 0;
}
.addBlock p {
font-size: 88%;
padding: 10px 0;
}
/* スマホ固定メニュー
-------------------------------------- */
.sp_menu_fiexd ul li a {font-size: 76%;}
.sp_menu_fiexd ul li a::before {
width: 22px;
height: 22px;
}
#page-top {bottom: 60px;}
#page-top a {
width: 60px;
height: 60px;
}

}
@media only screen and (max-width: 375px) {
/**/ヘッダーロゴ
.logoBlock {
width: 44%;
padding: 0px 32px;
}
}
@media only screen and (max-width: 320px) {
p {
line-height: 1.6rem;
font-size: 88%;
}
h2.pt001 {font-size: 113%;}
.btn_soudan_l a {font-size: 113%;}
ul.infomationBlock li a, ul.blogListBlock li a {
font-size: 88%;
line-height: 1.4rem;
}
.brnMenu_l a .menuTit {
height: 50px;
border-radius: 12px 0 12px 12px;
}
img.icon_brnMenu_l {width: 40px;}
.brnMenu_l a .menuTit span.tit {font-size: 76%;}
.brnMenu_3column ul li a .menuTit {
width: 84px;
height: 44px;
font-size: 76%;
}
.addBlock p {font-size: 76%;}
}