@charset 'UTF-8';

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

	トップページ

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */



/* ================================================================================

	レイアウト

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		max-width: none;
		/* max-width: 1920px; 固定幅レイアウト時 */
		width: 100%;
		min-height: 50vh;
		display: block;
		margin: 0 auto;
	}

	.inner_wrap {
		position: relative;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		width: 100%;
	}

	.inner_wrap {
		position: relative;
	}
}





/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

	ここからコンテンツ内容

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



/* ================================================================================

	スライダー

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	.top_catch {
		position: absolute;
		z-index: 10;
		left: 50%;
		margin-left: -335.5px;
		top: 243px;
	}
	
	.covid_button {
		position: absolute;
		z-index: 10;
		bottom: 3px;
		width: 236px;
		left: 50%;
		margin-left: -526px;
	}
	.covid_button img {
		width: 100%;
	}

}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
    .swiper-container {
    }
	
	.top_catch {
		position: absolute;
		z-index: 10;
		left: 50%;
		margin-left: -41.5vw;
		top: 34vw;
		width: 83vw;
	}
	.top_catch img {
		width: 100%;
	}
	
	.covid_button {
		position: absolute;
		z-index: 10;
		bottom: 1vw;
		width: 27vw;
		left: 4vw;
	}
	.covid_button img {
		width: 100%;
	}
}





/* ================================================================================

	共通

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.button01 a {
		position: relative;
		display: block;
		font-size: 18px;
		border-radius: 10px;
		background-color: #20acca;
		color: #fff;
		text-align: center;
		font-weight: 500;
		width: 304px;
		padding: 13px 0 15px;
		letter-spacing: 0.08em;
	}
	.button01 a font {
		letter-spacing: 0;
		font-size: 16px;
	}
	.button01 a:after {
		content: '';
		position: absolute;
		background: url(../img/button_after.jpg) center top / contain no-repeat;
		top: 50%;
		right: 13px;
		width: 21.3px;
		height: 21.3px;
		margin-top: -10.65px;
	}
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.button01 a {
		position: relative;
		display: block;
		font-size: 3.4vw;
		border-radius: 2.5vw;
		background-color: #20acca;
		color: #fff;
		text-align: center;
		font-weight: 500;
		width: 60vw;
		padding: 3.3vw 0 3.5vw;
		letter-spacing: 0.08em;
		margin: 0 auto;
	}
	.button01 a:after {
		content: '';
		position: absolute;
		background: url(../img/button_after.jpg) center top / contain no-repeat;
		top: 50%;
		right: 5vw;
		width: 3.5vw;
		height: 3.5vw;
		margin-top: -1.75vw;
	}
	
	
}




/* ================================================================================

	お知らせ・イベント情報 / お役立ち情報

================================================================================ */

@keyframes slide_img {
    100% {
        background-position: -10000px 0;
        }
}

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row01 {
		padding: 118px 0 160px !important;
	}
	
	.row01:before {
		content: '';
		position: absolute;
		background: url(../img/chick.png) center top / contain no-repeat;
		width: 118px;
		height: 198px;
		left: 50%;
		bottom: 24px;
		margin-left: -620px;
		animation: img_box_9955 1s linear infinite;
		transform-origin: 50% 50%;
	}
	.row01:after {
		content: '';
		position: absolute;
		background: url(../img/wave.png) center top / contain repeat-x;
		width: 100%;
		height: 39px;
		bottom: 0;
		left: 0;
		animation-name: slide_img;
		animation-duration: 450s;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
	}

	
	.row01_left {
		background-color: #ffe0ec;
		margin-right: 57px;
		padding: 63px 36px 50px 36px;
	}
	.row01_left:before {
		content: '';
		position: absolute;
		background: url(../img/row01_title01_b.png) center top / contain no-repeat;
		width: 99px;
		height: 113px;
		top: -71px;
		left: 50%;
		margin-left: -49.5px;
	}
	
	.row01_right {
		background-color: #e0f2f9;
		padding: 63px 36px 50px 36px;
	}
	.row01_right:before {
		content: '';
		position: absolute;
		background: url(../img/row01_title02_b.png) center top / contain no-repeat;
		width: 108px;
		height: 106px;
		top: -54px;
		left: 50%;
		margin-left: -54px;
	}

	
	.row01_title01,
	.row01_title02 {
		width: 387px;
		margin: 0 auto;
	}
	.row01_title01 img,
	.row01_title02 img {
		width: 100%;
	}
	
	.row01 .post_wrap {
		margin-top: 13px;
	}
	
	.row01 .row01_left .post_wrap ul li {
		border-bottom: 1px solid #fc86b5;
		line-height: 1.85;
		padding: 7px 4px;
	}
	.row01 .row01_right .post_wrap ul li {
		border-bottom: 1px solid #20acca;
		line-height: 1.85;
		padding: 7px 4px;
	}
	.row01 .post_wrap ul li:first-of-type {
		padding-top: 0;
	}
	
	.row01 .post_wrap ul li a {
		color: #252525;
		letter-spacing: 0.06em;
	}
	.row01 .post_wrap .post_date {
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.065em;
	}
	.row01 .post_wrap .post_title {
		font-size: 16px;
	}
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	.row01 {
		padding: 24vw 0 40vw !important;
	}
	
	.row01:before {
		content: '';
		position: absolute;
		background: url(../img/chick.png) center top / contain no-repeat;
		width: 18vw;
		height: 30vw;
		left: 4vw;
		bottom: 3vw;
		animation: img_box_9955 1s linear infinite;
		transform-origin: 50% 50%;
	}
	.row01:after {
		content: '';
		position: absolute;
		background: url(../img/wave.png) center top / contain repeat-x;
		width: 100%;
		height: 8vw;
		bottom: 0;
		left: 0;
		animation-name: slide_img;
		animation-duration: 450s;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
	}

	
	.row01_left {
		background-color: #ffe0ec;
		padding: 13vw 6vw 10vw 6vw;
		margin: 0 6vw;
	}
	.row01_left:before {
		content: '';
		position: absolute;
		background: url(../img/row01_title01_b.png) center top / contain no-repeat;
		width: 20vw;
		height: 23vw;
		top: -14.3vw;
		left: 50%;
		margin-left: -10vw;
	}
	
	.row01_right {
		background-color: #e0f2f9;
		padding: 13vw 6vw 10vw 6vw;
		margin: 20vw 6vw 0;
	}
	.row01_right:before {
		content: '';
		position: absolute;
		background: url(../img/row01_title02_b.png) center top / contain no-repeat;
		width: 22vw;
		height: 21vw;
		top: -11vw;
		left: 50%;
		margin-left: -11vw;
	}

	
	.row01_title01,
	.row01_title02 {
		margin: 0 2vw;
	}
	.row01_title01 img,
	.row01_title02 img {
		width: 100%;
	}
	
	.row01 .post_wrap {
		margin-top: 4vw;
	}
	
	.row01 .row01_left .post_wrap ul li {
		border-bottom: 1px solid #fc86b5;
		line-height: 1.85;
		padding: 2vw;
	}
	.row01 .row01_right .post_wrap ul li {
		border-bottom: 1px solid #20acca;
		line-height: 1.85;
		padding: 2vw;
	}
	.row01 .post_wrap ul li:first-of-type {
		padding-top: 0;
	}
	
	.row01 .post_wrap ul li a {
		color: #252525;
		letter-spacing: 0.06em;
	}
	.row01 .post_wrap .post_date {
		font-size: 2.9vw;
		font-weight: 500;
		letter-spacing: 0.065em;
	}
	
}





/* ================================================================================

	当院について

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row02 {
		padding: 121px 0 !important;
	}
	
	.row02_content {
		margin-top: 49px !important;
	}
	
	.row02_title01 {
		width: 395px !important;
		margin: 0 auto;
	}
	.row02_title01 img {
		width: 100%;
	}
	
	.row02_title02 {
		margin-top: 16px;
	}
	.row02_title02 h3 {
		font-size: 22px;
		font-weight: 400;
		letter-spacing: 0.03em;
		line-height: 1.6;
	}
	
	.row02_text {
		margin-top: 26px;
		letter-spacing: 0.03em;
		line-height: 1.75;
	}
	
	.row02 .button_box {
		margin-top: 34px;
	}
	.row02 .button_box:after {
		content: '';
		position: absolute;
		background: url(../img/leaf02.png) center top / contain no-repeat;
		width: 132px;
		height: 99px;
		bottom: -61px;
		right: 96px;
	}
	
	.row02 .row02_img:before {
		content: '';
		position: absolute;
		background: url(../img/parrot.png) center top / contain no-repeat;
		width: 72px;
		height: 172px;
		top: -89px;
		right: 18px;
		animation: img_box_9955 3s linear infinite;
		transform-origin: 50% 50%;
	}

	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row02 {
		padding: 16vw 0 !important;
	}
	
	.row02_content {
		margin: 8vw 6vw !important;
	}
	
	.row02_title01 {
		width: 60vw !important;
		margin: 0 auto;
	}
	.row02_title01 img {
		width: 100%;
	}
	
	.row02_title02 {
		margin-top: 6vw;
	}
	.row02_title02 h3 {
		font-size: 3.7vw;
		font-weight: 400;
		letter-spacing: 0.03em;
		line-height: 1.6;
	}
	
	.row02_text {
		margin-top: 4vw;
		letter-spacing: 0.03em;
		line-height: 1.75;
		font-size: 3.15vw;
	}
	
	.row02 .button_box {
		margin-top: 6vw;
	}
	.row02 .button_box:after {
		content: '';
		position: absolute;
		background: url(../img/leaf02.png) center top / contain no-repeat;
		width: 24vw;
		height: 18vw;
		bottom: -15vw;
		right: -2vw;
	}
	
	.row02 .row02_img:before {
		content: '';
		position: absolute;
		background: url(../img/parrot.png) center top / contain no-repeat;
		width: 14vw;
		height: 33vw;
		bottom: -15vw;
		right: 4vw;
		animation: img_box_9955 3s linear infinite;
		transform-origin: 50% 50%;
	}
	
	
}





/* ================================================================================

	診療案内

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row03 {
		
	}
	
	.row03_title01 {
		width: 329px !important;
		margin: 0 auto;
	}
	.row03_title01 img {
		width: 100%;
	}
	
	.row03_content {
		margin-top: 53px;
	}
	
	.row03_box {
		width: 300px !important;
	}
	.box02 {
		margin: 0 50px !important;
	}
	
	.row03_title02 h3 {
		position: relative;
		font-size: 24px;
		font-weight: 500;
		padding: 0 0 5px 70px;
		letter-spacing: 0.08em;
	}
	.row03_title02 h3 font {
		font-size: 19px;
		letter-spacing: 0;
		margin-left: -3px;
	}
	
	.title01:before {
		content: '';
		position: absolute;
		background: url(../img/row03_01.jpg) center top / contain no-repeat;
		width: 300px;
		height: 31px;
		top: -1px;
		left: 0;
	}
	.title02:before {
		content: '';
		position: absolute;
		background: url(../img/row03_02.jpg) center top / contain no-repeat;
		width: 300px;
		height: 31px;
		top: -1px;
		left: 0;
	}
	.title03:before {
		content: '';
		position: absolute;
		background: url(../img/row03_03.jpg) center top / contain no-repeat;
		width: 300px;
		height: 31px;
		top: -1px;
		left: 0;
	}
	
	.row03_text {
		margin-top: 27px;
		line-height: 1.75;
		letter-spacing: 0.03em;
		min-height: 112px !important;
	}
	
	.row03 .button_box {
		width: 272px !important;
		margin: 26px auto 0;
	}
	
	.row03 .button01 a {
		width: 272px !important;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row03_title01 {
		width: 50vw !important;
		margin: 0 auto;
	}
	.row03_title01 img {
		width: 100%;
	}
	
	.row03_content {
		margin-top: 8vw;
	}
	
	.row03_box {
	}
	.box02 {
		margin: 10vw 0 !important;
	}
	
	.row03_title02 h3 {
		position: relative;
		font-size: 4vw;
		font-weight: 500;
		letter-spacing: 0.08em;
		text-align: center;
	}
	
	.title01:before {
		content: '';
		position: absolute;
		background: url(../img/row03_01_sp.jpg) center top / contain no-repeat;
		width: 88vw;
		height: 7vw;
		top: 0;
		left: 50%;
		margin-left: -44vw;
	}
	.title02:before {
		content: '';
		position: absolute;
		background: url(../img/row03_02_sp.jpg) center top / contain no-repeat;
		width: 88vw;
		height: 7vw;
		top: 0;
		left: 50%;
		margin-left: -44vw;
	}
	.title03:before {
		content: '';
		position: absolute;
		background: url(../img/row03_03_sp.jpg) center top / contain no-repeat;
		width: 88vw;
		height: 7vw;
		top: 0;
		left: 50%;
		margin-left: -44vw;
	}
	
	.row03_text {
		margin: 5vw 6vw 0;
		letter-spacing: 0.03em;
		line-height: 1.75;
		font-size: 3.15vw;
	}
	
	.row03 .button_box {
		margin-top: 4.5vw;
	}
	
	
}





/* ================================================================================

	〇〇

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
}





/* ================================================================================

	〇〇

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
}
