/*
Theme Name: 訪問整体doors
Author: StudioSEIA
Version: 1.1.0（2023-05-05）
*/

@charset "utf-8";
html {
	background-color: #fff;
}
body {
	max-width: 500px;
	margin: 0 auto;
	background-color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	position: relative;	
	font-size: 16px;
	box-shadow: 0 0 35px 0 rgba(0, 0, 0, .1);
	color: rgb(27, 27, 27);
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box !important;
	outline: none;
}
img {
	border: none;
	vertical-align: top;
	height: auto;
}
h1,h2 {
	font-weight: normal;
}
span {
	display: inline-block;
}
input[type="submit"],
a {
	display: inline-block;
	text-decoration: none;
	color: #000;
	transition: .3s;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	cursor: pointer;
}
a.underline {
	/* text-decoration: underline; */
	border-bottom: 1px solid #000;
	padding: 0 .1em .2em;
}
input[type="submit"]:hover,
a:hover {
	opacity: .7;
}
@-webkit-keyframes flash {
	0% {
		opacity: .4;
	}
	100% {
		opacity: 1;
	}
}
@keyframes flash {
	0% {
		opacity: .4;
	}
	100% {
		opacity: 1;
	}
}
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
li {
	margin: 0px;
	padding: 0px;
}
input {
	-webkit-appearance: none;
}
input[type="text"] {
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
}
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
}
.small {
	/* display: inline !important; */
	font-size: .7em;	
}
.underline {
	border-bottom: 3px solid #FEE533;
	padding: 0;
	line-height: 1em;
}
.underline_2 {
	border-bottom: 5px solid #FEE533;
	padding-bottom: 5px;
	/* line-height: 1em; */
}
.stripe {
	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxkZWZzPjxwYXR0ZXJuIGlkPSJwYXR0ZXJuXzF3ekNNaiIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBwYXR0ZXJuVHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48bGluZSB4MT0iMCIgeT0iMCIgeDI9IjAiIHkyPSIxMCIgc3Ryb2tlPSIjM0RBMjk1IiBzdHJva2Utd2lkdGg9IjYiLz48L3BhdHRlcm4+PC9kZWZzPiA8cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI3BhdHRlcm5fMXd6Q01qKSIgb3BhY2l0eT0iMSIvPjwvc3ZnPg==')
}
.underbar::after {
	content: "";
	display: block;
	height: 5px;
	margin-top: 5px;
	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxkZWZzPjxwYXR0ZXJuIGlkPSJwYXR0ZXJuX25aWmM3WCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgd2lkdGg9IjUuNSIgaGVpZ2h0PSI1LjUiIHBhdHRlcm5UcmFuc2Zvcm09InJvdGF0ZSg0NSkiPjxsaW5lIHgxPSIwIiB5PSIwIiB4Mj0iMCIgeTI9IjUuNSIgc3Ryb2tlPSIjM0RBMjk1IiBzdHJva2Utd2lkdGg9IjUiLz48L3BhdHRlcm4+PC9kZWZzPiA8cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI3BhdHRlcm5fblpaYzdYKSIgb3BhY2l0eT0iMSIvPjwvc3ZnPg==')
}
.bar {
	width: 100%;
	height: 15px;
}

ul.list {
	text-align: center;
	max-width: 360px;
}
ul.list li {
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2em;
	color: #3DA295;
	display: inline-block;
	letter-spacing: -0.03em;
}
ul li:not(:last-child) {
	margin-bottom: 1.1em;
}

/* 各項目 */

.title {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6em;
}
.title.sub {
	font-size: 18px;
}
.block {
	padding: 30px 0 0;
	text-align: center;
	position: relative;
}
.block.sub > div {
	padding-bottom: 95px;
}
.block > div {
	padding: 66px 0 62px;
}
.block.white {
	background-color: #E9F4F2;
}
.block.white > div {
	background-color: #fff;
}
.block.green > div {
	background-color: #E9F4F2;
}
.block h3 {
	font-size: 36px;
	color: #3DA295;
	letter-spacing: .05em;
	font-weight: bold;
	position: absolute;
	/* top: -.85em; */
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
} 
.block h3 span {
	font-size: 26px;
}
.block img {
	width: 100%;
	margin-top: 40px;
}
.block .title {
	margin-bottom: 18px;
}
.block .title.second {
	margin-top: 40px;
}

/* 歩行テスト、初回リハビリ */

.block2 {
	padding: 50px 5px;
	text-align: center;
}
.block2 img {
	max-width: 360px;
	width: 100%;
}

/*--------------------------------------------
reCAPTCHAバッジ非表示
--------------------------------------------*/
.grecaptcha-badge { visibility: hidden; }
.annotation {
	margin-top: 20px;
	font-size: 10px;
}
.annotation a {
	text-decoration: underline;
}

/*--------------------------------------------
タイトル
--------------------------------------------*/
#title {
	padding: 0 17px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
#title div {
	background-color: #fff;
	width: 100%;
}
#title .main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 21px 5% 0 5%;
}
#title .main .logo {
	width: calc(92% - 15%);
}
#title .main .menu {
	width: 9%;
	cursor: pointer;
	display: flex;
}
#title .main .menu img {
	width: 100%;
}
#title div h1 {
	width: 61px;
	/* max-width: 300px; */
	margin: 68px auto 68px;
}
#title div h2 {
	width: 100%;
	max-width: 215px;
	/* max-width: 300px; */
	margin: 0 auto 20px;
	display: flex;
}
#title div h2 img {
	width: 100%;
}

/*--------------------------------------------
コンセプト
--------------------------------------------*/
#concept {
	padding: 49px 5px 88px;
	text-align: center;
}
#concept h1 {
	margin-bottom: 25px;
}
#concept img {
	max-width: 350px;
	width: 100%;
	margin-top: 29px;
	margin-bottom: 23px;
}
#concept h2 {
	font-size: 28px;
	font-weight: bold;
	/* text-decoration: underline; */
	color: #3DA295;
	line-height: 2em;
	border-bottom: solid 2px #3DA295;
	display: inline-block;
	margin-bottom: 40px;
}

/*--------------------------------------------
その他
--------------------------------------------*/
#shisetsu > div {
	padding-bottom: 93px;
}
#after-test img {
	width: 100%;
}
#first-rehabili {
	margin-bottom: 40px;
}
#price img {
	width: 100%;
	max-width: 297px;
	margin-top: 15px;
	margin-bottom: 50px;
}
#profile img {
	width: 100%;
	max-width: 368px;
	margin-top: 0;
}
#contact2 {
	text-align: center;
	padding: 75px 0 85px;
}

/*--------------------------------------------
お問い合わせ
--------------------------------------------*/
#contact2 img {
	width: 100%;
	margin-top: 0;
}
#contact2 img:nth-child(1) {
	max-width: 262px;
}
#contact2 .tel {
	max-width: 275px;
	margin-top: 45px;
}
#contact2 img:nth-child(3) {
	max-width: 338px;
	margin-top: 15px;
	margin-bottom: 40px;
}
#contact2 .mail {
	display: flex;
	justify-content: center;
	align-items: center;
}
#contact2 .mail:before {
	content: "";
	display: inline-block;
	background-image: url("img/icon-mail.svg");
	width: 19px;
	height: 16px;
	background-repeat: no-repeat;
	margin-right: 5px;
	vertical-align: bottom;
}
#contact2 .mail img {
	/* height: 16px; */
	/* margin-top: 10px; */
	width: 210px;
}
#contact2 p {
	margin-top: 50px;
}

#contact {
	padding: 3% 3%;
}
#contact > div {
	background-color: #fff;
	/* text-align: center; */
	padding: 38px 7% 38px;
}
#contact > div > p {
	margin-bottom: 58px;
	text-align: center;
	font-size: 16px;
}
#contact ul a {
	color: #3DA295;
	text-decoration: underline;
	font-size: 15px;
	font-weight: bold;
}
#contact ul li {
	text-align: center;
}
#contact ul li:not(:last-child) {
	margin-bottom: 13px;
}
#contact .mail:before {
	content: "";
	display: inline-block;
	background-image: url("img/icon-mail.svg");
	width: 19px;
	height: 16px;
	background-repeat: no-repeat;
	margin-right: 5px;
	vertical-align: bottom;
}
#contact .mail img {
	height: 16px;
	margin-top: 10px;
}
#contact .tel:before {
	content: "";
	display: inline-block;
	background-image: url("img/icon-phone-1.svg");
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	margin-right: 5px;
	vertical-align: bottom;
}
#contact .bold {
	text-align: center;
	/* margin-top: 16px; */
	/* font-size: 13px; */
	margin-bottom: 38px;
	line-height: 1.6em;
	font-weight: bold;
}
#contact .other {
	/* width: 100%; */
	text-align: center;
	margin-top: 25px;
}
#contact .other a {
	font-weight: bold;
	font-size: 1.2em;
	text-decoration: underline;
}
#contact .other p {
	margin-top: 40px;
	margin-bottom: 5px;
}
#contact form input,
#contact form textarea {
	width: 100%;
	border-radius: 10px;
	border: 1px solid #CBCBCB;
	font-size: 15px;
	padding: 10px;
	margin-top: 11px;
}
#contact form input {
	height: 42px;
}
#contact form textarea {
	resize: none;
}
#contact form label {
	font-size: 16px;
	font-weight: bold;
}
#contact form p:not(:first-of-type) {
	margin-top: 36px;
}
#contact form p:last-of-type input {
	height: 47px;
	margin-bottom: 0;
	margin-top: 0px;
	background-color: #3DA295;
	border-radius: 26px;
	border: none;
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.wpcf7-not-valid-tip {
	color: #ff0000;
	font-size: 15px;
	font-weight: bold;
}
.wpcf7-not-valid{
    background: rgb(255, 241, 241);
}
.wpcf7 form .wpcf7-response-output {
    margin: 1rem 0;
    padding: 1.5rem;
    border: none;
	margin-top: 40px;
	text-align: center;
}
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output {
    background-color: #fff;
    color: #ff0000;
    border: 1px solid #ff0000;
    border-radius: 5px;
}
.wpcf7 form.sent .wpcf7-response-output {
    background-color: #fff;
    color: #259e25;
    border: 1px solid #259e25;
    border-radius: 5px;
}
span.wpcf7-not-valid-tip {
	margin: 0.5rem 0;
}

/*--------------------------------------------
フッター
--------------------------------------------*/
footer {
	background-color: #3DA295;
	padding: 59px 3% 100px;
	text-align: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
}
footer a {
	color: #fff;
}
footer .line {
	margin-top: 42px;
	/* margin-bottom: 42px; */
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: 8px 7px;
	font-weight: bold;
	letter-spacing: .035em;
}
footer .logo {
	width: 100%;
	max-width: 204px;
	display: inline-block;
}
footer .tel {
	display: inline-block;
	/* margin-top: 62px; */
	margin-top: 42px;
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 8px;
}
footer .tel::before {
	content: "";
	display: inline-block;
	background-image: url("img/icon-phone-2.svg");
	width: 21px;
	height: 21px;
	background-repeat: no-repeat;
	margin-right: 7px;
	/* vertical-align: bottom; */
}
footer > ul {
	margin-top: 52px;
}
footer > ul > li:not(:last-of-type) {
	margin-bottom: 20px;
}
footer > ul > li a {
	text-decoration: underline;
	font-weight: bold;
}
footer .sub > li {
	display: inline-block;
	margin-left: 12px;
	margin-right: 12px;
}
footer .copyright {
	margin-top: 70px;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

/*--------------------------------------------
下部固定メニュー
--------------------------------------------*/
#fix_link {
	height: 58px;
	max-width: 500px;
	/* border-top: 3px solid #3DA295; */
	position: fixed;
	z-index: 100;
	bottom: 0;
	width: 100%;
	/* background-color: #fff; */
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	/* position: relative; */
	pointer-events: none;
}
#fix_link a.base {
	color: #3DA295;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
#fix_link div {
	background-color: #fff;
	width: 48px;
	position: absolute;
	right: 3%;
	top: 0;
	transform: translateY(-50%);
	border-radius: 50%;
}
#fix_link > div > a {
	width: 100%;
	transform: scale(1.1);
	pointer-events: fill;
}

/*--------------------------------------------
ドロワー
--------------------------------------------*/
/*メインコンテンツ上の黒レイヤー表示*/
.overlay {
	width: 0;
	height: 0;
	background-color: rgba(0, 0, 0, 0.3);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 200;
	transition: opacity .5s;
}
.overlay.open {
	width: 100%;
	height: 100%;
	opacity: 1;
}
/*ドロワーエリア*/
.drawer {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 300;
}
.drawer .area {
	max-width: 500px;
	margin: 0 auto;
	height: 100vh;
	overflow: hidden;
	position: relative;
}
.drawer nav {
	position: absolute;
	right: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	background-color: #3DA295;
	transform: translate(100%);
	transition: all .5s;
	overflow-y: auto;
	pointer-events: initial;
	padding-bottom: 100px;
}
.drawer nav.open {
	transform: translateZ(0);
}
.drawer nav > ul {
	/* margin-top: 23%; */
	margin-top: 17%;	
}
.drawer nav > ul > li {
	/* padding-bottom: 48px; */
	/* padding-bottom: 32px; */
	font-weight: bold;
	text-align: center;
	font-size: 15px;
	line-height: 2.8em;
}
.drawer nav > ul > li a {
	/* width: 90%; */
	color: #fff;
	text-decoration: underline;
}
.drawer nav .sub > li {
	display: inline-block;
	margin-left: 12px;
	margin-right: 12px;
}

.drawer nav > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 34px 0 0 4%;
	/* background-color: bisque; */
	width: 100%;
}
.drawer .logo {
	width: calc(92% - 15%);
}
.drawer .close {
	width: 9%;
	max-width: 32px;
	margin-right: 4%;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*--------------------------------------------
プライバシーポリシーページ
--------------------------------------------*/
#privacy {
	padding: 3%;
	margin-top: 25px;
}
#privacy > div {
	background-color: #fff;
	padding: 45px 10%;
	text-align: justify;
}
#privacy h1 {
	font-size: 20px;
	font-weight: bold;
	/* border-left: 9px solid #FFE50A; */
	/* border-right: 9px solid #FFE50A; */
	text-align: center;
	padding: 4px 0;
}
#privacy p {
	font-size: 16px;
	margin-top: 48px;
}
#privacy dl {
	font-size: 16px;
	margin-top: 48px;
}
#privacy dt {
	font-weight: bold;
	margin-bottom: 13px;
}
#privacy dd {
	margin-bottom: 35px;
}
#privacy ul {
	margin-top: 20px;
	list-style-type: disc;
	/* margin-left: 0; */
}
#privacy li {
	margin-left: 1em;
}
