@charset "UTF-8";
/* CSS Document */

/* ==========================================================
 max-width: 1060px
========================================================== */
@media screen and (min-width: 1px) and (max-width: 1060px) {
	body {
		width: 100%;
	}
	.footer-contact-in,
	.footer-info,
	.area-cmn-01,
	.area-cmn-02,
	.area-cmn-02-in,
	.area-cmn-03 {
		width: auto;
		margin-left: 15px;
		margin-right: 15px;
	}
}

/* ==========================================================
 max-width: 699px
========================================================== */
@media screen and (min-width: 1px) and (max-width: 699px) {
	
	body {
		padding-top: 50px;
		font-size: 14px;
		text-align: left;
	}
	body, h1, h2, h3, h4, h5, h6 {
		font-weight: 400;
	}
	.ttl-cmn-01-1,
	.ttl-cmn-01-2,
	.ttl-cmn-02,
	.ttl-cmn-03,
	.ttl-cmn-04,
	.ttl-cmn-05,
	.ttl-cmn-07,
	.ttl-cmn-08,
	.ttl-cmn-09,
	.ttl-cmn-10,
	.header-nav-btn div,
	.header-contact .link-tel,
	.header-contact .link-reserve,
	.footer-info h2,
	.footer-contact h2,
	.footer-contact .only-en,
	.footer-contact .only-en a,
	.ttl-main-01,.ttl-main-02-1,
	.ttl-main-02-2,
	.list-decimal-01 li,
	.list-check-01,
	.list-check-02 li,
	.box-notes h3,
	.modal-close-02,
	.visitor-why h3,
	.visitor-why h4,
	.visitor-faq .sec-faq div:before,
	.voice-list a h3,
	.voice-list a .voice-title,
	.voice .modal-content h3,
	.voice .modal-content .voice-title,
	.modal-content h4.voice-name,
	.en .staff-box-01 h4,
	.en .staff-box-02 h4 {
		font-weight: 600;
	}
	.target:before {
		height: 51px;
    margin-top: -51px;
	}
	
	/* ==========================================================
	 header / footer
	========================================================== */
	/* header
	---------------------------------------------------------- */
	.header {
		position: fixed;
    padding: 0;
	}
	.header-in {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: auto;
		margin: 0;
	}
	.header-info,
	.header-info h1,
	.header-nav-btn {
		position: relative;
		z-index: 50;
	}
	.header-info {
		display: flex;
		align-items: center;
		width: calc(100% - 100px);
		height: 50px;
		background: #fff;
	}
	.header-info h1 {
		max-width: 150px;
    height: auto;
    margin: 0 0 0 15px;
	}
	.header-nav {
		overflow-y: scroll;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding-top: 50px;
		background: #f4faf8;
		visibility: hidden;
		z-index: 10;
		opacity: 0;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	.header-menu {
		margin: 10px 15px;
		border-top: 1px solid #00a582;
	}
	.header-menu .menu-01,
	.header-menu .menu-01:last-child {
		margin: 0;
	}
	.header-menu .menu-01 {
		display: block;
		height: auto;
		border-bottom: 1px solid #00a582;
	}
	.header-menu .menu-01 > a,
	.header-menu .menu-01 > span {
		position: relative;
		height: auto;
		padding: 5px 10px;
		font-size: 12px;
	}
	.header-menu .menu-01 > a:before,
	.header-menu .menu-01 > span:before {
		display: none;
	}
	.header-menu .menu-01 > span:after {
		content: "";
		position: absolute;
		top: 40%;
		right: 10px;
		display: block;
		width: 5px;
		height: 5px;
		border-top: solid 2px #00a582;
		border-right: solid 2px #00a582;
		transform: translateY(-50%);
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.header-menu .menu-01.active > span:after {
		top: 48%;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.header-menu .menu-02 {
		display: none;
		position: static;
		top: auto;
		left: auto;
		visibility: visible;
		opacity: 1;
		width: 100%;
		z-index: auto;
		transition: 0s;
	}
	.header-menu .menu-02 a,
	.header-menu .menu-02 li:last-child a {
		font-size: 12px;
	}
	.header-menu .menu-02 a,
	.header-menu .menu-02 li:last-child a {
		padding: 5px 10px;
		color: #fff;
	}
	.header-menu .menu-03 a {
		padding-left: 20px;
	}
	.header-nav .header-menu + .only-sp {
		padding: 0 15px;
	}
	.header-nav .table-day {
		background: none;
	}
	.header-nav .table-day thead {
		color: #fff;
		background: #00a582;
		border: none;
	}
	.header-nav .table-day th,
	.header-nav .table-day td {
		width: auto;
	}
	.header-nav .table-day td {
		background: #fff;
	}
	.header-contact {
		margin-top: 10px;
		padding: 0 15px;
	}
	.header-contact .link-tel,
	.header-contact .link-reserve {
		width: calc(50% - 5px);
		height: 32px;
		line-height: 32px;
		padding: 0;
		font-size: 12px;
		text-align: center;
		border-radius: 20px;
	}
	.header-contact .link-reserve {
		float: right;
	}
	.header-contact .link-tel {
		display: block;
		background: #00a582;
		color: #fff;
	}
	.header-contact .link-tel:before {
		display: inline-block;
		position: relative;
		top: 5px;
		width: 14px;
		height: 19px;
		margin-right: 4px;
		background-image: url(../img/ico_tel_03.svg);
		transform: none;
	}
	.header .other-link {
		margin: 10px 0;
		text-align: center;
	}
	.header .other-link a {
		margin: 0;
	}
	.header .other-link a + a {
		margin-left: 15px;
	}
	.header-nav-btn {
		clear: both;
		overflow: hidden;
	}
	.header-nav-btn div {
		position: relative;
		float: left;
		display: block;
		width: 50px;
		height: 50px;
		font-size: 10px;
		text-align: center;
	}
	.header-nav-btn .btn-tel {
		background: #ec4636;
	}
	.header-nav-btn .btn-menu {
		letter-spacing: -0.2px;
		color: #fff;
		background: #00a582;
	}
	.header-nav-btn .btn-tel a {
		display: block;
		color: #fff;
	}
	.header-nav-btn .btn-tel a::before {
		content: "";
		display: block;
		width: 16px;
		height: 21px;
		margin: 8px auto 0;
		background: url(../img/ico_tel_03.svg) no-repeat;
		background-size: contain;
	}
	.header-nav-btn .btn-tel span,
	.header-nav-btn .btn-menu::after {
		position: absolute;
		width: 100%;
		left: 0;
		bottom: 4px;
	}
	.header-nav-btn .btn-menu::after {
		content: "MENU";
	}
	.header-nav-btn .btn-menu span,
	.header-nav-btn .btn-menu span::before,
	.header-nav-btn .btn-menu span::after {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		width: 25px;
		height: 2px;
		margin: auto;
		background: #fff;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
		z-index: 50;
	}
	.header-nav-btn .btn-menu span {
		top: 18px;
	}
	.header-nav-btn .btn-menu span::before,
	.header-nav-btn .btn-menu span::after {
		content: "";
	}
	.header-nav-btn .btn-menu span::before {
		transform: translate(0, -6px);
	}
	.header-nav-btn .btn-menu span::after {
		transform: translate(0, 6px);
	}
	.open .header-nav-btn .btn-menu {
		color: #00a582;
		background: #f4faf8;
	}
	.open .header-nav-btn .btn-menu::after {
		content: "CLOSE";
	}
	.open .header-nav-btn .btn-menu span {
		background: #f4faf8;
	}
	.open .header-nav-btn .btn-menu span::before,
	.open .header-nav-btn .btn-menu span::after {
		background: #00a582;
	}
	.open .header-nav-btn .btn-menu span::before {
		transform: rotate(45deg);
	}
	.open .header-nav-btn .btn-menu span::after {
		transform: rotate(-45deg);
	}
	.open .header-nav {
		visibility: visible;
		opacity: 1;
	}
	
	/* footer
	---------------------------------------------------------- */
	.footer-contact {
		margin: 100px 0 20px;
	}
	.footer-contact .only-en {
		line-height: inherit;
	}
	.footer-contact .only-en a {
		display: block;
		margin: -5px 0 0;
		font-size: 22px;
	}
	.footer-contact-in {
		height: auto;
		padding: 30px 0;
		text-align: center;
	}
	.footer-contact h2,
	.footer-contact .link-reserve,
	.footer-contact .link-tel {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		transform: none;
	}
	.footer-contact h2 {
		margin-bottom: -5px;
		padding: 0;
		font-size: 16px;
	}
	.footer-contact h2:before {
		display: none;
	}
	.footer-contact .link-reserve {
		margin: 0 auto;
	}
	.footer-contact .link-tel {
		padding-left: 26px;
		font-size: 32px;
	}
	.footer-contact .link-tel:before {
		width: 23px;
		height: 30px;
	}
	.footer-info h1 {
		text-align: center;
	}
	.footer-info h1 img {
		width: 80%;
		height: auto;
	}
	.footer-info div:last-child {
		width: auto;
	}
	.footer-info .table-day {
		margin-top: 20px;
		font-size: 12px;
	}
	.footer-info .table-day th,
	.footer-info .table-day td {
		width: auto;
	}
	.footer-info .table-day td img {
		width: 14px;
		height: 14px;
	}
	.footer-info h2 {
		margin-bottom: 0;
	}
	.footer-copy {
		padding: 15px;
		font-size: 10px;
	}
	
	/* ==========================================================
	 area / section
	========================================================== */
	.contents {
		margin-top: 15px !important;
	}
	
	/* area
	---------------------------------------------------------- */
	
	/* section
	---------------------------------------------------------- */
	.sec-cmn-01 + section {
		margin-top: 60px;
	}
	.sec-cmn-01 + .sec-cmn-01 {
		margin-top: 60px;
	}
	.sec-cmn-02 + .sec-cmn-02 {
    margin-top: 40px;
    padding-top: 40px;
	}
	.sec-cmn-in-40,
	.sec-cmn-in-80 {
		margin-left: 0;
	}
	
	/* ==========================================================
	 その他汎用パーツ
	========================================================== */
	/* ttl
	---------------------------------------------------------- */
	.ttl-cmn-01-1,
	.ttl-cmn-01-2 {
		margin-bottom: 20px;
		font-size: 20px;
	}
	.ttl-cmn-02,
	.ttl-cmn-07,
	.ttl-cmn-10 {
		font-size: 18px;
	}
	.ttl-cmn-08 {
		margin: 30px 0 10px;
	}
	.ttl-main-02-1,
	.ttl-main-02-2 {
		font-size: 22px;
	}
	.ttl-main-01 {
		height: 160px;
		margin-bottom: 40px;
		font-size: 22px;
	}
	.ttl-main-01:before {
		height: 90px;
	}
	.ttl-main-01 .ttl-main-01-in {
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		padding: 52px 0 0 20px;
		transform: none;
	}
	.ttl-main-01 .ttl-main-01-in span {
		font-size: 18px;
	}
	.ttl-main-02-1 {
		margin-bottom: 60px;
		padding: 25px 0;
		line-height: 1.4;
		font-size: 22px;
	}
	.ttl-main-02-in {
		width: auto;
		margin: 0 20px;
	}
	.ttl-main-02-in span {
		margin-top: 5px;
		font-size: 14px;
	}
	
	/* txt
	---------------------------------------------------------- */
	.txt-cmn-01 {
		margin-bottom: 10px;
	}
	.txt-cmn-02 {
		margin-bottom: 20px;
	}
	.txt-ttlbottom-01,
	.txt-ttlbottom-02 {
		font-size: 14px !important;
	}
	
	/* img
	---------------------------------------------------------- */
	
	/* link
	---------------------------------------------------------- */
	.link-more-01 {
		font-size: 12px;
	}
	
	/* list
	---------------------------------------------------------- */
	.list-dot-01 {
		margin-left: 1.2em;
	}
	.list-check-01 {
		font-size: 14px;
	}
	.list-check-01 li {
		margin-bottom: 5px;
		padding-left: 25px;
	}
	.list-check-01 li:before {
		width: 20px;
		height: 20px;
	}
	.list-check-02 {
		margin: 10px 0 20px 30px;
	}
	
	/* table
	---------------------------------------------------------- */
	.table-scroll-box {
		white-space: nowrap;
		overflow-x: auto;
	}
	.table-scroll-box::-webkit-scrollbar {
		height: 6px;
	}
	.table-scroll-box::-webkit-scrollbar-track,
	.table-scroll-box::-webkit-scrollbar-thumb {
		border-radius: 3px;
	}
	.table-scroll-box::-webkit-scrollbar-track {
		background: #ccc;
	}
	.table-scroll-box::-webkit-scrollbar-thumb {
		background: #666;
	}
	table[class^="table-cmn-"] th:first-child,
	table[class^="table-cmn-"] th:not(:first-child),
	table[class^="table-cmn-"] th.s-ta-l,
	table[class^="table-cmn-"] td {
		padding: 10px;
	}
	.table-scroll-box table[class^="table-cmn-"]:not(.table-cmn-03) {
		margin-bottom: 6px;
	}
	.table-cmn-03,
	.table-cmn-05 {
		width: 100%;
	}
	.table-day th:first-child,
	.table-day td:first-child {
		width: 70px !important;
	}
	.table-day th:last-child,
	.table-day td:last-child {
		width: 30px;
	}
	
	/* box
	---------------------------------------------------------- */
	.box-color-01,
	.box-notes {
		padding: 20px;
	}
	.box-notes h3 {
		position: static;
		line-height: 1.4;
		padding: 0 0 20px;
	}
	.box-notes-ttl-01:before,
	.box-notes-ttl-02:before {
		display: none;
	}
	
	/* btn
	---------------------------------------------------------- */

	/* modal
	---------------------------------------------------------- */
	.modal-content {
		width: auto;
		margin: 20px;
		padding: 30px 20px;
	}
	.modal-content:after {
		height: auto;
	}
	.modal-content h4 {
		margin-bottom: 10px;
    font-size: 18px;
	}
	.modal-close-01 {
		right: 10px;
		top: 10px;
	}
	.modal-close-02 {
		padding: 10px;
		line-height: 1;
		font-size: 12px;
	}
	
	/* ==========================================================
	 staff.html
	========================================================== */
	.staff .staff-box-01,
	.staff .staff-box-02 {
		margin-bottom: 30px;
	}
	.staff .staff-box-01 img {
		float: none;
		width: auto;
		margin: 0 auto;
	}
	.staff .staff-box-01 .ttl-cmn-01-1 {
		margin: 20px 0 0;
	}
	.staff .staff-box-01 h3,
	.staff .staff-box-01 ul,
	.staff .staff-box-01 p {
		padding: 0;
	}
	.staff .staff-box-02-in {
		float: none;
		width: 100%;
		margin: 0 0 30px;
		text-align: left;
	}
	
	/* ==========================================================
	 fee.html
	========================================================== */
	.fee .ttl-cmn-02 {
		margin-left: 0;
	}
	
	/* ==========================================================
	 access.html
	========================================================== */
	.access .contents iframe + p,
	.access .contents iframe + p + p,
	.access .contents iframe + p + p + p,
	.access .contents iframe + p + p + p + p {
		text-align: left;
	}
	
	/* ==========================================================
	 jac.html
	========================================================== */
	.jac .ttl-main-02-1 {
		font-size: 18px;
	}
	.jac .movie-box {
		width: 100%;
		padding-bottom: 56.25%;
	}
	.jac .txt-color-01 {
		margin-top: 40px;
	}
	
	/* ==========================================================
	 visitor/
	========================================================== */
	/* hope.html
	---------------------------------------------------------- */
	.visitor-hope section:nth-of-type(1) img,
	.visitor-hope section:nth-of-type(2) img {
		float: none;
		width: auto;
		margin: 0 0 40px;
	}
	.visitor-hope .txt-color-01 span:nth-of-type(1),
	.visitor-hope .txt-color-01 span:nth-of-type(2),
	.visitor-hope .txt-color-01 span:nth-of-type(3),
	.visitor-hope .txt-color-01 span:nth-of-type(4) {
		text-indent: 0;
	}
	
	/* why.html
	---------------------------------------------------------- */
	.visitor-why ol {
		margin-bottom: 60px;
	}
	.visitor-why ol li + li {
		margin-top: 40px;
	}
	.visitor-why h3 {
		height: auto;
		line-height: 32px;
		padding: 0 0 20px;
		font-size: 20px;
		text-align: center;
		background: none;
	}
	.visitor-why h3 span {
		display: inline-block;
		font-size: 30px;
		margin-top: -4px;
	}
	.visitor-why h4 {
		margin-bottom: 30px;
		padding: 10px 20px;
		line-height: inherit;
		font-size: 20px;
		text-align: left;
	}
	
	/* spine.html
	---------------------------------------------------------- */
	.visitor-spine section h4 {
		margin: 30px 0 20px;
		font-size: 18px;
	}
	.visitor-spine .ttl-cmn-07 + img {
		margin-bottom: 30px;
	}
	.spain-list {
		overflow: hidden;
		margin: 0 -3% -2% 0;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.spain-list li {
		width: 31%;
		margin: 0 2% 2% 0;
		padding: 20px 10px 20px;
	}
	.spain-list li img {
		width: auto;
		margin: 0 0 10px;
	}
	
	/* flow.html
	---------------------------------------------------------- */
	.visitor-flow section ol {
		margin-top: 30px;
	}
	.visitor-flow section li {
		margin-bottom: 40px;
	}
	.visitor-flow section li img {
		float: none;
		width: auto;
		margin-bottom: 20px;
	}
	
	/* faq.html
	---------------------------------------------------------- */
	.visitor-faq .sec-faq + .sec-faq {
		margin-top: 0;
	}
	.visitor-faq .sec-faq h3:before,
	.visitor-faq .sec-faq div:before {
		width: 24px;
		height: 24px;
		line-height: 23px;
		font-size: 12px;
		border-radius: 12px;
	}
	.visitor-faq .sec-faq h3 {
		padding: 14px 20px 14px 50px;
		font-size: 14px;
	}
	.visitor-faq .sec-faq div {
		display: none;
		padding-left: 50px;
	}
	
	/* ==========================================================
	 voice.html
	========================================================== */
	.voice-list li {
		width: 49%;
		line-height: 1.4;
		margin: 0;
	}
	.voice-list a {
		width: 100%;
		height: auto;
		margin-bottom: 10px;
		padding-bottom: 100%;
	}
	.voice-list a span {
		width: 80%;
	}
	.voice-list a h3 {
		margin-bottom: 0;
		letter-spacing: -0.6px;
		font-size: 12px;
	}
	.voice-list a .voice-title,
	.voice-list a .voice-post {
		font-size: 10px;
	}
	.voice-list a .voice-post {
		margin-bottom: 5px;
	}
	.voice .modal-content {
		width: auto;
		padding: 20px;
	}
	.voice .modal-content img {
		display: block;
		float: none;
		margin: 20px auto;
	}
	.voice .modal-content h3,
	.voice .modal-content-in {
		margin-bottom: 0;
	}
	.voice .modal-content .voice-title {
		margin: 20px 0 10px;
		font-size: 16px;
	}
	
	.voice2 .voice-list {
		display: block;
	}
	.voice2 .voice-list li {
		width: 100%;
		line-height: inherit;
	}
	.voice2 .voice-list a {
		margin: 0 auto 20px;
	}
	.voice2 .voice-list a h3 {
		letter-spacing: 0;
		font-size: 18px;
	}
	.voice2 .voice-list a .voice-title,
	.voice2 .voice-list a .voice-post {
		font-size: 14px;
	}
	.voice2 .voice-list a .voice-post {
		margin-bottom: 15px;
	}
	
	/* ==========================================================
	 symptoms.html
	========================================================== */
	.symptoms .symptoms-box-01 img,
	.symptoms .symptoms-box-02 div,
	.symptoms .symptoms-box-03 div {
		float: none;
		width: auto;
	}
	.symptoms .symptoms-box-01 .ttl-cmn-09,
	.symptoms .symptoms-box-01 .list-check-01,
	.symptoms .symptoms-box-02 .ttl-cmn-09,
	.symptoms .symptoms-box-02 .list-check-01 {
		padding: 0;
	}
	.symptoms .symptoms-box-03,
	.symptoms .symptoms-box-03 div {
		margin: 0;
	}
	.symptoms .ttl-cmn-09,
	.symptoms .symptoms-box-03 img + p {
		margin: 20px 0;
	}
	.symptoms .symptoms-box-01,
	.symptoms .symptoms-box-02 {
		margin: 20px 0;
	}
	.symptoms .box-notes.s-mt-50 {
		margin-top: 30px !important;
	}
	
	/* ==========================================================
	 case.html
	========================================================== */

	/* ==========================================================
	 approach/
	========================================================== */
	.approach-chiro .sec-cmn-01:first-of-type .approach-img-01,
	.approach-ak .approach-img-02,
	.approach-energy .approach-img-01,
	.approach-graston .approach-img-01,
	.approach-chiro .sec-cmn-01:last-of-type .approach-img-01,
	.approach-bio .approach-img-01,
	.approach-ak .approach-img-01,
	.approach-other .approach-img-02,
	.approach-other .approach-img-01 {
		display: block;
		float: none;
		width: auto;
		margin: 0 auto 20px;
	}
	.approach-chiro .sec-cmn-01:first-of-type .box-color-01,
	.approach-chiro .chiro-box .approach-img-01 {
		width: 100%;
	}
	.approach-chiro .chiro-box {
		margin: 0;
	}
	.approach-ak .ak-box ul,
	.approach-ak .ak-box p,
	.approach-other #approach_other-02 .list-dot-01,
	.approach-other #approach_other-06 .txt-indent:last-child {
		padding: 0;
	}

	/* ==========================================================
	 en.html
	========================================================== */
	.en .staff-box-01 h4,
	.en .staff-box-02 h4 {
		line-height: 1.2;
		text-align: center;
	}
	.en .sec-cmn-01:first-of-type img,
	.en .staff-box-01 img,
	.en .staff-box-02 img,
	.testimonials-box img {
		display: block;
		width: auto;
		margin: 0 auto 20px;
	}
	.en .sec-cmn-01:first-of-type img,
	.en .staff-box-01 img,
	.en .staff-box-02 img {
		float: none;
	}
	.testimonials-box:nth-of-type(9) {
		width: 100%;
	}
	.en .sec-cmn-01:first-of-type .list-dot-01 {
		padding: 0;
	}
	.testimonials-box .testimonials-box-name {
		margin-top: 20px;
	}
	.testimonials-box + .testimonials-box {
		margin-top: 60px;
	}
	.testimonials-box:nth-child(odd) .testimonials-box-in,
	.testimonials-box:nth-child(even) img,
	.testimonials-box:nth-child(even) .testimonials-box-in,
	.testimonials-box:nth-child(odd) .testimonials-box-name,
	.testimonials-box:nth-of-type(9) .testimonials-box-name,
	.testimonials-box:nth-child(odd) img {
		float: none;
	}
	
	

	
}