/*** main (home) ***/
/* mainvisual */
section.mv {
	position: relative;
	width: 100%;
	/* height: 600px; */
	/*height: 720px;*/
	height: 820px;
	background-size: cover;
	/* z-index: -99; */
	text-align: center;
}

/* SLIDER */
.slider {
	height: 640px;
	width: 100%;
	background-color: #FFF;
	background-position: center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	margin-bottom: 45px;
}
.slider {
	background-position: center top\9;
	background-repeat: repeat-x\9;
}
*+html .slider {
	background-position: center top;
	background-repeat: repeat-x;
}

/* ヘッダー部分の文字 */
section.mv article.cat {
}
section.mv article.cat h2 {
	padding: 200px 0 10px 0;/* 重要なおしらせアリ */
	/* padding: 250px 0 10px 0; */ /* 重要なおしらせナシ */
	font-size: 300%;
	color: #ffffff;
	background: url("../images/bg_line01.png") no-repeat bottom center;
	filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.6));
}
section.mv article.cat p {
	padding: 20px 0 0 0;
	font-size: 120%;
	font-weight: bold;
	color: #ffffff;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.6));
}
@media screen and (max-width:768px) {
	section.mv {
		position: relative;
		width: 100%;
		/* height: 525px; */
		/* height: 525px; */
		height: 865px;
		background-position: center top;
		background-size: cover;
		/* z-index: -99; */
		background-image: url("../images/mv/mv_image01.jpg");
		text-align: center;
	}
	section.mv article.cat h2 {
		margin: 0 auto;
		padding: 70px 0 10px 0; /* 重要なおしらせアリ */
		/* padding: 250px 0 10px 0; */ /* 重要なおしらせなし */
		width: 80%;
		font-size: 250%;
		background-image: url("../images/bg_line01sp.png");
		background-size: contain;
	}
	section.mv article.cat p {
		margin: 0 auto;
		padding: 20px 0 0 0;
		width: 80%;
		font-size: 110%;
		font-weight: bold;
		color: #ffffff;
		line-height: 1.5;
	}
}

@media screen and (min-width:468px) {
	.br-sp {
		display: none;
	}
}

/* 健康経営優良法人ロゴ画像 ↓*/
section.mv article.cat .yuryo_logo {
	position: absolute;
	bottom: 240px;
	width: 100%;
}
section.mv article.cat .yuryo_logo img{
	width: 400px;
}
@media screen and (max-width:768px) {
	section.mv article.cat .yuryo_logo {
		/* bottom: 200px; */
		bottom: 190px;
	}
}
@media screen and (max-width:468px) {
	section.mv article.cat .yuryo_logo img{
		width: 250px;
	}
}
/* 健康経営優良法人ロゴ画像 ↑*/

/* 重要なお知らせ */
section.mv article.info {
	/* 重要なお知らせクリックする為に削除 */
	/* add 2025.04.19 start */
	z-index:2;
	/*  */
	position: absolute;
	bottom: 0px;
	background-color: rgba(0,0,0,0.3);
	width: 100%;
	/* 重要なお知らせの文言幅 文字の多さによってこの幅を広げる */
	/* height:140px; */
	height:auto;
	margin:283px 0 0 0;

}
section.mv article.info .wrap {
	width: 960px;
	margin: 0px auto;
	padding: 20px;
}

section.mv .info .wrap {
	width: 960px;
	margin: 0px auto;
	padding: 20px;
}

section.mv .info h3 {
	width: calc(20% - 32px);
	padding: 2px 0 20px 30px;
	box-sizing: border-box;
	height: 60px;
	font-size: 18px;
	font-weight: bold;
	color: #ffffff;
	text-align: left;
	float: left;
	background: url("../images/ico_info01.png") left top no-repeat;
}
section.mv .info p {
	display: block;
	/* 重要なお知らせクリックする為に削除 */
	width: 80%;
	color: #ffffff;
	font-size: 16px;
	text-align: left;
	line-height: 1.5;
	/* 重要なお知らせクリックする為に削除 */
	float: right;
	box-sizing: border-box;
	height: 60px;
}


section.mv article.info h3 {
	width: calc(20% - 32px);
	padding: 2px 0 20px 30px;
	box-sizing: border-box;
	height: 60px;
	font-size: 18px;
	font-weight: bold;
	color: #ffffff;
	text-align: left;
	float: left;
	background: url("../images/ico_info01.png") left top no-repeat;
}
section.mv article.info p {
	display: block;
	/* 重要なお知らせクリックする為に削除 */
	width: 80%;
	color: #ffffff;
	font-size: 16px;
	text-align: left;
	line-height: 1.5;
	/* 重要なお知らせクリックする為に削除 */
	float: right;
	box-sizing: border-box;
	height: 60px;
}

@media screen and (max-width:768px) {

	section.mv article.info {
		bottom:0px;
		/* 重要なお知らせの文言幅 文字の多さによってこの幅を広げる */
		/* height:180px; */
		height:auto;
		margin:12% 0 0 0;
	}
	section.mv article.info .wrap {
		width: calc(100% - 40px);
		/* margin: 0px auto -20px auto; */
		margin: 0px auto 0px auto;
		padding: 0px 10px 0px 10px;

	}
	section.mv article.info h3 {
		width: calc(100% - 30px);
		padding: 2px 0 2px 30px;
		margin: 5px 0 0 0;
		height: 30px;
	}
	section.mv article.info p {
		margin: 0px 0px 8px 0;
		/* padding: 3px 0 18px 0px; */
		width: 100%;
		font-size:0.8rem;
		height: 20px;
	}



	section.mv .info .wrap {
		width: calc(100% - 40px);
		/* margin: 0px auto -20px auto; */
		margin: 0px auto 0px auto;
		padding: 0px 10px 0px 10px;

	}
	section.mv .info h3 {
		width: calc(100% - 30px);
		padding: 2px 0 2px 30px;
		margin: 5px 0 0 0;
		height: 30px;
	}
	section.mv .info p {
		margin: 0px 0px 8px 0;
		/* padding: 3px 0 18px 0px; */
		width: 100%;
		font-size:0.8rem;
		height: 20px;
	}

}


/*** info ***/
section.info {
	width: 960px;
	margin: 50px auto;
}
section.info h2 {
	margin: 0 0 50px 0;
	font-size: 30px;
	text-align: center;
	font-weight: bold;
	color: #0c2a56;
}
section.info ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

section.info li{
	position: relative;
	margin: 0 20px 30px 0;
	flex-basis: calc(50% - 20px);
}
section.info li a.infolink{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
section.info li a.infolink:hover {
	background: #ffffff;
	filter:alpha(opacity=30);/* IE 6,7*/
	-ms-filter: "alpha(opacity=70)";/* IE 8,9 */
	-moz-opacity:0.3;/* FF , Netscape */
	-khtml-opacity: 0.3;/* Safari 1.x */
	opacity:0.3;
	zoom:1;/*IE*/
}

section.info li img{
	float: left;
	margin: 0 20px 0 0;
}
section.info time {
	color: #9e9e9e;
	font-size: 80%;
	font-weight: bold;
}
section.info .news-category {
	display:inline-block;
	margin: 5px 0;
	padding: 5px 10px;
	font-size: 80%;
	font-weight: bold;
	color: #ffffff;
	background: #a58e45;
}
section.info li h3{
	line-height: 1.5;
}
@media screen and (max-width:768px) {
	section.info {
		width: calc(100% - 40px);
		margin: 50px auto 80px auto;
		padding: 0 20px;
	}
	section.info ul {
		display: flex;
		flex-direction: column;
	}
	section.info li {
		position: relative;
		padding: 0;
		margin: 0 0 30px 0;
	}
}
section.info p.list {
	margin: 30px auto 0 auto;
	width: 960px;
	text-align: center;
}
section.info p.list a {
	display: block;
	margin: 0 auto;
	/* width: 400px; */
	width: 233px;
	padding: 15px 30px;
	color: #ffffff;
	font-size: 120%;
	text-align: center;
	background: #a58e45;
}
section.info p.list a::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 8px;
	margin: 0 8px 0 0;
	background-image: url("../images/ico_arrow02.png");
	background-size: contain;
	vertical-align: middle;
}
@media screen and (max-width:768px) {
	section.info p.list {
		margin: 0 auto;
		width: 100%;
		text-align: center;
	}
	section.info p.list a {
		display: block;
		width: calc(100% - 40px);
		padding: 15px 20px;
		color: #ffffff;
		font-size: 120%;
		text-align: center;
		background: #a58e45;
	}
}

/*** Mail Magazine ***/
section.MailMaga {
	width: 960px;
	margin: 50px auto;
}
section.MailMaga h2 {
	margin: 0 0 50px 0;
	font-size: 30px;
	text-align: center;
	font-weight: bold;
	color: #0c2a56;
}
section.MailMaga p {
	width: 700px;
	margin:auto;
	line-height:normal;

}
section.MailMaga p.list {
	margin: 30px auto 0 auto;
	width: 960px;
	text-align: center;
}
section.MailMaga p.list a {
	display: block;
	margin: 0 auto;
	/* width: 400px; */
	width: 233px;
	padding: 15px 30px;
	color: #ffffff;
	font-size: 120%;
	text-align: center;
	background: #a58e45;
}
section.MailMaga p.list a::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 8px;
	margin: 0 8px 0 0;
	background-image: url("../images/ico_arrow02.png");
	background-size: contain;
	vertical-align: middle;
}
@media screen and (max-width:768px) {
	section.MailMaga {
		width: calc(100% - 40px);
		margin: 50px auto 80px auto;
		padding: 0 20px;
	}
	section.MailMaga h2 {
		font-size: 18px;
	}
	section.MailMaga p {
		width: 100%;
		margin:auto;
		line-height:normal;
		font-size:smaller;
	}
	section.MailMaga p.list {
		margin: 0 auto;
		width: 100%;
		text-align: center;
	}
	section.MailMaga p.list a {
		display: block;
		width: calc(100% - 40px);
		padding: 15px 20px;
		color: #ffffff;
		font-size: 120%;
		text-align: center;
		background: #a58e45;
	}
}
/*** ophthalmology ***/
section.ophthalmology {
	background-image: url("../images/bg_img01.jpg");
	background-size: cover;
}
section.ophthalmology .ophthalmology_wrap {
	padding: 100px 0;
	margin: 0 auto;
	width: 960px;
}
section.ophthalmology .ophthalmology_wrap .ophthalmology_about {
	width: 410px;
	padding: 20px;
	background-color: rgba(5,23,45,0.7);
	text-align: center;
}
section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap {
	padding: 30px;
	width: 344px;
	height: 344px;
	border: 5px solid #a58e45;
	color: #ffffff;
}
section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap h2 {
	padding: 40px 0 40px 0;
	font-size: 34px;
	background : url("../images/bg_tit01.png") no-repeat center bottom;
	font-weight: bold;
}
section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap p {
	margin: 30px 0 45px 0;
	line-height: 2;
	text-align: left;
}
section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap a {
	margin: 30px 0 0 0;
	padding: 13px 50px 13px 30px;
	border: 2px solid #a58e45;
	color: #a58e45;
	background: url("../images/ico_arrow01.png") no-repeat 100px center;
}
section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap a:hover {
	/* display: inline-block; */
	/* color: #ff0000; 2019.12.20 */
	color: #ffffff; /* 2019.12.20 */
	background-color: #a58e45;
	text-decoration: none;

}
@media screen and (max-width:768px) {
	section.ophthalmology .ophthalmology_wrap {
		padding: 30px 0;
		margin: 0 auto;
		width: 100%;
	}
	section.ophthalmology .ophthalmology_wrap .ophthalmology_about {
		width: calc(100% - 80px);
		margin: 20px;
		padding: 20px;
		background-color: rgba(5,23,45,0.7);
		text-align: center;
	}
	section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap {
		padding: 30px;
		width: calc(100% - 80px);
		height: 70%;
		border: 5px solid #a58e45;
		color: #ffffff;
	}
	section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap h2 {
		padding: 20px 0;
		font-size: 34px;
		background : url("../images/bg_tit01.png") no-repeat center bottom;
		font-weight: bold;
	}
	section.ophthalmology .allergology_wrap .ophthalmology_about .ophthalmology_about_wrap p {
		margin: 15px 0;
		line-height: 2;
		text-align: left;
	}
	section.ophthalmology .ophthalmology_wrap .ophthalmology_about .ophthalmology_about_wrap a {
		display: block;
		margin: 15px 0 0 0;
		padding: 18px 50px 18px 30px;
		border: 2px solid #a58e45;
		color: #a58e45;
		background: url("../images/ico_arrow01.png") no-repeat 30px center;
	}
}


/*** allergology ***/
section.allergology {
	background-image: url("../images/bg_img02.jpg");
	background-size: cover;
}
section.allergology .allergology_wrap {
	padding: 100px 0;
	margin: 0 auto;
	width: 960px;
}
section.allergology .allergology_wrap .allergology_about {
	width: 410px;
	margin: 0 0 0 510px;
	padding: 20px;
	background-color: rgba(5,23,45,0.7);
	text-align: center;
}
section.allergology .allergology_wrap .allergology_about .allergology_about_wrap {
	padding: 30px;
	width: 344px;
	height: 344px;
	border: 5px solid #a58e45;
	color: #ffffff;
}
section.allergology .allergology_wrap .allergology_about .allergology_about_wrap h2 {
	padding: 40px 0 40px 0;
	font-size: 34px;
	background : url("../images/bg_tit01.png") no-repeat center bottom;
	font-weight: bold;
}
section.allergology .allergology_wrap .allergology_about .allergology_about_wrap p {
	margin: 30px 0 45px 0;
	line-height: 2;
	text-align: left;
}
section.allergology .allergology_wrap .allergology_about .allergology_about_wrap a {
	margin: 30px 0 0 0;
	padding: 13px 50px 13px 30px;
	border: 2px solid #a58e45;
	color: #a58e45;
	background: url("../images/ico_arrow01.png") no-repeat 100px center;
}
section.allergology .allergology_wrap .allergology_about .allergology_about_wrap a:hover {
	/* display: inline-block; */
	/* color: #ff0000; 2019.12.20 */
	color: #ffffff; /* 2019.12.20 */
	background-color: #a58e45;
	text-decoration: none;

}

@media screen and (max-width:768px) {
	section.allergology .allergology_wrap {
		padding: 30px 0;
		margin: 0 auto;
		width: 100%;
	}
	section.allergology .allergology_wrap .allergology_about {
		width: calc(100% - 80px);
		margin: 20px;
		padding: 20px;
		background-color: rgba(5,23,45,0.7);
		text-align: center;
	}
	section.allergology .allergology_wrap .allergology_about .allergology_about_wrap {
		padding: 30px;
		width: calc(100% - 80px);
		height: 70%;
		border: 5px solid #a58e45;
		color: #ffffff;
	}
	section.allergology .allergology_wrap .allergology_about .allergology_about_wrap h2 {
		padding: 20px 0;
		font-size: 34px;
		background : url("../images/bg_tit01.png") no-repeat center bottom;
		font-weight: bold;
	}
	section.allergology .allergology_wrap .allergology_about .allergology_about_wrap p {
		margin: 15px 0;
		line-height: 2;
		text-align: left;
	}
	section.allergology .allergology_wrap .allergology_about .allergology_about_wrap a {
		display: block;
		margin: 15px 0 0 0;
		padding: 18px 50px 18px 30px;
		border: 2px solid #a58e45;
		color: #a58e45;
		background: url("../images/ico_arrow01.png") no-repeat 30px center;
	}
}

/*** contents ***/
.contents_wrap {
	margin: 0 auto;
	padding: 50px 0;
	width: 960px;
}
@media screen and (max-width:768px) {
	.contents_wrap {
		margin: 0 auto;
		padding: 50px 0;
		width: 100%;
	}
}
.contents_wrap ul {
	display: flex;
}
.contents_wrap li {
	padding: 0 0 20px 0;
	width: 33%;
	text-align: center;
	border-left: 1px solid #eeeeee;
}
.contents_wrap li:last-child {
	border-right: 1px solid #eeeeee;
}
.contents_wrap li h2 {
	padding: 0 0 20px 0;
	font-size: 28px;
	font-weight: bold;
	color: #0c2a56;
}
.contents_wrap li img {
	margin: 0 0 30px 0;
	padding: 0 0 20px 0;
	width: 50%;
}
.contents_wrap li a {
	display: block;
	width: 30%;
	margin: 0 auto;
	padding: 13px 40px 13px 40px;
	border: 2px solid #a58e45;
	color: #a58e45;
}
.contents_wrap li a::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 8px;
	margin: 0 8px 0 0;
	background-image: url("../images/ico_arrow01.png");
	background-size: contain;
	vertical-align: middle;
}
.contents_wrap li a:hover {
	color: #ffffff; /* 2019.12.20 */
	background-color: #a58e45;
	text-decoration: none;
}
@media screen and (max-width:768px) {
	.contents_wrap ul  {
		flex-direction: column;
		width: 90%;
		margin: 0 auto;
	}
	.contents_wrap li {
		padding: 20px 0;
		width: 100%;
		border-left: 0px;
		border-top: 1px solid #eeeeee;
	}
	.contents_wrap li:last-child {
		border-right: 0px;
		border-bottom: 1px solid #eeeeee;
	}
	.contents_wrap li h2 {
		padding: 0 0 20px 0;
		font-size: 28px;
		font-weight: bold;
		color: #0c2a56;
	}
	.contents_wrap li img {
		margin: 0;
		padding: 0;
		width: 40%;
	}
	.contents_wrap li a {
		display: block;
		margin: 30px auto 0 auto;
		padding: 13px 50px 13px 30px;
		border: 2px solid #a58e45;
		color: #a58e45;
	}
}

.contents_wrap p {
	margin: 30px auto 0 auto;
	width: 960px;
	text-align: center;
}
.contents_wrap p a {
	display: block;
	margin: 0 auto;
	width: 400px;
	padding: 15px 30px;
	color: #ffffff;
	font-size: 120%;
	text-align: center;
	background: #a58e45;
}
.contents_wrap p a::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 8px;
	margin: 0 8px 0 0;
	background-image: url("../images/ico_arrow02.png");
	background-size: contain;
	vertical-align: middle;
}
@media screen and (max-width:768px) {
	.contents_wrap p {
		margin: 30px auto 0 auto;
		width: calc(100% - 40px);
		text-align: center;
	}
	.contents_wrap p a {
		display: block;
		width: calc(100% - 40px);
		padding: 15px 20px;
		color: #ffffff;
		font-size: 120%;
		text-align: center;
		background: #a58e45;
	}
}
/* br.sp_brはタブレット以上のサイズでは非表示にする */
@media screen and (min-width: 768px) {
	.sp_br{
		/* margin-right: -.333em; */
		display: none;
	}
}

/* new top  */

	.hero {
			font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
      /*background-color: #ffffff;*/
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      color: #ffffff;
      padding: 60px 20px 32px 20px;
      position: relative;

    }

    /* 背景の上に暗めオーバーレイを追加 */
    .hero::before {
      content: "";
      position: absolute;
      top: 0; left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.3);
      z-index: 1;
    }


    .hero-content {
     position: relative;
      z-index: 2;
      max-width: 640px;
      margin: auto;
      display: flex;
      flex-wrap: wrap;
      gap: 40px;
      align-items: flex-center;
      justify-content: center;
    }
    .left .right {
     /* flex: 1;*/
      min-width: 300px;
      justify-content: center;
    }
    
    .hero h1 {
      font-size: 40px;
      font-weight: bold;
      margin-bottom: 10px;
      text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
    }
    .subtitle {
      font-size: 20px;
      margin-bottom: 20px;
      text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
    }
    .contact, .notice {
      margin-bottom: 20px;
      font-size: 16px;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
    }
    .schedule {
      background-color: rgba(255,255,255,0.9);
      color: #333;
      padding: 20px;
      border-radius: 10px;
      margin-bottom: 20px;
    }

    .hero h2 {
	    display: block;
	    font-size: 1.5em;
	    margin-block-start: 0.83em;
	    margin-block-end: 0.83em;
	    margin-inline-start: 0px;
	    margin-inline-end: 0px;
	    font-weight: bold;
	    unicode-bidi: isolate;
		}

    .schedule h2 {
      margin-top: 0;
    }

    .schedule table {
      width: 100%;
      border-collapse: collapse;
      text-align: center;
      font-size: 14px;
    }
    .schedule th, .schedule td {
      padding: 6px;
      border: 1px solid #ccc;
    }
    .schedule th {
      background-color: #eee;
    }
    .closed {
      color: red;
    }
    .clinic-image {
      max-width: 100%;
      border-radius: 10px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
    @media screen and (max-width: 768px) {
      .hero-content {
        flex-direction: column;
      }
    }


