@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
  font-weight: 400;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table { border-collapse: collapse; border-spacing: 0;}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-bottom: 1px dotted #464646;
	margin: 0;
	padding: 0;
}
input:not([type='radio']), select { vertical-align: middle;}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	image-rendering: auto;
}
*, *:before, *:after { box-sizing: border-box;}


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Zen Maru Gothic", sans-serif;
	color: #4C5310;
	font-size: 1em;
	line-height: 1.6;
	position: relative;
}

.fo_kiwi { font-family: "Kiwi Maru", serif;}

p { margin-bottom: 30px;}
p:last-child { margin-bottom: 0px;}

a { color: #4C5310; text-decoration: none;}
a:hover { color: #909E0E;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo095 { font-size: 0.95em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}
.fo20 { font-size: 2em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.ls005 { letter-spacing: 0.05em;}
.ls01 { letter-spacing: 0.1em;}

.fo_white { color: #FFFFFF;}
.fo_green { color: #909E0E;}

.medium, .medium * { font-weight: 500;}
.bold, .bold * { font-weight: 700;}

.break_keep { word-break: keep-all; overflow-wrap: anywhere;}

/* ボックス */
.cont1000 { max-width: 1030px; padding: 0px 15px; margin: auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.z-1 { z-index: -1;}
.z50 { z-index: 50;}

.ta_center { text-align: center !important;}
.ta_right { text-align: right !important;}
.ta_left { text-align: left !important;}
.ta_right-s_center { text-align: right !important;}
.ta_left-s_center { text-align: left !important;}
.ta_center-s_left { text-align: center !important;}

.back_white { background-color: #fff !important;}
.back_cream { background-color: #FEFDF6 !important;}
.back_orange { background-color: #CE993C !important;}

.dot01 { border: none; height: 30px; background: url("../images/common/line01.svg") repeat-x center center; background-size: auto 100%;}
.dot02 { border: none; height: 30px; background: url("../images/common/line02.svg") repeat-x center center; background-size: auto 100%;}

@media print,  (min-width: 769px) {
	.hidden_l { display: none !important;}
}

/* リスト */
.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb120-80 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */
.header .box01 { display: flex; justify-content: space-between; background: url("../images/common/line01.svg") repeat-x center center; background-size: auto 30px;}
.header_logo a { display: block; background: url("../images/common/header_logo_bg.svg") no-repeat right bottom; background-size: calc(100% + 0.4em) calc(100% + 0.4em); padding: 1.3em 1.8em 1.4em 1.3em;}

.header_btn { display: flex; gap: 0.3em;}
.header_btn a { color: #fff; display: block;}
.header_btn li:nth-child(1) a { background: url("../images/common/header_tel_bg.svg") no-repeat left bottom; background-size: 100% calc(100% + 0.5em); padding: 0.1em 1em 0.8em 1.5em;}
.header_btn .tel .text01 { background: url("../images/common/ico_tel.svg") no-repeat left center; background-size: 1.05em auto; font-size: 2em; padding-left: 1.4em;}
.header_btn li:nth-child(2) a, .header_btn li:nth-child(3) a { font-size: 0.75em; letter-spacing: 0.05em; padding: 5.5em 0 1.1em; width: 8.5em;}
.header_btn li:nth-child(2) a { background: url("../images/common/ico_mail.svg") no-repeat center 35%, url("../images/common/header_btn_bg01.svg") no-repeat center bottom; background-size: 4em auto, 100% calc(100% + 0.5em);}
.header_btn li:nth-child(3) a { background: url("../images/common/ico_cart.svg") no-repeat center 25%, url("../images/common/header_btn_bg02.svg") no-repeat left bottom; background-size: 4.5em auto, calc(100% + 0.5em) calc(100% + 0.5em);}


/* ------------------------
	グローバルナビ
------------------------ */
.gn { display: flex; justify-content: center; align-items: center; gap: 2em;}
.gn li { position: relative;}
.gn li:first-child::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  width: 100vw;
  height: 30px;
  transform: translate(-100%, -50%);
  background: url("../images/common/line01.svg") repeat-x right center;
}
.gn li:last-child::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 100vw;
  height: 30px;
  transform: translate(100%, -50%);
  background: url("../images/common/line01.svg") repeat-x left center;
}
.gn a { display: block; text-decoration: none; background-repeat: no-repeat; background-position: center top; background-size: auto 4em; padding: 4.5em 1em 0; transition: 0.3s; font-weight: 700;}
.gn li:nth-child(1) a { background-image: url("../images/common/gn01.svg"); width: 8em;}
.gn li:nth-child(2) a { background-image: url("../images/common/gn02.svg");}
.gn li:nth-child(3) a { background-image: url("../images/common/gn03.svg");}
.gn li:nth-child(4) a { background-image: url("../images/common/gn04.svg");}
.gn li:nth-child(5) a { background-image: url("../images/common/gn05.svg");}
.gn a:hover { transform: translateY(-0.3em);}

.clone-nav, .under .gn {
	position: fixed;
	top: 0;
	left: 50%;
	z-index: 9999;
	padding: 1.5em 0.6em;
	transition: .3s;
	transform: translateY(-100%);
  margin-left: -19em;
}
.clone-header, .under .box01 {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
  display: flex;
  justify-content: space-between;
	transition: .3s;
	transform: translateY(-100%);
	background: #fff;
}
.is-show { transform: translateY(0);}
.under .gn, .under .box01 { position: absolute; transform: none;}

.clone-nav.gn, .under .gn { font-size: 0.95em;}
.clone-nav.gn li:before, .clone-nav.gn li:after,
.under .gn li:before, .under .gn li:after { display: none;}
.clone-nav.gn a, .under .gn a { background-size: auto 3em; padding: 3.5em 0 0;}
.clone-nav.gn li:nth-child(1) a, .under .gn li:nth-child(1) a { width: 4.5em;}

.clone-header, .under .box01 { background: url("../images/common/header_bg.svg") no-repeat center bottom; background-size: 100% 100%; padding: 0.7em 1em 1em; align-items: center;}
.clone-header a, .under a { transition: 0.3s;}
.clone-header a:hover, .under a:hover { opacity: 0.7;}
.clone-header .header_logo a, .under .header_logo a { padding: 0; background: none;}
.clone-header .header_logo img, .under .header_logo img { width: auto; height: 3.5em;}
.clone-header .header_btn li:nth-child(1), .under .header_btn li:nth-child(1) { display: none;}
.clone-header .header_btn li:nth-child(2) a, .clone-header .header_btn li:nth-child(3) a,
.under .header_btn li:nth-child(2) a, .under .header_btn li:nth-child(3) a { padding: 4.7em 0 1.1em; width: 8em; height: 8em; letter-spacing: -0.03em;}
.clone-header .header_btn li:nth-child(2) a,
.under .header_btn li:nth-child(2) a { background: url("../images/common/ico_mail.svg") no-repeat center 35%, url("../images/common/header_btn_bg01_02.svg") no-repeat center center; background-size: 3em auto, 100% auto;}
.clone-header .header_btn li:nth-child(3) a,
.under .header_btn li:nth-child(3) a { background: url("../images/common/ico_cart.svg") no-repeat center 30%, url("../images/common/header_btn_bg02_02.svg") no-repeat center center; background-size: 3.5em auto, 100% auto;}

/* 初期は通常ロゴのみ表示 */
.clone-header .logo--green { display: none; }
.clone-header.is-green .logo--normal { display: none; }
.clone-header.is-green .logo--green  { display: inline; } /* もしくは display:block; */

 /* 必要なら縦横の差を吸収 */
.clone-header .logo-wrap > * { vertical-align: middle; }

@media only screen and (max-width: 1200px) {
  .header_logo img { width: auto; height: 3.5em;}
  .clone-header .header_logo img, .under .header_logo img { height: 3em;}
  .header .box01, .gn, .clone-header.box01, .under .box01 { font-size: min(1.5vw,1em) !important ;}
  .clone-nav.gn, .under .gn { font-size: min(1.3vw,0.95em) !important;}
}


/* ------------------------
	フッター
------------------------ */

.footer_nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 1em 7%;}
.footer_nav a { font-weight: 500;}

.footer .list01 { display: flex; justify-content: center; gap: 1.7em; font-size: min(1.6vw,1em);}
.footer .list01 a { display: block; color: #fff; background: url("../images/common/ico_mail.svg") no-repeat 2em center, url("../images/common/footer_btn_bg01.svg") no-repeat center center; background-size: 4em auto, 100% 100%; padding: 1.8em 3em 1.8em 7.3em;}
.footer .list01 li:last-child a { background-image: url("../images/common/ico_tel.svg"), url("../images/common/footer_btn_bg02.svg"); background-size: 3.5em auto, 100% 100%; padding: 1.6em 3em 1.6em 7.3em;}
.footer .list01 li:last-child dl { display: flex; align-items: center; gap: 1em;}
.footer .list01 li:last-child dt { font-size: 2em; line-height: 1;}

.footer .box01 { display: flex; justify-content: center; align-items: center; gap: 5%;}
.footer .box02 { background-image : linear-gradient(to right, #CAD18B, #CAD18B 0.6em, transparent 0.6em, transparent 0.2em), linear-gradient(to left, #CAD18B, #CAD18B 0.6em, transparent 0.6em, transparent 0.2em); background-size: 1em 2px, 1em 2px; background-position: left top, right bottom; background-repeat: repeat-x, repeat-x; padding: 1em 0;}
.footer .box02 dl { display: flex;}
.footer .box02 dl:not(:last-child) { margin-bottom: 0.5em;}
.footer .box01 dt { width: 4em;}
.footer .box01 dd { flex: 0 0 auto;}

.copy { padding: 2em 0 1.5em;}
.copy:before { content: ""; position: absolute; display: block; background: url("../images/common/footer_bg01.svg") repeat-x center bottom; background-size: auto 100%; width: 100%; left: 0; height: 1.1em; top: -1.05em;}
.copy a { color: #fff;}
.copy a:hover { text-decoration: underline;}

.pagetop { right: 30px; bottom: 0px; padding-bottom: 90px; z-index: 9999;}

@media only screen and (max-width: 1000px) {
  .pagetop { width: 13%; min-width: 95px; right: 5%}
}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.viewer { width: 100%; position: relative;}
.viewer ul { width: 100%; overflow: hidden; position: relative;}
.viewer ul li { top: 0; left: 0; width: 100%; position: absolute;}
.viewer ul li img { width: 100%;}

.slide_wrap .text_wrap { width: 7%; right: 22%; top: -4%; display: flex; flex-flow: row-reverse;}
.slide_wrap .text_wrap figure:last-child { margin-top: 50%;}
.slide_wrap .il01 { top: -30px; left: 0;}
.slide_wrap .il02 { bottom: 27%; left: 18%;}
.slide_wrap .il03 { bottom: -20px; left: 12%;}
.slide_wrap .il04 { top: 35%; right: 13%;}
.slide_wrap .il05 { top: 48%; right: 5%;}

.slide_wrap02 { width: 60%; margin: auto;}

@media only screen and (max-width: 1300px) {
  .slide_wrap .text_wrap { width: 10%; right: 13%; top: -7%;}
  .slide_wrap02 { width: 80%;}
  .slide_wrap .il04 { width: 5%; top: 15%; right: 2%;}
  .slide_wrap .il05 { width: 9%; top: 32%; right: 4%;}
}

@media only screen and (max-width: 1150px) {
  .slide_wrap .il01 { width: 18%; top: -10%;}
  .slide_wrap .il02 { width: 5%; bottom: 27%; left: 13%;}
  .slide_wrap .il03 { width: 11%; bottom: 1%; left: 8%;}
}

.top_sec01 { background: #F2F1E4; padding: 100px 0;}
.top_sec01:before { content: ""; position: absolute; background: url("../images/top/top_sec01_bg01.svg") repeat-x center bottom; background-size: auto 100%; left: 0; right: 0; top: -0.95em; height: 1em;}
.top_sec01:after { content: ""; position: absolute; background: url("../images/top/top_sec01_bg02.svg") repeat-x center bottom #fff; background-size: auto 100%; left: 0; right: 0; bottom: 0; height: 2em;}
.top_sec01 .img01 { bottom: -130px; left: -5%;}
.top_sec01 .box01 { background: url("../images/top/top_sec01_bg03.svg") no-repeat center center; background-size: 100% 100%; padding: 70px 4%;}
.top_sec01 h2 { background: url("../images/top/top_sec01_line.svg") no-repeat center bottom; background-size: 100% 4px; font-size: 2em; padding-bottom: 0.5em;}
.top_sec01 h2 img { vertical-align: middle; width: 1.3em;}
.top_sec01 article { padding: 2em 0.5em; background-image : linear-gradient(to left, #CE993C, #CE993C 0.6em, transparent 0.6em, transparent 0.2em); background-size: 1em 2px; background-position: right bottom; background-repeat: repeat-x; position: relative; gap: 1.5em;}
.top_sec01 article:before, .top_sec01 article:after { content: ""; position: absolute; width: 0.65em; height: 0.65em; border-radius: 50%; background: #CE993C; bottom: 0; margin-bottom: -0.325em;}
.top_sec01 article:before { left: -0.5em;}
.top_sec01 article:after { right: -0.5em;}
.top_sec01 article dl { display: flex;}
.top_sec01 article dt { width: 9em;}
.top_sec01 article dd { flex: 1; align-self: center;}

.top_sec02 h2 { background: url("../images/top/top_sec02_line.svg") no-repeat center bottom; background-size: 12.5em auto; font-size: 2em; padding-bottom: 0.8em;}
.top_sec02 h2 .narrow { margin: 0 -0.07em;}
.top_sec02 .img01 { top: 53%; left: 9%;}
.top_sec02 .img02 { bottom: 30px; left: 0;}
.top_sec02 .img03 { bottom: -30px; right: 0;}

@media only screen and (max-width: 1000px) {
  .top_sec02 .img01 { width: 8%; left: 7%;}
  .top_sec02 .img02 { width: 12%; bottom: 6%; left: 2%;}
  .top_sec02 .img03 { width: 17%; right: 1%;}
}

.top_sec03 { padding: 90px 0 150px;}
.top_sec03:before { content: ""; position: absolute; width: 100%; height: 35px; left: 0; top: -35px; background: url("../images/top/top_sec03_bg01.svg") no-repeat center top; background-size: 100% 100%;}
.top_sec03 .box01 { display: flex; justify-content: space-between; gap: 5%;}
.top_sec03 .box01 .box_inner01 { width: 370px;}
.top_sec03 .box01 .box_inner02 { flex: 1;}
.top_sec03 iframe { width: 100%; height: 360px;}
.top_sec03 dl { display: flex; gap: 2em;}
.top_sec03 dt { width: 5.5em; padding-left: 1.5em;}
.top_sec03 dt:before { content: ""; position: absolute; width: 0.75em; height: 0.75em; border-radius: 50%; background: #E3785E; left: 0; top: 0.45em; }
.top_sec03 dd { flex: 1;}
.top_sec03 .btn_area a { display: inline-block; background: url("../images/common/ico_link_red.svg") no-repeat calc(100% - 0.3em) 0.5em, url("../images/top/top_sec03_line.svg") repeat-x left bottom; background-size: 0.7em auto, auto 4px; color: #E3785E; padding: 0 1.5em 0.4em 0; transition: 0.3s;}
.top_sec03 .btn_area a:hover { transform: translateX(0.3em);}
.top_sec03 .img01 { right: -80px; bottom: -100px;}

@media only screen and (max-width: 1200px) {
.top_sec03 .img01 { right: 10px; bottom: -160px;}
}

.line_text { display: table; margin: auto;}
.line_text:before, .line_text:after { content: ""; position: absolute; width: 1px; height: 1.6em; background: #4C5310; bottom: -0.2em;}
.line_text:before { transform: rotate(-45deg); left: -1.5em;}
.line_text:after { transform: rotate(45deg); right: -1.5em;}

.item_list { display: flex; flex-wrap: wrap; gap: 0 4%}
.item_list > li { width: calc(92% / 3); margin-bottom: 100px;}
.item_list .ico_new { left: 0; top: 0; transform: translate(-50%,-50%);}
.item_list h3 { text-align: justify;}
.item_list .text01 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3;}
.item_list .btn_area a { display: block; background:url("../images/common/ico_arrow_green.svg") no-repeat calc(100% - 1.3em) center, url("../images/common/item_btn_left.png") no-repeat left center, url("../images/common/item_btn_right.png") no-repeat right center, url("../images/common/item_btn.png") no-repeat 1.3em center; background-size: 0.4em auto, 1.3em 100%, 1.3em 100%, calc(100% - 2.6em) 100%; color: #909E0E; font-weight: 700; letter-spacing: 0.2em; padding: 0.5em; transition: 0.3s;}
.item_list .btn_area a:hover { transform: translateX(0.3em);}

.top_sec04 .img01 { bottom: -80px; left: -7%;}

@media only screen and (max-width: 1100px) {
  .item_list .ico_new { left: 0; top: 0; transform: translate(-15%,-15%);}
  .top_sec04 .img01 { left: 2%;}
}

.top_sec05 { background-image: image-set(url("../images/top/top_sec05_bg.webp") 1x, url("../images/top/top_sec05_bg@2x.webp") 2x); background-repeat: no-repeat; background-position: center bottom; background-size: 100% auto; padding: 150px 0 45%;}
.top_sec05 h2 { background: url("../images/top/top_sec05_line.svg") repeat-x left bottom; background-size: auto 4px; padding-bottom: 0.5em;}
.top_sec05 h2 img { width: 1.4em;}

.top_sec05 article { display: flex; padding: 2em 0; background-image : linear-gradient(to left, #8B7FBA, #8B7FBA 0.6em, transparent 0.6em, transparent 0.2em); background-size: 1em 2px; background-position: right bottom; background-repeat: repeat-x; position: relative; gap: 1.5em;}
.top_sec05 article:before, .top_sec05 article:after { content: ""; position: absolute; width: 0.65em; height: 0.65em; border-radius: 50%; background: #8B7FBA; bottom: 0; margin-bottom: -0.325em;}
.top_sec05 article:before { left: -0.5em;}
.top_sec05 article:after { right: -0.5em;}
.top_sec05 article figure { width: 28%;}
.top_sec05 article .box_inner { width: calc(72% - 1.5em);}
.top_sec05 article .text01 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3;}

.cat_list ul { display: flex; flex-wrap: wrap; gap: 0.4em;}
.cat a { display: block; background: url("../images/common/cat_green.svg") no-repeat center center; background-size: 100% 100%; color: #fff; font-size: 0.9em; line-height: 1.4; padding: 0.2em 0.7em; transition: 0.2s; text-decoration: none !important;}
.cat a:hover { opacity: 0.7;}
.cat.purple a, .cat .purple a { background-image: url("../images/common/cat_purple.svg") !important;}
.cat.green a { background-image: url("../images/blog/item_cat_bg_o.png");}
.cat.orange a { background-image: url("../images/common/cat_orange.svg");}

.cat_list.item ul { font-size: 1.2em; gap: 0.4em 0.8em;}
.cat.item a { background-image: url("../images/blog/item_cat_bg.png"); color: #909E0E; font-weight: 700; padding: 0.35em 1.2em;}
.cat.item a:hover, .cat.item .current-cat a { background-image: url("../images/blog/item_cat_bg_o.png"); color: #fff;}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

.show_sp { display: none;}
.over_hidden { overflow: hidden;}

.img_hover { overflow: hidden;}
.img_hover a img { transition: 0.3s;}
.img_hover a:hover img { transform: scale(1.05);}

/* 下層共通 */
.mainimage img { width: 100%;}
.mainimage:after { content: ""; position: absolute; width: 100%; height: 100%; left: 0; bottom: -1px; background: url("../images/common/main_bg.png") no-repeat center bottom; background-size: 100% auto;}

.pagettl { font-size: 2.5em; line-height: 1.4; letter-spacing: 0.05em; padding-bottom: 0.8em; background-image: repeating-linear-gradient(90deg, #909e0e, #909e0e 8px, transparent 8px, transparent 13px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 2px;}

.more_btn a {
	display: inline-block;
	background: url("../images/common/btn_green.svg") no-repeat center center;
	background-size: 100% 100%;
	text-align: center;
	color: #fff;
	font-size: 1.25em;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0.85em 2.5em 0.85em 1.5em;
	position: relative;
	transition: 0.3s;
}
.more_btn.long a { background-image: url("../images/common/btn_green_long.svg");}
.more_btn.orange a { background-image: url("../images/common/btn_orange.svg");}
.more_btn.purple a { background-image: url("../images/common/btn_purple.svg");}
.more_btn.red a { background-image: url("../images/common/btn_red.svg");}
.more_btn a:after { content: ""; position: absolute; background: url("../images/common/ico_arrow.svg") no-repeat center center; background-size: 100% auto; width: 0.35em; height: 0.6em; right: 1.3em; top: 50%; transform: translateY(-50%);}
.more_btn a:hover { transform: translateX(0.5em);}

/* animation */
.scroll_in { opacity: 0;}
.displayed { animation-fill-mode: both;}

.fadeInUp.displayed {
  animation-name: fadeInUp;
  animation-duration: 0.8s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px);}
  to { opacity: 1; transform: translateY(0);}
}

.pulse { display: inline-block; transform-origin: center bottom; animation: Pulse 1.5s steps(1, end) infinite;}
@keyframes Pulse {
  0%   { transform: rotate(0deg); }
  50%  { transform: rotate(3deg); }
  100% { transform: rotate(0deg); }
}

.horizontal { display: inline-block; transform-origin: center bottom; animation: Horizontal 1.5s steps(1, end) infinite;}
@keyframes Horizontal {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(0.5em); }
  100% { transform: translateX(0); }
}

.delay02s { animation-delay: 0.2s;}
.delay04s { animation-delay: 0.4s;}
.delay06s { animation-delay: 0.6s;}
.delay08s { animation-delay: 0.8s;}
.duration2s { animation-duration: 2s;}
.duration3s { animation-duration: 3s;}


/* ----------------------------
	固定ページテンプレート
---------------------------- */



/* ----------------------------
	contact
---------------------------- */

.contact_sec01 { max-width: 830px; margin: auto;}

.contact_sec dl { display: flex; align-items: center; gap: 1.5em; border-bottom: dashed 1px #ddd; padding: 1.5em 0;}
.contact_sec dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
	width: 12em;
	font-weight: bold;
}
.contact_sec dt.align_start { align-self: flex-start; padding-top: 0.5em;}
.contact_sec dt span {
	font-size: 0.7em;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	border-radius: 3px;
	padding: 5px;
}
.contact_sec dt .hissu { background-color: #CE993C;}
.contact_sec dt .ninni { background-color: #BED4E8;}
.contact_sec dd { flex: 1;}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec input[type="tel"], .contact_sec textarea, .contact_sec select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 1.1em;
	border: solid 2px #ddd;
	border-radius: 5px;
	padding: 5px;
	width: 100%;
}
.contact_sec select { font-size: 16px; -webkit-appearance: menulist-button; height: 40px; line-height: 40px;}
.contact_sec .width_auto input[type="text"], .contact_sec .width_auto input[type="tel"], .contact_sec .width_auto select { width: auto; max-width: 100%;}

.contact_sec .label_box .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 0.5em 2em; font-size: min(4vw,1em);}
.contact_sec .label_box .wpcf7-checkbox .wpcf7-list-item:nth-of-type(odd) { margin: 0; width: 9em;}
.contact_sec .label_box .wpcf7-checkbox .wpcf7-list-item:nth-of-type(even) { margin: 0; width: calc(100% - 12em);}

.contact_sec .btn_area input { display: inline-block; background: url("../images/common/ico_arrow.svg") no-repeat calc(100% - 1.5em) center, url("../images/common/btn_green.svg") no-repeat center center; background-size: 0.3em auto, 100% 100%; color: #fff !important; border: none; padding: 0.8em 2.7em 0.8em 2em; text-align: center; line-height: 1.6; font-weight: 500; text-decoration: none !important; transition: 0.3s; cursor: pointer; -webkit-appearance: none; font-size: 1.2em; margin: 0px 10px 10px; font-family: "Zen Maru Gothic", sans-serif;}
.contact_sec .btn_area input:hover { opacity: 0.7;}
.contact_sec .btn_area input:focus { outline: 0;}

.privacy_box { max-width: 750px; height: 250px; overflow-y: scroll; margin: auto; padding: 1.5em; border: solid 2px #ddd; border-radius: 0.7em;}

.wpcf7-spinner { display: block; margin: 20px auto;}
.wpcf7-not-valid-tip { display: inline-block;}
.label_block .wpcf7-list-item { display: block; margin-left: 0px;}


/* ------------------------
	投稿
------------------------ */

.blog_wrap { display: flex; justify-content: space-between; align-items: flex-start; max-width: 1230px; padding: 0px 15px; margin: auto;}
.contents { width: 66%;}
.rNavi { width: 26%;}

.topics_list { display: flex; flex-wrap: wrap; column-gap: 1.5em;}
.topics_list > li { width: calc((100% - 3em) / 3);}
.topics_list .ico_new { left: -10px; transform: translateY(-50%); top: 0; z-index: 50;}


/* サイドバー */
.rNavi h2 { background-image: repeating-linear-gradient(90deg, #909E0E, #909E0E 8px, transparent 8px, transparent 13px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 2px; padding-bottom: 1em;}

.side_sec01 dl { background-image: repeating-linear-gradient(90deg, #909E0E, #909E0E 8px, transparent 8px, transparent 13px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 2px; padding-bottom: 1.3em; margin-bottom: 1em;}

.rNavi .side_sec02:not(.side_sec03) h2 { background-image: repeating-linear-gradient(90deg, #8B7FBA, #8B7FBA 8px, transparent 8px, transparent 13px);}
.side_sec02 li { margin-bottom: 8px;}

.side_sec02 .cat_list { font-size: 1.25em; gap: 0.4em;}
.side_sec02 .cat a { background-image: url("../images/blog/side_cat_bg_o.svg"); color: #8B7FBA; padding: 0.1em 1em 0.2em; opacity: 1;}
.side_sec02 .cat a:hover, .side_sec02 .cat .current-cat a { background-image: url("../images/blog/side_cat_bg.svg"); color: #fff;}

.side_sec03 .cat_list { font-size: 0.95em;}
.side_sec03 .cat a { background-image: url("../images/blog/item_cat_bg.png"); color: #909E0E;}
.side_sec03 .cat a:hover { background-image: url("../images/blog/item_cat_bg_o.png");}

.side_sec04 select {
	width: 100%;
  padding: 0 1em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
  color: #909E0E;
  text-align: center;
	font-size: 16px;
	background-color: #fff;
	border-radius: 60px;
	border: solid 2px #909E0E;
	appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url("../images/common/select_arrow.svg") no-repeat calc(100% - 1em) center;
  background-size: 0.8em auto;
	height: 60px;
	line-height: 60px;
}
.side_sec04 select:focus { outline: none;}


/* 記事ヘッダー */
.blog_header h1 { background: url("../images/blog/line_green.svg") repeat-x center bottom; background-size: auto 4px; font-size: 2.3em; padding-bottom: 0.6em;}
.blog_header .cat_list ul { align-items: center;}
.blog_header .cat .purple a { font-size: 1.15em;}

/* 本文 */
.blog_content { line-height: 2;}

.blog_content p:last-child { margin-bottom: 30px;}

.s_copy { font-family: "Kiwi Maru", serif; display: table; margin: 0 auto 0.3em; position: relative;}
.s_copy:before, .s_copy:after { content: ""; position: absolute; width: 1.1em; height: 1.5em; background: url("../images/blog/s_copy.svg") no-repeat center center; background-size: 100% auto; bottom: 0;}
.s_copy:before { left: -2em;}
.s_copy:after { right: -2em; transform: scale(-1,1);}

.blog_content h2 {
	font-size: 2em;
  font-weight: 500;
	line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h3 {
	font-weight: 500;
	font-size: 2em;
	line-height: 1.5;
  letter-spacing: 0.05em;
	padding-bottom: 0.7em;
	background: url("../images/blog/line_green.svg") repeat-x center bottom;
  background-size: auto 3px;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h3.no_border { background: none; text-align: center; font-weight: 700; padding-bottom: 0;}
.blog_content h4 {
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h5 {
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h5:before { content: ""; display: inline-block; background: url("../images/blog/h5_grape.svg") no-repeat center center; background-size: 100% auto; width: 1.4em; height: 1.4em; vertical-align: middle; margin-right: 0.5em;}
.blog_content h5.pear:before { background-image: url("../images/blog/h5_pear.svg");}
.blog_content h5.lady:before { background-image: url("../images/blog/h5_lady.svg"); width: 1.25em; height: 1.25em; margin-top: -0.3em;}
.blog_content h6 {
	font-weight: 700;
	font-size: 1.3em;
	line-height: 1.5;
  letter-spacing: 0.05em;
  background: url("../images/blog/line_green.svg") repeat-x center top, url("../images/blog/line_green.svg") repeat-x center bottom;
  background-size: auto 2px;
  padding: 1em 0;
	clear: both;
	margin-bottom: 30px;
}

@supports (-webkit-touch-callout: none) {
  .blog_content h4, .blog_content h5, .blog_content h6 {
    font-weight: 600;
  }
}

/* 引用 */
.blog_content blockquote {
	position: relative;
	padding: 3.5em 6%;
  border: 1em solid transparent;
  border-image-source: url('../images/blog/blq_bg.png');
  border-image-slice: 30 fill;
  border-image-repeat: round;
  clear: both;
}
.blog_content blockquote:before, .blog_content blockquote:after { content: ""; position: absolute; background: url("../images/blog/ico_blq.svg") no-repeat center center; background-size: 100% auto; width: 1.3em; height: 1.3em; top: 2em;}
.blog_content blockquote:before { left: 4%;}
.blog_content blockquote:after { right: 4%; transform: scale(-1,1);}
.blog_content blockquote p:last-child { margin-bottom: 0px !important;}

.blog_content .no_icon blockquote { border-image-source: url('../images/blog/blq_bg02.png'); padding: 2.5em 4%;}
.blog_content .no_icon blockquote:before, .blog_content .no_icon blockquote:after { display: none;}

.blog_content cite { font-size: 0.9em; color: #909E0E; text-align: right; margin-bottom: -3.5em;}

:root :where(.wp-block-pullquote) { font-size: 1em; line-height: 2;}
.wp-block-pullquote { text-align: left;}

.blog_content hr { border: none; background: url("../images/blog/line_short.svg") no-repeat center center; background-size: auto 100%; height: 13px; margin: 60px 0;}
.blog_content hr.line01 { height: 3px; background: url("../images/blog/line_green02.svg") repeat-x center bottom;}
.blog_content hr.line02 { height: 2px; background-image: repeating-linear-gradient(90deg, #4C5310, #4C5310 8px, transparent 8px, transparent 13px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 2px;}

/* リスト */
.blog_content ul { margin-bottom: 30px; clear: both;}
.blog_content ul li { background: url("../images/blog/ico_list01.svg") no-repeat left 0.55em; background-size: 1em auto; padding-left: 1.5em; margin-bottom: 0.3em;}
.blog_content ul li ul { margin: 0.3em 0 0;}
.blog_content ul li li { background: url("../images/blog/ico_list02.svg") no-repeat left 0.7em; background-size: 0.75em auto; padding-left: 1.3em;}

.blog_content .list_check li { background: url("../images/blog/ico_check.svg") no-repeat left 0.6em; background-size: 0.9em auto;}

ol { margin-bottom: 30px; list-style: none; counter-reset: ol_li; font-family: "Kiwi Maru", serif;}
ol li { position: relative; padding-left: 1.5em;}
ol li:before { content: counter(ol_li) '.'; position: absolute; text-align: right; width: 1em; left: 0; top: 0; counter-increment: ol_li; color: #909E0E;}

/* テーブル */
.blog_content table { width: 100%; line-height: 1.8; clear: both; margin-bottom: 60px; font-family: "Kiwi Maru", serif;}
.blog_content th, .blog_content td { padding: 1em; vertical-align: middle; border: solid 1px #909E0E;}
.blog_content thead th { background: #F2F1E4; font-weight: 500;}
.blog_content tbody th { background: #CAD18B; font-weight: 500;}

.blog_content table.border { background-image: repeating-linear-gradient(90deg, #4C5310, #4C5310 5px, transparent 5px, transparent 10px); background-position: left top; background-repeat: repeat-x; background-size: 100% 1px;}
.blog_content table.border tr { background-image: repeating-linear-gradient(90deg, #4C5310, #4C5310 5px, transparent 5px, transparent 10px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px;}
.blog_content table.border th, .blog_content  table.border td { border: none;}
.blog_content table.border th { background: none; font-size: 1.2em; text-align: left;}

.wp-block-table thead { border-bottom: none;}

.blog_content iframe { width: 100%;}

.blog_content strong { font-weight: 500;}
.blog_content em { font-weight: 500; color: #E3785E;}
.blog_content em.line { font-weight: 500; color: #4C5310; background: url("../images/blog/line_green.svg") repeat-x left bottom; background-size: auto 3px; padding-bottom: 0.1em;}

.blog_content a { color: #56BAC9; word-break: break-all;}
.blog_content a:hover { color: #CAD18B;}

.blog_content a.icon { background: url("../images/common/ico_link_blue.svg") no-repeat left center; background-size: 0.85em auto; padding-left: 1.3em;}
.blog_content a.icon:hover { background-image: url("../images/common/ico_link_green.svg");}

.wp-block-button__link { display: inline-block; color: #909E0E !important; text-decoration: none !important; font-weight: 500; line-height: 1.6; background: url("../images/blog/btn01_left.png") no-repeat left center, url("../images/blog/btn01_right.png") no-repeat right center, url("../images/blog/btn01.png") no-repeat 2.2em center; background-size: 2.22em 100%, 2.22em 100%, calc(100% - 4.4em) 100%; padding: 1.15em 2.5em 1.15em 1.5em !important; position: relative; transition: 0.3s; border-radius: 0;}
.wp-block-button__link:after { content: ""; position: absolute; width: 0.4em; height: 0.8em; background: url("../images/common/ico_arrow_green.svg") no-repeat center center; background-size: 100% auto; right: 1.3em; top: 50%; transform: translateY(-50%);}
.wp-block-button__link:hover { transform: translateX(0.3em);}

.wp-block-button.is-style-outline .wp-block-button__link { background: url("../images/blog/btn02_long_left.png") no-repeat left center, url("../images/blog/btn02_long_right.png") no-repeat right center, url("../images/blog/btn02_long.png") no-repeat 2em center; background-size: 2.1em 100%, 2.1em 100%, calc(100% - 4em) 100%; color: #fff !important; border: none; background-clip: border-box; font-size: min(4.3vw,1.2em); padding: 1em 2.5em 1em 1.5em !important;}
.wp-block-button.is-style-outline .wp-block-button__link:after { background-image: url("../images/common/ico_arrow.svg");}


/* ブロックエディタ用 */
.radius01em img { border-radius: 1em;}

.wp-block-group, .wp-block-column { position: relative;}
.wp-block-group .is-layout-flex { align-items: flex-start !important;}
.img_left { position: absolute; right: 99%; bottom: 102%;}
.img_right { position: absolute; left: 99%; top: 95%;}
.img_left img, .img_right img { max-width: initial;}

.reverse .img_left { bottom: calc(102% - 4em);}
.reverse .img_right { top: calc(101% - 30px);}

.h3_img .wp-block-group__inner-container { display: flex; align-items: center; justify-content: center; gap: 2em;}
.h3_img h3 { order: 2; margin-bottom: 0 !important;}
.h3_img .h3_img01 { order: 1;}
.h3_img .h3_img02 { order: 3;}

.btn_img01 { position: absolute; right: 75%; top: 0;}
.btn_img02 { position: absolute; left: 75%; top: 0;}

@media only screen and (max-width: 1200px) {
  .img_left { right: auto; left: 1%;}
  .img_right { left: auto; right: 1%; top: 101%;}
}

.table_img .wp-block-group__inner-container { display: flex; align-items: center;}
.table_img .wp-block-table { max-width: 72%; order: 2;}
.table_img .wp-block-table table { margin-bottom: 0px !important;}
.table_img .table_img01, .table_img .table_img02 { width: 14%;}
.table_img .table_img01 { order: 1;}
.table_img .table_img02 { order: 3;}

.access_box dl { display: flex; gap: 2em;}
.access_box dt { width: 5.5em; padding-left: 1.5em; position: relative;}
.access_box dt:before { content: ""; position: absolute; width: 0.75em; height: 0.75em; border-radius: 50%; background: #E3785E; left: 0; top: 0.45em; }
.access_box dd { flex: 1;}
.access_box iframe { width: 100%; height: 520px;}
.map_btn a { display: inline-block; background: url("../images/common/ico_arrow_red.svg") no-repeat calc(100% - 0.3em) 0.6em, url("../images/top/top_sec03_line.svg") repeat-x left bottom; background-size: 0.3em auto, auto 4px; color: #E3785E !important; padding: 0 1.5em 0.4em 0; font-weight: 500; transition: 0.3s;}
.map_btn a:hover { transform: translateX(0.3em);}

/*WP用 投稿表示*/
img.aligncenter { display: block; margin: 0px auto 20px;}
img.alignright { margin: 0px 0 20px 20px; float: right;}
img.alignleft { margin: 0px 20px 20px 0; float: left;}

/* ページャー(アーカイブ) */
.pagination { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 0.5em;}
.pagination span.current, .pagination a {
	display: block;
	text-align: center;
	text-decoration: none;
	border-radius: 2em;
	min-width: 2em;
	height: 2em;
	line-height: 2em;
	padding: 0px 0.5em;
	color: #4C5310;
}
.pagination span.current, .pagination a:hover { background: #F2F1E4;}

/* 関連記事 */
.blog_related .more_btn a { padding: 0.8em 2.8em 0.8em 1.8em;}

.breadcrumb { background: url("../images/common/line01.svg") repeat-x center bottom; background-size: auto 30px; padding-bottom: 50px;}


/* ------------------------
	商品
------------------------ */

.item_single { display: flex; flex-flow: row-reverse; gap: 6%;}
.item_single .img_box { width: 41%;}
.item_single .box_inner { flex: 1}
.item_single .img_wrap { border-radius: 1em;}
.item_single .img_wrap img { width: 100%;}
.item_single .glry_list { display: flex; flex-wrap: wrap; gap: 10px;}
.item_single .glry_list li { width: calc((100% - 10px) / 2);}

.item_single h1 { font-size: 2.25em; line-height: 1.5;}
.item_single .cat_img { right: -100px; top: -80px;}

@media only screen and (max-width: 1150px) {
  .item_single .cat_img { right: 0px; top: -65px; width: 100px;}
}

.cartjs_box { padding: 0px !important;}
.cartjs_product_table { margin-bottom: 50px;}
.cartjs_product_table > table { width: 100% !important; margin: 0px !important; border-top: dashed 1px #4C5310 !important;}
.cartjs_product_table > table th, .cartjs_product_table > table td { vertical-align: middle; padding: 1.5em 1em !important;}
.cartjs_product_table > table th { font-weight: 500; width: 5em;}
.cartjs_product_table > table input { border: solid 1px #CE993C; text-align: right; border-radius: 3px;}
.cartjs_product_table > table td:after { content: " 点";}
.cartjs_product_table .colorme-option-tbl { border-top: dashed 1px #4C5310 !important; margin-bottom: 0 !important;}
.cartjs_product_table .colorme-option-tbl caption { display: none;}
.cartjs_product_table .colorme-option-tbl tr { border: none !important;}
.cartjs_product_table .colorme-option-tbl th { display: none;}
.cartjs_product_table .colorme-option-tbl td { border: none !important; border-bottom: dashed 1px #4C5310 !important; padding: 1.5em 1em !important; text-align: left;}
.cartjs_product_table .colorme-option-tbl td br { display: none;}

.item_single a { text-decoration: underline;}

.cartjs_cart_in input { font-family: "Kiwi Maru", serif; background: url("../images/common/ico_cart.svg") no-repeat calc(50% - 5em) center, url("../images/common/ico_arrow.svg") no-repeat calc(100% - 1.2em) center, url("../images/blog/btn02_long_left.png") no-repeat left center, url("../images/blog/btn02_long_right.png") no-repeat right center, url("../images/blog/btn02_long.png") no-repeat 1.5em center !important; background-size: 1.7em auto, 0.35em auto, 1.6em 100%, 1.6em 100%, calc(100% - 3em) 100% !important; font-weight: 500; font-size: min(2.5vw,1.6em) !important; display: block; height: auto !important; width: 100% !important; padding: 0.8em;}
.cartjs_cart_in input:hover, .cartjs_cart_in input:focus { outline: none !important;}

.soldout { text-align: center; font-size: 2em; color: #ff0000; font-weight: 500; margin: -20px 0 10px;}

/* tokutei */
.toku_box { display: flex; padding: 2em 0; background-image: repeating-linear-gradient(90deg, #909e0e, #909e0e 8px, transparent 8px, transparent 13px); background-position: left top; background-repeat: repeat-x; background-size: 100% 2px;}
.toku_box:first-of-type { background: none;}
.toku_box h2 { width: 33%; text-align: left; margin-bottom: 0;}
.toku_box .box_inner { flex: 1}
.toku_box .box_inner > *:last-child { margin-bottom: 0 !important;}
.toku_box ol li:before { top: 0.2em;}
.toku_box table { border: none;}
.toku_box th, .toku_box td { border: none; border-bottom: solid 1px #909E0E; text-align: left; background: none !important; vertical-align: top;}
.toku_box th { width: 14em;}

.blog_content .tokutei_table table { margin-bottom: 0px;} 
.blog_content .tokutei_table td { text-align: right;}


