@charset "UTF-8";
/* ----------------------------------------------------------------------------------
リセット　_reset.scss
---------------------------------------------------------------------------------- */
html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

ol, ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

img {
  vertical-align: bottom;
}

/* ----------------------------------------------------------------------------------
モジュール　_module.scss
---------------------------------------------------------------------------------- */
/* micro cf -------------------------------------- */
.cf::before,
.cf::after {
  content: '';
  display: table;
}

.cf::after {
  clear: both;
}

/* 汎用 -------------------------------------- */
.flL {
  float: left;
}

.flR {
  float: right;
}

.hide {
  display: none;
}

.txC {
  text-align: center !important;
}

.txR {
  text-align: right;
}

.underline {
	text-decoration: underline;
}
.bold {
    font-weight: bold;
}

.imgL {
  float: left;
  margin: 0 4.0rem 4.0rem 0;
}

.imgR {
  float: right;
  margin: 0 0 4.0rem 4.0rem;
}

.imgC {
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
}

.mt40{
	margin-top: 40px;
}
.mt20{
	margin-top: 20px;
}

.mb0{
	margin-bottom: 0 !important;
}
.mb40{
	margin-bottom: 40px;
}
.mt0 {
	margin-top: 0 !important;
}

.underline { text-decoration: underline !important; }

.large {
  font-size: 120%;
}
.small {
  font-size: 80%;
}
figcaption.small{
	font-size: 80%!important;
	color: #666!important;
	
}

.pc_n {
	display: none;
}



@media screen and (max-width: 47.938em) {
	.pc_n {
		display: block;
	}
	.sp_n {
		display: none;
	}
}

@media screen and (max-width: 47.938em) {
  /* SP */
  .imgL, .imgR {
    float: none;
    display: block;
    max-width: 80%;
    height: auto;
    margin: 1.0rem auto;
  }
}
.blue {
  color: #80b5ee;
}

.green {
  color: #69d27d;
}

.yellow {
  color: #e6b86a;
}

.red {
  color: #ef6c84;
}





/* マージン・パディング回り -------------------------------------- */
.mt40,
section ~ section {
  margin-top: 4.0rem !important;
}
@media all and (min-width: 48em), print {
  .mt40,
  section ~ section {
    margin-top: 6.0rem !important;
  }
}

/* タイムテーブル -------------------------------------- */
.tbl_time {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
}
.tbl_time caption {
  font-size: calc(85%);
  caption-side: bottom;
  text-align: left;
  margin-top: .4rem;
}
.tbl_time th {
  padding: .6rem .4rem;
  background: #f9bcc7;
  color: #d13b56;
  font-weight: normal;
}
.tbl_time td {
  text-align: center;
  padding: .6rem 0;
  border-bottom: 1px solid #ccc;
}
.tbl_time td.time {
  background: #fff2f4;
}
.tbl_time td.time span {
  font-size: 80%;
}
.tbl_time td.boder0 {
  border: none;
}

/* グーグルマップ -------------------------------------- */
.gmap {
  width: 100%;
}
.gmap img {
  max-width: 100%;
  height: auto;
  border: 1px solid #333;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* 電話 -------------------------------------- */
.tel::before {
  content: 'tel.';
}

/* タイトル回り -------------------------------------- */
.tit_01 {
  background: url(../img/logo_mark.svg) no-repeat right -0.1rem bottom -0.1rem/contain #0058a7;
  border-radius: .5rem;
  color: #fff;
  font-size: 2.2rem;
  padding: 4.0rem 1.0rem;
  margin-bottom: 2.0rem;
}

.tit_02 {
  color: #2668ae;
  font-size: 2.0rem;
  font-weight: normal;
  text-align: center;
  padding-bottom: 1.0rem;
  background: url(../img/bg_tit_02.svg) no-repeat center bottom/5rem auto;
  margin-bottom: 1.0rem;
}

.tit_03 {
  color: #ba2e41;
  font-size: 1.8rem;
  font-weight: normal;
  text-align: center;
  padding-bottom: 1.0rem;
}
.tit_03 span {
  display: inline-block;
  padding-bottom: .4rem;
  border-bottom: 2px dotted #ffd3d9;
}

.tit_04 {
  text-align: left;
  padding-bottom: 1.0rem;
  font-size: 1.6rem;
}
.tit_04::before {
  content: '■';
  margin-right: .4rem;
  color: #2668ae;
}

.box_org {
  background: #fff9f0;
  padding: 0rem;
}
.box_org .tit_05 {
  margin-bottom: 1.0rem;
  padding: .4rem;
  background: #fae8bb;
  text-align: center;
  font-weight: normal;
  color: #f77542;
  border-radius: .4rem;
}

.tit_06 {
  font-weight: bold;
  color: #20a23e;
  font-weight: normal;
  text-align: center;
}

@media all and (min-width: 48em), print {
  .tit_01 {
    font-size: 3.6rem;
    padding: 8.0rem 3.0rem;
  }

  .tit_02 {
    font-size: 3.4rem;
    padding-bottom: 2.0rem;
    background: url(../img/bg_tit_02.svg) no-repeat center bottom/8.5rem auto;
    margin-bottom: 3.0rem;
  }

  .tit_03 {
    font-size: 2.6rem;
  }
  .tit_03 span {
    border-bottom: 5px dotted #ffd3d9;
  }

  .tit_04 {
    font-size: 2.2rem;
  }

  .tit_05 {
    font-size: 2.0rem;
  }

  .tit_06 {
    font-size: 1.8rem;
  }
}
/* リスト回り -------------------------------------- */
.lst_ul01 {
  margin: 1.0rem 0 1.0rem 3.0rem;
  list-style: disc;
}
.lst_ul01 li {
  margin-bottom: 1.0rem;
}

.lst_ul02 {
  margin: 1.0rem 0 1.0rem 3.0rem;
  list-style: circle;
}
.lst_ul02 li {
  margin-bottom: 1.0rem;
}

.lst_ol01 {
  margin: 1.0rem 0 1.0rem 3.0rem;
  list-style: decimal;
}
.lst_ol01 li {
  margin-bottom: 1.0rem;
}
.lst_ol01 li .tit {
  display: block;
  color: #0058a7;
  font-weight: bold;
}

.lst_dl dt {
  color: #0058a7;
  font-weight: bold;
}
.lst_dl dd {
  margin: 0 0 1.0rem 0;
}

.lst_dl02 dd {
  margin: 0 0 2.0rem 0;
}

@media all and (min-width: 48em), print {
  .lst_dl dt {
    float: left;
    width: 22.0rem;
    font-weight: bold;
    clear: left;
  }
  .lst_dl dd {
    margin: 0 0 1.0rem 0;
    padding: 0 0 0 22.0rem;
  }
}
/* フレックス回り -------------------------------------- */
@media all and (min-width: 48em), print {
  .flex2 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex2 > section, .flex2 > li {
    width: 48%;
    margin: 0 !important;
  }

  .flex3 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex3 li {
    width: 30%;
  }
}
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html {
  font-size: calc( 100vw / 32 );
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif;
}

body {
  background: #fff;
  color: #212121;
}

a {
  color: #212121;
  text-decoration: none;
}

.main {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0 1.0rem 4.0rem;
}
.main a:not([href^="tel"]) {
  text-decoration: underline;
}

@media all and (min-width: 48em), print {
  html {
    font-size: 62.5%;
  }

  body {
    min-width: 1100px;
  }

  .wrap {
    width: 1000px;
    margin: auto;
  }

  .main {
    font-size: 1.6rem;
    margin: 0 0 8.0rem;
  }
}
/* アイコンフォント -------------------------------------- */
@font-face {
  font-family: 'fontello';
  src: url("fontello/font/fontello.eot");
  src: url("fontello/font/fontello.eot#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2") format("woff2"), url("fontello/font/fontello.woff") format("woff"), url("fontello/font/fontello.ttf") format("truetype"), url("fontello/font/fontello.svg#fontello") format("svg");
}
/* ヘッダー -------------------------------------- */
.header {
  padding: 1.0rem 1.0rem 2.0rem;
}
.header .wrap .headL .logo {
  display: block;
  background: url(../img/logo.svg) no-repeat top left/contain;
  height: 4.6rem;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.header .wrap .headL .acs, .header .wrap .headL .add, .header .wrap .headC {
  display: none;
}
.header .wrap .headR {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 2%;
  margin-top: 1.0rem;
}
.header .wrap .headR .telno {
  display: inline-block;
  padding: .6rem 2rem;
}
.header .wrap .headR .telno .tel {
  font-size: 1.9rem;
  font-weight: bold;
}
.header .wrap .headR .telno .tel::before {
  content: '';
}
.header .wrap .headR .btn_rsv {
  width: 48%;
  display: block;
  color: #fff;
  font-size: 1.2rem;
  border-radius: .5rem;
  padding: 1.0rem 0 1.0rem 3.8rem;
  background: url(../img/common_icon_rsv.svg) no-repeat left 1rem center/auto 70% #539cde;
}
.header .wrap .headR .bnr_img {
  width: 48%;
}
.header .wrap .headR .bnr_img img {
  width: 100%;
}

.header .coronavirus_bnr {
	border-radius: .5rem;
	background: #E9687A;
}
.header .coronavirus_bnr a {
	display: block;
	color: #fff;
	width: 100%;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 1.0rem 0 0 0;
	padding: 0.7rem 0;
}
.header .coronavirus_bnr a span {
	display: block;
	text-align: center;
}

@media all and (min-width: 48em), print {
	
	.header .coronavirus_bnr {
		border-radius: 0;
		transition: .2s;
	}
  .header .coronavirus_bnr:hover {
    opacity: .85;
		transition: .2s;
  }
	.header .coronavirus_bnr a {
		font-size: 1.8rem;
		margin: 2.0rem 0 0 0;
		padding: 1.0rem 0;
	}
	.header .coronavirus_bnr a span {
		display: inline-block;
		padding: 0 0 0 0.5rem;
	}
	
  .header {
    padding: 1.0rem 0 2.0rem;
  }
  .header .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
  }
  .header .wrap .headL {
    width: 42%;
  }
  .header .wrap .headL .logo {
    height: 7.5rem;
  }
  .header .wrap .headL .acs, .header .wrap .headL .add {
    display: block;
    font-size: 1.4rem;
    margin-bottom: .6rem;
  }
  .header .wrap .headL .acs span {
    display: inline-block;
    margin-right: 1.0rem;
    background: #f6b536;
    color: #fff;
    font-size: 1.6rem;
    padding: .2rem 1.0rem;
    border-radius: .5rem;
  }
  .header .wrap .headC {
    width: 27%;
		display: flex;
		align-items: flex-end;
  }
  .header .wrap .headC img {
		width: 100%;
  }
  .header .wrap .headR {
    width: 26.5rem;
    display: block;
  }
  .header .wrap .headR .telno {
    font-size: 2.0rem;
    text-align: center;
	display: block;
    padding: 0.6rem 0;
  }
  .header .wrap .headR .telno .tel {
    font-size: 3.4rem;
  }
  .header .wrap .headR .btn_rsv {
    width: 100%;
    font-size: 2.0rem;
    font-weight: bold;
    border-radius: 1.0rem;
    padding: 2.0rem 0 2.0rem 7.5rem;
    background: url(../img/common_icon_rsv.svg) no-repeat left 1rem center/auto 70% #539cde;
    transition: .2s;
	margin-bottom: 5px;
  }
  .header .wrap .headR .btn_rsv:hover {
    opacity: .85;
  }
  .header .wrap .headR .bnr_img img {
    width: 100%;
	margin-bottom: 5px;
  }
  .header .wrap .headR .bnr_img img:hover {
    opacity: .85;
  }
}
/* SP ドロップダウンメニュー（Slick Nav） -------------------------------------- */
.slicknav_menu {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 4.4rem;
  display: inline-block;
  background: none;
  padding: 0;
  z-index: 10;
  /* Toggle Btn */
  /* 展開部 */
}
.slicknav_menu .slicknav_btn {
  width: 5.0rem;
  height: 5.0rem;
  color: #ba2e41;
  background: none;
  text-shadow: none;
  border-radius: 0;
  text-align: center;
  line-height: 1.0;
  padding: 0;
  /* Toggle Open Icon */
}
.slicknav_menu .slicknav_btn::before {
  display: block;
  font-family: 'fontello';
  content: '\e803';
  line-height: .8;
}
.slicknav_menu .slicknav_btn::after {
  display: block;
  content: 'MENU';
  font-size: 1.0rem;
}
.slicknav_menu .slicknav_btn.slicknav_open {
  /* Toggle Close Icon */
}
.slicknav_menu .slicknav_btn.slicknav_open::before {
  display: block;
  font-family: 'fontello';
  content: '\e800';
  line-height: .8;
}
.slicknav_menu .slicknav_btn.slicknav_open::after {
  display: block;
  content: 'CLOSE';
  font-size: 1.0rem;
}
.slicknav_menu .slicknav_nav {
  width: 100vw;
  background: #fff;
  position: absolute;
  top: 6.4rem;
  right: 0;
}
.slicknav_menu .slicknav_nav > ul {
  margin: 0;
  border-bottom: 1px solid #ccc;
}
.slicknav_menu .slicknav_nav > ul li {
  border-top: 1px solid #ccc;
}
.slicknav_menu .slicknav_nav > ul li > a {
  display: block;
  padding: 1.2rem 0;
  color: #666;
  text-align: center;
  font-size: 1.6rem;
}
.slicknav_menu .slicknav_nav > ul li > a:hover {
  background: none;
}
.slicknav_menu .slicknav_icon, .slicknav_menu .slicknav_icon-bar, .slicknav_menu .slicknav_arrow {
  display: none !important;
}

#nav {
  display: none;
}

@media all and (min-width: 48em), print {
  .slicknav_menu {
    display: none;
  }

  #nav {
    display: block;
    width: 1000px;
    margin: 3.0rem auto 1.0rem;
  }
  #nav .nav {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    font-size: 1.8rem;
    font-weight: bold;
  }
  #nav .nav li a {
    display: block;
    padding: 0 2.0rem;
    color: #4b4646;
    transition: .2s;
    position: relative;
  }
  #nav .nav li a::after {
    font-family: 'fontello';
    content: '\e807';
    color: #fff;
    margin-left: .6rem;
    font-size: 2.2rem;
    position: absolute;
    top: -.1rem;
  }
  #nav .nav li a:hover {
    color: #f49ba8;
  }
  #nav .nav li a:hover::after {
    color: #f49ba8;
  }
}
/* ハイライト */
.index #nav .home,
.doctor #nav .doctor,
.clinic #nav .clinic,
.first #nav .first,
.access #nav .access,
.seminar #nav .seminar {
  color: #f49ba8;
}
.index #nav .home::after,
.doctor #nav .doctor::after,
.clinic #nav .clinic::after,
.first #nav .first::after,
.access #nav .access::after,
.seminar #nav .seminar::after {
  color: #f49ba8;
}

/* 診療内容バナー -------------------------------------- */
.sidebar {
  margin: 2.0rem 1.0rem;
}
.sidebar nav ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.sidebar nav ul li {
  width: 48%;
  margin-bottom: 1.0rem;
}
.sidebar nav ul li a {
  display: block;
  border-radius: .5rem;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  padding: 1.4rem 1.0rem 1.4rem 3.0rem;
}
.sidebar nav ul li.ippan a {
  background: url(../img/common_icon_ippan.svg) no-repeat center top 1rem/5rem auto #ffd3d9;
  color: #ba2e41;
  font-size: 1.6rem;
  padding: 6.5rem 0 1.0rem;
}
.sidebar nav ul li.allergy a {
  background: url(../img/common_icon_allergy.svg) no-repeat center top 2rem/7rem auto #ffe0ab;
  color: #ba600f;
  font-size: 1.6rem;
  padding: 8.3rem 0 1.0rem;
}
.sidebar nav ul li.food a {
  background: url(../img/common_icon_food.svg) no-repeat left 0.6rem center/3rem auto #a5e9b7;
  color: #2c8544;
}
.sidebar nav ul li.kafun a {
  background: url(../img/common_icon_kafun.svg) no-repeat left 0.4rem center/2.6rem auto #a5d4e9;
  color: #1b769e;
		font-size: 11px;
		height: 52px;
}
.sidebar nav ul li.atopi a {
  background: url(../img/common_icon_atopi.svg) no-repeat left 0.4rem center/2.2rem auto #d6d7fa;
  color: #7476bc;
  padding: 1.4rem 0 1.4rem 2.2rem;
}
.sidebar nav ul li.kikanshi a {
  background: url(../img/common_icon_kikanshi.svg) no-repeat left 1rem center/2rem auto #edd8fa;
  color: #7a598e;
}

@media all and (min-width: 48em), print {
  .sidebar {
    width: 1000px;
    margin: 2.0rem auto;
  }
  .sidebar nav ul {
    -webkit-justify-content: space-around;
    justify-content: space-around;
    position: relative;
  }
  .sidebar nav ul li {
    width: 24.5%;
    margin: 0;
  }
  .sidebar nav ul li a {
    font-size: 1.8rem;
    padding: 2.6rem 0 2.6rem 5.0rem;
    transition: .2s;
  }
  .sidebar nav ul li a:hover {
    opacity: .8;
  }
  .sidebar nav ul li.ippan a {
    background: url(../img/common_icon_ippan.svg) no-repeat center top 2rem/6rem auto #ffd3d9;
    font-size: 2.0rem;
    padding: 8.2rem 0 2.2rem;
  }
  .sidebar nav ul li.allergy a {
    background: url(../img/common_icon_allergy.svg) no-repeat center top 2rem/11.5rem auto #ffe0ab;
    font-size: 2.0rem;
    padding: 10.5rem 0 2.2rem;
  }
  .sidebar nav ul li.food a {
    background: url(../img/common_icon_food.svg) no-repeat left 2rem center/5rem auto #a5e9b7;
  }
  .sidebar nav ul li.kafun a {
    background: url(../img/common_icon_kafun.svg) no-repeat left 1.5rem center/4.5rem auto #a5d4e9;
				font-size: 18px;
				height: 72px;
  }
  .sidebar nav ul li.atopi {
    position: absolute;
    top: 7.7rem;
    right: 25.3rem;
  }
}
@media all and (min-width: 48em) and (-ms-high-contrast: none) {
  .sidebar nav ul li.atopi {
    right: 25.6rem;
  }
}
@media all and (min-width: 48em), print {
  .sidebar nav ul li.atopi a {
    background: url(../img/common_icon_atopi.svg) no-repeat left 2.4rem center/3.8rem auto #d6d7fa;
    padding: 2.6rem 0 2.6rem 5.0rem;
  }
  .sidebar nav ul li.kikanshi {
    position: absolute;
    top: 7.7rem;
    right: .3rem;
  }
}
@media all and (min-width: 48em) and (-ms-high-contrast: none) {
  .sidebar nav ul li.kikanshi {
    right: .5rem;
  }
}
@media all and (min-width: 48em), print {
  .sidebar nav ul li.kikanshi a {
    background: url(../img/common_icon_kikanshi.svg) no-repeat left 4rem center/3.2rem auto #edd8fa;
  }
}
/* クリニック概要 -------------------------------------- */
.overview {
  border-top: 1px solid #ccc;
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 4.0rem;
}
.overview .wrap {
  margin: 3.0rem 1.0rem 0;
}
.overview .wrap .overviewL img {
  max-width: 100%;
  height: auto;
}
.overview .wrap .overviewL .clinic_name {
  margin: 1.0rem auto 2.0rem;
  font-size: 1.6rem;
  text-align: center;
}
.overview .wrap .overviewL .telno {
  margin: 2.0rem 0;
}
.overview .wrap .overviewL .telno .tel {
  color: #2c80a6;
  font-size: 1.8rem;
}
.overview .wrap .overviewL .telno .tel a {
  color: inherit;
}
.overview .wrap .gmap img {
  max-width: 100%;
  height: auto;
}

@media all and (min-width: 48em), print {
  .overview {
    font-size: 1.6rem;
  }
  .overview .wrap {
    width: 1000px;
    margin: 3.0rem auto 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .overview .wrap .overviewL {
    width: 56%;
  }
  .overview .wrap .overviewL img {
    max-width: 100%;
    height: auto;
  }
  .overview .wrap .overviewL .clinic_name {
    font-size: 2.4rem;
    text-align: left;
  }
  .overview .wrap .overviewL .telno {
    margin: 2.0rem 0;
  }
  .overview .wrap .overviewL .telno .tel {
    font-size: 3.0rem;
  }
  .overview .wrap .gmap {
    width: 40%;
  }
}
/* フッター -------------------------------------- */
.pageup {
  display: none;
  position: fixed;
  width: 100%;
  text-align: center;
  bottom: 0;
  z-index: 1;
  cursor: pointer;
}
.pageup a {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.4rem;
  padding: .4rem;
  background: #6eb5d5;
}
.pageup a::after {
  font-family: 'fontello';
  content: '\e808';
  color: #fff;
  font-size: 2.0rem;
  margin-left: 1.0rem;
}

@media all and (min-width: 48em), print {
  .pageup {
    width: 16.0rem;
    right: 1.6rem;
    bottom: 1.6rem;
  }
}
.footer .copy {
  text-align: center;
  display: block;
  padding: 4.0rem 0 5.0rem;
  font-size: 1.0rem;
}
.footer .copy a {
  color: inherit;
}

@media all and (min-width: 48em), print {
  .footer .copy {
    text-align: left;
    width: 1000px;
    margin: auto;
    padding: 4.0rem 0 5.0rem;
    font-size: 1.4rem;
  }
}
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
/* キービジュアル -------------------------------------- */
.keyvsl {
  text-align: center;
  font-size: 1.2rem;
  margin: 0 1.0rem;
  line-height: 1.4;
}


.keyvsl img {
  max-width: 100%;
  height: auto;
}

@media all and (min-width: 48em), print {
  .keyvsl {
    font-size: 1.8rem;
    line-height: 1.6;
    position: relative;
  }
	.keyvsl #slide{
		position: relative;
		width: 1000px;
		margin: 0 auto;
	}
  .keyvsl .catch {
    position: absolute;
    top: 13.0rem;
    left: 0;
    right: 0;
    z-index: 1;
    text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px;
  } 
}


/* ボタンバナー -------------------------------------- */
.btn-red {
background: #E9687A; 
color: #fff;
border-radius: .5rem;
}

.btn-blue {
background: #686AE9; 
color: #fff;
border-radius: .5rem;
}


.btn_online a {
	width: 100%;
	display: block;
	color: #fff;
	border-radius: .5rem;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 1.0rem auto;
	padding: 0.7rem 0;
}

.btn_kv a {
	width: 100%;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #E9687A;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 1.0rem auto;
	padding: 0.7rem 0;
}

.btn2_kv a {
	width: 100%;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #80CDEB;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 1.0rem auto;
	padding: 0.7rem 0;
}

.btn2 a {
	width: 100%;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #80CDEB;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 1.0rem auto;
	padding: 0.7rem 0;
}

.btn3 a {
	width: 100%;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #80CDEB;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 1.0rem auto;
	padding: 0.7rem 0;
	text-decoration: none !important;
}
.btn3.btnL a {
	margin: 1.0rem 0;
}

@media all and (min-width: 48em), print {
.btn_grid {
position: absolute;
bottom: 30px;
left: 0;
right: 0;
}
.btn_grid div { display: inline-block; }

.btn_online a {
max-width: 450px;
display: inline-block;
color: #fff;
border-radius: .5rem;
font-size: 18px;
font-weight: bold;
text-align: center;
line-height: 1.4;
margin: auto;
padding: 10px 15px;
}

.btn_kv a {
	width: 300px;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #E9687A;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: auto;
	padding: 10px 0;
	
	position: absolute;
	bottom: 30px;
    left: 0;
    right: 0;
}


.btn2_kv a {
	width: 260px;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #80CDEB;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: auto;
	padding: 10px 0;	
	position: absolute;
	top: 20px;
  left: 20px;
}
.btn2{
		text-align: left;
}
.btn2 a {
	width: 260px;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #80CDEB;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 20px 0 0;
	padding: 10px 0;	
}

.btn3 a {
	width: 260px;
	display: block;
	color: #fff;
	border-radius: .5rem;
	background: #80CDEB;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin: 20px auto 0;
	padding: 10px 0;
	text-decoration: none !important;
}
.btn3.btnL a {
	margin: 20px 0 0;
}
}


/* お知らせ -------------------------------------- */
.info {
  margin: 4.0rem 0 0;
}
.info .tit {
  color: #0058a7;
  font-size: 1.8rem;
  font-weight: normal;
  padding: 0 0 2.0rem;
  background: url(../img/index_info_niji.png) no-repeat right bottom/35% auto;
}
.info .tit .cap {
  font-size: 1.4rem;
	margin: 0.3rem 0 0 0;
}
.info dl {
  margin: 0;
  background: #fffeef;
  padding: 1.0rem;
  line-height: 1.4;
  /*height: 20.0rem;*/
  overflow-y: auto;
}
.info dl dt {
  color: #0fa956;
}
.info dl dd {
  margin: 0;
  padding-bottom: 1.0rem;
	display: none;
}

.news_title {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  line-height: 160%;
  color: #000000;
  padding: 1rem 1rem 1rem 4rem;
  cursor: pointer; }

.news_title::before {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: solid 1em #EC7F8E;
  border-left: solid 0.6em transparent;
  border-right: solid 0.6em transparent;
  margin: auto;
  left: 0.5rem;
  top: 0;
  bottom: 0;
  transition: 0.5s; }

.news_title.open::before {
  transform: rotateX(180deg);
  transition: 0.5s; }

.news_title span {
  margin: 0 5px 0 0; }



@media all and (min-width: 48em), print {
  .info {
    width: 1000px;
    margin: 4.0rem auto 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .info .tit {
    width: 33.0rem;
    font-size: 3.4rem;
    padding: 0 4.0rem 2.0rem 0;
    background: url(../img/index_info_niji.png) no-repeat center 20rem/contain;
  }
	.info .tit .cap {
		font-size: 2.0rem;
		margin: 0.8rem 0 0 0;
	}
  .info dl {
    width: 67.0rem;
    padding: 2.0rem;
    line-height: 1.6;
    /*height: 29.0rem;*/
  }
}

/* バナー -------------------------------------- */
.top_bnr {
}

.top_bnr a {
  display: inline-block;
}

.top_bnr img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
}

@media all and (min-width: 48em), print {
  .top_bnr {
    width: 1000px;
    margin: auto;
    text-align: center;
    padding-bottom: 8.0rem;
  }
}






/* クリニック開院に込めた想い -------------------------------------- */
.omoi {
  padding-bottom: 4.0rem;
  background: url(../img/index_line.svg) no-repeat center bottom/14rem auto;
}
.omoi img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
}

@media all and (min-width: 48em), print {
  .omoi {
    width: 1000px;
    margin: auto;
    text-align: center;
    padding-bottom: 8.0rem;
    background: url(../img/index_line.svg) no-repeat center bottom/28rem auto;
  }
}
/* 当院について -------------------------------------- */
.about {
  margin: 4.0rem -1.0rem 0;
  padding: 2.0rem 1.0rem 2.0rem;
  background: #fffeef;
}
.about section {
  padding-top: 13.0rem;
  background: url(../img/index_about01.jpg) no-repeat center top/contain;
}
.about section .tit {
  font-size: 1.8rem;
  margin: 0;
}
.about section p {
  margin: 0;
}
.about .seminar img {
  max-width: 100% !important;
  height: auto;
}

@media all and (min-width: 48em), print {
  .about {
    margin: 8.0rem 0 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 5.0rem 0;
  }
  .about section {
    width: 48.0rem;
    padding-top: 21.0rem;
    background: url(../img/index_about01.jpg) no-repeat left top/48rem auto;
    margin-right: 4.0rem;
  }
  .about section .tit {
    font-size: 2.6rem;
  }
  .about .seminar img {
    width: 48.0rem;
  }
}
/* 診療時間・カレンダー -------------------------------------- */
.cal .tbl_time {
  margin-bottom: 2.0rem;
}
.cal .caledit {
  width: 80%;
  margin: 0 auto 1.0rem;
}
.cal .swiper-container .swiper-wrapper .swiper-slide {
  width: 100%;
  height: auto;
}
.cal .swiper-container .swiper-button-prev, .cal .swiper-container .swiper-button-next {
  background: none;
  width: 2.0rem;
  height: 100%;
  margin: auto;
  top: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  outline: none;
}
.cal .swiper-container .swiper-button-prev {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.cal .swiper-container .swiper-button-prev::before {
  font-family: 'fontello';
  content: '\e801';
  font-size: 3.0rem;
}
.cal .swiper-container .swiper-button-next {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.cal .swiper-container .swiper-button-next::after {
  display: block;
  font-family: 'fontello';
  content: '\e806';
  font-size: 3.0rem;
}
.cal .status {
  text-align: center;
}
.cal .status li {
  display: inline-block;
  padding-left: 3.4rem;
  position: relative;
}
.cal .status li::before {
  display: inline-block;
  content: '';
  width: 3.0rem;
  height: 1.6rem;
  border: 1px solid #ccc;
  position: absolute;
  top: .4rem;
  left: 0;
}
.cal .status li:not(:last-child) {
  margin-right: 1.0rem;
}
.cal .status li.kyushin::before {
  background: #fff3f6;
}
.cal .status li.am_kyushin::before {
  background: #f0fce6;
}
.cal .status li.pm_kyushin::before {
  background: #fcfae3;
}

#cervicalCancerslide .sp-layer.sp-black.sp-padding{
  font-size: 1.5rem;
}

@media all and (min-width: 48em), print {
  .cal {
    width: 1000px;
    margin: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .cal .tit_02 {
    width: 100%;
  }
  .cal .tbl_time {
    width: 55%;
    font-size: 1.6rem;
  }
  .cal .tbl_time caption {
    font-size: 1.4rem;
  }
  .cal .swiper-container {
    width: 40%;
    margin-bottom: 1.6rem;
  }
  .cal .status {
    width: 100%;
    text-align: right;
    margin: -2.0rem 6.4rem 0 0;
  }
}
/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
@media all and (min-width: 48em), print {
  .cf .imgL, .cf .imgR {
    width: 30%;
    height: auto;
  }
}
/* ドクター紹介 */
.doctor figure {
  text-align: center;
  padding: 0;
}
.doctor figure img {
  max-width: 100%;
  height: auto;
}

@media all and (min-width: 48em), print {
  .doctor figure img {
    max-width: 50%;
  }
}
/* クリニック紹介 */
#clinicslide, #accessslide {
  margin-bottom: 8.0rem;
}
#clinicslide img, #clinicslide p, #accessslide img, #accessslide p {
  display: none;
}

#cervicalCancerslide .sp-image-container img{
  height:270px !important;
}

.sp-layer.sp-black.sp-padding {
  text-align: center;
  font-size: 3.6rem;
}

@media all and (min-width: 48em), print {
  .sp-layer.sp-black.sp-padding {
    font-size: 2.4rem;
  }
  #cervicalCancerslide .sp-layer.sp-black.sp-padding{
    font-size: 2rem;
  }
}
.sp-selected-thumbnail {
  border: 4px solid #000;
}

/* ご来院の方へ */
.tbl_price.ryoho {
  margin: 1.0rem 0;
}
.tbl_price.ryoho tr th, .tbl_price.ryoho tr td {
  display: block;
  text-align: left;
  width: 100%;
}
.tbl_price.ryoho tr th {
  border-bottom: none;
  font-weight: normal;
}
.tbl_price.ryoho tr td {
  background: #fff;
}
.tbl_price.ryoho tr:not(:last-child) td {
  border-bottom: none;
}

@media all and (min-width: 48em), print {
  .tbl_price.ryoho tr th, .tbl_price.ryoho tr td {
    display: table-cell;
    width: 50%;
    border-bottom: 1px solid #ccc;
  }
}
/* アクセス・診療時間 */
.access .gmap {
  height: 30.0rem;
  margin-bottom: 4.0rem;
}
@media all and (min-width: 48em), print {
  .access .tbl_time {
    font-size: 1.6rem;
  }
  .access .tbl_time caption {
    font-size: 1.6rem;
  }
  .access .gmap {
    height: 60.0rem;
  }
}

/* 一般小児科　アンカー */
.nav_anc {
  margin-bottom: 4.0rem;
}
.nav_anc li {
  margin: 1.0rem;
}
.nav_anc li a {
  display: block;
  background: #d0e7ff;
  color: #000;
  text-align: center;
  padding: 1.0rem;
  text-decoration: none !important;
  border-radius: 1.0rem;
}
.nav_anc li a::after {
  content: '▼';
  color: #0058a7;
  margin-left: .6rem;
}

@media all and (min-width: 48em), print {
  .nav_anc {
    width: 100%;
    margin: 0 auto 8.0rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .nav_anc li {
    width: calc(100%/4);
  }
  .nav_anc li a {
    transition: .2s;
  }
  .nav_anc li a:hover {
    color: #0058a7;
  }
}
/* 食物アレルギー・花粉症・アトピー・気管支　料金表 */
.tbl_price {
  width: 100%;
  border-collapse: collapse;
}
.tbl_price caption {
  caption-side: bottom;
  text-align: left;
  margin-top: .6rem;
}
.tbl_price th, .tbl_price td {
  padding: .4rem .8rem;
  border: 1px solid #ccc;
}
.tbl_price th {
  width: 20%;
  background: #efefef;
}
.tbl_price td {
  width: 40%;
  text-align: right;
  background: #fff;
}

.list_allergy dt{
  float: left;
}

.list_allergy dd{
  margin-left: 60px;
}

/* 一般小児科 */
.tbl_sesshu {
  border-collapse: collapse;
}
.tbl_sesshu th, .tbl_sesshu td {
  border: 1px solid #ccc;
  padding: 1.0rem;
  text-align: left;
}
.tbl_sesshu .tit_col {
  background: #d0e7ff;
  text-align: center;
}
/* 問診表バナー -------------------------------------- */
.monshin_menu {
  margin: 2.0rem 0; }
  .monshin_menu menu ul {
		  margin-left: -2.5rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .monshin_menu menu ul li {
      width: 48%;
      margin-bottom: 1.0rem; }
      .monshin_menu menu ul li a {
        display: block;
        border-radius: .5rem;
        font-weight: bold;
        font-size: 1.2rem;
        text-align: left;
        padding: 1.0rem 1.0rem 1.0rem 1.2rem; }
      .monshin_menu menu ul li.syoshin_syouni a {
        background: #ffd3d9;
        color: #ba2e41; }
      .monshin_menu menu ul li.saishin_monshin a {
        background: #ffe0ab;
        color: #ba600f; }
      .monshin_menu menu ul li.syoshin_syouni_allergy a {
        background: #a5e9b7;
        color: #2c8544; }
      .monshin_menu menu ul li.syoshin_allergy a {
        background: #a5d4e9;
        color: #1b769e; }
      .monshin_menu menu ul li.allergy_keika a {
        background: #d6d7fa;
        color: #7476bc;
        padding: 1.0rem 0 1.0rem 1.2rem; }

@media all and (min-width: 48em), print {
  .monshin_menu {
    width: 1000px;
    margin: 0 auto; }
    .monshin_menu menu ul {
      -webkit-justify-content: space-around;
      justify-content: space-around;
      position: relative; }
      .monshin_menu menu ul li {
        width: 18%;
        margin: 0; }
        .monshin_menu menu ul li a {
          font-size: 1.6rem;
          padding: 1.6rem 0 1.6rem 1.6rem;
          transition: .2s; }
          .monshin_menu menu ul li a:hover {
            opacity: .8; }
        .monshin_menu menu ul li.syoshin_syouni a {
          background: #ffd3d9; }
        .monshin_menu menu ul li.saishin_monshin a {
          background: #ffe0ab; }
        .monshin_menu menu ul li.syoshin_syouni_allergy a {
          background: #a5e9b7; }
        .monshin_menu menu ul li.syoshin_allergy a {
          background: #a5d4e9; }
        .monshin_menu menu ul li.syoshin_allergy {
          left: 25.3rem; } }
        @media all and (min-width: 48em) and (-ms-high-contrast: none) {
          .monshin_menu menu ul li.allergy_keika {
            right: 25.6rem; } }
@media all and (min-width: 48em), print {
          .monshin_menu menu ul li.allergy_keika a {
            background: #d6d7fa;
						padding: 1.6rem 0 1.6rem 1.6rem; }}
        @media all and (min-width: 48em) and (-ms-high-contrast: none) {
          .monshin_menu menu ul li.allergy_keika {
            right: .5rem; } }
	

.mfp-block {
	width: 1260px;
	max-width: 95%;
	max-height: 90vh;
	background: #fff;
	margin: 0 auto;
	position: relative;
}
.mfp-block .mfp-close {
	position: absolute;
	top: -40px;
	right: -15px;
	color: #fff !important;
}
.mfp-block .mfp-space {
	width: 100%;
	height: 90vh;
	padding: 30px 20px;
	box-sizing: border-box;
	overflow-y: auto;
}
.mfp-block img {
	max-width: 100%;
	height: auto;
}
.mfp-block .img-list {
	text-align: center;
}
.mfp-block .img-list li:not(:last-of-type) {
	margin-bottom: 15px;
}

#movie_box{
	width: 320px;
	margin: 0 auto;
}
#movie_box iframe{
	width: 320px;
	height:180px;
}
@media all and (min-width: 48em), print {
#movie_box{
	width: 900px;
	margin: 0 auto;
}
#movie_box iframe{
	width: 900px;
	height: 504px;
}	
}

/*css added*/

.has-background--aliceblue{
  background: #f0f8ff;
  padding: 2rem;
}

.has-background--aliceblue > .tit_02{
  background: none;
  padding-bottom:initial;
}

.p20{
  padding: 2rem; 
}

.calc3 tr th{
  width: calc(100% / 4);
}

#popup .change_detail {
  margin-top: 0;
  display: flex;
  flex-wrap: wrap;
}
#popup .change_detail dt {
  width: 5em;
}
#popup .change_detail dd {
  margin: 0;
  width: 90%;
  width: calc(100% - 5em);
}



