@charset "UTF-8";
/* CSS Document */

/*=======
frontPage
=======*/

/*mainVisual*/
.ly_main .bl_mainVisual {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	aspect-ratio:2.6 / 1;
	max-height: 627px;
	/*背景グラデ -不使用*/
	/*background-image: linear-gradient(0deg, rgba(255, 243, 248, 1) 10%, rgba(250, 176, 208, 1) 90%);*/
	background-image: url("../../images/frontPage/mainVisual_bg.jpg");
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 0;/*.inner-widthのpadding-bottomキャンセル*/
	/*アニメーション*/
	animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	animation-delay: 0.3s;
	opacity: 0;
}
.bl_mainVisual .bl_center {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: min(0.8vw,0.4em);
	color: #fff;
	text-shadow: 0px 0px 18px rgba(125, 90, 90, 1);
	/*アニメーション*/
	animation: fadeIn 1.4s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	animation-delay: 1s;
	opacity: 0;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*width-narrow*/
.width-narrow .ly_main .bl_mainVisual {
	min-height: 385px;
}
.width-narrow .bl_mainVisual .bl_center {
	font-size: min(5vw,1.5rem);
}

/*お知らせ　info*/
.bl_info ul {
	margin-bottom: 5em;
}
.bl_info .column {
	display: block;
	position: relative;
	border: solid var(--theme-color) 3px;
	border-radius: 4px;
	text-align: center;
	font-weight: bold;
	padding-left: 1.5em;
	padding-right: 1.5em;
}
.bl_info .column h3 {
	display: inline-block;
	transform: translateX(0) translateY(-50%);
	background-color: var(--theme-color);
	color:#fff;
	line-height: 1.2;
	padding: 0.5em 2em;
	border-radius: 4px;
	letter-spacing: 0.1em;
	font-size: 1.1rem;
}
@media screen and (max-width:555px){
	.bl_info .column h3 {
		padding: 0.5em 0.5em;
	}
}


/*ごあいさつ　message*/
.bl_message {
	background-color: #fcfbfc;
}
.bl_message .wrap {
	display: flex;
    margin-left: 30px;
    margin-right: 30px;
}
.bl_message .text {
	width: 50%;
	max-width: 590px;
	padding-right: 2em;
}
.bl_message .text h3 {
	color:var(--theme-color);
	font-size: 1.2em;
	margin-bottom: 0.25em;
}
.bl_message .image {
	width: 50%;
	padding-right: 60px;
	box-sizing: border-box;
}
.bl_message .image img {
	border-radius: 20px;
}
@media screen and (max-width:900px){
	.bl_message .wrap {
		display: block;
		width: 80%;
		margin: auto;
	}
	.bl_message .text {
		margin: auto;
		width: 100%;
		padding: 0;
	}
	.bl_message .image {
		margin: auto;
		margin-bottom: 2em;
		padding: 0;
		text-align: center;
		width: auto;
	}
	.bl_message .image img {
		border-radius: 20px;
		max-width: 500px;
		margin: auto;
		width: 100%;
	}
}
@media screen and (min-width:1560px){
	.bl_message .image img {
		border-radius: 20px;
		float: right;
	}
}


/*当院の特徴  aboutus*/
.bl_aboutus .wrap {
	display: flex;
	gap:2.6%;
	flex-wrap: wrap;
}
.bl_aboutus .wrap > div {
	box-sizing: border-box;
	border: solid #dfdfdf 1px;
	border-radius: 8px;
	padding: 3px;
	width: 23%;
	min-width: 247px;
}
/*2分割*/
@media screen and (max-width:1192px){
	.bl_aboutus .wrap {
		gap:20px 4%;
	}
	.bl_aboutus .wrap > div {
		width: 48%;
	}
}
/*1列*/
@media screen and (max-width:583px){
	.bl_aboutus .wrap {
		display: block;
	}
	.bl_aboutus .wrap > div {
		width: 90%;
		margin: 0 auto 2.5em;
	}
	.bl_aboutus .wrap > div:last-child {
		margin-bottom: 0;
	}
}
.bl_aboutus .wrap > div img {
	object-fit:cover;
	width: 100%;
	height: 140px;
	margin-bottom: 2em;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.bl_aboutus .wrap > div h3 {
	color:var(--theme-color);
	font-size: 0.9375rem;
	line-height: 1.2;
	margin:0 1em 2em 1em;
	text-align: center;
}
.bl_aboutus .wrap > div p {
	margin: 1.5em;
}


/*診療案内　medicalinfo*/
.bl_medicalinfo {
	background-color: #fcfbfc;
}
.ly_main .bl_medicalinfo {
	padding-bottom: 0;
}
/*bl_medicalinfoGrid*/
.bl_medicalinfoGrid {
	display: flex;
	flex-wrap: wrap;
	gap:50px 25px;
	justify-content: center;
	align-items:flex-start;
}
.bl_medicalinfoGrid > div {
	width: 145px;
	height: auto;
	text-align: center;
}
.bl_medicalinfoGrid > div .img {
	box-sizing: content-box;
	display: block;
	width: 130px;
	height: 130px;
	border: solid #fff 4px;
	border-radius: 67px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.25em;
	background-color: #ccc;
	/*↓画像は直書きで上書きします*/
	background-image: url("../../images/frontPage/medicalinfo01.jpg");
	background-size: cover;
	background-repeat: no-repeat;
}
.bl_medicalinfoGrid > div h3 {
	display: inline-block;
	position: static;
	text-align: left;
	font-size: 0.8rem;
	line-height: 1.5;
	background-image: url("../../images/common/mark.png");
	background-size: 18px;
	background-repeat: no-repeat;
	padding-left: 26px;
	margin-top: 0;
	vertical-align: top;
}
/*項目をリンクにする場合*/
.bl_medicalinfoGrid > div a {
    display: block;
    color: inherit;
}


/*アクセス・診療時間　Access & Consultation hour*/
.bl_access > .wrap {
	display: flex;
	gap:25px;
}
/*text*/
.bl_access .text {
	flex: 1;
}
.bl_access h3 {
	font-size: 1.1rem;
	margin-bottom: 0.25em;
	line-height: 1.2;
	color:var(--theme-color);
}

/*map*/
.bl_access .bl_map {
    width: min(60%,700px);
}
.bl_access .bl_map iframe {
	width: 100%;
	height: 100%;
}
/**/
@media screen and (max-width:950px){
	.bl_access > .wrap {
		display: block;
	}
	/*text*/
	.bl_access .text {
		width: 100%;
		margin-bottom: 2em;
	}
    .bl_timeTable th,
    .bl_timeTable td {
        padding: 12px;/*改*/
    }
	/*map*/
	.bl_access .map {
		width: 100%;
		height: auto;
		aspect-ratio:16 / 9;
	}
}
@media screen and (max-width:700px){
	.bl_access .map {
		aspect-ratio:1 / 1;
	}
}
@media screen and (max-width:480px){
    .bl_timeTable {
        min-width: inherit;
        max-width: 100%;
        overflow-x: scroll;
    }
    .bl_timeTable th,
    .bl_timeTable td {
        padding: 0.5em;
    }
}