@charset "utf-8";
	/* 480px以上は写さない */
@media (min-width: 480px) {
	.sp-only {
		display: none!important;
	}
}
	/* 960px以上は写さない */
@media (min-width: 960px) {
	.tb-only {
		display: none!important;
	}
}

	/* 1280px以下に適用されるCSS（スクエアモニター用） */
@media screen and (max-width: 1280px) {
	.bottom {
		padding: 10px 0 0;
	}
	.reserve {
		width: 30%;
	}
	.header-right .web {
		width: 15%;
	}
	.menu > li a {
		font-size: 13px;
	}
	#header::before {
		max-width: 890px;
	}
	.cp {
		left: 33%;
	}
	#first-time .item::before {
		background-size: 80%;
	}
	#first-time .item::after {
		right: 12%;
		background-size: 80%;
	}
	.more-btn {
		padding: 18px 0;
		font-size: 18px;
	}
	.sec-ttl, .staff .content, #facility .content {
		max-width: 980px;
	}
	
	
	
	}


	/* 960px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 960px) {
	.header-left {
		width: 15%;
	}
	.header-right {
		width: 85%;
	}
	.header-right .tel {
		font-size: 20px;
	}
	.reserve {
		padding: 6px 0;
	}
	.header-right .web {
		width: 17%;
	}
	.cp {
		width: 98%;
		transform: translateY(-50%);
		left: 5px;
	}
	.cp span {
		font-size: 40px;
	}
	.slider, .slider-item {
		height: 80vh;
	}
	#news::before {
		background-size: 57%;
	}
	.index-ttl .en, .sec-ttl .en {
		font-size: 50px;
	}
	#news .bg::before {
		width: 700px;
	}
	#concept, #greeting {
		flex-direction: column-reverse;
	}
	#concept .left, #concept .right, #greeting .left, #greeting .right {
		width: 100%;
	}
	#greeting .left {
		margin-top: 20px;
	}
	.index-h3 {
		font-size: 33px;
	}
	#first-time .img img {
		width: 40%;
	}
	#first-time .item::before {
		background-size: 65%;
		width: 390px;
	    height: 370px;
		left: -1%;
	}
	#first-time .item::after {
		width: 250px;
	    height: 300px;
	}
	.more-btn {
		font-size: 16px;
	}
	#index-medical .ttl {
		padding: 10px 0 10px 15px;
	}
	.footer-wrap {
		width: 95%;
	}
	#mainvisual {
		height: 40vh;
	}
	.sec-ttl, .staff .content, #facility .content {
		max-width: 730px;
	}
	.staff .content, #facility .content {
		justify-content: space-between;
	}
	.staff .item, #facility .item {
		width: 45%;
	}
	.box {
		max-width: 700px;
	}
	#flow .img {
		width: 70%;
		margin: 0 auto;
	}
	.flow-content .ttl .number {
		font-size: 40px;
	}
	.flow-content .ttl {
		font-size: 18px;
		margin-bottom: 15px;
	}
	h4.ttl {
		font-size: 19px;
		top: -45px;
	}
	h4.ttl .number {
		font-size: 45px;
	}
	.no-num {
		top: -14px!important;
	}
	.medical-ttl {
		font-size: 30px;
	}
	.medical-ttl::before {
		background-size: 65%;
	}
	.clinic-info .wrap.flex, #access .wrap.flex {
		flex-direction: column;
	}
	.clinic-info .wrap.flex .flex-2, #access .wrap.flex .flex-2 {
		width: 100%;
		margin-bottom: 20px;
	}
	#access .flex-3 {
		width: 50%;
	}
	#access .flex-3::after {
		    border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 15px solid #B69F73;
		right: -20px;
	}
	.rec-txt {
		width: 70%;
	}

	
	}




	/* 480px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 480px) {
	.pc-only {
		display: none!important;
	}
	#header {
		transform: none;
		left: 0;
	}
	#header::before {
		display: none;
	}
	#header .header-left {
		width: 45%;
	}
	.header-right {
		display: none!important;
	}
	.sp-nav {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		position: fixed;
	}
	.nav_wrapper {
		position: fixed;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		bottom: 0;
	}
	.nav_wrapper div:first-child {
		border-left: 1px solid #F3F3F3;
	}
	.nav_wrapper div {
		width: 25%;
		display: flex;
		background: #B69F73;
		align-items: center;
		justify-content: center;
		border-right: 1px solid #F3F3F3;
		border-top: 1px solid #F3F3F3;
	}
	.nav_wrapper a {
		padding: 10px;
	}
	#page_top {
		display: none!important;
	}
	.flex {
		flex-direction: column;
	}
	.flex-2, .flex-3 {
		width: 100%;
		margin-bottom: 30px;
	}
	.cp span {
		font-size: 25px;
	}
	.index-ttl .en, .sec-ttl .en {
		font-size: 40px;
	}
	.index-ttl .ja, .sec-ttl .ja {
		font-size: 18px;
	}
	.news-content {
		flex-direction: column;
		align-items: stretch;
	}
	.news-content .date {
		width: 30%;
	}
	.news-content .news-ttl {
		width: 100%;
	}
	#news .bg::before {
		width: 365px;
	}
	.index-h3 {
		font-size: 26px;
	}
	.index-h3 span {
		font-size: 17px;
	}
	#concept .img02, #greeting .img02 {
		width: 65%;
	}
	#first-time .item::before {
		width: 200px;
	    height: 170px;
	}
	#first-time .item::after {
		width: 130px;
		height: 140px;
	}
	.more-btn {
		padding: 10px 0;
	}
	.w-50 {
		width: 90%;
	}
	.pickup-txt .index-h3 {
		font-size: 22px!important;
		margin-bottom: 15px;
	}
	#index-medical .index-ttl {
		padding-left: 30px;
		padding-bottom: 30px;
	}
	#index-medical .index-ttl::before {
		width: 60%;
	}
	#index-medical .flex {
		margin: 60px auto;
	}
	#greeting {
		padding: 30px 0 80px;
	}
	#family {
		padding: 50px 20px 50px;
	}
	#family .wrap {
		padding: 20px 3%;
		background: rgba(255,255,255,0.60);
	}
	#family .index-txt {
		padding: 25px 10px;
	}
	#family .flex {
		flex-direction: row!important;
	}
	#family .flex .flex-3 {
		width: 31%!important;
	}
	.sitemap {
		display: none;
	}
	.copyright {
		padding: 15px 0 95px;
	}
	#mainvisual {
		height: 32vh;
	}
	#page-ttl .en {
		font-size: 42px;
	}
	#page-ttl .ja {
		font-size: 17px;
	}
	.sec-ttl::after {
		width: 270px;
		left: -10px;
		bottom: -10px;
	}
	.doc-name {
		font-size: 34px;
	}
	.sec-ttl, .staff .content, #facility .content {
		max-width: 380px;
	}
	.sec-ttl {
		margin: 0 auto 60px;
	}
	.staff .ttl {
		font-size: 16px;
	}
	.box {
		max-width: 380px;
		padding: 60px 3%;
		margin: 0 auto 70px;
	}
	.doc-ttl {
		font-size: 18px;
	}
	h4.ttl .number {
		font-size: 30px;
		margin-right: 0;
	}
	h4.ttl {
		top: -26px;
		font-size: 18px;
	}
	.feature {
		padding-bottom: 10px;
	}
	.flow-content .ttl .number {
		font-size: 28px;
		margin-right: 5px;
	}
	.flow-content {
		flex-direction: column;
	}
	.flow-content .item {
		width: 100%;
		margin-bottom: 30px;
	}
	.section {
		padding-top: 30px;
	}
	.medical-ttl::before {
		background-size: 50%;
		background-position: center;
	}
	.medical-ttl {
		padding-top: 70px;
		font-size: 24px;
	}
	.fee {
		flex-direction: column;
	}
		.fee div {
		width: 100%;
	}
	.info-wrap.item span {
		width: 75px;
	}
	.info-wrap.item div {
		width: calc(100% - 75px);
	}
	.route {
		flex-direction: row;
		justify-content: flex-start;
	}
	.route .flex-3 {
		width: 45%!important;
		padding-right: 10px;
		margin-right: 15px;
	}
	#access .flex-3::after {
		right: -12px;
	}
	#access {
		padding-bottom: 90px;
	}
	#medical-bg {
		position: relative;
		background-image: none;
	}
	#medical-bg::before {
		content: "";
		display:block;
		position:fixed;
		top:0;
		left:0;
		z-index:-1;
		width:100%;
		height:100vh;
		background-repeat: no-repeat;
		background-position: center center;
		background-image: url("../img/bg.jpg");
		background-size: cover;
	}
	
	
	
	
	
	
	
	


	
	
	
	
	
}