@charset "UTF-8";

/* ---------------------------------------------------------
 *	Main Visual
 *---------------------------------------------------------- */

#main {
	width: 100%;
	height: 900px;
	background: url(../image/pic_main_01.jpg) no-repeat center top;
	background-size: cover !important;
	position: relative;
}

#main .inner {
	max-width: 1200px;
	height: 100%;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
}

#main h2 {
	max-width: 1035px;
	z-index: 3;
	margin-left: -25px;
	margin-bottom: 135px;
}

@keyframes main_anime {
	0% {
		opacity: 0;
		transform: scale(1);
	}

	20% {
		opacity: 1;
	}

	40% {
		opacity: 0;
	}

	60% {
		opacity: 0;
		transform: scale(1.2);
		z-index: 1;
	}

	100% {
		opacity: 0;
	}
}

@media screen and (max-width: 1240px) {
	#main h2 {
		margin: 0 auto 50px;
	}
}

@media screen and (max-width: 960px) {
	#main {
		background: url(../image/pic_main_01.jpg) no-repeat calc(50% - 300px) top;
	}
}


@media screen and (max-width: 480px) {
	#main {
		height: 100vh;
	}

	#main h2 {
		margin: auto auto 30vw;
	}
}

/* ---------------------------------------------------------
 *	Grobal Navigation
 *---------------------------------------------------------- */

#gnav {
	font-size: 15px;
	text-align: center;
	max-width: 1330px;
	margin: 0 auto;
	padding: 50px 20px;
}

#gnav nav ul {
	display: flex;
	justify-content: space-between;
	border-left: 1px solid #c3c3c3;
}

#gnav nav ul.second {
	position: absolute;
	top: 20px;
	display: block;
	background: rgba(234, 246, 253, 0.61);
	border-left: none;
	padding: 10px 0;
	opacity: 0;
	transition: 0.3s ease;
}

#gnav nav ul li.single:hover ul.second {
	top: 30px;
	visibility: visible;
	opacity: 1;
}

#gnav nav ul li {
	width: 9%;
	border-right: 1px solid #c3c3c3;
}

#gnav nav ul li.single {
	position: relative;
}

#gnav nav ul li.single ul.second {
	width: 100%;
	z-index: 1;
}

#gnav nav ul li.single ul.second li {
	width: 100%;
	border-right: none;
	margin-bottom: 10px;
}

#gnav nav ul li.single ul.second li:last-child {
	margin-bottom: 0;
}

#gnav nav ul li a {
	transition: 0.3s ease;
}

#gnav nav ul li:first-child a {
	color: #00b3bd;
}

#gnav nav ul li.single ul.second li a {
	color: #655d5a;
	display: block;
}

#gnav nav ul li:first-child a span {
	border-bottom: 1px solid #00b3bd;
}

#gnav nav ul li.single ul.second li a span {
	border-bottom: none;
}

#gnav nav ul li a:hover {
	color: #00b3bd;
}

#gnav nav ul li.single ul.second li a:hover {
	color: #00b3bd;
}

@media screen and (max-width: 1200px) {
	#gnav {
		padding: 30px 20px;
	}

	#gnav nav ul {
		display: none;
	}
}

@media screen and (max-width: 480px) {
	#gnav {
		padding: 50px 20px 20px;
	}
}

/* ---------------------------------------------------------
 *	Title
 *---------------------------------------------------------- */

section .title_01 {
	line-height: 1;
	margin-bottom: 90px;
	white-space: nowrap;
}

section .title_01 strong {
	color: rgba(16, 122, 127, 0.25);
	font-size: 140px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.3em;
}

section .title_01 span {
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 0.25em;
	display: block;
	margin-top: 50px;
}


@media screen and (max-width: 960px) {
	section .title_01 strong {
		font-size: 100px;
	}

	section .title_01 span {
		font-size: 36px;
		margin-top: 20px;
	}
}


@media screen and (max-width: 480px) {
	section .title_01 {
		margin-bottom: 60px;
	}

	section .title_01 strong {
		font-size: 60px;
	}

	section .title_01 span {
		font-size: 24px;
	}
}

/* ---------------------------------------------------------
 *	Button
 *---------------------------------------------------------- */

section .button_01 a {
	color: #fff;
	font-size: 30px;
	letter-spacing: 0.1em;
	text-align: center;
	max-width: 462px;
	width: 100%;
	height: 81px;
	background: #476347;
	border: 1px solid #476347;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	position: relative;
	transition: 0.3s ease;
}

section .button_01 a:hover {
	color: #476347;
	background: #fff;
	border: 1px solid #476347;
}

section .button_01 a::before,
section .button_01 a::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 20px;
	width: 16px;
	height: 1px;
	border-radius: 9999px;
	background-color: #fff;
	transform-origin: calc(100% - 0.5px) 50%;
}

section .button_01 a:hover::before,
section .button_01 a:hover::after {
	background-color: #476347;
}

section .button_01 a::before {
	transform: rotate(45deg);
}

section .button_01 a::after {
	transform: rotate(-45deg);
}

section .button_01 span {
	margin-top: -8px;
}

@media screen and (max-width: 480px) {
	section .button_01 a {
		font-size: 18px;
		max-width: 280px;
		height: 60px;
	}

	section .button_01 a::before,
	section .button_01 a::after {
		width: 10px;
	}
}

/* ---------------------------------------------------------
 *	Animation
 *---------------------------------------------------------- */

section .ani_line_01 {
	position: relative;
	display: inline-block;
	z-index: 1;
}

section .ani_line_01.active:before {
	content: "";
	height: 1px;
	background: #655d5a;
	position: absolute;
	left: 0;
	bottom: 0;
	animation-name: ani_line_01;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	z-index: -1;
}

section .ani_line_01.yellow.active:before {
	height: 22px;
	background: #fffed3;
	bottom: 10px;
}

@keyframes ani_line_01 {
	0% {
		width: 0;
	}

	100% {
		width: 100%;
	}
}

/* ---------------------------------------------------------
 *	Link
 *---------------------------------------------------------- */

#link_01,
#link_02,
#link_04,
#link_05,
#link_06,
#link_07,
#link_08 {
	margin-top: -189px;
	padding-top: 189px;
}

#link_03 {
	margin-top: -335px;
	padding-top: 335px;
}

#link_07 {
	margin-top: -335px;
	padding-top: 335px;
}

#link_08 {
	margin-top: -335px;
	padding-top: 335px;
}

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

	#link_01,
	#link_02,
	#link_04,
	#link_05,
	#link_06,
	#link_07 {
		margin-top: -60px;
		padding-top: 60px;
	}

	#link_03 {
		margin-top: -160px;
		padding-top: 160px;
	}

	#link_07 {
		margin-top: -160px;
		padding-top: 160px;
	}

	#link_08 {
		margin-top: -160px;
		padding-top: 160px;
	}
}

/* ---------------------------------------------------------
 *	Contact
 *---------------------------------------------------------- */

section.contact {
	text-align: center;
	min-height: 864px;
	background: url(../image/bg_contact_01.png) no-repeat center center;
	background-size: 100% 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	margin-top: -94px;
	padding: 220px 0 127px;
}

section.contact .inner {
	width: 1200px;
	margin: 0 auto;
}

section.contact h2 {
	color: #fff;
	font-size: 85px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.35em;
	line-height: 1;
	margin-bottom: 60px;
}

section.contact h3 {
	font-size: 45px;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1;
	white-space: nowrap;
	max-width: 840px;
	background: #fff;
	border-radius: 10px;
	margin: 0 auto 10px;
	padding: 18px 20px;
}

section.contact h3 span {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

section.contact h3 span:before,
section.contact h3 span:after {
	content: "";
	display: inline-block;
	width: 27px;
	height: 46px;
	background: url(../image/line_02.svg);
	background-size: 100% 100%;
	margin-bottom: 7px;
}

section.contact h3 span:before {
	margin-right: 30px;
}

section.contact h3 span:after {
	margin-left: 30px;
	transform: rotate(180deg);
}

section.contact h3 em {
	color: #d49e33;
	font-size: 60px;
	font-weight: 700;
}

section.contact .txt {
	margin: 0 0 100px;
}

section.contact .box {
	display: flex;
	justify-content: space-between;
	justify-content: space-around;
}

section.contact .box div {
	width: 358px;
}

section.contact .box div a {
	line-height: 1;
	display: block;
	background: #fff;
	border-radius: 5px;
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.15);
	padding: 10px;
}

section.contact .box div a small {
	color: #fff;
	font-size: 16px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.2em;
	height: 30px;
	line-height: 30px;
	display: block;
	background: #3d362f;
}

section.contact .box div a em {
	display: grid;
	place-content: center;
	background: #f2ad3e;
	min-height: 127px;
}

section.contact .box .web a em {
	background: #70a3d2;
}

section.contact .box .line a em {
	background: #78c878;
}

section.contact .box div a span {
	font-size: 27px;
	font-weight: 700;
	letter-spacing: 0.05em;
	display: block;
	margin-bottom: 10px;
}

section.contact .box div a strong {
	color: #fff;
	font-size: 34px;
	font-weight: 900;
	letter-spacing: 0;
	white-space: nowrap;
	display: block;
	padding: 5px 0;
	text-shadow: 4px 4px 0px rgba(0, 0, 0, 0.15);
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #3d362f;
}

section.contact .box .tel a strong {
	font-size: 37px;
	background: url(../image/ico_tel_01.svg) no-repeat left top 16px;
	background-size: 26px;
	padding-left: 35px;
}

section.contact .box .web a strong {
	background: url(../image/ico_sp_01.svg) no-repeat left top 8px;
	background-size: 21px;
	padding-left: 30px;
}

section.contact .box .line a strong {
	background: url(../image/ico_line_01.svg) no-repeat left top 8px;
	background-size: 33px;
	padding-left: 45px;
}

@media screen and (max-width: 1920px) {
	section.contact {
		background-size: auto 100%;
	}
}

@media screen and (max-width: 1240px) {
	section.contact .inner {
		width: calc(100% - 40px);
		margin: 0 20px;
	}
}

@media screen and (max-width: 1154px) {
	section.contact.space {
		margin-top: -116px;
	}

	section.contact .box div {
		width: 32.136%;
	}

	section.contact .box {
		flex-wrap: wrap;
	}

	section.contact .box .tel {
		width: 100%;
		margin-bottom: 20px;
	}

	section.contact .box .web,
	section.contact .box .line {
		width: calc(50% - 10px);
		width: 100%;
	}

	section.contact .box div:last-child {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 960px) {
	section.contact h2 {
		font-size: 60px;
	}
}

@media screen and (max-width: 768px) {
	section.contact.space {
		margin-top: -125px;
	}

	section.contact h3 {
		font-size: 4.947vw;
		padding: 20px 0;
	}

	section.contact h3 em {
		font-size: 5.859vw;
	}

	section.contact h3 span:before,
	section.contact h3 span:after {
		width: 3.515vw;
		height: 5.989vw;
		margin-bottom: 0;
	}

	section.contact h3 span:before {
		margin-right: 3.906vw;
	}

	section.contact h3 span:after {
		margin-left: 3.906vw;
	}

	section.contact .box .web,
	section.contact .box .line {
		width: 100%;
		margin-bottom: 20px;
	}
}

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

@media screen and (max-width: 480px) {
	section.contact {
		min-height: 0;
		padding: 130px 0 60px;
	}

	section.contact.space {
		margin-top: -82px;
	}

	section.contact h2 {
		font-size: 10vw;
		margin-bottom: 30px;
	}

	section.contact h3 {
		border-radius: 5px;
		margin: 0 auto 10px;
	}

	section.contact .txt {
		margin: 0 auto 30px;
	}

	section.contact .box div a {
		padding: 5px;
	}

	section.contact .box div a strong {
		font-size: 34px;
		padding: 5px 0;
	}

	section.contact .box div a em {
		min-height: 100px;
	}
}

@media screen and (max-width: 400px) {
	section.contact .box div a span {
		font-size: 6.75vw;
		margin-bottom: 0;
	}

	section.contact .box div a strong {
		font-size: 8.5vw;
	}

	section.contact .box .tel a strong {
		font-size: 9.25vw;
		background: url(../image/ico_tel_01.svg) no-repeat left top 4vw;
		background-size: 6.5vw;
		padding-left: 8.75vw;
	}

	section.contact .box .web a strong {
		background: url(../image/ico_sp_01.svg) no-repeat left top 2vw;
		background-size: 5.25vw;
		padding-left: 7.5vw;
	}

	section.contact .box .line a strong {
		background: url(../image/ico_line_01.svg) no-repeat left top 2vw;
		background-size: 8.25vw;
		padding-left: 11.25vw;
	}
}

/* ---------------------------------------------------------
 *	Trouble
 *---------------------------------------------------------- */

section#trouble {
	text-align: center;
	background: #f7f6f1;
	margin-top: -17px;
}

section#trouble h2 {
	margin: 0 20px 60px;
}

section#trouble h2 span {
	color: #4689ab;
	font-size: 50px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.3em;
	display: block;
}

section#trouble h2 strong {
	font-size: 49px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

section#trouble h2 strong span {
	color: #3d362f;
	font-size: 59px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	line-height: 1.4;
	display: inline;
	background: linear-gradient(transparent 70%, rgba(93, 152, 179, 0.3) 70%);
}

section#trouble h2 strong em {
	color: #fff;
	font-size: 80px;
	font-weight: 900;
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #4689ab;
}

section#trouble .frame {
	color: #534741;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.6;
	max-width: 1300px;
	background: linear-gradient(to bottom, rgba(148, 210, 255, 0.5) 0%, rgba(46, 142, 209, 0.5) 100%);
	border-radius: 20px;
	margin: 0 auto;
	padding: 60px;
}

section#trouble h3 {
	font-size: 54px;
	font-weight: 700;
	letter-spacing: 0.15em;
	margin: 0 20px -30px;
	text-shadow: 4px 4px 0px rgba(0, 0, 0, 0.15);
}

section#trouble h3 img {
	max-width: 1112px;
	width: 100%;
	margin: 1px auto 0;
}

section#trouble .bg {
	background: url(../image/bg_trouble_01.jpg) no-repeat center top;
	background-size: cover;
	padding: 100px 0 0;
}

section#trouble .box {
	min-height: 805px;
	background: url(../image/pic_troble_01.jpg) no-repeat center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 100px;
	padding: 20px 0;
	position: relative;
}

section#trouble .box:before {
	width: 100%;
	height: 100%;
	background: rgba(117, 88, 49, 0.2);
	content: "";
	position: absolute;
	left: 0;
	top: 0;
}

section#trouble .inner {
	min-width: 1100px;
	margin: 0 auto;
}

section#trouble ul {
	max-width: 753px;
	background: rgba(255, 255, 255, 0.8);
	padding: 60px;
	border-radius: 20px;
	position: relative;
}

section#trouble li {
	font-size: 30px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-align: left;
	margin-bottom: 10px;
	padding-left: 60px;
	background: url(../image/ico_check_01.svg) no-repeat left top 7px;
	background-size: 27px;
}

section#trouble li:last-child {
	margin-bottom: 0;
}

section#trouble .frame_02 {
	max-width: 1024px;
	background: linear-gradient(to bottom, rgba(148, 210, 255, 0.5) 0%, rgba(46, 142, 209, 0.5) 100%);
	margin: 100px auto 0;
	padding: 30px 75px 60px;
	border-radius: 20px;
}

section#trouble .frame_02 h5 {
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-align: center;
	margin-bottom: 20px;
}

section#trouble .frame_02 h5 em {
	color: #e38120;
	font-size: 48px;
}

section#trouble .frame_02 p {
	line-height: 2;
}

@media screen and (max-width: 1920px) {
	section#trouble {
		margin-top: -20px;
	}
}

@media screen and (max-width: 1340px) {
	section#trouble .frame {
		margin: 0 20px;
	}
}

@media screen and (max-width: 1140px) {
	section#trouble .inner {
		min-width: 0;
		margin: 0 20px;
	}
}

@media screen and (max-width: 1064px) {
	section#trouble .frame_02 {
		margin: 120px 20px 0;
	}
}

@media screen and (max-width: 1053px) {
	section#trouble h3 {
		font-size: 5.128vw;
		margin: 0 20px -2.849vw;
	}
}

@media screen and (max-width: 480px) {
	section#trouble h2 span {
		font-size: 30px;
	}

	section#trouble h2 strong {
		font-size: 24px;
	}

	section#trouble h2 strong span {
		font-size: 30px;
	}

	section#trouble h2 strong em {
		font-size: 36px;
		-webkit-text-stroke: 1px #4689ab;
	}

	section#trouble .box {
		justify-content: center;
		min-height: 0;
		margin-bottom: 60px;
	}

	section#trouble ul {
		width: 100%;
		padding: 20px;
		border-radius: 10px;
	}

	section#trouble li {
		font-size: 18px;
		padding-left: 25px;
		background: url(../image/ico_check_01.svg) no-repeat left top 5px;
		background-size: 15px;
	}

	section#trouble .frame {
		font-size: 18px;
		text-align: left;
		padding: 30px 20px 20px;
		border-radius: 10px;
	}

	section#trouble .frame_02 {
		margin: 30px 20px 0;
		padding: 20px;
		border-radius: 10px;
	}

	section#trouble .frame_02 h5 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	section#trouble .frame_02 h5 em {
		font-size: 24px;
	}

	section#trouble h3 {
		font-size: 24px;
		margin-bottom: -20px;
	}

	section#trouble h3 img {
		max-width: 300px;
		margin: 5px auto 0;
	}
}

/* ---------------------------------------------------------
 *	Colonoscopy
 *---------------------------------------------------------- */

section#colonoscopy {
	background: #f7f6f1;
	padding: 200px 0 370px;
}

section#colonoscopy h2 {
	color: #107a7f;
	font-size: 100px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.3em;
	line-height: 1;
	margin-left: 160px;
	margin-bottom: -35px;
	opacity: 0.25;
}

section#colonoscopy h2 span {
	color: #d49e33;
	font-size: 140px;
}

section#colonoscopy ul li {
	background: #fff;
	margin-right: 260px;
	padding: 100px 100px 260px;
	border-radius: 0 100px 100px 0;
	box-shadow: 15px 15px 0px 0px rgba(0, 0, 0, 0.05);
}

section#colonoscopy ul li:nth-child(2) {
	color: #fff;
	background: url(../image/bg_colonoscopy_01.jpg);
	margin-right: 0;
	margin-left: 260px;
	margin-top: -150px;
	padding: 0;
	border-radius: 100px 0 0 100px;
}

section#colonoscopy ul li h3 {
	font-size: 48px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
	text-align: center;
	margin: 0 20px 40px;
}

section#colonoscopy ul li h3 span {
	display: inline-block;
	padding: 34px 0 34px 180px;
}

section#colonoscopy ul li:nth-child(1) h3 span {
	background: url(../image/ico_colonoscopy_01.svg) no-repeat left center;
	background-size: 128px;
}

section#colonoscopy ul li:nth-child(2) h3 span {
	background: url(../image/ico_colonoscopy_02.svg) no-repeat left center;
	background-size: 113px;
}

section#colonoscopy ul li h3 em {
	color: #0b6493;
	font-size: 63px;
	font-weight: 700;
}

section#colonoscopy .bg {
	color: #3d362f;
	background: url(../image/bg_colonoscopy_02.jpg) no-repeat center center;
	background-size: cover;
	padding: 150px 0 100px;
	border-radius: 100px 0 0 100px;
}

section#colonoscopy .box_01 {
	display: flex;
	justify-content: center;
}

section#colonoscopy .box_01 .pic {
	width: 855px;
	margin-right: 40px;
}

section#colonoscopy .box_01 .txt {
	width: 656px;
	line-height: 2;
}

section#colonoscopy .box_02 {
	max-width: 1200px;
	margin: 0 auto;
}

section#colonoscopy .box_02 dl {
	font-weight: 500;
	width: 100%;
	background: #fff;
	border: 1px solid #3d362f;
	border-radius: 5px;
}

section#colonoscopy .box_02 dt {
	color: #fff;
	font-size: 40px;
	letter-spacing: 0.3em;
	text-align: center;
	height: 128px;
	line-height: 128px;
	background: #3d362f;
	border-radius: 5px 5px 0 0;
}

section#colonoscopy .box_02 dd {
	font-size: 25px;
	padding: 30px 35px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

section#colonoscopy .box_02 dd p {
	width: 33%;
	text-indent: -1em;
	padding-left: 1em;
	padding-right: 1em;
}

section#colonoscopy .box_02 dd p:nth-child(3n) {
	padding-right: 0;
}

section#colonoscopy .box_02 dd span {
	color: #5792b5;
}

@media screen and (max-width: 1500px) {
	section#colonoscopy ul li {
		margin-right: 20px;
	}

	section#colonoscopy ul li:nth-child(2) {
		margin-left: 20px;
	}
}

@media screen and (max-width: 1300px) {
	section#colonoscopy h2 {
		font-size: 7.692vw;
		margin-bottom: -2.692vw;
		margin-left: 1.538vw;
	}

	section#colonoscopy h2 span {
		font-size: 10.769vw;
	}
}

@media screen and (max-width: 1260px) {
	section#colonoscopy ul li {
		padding: 100px 20px 260px;
	}

	section#colonoscopy .box_02 {
		margin: 0 20px;
	}
}

@media screen and (max-width: 960px) {
	section#colonoscopy ul li h3 {
		margin: 0 0 60px;
	}

	section#colonoscopy ul li:nth-child(2) h3 {
		margin: 0 20px 60px;
	}

	section#colonoscopy ul li h3 span {
		padding: 168px 0 0;
	}

	section#colonoscopy ul li:nth-child(1) h3 span {
		background: url(../image/ico_colonoscopy_01.svg) no-repeat center top;
		background-size: 128px;
	}

	section#colonoscopy ul li:nth-child(2) h3 span {
		background: url(../image/ico_colonoscopy_02.svg) no-repeat center top;
		background-size: 113px;
		padding: 113px 0 0;
	}

	section#colonoscopy .box_02 {
		display: block;
	}

	section#colonoscopy .box_02 dl {
		width: 100%;
		margin-bottom: 20px;
	}

	section#colonoscopy .box_02 dl:last-child {
		margin-bottom: 0;
	}
}

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

	section#colonoscopy .box_01 {
		display: block;
	}

	section#colonoscopy .box_01 .pic {
		width: 100%;
		margin: 0 0 20px;
	}

	section#colonoscopy .box_01 .txt {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	section#colonoscopy .box_02 dd {
		font-size: 25px;
		padding: 30px 35px;
		display: block;
	}

	section#colonoscopy .box_02 dd p {
		width: 100%;
		padding-right: 0;
	}
}

@media screen and (max-width: 480px) {
	section#colonoscopy {
		background: #f7f6f1;
		padding: 100px 0 200px;
	}

	section#colonoscopy .bg {
		padding: 60px 0 60px;
		border-radius: 50px 0 0 50px;
	}

	section#colonoscopy ul li {
		padding: 60px 20px 90px;
		border-radius: 0 50px 50px 0;
	}

	section#colonoscopy ul li:nth-child(2) {
		margin-top: -30px;
		border-radius: 50px 0 0 50px;
	}

	section#colonoscopy ul li h3 {
		font-size: 7.5vw;
		margin: 0 0 30px;
	}

	section#colonoscopy ul li:nth-child(2) h3 {
		margin: 0 20px 30px;
	}

	section#colonoscopy ul li h3 em {
		font-size: 10vw;
	}

	section#colonoscopy ul li h3 span {
		padding: 20.833vw 10px 0;
	}

	section#colonoscopy ul li:nth-child(1) h3 span {
		background: url(../image/ico_colonoscopy_01.svg) no-repeat center top;
		background-size: 16.666vw;
	}

	section#colonoscopy ul li:nth-child(2) h3 span {
		background: url(../image/ico_colonoscopy_02.svg) no-repeat center top;
		background-size: 16.666vw;
		padding: 16.666vw 0 0;
	}

	section#colonoscopy .box_02 dt {
		font-size: 24px;
		height: auto;
		line-height: 1.4;
		padding: 10px;
	}

	section#colonoscopy .box_02 dd {
		font-size: 18px;
		padding: 20px;
	}
}

/* ---------------------------------------------------------
 *	Reason
 *---------------------------------------------------------- */

section#reason {
	background: #cbddea;
	padding: 0 0 230px;
	position: relative;
}

section#reason:before,
section#reason:after {
	content: "";
	position: absolute;
	left: 0;
	background: url(../image/bg_reason_01.png);
	background-size: 100% 100%;
	width: 100%;
	height: 4.895vw;
}

section#reason:before {
	top: -4.895vw;
}

section#reason:after {
	bottom: -4.895vw;
	transform: rotate(180deg);
}

section#reason h2 {
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.4;
	text-align: center;
	width: 551px;
	display: grid;
	place-content: center;
	background: #fff;
	border: 12px solid #bed1c6;
	border-radius: 10px;
	margin: 0 auto -211px;
	padding: 60px 20px;
	position: relative;
	top: -146px;
	z-index: 1;
}

section#reason h2 small {
	font-size: 36px;
}

section#reason h2 span {
	color: #5792b5;
	font-size: 41px;
}

section#reason h2 strong {
	font-size: 58px;
	font-weight: 500;
}

section#reason h2 em {
	color: #fff;
	font-size: 80px;
	font-weight: 700;
	text-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #5792b5;
}

section#reason .frame_01 {
	max-width: 1600px;
	background: #fff;
	margin: 0 auto;
	padding: 0 0 134px;
	border-radius: 100px;
}

section#reason ol li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
	padding: 0 0 40px 230px;
	position: relative;
}

section#reason ol li:nth-child(even) {
	padding: 0 230px 40px 0;
}

section#reason ol li:last-child {
	margin-bottom: 0;
}

section#reason ol li:nth-child(1) {
	border-radius: 100px 100px 0 0;
	padding-top: 200px;
}

section#reason ol li:nth-child(odd) {
	background: #f7f6f1;
}

section#reason ol li:nth-child(odd):before,
section#reason ol li:nth-child(odd):after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -62px;
	width: 100%;
	height: 62px;
	background: url(../image/bg_reason_03.png);
	background-size: 100% 100%;
}

section#reason ol li:nth-child(odd):before {
	top: -62px;
	bottom: auto;
	transform: rotate(180deg);
}

section#reason ol li:nth-child(1):before {
	display: none;
}

section#reason ol li:nth-child(odd):after {
	bottom: -62px;
}

section#reason ol li .pic {
	width: 840px;
	z-index: 1;
}

section#reason ol li:nth-child(odd) .pic {
	order: 2;
	margin-right: -100px;
	margin-left: 40px;
}

section#reason ol li:nth-child(even) .pic {
	margin-right: 40px;
	margin-left: -100px;
}


section#reason ol li:nth-child(3) .pic,
section#reason ol li:nth-child(5) .pic {
	margin-top: -30px;
}

section#reason ol li .txt {
	width: 550px;
	z-index: 1;
	position: relative;
	padding-top: 180px;
	z-index: 2;
}

section#reason ol li:nth-child(3) .txt,
section#reason ol li:nth-child(5) .txt {
	margin-top: -30px;
}

section#reason ol li .txt h3 {
	line-height: 1;
	margin-bottom: 60px;
	white-space: nowrap;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0;
}

section#reason ol li:nth-child(even) .txt h3 {
	left: auto;
	right: 0;
}

section#reason ol li .txt h3 span {
	width: 181px;
	height: 137px;
	background: url(../image/ico_reason_01.png);
	background-size: 100% 100% !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 40px 0 -40px;
}

section#reason ol li:nth-child(even) .txt h3 span {
	order: 2;
	margin: 0 0 0 40px;
}

section#reason ol li:nth-child(2) .txt h3 span,
section#reason ol li:nth-child(5) .txt h3 span {
	background: url(../image/ico_reason_02.png);
}

section#reason ol li:nth-child(3) .txt h3 span,
section#reason ol li:nth-child(6) .txt h3 span {
	background: url(../image/ico_reason_03.png);
}

section#reason ol li .txt h3 small {
	color: #d49e33;
	font-size: 21px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-top: -30px;
	margin-right: -0.25em;
}

section#reason ol li .txt h3 em {
	color: #fff;
	font-size: 83px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 135px;
}

section#reason ol li .txt h3 strong {
	font-size: 48px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.2em;
}

section#reason ol li:nth-child(2) .txt h3 strong,
section#reason ol li:nth-child(5) .txt h3 strong {
	color: #d49e33;
}

section#reason ol li:nth-child(3) .txt h3 strong,
section#reason ol li:nth-child(6) .txt h3 strong {
	color: #5d98b3;
}

section#reason ol li .txt h4 {
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.6;
	margin-bottom: 30px;
	white-space: nowrap;
}

section#reason ol li:nth-child(2) .txt h4 {
	letter-spacing: 0;
}

section#reason ol li .txt p {
	line-height: 2;
}

section#reason .frame_02 {
	max-width: 1024px;
	background: linear-gradient(to bottom, rgba(148, 210, 255, 0.5) 0%, rgba(46, 142, 209, 0.5) 100%);
	margin: 100px auto 0;
	padding: 30px 75px 60px;
	border-radius: 20px;
}

section#reason .frame_02 h5 {
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-align: center;
	margin-bottom: 20px;
}

section#reason .frame_02 h5 em {
	color: #e38120;
	font-size: 48px;
}

section#reason .frame_02 p {
	line-height: 2;
}

@media screen and (max-width: 1640px) {
	section#reason .frame_01 {
		margin: 0 20px;
	}

	section#reason ol li {
		padding-left: 40px;
	}

	section#reason ol li:nth-child(even) {
		padding: 0 40px 40px 0;
	}

	section#reason ol li .pic {
		width: 54.545%;
	}

	section#reason ol li .txt {
		width: 50.649%;
	}

	section#reason ol li .txt h3 span {
		margin: 0 40px 0 0;
	}

	section#reason ol li .txt h4 {
		white-space: normal;
	}
}

@media screen and (max-width: 1200px) {
	section#reason ol li .txt {
		padding-top: 15vw;
	}

	section#reason ol li .txt h3 span {
		width: 15.083vw;
		height: 11.416vw;
		margin: 0 3.333vw 0 0;
	}

	section#reason ol li:nth-child(even) .txt h3 span {
		margin: 0 0 0 3.333vw;
	}

	section#reason ol li .txt h3 small {
		font-size: 1.75vw;
		margin-top: -2.5vw;
	}

	section#reason ol li .txt h3 em {
		font-size: 6.916vw;
		line-height: 11.25vw;
	}

	section#reason ol li .txt h3 strong {
		font-size: 4vw;
	}
}


@media screen and (max-width: 1064px) {
	section#reason .frame_02 {
		margin: 120px 20px 0;
	}
}

@media screen and (max-width: 768px) {
	section#reason ol li {
		display: block;
		padding: 20px;
	}

	section#reason ol li:nth-child(even) {
		padding: 0 20px;
	}

	section#reason ol li .pic {
		width: 100%;
		margin-bottom: 50px;
	}

	section#reason ol li:nth-child(odd) .pic {
		order: 2;
		margin-right: 0;
		margin-left: 0;
	}

	section#reason ol li:nth-child(even) .pic {
		margin-right: 0;
		margin-left: 0;
	}

	section#reason ol li:nth-child(3) .pic,
	section#reason ol li:nth-child(5) .pic {
		margin-top: 0;
	}

	section#reason ol li .txt {
		width: 100%;
	}

	section#reason ol li:nth-child(3) .txt,
	section#reason ol li:nth-child(5) .txt {
		margin-top: 0;
	}
}

@media screen and (max-width: 591px) {
	section#reason h2 {
		width: auto;
		margin: 0 20px -211px;
	}
}

@media screen and (max-width: 480px) {
	section#reason {
		padding: 0 0 200px;
	}

	section#reason h2 {
		top: -100px;
		margin: 0 40px -120px;
		padding: 20px;
		border: 5px solid #bed1c6;
	}

	section#reason h2 small {
		font-size: 24px;
	}

	section#reason h2 span {
		font-size: 30px;
	}

	section#reason h2 strong {
		font-size: 36px;
	}

	section#reason h2 em {
		font-size: 48px;
	}

	section#reason .frame_01 {
		padding: 0 0 60px;
		border-radius: 20px;
	}

	section#reason ol li {
		margin-bottom: 60px;
	}

	section#reason ol li:nth-child(odd):before {
		top: -30px;
	}

	section#reason ol li:nth-child(1) {
		border-radius: 20px 20px 0 0;
		padding-top: 60px;
	}

	section#reason ol li:nth-child(odd):before,
	section#reason ol li:nth-child(odd):after {
		bottom: -30px;
		height: 30px;
	}

	section#reason ol li .pic {
		margin-bottom: 40px;
	}

	section#reason ol li .txt {
		padding-top: 0;
	}

	section#reason ol li .txt h3 {
		position: static;
		text-align: center;
		display: block;
		margin-bottom: 30px;
	}

	section#reason ol li .txt h3 span {
		width: 15.083vw;
		height: 11.416vw;
		margin: 0 auto 3.333vw;
	}

	section#reason ol li:nth-child(even) .txt h3 span {
		margin: 0 auto 3.333vw;
	}

	section#reason ol li .txt h4 {
		font-size: 6.25vw;
		margin-bottom: 20px;
	}

	section#reason .frame_02 {
		margin: 30px 20px 0;
		padding: 20px;
		border-radius: 10px;
	}

	section#reason .frame_02 h5 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	section#reason .frame_02 h5 em {
		font-size: 24px;
	}
}

@media screen and (max-width: 400px) {
	section#reason h2 {
		white-space: nowrap;
	}

	section#reason h2 small {
		font-size: 6vw;
	}

	section#reason h2 span {
		font-size: 7.5vw;
	}

	section#reason h2 strong {
		font-size: 9vw;
	}

	section#reason h2 em {
		font-size: 12vw;
	}
}

/* ---------------------------------------------------------
 *	Others
 *---------------------------------------------------------- */

section#others {
	background: #f7f6f1;
}

section#others .box {
	max-width: 1200px;
	margin: 0 auto 80px;
	padding: 180px 0 0;
	display: flex;
	justify-content: space-between;
}

section#others .box:last-child {
	margin-bottom: 0;
	padding: 0 0 150px;
}

section#others .box .pic {
	width: 420px;
}

section#others .box:nth-child(odd) .pic {
	order: 2;
	margin-top: 170px;
}

section#others .box .txt {
	width: 610px;
	z-index: 1;
}

section#others .box .txt h4 {
	font-size: 50px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin-bottom: 30px;
	white-space: nowrap;
}

section#others .box .txt p {
	line-height: 2;
}

@media screen and (max-width: 1500px) {
	section#others .box .pic {
		width: 30%;
	}

	section#others .box .txt {
		width: calc(70% - 40px);
	}
}

@media screen and (max-width: 1260px) {
	section#others .box {
		margin: 0 20px 80px;
	}
}

@media screen and (max-width: 1024px) {
	section#others .box:nth-child(odd) .pic {
		margin-top: 0;
	}

	section#others .box .txt h4 {
		white-space: normal;
	}
}

@media screen and (max-width: 768px) {
	section#others .box {
		display: block;
	}

	section#others .box .pic {
		width: 70%;
		margin: 0 auto 30px;
	}

	section#others .box .txt {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	section#others .box {
		margin: 0 20px 60px;
		padding: 60px 0 0;
	}

	section#others .box:last-child {
		margin-bottom: 0;
		padding: 0 0 60px;
	}

	section#others .box .txt h4 {
		font-size: 24px;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 400px) {
	section#others .box .txt h4 {
		font-size: 6vw;
	}
}

/* ---------------------------------------------------------
 *	Flow
 *---------------------------------------------------------- */

section#flow {
	background: #f7f6f1;
	margin-top: -17px;
	padding: 145px 0 233px;
}

section#flow h2 {
	max-width: 1600px;
	margin: 0 auto;
}

section#flow .inner {
	max-width: 1200px;
	margin: 0 auto;
}

section#flow h2 {
	line-height: 1;
	text-align: center;
	margin-bottom: 90px;
}

section#flow h2 strong {
	color: #fff;
	font-size: 80px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.35em;
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #3d362f;
	display: block;
	background: url(../image/line_05.svg) no-repeat calc(50% - 567px) center, url(../image/line_05.svg) no-repeat calc(50% + 567px) center;
	background-size: 567px 11px !important;
}

section#flow h2 span {
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 0.3em;
	display: block;
	margin-top: 40px;
}

section#flow ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}

section#flow ul li {
	width: 30.833%;
}

section#flow ul li p {
	line-height: 2;
}

section#flow h3 {
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.3em;
	height: 60px;
	line-height: 60px;
	text-align: center;
	background: #3d362f;
	border-radius: 30px;
	margin-bottom: 30px;
}

section#flow ol li {
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 80px;
	background: url(../image/dot_01.svg) repeat-y 65px top;
	background-size: 3px auto;
}

section#flow ol li:after {
	content: "";
	position: absolute;
	left: 65px;
	top: 0;
	width: 4px;
	height: 150px;
	background: #f7f6f1;
}

section#flow ol li:last-child {
	background: none;
}

section#flow ol li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

section#flow .box {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}

section#flow .pic {
	width: 440px;
	position: absolute;
	top: -40px;
	right: 0;
	z-index: 1;
}

section#flow .txt {
	width: 700px;
	background: #fff;
	box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.15);
	border-radius: 5px;
	margin-left: 110px;
	padding: 40px 60px 60px;
}

section#flow ol li:last-child .txt {
	margin-bottom: 0;
}

section#flow .txt p {
	line-height: 2;
}

section#flow .txt p em {
	text-indent: -1em;
	padding-left: 1em;
	display: block;
}

section#flow .txt p em span {
	color: #f2ad3e;
}

section#flow h4 {
	font-size: 37px;
	font-weight: 500;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
}

section#flow h4 span {
	color: #fff;
	font-size: 75px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #3d362f;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(to bottom, rgba(87, 146, 181, 1) 0%, rgba(125, 170, 202, 1) 100%);
	width: 130px;
	height: 130px;
	line-height: 120px;
	border-radius: 50%;
	z-index: 1;
}

section#flow h4 span:before {
	content: "";
	position: absolute;
	left: -10px;
	top: -10px;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 2px solid #3d362f;
}

section#flow .frame {
	max-width: 976px;
	background: rgba(125, 170, 202, 0.15);
	margin: 34px 0 0 110px;
	padding: 30px 60px;
}

section#flow h5 {
	color: #5792b5;
	font-size: 23px;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}

@media screen and (max-width: 1920px) {
	section#flow {
		margin-top: -20px;
	}
}

@media screen and (max-width: 1240px) {
	section#flow .inner {
		margin: 0 20px;
	}

	section#flow .pic {
		width: 70%;
		position: static;
		margin: 20px auto 0;
	}

	section#flow .txt {
		width: calc(100% - 110px);
	}
}

@media screen and (max-width: 960px) {
	section#flow h2 strong {
		font-size: 48px;
		background: url(../image/line_05.svg) no-repeat calc(50% - 450px) center, url(../image/line_05.svg) no-repeat calc(50% + 450px) center;
	}

	section#flow h2 span {
		font-size: 24px;
		margin-top: 20px;
	}

	section#flow ul {
		display: block;
	}

	section#flow ul li {
		width: 100%;
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 768px) {
	section#flow .pic {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	section#flow {
		padding: 100px 0 100px;
	}

	section#flow h2 {
		margin-bottom: 60px;
	}

	section#flow h2 strong {
		background: url(../image/line_05.svg) no-repeat calc(50% - 420px) center, url(../image/line_05.svg) no-repeat calc(50% + 420px) center;
	}

	section#flow ul {
		margin-bottom: 60px;
	}

	section#flow ul li {
		margin-bottom: 30px;
	}

	section#flow h3 {
		font-size: 18px;
		height: auto;
		line-height: 1.4;
		margin-bottom: 10px;
		padding: 10px;
	}

	section#flow ol li {
		padding-bottom: 30px;
		background: url(../image/dot_01.svg) repeat-y 25px top;
		background-size: 2px auto;
	}

	section#flow ol li:after {
		left: 25px;
		width: 3px;
		height: 90px;
	}

	section#flow .txt {
		width: calc(100% - 60px);
		margin-left: 60px;
		padding: 15px 20px 20px;
	}

	section#flow h4 {
		font-size: 24px;
		margin-bottom: 10px;
	}

	section#flow h4 span {
		font-size: 36px;
		width: 70px;
		height: 70px;
		line-height: 65px;
		left: -10px;
		top: 0;
	}

	section#flow h4 span:before {
		left: -5px;
		top: -5px;
		width: 80px;
		height: 80px;
	}

	section#flow .frame {
		margin: 30px 0 0 60px;
		padding: 20px;
	}

	section#flow h5 {
		font-size: 18px;
	}
}

/* ---------------------------------------------------------
 *	Doctor
 *---------------------------------------------------------- */

section#doctor {
	padding: 180px 0 285px;
	background: url(../image/bg_doctor_01.jpg) no-repeat center top;
	background-size: cover;
}

section#doctor h2 {
	line-height: 1;
	text-align: center;
	width: 600px;
	background: url(../image/bg_doctor_03.jpg);
	margin: 0 auto -50px;
	padding: 60px 20px;
	border-radius: 5px;
	position: relative;
}

section#doctor h2:before,
section#doctor h2:after {
	width: 100%;
	height: 11px;
	background: url(../image/line_05.svg);
	background-size: 100% 100%;
	content: "";
	position: absolute;
	left: 0;
	top: -23px;
}

section#doctor h2:after {
	left: 0;
	top: auto;
	bottom: -23px;
	transform: rotate(180deg);
}

section#doctor h2 strong {
	color: #fff;
	font-size: 70px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.35em;
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #3d362f;
}

section#doctor h2 span {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.3em;
	display: block;
	margin-top: 30px;
}

section#doctor .frame_01 {
	max-width: 1600px;
	margin: 0 auto;
	background: #fff;
	border-radius: 100px;
	padding: 180px 0 140px;
}

section#doctor .frame_01 .box {
	max-width: 1400px;
	display: flex;
	justify-content: space-between;
	margin: 0 0 100px auto;
}

section#doctor .pic {
	width: 48.571%;
	order: 2;
}

section#doctor .txt {
	width: 46.428%;
}

section#doctor h3 {
	color: #fff;
	font-size: 37px;
	letter-spacing: 0.15em;
	margin-bottom: 30px;
}

section#doctor h3 span {
	background: #3d362f;
	padding: 0 10px;
}

section#doctor p {
	line-height: 2;
}

section#doctor .name {
	font-size: 20px;
	letter-spacing: 0.1em;
	text-align: right;
	margin-top: 40px;
}

section#doctor .name span {
	font-size: 24px;
	letter-spacing: 0.2em;
	margin: 0 15px;
}

section#doctor .name ruby {
	font-size: 30px;
	letter-spacing: 0.3em;
}

section#doctor .name rt {
	font-size: 15px;
}

section#doctor .frame_02 {
	background: rgba(16, 122, 127, 0.15);
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 120px;
}

section#doctor h4 {
	font-size: 36px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	letter-spacing: 0.35em;
	line-height: 1;
	text-align: center;
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #3d362f;
	margin-bottom: 40px;
}

section#doctor h5 {
	color: #107a7f;
	font-size: 25px;
	font-weight: 500;
	letter-spacing: 0.3em;
	line-height: 1;
	margin-bottom: 20px;
}

section#doctor .frame_02 .box {
	justify-content: space-between;
	margin: 0;
}

section#doctor .frame_02 table {
	font-size: 16px;
	width: 100%;
}

section#doctor .frame_02 th {
	width: 4em;
	font-weight: 500;
	text-align: left;
	vertical-align: top;
}

@media screen and (max-width: 1640px) {
	section#doctor .frame_01 {
		margin: 0 20px;
	}
}

@media screen and (max-width: 1480px) {
	section#doctor .frame_01 .box {
		margin: 0 20px 100px;
	}

	section#doctor .frame_02 .box {
		margin: 0 20px;
	}
}

@media screen and (max-width: 1300px) {
	section#doctor .name em {
		display: block;
	}
}

@media screen and (max-width: 1260px) {
	section#doctor .frame_02 .box div {
		width: calc(50% - 20px);
	}

	section#doctor .frame_02 {
		margin: 0 20px;
		padding: 80px 20px;
	}
}

@media screen and (max-width: 960px) {
	section#doctor h2 {
		width: calc(100% - 40px);
		max-width: 440px;
		padding: 40px 20px;
	}

	section#doctor h2 strong {
		font-size: 48px;
	}

	section#doctor h2 span {
		font-size: 24px;
		margin-top: 20px;
	}

	section#doctor .frame_01 .box {
		display: block;
	}

	section#doctor .pic {
		width: 70%;
		margin: 0 auto 30px;
	}

	section#doctor .txt {
		width: 100%;
	}

	section#doctor .frame_02 .box {
		display: flex;
	}
}

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

@media screen and (max-width: 640px) {
	section#doctor .frame_02 .box {
		display: block;
	}

	section#doctor .frame_02 .box div {
		width: 100%;
	}

	section#doctor .frame_02 .box div:first-child {
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 480px) {
	section#doctor {
		padding: 100px 0 200px;
	}

	section#doctor h2 {
		width: calc(100% - 80px);
		margin: 0 40px -10px;
	}

	section#doctor h2:before,
	section#doctor h2:after {
		width: 100%;
		height: 10px;
	}

	section#doctor h2:before {
		top: -15px;
	}

	section#doctor h2:after {
		bottom: -15px;
	}

	section#doctor h2 strong {
		font-size: 30px;
	}

	section#doctor h2 span {
		font-size: 18px;
	}

	section#doctor .frame_01 {
		padding: 60px 0 60px;
		border-radius: 20px;
	}

	section#doctor .frame_01 .box {
		margin: 0 20px 60px;
	}

	section#doctor h3 {
		font-size: 5vw;
		margin-bottom: 20px;
	}

	section#doctor .name {
		font-size: 16px;
		margin-top: 20px;
	}

	section#doctor .name span {
		font-size: 18px;
		margin: 0 10px;
	}

	section#doctor .name ruby {
		font-size: 24px;
	}

	section#doctor .name rt {
		font-size: 12px;
	}

	section#doctor .frame_02 {
		padding: 30px 20px 20px;
	}

	section#doctor h4 {
		font-size: 24px;
		margin-bottom: 20px;
	}

	section#doctor h5 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	section#doctor .frame_01 .box {
		margin: 0 20px 30px;
	}

	section#doctor .frame_02 .box {
		margin: 0;
	}

	section#doctor .frame_02 .box div:first-child {
		margin-bottom: 30px;
	}

	section#doctor .frame_02 table,
	section#doctor .frame_02 ul li {
		font-size: 14px;
	}
}

/* ---------------------------------------------------------
 *	Price
 *---------------------------------------------------------- */

section#price {
	text-align: center;
	background: #f7f6f1;
	margin-top: -17px;
	padding: 120px 0 200px;
}

section#price .inner {
	max-width: 1200px;
	margin: 0 auto;
}

section#price h2 {
	line-height: 1;
	margin-bottom: 80px;
}

section#price h2 span {
	color: #fff;
	font-size: 37px;
	font-family: "Capriola", sans-serif;
	font-weight: 600;
	letter-spacing: 0.3em;
	display: block;
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 1px #d49e33;
	position: relative;
	z-index: 1;
	margin-bottom: 50px;
}

section#price h2 strong {
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 0.3em;
	display: block;
	position: relative;
}

section#price h2 strong:before,
section#price h2 strong:after {
	width: 100%;
	height: 11px;
	background: url(../image/line_05.svg);
	background-size: 100% 100%;
	content: "";
	position: absolute;
	left: 0;
	top: -30px;
}

section#price h2 strong:after {
	left: 0;
	top: auto;
	bottom: -30px;
	transform: rotate(180deg);
}

section#price p {
	font-size: 25px;
	margin-bottom: 50px;
}

section#price table {
	font-size: 20px;
	width: 100%;
	border-top: 1px solid #3d362f;
}

section#price th {
	background: rgba(167, 99, 33, 0.05);
	padding: 25px;
	border-bottom: 1px solid #3d362f;
}

section#price td {
	background: #fff;
	padding: 25px;
	border-bottom: 1px solid #3d362f;
}

section#price div {
	max-width: 1100px;
	margin: 40px auto 0;
}

section#price ul {
	margin-bottom: 40px;
}

section#price ul li {
	font-size: 16px;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}

section#price small {
	font-size: 16px;
	text-align: left;
	display: block;
}

@media screen and (max-width: 1920px) {
	section#price {
		margin-top: -20px;
	}
}

@media screen and (max-width: 1240px) {
	section#price .inner {
		margin: 0 20px;
	}
}

@media screen and (max-width: 960px) {
	section#price h2 span {
		font-size: 24px;
		margin-bottom: 40px;
	}

	section#price h2 strong {
		font-size: 30px;
	}
}

@media screen and (max-width: 480px) {
	section#price {
		padding: 100px 0;
	}

	section#price h2 {
		margin-bottom: 60px;
	}

	section#price p {
		font-size: 18px;
		text-align: left;
		margin-bottom: 20px;
	}

	section#price table {
		font-size: 12px;
	}

	section#price th,
	section#price td {
		padding: 5px 0;
	}

	section#price div {
		margin-top: 20px;
	}

	section#price ul {
		margin-bottom: 20px;
	}

	section#price ul li {
		font-size: 14px;
	}

	section#price small {
		font-size: 14px;
	}
}

/* ---------------------------------------------------------
 *	FAQ
 *---------------------------------------------------------- */

section#faq {
	background: url(../image/bg_faq_01.jpg);
	background-size: cover;
	padding: 0 0 315px;
	position: relative;
}

section#faq:before,
section#faq:after {
	background: url(../image/bg_faq_02.png);
	background-size: 100% 100%;
	width: 100%;
	height: 17px;
	content: "";
	position: absolute;
	left: 0;
}

section#faq:before {
	top: -17px;
}

section#faq:after {
	bottom: -17px;
	transform: rotate(180deg);
}

section#faq .inner {
	max-width: 1200px;
	margin: 0 auto;
}

section#faq h2 {
	position: relative;
	top: -60px;
	margin-bottom: 30px;
}

section#faq li {
	margin-bottom: 20px;
}

section#faq li:last-child {
	margin-bottom: 0;
}

section#faq dl {
	background: #fff;
	margin-bottom: 20px;
	padding: 20px;
	border-radius: 5px;
}

section#faq dt,
section#faq dd {
	display: flex;
}

section#faq dt {
	cursor: pointer;
	position: relative;
	padding-right: 40px;
}

section#faq dt:before {
	content: "";
	background: #d49e33;
	position: absolute;
	right: 10px;
	top: 20.5px;
	width: 20px;
	height: 3px;
	border-radius: 1.5px;
}

section#faq dt:after {
	content: "";
	background: #d49e33;
	position: absolute;
	right: 18.5px;
	top: 12px;
	width: 3px;
	height: 20px;
	border-radius: 1.5px;
	transition: 0.3s ease;
}

section#faq dl.active dt:after {
	opacity: 0;
}

section#faq dt em {
	color: #e4bf0b;
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke: 2px #3d362f;
}

section#faq dd {
	height: 0;
	opacity: 0;
	transition: 0.3s ease;
	background: url(../image/line_04.svg) no-repeat left top;
	background-size: 100%;
}

section#faq dt em,
section#faq dd em {
	font-size: 43px;
	font-family: "Capriola", sans-serif;
	font-weight: 400;
	line-height: 1;
	margin-right: 30px;
}

section#faq dd em {
	color: #e4bf0b;
	-webkit-text-fill-color: #e4bf0b;
	-webkit-text-stroke: 2px #3d362f;
}

section#faq dt span {
	color: #4689ab;
	font-size: 22px;
}

section#faq dl.active dd {
	height: auto;
	opacity: 1;
	margin-top: 20px;
	padding-top: 30px
}

section#faq dd span {
	line-height: 2;
}

@media screen and (max-width: 1240px) {
	section#faq .inner {
		margin: 0 20px;
	}
}

@media screen and (max-width: 480px) {
	section#faq {
		padding: 0 0 100px;
	}

	section#faq:before,
	section#faq:after {
		width: 200%;
	}

	section#faq h2 {
		top: -40px;
		margin-bottom: 0;
	}

	section#faq dd {
		background-size: 300%;
	}

	section#faq dt:before {
		right: 0;
		top: 10.5px;
	}

	section#faq dt:after {
		right: 8.5px;
		top: 2px;
	}

	section#faq dt em,
	section#faq dd em {
		font-size: 30px;
		margin-right: 20px;
	}

	section#faq dt span {
		color: #4689ab;
		font-size: 16px;
	}
}

/* ---------------------------------------------------------
 *	Clinic
 *---------------------------------------------------------- */

section#clinic {
	padding: 0 0 255px;
	position: relative;
}

section#clinic h2 {
	text-align: right;
	margin-top: -60px;
}

section#clinic h2 strong {
	margin-right: -0.3em;
}

section#clinic .inner {
	max-width: 1200px;
	margin: 0 auto 100px;
}

section#clinic .slide {
	display: flex;
	overflow: hidden;
}

section#clinic .slide ul {
	display: flex;
	list-style: none;
	padding: 0;
	animation: infinity-scroll-left 30s infinite linear 0.5s both;
}

section#clinic .slide li {
	width: calc(100vw / 3);
}

section#clinic .slide li > img {
	width: 100%;
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

@media screen and (max-width: 1240px) {
	section#clinic .inner {
		margin: 0 20px 100px;
	}
}


@media screen and (max-width: 960px) {
	section#clinic .slide li {
		width: calc(100vw / 1.5);
	}
}

@media screen and (max-width: 480px) {
	section#clinic {
		margin-bottom: 150px;
		padding: 0;
	}

	section#clinic .inner {
		margin: 0 auto 60px;
	}

	section#clinic h2 {
		margin: -30px 20px 0;
	}
}
