@charset "utf-8";
/*
Theme Name: Smartpress
Theme URI: http://www.rmblog.jp/
Description: スマートフォンテーマ
Author: RMG
Version: ver2.14.13
Tags: none
*/

/* =Reset default browser CSS.
-------------------------------------------------------------- */
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,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}
body {
  width: 100%;
  font-size: var(--font_size_14);
  line-height: 1.2;

  -webkit-text-size-adjust: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-size: var(--font_size_14);
}
ol,
ul {
  list-style: none;
}
blockquote {
  quotes: none;
}
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}
del {
  text-decoration: line-through;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
a img {
  border: none;
}
a {
  color: #ff5555;
  text-decoration: none;
}
a:hover {
  color: #0000ff;
  text-decoration: underline;
}
p {
  margin: 0 0 10px;
  padding: 0;
  line-height: 2;
}
.clear_fix {
  clear: both;
}

/*	ヘッダーCSS
===============================================================*/
.tel_btn a {
  display: inline-block;
  width: 42px;
  height: auto;
  background: transparent url("../../../../files/btn_tellink.png") repeat scroll 0 0 / 100% auto;
}
.tel_btn a img {
  width: 100%;
}
.toplink_btn a {
  display: inline-block;
  height: 42px;
  background: transparent url("../../../../files/btn_toplink.png") repeat scroll 0 0 / 100% auto;
}
/*ヘッダー内左メニュー*/
.side_menu a {
  display: inline-block;
  width: 56px;
  height: 42px;
  background: transparent url("../../../../files/btn_menu.png") repeat scroll 0 0 / 100% auto;
}
/*ヘッダー内右メニュー*/
.Rside_menu a {
  display: inline-block;
  width: 56px;
  height: 42px;
  background: transparent url("../../../../files/btn_rmenu.png") repeat scroll 0 0 / 100% auto;
  text-indent: -9999px;
}
/*ヘッダーtableCSS*/
.header_line-block td.header_line_left {
  width: 56px;
  height: 40px;
  text-align: left;
}
.header_line-block td.header_line_right {
  width: 56px;
  height: 40px;
  text-align: right;
}
/*中ページタイトル表示*/
#naka_page_title h1 {
  font-weight: bold;
  font-size: var(--font_size_16);
}

/*	フッターCSS
===============================================================*/
#foot #copy {
  clear: both;
  height: 40px;
  text-align: center;
  letter-spacing: -0.001px;
  font-style: normal;
  font-size: var(--font_size_10);
  line-height: 40px;
}

/*	メイン画像CSS
===============================================================*/
#h1_teaser_image a {
  display: block;
}
.cFix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: ".";
  font-size: 0;
}
.cFix {
  min-height: 1px;
}

/*	共通タイトルCSS
===============================================================*/
.title {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #666666;
  background-position: left center;
  background-repeat: no-repeat;
  font-size: var(--font_size_14);
  line-height: 1.7;
}
.title span {
  font-size: var(--font_size_10);
}
.sub_title {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #666666;
  background-position: left center;
  background-repeat: no-repeat;
  font-size: var(--font_size_14);
  line-height: 1.7;
}
.inline_title .unity_title {
  display: block;
  margin: 10px;
  padding: 15px 20px;
  width: auto;
  border-radius: 5px 5px 5px 5px;
  background-color: #999999;
  line-height: 1.5;
}

/*	コンテンツCSS
===============================================================*/
#Wrap {
  position: relative;
  z-index: 1;
}
#main {
  position: relative;
  z-index: 1;
}

/*	ブログ呼び出しCSS
===============================================================*/
.blog_read_block {
  margin: 0 0 10px;
  padding: 8px 10px;
}
.blog_read_block .blog_post {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px dotted #666666;
}
.data_right .date {
  left: 5px;
  display: block;
  padding-left: 25px;
  background: url("../../../../files/list_indent_icon.png") no-repeat 5px center / 12px 12px;
  letter-spacing: -0.01px;
  font-size: var(--font_size_10);
  line-height: 20px;
}
.data_right .post-title {
  display: block;
  height: inherit;
  text-indent: inherit;
}
.data_right .post-title a {
  display: block;
  margin: 0 0 10px;
  padding: 0 0 0 25px;
  text-decoration: none;
  font-size: var(--font_size_12);
}
.data_right .post-title a:hover {
  text-decoration: underline;
}
.data_right .news_small_text {
  display: block;
  padding: 0 0 0 26px;
  height: inherit;
  text-indent: inherit;
  letter-spacing: -0.001px;
  font-size: var(--font_size_10);
}
/*ブログ、READ MORE*/
.blog_navigation {
  text-align: center;
}
.blog_navigation a {
  display: block;
  margin: 10px 0;
  padding: 15px;
  border: 1px solid #cccccc;
  border-radius: 5px 5px 5px 5px;
  font-size: var(--font_size_14);
}

/*	格納サイドバーCSS
===============================================================*/
/*左ナビ*/
#Side #SideNav li a {
  overflow: hidden;
  border-bottom: 1px solid #cccccc;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}
#Side #SideNav li a.touchstyle {
  position: relative;
  z-index: 100;
  box-shadow: 0 0 5px #000000 inset;
}
#Side li a {
  display: block;
  padding: 0 10px;
  text-decoration: none;
}
#Side li a span {
  display: block;
  padding-left: 35px;
  background: url("../../../../files/icon_home.png") no-repeat scroll 0 10px / 20px 37px;
  font-weight: bold;
  font-size: var(--font_size_14);
}
#Side li a:hover {
  text-decoration: underline;
}
.openSidemenu {
  position: relative;
  transition: 0.2s transform ease-in-out;
  transform: translate3d(0,0,0);
}
.closeSidemenu {
  position: relative;
  transition: 0.2s transform ease-in-out;
  transform: translate3d(-260px,0,0);
}
.hidebackbtn {
  position: fixed;
  top: 0;
  left: 260px;
  display: none;
  width: 100%;
  height: 100%;
}

/*	2014年10月3日追記
-------------------------------------------------------------- */
.closeWrap {
  position: relative;
  transition: 0.2s transform ease-in-out;
  transform: translate3d(0,0,0);
}
/* ----------------------------------------------------------- */
.openHead #logoarea {
  left: 260px !important;
}
.closeHead #logoarea {
  left: 0 !important;
}
/*メニューを閉じる画面ボタン*/
#secondary .hidebackbtn {
  position: static;
  display: table-cell;
  width: 260px;
  height: 55px;
  text-align: center;
  line-height: 55px;
  cursor: pointer;
}
#rSide_wrap {
  overflow: hidden;
}
.openWrap {
  position: relative;
  transition: 0.2s transform ease-in-out;
  transform: translate3d(260px,0,0);
}
.closeWrap {
  position: relative;
  transition: 0.2s transform ease-in-out;
  transform: translate3d(0,0,0);
}

/*	右サイド定型CSS
===============================================================*/
#rSide .btn {
  padding: 0 10px;
  height: 55px;
  line-height: 55px;
}
#rSide .btn a {
  display: block;
  height: 55px;
  line-height: 55px;
}
#rSide .btn a:hover {
  text-decoration: underline;
}
.widget-title2 a {
  display: block;
  margin: 0;
  padding: 15px 10px;
}
.top-back {
  border-top: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
}

/*	左サイド定型CSS
===============================================================*/
#secondary .btn {
  margin-bottom: 0;
  padding: 0;
}
#secondary .btn a {
  display: block;
  height: 55px;
  line-height: 55px;
}
#Side div a span {
  display: block;
  padding-left: 35px;
  background: url("../../../../files/icon_home.png") no-repeat scroll 0 7px / 26px 39px;
  font-weight: bold;
  font-size: var(--font_size_14);
}

/*	検索フォームCSS
===============================================================*/
#searchform {
  height: 45px;
  line-height: 45px;
}
#searchform label {
  display: none;
}

/*	primaryタイトル定型CSS
===============================================================*/
#primary .widget-title {
  display: block;
  margin: 0;
  padding: 15px 10px;
}

/*	primaryリスト定型CSS
===============================================================*/
#primary ul.xoxo li ul li {
  display: block;
  margin: 0 0;
  padding: 0;
  border-bottom: 1px dotted #999999;
}
#primary ul.xoxo li ul li:first-child {
  margin: 5px 0 0;
}
#primary ul.xoxo li ul li:last-child {
  margin: 0 0 10px;
  border: none;
}

/*	primaryカレンダー定型CSS
===============================================================*/
#calendar_wrap {
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 0 5%;
}
#calendar_wrap table {
  width: 100%;
}
#calendar_wrap table caption {
  padding: 15px 0;
}
#calendar_wrap table tr th {
  padding: 0 0 5px;
  text-align: center;
}
#calendar_wrap table tr td {
  padding: 5px 0;
  text-align: center;
}
/*カレンダーリンクカラー*/
#calendar_wrap table tr td a {
  padding: 0;
  font-weight: bold;
}
#calendar_wrap table tr td a:hover {
  text-decoration: underline;
}
/*カレンダー当日カラー*/
#calendar_wrap table tr td#today {
  background: none repeat scroll 0 0 #333333;
}

/*	ブログレイアウトCSS
===============================================================*/
#container {
  overflow: hidden;
}
#container a {
  text-decoration: none;
}
#container a:hover {
  text-decoration: underline;
}
#content h1.page-title {
  display: inline-block;
  margin: 0 0 10px;
  padding: 5px 10px;
  border: 1px solid #cccccc;
  border-radius: 5px 5px 5px 5px;
}
.entry-meta {
  margin: 0;
  padding: 0 10px;
  height: 40px;
  line-height: 40px;
}
.entry-content {
  margin: 0 0 30px;
  padding: 10px 10px 0;
}
/*投稿記事内画像サイズ*/
.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignright,
.entry-content img.alignleft {
  display: block;
  clear: both;
  margin: 15px auto;
  padding: 0;
  min-width: 260px;
  width: 100%;
  height: auto;
}
/*ページ送りナビゲーションCSS*/
.navigation .nav-previous a {
  display: block;
  float: left;
  margin: 0 0 10px 10px;
  padding: 15px 20px;
  border: 1px solid #cccccc;
}
.navigation .nav-next a {
  display: block;
  float: right;
  margin: 0 10px 10px 0;
  padding: 15px 20px;
  border: 1px solid #cccccc;
}

/*	共通スタイルCSS
===============================================================*/
/*見出し*/
.entry-title {
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  margin: 0 10px 10px;
  padding: 10px;
  border: medium none;
  border-radius: 5px 5px 5px 5px;
  background: #999999;
  text-decoration: none;
  font-size: var(--font_size_14);
  line-height: 2;
}
.form_title {
  display: block;
  padding: 10px 20px;
  border: 1px solid #666666;
  text-align: left;
  line-height: 2;
}
/*テーブルカラー*/
/*項目側（左）*/
.contact_form .iqfm-table th {
  padding: 5px;
  width: 30%;
  text-align: left;
}
/*内容側（右）*/
.contact_form .iqfm-table td {
  padding: 5px;
  width: 70%;
  text-align: left;
}
/*グラデーション板*/
.gradation_plate {
  border: 1px solid #2a2a2a;
  background: #111111;
  background-image: linear-gradient(#999999, #111111);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
  font-weight: bold;
  font-size: var(--font_size_14);
}
/*お問い合わせフォーム、サンクス画面*/
.contact_form .contact_form_area p.thanks_text {
  padding: 10px 20px;
  border: 1px solid #cccccc;
  background: rgba(0, 0, 0, 0.5);
}
/*ページ送りデザインCSS*/
.tablenav {
  display: flex;
  clear: none !important;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}
.tablenav .page-numbers {
  display: block;
  margin: 0 2% 20px;
  padding: 10px 15px;
  border: 1px solid #cccccc;
}
/*左サイトメニュー、サブメニューCSS*/
#Side .xoxo li ul.sub-menu {
  position: relative;
  display: block;
  margin: 0 1em;
}
/*幅リセット*/
#Side .xoxo li .menu-item a {
  height: 3em;
  text-align: center;
  font-size: var(--font_size_16);
  line-height: 3em;
}
#Side .xoxo li ul.sub-menu .menu-item a {
  font-size: var(--font_size_13);
}
/*右サイド*/
#primary ul.xoxo li ul li a {
  display: inline-block;
  box-sizing: border-box;
  padding: 10px;
  width: 100%;
}
/*グローバルナビ*/
#access {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}
#access .menu-header ul.menu {
  background: none repeat scroll 0 0 #666666;
}
#access .menu-header ul.menu li a {
  display: block;
  padding: 0 20px;
  border-top: 2px solid #888888;
  border-bottom: 2px solid #444444;
  background: #666666 url("../../../../files/menu_icon.png") no-repeat scroll right center / 33px auto;
  text-decoration: none;
  font-size: var(--font_size_14);
  line-height: 3;
}
#access .menu-header ul.menu li a:hover {
  border-top: 2px solid #dddddd;
  border-bottom: 2px solid #999999;
  background: #bbbbbb url("../../../../files/menu_icon.png") no-repeat scroll right center / 33px auto;
  text-decoration: underline;
}
#access .menu-header ul.menu li ul.sub-menu li {
  background: #888888 url("../../../../files/list_menu_icon.png") no-repeat scroll 10px center / 33px auto;
}
#access .menu-header ul.menu li ul.sub-menu li a {
  display: block;
  padding: 0 40px;
  border-top: 2px solid #aaaaaa;
  border-bottom: 2px solid #666666;
  background: transparent url("../../../../files/menu_icon.png") no-repeat scroll right center / 33px auto;
  text-decoration: none;
  font-size: var(--font_size_14);
  line-height: 3;
}
#access .menu-header ul.menu li ul.sub-menu li a:hover {
  border-top: 2px solid #dddddd;
  border-bottom: 2px solid #999999;
  background: #bbbbbb url("../../../../files/menu_icon.png") no-repeat scroll right center /  33px auto;
  text-decoration: underline;
}
/*一覧に戻るリンク*/
.pageback a {
  display: block;
  margin: 0 10px 20px;
  padding: 5px 10px;
  border: 1px solid #cccccc;
  text-align: center;
  line-height: 40px;
}
/*共通2カラムテーブル*/
.custom_th_text {
  border-bottom: 1px dotted #cccccc;
  text-align: left;
}
.custom_th_text p {
  margin: 0;
}
.custom_td_text {
  border-bottom: 1px dotted #cccccc;
  text-align: right;
}
/*地図のリンク*/
.main_btn a,
small a {
  display: block;
  margin: 10px 0 0;
  margin-bottom: 20px;
  padding: 5px 20px;
  border-radius: 5px 5px 5px 5px;
  font-size: var(--font_size_13);
  line-height: 3;
}

/*	tel link modal css
===============================================================*/
/*telボタン*/
a.inline {
  cursor: pointer;
}
/*表示エリア*/
.ui-widget-content {
  background-color: #ffffff;
}
/*タイトルバー*/
.ui-widget-header {
  border: 1px solid #00a0de;
  background-color: #00a0de;
}
/*タイトルバー閉じるボタン*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  border: 1px solid #ffffff;
  background: url("../../../../files/icons-18-white.png") no-repeat scroll -72px 0 #999999;
}
/*店名、電話番号エリア*/
.ui-dialog .ui-dialog-content {
  padding: 10px 5px;
}
.shop_block {
  margin: 0 0 5px;
  padding: 0 0 5px;
  border-bottom: 1px dotted #cccccc;
}
/*店名*/
span.shop_name {
  display: block;
  margin: 0 0 5px;
  padding: 0 0 0 5px;
  border-left: 5px solid #00a0de;
  font-weight: bold;
  font-size: var(--font_size_13);
  line-height: 1.7;
}
/*telリンク*/
a.tel_links {
  display: block;
  margin: 0;
  padding: 0 10px 0 28px;
  background: url("img/call_icon.png") no-repeat scroll 0 7px / 20px 20px;
  font-weight: bold;
  font-size: var(--font_size_20);
  line-height: 1.7;
}
a.tel_links:hover {
  color: #00a0de;
}
/*閉じるボタン*/
.ui-dialog .ui-dialog-buttonpane button {
  margin: 0;
  border: 1px solid #00a0de;
  background: transparent;
  color: #00a0de;
}

/*	■iframe背景
===========================================================================================*/
.textwidget > iframe {
  background: #ffffff;
}

/*	■2014/04/02 追記CSS
===========================================================================================*/
#wp-calendar thead th {
  vertical-align: middle;
  text-align: center;
}

/*	■2014/08/01 追記CSS ブログ見出し
===========================================================================================*/
#content h1.entry-title,
#content h2.inlline_title {
  display: block;
  box-sizing: border-box;
  margin: 0;
  padding: 10px;
  width: 100%;
  border: solid 1px #cccccc;
  border-radius: 5px;
  background: transparent;
  background-color: #eeeeee;
  text-decoration: none;
  font-weight: bold;
  font-size: var(--font_size_12);
  line-height: 1.7;
}
#content div.entry-meta {
  margin: 0;
  padding: 0;
  height: 30px;
  line-height: 30px;
}
#content div.entry-content {
  margin: 0 0 30px;
  padding: 0 0 0;
  word-break: break-word;
  font-size: var(--font_size_12);
  line-height: 1.7;
}
#content div.entry-content p {
  margin: 0 0 10px;
}
.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignright,
.entry-content img.alignleft,
.entry-content .photo img {
  margin: 20px auto 0;
  max-width: 80%;
  width: auto;
  height: auto;
}
.entry-content img.aligncenter {
  text-align: center;
}
.entry-content img.alignright {
  text-align: right;
}
.entry-content img.alignleft {
  text-align: left;
}

/*  ■2018/12/11 fixed ハンバーガーメニュー
===========================================================================================*/
#float_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
  width: 100%;
}
#float_header #menu_access_btn {
  position: absolute;
  top: 65px;
  right: 65px;
  z-index: 10000;
  display: block;
  width: 45px;
  height: auto;
}
#float_header #menu_access_btn img {
  width: 100%;
}
#Side_wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}
#Side_wrap ul#menu-sp_side {
  box-sizing: border-box;
  padding: 28% 0 10px;
  width: 100%;
  background: url(../../../../files/sp_main_logo02.png) no-repeat center top / 100%;
}
/*メニューを開いているとき後ろのコンテンツの動き固定*/
.scroll-prevent {
  position: static;
  z-index: -1;/*奥行きを管理*/
  overflow: hidden;
  width: 100%;/*下2つで背景を元のサイズのまま表示することができる*/
  height: 100%;
}
/*スマホ用Gナビ*/
.menu-item-has-children {
  position: relative;
}
.menu-item-has-children span {
  position: absolute;
  top: 0;
  right: 3em;
  z-index: 100;
  display: inline-block !important;
  padding: 0 !important;
  width: 3em;
  height: 3em;
  height: 0;
  background: none;
  text-align: center;
  font-size: var(--font_size_16);
}
.menu-item-has-children span img {
  padding: 1em 0;
  width: 1em;
}
/*Gナビサブメニュー*/
.accordionBtn {
  width: 3em!important;
  height: 3em!important;
  background: url("../../../../files/sp_submenu_btn_off.png") no-repeat center / 25% !important;
}
.accordionBtn_active {
  background-image: url("../../../../files/sp_submenu_btn_on.png")!important;
}
/*左サイドメニュー内SNSリンク*/
#secondary .widget-container .textwidget {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  margin: 0 10%;
}

/*youtube
===========================================================================================*/
.youtube_wrap {
  position: relative;
  overflow: hidden;
  padding-top: 30px;
  padding-bottom: 56.25%;
  height: 0;
}
.youtube_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*電話・お問い合わせ
===========================================================================================*/
.scroll_footer {
  position: fixed;
  bottom: 0;
  z-index: 99;
  width: 100%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}
.scroll_footer ul li img {
  width: 100%;
}
.scroll_footer_origin {
  width: 100%;
}
.scroll_footer_origin ul {
  text-align: center;
}
.scroll_footer_origin ul li {
  display: inline-block;
  width: 45%;
  height: 100%;
}
.scroll_footer_origin ul li a {
  color: #000000;
}
.scroll_footer_origin ul li img {
  width: 100%;
}
/*190208 コーダー追加*/
.scroll_footer ul {
  position: relative;
  width: 100%;
  background: url(../../../../files/sp_footerfix_contact_bg.png) no-repeat center center / 100%;
}
.scroll_footer ul li {
  position: absolute;
  top: 0;
  display: block;
}


/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  \wp-content\themes\smartpress\theme.css
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*	Footer area
-------------------------------------------------*/
#thirdly {
  box-sizing: border-box;
  margin: 0 3% 10px;
  width: 94%;
}

/*=======================================================
		Block Design css
=======================================================*/
/*	A Block
-------------------------------------------------*/
/*	B Block
-------------------------------------------------*/
/*	B Block( アコーディオン )
-------------------------------------------------*/
.acc_easys_content {
  margin: 0 0 10px;
  padding: 0;
}
.acc_easys_content .post_data {
  margin: 0 10px 5px;
  padding: 0 0 5px;
  text-align: left;
}
dl.acPost {
  margin-bottom: 20px;
}
.acPost .sp_gallery {
  display: inline-block;
  box-sizing: border-box;
  margin: 0 0 10px 0;
  padding: 0;
  height: auto;
  text-align: center;
}
.acPost .sp_gallery img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
}
.acPost .post_data {
  margin: 0 10px 5px;
  padding: 0 0 5px;
  height: auto;
  text-align: left;
}
.acPost .post_data p {
  margin: 0 0 10px;
  padding: 0;
}
.acPost dt {
  display: block;
  margin: 0;
  padding: 10px;
  text-align: left;
  line-height: 2;
  cursor: pointer;
}
.acPost dt span.menu_title {
  margin: 0;
  padding: 0;
  height: 20px;
}
.acPost dt span.area_icon {
  display: block;
  float: left;
  margin: 3px 10px 0 0;
  padding: 0;
  width: 20px;
  height: 20px;
  border-radius: 100px 100px 100px 100px;
  background: url("../../../../files/icons-18-white.png") no-repeat scroll 1px 1px;
}
.acPost dt span.area_icon_open,
.acPost dt span.icon {
  box-shadow: 0 1px 0 rgba(255,255,255,0.4);
}
.acPost dt span.area_icon_open {
  display: block;
  float: left;
  margin: 3px 10px 0 0;
  padding: 0;
  width: 20px;
  height: 20px;
  border-radius: 100px 100px 100px 100px;
  background: url("../../../../files/icons-18-white.png") no-repeat scroll -35px 1px;
}
.acPost dd {
  display: none;
  margin: 0;
  padding: 10px;
  background-color: rgba(205,205,205,0.75);
  text-align: left;
}
.acPost dd .left_text {
  padding: 10px 10px;
  width: 70%;
  border-bottom: 1px dotted #666666;
  text-align: left;
}
.acPost dd .right_text {
  padding: 10px 10px;
  width: 30%;
  border-bottom: 1px dotted #666666;
  text-align: right;
}

/*	C block
-------------------------------------------------*/
.c_01.easys_content,
.c_02.easys_content,
.c_07.easys_content,
.c_08.easys_content,
.c_09.easys_content {
  box-sizing: border-box;
  width: 100%;
}
.c_07.easys_content .easys_content_inner .entry_post,
.c_08.easys_content .easys_content_inner .entry_post,
.c_09.easys_content .easys_content_inner .entry_post {
  display: block;
}

/*	D block
-------------------------------------------------*/
.menu_area {
  margin: 0 0 20px;
  width: 100%;
}
.menu_area td {
  padding-top: 10px;
  padding-bottom: 5px;
  border-bottom: dotted 1px #ccccbb;
}
.menu_area td.menu_th_text {
  text-align: left;
}
.menu_area td.menu_td_text {
  text-align: right;
  white-space: nowrap;
  word-wrap: normal;
  word-break: normal;
}

/*	D block( アコーディオン )
-------------------------------------------------*/
.acc_easys_content {
  margin: 0 0 10px;
  padding: 0;
}
.acc_easys_content .post_data {
  margin: 0 10px 5px;
  padding: 0 0 5px;
  text-align: left;
}
.acMenu {
  margin-bottom: 10px;
}
.acMenu dt {
  display: block;
  margin: 0;
  padding: 10px;
  text-align: left;
  line-height: 2;
  cursor: pointer;
}
.acMenu dt span.menu_title {
  margin: 0;
  padding: 0;
  height: 20px;
}
.acMenu dt span.icon {
  display: block;
  float: left;
  margin: 3px 10px 0 0;
  padding: 0;
  width: 20px;
  height: 20px;
  border-radius: 100px 100px 100px 100px;
  background: url("../../../../files/icons-18-white.png") no-repeat scroll 1px 1px;
}
.acMenu dt span.icon_open,
.acMenu dt span.icon {
  box-shadow: 0 1px 0 rgba(255,255,255,0.4);
}
.acMenu dt span.icon_open {
  display: block;
  float: left;
  margin: 3px 10px 0 0;
  padding: 0;
  width: 20px;
  height: 20px;
  border-radius: 100px 100px 100px 100px;
  background: url("../../../../files/icons-18-white.png") no-repeat scroll -35px 1px;
}
.acMenu dd {
  display: none;
  margin: 0;
  padding: 10px 0;
  background-color: rgba(205,205,205,0.75);
  text-align: left;
}
.acMenu dd .menu_th_text {
  border-bottom: 1px dotted #333333;
}
.acMenu dd .menu_td_text {
  border-bottom: 1px dotted #333333;
}

/*メニュー内画像とテキスト*/
.acc_menu_images {
  margin: 0 auto;
  padding: 0;
  max-width: 640px;
  width: 100%;
  text-align: center;
}
.acc_menu_images img {
  margin: 0;
  padding: 0 2%;
  max-width: 640px;
  width: 96%;
  height: auto;
}
.acc_menu_text {
  margin: 10px 15px 0;
  padding: 0;
  text-align: left;
}
.acc_menu_text p {
  margin: 0 0 10px 0;
}

/*	E block
-------------------------------------------------*/
td.td_name {
  padding: 5px;
  border: solid 1px #cccccc;
  background-color: #eeeeee;
  vertical-align: top;
  word-break: break-all;
}
td.td_value {
  word-break: break-all;
}

/*	F Block
-------------------------------------------------*/
.nf_01 .html_area iframe,
.nf_02 .html_area iframe,
.nf_03 .html_area iframe,
.nf_04 .html_area iframe {
  width: 100%;
  height: 350px;
}

/*	G Block
-------------------------------------------------*/
.gallery_box {
  display: inline-block;
}

/*	H Block
-------------------------------------------------*/
/* 詳細ページHTMLエディタ下余白 */
.nh_01 .content_area {
  margin: 0 0 10px;
}
/* テーブルタイトル太字 */
html:not(.shosai) .nh2_01 table tr:first-of-type,
html:not(.shosai) .nh3_01 table tr:first-of-type {
  font-weight: bold;
}
/* 詳細を見る */
.nh2_01 .table_area table tr td:last-of-type,
.nh3_01 .table_area table tr td:last-of-type {
  min-width: auto;
  width: 16vw;
  text-align: center;
}
html:not(.shosai) .nh2_01 .table_area,
html:not(.shosai) .nh3_01 .table_area {
  margin-bottom: 10px;
}

/*	I block
-------------------------------------------------*/
.before_after_block {
  display: inline-block;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  box-sizing: border-box;
  margin-bottom: 10px;
  width: 100%;
  background: url("../../../../files/sp_before_after_arr.png") no-repeat center center;
  background-size: 100% auto;
}
.before_after_block .index_before {
  overflow: hidden;
  width: 45%;
}
.before_after_block .index_after {
  overflow: hidden;
  width: 45%;
}
.before_after_block .index_before:not(:nth-of-type(1)),
.before_after_block .index_after:not(:nth-of-type(2)) {
  margin-top: 10px;
}
.before_after_block .index_before img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
}
.before_after_block .index_after img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
}

/*	J Block
-------------------------------------------------*/
/*	K block
-------------------------------------------------*/
.date_area {
  display: block;
  clear: both;
  font-size: var(--font_size_11);
  line-height: 1.7;
}
.post_title_list {
  display: block;
  clear: both;
  font-weight: bold;
  font-size: var(--font_size_12);
  line-height: 2;
}
.cu_mail_block {
  line-height: 1.7;
}

/*	Z-A1 Block
-------------------------------------------------*/
/*	Z-B1 Block
-------------------------------------------------*/
/*	Z-C1 Block
-------------------------------------------------*/
/*	Z-D1 block
-------------------------------------------------*/
.mail_content_area {
  line-height: 1.7;
}

/*	Z-E1 Block
-------------------------------------------------*/
/*	Z-F1 block
-------------------------------------------------*/
td.coupon_data,
td.coupon_meta_title,
td.coupon_meta {
  padding: 5px;
}

/*	Z-G1 block
-------------------------------------------------*/
.no_01 .content_area {
  max-width: 100%;
}
.no_01 .column1,
.no_01 .column2,
.no_01 .column3,
.no_01 .column4 {
  box-sizing: border-box;
  padding: 10px;
}

/*	Z-H1 Block
-------------------------------------------------*/
/*	Z-I1 Block
-------------------------------------------------*/
/*	Z-J1 Block
-------------------------------------------------*/
/*スライドエリアの範囲選択と位置調整*/
.z_j1 .slide_area {
  position: relative;
  overflow: hidden;
  width: 100%;
}
/*スライドエリアの画像調整*/
.z_j1 .slide_area .slide img {
  width: 100%;
}
.z_j1 .slider {
  position: relative;
  overflow: hidden;
  margin: 0 0 20px 0;
  width: 100%;
  height: auto;
}
.z_j1 .slides {
  overflow: hidden;
  height: 100%;
  transition: all 500ms cubic-bezier(0.165, 0.840, 0.440, 1.000);
}
.z_j1 .slide {
  float: left;
  clear: none;
  height: 100%;
}
.z_j1 .slider-arrow {
  position: absolute;
  display: block;
  margin-bottom: -20px;
  padding: 20px;
}
.z_j1 .slider-arrow--right {
  right: 30px;
  bottom: 50%;
  width: 27px;
  height: 27px;
  border: 1px solid #ffffff;
  border-radius: 5px 5px 5px 5px;
  background: url("../../../../files/icon/next.gif") no-repeat scroll 0 0 transparent;
  text-indent: -9999px;
  opacity: 0.5;
}
.slider-arrow--left {
  bottom: 50%;
  left: 30px;
  width: 27px;
  height: 27px;
  border: 1px solid #ffffff;
  border-radius: 5px 5px 5px 5px;
  background: url("../../../../files/icon/prev.gif") no-repeat scroll 0 0 transparent;
  text-indent: -9999px;
  opacity: 0.5;
}
.z_j1 .slider-nav {
  position: absolute;
  bottom: 30px;
}
.z_j1 .slider-nav__item {
  display: block;
  float: left;
  clear: none;
  margin: 0 5px;
  width: 12px;
  height: 12px;
  background: #ffffff;
}
.z_j1 .slider-nav__item:hover {
  background: #cccccc;
}
.z_j1 .slider-nav__item--current {
  background: #cccccc;
}

/* 左右＋サムネイル */
.slide_area {
  position: relative;
  display: inline-block;
  overflow: hidden;
  margin-bottom: 30px;
  width: 100%;
}
.slide_area > div:first-child {
  position: relative;
  overflow: hidden;
  width: 100%;
  text-align: left;
}
.slide_area > div ul,
.slide_area > div ul li {
  display: inline;
  float: left;
  overflow: hidden;
}
.slide_area > div ul li img {
  display: none;
  width: 100%;
}
.slide_area .wideslider_base {
  position: absolute;
  top: 0;
}
.slide_area .wideslider_wrap {
  position: absolute;
  top: 0;
  overflow: hidden;
}
.slide_area .slider_prev,
.slide_area .slider_next {
  position: absolute;
  top: 0;
  z-index: 100;
  overflow: hidden;
  cursor: pointer;
}
.slide_area .slider_prev {
  background: #ffffff url(../../../../files/prev.png) no-repeat center center;
}
.slide_area .slider_next {
  background: #ffffff url(../../../../files/next.png) no-repeat center center;
}
.slide_area > div.pagination {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  text-align: center;
}
.slide_area > div.pagination a {
  display: inline-block;
  overflow: hidden;
  margin: 0 5px;
  width: 25px;
  height: 25px;
  background-size: cover !important;
}
.slide_area > div.pagination a.active {
  opacity: 1 !important;
}
.slide_area > div ul:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: ".";
}
.slide_area > div ul {
  display: inline-block;
  overflow: hidden;
}
.thumbslider .wideslider_base,
.simpleslider .wideslider_base {
  overflow: hidden;
}
/*流れるスライド*/
.np_04 {
  margin-bottom: 1em;
}

/*		Z-L1 Block
-------------------------------------------------------*/
.list_block .list_box {
  display: inline-block;
  box-sizing: border-box;
  margin: 0 1% 10px;
  padding: 5px 10px;
  width: 98%;
  border-bottom: 1px dotted #cccccc;
  font-size: var(--font_size_13);
  line-height: 1.7;
}
.list_block {
  display: inline-block;
  box-sizing: border-box;
  margin: 0 0 30px;
  padding: 0 0 10px;
  width: 100%;
  border-bottom: medium none;
}

/*	Z-M1 (コンテンツナビゲーション)
-------------------------------------------------------*/
/*========■■■ ul list ■■■========*/
ul.btn_list {
  display: inline-block;
  clear: both;
  margin: 0 0 10px;
  padding: 0;
  border-bottom: 1px solid #cccccc;
}
li.link_list {
  display: block;
  float: left;
  margin: 0 5px 5px;
  padding: 0;
}
li.link_list a {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 10px 15px;
  border-top: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  border-radius: 5px 5px 0 0;
  background-color: #eeeeee;
}
li.link_list a:hover {
  background-color: #ffffff;
}

/*========■■■ div list ■■■========*/
div.btn_list {
  display: block;
  clear: both;
  margin: 0 0 10px;
  padding: 0;
}
div.link_list {
  display: block;
  margin: 0 0 5px;
  padding: 0;
}
div.link_list a {
  display: block;
  margin: 0 0 -1px;
  padding: 7px 15px;
  border-radius: 5px 5px 5px 5px;
}

/*  新Lightbox
---------------------------------------------------------------------------------------------------- */
.blueimp-gallery > .description {
  position: absolute;
  top: 50px;
  left: 40px;
  display: none;
  padding: 20px;
  max-width: 30vw;
  background: none rgba(0,0,0,0.5);
  color: #ffffff;
  font-size: var(--font_size_13);
  line-height: 1.7;
}
.blueimp-gallery-controls > .description {
  display: block;
}

/*	Z-K1 block
-------------------------------------------------*/
.post_content_area {
  line-height: 1.7;
}

/*	Z-L1 Block
-------------------------------------------------*/
.list_block {
  margin-bottom: 10px;
  padding: 0;
  border-radius: 5px 5px 5px 5px;
}
.border_line {
  padding-left: 10px;
  font-weight: bold;
}
.list_box,
.list_box_last {
  padding: 5px 10px;
  line-height: 1.5;
}
.list_box .date,
.list_box_last .date {
  margin-bottom: 5px;
  border-bottom: 1px dashed #cccccc;
}

/*	Z-M1 Block
-------------------------------------------------*/
/*	Mobi-E1 Block
-------------------------------------------------*/
.icon_list_block {
  padding: 0 10px 10px;
}
/* Z-J スライドショー */
.np_01 {
  margin: 0 0 20px;
}
table.iqfm-req_color {
  color: #ff0000;
}
table.iqfm-table {
  margin: 0 0 1em;
}
table.iqfm-table th,
table.iqfm-table td {
  padding: 10px;
  vertical-align: middle !important;
  text-align: left;
  white-space: normal !important;
  line-height: 1.7;
}
table.iqfm-table td {
  min-width: 18em;
}
table.iqfm-table td textarea {
  width: 96%;
  height: 10em;
}
table.iqfm-table td input[type="text"]:not([size]) {
  width: 96%;
}
/*電話番号エリアをレスポ*/
table.iqfm-table input.wpcf7-tel {
  width: calc((70vw/640)*100);
}
/*送信後メッセージ*/
form.wpcf7-form.sent table.iqfm-table {
  display: none;
}
div.wpcf7-response-output {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.privacy_block ul li {
  margin: 0 0 0 20px;
  padding: 0;
  list-style: square outside none;
  line-height: 1.7;
}
.no_01 .column1,
.no_01 .column2,
.no_01 .column3,
.no_01 .column4 {
  vertical-align: top;
  text-align: left;
  white-space: normal !important;
}

/* ===========================================================================
   2017.11 レイアウト変更後
=========================================================================== */
td.td_name {
  width: 25%;
}
.no_01 td,
.z_g1 td,
.iqfm-table tr th,
td.td_name,
td.td_value,
.iqfm-table tr td.iqfm-input,
td.coupon_meta_title,
td.coupon_meta,
td.coupon_data {
  padding: 10px;
  min-width: 5em;
  font-size: var(--font_size_12);
}
.menu_area td {
  padding-top: 30px;
  padding-bottom: 10px;
}

/*	C block
-------------------------------------------------*/
/*	H Block
-------------------------------------------------*/
/* 横並び */
.nc_01.sp_row > .easys_content_inner,
.nc_02.sp_row > .easys_content_inner,
.nh_02.sp_row > .easys_content_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
/* 2列 */
.nc_01.sp_row > .easys_content_inner .entry_post,
.nh_02.sp_row > .easys_content_inner .entry_post {
  width: calc(100%/2 - 5px);
}
/* 3列 */
.nc_02.sp_row > .easys_content_inner::after {
  display: block;
  width: calc(100%/3 - 5px);
  content: "";
}
.nc_02.sp_row > .easys_content_inner .entry_post {
  width: calc(100%/3 - 5px);
}


/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  \wp-content\themes\smartpress\common.css
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/*	content area
-------------------------------------------------*/
.content_area,
.easys_content_inner {
  overflow: hidden;
  box-sizing: border-box;
}
.entry_post {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
}
.post_margin {
  margin-bottom: 10px;
}
.sub_post_margin {
  padding-top: 10px;
}

/*
	回り込み解除
-------------------------------------------------*/
.clear_float {
  clear: both;
}

/*=======================================================
		タイトル見出し
=======================================================*/
/*	小タイトル
-------------------------------------------------*/
.inline_title {
  display: inline-block;
  overflow: hidden;
  box-sizing: border-box;
  margin: 0 0 10px 0;
  padding: 5px 10px;
  width: 100%;
  border: solid 1px #000000;
  border-radius: 5px 5px 5px 5px;
  background: none #f0f0f0;
  line-height: 1.7;
}

/*=======================================================
		画像
=======================================================*/
/*	見出し画像
-------------------------------------------------*/
.eyecatch {
  margin: 0;
  padding: 0;
}
.eyecatch.entry_image {
  margin-bottom: 10px;
}
.eyecatch.entry_image img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
}

/*	mobile用 汎用画像CSS
-------------------------------------------------*/
.sp_gallery {
  margin: 0 0 10px 0;
}
.sp_gallery img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
}

/*	本文表示
-------------------------------------------------*/
.post_data {
  width: 100%;
  line-height: 2;
}
.post_data p {
  margin: 0 0 10px 0;
}
.post_data table {
  width: 100% !important;
}
.post_data table th,
.post_data table td {
  min-width: 5em;
  width: auto !important;
}
/* コンタクトフォームは除外する */
.post_data .wpcf7 table th,
.post_data .wpcf7 table td {
  min-width: auto;
}

/*	コメント
-------------------------------------------------*/
.text_field {
  margin-top: 5px;
  text-align: center;
}
.comment_title {
  padding-left: 10px;
  border-left: solid 5px #eeeeee;
  font-weight: bold;
  line-height: 2;
}

/*	回り込み
-------------------------------------------------*/
.float_left {
  float: left;
}
.float_right {
  float: right;
}

/*	margin template css
-------------------------------------------------*/
.margin-bottom_10 {
  margin-bottom: 10px;
}
.margin-bottom_20 {
  margin-bottom: 20px;
}
.post_data_margin {
  margin: 5px 0 10px 0;
}
.margin-left_2pc {
  margin-left: 2%;
}
.margin-right_2pc {
  margin-right: 2%;
}
.margin-up-un_10 {
  margin-top: 10px;
  margin-bottom: 10px;
}

/*	border css
-------------------------------------------------*/
.bottom_border {
  padding-bottom: 10px;
  border-bottom: dotted 1px #cccccc;
}

/*	ページ戻り
-------------------------------------------------*/
.pageback a {
  display: block;
  box-sizing: border-box;
  margin: 0 0;
  padding: 0;
  width: 100%;
  height: 40px;
  border: solid 1px #cccccc;
  text-align: center;
  line-height: 40px;
}

/*	ページ送り
-------------------------------------------------*/
.permalink_in a {
  display: block;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 10px 6%;
  width: 100%;
  border: 1px solid #cccccc;
  border-radius: 5px 5px 5px 5px;
  text-align: center;
}

/*===========================================================
	■ 画像CSS
===========================================================*/
/*	ギャラリーエリア
-------------------------------------------------*/
.img_border {
  border: solid 1px #666666;
}

/*	カラム制御
-------------------------------------------------*/
.img_thumb,
.field_1col,
.field_2col,
.field_3col,
.field_4col,
.field_5col {
  box-sizing: border-box;
  text-align: center;
}
.img_thumb {
  display: inline-block;
  width: 20%;
  vertical-align: top;
}
.field_1col {
  display: inline-block;
  width: 100%;
  vertical-align: top;
}
.field_2col {
  display: inline-block;
  width: 49%;
  vertical-align: top;
}
.field_3col {
  display: inline-block;
  width: 32%;
  vertical-align: top;
}
.field_4col {
  display: inline-block;
  width: 23.5%;
  vertical-align: top;
}
.field_5col {
  display: inline-block;
  width: 18.4%;
  vertical-align: top;
}
.field_5col .float_left {
  margin-right: 1%;
}
.p_01 .field_2col {
  width: 49%;
}
.p_01 .field_2col .eyecatch {
  overflow: hidden;
  height: 49vw;
  text-align: center;
}
.p_01 .field_3col {
  width: 32%;
}
.p_01 .field_3col .eyecatch {
  overflow: hidden;
  margin: 0;
  height: 32vw;
  text-align: center;
}
.p_01 .field_3col:nth-of-type(4n-2) {
  margin-left: 2%;
}
.p_01 .field_4col {
  width: 24%;
}
.p_01 .field_4col .eyecatch {
  overflow: hidden;
  height: 24vw;
  text-align: center;
}
.p_01 .field_4col.float_left {
  margin-right: 1.3%;
}
.p_01 .field_5col {
  width: 19%;
}
.p_01 .field_5col .eyecatch {
  overflow: hidden;
  height: 19vw;
  text-align: center;
}
.p_01 .field_5col.float_left {
  margin-right: 1.2%;
}
.p_01 .eyecatch.set_height img {
  width: 100%;
  height: auto;
}
.p_01 .eyecatch.set_width img {
  width: auto;
}
.field_2col .set_width img {
  height: 49vw;
}
.field_3col .set_width img {
  height: 32vw;
}
.field_4col .set_width img {
  height: 24vw;
}
.field_5col .set_width img {
  height: 176px;
}

/*	カラム内画像
-------------------------------------------------*/
.img_thumb img,
.field_1col img,
.field_2col img,
.field_3col img,
.field_4col img,
.field_5col img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: top;
}

/* ===========================================================================
   2017.11 レイアウト変更後
=========================================================================== */
* .headline_title {
  display: block;
  margin: 0 0 10px 0;
  padding: 15px 2.5%;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: var(--font_size_20);
  line-height: 1.3;
}
* .entry_title {
  display: block;
  margin: 0 0 10px 0;
  padding: 15px 2.5%;
  width: 100%;
  text-align: center;
  font-size: var(--font_size_17);
  line-height: 1.5;
}
* .sub_entry_title {
  display: block;
  margin: 0 0 10px 0;
  padding: 10px 2.5%;
  width: 100%;
  text-align: center;
  font-size: var(--font_size_16);
  line-height: 1.5;
}
td.td_name {
  width: 25%;
}
.menu_area td {
  padding-top: 30px;
  padding-bottom: 10px;
}


/*
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  \files\files_mobile.css から抜粋
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
/* ===================================================================================================================
   ■ブロック
------------------------------------------------------------------------------------------------------------------- */
th,
td {
  vertical-align: top;
  white-space: initial !important;
}
.mobile_e1 .icon_list_block {
  box-sizing: border-box;
  width: 100%;
}
.mobile_e1 .entry_post:not(:last-of-type) .icon_list_block {
  padding-bottom: 0 !important;
}
/* Dブロック　メニュー部点線 */
.menu_area td,
.menu_td_text,
.bottom_border {
  border-color: var(--border_color) !important;
}
.menu_area td,
.menu_td_text {
  vertical-align: top !important;
}
.flow_arr {
  background-size: contain !important;
}
/* K-01、K-02 メール投稿ブロック */
.k_01 .content_area,
.k-02 .content_area {
  line-height: 2;
}
/* Z-J スライドショー */
.z_j1 {
  margin: 0 0 20px;
}
.gallery_box {
  display: inline-block;
  width: 100%;
  height: auto;
}
.j_01 .sub_post {
  margin: 0 10px 20px;
}
.j_01 .content_area .sub_post {
  margin: 0;
}
.z_d1 {
  overflow-x: hidden;
  overflow-y: scroll;
  margin-bottom: 20px;
  max-height: 75vh;
}
/* 必須項目 */
.iqfm-req_color {
  display: block;
  color: var(--required_color);
}
/* メール送信後メッセージボックスのボーダー（デフォルト：グリーン） */
div.wpcf7-mail-sent-ok {
  border-color: var(--border_color) !important;
}
/* お問合せフォーム整形 */
table.iqfm-table {
  margin: 0 auto 1em;
}
table.iqfm-table th,
table.iqfm-table td {
  vertical-align: middle !important;
  white-space: normal !important;
}
table.iqfm-table td {
  min-width: 16em;
}
table.iqfm-table td span.wpcf7-list-item {
  display: block;
  margin: 0;
}
input[type="text"],
input[type="email"],
textarea {
  width: 95%;
}
table.iqfm-table td input[type="text"]:not([size]) {
  width: 96%;
}
table.iqfm-table td input[type="text"][size="4"] {
  width: 4em;
}
/* プライバシーポリシー整形 */
.privacy_block strong {
  font-size: var(--font_size_18);
  line-height: 2;
}
.privacy_block ul li {
  margin: 0 0 0 20px;
  padding: 0;
  list-style: square outside none;
  line-height: 1.7;
}
.z_g1 .content_area {
  box-shadow: none;
}
/* テーブルブロックのはみ出し禁止 */
.z_g1 .column1,
.z_g1 .column2,
.z_g1 .column3,
.z_g1 .column4 {
  vertical-align: top;
  text-align: left;
  white-space: normal !important;
  word-break: break-all;
}
/* テーブルセルの最小幅設定 */
.menu_area td::before,
.menu_td_text::before,
td.td_name::before,
.z_g1 .column1::before,
.z_g1 .column2::before,
.z_g1 .column3::before,
.z_g1 .column4::before {
  display: block;
  min-width: 4em;
  content: "";
}
#nav-below div a {
  background-size: cover !important;
}
.category-blog .entry-content img:not([src*="wp-social-book"]) {
  max-width: 100%;
  width: auto !important;
  height: auto !important;
}
.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignright,
.entry-content img.alignleft,
.entry-content .photo img {
  min-width: 0;
  max-width: 80%;
  width: auto;
}
.entry-content .alignleft {
  text-align: left;
}
.entry-content .aligncenter {
  text-align: center;
}
.entry-content .alignright {
  text-align: right;
}
.z_m1 {
  margin: 0 10px 10px;
}

/*  地図
---------------------------------------------------------------------------------------------------- */
#map_canvas {
  width: 100%;
  height: 450px;
}

/*  googleカレンダー
---------------------------------------------------------------------------------------------------- */
.z_h1 iframe[src^="https://calendar.google.com"] {
  display: block !important;
  margin: 0 0 20px;
  max-width: 100%;
  width: 1000px !important;
  height: 500px;
  border: none !important;
}

/* Contact Form 7 　バグ対応
---------------------------------------------------------------------------------------------------- */
input[type="tel"].wpcf7c-conf {
  min-width: 4em;
}

/* M-02/M-03 Blog Block - 3列レイアウト（スマホ版：余白なし100%幅） */
.m_02_blog_container,
.m_03_blog_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto calc(100vw * (30 / var(--easys_base_width)));
  padding: 0;
  width: 100%;

  gap: calc(100vw * (20 / var(--easys_base_width)));
}
.m_02_blog_item,
.m_03_blog_item {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin-bottom: calc(100vw * (20 / var(--easys_base_width)));
  padding: calc(100vw * (17 / var(--easys_base_width)));
  width: 100%;
  height: auto;
  border: 1px solid rgba(128, 128, 128, 0.3); /* フォールバック */
  border: 1px solid color-mix(in srgb, var(--border_color) 30%, transparent);
  background: var(--basic_background_color);
}
.m_02_blog_item .blog_image,
.m_03_blog_item .blog_image {
  overflow: hidden;
  box-sizing: border-box;
  margin: calc(100vw * (-17 / var(--easys_base_width))) calc(100vw * (-17 / var(--easys_base_width))) calc(100vw * (20 / var(--easys_base_width)));
  width: calc(100% + calc(100vw * (34 / var(--easys_base_width))));
  height: calc(100vw * (240 / var(--easys_base_width)));
  background: var(--basic_background_color);
}
.m_02_blog_item .blog_image img,
.m_03_blog_item .blog_image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center center;
}
.m_02_blog_item .blog_content,
.m_03_blog_item .blog_content {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
  padding: 0;
}
.m_02_blog_item .blog_date {
  margin-bottom: calc(100vw * (8 / var(--easys_base_width)));
  color: var(--border_color);
  text-align: left;
  font-size: var(--font_size_12);
}
.m_03_blog_item .blog_date {
  margin-bottom: calc(100vw * (8 / var(--easys_base_width)));
  color: var(--border_color);
  text-align: right;
  font-size: var(--font_size_12);
}
.m_02_blog_item .blog_title,
.m_03_blog_item .blog_title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  margin: calc(100vw * (5 / var(--easys_base_width))) 0 calc(100vw * (15 / var(--easys_base_width)));
  margin-top: calc(100vw * (-7 / var(--easys_base_width)));
  text-align: left;
  text-overflow: ellipsis;
  font-weight: 500;
  font-size: var(--font_size_19);
  line-height: 1.4;

  -webkit-line-clamp: 2;
          line-clamp: 2;
}
.m_02_blog_item .blog_title a,
.m_03_blog_item .blog_title a {
  color: var(--link_color);
  text-decoration: none;
}
.m_02_blog_item .blog_title a:hover,
.m_03_blog_item .blog_title a:hover {
  text-decoration: underline;
}
.m_02_blog_item .blog_excerpt,
.m_03_blog_item .blog_excerpt {
  color: var(--body_text_color);
  font-size: var(--font_size_14);
  line-height: 1.5;
}
.m_02_blog_item .blog_excerpt a,
.m_03_blog_item .blog_excerpt a {
  color: var(--link_color);
  text-decoration: none;
}
.m_02_blog_item .blog_excerpt a:hover,
.m_03_blog_item .blog_excerpt a:hover {
  text-decoration: underline;
}
.m_03_blog_item .blog_category {
  display: inline-block;
  margin-right: 0;
  margin-bottom: calc(100vw * (6 / var(--easys_base_width)));
  padding: calc(100vw * (2 / var(--easys_base_width))) calc(100vw * (8 / var(--easys_base_width)));
  border-radius: calc(100vw * (11 / var(--easys_base_width)));
  background: var(--kdb_background_color);
  color: var(--body_text_color);
  font-weight: 500;
  font-size: var(--font_size_12);
}
.m_03_blog_item .blog_meta_row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: calc(100vw * (13 / var(--easys_base_width)));
  margin-left: calc(100vw * (-2 / var(--easys_base_width)));

  gap: calc(100vw * (4 / var(--easys_base_width)));
}
.m_03_blog_item .blog_meta_row .blog_date {
  margin-bottom: 0;
  margin-left: auto;
}
/* タグが1行で収まる場合の日付左寄せ対応 */
.m_03_blog_item .blog_meta_row.date_left .blog_date {
  margin-left: calc(100vw * (2 / var(--easys_base_width)));
  width: 100%;
  text-align: left;
}
.m_02_blog_item .blog_read_more,
.m_03_blog_item .blog_read_more {
  align-self: flex-end;
  margin-top: auto;
  width: 100%;
  text-align: right;
}
.m_02_blog_item .blog_read_more a,
.m_03_blog_item .blog_read_more a {
  color: var(--link_color);
  text-decoration: none;
  font-size: var(--font_size_12);
}
.m_02_blog_item .blog_read_more a:hover,
.m_03_blog_item .blog_read_more a:hover {
  text-decoration: underline;
}
