@charset "utf-8";

/*===============================================================

 SP

================================================================*/

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

/* 基本設定
--------------------------------------------------------------*/

body {
  min-width: 320px;
  font-size: 15px;
  padding-top: 71px;
}

.container {
  width: 100%;
}

.pconly {
  display: none !important;
}


/* 共通パーツ
--------------------------------------------------------------*/

/* パーツ・レイアウト ---------- */

/* 受付時間テーブル */

.cmn_temp01 table {
	width: 100%;
	border-top: 2px solid #d1cabf;
	border-bottom: 1px solid #d1cabf;
	table-layout: fixed;
}

.cmn_temp01 table th,
.cmn_temp01 table td {
	font-size: 14px;
}

.cmn_temp01 table thead th + th,
.cmn_temp01 table tbody td {
	padding-left: 10px;
}

/* 画像右テキスト左 */

.cmn_temp02 .img {
	float: none;
	width: 100%;
	padding-top: 0;
	margin-bottom: 15px;
}

.cmn_temp02 .img img {
	width: 100%;
}

.cmn_temp02 .txt {
	float: none;
	width: 100%;
}

/* 画像右 */

.cmn_temp03 {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
}

.cmn_temp03 img {
	width: 100%;
}

/* map */

#map_canvas {
	height: 300px;
}


/* 見出し ---------- */

/* 01 */

.cmn_tit01 {
	margin-bottom: 20px;
	padding: 10px 15px;
	font-size: 20px;
}

/* 02 */

.cmn_tit02 {
	font-size: 17px;
}


/* header
--------------------------------------------------------------*/

.cmn_header {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	width: 100%;
	min-width: 320px;
	padding: 10px !important;
	z-index: 998;
	border-bottom: 1px solid #d1cabf;
}

.header_info {
	margin-bottom: 0;
}

/* title ---------- */

.header_info .tit {
	float: left;
	padding-left: 0;
}

.header_info h1 {
	margin-top: 0;
}

.header_info h1 img {
	height: 50px;
}

/* buttons ---------- */

.header_info .btns {
	float: right;
	padding-top: 5px;
}

.header_info .btns li {
	float: left;
	width: 40px;
	margin-left: 10px;
}


/* global navi ---------- */


.global_nav,
.global_nav.is_fixed {
	display: none;
	background: #fff;
	position: absolute;
	top: 70px;
	left: 0;
	width: 100%;
	min-width: 100%;
	padding: 0;
	border: none;
	border-top: 1px solid #d1cabf;
}

.global_nav ul {
	font-size: 0;
	text-align: center;
}

.global_nav ul li {
	width: 100%;
	height: auto;
	line-height: 1;
	text-align: center;
	border-bottom: 1px solid #d1cabf;
	font-size: 16px;
}

.global_nav ul li a {
	display: block;
	height: 48px;
	line-height: 48px;
}

.global_nav ul li + li {
	background: none;
	margin-left: 0;
	padding-left: 0;
}


/* footer
--------------------------------------------------------------*/

.cmn_footer .container {
	padding: 40px 10px 0;
}

/* page_top ---------- */

.to_top img {
	width: 80px;
	top: -32px;
	margin-left: -40px;
}

/* navigation ---------- */

.footer_nav {
	float: none;
	width: 100%;
	font-size: 15px;
}

.footer_nav > ul:first-of-type,
.footer_nav > ul:nth-of-type(2) {
	float: none;
	margin-bottom: 30px;
}

.footer_nav ul li ul {
	margin-top: 20px;
}

.footer_nav ul li ul li {
	margin-top: 15px;
}

/* information ---------- */

.footer_info {
	float: none;
	width: 100%;
}

.footer_info .logo {
	width: 260px;
}

.footer_info .contact {
	position: relative;
	line-height: 1;
	font-size: 15px;
	margin-bottom: 30px;
}

.footer_info .contact .txt {
	color: #f28500;
	font-weight: bold;
}

.footer_info .contact .txt::before {
	content: "■";
}

.footer_info .contact .tel {
	width: 220px;
}

.footer_info .contact .access {
	top: 0px;
	right: auto;
	left: 240px;
	width: 60px;
}

/* copyright ---------- */

.footer_copy {
	margin-top: 40px;
}


/* TOP
--------------------------------------------------------------*/

.top_page .container {
	padding: 0 10px;
}

.top_page h2 {
	font-size: 20px;
	margin-bottom: 20px;
}

.top_page h2::after {
	width: 80px;
	margin: 15px auto 0;
}

/* mv ---------- */

.top_mv .slide li {
	width: 100%;
	height: 56vw;
}

.top_mv .slide .txt {
	padding: 10vw 10px;
}

.top_mv .slide .txt img {
	width: 80%;
}

/* about ---------- */

.top_page .top_about h2 {
	font-size: 20px;
}

.top_about {
	padding: 40px 0;
}

.top_about p + p {
	margin-top: 25px;
}

/* case ---------- */

.top_case {
	background: #eeeae5;
	padding: 40px 0;
}

.top_case h2 {
	margin-bottom: 6px;
}

.top_case ul li {
	float: none;
	width: 290px;
	margin: 20px auto 0;
}

.top_case ul li:nth-child(3n) {
	margin-right: auto;
}

/* first ---------- */

.top_first {
	padding: 40px 0;
}

.top_first .img,
.top_first .txt,
.top_first .img img {
	float: none;
	width: 100%;
}

.top_first .img {
	width: 100%;
	margin-bottom: 20px;
}

.top_first .txt p + p {
	margin-top: 25px;
}

.top_first ul {
	margin-top: 30px;
}

.top_first ul li,
.top_first ul li + li {
	float: none;
	width: 290px;
	margin: 10px auto 0;
}

/* question/blog ---------- */

.top_qb_wrap {
	background: #eeeae5;
	padding: 40px 0;
}

.top_qb_wrap .container::before {
	display: none;
}

.top_question,
.top_blog {
	width: 100%;
	background-position: center center;
}

.top_question .inner,
.top_blog .inner {
	width: 100%;
}

/* quastion */

.top_question {
	float: none;
	margin-bottom: 40px;
	background-size: auto 70%;
}

.top_question .inner {
	float: none;
	margin-right: 0;
}

.top_question ul li + li {
	margin-top: 42px;
}

/* blog */

.top_blog {
	float: none;
	background-size: auto 50%;
}

.top_blog ul {
	padding-left: 0;
}

.top_question ul li + li {
	margin-top: 25px;
}

/* access ---------- */

.top_access {
	padding: 40px 0 100px;
}


/* 下層共通
--------------------------------------------------------------*/

.cmn_wrapper {
	padding: 0 10px;
	padding-bottom: 100px;
}

/* page title ---------- */

.page_tit .container {
	background-position: right 10px center;
	background-size: auto 80%;
	height: 120px;
	padding: 0 10px;
}

.page_tit h2 {
	padding-top: 40px;
	line-height: 1;
	font-size: 26px;
}

.page_tit h2::after {
	width: 60px;
	margin-top: 10px;
}

/* breadcrumbs ---------- */

.breadcrumbs ol li {
	font-size: 11px;
}

/* page_content ---------- */

.page_content {
	line-height: 1.75;
}

.page_content > div:first-of-type,
.page_content > .page_sec ~ .page_sec {
	padding-top: 73px;
}

.page_content p ~ p {
	margin-top: 25px;
}

.page_content .s_child {
	margin-top: 35px;
}


/* 初めての方へ
--------------------------------------------------------------*/

/* catch */

.first_catch {
	font-size: 20px;
}

/* 当院について */

.first_about {
	padding-top: 73px;
}

/* 健康と病気のあいだ？ */

.first_between .list {
	margin: 30px 0;
	padding: 20px 15px;
}

.first_between .list .img {
	width: 100%;
	float: none;
	margin: 0 0 20px;
	padding-top: 0;
	text-align: center
}

.first_between .list .img img,
.first_between .list .img img + img {
	width: 46%;
	max-width: 216px;
	margin: 0 2%;
}

.first_between .list ol {
	width: 100%;
	float: none;
}

.first_between .list ol li + li {
	margin-top: 20px;
}

.first_between .list ol li .tit {
	float: none;
	width: 100px;
	margin-bottom: 10px;
}

.first_between .list ol li .txt {
	float: none;
	background-size: 35px;
	width: 100%;
	padding-left: 40px;
	margin-top: 0;
}

/* 病院医療と東洋医療(鍼灸・漢方)の違い */

.first_difference .table {
	margin-top: 30px;
	overflow-x: scroll;
}

.first_difference table {
	width: 600px;
}

.first_difference table th {
	font-size: 16px;
}

.first_difference table thead th {
	height: 50px;
}

.first_difference table thead th:first-of-type {
	width: 120px;
}

.first_difference table thead th:last-of-type {
	width: 240px;
}

.first_difference table thead th ~ th::before {
	height: 50px;
}

.first_difference table tbody td {
	box-sizing: border-box;
	padding: 15px;
}

.first_difference table tbody td ul li {
	padding-left: 15px;
	text-indent: -15px;
}

.first_difference table tbody td ul li::before {
	margin-right: 5px;
}

/* スタッフごあいさつ */

.page_content > section.first_staff {
	margin-top: 50px;
}

.first_staff dl dt {
	float: none;
	width: 100%;
	padding: 15px 10px 10px;
	border-top: 1px solid #f28500;
}

.first_staff dl dt .job {
	font-size: 16px;
}

.first_staff dl dt .name {
	font-size: 18px;
}

.first_staff dl dd {
	padding: 0 10px 15px;
	border-top: none;
	margin-bottom: 20px;
}

.first_staff dl dd p {
	padding-right: 0;
}

.first_staff dl dd table th {
	width: 70px;
}


/* 鍼灸について
--------------------------------------------------------------*/

/* 東洋医学とは？ ---------- */

.about_about dl {
	padding: 15px 10px;
}

.about_about dl dt {
	width: 3.5em;
}

/* 鍼灸治療と自然治癒力 ---------- */

.page_content > .page_sec.about_heal {
	padding-top: 73px;
}

/* こんな症状でお悩みの方
--------------------------------------------------------------*/

.page_case .page_content > .page_sec ~ .page_sec {
	padding-top: 73px;
}

.page_case .page_content > .page_sec:nth-of-type(odd) .img,
.page_case .page_content > .page_sec:nth-of-type(even) .txt,
.page_case .page_content > .page_sec:nth-of-type(even) .img,
.page_case .page_content > .page_sec:nth-of-type(odd) .txt {
	float: none;
}

.page_case .page_content > .page_sec .img,
.page_case .page_content > .page_sec .txt,
.page_case .page_content > .page_sec .img img  {
	width: 100%;
}

.page_case .page_content > .page_sec .img {
	margin-bottom: 20px;
}

/* 鍼灸の適応症 ---------- */

.case_indications table,
.case_indications table tr,
.case_indications table th,
.case_indications table td {
	display: block;
	width: 100%;
}

.case_indications table th,
.case_indications table td {
	box-sizing: border-box;
	height: auto;
}

.case_indications table th {
	padding: 15px 15px 10px;
}

.case_indications table td {
	padding: 0 15px 15px;
}


/* 施術料金
--------------------------------------------------------------*/

.page_price .page_content > .page_sec ~ .page_sec {
	padding-top: 73px;
}

.page_price .prices {
	margin-top: 20px;
}

.page_price .prices li {
	padding: 10px;
}

.page_price .prices li dl dt {
	height: 40px;
	margin-bottom: 15px;
	line-height: 40px;
	font-size: 18px;
}

.page_price .prices li dl dd {
	font-size: 18px;
}

.page_price .noburden {
	height: 60px;
	line-height: 60px;
	font-size: 18px;
}

/* 施術の流れ ---------- */

.price_flow ol li + li {
	margin-top: 25px;
}

.price_flow ol li .tit {
	height: 30px;
	margin-bottom: 20px;
	line-height: 30px;
	font-size: 18px;
}

.price_flow ol li .tit .num {
	background-size: 30px;
	width: 30px;
	height: 30px;
	font-size: 16px;
}

.price_flow ol li .inner {
	margin-left: 12px;
	padding-left: 15px;
	border-left: 5px solid #bfbfbf;
}

.price_flow ol li .inner .img {
	float: none;
}

.price_flow ol li .inner .txt {
	width: 100%;
	float: none;
	margin-top: 20px;
}

.price_flow .att {
	margin-top: 40px;
	padding: 10px;
}

.price_flow .att dl {
	padding: 10px;
}

.price_flow .att dl::after {
	display: none;
}

.price_flow .att dl dt,
.price_flow .att dl dd {
	display: block;
}

.price_flow .att dl dt {
	width: 100%;
	font-size: 18px;
	margin-bottom: 5px;
}

.price_flow .att dl dd {
	border-top: 1px solid #f28500;
	width: 100%;
	padding: 10px 0 0;
	font-size: 15px;
}


/* 当院案内・アクセス
--------------------------------------------------------------*/

.page_guide .page_content > .page_sec ~ .page_sec {
	padding-top: 73px;
}

/* 当院案内 ---------- */

.guide_guide .txt {
	float: none;
	width: 100%;
	padding: 0;
	margin-bottom: 20px;
}

.guide_guide .logo {
	width: 220px;
	margin: 0 auto 25px;
}

.guide_guide .txt .tel {
	padding: 15px 10px;
}

.guide_guide .txt .tel .tit {
	font-size: 14px;
}

.guide_guide .txt .tel .tit span {
	padding: 0 6px;
}

.guide_guide .txt .info dd {
	float: left;
}

.guide_guide .img {
	margin-bottom: 20px;
}

.guide_guide .img,
.guide_guide .img img {
	float: none;
	width: 100%;
}

.guide_guide .imgs {
	margin-top: 10px;
}

/* アクセス ---------- */

.guide_access ul {
	margin-bottom: 30px;
}

.guide_access ul li {
	width: 100%;
	margin-bottom: 10px;
}


/* 漢方療院便り　一覧・詳細共通
--------------------------------------------------------------*/

/* main column ---------- */

.main_col {
	float: none;
	width: 100%;
}

/* sidebar ---------- */

.sidebar {
	float: none;
	width: 100%;
}


/* 漢方療院便り　一覧
--------------------------------------------------------------*/

.blog_list li {
	padding: 15px;
}

.blog_list .date {
	width: 100px;
}

.blog_list .tit {
	margin-top: 10px;
}

/* page navi ---------- */

.page_navi {
	text-align: center;
	margin-top: 40px;
	font-size: 0;
	line-height: 1;
}


/* 漢方療院便り 詳細
--------------------------------------------------------------*/

.blog_detail {
	padding: 15px;
}

.blog_detail .info {
	margin-bottom: 8px;
}
.blog_detail .info .date {
	width: 100px;
}

.blog_detail .info .cat li {
	padding: 0 10px;
}

/* navigation ---------- */

.post_navi {
	margin-top: 40px;
	padding: 0;
}

.post_navi a {
	width: 90px;
	font-size: 12px;
}
.post_navi .prev a,
.post_navi .next a {
	background-size: auto 12px;
	width: 95px;
}

.post_navi .prev a {
	background-position: 5px center;
}

.post_navi .next a {
	background-position: right 5px center;
}

.post_navi .all {
	margin-left: -45px;
}

.post_content img.alignright,
.post_content img,
.post_content img.alignleft{
	float: none;
	margin: 0 auto;
	display: block;
}

.post_content img.emoji{
	display: inline !important;
}

.post_content table{
	width: 100% !important;
}

} /* end */