@charset "UTF-8";

:root {
	
	/* color */
	--main-color: #2E80C9;
	--main-bg-color: #F0F7FD;
	--sub-bg-color: #87BAEA;
	--main-flame-color: #CDE4FB;
	--emphasis-color: #174683; /* より濃いメインカラーを使用する場合 */
	--emphasis-txt-color: #27456b; /* 差別化したテキストカラーを使用する場合 */
	--title-color: #276EAE; /* h3 */
	--link-color: #0f6cc1;
	--header-category-color: #807448;
	--tab-flame-color: #C1B791;
	--tab-bg-color: #EBE7DB;
	--tab-box-bg-color: #F6F4EF;
	--tab-txt-color: #6D633D;
	
	/* margin */
	--mgn-large: min(10%, 4rem);
	--mgn-middle: min(8%, 3rem);
	--mgn-small: min(5%, 2rem);
	--mgn-xsmall: min(3%, 1rem);

	/* width */
	--contents-width: min(94%, 1200px);

}

@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


/* tinymce
===================================================== */
.txtsize_200 {
	font-size: 200%;
}

.txtsize_165 {
	font-size: 165%;
}

.txtsize_125 {
	font-size: 125%;
}

.txtsize_75 {
	font-size: 75%;
}

.col_red {
  color: #CC0000;
}

.img_large {
	width: 80% !important;
	height: auto;
}

.img_middle {
	width: 60% !important;
	height: auto;
}

.img_small {
	width: 40% !important;
	height: auto;
}


/* ACF hr
===================================================== */
.hr_line {
	outline: none;
	border: none;
	border-top: 1px solid #ccc;
	margin: var(--mgn-middle) auto;
}

.hr_bline {
	outline: none;
	border: none;
	border-top: 3px solid #eee;
	margin: var(--mgn-middle) auto;
}

.hr_dot {
	outline: none;
	border: none;
	height: 3px;
	border-top: 2px dotted #ccc;
	margin: var(--mgn-middle) auto;
}

.w100 {
	width: 100%;
}

.w75 {
	width: 75%;
}

.w50 {
	width: 50%;
}

.w25 {
	width: 25%;
}


/* =====================================================
   wordpress default tag
===================================================== */
.wp-block-image {
	margin-top: var(--mgn-middle);
}

.aligncenter {
	text-align: center;
}


/* =====================================================
   form reset
===================================================== */
label {
	position: relative;
}

input[type="checkbox"] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	padding-left: 0;
	vertical-align: middle;
	position: relative;
}

input[type="checkbox"]::before,
input[type="checkbox"]::after {
	content: "";
	display: block;
	position: absolute;
}

input[type="checkbox"]::before {
	background-color: #fff;
	border: 1px solid #999;
	border-radius: 0.3rem;
	box-sizing: border-box;
	width: 1.3rem;
	height: 1.3rem;
	transform: translateY(-50%);
	margin-top: -1px;
	position: absolute;
	top: 50%;
	left: 0;
}

input[type="checkbox"]::after {
	border-bottom: 0.2rem solid #fff;
	border-left: 0.2rem solid #fff;
	opacity: 0;
	height: 0.3rem;
	width: 0.6rem;
	transform: translate(0, -50%) rotate(-45deg);
	margin: 0;
	position: absolute;
	top: calc(50% - 0.15rem);
	left: calc(50% + 0.2rem);
}

input[type="checkbox"]:checked::before {
	border: 1px solid var(--main-color);
	background: var(--main-color);
}

input[type="checkbox"]:checked::after {
	opacity: 1;
}


/* =====================================================
   CONTENTS BASE
===================================================== */
.contents > p:first-child {
	margin-top: 0;
}

#entry a[target="_blank"] {
	color: var(--main-color);
	vertical-align: middle;
	line-height: 1;
	margin: 0 0.2rem;
}

#entry a[target="_blank"]::after {
	content: url(../images/ico_target.svg);
	width: 0.85rem;
	height: 0.85rem;
	display: inline-block;
	margin-left: 0.2rem;
	position: relative;
	vertical-align: baseline;
}

#entry a:hover {
	opacity: 0.6;
}


 /* .title
===================================================== */
.title_box {
	margin-bottom: var(--mgn-xsmall); /*1.5rem;*/
}

/*------------------ main title ------------------*/
.title {
	border-bottom: 4px solid var(--main-color);
	position: relative;
	color: var(--main-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 1rem;
	min-width: 100%;
}

.title strong {
	min-width: 100%;
	font-size: min(3.6vw, 1rem);
	line-height: 1.4;
	font-weight: 600;
	margin-bottom: min(0.5vw, 0.5rem);
}

.title h1 {
	font-weight: 700;
	font-size: clamp(1.625rem, 1.489rem + 0.68vw, 2rem);
	line-height: 1.3;
	padding: 0 0 0.7rem;
	margin: 0;
	width: 100%;
	justify-content: space-between;
	align-items: self-end;
	position: relative;
}

#searchrefine_wrap + main #entry_list .title h1 {
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
}

.title h1 b {
	font-family: 'Lobster', cursive;
	color: #c0d8f9;
	position: absolute;
	right: 0;
	top: 0;
	font-size: 200%;
	line-height: 1rem;
	z-index: -1;
}

.title_under_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 0.5rem;
}

.title_box + .title_under_box {
	margin-top: -10px !important;
}

/* カタカナ表記 ------------------*/
.title_under_box small {
	color: #93C5F6;
	font-size: 0.75rem;
	font-weight: 400;
	margin-bottom: 0.2rem;
	margin-top: auto;
}

/* カテゴリアイコン ------------------*/
.title_under_box span {
	height: 30px;
	margin-left: auto;
	background-size: auto 100%;
	background-repeat: no-repeat;
}

/* 食べる */
.title_under_box.eat_ico span {
	width: 61px;
	background-image: url(../images/ico_eat_ttl.png);
}

/* 遊ぶ */
.title_under_box.play_ico {
	margin-top: 0.3rem;
}
.title_under_box.play_ico span {
	width: 118px;
	height: 34px;
	background-image: url(../images/ico_play_ttl.png);
}

/* 買う */
.title_under_box.shopping_ico span {
	width: 125px;
	background-image: url(../images/ico_shopping_ttl.png);
}

/* 泊まる */
.title_under_box.stay_ico span {
	width: 73px;
	background-image: url(../images/ico_stay_ttl.png);
}

/* 学ぶ */
.title_under_box.learn_ico span {
	width: 93px;
	margin-left: auto;
	background-image: url(../images/ico_learn_ttl.png);
}

/* 駐車場 */
.title_under_box.parking_ico span {
	width: 113px;
	background-image: url(../images/ico_parking_ttl.png);
}

/* イベント */
.title_under_box.events_ico span {
	width: 87px;
	margin-left: auto;
	background-image: url(../images/ico_event_ttl.png);
}

/* 特集＆コラム */
.title_under_box.feature_ico span {
	width: 107px;
	margin-left: auto;
	background-image: url(../images/ico_feature_ttl.png);
}

/* スタッフブログ */
.title_under_box.post_ico span {
	width: 81px;
	margin-left: auto;
	background-image: url(../images/ico_blog_ttl.png);
}

/* 新着情報 */
.title_under_box.news_ico span {
	width: 141px;
	margin-left: auto;
	background-image: url(../images/ico_news_ttl.png);
}

/*------------------ category box（メインタイトル下） ------------------*/
.title_cate_box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
}

.title_cate_box span {
  font-size: min(3.4vw, 0.75rem);
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.title_cate_box span a b,
.title_cate_box span i {
	background: var(--header-category-color);
	border: 1px solid var(--header-category-color);
	color: #fff;
	padding: 0.2rem 1rem;
	border-radius: 0.2rem;
	display: block;
}

.title_cate_box span i {
	font-style: normal;
	background: #fff;
	border: 1px solid var(--header-category-color);
	color: var(--header-category-color);
	display: block;
}

/* 詳細ページの日付表示 ------------------*/
#entry .pubdate {
	margin-left: auto;
}

#entry .pubdate time {
	white-space: nowrap;
	background: var(--emphasis-color);
	color: #fff;
	font-size: min(3.7vw, 0.75rem);
	line-height: 1;
	padding: 0.4rem 0.8rem;
	border-bottom: 2px solid #c6e4fe;
}

/*------------------ 目次 ------------------*/
.mokuji-detail {
	margin-top: var(--mgn-middle);
	padding: var(--mgn-small);
	border: 2px solid var(--main-flame-color);
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.mokuji-detail p {
	margin: 0;
	color: #666666;
	font-weight: bold;
	line-height: 100%;
}

.mokuji-detail ul {
	list-style-type: none;
	padding-left: 0;
	margin-bottom: 0;
}
.mokuji-detail ul li {
	position: relative;
	list-style: none;
	padding-left: 1em;
}
.mokuji-detail > ul > li::before {
	content: '■';
	font-size: 0.7em;
	color: #CCCCCC;
	position: absolute;
	left: 0;
	top: 0.3em;
}

.mokuji-detail ul ul {
	padding-left: 1em;
}
.mokuji-detail > ul ul li::before {
	content: '―';
	font-size: 0.7rem;
	color: #999999;
	position: absolute;
	left: 0;
	top: 0.3em;
}


 /* .pageBody（お店やスポットの紹介文）
===================================================== */
.pageBody {
  border-radius: 0.5rem;
	padding: var(--mgn-small);
	margin-top: var(--mgn-middle);
  box-sizing: border-box;
	background: var(--main-bg-color);
	color: var(--emphasis-txt-color);
}

.pageBody p:first-of-type {
	margin-top: 0;
}
.pageBody p:last-of-type {
	margin-bottom: 0;
}


 /* .basic_info
===================================================== */
.basic_info {
	margin-top: var(--mgn-middle);
	display: block;
}

.basic_info dl {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin-top: var(--mgn-middle);
	margin-bottom: 0;
	border-left: none;
	border-top: none;
}

.basic_info .attention + dl {
	margin-top: 1rem;
}

.basic_info dt {
	min-width: 10rem;
	background: #f3f3f3;
	padding: 0.5rem 1rem;
	margin: 0;
	box-sizing: border-box;
	border: 1px solid #CCCCCC;
	border-right: none;
	border-bottom: none;
	font-weight: 500;
}

.basic_info dd {
	width: 100%;
	max-width: calc(100% - 10rem);
	background: #ffffff;
	padding: 0.5rem 1rem;
	margin: 0;
	box-sizing: border-box;
	border: 1px solid #CCCCCC;
	border-bottom: none;
	word-break: break-all;
}

.basic_info dt:last-of-type,
.basic_info dd:last-of-type {
  border-bottom: 1px solid #CCCCCC;
}

.basic_info dd p {
	margin: 0;
}

.basic_info dd p + p {
	margin-top: 1em;
}

.basic_info dd ul {
	padding-left: 1.2em;
}


 /* .google map
===================================================== */
.basic_info + iframe,
dl + iframe {
	margin-top: var(--mgn-middle);
	vertical-align: bottom; /* mapの下側余白 */
}


 /* .affiliate 
===================================================== */
.affiliate {
	display: block;
	position: relative;
}


 /* .affiliate（カードの利用状況情報）
===================================================== */
.shop_appendix {
	margin-top:  var(--mgn-middle);
	padding: var(--mgn-xsmall);
	background: #f5f5f5;
}

.shop_appendix dl {
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	font-size: 0.875rem;
	line-height: 1.2rem;
}

.shop_appendix dt {
	padding: 0.3rem 0;
	margin: 0;
	width: 11em;
	position: relative;
	border: none !important;
	background: none;
	font-weight: normal;
}

.shop_appendix dd::before {
	content: '';
	width: 1px;
	height: calc(100% - 0.5rem);
	background: #CCC;
	display: block;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
	position: absolute;
}

.shop_appendix dd {
	padding: 0.3rem 0.9rem;
	margin: 0;
	width: calc(100% - 12em);
	box-sizing: border-box;
	position: relative;
	border: none !important;
	background: none;
}

.shop_appendix dd b {
	font-weight: normal;
}

.shop_appendix dd small {
	display: block;
	padding-top: 0.2rem;
	font-size: 0.875rem;
	color: #555;
}

.shop_appendix dd small::before {
	content: '（';
	margin-left: -0.5em;
}
.shop_appendix dd small::after {
	content: '）';
	margin-right: -0.5em;
}

.shop_appendix .info_att {
	border-top: 1px dotted #ccc;
	display: block;
	margin-top: 0.5rem;
	padding-top: 0.5rem;
	font-size: 0.75rem;
	color: #555;
}

/*------------------ tab ------------------*/
.tab_info {
	margin-top: var(--mgn-middle);
}

.tab_info .tab {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 1%;
	position: relative;
}

.tab_info .tab li {
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	cursor: pointer;
	display: flex;
	flex: 1;
	padding-top: 0.3rem;
	box-sizing: border-box;
	border-radius: 0.5rem 0.5rem 0 0;
	background: var(--tab-bg-color);
	color: var(--tab-txt-color);
}

.tab_info .tab strong {
	width: 100%;
	display: block;
	padding: min(1vw, 0.5rem) 0;
	position: relative;
	font-size: min(3vw, 1rem);
	box-sizing: border-box;
	border-bottom: 1px solid var(--tab-flame-color);
	bottom: -0.5px;
}

.tab_info .tab .on {
	box-sizing: border-box;
	background: #FFFFFF;	
	border: 1px solid var(--tab-flame-color);
}

.tab_info .tab .on strong {
	background: #fff;
	box-sizing: border-box;
	border-bottom: 1px solid #FFFFFF;
	position: relative;
}
.tab_info .tab .on strong::after {
	content: '';
	display: block;
	width: 100%;
	height: 4px;
	background: #FFFFFF;
	position: absolute;
	left: 0;
	bottom: -4px;
}

.tab_info .box {
	border: 1px solid var(--tab-flame-color);
	padding: min(3vw, 1.5rem);
	display: none;
	transition: 0.2s all;
	box-sizing: border-box;
}

.tab_info .ons {
	display: block;
	transition: 0.2s all;
}

.tab_info h2 {
  margin-top: var(--mgn-small);
	margin-bottom: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
  color: var(--tab-txt-color);
  font-size: 1.2rem;
  border-bottom: 1px dashed var(--tab-flame-color);
	padding-left: 1.3em;
  background-image: url(../images/tab_contents_h2ttl_icon.png);
  background-repeat: no-repeat;
  background-position: left 0.3em;
  background-size: 0.9em auto;
}
.menu-info + h2 {
	margin-top: 0;
}

.tab_info .recommends_img {
	display: flex;
	gap: 1rem;
	margin-top: 1rem;
}

.tab_info .recommends_img:first-child {
	margin-top: 0;
}

.tab_info .recommends_img figure {
	flex: 1;
	min-width: 120px;
}

.tab_info .recommends_img.right figure {
	order: 2;
}

.tab_info .recommends_img div.text {
	flex: 3;
	font-size: 1rem;
}

.tab_info .recommends_img div.text p {
	padding: 0;
	margin: 0;
}

.att {
	background: #f5f5f5;
	padding: min(3.7vw, 2rem);
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-size: 0.875rem;
}

.att p:first-child{
	margin-top: 0;
}
.att p:last-child{
	margin-bottom: 0;
}

.tab_info .box > .recommends_in {
	margin-top: var(--mgn-small);
}
.tab_info .box > .recommends_in:first-child {
	margin-top: 0;
}
.tab_info .box > .recommends_in:last-child {
	margin-bottom: 1rem;
}

.tab_info .box > .recommends_in:first-child h2:first-child {
	margin-top: 0;
}

/* tab table ------------------*/
.box.menus table {
	width: 100%;
  border-collapse: collapse;
	padding-left: 1.5rem;
}
.box.menus > table:last-child {
	margin-bottom: 1rem;
} 

.box.menus p + table,
.box.menus h2 + table {
  margin-top: min(6.25vw, 30px);
}

.box.menus table th {
	background-color: #F3F3F3;
  font-weight: normal;
  text-align: center;
  min-width: 4em;
  box-sizing: border-box;
}
.box.menus > table > tbody > tr > th {
	width: 25%;
	white-space: nowrap;
	padding: min(1.56vw, 0.5rem) 0.8rem;
  border-right: 5px solid #FFFFFF;
  border-bottom: 5px solid #FFFFFF;
	background-color: #EFEFEF;
}

.box.menus table td {
	box-sizing: border-box;
}

.box.menus > table > tbody > tr > td {
	padding: min(1.56vw, 0.5rem) 0.8rem;
	padding-right: 0;
	border-bottom: 5px solid #FFFFFF;
}

.box.menus table table th,
.box.menus table table td {
  border: 1px solid #DDDDDD;
	padding: 0.5em 0.5em;
}

.box.menus table tr:last-of-type td {
	padding-bottom: 0;
}

.box.menus ul li {
	margin-bottom: 5px;
}

.box.menus table td ul {
	padding-left: 2em;
}
.box.menus table td ul.note {
	padding-left: 1em;
	margin-left: 0;
}

/* coupon ------------------*/
.coupons-info,
.menu-info {
	color:#CC0000;
	font-size: 0.875rem;
	padding: min(1.04vw, 0.5rem) 0 min(5vw, 2rem) 0;
}

.coupons {
  display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  gap: 15px;
  padding: min(1.5vw, 15px);
	margin: -0.5rem;
	background-color: var(--tab-box-bg-color);
  background-image: url(../images/coupons/site_logo.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 35% auto;
	position: relative;
}
.coupons::before {
	content: url("../images/ico_coupon.png");
	width: 62px;
	height: auto;
	position: absolute;
	top: 0;
	right: 10px;
}

.coupons-title {
	width: 100%;
	background-color: var(--tab-bg-color);
	padding: 0.5rem 72px 0.5rem 1rem;
	box-sizing: border-box;
	color: var(--tab-txt-color);
  font-weight: bold;
}

.coupons > span {
  width: 280px;
  background-color: #FFFFFF;
  padding: min(5vw, 30px) 1rem;
  border-radius: 10px;
  color: var(--tab-txt-color);
  text-align: center;
	font-size: 1.125rem;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	box-sizing: border-box;
}

.coupons > span p {
	margin-top: 0;
}

.coupons > small {
	width: calc(100% - 310px);
	padding-bottom: 50px;
	box-sizing: border-box;
	font-size: 0.875rem;
}

.coupons > small ul {
	padding-left: 1em;
	padding-right: 0.5em;
}

.coupons > small ul li {
	margin-bottom: 0.5rem;
}

.coupons > span p:first-child,
.coupons > small p:first-child {
	margin-top: 0;
}

.coupons > span p:last-child,
.coupons > small p:last-child {
	margin-bottom: 0;
}


/* note（注意書き）
===================================================== */
.entry ul.note,
ul.note {
  list-style-type: none;
  padding-left: 1em;
  text-indent: -1em;
	margin-left: -1em;
}
ul.note2 {
  list-style-type: none;
  padding-left: 2em;
  text-indent: -2em;
}

ul.note li::before,
ul.note2 li::before {
	display: none;
}

p.noteTxt {
	color: #C82123;
}

p + p.noteTxt {
	margin-top: -1em;
}


/* .errorcheckbox
===================================================== */
.errorcheckbox_open {
	text-align: right;
	display: block;
	margin: 0 0 0 auto;
	padding-top: 1rem;
}

.errorcheckbox_open span {
  display: inline-block;
  font-size: 0.875rem;
  background: #ddd;
  color: #666;
  padding-top: 0.4rem;
  padding-right: 0.6rem;
  padding-left: 2rem;
  padding-bottom: 0.4rem;
  cursor: pointer;
  position: relative;
}

.errorcheckbox_open span::before {
	display: inline-block;
	content: url("../images/ico_houkoku.svg");
	width: 1.2em;
	height: auto;
	position: absolute;
	top: 0.65em;
	left: 0.7em;
}

.errorcheckbox_open b {
	background: #f1f7fd;
	color:#666;
	padding: 0.4rem 0.5rem;
	cursor: pointer;
}

.errorcheckbox {
	position: fixed;
	z-index: 100;
	display: none;
	opacity: 0;
	transition: all 0.5s;
}

.errorcheckbox.open {
	display: block;
	opacity: 1;
	animation: fadein 0.5s linear 0s;
}

.errorcheckbox_close {
	display: flex;
	justify-content: center;
	font-size: 0.875rem;
	line-height: 1.2;
	margin-top: 1rem;
}

.errorcheckbox_close span {
	background: #ccc;
	padding: 0.5rem 1rem;
	cursor: pointer;
}

.errorcheckbox_close span::before {
	content: '\02715';
	margin-right: 0.5rem;
}

.errorcheckbox::after {
	content: '';
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	background: #193b6330;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	backdrop-filter: blur(10px);
	z-index: 1;
}

.errorcheckbox_in {
	display: block;
	position: fixed;
	top: 50%;
	left: 50%;
	width: min(96%, 600px);
	margin: 0 auto;
	transform: translate(-50%, -50%);
	background: #fff;
	box-sizing: border-box;
	padding: min(3%, 1.5rem);
	border-radius: 1rem;
	border: 0.2rem solid #00000010;
	box-shadow: 0.2rem 0.2rem 0.5rem #00000030;
	z-index: 2;
}

.errorcheckbox_in p {
	padding: 0;
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
}

.errorcheckbox_in ul {
	padding: min(2%, 0.5rem) var(--mgn-xsmall);
	margin: var(--mgn-xsmall) 0;
	list-style: none;
	background: #f1f7fd;
	border-radius: 0.7rem;
	box-sizing: border-box;
}

.errorcheckbox_in ul li {
	padding: 0;
	margin: 0;
	border-top: 1px solid #ccc;
}

.errorcheckbox_in ul li:first-child {
	border-top: none;
}

.errorcheckbox_in ul li strong {
	font-size: 1.1rem;
	display: block;
	padding: 0.5rem 0;
}

.errorcheckbox_in ul li .wpcf7-checkbox {
	padding: 0;
	margin: 0;
}

.errorcheckbox_in ul li .wpcf7-list-item {
	padding: 0 1.5rem 0 0;
	margin: 0;
}

.errorcheckbox_in ul li .wpcf7-list-item label {
	display: flex;
	line-height: 1.2;
}

.errorcheckbox_in ul li .wpcf7-list-item label span {
	padding-left: 0.5rem;
}

.errorcheckbox_in ul li .wpcf7-list-item label input {
	width: 1.5em;
}

.wpcf7-response-output {
	margin: 0.5rem 0;
	padding: 0;
}

.errorcheckbox_in input[type="submit"] {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	outline: none;
	border: none;
	background: var(--main-color);
	color: #fff;
	border-radius: 0.3rem;
	padding: 0.5rem 1.5rem;
	cursor: pointer;
}


/* post type archive
===================================================== */
.acf-map {
	width: var(--contents-width);
	height: 100%;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
}

.marker {
	display: none;
}

#searchrefine_wrap {
	width: var(--contents-width);
	margin: var(--mgn-middle) auto 0 auto;
}

.archive_title + #searchrefine_wrap {
	margin-top: 0;
}

#searchrefine_wrap h2 {
	margin: 0;
	color: var(--main-color);
	padding: 0 0 0.5rem;
}

#searchrefine_box {
	display: block;
}

#searchrefine_box form {
	background: #f3f3f3;
	padding: 0.5rem;
}

#searchrefine_box dl {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	align-items: flex-start;
	line-height: 1.5rem;
}

#searchrefine_box dt {
	width: 6rem;
	padding: 0 0.5rem;
	margin-top: 1.3rem;
	box-sizing: border-box;
	font-weight: 600;
}

#searchrefine_box dd {
	width: calc(100% - 6rem);
	padding: 0 0.5rem;
	margin: 0;
	margin-top: 1rem;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
}

#searchrefine_box dd input {
	display: none;
}

#searchrefine_box dd > label,
#searchrefine_box dd span {
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 10rem;
	padding: 0.3rem 1.2rem;
	font-size: 0.875rem;
	cursor: pointer;
	transition: 0.2s all;
}

#searchrefine_box dd span {
	flex-wrap: wrap;
	gap: 0.4rem 0;
	border-radius: 1.4rem;
	padding: 0.5rem 0.6rem;
	cursor: default;
}

#searchrefine_box dd span label {
	border: none;
	margin: 0 0.7rem;
	cursor: pointer;
	position: relative;
}

#searchrefine_box dd span label:first-of-type {
	background: #ececec;
	padding: 0.1rem 1rem;
	margin-left: 0;
	border-radius: 10rem;
}

#searchrefine_box dd input:checked + label,
#searchrefine_box dd input:checked + label:first-of-type {
	background: var(--main-color);
	color:#fff;
	font-weight: normal;
}

#searchrefine_box dd span input:checked + label {
	background: #FFFFFF;
	color: var(--main-color);
	font-weight: bold;
}

#searchrefine_box dd span input:checked + label::after {
	content: '';
	display: block;
	border-bottom: 1px dashed var(--main-color);
	margin-top: -1px;
}

#searchrefine_box.type02 form {
	background: #fff;
	padding: 0.5rem;
	border: 0.3rem solid #eee;
}

#searchrefine_box.type02 form dl {
	margin-top: 0;
}

#searchrefine_box.type02 dd span {
	gap: 0;
	border-radius: 1rem;
	padding: 1px;
	cursor: default;
}

#searchrefine_box.type02 dd span label {
	border: none;
	margin: 0;
	cursor: pointer;
	position: relative;
	padding: 0.2rem 1rem;
}

#searchrefine_box.type02 dd span label:first-of-type {
	font-size: 0.9rem;
}

#searchrefine_box.type02 dd span label:not(:first-of-type) {
	font-size: 0.85rem;
}

#searchrefine_btnwrap {
	display: block;
	border-top: 1px solid #ccc;
	padding: 1rem 0.5rem;
	margin: 1rem auto 0.5rem;
	width: calc(100% - 1rem);
	text-align: center;
	box-sizing: border-box;
}

.searchrefine_btn {
	border-top: 1px solid #ccc;
	margin: 0 1rem;
	padding: 1rem 0;
	text-align: center;
	position: relative;
}

.searchrefine_btn #feedback {
	position: absolute;
	z-index: 99;
	display: block;
	transition: 0.2s all;
	width: 100%;
	padding: 0;
	margin: 0;
	background: #f3f3f3;
	text-align: center;
}

.searchrefine_btn span {
	display: block;
	font-size: 0.875rem;
}

.searchrefine_btn button {
	background: var(--main-color);
	outline: none;
	border: none;
	color: #fff;
	font-size: 1.15rem;
	padding: 0.5rem 2rem;
	border-radius: 0.3rem;
	margin-top: 0.3rem;
	cursor: pointer;
	transition: 0.2s all;
}

.searchrefine_btn button:hover {
	opacity: 0.7;
}


 /* .google map api
===================================================== */
a.mark_wrap h2 {
	font-size: 1rem;
	padding-bottom: 0.2rem;
	margin: 0.3rem 0.3rem 0.5rem 0.3rem;
	font-weight: bold;
	border-bottom: 1px dotted #BBBBBB;
}
.mark_in {
  display: flex;
	gap: 4%;
	width: min(80vw, 350px);
	padding: 0.3rem;
	border-radius: 0.5vw;
	box-sizing: border-box;
}

.mark_in figure {
	width: clamp(5rem, 3.864rem + 5.68vw, 8.125rem);
}

.mark_in figure img {
  width: 100% !important;
	height: auto;
	box-shadow: 0 1px 3px #ccc;
}

.mark_in div {
	flex: 1.5;
	color: #000000;
}

.mark_in div dl {
	padding: 0;
	margin: 0;
}

.mark_in div dl dt {
	padding: 0;
	margin: 0;
	font-weight: 600;
}

.mark_in div dl dd {
	padding: 0;
	margin: 0 0 0.5rem;
}

.mark_in div dl dd p {
	padding: 0;
	margin: 0;
}


/* .archive_title
===================================================== */
.archive_title {
	width: var(--contents-width);
	margin: 0 auto;
	padding: var(--mgn-small) 0 var(--mgn-small) 0;
}


/* #entry_list
===================================================== */
#entry_list .title.sub {
	border: none;
}

#entry_list .title.sub h2,
#entry_list h2.title-genre {
  position: relative;
  background: var(--main-bg-color);
  padding: 0.2rem 1rem 0.2rem 3rem;
	margin-top: var(--mgn-small);
	font-size: 1.125rem;
  font-weight: 600;
  color: var(--main-color);
  border-radius: 0 10px 10px 0;
}
#entry_list .title.sub h2 {
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
}

#entry_list .title.sub h2::before,
#entry_list h2.title-genre::before {
  content: "";
  display: inline-block;
  position: absolute;
  padding: 0em;
  background-color: var(--main-color);
  width: 42px;
  height: 42px;
  line-height: 100%;
  left: -0.5rem;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}

/* 食べる */
#entry_list h2.cate_icon_eat::before {
  background-image: url(../images/ico_genre_eat.png);
}

/* 遊ぶ */
#entry_list h2.cate_icon_play::before {
  background-image: url(../images/ico_genre_play.png);
}

/* 買う */
#entry_list h2.cate_icon_shopping::before {
  background-image: url(../images/ico_genre_shopping.png);
}

/* 泊まる */
#entry_list h2.cate_icon_stay::before {
  background-image: url(../images/ico_genre_stay.png);
}

/* 学ぶ */
#entry_list h2.cate_icon_learn::before {
  background-image: url(../images/ico_genre_learn.png);
}

/* 駐車場 */
#entry_list h2.cate_icon_parking::before {
  background-image: url(../images/ico_genre_parking.png);
}

/* イベント */
#entry_list h2.cate_icon_events::before {
  background-image: url(../images/ico_genre_event.png);
}

/* 特集＆コラム */
#entry_list h2.cate_icon_feature::before {
  background-image: url(../images/ico_genre_feature.png);
}

/* スタッフブログ */
#entry_list h2.cate_icon_blog::before {
  background-image: url(../images/ico_genre_blog.png);
}

/* 新着情報 */
#entry_list h2.cate_icon_news::before {
  background-image: url(../images/ico_genre_news.png);
}

/*------------------ list ------------------*/
#entry_list section ul {
	padding: 0;
	margin: 0;
	margin-bottom: var(--mgn-middle);
	list-style: none;
}

#entry_list section ul li {
	padding: 1.5rem 0;
	margin: 0;
	border-bottom: 1px dashed #ccc;
	overflow: hidden;
	position: relative;
}

#entry_list section ul li.scrollable-data {
	min-width: 100%;
	transition: 0.2s all;
}

#entry_list section ul li:first-child {
	padding-top: 1rem;
}

#entry_list section ul li a {
	padding: 0;
	margin: 0;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 3%;
}

#entry_list section ul li a figure {
	width: 13rem;
	height: auto;
	padding: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	text-indent: -99999px !important;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border: 1px solid #DEDEDE;
	box-sizing: border-box;
}

#entry_list section ul li a .type-info {
	width: calc((100% - 13rem) - 3%);
}

#entry_list section ul li a h3 {
	font-size: min(6.333vw, 1.25rem);
	font-weight: 600;
	line-height: 1.5rem;
	margin-top: 0;
	margin-bottom: 0.6rem;
	overflow: hidden;
}

/*------------------ icon ------------------*/
#entry_list section ul li a .tax,
#entry_list section ul li a .area,
#entry_list section ul li a .genre {
	display: flex;
	flex-wrap: wrap;
	gap: min(5vw, 0.5rem);
	font-size: 0.75rem;
	line-height: 1rem;
}

#entry_list section ul li a .rateprice,
#entry_list section ul li a .event_date {
	display: flex;
	align-items: flex-start;
	gap: min(5vw, 0.5rem);
	font-size: 0.875rem;
	color: var(--main-color); 
	line-height: 1.5;
	margin-top: var(--mgn-xsmall);
	padding: var(--mgn-xsmall);
	background: var(--main-bg-color);
	border-radius: 0.5rem;
}

#entry_list section ul li a .rateprice strong,
#entry_list section ul li a .event_date strong {
	background: #CFE4F7;
	font-size: 0.75rem;
	font-weight: normal;
	letter-spacing: 1px;
	white-space: nowrap;
	padding: 0.3rem 0.7rem;
	line-height: 100%;
	border-radius: 0.8rem;
}

#entry_list section ul li a .area span,
#entry_list section ul li a .genre span {
	padding: 0.2rem 0.5rem;
	border-radius: 0.2rem;
}

#entry_list section ul li a .area span {
	border: 1px solid var(--main-color);
	color: var(--main-color);
}

#entry_list section ul li a .genre span {
	border: 1px solid var(--header-category-color);
	color: var(--header-category-color);
}

#entry_list section ul li a .type-info > p {
	line-height: 1.5;
	white-space: pre-wrap;
	overflow: hidden;
	color: #000000;
}

#entry_list section ul li a .type-info p:first-child,
#entry_list section ul li a .rateprice span p:first-child,
#entry_list section ul li a .event_date span p:first-child,
#entry_list section ul li a .event_date p:first-child {
	margin-top: 0;
	padding-top: 0;
}
#entry_list section ul li a .type-info p:last-child,
#entry_list section ul li a .rateprice span p:last-child,
#entry_list section ul li a .event_date span p:last-child,
#entry_list section ul li a .event_date p:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.icon {
	display: flex;
	flex-wrap: wrap;
	gap: min(5vw, 0.5rem);
	padding-top: 0.5rem;
}
.tab_coupons,
.maxp,
.credit_card,
.e_money {
	padding: 0.2rem 0.5rem;
	border-radius: 0.2rem;
	background: var(--tab-flame-color);
	color: #FFFFFF;
	font-size: 0.75rem;
	line-height: 1rem;
	white-space: nowrap;
}

.tab_coupons {
	background: #dda435;
}
.maxp {
	background: #ce7ccd;
}
.credit_card {
	background: #74c4c5;
}
.e_money {
	background: #6da9d3;
}

.rateprice_ld span {
	display: inline-block;
}
.rateprice_ld span:nth-of-type(1) {
	margin-right: 0.5rem;
}


/* #post_list
===================================================== */
#post_list section {
	width: calc((100% / 3) - 3%);
	box-shadow: 0.1rem 0.1rem 0.4rem #00000030;
	padding: 1rem;
	box-sizing: border-box;
	transition: 0.2s all;
}

#post_list section figure {
	padding: 0;
	margin: 0 0 1rem;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	position: relative;
	width: 100%;
}

#post_list section figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	transform: translate(-50%, -50%);
	transition: 0.2s all;
}

#post_list section h2 {
	color: var(--main-color);
	font-size: min(4.7vw, 1.375rem);
	line-height: 1.3;
	margin: 0.5rem 0;
	padding: 0;
}

#post_list section p {
	font-size: min(3.7vw, 0.9375rem);
	line-height: 1.6;
	margin: 0.5rem 0;
	padding: 0;
}

#post_list section .pubdate {
	padding-bottom: 0;
}

#post_list section:hover {
	box-shadow: 0 0 0.4rem #00000080;
}

#post_list section:hover figure img {
	min-width: 120%;
}

/*------------------ date ------------------*/
#entry_list .pubdate {
	display: block;
	text-align: right;
	width: 100%;
	margin-top: 1rem;
}

#entry_list .pubdate time {
	white-space: nowrap;
	font-size: min(3.7vw, 0.75rem);
	line-height: 1;
	padding: 0.3rem 0.6rem;
	border: 1px solid #CCCCCC;
	border-radius: 0.3rem;
	color: #666666;
}


/* .gallery block
===================================================== */
.flex_img,
.flex_img1,
.flex_img2 {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:  var(--mgn-small);
	margin-top: var(--mgn-middle);
}

.flex_img2 .img_large {
	width: inherit!important;
}


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

	.flex_img2 {
		display: block !important;
	}

	.flex_img2 figure + figure {
		margin-top: var(--mgn-middle);
	}

}

.text + .flex_img,
.text + .flex_img1,
.text + .flex_img2 {
	margin-top: var(--mgn-middle);
}

.flex_img figure,
.flex_img1 figure {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin: 0 auto;
}

/*.flex_img2 figure {
	width: 100% !important;
}*/

.flex_img figure span,
.flex_img1 figure span {
	display: block;
	width: 100%;
	flex-grow: 1;
	object-fit: cover;
}

.flex_img figure img,
.flex_img1 figure img {
	margin: 0 auto;
	width: 100%;
	flex-grow: 1;
	object-fit: contain;
}

.flex_img2 figure img {
	margin: 0 auto;
	width: 100%;
	object-fit: contain;
}

.img_text figure figcation,
.flex_img figure figcation,
.flex_img1 figure figcation,
.flex_img2 figure figcation {
	font-size: 0.875rem;
	line-height: 1.5rem !important;
	padding: 0;
	display: block;
	width: 100%;
}

.slider_gal_01 {
	padding-top: var(--mgn-middle);
}

.slider_gal_01 figure {
  position: relative;
}

.slider_gal_01 figure span {
	position: relative;
	height: 100%;
	display: block;
	aspect-ratio: 4 / 3;
	background: url(../images/slider_logo.png) right -3% bottom -3% / 25% no-repeat #D7EAFC;
}

.slider_gal_01 figure span img {
	position: relative;
	height: 100%;
	width: auto !important;
	display: block;
	margin: 0 auto;
}

.slider_gal_01 figure figcation {
	display: block;
	color: #999999;
	padding: 0.5em 0;
	font-size: 0.875rem;
	line-height: 1.5;
	font-weight: 500;
	width: 100%;
	box-sizing: border-box;
	background: #FFFFFF;
}

.slider_gal_01 .slick-dots {
	padding: 0;
	margin: 1% 0;
	list-style: none;
	display: flex;
	gap: 1%;
}

.slider_gal_01 .slick-dots li {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	position: relative;
	width: 100%;
	background: #f5f5f5;
	cursor: pointer;
}

.slider_gal_01 .slick-dots li img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	filter: grayscale(0.5) opacity(0.5);
	transition: 0.3s all;
}

.slider_gal_01 .slick-dots li.slick-active img {
	filter: grayscale(0) opacity(1);
}

.slider_gal_01 .slick-dots li:hover img {
	filter: grayscale(0.25) opacity(0.75);
}

.modal span {
	position: relative;
}

.modal span::after {
	content: '╋';
	font-size: 0.75rem;
	position: absolute;
	z-index: 2;
	width: 1.2rem;
	height: 1.2rem;
	display: block;
	top: 0.75rem;
	right: 0.75rem;
	color: #fff;
	border: 2px solid #fff;
	box-sizing: border-box;
	text-align: center;
	line-height: calc(1.2rem - 3px);
	opacity: 0.7;
}


/* .movie block
===================================================== */
iframe[src*="https://www.youtube.com/"],
iframe[src*="https://www.google.com/"] {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	display: block;
	margin: var(--mgn-middle) auto;
}

iframe[src*="https://www.youtube.com/"] + br,
iframe[src*="https://www.google.com/"] + br {
	display: none; /* WPが自動で挿入する改行を無視 */
}


/* .vr-img
===================================================== */
iframe.vr-img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin-top: var(--mgn-middle);
	border: none;
}


/* .author_info
===================================================== */
.author_info {
	border: 1px solid #cccccc;
	border-radius: 0.5rem;
	padding: 2rem;
	width: 100%;
	box-sizing: border-box;
	margin-top: var(--mgn-middle);
	display: flex;
	gap: 2rem;
}

.author_info .author_photo {
	width: 10em;
	text-align: center;
	margin: 0;
	padding: 0;
}

.author_info .author_photo b {
	display: block;
	margin: 0 0 1rem 0;
	font-size: 1rem;
	font-weight: normal;
}

.author_info .author_photo figure {
	width: 100px;
	height: 100px;
	overflow: hidden;
	border-radius: 10rem;
	border: 1px solid #cccccc;
	margin: 1rem auto;
}

.author_info .author_photo h2 {
	font-size: 1rem;
	padding: 0;
	margin: 0;
}

.author_info .author_photo h3 {
	font-size: 0.75rem;
	padding: 0;
	margin: 0;
	color: #999;
}

.author_info .author_text {
	width: calc(100% - 10em);
}

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

	.author_info .author_photo,
	.author_info .author_text {
			width: 100%;
		}
		.author_info .author_text {
			margin-top: var(--mgn-small);
		}
	.author_info {
		display: block;
		padding: 1.5rem;
	}

	.author_info .author_photo b {
		margin: 0;
	}

}

.author_info .author_text .author_text_prof p:first-child {
	margin-top: 0;
}

.author_info .author_text .author_text_comment {
	border-top: 1px solid #ccc;
}

.author_info .author_text_sns ul {
	display: flex;
	list-style: none;
	gap: 0.5rem;
	padding: 0;
	margin: 2rem 0 0;
}

.author_info .author_text_sns ul li {
	padding: 0;
	margin: 0;
}

.author_info .author_text_sns ul li a {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.5rem;
	padding: 0.3rem;
	display: block;
	background: #c2d1de;
	box-sizing: border-box;
}

.author_info .author_text_sns ul li a img {
	filter: brightness(100);
}

.author_info .author_text_sns ul li a[target="_blank"]::after {
	display: none !important;
}


/* .entry block
===================================================== */
/*.entry strong {
	color: #333333;
}*/

.entry h1 {
	color: var(--main-color);
	font-size: clamp(1.625rem, 1.489rem + 0.68vw, 2rem);
	line-height: 1.5;
	font-weight: 600;
}

.entry h2 {
	color: var(--main-color);
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
	line-height: 1.5;
	font-weight: 600;
	padding: 0 0.2em 0.3em;
	margin-top: var(--mgn-large);
	margin-bottom: 0;
	border-bottom: 3px solid var(--main-color);
	position: relative;
}

.entry h2:before {
  position: absolute;
  bottom: -14px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: var(--main-color) transparent transparent transparent;
}

.entry h2:after {
  position: absolute;
  bottom: -10px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #FFFFFF transparent transparent transparent;
}

.entry > h2:first-child {
  margin-top: var(--mgn-middle);
}

.contents.entry > h2:first-child {
  margin-top: 0;
}

#mokuji + .entry > h2:first-child {
	margin-top: var(--mgn-large);
}

.entry h3 {
  color: var(--main-color);
	font-size: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);
  line-height: 1.5;
  font-weight: 600;
  padding-bottom: 0.4em;
  margin-top: var(--mgn-large);
  background-image: url(../images/ttl_h2_line.png);
  background-repeat: repeat-x;
  background-position: left bottom;
}

.entry h2 + h3 {
	margin-top: var(--mgn-middle);
}

.entry h4 {
	color: var(--main-color);
	font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
	line-height: 1.5;
	font-weight: 600;
	margin-top: var(--mgn-middle);
	margin-bottom: var(--mgn-small);
	padding-bottom: 0.3em;
	border-bottom: 2px dotted #CCCCCC;
}

.entry h5 {
	color: var(--title-color);
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	line-height: 1.5;
	font-weight: 600;
	margin-top: var(--mgn-small);
	margin-bottom: 0;
}

.entry .img_text {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mgn-small);
	padding: 0;
	margin-top: var(--mgn-middle);
}

.entry .img_text figure {
	width: 100%;
	flex: 1;
}

.entry .img_text span {
	width: 100%;
	flex: 2;
}

.entry .img_text.f_l figure {
	order: 0;
}

.entry .img_text.f_r figure {
	order: 1;
}

.entry .img_text.f_l span p:first-child,
.entry .img_text.f_r span p:first-child {
	margin-top: 0;
}

.entry table {
	border-collapse: collapse;
	clear: both;
}

.entry table th {
	width: 1%;
	white-space: nowrap;
	background-color: #F3F3F3;
	border: 1px solid #DDDDDD;
	padding-top: 6px;
	padding-right: 10px;
	padding-bottom: 6px;
	padding-left: 10px;
	font-weight: normal;
}

.entry table td {
	border: 1px solid #DDDDDD;
	padding-top: 6px;
	padding-right: 10px;
	padding-bottom: 6px;
	padding-left: 10px;
	word-break: break-all;
}

.entry .text,
.entry h2 + p {
	margin-top: var(--mgn-middle);
}

.entry h3 + .textt {
	margin-top: var(--mgn-small);
}

.entry h4 + .text,
.entry h5 + .text {
	margin-top: var(--mgn-xsmall);
}

.entry .text > ul > li,
.entry .text > ol > li {
	margin-bottom: 0.5rem;
}

.entry .text > p + ul,
.entry .text > p + ol,
.entry .text > ul + p,
.entry .text > ol + p,
.entry h2 + ol,
.entry h2 + ul,
.entry h3 + ol,
.entry h3 + ul {
	margin-top: var(--mgn-small);
}


/* blockquote
===================================================== */
.entry blockquote {
	position: relative;
	padding: 3.5em 2.5em 2em 3.5em;
	margin: 0 var(--mgn-xsmall);
	color: #333333;
	background-color: var(--main-bg-color);
	box-sizing: border-box;
	border-radius: 0.5rem;
}

.entry blockquote::before {
	display: inline-block;
	position: absolute;
	top: 1em;
	left: 1.5em;
	width: 2em;
	height: 2em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z' fill='%232E80C9'%3E%3C/path%3E%3C/svg%3E"); /* fill='%23～「～」の部分に色番号を入れる */
	background-repeat: no-repeat;
	content: '';
}

.entry blockquote p {
    margin-top: 0;
}


/* related_post
===================================================== */
.related_post .yarpp-related {
	padding: 0.75rem;
	background: var(--main-bg-color);
	margin-top: var(--mgn-middle);
	padding-top: 0;
}

.related_post .yarpp-related h3 {
	color: var(--main-color);
	font-size: 1.125rem;
	line-height: 1.2;
	font-weight: bold;
	padding: 1rem 0 0.7rem 0;
	margin: 0;
}

.related_post ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	gap: 0.5rem;
	justify-content: start;
	align-items: flex-top;
}

.related_post ul li {
	padding: 2px;
	margin: 0;
	list-style: none;
	width: calc(100% / 4);
	box-sizing: border-box;
	border: 1px solid #ccc;
	background: #fff;
}

.related_post ul li figure {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	position: relative;
}

.related_post ul li figure img {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 100%;
}

.related_post ul li h2 {
	font-size: 0.875rem;
	line-height: 1.2;
	font-weight: 400;
	padding: 0.5rem;
	margin: 0;
}


/* .sns_share
===================================================== */
.sns_share {
	display: block;
	padding: 1rem 0 0;
}

.sns_share ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	gap: 0.3rem;
}

.sns_share ul li {
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: 6rem;
}

.sns_share ul li.instagram a {
	background: #C13584;
}

.sns_share ul li.facebook a {
	background: #4267b2;
}

.sns_share ul li.x a {
	background: #000;
}

.sns_share ul li a {
	display: flex;
	justify-content: center;
	padding: 0.3rem;
	width: 100%;
	box-sizing: border-box;
}

.sns_share ul li a img {
	filter: brightness(100);
	width: 1.2rem !important;
}

.sns_share ul li a::after {
	display: none !important;
}

.sns_share ul li a:hover {
	box-shadow: 0 2px 3px #00000050;
}


/* .post_link
===================================================== */
.post_link {
	display: flex;
	justify-content: space-between;
	margin-top: var(--mgn-middle);
}

.post_link span a {
	display: block;
	background: var(--main-color);
	font-size: 0.85rem;
	padding: 0 0.5rem;
	line-height: 2rem;
	color: #fff;
	position: relative;
	box-sizing: border-box;
}

.post_link span.previous_post_link a {
	left: 0.5rem;
}

.post_link span.next_post_link a {
	right: 0.5rem;
}

.post_link span.previous_post_link a::before,
.post_link span.next_post_link a::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.post_link span.previous_post_link a::before {
	content: '';
	border-color: transparent var(--main-color) transparent transparent;
	border-width: 1rem 0.5rem 1rem 0;
	left: -0.5rem;
}

.post_link span.next_post_link a::after {
	content: '';
	border-color: transparent transparent transparent var(--main-color);
	border-width: 1rem 0 1rem 0.5rem;
	right: -0.5rem;
}


/* aside .archive
===================================================== */
aside section h4 {
	font-size: min(2.666vw, 1.125rem);
	padding-bottom: 0.2rem;
	margin: 0;
	border-bottom: 2px solid var(--main-flame-color);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
}

aside section h4 a {
	font-weight: 400;
	margin-bottom: 0.3rem;
	font-size: 0.875rem;
	line-height: 1rem;
	color: var(--main-color);
	display: flex;
	align-items: center;
}

aside section h4 ::after {
	content: '';
	border: 1px solid var(--main-color);
	border-left: none;
	border-bottom: none;
	width: 0.3rem;
	height: 0.3rem;
	display: block;
	transform: rotate(45deg);
	margin-left: 0.3rem;
}

aside .archive {
	background: #fff;
	box-sizing: border-box;
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: 0.5rem;
	box-shadow: 0 0 0.5rem #00000020;
}

@media screen and (max-width: 860px) {
	aside .archive {
		margin-bottom: var(--mgn-small);
	}
}

.archive ul {
	padding: 0;
	margin-left: 0.5rem;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	list-style: none;
}
.archive > ul > li {
	position: relative;
	padding-left: 1rem;
}

.archive > ul > li::before {
	content: '■';
	font-size: 0.7rem;
	color: #CFE4F7;
	position: absolute;
	left: 0;
	top: 0.3rem;
}

.archive ul li a {
	font-size: 1rem;
}

.archive ul.children {
	margin-left: 0;
}

.archive ul.children li {
	padding: 0;
	margin: 0;
	padding-left: 1rem;
	text-indent: -1rem;
}

.archive ul.children li a::before {
	content: '';
	background: no-repeat center center url(../images/ico_arrow_01.png);
	width: 1rem;
	font-size: 0.875rem;
	height: 0.5rem;
	display: inline-block;
}


/* .pagination
===================================================== */
.pagination {
	padding: 0 2rem 2rem;
}

.pagination .nav-links {
	display: flex;
	justify-content: center;
	font-size: 1rem;
}

.pagination .nav-links span,
.pagination .nav-links a {
	border: 1px solid var(--main-color);
	width: 2rem;
	font-weight: 500;
	line-height: 2rem;
	height: 2rem;
	text-align: center;
	margin-left: -1px;
	color: var(--main-color);
}

.pagination .nav-links a:hover {
	color: #FFFFFF;
	background: #8CC1F1;
}

.pagination .nav-links .current {
	background: var(--main-color);
	color: #fff;
	border: 1px solid var(--main-color);
	z-index: 10;
	position: relative;
	font-weight: 700;
}

.pagination .nav-links .prev {
	width: 2.5rem;
	border-radius: 10rem 0 0 10rem;
	position: relative;
}

.pagination .nav-links .next {
	width: 2.5rem;
	border-radius: 0 10rem 10rem 0;
	position: relative;
}

.pagination .nav-links .prev::after,
.pagination .nav-links .next::after {
	content: '';
	display: block;
	border: 1px solid var(--main-color);
	transform: rotate(45deg) translate(-50%, -50%);
	width: 0.4rem;
	height: 0.4rem;
	position: absolute;
	top: calc(50% + 0.1rem);
}

.pagination .nav-links .prev::after {
	border-right: none;
	border-top: none;
	right: calc(50% - 0.5rem);
}

.pagination .nav-links .next::after {
	border-left: none;
	border-bottom: none;
	left: calc(50% - 0.5rem);
}

/* reserve button
===================================================== */
.reserveArea {
  text-align: center;
  /*padding-bottom: 5px;*/
	padding-top: var(--mgn-middle);
  font-size: 12px;
  display: flex;
  justify-content: center;
	gap: 20px;
}

.reserveArea a {
	display: inline-block;
  padding: 1rem 1.5rem;
  margin-bottom: 10px;
  background-color: #308FCB;
  font-size: 1.25rem;
  color: #FFFFFF !important;
  text-decoration: none !important;
  border-radius: 8px;
  box-sizing: border-box;
}

.reserveArea a img {
  display: none;
}
.reserveArea a:link,
.reserveArea a:visited {
  color: #FFFFFF;
}

.reserveArea a[target="_blank"].hotpepperBtn br {
  display: none;
}

#entry .reserveArea a::after {
	display: none;
}

@media screen and (max-width: 640px) {
	.reserveArea a[target="_blank"].hotpepperBtn {
		padding: 0.7rem 1.5rem;
		line-height: 1.3 !important;
	}
	.reserveArea a[target="_blank"].hotpepperBtn br {
		display: block;
	}
}


/* common button
===================================================== */
.buttonArea {
  text-align: center;
	padding-top: var(--mgn-small);
}

.buttonArea a {
	display: inline-block;
  padding: 1rem 1.5rem;
  margin-bottom: 10px;
  background-color: #308FCB;
  font-size: 1.25rem;
  color: #FFFFFF !important;
  text-decoration: none !important;
  border-radius: 8px;
  box-sizing: border-box;
}

.buttonArea a:link,
.buttonArea a:visited {
  color: #FFFFFF;
}


/* text link
===================================================== */
a.txtlink_icon,
a .txtlink_icon,
.txtlink_icon a {
  display: inline-block;
  padding-left: 17px;
  background-image: url(../images/ico_txtlink.png);
  background-position: left center;
  background-repeat: no-repeat;
}


/* box style
===================================================== */
.frame_style01 {
	padding: var(--mgn-small);
	border: 2px solid #DDDDDD;
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.frame_style02 {
	padding: var(--mgn-small);
  background: var(--main-bg-color);
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.frame_style03 {
	padding: var(--mgn-small);
  border: 2px solid var(--main-flame-color);
	background: var(--main-bg-color);
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.frame_style01 p,
.frame_style02 p,
.frame_style03 p {
	margin-top: 0;
}
.frame_style01 p:last-child,
.frame_style02 p:last-child,
.frame_style03 p:last-child {
	margin-bottom: 0;
}

.entry ul {
	padding-left: 1em;
}
.entry ul li {
	position: relative;
	list-style: none;
	padding-left: 1rem;
}

.entry ul li::before {
	content: '■';
	font-size: 0.7rem;
	color: #CCCCCC;
	position: absolute;
	left: 0;
	top: 0.3rem;
}

.entry table ul {
	padding-left: 0.5em;
}

@media screen and (max-width: 640px) {
	.entry ul {
		padding-left: 0;
	}
}

.attention {
	color:#CC0000;
	font-size: 0.875rem;
	margin-top: var(--mgn-middle);
}

/* table
===================================================== */

.entry > table {
	margin-top: var(--mgn-middle);
}


/* ================================================
   ================================================
   RESPONSIVE
   ================================================
================================================ */

@media screen and (min-width: 1000px) {
	#entry img {
		width: 100%;
	}
}

@media screen and (max-width: 1000px) {
	.archive {
		padding: 0.7rem;
	}
}

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

	.slider_gal_01 .slick-dots {
		flex-wrap: wrap;
		gap: 0.5rem;
		margin-top: 0.5rem;
	}

	.slider_gal_01 .slick-dots li {
		max-width: calc((100% / 4) - 0.38rem);
	}

	.premium_photo.slider_gal_01 .slick-dots li {
		max-width: calc((100% / 5) - 0.4rem);
	}

	.related_post ul {
		flex-wrap: wrap;
	}

	.related_post ul li {
		width: calc((100% / 2) - 4px);
	}

	/* coupon ------------------*/
	.coupons {
		flex-wrap: wrap;
		gap: 10px;
		background-size: 60% auto;
	}
	.coupons > span,
	.coupons > span p {
		width: 100%;
	}
	.coupons > small {
		width: 100%;
		padding-bottom: 40px;
	}

	.coupons > small ul {
		padding-left: 2em;
		padding-right: 1em;
	}

}

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

	.basic_info dt {
		min-width: 100%;
		border-right: 1px solid #CCCCCC;
	}

	.basic_info dd {
		min-width: 100%;
	}

	.basic_info dt:last-of-type {
		border-bottom-style: none;
	}

	.entry blockquote {
		padding: 3.5em 1.5em 1em 1.5em;
		margin: 0;
	}

	.shop_appendix {
		display: block;
	}

	.shop_appendix dt {
		padding: 0;
		margin: 0;
		width: 100%;
		font-weight: 900;
		position: relative;
	}

	.shop_appendix dt::after {
		display: none;
	}

	.shop_appendix dd {
		padding: 0;
		margin-bottom: 1em;
		width: 100%;
	}
	.shop_appendix dd:last-of-type {
		margin-bottom: 0;
	}

	.shop_appendix dd::before {
		display: none;
	}

	.slider_gal_01 figure figcation {
		line-height: 1.3;
	}

	.acf-map {
		aspect-ratio: 1 / 1;
	}

	.mark_in {
		padding: 0.2rem;
	}

	a.mark_wrap h2 {
		font-size: 0.875rem;
	}

	.mark_in div dl {
		font-size: 0.75rem;
		line-height: 1.4;
	}

	#searchrefine_wrap h2 {
		font-size: min(5.666vw, 1.5rem);
		background: var(--main-color);
		padding: 0.2rem 1rem;
		margin: 0.5rem 0 0;
		color: #fff;
		position: relative;
	}

	#searchrefine_wrap h2::after {
		position: absolute;
		right: 1rem;
	}

	#searchrefine_wrap h2.plus::after {
		content: '\ff0b';
	}

	#searchrefine_wrap h2.minus::after {
		content: '\30fc';
	}

	#searchrefine_box dl {
		display: block;
	}

	#searchrefine_box dt {
		width: 100%;
		padding: 0 0.5rem;
	}

	#searchrefine_box dd {
		width: 100%;
		padding: 0 0.5rem;
		margin-top: 0;
	}

	#searchrefine_box dd label {
		padding: 0.2rem 1rem;
	}

	#searchrefine_box dd span label {
		padding: 0;
	}

	.searchrefine_btn {
		margin: 0 3%;
		padding: 4%;
	}

	.searchrefine_btn button {
		font-size: 5vw;
	}

	.related_post ul li h2 {
		font-size: 0.75rem;
	}

	.reserveArea {
		flex-wrap: wrap;
	}

	.reserveArea a.hotpepperBtn {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	dl + .reserveArea,
	.tab_info + .reserveArea {
		padding-top: 5px;
	}

	.reserveArea span {
		width: 80%;
		max-width: 300px;
	}

	.reserveArea span a {
		width: 100%;
	}

	.box.menus table {
		line-height: 1.5;
		table-layout: fixed;
	}

	.box.menus > table > tbody > tr > th,
	.box.menus > table > tbody > tr > td {
		display: block;
		width: 100% !important;
		border-style: none;
	}

	.box.menus > table > tbody > tr > th {
		white-space: normal;
	}
	.box.menus > table > tbody > tr > td {
		padding: 1.5rem 0rem 2rem;
	}

	.box.menus table td ul {
		padding-left: 1.5em;
	}

	.box.menus table td p:last-child,
		.box.menus table td ul:last-child {
		margin-bottom: 0;
	}

	.box.menus table td table {
		margin-top: 0.5rem;
	}

}

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

	.img_large,
	.img_middle,
	.img_small
	 {
		width: 100% !important;
	}

	.entry .img_text {
		display: block;
	}

	.entry .img_text span {
		display: block;
		margin-top: var(--mgn-middle);
	}

	#entry_list section ul li a p {
		clear: both;
		padding-top: 1rem;
	}

	.errorcheckbox_in ul li .wpcf7-list-item span {
		display: flex;
		order: 1;
		font-size: 0.875rem;
		padding-left: 1.5rem;
		position: relative;
	}

	.sns_share ul li {
		max-width: 5rem;
	}

	.sns_share ul li img {
		width: 1rem;
	}

	#entry_list section ul li a figure {
		width: 30%;
	}

	#entry_list section ul li a .type-info {
		width: 67%;
	}

	.author_info {
		display: block;
		padding: 1.5rem;
	}

	.author_info .author_photo b {
		margin: 0;
	}

	.author_info .author_photo {
		max-width: 100%;
	}

	#entry_list section ul li a figure {
		float: none;
		width: 100%;
		max-width: 100%;
		margin-right: 0;
		margin-bottom: 1rem;
		text-align: center;
	}

	#entry_list section ul li a .type-info {
		width: 100%;
	}

	#entry_list section ul li a p {
		padding-top: 0;
	}

	.mark_in {
		display: block;
		width: 100% !important;
	}

	.mark_in figure {
		width: 90% !important;
		margin: 0 auto 0.8rem;
	}

	.mark_in div dl dt,
	.mark_in div dl dd {
		width: 100%;
	}

	.errorcheckbox_in ul {
		font-size: 0.75rem !important;
	}

}


/* ================================================
   ================================================
   form common
   ================================================
================================================ */

/* form detail
===================================================== */
dl#formLst {
  width: 100%;
  margin-top: 40px;
  padding-left: 30px;
  padding-right: 30px;
  margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	/*color: #555555;*/
}

dl#formLst dt {
	width: 14em;
	padding-top: 1.6em;
	padding-bottom: 1em;
	padding-right: 0;
	padding-left: 0;
	margin: 0px;
	border-bottom: 1px solid #DEDEDE;
	font-weight: normal;
	box-sizing: border-box;
}

dl#formLst dd {
	width: calc(100% - 14em) ;
  padding-top: 1.5em;
  padding-bottom: 1em;
  padding-right: 0;
  margin: 0;
  border-bottom: 1px solid #DEDEDE;
  box-sizing: border-box;
}

dl#formLst dt:last-of-type,
dl#formLst dd:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

dl#formLst.formWidthAjust dt {
	width: 18em;
}
dl#formLst.formWidthAjust dd {
	width: calc(100% - 18em) ;
}

dl#formLst .ss,
dl#formLst .formTell {
	display: flex;
}
dl#formLst .formTell span {
	width: 9em;
}

dl#formLst ::placeholder {
  color: #BBBBBB;
}

#formLst .formMust,
#formLst .formNoMust {
  color: #FFFFFF;
  font-size: 68.8%;
  padding-top: 0.4em;
  padding-right: 0.3em;
  padding-left: 0.3em;
  padding-bottom: 0.3em;
  line-height: 100%;
  margin-top: 0px;
  margin-right: 0.7em;
  margin-bottom: 0.2em;
  margin-left: 0px;
  border-radius: 2px;
  vertical-align: middle;
  display: inline-block;
}
#formLst .formMust {
	background-color: #A91605;
}
#formLst .formNoMust {
	background-color: #999999;
}

#formLst .formBoxMgn {
  margin-bottom: 5px;
}

#formLst input,
#formLst select,
#formLst textarea {
	border-color: #BBBBBB;
	border-width: 1px;
	border-style: solid;
	padding-top: 0.4em;
	padding-right: 0.5em;
	padding-left: 0.5em;
	padding-bottom: 0.4em;
	margin-bottom: 0.5em;
	font-size: 100%;
	box-sizing: border-box;
	height: auto;
}

#formLst input.wpcf7-file {
	border: none;
	padding: 0;
}

#formLst select {
  color: #444444 !important;
  margin-right: 5px;
}

#formLst .wpcf7-not-valid-tip {
	font-size: 0.75rem;
}

.has-black-color {
	color: #000000;
}

.has-cyan-bluish-gray-color {
	color: #abb8c3;
}

.has-white-color {
	color: #ffffff;
}

.has-pale-pink-color {
	color: #f78da7;
} 

.has-vivid-red-color {
	color: #CF2E2E;
}

.has-luminous-vivid-orange-color {
	color: #ff6900;
}

.has-luminous-vivid-amber-color {
	color: #fcb900;
}

.has-light-green-cyan-color {
	color: #7bdcb5;
}

.has-vivid-green-cyan-color {
	color: #00d084;
}

.has-pale-cyan-blue-color {
	color: #8ed1fc;
}

.has-vivid-cyan-blue-color {
	color: #0693e3;
}

.has-vivid-purple-color {
	color: #9b51e0;
}

.has-small-font-size {
	font-size: 0.9rem;
}

#formLst .line_03 textarea,
#formLst .line_05 textarea,
#formLst .line_10 textarea {
	width: 100%;
}

#formLst .line_03 small,
#formLst .line_05 small,
#formLst .line_10 small {
	display: block;
	line-height: 1.3rem;
}

#formLst .line_03 textarea {
	height: 5.5rem !important;
}

#formLst .line_05 textarea {
	height: 7rem !important;
}

#formLst .line_10 textarea {
	height: 12rem !important;
}

#autozip {
  background-color: var(--main-color) !important;
}

/* tinymce
===================================================== */

/*--------------------------- form size ---------------------------*/
#formLst .formWidth01 {
	width: 90%;
}
#formLst .formWidth02 {
	width: 50%;
}
#formLst .formWidth03 {
	width: 18%;
}
#formLst .formWidth04 {
	width: 25%;
}
#formLst .formWidth05 {
	width: 90%;
}
#formLst .formWidthZip {
	width: 7em;
}
#formLst .formWidthTel {
	width: 8em;
}

/*--------------------------- form button ---------------------------*/
#formBtnArea {
  width: 100%;
  text-align: center;
}

#formBtnArea .wpcf7-list-item input[type="checkbox"]::before {
	left: -1.5em;
}
#formBtnArea .wpcf7-list-item input[type="checkbox"]::after {
	left: -1.2em;
}

#formBtnArea input.wpcf7-submit,
#formBtnArea input.wpcf7c-btn-confirm,
#formBtnArea input.wpcf7c-btn-back {
  display: inline-block;
  width: 260px;
  height: 52px;
  text-align: center;
  background-color: #177BA4;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  font-size: 112.5%;
  border-radius: 5px;
  border-style: none;
  color: #FFFFFF;
  margin-left: 10px;
  margin-right: 10px;
  vertical-align: middle;
  overflow:visible;
  font-family: inherit;
	outline: none;
}

#formBtnArea input.wpcf7-submit {
	width: 200px;
	opacity: 0.3;
}

#formBtnArea input.wpcf7c-btn-back {
	width: 200px;
	background-color: #666666;
}

#formBtnArea [data-name="acceptance"] label {
	font-weight: normal;
	opacity: 0.3;
	cursor: no-drop;
}

#formBtnArea [data-name="acceptance"] label input.acceptance_on {
	cursor: no-drop !important;
}

#formBtnArea [data-name="acceptance"] label.entered {
	opacity: 1;
	cursor: pointer;	
}

#formBtnArea [data-name="acceptance"] label.entered input.acceptance_on {
	cursor: pointer !important;
}

.wpcf7-spinner {
	display: block !important;
}

span.wpcf7-not-valid-tip {
	color: #CC0000;
}
div.wpcf7 form.invalid .wpcf7-response-output {
	padding: 20px;
	border: 1px solid #CC0000;
	color: #CC0000;
	text-align: center;
}

div.wpcf7 form.sent .wpcf7-response-output {
  padding: 20px;
  border: 2px solid var(--main-color);
  color: var(--main-color);
  text-align: center;
}

div.wpcf7 form .wpcf7-not-valid {
  background-color: rgba(254,232,232,1.00) !important;
}

div.wpcf7 form .wpcf7c-conf {
  background-color: rgb(232, 240, 254) !important;
}

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

	dl#formLst {
		margin-top: 20px;
		padding-left: 0px;
		padding-right: 0px;
		margin-bottom: 30px;
		flex-direction: column;
	}
	dl#formLst dt {
		width: 100%;
		padding-top: 15px;
		padding-bottom: 0px;
		border: none;
	}

	dl#formLst dd {
		width: 100%;
		padding-left: 0em;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	#formLst .formBoxMgn {
		margin-bottom: 5px;
	}

	#formLst input,
	#formLst select,
	#formLst textarea {
		margin-bottom: 0.8em;
	}
	#formLst select {
		margin-right: 0px;
	}

	/* form size ----------*/
	#formLst .formWidth01,
	#formLst .formWidth02 {
		width: 100%;
	}
	#formLst .formWidth03 {
		width: 50%;
	}
	#formLst .formWidth04 {
		width: 60%;
	}

	/* form button ----------*/
	#formBtnArea input.wpcf7c-btn-confirm {
		width: 80%;
	}
	#formBtnArea input.wpcf7-submit {
		width: 80%;
		max-width: 300px;
	}

}
