@charset "UTF-8";
/* 赤　＝　#e50012　rgb(229,0,18) */
/* 背景　＝　#fbfaf8  */
/* ベージュ　＝　#fbe6d4　rgb(251,230,212) */
/* 黒　＝　#4d4545 */
#about-page #side-bar nav > ul > li:nth-child(2) > a { background-color: #e50012; color: #fff; }

#second-page #side-bar nav > ul > li:nth-child(3) > a { background-color: #e50012; color: #fff; }

.underline { text-decoration: underline !important; }

.img-nonresponsive { width: auto !important; }

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

.text-center { text-align: center !important; }

/*アクセスのページ内リンク用*/
.page-nai-link { padding-top: 120px !important; margin-top: -120px !important; }

@media screen and (max-width: 768px) { .page-nai-link { padding-top: 100px !important; margin-top: -100px !important; } }
@media screen and (max-width: 768px) { .page-nai-link { padding-top: 90px !important; margin-top: -90px !important; } }
/*===================================================================
　↓　#greeting
===================================================================*/
#greeting .box { margin: auto; max-width: 860px; width: 100%; padding: 40px; box-sizing: border-box; border: 1px solid #e50012; /*赤*/ border-radius: 10px; background-image: url(../img/base/rose-pin.png), url(../img/base/rose-pin.png), url(../img/base/rose-pin.png), url(../img/base/rose-pin.png); background-repeat: no-repeat; background-size: 14px; background-position: top 15px left 15px, top 15px right 15px, bottom 15px left 15px, bottom 15px right 15px; }

#greeting .box p.comment { margin: auto; max-width: 740px; width: 100%; line-height: 2.2em; margin-bottom: 10px; }

#greeting .box p.name { text-align: right; }

#greeting .box p.name span { font-size: 1.6rem; font-weight: 500; }

@media screen and (max-width: 640px) { #greeting .box { padding: 40px 20px; } }
/*===================================================================
　↓　#info
===================================================================*/
#info #box-wrap { display: table; margin: auto; }

#info #box-wrap .box-left { display: table-cell; width: 280px; padding-right: 40px; box-sizing: border-box; vertical-align: middle; }

#info #box-wrap .box-left img { height: 114px; width: auto; }

#info #box-wrap .box-right { display: table-cell; }

#info #box-wrap .box-right p { margin-top: 8px; line-height: 1.8em; }

#info #box-wrap .box-right p span { font-size: 1.6rem; font-weight: 500; }

#info #box-wrap .box-right p a { color: #4d4545; border-bottom: 1px dotted #e50012; }

#info #box-wrap .box-right p a:hover { color: #4d4545; border-bottom: 1px solid #e50012; }

#info ul { margin-top: 25px; }

#info ul li { text-align: center; margin-bottom: 8px; font-size: 1.5rem; }

#info ul li:last-child { margin-top: 20px; color: #e50012; font-size: 1.6rem !important; font-weight: 500; }

#info ul li a { display: inline-block; line-height: 60px; padding: 0 30px; border-radius: 30px; background-color: #fce5e7; font-size: 2.4rem; font-weight: 700; color: #e50012; letter-spacing: 0.05em; margin-top: 5px; }

#info ul li a img { width: 20px; height: auto; vertical-align: middle; padding-right: 6px; }

#info ul li a img.mail { width: 100%; max-width: 437px; }

@media screen and (max-width: 640px) { #info #box-wrap, #info #box-wrap .box-left, #info #box-wrap .box-right { display: block; width: 100%; padding: 0; }
  #info #box-wrap .box-left { text-align: center; }
  #info #box-wrap .box-left img { height: 90px; }
  #info #box-wrap .box-right p { text-align: center; }
  #info ul li { font-size: 1.4rem; } }
/*===================================================================
　↓　#area
===================================================================*/
/*----------------------------------------------
　　.white-back
----------------------------------------------*/
#area .white-back { text-align: center; max-width: 860px; margin: auto auto 50px; }

#area .white-back h2 { font-size: 2.0rem; }

#area .white-back img { max-width: 610px; width: 100%; height: auto; margin: 50px auto; }

#area .white-back p { text-align: left; font-size: 1.6rem; line-height: 2.4em; }

@media screen and (max-width: 768px) { #area .white-back { margin: auto auto 40px; }
  #area .white-back h2 { font-size: 1.8rem; }
  #area .white-back img.area-image { margin: 40px auto; } }
@media screen and (max-width: 640px) { #area .white-back { margin: auto auto 30px; }
  #area .white-back h2 { font-size: 1.6rem; }
  #area .white-back img { margin: 25px auto; }
  #area .white-back p { font-size: 1.4rem; line-height: 2.42em; } }
/*----------------------------------------------
　　.medical-box
----------------------------------------------*/
#area .medical-box { width: calc(50% - 20px); float: left; margin-bottom: 50px; }

#area .medical-box:nth-child(odd) { float: left; }

#area .medical-box:nth-child(even) { float: right; }

#area .medical-box .image-single { /*リストなし*/ width: 100% !important; float: none; text-align: center; padding: 0 20px; box-sizing: border-box; }

#area .medical-box a { position: relative; border: 2px solid rgba(229, 0, 18, 0.15); box-sizing: border-box; border-radius: 10px; padding: 40px 20px 45px 30px; display: block; width: 100%; height: 100%; -webkit-transition: 0.4s; -moz-transition: 0.4s; -ms-transition: 0.4s; transition: 0.4s; }

#area .medical-box h3 { position: absolute; font-size: 2rem; text-align: center; top: -16px; left: 0; color: #e50012; /*赤*/ width: 100%; box-sizing: border-box; }

#area .medical-box h3 span { background-color: #fbfaf8; padding: 0 20px; }

#area .medical-box .image { width: 60%; float: left; line-height: 0; padding-right: 20px; box-sizing: border-box; }

#area .medical-box .image img { width: 100%; height: auto; background-color: #fff; border-radius: 50%; }

#area .medical-box .image-single img { /*リストなし*/ width: 60%; }

#area .medical-box .list { width: 40%; float: left; height: 100%; display: flex; align-items: center; }

#area .medical-box .list ul { margin-left: 20px; position: relative; z-index: 2; color: #4d4545; }

#area .medical-box .list ul li { list-style-type: disc; margin-bottom: 10px; }

#area .medical-box .list ul li span { font-size: 0.95em; }

#area .medical-box a p { /*詳しく見る*/ position: absolute; bottom: -2px; right: -2px; padding: 40px 12px 12px 90px; text-align: center; border-bottom-right-radius: 10px; z-index: 1; font-weight: 500; background-image: url(../img/base/sankaku-beige.png); background-size: 101% 101%; background-position: bottom right; -webkit-transition: 0.4s; -moz-transition: 0.4s; -ms-transition: 0.4s; transition: 0.4s; }

#area .medical-box a:hover { border: 2px solid #e50012; }

#area .medical-box a:hover p { /*詳しく見る*/ font-weight: 500; color: #fff; background-image: url(../img/base/sankaku-red.png); }

@media screen and (max-width: 1300px) { #area .medical-box { width: calc(50% - 15px); }
  #area .medical-box .image, #area .medical-box .list { width: 50%; }
  #area .medical-box .list ul li { margin-bottom: 6px; }
  #area .medical-box .image-single img { /*リストなし*/ width: 50%; } }
@media screen and (max-width: 1200px) { #area .medical-box .image { width: 100%; padding-right: 0; text-align: center; padding-bottom: 30px; margin-bottom: 30px; border-bottom: 2px dotted rgba(229, 0, 18, 0.2); }
  #area .medical-box .image-single { /*リストなし*/ padding: 0; height: 100%; padding-bottom: 0; margin-bottom: 0; border-bottom: none; display: flex; justify-content: center; align-items: center; }
  #area .medical-box .image-single img { /*リストなし*/ width: 100%; margin-bottom: 10px; }
  #area .medical-box a { padding: 40px 25px 25px 25px; }
  #area .medical-box h3 { font-size: 1.8rem; top: -14px; }
  #area .medical-box .image img { max-width: 240px; }
  #area .medical-box .list { width: 100%; float: left; display: block; } }
@media screen and (max-width: 640px) { #area .medical-box { width: 100%; margin-bottom: 40px; }
  #area .column-2 .medical-box .image { /*下段*/ margin-bottom: 0; padding-bottom: 10px; }
  #area .medical-box h3 { top: -12px; }
  #area .medical-box .image img { max-width: 200px; }
  #area .medical-box .list { min-height: 52px; }
  #area .medical-box a p { /*詳しく見る*/ padding: 60px 12px 12px 60px; } }
/********************************************************
　本院だけの仕様
*******************************************************
#about-page #area #triple-wrap .medical-box { width: 32%; float: left; margin-right: 2%;
}
#about-page #area #triple-wrap .medical-box:last-child { margin-right: 0;
}
#about-page #area #triple-wrap .medical-box .image-single { width: 100% !important; float: none; text-align: center; padding: 0 20px; box-sizing: border-box;
}

@media screen and (max-width: 1300px) {
#about-page #area #triple-wrap .medical-box .image { padding: 0 30px;
}
}


@media screen and (max-width: 1200px) {
#about-page #area #triple-wrap .medical-box .image { width: 100%; padding: 0 0 30px; margin-bottom: 0; border-bottom: none;
}
}

*******************************************************/
/*===================================================================
　↓　#facilities
===================================================================*/
/*----------------------------------------------
　　#slider
----------------------------------------------*/
#slider .slick-list { overflow: visible; }

#slider img { width: 100%; height: auto; border-radius: 10px; }

#slider p.caption { position: absolute; width: 100%; height: 60px; line-height: 60px; text-align: center; bottom: -30px; right: 0; left: 0; margin: auto; }

#slider p.caption span { display: inline-block; background-color: #fff; border-radius: 5px; max-width: 300px; width: 80%; text-align: center; letter-spacing: 0.1em; font-size: 1.6rem; }

/*** slick ***/
button.slick-next, button.slick-prev { /*slick-thema.cssから引き継ぎ*/ font-size: 0; line-height: 0; cursor: pointer; border: none; outline: none; position: absolute; background-color: transparent; /*オリジナル設定*/ width: 38px; height: 38px; top: 0; bottom: 0; margin: auto; z-index: 2; background-size: contain; }

button.slick-next { right: -19px; background-image: url(../../common/img/base/control_next.png); }

button.slick-prev { left: -19px; background-image: url(../../common/img/base/control_prev.png); }

.slick-dots { position: absolute; bottom: -60px; display: block; width: 100%; text-align: center; }

.slick-dots li { position: relative; display: inline-block; width: 12px; height: 12px; margin: 0 5px; border: 1px solid #e50012; box-sizing: border-box; border-radius: 50%; }

.slick-dots li.slick-active { background-color: #e50012; }

.slick-dots li button { display: block; width: 100%; height: 100%; cursor: pointer; /*以下デフォルトstyleキャンセル*/ font-size: 0; border: 0; outline: none; background: transparent; }

.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }

/*----------------------------------------------
　　#floor-map
----------------------------------------------*/
#floor-map { padding-top: 140px; text-align: center; margin: auto; display: table; }

#floor-map #tab-navi { display: table-cell; width: 210px; vertical-align: middle; }

#floor-map #tab-navi li { margin-bottom: 10px; text-align: left; }

#floor-map #tab-navi li a { font-size: 1.8rem; line-height: 2em; color: #e50012; /*赤*/ }

#floor-map #tab-navi li a.active::after { content: "▶︎"; display: inline; padding-left: 5px; }

#floor-map #item-contents-wrap { display: table-cell; vertical-align: middle; }

#floor-map #item-contents-wrap img { width: 100%; max-width: 750px; height: auto; margin: auto; }

@media screen and (max-width: 640px) { #slider p.caption { position: absolute; height: 40px; line-height: 40px; bottom: -20px; }
  #slider p.caption span { font-size: 1.4rem; }
  /*** slick ***/
  button.slick-next, button.slick-prev { width: 26px; height: 26px; }
  button.slick-next { right: -13px; }
  button.slick-prev { left: -13px; }
  .slick-dots { bottom: -50px; }
  #floor-map { padding-top: 80px; }
  #floor-map #tab-navi { width: 150px; }
  #floor-map #tab-navi li a { font-size: 1.4rem; }
  /*本院仕様*/
  #floor-map.honin #tab-navi, #floor-map.honin #item-contents-wrap { display: block; width: 100%; }
  #floor-map.honin #tab-navi li { width: 50%; display: inline-block; float: left; text-align: center; }
  #floor-map.honin #tab-navi li a.active::after { content: "▼"; } }
/*===================================================================
　↓　#access
===================================================================*/
/*----------------------------------------------
　　#time-wrap
----------------------------------------------*/
#time-wrap { margin-bottom: 10px; }

#access #time-left { width: 45%; float: left; padding-right: 20px; box-sizing: border-box; }

#access #time-right { width: 55%; float: left; }

#access #time-left p { font-weight: 500; margin-bottom: 15px; font-size: 1.6rem; color: #e50012; /*赤*/ }

#access #time-left p span { font-size: 1.4rem; }

#access #time-left table { width: 100%; font-size: 1.5rem; }

#access #time-left table tr { padding-top: 15px; }

#access #time-left table tr:first-child { border-bottom: 1px solid #4d4545; }

#access #time-left table th { width: 100px; }

#access #time-left table th, #access #time-left table td { padding-top: 10px; vertical-align: middle; text-align: center; }

#access #time-left table tr:first-child th, #access #time-left table tr:first-child td { padding-bottom: 10px; padding-top: 0; }

#access #time-left table td span.red { color: #e50012; /*赤*/ }

#access #time-right { background-color: rgba(229, 0, 18, 0.05); padding: 30px; box-sizing: border-box; border-radius: 10px; min-height: 140px; }

#access #time-right ul { margin-left: 20px; }

#access #time-right ul li { margin-bottom: 6px; list-style-type: disc; }

#access #time-right p { font-size: 1.3rem; text-indent: -13px; margin-left: 13px; }

@media screen and (max-width: 768px) { #access #time-left { width: 100%; max-width: 500px; float: none; padding-right: 0; margin: auto auto 30px; }
  #access #time-right { width: 100%; float: none; min-height: auto; }
  #access #time-left p { margin-bottom: 10px; font-size: 1.5rem; }
  #access #time-left p span { font-size: 1.2rem; }
  #access #time-left table th, #access #time-left table td { padding-top: 6px; }
  #access #time-left table tr:first-child th, #access #time-left table tr:first-child td { padding-bottom: 6px; padding-top: 0; } }
@media screen and (max-width: 640px) { #access #time-left { margin: auto auto 20px; }
  #access #time-left table { font-size: 1.4rem; }
  #access #time-right { padding: 20px; } }
/*----------------------------------------------
　　#write-map
----------------------------------------------*/
#write-map { margin: 30px auto; padding: 35px !important; }

#write-map p { font-size: 1.6rem; text-align: center; line-height: 1.6em; }

#write-map p span { padding-left: 20px; margin-left: 20px; display: inline-block; border-left: 1px dotted #aaa; }

#write-map img { max-width: 860px; width: 100%; height: auto; margin: auto; }

@media screen and (max-width: 768px) { #write-map { padding: 25px !important; }
  #write-map p { font-size: 1.5rem; line-height: 1.8em; }
  #write-map p span { padding-left: 0; margin-left: 0; display: inline; border-left: none; } }
@media screen and (max-width: 640px) { #write-map { margin: 20px auto; padding: 15px !important; }
  #write-map p { font-size: 1.3rem; } }
/*----------------------------------------------
　　#google-map-campus
----------------------------------------------*/
#google-map-campus { width: 100%; height: 400px; border-radius: 10px; }

@media screen and (max-width: 768px) { #google-map-campus { height: 350px; } }
/*----------------------------------------------
　　#traffic
----------------------------------------------*/
#traffic { margin-top: 30px; border: 1px solid #e50012; box-sizing: border-box; border-radius: 10px; padding: 0 30px; }

#traffic h3 { color: #e50012; /*赤*/ font-size: 1.6rem; line-height: 60px; text-align: center; -webkit-transition: 0.4s; -moz-transition: 0.4s; -ms-transition: 0.4s; transition: 0.4s; background-image: url(../img/base/select-down.png); background-size: 10px 6px; background-repeat: no-repeat; background-position: center right; cursor: pointer; }

#traffic h3.active { background-image: url(../img/base/select-up.png); }

#traffic .toggleWrap { border-top: 1px solid #e50012; padding: 20px 0 30px; }

#traffic .box-left { width: 50%; float: left; padding-right: 15px; box-sizing: border-box; }

#traffic .box-right { width: 50%; float: left; padding-left: 15px; box-sizing: border-box; }

#traffic .toggleWrap h4 { line-height: 30px; background-color: #fce5e7; color: #e50012; /*赤*/ text-indent: 15px; font-weight: 500; font-size: 1.6rem; }

#traffic .toggleWrap h5 { color: #e50012; /*赤*/ margin-top: 20px; margin-bottom: 8px; }

#traffic .toggleWrap i { padding-right: 2px; }

#traffic .toggleWrap ul { margin-left: 20px; }

#traffic .toggleWrap ul li { margin-bottom: 6px; line-height: 1.8em; list-style-type: disc; }

#traffic .toggleWrap ul li:last-child { margin-bottom: 0; }

#traffic .toggleWrap p { line-height: 1.8em; text-indent: -15px; margin-left: 15px; }

@media screen and (max-width: 768px) { #traffic { padding: 0 20px; }
  #traffic .toggleWrap { padding: 20px 0; } }
@media screen and (max-width: 640px) { #traffic { margin-top: 20px; }
  #traffic h3 { font-size: 1.4rem; line-height: 50px; text-align: left; }
  #traffic .toggleWrap h4 { font-size: 1.4rem; }
  #traffic .toggleWrap h5 { margin-top: 15px; margin-bottom: 4px; }
  #traffic .box-left { width: 100%; float: none; padding-right: 0; margin-bottom: 20px; }
  #traffic .box-right { width: 100%; float: none; padding-left: 0; } }
/*===================================================================
　↓　#flow
===================================================================*/
#flow { max-width: 960px !important; }

/*----------------------------------------------
　　#flow-slider
----------------------------------------------*/
#flow-slider img { width: 100%; height: auto; border-radius: 10px; }

#flow-slider p.number { position: absolute; top: 20px; right: 20px; width: 80px; height: 80px; color: #e50012; /*赤*/ background-color: #fff; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 3rem; font-weight: 200; }

#flow-slider p.number::before { content: ""; display: inline-block; position: absolute; top: -5px; right: -5px; width: 90px; height: 90px; border: 1px solid #fff; border-radius: 50%; box-sizing: border-box; }

/*** slick ***/
button.slick-next, button.slick-prev { /*slick-thema.cssから引き継ぎ*/ font-size: 0; line-height: 0; cursor: pointer; border: none; outline: none; position: absolute; background-color: transparent; /*オリジナル設定*/ width: 38px; height: 38px; top: 0; bottom: 0; margin: auto; z-index: 2; background-size: contain; }

button.slick-next { right: -19px; background-image: url(../../common/img/base/control_next.png); }

button.slick-prev { left: -19px; background-image: url(../../common/img/base/control_prev.png); }

/*----------------------------------------------
　　#flow-slider-caption
----------------------------------------------*/
#flow-slider-caption { margin-top: -20px; }

#flow-slider-caption .text { position: relative; z-index: 2; margin-left: 40px; padding: 40px 0 10px 20px; border-left: 2px solid #e50012; }

#flow-slider-caption .text h3 { font-size: 1.8rem; color: #e50012; /*赤*/ margin-bottom: 10px; }

#flow-slider-caption .text p { line-height: 2em; }

#flow-slider-caption .text ul { margin-left: 20px; }

#flow-slider-caption .text ul li { list-style-type: disc; margin-top: 10px; }

#flow-slider-caption .text ul li span { font-weight: 700; }

@media screen and (max-width: 768px) { #flow-slider-caption .text { margin-left: 20px; padding: 30px 0 10px 20px; } }
@media screen and (max-width: 640px) { #flow-slider p.number, #flow-slider p.number::before { display: none; }
  /*** slick ***/
  button.slick-next, button.slick-prev { width: 30px; height: 30px; }
  button.slick-next { right: 5px; }
  button.slick-prev { left: 5px; }
  #flow-slider-caption { margin-top: 0; }
  #flow-slider-caption .text { margin-left: 0; padding: 15px 0 0; border-left: none; }
  #flow-slider-caption .text h3 { font-size: 1.6rem; } }
/*===================================================================
　↓　#bring
===================================================================*/
#bring ol { padding: 30px 60px; background-color: #fff; border-radius: 10px; box-sizing: border-box; max-width: 700px; margin: auto; }

#bring ol li { border-bottom: 1px dotted #ccc; line-height: 1.8em; margin-left: 20px; text-align: left; padding: 8px 0; }

@media screen and (max-width: 640px) { #bring ol { padding: 15px 20px; } }
/*----------------------------------------------
　　ul#red-list
----------------------------------------------*/
#counseling ul#red-list { max-width: 740px; margin: auto auto 40px; color: #e50012; /*赤*/ border-left: 2px solid #e50012; padding-left: 40px; box-sizing: border-box; }

#counseling ul#red-list li { line-height: 2em; font-size: 1.6rem; margin-bottom: 10px; list-style-type: disc; }

@media screen and (max-width: 640px) { #counseling #first-text ul { margin: 10px auto; }
  #counseling ul#red-list { margin: auto auto 30px; padding-left: 30px; }
  #counseling ul#red-list li { font-size: 1.6rem; margin-bottom: 8px; line-height: 2; }
  #counseling .white-item-box table, #counseling .white-item-box table th, #counseling .white-item-box table td { display: block; width: 100%; padding: 0; }
  #counseling .white-item-box table th { line-height: 1.8em; }
  #counseling .white-item-box table td { padding: 5px 0 10px; line-height: 1.8em; } }
.color_red { color: #e50012; }

/*# sourceMappingURL=chinese.css.map */
