@charset 'utf-8';

/*
----------------------------------------

1200

----------------------------------------
*/

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

	#wrapper > header .logo img {
		max-height: 12rem;
	}

	.contact-btn-wrap a {
		padding: 2rem 1rem 1rem;
	}

	.contact-btn-wrap > div + div {
		margin-top: 1rem;
	}

	.main-img {
		border-radius: 4rem 0 4rem 0;
	}

	#home .main-img {
		padding: 4rem;
	}

	#g-nav-wrap {
		padding: 0 3rem;
		margin: 0 3rem;
	}

	#g-nav .en {
		font-size: 1.4rem;
	}

	#g-nav .jp {
		font-size: 1.8rem;
	}

	.ttl-01 .jp {
		font-size: 2.4rem;
	}

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

	.ttl-02 h2,
	.ttl-02 h3 {
		font-size: 2rem;
	}

	.ttl-03 {
		font-size: 1.8rem;
		margin-top: 2rem;
	}

	#home .info-box .ttl-01 .jp {
		font-size: 2rem;
	}

	#home .info-box .info-cont {
		gap: 3rem;
	}

	#home .news .time {
		font-size: 1.6rem;
	}

	#home .news h3 {
		font-size: 1.6rem;
	}

	#home .about-box .txt {
		padding-left: 1rem;
	}

	#home .about-box .txt h3 {
		font-size: 2rem;
	}

	#home .feature-list .flex li .flex {
		font-size: 2rem;
	}

	#about .doctor-box .doctor-info h3 {
		font-size: 2rem;
	}

	#about .medical-box .cont .ttl {
		font-size: 2rem;
	}

	#about .recommend-box .list-01 {
		gap: 1rem !important;
		margin: 1.5rem 0 3rem;
	}

	#about .recommend-box .list-01 li {
		width: 100% !important;
	}

	.pate-ttl .jp {
		font-size: 2.4rem;
	}

	.post-list .post h3 {
		font-size: 2rem;
	}

	#sidebar {
		padding-left: 4rem;
	}

	#sidebar h2 {
		font-size: 1.8rem;
	}

	#main-contents .post-header {
		padding-bottom: 1.5rem;
	}

	#main-contents .post-header h1 {
		font-size: 2.4rem;
	}

	.post-contents h2 {
		font-size: 2rem;
	}

	.post-contents h3 {
		font-size: 1.9rem;
	}

	.post-contents h4 {
		font-size: 1.8rem;
	}

}

/*
----------------------------------------

1000

----------------------------------------
*/

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

	body {
		font-size: 1.4rem;
	}

	#wrapper > header {
		padding: 4rem 0;
	}

	#wrapper > header .wrap {
		padding: 0 3rem;
		display: flex;
		align-items: center;
		gap: 3rem;
	}

	.contact-btn-wrap {
		position: revert;
		top: 0;
		right: 0;
		transform: none;
		display: flex;
		gap: 1rem;
	}

	.contact-btn-wrap > div + div {
		margin: 0;
	}

	#wrapper > header .logo img {
		max-height: 8rem;
	}

	.contact-btn-wrap a {
		height: 100%;
	}

	.contact-btn-wrap .img {
		line-height: .5;
	}

	.contact-btn-wrap .img img {
		max-height: 2.8rem;
		margin-bottom: .45rem;
	}

	#g-nav li {
		flex: initial;
	}

	#g-nav .en {
		font-size: 1.2rem;
	}

	#home .main-img {
		padding: 4rem 2rem;
	}

	#home .main-img img {
		max-width: 40vw;
	}

	#home .info-box table th:first-child {
		width: 36%;
	}

	table th,
	table td {
		padding: 1rem .5rem;
	}

}


/*
----------------------------------------

768

----------------------------------------
*/

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

	html[lang=ja] #wpadminbar {
		display: none;
	}

	body {
		padding-top: 8rem;
	}

	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	#wrapper {
		background: transparent;
	}

	#wrapper > header {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 9999;
		background: #fff;
		padding: 10px 0;
	}

	#wrapper > header .wrap {
		padding: 0 8rem 0 2rem;
	}

	#wrapper > header .flex {
		justify-content: flex-start;
	}

	#wrapper > header .logo {
		width: auto;
		margin-bottom: 0;
	}

	#wrapper > header .logo img {
		width: auto;
		height: 4rem;
	}

	#g-nav-wrap.active #g-nav {
		display: block;
	}

	#g-nav {
		display: none;
		z-index: 99999;
		position: fixed;
		top: 6rem;
		right: 0;
		bottom: 0;
		left: 0;
		padding: 0;
		border-radius: 0;
		background: var( --main-light-color );
		overflow: auto;
		border-top: solid 1px var( --gray-color );
	}

	#g-nav ul.flex {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	#g-nav li {
		width: 100%;
		max-width: initial;
		border-bottom: solid 1px var( --gray-color );
		margin: 0;
	}

	#g-nav li a {
		display: block;
		padding: 1rem 2rem;
		background: #fff;
	}

	#g-nav li .jp {
		font-size: 1.8rem;
	}

	#g-nav .en {
		font-size: 1.4rem;
		border: none;
		margin: 0;
		padding: .2rem 2rem;
		color: var( --base-clor );;
	}

	#g-nav .contact-btn-wrap {
		padding: 1rem;
		display: flex !important;
	}

	#g-nav .contact-btn-wrap > div {
		flex: 1;
	}

	#g-nav .contact-btn-wrap a {
		background: #fff;
		text-align: center;
		font-size: 1.2rem;
		border-radius: 1rem;
	}

	#g-nav .contact-btn-wrap a .img img {
		max-height: 2.2rem;
		margin-bottom: .5rem;
	}

	#g-nav .contact-btn-wrap a .num {
		display: inline-block;
		font-size: 1.8rem;
		padding-left: 1.8rem;
	}

	#sp-btn {
		display: block;
		z-index: 999999;
	}

	.wrap {
		padding: 0 2rem;
	}

	.ttl-01 {
		display: flex;
		justify-content: center;
		margin-bottom: 2rem;
	}

	.ttl-01 .ttl {
		display: flex;
		flex-direction: column;
		min-width: initial;
	}

	.ttl-01 .en {
		font-size: 1.6rem;
		order: 1;
	}

	.ttl-01 .jp {
		font-size: 2rem;
		order: 2;
	}

	.ttl-01 .en.bg {
		font-size: 1.6rem;
		text-align: center;
		position: relative;
		line-height: inherit;
		transform: none;
		order: 1;
	}

	.ttl-02 h2,
	.ttl-02 h3 {
		font-size: 1.6rem;
		letter-spacing: 2px;
		margin: 2rem 0 1rem;
		border-left-width: .4rem;
		padding-left: 1.2rem;
	}

	.pate-ttl {
		text-align: center;
		padding-bottom: 1rem;
	}

	.pate-ttl .jp {
		font-size: 2rem;
	}

	.bg-01 {
		background-size: 80vw;
		padding-bottom: 5rem !important;
	}

	.bg-02 {
		background-size: 80vw;
		padding-top: 5rem !important;
	}

	.bg-03 {
		background-size: 80vw;
		padding: 5rem 0 !important;
	}

	.list-01 li::before {
		top: 1rem;
	}

	.dl-01 dt {
		padding-left: 1.4rem;
	}

	.dl-01 dt::before {
		width: 8px;
		height: 8px;
	}

	.dl-01 dd {
		font-size: 1.3rem;
	}

	.dl-01 dd .list-01 li::before {
		top: 1.2rem;
	}

	.page .main-img {
		margin: 0 2rem;
	}

	.page .main-img img {
		height: 40vw;
		border-radius: 2rem 0 2rem 0;
	}

	footer .flex {
		padding: 0 0 3rem;
	}

	footer .flex {
		padding: 0 0 3rem;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 1rem;
	}

	footer .flex .logo {
		padding: 0 4rem;
	}

	.copyright {
		font-size: 1.2rem;
	}

	/* home */

	#home .main-img {
		margin: 0 2rem;
	}

	#home .main-img {
		padding: 2rem 0;
		height: 40vh;
		background-position: center top;
		background-size: 128%;
	}

	#home .info-box {
		padding: 3rem 0;
	}

	#home .info-box .ttl-01 .ttl {
		min-width: initial;
	}

	#home .news .time {
		width: 9rem;
		font-size: 1.4rem;
	}

	#home .news h3 {
		width: calc( 100% - 9rem );
		font-size: 1.4rem;
	}

	#home .info-box table th:first-child {
		width: 40%;
	}

	#home .info-box table th:last-child {
		width: 25%;
	}

	#home .about-box {
		padding: 3rem 0;
	}

	#home .about-box .img {
		width: 100%;
		line-height: .5;
	}

	#home .about-box .img img {
		height: 75vw;
		object-fit: cover;
		object-position: center bottom;
	}

	#home .about-box .txt h3 {
		font-size:1.8rem;
		text-align: center;
		margin-bottom: 1rem;
	}

	#home .about-box .txt p {
		line-height: 2;
	}

	#home .medical-box {
		padding: 3rem 0;
	}

	#home .medical-box .ttl-txt {
		text-align: center;
		font-size: 1.2rem;
	}

	.medical-list li {
		font-size: 1.6rem;
		letter-spacing: 0;
		margin: 1rem 0;
	}

	.medical-list .icon {
		margin-bottom: 1rem;
		padding: 0 2rem;
	}

	.medical-list li .note {
		display: inline;
		font-size: 1.4rem;
	}

	#home .feature-box {
		padding: 3rem 0;
	}

	#home .feature-list .flex {
		gap: 1rem;
	}

	#home .feature-list .flex li {
		width: 100%;
	}

	#home .feature-list .flex li .flex {
		font-size: 1.6rem;
	}

	#home .feature-list .flex li .flex {
		height: 6.4rem;
	}

	#home .feature-box .ttl-02 + p {
		padding-left: 0;
	}

	#home .feature-box .list-01 {
		padding-left: 0;
	}

	#home .medical-cont .cont-wrap {
		flex-direction: column-reverse;
		margin-top: 2rem;
	}

	#home .medical-cont .cont-wrap .txt,
	#home .medical-cont .cont-wrap .img {
		width: 100%;
	}

	#home .access-box .map iframe {
		height: 72vw;
	}

	#home footer {
		padding: 0 !important;
	}

	/* about */

	#about .doctor-box {
		padding: 3rem 0 0;
	}

	#about .doctor-box .doctor-info {
		margin: 3rem 0 0;
		flex-direction: column;
	}

	#about .doctor-box .doctor-info .img {
		width: 100%;
		text-align: center;
		line-height: .5;
		margin-bottom: 2rem;
		padding: 0;
	}

	#about .doctor-box .doctor-info .img img {
		max-width: 50%;
	}

	#about .doctor-box .doctor-info .txt {
		width: 100%;
	}

	#about .doctor-box .doctor-info h3 {
		font-size: 1.8rem;
		text-align: center;
		margin-bottom: 1.5rem;
	}

	#about .doctor-box .doctor-info {
		font-size: 1.3rem;
	}

	#about .doctor-box .doctor-info .list-01 {
		margin-bottom: .5rem;
	}

	#about .medical-box {
		padding: 3rem 0;
	}

	#about .medical-box .ttl-01 {
		margin-bottom: 0;
	}

	#about .medical-box .cont {
		padding: 3rem 0;
	}

	#about .medical-box .cont .icon {
		width: 100%;
		text-align: center;
		line-height: .5;
		margin-bottom: 2rem;
		padding: 0;
	}

	#about .medical-box .cont .icon img {
		width: 50%;
	}

	#about .medical-box .cont .txt {
		width: 100%;
		text-align: center;
	}

	#about .medical-box .cont .ttl {
		font-size: 1.6rem;
		letter-spacing: 0;
		padding: .4rem 1.5rem .4rem 3rem;
		margin-bottom: 1rem;
		width: 100%;
		text-align: left;
	}

	#about .medical-box .cont .ttl::before {
		left: 1.5rem;
	}

	#about .medical-box .cont .read {
		font-size: 1.3rem;
		text-align: left;
	}

	#about .medical-box .cont-wrap {
		gap: .5rem;
	}

	#about .medical-box .cont-wrap .read {
		width: 100%;
	}

	#about .medical-box .cont-wrap .img {
		width: 100%;
	}

	#hospital {
		padding: 3rem 0;
	}

	#hospital .img-wrap .img {
		margin-bottom: 1rem;
	}

	#hospital .img-wrap .flex {
		gap: 2rem;
	}

	#hospital .img-wrap .flex .img {
		width: calc( ( 100% - 2rem ) / 2 );
	}

	/* information */

	#information #contents {
		padding: 3rem 0;
	}

	/* post */

	.cont-wrap {
		flex-direction: column;
	}

	#main-contents {
		width: 100%;
	}

	#information .page-header {
		padding: 25px;
		margin-bottom: 30px;
	}

	#information .page-header .box {
		padding: 15px 20px 20px;
	}

	#information .page-header .jp {
		font-size: 3.2rem;
	}

	#information .page-header .en {
		font-size: 1.8rem;
	}

	.post-contents p {
		margin-bottom: 3rem;
	}

	#main-contents .post-header {
		padding-bottom: 1rem;
		margin-bottom: 2rem;
	}

	#main-contents .post-header h1 {
		margin-top: .5rem;
		font-size: 2rem;
	}

	.post-contents h2 {
		font-size: 1.8rem;
		margin-bottom: 1.5rem;
	}

	.post-contents h3 {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
	}

	.post-contents h4 {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
	}

	.post-contents ul,
	.post-contents ol {
		margin-bottom: 2rem;
	}

	.post-contents blockquote {
		padding: 2rem 2rem 5px;
	}

	.post-nav {
		margin: 3rem 0 0;
		padding: 2rem 0;
		border-bottom: dashed 1px #898989;
	}

	.post-nav .back {
		padding: 0 10px
	}

	.post-nav .back a {
		width: 100%;
		padding: 10px 15px;
	}

	#sidebar {
		width: 100%;
		padding-left: 0;
		margin-top: 3rem;
	}

	#sidebar h2 {
		font-size: 1.8rem;
	}

	#sidebar ul {
		margin-bottom: 20px;
	}

	.post-list .post {
		flex-direction: column;
		padding: 2rem 0;
		border-bottom: dashed 1px #898989;
	}

	.post-list .post h3 {
		font-size: 1.8rem;
	}

	.post-list .post time {
		margin-bottom: .5rem;
	}

	.post-list .more {
		margin-top: 0;
	}

	#main-contents .post-list .more a {
		margin-top: 10px;
	}

}
