@charset "utf-8";

/* fix_uetani */
main #right_column { margin-top: 80px;}
div#hospital { width: 100%;padding: 0 15px; box-sizing: border-box;}
@media screen and (min-width: 768px){
#wrap { width:100%; max-width: 1220px;margin: 10px auto;}
#container {width:100%; max-width: 1220px; box-sizing: border-box;}
main #left_column {width: 30%;max-width: 300px; box-sizing: border-box; margin: 0;}
main #right_column {width: 70%;flex: 1;box-sizing: border-box;margin: 0;}
#pankuzu {padding: 0 15px;box-sizing: border-box; }
div#hospital {width: 100%;max-width: 920px;padding: 0 15px; box-sizing: border-box; }
}
.page-content { padding-left: 0px; padding-right: 0px; box-sizing: border-box;}
.page-content h2 { font-size: 18px; color: #0202e5; border-bottom: solid 3px  #0202e5; padding: 0.5em 0  0.2em 0; font-weight: bold; margin-bottom: 15px; line-height: 1.2; position: relative;}
.page-content h2:after{ content: ""; height: 3px; width: 30%; position: absolute; right: 0; bottom: -3px; background: #A9A9FD; }
.page-content h2.ex_h2 { font-size: 20px; background: #0202e5; color: #fff; padding: 0.5em 1em; font-weight: bold; margin-bottom: 15px; line-height: 1.2; border-bottom: unset;}
.page-content h2.ex_h2:after{ display: none;}
.page-content h3 { font-size: 17px; color: #0202e5; border-left: solid 4px #0202e5; border-bottom: unset; padding: 0.1em 0  0.1em 0.5em; font-weight: bold; margin-bottom: 15px; line-height: 1.2;}
.page-content .small { font-size: 13px; line-height: 1.5;}
.page-content h4 { font-size: 14px; color: #333; padding: 1px 8px 1px 3px; font-weight: bold; border-bottom: dotted 2px #aaa; margin-bottom: 12px; line-height: 1.2;}
.page-content h5 { font-size: 12px; color: #fff; background: #777; margin-bottom: 12px; line-height: 1.2; border-radius: 2px; padding: 1px 8px; display: inline-block;}
.page-content p{ line-height: 1.8; margin-bottom: 15px;}
.page-content ul li{margin:1% 1% 1% 2.5%;}
@media screen and (min-width: 768px){
.page-content { width: 100%; max-width: 920px; padding: 0; padding-left: 15px; padding-right: 15px; box-sizing: border-box;}
.page-content h2.ex_h2 { font-size: 23px; line-height: 1.6; margin-bottom: 25px;}
.page-content h2 { font-size: 21px; line-height: 1.6; margin-bottom: 25px;}
.page-content h3 { font-size: 18px; line-height: 1.6; margin-bottom: 20px;}
.page-content h4 { font-size: 15px; line-height: 1.6; margin-bottom: 12px;}
.page-content h5 { font-size: 13px; line-height: 1.6; margin-bottom: 12px;}
}
.item_header{display: flex; flex-wrap: wrap;}
@media screen and (max-width: 1200px){
.iipLt_br{ display: none;}
}
.cont_inner{ box-sizing: border-box; padding: 0 10px; margin: 0 0 50px 0;}
span.marker {background: linear-gradient(transparent 50%, #ffd700 100%);}

/* tableスタイル */
table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:16px;line-height:1.6;}
th,
td{border: 1px solid #ccc;padding: 12px 16px;text-align: left;vertical-align: top;}
th{background-color: #f5f5f5;font-weight: bold;}
tr:nth-child(even) {background-color: #fafafa;}
/* 全画面共通スタイル */
table.responsive-table {width: 100%;border-collapse: collapse;margin: 1.5em 0;font-size: 16px;line-height: 1.6;table-layout: auto;}
table.responsive-table th,
table.responsive-table td {border: 1px solid #ccc;padding: 12px 16px;text-align: left;vertical-align: top;}
table.responsive-table th {background-color: #f5f5f5;font-weight: bold;}
table.responsive-table tr:nth-child(even) {background-color: #fafafa;}
/* モバイル（スマートフォン）対応：横スクロール化 */
.table-wrapper {width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch; /* iOS滑らかスクロール */}
/* テーブルの最小幅を指定（スマホで折り返さず横スクロール） */
table.responsive-table {min-width: 600px;}

#header h1 {white-space: nowrap;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 100%;
}
@media screen and (max-width: 768px) {.mo_only {top: 30px;}
#header .trigger {top: 35px;}
}

.cont_inner ul {border: 3px solid #99ccff;border-radius: 10px;list-style: none;padding: 2em 1em 0 1em;list-style: none;margin-bottom: 1.5em;}
.cont_inner ul li {padding-left: 2em;position: relative;margin-bottom: 1.5em;}
.cont_inner ul li::before {font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f14a";
    color: #21A0DB;
    position: absolute;
    left: 3px;
    top: -7px;
    font-size: 1.3rem;}

@media (max-width:768px) {
.cont_inner ul li::before {
left: 3px;
top: -4px;
font-size: 1.2rem;}
}

/* ol */
.cont_inner ol{
    counter-reset: number;
    list-style-type: none !important;
    padding: 0.5rem 0 0 1rem;
    background: #fefeff;
    /* border: 1px solid; */
    /* border: 3px solid #99ccff; */
    /* border-radius: 10px; */
    list-style: none;
    list-style: none;
    margin-bottom: 1.5rem;
}
.cont_inner ol li {
    position: relative;
    padding-left: 30px;
    padding: 0.7rem 0 1rem 2rem;
    line-height: 1.5;
}

.cont_inner ol li:before{
position: absolute;
    counter-increment: number;
    content: counter(number) '.';
    display: inline-block;
    color: #2e2e2e;
    font-size: 15px;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 1.5;
    text-align: center;
    top: 0.7rem;
    transform: none;
    vertical-align: top;
}

@media (max-width:768px) {
    .cont_inner ol {
        padding-left: 0;
    }
    .cont_inner ol li:before{
    top: 0.6rem;
    }

}
/* /ol */

.cont_inner em{font-weight: bold;}

.lead_img {width: 100%; text-align: center;}
.lead_img img {width: 100%;height: 350px;object-fit: cover;margin-bottom: 20px;}
@media screen and (max-width: 768px) {.lead_img img {height: 200px;}}
.cont_inner a {
    color: #454545;
    text-decoration: underline;
    text-decoration-color: #797c85;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    transition: color 0.2s cubic-bezier(0, 1.31, 0.15, 1.13), text-decoration-color 0.2s cubic-bezier(0, 1.02, 0.29, 1.11);}
.cont_inner a:hover {
    color: #0a2bc3;
    text-decoration-color: #0a2bc3;}


/* 画像3列 */
/* 画像挿入 */

.gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
    margin: 3em auto;
}

.gallery-item {
	text-align: center;
	width: calc(33.33% - 20px);
}

.gallery-item img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 5px 5px 6px 1px rgb(0 0 0 / 78%);
}

.caption {
	margin-top: 10px;
	font-size: 14px;
	color: #555;
}

@media screen and (max-width: 768px) {
	.gallery-item {
	width: 100%;
	}
}

/* TOPページ遷移ボタン */
.navigation-top a {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: clamp(1.1rem, 2.5vw, 1.1rem);
    background: #eee;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 20px 30px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: bold;
}
.navigation-top a:after {
	content: "";
    position: absolute;
    top: 52%;
    bottom: 0;
    right: 2rem;
    font-size: 90%;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 10px;
    height: 10px;
    border-top: solid 3px currentColor;
    border-right: solid 3px currentColor;
    transform: translateY(-50%) rotate(45deg);
}
.navigation-top a:hover {
  background: #0a0077;
  color: #FFF;
}
.navigation-top a:hover:after {
  right: 1.4rem;
}
@media screen and (max-width: 768px) {
	.navigation-top a:after {
	top: 50%;
	}
}
/* /TOPページ遷移ボタン */