@charset "utf-8";

/*
Theme Name: こりとり整体院
Theme URI: https://www.koritori-seitaiin.com/themes/koritori
Author: Daisuke Taniguchi
Author URI: http://www.officetaniguchi.com/
Description: A theme by <a href="https://www.koritori-seitaiin.com">こりとり整体院</a>
Version: 1.02
*/


/* 共通設定 */

body {
	color: #333;
	font-family: Arial, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 100%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 0;
	padding: 0;
}
aside, header, nav, footer {
	display: block;
}
#contents {
	background-color: #fff;
	clear: both;
	overflow: auto;
	margin: 0 auto;
	padding: 0;
	width: 1000px;
}
header, nav {
	width: 100%;
}
hr {
	background-color: #047391;
	border: 0;
	height: 3px;
}
iframe {
	border: 0;
}
img {
	border: 0;
	margin: 0;
	vertical-align: bottom;
}
table {
	border-collapse: collapse;
}
#contents a:hover img, #headr_area a:hover img {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
}
.boldfont {
	font-weight: bold;
}
.caption {
	padding-left: 1.1em;
	text-indent: -1.1em;
}
.redfont {
	color: #f00;
}
.smallfont {
	font-size: 0.8em;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
.textcenter {
	text-align: center;
}
.textright {
	text-align: right;
}


/* ヘッダー */

hr {
	clear: both;
	margin: 3em 0;
}
#headerarea {
	margin: 0 auto;
	overflow: auto;
	width: 1000px;
}
#headerarea h1 {
	background-color: #00008b;
	color: #fff;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0;
	line-height: 1em;
	padding: 0.5em 0;
	text-align: center;
	width: 100%;
}
#headerarea h1 span {
	padding-left: 1em;
}
#shopname {
	float: left;
	width: 50%;
}
#shopname h2 {
	font-size: 3em;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0;
	padding: 0.5em 0;
	width: 100%;
}
#shopname h2 a {
	text-decoration-line: none;
}
#headerarea #tel {
	float: right;
	padding-top: 10px;
	width: 40%;
}
#headerarea #tel p {
	margin: 0;
	padding: 0;
	text-align: center;
}
#headerarea #tel p:first-child {
	color: #006400;
	font-size: 2.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-top: 20px;
}
#social {
	margin: 0 auto;
	width: 1000px;
}
#social ul {
	list-style-type: none;
	margin: 10px 0 0;
	overflow: hidden;
	padding: 0;
}
#social li {
	float: left;
	margin: 0 10px 0 0;
	padding: 0;
}
#social:before, #social:after {
	content: " ";
	display: block;
}
#social:after {
	clear: both;
}
#social iframe.twitter-share-button {
	width: 90px !important;
}
.faq {
	border-bottom: 3px solid #228b22;
}
.fb_iframe_widget * {
	vertical-align: top !important;
}



/* メインメニュー */

nav {
	background: #299a0b;
	background: -moz-linear-gradient(top, #299a0b 0%, #299a0b 100%);
	background: -webkit-linear-gradient(top, #299a0b 0%, #299a0b 100%);
	background: linear-gradient(to bottom, #299a0b 0%, #299a0b 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#299a0b', endColorstr='#299a0b', GradientType=0);
	border-bottom: 3px solid #299a0b;
	clear: both;
	height: 50px;
	margin-bottom: 50px;
}
nav ul {
	display: grid;
	grid-template-columns: 12% 18% 1fr 1fr 1fr 10% 1fr;
	height: 50px;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	width: 1000px;
}
nav li {
	border-left: 1px solid #fff;
	height: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}
nav li:first-child {
	border-left: 0;
}
nav li a {
	border-bottom: 3px solid #f00;
	color: #fff;
	display: block;
	font-weight: bold;
	height: 100%;
	line-height: 50px;
	text-decoration: none;
	width: 100%;
}
nav li a:hover {
	background: #299a0b;
	background: -moz-linear-gradient(top, #299a0b 0%, #299a0b 100%);
	background: -webkit-linear-gradient(top, #299a0b 0%, #299a0b 100%);
	background: linear-gradient(to bottom, #299a0b 0%, #299a0b 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#299a0b', endColorstr='#299a0b', GradientType=0);
	border-bottom: 0;
	border-top: 3px solid #f00;
}
nav #nav-input, nav #nav-open, nav #nav-unshown {
	display: none;
}


/* フッター */

footer {
	background-color: #eee;
	clear: both;
	font-size: 80%;
	letter-spacing: 0;
	line-height: 1.5em;
	margin-top: 50px;
	overflow: hidden;
	padding: 0 0 1em;
	text-align: center;
	width: 100%;
}
footer ul {
	list-style-type: none;
	margin: 0 auto;
	padding: 15px 0 40px;
	width: 1000px;
}
footer ul li {
	display: inline;
	letter-spacing: 0.1em;
	padding: 0 1em;
}
footer p {
	margin-top: 5px;
}



/* サブコンテンツ */

aside {
	float: left;
	width: 25%;
}
aside section {
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	font-size: 80%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 1em 10px;
	padding: 10px 0;
}
aside h2 {
	border: none;
	background-image: none;
	background-color: transparent;
	margin: 10px 0;
	padding: 0;
	text-align: center;
}
#banner {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#banner li {
	padding-top: 1em;
	text-align: center;
}
#biz_calendar table.bizcal {
	margin-top: 0 !important;
}
#biz_calendar p:last-child {
	display: none;
}
#shopinfo dl {
	margin: 1em 5px;
	padding: 0;
}
#shopinfo dl dd {
	margin: 10px 0 10px 20px;
	padding: 0;
}
#shopinfo dl dt {
	background-color: #228b22;
	color: #fff;
	font-weight: bold;
	margin: 0;
	padding: 3px 7px;
}
#shopinfo div {
	background-color: #f5f5f5;
	color: #696969;
	padding: 1em 0.5em;
}
#shopinfo div p {
	padding-left: 1.1em;
	text-indent: -1.1em;
}
#shopinfo div p:first-child {
	margin-bottom: 0.8em;
}
#shopinfo p {
	margin: 0;
	padding: 0;
}
#shopinfo p img {
	height: auto;
	width: 100%;
}
#widget {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#widget li {
	margin: 0 10px;
	padding: 0;
}
#widget li h2 {
	background-color: #d04255 !important;
	color: #fff !important;
	margin: 0 !important;
	padding: 0.8em 0 !important;
}


/* メインコンテンツ */

#main, #home, #not_found, #post {
	float: left;
	margin:0;
	overflow: hidden;
	width: 75%;
}
#main h2, #home h2, #faq h2, #appoint h2, #post h2 {
	background: #fff;
	background: -moz-linear-gradient(top, #fff 0%, #e5e5e5 100%);
	background: -webkit-linear-gradient(top, #fff 0%, #e5e5e5 100%);
	background: linear-gradient(to bottom, #fff 0%, #e5e5e5 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff', endColorstr='#e5e5e5', GradientType=0 );
	border-bottom: 3px solid #008000;
	clear: both;
	color: #009944;
	font-size: 1.5em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 3em auto 0;
	padding: 0.6em 0.8em;
	width: 95%;
}
#main h2:first-child, #faq h2:first-child, #home h2:first-child, #post h2:first-child, #appoint h2:first-child {
	margin-top: 0;
}
#main h3, #post h3 {
	background-color: #165e83;
	color: #fff;
	font-weight: bold;
	margin: 2em 30px 1.5em;
	padding: 0.5em;
}
#main h3 span {
	padding-left: 1em;
}
#main p, #home p, #post p {
	margin: 1em 2.5em;
}
#appo {
	border: 2px solid #ccc;
	margin: 0 auto;
	padding: 0 0 1em;
	width: 80%;
}
#appo p {
	color: #f00;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#appo_tel {
	overflow: hidden;
	margin: 0 auto;
	width: 67%;
}
#appo_tel h3 {
	background: url("img/tell_mark.png") left center no-repeat;
	color: #047391;
	font-size: 4em;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding-left: 60px;
}
#appo_tel dl {
	margin: 0.5em 0 0;
	overflow: hidden;
	padding: 0;
}
#appo_tel dd, #appo_tel dt {
	color: #8c8c8c;
	float: left;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.1em;
	margin: 1em 0 0;
	padding: 0;
}
#appo_tel dd {
	width: 70%;
}
#appo_tel dd span {
	margin-left: 1em;
}
#appo_tel dt {
	width: 30%;
}
#appoint1 {
	witdh: 60%;
}
#appoint1 caption {
	background-color: #f0f8ff;
	font-size: 1.5em;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 0.8em 0;
}
#appoint1 td, #appoint1 th {
	background-color: transparent;
	border: 1px solid #eee;
}
#booking-form fieldset {
	margin: 3rem auto;
	width: 90%;
}
#booking-form .input-number label {
	margin-right: 1em;
}
#breadcrumb {
	list-style-type: none;
	margin: 0 0 2rem;
	padding: 0;
}
#breadcrumb li {
	display: inline;
	margin: 0;
	padding: 0;
}
#breadcrumb li:first-child::before {
	color: #2e7fea;
	content: '\f015';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.5em;
}
#breadcrumb li:not(:last-child)::after {
	content: '\f054';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding: 0 0.4em 0 0.7em;
}
#contents, #appoint {
	overflow: auto;
}
#faq, #appoint {
	overflow: hidden;
	margin: 0 auto;
	width: 1000px;
}
#faq h2, #form_h2 {
	margin-top: 3em;
}
#faq input, #faq textarea {
	font-size: 100%;
}
#faq p, #appoint p {
	margin: 1em 4em;
}
#faq table, #appoint table {
	margin: 3em auto;
	width: 80%;
}
#faq span {
	color: #696969;
	font-size: 80%;
	letter-spacing: 0.1em;
}
#faq td, #faq th, #appoint td, #appoint th {
	border-bottom: 1px dashed #ccc;
}
#faq th, #appoint th {
	background-color: #eee;
	padding: 1em;
	vertical-align: top;
}
#faq th span, #faq td span.error, #appoint th span, #appoint td span.error, #traning_form td span.error {
	color: #f00;
}
#faq th span, #appoint th span, #traning_form th span {
	border: 1px solid #f00;
	border-radius: 3px;
	color: #f00;
	font-size: 0.7em;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-left: 1em;
	padding: 2px 3px;
}
#faq td, #appoint td {
	padding: 1em 2em;
}
#faq th img, #appoint th img {
	margin-left: 5px;
	vertical-align: middle;
}
#faq ul {
	margin: 2em auto;
	padding: 0;
	width: 80%;
}
#faq ul li {
	margin: 0.5em 0;
}
#faq ul:first-child {
	list-style-type: none;
	margin: 2em 0;
	overflow: hidden;
	padding: 0;
	width: 100%;
}
#faq ul:first-child li {
	border: 1px solid #000;
	float: left;
	font-size: 2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0;
	padding: 0.5em 0;
	position: relative;
	text-align: center;
	width: 20%;
}
#faq ul:first-child li:first-child {
	margin-left: 15%;
}
#faq ul:first-child li:nth-child(2) {
	margin: 0 6%;
}
#faq ul:first-child li:first-child:after, #faq ul:first-child li:nth-child(2):after {
	border: 1em solid transparent;
	border-left: 40px solid #fff;
	content: "";
	height: 0;
	position: absolute;
	right: -72px;
	top: 0;
	width: 0;
}
#faq ul:first-child li:first-child:before, #faq ul:first-child li:nth-child(2):before {
	border: 1em solid transparent;
	border-left: 40px solid #000;
	content: "";
	height: 0;
	position: absolute;
	right: -73px;
	top: 0;
	width: 0;
}
#faq ul:first-child li#on_state {
	background-color: #eee;
}
#faq ul:first-child li#on_state:first-child:after, #faq ul:first-child li#on_state:nth-child(2):after {
	border-left-color: #eee;
}
#faq #buttom_area, #traning_form #buttonarea {
	margin: 3em 0 5em;
	text-align: center;
}
#faq #buttom_area input, #traning_form #buttonarea input {
	background: #299a0b;
	background: -moz-linear-gradient(top, #299a0b 0%, #299a0b 100%);
	background: -webkit-linear-gradient(top, #299a0b 0%, #299a0b 100%);
	background: linear-gradient(to bottom, #299a0b 0%, #299a0b 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#299a0b', endColorstr='#299a0b', GradientType=0);
	-moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.3);
	-webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.3);
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: .3em;
	margin: 0 20px;
	padding: 1em 2em;
}
#gon_header {
	margin: 1em 0;
	text-align: center;
}
#gongitune table {
	margin: 2em auto;
}
#gongitune td, #gongitune th {
	border-bottom: 1px solid #ccc;
	padding: 0.7em 1em;
}
#gongitune th {
	background-color: #eee;
}
#gongitune iframe {
	display: block;
	margin: 0 auto;
}
#hagashi img {
	height: auto;
	width: 100%;
}
#infoarea {
	border: 1px solid #ddd;
	margin: 0 auto 1em;
	overflow: hidden;
	padding: 0;
	width: 95%;
}
#infoarea h2 {
	letter-spacing: 0.5em;
	margin: 0;
	text-align: center;
	width: 100%;
}
#infoarea th {
	text-align: right;
	vertical-align: top;
}
#infoarea tr:first-child {
	color: #f00;
}
#info_list {
	list-style-type: none;
	margin: 4em auto;
	padding: 0;
}
#info_list li {
	border-bottom: 1px dashed #999;
	display: grid;
	grid-template-columns: 20% 1fr;
	margin: 2rem 0;
	padding-bottom: 0.5em;
	padding-left: 2em;
}
#info_list li:first-child {
	color: #f00;
}
#inforss {
	height: 150px;
	overflow: auto;
	position: static;
}
#inforss table {
	margin: 10px auto;
	width: 95%
}
#inforss td, #inforss th {
	border-bottom: 1px dashed #ddd;
	padding: 1em 0.5em 0.3em;
}
#insta {
	list-style-type: none;
	margin: 2em auto;
	padding: 0;
	width: 100%;
}
#insta li img {
	height: auto;
	width: 100%;
}
#map iframe {
	width: 100%;
}
#not_found {
	text-align: center;
}
#not_found h2 br, #not_found p br:last-child {
	display: none;
}
#not_found p {
	clear: both;
	display: block;
	margin-left: 0;
	margin-right: 0;
}
#pagination ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
#pagination ul li {
	display: inline-block;
	height: 50px;
	margin: 0 2px;
	padding: 0;
	position: relative;
	width: 50px;
}
#pagination ul li a {
	background-color: #006400;
	border-radius: 50px;
	color: #fff;
	display: block;
	left: 0;
	line-height: 50px;
	position: absolute;
	text-align: center;
	text-decoration: none;
	top: 0;
	transition: all 0.3s ease;
	width: 100%;
}
#pagination ul li a:hover {
	background-color: #ccc;
	color: #000;
}
#pagination ul li span {
	background-color: #ccc;
	border-radius: 50px;
	color: #000;
	display: block;
	left: 0;
	line-height: 50px;
	position: absolute;
	text-align: center;
	text-decoration: none;
	top: 0;
	transition: all 0.3s ease;
	width: 100%;
}
#panelarea {
	overflow: auto;
	width: 100%;
}
#panelarea div {
	border: 1px solid #eee;
	float: left;
	margin: 10px 0 10px 4%;
	min-height: 310px;
	overflow: hidden;
	position: relative;
	1width: 328px;
	width: 44%;
}
#panelarea div div {
	border: none;
	height: 150px;
	margin: 0;
	min-height: initial;
	min-height: auto;
	width: 100%;
}
#panelarea div div img {
	height: auto;
	width: 100%;
}
#panelarea div h2 {
	background: #b4ddb4;
	background: -moz-linear-gradient(top, #b4ddb4 0%, #83c783 17%, #52b152 33%, #008a00 67%, #005700 83%, #002400 100%);
	background: -webkit-linear-gradient(top, #b4ddb4 0%, #83c783 17%, #52b152 33%, #008a00 67%, #005700 83%, #002400 100%);
	background: linear-gradient(to bottom, #b4ddb4 0%, #83c783 17%, #52b152 33%, #008a00 67%, #005700 83%, #002400 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b4ddb4', endColorstr='#002400', GradientType=0);
	border: 0;
	color: #fff;
	margin: 0;
	text-align: center;
}
#panelarea div p {
	margin: 0 10px;
	padding: 1em 0 0;
}
#panelarea div p:last-child {
	bottom: 5px;
	margin-bottom: 0;
	position: absolute;
	right: 0;
	text-align: right;
}
#post-area {
	margin: 4em auto 6em;
}
#post-area table {
	margin-left: auto;
	margin-right: auto;
}
#post-area table td, #post-area table th {
	border: 1px solid #ccc;
	padding: 0.5em 1em;
}
#post-area p img {
	margin-bottom: 1em;
	margin-top: 1em;
}
#privacy {
	margin: 0 auto;
	width: 95%;
}
#privacy dd {
	margin: 0 0 2em;
	overflow: hidden;
	padding: 0;
}
#privacy dd ul {
	margin: 1em auto;
	padding: 0;
	width: 80%;
}
#privacy dd ul li {
	margin: 0.5em 0;
	padding: 0;
}
#privacy dt {
	background-color: #316745;
	color: #fff;
	font-weight: bold;
	margin: 0;
	padding: 0.7em 1em;
}
#privacy dt span {
	padding-left: 1em;
}
#reserv {
	background-color: #c35b9d;
	margin-top: 2rem;
	padding: 10px;
}
#reserv a {
	border: 1px solid #fff;
	color: #fff;
	display: block;
	text-decoration: none;
}
#reserv a span {
	display: block;
	text-align: center;
}
#reserv a > span {
	padding: 1rem 0;
}
#reserv a > span > span:nth-of-type(2) {
	display: flex;
	font-size: 2rem;
	font-weight: bold;
	justify-content: center;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 2rem 0;
}
#reserv a > span > span:nth-of-type(2)::after {
	background-image: url("img/mob.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 50px;
	margin-left: 10px;
	width: 50px;
}
#reserv a > span > span:nth-of-type(2)::before {
	background-image: url("img/pc.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 50px;
	margin-right: 20px;
	width: 50px;
}
#reserv a > span > span:nth-of-type(3) {
	background-color: #fff;
	border-radius: 100vmax;
	color: #c35b9d;
	margin: 0 auto;
	padding: 0.5em 0;
	width: 70%;
}
#reserv a > span > span:nth-of-type(3)::after {
	color: #c35b9d;
	content: '\f04b';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 1rem;
}
#reserv a > span > span:nth-of-type(3) br {
	display: none;
}
#seitai_menu {
	list-style-type: none;
	margin: 0 auto;
	padding: 0;
	width: 70%;
}
#seitai_menu li {
	font-weight: bold;
	margin: 1em 4em;
	position: relative;
}
#seitai_menu li:after {
	border-bottom: 2px solid #3498db;
	border-left: 2px solid #3498db;
	content: '';
	display: block;
	height: 3px;
	left: -1em;
	position: absolute;
	top: .5em;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	width: 8px;
}
#share_area {
	border: 1px solid #ccc;
	margin: 3em auto;
	text-align: center;
	width: 80%;
}
#share_area ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	list-style-type: none;
	margin: 2em auto;
	padding: 0;
	width: 60%;
}
#share_area ul li {
	margin: 0;
	padding: 0;
	text-align: center;
}
#share_area ul a img {
	height: auto;
	width: 64px;
}
#slide {
	margin: 15px auto 0;
	width: 1000px;
}
#stretch {
	margin: 1em auto;
	width: 90%;
}
#stretch img {
	height: auto;
	margin: o;
	padding: 0;
	width: 100%;
}
#thankyou {
	border: 2px solid #f00;
	margin: 2em 0;
}
#thankyou ul {
	margin: 2em auto;
	padding: 0;
	width: 80%;
}
#thankyou li {
	margin: 0.5em 0;
}
#to_newslist {
	text-align: right;
}
#traning_back {
	background: url("img/traning_back.png") left top no-repeat;
	border: 1px solid #eee;
	height: 200px;
	margin: 3em auto;
	width: 95%;
}
#traning_back div {
	1background-color: #f00;
	margin-left: 170px;
	overflow: hidden;
}
#traning_back div h4, #traning_back div p {
	margin: 0;
	padding: 0;
}
#traning_back div h4 {
	font-family: serif;
	font-size: 1.7em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 1em 0;
	text-align: center;
}
#traning_back div p {
	text-align: center;
}
#traning_form {
	margin: 1em auto;
	width: 90%;
}
#traning_form table {
	width: 100%;
}
#traning_form th, #traning_form td {
	border-bottom: 1px solid #ccc;
	padding: 0.7em 0;
}
#traning_form td {
	padding-left: 1em;
	width: 70%;
}
#traning_form td span.example {
	color: #696969;
	font-size: 80%;
	letter-spacing: 0.1em;
}
#traning_form th {
	background-color: #eee;
	padding-left: 1em;
	text-align: left;
	width: 30%;
}
#traning_form #buttonarea input:hover {
	background-color: #f9c500;
}
.addtoany_share_save_container {
	padding-top: 2em;
	text-align: center;
}
.banner {
	list-style-type: none;
	margin: 2em 0;
	padding: 0;
}
.banner li {
	margin: 1em 0;
	text-align: center;
}
.content-form h3, .day-calendar h3 {
	background-color: #192f60 !important;
	border-radius: 5px !important;
	color: #fff !important;
	font-size: 1.5em !important;
	letter-spacing: 0.1em !important;
	line-height: 1em !important;
	margin: 1.5em 3em 1em !important;
	padding: 1em 0 !important;
	text-align: center !important;
}
.content-form label.field-item {
	display: block;
}
.content-form table tr:first-child th, .content-form table tr:first-child td {
	border-top: 1px dashed #ccc !important;
}
.content-form button {
	background-image:-moz-linear-gradient(top, #ffa035 0%, #ff8300) !important;
	background-image:-webkit-gradient(linear,left top,left bottom, from(#ffa035), to(#ff8300)) !important;
	border-radius: 7px !important;
	box-shadow: 2px 2px 2px #555 !important;
	color: #fff !important;
	cursor: pointer !important;
	display: block !important;
	font-size: 1.8em !important;
	font-weight: bold !important;
	letter-spacing: 0.1em !important;
	line-height: 1em !important;
	margin: 0 auto !important;
	padding: 0.7em 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	width: 25% !important;
}
.day-mix-calendar .article-name {
	color: #f00;
	width: 50px !important;
}
.day-mix-calendar th.header-time {
	font-size: 0.8em !important;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
.day-mix-calendar td {
	font-size: 0.8em !important;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	width: auto;
}
.monthly-calendar caption {
	background-color: #192f60 !important;
	color: #fff !important;
	font-size: 1.5em !important;
	letter-spacing: 0.1em !important;
	line-height: 1em !important;
	padding: 0.7em 0 !important;
}
.mtssb-daily-action {
	text-align: center;
}
.mtssb-daily-action button {
	background-color: #eb6100;
	border-radius: 100vh;
	color: #fff;
	cursor: pointer;
	padding: 0.7em 3em;
}
.price {
	margin: 1em auto;
	overflow: hidden;
	width: 90%;
}
.price div {
	float: left;
}
.price div:first-child {
	overflow: hidden;
	width: 50%;
}
.price div:last-child {
	float: right;
	text-align: center;
	width: 38%;
}
.price div:last-child img {
	height: auto;
	width: 100%;
}
.price table {
	margin: 0;
	overflow: hidden;
	width: 100%;
}
.price th, .price td {
	border: 1px solid #000;
	padding: 1em 0.5em;
}
.price td {
	text-align: center;
	width: 50%;
}
.price th {
	background-color: #f0fff0;
	width: 40%;
}
.stretch_price {
	overflow: hidden;
}
.stretch_price table {
	margin: 0 auto 2em;
	overflow: hidden;
	width: 70%;
}
.stretch_price th, .stretch_price td {
	border: 1px solid #000;
	padding: 1em 0.5em;
}
.stretch_price td {
	padding-left: 1em;
}
.stretch_price th {
	background-color: #f0fff0;
	width: 40%;
}



/* 画面サイズ 999px用 */
@media screen and (max-width: 999px) {
	#contents, #headerarea, nav ul, footer ul, #faq, #appoint, #social {
		width: 95%;
	}
	nav ul {
		grid-template-columns: 10% 20% 1fr 1fr 1fr 8% 1fr;
	}
	#slide {
		width: 90%;
	}
	#headerarea #tel p:first-child {
		font-size: 2em;
	}
	#traning_back div h4 {
		font-size: 1.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
}
/* 画面サイズ 960px用 */
@media screen and (max-width: 960px) {
	.content-form label.field-item {
		display: block !important;
		margin: 1em auto !important;
		padding: 0;
		text-align: left !important;
		width: 70%;
	}
	.content-form table {
		overflow: hidden !important;
	}
	.content-form table {
		margin-left: auto;
		margin-right: auto;
		width: 80%;
	}
	.content-form table th, .content-form table td {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		
	}
	.content-form table td {
		border: 0 !important;
		margin-bottom: 3em !important;
		margin-top: 2em !important;
	}
	.content-form table tr:first-child th, .content-form table tr:first-child td {
		border: 0 !important;
		boeder-color: #f00 !important;
	}
	.content-form table td {
		text-align: center;
	}
	.content-form table td .input-number {
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		width: 30%;
	}
	.content-form table th, .content-form table tr:first-child th {
		border-bottom: 1px solid #ccc !important;
		border-top: 1px solid #ccc !important;
		text-align: center;
	}
}
/* 画面サイズ 851px用 */
@media screen and (max-width: 851px) {
	#info_list li {
		grid-template-columns: 20% 1fr;
	}
}
/* 画面サイズ 812px用 */
@media screen and (max-width: 812px) {
	#main, #home, #not_found, #post, aside {
		float: none;
		width: 100%;
	}
	aside {
		margin-top: 2em;
		overflow: auto;
	}
	aside section, aside ul, aside #banner {
		float: left;
		margin: 0 0 0 3%;
		width: 47%;
	}
	nav li a {
		font-size: 0.8em;
		letter-spacing: 0.1em;
	}
	#appo p {
		margin-left: 2em;
		margin-right: 2em;
	}
	#appo_tel {
		width: 80%;
	}
	#appo_tel h3 {
		background-position: 8% 50%;
		font-size: 3em;
		letter-spacing: 0.1em;
		line-height: 1em;
		text-align: center;
	}
	#banner {
		display: none;
	}
	#faq ul:first-child {
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}
	#faq ul:first-child li:first-child {
		margin-left: 7%;
	}
	#faq ul:first-child li:nth-child(2) {
		margin: 0 7%;
	}
	#faq table td, #traning_form table td {
		text-align: center;
	}
	#faq #buttom_area input, #traning_form #buttonarea input {
		letter-spacing: 0.1em;
	}
	#gon_header {
		margin: 1em auto;
		width: 90%;
	}
	#gon_header img {
		height: auto;
		width: 100%;
	}
	#gongitune p {
		margin: 1em auto;
		width: 90%;
	}
	#gongitune p iframe {
		width: 100%;
	}
	#headerarea #tel {
		padding-top: 0;
	}
	#headerarea #tel p:first-child {
		font-size: 1.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#panelarea div h2 {
		font-size: 1.2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#shopname h2 {
		font-size: 2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#traning_back div {
		1border: 1px solid #f00;
		margin: 0 auto;
		width: 90%;
	}
	#traning_back div h4 {
		margin-top: 0.5em;
	}
	#traning_back div p {
		margin: 1em 5% 0 30%;
		text-align: left;
	}
	#traning_form table {
		margin: 0 auto;
		width: 70%;
	}
	#traning_form table td div {
		margin: 0 auto;
		text-align: left;
		width: 70%;
	}
	#traning_form table th {
		text-align: center;
	}
	#traning_form td, #traning_form th, #faq td, #faq th {
		display: block;
		width: 100%;
	}
	#traning_form td, #faq td {
		border-bottom-width: 0;
	}
	#traning_form th, #faq th {
		margin-top: 1em;
	}
}
/* 画面サイズ 834px用 */
@media screen and (max-width: 834px) {
	.content-form label.field-item {
		width: 80%;
	}
}
/* 画面サイズ 768px用 */
@media screen and (max-width: 768px) {
	#appo p {
		margin-left: 1em;
		margin-right: 1em;
	}
	#appo_tel {
		width: 90%;
	}
}
/* 画面サイズ 667px用 */
@media screen and (max-width: 667px) {
	footer p:nth-child(2) {
		clear: both;
		margin-top: 3em;
	}
	footer ul {
		overflow: hidden;
	}
	footer ul li {
		display: block;
		float: left;
		font-size: 2em;
		letter-spacing: 0.1em;
		line-height: 1em;
		margin: 0 1% 1em;
		padding: 0;
		text-align: left;
		width: 47%;
	}
	footer ul li a {
		display: block;
		padding-left: 20px;
		position: relative;
	}
	footer ul li a:before {
		border: 0;
		border-right: solid 2px #f00;
		border-top: solid 2px #f00;
		content: '';
		height: 10px;
		left: 0;
		margin-top: -4px;
		position: absolute;
		transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		top: 40%;
		width: 10px;
	}
	#appo p, #appo_tel dd, #appo_tel dt {
		font-size: 1.2em;
		letter-spacing: .1em;
		line-height: 1.1em;
	}
	#faq ul:first-child li:nth-child(2) {
		margin: 0 10%;
	}
	#info_list li {
		grid-template-columns: 25% 1fr;
	}
	#not_found img {
		height: auto;
		width: 90%;
	}
	#share_area {
		width: 90%;
	}
	.content-form button {
		width: 60% !important;
	}
}
/* 画面サイズ 640px用 */
@media screen and (max-width: 640px) {
	header {
		border-bottom: 4px solid #006400;
		margin-bottom: 2em;
	}
	hr {
		display: none;
	}
	nav {
		display: none;
	}
}
/* 画面サイズ 600px用 */
@media screen and (max-width: 600px) {
	footer ul li {
		float: none;
		margin: 0 auto 1em;
		padding: 0;
		text-align: left;
		width: 80%;
	}
	#headerarea #tel {
		float: right;
		width: 50%;
	}
	#headerarea #tel p:first-child {
		margin-top: 0.5em;
	}
	#shopname {
		width: 40%;
	}
	#shopname h2 {
		font-size: 1.7em;
	}
	.monthly-calendar table {
		width: 95% !important;
	}
	.monthly-calendar td {
		width: 14% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
/* 画面サイズ 568px用 */
@media screen and (max-width: 568px) {
	#appo {
		width: 95%;
	}
	#appoint1 td, #appoint1 th {
		float: left;
		padding-left: 0;
		padding-right: 0;
	}
	#appoint1 td {
		padding-left: 4%;
		width: 75%;
	}
	#appoint1 th {
		clear: both;
		vertical-align: center;
		width: 20%;
	}
	#appoint1 th:nth-child(3) {
		height: 3em;
	}
	#faq table td, #traning_form table td {
		display: block !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	#panelarea div {
		float: none;
		margin: 1em auto;
		width: 80%;
	}
	#reserv a > span > span:nth-of-type(3) {
		width: 80%;
	}
	#seitai_menu {
		width: 90%;
	}
}
/* 画面サイズ 533px用 */
@media screen and (max-width: 533px) {
	#appo_tel h3 {
		background-position: 8% 50%;
		font-size: 2.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
		text-align: center;
	}
	#shopname, #headerarea #tel {
		float: none;
		width: 100%;
	}
	#shopname h2 {
		font-size: 2em;
		letter-spacing: 0.1em;
		line-height: 1em;
		text-align: center;
	}
	#social {
		margin: 1em auto;
		width: 65%;
	}
}
/* 画面サイズ 428px用 */
@media screen and (max-width: 428px) {
	#reserv a > span > span:nth-of-type(3) {
		width: 95%;
	}
	#share_area ul {
		width: 100%;
	}
	#info_list li {
		grid-template-columns: 1fr;
		padding-left: 1em;
	}
	#info_list li a {
		margin-left: 1em;
	}
	.banner li img {
		height: auto;
		width: 100%;
	}
	.content-form label.field-item {
		width: 95%;
	}
	.gon_banner img {
		height: auto;
		width: 100%;
	}
	.price {
		display: grid;
	}
	.price div:first-child {
		grid-column: 1;
		grid-row: 2;
		width: auto;
	}
	.price div:last-child {
		grid-column: 1;
		grid-row: 1;
		margin: 1em 0;
		width: auto;
	}
}
/* 画面サイズ 414px用 */
@media screen and (max-width: 414px) {
	aside section, aside ul, aside #banner {
		float: none;
		margin: 0 auto !important;
		width: 80% !important;
	}
	aside ul li {
		margin-bottom: 1em !important;
	}
	#social {
		width: 80%;
	}
	#appoint1 td, #appoint1 th {
		display: block;
		float: none;
	}
	#appoint1 td {
		padding-left: 4%;
		padding-right: 4%;
		width: 92%;
	}
	#appoint1 th {
		width: 100%;
	}
	#appoint1 th:nth-child(3) {
		height: auto;
	}
	#appo_tel h3 {
		background-image: none;
		padding-left: 0;
	}
	#faq ul:first-child li {
		font-size: 1.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#faq ul:first-child li:first-child {
		margin-left: 7%;
	}
	#faq ul:first-child li:nth-child(2) {
		margin: 0 13%;
	}
	#faq ul:first-child li:first-child:after, #faq ul:first-child li:nth-child(2):after {
		right: -64px;
	}
	#faq ul:first-child li:first-child:before, #faq ul:first-child li:nth-child(2):before {
		right: -65px;
	}
	#main h2, #home h2, #faq h2, #appoint h2, #post h2 {
		font-size: 1.2em;
		letter-spacing: 0.1em;
		line-height: 1.1em;
	}
	#not_found h2 br, #not_found p br:last-child {
		display: block;
	}
	#traning_form {
		overflow: hidden;
	}
	#traning_form table, #form table {
		width: 100%;
	}
	#traning_form tr:nth-child(1) input, #traning_form tr:nth-child(2) input, #form tr:nth-child(3) input, #form tr:nth-child(4) textarea {
		width: 80%;
	}
	.banner img, .gon_banner img {
		height: auto;
		width: 100%;
	}
	.monthly-calendar {
		margin: 0 auto !important;
		width: 95% !important;
	}
	.monthly-calendar table {
		width: 100% !important;
	}
	.monthly-calendar td, .monthly-calendar th {
		padding: 6px 0 !important;
	}
}
/* 画面サイズ 411px用 */
@media screen and (max-width: 411px) {
	#reserv a > span > span:nth-of-type(3)::after {
		margin-left: 0.5rem;
	}
}
/* 画面サイズ 400px用 */
@media screen and (max-width: 400px) {
	#headerarea h1 {
		font-size: 0.8em;
	}
	#social {
		width: 90%;
	}
	.day-calendar h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		width: 80%;
	}
	.stretch_price td span {
		font-size: 0.9em;
		letter-spacing: 0.1em;
		line-height: 1.5em;
	}
}
/* 画面サイズ 384px用 */
@media screen and (max-width: 384px) {
	#reserv a > span > span:nth-of-type(3) br {
		display: inline;
	}
	#share_area ul {
		grid-row-gap: 1.5em;
		grid-template-columns: 1fr 1fr;
		width: 70%;
	}
}
/* 画面サイズ 375px用 */
@media screen and (max-width: 375px) {
	#faq ul:first-child li:first-child {
		margin-left: 5%;
	}
	#faq ul:first-child li:nth-child(2) {
		margin: 0 15%;
	}
}
/* 画面サイズ 360px用 */
@media screen and (max-width: 360px) {
	.stretch_price table {
		width: 80%;
	}
}
/* 画面サイズ 320px用 */
@media screen and (max-width: 320px) {
	#reserv a > span > span:nth-of-type(2)::after, #reserv a > span > span:nth-of-type(2)::before {
		content: none;
	}
	.stretch_price td span {
		font-size: 0.8em;
		letter-spacing: 0.1em;
		line-height: 1.5em;
	}
}
