/*
	酒井形成外科　2024
	common.css
*/
@font-face {
	font-family: "shsjp";
	font-weight: 400;
	src: local("Noto Sans CJK JP"),
		 local("NotoSansCJKjp-Normal"),
		 local("NotoSansJP-Normal"),
		 url("fonts/shsjp-Normal.woff2") format("woff2"),
		 url("fonts/shsjp-Normal.woff") format("woff");
}
@font-face {
	font-family: "shsjp";
	font-weight: 500;
	src: local("Noto Sans CJK JP"),
		 local("NotoSansCJKjp-Medium"),
		 local("NotoSansJP-Medium"),
		 url("fonts/shsjp-medium.woff2") format("woff2"),
		 url("fonts/shsjp-medium.woff") format("woff");
}
@font-face {
	font-family: "shsjp";
	font-weight: 700;
	src: local("Noto Sans CJK JP"),
		 local("NotoSansCJKjp-Bold"),
		 local("NotoSansJP-Bold"),
		 url("fonts/shsjp-bold.woff2") format("woff2"),
		 url("fonts/shsjp-bold.woff") format("woff");
}
@font-face {
	font-family: "shsjp";
	font-weight: 900;
	src: local("Noto Sans CJK JP"),
		 local("NotoSansCJKjp-Heavy"),
		 local("NotoSansJP-Heavy"),
		 url("fonts/shsjp-heavy.woff2") format("woff2"),
		 url("fonts/shsjp-heavy.woff") format("woff");
}
@font-face {
	font-family: "shserifjp";
	font-weight: 400;
	src: local("Noto Serif CJK JP"),
		 local("NotoSerifCJKjp-Normal"),
		 local("NotoSerifJP-Normal"),
		 url("fonts/shserifjp-regular.woff2") format("woff2"),
		 url("fonts/shserifjp-regular.woff") format("woff");
}
@font-face {
	font-family: "shserifjp";
	font-weight: 500;
	src: local("Noto Serif CJK JP"),
		 local("NotoSerifCJKjp-SemiBold"),
		 local("NotoSerifJP-SemiBold"),
		 url("fonts/shserifjp-semibold.woff2") format("woff2"),
		 url("fonts/shserifjp-semibold.woff") format("woff");
}
.accordion-button:not(.collapsed) {
	background-color: #f7ebd5;
}
a {
	font-family: "shsjp";
	/* color: #CC0000; */
	/* color: #d5302d; */
	color: #963e48;
	font-weight: bold;
	text-decoration: none;
	border-bottom: 1px dashed #CC0000;
}
a:hover {
	font-family: "shsjp";
	color: #FF0000;
	text-decoration: none;
	border-bottom: 1px dashed #FF0000;
}
a:visited {
	font-family: "shsjp";
	/* color: #0066CC; */
	color: #963e48;
	text-decoration: none;
	border-bottom: 1px dashed #0066CC;
}
#contents {
	margin: 0;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	color: #38383c;
	/* overflow-x: auto; */
}
.widh_controller {
	margin: 0;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
}
img {
	width: 100%;
}
table {
	border-collapse: collapse;
	border-spacing: 1px;
	border: 1px solid #cccccc;
}
th,
td {
	padding: 3px;
	border: 1px solid #cccccc;
}
h1 {
	font-family: "shsjp";
	font-weight: 900;
	font-size: 50px;
	line-height: 58px;
	/* color: #87692d; */
	/* color: #826664; */
	color: #764f4c;
	margin-top: 0px;
	margin-bottom: 30px;
	/* background: #f4e1b8; */
	/* background: #e8dfdf; */
	/* background: #f7ebd5; */
	background-image: url("../image3/gold_bg.png");
	text-shadow: 3px 3px #ddcaca;
}
h1.txt_title {
	padding-top: 40px;
	padding-bottom: 40px;
}
h1 .small {
	font-family: "shsjp";
	font-weight: 500;
	font-size: 28px;
}
#site_title {
	background-image: url('../image3/site_top_bg.png');
	background-repeat: repeat-x;
	background-position: top center;
}
h1.sitetop {
	background-image: none;
	background-color: none;
	padding: 0;
	margin-top: 0;
	margin-bottom: 30px;
}
h2 {
	font-family: "shsjp";
	font-weight: 700;
	font-size: 28px;
	line-height: 36px;
	/* color: #87692d; */
	color: #826664;
	margin-top: 40px;
	margin-bottom: 30px;
	padding-top: 5px;
	padding-bottom: 15px;
	border-bottom: 1px solid #a08343;
	background-image: url("../image3/h2_mark.png");
	background-repeat: no-repeat;
	padding-left: 35px;
	background-size: 30px 30px;
	background-position: 0 10px;
}
h2 .small {
	font-family: "shsjp";
	font-weight: 500;
	font-size: 22px;
}
.h2_button {
	border: 1px solid #826664;
	padding: 5px;
	margin-top: 40px;
	padding-right: 40px;
	margin-bottom: 30px;
	background: #f7ebd5;
	background-image: url("../image3/triangle.png");
	background-repeat: no-repeat;
	background-position: right 10px bottom 10px;
}
.h2_button h2 {
	margin-top: 0px;
	margin-bottom: 0px;
	padding-bottom: 0;
	border-bottom: none;
}
h3 {
	font-family: "shsjp";
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	color: #963e48;
	margin-top: 40px;
	margin-bottom: 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid #afbcbf;
}
h4 {
	font-family: "shsjp";
	font-weight: 500;
	font-size: 20px;
	line-height: 30px;
	color: #87692d;
	margin-top: 30px;
	border-bottom: 1px solid #f4e1b8;
	padding-bottom: 5px;
	margin-bottom: 10px;
}
h5 {
	font-family: "shsjp";
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
	color: #38383c;
	margin-top: 30px;
}
h6 {
	font-family: "shsjp";
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
	color: #000000;
	margin-top: 20px;
	margin-bottom: 10px;
}
p {
	margin-bottom: 16px;
	margin-top: 0;
	padding: 0;
	font-family: "shserifjp";
	font-weight: 400;
	font-size: 18px;
	line-height: 28px;
}
.main_text_list,
.main_text_module {
	margin-bottom: 16px;
	font-family: "shserifjp";
	font-weight: 400;
	font-size: 18px;
	line-height: 28px;
	list-style-type: none;
}
.main_text_list li,
.main_text_module li {
	background-image: url("../image3/gold_circle.png");
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: 0 5px;
	padding-left: 25px;
}
b {
	font-family: "shserifjp";
	font-weight: 500;
}
.lead{
	font-family: "shsjp";
	/* font-weight: 500; */
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	color: #a08343;
}
.yomi {
	font-weight: 400;
	font-size: 12px;
}
.red_text {
	color: #CC0000;
}
.blue_text {
	color: #0066CC;
}
.right_text {
	text-align: right;
}
.black_text {
	color: #000000;
}
#top_color {
	background: #aa9677;
	height: 15px;
	margin-bottom: 15px;
}
#logo {
	width: 275px;
}
#logo img {
	width: 100%;
}
#logo a {
	text-decoration: none;
	border-bottom: none;
}
#header_area {
	z-index: 3000;
}
#header {
	margin-bottom: 15px;
	z-index: 20;
}
#side_banner img {
	margin-top: 10px;
}
.pc_image_small {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}
#bottom_nav {
	margin-top: 40px;
	margin-bottom: 40px;
}
#bottom_nav .bottom_nav_button {
	text-align: center;
	padding: 10px;
	border-radius: 30px;
	background: #FFFFFF;
	font-family: "shsjp";
	font-weight: 700;
	font-size: 20px;
	line-height: 26px;
	border: 1px solid #aa9677;
	color: #aa9677;
}
#bottom_nav a {
	text-decoration: none;
	border-bottom: none;
}
#bottom_nav #clinic_information {
	margin-top: 40px;
	background: #f7ebd5;
	padding: 10px;
}
#bottom_nav #clinic_information .tel_text {
	text-align: center;
	font-family: "shsjp";
	font-weight: 900;
	font-size: 60px;
	line-height: 68px;
	color: #a08343;
}
#bottom_nav #clinic_information .holiday {
	text-align: right;
	font-family: "shsjp";
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	color: #a08343;
}
#bottom_nav #clinic_information .time_schedule {
	background: rgba(255,255,255,0.5);
	padding: 8px;
	text-align: center;
	font-family: "shsjp";
	font-weight: 400;
	font-size: 22px;
	line-height: 30px;
	color: #a08343;	
}
#bottom_nav #clinic_information .time_schedule b {
	font-family: "shsjp";
	font-weight: 500;
}
#bottom_nav #clinic_information .small_text {
	padding-top: 10px;
	text-align: center;
	font-family: "shsjp";
	font-weight: 500;
	font-size: 18px;
	line-height: 24px;
	color: #a08343;
}
#topics_header {
	font-size: 18px;
}
.topics_module {
	list-style: none;
	padding-left: 0;
}
.topics_module li {
	background-image: url("../image3/gold_circle.png");
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: 0 5px;
	padding-left: 25px;
	margin-bottom: 8px;
	font-size: 20px;
	line-height: 30px;
}
#footer {
	background: #aa9677;
	color: #FFFFFF;
	padding-top: 20px;
	padding-bottom: 40px;
	padding-left: 10px;
	padding-right: 10px;
}
#footer_corp_name {
	margin-bottom: 40px;
	text-align: center;
	font-size: 24px;
	font-family: "shsjp";
	font-weight: 700;
	color: #FFFFFF;
}
#footer_corp_name .footer_corp_name_sub {
	font-size: 18px;
	font-family: "shsjp";
	font-weight: 400;
}
#footer #copyright {
	margin-top: 40px;
	text-align: center;
	color: #FFFFFF;
	font-size: 14px;
	font-family: "shsjp";
	font-weight: 400;
}
#footer_content {
	margin-left: auto;
	margin-right: auto;
}
#footer_content p {
	font-family: "shsjp";
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
}
#footer_content a {
	color: #FFFFFF;
	font-size: 16px;
	line-height: 30px;
	font-family: "shsjp";
	font-weight: 400;
	text-decoration: none;
	border-bottom: none;
}
#footer_content b {
	color: #FFFFFF;
	font-size: 18px;
	font-family: "shsjp";
	font-weight: 700;
}
#footer_content .spacer {
	height: 8px;
}
#addr {
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: center;
	font-size: 16px;
	font-family: "shsjp";
	font-weight: 400;
	color: #FFFFFF;
}
#title {
	background: #e1c5ad;
}
#title2 {
	background: #f7ebd5;
}
#global_navi {
	background: #f7ebd5;
}
#above_button {
	max-width: 470px;
	margin-left: auto;
	margin-right: 0;
}
#message_dialog {
	display: none;
	z-index:110;
	position: absolute;
	background: #FFFFFF;
	padding: 20px;
	margin-left: auto;
	margin-right: auto;
}
#popup-bg-cover {
	position: fixed; /* ブラウザの定位置に固定 */
	background: rgba(0, 0, 0, .5); /* 背景色を半透明の黒色に */
	width: 100%; /* 要素の横幅を画面全体に */
	height: 100%; /* 要素の高さを画面全体に */
	top: 0; /* 要素の固定位置をブラウザ最上部に合わせる */
	left: 0; /* 要素の固定位置をブラウザ左側に合わせる */
	z-index: 10; /* 要素をコンテンツより前面に（要調整） */
	display: none;
}
#close_button {
	color: #8c7a78;
	background: #f7ebd5;
	border-radius: 20px;
	border: 1px solid #8c7a78;
	width: 100px;
	text-align: center;
	margin-top: 10px;
	margin-left: auto;
	margin-right: auto;
}
#top_recommend,
.top_recommend {

}
#top_recommend img,
.top_recommend img {
	margin-bottom: 8px;
}
/*
	トピックスバナー
*/
.topics_banner {
	margin-top: 20px;
}
.topics_banner img {
	margin-bottom: 5px;
}
/* モーダルダイアログ */
.clickable-image {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}
.modal-dialog {
	width: 100%;
	max-width: 100%;
	margin: 0;
	z-index: 3500;
}
.modal-content {
	position: relative;
	height: 100%;
	z-index: 3510;
}
.modal-body-wrapper {
	width: 100%; /* モーダルの幅に合わせる */
	height: 100%; /* モーダルの高さに合わせる */
	overflow: auto; /* スクロール可能にする */
	position: relative; /* スクロールバーの位置を設定するために必要 */
	z-index: 3520;
}
.modal-body {
	width: 200%; /* ウィンドウサイズの2倍の幅に設定 */
	height: auto; /* コンテンツに合わせて高さを調整 */
	position: relative; /* コンテンツの位置を調整するために必要 */
	z-index: 3530;
}
.modal-body img {
	height: auto;
	width: 100%;
}
.modal-footer {
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	bottom: 40px;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 3550;
}
.scroll-bar {
	width: 100%; /* スクロールバーの幅を100%に設定 */
	height: 10px; /* スクロールバーの高さを10pxに設定 */
	background-color: #ccc; /* スクロールバーの背景色 */
	position: relative; /* スクロールバーの位置を相対に設定 */
}
.scroll-bar-handle {
	height: 10px; /* スクロールバーのつまみの高さを10pxに設定 */
	background-color: #963e48; /* スクロールバーのつまみの背景色 */
	position: absolute; /* スクロールバーのつまみの位置を絶対に設定 */
	cursor: pointer; /* スクロールバーのつまみをポインターに設定 */
	top: 0; /* スクロールバーのつまみの上部を0に設定 */
}
.modal-backdrop.show {
	opacity: 0.5; /* 背景の暗さ */
}
/* CSS: disabled クラスに pointer-events: none; を追加 */
.disabled {
	pointer-events: none;
	/* opacity: 0.5; */ /* クリックできないことを視覚的に示すためのスタイル (任意) */
}
@media screen and (max-width: 480px) {
	#contents,
	#footer_content,
	#header,
	#global_navi,
	#bottom_nav,
	#breadcrumb {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.widh_controller {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	h1 {
		padding-left: 20px;
		padding-right: 20px;
		text-align: left;
		font-size: 36px;
		line-height: 48px;
	}
	h2 {
		font-size: 24px;
		line-height: 30px;
	}
	h2 .small {
		font-size: 18px;
	}
	#up_to_page {
		right: 10px;
	}
	#title h1 {
		width: 100%;
	}
	.bottom_nav_button {
		margin-bottom: 5px;
	}
	#message_dialog {
		height: 100%;
		width: 90%;
	}
	.indent_content {
		margin-left: 30px;
	}
	#bottom_nav #clinic_information .tel_text {
		font-size: 42px;
	}
	#logo {
		width: 200px;
	}
	.pc_view {
		display: none;
	}
	.sp_view {
		display: block;
	}
}
@media screen and (min-width: 481px) and (max-width: 600px) {
	#contents,
	#footer_content,
	#header,
	#global_navi,
	#bottom_nav,
	#breadcrumb,
	.widh_controller {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	h1 {
		padding-left: 20px;
		padding-right: 20px;
		text-align: left;
		font-size: 42px;
		line-height: 56px;
	}
	h2 {
		font-size: 24px;
		line-height: 30px;
	}
	h2 .small {
		font-size: 18px;
	}
	#up_to_page {
		right: 10px;
	}
	#title h1,
	#site_title h1 {
		width: 100%;
	}
	.bottom_nav_button {
		margin-bottom: 5px;
	}
	#message_dialog {
		left: calc(50% - 220px);
		height: 100%;
		width: 440px;
	}
	.indent_content {
		margin-left: 50px;
	}
	#bottom_nav #clinic_information .tel_text {
		font-size: 50px;
	}
	#logo {
		width: 225px;
	}
	.pc_view {
		display: none;
	}
	.sp_view {
		display: block;
	}
}
@media screen and (min-width: 601px) and (max-width: 699px) {
	#contents,
	#footer_content,
	#header,
	#global_navi,
	#bottom_nav,
	#breadcrumb,
	.widh_controller {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	#header_area {
		position: fixed;
		top: 0;
		background: #FFFFFF;
		opacity: 90%;
	}
	#breadcrumb {
		padding-top: 220px;
	}
	h1 {
		text-align: center;
	}
	#up_to_page {
		right: 10px;
	}
	#title h1,
	#site_title h1 {
		width: 100%;
	}
	#message_dialog {
		left: calc(50% - 270px);
		height: 600px;
		width: 540px;
	}
	.indent_content {
		margin-left: 60px;
	}
	.pc_view {
		display: block;
	}
	.sp_view {
		display: none;
	}
}
@media screen and (min-width: 700px) and (max-width: 780px) {
	#contents,
	#footer_content,
	#header,
	#global_navi,
	#bottom_nav,
	#breadcrumb,
	.widh_controller {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	#header_area {
		position: fixed;
		top: 0;
		background: #FFFFFF;
		opacity: 90%;
		width: 100%;
	}
	#breadcrumb {
		padding-top: 220px;
	}
	h1 {
		text-align: center;
	}
	#up_to_page {
		right: 10px;
	}
	#title h1,
	#site_title h1 {
		width: 100%;
	}
	#message_dialog {
		left: calc(50% - 315px);
		width: 630px;
		height: 600px;
	}
	.indent_content {
		margin-left: 60px;
	}
	.pc_view {
		display: block;
	}
	.sp_view {
		display: none;
	}
}
@media screen and (min-width: 781px) and (max-width: 1279px) {
	#contents,
	#footer_content,
	.widh_controller,
	#header,
	#global_navi,
	#bottom_nav,
	#breadcrumb {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
	}
	#header_area {
		position: fixed;
		top: 0;
		background: #FFFFFF;
		opacity: 90%;
		width: 100%;
	}
	#breadcrumb {
		padding-top: 220px;
	}
	h1 {
		text-align: center;
	}
	#up_to_page {
		right: 10px;
	}
	#title h1,
	#site_title h1 {
		width: 100%;
	}
	#message_dialog {
		left: calc(50% - 350px);
		height: 600px;
		width: 700px;
	}
	.indent_content {
		margin-left: 60px;
	}
	.pc_view {
		display: block;
	}
	.sp_view {
		display: none;
	}
}
@media screen and (min-width: 1280px) and (max-width: 5000px) {
	#header_area {
		position: fixed;
		top: 0;
		background: #FFFFFF;
		opacity: 90%;
		width: 100%;
	}
	#breadcrumb {
		padding-top: 200px;
	}
	#contents,
	#footer_content,
	.widh_controller,
	#header,
	#global_navi,
	#bottom_nav,
	#breadcrumb {
		margin-left: auto;
		margin-right: auto;
		width: 1280px;
	}
	h1 {
		text-align: center;
	}
	#up_to_page {
		right: calc((100% - 1280px) / 2 );
	}
	#title h1,
	#site_title h1 {
		width: 1280px;
		margin-left: auto;
		margin-right: auto;
	}
	#message_dialog {
		left: calc(50% - 400px);
		height: 600px;
		top: 200px;
		width: 800px;
	}
	.indent_content {
		margin-left: 60px;
	}
	.pc_view {
		display: block;
	}
	.sp_view {
		display: none;
	}
}
@media print {
	#header_area {
		position: fixed;
		top: 0;
		background: #FFFFFF;
		opacity: 90%;
		width: 100%;
	}
	#breadcrumb {
		padding-top: 200px;
	}
	#contents,
	#footer_content,
	#header,
	#global_navi,
	#bottom_nav,
	#breadcrumb {
		margin-left: auto;
		margin-right: auto;
		width: 1024px;
	}
	.widh_controller {
		display: none;
	}
	h1 {
		text-align: center;
	}
	#up_to_page {
		right: calc((100% - 1280px) / 2 );
	}
	#title h1,
	#site_title h1 {
		width: 1280px;
		margin-left: auto;
		margin-right: auto;
	}
	#message_dialog {
		left: calc(50% - 400px);
		height: 600px;
		top: 200px;
		width: 800px;
	}
	.indent_content {
		margin-left: 60px;
	}
	.pc_view {
		display: block;
	}
	.sp_view {
		display: none;
	}
	.accordion .accordion-collapse {
		display: block !important; /* 折りたたまれた部分を表示 */
	}
	#footer_content {
		display: none;
	}
}
