@charset "utf-8";
/*
Theme Name: tocobase_res01
Description: responsive01
Version: 1.0
Author: tocoeco
Tags: simple
*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

/*!
 * "HannariMincho" is lisenced under the IPA Font License Agreement v1.0
 * by http://typingart.net/font/hannari.zip
 */

 /* IE */
 @font-face {
 	font-family: Hannari;
 	src: url(font/HannariMincho.eot);
 }

 /* Firefox, Opera, Safari */
 @font-face {
 	font-family: 'Hannari';
 	src: url(font/Hannari.otf) format('opentype');
 }

html {
   font-size: 16px; /* ブラウザ標準の16pxを全体の基準とする */
 }

 body {
   /* fontプロパティを分解して、remとline-heightで再定義 */
   font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
   font-size: 1rem;
   line-height: 1.7;
   color:#252525;
 }


/* リンク設定
------------------------------------------------------------*/
a{
	margin:0;
	padding:0;
	text-decoration:none;
	outline:0;
	vertical-align:baseline;
	background:transparent;
	font-size:100%;
	color:#624e24;
}

a.udl{
	margin:0;
	padding:0;
	text-decoration:underline;
	outline:0;
	vertical-align:baseline;
	background:transparent;
	font-size:100%;
	color:#624e24;
}

a:hover, a:active{
	-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
	outline: none;
	color:#927a49;
}

/**** Clearfix ****/
.nav .panel:before,nav .panel:after, nav#mainNav:before,nav#mainNav:after, .newsTitle:before,.newsTitle:after{content: ""; display: table;}
nav .panel:after,nav#mainNav:after,.newsTitle:after{clear: both;}
nav .panel,nav#mainNav,.newsTitle{zoom: 1;}

#container:after,
#header .menu > ul:after,
#header ul.menu:after,
.clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: " ";
	font-size: 0;
}

/* clearfix for ie7 */
#container,
#header .menu > ul,
#header ul.menu,
.clearfix {
	display: inline-block;
}

#container,
#header .menu > ul,
#header ul.menu,
.clearfix {
	display: block;
}

*:first-child+html input[type="submit"]{padding:3px;}

/****************************************

          Form

          *****************************************/
          #wpcf7-f83-p151-o1 {
          	width: 90%;
          	border: 1px solid #d1bc93;
          	margin: 0 auto;
          	padding: 10px 20px;
          	border-radius: 6px;
          }

          .wpcf7-form-control.wpcf7-radio,
          .wpcf7-form-control.wpcf7-select {
          	margin-bottom: 20px;
          }

          .wpcf7-form-control.wpcf7-radio,
          .wpcf7-list-item {
          	display: block;
          }

          input[type="text"],
          input[type="password"],
          input[type="email"],
          input[type="search"],
          textarea {
          	margin: 0;
          	margin-bottom: 20px;
          	padding: 6px 4px;
          	max-width: 100%;
          	width: 290px;
          	outline: none;
          	border: 1px solid #ddd;
          	-webkit-border-radius: 2px;
          	-moz-border-radius: 2px;
          	border-radius: 2px;
          	background: #eee;
          	color: #777;
          	font-size: 13px;
          }

          #comment-area input[type="text"],
          #comment-area textarea{
          	display: block;
          }

          textarea {
          	overflow: auto;
          }

          input[type="text"]:focus,
          input[type="password"]:focus,
          input[type="email"]:focus,
          input[type="search"]:focus,
          textarea:focus {
          	border: 1px solid #b37906;
          	background: #fff;
          	-webkit-box-shadow: 0 0 3px rgba(242,174,39,1);
          	-moz-box-shadow: 0 0 3px rgba(242,174,39,1);
          	box-shadow:  0 0 3px rgba(242,174,39,1);
          	color: #444;
          }

          input[type="submit"] {
          	font-size:16px;
          	font-weight:normal;
          	-moz-border-radius:4px;
          	-webkit-border-radius:4px;
          	border-radius:4px;
          	border:1px solid #e0ad55;
          	padding:6px 22px;
          	margin: 0 auto;
          	text-decoration:none;
          	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #d1a456), color-stop(100%, #b37906) );
          	background:-moz-linear-gradient( center top, #d1a456 5%, #b37906 100% );
          	background:-ms-linear-gradient( top, #d1a456 5%, #b37906 100% );
          	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d1a456', endColorstr='#b37906');
          	background-color:#d1a456;
          	color:#ffffff;
          	display:block;
          	text-shadow:1px 1px 0px #8c6118;
          	-webkit-box-shadow:inset 1px 1px 0px 0px #fed897;
          	-moz-box-shadow:inset 1px 1px 0px 0px #fed897;
          	box-shadow:inset 1px 1px 0px 0px #fed897;
          }
          input[type="submit"]:hover {
          	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #b37906), color-stop(100%, #d1a456) );
          	background:-moz-linear-gradient( center top, #b37906 5%, #d1a456 100% );
          	background:-ms-linear-gradient( top, #b37906 5%, #d1a456 100% );
          	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b37906', endColorstr='#d1a456');
          	background-color:#b37906;
          }
          input[type="submit"]:active {
          	position:relative;
          	top:1px;
          }

/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner{
	margin:0 auto;
	width:940px;
}

#header, #mainNav, #mainImg_box, nav#mainNav{background:#9E8655;}

#header{overflow:hidden;}

#content{
	float:right;
	width:625px;
	padding:30px 0;
}

#sidebar{
	float:left;
	width:265px;
	padding:33px 0;
}

#footer{
	clear:both;
	padding-top:20px;
	border-top:1px solid #ccc;
}


/* ヘッダー
*****************************************************/
.hgroup {
	width: 68%;
	float: left;
}
.desc {
	font-size: 0.8em;
	min-height: 60px;
}
/* サイト説明文
----------------------------------*/
#header h1{
	padding:10px 0 0 0;
	color: #3c2f13;
	font-size:90%;
	font-weight:normal;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
	clear:both;
	float:left;
	padding-top:20px;
	color: #3c2f13;
	font-size:160%;
	font-weight:bold;
}


/* コンタクトインフォメーション
----------------------------------*/
#Info_wrap{
	float:right;
	text-align:left;
	margin-top: 10px;
}

#headerInfo p{
	padding:2px 0 2px 80px;
	color:#3c2f13;
	font-size:12px;
	font-weight:bold;
	background:url(images/openTime.png) no-repeat 0 2px;
}

#headerInfo p.tel{background:url(images/tel.png) no-repeat 0 4px;font-size:16px;}

.tel a{
	color: #dba725;
}

#headerInfo p.address{
	background-image:url(images/address.png);
	margin-bottom: 9px;
}

p#head_contact, p#head_map{
	font-size:16px;
	font-family:Arial;
	font-weight:bold;
	-moz-border-radius:0px;
	-webkit-border-radius:0px;
	border-radius:0px;
	border:1px solid #eda933;
	margin-bottom: 8px;
	text-decoration:none;
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #f6b33d), color-stop(100%, #d29105) );
	background:-moz-linear-gradient( center top, #f6b33d 5%, #d29105 100% );
	background:-ms-linear-gradient( top, #f6b33d 5%, #d29105 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6b33d', endColorstr='#d29105');
	background-color:#f6b33d;
	color:#ffffff;
	display:inline-block;
	text-shadow:1px 1px 0px #cd8a15;
	-webkit-box-shadow:inset 1px 1px 0px 0px #fed897;
	-moz-box-shadow:inset 1px 1px 0px 0px #fed897;
	box-shadow:inset 1px 1px 0px 0px #fed897;
}
p#head_contact:hover, p#head_map:hover {
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #d29105), color-stop(100%, #f6b33d) );
	background:-moz-linear-gradient( center top, #d29105 5%, #f6b33d 100% );
	background:-ms-linear-gradient( top, #d29105 5%, #f6b33d 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d29105', endColorstr='#f6b33d');
	background-color:#d29105;
}
p#head_contact:active, p#head_map:active {
	position:relative;
	top:1px;
}

p#head_contact a, p#head_map a{
	color: #fff;
	display: block;
	padding: 0px;
	line-height: 35px;
	width: 258px;
	text-align: center;
}

p#head_contact_schoola {
	font-size:14px;
	font-weight:bold;
	-moz-border-radius:0px;
	-webkit-border-radius:0px;
	border-radius:0px;
	border:1px solid #338ced;
	margin-bottom: 8px;
	text-decoration:none;
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #3cbbf6), color-stop(100%, #0597d1) );
	background:-moz-linear-gradient( center top, #3cbbf6 5%, #0597d1 100% );
	background:-ms-linear-gradient( top, #3cbbf6 5%, #0597d1 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3cbbf6', endColorstr='#0597d1');
	background-color:#3cbbf6;
	color:#ffffff;
	display:inline-block;
	text-shadow:1px 1px 0px #146dcd;
	-webkit-box-shadow:inset 1px 1px 0px 0px #97cafe;
	-moz-box-shadow:inset 1px 1px 0px 0px #97cafe;
	box-shadow:inset 1px 1px 0px 0px #97cafe;
}

p#head_contact_schoola a {
	color: #fff;
	display: block;
	padding: 0px;
	line-height: 30px;
	width: 255px;
	text-align: center;
}

p#head_contact_schoolb {
	font-size:14px;
	font-weight:bold;
	-moz-border-radius:0px;
	-webkit-border-radius:0px;
	border-radius:0px;
	border:1px solid #338ced;
	margin-bottom: 8px;
	text-decoration:none;
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #3cbbf6), color-stop(100%, #0597d1) );
	background:-moz-linear-gradient( center top, #3cbbf6 5%, #0597d1 100% );
	background:-ms-linear-gradient( top, #3cbbf6 5%, #0597d1 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3cbbf6', endColorstr='#0597d1');
	background-color:#3cbbf6;
	color:#ffffff;
	display:inline-block;
	text-shadow:1px 1px 0px #146dcd;
	-webkit-box-shadow:inset 1px 1px 0px 0px #97cafe;
	-moz-box-shadow:inset 1px 1px 0px 0px #97cafe;
	box-shadow:inset 1px 1px 0px 0px #97cafe;
}
p#head_contact_schoolb a {
	color: #fff;
	display: block;
	padding: 0px;
	line-height: 30px;
	width: 255px;
	text-align: center;
}

p#head_contact_schoola:hover, p#head_contact_schoolb:hover {
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #0597d1), color-stop(100%, #3cbbf6) );
	background:-moz-linear-gradient( center top, #0597d1 5%, #3cbbf6 100% );
	background:-ms-linear-gradient( top, #0597d1 5%, #3cbbf6 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0597d1', endColorstr='#3cbbf6');
	background-color:#0597d1;
}
p#head_contact_schoola:active, p#head_contact_schoolb:active {
	position:relative;
	top:1px;
}

/* トップページ　メイン画像
----------------------------------*/
#mainImg h2, #mainImg p {
	font-weight: bold;
	color: #6e5b35;
}

#mainImg h2 {
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom: 2em;
	font-size: 1.3em;
	font-family: hannari;
}

#mainImg p {
	/*position: absolute;
	left: 5%;
	top: 40%;
	width: 42%;*/
	font-size: 0.86em;
}

#mainImg{
	position: relative;
	width: 910px;
	margin: 0 auto;
	height: 420px;
	background-image: url(images/banners/main.jpg);
	background-repeat: no-repeat;
	background-position: 50% 0%;
}

#catch {
	/* width: 360px; */
	width: 411px;
	padding: 12% 0% 11% 7%;
}

.movie-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.moviebox_movie01 {
  margin-bottom: 15px;
}

/* トップメインバナー
*****************************************************/
.bn_text {
	text-align: center;
	position: relative;
	top: -66px;
	display: block;
	height: 0;
}

.bn_title {
	font-family: serif;
}

.main_bn {
	font-size: 1em;
	line-height: 1.4;
	display: block;
}

/* タイポグラフィ
*****************************************************/
h2.title{
	clear:both;
	margin:30px 0 20px;
	padding:5px 0;
	font-size: 1.35rem; /* ★110% から変更 */
	color: #252525;
	border-bottom:3px solid #3c2f13;
}

h2.first{margin-top:0;}

h4 {
	clear:both;
	margin:5px 0;
	padding:10px 0 0;
	font-size: 1rem; /* ★100% から変更 */
	color: #555555;
	border-bottom:1px dotted #888888;
}

.dateLabel{
	margin:-10px 0 10px;
	text-align:right;
	font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.post p{padding-bottom:15px;}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
	margin-bottom:5px;
	padding-left:15px;
	background:url(images/bullet.png) no-repeat 0 8px;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
	margin:20px 0;
	padding:5px 0;
	font-size: 1.6rem; /* ★150% から変更 */
	color: #252525;
	border-bottom:3px solid #3c2f13;
}

.post h2{
	margin:10px 0;
	padding-bottom:2px;
	font-size: 1.35rem; /* ★130% から変更 */
	font-weight:normal;
	color: #252525;
	border-bottom:2px solid #3c2f13;
}

.post h3{
	margin:20px 0 10px;
	font-size: 1.15rem; /* ★120% から変更 */
	font-weight:normal;
	color:#2e2c2c;
	border-bottom:1px solid #3c2f13;
	clear: both;
}

.post blockquote {
	clear:both;
	padding:10px 0 10px 15px;
	margin:10px 0 25px 30px;
	border-left:5px solid #ccc;
}

.post blockquote p{padding:5px 0;}

.post table{
	border: 1px #2e2c2c solid;
	border-collapse: collapse;
	border-spacing: 0;
	margin:10px 0 20px;
}

.post table th{
	padding:7px 10px 7px 5px;
	border: #2e2c2c solid;
	border-width: 0 0 1px 1px;
	font-weight:bold;
	background:#eff1f0;
}

.post table td{
	padding:7px 5px;
	border: 1px #2e2c2c solid;
	border-width: 0 0 1px 1px;
	background:#fff;
}

.post dt{
	font-weight:bold;
	float: left;
	padding-right: 10px;
}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter {
	display: block;
	margin:5px auto;
}

img.alignright, img.alignleft{
	padding:4px;
	margin:0 0 2px 7px;
	display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float: right;}
.alignleft{float: left;}

h3.mgtopL {
	margin-top: 40px;
}

ol.list_parentheses{
	padding:0 0 0 0;
	margin:0;
}
ol.list_parentheses li{
	line-height: 2;
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
}
ol.list_parentheses li:before{
	display: marker;
	content: "（" counter(cnt) "）";
}

span.exp-fee {
	font-size:85%;
}

div.reiki-plus {
	margin: 20px 0 0 0;
	font-size: 110%;
}

/* calender
*****************************************************/
ul.cal {
	float: left;
	margin-right: 45px;
}

ul.cal li {
	border-radius: 4px;
	width: 147px;
	font-size: 12px;
	color: #fff;
	background-image: none;
	padding-left: 7px;
}
#am {
	background-color: #be9494;
}
#pm {
	background-color: #a7a77d;
}
#ev {
	background-color: #85aaa5;
}
#nt {
	background-color: #8997a5;
}

dl.cal {
	font-size: 12px;
}
.cal dd {
	padding-bottom: 5px;
}

/* サイドバー　ウィジェット
*****************************************************/
section.widget{
	padding-bottom:20px;
	margin-bottom:20px;
}

section.widget h3{
	clear:both;
	margin:0 0 10px;
	padding:5px 0;
	font-size:100%;
	font-weight:normal;
	color: #252525;
	border-bottom:3px solid #3c2f13;
}

section.widget li{
	margin: 0 10px 10px 5px;
	border-bottom: 1px solid #bab48d;
}

section.widget a{
	display:block;
	padding-left:15px;
	background:url(images/arrow.png) no-repeat 0 50%;
}

section.widget a:hover{background-position: 3px 50%;}

p.banner{padding-bottom:15px;}

#contactBanner{
	width:265px;
	height:140px;
	background:url(images/banners/banner_tel.jpg) no-repeat;
	background-size: 265px;
}

#contactBanner p.tel{
	display:inline;
	padding-left:80px;
	margin-left:30px;
	text-align:center;
	font-weight:bold;
	background:url(images/tel.png) no-repeat;
}

#contactBanner .bn_contact a{
	display: block;
	height: 92px;
	padding: 13px 0 5px 32px;
	color: #2a6224;
	font-weight: bold;
	line-height: 1.3;
}

#contactBanner p.tel a{
	text-shadow: 0px 0px 10px #fff,
	0px 0px 10px #fff,
	0px 0px 10px #fff,
	0px 0px 10px #fff
}

#reikiBanner{
	width:265px;
	height:140px;
	background:url(images/banners/banner_reiki.jpg) no-repeat;
	background-size: 265px;
	margin-top:20px;
	margin-bottom:20px;
}

#massageBanner{
	width:265px;
	height:140px;
	background:url(images/banners/banner_massage.jpg) no-repeat;
	background-size: 265px;
}

#searchform input[type="text"]{
	line-height:1.7;
	height:24px;
	vertical-align:bottom;
}


/* 更新情報
-------------*/
.newsTitle{
	clear:both;
	margin:30px 0 20px;
	padding:5px 0;
	/* font-size:100%; */
	font-size: 1.35rem;
	color: #252525;
	border-bottom:3px solid #3c2f13;
}

.newsTitle h3{
	float:left;
	font-weight:normal;
}

.newsTitle p{
	float:right;
	padding:0 0 0 10px;
	font-size:.8em;
	background:url(images/arrow.png) no-repeat 0 50%;
}

.news{padding-bottom:40px;}

.news p{
	clear:both;
	padding-bottom:2px;
	border-bottom: 1px solid #bab48d;
}

.news p a{
	display:block;
	padding:5px 0;
	color:#252525;
	font-style:italic;
	/* font:italic 110% "Palatino Linotype", "Book Antiqua", Palatino, serif; */
}

.news a span{
	color:#624e24;
	font:normal 90% Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
}

.news span{padding-left:10px;}

.news a:hover span{color:#927a49;}

/* ==========================================
   お客様の声 アコーディオン用スタイル（強固版）
========================================== */
.voice-section {
  margin: 30px 0 !important;
}

.voice-section .voice-item {
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  margin-bottom: 15px !important;
  overflow: hidden !important;
}

.voice-section .voice-item[open] {
  border-color: #79b04f !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* サマリー（見出し部分）の横並び強制 */
.voice-section .voice-summary {
  display: flex !important;
  align-items: center !important;
  padding: 15px !important;
  cursor: pointer !important;
  list-style: none !important;
}

.voice-section .voice-summary::-webkit-details-marker {
  display: none !important;
}

/* ★画像を90px枠の中に絶対に閉じ込める処理 */
.voice-section .voice-thumb {
  width: 90px !important;
  height: 90px !important;
  min-width: 90px !important;
  flex: 0 0 90px !important; /* 横伸縮を禁止 */
  margin-right: 15px !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}

.voice-section .voice-thumb img {
  width: 90px !important;
  height: 90px !important;
  max-width: 90px !important;
  object-fit: cover !important; /* 比率を保って綺麗に正方形カット */
  border-radius: 6px !important;
  border: 1px solid #eee !important;
  margin: 0 !important;
}

/* 右側のテキストエリア */
.voice-section .voice-header {
  flex: 1 1 auto !important;
}

.voice-section .voice-header h3 {
  font-size: 1.05rem !important;
  font-weight: bold !important;
  margin: 0 0 6px 0 !important;
  color: #333 !important;
  line-height: 1.4 !important;
}

/* 日付の控えめなスタイル */
.voice-section .voice-date {
  font-size: 0.78rem !important; /* 少し小さめの文字 */
  color: #888 !important;         /* 主張しすぎないマイルドなグレー */
  margin-bottom: 4px !important;  /* 抜粋文との間にほんのり余白 */
}

.voice-section .voice-header .voice-excerpt {
  font-size: 0.88rem !important;
  color: #666 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.4 !important;
}

.voice-section .btn-more {
  display: inline-block !important;
  font-size: 0.8rem !important;
  color: #79b04f !important;
  font-weight: bold !important;
}

.voice-section .voice-item[open] .btn-more::after {
  content: " ▲ 閉じる" !important;
}

.voice-section .voice-item:not([open]) .btn-more::after {
  content: " ▼ 続きを読む" !important;
}

/* アコーディオンが開いた状態の本文エリア */
.voice-section .voice-body {
  padding: 20px !important;
  border-top: 1px dashed #e0e0e0 !important;
  background-color: #fafafa !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
}

/* 本文内の2枚目以降の画像の最適化 */
.voice-section .voice-body img {
  max-width: 100% !important;
  height: auto !important;
  margin: 15px 0 !important;
  border-radius: 6px !important;
}

/* アコーディオン内のプロフィール・店舗情報枠 */
.voice-section .voice-profile-box {
  margin-top: 25px !important;
  padding: 15px !important;
  background-color: #f5f8f3 !important; /* サロンカラーに合わせた極薄いグリーン背景 */
  border-left: 4px solid #79b04f !important; /* 左側に緑のアクセントライン */
  border-radius: 4px !important;
  font-size: 0.9rem !important;
}

.voice-section .profile-title {
  font-weight: bold !important;
  color: #333 !important;
  font-size: 0.95rem !important;
}



/* フッター
*****************************************************/
#footerLogo{
	float:left;
	width:265px;
}

#footerLogo img{
	max-width:265px;
	height:auto;
}

#footer ul{
	float:right;
	width:625px;
	font-size:95%;
	padding-bottom:20px;
}

#footer ul ul{padding-bottom:0;width:auto;}

#footer ul li{
	display:inline-block;
	vertical-align:text-top;
	text-align:left;
	padding:5px 0;
	margin-left:15px;
	background:url(images/arrow.png) no-repeat 0 9px;
}

#footer ul li	a{
	display:block;
	padding:0 0 0 12px;
	overflow:hidden;
}

#footer ul li	a:hover{text-decoration:underline;}

#footer ul li li{
	display:block;
	padding:0;
	margin-left:5px;
	background:url(images/arrow2.png) no-repeat 0 6px;
}

#footer ul li	li a{padding:0 0 0 8px;}

*:first-child+html #footer ul li{display:inline;}
*:first-child+html #footer ul ul,*:first-child+html #footer ul li li a,*:first-child+html #footer ul li li{display:none;}

#copyright{
	clear:both;
	padding:5px;
	text-align:center;
	font-style:normal;
	font-size:85%;
	zoom:1;
}

/* experiences
*****************************************************/
.ex_flow p{
	clear:both;
}

.exp {
	margin-bottom: 40px;
}

.cmpf {
	clear: both;
	font-size: 0.8em;
	color: #696969;
}
.cmpf ul li {
	margin-bottom: 1px;
	background: url(images/arrow.png) no-repeat 1px 5px;
}

.cmpf p {
	margin-left: 10px;
}
.post h2 {
	margin: 40px 0 20px 0;
}
/* page navigation
------------------------------------------------------------*/
.pagenav{
	clear:both;
	width: 100%;
	height: 30px;
	margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
	clear:both;
	color:#4f4d4d;
	text-align:center;
}
/* page school
------------------------------------------------------------*/
a.btn_contact {
	background-color: #e6a424;
	width: 100%;
	display: block;
	text-align: center;
	color: #fff;
	padding: 30px 0;
	font-weight: 700;
	font-size: 15px;
}
a.btn_contact:hover {
	color: #fff;
	background-color: #fdc965;
}


/* トップページ 最新記事3件 + お勧め商品
------------------------------------------------------------*/
.thumbWrap{
	width:645px;
	margin-right:-20px;
}

.thumbWrap li{
	float:left;
	width: 195px;
	margin:0 20px 0 0;
	padding:2px 0 40px;
	background:none;
}


/* 最新記事リンク */
ul.thumb h3{
	margin-top:10px;
	margin-bottom: 20px;
	padding:1px;
	font-weight:normal;
	font-size:100%;
	text-align:center;
	background:#fff;
	border:1px solid #bcbcbc;
}

ul.thumb h3 span{
	display:block;
	padding:2px 3px;
	background:#dedabc;
}

ul.thumb h3:hover{background:#f1efe4;}

ul.thumb h3:hover span{background:#e3dfc4;}

ul.thumb img{
	float: left;
	padding: 0 10px 0 0;
}



/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px){
	nav#mainNav{
		clear:both;
		padding:20px 0 10px;
		position:relative;
		z-index:200;
	}

	.panel ul{
		background:url(images/sep.png) no-repeat 50% 50%;
	}

	.panel ul li{
		float: left;
		position: relative;
		padding:0 8px 0 8px;
		height:40px;
		line-height:40px;
		background:url(images/sep.png) no-repeat 100% 50%;
	}

	.panel ul li a{
		display: block;
		text-align: center;
		_float:left;
		color:#3c2f13;
		padding:0 14px;
	}

	nav div.panel{
		display:block !important;
		float:left;
	}

	a#menu{display:none;}

	/* 親メニュー */
	.panel ul li.current-menu-item a, .panel ul li a:hover, .panel ul li a:active, .panel ul li.current-menu-parent a{
		background:#e1e5e5;
		background: #ba995a;
		border-radius:4px;
		-webkit-border-radius:4px;
		-moz-border-radius:4px;
	}

	.panel ul ul{width:160px;}

	.panel ul li ul{display: none;}

	.panel ul li li{
		float: none;
		height:40px;
		line-height:40px;
		width:160px;
		padding:0;
	}

	.panel ul li:hover ul{
		display: block;
		position: absolute;
		top:40px;
		left:-7px;
		z-index:500;
	}

	.panel ul li li a{
		width:100%;
		height:40px;
		padding:0;
		line-height:40px;
		font-size:95%;
		text-align:left;
	}

	.panel ul li li a span{padding:0 10px;}

	.panel ul li li a:hover,.panel ul li li.current-menu-item a{color:#888;}

	.panel ul li:hover ul li{
		margin:0;
		background: #ba995a;
		border-bottom:1px solid #dadcdc;
	}

	.panel ul li:hover ul li:last-child{
		border:0;
		border-radius:0 0 6px 6px;
	}
}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
	#mainImg {
		width: 99%;
		height: 100%;
		/*	background-size: contain; */
	}

	nav#mainNav{
		clear:both;
		width:100%;
		margin:0 auto;
		padding:20px 0;
	}

	nav#mainNav .inner{width:95%;}

	nav#mainNav a.menu{
		width:100%;
		display:block;
		height:40px;
		line-height:40px;
		font-weight: bold;
		text-align:left;
		color:#888;
		background: #c8c9c9 url(images/menuOpen.png) no-repeat 1em 10px;
		background: url(images/menuOpen.png) no-repeat 1em 10px, -moz-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
		background: url(images/menuOpen.png) no-repeat 1em 10px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#edefef), color-stop(100%,#c8c9c9));
		background: url(images/menuOpen.png) no-repeat 1em 10px, -webkit-linear-gradient(top, #edefef 0%,#c8c9c9 100%);
		background: url(images/menuOpen.png) no-repeat 1em 10px, -o-linear-gradient(top, #edefef 0%,#c8c9c9 100%);
		background: url(images/menuOpen.png) no-repeat 1em 10px, -ms-linear-gradient(top, #edefef 0%,#c8c9c9 100%);
		background: url(images/menuOpen.png) no-repeat 1em 10px, linear-gradient(to bottom, #edefef 0%,#c8c9c9 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#edefef', endColorstr='#c8c9c9',GradientType=0 );
		border:1px solid #c7c9c9;
	}

	nav#mainNav a#menu span{padding-left:2.5em;}

	nav#mainNav a.menuOpen{
		border-bottom:0;
		color:#888;
		background: #c8c9c9 url(images/menuClose.png) no-repeat 1em 10px;
		background: url(images/menuClose.png) no-repeat 1em 10px, -moz-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
		background: url(images/menuClose.png) no-repeat 1em 10px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#edefef), color-stop(100%,#c8c9c9));
		background: url(images/menuClose.png) no-repeat 1em 10px, -webkit-linear-gradient(top, #edefef 0%,#c8c9c9 100%);
		background: url(images/menuClose.png) no-repeat 1em 10px, -o-linear-gradient(top, #edefef 0%,#c8c9c9 100%);
		background: url(images/menuClose.png) no-repeat 1em 10px, -ms-linear-gradient(top, #edefef 0%,#c8c9c9 100%);
		background: url(images/menuClose.png) no-repeat 1em 10px, linear-gradient(to bottom, #edefef 0%,#c8c9c9 100%);
	}

	nav#mainNav a#menu:hover{cursor:pointer;}

	nav .panel{
		display: none;
		width:100%;
		position: relative;
		right: 0;
		top:0;
		z-index: 1;
		border:1px solid #c7c9c9;
	}

	.panel ul{margin:0;padding:0;}

	.panel ul li{
		float: none;
		clear:both;
		width:100%;
		height:auto;
		line-height:1.2;
	}

	.panel ul li a,.panel ul li.current-menu-item li a{
		display: block;
		width:100%;
		padding:1em 0;
		text-align:left;
		color:#3c2f13;
		background:#e1e5e5;
	}

	.panel ul li a span{padding-left:1em;}

	.panel ul li.current-menu-item a,.panel ul li a:hover,.panel ul li.current-menu-item a,.panel ul li a:active, .panel ul li li.current-menu-item a, .panel ul li.current-menu-item li a:hover, .panel ul li.current-menu-item li a:active{
		color:#fff;
		background:#a4a6a6;
	}

	.panel ul li li{
		float:left;
		border:0;
	}

	.panel ul li li a, .panel ul li.current-menu-item li a, .panel ul li li.current-menu-item a{background:#e1e5e5 url(images/sub1.png) no-repeat 20px 50%;}

	.panel ul li li a:hover, .panel ul li.current-menu-item li a:hover{background:#a4a6a6 url(images/sub1.png) no-repeat 20px 50%;}

	.panel ul li li:last-child a{background:#e1e5e5 url(images/subLast.png) no-repeat 20px 50%;}
	.panel ul li li:last-child a:hover,.panel ul li.current-menu-item li:last-child a:hover{background:#a4a6a6 url(images/subLast.png) no-repeat 20px 50%;}

	.panel ul li li a span{padding-left:35px;}

	nav div.panel{float:none;}

	#mainImg{margin-bottom:20px;}
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px){
	#wrapper, .inner{width:100%;}
	#header{width:100%;}

	#header h1, #header p.logo, #header p.desc{padding:10px;}
	#Info_wrap{padding-right:10px;}
	.hgroup{width:65%;}
	.panel ul, .thumbWrap{margin:0 auto;}
	.panel ul ul{padding:0;}

	nav div.panel{float:none;}

	#mainImg img{width:98%;height:auto;}
	.bn img{margin:0 auto; height:auto;}

	#catch {
		padding: 12% 0% 9% 7%;
	}

	#content, #sidebar{
		clear:both;
		width:95%;
		float:none;
		margin:0 auto;
		padding:10px 0;
	}

	#banners{width:100%;margin:0 auto;text-align:center;}
	#banners p{width:30%; float:left;margin:0 1% 0 2%;}
	#banners p img{width:100%;height:auto;}

	section.widget_search{text-align:center;}
	#contactBanner{margin:0 auto;}
	#reikiBanner{margin:20px auto;}
	#massageBanner{margin:0 auto;}

	#footer{margin:0;border:0;text-align:center;}

	#footerLogo, #footer ul{
		float:none;
		width:auto;
		padding-bottom:20px;
		text-align:center;
	}

	#footer ul{
		padding-top:20px;
		border-top:1px solid #ccc;
	}

	#footer ul ul{padding-top:0;border:0;}
}

/* 幅760px以下から  ヘッダー調整
------------------------------------------------------------*/
@media only screen and (max-width: 760px){
	.hgroup{width:55%;}
}

/* 幅648px以下から  トップページの３画像調節
------------------------------------------------------------*/
@media only screen and (max-width: 648px){
	.thumbWrap{width:100%;margin:0 auto;text-align:center;}
	.thumbWrap ul.thumb li{width:30%; float:left;margin:0 1% 0 2%;}
	.thumbWrap img{width:100%;height:auto;}
	.bn img{width:98%;height:auto;}
	.review img{
		width: 75px;
	}
	#catch {
		padding: 9% 0% 9% 7%;
	}
}


/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
	body{width:100%;}
	#header{padding:0; text-align:center;}
	p.desc{text-align:left;}
	#header h2,#footerLogo,#Info_wrap{float:none;padding:0;}
	.hgroup{float:none;padding:0;width:90%;margin: 0 auto;}
	#Info_wrap{width:250px;margin:0 auto;}
	img.alignright, img.alignleft{display: block;	margin:5px auto;}
	.alignright,.alignleft{float:none;}
	#footer ul{text-align:left;padding:15px;}
	#footer ul ul{padding:0;}
	#movie{width:90%;}
	#catch {
		padding: 9% 0% 8% 7%;
	}
}

/* 幅480px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 480px){
	.review ul.thumb li {
		width: 90%;
		float: none;
	}
	.review img{
		float: left;
		width: 75px;
	}
	.review p{
		text-align: left;
	}
	.continue{
		clear: both;
		display: block;
	}
	#wpcf7-f83-p151-o1 {
		width: 80%;
	}
	#header h1 {
		font-weight: bold;
		font-size: 100%;
	}
	.desc {
		font-size: 100%;
	}
	.tel a{
		font-size: 150%;
	}
	#headerInfo p.tel {
		background: url("images/tel.png") no-repeat scroll 0px 11px transparent;
	}
	ul.cal {
		float: none;
	}
	#catch {
		/* width: 320px; */
    width: 90%;
		padding: 4% 0% 6% 4%;
	}
	#mainImg h2 {
    color: #2b210c;
		margin-bottom: 1.0em;
	}
	#mainImg p {
		/* color: #3c2f13; */
    color: #2b210c;
		font-weight: normal;
    font-size: 0.9em;
    line-height: 150%;
	}
	#contactBanner .bn_contact a {
		height: 87px;
	}
	#contactBanner p.tel {
		padding-left: 78px;
		margin-left: 11px;
	}
}

/* 幅320px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 320px){
	#catch {
		width: 306px;
		padding: 2% 2% 3% 2%;
	}
	#mainImg h2 {
		color: #3c2f13;
		font-size: 1.1em;
		margin-bottom: 0.1em;
	}
	#mainImg p {
		color: #3c2f13;
		font-weight: normal;
		font-size: 0.76em;
	}
	.bn_text {
		top: -26px;
	}
	.bn_title{
		display: none;
	}
	.main_bn {
		font-size: 0.76em;
		line-height: 1;
	}
}

/* 囲み
------------------------------------------------------------*/
div.kakomi {
	width: 90%;
	height: auto;
	border: 2px dotted #efd0ac;
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	padding: 15px 15px 15px 15px;
	background-color: #fbf7e8;
}
h5.tit_kakomi {
	margin:0 0 8px 0;
	font-size:110%;
	font-weight:bold;
	color: #c4873c;
}
div.kakomi p {
	color: #555555;
}
img.coffee {
	width: 80px;
	height: 90px;
	float: left;
	padding: 0 15px 0 0;
}

/* 囲み2
------------------------------------------------------------*/
div.kakomi2 {
	width: 90%;
	height: auto;
	border: 3px dotted #efd0ac;
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	padding: 15px 15px 0 15px;
	background-color: #ffffff;
}
h5.tit_kakomi2 {
	margin:0 0 8px 0;
	font-size:110%;
	font-weight:bold;
	color: #000000;
}
div.kakomi2 p {
	color: #555555;
}


/* margin共通
------------------------------------------------------------*/
/* top */
.maT2{ margin-top: 2px !important;}
.maT5{ margin-top: 5px !important;}
.maT10{ margin-top: 10px !important;}
.maT15{ margin-top: 15px !important;}
.maT20{ margin-top: 20px !important}
.maT30{ margin-top: 30px !important}
.maT40{ margin-top: 40px !important}
.maT42{ margin-top: 42px; !important}
.maT46{ margin-top: 46px; !important}
.maT100{ margin-top: 100px; !important}
.maT150{ margin-top: 150px; !important}
.maT160{ margin-top: 160px; !important}
.maT200{ margin-top: 200px; !important}
.maT220{ margin-top: 220px; !important}

/* right */
.maR0{ margin-right: 0px !important;}
.maR5{ margin-right: 5px !important;}
.maR8{ margin-right: 8px !important;}
.maR9{ margin-right: 9px !important;}
.maR10{ margin-right: 10px; !important}
.maR15{ margin-right: 15px; !important}
.maR20{ margin-right: 20px; !important}
.maR30{ margin-right: 30px; !important}

/* bottom */
.maB0{ margin-bottom: 0px !important;}
.maB2{ margin-bottom: 2px !important;}
.maB3{ margin-bottom: 3px !important;}
.maB5{ margin-bottom: 5px !important;}
.maB6 { margin-bottom: 6px!important;}
.maB8 { margin-bottom: 8px!important;}
.maB10{ margin-bottom: 10px !important;}
.maB15{ margin-bottom: 15px;}
.maB20{ margin-bottom: 20px !important;}
.maB25{ margin-bottom: 25px !important;}
.maB30{ margin-bottom: 30px !important;}
.maB35{ margin-bottom: 35px !important;}
.maB40{ margin-bottom: 40px !important;}
.maB45{ margin-bottom: 45px !important;}
.maB50{ margin-bottom: 50px !important;}
.maB60{ margin-bottom: 60px !important;}
.maB170{ margin-bottom: 170px !important;}

/* left */
.maL0{ margin-left: 0px !important;}
.maL5{ margin-left: 5px !important;}
.maL6{ margin-left: 6px !important;}
.maL10{ margin-left: 10px !important;}
.maL15{ margin-left: 15px !important;}
.maL20{ margin-left: 20px !important;}
.maL25{ margin-left: 25px !important;}
.maL30{ margin-left: 30px !important;}
.maL35{ margin-left: 35px !important;}
.maL40{ margin-left: 40px !important;}
.maL45{ margin-left: 45px !important;}
.maL55{ margin-left: 55px !important;}
.maL60{ margin-left: 60px !important;}
.maL18{ margin-left: 18px !important;}


/* ==========================================
   1. 本文エリア（#content）テキストリンク設定【緑色】
========================================== */
/* 通常の本文テキストリンク */
#content a {
  color: #4e8b23 !important;
  text-decoration: underline !important;
}

#content a:hover,
#content a:active {
  color: #2a6224 !important;
  text-decoration: none !important;
}

/* ボタン・バナー・タイトル等の例外保護（下線＆緑色を無効化） */
#content a img,
#content .thumbWrap a,
#content .voice-archive-link a,
#content .newsTitle a,
#content .voice-summary,
#content .voice-summary a,
#content .btn_contact,
#content input[type="submit"] {
  text-decoration: none !important;
}

/* ボタン・バナー等の文字色保護 */
#content .thumbWrap a .main_bn { color: #3c2f13 !important; }
#content .thumbWrap a:hover .main_bn { color: #bfa775 !important; }
#content .voice-archive-link a { color: #ffffff !important; }
#content .newsTitle a { color: #555555 !important; }
#content .newsTitle a:hover { color: #bfa775 !important; }

/* ==========================================
   2. ヘッダー・ナビゲーション表示最適化
========================================== */
#header, 
#mainNav, 
#mainImg_box, 
nav#mainNav {
  background-color: #9E8655 !important; 
}

#header h1 {
  font-size: 1rem !important;
  color: #2b1f07 !important;
  line-height: 1.5 !important;
}

#header p.desc {
  font-size: 0.9rem !important;
  color: #2b1f07 !important;
  margin-bottom: 20px !important;
  min-height: auto !important;
}

#header h2,
#header .logo {
  margin-top: 10px !important;
}

/* ==========================================
   3. トップページ 3連バナー（幅100%同期）
========================================== */
.thumbWrap {
  width: 100% !important;
  margin: 0 0 30px 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.thumbWrap ul.thumb {
  display: flex !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

.thumbWrap ul.thumb li {
  float: none !important;
  width: calc((100% - 30px) / 3) !important;
  margin: 0 !important;
  display: flex !important;
  box-sizing: border-box !important;
}

.thumbWrap ul.thumb li a {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  border: 1px solid #c0b298 !important;
  background-color: #fff !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

.thumbWrap ul.thumb li img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
}

ul.thumb p.bn_text,
.thumbWrap .bn_text {
  position: static !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  background-color: #e8e8e1 !important;
  padding: 12px 8px !important;
  margin: 0 !important;
  min-height: 65px !important;
  height: auto !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.thumbWrap .bn_title {
  display: block !important;
  font-family: serif !important;
  font-size: 1.05rem !important;
  margin-bottom: 4px !important;
  line-height: 1.2 !important;
}

.thumbWrap .main_bn,
ul.thumb p.bn_text span.main_bn {
  display: inline-block !important;
  font-size: 0.98rem !important;
  font-weight: normal !important; /* ※スペルミス(nomal)修正済 */
  color: #624e24 !important;
  line-height: 1.4 !important;
}

ul.thumb li a:hover p.bn_text span.main_bn {
  color: #bfa775 !important;
}

/* ==========================================
   4. お知らせエリア調整
========================================== */
.newsTitle {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  border-bottom: 2px solid #3c2f13 !important;
  padding-bottom: 6px !important;
  margin-top: 30px !important;
  margin-bottom: 15px !important;
  text-align: left !important;
  background: none !important;
}

.newsTitle::before,
.newsTitle::after,
.newsTitle h3::before,
.newsTitle h3::after {
  content: none !important;
  display: none !important;
}

.newsTitle h3.title,
.newsTitle h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.3rem !important;
  color: #333333 !important;
  text-align: left !important;
  float: none !important;
  background: none !important;
}

.newsTitle h3 span {
  background: none !important;
  padding: 0 !important;
}

.newsTitle .news-more,
.newsTitle p {
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  background: none !important;
}

.newsTitle .news-more a,
.newsTitle p a {
  font-size: 0.85rem !important;
  color: #555555 !important;
  text-decoration: none !important;
  font-weight: normal !important;
}

.newsTitle .news-more a:hover,
.newsTitle p a:hover {
  color: #bfa775 !important;
  text-decoration: underline !important;
}

.news .news-item,
.news p.news-item,
.news article.news-item {
  display: flex !important;
  align-items: center !important;
  padding: 12px 4px !important;
  border-bottom: 1px solid #e0dcd3 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.news .news-date {
  display: inline-block !important;
  width: 100px !important;
  flex-shrink: 0 !important;
  color: #666666 !important;
  font-size: 0.88rem !important;
  font-family: Arial, sans-serif !important;
  font-style: normal !important;
  text-decoration: none !important;
}

.news .news-title {
  color: #333333 !important;
  font-size: 0.95rem !important;
  font-style: normal !important;
  text-decoration: none !important;
  flex: 1 !important;
}

.news .news-title:hover {
  color: #bfa775 !important;
  text-decoration: underline !important;
}

/* ==========================================
   5. お客様の声（アコーディオン・画像・ボタン）
========================================== */
.voice-main-image {
  margin-top: 5px;
  margin-bottom: 15px;
  text-align: center;
}

.voice-main-image img {
  width: 100% !important;
  max-width: 550px !important;
  height: auto !important;
  border-radius: 6px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.voice-archive-link {
  margin-top: 30px;
  margin-bottom: 10px;
  text-align: center;
}

.voice-archive-link a {
  display: inline-block;
  padding: 13px 36px;
  background-color: #9E8655;
  color: #ffffff !important;
  font-size: 0.92rem;
  font-weight: bold;
  text-decoration: none !important;
  border-radius: 4px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.voice-archive-link a:hover {
  background-color: #bfa775;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

/* ==========================================
   6. プロフィール画像（拡大＆回り込み解除）
========================================== */
.post img.wp-image-90 {
  width: 260px !important;
  height: auto !important;
  float: none !important;
  display: block !important;
  margin-bottom: 25px !important;
  max-width: 100% !important;
}

/* ==========================================
   7. 汎用ユーティリティ
========================================== */
.sp-br {
  display: none !important;
}

/* ==========================================
   8. メディアクエリ（PC・タブレット表示最適化）
========================================== */
@media only screen and (min-width: 601px) {
  /* ナビゲーションメニュー中央揃え */
  #mainNav .inner,
  #mainNav .panel {
    width: 100% !important;
    max-width: 960px !important;
    margin: 0 auto !important;
    text-align: center !important;
    float: none !important;
  }

  #mainNav .panel ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
    background: none !important;
  }

  #mainNav .panel ul li {
    float: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 40px !important;
    line-height: 40px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    position: relative !important;
    background: url(images/sep.png) no-repeat 100% 50% !important;
  }

  #mainNav .panel ul li:last-child {
    background: none !important;
  }

  #mainNav .panel ul li a {
    display: block !important;
    width: auto !important;
    white-space: nowrap !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  /* ヘッダー情報 */
  .hgroup h1 {
    font-size: 1.02rem !important;
    font-weight: bold !important;
    margin-bottom: 10px !important;
    line-height: 1.4 !important;
  }

  .hgroup p.desc {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    margin-top: 0 !important;
    opacity: 0.92 !important;
  }
}

/* ==========================================
   9. メディアクエリ（スマホ表示最適化）
========================================== */
@media only screen and (max-width: 768px) {
  html {
    font-size: 17px !important;
  }

  #content {
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

  .voice-section .voice-summary {
    padding: 12px !important;
  }

  .voice-section .voice-thumb {
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
    flex: 0 0 70px !important;
    margin-right: 12px !important;
  }

  .voice-section .voice-thumb img {
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
  }

  .voice-section .voice-body {
    padding: 15px !important;
  }

  .voice-section .voice-profile-box {
    margin-top: 20px !important;
    padding: 12px !important;
  }
}

@media only screen and (max-width: 600px) {
  .thumbWrap ul.thumb {
    flex-direction: column !important;
  }
  
  .thumbWrap ul.thumb li {
    width: 100% !important;
    margin-bottom: 15px !important;
  }

  .sp-br {
    display: inline !important;
  }

  .voice-archive-link {
    margin-top: 25px;
  }
  
  .voice-archive-link a {
    display: block;
    width: 100%;
    padding: 14px 10px;
    box-sizing: border-box;
  }
}