.content_top {
	width:100%;
	margin-top: 55px;
}

#main{
	width:100%;
	margin:0 auto;
	position: relative;
	padding:0;
	height:auto;
}
#main img{
	width:100%;
	height:auto;
}
#main p.main_txt1{
	position: absolute;
	font-size:48px;
	color:#ffffff;
	left:10%;
	top:60%;
	line-height: 150%;
	font-family: "NotoSerif_M";
	text-align: center;
}

/* ===== ヒーロー画像上テキスト（黒文字＋外側グロー版） ===== */
#main{position:relative; width:100%; max-width:1440px; margin:0 auto;}
#main img{display:block; width:100%; height:auto;}


/* テキスト本体：中央配置、黒文字＋白系の外側グロー */
#main .main_txt1{
position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
display:inline-block; text-align:center; z-index:1;
color:#111; /* ← 黒ベース */
font-family:"Noto Sans JP", sans-serif; font-weight:700;
font-size:48px; line-height:1.25; letter-spacing:.02em;
padding:24px 36px; border-radius:12px;
/* 外側グロー（白系を多層で） */
text-shadow:
0 0 6px rgba(255,255,255,.90),
0 0 14px rgba(255,255,255,.70),
0 0 28px rgba(255,255,255,.45),
0 2px 2px rgba(0,0,0,.12); /* わずかに落ち影でコントラスト調整 */
}
/* 白透過の長方形（テキストの下に敷く） */
#main .main_txt1::before{
content:""; position:absolute; inset:0; z-index:-1;
background:rgba(255,255,255,.70); /* 透過度は調整可 */
border-radius:12px;
}


/* サブコピー（span）：1行に収めて小さく、黒文字＋弱めグロー */
#main .main_txt1 span{
display:block; margin-top:8px; font-weight:600;
font-size:18px; line-height:1; letter-spacing:.02em;
white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
color:#111;
text-shadow:
0 0 5px rgba(255,255,255,.75),
0 1px 1px rgba(0,0,0,.10);
}


a:hover{
	color:#2EA5D5;
}

#news{
	width:calc(100% - 50px);
	padding: 40px 0 18px;
	margin:0 auto;
}
#news h2{
	font-family: "Inter", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size:24px;
	color:#40220F;
	letter-spacing: 0.5px;
	text-align: center;
	margin:0 auto 20px ;
}

a.link_more{
	box-sizing: border-box;
	display: block;
	width: 200px;
	background: #fff;
	color: #2EA5D5;
	padding: 10px 16px;
	border-radius: 50px;
	margin: 30px auto;
	text-align: center;
	border: 2px solid #2EA5D5;
	font-size: 14px;
	font-family: "NotoSans_L";
	line-height: 36px;
	transition: .3s;
}
a.link_more:hover{
	background: #2EA5D5 !important;
	color: #fff !important;
	text-decoration: none;
	border-color: #2EA5D5 !important;
}

a.link_more:hover::after{
	transform: translateX(4px);
}

a.link_more::after {
	content: '→';
	margin-left: 8px;
	display: inline-block;
	transition: transform 0.3s ease;
}

#news a.link_more{
	margin: 30px auto 40px auto !important;
}

a:hover{
	color:#1A57B1;
}
dl.news{
	width:100%;
	color:#333;
	box-sizing: border-box;
}
dl.news dt{
	display: block;
	width:100%;
	font-family: "Outfit", serif;
	font-size:14px;
	border-top:1px solid #DBDBDB;
	padding-left:5px;
	padding-top:20px;
	margin-bottom:10px;
}
dl.news a{
	display: block;
}
dl.news a:hover{
	background:#F1F4F8;
	text-decoration: none;
}
dl.news dt img{
	vertical-align: middle;
	margin:0 0 0 28px;
	width:92px;
	height: auto;
}
dl.news dd{
	padding-left:5px;
	font-family:'NotoSans_L';
	font-size:14px;
	width:100%;
	margin-bottom:15px;
	background: url(../../images/common/arrow.png) no-repeat 99% center;
	background-size: 24px 24px;
	line-height: 24px;
	padding-right: 28px;
	}
dl.news a:nth-of-type(4){
	border-bottom: 1px solid #DBDBDB;
}



/*policy*/
#policy{
	margin-bottom:100px;
	position:relative;
}
.policy_text{
	color:#40220F;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	line-height:1.8;
	width:calc(100% - 70px);
	margin:0 auto;
	text-align:left;
}

.policy_text ol{
	color: #40220F;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 900;
	padding-left: 20px;
	margin-top: 8px;
}
.policy_text ol li{
	margin-bottom: 10px;
	padding-left: 8px;
    list-style: decimal !important;
}
.bg_sb_area{
	position: absolute;
	bottom: -60px;
	left: 60%;
	transform: translateX(-50%);
	width: 300px;
	height: 284px;
	background-color: #F3FAFC;
	z-index: -1;
	overflow: hidden;
	}

/* =============================
   content-pair（テキスト＋画像）基本構造
============================= */
.content-pair {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  margin: 40px auto;
}

.content-pair__text,
.content-pair__text_l{
  flex: 1;
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  line-height: 1.8;
}
.content-pair__text_l{
	box-sizing: border-box;
        margin:10px 0 40px;
        width: 96% !important;
        flex: none;
        text-align: left;
}
.content-pair__text_l p {
	margin-bottom: 20px;
}
.content-pair__text_l p span{
	font-weight: 700;
	font-size: 20px ;
	line-height:2;
}

.content-pair__image {
  flex: 1;
}

.content-pair__image img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* =============================
   content-pair-bg（背景付き）構造
============================= */
.overview-bg {
  background-color: #f7f7f7;
  padding: 60px 0;
}

.content-pair-bg {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}

.content-pair-bg__text {
  flex: 1;
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
}

.content-pair-bg__text h3,
.content-pair__text_l h3 {
  font-family: 'YuMincho', '游明朝体', serif;
  font-size: 1.4rem;
  color: #40220F;
  margin-bottom: 1rem;
  text-align: center;
}
.content-pair-bg__text h3 span,
.content-pair__text_l h3 span{
	color: #2EA5D5;
	margin-left:2px;
}
.content-pair-bg__text p {
  line-height: 1.8;
}

.content-pair-bg__image {
  flex: 1;
}

.content-pair-bg__image img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}


/*診療内容*/
#service{
	padding:80px 0;
	background:url(../images/common/bg_service.png) no-repeat center top;
	background-size: cover;
}

#access{
	padding: 80px 0;
}