@charset "UTF-8";
@keyframes fadein { 0% { opacity: 0; padding-top: 100px; }
  100% { opacity: 1; padding-top: 70px; } }
@keyframes bound { 0% { transform: translateY(0); }
  50% { transform: translateY(-1em); }
  100% { transform: translateY(0); } }
/* ------------------------------------------------------- setting 全体 ------------------------------------------------------- */
/* ------------------------ 共通
------------------------ */
/* body */
html { font-size: 62.5%; }

body { font-size: 1.46em; font-family: '-apple-system', 'BlinkMacSystemFont', YuGothic, "Yu Gothic", 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif; font-weight: 700; line-height: 1.6; color: #363636; }
@media (min-width: 769px), print { body { font-size: 1.4em; } }
@media (min-width: 851px), print { body { font-size: 1.55em; } }

/* link */
a { color: #1e90ff; }
a img { transition: ease all 0.15s; }
a:hover { color: #cc7266; }
a:hover img { opacity: .7; }

/* color */
.color_key { color: #cc7266; }
.color_base { color: #363636; }
.color_asta { color: tomato; }

/* ------------------------------------------------------- layout
------------------------------------------------------- */
/* ------------------------ footer
------------------------ */
.footer { margin-top: 60px; padding-top: 20px; }
.footer a { text-decoration: none; }
.footer a:hover { color: #cc7266; }
.footer_inner { background: #cccccc; padding: 2em; }
.footer_menu { display: flex; flex-wrap: wrap; }
.footer_btn_wrap li { text-align: center; padding: 0 .6em; width: 180px; margin: 0 auto; }
.footer_btn_wrap li:first-of-type { margin-bottom: .8em; }
.footer_btn_wrap a { width: 100%; border-radius: 8px; color: #fff; background: #818181; }
.footer_btn_wrap a:hover { color: #fff; background: #686868; }
.footer_fix { position: fixed; right: 0; bottom: 0px; z-index: 98; width: 100%; height: 55px; display: flex; align-items: center; justify-content: space-between; }
.footer_fix button { width: 50%; height: 100%; border-radius: 0; font-size: 1em; line-height: 1.2; padding: 0.3em 0.95em; display: flex; align-items: center; justify-content: center; font-weight: bold; position: relative; cursor: pointer; transition: ease all 0.15s; }
.footer_fix button i { display: block; position: absolute; right: 0.3em; top: 50%; transform: translateY(-50%); }
.footer_fix button#open-chatbot { background: #CC7266; border: 1px solid #604242; color: #fff; }
.footer_fix button#open-chatbot::before { content: ""; display: block; background: url(../images/icon_chatbot.png) center center/contain no-repeat; width: 1.7em; height: 1.4em; margin-right: 0.2em; margin-bottom: 0.1em; }
.footer_fix button.open-button { background: #fff; color: #CC7266; border: 1px solid #CC7266; }
.footer_fix button:hover { filter: brightness(110%) contrast(80%); }
@media (min-width: 769px), print { .footer { font-size: 14px; }
  .footer_inner { margin-right: -10px; margin-left: -10px; display: flex; justify-content: space-between; align-items: end; padding-bottom: 5em; }
  .footer_info { width: 30%; height: 100%; }
  .footer_text { width: 65%; height: 100%; }
  .footer_menu li { width: 50%; padding: .6em 0; }
  .footer_fix { width: 425px; }
  .footer_fix button { font-size: 1.2em; } }
@media (min-width: 1200px), print { .footer_inner { align-items: flex-end; }
  .footer_menu li { width: 25%; }
  .footer_menu li:nth-of-type(3n) { width: 50%; }
  .footer_other { display: flex; justify-content: space-between; align-items: baseline; } }
@media (max-width: 768px) { .footer { position: relative; padding-bottom: 85px; background: #cccccc; }
  .footer_inner { padding: 2em 3%; }
  .footer_menu li { width: 50%; text-align: center; padding: .6em; }
  .footer_info { max-width: 280px; margin: 0 auto 1em; }
  .footer_clinic { padding: 0 3%; }
  .footer_fix { display: flex; }
  .footer_other { text-align: center; }
  .footer_other p { margin: 0; }
  .footer_other small { font-size: 10px; } }

/* ------------------------ header
------------------------ */
.header { background: #fff; display: flex; flex-wrap: wrap; align-content: flex-start; align-items: center; }
.header_dept { font-size: 11px; text-align: center; }
.header_info { overflow: hidden; padding-top: 1em; }
.header_info li { position: relative; }
.header_info a { display: block; width: 100%; }
.header_nav li { padding-bottom: .5rem; }
.header_nav a { text-decoration: none; position: relative; display: inline-block; padding: .2em 5px; color: #363636; overflow: hidden; transition: ease all 0.15s; }
.header .item_tel { /*position: absolute;
left: 10%;
width: 80%;*/ }
.header .item_web { margin-left: 14%; margin-bottom: 10px; }
.header .item_reservation, .header .item_line { margin-left: 14%; }
@media (min-width: 769px), print { .header { position: fixed; width: 180px; height: 100%; padding-top: 3em; overflow: auto; z-index: 5; left: 0; }
  .header_logo { text-align: center; padding: 0 15px; margin-bottom: 10%; }
  .header_tel { text-align: center; padding: 0 30px; }
  .header_dept { padding: 0 1em; }
  .header_nav { padding-top: 2em; padding-left: 1em; }
  .header_nav a { font-size: 1em; }
  .header_nav a:after { position: absolute; content: ""; display: block; left: 0; bottom: -3px; height: 3px; width: 100%; background: #cc7266; transition: ease all 0.15s; }
  .header_nav a:hover:after { bottom: 0; } }
.header .item_web { margin-left: 0%; margin-bottom: 0; width: 85%; }
.header .item_reservation, .header .item_line { margin-left: 0%; width: 85%; }
@media (min-width: 851px), print { .header { width: 200px; }
  .header_nav { padding-left: 10%; }
  .header .item_web { margin-left: 14%; margin-bottom: 5%; width: 75%; }
  .header .item_reservation, .header .item_line { margin-left: 14%; margin-bottom: 1em; width: 75%; } }
@media (min-width: 769px) and (max-width: 850px) { .header { /*.item_tel{
	top: 16%;
}*/ }
  .header_logo img { width: 80%; }
  .header_tel { padding: 0; }
  .header_tel img { width: 80%; }
  .header_info { padding-left: 13%; }
  .header_info a { padding: .8em 0; }
  .header .item_tel { /*background: url(../images/header_nav-tel_bg.png) repeat-y;
background-size: cover;*/ }
  .header .item_web { /*background: url(../images/header_nav-web_bg.png) repeat-y;
background-size: cover;*/ }
  .header .item_reservation { /*background: url(../images/header_nav-web_bg.png) repeat-y;
background-size: cover;*/ } }
@media (min-width: 1200px), print { .header { width: 260px; /*.item_tel{
	top: 26%;
}*/ }
  .header_tel { padding: 0; }
  .header_tel img { width: 80%; }
  .header_nav { padding-left: 14%; width: 80%; }
  .header_nav a { font-size: 1.1em; }
  .header .item_web { margin-left: 14%; margin-bottom: 5%; width: 85%; }
  .header .item_reservation, .header .item_line { margin-left: 14%; width: 85%; } }
@media (min-width: 1400px), print { .header { width: 300px; left: calc((100% - 1400px) / 2); /*.item_tel{
	top: 30%;
}*/ }
  .header .drawer_nav { width: 300px; } }
@media (min-width: 1600px), print { .header { width: 330px; left: calc((100% - 1600px) / 2); /*.item_tel{
	top: 30%;
}*/ } }
@media (max-width: 768px) { .header { /*position: fixed;*/ left: 0; top: 0; z-index: 7; width: 100%; padding: 0 10px 0 5px; height: 90px; text-align: left; box-shadow: 0 0 5px 0px #00000040; }
  .header_logo { width: 100%; }
  .header_dept { margin: 0; margin-top: -13px; padding-left: 45px; text-align: left; }
  .header_info { order: 1; overflow: visible; margin-left: 0; margin-top: 70px; padding-bottom: 1em; border-top: 1px solid #f2f2f2; /*.item_tel{
	top: 20%;
}*/ }
  .header_info li { padding: .5em 2em; }
  .header_info a { padding: .6em; }
  .header_nav { order: 2; }
  .header_nav li { padding: 0; border-top: 1px solid gainsboro; }
  .header_nav a { display: block; padding: .7em 1em .7em 2em; }
  .header_nav_sub { border-top: 1px solid gainsboro; border-left: 1em solid gainsboro; }
  .header_nav_sub li { border: 0; }
  .header_nav_sub li:first-of-type a { border: 0; }
  .header_nav_sub a { border-top: 1px solid gainsboro; display: block; padding-left: 2em; background: #fafafa; }
  .header_nav_sub_btn { position: absolute; right: 0; top: 0; height: 44px; width: 44px; display: flex; justify-content: center; align-items: center; text-align: center; background: #dcdcdc; transition: ease all .5s; }
  .header_nav_sub_btn svg { transition: ease all .5s; fill: #fff; }
  .header_nav_sub_btn.active { background: #bebebe; }
  .header_nav_sub_btn.active svg { transform: rotate(-45deg); }
  .header .item_tel { position: relative; top: 0; left: 0; width: 100%; }
  .header .item_tel a { background: #cccccc; }
  .header .item_web { margin-left: 0; width: 100%; }
  .header .item_web a { background: #cc7266; }
  .header .item_reservation { margin-left: 0; width: 100%; }
  .header .item_reservation a { background: #cc7266; }
  .header .item_line { margin-left: 0; width: 100%; }
  .header .item_line a { background: #00b900; } }

/* ------------------------ .main
------------------------ */
.main { background: #f2f2f2; }
.main_top ul { display: flex; justify-content: flex-end; padding: 2em 0; }
.main_top ul li:first-of-type { margin-right: 1em; padding-right: 1em; border-right: 1px solid #363636; }
@media (min-width: 769px), print { .main { width: 100%; max-width: 1400px; height: 100%; padding-left: calc(180px + 10px); padding-right: 10px; margin: 0 auto; } }
@media (min-width: 851px), print { .main { padding-left: calc(200px + 10px); } }
@media (min-width: 1200px), print { .main { padding-left: calc(260px + 10px); } }
@media (min-width: 1400px), print { .main { padding-left: calc(300px + 10px); } }
@media (min-width: 1600px), print { .main { max-width: 1600px; padding-left: calc(330px + 10px); } }

/* ------------------------ .con
------------------------ */
.con { margin-bottom: 5em; }
.con_sub:not(:last-of-type) { margin-bottom: 3em; }
.con_sub + .con_sub { margin-top: 3em; padding-top: 3em; border-top: 1px solid gainsboro; }
@media (max-width: 768px) { .con { padding-right: 3%; padding-left: 3%; } }
@media (min-width: 769px), print { .con { padding-right: 20px; padding-left: 20px; } }
@media (min-width: 851px), print { .con { padding-right: 4%; padding-left: 4%; } }

.under .con { background: #fff; padding: 3em 2em; }
@media (min-width: 1200px), print { .under .con { max-width: 980px; margin-right: auto; margin-left: auto; } }

hr { margin: 3em 0; border: 0; height: 1px; background: gainsboro; }

/* ------------------------------------------------------- wrap
------------------------------------------------------- */
/* ------------------------ 共通
------------------------ */
/* page_figure */
.page_figure { max-width: 280px; margin: 0 auto; }
.page_figure img { display: block; margin: 0 auto; }
@media (min-width: 769px), print { .page_box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .page_box .page_figure { margin: 0; width: 240px; }
  .page_text { width: calc((100% - 1.5em) - 240px); } }
@media (max-width: 768px) { .page_text { margin-top: 1.5em; } }

/* title */
h2 { text-align: center; margin: 2em auto; }

.title_h2_under { font-size: 1.8em; text-align: center; line-height: 1.1; margin-top: 0; }
.title_h2_under span { display: inline-block; border-bottom: 1px solid #363636; }
.title_h3 { font-size: 1.16em; line-height: 1.3; margin-bottom: 1.2em; }
.title_h3 span { display: inline-block; padding-left: .5em; border-left: 3px solid #cc7266; }
.title_h3_sub { font-size: 1.16em; line-height: 1.3; margin-bottom: 1.2em; padding-left: 1.5em; color: #cc7266; position: relative; font-size: 1.2em; }
.title_h3_sub:before { content: ""; width: 1em; height: 1em; position: absolute; left: 0; top: 2px; line-height: 1.3; display: inline-block; border-radius: 6px; background: #cc7266; }
.title_guidance img { display: block; margin: 0 auto; }
.title_figure { padding: 1.5em 0; }
@media (max-width: 768px) { .title_h2_under { font-size: 1.6em; } }

/* text */
.text { font-weight: normal; }
@media (min-width: 769px), print { .text { font-weight: 500; } }

/* map box */
.map { width: 100%; }
.map_english { height: 400px; }
@media (max-width: 768px) { .map { height: 300px; } }

/* grid サイズ */
@media (min-width: 769px), print { .page_grid { grid-template-columns: 240px 1fr; align-items: center; } }

.body_grid { grid-gap: .5em; }
@media (min-width: 769px), print { .body_grid { grid-template-columns: 110px 1fr; grid-gap: 0; } }

/* dl */
.dl_box { padding: 1.5em; border: 2px solid #cc7266; position: relative; }
.dl_box:last-of-type { margin-bottom: 0; }
.dl_box dt { font-weight: bold; color: #cc7266; margin-bottom: .5em; }
.dl_box.type2 { border-color: #cccccc; }
.dl_box.type2 dt { color: #363636; }
.dl_box.noborder { border: 0; }

/* timeline */
.timeline { width: 100%; }
.timeline th, .timeline td { padding: 8px 6px; text-align: center; border: 1px solid #000; }
.timeline th { background: #cccccc; }
.timeline td { width: calc(100% / 8); background: #fff; }
.timeline td span { display: block; }
.timeline td i { font-style: normal; color: tomato; }
.timeline .time { width: 20%; height: 88px; }
.timeline .holiday { color: #cc7266; }
.timeline_box { width: 100%; margin: 0 auto; }
@media (min-width: 769px), print { .timeline_english .time { width: 140px; }
  .timeline_english td { width: calc((100% - 140px) / 6); } }
@media (max-width: 768px) { .timeline_english .week { width: 50px; }
  .timeline_english td { width: auto; } }
@media (max-width: 543px) { .timeline { font-size: .8em; }
  .timeline th, .timeline td { padding: 8px 0; }
  .timeline .time { width: 90px; }
  .timeline .holiday { width: 20px; } }

/* default table */
.deftable { width: 100%; }
.deftable th, .deftable td { padding: 8px 10px; border: 1px solid #000; }
.deftable th { background: #cccccc; }
.deftable td { background: #fff; }
.deftable td i { font-style: normal; color: tomato; }

.nowrap { white-space: nowrap; }

/* checktest */
.checktest { width: 100%; }
.checktest th, .checktest td { padding: 8px 10px; text-align: center; border: 1px solid #000; }
.checktest th { background: #cccccc; }
.checktest td { width: 8%; background: #fff; }
.checktest td:first-child { width: 84%; text-align: left; background: #fff; }
.checktest td span { display: block; }
.checktest td i { font-style: normal; color: tomato; }

.checktest_box { width: 100%; margin: 0 auto; }

@media (min-width: 769px), print { .checktest_english .time { width: 140px; }
  .checktest_english td { width: calc((100% - 140px) / 6); } }
@media (max-width: 768px) { .checktest_english .week { width: 50px; }
  .checktest_english td { width: auto; } }
@media (max-width: 543px) { .checktest { font-size: 1.0em; }
  .checktest th, .checktest td { padding: 8px 5px; } }
/* link_anc アンカーのズレ解消 */
@media (max-width: 768px) { .link_anc { padding-top: 70px; margin-top: -70px; }
  .con .link_anc { padding-top: calc(70px + 3em); margin-top: calc(-70px + -3em); } }
/* ------------------------------------------------------- 下層ページ
------------------------------------------------------- */
/* ------------------------ access
------------------------ */
.access_wrap { display: flex; flex-wrap: wrap; margin: 0 0 2em -1em; }
.access_wrap .item { flex: 0 0 50%; padding: 0 0 0 1em; }
@media (max-width: 768px) { .access_wrap { margin: 0 auto 2em; }
  .access_wrap figure { margin-bottom: 2em; }
  .access_wrap .item { flex: 0 0 100%; padding: 0; } }

/* ------------------------ doctor
------------------------ */
.doctor_list { display: flex; flex-wrap: wrap; margin-bottom: 2.5em; }
.doctor_list dt { width: 100%; margin-bottom: 1em; font-weight: bold; }
.doctor_list dd { width: 100%; }
.doctor_list li { margin-bottom: .6em; }
.doctor_menu { margin: 0 auto 4em; display: flex; flex-wrap: wrap; text-align: center; justify-content: center; }
.doctor_menu li { font-size: 1.1em; flex: 0 0 100%; padding-left: 1em; }
.doctor_menu span { display: inline-block; margin-right: 1em; }
@media (min-width: 769px), print { .doctor_list dt { width: 20%; }
  .doctor_list dd { width: 80%; } }
@media (min-width: 1200px), print { .doctor_menu { justify-content: flex-start; max-width: 700px; }
  .doctor_menu li { max-width: 30%; flex: auto; } }

/* ------------------------ immunization
------------------------ */
.immunization { display: inline-flex; flex-wrap: wrap; justify-content: center; }
.immunization_rsv { margin: 2em 0; text-align: center; }
.immunization_rsv img { width: 440px; max-width: 100%; }
.immunization_time { display: inline-block; padding: 1em 1.5em; border: 2px solid #363636; }
.immunization_time b { font-size: 1.2em; }
.immunization_time p { margin: .4em 0; font-weight: bold; font-size: 1.6em; letter-spacing: .2em; }
.immunization_time span { font-size: .9em; }
.immunization_time dl { display: flex; flex-wrap: wrap; width: 10em; margin: 0.5em auto; font-size: 1.2em; font-weight: bold; }
.immunization_time dl dt { text-align: right; width: 4em; }
.immunization_time dl dd { text-align: left; }
.immunization_table th, .immunization_table td { border: 1px solid #363636; }
.immunization_table th { background: #f2f2f2; }
@media (min-width: 769px), print { .immunization_table td { width: calc((100% - 120px) / 4); padding: 5px; }
  .immunization_table .wko { width: 120px; }
  .immunization_table .wks { width: 80px; } }
@media (max-width: 768px) { .immunization_table { font-size: .9em; }
  .immunization_table_wrap { margin-right: -1em; margin-left: -1em; }
  .immunization_table td { padding: 5px 2px; }
  .immunization_table .wko { width: 30px; }
  .immunization_table .wkt { width: 70px; }
  .immunization_table .wks { width: 52px; } }
.immunization_table_wrap { display: none; }
@media (min-width: 769px), print { .immunization_table_grid { grid-template-columns: 130px 1fr; } }
@media (max-width: 768px) { .immunization_table_grid { grid-gap: 0; }
  .immunization_table_grid div:last-of-type { padding-left: 1em; } }
.immunization_item { margin: 0 auto 1em; }
.immunization_item .item { display: block; background: gray; color: #fff; padding: .5em 1em; font-size: 1.3em; font-weight: bold; border-radius: 4px; text-align: center; }

/* ------------------------ pediatrics
------------------------ */
@media (min-width: 1200px), print { .pediatrics_grid { grid-template-columns: 280px 1fr; align-items: center; } }
.pediatrics_grid_list { border-color: #cccccc; }
.pediatrics_grid_list li { padding: .5em .8em; margin: 0; border-color: #cccccc; }

/* ------------------------ inspection
------------------------ */
.inspection_grid { border-width: 1px; border-style: solid; border-color: #cccccc; }
.inspection_grid > dt { color: #fff; padding: .5em 1em; }
.inspection_grid > dt a { display: block; }
.inspection_grid > dd { border-top: 1px solid #cccccc; background: #fff; }
.inspection_grid p { margin: 0; padding: .5em 1em; }
.inspection_grid .body_grid dt { padding: .5em 1em; color: #cc7266; background: #f2f2f2; border-bottom: 1px dashed #cccccc; }
.inspection_grid .body_grid dd { padding: .5em 1em; border-bottom: 1px dashed #cccccc; }
.inspection_grid .body_grid:last-of-type dt, .inspection_grid .body_grid:last-of-type dd { border-bottom: 0; }
@media (min-width: 851px), print { .inspection_grid { grid-template-columns: 170px 1fr; align-items: center; }
  .inspection_grid > dd { border-top: 0; border-left: 1px solid #cccccc; } }
@media (max-width: 768px) { .inspection_grid > dt { padding: 0; }
  .inspection_grid > dt a { border-radius: 0; }
  .inspection_grid .body_grid { grid-gap: 0; }
  .inspection_grid .body_grid dt, .inspection_grid .body_grid dd { border-bottom: 0; } }

/* ------------------------ clinic
------------------------ */
.clinic_swiper { max-width: 640px; margin: 0 auto; }

.under .gallery-thumbs { height: 20%; box-sizing: border-box; margin-top: 10px; }
.under .gallery-thumbs .swiper-slide { width: 25%; height: 100%; opacity: 0.4; cursor: pointer; }
.under .gallery-thumbs .swiper-slide-thumb-active { opacity: 1; }
.under .swiper-button-prev, .under .swiper-container-rtl .swiper-button-next { -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -webkit-mask-size: 27px; mask-size: 44px; background: #fff; }
.under .swiper-button-next, .under .swiper-container-rtl .swiper-button-prev { -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -webkit-mask-size: 27px; mask-size: 44px; background: #fff; }

/* ------------------------ faq
------------------------ */
.question { margin-bottom: 2em; }
.question:last-of-type { margin-bottom: 0; }
.question + dl { padding-top: 2em; border-top: 1px dashed gainsboro; }
.question dt, .question dd { position: relative; }
.question dt::before, .question dd::before { display: block; width: 2em; text-align: center; font-weight: bold; position: absolute; top: 0; left: 0; }
.question dt { font-weight: bold; padding-left: 2em; color: #cc7266; }
.question dt::before { content: "Q"; }
.question dd { padding: 1.2em; padding-left: 2em; padding-bottom: 0; }
.question dd::before { content: "A"; top: 1em; }

/* ------------------------ policy
------------------------ */
.policy h3 { padding: 1em; }
.policy p { padding: 2em 3em; font-size: .86em; background: #fafafa; margin-bottom: 4em; }

/* ------------------------ smoking_cessation
------------------------ */
/* ニコチン依存症テスト */
.tds_cal { text-align: center; margin-bottom: 1em; }
.tds_cal button { padding: 8px 12px; width: 180px; text-align: center; }
.tds_cal button:disabled { opacity: 1; background: #ccc; border-color: #ccc; }

.btn { display: inline-block; position: relative; margin: 1rem auto 0; border-radius: .8rem; border: solid transparent; border-width: 0 0 .3rem; box-sizing: border-box; font-size: 1.8rem; font-weight: bold; line-height: 1.8; }
.btn[disabled] { cursor: not-allowed; pointer-events: none; opacity: .65; box-shadow: none; }

.btn-blue { position: relative; color: #fff !important; background: #cc7266; border-bottom-color: #bf665a; }

.tds_result { display: none; margin: 0 auto; text-align: center; padding: 1.5rem; background: #f4f4f4; border-radius: .4rem; }
.tds_result p { text-align: center; font-weight: 700; color: #668ccc; font-size: 2.0rem; }
.tds_result input { width: 2em; text-align: center; font-size: 26px; font-weight: 700; color: #cc7266; background: 0 0; border: none; }

/* ------------------------ medical_checkup
------------------------ */
/*脳ドック*/
.box_braindock { border-color: #e1e1e1; padding: 20px; background-image: url("../images/_icon/icon_box_braindock.png"); }

/*心臓ドック*/
.box_heartdock { border-color: #fae8d3; padding: 20px; background-image: url("../images/_icon/icon_box_heartdock.png"); }

/*腹部ドック*/
.box_abdomendock { border-color: #ebeee9; padding: 20px; background-image: url("../images/_icon/icon_box_abdomendock.png"); }

/*甲状腺ドック*/
.box_Thyroidglanddock { border-color: #ecefea; padding: 20px; background-image: url("../images/_icon/icon_box_Thyroidglanddock.png"); }

/*肺ドック*/
.box_lungdock { border-color: #e3efef; padding: 20px; background-image: url("../images/_icon/icon_box_lungdock.png"); }

/*血液ドック*/
.box_blooddock { border-color: #f7f2e0; padding: 20px; background-image: url("../images/_icon/icon_box_blooddock.png"); }

.box_braindock, .box_heartdock, .box_abdomendock, .box_Thyroidglanddock, .box_lungdock, .box_blooddock { background-position: 90% 5%; background-repeat: no-repeat; margin: 1px; border-width: 3px; border-style: solid; }
.box_braindock h4, .box_heartdock h4, .box_abdomendock h4, .box_Thyroidglanddock h4, .box_lungdock h4, .box_blooddock h4 { margin-bottom: .5rem; margin-top: 1rem; }
.box_braindock p, .box_heartdock p, .box_abdomendock p, .box_Thyroidglanddock p, .box_lungdock p, .box_blooddock p { margin-top: 0; }

.qr { width: 140px; padding: 14px; border: 1px solid #eee; }

.arrow::after { content: "\f107"; font-family: FontAwesome; position: absolute; right: 50%; bottom: -35px; font-size: 150%; color: #cc7266; }

.pagetop { position: fixed; bottom: 55px; right: 0; background: #c1c1c1; z-index: 98; width: 80px; }
@media (min-width: 769px), print { .pagetop { display: none; } }

/* drawer 基本設定 */
@media (max-width: 768px) { html { overflow-y: scroll; }
  html.drawerOpen { overflow: hidden; }
  .drawer { position: fixed; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; transition: ease; }
  .drawer_backdrop { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); }
  .drawer_nav { position: absolute; top: 0; right: 0; height: 100%; width: 260px; }
  .drawer[aria-expanded] { transition-property: visibility; transition-duration: 0.25s; }
  .drawer[aria-expanded] .drawer_backdrop { transition-property: opacity; transition-duration: 0.25s; transition-timing-function: linear; }
  .drawer[aria-expanded] .drawer_nav { transition-property: transform; transition-duration: 0.25s; transition-timing-function: ease; }
  /* 開いているとき */
  .drawer[aria-expanded="true"] { visibility: visible; transition-duration: 0s; }
  .drawer[aria-expanded="true"] .drawer_backdrop { opacity: 1; }
  .drawer[aria-expanded="true"] .drawer_nav { transform: translateX(0); }
  /* 閉じているとき */
  .drawer[aria-expanded="false"] { visibility: hidden; }
  .drawer[aria-expanded="false"] .drawer_backdrop { opacity: 0; }
  .drawer[aria-expanded="false"] .drawer_nav { transform: translateX(100%); }
  .nav { overflow: auto; -webkit-overflow-scrolling: touch; background: #fff; display: grid; }
  .nav_button { position: fixed; top: 23px; right: 10px; width: 24px; height: 24px; border: 0; padding: 0; z-index: 10; background-color: #fff; border-radius: 5px; transition: all ease .5s; }
  .header_button { z-index: 9; }
  .slide_button svg { fill: #cc7266; }
  .nav_button::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.1); content: ""; opacity: 0; transition-property: opacity; transition-duration: 0.1s; transition-timing-function: linear; } }

/*# sourceMappingURL=style.css.map */
