@charset "utf-8";
/* CSS Document */
/*
Theme Name: ORIGINAL
Description: オリジナルテーマ
Version: 1.1
Author: FAM
*/

@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Noto+Sans+JP:400,700');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;400;600&display=swap');

/* CLEAR FIX */
.cf:after{content: "."; display: block; height: 0;  clear: both; visibility:hidden;}
.cf{display: inline-table;} 
/* Hides from IE Mac */
* html .cf{height: 1%;}
.cf{display:block;}
/* BOXSIZING */
.boxSizing { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
/* iOSでのsubmitのスタイルをリセット */
input[type="submit"],input[type="button"] {border-radius: 0;-webkit-box-sizing: content-box;-webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer;}
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration {display: none;}
input[type="submit"]::focus,input[type="button"]::focus {outline-offset: -2px;}

/* =======PRUGIN SETTINGS======= */
/* PAGE TOP */
.pagetop {z-index: 999; position: fixed;bottom: 55px;right: 55px;opacity: 0;filter: alpha(opacity=0);-webkit-transform: scale(0.3);-moz-transform: scale(0.3);-ms-transform: scale(0.3);-o-transform: scale(0.3);transform: scale(0.3);-webkit-transition: all .4s;-moz-transition: all .4s;	-o-transition: all .4s;	transition: all .4s;}
.pagetop a {display: block;width: 50px;	height: 50px;background-color: #000;text-align: center;color: #fff;font-size: 1em;text-decoration: none;line-height: 50px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%;}
.pagetop.show {	opacity: 1;filter: alpha(opacity=100);-webkit-transform: scale(1);-moz-transform: scale(1);-ms-transform: scale(1);-o-transform: scale(1);transform: scale(1);}
#pagetop{content: ""; display: block; height: 111px;  margin-top: -111px; visibility: hidden;}

/* BLOCK LINK */
.box-link{cursor:pointer;}
.box-link,
.box-link::before,
.box-link::after {-webkit-transition: all .3s;transition: all .3s;}
.box-link:hover{background:#EEE;}

/* =======WP PAGENAVI SETTINGS======= */
.wp-pagenavi {clear: both; text-align: center; margin-bottom: 100px;}
.wp-pagenavi a, .wp-pagenavi span {text-decoration: none; display:inline-block;color:#444; background-color:#EEE; padding: 8px 15px; margin:0 1px 2px; white-space: nowrap; -moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;-webkit-transition: 0.2s ease-in-out;-moz-transition: 0.2s ease-in-out;-o-transition: 0.2s ease-in-out;transition: 0.2s ease-in-out;}
.wp-pagenavi a:hover, .wp-pagenavi span.current {color:#FFF;background-color:#666;border-color:#666;}
.wp-pagenavi span.current {color:#FFF;background-color:#523792;border-color:#523792;font-weight: bold;}

/* =======TABLE ======= */
/* .table-col1 */
td.column-1 {white-space: nowrap; width:20%;}
.basic-table { width: 100%;}
.basic-table td{border: 1px solid #EEE; padding: 10px;}
.basic-table th {border: 1px solid #EEE; padding: 10px; white-space: nowrap; font-weight: bold;}
.basic-table a {text-decoration: underline;}

.basic-table2 {width:100%; margin-bottom: 30px;}
.basic-table2 td{border-bottom: 1px solid #EEE; padding: 15px;}
.basic-table2 th {border-bottom: 1px solid #EEE; padding: 15px; width: 10%; white-space: nowrap; font-weight: bold;}f

.basic-table3 { width:100%; margin-bottom: 30px;}
.basic-table3 td{border: 1px solid #EEE; padding: 5px 15px; }
.basic-table3 th {background: #F7F5F2;border: 1px solid #EEE; padding: 5px 15px; white-space: nowrap;}
.wpcf7 p {display: inline;}
/* 強制的に1行目のthに適用（theadが無くても効く） */
#tablepress-18 tbody tr:first-child th,
#tablepress-18 tbody tr:first-child td {
  background-color: #f0f0f0;
  font-weight: bold;
}

/* =======ACCORDION======= */
.accordion {margin: 0 auto 50px;}
.toggle {display: none;}
.option {position: relative;}
.title,.content {-webkit-backface-visibility: hidden;backface-visibility: hidden;transform: translateZ(0);transition: all 0.3s;}
.title {border-bottom: solid 1px #ccc; padding: 16px 50px 16px 16px; display: block; font-weight: bold;}
.title::after,.title::before {content: "";position: absolute;right: 26px; top: 26px; width: 2px;height: 14px; background-color: #523792; transition: all 0.3s;}
.title::after {transform: rotate(90deg);}
.content {max-height: 0;overflow: hidden;}
.content p {margin: 0; padding:20px;}
.toggle:checked + .title + .content {max-height: 1000px; transition: all 1.5s;}
.toggle:checked + .title::before {transform: rotate(90deg) !important;}


/* =======SLIDER======= */
.slick-slide {box-sizing: border-box;}
.slick-slider div { transition: none; }

/* ======= BASIC ======= */
html,body { height: 100%; width: 100%; min-width: 1100px; }
body{font-family: 'Noto Sans JP', san-serif; color:#523792; letter-spacing: 0.1em;}
img {max-width: 100%; height: auto;}
a{text-decoration: none; color:#523792; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all  0.3s ease;}
a:hover{color:#CCC;}
strong{font-weight:bold;}

div.wp-caption {max-width: 100%!important; height: auto;}

img.arrow {width: 20px; height: 20px;}

/* OTHER-STYLING */
.big{font-size:1.4em;}
.small{font-size:0.6em;}
.bg-brack{display:inline-block; background:#000; padding:10px 15px; font-size:0.8em; color:#FFF; margin-right:10px; vertical-align: super; margin:10px 0;}
.bgglay {background: #EEE; padding: 30px;}.bgglay p{margin:0;}
.bgBlue {background: #E0F1F4; padding: 30px; margin-bottom: 50px;}
.arrow-down{ margin-bottom: 30px; font-size: 3em;}
.mb0{margin-bottom:0 !important;}
.mb10{margin-bottom:10px;}
.mb30{margin-bottom:30px;}
.mb50{margin-bottom:50px;}
.pc{display:block!important;}
.sp {display: none!important;}
.menu-sp{display:none;}
.text-left{text-align:left;}
.text-right{text-align:right;}
.text-center{text-align:center;}
.strong{font-weight:bold;}

.jump{margin-top:-100px; padding-top:100px;}
.jump2 {margin-top: -180px; padding-top: 180px;}
.name {font-weight: bold; display: block; text-align: left; margin-top: 17px;}

.youtube {position: relative; width: 100%; padding-top: 56.25%;}
.youtube iframe {position: absolute; top: 0; right: 0; width: 100%; height: 100%;}

/* ======= HEADER ======= */
header{width:100%; z-index: 9999; position: fixed; top: 0; background: rgba(255,255,255,0.9); border-bottom: 1px solid #EEE; letter-spacing: normal;}
header h1 {padding: 0 0 0 25px;}
header h1 img {width: 250px;}

.header-inr {display: flex; align-items: center; justify-content: space-between;}
.headBox {display: flex; justify-content: center; align-items: flex-end; flex-direction: column-reverse;}
ul.headBoxNav {font-size: 0.9em; display: flex;}
ul.headBoxNav li { text-align: center; margin-left: 20px; letter-spacing: normal;}

#gnav0 {display: flex; align-items: center;}

.headBoxnav2 {font-size: 11px; margin-bottom: 8px; display: flex; align-items: center;}
.headBoxnav2 p {margin-right: 10px;}
.headBoxnav2 a {font-size: 11px; letter-spacing: normal; border: 1px solid #CCC; padding: 3px 10px; border-radius: 5px; margin: 0 0 0 5px;}

.headBoxnav3 {display: flex;    margin-left: 24px;}
.headBoxnav3 a {width: 100px; height: 100px; text-align: center; font-size: 10px; letter-spacing: normal; display: flex; border-left: 1px solid #CCC; flex-direction: column; justify-content: center;}
.headBoxnav3 a img {width: auto; height: 35px; margin-bottom: 6px;}

.smlBtn button {border: 1px solid #CCC; background: #CCC; cursor: pointer;}
.smlBtn button.active {background: #523792; color: #FFF; border: 1px solid #523792;}

/* global nav */
#gnav {display: flex;}

.nav-button-box {display: flex; text-align: center; width: 100px; height: 100px; z-index: 50; background: #523792; color: #FFF; flex-direction: column; align-content: center; justify-content: center; align-items: center;}
.nav-button-box p {font-size: 0.5em;text-align: center; margin-top: 5px;}
.nav-button {display: block; cursor: pointer; }

/*メニューボタンのエフェクト*/
.nav-button span { display: inline-block; transition: all 0.4s; box-sizing: border-box;}
.nav-button { z-index: 20; position: relative; width: 40px; height: 36px;}
.nav-button span {position: absolute; left: 0; width: 100%; height: 4px; background-color: #FFF; border-radius: 4px;}
.nav-button span:nth-of-type(1) {top: 0;}
.nav-button span:nth-of-type(2) {top: 16px;}
.nav-button span:nth-of-type(3) {bottom: 0;}

.nav-button.active span:nth-of-type(1) {
-webkit-transform: translateY(16px) rotate(-45deg);
transform: translateY(16px) rotate(-45deg);
}
.nav-button.active span:nth-of-type(2) {
opacity: 0;
}
.nav-button.active span:nth-of-type(3) {
-webkit-transform: translateY(-16px) rotate(45deg);
transform: translateY(-16px) rotate(45deg);
}

/* 展開後 */
.nav-wrap {display:none; width: 100%; height: 100%; padding: 0; box-sizing: border-box; z-index: 10; }
.navBox {display: flex; width: 100%; height: 100vh; background: #FFF; box-sizing: border-box; position: fixed; top: 0; right: 0;}
.navL {width: 50%; padding: 5%; box-sizing: border-box; position: relative;}
.navL img {width: 250px;}
.navL h2 {font-size: 40px; font-weight: bold; position: absolute; margin: auto; top: 0; bottom: 0; display: table;}
.navR {width: 50%; padding: 5%; box-sizing: border-box; overflow-y: auto; background: #523792; color: #F5F5F5;}
.navR::-webkit-scrollbar {width: 6px;}
.navR::-webkit-scrollbar-track {background-color: #523792;}
.navR::-webkit-scrollbar-thumb {background-color: #DDD;}
.navCont {display: flex; padding-bottom: 30px; border-bottom: 1px solid #F5F5F5; margin-bottom: 30px;}
.navCont a {color: #F5F5F5;}
.navCont h3 {width: 30%; font-weight: bold; font-size: 18px; border: none; padding: unset; margin: 0;}
.navCont h3:after { display: none; }

/* ======= FOOTER ======= */
footer {width: 100%; color: #333;}

.footTop {font-size:24px; text-align: center; }
.footTop ul.col2 li {width: 50%;}
.footTop ul li:nth-child(1){background: #523792;}
.footTop ul li:nth-child(2){background: #796DB5;}
.footTop ul li a{display: block; padding: 20px 0; color: #FFF;}
.footTop ul li a:hover {background: #EEE; color:#333;}

.footbox01 {width: 90%; margin: 50px auto; max-width: 1100px;}
.footbox01 ul li:first-child p {font-size: 0.9em;}
.footbox01 ul.col2 img {width: 250px;}

.footbox02 {width: 90%; margin: 0 auto; max-width: 1280px;}
.footbox02 ul {display: flex; justify-content: center; border-top: 1px solid #CCC; padding: 20px 0;}
.footbox02 ul li {margin: 0 10px;}
.footbox02 a {font-size: 0.9em; display: block;}
p.copyRights {font-size: 12px; text-align: center; background: #523792; color: #FFF;  padding: 20px 0;}

/*  ======= TOP =======  */
section.wrapCont {width: 90%; max-width: 1400px; margin: 0 auto; position: relative; z-index: 1;}

#container.toppage {z-index: 1; position: relative;}

.toppage p {text-align: justify;}

h3 {border-bottom: solid 1px #CCC; position: relative; font-size: 1.4em; padding: 16px 0; margin-bottom: 32px;}
h3:after {  position: absolute;  content: " ";  display: block;  border-bottom: solid 1px #796DB5; bottom: -1px; width: 100px;}
h4 {font-size: 1.4em; margin-bottom: 16px; border-left: 4px solid #796DB5; padding-left: 16px;}
h5 {font-size: 1.4em; margin-bottom: 16px;}
h6 {font-weight: bold;}

.moveLine {width: 150px; position: absolute;  right: 0;  top: 20px;}
.moveLine a {display: block;padding-bottom: 5px;}
.moveLine:after {content: ""; position: absolute; display: block; width: 150px; height: 1px; background: #333; animation: 2s ease-in 1s infinite alternate forwards running expansion;}
@keyframes expansion{
  0%{width:10px;}
  100%{width:150px; background:#CCC;}
}

/* TEASER */
#teaser {width: 100%; height: 800px; margin-top: 100px; background:url("img/top/teaser.jpg")no-repeat bottom; background-size: cover; opacity: 0.8;}
.teaserInr {width: 100%; padding: 150px 100px 0; overflow:hidden; box-sizing: border-box;}
.teaserInr h2 {font-size: 50px; color: #000; text-align: left; font-weight: bold;}

/* STAGE01 */
#stage01 {margin-top: -200px;}
#stage01 ul {background: #523792; color: #F5F5F5; padding: 50px; letter-spacing: normal;}
#stage01 h5 {margin-bottom: 20px;}
#stage01 .basic-table{ font-size: 0.9em;}
#stage01 ul li img {height: auto; width: 46px; margin-right: 24px;}
#stage01 ul li a { background: #FFF; display: flex; align-items: center; padding: 20px; margin-bottom: 18px; font-size: 1.1em; font-weight: bold; color: #523792;}
#stage01 ul li a:last-child {margin: 0;}
#stage01 ul li a:hover {background: #CCC;}

/* STAGE02 */
#stage02 {padding:50px 0; position: relative;}
.topNewsTitle {position: relative;}
#stage02 .topNewsTitle a {position: absolute; right: 0; top: 16px; font-size: 11px; background: #EEE; padding: 6px 12px; border-radius: 50px; letter-spacing: normal; border-bottom: none;}
.topNews {display: flex; align-content: flex-start; justify-content: space-between; margin-bottom: 50px;}
.topNews a {border-bottom: 1px solid #CCC; display: block; padding: 16px 0; letter-spacing: normal;}
.topNews a span {margin-right: 20px;}
.topNews div.box {width: 48%;}

#stage02 .bgglay {text-align: center;}
#stage02 .bgglay ul {display: flex; justify-content: center;}
#stage02 .bgglay ul li a {background: #FFF; border-radius: 50px; padding: 6px 18px; display: block; margin: 5px;}
#stage02 .bgglay h5 {margin-bottom: 30px;}

/* STAGE03 */
#stage03 {margin-bottom: 50px; position: relative;}
#stage03 ul li img {width: 100%; height: auto; }
#stage03 ul li:hover img {}
ul.slide li {position: relative; padding: 0 16px; box-sizing: border-box;}
ul.slide li a {display: block;}
.midashi {position: absolute; z-index: 10; background: rgba(255,255,255,0.5); left: 0; bottom: 0; width: 100%; padding: 28px 100px 28px 56px; box-sizing: border-box; display: inline-block;}
.midashi .arrow {position: absolute; right: 56px; top: 0; bottom: 0; margin: auto;}
#stage03 ul li div.midashi img.arrow {width: 20px; height: 20px;}

/* STAGE04 */
#stage04 {margin-bottom: 50px; position: relative; background: #523792; padding: 50px 0;}
#stage04 a {position: relative; display: block; background: #FFF; flex-direction: column; padding: 50px 0; text-align: center;}
#stage04 a img {height: 60px; margin-bottom: 20px;}
#stage04 ul li a:hover { background: #CCC; color:#523792;}
#stage04 h5 {margin: 0;}

/* STAGE05 */
#stage05 {margin-bottom: 50px; position: relative; }
#stage05 h5 {margin: 0;}
#stage05 ul.col3 li a {text-align: center; display: block; border: 1px solid #CCC; padding: 50px; position: relative;}
#stage05 ul.col3 li a:hover{background: #CCC; color:#523792;}
#stage05 img.arrow {width: 16px; height: 16px; position: absolute; right: 50px; top: 0; bottom: 0; margin: auto;}
#stage05 img {height: 60px; width: auto; margin-bottom: 20px;}
#stage05 ul.menuList {margin: 32px 0;}
#stage05 ul.menuList li {position: relative; border: 1px solid #CCC; padding: 50px; box-sizing: border-box; display: flex; align-items: center;}
#stage05 ul.col2 li img {margin: 0 30px 0 0;}
#stage05 ul.col2 li img.arrow {margin: auto;}
#stage05 ul.col2 li .Box a {margin-bottom: 6px; display: block;}
#stage05 ul.menuList2 li{position: relative; border: 1px solid #CCC; box-sizing: border-box;}
#stage05 ul.menuList2 li a {display: flex; align-content: center; align-items: center; padding: 50px;}
#stage05 ul.menuList2 li a:hover{background: #CCC; color:#523792;}

/* STAGE06 */
#stage06 {margin-bottom: 50px; position: relative;}
#stage06 ul li {border: 1px solid #CCC; padding: 50px; box-sizing: border-box;}
#stage06 ul li a {display: flex; border: 1px solid #CCC; border-radius: 50px; align-items: center; justify-content: space-between; margin-top: 32px; padding: 16px 32px;}
#stage06 img.arrow {width: 20px; height: 20px;}
#stage06 h3 {margin-bottom: 32px;}
#stage06 ul li a:hover{background: #CCC; color:#523792;}

/* STAGE07 */
#stage07 {margin-bottom: 50px; position: relative; background: #796DB5; padding: 50px 0;}
#stage07 ul li a {position: relative; display: block; overflow: hidden;}
#stage07 ul li a h5 {background: #FFF; display: flex; position: absolute; top: 0; width: 100%; align-items: center; padding: 20px 30px; box-sizing: border-box;}
#stage07 ul li a h5 span {font-size: 16px; margin-left: 30px;}
#stage07 ul li img {height: auto; transition: transform .6s ease; margin-top: 30px;}
#stage07 ul li:hover img {transform: scale(1.1); }

/* STAGE08 */
#stage08 {margin-bottom: 50px; position: relative;}

/* ======= PAGES ======= */
#container.page {margin-bottom: 80px;}
#container.page section.wrapCont {max-width: 1280px;}

#container.post {margin: 50px 0 100px;}

.page-title {height: 370px; width: 100%; text-align: center; margin: 0 auto 80px; background: #523792;}
.page-title h2 {font-size: 48px; font-weight: bold; text-align: center; padding: 200px 0 0 0; color: #FFF;}

.basebox {margin-bottom: 50px; line-height: 1.5;}

table.tablepress {width: 100%;}
table.tablepress td {border: 1px solid #EEE; padding: 10px 15px; white-space: nowrap;}
#tablepress-12 tbody td:first-child,#tablepress-12 tbody td:nth-child(4) {width: 40px; text-align: center;}
#tablepress-2 tr.row-1 {background: #F5F5F5;}
#tablepress-2 tr.row-7 {border-top: 4px solid #CCC;}

a.blackBtn {width: 50%;　min-width: 300px; margin: 0 auto; background: #523792; color: #FFF; padding: 16px 0; position: relative; display: block; text-align: center; border-radius: 50px; box-sizing: border-box;}
a.blackBtn img {position: absolute; right: 20px; top: 0; bottom: 0; margin: auto;}
a.basicBtn {background: #FFF; display: block; padding: 16px; border: 1px solid #CCC; border-radius: 50px; text-align: center; position: relative; margin: 5px;}
a.basicBtn img {position: absolute; right: 16px; top: 0; bottom: 0; margin: auto;}
a.basicBtn img.arrow {width: 20px;}
a.basicBtn2 {background: #796DB5; display: block; padding: 16px; border: 1px solid #CCC; border-radius: 50px; text-align: center; position: relative; margin: 5px; color:#FFF;}
.pagefoot {text-align: center;}
.pagefoot img {width: 518px; height: auto;}

ul.col2{display: flex; justify-content: space-between;flex-wrap: wrap;}
ul.col2 li{width:48%; margin-bottom: 30px;}
ul.col2:after {content: ""; display: block; width: 48%; height: 0;}
ul.col2 img{max-width:100%; width: 100%;}
ul.col3{display: flex; justify-content: space-between;flex-wrap: wrap;}
ul.col3 li{width:32%;}
ul.col3:after {content: ""; display: block; width: 32%; height: 0;}
ul.col3 img{width:100%;}
ul.col4 {display: flex; justify-content: flex-start; flex-wrap: wrap;}
ul.col4 li{width:25%;}
ul.col4 li:nth-child(4n+1){margin:0 0 0 0;}
ul.col5 li {width: 19%;}
ul.col5 {display: flex; justify-content: space-between; flex-direction: row; flex-wrap: wrap;}
ul.col5:after {content: ""; display: block; width: 19%; height: 0;}
ul.col6 li {width: 15%;}
ul.col6 {display: flex; justify-content: space-between;}

/**** 外来診療 ****/
.pageNavi ul li a {position: relative; background: #796DB5; display: block; margin: 0 10px 10px 0; text-align: center; padding: 16px 40px 16px 16px; border-radius: 50px; color: #FFF; letter-spacing: normal;}
.pageNavi ul li a img {position: absolute; right: 14px; top: 0; bottom: 0; margin: auto;}

.footBox01 {border: 1px solid #CCC; margin-bottom: 50px; text-align: center; padding: 50px;}
.footBox01 h5 {border-bottom: 1px solid #CCC; padding-bottom: 50px; margin-bottom: 30px;}
.footBox01 p {font-size: 32px; font-weight: bold; margin-bottom: 30px;}
.footBox01 p span {font-size: 18px;}
.partsFoot .bgglay {text-align: center;}
.partsFoot .bgglay h5 {margin-bottom: 30px;}
.partsFoot .bgglay ul li a {background: #FFF; display: block; padding: 16px; border: 1px solid #CCC; border-radius: 50px; text-align: center; position: relative; margin: 5px; letter-spacing: normal; font-size: 14px;}
.partsFoot .bgglay ul li a img {position: absolute; right: 14px; top: 0; bottom: 0; margin: auto;}

.footBox02 {border: 1px solid #CCC; margin-bottom: 50px; text-align: center; padding: 50px;}
.footBox02 h5 {border-bottom: 1px solid #CCC; padding-bottom: 50px; margin-bottom: 30px;}
.footBox02 h6 {font-size: 1.4em; font-weight:normal; margin-bottom: 10px;}
.footBox02 p {font-size: 32px; font-weight: bold; margin-bottom: 30px;}
.footBox02 p span {font-size: 18px;}
.footBox02 p.small {font-size: 18px; font-weight: normal; margin-bottom: 0;}

/**** HOSPITALIZATION ****/
.hospital h4{margin-top:30px;}
.hospital p{margin-bottom:30px;}
.hospital ul li{margin-bottom:50px;}

.hospital02-1 ul li {border: 1px solid #CCC; padding: 30px; box-sizing: border-box; margin-bottom: 30px;}
.hospital02-1 ul li h6 {display: flex; margin-bottom: 10px;}
.hospital02-1 ul li h6 span {margin-right: 12px;}

/**** HOSPITALIZATION ****/
.about h4{margin-top:30px;}
.about p{margin-bottom:30px;}
.about ul li{margin-bottom:50px;}
.about03 h6 {text-align: left;}
.about03 {margin-bottom:30px;}
.about04 p{margin-bottom:30px;}
.about05 {width: 800px; margin: 50px auto;}
.about05 img {width: 100%;}
.about05 .caption {position: absolute; bottom: 0; padding: 20px 0; box-sizing: border-box; background: rgba(255,255,255,0.8); width: 100%;}
.about05 .caption p {padding: 0 20px; box-sizing: border-box;}
.about05 .thumbnail {margin-top: 30px;}
p.lead {
  font-weight: 700;
  margin: 0.6em 0 1.2em;
  line-height: 1.6;
}
/**** SUBJECTS ****/
.checkup02 ul img{margin-bottom:30px;}
.checkup03 ul {margin-top: 30px;}
.checkup03 ul li {border: 1px solid #CCC; padding: 30px; box-sizing: border-box; margin-bottom: 30px;}
.checkup03 ul li p {background: #EEE; padding: 5px 20px; margin: 10px 0px;}
.checkup04 p {margin-top: 30px;}
.checkup03 p {margin-bottom: 30px;}
.checkup05 table {margin-bottom: 30px;}

/**** CONTACT ****/
.contactBox h5 {background: #F5F5F5; text-align: center; margin: 30px 0; padding: 20px 0;}
.contactBox p {text-align: center;}

.scrollBox {margin: 30px 0; height: 100px; overflow-x: hidden; padding: 30px; border: 1px solid #CCC; font-size: 14px;}
.scrollBox p {text-align: justify; font-size: 12px; font-family: 'Noto Sans JP';}

table.table-entry {width: 100%; margin-bottom: 30px;}
table.table-entry td {padding: 20px 0;}
table.table-entry.contactform tr {border-bottom: 1px solid #CCC;}
.table-entry input {width: 100%; border: #CCC solid 1px; padding: 10px; box-sizing: border-box;}
.table-entry textarea {margin-top: 10px; width: 100%; border: 1px solid #CCC;}
.table-entry input.p-postal-code {width: 100px;}
.table-entry th span {background: #b62020; border-radius: 5px; font-size: 10px; color: #FFF; padding: 3px 5px; margin-right: 10px;}
span.postText {background: #F5F5F5; margin-left: 15px; padding: 10px 15px;}
input.wpcf7-form-control.wpcf7-submit.has-spinner {width: 100%; padding: 15px 0; background: #796DB5; color: #FFF;}

td.suuji label span {
    margin-right: 20px;
}

td.suuji label {
    display: flex
;
    align-items: center;
}
td.hogokoumoku {
    text-align: center;
}
td.hogokoumoku label {
    display: flex;
}
td.hogokoumoku label span {
    white-space: nowrap;
    margin-left: 10px;
    display: block;
}
/* ======= CATEGORY ======= */
.catNews a {display: flex; align-items: center;  border-bottom: 1px solid #EEE;}
.catNews a p {margin-right: 15px;}
.catNews h3:after {border: none;}
.catNews h3 {border: none; margin: 0; font-size: 1em;}

.selectbox-002 {position: relative;}
.selectbox-002::before,
.selectbox-002::after {position: absolute; content: ''; pointer-events: none;}
.selectbox-002::before {right: 0; display: inline-block; width: 2.8em; height: 2.8em; border-radius: 0 3px 3px 0; background-color: #a8a8a8; content: '';}
.selectbox-002::after {position: absolute; top: 50%; right: 1.4em; transform: translate(50%, -50%) rotate(45deg); width: 6px; height: 6px; border-bottom: 3px solid #fff; border-right: 3px solid #fff; content: '';}
.selectbox-002 select {appearance: none; -webkit-appearance: none; -moz-appearance: none; min-width: 230px; height: 2.8em; padding: .4em 3.6em .4em .8em; border: 2px solid #a8a8a8; border-radius: 3px; color: #333333; font-size: 1em; cursor: pointer;}
.selectbox-002 select:focus {outline: 1px solid #a8a8a8;}

/**** 採用 ****/
.saiyo #stage07 {background: none; padding: 0;}
.saiyo #stage07 ul li a {box-shadow: 0 0 10px 0px #CCC;}

ul.saiyolist {margin-bottom: 50px;}
ul.saiyolist li {border-bottom: 1px solid #CCC;}
ul.saiyolist li a {display: block; padding: 10px 0;}
ul.saiyolist li a span {background: #523792;color: #FFF; font-size: 11px; padding: 1px 5px; margin-right: 13px;}

/* ======= SINGLE PAGE ======= */
.single-postbox {border-bottom: 2px solid #796DB5; margin-bottom: 50px;}
.single-postbox h3 {border-bottom: 2px solid #796DB5;}
.single-postbox h3:after {border: none;}

.cat_paging {width: 100%; position: relative; overflow: hidden; text-align: center;}
.cat_paging p {margin-bottom: 20px;}
.cat_paging a {border: 1px solid #EEE; display: block; padding: 15px 0; border-radius: 5px;  font-family: nNoto sans-serif;  font-size: 0.9em;}
.cat-back {border-top: 2px solid #796DB5;  padding: 50px 0;}

.alignLeft {float: right; width: 30%;}
.alignCenter {position: absolute; width: 30%; left: 35%;}
.alignRight {float: left; width: 30%;}

.rekated-title {position: relative;}
.rekated-title a {position: absolute; right: 0; top: 18px; display: block; background: #EEE; font-size: 14px; border-radius: 50px; padding: 5px 10px; letter-spacing: normal;}
.related-posts ul li a {border-bottom: 1px solid #CCC; padding: 15px 0; display: block;}
.rekated-title h3 {padding: 16px 125px 16px 0;}

/* 投稿エリアの設定 */
#editor-area a{color:#796DB5;}
#editor-area a:hover{background:#EEEEEE;}
#editor-area a.blackBtn {color: #FFF!important;}
#editor-area img{max-width: 100%; height:auto; display:block;}
#editor-area h4 {border-bottom: solid 1px #CCC; position: relative; font-size: 1.4em; padding: 16px 0; margin-bottom: 32px; border-left: none;}
#editor-area h4:after {  position: absolute;  content: " ";  display: block;  border-bottom: solid 1px #796DB5; bottom: -1px; width: 100px;}
#editor-area h5 {font-size: 1.4em; margin-bottom: 16px; border-left: 4px solid #796DB5; padding-left: 16px;}
#editor-area h6 {font-size: 1.4em; margin-bottom: 16px;}
#editor-area p{margin-bottom:30px; line-height: 1.8em;}
#editor-area strong{font-weight:bold;}
#editor-area ul{margin: 30px 0 30px 5px;}
#editor-area ul li{margin: 2px 0 2px 15px;  list-style: disc;}
#editor-area table{ width: 100%; border-collapse: collapse; margin-bottom:30px;}
#editor-area table th{background-color: #eee;}
#editor-area table td {}
#editor-area blockquote{padding: 20px; margin-bottom:30px; background:#EEEEEE;}
#editor-area blockquote p{margin:0px !important;}
#editor-area div.borderbox{border:1px dotted #CCC; padding: 20px; margin-bottom:30px;}
#editor-area div.borderbox p{margin:0px !important;}
#editor-area div.borderbox ul{margin:0px !important;}

#editor-area iframe::before { content: "<div>";}
#editor-area iframe::after { content: "</div>";}


@media screen and (max-width: 1279px) {
 /*　================================ for ipad ================================　*/

}

@media screen and (max-width: 768px) {
 /*　================================ for iphone ================================　*/

/* HEAD */
html,body { height: 100%; width: 100%; min-width: 100%; font-size: 15px;}
section.w1080 {width:90%; margin: 0 auto;}
.pagetop{bottom:10px; right:10px; z-index: 2;}
section.wrapCont {width: 90%; min-width: auto;}	

.sp{display:block!important;;}
.pc{display:none!important;}
.mb50 {margin-bottom: 20px;}
.mt50 {margin-top: 50px;}
.button {padding: .9em 30%;}
.jump{margin-top:-142px; padding-top:142px;}
.jump3{margin-top:-180px; padding-top:180px;}

/* header */
header { padding-bottom: 0;}
header h1 {padding: 0 0 0 20px;}
header h1 img {width: 183px;}
ul.headBoxNav {display: none;}
.nav-button {width: 43px; height: 30px;}
.nav-button-box {width: 75px; height: 75px; background: #523792; z-index: 9999; position: relative;}
.nav-button span {background-color: #FFF;}
.nav-button-box p {font-size: 11px;}
.nav-button span:nth-of-type(2) {top: 13px;}
.nav-button.active span:nth-of-type(1) {-webkit-transform: translateY(16px) rotate(-45deg); transform: translateY(16px) rotate(-30deg);}
.nav-button.active span:nth-of-type(3) {-webkit-transform: translateY(-10px) rotate(45deg); transform: translateY(-10px) rotate(30deg);}
.navBox {width: 100%; height: 100vh;  background-color: rgba(255,255,255,0.9); padding: 75px 0; position: fixed; top:0; right: 0; font-size: 14px; flex-direction: column;}
.nav-wrap {position: fixed;}
.headBoxnav2{display:none;}
.headBoxnav3 {display: none;}

.navL img {width: 183px; position: fixed; top: 10px; left: 20px;}
.navL h2 {font-size: 14px; position: relative; margin: 0;}
.navL {width: 100%;}
.navR {width: 100%;}
.navBox a {font-size: 14px; font-weight: normal; display: block; padding: 8px 0; border-bottom: none;}
.navCont {padding-bottom: 10px; margin-bottom: 10px;}
.navCont ul {width: 70%;}
.navBox ul li {border-bottom: 1px solid #E5E5E5;}
.navBox ul li:last-child{border-bottom: none;}
.navCont h3 {font-size: 14px; font-weight: normal;}

/* footer */
.footTop ul.col2 {display: flex; flex-wrap: nowrap; flex-direction: row; width: 100%;}
.footTop ul.col2:after {display: none;}
.footTop ul li a {font-size: 16px;}
.footTop ul.col2 li{margin-bottom:0;}

.footbox01 {width: 100%; margin-bottom: 30px; padding: 0 5%; box-sizing: border-box;}
.footbox01 ul.col2 img {width: 250px; display: block; margin: 10px auto 30px;}
.footbox01 td {display: block;}
.footbox01 td:nth-child(odd) {background: #EEE;}
.footbox01 .basic-table td {border: none; border-bottom: 1px solid #CCC;}
.footbox01 .basic-table{font-size: 1em;}
.footbox01 ul li:first-child p {font-size: 1em; text-align: center;}
.footbox02 {width: 100%; max-width: 100%;}
.footbox02 a {font-size: 1em; display: block; background: #EEE; padding: 15px;}
.footbox02 ul {padding: 0; flex-direction: column;}
.footbox02 ul li {margin: 0; border-bottom: 1px solid #CCC;}
.footbox02 ul:nth-child(2){border-top: none;}
.footbox02 ul:nth-child(2) li a {background: #FFF;}

/* 共通 */
#whiteBg {width: 90%;}
#container{width:100%; margin:0; padding:0;}

table.base th {white-space: nowrap; padding: 10px; border: none; display: block; border-bottom: 1px solid #CCC; background: #F5F5F5;}
table.base td {border: none; border-bottom: 1px solid #CCC; padding: 10px 0; display: block; box-sizing: border-box;}

.basebox {margin-bottom: 30px;}
.basebox h4 {margin-bottom: 20px;}
.basebox h5 {margin-bottom: 20px;}
.basebox.pickup h3 {text-align: center; font-size: 1.5em; letter-spacing: 0.1em;  margin-bottom: 30px;}
.basebox.pickup p {text-align: justify; line-height: 2em;}

/* TEASER */
#teaser {height: 300px; margin-top: 75px; display: flex; align-items: center; align-content: center; justify-content: center;}
.teaserInr {padding: 0; display: flex; justify-content: center; align-items: center;}
.teaserInr h2 {font-size: 22px; text-align: center;}

/* STAGE01 */
#stage01 {margin-top: -30px;}
#stage01 ul {padding: 30px;}
#stage01 h5 {text-align: center; border-bottom: 1px solid #CCC; padding-bottom: 20px;}
#stage01 .basic-table {display: none;}
#stage01 p {font-feature-settings: "palt";}
#stage01 ul li img {margin-right: 15px;}
#stage01 ul li a {padding: 20px; font-size: 1em;}
#stage01 ul li:last-child {margin: 0;}
#stage01 ul li a:last-child {margin: 0;}

/* STAGE02 */
#stage02 {padding: 50px 0 30px;}
.topNews {display: flex; gap: 0 10px; align-content: flex-start; justify-content: space-between; margin-bottom: 30px; flex-wrap: wrap;}
.tab-2 > label {flex: 1 1; order: -1; padding: .6em 1em; background-color: #796DB5; color: #fff; font-size: 16px; text-align: center; cursor: pointer;}
.tab-2 input {display: none;}
.tab-2 > div {display: none; width: 100%;}
.tab-2 label:has(:checked) {background-color:#523792;}
.tab-2 label:has(:checked) + div {display: block; width: 100%;}
.topNews a span {margin-right: 0; display: block;}
a.newsBtn {text-align: center; background: #EEE; border-radius: 50px; margin-top: 30px; border-bottom: none;}
#stage02 .bgglay ul {display: flex; justify-content: center; flex-wrap: wrap;}

/* STAGE03 */
#stage03 {width: 90%; margin-bottom: 50px; position: relative;    margin: 0 auto 30px;}
ul.slide li { box-sizing:border-box; padding: 0;}
.midashi {padding: 20px 15% 20px 10%;}
.slick-slide img {display: block;}
#stage03 ul li div.midashi img.arrow {right: 25px; width: 20px; height: 20px;}
.midashi p {display:none;}
.midashi h5 {font-size: 16px; margin:0;}
#stage03 ul li img {  width: 100%; height: auto;}

/* STAGE04 */
#stage04 {padding: 30px 0 10px; margin-bottom: 30px; position: relative; text-align: left;}
#stage04 a {display: flex; flex-direction: row; align-items: center; padding: 20px 0; text-align: left;}
#stage04 a img {width: 75px; height: 50px; margin-bottom: 0; margin: 0 15px;}
#stage04 ul { margin: 0;}
#stage04 ul li {margin-bottom: 20px;}

/* STAGE05 */
#stage05 {margin-bottom: 0; position: relative; text-align: center;}
#stage05 ul.col3 li a {display: flex; flex-direction: row; align-items: center; padding: 20px 0; text-align: left;}
#stage05 a img {width: 75px; height: 50px; margin-bottom: 0; margin: 0 15px;}
#stage05 ul { margin: 0;}
#stage05 ul li {margin-bottom: 20px;}
#stage05 ul.menuList {margin: 0;}
#stage05 ul.menuList li {padding: 20px 0;}
#stage05 ul.col2 li img {width: 75px; height: 50px; margin-bottom: 0; margin: 0 15px;}
#stage05 ul.col2 li img.arrow {margin: auto; width: 16px; height: 16px;}
ul.col2.menuList .Box {text-align: left;}
#stage05 ul.menuList2 li a{display: flex; flex-direction: row; align-items: center; padding: 20px 0; text-align: left;}
#stage05 img.arrow {right: 20px;}

/* STAGE06 */
#stage06 {margin-bottom: 30px; position: relative;}
#stage06 ul li {padding: 30px;}
#stage06 ul li a {justify-content: center;}

/* STAGE07 */
#stage07 {padding: 30px 0; margin-bottom: 30px; position: relative; text-align: center;}
#stage07 ul li {width: 100%; margin-bottom: 30px;}
#stage07 ul li a h5 {align-items: flex-start; flex-direction: column; padding: 10px 30px;}
#stage07 ul li a h5 span {font-size: 14px; margin-left: 0;}
#stage07 ul li img {margin-top: 50px;}

/* STAGE07 */
#stage08 {margin-bottom: 30px;}

/* =====PAGE===== */
#container.page {width: 100%;margin-bottom: 0; box-sizing: border-box;}

.page-title {display: flex; min-height: auto; padding: 0; margin: 75px auto 30px; height: 120px; align-items: center; justify-content: center;}
.page-title h2 {font-size: 20px;  padding: 0;}
.page h3 {font-size: 20px; padding-bottom: 10px; margin-bottom: 30px;}

.basebox p {font-size: 15px; text-align: justify;}

ul.col2 {flex-direction: column; }
ul.col2 li{width:100%; margin-bottom: 20px;}
ul.col2:last-child {margin-bottom: 0;}
ul.col2.reverse {display: flex; flex-direction: column-reverse;}
ul.col3 {flex-direction: column;}
ul.col3 li{width:100%; margin-bottom: 20px;}
ul.col3:last-child {margin-bottom: 0;}
ul.col6 {justify-content: space-between; flex-direction: row; flex-wrap: wrap;}
ul.col6 li {width: 48%; margin-bottom: 20px;}

.basic-table {margin-bottom: 30px;}

.footBox01 {margin-bottom: 30px; padding: 30px 5%;}
.footBox01 h5 {padding-bottom: 20px; margin-bottom: 20px;}
.footBox01 p {font-size: 16px; margin-bottom: 20px;}
.footBox01 p span {font-size: 11px;}
.partsFoot .bgglay {text-align: center; margin-bottom: 30px;}
.partsFoot .bgglay h5 {margin-bottom: 20px; font-size: 16px; letter-spacing: normal;}
.partsFoot ul li {width: auto;}
.partsFoot .bgglay ul li a {padding: 10px 30px 10px 15px; letter-spacing: normal; font-size: 12px;}
.partsFoot .bgglay ul li a img {right: 10px;}
.partsFoot .bgglay ul.col4 {display: flex; justify-content: center; flex-wrap: wrap;}

a.blackBtn {width: 100%;}
a.blackBtn img {right: 12px; width: 12px;}
a.basicBtn img.arrow {width: 12px;}
img.arrow {width: 12px; height:12px;}
.pageNavi ul li a {padding: 8px 20px 8px 20px;}
.pageNavi ul li a img {right: 10px;}

/* ABOUT */
.about ul.col3 {margin-bottom: -20px;}
.about ul.col3 li {margin-bottom: 20px;}
.about05 {width: 100%; margin: 10px auto;}
.about05 .thumbnail {margin-top: 10px;}
.about05 .caption {position: relative; padding: 10px;}
.about05 .caption p {font-size: 14px!important; letter-spacing: normal; padding: 0;}

/* HOSPITALIZATION */
.hospital02-1 ul.col3 {margin-bottom: 0;}

/* 外来診療 */
.basebox.pageNavi ul li {width: 49%; margin-bottom: 10px;}

/* NEWS */
.catNews ul li a {align-items: flex-start; flex-direction: column;}
.catNews ul li a p {font-size: 11px;}
.catNews ul li a h3 {margin-bottom: 0; margin-left: 0; font-size: 15px; padding-bottom: 0;}

/* 部署 */
.department.basebox ul li {width: 100%;}

/* シングルページ */
.basebox.busyosyoukai ul li {width: 100%;}
.footBox02{padding: 30px;}
.footBox02 p {font-size: 19px; letter-spacing: normal;}

/* CONTACT */
.wpcf7 th {width: 100%; display: block; box-sizing: border-box;}
.wpcf7 td {display: block;}
table.table-entry th {padding: 20px 0; padding: 20px 0 0;}
td.hogokoumoku input {width: auto!important;}
/* =======CATEGORY======= */
.catNews a {display: flex; align-items: flex-start; border-bottom: 1px solid #EEE; flex-direction: column; padding: 10px 0;}
.page .catNews h3 {border: none;margin: 0; padding: 0; font-size: 1em;}

.catPage ul li h3 {font-size: 14px; color: #333; margin: 10px 0;}

.catWrap {display: flex; justify-content: flex-start; flex-direction: column;}
#leftBox { width: 100%;}
#rightBox {width: 100%; margin-bottom: 50px;}
.selectbox-002 select{width: 100%; min-width: 100%;}
.postCat ul li a {border: 1px solid #EEE; width: 100%; text-align: center; display: block; margin-bottom: 10px; padding: 10px; box-sizing: border-box; border-radius: 5px;}

/* =======POST AREA======= */
.cat-postbox h3 span {display: block; font-size: 0.8em; margin-bottom: 10px;}
.cat-postbox { padding: 10px 0;}
.cat-postbox li { padding: 20px 0; font-size: 0.9em;}
.cat-nav li {margin: 5px 5px; font-size: 0.8em;}

.single-postbox {padding: 0;  margin-bottom: 30px;}
.single-postbox h3 { font-size: 1.2em; margin-bottom: 30px;}
.single-postbox h3 span {margin: 0 10px 0 0;}

.cat_paging a {font-size: 12px; letter-spacing: normal;}
.cat-back {padding: 20px 0; margin-top: 30px;}

.tag-title {margin-bottom: 30px;}
.tag-title h3 {margin-top: 30px; margin-bottom: 30px; font-size: 1.5em;}

/* =======EDITOR AREA======= */
#editor-area p {font-size: 0.9em;}
#editor-area h4 {font-size: 1.1em !important; margin-bottom: 25px !important; }
#editor-area h5 {font-size: 1em; margin-bottom: 10px;}
#editor-area table td {display: block; width: 100% !important; box-sizing: border-box;}
#editor-area ul li{font-size:16px;}

.wp-pagenavi {margin-top: 0; margin-bottom: 50px;}

.access01 ul.col2 li:nth-child(odd) {margin: 0px;}
	.access01 ul li{width:100%;}

table.tablepress {white-space: nowrap; font-size: 1em;}
table.tablepress {border: 1px solid #EEE; border-bottom: none;}
#editor-area table.tablepress {display: table;}
#editor-area table.tablepress td {border-bottom: 1px solid #EEE;  padding: 5px 15px; white-space: normal; display: table-cell;  width: auto!important; }


}


@media screen and (max-width: 768px) {
  .table-responsive {
    width: 100%;
    display: block;
    overflow-x: auto;
  }
  .table-responsive table {
   width: 100%;
  border-collapse: collapse; /* ← これが最重要 */
  border-spacing: 0;         /* 念のため追加 */
}
.table-responsive td {
  padding: 10px;
  margin: 0;
}
.table-responsive tr {
  margin: 0;
  padding: 0;
}
  .table-responsive .graycell {
   background: #eee;
  font-weight: bold;
  padding: 8px 10px; /* ←上下を少し詰める */
}
  }



@media (orientation: landscape) and (max-height: 450px) {
 /*　================================ for 横向き ================================　*/

/* HEAD */
html,body { height: 100%; width: 100%; min-width: 100%; font-size: 15px;}
section.w1080 {width:90%; margin: 0 auto;}
.pagetop{bottom:10px; right:10px; z-index: 2;}
section.wrapCont {width: 90%; min-width: auto;}	

.sp{display:block!important;;}
.pc{display:none!important;}
.mb50 {margin-bottom: 20px;}
.mt50 {margin-top: 50px;}
.button {padding: .9em 30%;}
.jump{margin-top:-142px; padding-top:142px;}

/* header */
header { padding-bottom: 0;}
header h1 {padding: 0 0 0 20px;}
header h1 img {width: 183px;}
ul.headBoxNav {display: none;}
.nav-button {width: 43px; height: 30px;}
.nav-button-box {width: 75px; height: 75px; background: #523792; z-index: 9999; position: relative;}
.nav-button span {background-color: #FFF;}
.nav-button-box p {font-size: 11px;}
.nav-button span:nth-of-type(2) {top: 13px;}
.nav-button.active span:nth-of-type(1) {-webkit-transform: translateY(16px) rotate(-45deg); transform: translateY(16px) rotate(-30deg);}
.nav-button.active span:nth-of-type(3) {-webkit-transform: translateY(-10px) rotate(45deg); transform: translateY(-10px) rotate(30deg);}
.navBox {width: 100%; height: 100vh;  background-color: rgba(255,255,255,0.9); padding: 75px 0; position: fixed; top:0; right: 0; font-size: 14px; flex-direction: column;}
.nav-wrap {position: fixed;}
.headBoxnav2{display:none;}
.headBoxnav3 {display: none;}

.navL img {width: 183px; position: fixed; top: 10px; left: 20px;}
.navL h2 {font-size: 14px; position: relative; margin: 0;}
.navL {width: 100%;}
.navR {width: 100%;}
.navBox a {font-size: 13px; font-weight: normal; display: block; padding: 8px 0; border-bottom: none;}
.navCont {padding-bottom: 10px; margin-bottom: 10px;}
.navCont ul {width: 70%;}
.navBox ul li {border-bottom: 1px solid #E5E5E5;}
.navBox ul li:last-child{border-bottom: none;}
.navCont h3 {font-size: 16px;}

/* footer */
.footTop ul.col2 {display: flex; flex-wrap: nowrap; flex-direction: row; width: 100%;}
.footTop ul.col2:after {display: none;}
.footTop ul li a {font-size: 16px;}
.footTop ul.col2 li{margin-bottom:0;}

.footbox01 {width: 100%; margin-bottom: 30px; padding: 0 5%; box-sizing: border-box;}
.footbox01 ul.col2 img {width: 250px; display: block; margin: 10px auto 30px;}
.footbox01 td {display: block;}
.footbox01 td:nth-child(odd) {background: #EEE;}
.footbox01 .basic-table td {border: none; border-bottom: 1px solid #CCC;}
.footbox01 .basic-table{font-size: 1em;}
.footbox01 ul li:first-child p {font-size: 1em; text-align: center;}
.footbox02 {width: 100%; max-width: 100%;}
.footbox02 a {font-size: 1em; display: block; background: #EEE; padding: 15px;}
.footbox02 ul {padding: 0; flex-direction: column;}
.footbox02 ul li {margin: 0; border-bottom: 1px solid #CCC;}
.footbox02 ul:nth-child(2){border-top: none;}
.footbox02 ul:nth-child(2) li a {background: #FFF;}

/* 共通 */
#whiteBg {width: 90%;}
#container{width:100%; margin:0; padding:0;}

table.base th {white-space: nowrap; padding: 10px; border: none; display: block; border-bottom: 1px solid #CCC; background: #F5F5F5;}
table.base td {border: none; border-bottom: 1px solid #CCC; padding: 10px 0; display: block; box-sizing: border-box;}

.basebox {margin-bottom: 30px;}
.basebox h4 {margin-bottom: 20px;}
.basebox h5 {margin-bottom: 20px;}
.basebox.pickup h3 {text-align: center; font-size: 1.5em; letter-spacing: 0.1em;  margin-bottom: 30px;}
.basebox.pickup p {text-align: justify; line-height: 2em;}

/* TEASER */
#teaser {height: 300px; margin-top: 75px; display: flex; align-items: center; align-content: center; justify-content: center;}
.teaserInr {padding: 0; display: flex; justify-content: center; align-items: center;}
.teaserInr h2 {font-size: 22px; text-align: center;}

/* STAGE01 */
#stage01 {margin-top: -30px;}
#stage01 ul {padding: 30px;}
#stage01 h5 {text-align: center; border-bottom: 1px solid #CCC; padding-bottom: 20px;}
#stage01 .basic-table {display: none;}
#stage01 p {font-feature-settings: "palt";}
#stage01 ul li img {margin-right: 15px;}
#stage01 ul li a {padding: 20px; font-size: 1em;}
#stage01 ul li:last-child {margin: 0;}
#stage01 ul li a:last-child {margin: 0;}

/* STAGE02 */
#stage02 {padding: 50px 0 30px;}
.topNews {display: flex; gap: 0 10px; align-content: flex-start; justify-content: space-between; margin-bottom: 30px; flex-wrap: wrap;}
.tab-2 > label {flex: 1 1; order: -1; padding: .6em 1em; background-color: #796DB5; color: #fff; font-size: 16px; text-align: center; cursor: pointer;}
.tab-2 input {display: none;}
.tab-2 > div {display: none; width: 100%;}
.tab-2 label:has(:checked) {background-color:#523792;}
.tab-2 label:has(:checked) + div {display: block; width: 100%;}
.topNews a span {margin-right: 0; display: block;}
a.newsBtn {text-align: center; background: #EEE; border-radius: 50px; margin-top: 30px; border-bottom: none;}
#stage02 .bgglay ul {display: flex; justify-content: center; flex-wrap: wrap;}

/* STAGE03 */
#stage03 {width: 90%; margin-bottom: 50px; position: relative;    margin: 0 auto 30px;}
ul.slide li { box-sizing:border-box; padding: 0;}
.midashi {padding: 20px 15% 20px 10%;}
.slick-slide img {display: block;}
#stage03 ul li div.midashi img.arrow {right: 25px; width: 20px; height: 20px;}
.midashi p {display:none;}
.midashi h5 {font-size: 13px; margin:0;}
#stage03 ul li img {  width: 100%; height: auto;}

/* STAGE04 */
#stage04 {padding: 30px 0 10px; margin-bottom: 30px; position: relative; text-align: left;}
#stage04 a {display: flex; flex-direction: row; align-items: center; padding: 20px 0; text-align: left;}
#stage04 a img {width: 75px; height: 50px; margin-bottom: 0; margin: 0 15px;}
#stage04 ul { margin: 0;}
#stage04 ul li {margin-bottom: 20px;}

/* STAGE05 */
#stage05 {margin-bottom: 0; position: relative; text-align: center;}
#stage05 ul.col3 li a {display: flex; flex-direction: row; align-items: center; padding: 20px 0; text-align: left;}
#stage05 a img {width: 75px; height: 50px; margin-bottom: 0; margin: 0 15px;}
#stage05 ul { margin: 0;}
#stage05 ul li {margin-bottom: 20px;}
#stage05 ul.menuList {margin: 0;}
#stage05 ul.menuList li {padding: 20px 0;}
#stage05 ul.col2 li img {width: 75px; height: 50px; margin-bottom: 0; margin: 0 15px;}
#stage05 ul.col2 li img.arrow {margin: auto; width: 16px; height: 16px;}
ul.col2.menuList .Box {text-align: left;}
#stage05 ul.menuList2 li a{display: flex; flex-direction: row; align-items: center; padding: 20px 0; text-align: left;}
#stage05 img.arrow {right: 20px;}

/* STAGE06 */
#stage06 {margin-bottom: 30px; position: relative;}
#stage06 ul li {padding: 30px;}
#stage06 ul li a {justify-content: center;}

/* STAGE07 */
#stage07 {padding: 30px 0; margin-bottom: 30px; position: relative; text-align: center;}
#stage07 ul li {width: 100%; margin-bottom: 30px;}
#stage07 ul li a h5 {align-items: flex-start; flex-direction: column; padding: 10px 30px;}
#stage07 ul li a h5 span {font-size: 14px; margin-left: 0;}
#stage07 ul li img {margin-top: 50px;}

/* STAGE07 */
#stage08 {margin-bottom: 30px;}

/* =====PAGE===== */
#container.page {width: 100%;margin-bottom: 0; box-sizing: border-box;}

.page-title {display: flex; min-height: auto; padding: 0; margin: 75px auto 30px; height: 120px; align-items: center; justify-content: center;}
.page-title h2 {font-size: 20px;  padding: 0;}
.page h3 {font-size: 20px; padding-bottom: 10px; margin-bottom: 30px;}

.basebox p {font-size: 15px; text-align: justify;}

ul.col2 {flex-direction: column; }
ul.col2 li{width:100%; margin-bottom: 20px;}
ul.col2:last-child {margin-bottom: 0;}
ul.col2.reverse {display: flex; flex-direction: column-reverse;}
ul.col3 {flex-direction: column;}
ul.col3 li{width:100%; margin-bottom: 20px;}
ul.col3:last-child {margin-bottom: 0;}
ul.col6 {justify-content: space-between; flex-direction: row; flex-wrap: wrap;}
ul.col6 li {width: 48%; margin-bottom: 20px;}

.basic-table {margin-bottom: 30px;}

.footBox01 {margin-bottom: 30px; padding: 30px 5%;}
.footBox01 h5 {padding-bottom: 20px; margin-bottom: 20px;}
.footBox01 p {font-size: 16px; margin-bottom: 20px;}
.footBox01 p span {font-size: 11px;}
.partsFoot .bgglay {text-align: center; margin-bottom: 30px;}
.partsFoot .bgglay h5 {margin-bottom: 20px; font-size: 16px; letter-spacing: normal;}
.partsFoot ul li {width: auto;}
.partsFoot .bgglay ul li a {padding: 10px 30px 10px 15px; letter-spacing: normal; font-size: 12px;}
.partsFoot .bgglay ul li a img {right: 10px;}
.partsFoot .bgglay ul.col4 {display: flex; justify-content: center; flex-wrap: wrap;}

a.blackBtn {width: 100%;}
a.blackBtn img {right: 12px; width: 12px;}
a.basicBtn img.arrow {width: 12px;}
img.arrow {width: 12px; height:12px;}
.pageNavi ul li a {padding: 8px 20px 8px 20px;}
.pageNavi ul li a img {right: 10px;}

/* ABOUT */
.about ul.col3 {margin-bottom: -20px;}
.about ul.col3 li {margin-bottom: 20px;}
.about05 {width: 100%; margin: 10px auto;}
.about05 .thumbnail {margin-top: 10px;}
.about05 .caption {position: relative; padding: 10px;}
.about05 .caption p {font-size: 10px!important; letter-spacing: normal; padding: 0;}

/* HOSPITALIZATION */
.hospital02-1 ul.col3 {margin-bottom: 0;}

/* 外来診療 */
.basebox.pageNavi ul li {width: 49%; margin-bottom: 10px;}

/* NEWS */
.catNews ul li a {align-items: flex-start; flex-direction: column;}
.catNews ul li a p {font-size: 11px;}
.catNews ul li a h3 {margin-bottom: 0; margin-left: 0; font-size: 15px; padding-bottom: 0;}

/* 部署 */
.department.basebox ul li {width: 100%;}

/* シングルページ */
.basebox.busyosyoukai ul li {width: 100%;}
.footBox02{padding: 30px;}
.footBox02 p {font-size: 19px; letter-spacing: normal;}

/* CONTACT */
.wpcf7 th {width: 100%; display: block; box-sizing: border-box;}
.wpcf7 td {display: block;}
table.table-entry th {padding: 20px 0; padding: 20px 0 0;}

/* =======CATEGORY======= */
.catNews a {display: flex; align-items: flex-start; border-bottom: 1px solid #EEE; flex-direction: column; padding: 10px 0;}
.page .catNews h3 {border: none;margin: 0; padding: 0; font-size: 1em;}

.catPage ul li h3 {font-size: 14px; color: #333; margin: 10px 0;}

.catWrap {display: flex; justify-content: flex-start; flex-direction: column;}
#leftBox { width: 100%;}
#rightBox {width: 100%; margin-bottom: 50px;}
.selectbox-002 select{width: 100%; min-width: 100%;}
.postCat ul li a {border: 1px solid #EEE; width: 100%; text-align: center; display: block; margin-bottom: 10px; padding: 10px; box-sizing: border-box; border-radius: 5px;}

/* =======POST AREA======= */
.cat-postbox h3 span {display: block; font-size: 0.8em; margin-bottom: 10px;}
.cat-postbox { padding: 10px 0;}
.cat-postbox li { padding: 20px 0; font-size: 0.9em;}
.cat-nav li {margin: 5px 5px; font-size: 0.8em;}

.single-postbox {padding: 0;  margin-bottom: 30px;}
.single-postbox h3 { font-size: 1.2em; margin-bottom: 30px;}
.single-postbox h3 span {margin: 0 10px 0 0;}

.cat_paging a {font-size: 12px; letter-spacing: normal;}
.cat-back {padding: 20px 0; margin-top: 30px;}

.tag-title {margin-bottom: 30px;}
.tag-title h3 {margin-top: 30px; margin-bottom: 30px; font-size: 1.5em;}

/* =======EDITOR AREA======= */
#editor-area p {font-size: 0.9em;}
#editor-area h4 {font-size: 1em !important; margin-bottom: 25px !important; }
#editor-area h5 {font-size: 1em; margin-bottom: 10px;}
#editor-area table td {display: block; width: 100% !important; box-sizing: border-box;}

.wp-pagenavi {margin-top: 0; margin-bottom: 50px;}

.access01 ul.col2 li:nth-child(odd) {margin: 0px;}
	.access01 ul li{width:100%;}

table.tablepress {white-space: nowrap; font-size: 1em;}
table.tablepress {border: 1px solid #EEE; border-bottom: none;}
#editor-area table.tablepress {display: table;}
#editor-area table.tablepress td {border-bottom: 1px solid #EEE;  padding: 5px 15px; white-space: normal; display: table-cell;  width: auto!important; }
}
/*2025/10/8 添付画像のトーンに寄せた色 */
/*2025/10/8 トーン変更：青緑→紫(#523792) */
:root{
  --check-blue: #523792;   /* 文字色＆チェック色（紫） */
  --box-gray:  #9AA7AF;    /* チェックボックス枠のグレー */
}

/* 背景ボックス内のリスト */
.eligibility-list{
  list-style: none;
  margin: 0;
  padding: 8px 0 8px 0;
}

.eligibility-list li{
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  font-weight: 600;
  color: var(--check-blue);
  line-height: 1.6;
  font-size: clamp(18px, 1.5vw, 30px);
  padding: 5px 0;
}

/* 行間（画像のようにゆったり） */
.eligibility-list li + li{
  margin-top: clamp(10px, 1.5vw, 28px);
}

/* チェックボックスアイコン（SVGを背景に） */
.eligibility-list li::before{
  content: "";
  flex: 0 0 auto;
  width: clamp(22px, 2.5vw, 40px);
  height: clamp(22px, 2.5vw, 40px);
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'>\
    <rect x='2' y='2' width='40' height='40' rx='4' fill='%23F5F7F8' stroke='%239AA7AF' stroke-width='4'/>\
    <path d='M10 22l7 7 17-17' fill='none' stroke='%23523792' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/>\
  </svg>");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.05));
  margin-left: 4px;
}

/* スマホで行の詰まりを少し緩和 */
@media (max-width: 599px){
  .eligibility-list li{
    gap: 12px;
    padding: 8px 0;
  }
  .eligibility-list li + li{ margin-top: 12px; }
}
@media screen and (max-width: 768px){
  .basic-table td:first-child{
    background: #f5f5f5;
  }
}