/* CSS Document */
@media only screen and (min-width: 769px) {
	.sp_only {
		display: none !important;
	}
	.br_pc {
		display: block !important;
	}
}

@media only screen and (max-width: 768px) {
	.pc_only {
		display: none !important;
	}
	.br_sp {
		display: block !important;
	}
}

.menu_toggle {
	display: none;
	background-color: rgba(67, 175, 105, 0.95);
	position: fixed;
	top: 0px;
	left: 0;
	width: 100%;
	height: calc(100vh);
	padding: 60px 0px 0;
	overflow: hidden;
}

.menu_toggle p {
	margin-bottom: 0;
}

.menu_toggle > ul {
	height: calc(100% - 51px);
	padding-bottom: 50px;
	overflow: scroll;
}

.menu_toggle > ul > li {
	background-repeat: no-repeat;
	background-position: left 10px top 13px;
	background-size: auto 20px;
}

.menu_toggle > ul > li:first-child > a, .menu_toggle > ul > li:first-child > p {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

.menu_toggle > ul > li:first-child > a::before, .menu_toggle > ul > li:first-child > a::after, .menu_toggle > ul > li:first-child > p::before, .menu_toggle > ul > li:first-child > p::after {
	display: none;
}

.menu_toggle > ul > li > a, .menu_toggle > ul > li > p.title {
	cursor: pointer;
	padding: 12px 20px 12px 20px;
	display: block;
	position: relative;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.8);
	font-family: "Yu Gothic";
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}

.menu_toggle > ul > li > a::before {
	position: absolute;
	top: 50%;
	left: 8px;
	border: 4px solid #ffffff;
	border-bottom-color: transparent;
	border-right-color: transparent;
	border-top-color: transparent;
	-webkit-transform: translateY(-50%) scaleX(1.4);
	-ms-transform: translateY(-50%) scaleX(1.4);
	transform: translateY(-50%) scaleX(1.4);
}

.menu_toggle > ul > li > p.title::before, .menu_toggle > ul > li > p.title::after {
	content: "";
	background-color: #e8b23a;
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 10px;
	height: 2px;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	opacity: 1;
}

.menu_toggle > ul > li > p.title::before {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu_toggle > ul > li > p.title::after {
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	-ms-transform: translate(-50%, -50%) rotate(90deg);
	transform: translate(-50%, -50%) rotate(90deg);
}

.menu_toggle > ul > li > p.title.rotate::before {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu_toggle > ul > li > p.title.rotate::after {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu_toggle .lv2 li {
	padding: 0 10px;
	background: #3a5d39;
}

.menu_toggle .lv2 li a, .menu_toggle .lv2 li p.title {
	display: block;
	position: relative;
	color: #fff;
	font-size: 11px;
	padding: 10px 10px 10px 34px;
	border-bottom: 1px dotted rgba(255, 255, 255, 0.2);
}

.menu_toggle .lv2 li a::after {
	content: "\203A";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 12px;
	font-weight: normal;
}

#nav-icon {
	width: 32px;
	height: 27px;
	position: relative;
	margin: 0 auto 0px;
	cursor: pointer;
	-webkit-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}

#nav-icon span {
	background-color: #fff;
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}

#nav-icon span:nth-child(1) {
	top: 3px;
}

#nav-icon span:nth-child(2), #nav-icon span:nth-child(3) {
	top: 11px;
}

#nav-icon span:nth-child(4) {
	top: 19px;
}

#nav-icon.open span:nth-child(1) {
	top: 11px;
	width: 0%;
	left: 50%;
}

#nav-icon.open span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

#nav-icon.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#nav-icon.open span:nth-child(4) {
	top: 11px;
	width: 0%;
	left: 50%;
}

.hamburger-btn {
	background-color: #43af69;
	width: 60px;
	height: 60px;
	padding: 10px 0px 0;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
}

.hamburger-btn .button-toggle {
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	color: inherit;
}

.hamburger-btn .button-toggle #menu_btn {
	color: #fff;
	font-size: 13px;
	text-align: center;
	line-height: 1;
	letter-spacing: 0px;
}

/********************************
Header & Footer
********************************/
@media screen and (max-width: 768px) {
	.wrapper {
		min-width: inherit;
	}
	.inner {
		width: auto;
		padding-left: 10px;
		padding-right: 10px;
	}
	#main {
		padding-bottom: 0px;
	}
	.header_top {
		background-color: #fff;
		width: 100%;
		padding: 5px 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10;
	}
	.header_top.active {
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	.header_top p {
		margin-bottom: 0;
	}
	.header_top .logo {
		max-width: 200px;
		width: auto;
		margin-left: 10px;
	}
	.header_top .inner {
		height: auto;
		display: block;
	}
	footer {
		height: auto;
		padding: 30px 0 0px;
		margin-bottom: 63px;
	}
	footer .info {
		margin: 0 auto;
		width: auto;
		padding-top: 0;
	}
	footer .info .logo {
		text-align: center;
	}
	footer .info .address {
		text-align: center;
	}
	footer .info .note {
		margin-bottom: 15px;
	}
	footer .info .tel {
		margin-bottom: 25px;
	}
	footer .info .ft_map {
		height: 200px;
	}
	footer .info .button {
		margin-top: 15px;
	}
	footer .calendar {
		margin-top: 20px;
	}
	footer .ft_link {
		width: auto;
	}
	footer .ft_link .ft_logo {
		font-size: 23px;
		letter-spacing: 0;
	}
	footer .copyright {
		font-size: 10px;
		letter-spacing: 1.5px
	}
	.fixed_banner {
		bottom: 0;
		left: 0;
		right: auto;
		width: 100%;
		-webkit-transform: translateY(100%);
		-ms-transform: translateY(100%);
		transform: translateY(100%);
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.fixed_banner.active {
		-webkit-transform: translateY(0%);
		-ms-transform: translateY(0%);
		transform: translateY(0%);
	}
	.fixed_banner a {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		padding: 5px 0px;
		height: 100%;
		font-size: 10px;
		font-weight: normal;
	}
	.fixed_banner a::before {
		margin-bottom: 5px;
	}
	.fixed_banner .tel {
		width: 50%;
	}
	.fixed_banner .tel a {
		font-size: 12px;
		letter-spacing: 1px;
		text-align: center;
	}
	.fixed_banner .web {
		width: 25%;
	}
	.fixed_banner .web a {
		font-size: 12px;
	}
	.fixed_banner .mail {
		width: 25%;
	}
	.fixed_banner .mail a {
		font-size: 12px;
	}
}

/* End Header & Footer
********************************/
/********************************
General
********************************/
@media screen and (max-width: 768px) {
	figure {
		text-align: center;
	}
	img {
		max-width: 100%;
	}
	.TabContainer .TabPager li {
		width: 33%;
	}
	.totop {
		width: 40px;
		height: 40px;
		bottom: 60px;
		right: 2px;
	}
	.totop [class*="icon-"]::before {
		top: -1px;
		font-size: 18px;
	}
	.fblock {
		display: block;
	}
	.fblock.true {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.topic_path {
		padding-bottom: 10px;
	}
	.txt_l,
	.txt_r {
		float: none;
		width: auto;
	}
	.image_l,
	.image_r {
		float: none;
		width: auto;
		margin: 0 0 20px;
		text-align: center;
		max-width: none;
	}
	.button.style01, .button.style02 {
		padding: 10px;
		font-size: 15px;
	}
	.button.style01::after, .button.style02::after {
		font-size: 21px;
	}
	.button.style01.md, .button.style02.md {
		max-width: 360px;
		font-size: 13px;
	}
	.button.style01.md::after, .button.style02.md::after {
		font-size: 19px;
	}
	p {
		margin-bottom: 13px;
		font-size: 14px;
		line-height: 1.8;
	}
	a.tel_click:hover {
		opacity: 1;
		color: inherit;
	}
}

/* END General
********************************/
/********************************
Main
********************************/
@media screen and (max-width: 768px) {
	/* Key Visual */
	/* Content
	********************************/
	/* index
	------------------------------------------------------------------------*/
	.home_page .key {
		background-size: 150% auto;
		background-position: left top;
		height: auto;
		margin-top: 60px;
		padding-top: 57vw;
	}
	.home_page .key .key_text {
		background: none;
		max-width: none;
		width: auto;
		position: static;
		padding: 20px 0;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
	}
	.home_page h3 {
		margin-bottom: 25px;
		font-size: 24px;
	}
	.index01 {
		height: auto;
		padding: 40px 0;
	}
	.index01 .list {
		padding: 25px 20px 10px;
		margin-bottom: 20px;
	}
	.index01 .list li {
		background-size: auto 22px;
		background-position: left top;
		width: auto;
		padding: 0px 10px 0px 36px;
		margin-bottom: 5px;
		font-size: 16px;
	}
	.index01 .btn_group > div {
		width: 100%;
		max-width: 270px;
		margin: 15px auto 0;
	}
	.index02 {
		padding-bottom: 0;
	}
	.index02 h3 {
		margin-bottom: 40px;
	}
	.index02 .list .item {
		width: 50%;
		padding: 20px 5px 10px;
	}
	.index02 .list .item p {
		height: 60px;
		margin-top: 10px;
		font-size: 15px;
		letter-spacing: 0;
	}
	.index03 {
		height: auto;
		padding: 40px 0;
	}
	.index03 h3 {
		margin-bottom: 90px;
	}
	.index03 .list.top {
		margin-bottom: 0;
	}
	.index03 .list .item {
		width: 100%;
		margin: 75px auto 0;
		padding: 80px 10px 80px;
	}
	.index03 .list .item a {
		bottom: 25px;
	}
	.index04, .index05 {
		background-image: none;
		height: auto;
		padding: 40px 0;
	}
	.index04 .text, .index05 .text {
		width: auto;
	}
	.index04 .img, .index05 .img {
		max-width: 50%;
		margin-bottom: 5px;
	}
	.index04 .button, .index05 .button {
		margin-top: 30px;
	}
	.index04 .img {
		float: right;
		margin-left: 15px;
	}
	.index05 .img {
		float: left;
		margin-right: 15px;
	}
	.index06 {
		height: auto;
		padding: 40px 0;
	}
	.index06 .inner {
		padding-left: 5px;
		padding-right: 5px;
	}
	.index06 h3 {
		padding: 0 40px;
	}
	.index06 .text {
		padding: 20px 10px;
	}
	.index06 dl {
		display: block;
		padding: 10px 0;
	}
	.index06 dl dt, .index06 dl dd {
		font-size: 15px;
		letter-spacing: 0;
	}
	.index06 dl dt {
		padding-left: 10px;
		padding-bottom: 5px;
	}
	.index06 dl dd {
		width: auto;
		padding-left: 20px;
	}
	.index06 .button {
		margin-top: 20px;
	}
	.index07 {
		padding: 50px 0;
	}
	.index07 .feedbox, .index07 .fb {
		width: auto;
	}
	.index07 .feedbox {
		margin-bottom: 40px;
		padding: 41px 20px;
	}
	.index07 .feedbox ._feed {
		max-width: none;
	}
	.index07 .fb {
		text-align: center;
		height: 320px;
	}
	.advertisement {
		padding: 40px 0;
		height: auto;
	}
	.advertisement .info {
		text-align: center;
	}
	.advertisement .info > div {
		width: auto;
	}
	.advertisement .info > div:first-child {
		margin-bottom: 40px;
	}
	.advertisement .button {
		display: table;
	}
	.idx_map .box {
		height: 250px;
	}
	.idx_map .btn_grp .inner {
		height: auto;
		padding: 15px 25px;
	}
	.idx_map .btn_grp p, .idx_map .btn_grp a {
		padding: 0px 0;
	}
	.idx_gallery {
		padding: 30px 0;
	}
	.slick-prev {
		left: 0px;
	}
	.slick-next {
		right: 0px;
	}
	.slick-arrow {
		z-index: 1;
		top: 15vw;
	}
	/* END index
	------------------------------------------------------------------------*/
	/*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*/
	/* START under
	------------------------------------------------------------------------*/
	.under #main {
		background-size: 500px auto;
		padding-bottom: 50px;
	}
	.under .key {
		background-position: left 58% center;
		background-size: auto 210px;
		height: 170px;
		margin-top: 60px;
	}
	.under .key h2 {
		left: 20px;
		right: 20px;
		font-size: 22px;
		letter-spacing: 2px;
		text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
	}
	.under h3 {
		padding: 9px 10px;
		margin-bottom: 25px;
		font-size: 22px;
		letter-spacing: 1px;
	}
	.under h4 {
		margin-bottom: 20px;
		font-size: 19px;
		letter-spacing: 1px;
	}
	.under h5 {
		background-position: left 0 top 7px;
		padding: 5px 15px 5px 30px;
		margin-bottom: 15px;
		font-size: 17px;
		letter-spacing: 1px;
	}
	.under h6 {
		margin-bottom: 10px;
		font-size: 16px;
	}
	.under section {
		padding-top: 60px;
	}
	.under section.head {
		padding-top: 35px;
	}
	.under section .secH4 {
		padding-top: 45px;
	}
	.under section .secH5 {
		padding-top: 30px;
	}
	.under table.rollTable {
		width: 1000px;
	}
	.under table.tbl_style01 th {
		font-size: 16px;
	}
	.under table.tbl_style01 td {
		font-size: 14px;
	}
	.under table.resTable {
		display: block;
	}
	.under table.resTable tbody, .under table.resTable tr, .under table.resTable th, .under table.resTable td {
		display: block;
	}
	.under table.resTable td:not(:last-child) {
		border-bottom: 0;
	}
	.under table.resTable.tbl_style01.colHead tr:not(:last-child) th {
		border-bottom: none;
	}
	.under table.resTable.tbl_style02.colHead th {
		border-bottom: none;
	}
	.under table.resTable.tbl_style02.colHead tr:not(:last-child) td {
		border-bottom: none;
	}
	.under .tbl_note {
		display: block;
	}
	.under ul.list01 li {
		font-size: 14px;
	}
	.under ul.list01.mcol_2 li {
		width: 100%;
		padding-bottom: 9px;
	}
	.under .note_box {
		padding: 25px 15px;
		font-size: 14px;
	}
	.under .note_box .ttl {
		padding: 0;
		font-size: 22px;
	}
	.under .note_box .note {
		font-size: 18px;
	}
	.clinic_tbl01 th {
		width: auto;
		text-align: left;
	}
	.feature_box .item {
		background: url("../images/feature_box_bg01.jpg") center no-repeat;
		background-size: cover;
		padding: 40px 15px 30px;
		margin-bottom: 40px;
	}
	.feature_box .item::before {
		right: -10px;
		height: 120px;
	}
	.feature_box .item dt {
		padding-right: 100px;
		margin-bottom: 15px;
		font-size: 18px;
		letter-spacing: 1px;
	}
	.feature_box .item dd {
		font-size: 14px;
	}
	.feature_box .item p {
		margin-bottom: 15px;
	}
	.flow_box .item {
		padding: 25px 20px 20px 35px;
		margin-bottom: 40px;
	}
	.qa_box dt {
		font-size: 16px;
	}
	.hospital_map01 iframe {
		height: 50vw;
	}
	.disease_box01 {
		border-radius: 10px;
		padding: 0px 20px 20px;
		margin-top: 40px;
	}
	.disease_box01:before {
		width: 140px;
		left: 10px;
	}
	.disease_box01 .label {
		font-size: 34px;
	}
	.disease_box01 h4 {
		margin-top: -22px;
	}
	.faq_box01 {
		border-radius: 10px;
		padding: 20px;
		margin-top: 40px;
	}
	.faq_box01 h4,
	.faq_box01 .text {
		padding-left: 40px;
	}
	.faq_box01 h4:before,
	.faq_box01 .text:before {
		width: 30px;
		height: 30px;
		line-height: 30px;
		top: -3px;
		font-size: 19px;
	}
	/* END under
	------------------------------------------------------------------------*/
	/*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*/
	/* START Kijikaku
	------------------------------------------------------------------------*/
	.blog-item {
		padding-bottom: 30px;
	}
	.blog-item .b-right,
	.blog-item .thumb {
		float: none;
		width: auto;
	}
	.blog-item .thumb {
		margin-right: 0;
		margin-bottom: 15px;
	}
	/* END Kijikaku
	------------------------------------------------------------------------*/
	/*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*
	*/
}

/*End max-width 768*/
@media screen and (max-width: 425px) {
	h2 {
		font-size: 22px;
		letter-spacing: 0px;
	}
	h3 {
		margin-bottom: 25px;
		font-size: 18px;
		letter-spacing: 0px;
	}
	h4 {
		margin-bottom: 20px;
		font-size: 17px;
		letter-spacing: 0px;
	}
	h5 {
		margin-bottom: 15px;
		font-size: 16px;
		letter-spacing: 0px;
	}
	h6 {
		margin-bottom: 15px;
		font-size: 16px;
		letter-spacing: 0px;
	}
}

/*End max-width 425*/
@media screen and (max-width: 375px) {
	.blog-list-img li a {
		height: 100px;
	}
	.blog-item {
		width: 100%;
		margin: 0 0 20px 0;
	}
	.blog-item:nth-child(3n) {
		margin-right: 0;
	}
}

/*End max-width 375px*/
/*End max-width 320px*/
