@charset "utf-8";

/*
----------------------------------------
1300
----------------------------------------
*/

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

	body.nav-open {
		position: fixed;
		width: 100%;
		height: 100%;
		min-height: 100%;
		overflow: hidden;
	}

	#sp-btn {
		display: block;
	}

	#sidebar {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		opacity: 0;
		visibility: hidden;
		z-index: -1;
		transition: all .2s;
	}

	.nav-open #sidebar {
		opacity: 1;
		visibility: visible;
		z-index: 999999;
	}

	#sidebar .side-wrap {
		padding: 0;
	}

	#sidebar .logo {
		padding: 0 60px 0 30px;
		height: 60px;
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		align-items: center;
	}

	#sidebar .logo .txt {
		display: none;
	}

	#sidebar .logo .img {
		line-height: .5;
	}

	#sidebar .logo img {
		width: 250px;
	}

	#g-nav {
		padding: 5px 15px;
	}

	#g-nav li#home-btn a {
		line-height: 1.6;
	}

	#sidebar .bnr {
		padding: 0 15px;
		margin-bottom: 90px;
	}

	#main-contents {
		width: 100%;
		padding-bottom: 0;
	}

}


/*
----------------------------------------
750
----------------------------------------
*/

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

	#wpadminbar {
		display: none;
	}

	.pc-none {
		display: block;
	}

	.sp-none {
		display: none;
	}

	.tel-link {
		pointer-events: auto;
	}

	.btn-01 a {
		width: auto;
		font-size: 1.8rem;
		letter-spacing: .2rem;
		white-space: normal;
		background: #2EB8E6 url( ../img/common/arrow-01-wh.svg ) right 15px center no-repeat;
	}

	.wrap {
		padding: 0 15px;
	}

	.btn-01 a {
		display: block;
		width: 100%;
		font-size: 1.6rem;
	}

	.btn-02 {
		text-align: center;
	}

	.ttl-01 {
		margin-bottom: 30px;
	}

	.ttl-01 h2 {
		font-size: 1.8rem;
	}

	.ttl-01 .en {
		font-size: 1.4rem;
	}

	#sp-btn {
		width: 50px;
		height: 50px;
	}

	#sp-btn span {
		left: 15px;
		right: 15px;
	}

	#sp-btn span:nth-of-type(1) {
		top: 16px;
	}

	#sp-btn span:nth-of-type(2) {
		top: 24px;
	}

	#sp-btn span:nth-of-type(3) {
		top: 32px;
	}

	#sidebar .logo {
		padding: 0 50px 0 15px;
		height: 50px;
	}

	#sidebar .logo img {
		width: 200px;
	}

	body {
		font-size: 1.4rem;
	}

	#wrapper {
		min-width: 100%;
	}

	.head-wrap {
		height: 50px;
		padding-right: 50px;
	}

	.head-wrap .logo {
		padding: 0 15px;
	}

	.head-wrap .logo img {
		width: 200px;
	}

	.head-wrap h1 {
		position: absolute;
		left: 15px;
		right: 15px;
		top: 65px;
		text-align: left;
		z-index: -1;
		opacity: 0;
	}

	#facility-box {
		padding: 30px 0 15px;
	}

	#facility-box h2 {
		font-size: 1.8rem;
		margin-bottom: 30px;
	}

	#facility-box .facility-list > div {
		width: calc( ( 100% - 15px ) / 2 );
	}

	#facility-box .facility-list > div:nth-child( even ) {
		margin-right: 0;
	}

	#facility-box .facility-list .name {
		padding: 0;
		background: none;
		font-size: 1.4rem;
		justify-content: center;
		text-align: center;
	}

	#footer-menu {
		border-bottom: none;
	}

	#footer-menu .wrap {
		padding: 0;
	}

	#footer-menu .flex {
		flex-direction: column;
		border: none;
	}

	#footer-menu .flex > li {
		width: 100%;
		border-right: none;
		border-bottom: solid 1px #ccc;
	}

	#footer-menu a {
		padding: 15px;
		font-size: 1.4rem;
		text-align: left;
	}

	.footer-info {
		padding: 30px 0;
		font-size: 1.2rem;
	}

	.footer-info .ttl img {
		width: 200px;
		margin: 20px 0;
	}

	.copyright small {
		font-size: 1.2rem;
	}

	#bottom-fix {
		left: 0;
		right: 0;
		bottom: 0;
		border-top: solid 1px #ccc;
	}

	#bottom-fix a {
		height: 50px;
	}

	#bottom-fix .pc-none {
		width: calc( 100% - 50px );
	}

	#bottom-fix .rec a {
		width: 100px;
		color: #fff;
		background: #8AD6E6 url( ../img/common/icon-rec.svg ) left 10px center no-repeat;
		font-size: 1.4rem;
		font-weight: bold;
		padding-left: 25px;
	}

	#bottom-fix .tel {
		width: calc( 100% - 150px );
	}

	#bottom-fix .tel a {
		background: #fff;
		font-size: 1.8rem;
		white-space: nowrap;
		color: #2EA8E6;
	}

	#bottom-fix .tel a::before {
		display: inline-block;
		content: url( ../img/common/icon-tel.svg );
		vertical-align: middle;
		margin-right: 5px;
	}

	#bottom-fix .mail a {
		width: 50px;
		height: 50px;
		background: #2EB8E6;
	}

	#bottom-fix .mail a img {
		width: 26px;
	}

	#page-top a {
		width: 50px;
		height: 50px;
		border-radius: 0;
		background: #333;
	}

	/* home */

	#home .main-copy {
		padding: 0 20px 135px;
	}

	#home .main-copy h2 {
		font-size: 2.2rem;
		margin-bottom: 30px;
	}

	#home .main-copy .btn-01 a {
		width: auto;
		letter-spacing: 0;
		padding: 0 15px;
		font-size: 1.5rem;
	}

	#home .main-txt {
		display: none;
	}

	#home .top-main .bnr {
		right: 15px;
		bottom: 15px;
		left: 15px;
		max-width: 100%;
	}

	#home #main-img-01 {
		background: url( ../img/home/main-img-01-sp.jpg ) center center / cover no-repeat;
	}

	#home #main-img-02 {
		background: url( ../img/home/main-img-02-sp.jpg ) center center / cover no-repeat;
	}

	#home #main-img-03 {
		background: url( ../img/home/main-img-03-sp.jpg ) center center / cover no-repeat;
	}

	#home #main-contents section {
		padding: 30px 0 0;
	}

	#home .service-box .wrap,
	#home .about-box .wrap {
		width: calc( 100% - 40px );
		padding: 0 0 10px;
		margin: 0 20px;
	}

	#home .service-box .read {
		text-align: left;
		margin-bottom: 40px;
	}

	#home .service-list {
		margin-bottom: 10px;
	}

	#home .service-list .day {
		width: 100%;
		margin-right: 0;
	}

	#home .service-list .home {
		width: calc( ( 100% - 20px ) / 3 * 2 + 10px );
	}

	#home .service-list .care {
		width: calc( ( 100% - 20px ) / 3 );
	}

	#home .service-list dt {
		padding: 0 0 0 10px;
		font-size: 1.4rem;
	}

	#home .service-list dd {
		margin-bottom: 30px;
	}

	#home .service-list dd li {
		font-size: 1.4rem;
		padding: 20px 0;
	}

	#home .service-info figure {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	#home .service-info figure img {
		width: 300px;
	}

	#home .service-info .txt {
		width: 100%;
		padding-left: 0;
	}

	#home .service-info .day .txt h3 {
		font-size: 1.8rem;
	}

	#home .service-box .btn-01 p {
		width: 100%;
		margin: 0 0 20px;
	}

	#home .about-box .ttl-01 {
		margin-bottom: 20px;
	}

	#home .staff-list figure {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	#home .staff-list figure img {
		width: 300px;
	}

	#home .staff-list .txt {
		width: 100%;
	}

	#home .staff-list .flex {
		margin-bottom: 30px;
	}

	#home .staff-list .flex:nth-child( odd ) .txt {
		padding-left: 0;
	}

	#home .staff-list .flex:nth-child( even ) .txt {
		padding-right: 0;
	}

	#home .staff-list h3 {
		font-size: 1.8rem;
		text-align: center;
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	#home .staff-list h3::after {
		left: 50%;
		transform: translateX( -50% );
	}

	#home .blog-box {
		margin-bottom: 50px;
	}

	#home .blog-box .post-list {
		margin-bottom: 0;
	}

	#home .blog-box .post {
		width: 100%;
		margin: 0 0 30px;
	}

	#home .blog-box .post figure {
		text-align: center;
		max-width: 300px;
		margin: 0 auto;
	}

	#home .blog-box .cat-list {
		margin-right: 10px;
	}

	#home .blog-box .post .txt h3 {
		font-size: 1.6rem;
	}

	.contact-bnr {
		padding: 20px 10px 30px !important;
	}

	.contact-bnr h2 {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}

	.contact-bnr .flex > div {
		width: 100%;
	}

	.contact-bnr .flex > div:nth-child( odd ) {
		margin-right: 0;
		margin-bottom: 20px;
	}

	.contact-bnr .flex > div a {
		padding: 20px;
	}

	.contact-bnr .tel {
		font-size: 3.6rem;
	}

	.contact-bnr .tel span {
		font-size: 1.6rem;
	}

	.contact-bnr .btn {
		font-size: 1.6rem;
		line-height: 3.8rem;
		border-radius: 2rem;
		letter-spacing: .2rem;
		padding: 0 30px;
		background: #2EB8E6 url( ../img/common/arrow-01-wh.svg ) right 15px center no-repeat;
	}

}


/*
----------------------------------------
320
----------------------------------------
*/

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

	body {
		min-width: 320px;
		font-size: 1.3rem;
	}

	.btn-01 a {
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	.ttl-01 h2 {
		font-size: 1.6rem;
		letter-spacing: .2rem;
	}

	.contact-bnr .tel {
		font-size: 2.4rem;
	}

	.contact-bnr .tel span {
		font-size: 1.2rem;
	}

	.contact-bnr .btn {
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	#facility-box .facility-list .name {
		font-size: 1.1rem;
		height: 40px;
	}

	#footer-menu a {
		font-size: 1.3rem;
	}

	.copyright {
		padding: 10px 10px 55px;
	}

	.copyright small {
		font-size: 1.1rem;
	}

	#bottom-fix .pc-none {
		width: calc( 100% - 40px )
	}

	#bottom-fix a {
		height: 40px;
	}

	#bottom-fix .tel {
		width: calc( 100% - 140px );
	}

	#page-top a,
	#bottom-fix .mail a {
		width: 40px;
		height: 40px;
	}

	#home .main-copy {
		padding: 0 20px 110px;
	}

	#home .main-copy h2 {
		font-size: 1.8rem;
	}

	#home .main-copy .btn-01 a {
		font-size: 1.2rem;
	}

	#home .service-list dt {
		font-size: 1.1rem;
	}

	#home .service-list dd li {
		font-size: 1.2rem;
	}

	#home .service-info .txt h3 {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}

	#home .blog-box .post .txt h3 {
		font-size: 1.4rem;
	}

}