/*
Theme Name: Itabashi-Kuyakusyomae-Shinryojo-202302
Theme URI: https://www.itashingp.org
Description: 2026/2/6 Upload
version: 1.5
Author: Ken Yanagisawa
*/

@charset "utf-8";

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
table,
th,
td,
div,
ul,
ol,
li,
dl,
dt,
dd,
pre,
a,
img,
i,
strong,
form,
article,
aside,
table,
tbody,
tr,
th,
td,
nav,
section,
time {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

ol,
ul {
	list-style: none;
}

a {
	outline: none;
	text-decoration: none;
	cursor: pointer
}

header,
footer,
section,
nav {
	display: block;
}

/* common */

html {
	font-size: 14px;
}

body {
	font-size: 1rem;
	text-align: left;
	line-height: 1.5;
	font-family: Arial, 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, Meiryo, sans-serif;
	color: #222;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

a:link,
a:visited,
a:hover,
a:active {
	text-decoration: none;
}

a:hover {
	background: #f4c688;
	color: white;
	transition: all 0.3s;
}

a:visited,
a:link {
	color: coral;
}

.f_inpact {
	font-weight: 600;
}

.pageTitle {
	font-size: 22px;
	font-weight: bold;
	background: #efb361;
	/* background: linear-gradient(270deg, #f6c88c80 10%, #f6c88c); */
	color: white;
	padding: 5px 5px 5px 2px;
	margin-bottom: 20px;
	letter-spacing: 0.1rem;
}

.section_title {
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1rem;
	padding: 5px 15px 5px 0px;
	margin: 5px 5px 5px 0px;
	box-shadow: 10px 10px 10px rgba(246, 200, 140, 0.8);
	background-color: white;
}

.subTitle {
	font-size: 18px;
	font-weight: bold;
}

.greentitle {
	font-size: 18px;
	color: mediumseagreen;
	font-weight: bold;
	margin-bottom: 20px;
}

#general-container {
	background-color: white;
	position: relative;
	z-index: 10;
	transition: transform 0.5, box-shadow 0.5s;
}

.contentsContainer {
	padding: 60px 10px;
	min-height: 100vh;
	background: linear-gradient(90deg, #fff, #f6c88c);
}

.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	display: inline-block;
	width: 1em;
	height: 1em;
	line-height: 1em;
	text-transform: none;

	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;

	-moz-osx-font-smoothing: grayscale;

	font-feature-settings: 'liga';
}

.material-icons.md-18 {
	font-size: 18px;
}

.material-icons.md-24 {
	font-size: 24px;
}

.material-icons.md-36 {
	font-size: 36px;
}

.material-icons.md-48 {
	font-size: 48px;
}

.material-icons.md-dark {
	color: rgba(0, 0, 0, 0.54);
}

.material-icons.md-dark.md-inactive {
	color: rgba(0, 0, 0, 0.26);
}

.material-icons.md-light {
	color: rgba(255, 255, 255, 1);
}

.material-icons.md-light.md-inactive {
	color: rgba(255, 255, 255, 0.3);
}

.mb-zero {
	margin-bottom: 0px;
}

.mb-sm {
	margin-bottom: 10px;
}

.mb-mi {
	margin-bottom: 20px;
}

.mb-lr {
	margin-bottom: 30px;
}

.mb-xl {
	margin-bottom: 40px;
}

.mr-lg {
	margin-right: 40px;
}

.mr-lr {
	margin-right: 25px;
}

.ml-sm {
	margin-left: 10px;
}

.pb-mi {
	padding-bottom: 20px;
}

.font-xs {
	font-size: 12px;
}

.font-sm {
	font-size: 14px;
}

.font-md {
	font-size: 16px;
}

.font-lr {
	font-size: 18px;
}

.font-lg {
	font-size: 20px;
}

.font-xl {
	font-size: 22px;
}

.bold {
	font-weight: 600;
}

.underline {
	border-bottom: 2px solid #444;
}

.ac-green {
	color: seagreen;
}

.dk-green {
	color: darkgreen;
}

.lt-green {
	color: lightgreen;
}

.photo_2 {
	display: flex;
	flex-direction: row;
}

.photo_right {
	margin: 0 10px 0 0;
}

.photo_right_mi {
	margin: 0 20px 0 0;
}

.photo_right_lr {
	margin: 0 30px 0 0;
}

.p_cover_150 {
	width: 150px;
	overflow: hidden;
}

.p_cover_320 {
	width: 320px;
	height: 200px;
	overflow: hidden;
}

.p_fit {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}

.img-frame {
	border: 1px solid black;
}

.pict-zoom-up {
	width: 160px;
	height: 200px;
	overflow: hidden;
	margin: 0px 30px 20px 0px;
	border: 1px solid black;
}

.pict-zoom-up>img {
	width: 160px;
	height: 200px;
	transition: 0.3s;
}

.pict-zoom-up>img:hover {
	transform: scale(1.05);
}

#page_top {
	width: 90px;
	height: 90px;
	position: fixed;
	right: 0;
	bottom: 0;
	opacity: 0.7;
	z-index: 20;
}

#page_top a {
	position: relative;
	display: block;
	width: 90px;
	height: 90px;
	text-decoration: none;
}

#page_top a::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f102';
	font-size: 25px;
	color: #008000;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -40px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

#page_top a::after {
	content: 'PAGE TOP';
	font-size: 13px;
	position: absolute;
	top: 45px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
	color: #008000;
}

#page_top a:hover {
	background: transparent;
}

.clearfix {
	clear: both;
	color: #222;
}

/* page.php */

/* .basic-container { 
	width: 90%; 
	margin: 0 auto;
}

.basic-container h2 {
	font-size: 1.8rem;
	margin-top: 20px 0px;
}

.basic-container p {
	font-size: 1.2rem;
}

.container {
	width: 100%; margin: 0 auto;
	background: linear-gradient(45deg, #fff 10%, #f7f4e5 30%);
	display: flex;
	align-items: center;
	justify-content: space-around;
} */

/* header */

#header {
	height: 60px;
	width: 100%;
	position: fixed;
	z-index: 100;
	display: flex;
	background: linear-gradient(90deg, #fff 10%, #f7f4e5 30%);
	margin: 0 auto;
}

#header-container {
	width: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
	padding: 5px 10px;
}

.header_left:hover {
	background: #f4c688;
	transition: all 0.3s;
}

.header_name {
	font-weight: 600;
	position: relative;
	margin-left: 5px;
}

.header_name.font-xl {
	font-size: 22px;
}

.header_name:hover {
	color: white;
	transition: all 0.3s;
}

.header_name_to_home {
	display: flex;
	flex-direction: row;
	justify-content: center;
	justify-content: center;
}

a:visited,
a:link.header_name_to_home {
	color: #222;
}

.logo_img {
	height: 30px;
	width: 30px;
}

.phone_num,
.uketsuke_upper,
.uketsuke_lower {
	display: none;
}

.header_center div {
	font-weight: bold;
	padding: 5px;
	position: relative;
}

.header_center:hover {
	background: #f4c688;
}

.header_center a:hover {
	color: white;
}

.phone_num.font-lr {
	font-size: 26px;
}

.uketsuke_upper,
.uketsuke_lower {
	font-size: 20px;
	padding-right: 3px;
}

.header_right {
	display: none;
	font-size: 20px;
	font-weight: bold;
	padding: 2px 15px;
	color: #222;
	border: 1px solid rosybrown;
}

/* mobile-menu */
.mobile-menu_access__btn {
	background-color: transparent;
	border: none;
}

.mobile-menu_access {
	line-height: inherit;
	font-size: 40px;
	color: green;
	margin-right: 10px;
}

.mobile-menu_phone__btn {
	background-color: transparent;
	border: none;
	position: relative;
}

a:visited,
a:link.mobile-menu_phone__btn {
	color: green;
}

.phone-icon {
	font-size: 40px;
	margin: 6px 2px;
}

.mobile-menu_home__btn {
	background-color: transparent;
	border: none;
}

.mobile-menu_home__btn:hover,
mobile-menu_phone__btn:hover {
	color: white;
	transition: all 0.3s;
}

a:visited,
a:link.mobile-menu_home__btn {
	color: green;
}

.home-icon {
	color: green;
	font-size: 48px;
}

a.mobile-menu_home__btn {
	position: relative;
}

.mobile-menu-btn__home-txt {
	position: absolute;
	top: 47px;
	left: 9px;
	cursor: pointer;
	color: green;
	font-size: 10px;
	font-weight: 500;
}

.mobile-menu-btn__tel-txt {
	position: absolute;
	top: 46px;
	left: 13px;
	cursor: pointer;
	color: green;
	font-size: 11px;
	font-weight: 500;
}

.mobile-menu {
	position: fixed;
	top: 50px;
	right: 15px;
	width: 285px;
	overflow-y: scroll;
	max-height: calc(100vh - 100px);
}

.mobile-menu_container {
	width: 80%;
	min-height: 100vh;
	margin: 0 auto;
}

.mobile-menu__menu-title {
	font-size: 18px;
	font-weight: 600;
}

.mobile-menu__btn {
	background-color: unset;
	border: none;
	outline: none;
	cursor: pointer;
}

.mobile-menu__btn:hover {
	background: #f4c688;
	color: white;
	transition: all 0.3s;
}

.mobile-menu__btn span {
	background-color: green;
	width: 35px;
	height: 2px;
	display: block;
	margin-bottom: 9px;
	transition: transform 0.7s;
}

.mobile-menu__btn span:last-child {
	margin-bottom: 0;
}

.mobile-menu-btn__menu-txt {
	position: absolute;
	cursor: pointer;
	color: green;
	font-size: 10px;
	font-weight: 500;
}

.mobile-menu__cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s;
	cursor: pointer;
	z-index: 200px;
}

.mobile-menu__main {
	padding: 0;
	perspective: 2000px;
	transform-style: preserve-3d;
}

.mobile-menu__item {
	display: block;
	padding: 5px 0px 5px 10px;
	opacity: 0;
	letter-spacing: 0.02rem;
	transform: translate3d(0, 0, -1000px);
	transition: transform 0.3s, opacity 0.2s;
}

li.m-child-menu {
	box-shadow: 2px 2px 2px rgb(246 200 140 / 50%);
	margin-left: 10px;
}

.mobile-menu a:link {
	color: #222;
}

.mobile-menu__link {
	display: flex;
	padding: 5px 0;
	box-shadow: 5px 5px 2px rgb(246 200 140 / 50%);
}

.mobile-menu__link:hover {
	background: #f4c688;
	color: white;
	transition: all 0.3s;
}

a.mobile-menu__c-link {
	display: flex;
}

.mobile-menu__c-link:hover {
	background: #f4c688;
	transition: all 0.3s;
	color: white;
	display: block;
}

a.mobile-menu__link:hover {
	color: white;
}

a.mobile-menu__c-link:hover {
	color: white;
}

.menu-open #general-container {
	transform: translate(-300px, 60px);
	box-shadow: 0 8px 40px -10px rgba(0, 0, 0, 0.8);
}

.menu-open .mobile-menu__cover {
	opacity: 1;
	visibility: visible;
}

.menu-open .mobile-menu__item {
	transform: none;
	opacity: 1;
}

.menu-open .mobile-menu__item:nth-child(1) {
	-webkit-transition-delay: 0.07s;
	transition-delay: 0.07s;
}

.menu-open .mobile-menu__item:nth-child(2) {
	-webkit-transition-delay: 0.14s;
	transition-delay: 0.14s;
}

.menu-open .mobile-menu__item:nth-child(3) {
	-webkit-transition-delay: 0.21s;
	transition-delay: 0.21s;
}

.menu-open .mobile-menu__item:nth-child(4) {
	-webkit-transition-delay: 0.28s;
	transition-delay: 0.28s;
}

.menu-open .mobile-menu__item:nth-child(5) {
	-webkit-transition-delay: 0.35s;
	transition-delay: 0.35s;
}

.menu-open .mobile-menu__btn>span {
	background-color: green;
}

.menu-open .mobile-menu__btn>span:nth-child(1) {
	transition-delay: 70ms;
	transform: translateY(11px) rotate(135deg);
}

.menu-open .mobile-menu__btn>span:nth-child(2) {
	transition-delay: 0ms;
	transform: translateX(-18px) scaleX(0);
}

.menu-open .mobile-menu__btn>span:nth-child(3) {
	transition-delay: 140ms;
	transform: translateY(-11px) rotate(-135deg);
}


/* header global navigation */
/* pc-nav-menu */

nav.pc-menu {
	display: none;
}

.pc-menu_container {
	margin: 0 0 10px 10px;
	position: fixed;
	top: 79px;
	background: linear-gradient(90deg, #fff 10%, #f7f4e5 30%);
	width: 100%;
	height: 39px;
}

ul.pc-menu__main {
	display: flex;
	flex-direction: row;
	justify-content: center;
	padding-bottom: 10px;
}

li.pc-menu__item {
	font-weight: 600;
	font-size: 22px;
	padding: 5px 0px 5px 5px;
}

li.pc-parent-menu {
	width: 275px;
	cursor: pointer;
}

li.pc-parent-menu a {
	display: flex;
}

li.pc-child-menu {
	background-color: white;
}

li.pc-child-menu:nth-child(even) {
	background-color: #f7f4e5;
}

ul.pc-submenu {
	display: none;
	z-index: 200;
	position: absolute;
	top: 0px;
	width: 270px;
}

a.pc-menu__c-link {
	display: flex;
}

.pc-menu__item a:link {
	color: #222;
}

.pc-menu__item a:hover {
	color: white;
}

.pc-parent-menu:hover .pc-submenu {
	display: block;
	transition: all .8s;
	position: absolute;
	top: 38px;
}

/* front-page */

.front_container {
	padding-top: 60px;
	background: linear-gradient(90deg, #fff, #f6c88c);
	padding-bottom: 80px;
}

/* opening slide */

/*========= ローディング画面のためのCSS ===============*/
/* 2022/12/20 オープニング画面を一時的にコメントアウト */
/* #splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 9999999;
	text-align:center;
	color:#000;
	font-size: 90px;
}

#splash-logo {
	position: absolute;
	top: calc(50% - 60px);
	left: 50%;
	transform: translate(-50%, -50%);
} */

/* Loading アイコンの大きさ設定　*/
/* #splash-logo svg{
    width:300px;
} */

/*=============== SVGアニメーション内の指定 =================*/

/*アニメーション前の指定*/
/* #mask path {
	fill-opacity: 0;
	transition: fill-opacity 2s;
	fill: none;
	stroke: #333;
} */

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
/* #mask.done path{
  fill: #333;
  fill-opacity: 1;
  stroke: none;
} */

/*========= 画面遷移のためのCSS ===============*/

/* body{
	background:darkgreen;遷移アニメーションと同じ色を指定 */
/* background:#a2c917; オープニングの画面移動登場時に使用するバックグラウンド 2022/12/14 コメントアウト
} */

/* body.appear{
    background:#fff;
} */
/*画面を開いた後の背景色を指定*/

/*画面遷移アニメーション*/
/* .splashbg1,
.splashbg2{
    display: none;
} */

/*bodyにappearクラスがついたら出現*/
/* body.appear .splashbg1,
body.appear .splashbg2{
	display:block;
} */

/*右に消えるエリア*/
/* body.appear .splashbg1{
	animation-name:PageAnime;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left:50%;
    transform: scaleX(1);
    background-color: #e5fa9a;
} */

/* @keyframes PageAnime{
	0% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
} */

/*左に消えるエリア*/
/* body.appear .splashbg2{
	animation-name:PageAnime2;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	right:50%;
    transform: scaleX(1);
    background-color: #e5fa9a;
} */

/* @keyframes PageAnime2{
	0% {
		transform-origin:right;
		transform:scaleX(1);
	}

	50% {
		transform-origin:left;
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
} */

/*画面遷移の後現れるコンテンツ設定*/
/* #container{
	opacity: 0;
} */

/*bodyにappearクラスがついたら出現*/
/* body.appear #container{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay:0.2s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
} */

/*========= レイアウトのためのCSS ===============*/
/* 2022/12/20一時的にコメントアウト */
/* #lp_catch{ */
/* font-size:1.2rem; */

/* position: absolute;
    z-index: 2;
    top: 10%;
    left: 68%;
    transform: translate(-50%, -50%);
    font-size: 10vw;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff;
    text-stroke: 1px #000;
    writing-mode: vertical-rl;
    -webkit-text-stroke: 1px #000;
    width: 100px;
    height: 500px;
    text-align: right;
    text-shadow: 3px 3px 1px #555; 
}
*/
/* .fadeInDown {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	animation-delay: 1s;
	-webkit-animation-delay: 1s;
	-ms-animation-delay: 1s;
	-webkit-animation-duration:4s;
	-ms-animation-duration:4s;
	animation-duration:4s;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
   }
   @-webkit-keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-70px); }
	100% { opacity: 1; -webkit-transform: translateY(-45px); }
   }
   @keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-70px); -ms-transform: translateY(-70px); transform: translateY(-70px); }
	100% { opacity: 1; -webkit-transform: translateY(-45px); -ms-transform: translateY(-45px); transform: translateY(-45px); }
   }

.wrapper{
	position: relative;
} */


/*==================================================
スライダーのためのcss
===================================*/
#slider {
	width: 100%;
	height: calc(100vh - 60px);
	/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}


#slide_container {
	margin: 0 5px;
	margin-bottom: 30px;
}

.slider-001 {
	width: 100%;
	max-width: 450px;
	height: 320px;
	position: relative;
	display: flex;
	overflow: hidden;
	box-shadow: 2px 2px 5px #222;
}

.slide-001 {
	width: 100%;
	flex-shrink: 0;
	position: relative;
	transition: all 0.6s ease-in-out;
}

.slide-content-001 img {
	width: 100%;
	height: 320px;
	object-fit: cover;
}

.prev-001,
.next-001 {
	cursor: pointer;
	position: absolute;
	top: 68%;
	padding: 10px;
	margin-top: -70px;
	color: white;
	font-weight: 600;
	font-size: 3rem;
	transition: all 0.2s ease;
	user-select: none;
}

.next-001 {
	right: 0;
}

.prev-001:hover,
.next-001:hover {
	background-color: rgba(144, 238, 144, 0.8);
}

.slide-caption-001 {
	color: #222;
	font-size: 1.8rem;
	position: absolute;
	bottom: 45px;
	height: 45px;
	line-height: 45px;
	width: 100%;
	text-align: center;
	background-color: rgba(251, 248, 233, 1);
}

.slide-caption-001.sl-font-ad1 {
	font-size: 22px;
}

.slide-caption-001.sl-font-ad2 {
	font-size: 14px;
}

.slide-caption-001 span {
	font-family: Quicksand, sans-serif, Courier, 'Courier New', monospace;
	background-color: #444;
	color: white;
	font-size: 1.8rem;
	height: 45px;
	padding: 0px 30px;
	float: right;
}

.numbertext {
	font-size: 1.8rem;
	font-family: Quicksand, sans-serif, Courier, 'Courier New', monospace;
	font-weight: 600;
	text-align: center;
	color: whitesmoke;
	background-color: brown;
	width: 20%;
	height: 45px;
	padding: 5px 0px;
	position: absolute;
	bottom: 0;
	right: 0;
}

.dots {
	height: 45px;
	position: absolute;
	bottom: 0px;
	width: 80%;
	background-color: rgba(246, 200, 140, 1);
	text-align: center;
}

.dot {
	cursor: pointer;
	height: 15px;
	width: 15px;
	margin: 15px 10px;
	background-color: white;
	border-radius: 50%;
	display: inline-block;
	transition: all 0.2s ease;
}

.dot:hover,
.target {
	background-color: rgba(107, 182, 255, 0.8);
}


/* 2024/11追加 往診クリニック選定チェックボックス */

#st_contents_container {
	padding: 0 0 1px 5px;
	max-width: 1600px;
	background-color: white;
}

#st_contents_container .fa-hand-point-right {
	color: forestgreen;
}

.front_header_title {
	background-color: #efb361;
	color: white;
	padding-left: 5px;
	margin-left: 5px;
	font-weight: 600;
}

.iryo_teikyo {
	margin: 30px 0 0;
}

.front_container .iryo_teikyo span {
	color: green;
	font-weight: 600;
}

.check_box {
	margin: 0 5px 0 0;
}

.each_question {
	display: flex;
	flex-direction: row;
	margin: 20px 0;
	align-items: center;
}

.each_question:first-child {
	margin: 10px 0;
}

.check_img {
	height: 30px;
}

.ch_question {
	padding: 0 0 0 10px;
}

/* 枠線囲み*/

.lineTrigger {
	box-sizing: border-box;
	position: relative;
	/* 枠線が書かれる基点*/
	opacity: 0;
}

.lineTrigger.lineanime {
	animation-name: lineAnimeBase;
	animation-duration: 1s;
	animation-fill-mode: forwards;
}

@keyframes lineAnimeBase {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/*上下線*/
.lineTrigger::before,
.lineTrigger::after {
	position: absolute;
	content: '';
	width: 0;
	height: 1px;
	background: #333;
}

/*左右線*/
.line2::before,
.line2::after {
	position: absolute;
	content: '';
	width: 1px;
	height: 0;
	background: #333;
}

/*上線 の起点*/
.lineTrigger::before {
	top: 0;
	left: 0;
}

.lineTrigger.lineanime::before {
	animation: lineAnime .5s linear 0s forwards;
	/*表示されて0秒後に上線が0.5秒かけて表示*/
}

/*右線*/
.line2::before {
	top: 0;
	right: 0;
}

.lineTrigger.lineanime .line2::before {
	animation: lineAnime2 .5s linear .5s forwards;
}

/*下線*/
.lineTrigger::after {
	bottom: 0;
	right: 0;
}

.lineTrigger.lineanime::after {
	animation: lineAnime .5s linear 1s forwards;
}

/*左線*/
.line2::after {
	bottom: 0;
	left: 0;
}

.lineTrigger.lineanime .line2::after {
	animation: lineAnime2 .5s linear 1.5s forwards;
}

@keyframes lineAnime {
	0% {
		width: 0%;
	}

	100% {
		width: 100%;
	}
}

@keyframes lineAnime2 {
	0% {
		height: 0%;
	}

	100% {
		height: 100%;
	}
}

/*枠線内側の要素*/

.lineTrigger.lineanime .lineinappear {
	animation: lineInnerAnime .5s linear 1.5s forwards;
	opacity: 0;
	/*初期値を透過0にする*/
}

@keyframes lineInnerAnime {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.qa_link:hover {
	background: none;
}

.yokuaru_link {
	display: inline-block;
	padding: 10px 10px 10px 10px;
	margin: 1px 5px 40px 5px;
}

.yokuaru_link:hover {
	transition: all .3s;
	background-color: #efb3612b;
	border: 2px solid #efb361;
}

.yokuaru_link:hover .line2:before {
	background-color: #efb361;
	height: 0;
}

.yokuaru_link:hover .line2:after {
	background-color: #efb361;
	height: 0;
}

.yokuaru_link.lineTrigger:hover::before,
.yokuaru_link.lineTrigger:hover::after {
	background-color: #efb361;
}

.lineinappear {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.lineinappear a:hover {
	background-color: transparent;
}

.qa_logo {
	height: 30px;
	max-width: none;
	padding: 0 5px 0 0;
}

/* 2025/1追加 往診までの流れ */

#soudan_flow {
	padding: 0 0 1px 5px;
}

.soudan_flow_wrapper {
	margin: 30px 0;
}

#soudan_flow figure {
	padding: 1px;
	margin-bottom: 30px;
	max-width: 600px;
}

#soudan_flow .flow_catch {
	font-size: 20px;
	font-weight: 600;
	color: green;
	padding: 10px 0;
	border-bottom: 2px solid #05c505;
	border-top: 2px solid #05c505;
	background: lightyellow;
	max-width: 768px;
}

#soudan_flow .soudan_flow_illust {
	margin: 20px 0 -70px;
	border-radius: 50%;
	box-shadow: -1px 0px 5px #f4c688;
}

.flow_description {
	background: rgb(255, 250, 245);
	padding: 10px 5px 10px 4px;
	line-height: 2em;
	border-radius: 10px;
	box-shadow: 5px 5px 8px #f4c688;
	border: 2px solid green;
	position: relative;
	display: inline-block;
	max-width: 600px;
	width: 100%
}

.flow_description::before {
	content: '';
	position: absolute;
	top: -48px;
	left: 88px;
	margin-left: -15px;
	border: 25px solid transparent;
	border-bottom: 24px solid rgb(255, 250, 245);
	z-index: 2;
}

.flow_description::after {
	content: '';
	position: absolute;
	top: -50px;
	left: 90px;
	margin-left: -17px;
	border: 25px solid transparent;
	border-bottom: 23px solid green;
	z-index: 1;
}

.flow_description_right {
	background: rgb(255, 250, 245);
	padding: 10px 5px 10px 4px;
	line-height: 2em;
	border-radius: 10px;
	box-shadow: 5px 5px 8px #f4c688;
	border: 2px solid green;
	position: relative;
	display: inline-block;
	max-width: 600px;
}

.flow_description_right::before {
	content: '';
	position: absolute;
	top: -48px;
	right: 90px;
	margin-left: -15px;
	border: 25px solid transparent;
	border-bottom: 24px solid rgb(255, 250, 245);
	z-index: 2;
}

.flow_description_right::after {
	content: '';
	position: absolute;
	top: -50px;
	right: 90px;
	margin-left: -17px;
	border: 25px solid transparent;
	border-bottom: 23px solid green;
	z-index: 1;
}

.flow_description .tel_no {
	font-size: 24px;
	color: green;
	font-weight: 600;
}

.tel_line_in_description>div {
	display: inline;
}

.arrow_wrap {
	text-align: center;
	max-width: 600px;
}

.maru_wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 100%;
	width: 100%;
}

.maru {
	height: 30px;
	width: 30px;
	border-radius: 50%;
	line-height: 20px;
	text-align: left;
	background: green;
	font-size: 20px;
	position: relative;
}

.maru span {
	position: absolute;
	left: 9px;
	top: 4px;
	color: white;
}

.style_description::before {
	content: '';
	position: absolute;
	top: -48px;
	left: 88px;
	margin-left: -15px;
	border: 25px solid transparent;
	border-bottom: 24px solid rgb(255, 250, 245);
	z-index: 2;
}

#houmon_style figure img {
	margin: 20px 0 20px;
	border-radius: 50%;
	box-shadow: 5px 5px 8px #f4c688;
}

.merit_wrapper figure img {
	margin: 20px 0 -70px
}

/* フロントページ 動画 */

.video_inner {
	margin: 20px 5px;
}

.front_vimeo_wrapper {
	flex-grow: 1;
	margin: 10px 0;
	border-radius: 10px 10px 0px;
}

.front_vimeo_area {
	position: relative;
	border-radius: 5px;
	box-shadow: 2px 3px 5px var(--bf);
	margin: 0px 0px 26px 0px;
	min-width: 350px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border: 1px solid rgba(255, 255, 255, .12)
}

.front_vimeo_area iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	transition: transform 0.3s ease;
	transform-origin: center;
	/* 拡大基準を中央に */
}

.front_vimeo_area:hover iframe {
	transform: scale(1.1) translateY(-11px) translateX(-1px);
}

/* フロントページ 動画 往診医の紹介*/

:root {
	--bf: #222;
	--ac: #f6c88c;
	--wh: white;
	--sg: seagreen;
}

#doctor-video {
	background: white;
}

.doctor-video-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: start;
	padding: 30px 5px;
}

.video-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-width: 768px;
	border-radius: 5px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .12);
	box-shadow: 2px 3px 5px var(--bf);
}

.video-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: transform 0.3s ease;
}

.video-embed:hover iframe {
	transform: scale(1.1) translateY(-11px) translateX(-1px);
}

.doctor-video_text {
	padding: 5px 0 0 0;
}

.doctor-video_lead {
	margin: 0 0 15px;
	line-height: 1.7;
	border-left: 10px solid var(--sg);
	padding-left: 15px;
}

.doctor-video_title {
	margin: 0 0 14px;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: .03em;
}

.doctor-video_title::after {
	content: "";
	display: block;
	width: 160px;
	height: 7px;
	margin-top: 10px;
	border-radius: 999px;
	background: linear-gradient(90deg, #efb361, transparent);
}

.chapters {
	display: grid;
	gap: 12px;
}

.chapter {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 12px;
	padding: 10px 10px 10px 5px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 14px;
	background: rgb(255, 250, 245);
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
	cursor: pointer;
}

.chapter:hover {
	transform: translateY(1px);
	border-color: #efb361;
	background: rgba(255, 255, 255, .11);
}

.chapter_time {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 34px;
	border-radius: 999px;
	border: 1px solid white;
	color: white;
	font-weight: 700;
	background: #efb361;
}

.chapter_name {
	margin: 0;
	line-height: 1.3;
	letter-spacing: .02em;
}

.chapter_role {
	margin-left: 8px;
	padding: 2px 8px;
}

.chapter_spec {
	margin: 6px 0 0;
	line-height: 1.6;
}

.chapter_spec span {
	color: #222;
	font-weight: 700;
}

.chapter_quote {
	margin: 10px 0 0;
	padding: 8px 10px;
	border-left: 5px solid rgb(239, 179, 97);
	background: #fff2df;
	border-radius: 10px;
	line-height: 1.7;
}

/* アニメーション */
.hvr-icon-forward {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
	padding-right: 2em;
	-webkit-transition-duration: 0.1s;
	transition-duration: 0.1s;
}

.hvr-icon-forward:before {
	content: "\f105";
	position: absolute;
	right: 10px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-transition-duration: 0.1s;
	transition-duration: 0.1s;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

.hvr-icon-forward:hover:before,
.hvr-icon-forward:focus:before,
.hvr-icon-forward:active:before {
	-webkit-transform: tranlateX(4px);
	transform: translateX(4px);
}

#latest_news .hvr-icon-forward {
	width: 150px;
	padding: 5px 35px 5px 10px;
	border-left: 10px solid #efb361;
	color: #222;
}

#latest_news .hvr-icon-forward:hover,
#latest_news .hvr-icon-forward:focus,
#latest_news .hvr-icon-forward:active {
	color: white;
}

#latest_news .hvr-icon-forward:hover:before,
#latest_news .hvr-icon-forward:focus:before,
#latest_news .hvr-icon-forward:active:before {
	color: white;
}

/* frontpage 新着News、News一覧 */

#latest_news .news_date,
#latest_news news_title {
	text-decoration: none;
	color: #222;
	font-weight: 500;
	padding: 5px 0;
}

/* 2025/11/12 診療所の取り組みの記事固定のために旧お知らせNEWSスタイルへ巻き戻し */

.news_title {
	font-weight: 600;
	font-size: 18px;
	color: #222;
}

/* 2025/11/12 新フォームのNEWSスタイルをコメントアウト */

/* .news_title {
	font-size: 16px;
	padding: 5px 0;
	color: #222;
} */

.ln_news_contents_container {
	padding: 0 0 1px 0;
	width: 100%;
	max-width: 1600px;
	margin: 0 24px 0 0;
}

.news_list {
	text-align: end;
	padding: 10px 5px 10px;
}

.news_item {
	display: flex;
	flex-direction: column;
	padding: 10px 5px 10px 5px;
	margin: 10px 0;
	border-top: 1px solid rgb(190, 181, 160);
}

#latest_news dl {
	border-bottom: 1px solid rgb(190, 181, 160);
}

.news_header {
	display: flex;
	gap: 40px;
	margin: 5px 0;
}

.news_category {
	color: white;
	padding: 5px 20px;
	background: #48b73b;
}

.news_category.news,
.news_category.stayori {
	background: #48bf7b;
}

.news_category.media,
.news_category.seminar {
	background: #6ad16a;
}

.news_category.activity,
.news_category.improvement {
	background: #9ec921;
}

.news_category.system,
.news_category.health-column {
	background: #42c1c1;
}

#latest_news .news_item:hover {
	background: white;
	border-bottom: 1px solid rgb(190, 181, 160);
	box-shadow: -1px 1px 1px grey;
	transition: all .5s;
}

.news_inner {
	margin: 0 5px 30px 5px;
}

/* ↑　News一覧はここまで　↑ */

.news_description .front_vimeo_area {
	position: relative;
	border-radius: 5px;
	box-shadow: 5px 5px 5px #222;
	margin: 0px 0px 26px 0px;
	min-width: 350px;
}

.news_catchphrase {
	color: #222;
	padding: 10px 5px 10px 0;
	background: white;
	margin: 0 0 10px;
	border-radius: 10px;
}

.image-gallery {
	gap: 10px;
	max-width: 1140px;
}

.each_news_img {
	margin: 10px 0;
	border: 1px solid #222;
	width: 100%;
	max-width: 400px;
	height: auto;
}

.attached-file {
	gap: 10px;
}

.each_news_file {
	margin: 10px 0;
	border: 1px solid #222;
	height: auto;
	width: 100%;
	max-width: 400px;
}

.single_news_inner .img_box {
	overflow: hidden;
}

.single_area img {
	transition: .3s ease-in-out;
}

.single_area .each_news_img:hover {
	transform: scale(1.02);
}

/* 2025/5/30 sideinfo_area update*/

section.sideinfo_area,
section.lower_space {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
}

/* 2022/12/15 update */

.side-title {
	background-color: white;
	text-align: center;
	font-weight: 600;
	margin-top: 0px;
}

.side-desc {
	padding: 10px 0;
}

.sideinfo_area a:link,
a:visited {
	color: #222;
}

/* 2022/12/15 update */

section.lower_space a:link,
a:visited {
	color: #222;
}

/* 2025/4/25 update*/

table.gairai_time {
	border-collapse: collapse;
	margin: 10px 5px 10px 0px;
	width: 100%;
}

table.gairai_time td:first-child {
	background-color: lightgreen;
}

table.gairai_time th {
	border-bottom: 3px solid white;
	padding: 10px;
}

table.gairai_time td {
	border-bottom: 3px solid white;
	padding: 10px;
}

table.gairai_time th:first-child {
	background-color: lightgreen;
}

.gairai_phone_num {
	font-weight: 600;
	padding: 0 5px;
	color: coral;
	margin-bottom: 10px;
}

.gairai_phone_num:hover {
	color: white;
	background-color: #f4c688;
}

a.gairai_access {
	font-weight: 600;
	margin-left: 10px;
}

.gairai_tel_access {
	display: flex;
	flex-direction: column;
}

.gairai_tel_access .gairai_access:hover {
	color: white;
	background-color: #f4c688;
}

#FrontContentsCover .tayori,
#FrontContentsCover .torikumi,
#FrontContentsCover .support_policy,
#FrontContentsCover .outpatient_control,
#FrontContentsCover .medeical_info_sharing {
	border: 2px solid white;
	box-shadow: -1px -1px #ccc;
	max-width: 600px;
}

.tayori {
	padding: 3px 3px 20px 3px;
	margin: 0 5px 30px 5px;
}

.torikumi {
	padding: 3px 3px 45px 3px;
	margin: 0 5px 0px 5px;
}

.support_policy {
	padding: 3px 3px 20px 3px;
	margin: 30px 5px 25px 5px;
}

.outpatient_control {
	padding: 3px 3px 20px 3px;
	margin: 0px 5px 0px 5px;
}

.medeical_info_sharing {
	padding: 3px 3px 20px 3px;
	margin: 30px 5px 25px 5px;
}

/* 2022/12/15 update */

.tayori:hover,
.torikumi:hover,
.support_policy:hover,
.outpatient_control:hover,
.medeical_info_sharing:hover {
	background-color: white;
	transition: all 0.3s;
}

/* 2022/12/15 update */

.tayori a:hover,
.torikumi a:hover {
	background-color: white;
}

/* page */

.page_pict {
	margin-left: 3%;
}

img.normal_pict {
	width: 160px;
	height: auto;
}

/* index.php */
#index-page-container {
	display: block !important;
	width: 90%;
	margin: 0 auto;
	padding: 180px 6px 1px 6px;
	margin-bottom: 100px;
	flex-grow: 1;
}

#index-page-container h2.side-title {
	font-size: 1.8rem;
	font-weight: bold;
	color: #222;
}

#index-page-container p {
	font-size: 1.2rem;
}

/* アクセス */
.col2 {
	display: flex;
	flex-direction: column;
}

.access-table {
	width: 100%;
	min-width: 330px;
	max-width: 500px;
	border-collapse: collapse;
}

.col2 th {
	clear: both;
	float: left;
	font-weight: 600;
	display: block;
	width: 100%;
	background-color: white;
}

.col2 td {
	float: left;
	width: 100%;
}

#access .col2 th,
.col2 td {
	border: 1px solid orange;
	padding: 10px 10px 20px 10px;
}

td.building {
	display: flex;
	flex-direction: column;
}

.photo_wrap_200_200 {
	height: 220px;
	width: 220px;
}

#access .photo_wrap_200_200.photo_right_lr {
	margin: 0 30px 30px 0;
}

.access_map {
	border: 1px solid orange;
	box-shadow: 5px 5px darkgoldenrod;
}

/* トピックス */
#topics .news_title {
	margin-bottom: 10px;
}

#topics .news_description {
	margin-bottom: 10px;
}

#topics a:link,
#topics a:visited {
	color: coral;
}

#topics a:hover {
	background: #f4c688;
	color: white;
	transition: all 0.3s;
}

/* News一覧　旧：トピックス */

.news_list_Container {
	padding: 60px 10px 0 8px;
	padding-bottom: 80px;
	min-height: 100vh;
	background: linear-gradient(90deg, #fff, #f6c88c);
}

.news_search {
	margin: 30px 5px 30px 0;
}

.year_select {
	height: 40px;
	width: 200px;
	padding: 0 0 0 3px;
}

#news_list_area {
	max-width: 1600px;
}

#news_list_area .news_date,
#news_list_area news_title {
	text-decoration: none;
	color: #222;
	font-weight: 500;
	padding: 5px 0;
}

#news_list_area dl {
	border-bottom: 1px solid rgb(190, 181, 160);
}

#news_list_area .news_item:hover {
	background: white;
	border-bottom: 1px solid rgb(190, 181, 160);
	box-shadow: -1px 1px 1px grey;
	transition: all .5s;
}

/* Pagenation */

.wp-pagenavi {
	margin-top: 80px;
	text-align: end;
	font-size: larger;
}

.wp-pagenavi a,
.wp-pagenavi span {
	margin: 2px 4px !important;
	padding: 3px 3px !important;
	display: inline-block;
	border: 1px solid rgb(190, 181, 160);
	color: #888;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	width: 30px;
	line-height: 30px;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	color: #fff !important;
	background-color: #f5c280 !important;
	border: 1px solid #fcb900;
}

.wp-pagenavi span.pages {
	text-align: -webkit-center;
	font-size: 20px;
	width: 80px;
	line-height: 30px;
	display: inline-block;
	padding: 3px 0;
	margin-right: 30px !important;
}

/* 取組み*/
.torikumi_wrapper {
	width: 100%;
	max-width: 1050px;
}

#torikumi_page .year_month {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 10px;
	border-bottom: 2px solid #444;
}

#torikumi_page .title {
	background-color: white;
	border-radius: 5px;
	border-left: 4px solid seagreen;
	color: seagreen;
	padding: 5px;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 10px;
	min-width: 330px;
	max-width: 500px;
}

#torikumi_page .description {
	background-color: white;
	border-radius: 5px;
	border-left: 4px solid#fcb900;
	padding: 10px 10px 10px 5px;
	margin-bottom: 25px;
}

/* 学術活動 */
.photo1_2 {
	display: flex;
	flex-direction: column;
}

.photo_wrap_150_150 {
	height: 150px;
	width: 150px;
}

.photo1_2_nm {
	display: flex;
	flex-direction: column;
}

#academic_activity .photo1_2 .photo_right_lr {
	margin: 0 30px 40px 0;
}

#academic_activity .photo1_2_nm .photo_right_lr {
	margin: 0 30px 20px 0;
}

#academic_activity a:visited {
	color: coral;
}

#academic_activity a:hover {
	color: white;
}

/* 学術活動 update*/

#academic_activity .news_title,
#academic_activity .news_description {
	margin-bottom: 10px;
}

.box {
	display: flex;
	flex-direction: column;
	margin: 0 20px 20px 0;
	justify-content: space-between;
	background-color: white;
	padding: 10px;
	box-shadow: 1px 1px 3px 1px orange inset;
	width: 280px;
}

.box>.headline {
	padding: 0px 0px 5px;
}

.column_p_fit {
	object-fit: cover;
	object-position: top;
	width: 100%;
	height: 100%;
}

img.topic0522a {
	width: 150px;
}

.academic_news_title {
	border-top: 1px solid #beb5a0;
	font-weight: bold;
}

.academic_news_title dl {
	display: flex;
	flex-direction: column;
	padding: 0px;
	border-bottom: 1px solid #beb5a0;
}

.academic_news>dt.news_time {
	color: green;
	padding: 10px 0px 0px;
}

.academic_news dd {
	padding: 0px 0px 10px 0px;
	color: #222;
}

.academic_news_description {
	font-weight: 500;
	margin: 10px 0;
}

.box img:hover {
	opacity: 1;
	animation: flash 1.5s;
}

@keyframes flash {
	0% {
		opacity: .4;
	}

	100% {
		opacity: 1;
	}
}

.academic_news_title a:hover {
	color: white;
}

.normal_btn {
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1rem;
	padding: 5px 15px 5px 0px;
	margin: 5px 5px 5px 55px;
	box-shadow: 10px 10px 10px rgba(246, 200, 140, 0.8);
	background-color: white;
}

.normal_btn a:link,
.normal_btn a:visited {
	color: #222;
}

.normal_btn:hover {
	background-color: rgba(246, 200, 140, 0.8);
}

.normal_btn a:hover {
	color: white;
	box-shadow: none;
}

.normal_btn:active {
	top: 5px;
	position: relative;
}

/* 2025/3 医学生・研修生の受け入れ実績 セクションの追加 */

.trainee_acceptance {
	margin: 0 0 40px;
	max-width: 570px;
}

/* 社会貢献活動 */
.article img {
	margin: 20px 20px 0px 0px;
}

/* 健康コラム */

div.post {
	max-width: 500px;
}

.latest_ac_title {
	border-left: 10px solid orange;
	padding: 5px 0px 5px 5px;
	background: white;
	border-radius: 3px;
	width: 200px;
	margin-top: 20px;
	font-weight: 600;
}

.backnumber_ac_title {
	border-left: 10px solid orange;
	padding: 5px 0px 5px 5px;
	background: white;
	border-radius: 3px;
	width: 200px;
	margin-top: 40px;
	font-weight: 600;
}

.latest_article {
	font-weight: 600;
	margin-top: 15px;
	display: flex;
	flex-direction: row;
	padding: 5px 10px 5px 5px;
	border-radius: 3px;
	background: white;
	border-left: 10px solid green;
}

.ac_article {
	font-weight: 600;
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	padding: 5px 10px 5px 5px;
	border-radius: 3px;
	background: white;
	border-left: 10px solid rgb(0 128 0 / 52%);
}

.latest_column_title {
	margin-left: 10px;
}

a.latest_article {
	color: #222;
}

a.ac_article {
	color: #222;
}

a.latest_article:hover,
a.ac_article:hover {
	background-color: white;
}

.ac_article,
.latest_article {
	position: relative;
	z-index: 1;
}

.ac_article:after,
.latest_article:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 0%;
	height: 1px;
	background: orange;
	z-index: -1;
	transition: all 0.4s;
}

.post:hover .ac_article:after {
	width: 100%;
}

.post:hover .latest_article:after {
	width: 100%;
}

.column_block {
	display: flex;
}

.column_thumb {
	display: flex;
	justify-content: space-around;
	padding: 10px;
}

.column_thumb img {
	border: 1px solid black;
}

/* リンク */

section.linkbox {
	display: flex;
	flex-direction: column;
	align-items: center;

}

.linkbox>.link_item {
	width: 250px;
	height: 250px;
	padding: 10px;
	background-color: white;
	text-align: center;
	display: flex;
	box-shadow: 10px 10px 8px -10px rgb(0 0 0 / 80%) inset;
}

.linkbox>.link_item:hover {
	transition: all 0.3s;
	transform: scale(1.1);
}

.link_item>a:hover {
	background-color: white;
}

#links .link p:visited,
#links .link p:link,
#links p.link {
	color: #222;
	font-size: 16px;
	margin: 5px;
}

.ishikai_link {
	padding: 30px 0;
}

.ishikai_youtube {
	padding: 5px 0;
}

/* 問合せ */
#toiawase table {
	border-collapse: collapse;
	min-width: 330px;
	max-width: 500px;
	margin: 20px 0px;
	background-color: white;
}

#toiawase th {
	font-weight: bold;
	padding: 10px 0px;
	border-bottom: solid 2px orange;
	width: 40%;
}

#toiawase td {
	font-weight: bold;
	padding: 10px 0px;
	border-bottom: solid 2px orange;
	width: 60%;
}

/* 保険会社の方へ */
.yuso-area {
	background-color: white;
	border-radius: 10px;
	border: 1px solid orange;
	padding: 10px;
	margin: 10px;
	min-width: 300px;
	max-width: 400px;
}


/* Single.php */

.single_area {
	margin-top: 40px;
}

.single_news_header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 5px 0;
}

.single_news_title {
	padding-left: 20px;
	border-left: 10px solid #1ea839;
	border-radius: 3px;
	margin-bottom: 40px;
}

.single_news_catchphrase {
	padding: 10px 5px 10px 5px;
	background: lightyellow;
	margin: 30px 0 10px;
	border-radius: 10px;
}

.single_content {
	padding: 10px 5px 10px 5px;
	background: white;
	margin: 30px 0 20px;
	border-radius: 10px;
	border: 1px solid #ddd;
}

.single_area .image-gallery {
	margin-bottom: 10px;
}

.single_area .each_news_img {
	margin: 10px 0 10px;
	border: 1px solid #222;
	height: auto;
	width: 400px;
}

.side-block {
	background-color: white;
	border-radius: 10px;
	border: 1px solid #ddd;
	width: 100%;
}

.single_news_inner {
	border-radius: 5px;
	margin: 10px 0 30px;
}
/* 2026年2月 整理時にTest Server cssに含まれていない項目 */
/* 
.single_inner {
	width: 1200px;
}

.main_area_single {
	width: 800px;
	float: left;
	margin-right: 30px;
	margin-top: 50px;
}

.sidebar_area_single {
	width: 500px;
	float: left;
}

.side-block {
	background-color: white;
	border-radius: 10px;
	padding: 10px;
	border: 1px solid orange;
	border-right: 4px solid #fcb900;
	border-bottom: 4px solid #fcb900;
	margin-bottom: 30px;
}

.single_news {
	flex: auto;
	margin-right: 50px;
	margin-bottom: 80px;
}

.single_article_title time {
	font-size: 1.8rem;
	font-style: italic;
	font-weight: bold;
}

.single_news_time {
	display: block;
	text-align: right;
}

.single_news_description {
	background-color: white;
	border-radius: 10px;
	padding: 20px;
	margin-top: 20px;
	border-right: 4px solid #fcb900;
	border-bottom: 4px solid #fcb900;
	box-shadow: 0px 0px 1px 1px orange inset;
} */

.single_news_description a {
	display: block;
	text-decoration: none;
	margin: 10px;
}

/* loop-category */
.section.category_list {
	margin: 20px 0px 40px 0px;
}

.main_area_single li {
	list-style: none;
}
/* 2026年2月 整理時にTest Server cssを優先した調整項目 */
/* .entry-label {
	font-size: 130%;
	padding: 5px 10px;
	border-radius: 3px;
	color: darkslategray;
	font-weight: bold;
	border: 2px solid lightsalmon;
	background-color: white;
}

.postLinks {
	margin-top: 30px;
	margin-right: 50px;
	border-top: 1px solid #666;
}

.postLink {
	font-size: 100%;
}

.postLink a {
	text-decoration: none;
	padding: 5px;
	border-radius: 5px;
}

.postLink i:hover {
	background-color: #ff6900;
}

.prev_title,
.next_title {
	background-color: white;
	font-size: 120%;
	border-radius: 2px;
	display: inline;
}

div.prev_title:hover,
.next_title:hover {
	background-color: #f4c688;
}

.postLink a:hover {
	background: none;
	color: white;
	transition: all 0.3s;
}

.postLink i {
	background-color: lightsalmon;
	color: white;
	padding: 0 15px;
	margin: 5px;
	height: 40px;
	font-size: 200%;
	font-weight: bold;
	line-height: 35px;
} */

.postLinks {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 20px 0;
	padding: 10px 0 0;
}


.postLinks a {
	text-decoration: none;
	display: inline-block;
	border-radius: 5px;
	transition: background-color .3s;
}

.postLinks a:hover {
	background: none;
}

.prev_title,
.next_title {
	background-color: white;
	display: inline;
	padding: 9px 11px 9px 5px;
	color: #222;
}

.prev_title:hover,
.next_title:hover {
	background: #ffd7a2;
	transition: all .3s;
}

.postLinks i {
	background-color: #efb361;
	color: white;
	padding: 3px 3px 0;
	height: 40px;
	font-size: x-large;
	font-weight: bold;
	line-height: 35px;
}

.prev_post,
.next_post {
	display: flex;
	align-items: center;
	box-shadow: 10px 10px 20px rgb(0 0 0 / 10%);
}

.prev_post {
	margin-bottom: 20px;
}

.next_post_cover {
	margin-left: auto;
}

.prev_post:hover,
.next_post:hover {
	box-shadow: 2px 2px 8px rgb(0 0 0 / 15%);
	border-radius: 5px;
	transition: .2s ease;
}

.postLink-prev {
	float: left;
}

.postLink-next {
	float: right;
}

/* sidebar-latests 最新ニュース*/

.side-block .news_item {
	border-top: none;
	margin: 10px 0 20px;
}

.side-block .single_news_title {
	border: none;
}

.side-block .news_item {
	padding: 0;
}

.side-block .news_area {
	padding: 0 0 0 20px;
	border-left: 10px solid #1ea839;
	border-radius: 3px;
}

.side-block .side-title {
	margin: 5px auto;
	padding-bottom: 25px;
	padding-left: 31px;
	text-align: justify;
}

.side-block .side-title span {
	font-size: large;
	position: relative;
	font-weight: bold;
	color: #222;
}

.side-block .side-title span::before {
	content: "";
	position: absolute;
	background: #efb361;
	height: 0.4rem;
	width: 50px;
	left: 14px;
	bottom: -14px;
}

.side_news_time {
	color: #009865;
	margin: 5px 5px 5px 0;
	font-family: Arial, 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, Meiryo, sans-serif;
}

.side-block .news_category {
	color: white;
	padding: 4px 20px;
}

.side-block .single_news_title {
	color: #222;
	padding: 0;
	margin-bottom: 10px;
}

.side-block .news_item a:hover {
	background-color: #ffd7a2;
}

/* 2026年2月 整理時にTest Server cssを優先した調整項目 */
/* h2.side-title {
	margin: 0px 0px 5px 5px;
}

.single_news_title {
	font-size: 1.1rem;
	margin-bottom: 10px;
}

.side_news_time {
	color: #009865;
	margin: 10px 10px 10px 5px;
	font-family: Arial, 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, Meiryo, sans-serif;
}

.single_titletxt {
	color: #222;
	display: inline;
}

.single_titletxt:hover {
	color: white !important;
}

.single_titletxt li>a:hover {
	color: white;
}

ul.archive-list>.single_titletxt li {
	display: inline;
	margin: 0px 8px;
}

.single_titletxt li a {
	color: #222;
	font-size: 1.1rem;
} */

/* topic */

#footer {
	position: fixed;
	bottom: 0;
	height: 2rem;
	width: 100%;
	background-image: linear-gradient(to right, #ff8177 0%, #ff867a 25%, #ff8c7f 50%, #f99185 100%);
	z-index: 100;
}

#footer p {
	font-size: calc(8px + 1vw);
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	line-height: 2rem;
	color: white;
	text-align: center;
}

/*当院案内*/

.pic_area {
	display: flex;
	flex-direction: column;
}

.about_cl_pic {
	width: 250px;
}

#about_clinic .photo_right_lr {
	margin-bottom: 20px;
}

/* 4つの誓い */
#catch_phrase {
	width: 300px;
	padding: 0 50px 0 50px;
	margin: 20px 20px 30px 35px;
}

.col3 {
	display: flex;
	flex-direction: column;
	width: 80%;
	min-width: 330px;
	max-width: 600px;
}

.col3 li {
	width: 100%;
	padding: 1%;
	background-color: white;
	border-radius: 10px;
	border: 2px solid orange;
}

/* 平成医会医療連携 → 在宅医療連携についてへ名称変更 2023/3/16*/

#group_clinics .section_title {
	display: block;
	width: 100%;
}

#group_clinics section {
	max-width: 500px;
	min-width: 330px;
}

#group_clinics .career {
	width: 100%;
}

.clinic_name_title {
	font-weight: 600;
	background-color: white;
	padding: 5px;
	min-width: 210px;
	max-width: 400px;
	border-left: 10px solid#fcb900;
}

#group_clinics table {
	max-width: 500px;
	min-width: 330px;
	width: 63%;
	border-collapse: collapse;
	margin: 20px 0px 20px 0px;
}

#group_clinics th {
	font-size: 16px;
	font-weight: 600;
	padding: 10px 0px;
	border-bottom: solid 4px orange;
}

#group_clinics td {
	font-size: 16px;
	font-weight: 600;
	padding: 10px 0px 5px 10px;
	border-bottom: solid 3px white;
}

.reginal_hospital {
	display: block;
	margin: 0 0 10px 0;
	max-width: 400px;
}

/* 2023/3 */

#group_clinics .med_sup_hp {
	display: flex;
	align-items: center;
	font-size: 18px;
	padding: 5px 15px 5px 0px;
	color: #222;
	background: white;
	border-radius: 5px
}

/* 2023/3 */


.med_sup_hp img {
	width: 30px;
	height: 30px;
}

/* 2023/3 */

.med_sup_hp p {
	padding-left: 15px;
}

/* 2023/3 */

#group_clinics .mde_sup_hp:hover {
	color: white;
	background: #f4c688;
	transition: all 0.3s;
}

#group_clinics .green-white {
	display: block;
	width: 100%;
	background: green;
	color: white;
	padding: 5px 20px 5px 0px;
}

#group_clinics a:hover {
	color: white;
	background: #f4c688;
}

.dr_intro_area {
	display: flex;
	flex-direction: column;
	margin-bottom: 50px;
}

/* 医師・スタッフ一覧 2025/5リニューアル */

#full-time-dr-container {
	margin: 30px 0 0 0;
}

.full-time-dr-container,
.part-time-dr-container {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	margin: 30px 0 0;
	flex-wrap: wrap;
}

.parttime_dr_introduction {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	margin: 30px 0 20px;
	flex-wrap: wrap;
}

.dr_pict_container {
	position: relative;
	display: inline-block;
	border: 1px solid #000;
	margin: 0 20px 40px 0;
}

.dr-modal-pict-zoom-up .base-image {
	display: block;
	width: 100%;
	height: auto;
	transition: 0.3s;
}

.overlay-play-image {
	position: absolute;
	top: 304px;
	left: 233px;
	width: 33px;
	height: 33px;
	transition: filter .3s ease;
	z-index: 2;
	pointer-events: none;
}

.overlay-clinic-name {
	position: absolute;
	top: 322px;
	left: 24px;
	width: 240px;
	height: 29px;
	transition: all .3s ease;
}

.dr_pict_container:hover .overlay-image {
	filter: brightness(0.9);
}

.renewal-pict-zoom-up {
	width: 280px;
	overflow: hidden;
	margin: 0px 30px 40px 0px;
	border: 1px solid black;
}

.renewal-pict-zoom-up .base-image {
	width: calc(350 * 80%);
	transition: 0.3s;
}

.renewal-pict-zoom-up:hover .base-image {
	transform: scale(1.06);
}

.renewal-pict-zoom-up:hover .overlay-clinic-name {
	transform: scale(1.06) translateY(10px);
}

.renewal-pict-zoom-up .parttime_dr_comment_image {
	transition: 0.3s;
}

.renewal-pict-zoom-up:hover .parttime_dr_comment_image {
	transform: scale(1.06) translateY(10px) !important;
}

.dr_pict_container.renewal-pict-zoom-up {
	transition: transform 0.3s ease;
}

.parttime_dr_comment_image {
	position: absolute;
	top: 352px;
	left: 9px;
	width: 97%;
	transition: filter .3s ease;
	z-index: 1;
	pointer-events: none;
}

.zoomInTrigger {
	opacity: 0;
	transition: transform .3s ease;
}

.zoomIn {
	animation-name: zoomInAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
	from {
		transform: scale(0.6);
		opacity: 0;
	}

	to {
		transform: scale(1);
		opacity: 1;
	}
}

/* 医師・スタッフ紹介 Modal Part*/
.test-modal-comment-jpg {
	display: flex;
	flex-direction: column;
	display: none;
}

.dr-modal-pict-zoom-up {
	width: 350px;
	height: 100%;
	overflow: hidden;
	border: 1px solid black;
}

.modal {
	display: none;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.7);
	text-align: center;
}

.modal-image-wrapper {
	position: relative;
	display: inline-block;
}

.modal-image {
	display: block;
	margin: 5% auto;
	max-width: 80%;
	max-height: 80%;
	border-radius: 50px;
}

.modal-close,
.modal-prev,
.modal-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: white;
	font-size: 48px;
	font-weight: bold;
	cursor: pointer;
	user-select: none;
}

.modal-close {
	top: 20px;
	right: 5px;
	font-size: 40px;
	font-weight: normal;
}

.modal-prev {
	top: 216px;
	left: calc(50% - 211px);
	padding: 5px;
}

.modal-next {
	top: 216px;
	left: calc(50% + 177px);
	padding: 5px;
}

.modal-prev:hover,
.modal-next:hover,
.modal-close:hover {
	background-color: rgba(144, 238, 144, 0.8);
	transition: all 0.3s;
}

/* 平成医会医療連携 / スタッフ紹介*/

.name-plate {
	width: 100%;
	margin-right: 30px;
}

#stuff_introduction .stuff_comment {
	background-color: white;
	padding: 10px 5px 10px 10px;
	border-radius: 5px;
	min-width: 300px;
	max-width: 800px;

	box-shadow: 0px 2px 0px grey;
	border-left: 7px solid green;
	position: relative;
}

#stuff_introduction .green-white {
	display: block;
	width: 100%;
	background: green;
	color: white;
	padding: 5px 20px 5px 5px;
	max-width: 350px;
	font-size: 18px;
}

.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*院長紹介*/

#director_introduction {
	margin-top: -20px;
	max-width: 1360px;
}

#director_introduction .pict_zoom_up_container {
	width: 240px;
	height: auto;
	overflow: hidden;
	border: 1px solid #ddd;
	box-shadow: 5px 5px 5px lightgrey;
}

#director_introduction .photo_area {
	margin: 0 40px 30px 0;
}

.pict_zoom_up_container>img {
	transition: 0.5s;
}

.pict_zoom_up_container>img:hover {
	transform: scale(1.02);
}

#director_introduction .sign {
	margin: 50px 0 0;
}

#director_introduction .sign p {
	padding: 5px 0;
}

#director_introduction .director_carrier {
	background-color: white;
	border-radius: 5px;
	padding: 20px 5px 20px 0;
	margin: 30px 0;
}

.name_title {
	background-color: white;
	padding: 5px;
	min-width: 210px;
	max-width: 350px;
	border-top: 2px solid#fcb900;
	border-bottom: 2px solid#fcb900;
}

ul.disc {
	list-style-type: disc;
}

#director_introduction .post,
#director_introduction .current_position,
#director_introduction .qualification {
	padding: 0 0 30px;
	margin: 0 0 10px;
	border-bottom: 1px solid #ccc;
}

#director_introduction .qualification {
	padding: 0 0 25px;
	margin: 0 0 10px;
	border-bottom: none;
}

.stuff_description {
	margin: 0;
	padding: 0 0 20px;
}

.part-time-dr-container .stuff_description {
	padding: 0;
}

.hdlink a,
.clinic_link a {
	color: coral;
}

.hdlink a:hover,
.clinic_link a:hover {
	color: white;
}

/* 2025/5 厚生労働大臣の定める掲示事項 */

#n_notification section {
	margin: 0 0 40px 0;
}

.pageTitle,
.n_notification_flug {
	font-size: 22px;
	font-weight: bold;
	background: #efb361;
	color: white;
	padding: 5px 5px 5px 5px;
}

#n_notification h2 {
	font-size: 20px;
	padding: 5px 10px 5px 5px;
	background: #6cbc64;
	color: white;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

#n_notification .calculation_contents {
	padding: 15px 10px 15px 5px;
	background: #ffffff;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

#n_notification #enhancement_surcharge .calculation_contents {
	border-bottom-right-radius: 0px;
	border-bottom-left-radius: 0px;
}

#n_notification #uninsured_expenses .calculation_contents {
	padding: 15px 10px 30px 5px;
}

#n_notification caption {
	caption-side: top;
	text-align: left;
	padding: 5px 0;
	font-weight: bold;
	font-size: larger;
	background: #c4f5c4;
	margin: 10px 0;
	color: #222;
	max-width: 560px;
}

#n_notification table {
	margin: 10px 0;
	width: 100%;
}

/* #n_notification #uninsured_expenses tbody {
	width: 100%;
} */

#n_notification #uninsured_expenses tbody tr:nth-child(even) {
	background-color: #f6f6f6;
}

#n_notification #uninsured_expenses tr {
	display: grid;
	grid-template-columns: 260px 35px 1fr;
	place-items: baseline;
	max-width: 500px;
	padding: 10px 0;
}

#n_notification #uninsured_expenses .cal_price {
	justify-self: end;
}

#n_notification #enhancement_surcharge .fancy_list {
	list-style: none;
}

#n_notification #enhancement_surcharge .fancy_list li {
	position: relative;
	padding-left: 1em;
	margin: 10px 0;
}

#n_notification #enhancement_surcharge .fancy_list li:before {
	content: '';
	position: absolute;
	left: 1px;
	top: 0.55em;
	width: 0.6em;
	height: 0.6em;
	background-color: #111;
	border-radius: 50%;
}

#n_notification #enhancement_surcharge .requests_to_patients {
	background: #f6f6f6;
	padding: 10px 5px 10px 0;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

#n_notification .document_banner .banner_for_doc {
	width: 300px;
	border: 1px solid black;
}

#n_notification .document_banner {
	position: relative;
	display: inline-block;
	filter: brightness(0.96);
}

#n_notification .document_banner:hover {
	filter: brightness(1.02);
}

#n_notification .document_banner .thumb_hover {
	display: none;
	position: absolute;
	top: -310%;
	left: 0;
	width: 300px;
	z-index: 10;
	border: 1px solid black;
}

#n_notification .document_banner:hover .thumb_hover {
	display: block;
	color: transparent;
}

/* 学術活動 */
#study_group {
	margin-top: 40px;
}

/* 404/問合せ */
.coral {
	color: coral;
}

/* よくある問い合わせ */
.qa_wrapper {
	list-style: none;
	max-width: 900px;
}

.qa_navi {
	display: flex;
	flex-wrap: wrap;
	/* margin: 0 0 50px 0; */
	list-style: none;
}

.qa_navi li a {
	display: block;
	padding: 10px 5px 10px 5px;
	text-decoration: none;
	color: #555;
	font-weight: 700;
}

.qa_wrapper li {
	margin: 20px 0;
}

/* 2023/2 */

.qa_navi li a {
	position: relative;
}

.qa_navi li a:hover {
	color: white;
}

.qa_navi li a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 1px;
	width: 98%;
	height: 3px;
	background: coral;
	transition: all .3s;
	transform: scale(0, 1);
	transform-origin: left top;
}

.qa_navi li.current a::after {
	transform: scale(0.2, 1);
}

.qa_navi li.current a:hover::after,
.qa_navi li a:hover::after {
	transform: scale(1, 1);
}

.qa_category_title {
	font-weight: 600;
	color: darkgreen;
	border-bottom: dotted 5px green;
	padding-left: 4px;
	margin-top: 50px;
}

/* 2023/2 */

.qa_category_title:first-child {
	margin-top: 30px;
}

/* 2023/2 */

.question {
	position: relative;
	cursor: pointer;
	font-weight: bold;
	padding: 2% 1% 2% 25px;
	transition: all .5s ease;
	box-shadow: -1px 2px 7px grey;
	border-radius: 10px;
	margin: 20px 0;
	line-height: 28px;
}

/* 2023/2 */

.question:before {
	content: "Q";
	background: lightgreen;
	color: white;
	border-radius: 50%;
	font-size: 20px;
	padding: 2px 5px;
}

.question:after {
	content: "";
	position: absolute;
	left: 5px;
	top: 35%;
	transition: all 0.2s ease-in-out;
	display: block;
	width: 8px;
	height: 8px;
	border-top: solid 4px green;
	border-right: solid 4px green;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

.question.open:after {
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
	top: 32%;
	width: 12px;
	height: 8px;
	border-top: solid 4px green;
	border-right: none;
}

.question:hover {
	background-color: white;
	transition: all .5s;
	box-shadow: -2px 2px 3px grey;
}

.faq_box.answer {
	padding: 2% 1% 2% 25px;
	box-shadow: -1px 2px 7px grey;
	border-radius: 10px;
	background: white;
	line-height: 28px;
}

/* 2023/2 */

.answer span:before {
	content: "A";
	background: orange;
	color: white;
	border-radius: 50%;
	font-size: 20px;
	padding: 2px 6px;
	margin: 0 5px 0 0;
}

/* 450 */
@media (min-width: 450px) {

	.header_name.font-xl {
		font-size: 26px;
	}

	.slider-001 {
		width: 100%;
		max-width: 768px;
		height: 480px;
		position: relative;
		display: flex;
		overflow: hidden;
		border-radius: 10px;
		box-shadow: 5px 5px 5px #222;
	}

	.slide-content-001 img {
		width: 100%;
		height: 390px;
		object-fit: cover;
	}

	.prev-001,
	.next-001 {
		cursor: pointer;
		position: absolute;
		top: 61%;
		padding: 10px;
		margin-top: -28px;
		color: white;
		font-weight: 600;
		font-size: 5rem;
		transition: all 0.2s ease;
		user-select: none;
	}
	
	/* 医師・スタッフ紹介 */
	.modal-image {
		width: 400px;
	}

	.modal-close {
		top: 20px;
		right: -7px;
	}

    .modal-prev, .modal-next {
        top: 216px;
	}
}

/* 600 */

@media (min-width: 600px) {

	html {
		font-size: 16px;
	}

	.font-xs {
		font-size: 14px;
	}

	.font-sm {
		font-size: 15px;
	}

	.font-md {
		font-size: 16px;
	}

	.font-lr {
		font-size: 18px;
	}

	.font-lg {
		font-size: 22px;
	}

	.font-xl {
		font-size: 24px;
	}

	.mb-sm {
		margin-bottom: 14px;
	}

	.mb-mi {
		margin-bottom: 24px;
	}

	.mb-lr {
		margin-bottom: 34px;
	}

	.mb-xl {
		margin-bottom: 44px;
	}

	.phone-icon {
		font-size: 40px;
		margin-right: 10px;
	}

	/* header */
	.header-left {
		line-height: 34px;
	}

	.header_name {
		font-size: 33px;
	}

	.logo_img {
		height: 40px;
		width: 40px;
	}

	/* frontpage */

	#lp_catch {
		position: absolute;
		z-index: 2;
		top: 70%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		font-size: 6vw;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: #fff;
		writing-mode: unset;
		width: unset;
		height: unset;
		-webkit-text-stroke: 1px #000;
		text-shadow: 5px 5px 3px #ccc;
	}

	.fadeInDown {
		-webkit-animation-fill-mode: both;
		-ms-animation-fill-mode: both;
		animation-fill-mode: both;
		animation-delay: 1s;
		-webkit-animation-delay: 1s;
		-ms-animation-delay: 1s;
		-webkit-animation-duration: 4s;
		-ms-animation-duration: 4s;
		animation-duration: 4s;
		-webkit-animation-name: fadeInDown;
		animation-name: fadeInDown;
		visibility: visible !important;
	}

	@-webkit-keyframes fadeInDown {
		0% {
			opacity: 0;
			-webkit-transform: translateY(-70px);
		}

		100% {
			opacity: 1;
			-webkit-transform: translateY(-50px);
		}
	}

	@keyframes fadeInDown {
		0% {
			opacity: 0;
			-webkit-transform: translateY(-70px);
			-ms-transform: translateY(-70px);
			transform: translateY(-70px);
		}

		100% {
			opacity: 1;
			-webkit-transform: translateY(-50px);
			-ms-transform: translateY(-50px);
			transform: translateY(-50px);
		}
	}

	#splash_logo svg {
		width: 800px;
	}

	.slide-content-001 img {
		width: 100%;
		max-height: 390px;
		object-fit: cover;
		object-position: top;
	}

	.slide-caption-001.sl-font-ad1 {
		font-size: 1.8rem;
	}

	.slide-caption-001.sl-font-ad2 {
		font-size: 1.8rem;
	}

	.slide-caption-001 span {
		width: 200px;
	}

	.news_area .banner_container {
		max-width: 600px;
	}

	.photo_wrap {
		height: 250px;
		overflow: hidden;
		margin-bottom: 10px;
	}

	/* 2022/12/15 update */

	.photo_wrap>img {
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}

	.side_right_banner {
		flex-basis: 50%;
		display: flex;
		flex-direction: row;
	}

	/* 20241118 ランディングページUpdate */
	.tayori,
	.torikumi {
		max-height: 400px;
	}

	.front_vimeo_area {
		min-width: 600px;
	}

	/*当院案内*/

	.pic_area {
		flex-direction: row;
	}

	#about_clinic .photo_wrap {
		width: 250px;
		height: 160px;
		margin-bottom: 20px;
		overflow: unset;
	}

	.dr_conf_pic {
		margin-bottom: 20px;
	}
	
	/* 202502 Single New */
	#latest_news .hvr-icon-forward {
		width: 165px;
	}

	/* 在宅医療連携について */

	.dr_intro_area {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}

	#group_clinics th,
	#group_clinics td {
		font-size: 18px;
	}

	.green-white {
		padding: 5px 20px 5px 20px;
	}

	#group_clinics .career {
		width: auto;
	}

	/* 院長紹介 */
	#director_introduction .dr_intro_area {
		flex-direction: row;
		flex-wrap: nowrap;
		margin-bottom: 0;
	}

	#director_introduction .director_carrier {
		padding: 15px 5px 20px 0;
		margin: 10px 0;
	}

	/* 医療連携 スタッフ一覧*/

	.clinic_name_title {
		font-size: 18px;
		font-weight: 600;
	}

	#stuff_introduction .career {
		min-width: 300px;
		width: 100%
	}

	.name-plate {
		width: 350px;
	}

	/* 厚生労働大臣の定める掲示事項 */
	#n_notification #uninsured_expenses tr {
		grid-template-columns: 360px 35px 1fr;
		max-width: 560px;
	}

	/* 取組み */
	#torikumi_page .title {
		background-color: transparent;
	}

	/* 学術活動 */
	.photo1_2 {
		display: flex;
		flex-direction: row;
	}

	.photo1_2_nm {
		display: flex;
		flex-direction: row;
	}

	/* リンク */

	section.linkbox {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.linkbox .link_item:not(:last-child) {
		margin-right: 40px;
	}

	/* アクセス */
	#access td.building {
		flex-direction: row;
	}

	/* footer */

	#page_top {
		width: 150px;
		height: 150px;
		bottom: -40px;
	}

	#page_top a {
		display: block;
		width: 150px;
		height: 150px;
	}

	#page_top a::before {
		font-size: 40px;
		width: 40px;
		height: 40px;
		top: -140px;
	}

	#page_top a::after {
		font-size: 18px;
	}
}

/* 768 */
@media (min-width: 768px) {
	.mr-lr {
		margin-right: 60px;
	}

	.header_center {
		margin-left: 20px;
	}

	.phone_num {
		display: inline-block;
	}

	.photo2_wrapper {
		display: flex;
		flex-direction: row;
	}

	.photo2_wrapper .p_cover_320 {
		margin-right: 15px
	}

	/* front-page */

	.front_vimeo_area {
		padding: 0 0 0 0;
		height: 432px;
	}

	.image-gallery {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 20px;
	}

	.each_news_img {
		/* margin: 10px 0;
		border: 1px solid #222;
		width: 100%; */
		max-width: 350px;
	}

	.attached-file {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}

	.each_news_file {
		max-width: 350px;
	}

	/* .image-gallery {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		padding-bottom: 20px;
		max-width: 800px;
	} */

	section.sideinfo_area,
	section.lower_space {
		flex-direction: row;
		align-items: flex-start;
		padding-bottom: 20px;
	}

	section.lower_space {
		flex-wrap: wrap;
	}

	.banner_container {
		width: 365px;
		max-width: 400px;
	}

	.side_right_banner {
		flex-direction: column;
	}

	.tayori {
		margin: 0 5px 10px 5px;
	}

	.outpatient_control {
		margin-top: 30px;
	}

	.photo_wrap {
		height: 160px;
		overflow: hidden;
		margin-bottom: 10px;
	}

	.front_vimeo_area {
		margin: 0px 10px 26px 0px;
		max-width: 768px;
	}

	.front_vimeo_area iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 10px;
	}

	.yokuaru_link {
		width: 768px;
		padding: 20px 30px 20px 36px;
	}

	.qa_logo {
		height: 40px;
		padding: 0 10px 0 0;
	}

	/* 2022/12/15 update */

	/* 在宅医療連携について */

	#group_clinics .career {
		flex-grow: 1;
	}

	#group_clinics .dr_intro_area {
		max-width: 600px;
	}

	#group_clinics table {
		max-width: 500px;
	}

	/* 院長紹介 */

	#director_introduction .dr_intro_area {
		flex-direction: row;
	}

	#director_introduction .history {
		margin: 22px 0 0;
	}

	#director_introduction .sign {
		padding: 10px 0 10px 30px;
		margin: 25px 0 30px 0px;
		text-align: end;
	}

	#director_introduction .post,
	#director_introduction .current_position {
		padding: 0 0 40px;
	}

	#director_introduction .qualification {
		padding-bottom: 10px;
	}

	/* 医師・スタッフ紹介 */
	.full-time-dr-container {
		flex-direction: row;
	}

	#stuff_introduction .name_title>.font-lr {
		font-size: 22px;
	}

	#stuff_introduction .career>.font-lr {
		font-weight: 600;
	}
	
	#stuff_introduction .dr_pict_container {
		margin: 0px 55px 40px 0px;
	}

	/* academic_activity */
	.academic_container {
		display: flex;
		justify-content: space-start;
		flex-wrap: wrap;
	}
	
	/* 医師・スタッフ紹介 モーダル*/
	.modal-image {
		width: 500px;
	}

	.test-modal-comment-jpg {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.modal-close {
		right: -30px;
		font-size: 44px;
	}

	.modal-prev {
		left: calc(50% - 280px);
		top: 292px;
	}

	.modal-next {
		left: calc(50% + 250px);
		top: 292px;
	}

	.box {
		display: flex;
		flex-direction: column;
		margin-bottom: 20px;
		justify-content: space-between;
		background-color: white;
		padding: 10px;
		box-shadow: 1px 1px 3px 1px orange inset;
	}

	.article_container {
		width: 100%;
	}

	.academic_news_title dl {
		flex-direction: row;
	}

	.academic_news>dt.news_time {
		color: green;
		padding: 10px 0px 10px;
	}

	.academic_news dd {
		padding: 10px 0px 10px 10px;
	}

	/* よくある問い合わせ*/
	.qa_wrapper li {
		margin: 30px 0;
	}
	
	/* side-block latest 最新News */
	.side-block .news_area {
		display: grid;
		grid-template-columns: repeat(2, 1Fr);
		align-items: center;
	}

	/* single.page */

	.postLinks {
		margin: 10px 0 10px;
		padding: 40px 0 10px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 1090px;
	}

	.side-block .single_news_title {
		margin-bottom: 2px;
	}
}

/* 960 */

@media (min-width: 960px) {

	.uketsuke_upper,
	.uketsuke_lower {
		display: inline-block;
	}

	/* single.php */

	.prev_post {
		margin-bottom: 0px;
	}

	.postLinks {
		margin: 10px 0 10px;
		padding: 40px 0 0;
	}
}

@media (min-width: 1024px) {

	/* 往診までの流れ */

	.soudan_flow_wrapper {
		margin: 30px 0;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	#soudan_flow figure {
		max-width: none;
		padding: 1px 0 1px 4px;
	}

	.soudan_step {
		padding: 1px;
		margin: 0 1rem 70px 0;
		max-width: 480px;
	}

	.flow_description {
		display: block;
	}

	.flow_description_right {
		display: block;
	}

	.arrow_wrap {
		display: none;
	}

	/* 最新News */
	.side-block .side-title {
		text-align: left;
		padding-left: 31px;
		margin: 15px 5px;
	}

	/* side-block latest 最新News */
	.side-block .news_area {
		grid-template-columns: repeat(3, 1Fr);
	}
	
	/* 医師・スタッフ紹介 */

	#stuff_introduction .dr_pict_container {
		margin: 0px 120px 40px 0px;
	}

	/* 在宅医療連携について */
	#group_clinics section {
		max-width: none;
	}

	#group_clinics .section_title {
		display: inline-block;
		width: auto;
	}

	#group_clinics .green-white {
		display: inline-block;
		width: auto;
		padding: 5px 20px 5px 20px;
		box-shadow: 10px 10px 10px rgb(246 200 140 / 80%);
	}

	#group_clinics table {
		max-width: 590px;
	}
}

/* 1115 */
/* single.page */

@media (min-width: 1115px) {
	.single_content {
		max-width: 1090px;
	}

	.single_area_sidebar {
		float: left;
		border-radius: 10px;
		width: 100%;
		max-width: 1090px;
	}

	.single_news_catchphrase {
		max-width: 1090px;
	}

	/* News一覧　旧：トピックス */
	#news_list_area .news_item {
		display: grid;
		grid-template-columns: 1fr 2.5fr;
		place-items: baseline;
	}
}

/* 1280 */
@media (min-width: 1280px) {

	/* header */
	#header {
		height: 80px;
		flex-wrap: wrap;
	}

	#header-container {
		justify-content: space-between;
	}

	.header_left {
		line-height: 36px;
	}

	.header_name.font-xl,
	.phone_num.font-lr {
		font-size: 34px;
		font-weight: bold;
		padding: 5px;
	}

	#header-container .logo_img {
		height: 36px;
		width: 36px;
	}

	.header_center {
		display: block;
	}

	.header_right {
		display: block;
	}

	.mr-lr {
		margin-right: 100px;
	}

	/* header global navigation */
	/* pc-nav-menu */
	nav.pc-menu {
		display: block;
		width: 100%;
	}

	.front_container {
		padding-top: 118px;
	}

	.contentsContainer {
		padding: 118px 10px;
	}

	.mobile-menu_phone__btn {
		display: none;
	}

	.mobile-menu__btn {
		display: none;
	}

	.mobile-menu_home__btn {
		display: none;
	}

	/* frontpage */
	.front_container {
		padding-top: 118px;
	}

	#splash_logo svg {
		width: 1000px;
	}

	.news_area {
		display: flex;
		flex-direction: row;
	}

	section.sideinfo_area {
		flex-direction: column;
		align-items: center;
		width: 400px;
	}

	section.lower_space {
		flex-direction: row;
	}

	.banner_container {
		width: 382px;
		max-width: 500px;
	}

	/* 2022/12支援の指針追加 */

	.tayori {
		margin: 0 5px 50px 5px;
	}

	.tayori,
	.torikumi,
	.support_policy,
	.outpatient_control,
	.medeical_info_sharing {
		max-height: 315px;
	}

	.photo_wrap {
		height: 165px;
		overflow: hidden;
		margin-bottom: 10px;
	}

	/* 2025/5 厚生労働大臣の定める掲示事項 */

	#n_notification {
		width: 1390px;
	}

	.pageTitle,
	.n_notification_flug {
		width: 1390px;
	}

	/* link */
	.first_link,
	.second_row_link,
	.third_row_link {
		display: flex;
		flex-direction: row;
		margin-bottom: 30px;
	}

	.linkbox .link_item:last-child {
		margin-right: 40px;
	}

	.front_vimeo_area {
		min-width: 600px;
	}
	
	/* News一覧 */

	.news_list_Container {
		padding: 118px 10px 0 8px;
	}

	.wp-pagenavi {
		padding-bottom: 100px;
	}

	/* access */
	.col2 {
		display: flex;
		flex-direction: row;
		position: relative;
	}

	.access-right {
		position: absolute;
		top: 4px;
		left: 550px;
	}

	/* よくある問い合わせ */
	.qa_wrapper li {
		margin: 40px 0;
	}
}

/*1600 */

/* ランディング 往診医 紹介動画 */
/* スマホ用　縦並びに */
@media (max-width: 1600px) {

	.doctor-video-wrapper {
		grid-template-columns: 1fr;
		padding: 20px 5px;
	}

	.doctor-video_text {
    	padding: 15px 0 0 0;
		max-width: 770px;
	}

	.doctor-video_title {
		font-size: 18px;
	}

	.chapter {
		grid-template-columns: 70px 1fr;
	}
}

@media (min-width: 1600px) {

	/* frontpage */
	#FrontContentsCover {
		background: linear-gradient(97deg, #fff, #f6c88c);
		margin: 0 0 0 10px;
	}

	.front_container {
		margin: 0 auto;
		max-width: 1600px;
	}

	#lp_image {
		background: url(https://itashingp.org/wp-content/uploads/2021/01/heart_by_hands.jpg) no-repeat 37px 20px fixed;
		background-size: 1600px;
		object-position: right;
		max-width: 1600px;
		object-fit: cover;
		border-radius: 10px;
		box-shadow: 5px 5px 5px #222;
	}

	.video_inner {
		display: flex;
		flex-wrap: wrap;
		margin: 20px 0;
	}

	.contentsContainer {
		max-width: 1400px;
		margin: 0 auto;
	}

	#contentsCover {
		background: linear-gradient(97deg, #fff, #f6c88c);

		margin: 0 0 0 10px;
	}

	/* 往診までの流れ */
	.soudan_step {
		width: 500px;
	}

	.soudan_flow_wrapper {
		justify-content: space-between;
	}

	/* frontpage 新着News*/

	#latest_news .news_item {
		display: grid;
		grid-template-columns: 1fr 2.5fr;
		place-items: baseline;
	}

	/* single.page */
	.single_area {
		max-width: 1116px;
		margin: 40px auto 0;
	}

	/* News一覧　旧：トピックス */
	.news_list_Container {
		max-width: 1440px;
		margin: 0 auto;
	}
}

/*1601 */

@media (min-width: 1601px) {

	/* frontpage */
	#lp_image {
		background: url(https://itashingp.org/wp-content/uploads/2021/01/heart_by_hands.jpg) no-repeat 35px -95px scroll;
		background-size: 1600px;
		object-position: right;
		max-width: 1600px;
		object-fit: cover;
		border-radius: 10px;
		box-shadow: 5px 5px 5px #222;
	}
}

/*1980 */

@media (min-width: 1980px) {
	#lp_image {
		background: url(https://itashingp.org/wp-content/uploads/2021/01/heart_by_hands.jpg) no-repeat 240px 21px fixed;
		background-size: 1600px;
		object-position: right;
		max-width: 1600px;
		object-fit: cover;
		border-radius: 10px;
		box-shadow: 5px 5px 5px #222;
	}
}

/*2060 */

@media (min-width: 2060px) {
	#lp_image {
		background: url(https://itashingp.org/wp-content/uploads/2021/01/heart_by_hands.jpg) no-repeat 38px -105px scroll;
		background-size: 1600px;
		object-position: right;
		max-width: 1600px;
		object-fit: cover;
		border-radius: 10px;
		box-shadow: 5px 5px 5px #222;
	}
}

/*365 */

@media (max-width: 365px) {
	.header_name {
		font-size: 18px;
	}
}