@charset "utf-8";
/*
Theme Name: portals_responsive
Author: portals
*/
/*==================================
* reset
* html5doctor.com Reset Stylesheet
* v1.6.1
* Last Updated: 2010-09-17
* Author: Richard Clark - http://richclarkdesign.com
* Twitter: @rich_clark
==================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
ol,
ul {
	list-style: none;
}
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/* change colors to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
/* change colors to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-weight: bold;
}
em {
	font-style: normal!important;
}
del {
	text-decoration: line-through;
}
abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* change border color to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input,
select {
	vertical-align: middle;
}
address {
	font-style: normal;
}
/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
/*==================================
WordPress Natie Styles
editor
==================================*/
img.wp-smiley,
img.emoji {
	height: 2% !important;
	width: 2% !important;
}
.post p {
	display: block;
	margin: 1em;
}
.post strong {
	font-weight: bold;
}
.post em {
	font-style: oblique;
}
.post blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}
.post ul {
	list-style: disc;
	margin: 0 3em 1em;
}
.post ol {
	list-style: decimal;
	margin: 0 3em 1em;
}
/* img */
.aligncenter {
	display: block;
	margin: 0 auto 8px;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
/*==================================
SP_base
==================================*/
/* Regular */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src:
		local('Noto Sans JP'),
		local('Noto Sans CJK JP Regular'),
		url('./fonts/noto-sans-jp-v56-japanese-regular.woff2') format('woff2');
}
/* Bold */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src:
		local('Noto Sans JP Bold'),
		local('Noto Sans CJK JP Bold'),
		url('./fonts/noto-sans-jp-v56-japanese-700.woff2') format('woff2');
}

/* :rootにも以下を追記 */
:root {
	--gothic: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/* セレクタに指定するとき（bodyの場合） */
body {
	font-family: var(--gothic);
}
.clear {
	clear: both;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.img_left,
.img_right {
	margin: 0 auto 0.5em;
}
.img_center {
	display: block;
	margin: 0 auto 16px;
}
.only_pc {
	display: none;
}
img {
	display: block;
	margin: 0 auto;
	width: auto;
	max-width: 100%;
	height: auto;
}
/*a:link {
	color: #000d99;
}
a:visited {
	color: #551a8b;
}
a:hover {
	color: #000d99;
}
a:active {
	color: #b71c1c;
}*/
a:link {
	color: #3c3c3b;
}
a:visited {
	color: #3c3c3b;
}
a:hover {
	color: #3c3c3b;
}
a:active {
	color: #3c3c3b;
}
body {
	overflow-x: hidden;
	background: #fff;
	color: #222222;
	font-size: 15px;
	line-height: 1.5;
	/*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
	Meiryo, Osaka, sans-serif;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;*/
	/* 游明朝(transform rotateは明朝体の時だけ設定)
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	transform: rotate(.03deg); */
	/* 游ゴシック(font-weightはゴシック体の時のみ設定)
	font-family: YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN",	"Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;
	font-weight: 500; */
}
/*==================================
SP_layout
==================================*/
#main {
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
	    padding: 0 6px;
	box-sizing:border-box;
}
#main {
	overflow: hidden;
}
.conts {
	margin: 0 12px 16px;
}
.conts:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: "";
	clear: both;
	height: 0;
}
.conts .conts_inner {
	overflow: hidden;
}
.conts p:not([class]) {
	margin-bottom: 8px;
}
.ttl {
	margin: 0 4px 32px;
	text-align: center;
}
.bnr {
	margin: 0 4px 16px;
}
a:active img {
	-webkit-opacity: 0.7;
	opacity: 0.7;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/*==================================
SP_heading
==================================*/
.h_style01 {
	clear: both;
	margin: 24px auto 16px;
	padding: 8px;
	font-size: 20px;
	background-image: -moz-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	background-image: -webkit-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	background-image: -ms-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	box-shadow: 1.414px 1.414px 3px 0px rgba(97, 58, 36, 0.2);
	color:#1c1c1c;
	border-radius:12px;
}
.h_style01 a {
	color: inherit;
}
.h_style02,
.post h3:not([class]),
.block_wrapper h2:not(.nostyle) {
	clear: both;
	margin: 24px auto 16px;
	padding: 22px 6px 12px;
	font-size: 16px;
	font-weight: bold;
	color: #3c3c3b;
	position:relative;
	text-align:center;
}
.h_style02::before,
.post h3:not([class])::before,
.block_wrapper h2:not(.nostyle)::before  {
	position:absolute;
	top:0;
	left:0;
	height:10px;
	width:100%;
	display:inline-block;
	content:"";
	background-image: -moz-linear-gradient( 5deg, rgb(180,138,56) 35%, rgb(250,222,161) 50%, rgb(180,138,56) 65%);
	background-image: -webkit-linear-gradient( 5deg, rgb(180,138,56) 35%, rgb(250,222,161) 50%, rgb(180,138,56) 65%);
	background-image: -ms-linear-gradient( 5deg, rgb(180,138,56) 35%, rgb(250,222,161) 50%, rgb(180,138,56) 65%);

}
.h_style02::after,
.post h3:not([class])::after,
.block_wrapper h2:not(.nostyle)::after  {
	position:absolute;
	bottom:0;
	left:0;
	height:2px;
	width:100%;
	content:"";
	display:inline-block;
	background:#bb9140;
}

.h_style03,
.post h4,
.block_wrapper h3:not(.nostyle) {
	clear: both;
	margin: 32px 4px 24px;
	padding: 0 8px;
	font-size: 18px;
	border-left: solid 8px #222222;
	border-bottom: dotted 2px #222222;
}
.h_style04,
.post h5,
.block_wrapper h4:not(.nostyle) {
	clear: both;
	position: relative;
	overflow: hidden;
	margin: 24px 0 16px;
	padding: 0 8px 2px 32px;
	font-weight: bold;
	border-bottom: dotted 2px #b58b39;
	font-size: 16px;
}
.h_style04::before,
.post h5::before,
.block_wrapper h4:not(.nostyle)::before {
	position: absolute;
	margin-top: -0.25em;
	top: 50%;
	left: 0.5em;
	content: "";
	display: inline-block;
	background: #fff;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	box-shadow: 0 0 0 8px #b58b39;
}
.h_style05,
.post h6,
.block_wrapper h5:not(.nostyle) {
	clear: both;
	overflow: hidden;
	margin: 24px 0 16px;
	padding: 0 4px 2px;
	font-weight: bold;
	border-bottom: double 4px #d8c195;
	font-size: 16px;
}
/*==================================
SP_header
==================================*/
#header{
	background:#222222;
}
.h_bg{
	color:#ffffff;
}
.h_bg h1,
.h_bg p{
	font-weight:400;
	font-size:11px;
}
.h_inner {
	overflow: hidden;
	margin: 0 auto;
	padding: 8px 0;
	width: 95%;
	max-width: 1240px;
}
.header_conts{
	display:flex;
	width: 95%;
	max-width: 1240px;
	margin:0 auto;
	padding-bottom:22px;
	gap:6.2vw;
}
.h_logo img{
	margin-left:0;
}
/*==================================
SP_navigation
==================================*/
nav {
	width: 100%;
	background-image:-webkit-linear-gradient(-10deg, rgb(180, 138, 56) 1%, rgb(250 222 161) 50%, rgb(180, 138, 56) 99%)
}
.gnav_sp {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 auto;
	-webkit-box-shadow: 0 5px 7px -2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 5px 7px -2px rgba(0, 0, 0, 0.2);
}
.gnav_sp li {
	padding: 10px 0;
	width: 20%;
	display:flex;
}
.gnav_sp img {
	width: 80%;
}
.fixed {
	position: fixed;
	top: 0;
	z-index: 9999;
}
/*ページ内リンク対策*/
#ryoukin {
	margin-top: -128px;
	padding-top: 128px;
}
#bt_pagetop {
	position: fixed;
	z-index: 99999;
	bottom: 84px;
	right: 16px;
	width: min(15vw, 90px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s, visibility 1s;
}
#bt_pagetop.active {
	opacity: 1;
	visibility: visible;
}
.sp_fix_bt {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999999;
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 2%;
	width: 100%;
	background: #434342;
	box-sizing: border-box;
}
/* 画像の幅のpxを設定 */
.sp_fix_bt > * {
	width: min(calc(50% - 4px), 380px);
}
/*==================================
SP_mainimg
==================================*/
.main_img {
	display: block;
	margin: 0 auto 1em;
	width: 100%;
}
/*==================================
SP_contact
==================================*/
.contact {
	background: #faf9f7;
	padding: 3em 0;
}
.contact_conts {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1em;
	margin: 0 auto;
	width: 94%;
}
.contact_heading {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	width: min(100%, 680px);
	font-size: clamp(24px, 5vw, 40px);
	font-weight: bold;
	text-align: center;
}
.contact_heading::before,
.contact_heading::after {
	content: '';
	width: 1.5em;
	height: 2px;
	background: #563e18;
}
.contact_heading::before {
	margin-right: .5em;
}
.contact_heading::after {
	margin-left: .5em;
}
.contact_info {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.contact_info .block_uketsuke {
	margin: 1em auto 0;
	width: 100%;
	font-size: 18px;
	font-weight: bold;
}
.contact_info .block_uketsuke tr> :first-child {
	width: 8em;
}
.contact_info .block_uketsuke th,
.contact_info .block_uketsuke td {
	padding: .3em .1em;
	font-size: clamp(14px, 4vw, 28px);
}
.contact_info .uketsuke_block_notes {
	text-align: center;
	font-size: clamp(14px, 3.5vw, 24px);
}
.contact_info_box p {
	margin: 0 0 8px;
}
.contact_access {
	margin: 0 auto;
	width: 90%;
	display: grid;
	grid-template-columns: 7em 1fr;
	row-gap: .3em;
	line-height: 1.3;
	font-size: clamp(14px, 3vw, 18px);
}
.contact_add span {
	display: inline-block;
}
.contact_add span:first-child {
	margin-right: .5em;
}
.contact_bt,
.access_contact_bt {
	margin: 1.5em auto;
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.contact_map iframe {
	aspect-ratio: 16 / 9;
	width: 100% !important;
	height: 100% !important;
}
/*お問い合わせ欄店舗一覧*/
.shop_list {
	margin: 0 auto;
	width: min(96%, 1000px);
	display: flex;
	flex-direction: column;
	gap: min(8vw, 64px);
}
.shop_list_li {
	display: flex;
	flex-direction: column;
	gap: min(4vw, 32px);
	padding: min(6vw,48px) min(4vw,32px);
	border-top:1px dotted #5e5e5c;
}
.shop_list_li.shoppage_info {
	padding: 0;
}
.shop_list_info {
	display: flex;
	flex-direction: row;
	gap: 24px;
}
.shop_list_name a {
	margin: 12px 0 0;
	color: var(--bgcolor03);
	font-size: min(5vw,24px);
	font-weight: bold;
	text-decoration: none;
}
.shop_access_txt {
	display: block;
	font-size: 80%;
}
.shop_list_detail {
	display: flex;
	gap: .5em
}
.shop_list_detail > li a {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--bgcolor03);
	font-weight: bold;
}
.shop_list_detail > li a::after {
	font-family: "icomoon";
	content: "\ea42";
	display: inline-block;
	margin-left: 2px;
	vertical-align: bottom;
}
.shop_add{
	margin:10px 0;
}
.shop_list_cta {
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 8px;
}
.shop_list_cta li a {
	display: block;
	padding: 0;
	font-weight: bold;
	text-align: center;
	border-radius: 100px;
	text-decoration: none;
	font-size: 16px;
}
.shoppage_info .shop_list_cta li a {
	padding: 1em 0;	
}
.shop_list_cta .shop_tel a {
	background-color: var(--bgcolor03);
	color: var(--txtcolor01);
}
.shop_list_cta .shop_line a {
	background-color: #07b53b;
	color: var(--txtcolor01);
}
.shop_list_cta .shop_hpb a {
	background-color: #9f1547;
	color: var(--txtcolor01);
}
.shop_url a {
	position: relative;
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	font-weight: bold;
	padding: .5em 3em .5em 1em;
	margin: 0 1em 0 auto;
	width: fit-content;
	border: solid 2px var(--txtcolor02);
	border-radius: 100px;
}
.shop_url a::after {
	position: absolute;
	top: 48%;
	right: 1em;
	transform: translate(0, -50%);
	display: block;
	content: ">";
	background-color: var(--bgcolor03);
	color: var(--txtcolor01);
	text-shadow: .5px .5px var(--txtcolor01), -.5px .5px var(--txtcolor01), -.5px -.5px var(--txtcolor01), .5px -.5px var(--txtcolor01), .5px 0px var(--txtcolor01), 0px .5px var(--txtcolor01), -.5px 0px var(--txtcolor01), 0px -.5px var(--txtcolor01);
	padding: .15em .14em .25em .26em;
	width: 1em;
	height: 1em;
	line-height: 1em;
	text-align: center;
	border-radius: 50%;
}

/*==================================
SP_map
==================================*/
.map {
	position: relative;
	margin: 0 auto 1em;
	padding-bottom: 250px;
	width: 95%;
	max-width: 600px;
	height: 0;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
address {
	margin: 0 auto 1em;
	font-size: 15px;
}
address span {
	display: block;
}
.add02 {
	margin-left: 3em;
}
.add03 {
	margin-left: 13em;
	color: #e34472;
	font-weight: bold;
}

/*==================================
SP_menu
==================================*/
.sideUpper,
.sideNav,
.sideLower,
.topUpper,
.topLower,
.blogNav {
	margin: 0 0 16px;
}
.side_fixed_menu {
	margin: 0 auto;
	border: none;
	width: 95%;
}
.side_fixed_menu a {
	border: none;
}
.side_fixed_menu li {
	margin: 0 auto 10px;
}
.side_fixed_menu li a/*PCサイドバーHOME・アクセスボタン*/ {
	color: #fff;
	display: inline-block;
	text-decoration: none;
	font-size: 18px;
	text-align: center;
	width: 100%;
	padding: 16px 0;
	background: #bdbdae;
}
.side_fixed_menu .home_btn{
	border-radius: 8px;
	background-image: -moz-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	background-image: -webkit-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	background-image: -ms-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	box-shadow: 1.414px 1.414px 3px 0px rgba(97, 58, 36, 0.2);
	color:#1c1c1c;
	font-weight:bold;
}
.side_fixed_menu .access_btn{
	border-radius: 8px;
	background-color: rgb(34, 34, 34);
	box-shadow: 0px 3px 3px 0px rgba(97, 58, 36, 0.2);
	color:#d6bc86;
	font-weight:bold;
}
/*メニュー共通設定*/
.widget_nav_menu p,
.widget_categories p,
.widget_recent_entries p {
	padding: 8px;
	background: #fff;
	text-align: center;
	color: #bb9140;
	font-size: 18px;
	border-radius: 6px 6px 0 0;
	font-weight:bold;
	margin:0 16px;
}
/*メニュー（固定ページ/関連メニュー）*/
.widget_nav_menu,
.widget_categories,
.widget_recent_entries {
	margin: 0 auto 1em;
	width: 95%;
	max-width: 640px;
	border: solid 2px #bb9140;
	border-radius: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius:8px;
}
.widget_nav_menu ul,
.widget_categories ul,
.widget_recent_entries ul  {
	margin: 0px 16px 16px;
	border-top:2px solid #bb9140;
}
.widget_nav_menu li,
.widget_categories li,
.widget_recent_entries li  {
	border-bottom: dotted 1px #bb9140;
}

.widget_nav_menu a,
.widget_categories a,
.widget_recent_entries a {
	display: block;
	padding: 10px 1em 10px 1.5em;
	text-decoration: none;
	color: inherit;
	position:relative;
}
.widget_nav_menu a::before,
.widget_categories a::before,
.widget_recent_entries a::before{
	content: '▶︎';
	color: #675443;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.widget_nav_menu a:hover::before,
.widget_categories a:hover::before,
.widget_recent_entries a:hover::before {
	color: #bb9140;
}
.widget_nav_menu a:hover,
.widget_categories a:hover,
.widget_recent_entries a:hover{
	opacity:1;
}
/*検索*/
.widget_search {
	text-align: center;
}
.widget_search label {
	display: none;
}
/*月別アーカイブ*/
.widget_archive {
	text-align: center;
}
.widget_archive label::before {
	content: "月別アーカイブ";
}
/*メタ情報*/
.widget_meta {
	border-bottom: solid 1px #bdbdae;
}
.widget_meta p {
	padding: 8px;
	border-bottom: solid 1px #bdbdae;
	text-align: center;
}
.widget_meta ul {
	margin: 16px 8px 0;
}
.widget_meta li {
	position: relative;
	margin: 0 0 8px;
	border-bottom: dotted 1px #bdbdae;
	font-size: 14px;
}
.widget_meta li:last-child {
	border-bottom: none;
}
/*アコーディオン*/
.widget_nav_menu p.accord_bt {
	position: relative;
	padding: 8px 1.5em 8px 8px;
	box-sizing: border-box;
	border-radius: 6px;
	word-break:auto-phrase;
}
.widget_nav_menu p.accord_bt.active {
	border-radius: 6px 6px 0 0;
}
.widget_nav_menu .accord_bt::before {
	position: absolute;
	right: -15px;
	top: 50%;
	transform: translate(-.5em,-.6em);
	content: '+';
	display: block;
	font-weight: bold;
	font-size: 150%;
	line-height: 1;
}
.widget_nav_menu .accord_bt.active::before {
	content: '-';
	transform: translate(-.6em,-.6em) scale(1.5, 1);
}
/*==================================
SP_copyright
==================================*/
.copyright {
	text-align: center;
	margin: -2vw 0 18%;
	font-size: 1rem;
	font-size: 10px;
	position:relative;
}
.copyright a:link {
color: #fff;
}
.copyright a:visited {
color: #fff;
}
.copyright a:hover {
color: #fff;
}
.copyright a:active {
color: #fff;
}
.copyright span{
	position:absolute;
	top: 8px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	color:#fff;
	width:100%;
}
/*==================================
SP_footer
==================================*/
.f_inner {
	display: none;
}
/*==================================
SP_voice
==================================*/
.voice {
	margin: 0 0 24px;
}
.voice_list li {
	margin: 0 4px 16px;
	padding: 16px;
	background: #f0f0e1;
	border: solid 1px #bdbdae;
	border-radius: 8px;
}
.voice_conts {
	overflow: hidden;
	padding: 16px;
	background: #fff;
}
.voice_conts h3,
.voice_tit {
	margin: 0 0 8px;
	padding: 8px 16px;
	background: #fff;
	border-bottom: dotted 2px #e3e3da;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.voice_txt p {
	margin: 0 0 1em;
}
.voice_pic {
	width: 150px;
	margin: 0 auto 16px;
}
.voice_pic p > :first-child {
	display: block;
	margin: 0 auto 8px;
}
.menseki {
	overflow: hidden;
	margin: 16px 0 0;
	font-size: 12px;
	color: #222222;
}

/*==================================
SP_toppage
==================================*/
.top_inner {
	padding: min(10vw,80px) 8px;
}
.top_shop_bg{
	background:#faf9f7;
	padding:50px 0;
}
.top_shop_text{
	font-size:20px;
	font-weight:bold;
	text-align:center;
	margin:40px 0 20px;
}
.top_shop_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:20px;
}
.top_shop_list li{
	width:100%;
}

.top_shop_list img{
	max-width:100%;
}
.top_cta_btn{
	display:flex;
	justify-content:center;
	margin-top:20px;
	gap:20px;
}

.top_sejutsu_bt {
	margin: 0 4px 16px;
	text-align: center;
}
.top_sejutsu_bt li {
	display: inline-block;
	margin: 0 0 8px;
	padding: 0 2px;
	width: 49%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.top_point_list {
	margin: 0 8px 16px;
}
.top_point_list li {
	overflow: hidden;
	padding: 24px 0;
	border-bottom: dotted 2px #e3e3da;
}
.top_point_list li:first-child {
	padding: 0 0 24px;
}
.top_point_list h3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	font-size: 18px;
	margin: 0 0 16px;
}
.top_point_list h3 span {
	display: contents;
}
.top_point_list h3 img {
	max-width: 50px;
	margin: 0 2vw 0 0;
}
.top_point_txt {
	clear: left;
	font-size: 14px;
}

.top_flow_list li {
	display: inline-block;
	width: 40%;
	vertical-align: top;
	margin: 0 0 22px;
	max-width: 198px;
	text-align: left;
	padding:0 10px 10px;
	box-shadow: 2.121px 2.121px 2.61px 0.39px rgba(82, 79, 75, 0.23);
}
.top_flow_list p {
	display:flex;
	align-items:center;
}
.top_flow_list .title{
	font-weight:bold;
	font-size:18px;
}
.top_flow_list img{
	width:100%;
	margin-bottom:10px;
}
.top_kutikomi_bg{
	background:#faf9f7;
	padding:60px 0;
}
.top_kutikomi_bg .top_btn{
	margin-top:40px;
}
.top_kutikomi_text{
	    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 40px 0 20px;
}
.top_kutikomi_btn{
display:flex;
	flex-direction:column;
	justify-content:center;
	gap:30px;
}
.top_kutikomi_btn li{
	width:60%;
	text-align:center;
	margin:0 auto;
}
#contents .top_kutikomi_btn .top_btn{
		display:block;
}
.top_onayami_list{
	display:flex;
	justify-content:center;
	gap:12px;
	flex-wrap:wrap;
	margin-top:20px;
}
.top_onayami_list li{
	width:46%;
}
/**/
.top_onayami_slide {
	width: min(80%,720px);
	margin: 0 auto;
}
.top_onayami_slide .slick-prev:before,
.top_onayami_slide .slick-next:before {
    color: #C1994B;
		font-size: 36px;
}
.top_onayami_slide .slick-prev {
	left: -40px;
}
.top_onayami_slide .slick-next {
    right: -20px;
}
.top_onayami_slide .slick-dots {
	bottom: -40px;
}
.top_onayami_slide .slick-dots li {
	margin: 0 16px;
}
.top_onayami_slide .slick-dots li button:before {
	font-size: 18px;
	color: #000;
}
.top_onayami_slide .slick-dots li.slick-active button:before {
    color: #ff7826;
}

/**/
.top_reason p.block_point_list_ttl::before {
	content:"Reason";
	color:#d6bc86;
	border-radius:10px;
	font-size:12px;
	width:60px;
	height:60px;
}

.top_reason p.block_point_list_ttl::after{
	top:22px;
	left:24px;
	color:#d6bc86;

}
.top_reason p.block_point_list_ttl{
	padding-left:70px;
	min-height:60px;
}
.top_h3{
	text-align:center;
	position:relative;
	overflow:visible!important;
	margin-top:50px;
	border-bottom:1px solid #bb9140;
	font-size:24px;
	padding-bottom:10px;
	width:94%;
	margin:50px auto 0;
}
.top_h3 span{
	position:absolute;
	z-index:-5;
	font-size:40px;
	color:#eee5d0;
	top: -36px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.top_h4{
	border-left:12px solid #222;
	font-size:20px;
	position:relative;
	padding:12px;
}
.top_h4::before{
	content: "";
	display: inline-block;
	position: absolute;
	left: -5px;
	background: #faf9f7;
	width: 3px;
	top: 0;
	height: 100%;
}

.top_flow_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-evenly;
}
.top_flow_list li{
	background:#3c3c3b;
	color:#fff;
	counter-increment: flow;
}
.top_flow_list .title::before{
	content: counter(flow);
	color:#d6bc86;
	font-size:36px;
	font-weight:bold;
	margin-right:6px;
}
.top_daihyo_text{
	font-size:22px;
	line-height:1.36;
	font-weight:bold;
	margin-bottom:20px;
}
.top_philosophy_text{
	text-align:center;
	font-size:22px;
	line-height:1.36;
	font-weight:bold;
	margin-top:24px;
}
.top_daihyo_name img{
	margin-right:0;
}
.top_daihyo_bg{
	background:#faf9f7;
	padding:20px 10px;
	margin-top:20px;
}
.top_daihyo_bg .top_h4:first-of-type{
	margin-top:0;
}
.top_daihyo_bg .top_h4:not(first-of-type){
	margin-top:40px;
}
.top_daihyo_bg .text{
	margin-top:16px;
}
.top_btn_wrap{
	text-align:center;
}
.top_btn,
.top_btn:link,
.top_btn:hover,
.top_btn:visited{
	border-radius: 8px;
	background-image: -moz-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	background-image: -webkit-linear-gradient(-10deg, rgb(180, 138, 56) 1%, rgb(241 208 134) 50%, rgb(180, 138, 56) 99%);
	background-image: -ms-linear-gradient( -10deg, rgb(180,138,56) 1%, rgb(250,222,161) 50%, rgb(180,138,56) 99%);
	box-shadow: 1.414px 1.414px 3px 0px rgba(97, 58, 36, 0.2);
	color:#fff;
	padding:20px 24px;
	display:inline-block;
	text-decoration:none;
	font-size:16px;
	letter-spacing: 0.05em;
	font-weight:bold;

}
.top_btn img{
	display:inline-block;
	margin-left:14px;
	vertical-align:middle;
}
.news_list{
	background:#faf9f7;
	padding:20px 10px;
}
.news_list li{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:20px;
	border-bottom:2px dotted #464645;
	padding:14px;
}
.news_list a,
.news_list a:hover,
.news_list a:visited,
.news_list a:link{
	color:#fff;
	text-decoration:none;
}
.news_list .category a{
	background:#222222;
	color:#d6bc86;
	padding:4px 20px;
	font-size:18px;
	display:block;
	border-radius:10px;
	white-space:nowrap;
}
.news_list .title a,
.news_list .date{
	color:#3c3c3b;
	font-size:18px;
}
.top_value_list{
	padding:10px 20px;
}
/*モーダルの指定*/
	.modal_tel_container,
	.modal_line_container,
	.modal_web_container {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-align: center;
		background: rgba(0,0,0,50%);
		padding: 40px 20px;
		overflow: auto;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		box-sizing: border-box;
	}
	.modal_tel_container::before,
	.modal_line_container::before,
	.modal_web_container::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		height: 100%;
	}
	.modal_tel_container.active,
	.modal_line_container.active,
	.modal_web_container.active {
		opacity: 1;
		visibility: visible;
	}
	.modal_body {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		max-width: 500px;
		width: 90%;
	}
	.modal_close {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		top: -40px;
		right: 0;
		width: 40px;
		height: 40px;
		font-size: 40px;
		color: #fff;
		cursor: pointer;
	}
	.modal_content {
		background: #fff;
		padding: 30px;
	}
	.modal_contact_tel_ttl,
	.modal_contact_line_ttl,
	.modal_contact_web_ttl {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		font-size: clamp(15px,3vw,24px);
		font-weight:bold;
	}
	.modal_contact_tel_list li a,
	.modal_contact_line_list li a,
	.modal_contact_web_list li a{
		display: block;
		margin: .5em auto;
		max-width: 16em;
		padding: .5em;
		text-decoration: none;
		color: #fff;
		text-align: center;
		font-size: clamp(15px,3vw,24px);
		border-radius: 8px;
	}
	.modal_contact_tel_list li a {
		background-color: #000;
		color:#d6bc86;
	}
	.modal_contact_line_list li a {
		background-color: #49BC54;
	}
	.modal_contact_web_list li a {
		background-color: #000;
		color:#d6bc86;
	}
/*==================================
SP_page
==================================*/
/*キャッチ*/
.banner_area {
	margin: 0 0 32px;
}
.catch_list {
	overflow: hidden;
}
.catch_list ul {
	overflow: hidden;
	margin: 4px 0;
}
.catch_list li {
	margin: 0 0 4px;
	padding: 10px 0 8px 44px;
	background: url(image/page/catch_ico01.png) no-repeat left 4px;
	font-size: 15px;
	border-bottom: dotted 1px #bb9140;
}
.catch_list .img_right img {
	width: auto;
	height: auto;
	max-width: 224px;
	max-height: 224px;
}
/*旧サイト記事用*/
.catch_list01 {
	float: left;
	margin: 20px 5px 10px 10px;
}
.catch_list01 li {
	margin: 0 0 5px;
	padding: 5px 0 3px 30px;
	background:url(image/page/catch_ico.png) no-repeat left center;
	font-size: 16px;
}
.catch_ttl_sisei {
	margin: 5px auto 10px;
	width: 680px;
	border-bottom:dotted 3px #9D7955;
}
.catch_conts_sisei {
	overflow:hidden;
	margin: 0 20px 10px 20px;
	padding-top:5px;
	background: url(image/page/catch_sisei_img.png) no-repeat right bottom;
}
.catch_conts_sinkyu {
	overflow:hidden;
	margin: 0 20px 10px 20px;
	padding-top:5px;
	background: url(image/page/catch_sinkyu_img.png) no-repeat right center;
}
.catch_conts_jiko {
	overflow:hidden;
	margin: 5px 20px 10px 20px;
	background: url(image/page/catch_jiko_img.png) no-repeat right center;
}
.catch_conts_kotsuban {
	overflow:hidden;
	margin:5px 20px 10px 20px;
	background: url(image/page/catch_kotsuban_img.png) no-repeat right center;
}
.catch_conts_kata {
	overflow:hidden;
	margin: 5px 20px 10px 20px;
	background: url(image/page/catch_kata_img.png) no-repeat right center;
}
.catch_conts_koshi {
	overflow:hidden;
	margin: 5px 20px 10px 20px;
	background: url(image/page/catch_koshi_img.png) no-repeat right center;
}
.catch_conts_hiza {
	overflow:hidden;
	margin: 5px 20px 10px 20px;
	background: url(image/page/catch_hiza_img.png) no-repeat right center;
}
.catch_conts_sanso {
	overflow:hidden;
	margin: 5px 20px 10px 20px;
	background: url(image/page/sanso_img02.png) no-repeat right center;
}
.catch_conts_aqu {
	overflow:hidden;
	margin: 5px 20px 10px 20px;
	background: url(image/page/aqu_img04.png) no-repeat right center;
	height: 144px;
}
.catch_text {
	width:auto;
	margin: 5px 20px 10px;
	font-weight:bold;
	color: #F66;
	font-size:20px;
	line-height:30px;
	border-bottom: 5px double #666666;
	overflow:hidden;
}
.sanso_attention {
	width: 592px;
	padding: 32px;
	background-color:#CBE5D4;
	margin: 16px auto 48px;
}
.sanso_attention ul{
	margin-top: 16px;
}
.sanso_attention li{
	list-style: square;
	font-size:14px;
	margin-left:24px;
}
/*鍼灸*/
.hoken_text {
	font-size:16px;
	line-height: 2.0em;
	margin: 5px 0 20px 0;
}
.hoken_text li {
	margin:10px 0 10px 0px;
	padding:5px 0 3px 0px;
	font-size:16px;
	color: #666;
	text-decoration:underline;
}
.sisei_point {
	overflow:hidden;
	margin-bottom:20px;
}
.sisei_point p {
	margin-left:150px;
}
.sisei_point img{
	margin-left:0;
}
.sisei_pic1 {
	text-align: center;
	margin-top: 50px;
	margin-bottom: 2px;
}
.marker {
	color:#FF3300;
	text-decoration:underline;
	list-style-position: inside;
	font-weight: bold;
}
.marker02 {
	color: #FF5B7F;
	font-weight: bold;
	background: linear-gradient(transparent 50%, #D1ECE9 0%);
	line-height: 1.3em;
}
/*会員ページ*/
#wpmem_login fieldset{
	text-align: center;
	margin-top: 50px;
	margin-bottom: 2px;
}

#wpmem_login legend{
	display:none;
}
#log.username,#pwd.password{
	margin: 0 auto 0 125px;
	max-width: 400px;
}
.page-template-default{
	padding: 25px;
	font-size: 14px;
	font-weight: 400;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
	line-height: 1.5;
	color: #8c8f94;
	background: #fff;
	border: 1px solid #dcdcde;
	box-shadow: 0 1px 1px rgb(0 0 0 / 5%);
	overflow: auto;
	zoom: 1;
	text-align: center;
	width:350px;
	margin-left:100px;
}
.img-left {
	margin: 10px;
	float: left;
}
.img-right {
	margin: 10px;
	float: right;
}
.img-center {
	display: block;
	margin-right: auto;
	margin-left: auto;
}
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size:0;
	content: " ";
	clear: both;
	height: 0;
}
/*clerfix for IE7 */
.clearfix {
	display:inline-block;
}
.clearfix {
	display:block;
}
/*inlime_block for IE7*/
.inline_block {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}
.shourei, .voice {
	margin: 0 0 40px;
}
.shourei_list li{
	margin: 0 24px 32px;
	padding: 24px;
	background: #FDD;
	border: solid 1px #FDD;
	border-radius: 8px;
}

.voice_list li {
	margin: 0 15px 32px;
	padding: 24px;
	border-radius: 8px;
}

.shourei_conts, .voice_conts {
	overflow: hidden;
	padding: 12px;
	background: #fff;
}
.shourei_conts h3, .voice_conts h3 {
	margin: 0 0 8px;
	padding: 8px 16px;
	background: #fff;
	border-bottom : dotted 2px #E3E3DA;
	box-sizing: border-box;
}
.voice_conts h3 {
	color: #79796A;/*症例と色を変える*/
	width: 408px;
}
.shourei_txt, .voice_txt {
	clear: right;
	overflow: hidden;
	padding: 0 0 0 16px;
}
.shourei_txt p, .voice_txt p {
	margin: 0 0 1em;
}
.shourei_pic {
	float: left;
	width: 100px;
	margin: 0 16px 0 0;
}
.shourei_pic img {
	max-width: 100%;
	height: auto;
}
.shourei_pic p:first-child {
	margin: 0 0 8px;
}
.shourei_pic p:first-child img {
	width: 100px;
	height: auto;
}
#old_single h2.h_style01{
	background-image:none;
	box-shadow:none;
	border-radius:none;
}
#old_single .voice{
    overflow: hidden;
    margin: 2em 0.5em;
    background: var(--bgcolor01);
    border-radius: 10px;
    padding: 15px;
    background: var(--bordercolor01);
}
#old_single .voice_conts{
	margin-top: 1em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: center;
	flex-wrap:wrap;
}
#old_single .voice_prof{
	margin: 0 0 15px;
    padding: 0 5px 10px;
    border-bottom: solid 1px #CCC;
    font-weight: bold;
}
#old_single .voice_inner{
	    padding: 25px 20px;
    background: #FFF;
    overflow: hidden;
}
#old_single .menseki {
	overflow: hidden;
	margin: 16px 0 0;
	font-size: 12px;
	color: #FF2626;
}
#old_single .menseki2 {
	overflow: hidden;
	margin: 16px 0 0;
	font-size: 12px;
	color: #FF2626;
}
#old_single .menseki3 {
	overflow: hidden;
	margin: 16px 0 0;
	font-size: 12px;
	color: #FF2626;
	text-align: right;
}
#old_single .voice_img {
    float: left;
    width: 180px;
    padding: 5px;
}
#old_single .voice_txt {
    float: right;
    width: 280px;
    font-size: 15px;
    line-height: 2.0em;
}
#old_single p{
	margin:0!important;
}
#old_single .h4_jiko_point {
	border: none;
	text-align: center;
	margin: 0 auto 20px;
}
#old_single .jiko_point ul {
}
#old_single .jiko_point li {
	display:inline-block;
	border: 1px solid #00B6ED;
	width: 30%;
	margin: 0 auto 30px;
	padding: 6px;
	/*display:inline;
	zoom:1;*/
	background: #f0f9ff; /* Old browsers */
	background: -moz-linear-gradient(top, #ffffff 0%, #ffffcc 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #ffffff 0%, #ffffcc 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #ffffff 0%, #ffffcc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffcc', GradientType=0 ); /* IE6-9 */
	-webkit-border-radius: 10px 10px 10px 10px;
	border-radius: 10px 10px 10px 10px;
	vertical-align: top;
	min-height:490px;
}
#old_single .jiko_tite_bnr {
	display: block;
	margin: 0 auto;
	text-align: center;
	margin-bottom: -18px;
}
#old_single .jiko_keypoint {
	width: 640px;
	margin: 10px auto 20px;
}
#old_single .jiko_keypoint li {
	margin: 0 auto 10px;
}
#old_single .jiko_keypoint li:nth-child(n+2) {
	margin: 0 auto 10px;
	width: 572px;
}
#old_single .jiko_tel {
	margin: 0 auto 20px;
	width: 640px;
}
#old_single .jiko_tel li {
	margin-bottom: 8px;
}
#old_single .jiko_tel li:first-child {
	margin-bottom: -8px;
	display: block;
}
#old_single .jiko_tel_map {
	text-align: center;
}
#old_single .jiko_tel_map p {
	margin: 10px auto;
}
/*=========人体図===========*/

#old_single .content_image {
	width: 120px;
	float: left;
	margin: 40px 10px 0!important;
}
#old_single .content_image img{
	max-width:fit-content;
}
#old_single .content_table01 {
	width: 492px;
	margin: 40px auto 30px auto;
	border-top: 1px solid #FF9900;
	border-left: 1px solid #FF9900;
	float: right;
	    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#old_single .content_table01 th {
	text-align: center;
	padding: 8px 3px 3px;
	letter-spacing: 0.1em;
	background: #FFC538;
	border-right: 1px solid #FF9900;
	border-bottom: 1px solid #FF9900;
	color: #fff;
}
#old_single .content_table01 td {
	text-align: left;
	font-size: 12px;
	border-right: 1px solid #FF9900;
	border-bottom: 1px solid #FF9900;
	padding: 3px;
	vertical-align: top;
	height: 60px;
}

#old_single .jiko_point2_ttl img {
	display: block;
	margin: 0 auto;
}
#old_single .jiko_point2 {
	margin: 0 auto;
	padding: 15px 10px;
	width: 620px;
	border: solid 1px #00B6ED;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
#old_single .jiko_point2 li {
	overflow: hidden;
	margin: 0 0 10px;
	padding: 15px 15px 15px;
	border-bottom: dashed 1px #CCC;
}
#old_single .jiko_point2_ico {
	float: left;
	width: 77px;
}
#old_single .jiko_point2_conts {
	float: right;
	width: 490px;
}
#old_single .jiko_point2_conts h3 {
	margin: 0 0 10px;
	border-left:none;
	border-bottom:none;
}
#old_single .jiko_point2_conts h3 img{
	margin-left:0;
}
#old_single .jiko_content {
	overflow: hidden;
	display:flex;
}
/*事故*/
#old_single .jiko_pic1 {
	float:left;
	margin-right:10px;
}
#old_single .jiko_pic2 {
	float:right;
	margin-left:10px;
}
#old_single .jiko_pic3 {
	text-align: center;
	margin-top: 30px;
	margin-bottom: 10px;
}
#old_single figcaption {
    font-size: 0.9em;
    text-align: center;
    display: block;
    color: #F66;
}
#old_single .h4_jiko_point::before{
	display:none;
}
/*         ボタン装飾
---------------------------------*/

#old_single .btn--pink,
#old_single a.btn--pink {
	color: #fff;
	padding: 10px 30px;
	text-align:center;
	background-color: #FF7373;
	text-decoration: none;
}

#old_single .btn--pink:hover,
#old_single a.btn--orange:hover {
	color: #fff;
	background: #ff8080;
}

#old_single a.btn--radius {
	border-radius: 100vh;
}
#old_single .bt_cnter {
	width:100%;
	text-align:center;
	margin-bottom:30px!important;
}
#old_single .btn_box {
	display:flex;
	justify-content:space-between;
}
/*==================================
SP_price
==================================*/
.ryoukin_list01,
.ryoukin_list02 {
	margin: 0 auto 32px;
	width: 100%;
	text-align: center;
}
.ryoukin_list01 th,
.ryoukin_list01 td {
	width: 50%;
}
.ryoukin_list02 th,
.ryoukin_list02 td {
	width: 33.3%;
}
.ryoukin_list01 th,
.ryoukin_list01 td,
.ryoukin_list02 th,
.ryoukin_list02 td {
	padding: 3px;
	border: solid 1px #ccc;
}
.ryoukin_list01 th,
.ryoukin_list02 th {
	background: #f0f0e1;
}
.ryoukin_style01 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin-left: 50px;
}
.ryoukin_chui {
	text-indent: -1em;
	margin: 0 30px;
}
/*==================================
SP_form
==================================*/
.wpcf7-form {
	width: 96%;
	margin: 0 auto 30px;
}
.wpcf7-form p {
	margin: 0 auto 10px;
	line-height: 2em;
}
.privacy_policy {
	width: 92%;
	margin: 0 auto 30px;
	height: 300px;
	overflow: auto;
	border: solid 1px #999;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
}
.privacy_policy dl dt {
	margin: 0 auto 10px;
	font-weight: bold;
}
.privacy_policy dl dd {
	margin: 0 auto 2em;
}
.required {
	background: #ffe6e6;
	color: #ff7373;
	padding: 2px;
	border-radius: 5px;
	font-size: 90%;
}
.any {
	background: #ffe599;
	color: #ff8000;
	padding: 2px;
	border-radius: 5px;
	font-size: 90%;
}
.wpcf7-text,
.wpcf7-textarea {
	width: 100%;
	line-height: 2em;
	font-size: 16px;
}
#form_contents article {
	margin: 0 auto;
	max-width: 640px;
}
.form_atention {
	background: #ffdfdf none repeat scroll 0 0;
	border: 1px solid #f2f2f2;
	margin: 0 auto 20px;
	padding: 15px;
	width: 96%;
	max-width: 640px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.form-width {
	max-width: 100%;
}
/*==================================
SP_blog
==================================*/
ul.blog_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2em;
}
ul.blog_list li {
	width: 50%;
	margin-top: 0;
	padding: 0 0.2em;
	box-sizing: border-box;
}
.post_box {
	box-sizing: border-box;
	margin: 1em 0.5em;
}
h2.post_box_post_ttl {
	font-weight: 800;
	font-size: clamp(15px, 1.4vw, 22px);
}
h2.post_box_post_ttl a {
	color: inherit;
	text-decoration: none;
}
.post_box_post time {
	font-size: clamp(10px, 1vw, 14px);
}
.post_box_post time::before {
	font-family: "icomoon";
	content: "\e900";
	display: inline-block;
	margin-right: 2px;
	vertical-align: baseline;
}
.post_box_info {
	box-sizing: border-box;
}
p.post_box_info_cat a {
	display: inline-block;
	text-decoration: none;
	color: inherit;
	font-size: clamp(10px, 1vw, 14px);
	margin-right: 6px;
	transition: 0.4s;
}
p.post_box_info_cat a::before {
	font-family: "icomoon";
	content: "\e901";
	display: inline-block;
	margin-right: 2px;
	vertical-align: bottom;
}
p.post_box_info_cat a:hover {
	letter-spacing: 0.05em;
}
.post_box_thumb {
	overflow: hidden;
}
.post_box_thumb_img {
	width: 100%;
	background-size: cover;
	background-position: center;
	height: auto;
	padding-top: 68%;
	overflow: hidden;
	transition-duration: 0.3s;
}

a:hover .post_box_thumb_img {
	transform: scale(1.1, 1.1); /*画像の拡大*/
}

@media screen and (min-width: 782px) {
	.post_box {
		margin: 14px;
		overflow: hidden;
	}
	.post_box_thumb {
		margin-bottom: 0.5em;
	}
}

/*==================================
SP_pager
==================================*/
.pager {
	text-align: right;
	padding-bottom: 10px;
}
a.page-numbers,
.pager .current {
	color: rgba(214, 176, 78, 1);
	border: solid 1px rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	padding: 5px 8px;
	margin: 0 2px;
}
.pager .current {
	background: rgba(214, 176, 78, 1);
	border: solid 1px rgba(0, 0, 0, 0.1);
	color: rgba(255, 255, 255, 1);
}
.navigation {
	overflow: hidden;
	margin: 0 auto;
	width: 95%;
}
.navigation .alignleft {
	width: 48%;
	float: left;
}
.navigation .alignright {
	width: 48%;
	float: right;
	text-align: right;
}
/*==================================
for iPhone Landscape(iPhone 横)
==================================*/
@media screen and (min-width: 480px) {
	.gnav img {
		width: 48%;
	}
	.br_onoff {
		display: none;
	}
	.img_left,
	.alignleft {
		float: left;
		margin: 0 8px 8px 0;
	}
	.img_right,
	.alignright {
		float: right;
		margin: 0 0 8px 8px;
	}
	.voice_pic {
		float: left;
		margin: 0 16px 0 0;
	}
	.voice_pic p > :first-child {
		display: block;
		margin: 0 0 8px;
	}
	.catch_list .img_right {
		max-width: none;
		float: none;
		margin: 0 0 8px;
	}
	/*      スマホ横アクセス
	---------------------------------*/
	.access_box01 .img_left {
		width: 44.64%;
		max-width: none;
	}
	.access_info01 {
		float: right;
		width: 52.08%;
	}
	.access_pic {
		float: left;
		width: 47%;
	}
	.access_info02 {
		clear: both;
	}
}
/*==================================
for iPhone Landscape(iPhone 480px~782px)
==================================*/
@media screen and (min-width: 480px) and (max-width: 782px) {
	.contact_conts .img_left {
		float: none;
	}
	.copyright {
		margin: 10% 0 15%;
	}
	#sidebar {
		column-count: 2;
		column-gap: 0;
	}
	#sidebar > div {
		padding: 5px;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}
}
/*==================================
スマホ用ドロワーメニュー
複数院用CTAボタンのモーダルウィンドウ
==================================*/
@media screen and (max-width: 782px) {
	#sp_menu {
/* 		display: contents; */
		display: inline-block;
		background-color: transparent;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
	}
	#sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: 85%;
		height: 100%;
		padding: 2em 0;
		background-color: #fff;
		transition: all 0.2s;
		transform: translate(-100%);
		overflow-y: scroll;
		overflow-x: hidden;
		z-index: 999999;
		box-shadow: 0 8px 3px -3px rgba(0,0,0,0.1);
		box-sizing: border-box;
	}
	#sidebar.open {
		transform: translate(0%); 
	}
	#mask {
		display: none;
		transition: all 0.5s;
	}
	#sidebar.open + #mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: 0.5;
		z-index: 99999;
		cursor: pointer;
	}
	
}
/*==================================
for iPad~PC
==================================*/
@media screen and (min-width: 782px) {
	/*==================================
	PC_base
	==================================*/
	a:hover img,
	a:active img {
		-webkit-opacity: 0.7;
		opacity: 0.7;
	}
	.only_sp {
		display: none;
	}
	.only_pc {
		display: block;
	}
	body {
		line-height: 1.6;
		width: 100%;
		max-width: 1240px; /*main_imgの幅*/
		margin-top: 0 !important;
	}
	.alignleft img,
	.alignright img {
		max-width: 300px;
		height: auto;
	}
	/*==================================
	PC_layout
	==================================*/

	#sidebar {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#sidebar > div {
		width: 48%;
	}
	#sidebar > div:last-of-type {
		margin-right: auto;
	}
	.conts {
		margin: 0 24px 24px;
	}
	.ttl {
		margin: 0 0 32px;
	}
	.bnr {
		margin: 0 0 16px;
		text-align: center;
	}

	/*==================================
	PC_heading
	==================================*/
	/*.h_style01,
	.h_style02,
	.news_ttl {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3",
	"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
	"MS PGothic", sans-serif;
}*/
	.h_style01 /*下層ページのh2などに利用してください*/ {
		margin: 0 0 32px;
		padding: 20px;
		font-size: 34px;
	}
	.h_style02,
	.post h3:not([class]),
	.block_wrapper h2:not(.nostyle)
	/*トップのh2、下層のh3*/ {
		margin: 32px 0 24px;
		padding: 22px 6px 12px;
		font-size: 20px;
	}
	.h_style03,
	.post h4,
	.block_wrapper h3:not(.nostyle)
	/*トップのh3、下層のh4*/ {
		clear: both;
		overflow: hidden;
		margin: 32px 0 24px;
	}
	.h_style04,
	.post h5,
	.block_wrapper h4:not(.nostyle)
	/*ブログ見出し*/ {
		margin: 24px 0 16px;
		padding: 0 8px 2px 32px;
		font-size: 18px;
	}
	/*==================================
	PC_header
	==================================*/
	/*.h_logo {
	width: 100%;
}*/
	.h_bg h1,
	.h_bg p{
		font-size:15px;
	}
	.h_right_wrap{
		display:flex;
		align-items:center;
		gap:22px;	
	}
	/*==================================
	PC_navigation
	==================================*/
	.gnav_pc {
		overflow: hidden;
		max-width: 1240px;
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.gnav_pc li {
		text-align: center;
		width: 24.9%;
		letter-spacing:0.1em;
		font-size:18px;
	}
	.gnav_pc li a {
		display: block;
		padding: 15px 10px;
		color:#1c1c1c;
		font-weight:bold;
		text-decoration: none;
	}
	.gnav_pc li:hover {
		opacity: 0.7;
	}
	.bt_pagetop {
		position: fixed;
		z-index: 99999;
		bottom: 16px;
		right: 16px;
		width: min(10vw,90px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 1s, visibility 1s;
	}
	.bt_pagetop.active {
		opacity: 1;
		visibility: visible;
	}
	/*==================================
	PC_mainimg
	==================================*/
	.main_img {
		text-align: center;
	}
	/*==================================
	PC_contact
	==================================*/
	.contact {
		padding: 100px 0 70px;
	}
	.contact_conts {
		width: 98%;
		max-width: 1090px;
		margin: auto;
		gap: 2em;
	}
	.contact_info_box {
		display: flex;
		justify-content: space-between;
		gap: 1em
	}
	.contact_info_box>* {
		width: calc(50% - 1em);
	}
	.contact_info .block_uketsuke {
		margin: 0 auto;
		font-size: 14px;
	}
	.contact_info .block_uketsuke th,
	.contact_info .block_uketsuke td {
		padding: .3em;
		font-size: clamp(14px, 2vw, 24px);
	}
	.contact_info .uketsuke_block_notes {
		font-size: clamp(14px, 1.8vw, 20px);
	}
	.contact_access {
		font-size: clamp(14px, 1.6vw, 18px);
	}
	.contact_bt {
		flex-direction: row;
		justify-content: center;
	}
	.contact_bt>* {
		flex: 1;
	}
	/*お問い合わせ欄店舗一覧*/
	.shop_list {
		gap: 0;
	}
	.shop_list_li:not(.shoppage_info) {
		display: grid;
		grid-template-columns: 1fr min(260px, 16em);
		gap: 1em;
		align-items: center;
		padding: 28px 0;
	}
	.shoppage_info .shop_list_info {
		grid-template-columns: 33% 1fr;
	}
	.shoppage_info .shop_list_cta {
		flex-direction: row;
	}
	.shoppage_info .shop_list_cta > li {
		width: calc(33% - .66em);
	}
	/*==================================
	PC_menu sidemenu
	==================================*/
	.side_fixed_menu li {
		margin: 0 auto 16px;
	}
	.side_fixed_menu li a/*PCサイドバーHOME・アクセスボタン*/ {
		padding: 16px 0;
	}
	.side_fixed_menu li a:hover {
		/*background: #f0f0e1;*/
		opacity:0.7;
	}
	/*メニュー（固定ページ/関連メニュー）*/
	.widget_nav_menu,
	#custom_html-13,
	.widget_categories,
	.widget_recent_entries,
	.widget_search,
	.widget_archive,
	.widget_meta {
		width: 100%;
	}

	/*==================================
	PC_copyright
	==================================*/
	.copyright {
		margin: -50px 0 0;
		font-size: 14px;
	}
	.copyright span{
		top:4.1vw;
	}
	/*==================================
	PC_footer
	==================================*/
	.f_inner {
		display: block;
		overflow: hidden;
		margin: 0 auto;
		padding: 16px 0;
		width: 95%;
		max-width: 1024px;
	}
	/*==================================
	PC_voice
	==================================*/
	.voice {
		margin: 0 0 40px;
	}
	.voice_list li {
		margin: 0 24px 32px;
		padding: 24px;
	}
	.voice_conts {
		padding: 24px;
	}
	.voice_conts h3 {
		width: 100%;
	}
	.voice_txt {
		clear: right;
		overflow: hidden;
		padding: 0 0 0 16px;
	}
	.voice_pic {
		float: left;
		margin: 0 16px 0 0;
	}
	.voice_pic img {
		display: inline-block;
		margin: 0 0 8px;
		max-width: 100%;
		height: auto;
	}
	/*==================================
	PC_toppage
	==================================*/
	.top_inner {
		margin: 0 calc(50% - 50vw);
		padding: min(10vw,80px) calc(50vw - 48%);
	}	
	.top_catch h2 {
		margin: 0 0 32px;
	}
	.top_sejutsu_bt {
		margin: 0 0 24px;
	}
	.top_sejutsu_bt li {
		margin: 0 0 8px;
		width: 32.5%;
		text-align: center;
	}
	.top_point_list {
		margin: 0 24px;
	}
	.top_point_list h3 {
		float: left;
		font-size: 26px;
		line-height: 1.3em;
		margin: 0 0 16px;
	}
	.top_point_list h3 img {
		max-width: 70px;
		margin: 0 1vw 0 0;
	}
	.top_point_txt {
		clear: left;
	}
	.top_flow_list li {
		width: 46%;
		margin: 0 6px 22px;
	}
	.top_reason p.block_point_list_ttl::after{
		top:0.5em;
		left:0.6em;
	}
	.top_shop_list li{
		width:38%;
	}
	.top_btn{
		font-size:20px;
	}
	.top_kutikomi_btn{
		flex-direction:row;
	}
	.top_kutikomi_btn li{
		width:30%;
	}
	.news_list{
			padding:20px 40px;
	}
	.news_list li{
		flex-wrap:nowrap;
	}
	.top_daihyo_bg{
		padding:30px;
	}
	.top_onayami_list li{
		width:auto;
	}
	/*==================================
	PC_page
	==================================*/
	.banner_area {
		text-align: center;
	}
	.catch_list ul {
		margin: 4px 0;
		float: left;
		width: 432px;
	}
	.catch_list li {
		padding: 6px 0 6px 44px;
		font-size: 18px;
	}
	.catch_list .img_right {
		width: 224px;
		float: right;
	}
	.catch_list .img_right img {
		width: auto;
		height: auto;
		max-width: 224px;
		max-height: 224px;
	}
	/*==================================
	PC_access
	==================================*/
	.access_info01 p {
		margin: 0;
	}
	.access_info02 {
		clear: both;
	}
	.access_info03 {
		margin: 0 auto;
		width: 500px;
	}

	/*==================================
	PC_form
	==================================*/
	.form_atention {
		width: 92%;
	}
	.privacy_policy {
		height: 150px;
	}
	/*==================================
	PC_Blog
	==================================*/
	.date {
		font-size: 13px;
		color: #ccc;
		text-align: right;
	}
	/*==================================
	PC_pager
	==================================*/
	.navigation {
		width: 630px;
	}
}
/*==================================
PC iPad landscape ~
==================================*/
@media screen and (min-width: 960px) {
	img {
		image-rendering: -webkit-optimize-contrast;
	}
	#contents {
		margin: 0 auto 40px;
		width: 96%;
		max-width: 1090px;
		padding: 48px 36px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	#contents::after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: "";
		clear: both;
		height: 0;
	}
	#form_contents {
		width: 720px;
		margin: 0 auto;
	}
	#main {
		z-index: -1;
		float: right;
		width: 74%;
		max-width: 720px;
	}
	#sidebar {
		display: block;
		float: left;
		width: 25%;
		max-width: 256px;
	}
	#sidebar > div {
		width: 100%;
	}
	/* img */
	.img_left {
		margin: 0 16px 16px 0;
		float: left;
	}
	.img_right {
		margin: 0 0 16px 16px;
		float: right;
	}
	.side_fixed_menu {
		width: 100%;
	}
}
/*==================================
PC Wide
==================================*/
@media screen and (min-width: 1240px) {
	body {
		min-width: 1240px;
		max-width: none;
	}
	.side_fixed_menu {
		width: 100%;
	}
}
