@charset 'utf-8';

/*
----------------------------------------
1800
----------------------------------------
*/

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

	html {
		font-size: 43.75%;
	}

	.wrap {
		max-width: 1200px;
	}

	.illust-wrap .illust {
		transform: scale( .7 );
	}

	.illust-wrap .illust-01,
	.illust-wrap .illust-03,
	.illust-wrap .illust-06,
	.illust-wrap .illust-07,
	.illust-wrap .illust-09 {
		right: 2vw;
	}

	.illust-wrap .illust-02,
	.illust-wrap .illust-04,
	.illust-wrap .illust-05,
	.illust-wrap .illust-08 {
		left: 2vw;
	}

	.btn-01 a {
		width: 720px;
	}

	#wrapper > header .logo img {
		width: 200px;
	}

	#g-nav {
		transform: none;
	}

	#g-nav li {
		width: 160px;
		margin-right: 30px;
	}

	footer > .wrap {
		max-width: 1200px;
	}

	footer .cont {
		width: 36%;
	}

	footer .map {
		width: 64%;
	}

	footer .info-list dd {
		letter-spacing: 1px;
	}

	.copyright .logo img {
		width: 448px;
	}

	#home .info-box .info-cont {
		align-items: center;
	}

	#home .info-box .logo {
		width: 36%;
	}

	#home .info-box .cont {
		width: 64%;
	}

	#home .info-box .web-yoyaku figure img {
		width: 185px;
	}

	#home .about-box .txt {
		width: 64%;
	}

	#home .about-box .txt p {
		letter-spacing: 2px;
	}

	#home .about-box .img {
		width: 36%;
	}

	/* about */

	#about .main-img .img img {
		width: 445px;
	}

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

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

	#about .doctor-box .doctor-prof .name-wrap {
		width: 50%;
	}

	#about .doctor-box .doctor-prof .txt {
		width: 50%;
	}

}


/*
----------------------------------------
1400
----------------------------------------
*/

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

	#wrapper {
		background: url( ../assets/img/common/2x/bg-01.png ) right -40vw top / 1392px no-repeat;
	}

	.wrap {
		max-width: 1000px;
	}

	footer > .wrap {
		max-width: 1000px;
	}

	#g-nav li {
		width: 140px;
	}

	#g-nav .jp {
		letter-spacing: 2px;
	}

	#home .info-box .logo .txt {
		letter-spacing: 1px;
	}

	#home .info-box .web-yoyaku .txt {
		letter-spacing: 6px;
	}

	#home .news {
		width: calc( ( 100% - 120px ) / 3 );
		margin: 0 60px 40px 0;
	}

	#home .about-box .txt {
		letter-spacing: 0;
	}

}


/*
----------------------------------------
1200
----------------------------------------
*/

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

	.wrap {
		max-width: 900px;
	}

	footer > .wrap {
		max-width: 900px;
	}

	html {
		font-size: 37.5%;
	}

	body {
		font-size: 2.5rem;
	}

	.illust-wrap .illust {
		transform: scale( .6 );
	}

	.illust-wrap .illust-01,
	.illust-wrap .illust-03,
	.illust-wrap .illust-06,
	.illust-wrap .illust-07,
	.illust-wrap .illust-09 {
		right: 0;
	}

	.illust-wrap .illust-02,
	.illust-wrap .illust-04,
	.illust-wrap .illust-05,
	.illust-wrap .illust-08 {
		left: 0;
	}

	.illust-wrap .illust-01 {
		top: -360px;
	}

	.illust-wrap .illust-06 {
		top: 0;
	}

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

	#g-nav li {
		width: 120px;
		margin-right: 25px;
	}

	footer .map {
		height: 40vw;
	}

	.copyright .logo img {
		width: 384px;
	}

	#home .info-box {
		font-size: 2.4rem;
	}

	#home .info-box .web-yoyaku figure img {
		width: 159px;
	}

	#about .main-img .img img {
		width: 380px;
	}

}


/*
----------------------------------------
1000
----------------------------------------
*/

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

	#wrapper {
		background: url( ../assets/img/common/2x/bg-01.png ) right -60vw top / 1392px no-repeat;
	}

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

	#wrapper > header .logo {
		width: 100%;
		text-align: center;
		margin-bottom: 4rem;
	}

	#g-nav {
		padding: 0;
	}

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

	#home .news {
		width: calc( ( 100% - 40px ) / 3 );
		margin: 0 20px 40px 0;
	}

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

	#home .about-box .txt p {
		letter-spacing: 0;
	}

	.medical-list li > span {
		letter-spacing: 2px;
	}

	.cont-list dd {
		letter-spacing: 1px;
	}

	#sidebar {
		padding-left: 30px;
	}

}


/*
----------------------------------------
768
----------------------------------------
*/

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

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

	body {
		padding-top: 50px;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	#wrapper {
		background: transparent;
	}

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

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

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

	#wrapper > header .logo img {
		width: auto;
		height: 30px;
	}

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

	#g-nav {
		display: none;
		z-index: 99999;
	}

	#g-nav .flex {
		position: fixed;
		top: 50px;
		right: 0;
		bottom: 0;
		left: 0;
		flex-direction: column;
		align-items: center;
		border: none;
		background: #E8F4EF;
		overflow: auto;
		border-top: solid 1px #33B495;
	}

	#g-nav li {
		width: 100%;
		max-width: initial;
		border-bottom: solid 1px #33B495;
		margin: 0;
	}

	#g-nav a {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		align-items: center;
		padding: 19px 20px;
		background: #fff;
	}

	#g-nav .jp {
		margin-right: 20px;
		font-size: 2.5rem;
	}

	#g-nav .en {
		font-size: 2rem;
		border: none;
		margin-top: 0;
		padding-top: 0;
		color: #33B495;;
	}

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

	.ttl-01 {
		padding-bottom: 10px;
		margin-bottom: 20px;
	}

	.ttl-01 .jp {
		font-size: 4.2rem;
		letter-spacing: 8px;
		text-indent: 8px;
	}

	.ttl-01 .en {
		font-size: 2.2rem;
		letter-spacing: 2px;
	}

	.ttl-02 h2,
	.ttl-02 h3 {
		font-size: 3.2rem;
		letter-spacing: 4px;
		padding: 0 0 20px;
	}

	.btn-01 {
		margin: 10px 0;
	}

	.btn-01 a {
		width: 100%;
		font-size: 3rem;
		letter-spacing: 0;
		padding: 10px 10px 15px;
		background-size: 44px;
	}

	.list-01 li {
		font-size: 2.5rem;
		text-indent: -2.5rem;
		letter-spacing: 1px;
		padding-left: 2.5rem;
	}

	table th,
	table td {
		font-size: 2.4rem;
	}

	/* post */

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

	#main-contents {
		width: 100%;
	}

	#sidebar {
		width: 100%;
		padding-left: 0;
	}

	#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: 20px;
	}

	#main-contents .post-header {
		padding-bottom: 15px;
		margin-bottom: 20px;
	}

	#main-contents .post-header h1 {
		margin-top: 10px;
		font-size: 3rem;
	}

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

	.post-contents h3 {
		font-size: 2.4rem;
		margin-bottom: 15px;
	}

	.post-contents h4 {
		font-size: 2.4rem;
		margin-bottom: 15px;
	}

	.post-contents ul,
	.post-contents ol {
		margin-bottom: 20px;
	}

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

	.post-nav {
		margin: 30px 0;
		padding: 20px 0;
		border-bottom: dashed 1px #898989;
	}

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

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

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

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

	.post-list .post {
		flex-direction: column;
		padding-bottom: 30px;
		margin-bottom: 30px;
		border-bottom: dashed 1px #898989;
	}

	#main-contents .photo {
		width: 70vw;
		margin: 0 auto 15px;
	}

	.post-list .post > figure + .txt {
		width: 100%;
		padding: 0;
	}

	#main-contents .post-list .post h2 {
		margin: 0 0 10px;
	}

	#main-contents .post-list .post h2 a {
		font-size: 2.8rem;
	}

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

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

	/* home */

	#home {
		background: url( ../img/common/2x/bg-03.png ) center bottom / 200vw no-repeat;
	}

	#home #wrapper {
		background: url( ../../assets/img/common/2x/bg-01.png ) right top / 160vw no-repeat;
	}

	#home .info-box {
		padding: 30px 0 0;
	}

	#home .info-box .info-cont {
		flex-direction: column;
	}

	#home .info-box .logo {
		width: 100%;
		padding: 0;
		margin-bottom: 20px;
	}

	#home .info-box .logo img {
		width: 40vw;
	}

	#home .info-box .logo .txt {
		display: inline-block;
		width: initial;
		padding: 5px 10px 0;
	}

	#home .info-box .cont {
		width: 100%;
		padding: 0;
	}

	#home .info-box .tel-wrap p {
		text-align: center;
		margin-top: 20px;
	}

	#home .info-box .web-yoyaku {
		margin: 30px 0 0;
	}

	#home .info-box .web-yoyaku a {
		padding: 20px 0;
		background: url( ../img/common/2x/yoyaku-bg.png ) left 3px top 3px / 15px no-repeat;
	}

	#home .info-box .web-yoyaku .txt {
		font-size: 3rem;
		letter-spacing: 0;
	}

	#home .info-box .web-yoyaku figure {
		margin-left: 20px;
	}

	#home .info-box .web-yoyaku figure img {
		width: 80px;
	}

	#home .news-box {
		padding: 30px 0;
	}

	#home .news-list {
		flex-direction: column;
		margin-bottom: 30px;
	}

	#home .news {
		width: 100%;
		margin: 0 0 30px;
	}

	#home .news a {
		font-size: 2.3rem;
	}

	#home .news figure {
		width: 70vw;
		margin: 0 auto 20px;
	}

	#home .news .time {
		margin: 1.5rem 0;
	}

	#home .about-box::after {
		top: -50px;
	}

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

	.illust-wrap .illust-01 {
		right: -20px;
	}

	.illust-wrap .illust-04 {
		left: -20px;
	}

	.illust-wrap .illust-01 {
		width: 152.5px;
		top: -210px;
	}

	.illust-wrap .illust-02 {
		width: 106px;
		bottom: -60px;
		left: -10px;
	}

	#home .about-box {
		padding: 30px 0;
	}

	#home .about-box .cont {
		margin: 20px 0;
		flex-direction: column-reverse;
	}

	#home .about-box .img {
		width: 100%;
		margin-bottom: 10px;
		text-align: center;
	}

	#home .about-box .img img {
		max-width: 50vw;
	}

	#home .about-box .txt {
		width: 100%;
		text-align: left;
	}

	#home .about-box .txt p {
		line-height: 2;
		letter-spacing: 1.2px;
	}

	#home .about-box .txt .name {
		font-size: 3rem;
		text-align: center;
	}

	#home .medical-box {
		padding: 30px 0;
	}

	.illust-wrap .illust-03 {
		top: -100px;
		right: -15px;
		width: 128.5px;
	}

	.medical-list li {
		width: 50%;
		margin-bottom: 20px;
	}

	.medical-list li:nth-child( 3n ) span {
		border-right: none;
	}

	.medical-list li:nth-child( even ) span,
	.medical-list li:last-child span {
		border-right: solid 1px #9E9E9F;
	}

	.medical-list li > span {
		font-size: 2.6rem;
		letter-spacing: 0;
		padding: 10px 5px;
	}

	#home .feature-box {
		padding: 30px 0;
	}

	.illust-wrap .illust-04 {
		width: 163.5px;
		top: -75px;
	}

	#home .feature-box .feature-img {
		margin-top: 40px;
	}

	footer .footer-wrap {
		margin: 0 0 40px;
		flex-direction: column;
	}

	footer .cont {
		width: 100%;
		padding: 25px 20px 15px;
	}

	footer .cont .logo {
		margin-bottom: 20px;
	}

	footer .cont .logo img {
		width: 40vw;
	}

	footer .info-list dt {
		width: 25%;
	}

	footer .info-list dd {
		width: 75%;
		letter-spacing: 0;
	}

	footer .map {
		width: 100%;
		height: 240px;
	}

	.copyright {
		padding: 15px 0;
	}

	.copyright .flex {
		flex-direction: column;
		justify-content: center;
	}

	.copyright .logo {
		width: 100%;
		padding: 0;
		margin: 0 0 5px;
	}

	.copyright .copy {
		width: 100%;
		font-size: 1.8rem;
	}

	/* about */

	#about .main-img {
		background: url( ../img/page/2x/header-bg.png ) center top / auto 22vw no-repeat;
	}

	.illust-wrap .illust-05 {
		width: 125px;
		bottom: 0;
		left: -10px;
	}

	#about .main-img .img {
		margin: 0;
	}

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

	#about .doctor-box {
		margin-top: 0;
	}

	.illust-wrap .illust-06 {
		width: 111.5px;
		top: -10px;
		right: -10px;
	}

	#about .doctor-box .doctor-info {
		flex-direction: column;
		align-items: center;
		margin: 45px 0 30px;
	}

	#about .doctor-box .doctor-info .img {
		width: 100%;
		margin-bottom: 10px;
		text-align: center;
	}

	#about .doctor-box .doctor-info .img img {
		width: 70vw;
	}

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

	#about .doctor-box .doctor-info h3 {
		text-align: center;
	}

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

	#about .doctor-box .doctor-prof {
		flex-direction: column;
		padding-top: 30px;
	}

	#about .doctor-box .doctor-prof .name-wrap {
		width: 100%;
		padding: 10px;
		margin-bottom: 20px;
		font-size: 2.4rem;
	}

	#about .doctor-box .doctor-prof .name-wrap .name {
		font-size: 3.6rem;
	}

	#about .doctor-box .doctor-prof .txt {
		width: 100%;
		padding: 0;
	}

	#about .doctor-box {
		padding: 0 0 30px;
	}

	#about .feature-list .flex {
		flex-direction: column;
	}

	#about .feature-list li {
		width: 100%;
		margin-top: 15px;
	}

	#about .feature-list li .num {
		line-height: 1.5;
	}

	.illust-wrap .illust-07 {
		width: 142px;
		bottom: -160px;
		right: -10px;
	}

	#about .medical-box::after {
		top: 20px;
	}

	.cont-list {
		margin: 20px auto;
	}

	.cont-list dt {
		font-size: 2.8rem;
		padding-left: 2.8rem;
		text-indent: -2.8rem;
		letter-spacing: 0;
		margin-bottom: 10px;
	}

	.cont-list dd {
		letter-spacing: 0;
	}

	#about .feature-box {
		margin: 40px 0 0;
		padding: 30px 0;
	}

	.illust-wrap .illust-08 {
		width: 119.5px;
		top: -70px;
		left: -10px
	}

	#about .feature-box .cont-list dd {
		margin-bottom: 3.4rem;
	}

	.illust-wrap .illust-09 {
		width: 111.5px;
		right: -10px;
		bottom: -75px;
	}

}
