@charset "utf-8";

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

	グローバル

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

body { min-width: 0px; font-size: 0.9em;}

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

.hidden_s { display: none !important;}

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

.dot01, .dot02 { height: 1.5em;}

/* ------------------------
	ヘッダー
------------------------ */
.header .box01 { font-size: 1em !important; background-size: auto 1.5em;}
.under .box01 { background-size: 768px 100%; padding: 0.2em 1em 0.4em; position: relative; z-index: 100; margin-bottom: -0.4em !important;}


/* ------------------------
	グローバルナビ
------------------------ */

.clone-nav, .clone-header { display: none;}

/* ハンバーガーメニュー */
.humberger {
	background: #909e0e;
	cursor: pointer;
	display: block;
	position: fixed;border-radius: 5px;
	top: 5px;
	right: 5px;
	width: 50px;
	height: 50px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) { transform: translateY(6px) rotate(-45deg);}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) { transform: translateY(-10px) rotate(45deg);}

/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: #fff;
	background-size: auto 3px, auto;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	padding-bottom: 30px;
}

.sp-navi .logo { background: #909e0e;}
.sp-navi .logo a, .header_logo a { display: table; background: url("../images/common/header_logo_bg.svg") no-repeat center center; background-size: calc(100% + 0.4em) calc(100% + 0.4em); padding: 0 1em 6px; line-height: 54px;}
.sp-navi .logo img, .header_logo img { width: auto; max-height: 34px; vertical-align: middle;}
.sp-navi .list01 a { color: #4C5310; display: block; text-decoration: none; border-bottom: dashed 1px #ccc; padding: 0.8em 0.6em 0.8em 3.7em; font-size: 1.15em; background-repeat: no-repeat; background-position: 0.6em 50%; background-size: auto 1.3em;}
.sp-navi .list01 li:nth-child(1) > a { background-image: url("../images/common/gn01.svg");}
.sp-navi .list01 li:nth-child(2) > a { background-image: url("../images/common/gn02.svg"); background-position: 1.2em center;}
.sp-navi .list01 li:nth-child(3) > a { background-image: url("../images/common/gn03.svg"); background-position: 1em center;}
.sp-navi .list01 li:nth-child(4) > a { background-image: url("../images/common/gn04.svg"); background-position: 1.1em center;}
.sp-navi .list01 li:nth-child(5) > a { background-image: url("../images/common/gn05.svg"); background-position: 1.3em center;}

.sp-navi .header_btn { justify-content: center; font-size: min(3vw,1em);}
.sp-navi .header_btn li:nth-child(1) a { background-image: url("../images/common/header_logo_bg.svg"); background-size: 100% 100%; padding: 0.1em 1.2em 0.8em;}
.header_btn li:nth-child(2) a { background-size: 4em auto, 100% 100%;}
.header_btn li:nth-child(3) a { background-size: 4.5em auto, 100% 100%;}

@media only screen and (max-width: 480px) {
  .sp-navi .header_btn { flex-wrap: wrap; font-size: min(5vw,1.5em); padding: 0 1.5em;}
  .sp-navi .header_btn li:nth-child(1) { width: 100%;}
  .sp-navi .header_btn li:nth-child(1) a { padding: 0.1em 2.5em 0.8em;}
  .sp-navi .header_btn .tel .text01 { font-size: 1.65em;}
  .sp-navi .header_btn li:nth-child(n+2) { width: calc((100% - 0.3em) / 2);}
  .sp-navi .header_btn li:nth-child(n+2) a { width: 100%; background-size: 2.1em auto, 100% 100%; background-position: center 1.2em, center center; padding: 3em 0 0.7em;}
  .sp-navi .header_btn li:nth-child(3) a { background-size: 2.25em auto, 100% 100%; background-position: center 1em, center center;}
}


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

.footer .box01 { justify-content: center;}
.footer .box01 .logo { width: 40%; max-width: 240px;}
.footer .box01 .img01 { position: absolute; width: 13%; right: 4%; top: -13%;}

.footer .list01 { font-size: min(4vw,1.1em); gap: 1em; flex-wrap: wrap;}
.footer .list01 li { width: 100%;}
.footer .list01 a { padding: 1em 1em 1em 5em; background-size: 2.4em auto, 100% 100%; background-position: 1.4em center, center center; max-width: 360px; margin: auto;}
.footer .list01 li:first-child a { text-align: left; width: 100%; background-image: url("../images/common/ico_mail.svg") no-repeat 2em center, url("../images/common/footer_btn_bg03.svg") no-repeat center center}
.footer .list01 li:last-child a { padding: 0.8em 0.5em 0.8em 5em; background-image: url("../images/common/ico_tel.svg"), url("../images/common/footer_btn_bg01_sp.svg"); background-size: 2.2em auto, 100% 100%; background-position: 1.6em 1.2em, center center;}
.footer .list01 li:last-child dl { flex-flow: column; align-items: flex-start; gap: 0.5em;}
.footer .list01 .fo13, .footer .list01 .fo12, .footer .list01 .fo08 { font-size: 1em !important;}
.footer .list01 .fo20 { font-size: 1.4em !important;}

@media only screen and (max-width: 480px) {
  .footer .box01 { flex-wrap: wrap;}
  .footer .box01 .logo { width: 160px; margin-bottom: 20px;}
  .footer .box01 .img01 { width: 18%; top: 36%;}
}

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

	トップページ

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

.slide_wrap02 { width: 90%; padding-top: 4%; margin-left: 2%;}
.slide_wrap .text_wrap { width: 12%; right: 10%; top: -6%;}
.slide_wrap .il01 { top: -5%;}
.slide_wrap .il02 { left: 10%;}
.slide_wrap .il04 { width: 4%; top: 35%; right: 3%;}
.slide_wrap .il05 { width: 8%; top: 46%; right: 3%;}

.top_sec01 { padding: 40px 0 60px;}
.top_sec01 .img01 { width: 20%; bottom: -70px; left: 2%;}
.top_sec01 .box01 { padding: 30px 20px; background-image: url("../images/top/top_sec01_bg03_tb.svg");}
.top_sec01 article:before, .top_sec01 article:after { margin-bottom: -0.23em;}

.top_sec03 { padding: 20px 0 60px;}
.top_sec03:before { height: 20px; top: -20px;}
.top_sec03 .box01 { display: block;}
.top_sec03 .box01 .box_inner01 { width: auto; margin-bottom: 30px;}
.top_sec03 .box_inner03 { display: table; margin: auto; padding-left: 0.5em;}
.top_sec03 iframe { height: 250px;}
.top_sec03 .img01 { width: 16%; max-width: 65px; right: 3%; bottom: -75px}

.item_list { gap: 0 6%}
.item_list > li { width: calc(94% / 2); margin-bottom: 60px;}
.item_list .ico_new { width: 55px;}
.item_list h3.fo15 { font-size: 1.35em !important;}

.top_sec04 .img01 { width: 20%;}

.top_sec05 { padding-top: 50px;}
.top_sec05 article:before, .top_sec05 article:after { margin-bottom: -0.23em;}

@media only screen and (max-width: 640px) {
  .top_sec02 h2 { background-size: 9em auto;}
  .top_sec02 .img01 { top: 15%; left: 5%;}
  .top_sec02 .img02 { bottom: -3%;}
  .top_sec02 .img03 { width: 11%; bottom: -10%; right: 2%;}

  .item_list .btn_area a { padding: 0.4em 0;}
}

@media only screen and (max-width: 480px) {
  .top_sec01 .box01 { background-image: url("../images/top/top_sec01_bg03_sp.svg");}
  .top_sec01 article dl { display: block;}

  .top_sec02 .show_sp { display: inline;}
  .top_sec02 .img01 { top: -4%; left: auto; right: 6%;}
  .top_sec02 .img02 { bottom: 7%;}
  .top_sec02 .img03 { right: 5%;}

  .top_sec05 article { display: block;}
  .top_sec05 article figure { width: auto; max-width: 400px; margin: 0 auto 20px;}
  .top_sec05 article .box_inner { width: auto;}
  .top_sec05 article h3 { text-overflow: inherit; white-space: inherit; font-size: 1.1em;}
}

@media only screen and (max-width: 380px) {
  .item_list > li { width: 100%;}
}


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

	下層ページ

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

.pagettl { font-size: min(7vw,2em);}


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

@media only screen and (max-width: 640px) {
	.contact_sec dl { flex-flow: column; gap: 0.5em; align-items: flex-start;}
	.contact_sec dt { width: auto; justify-content: flex-start; gap: 0.5em; padding-top: 0 !important;}
  .contact_sec dd { width: 100%;}
}

@media only screen and (max-width: 480px) {
  .wpcf7-checkbox .wpcf7-list-item { width: 100% !important; margin: 0px;}
}


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

.blog_bg { background-size: 30px auto;}
.blog_wrap { display: block;}
.contents { width: auto;}
.rNavi { width: auto; max-width: 500px; margin: auto;}

.topics_list .ico_new { width: 50px;}


.blog_header h1 { font-size: 1.8em; padding: 12px 0px; background-size: auto 2px;}

/* 本文 */
.blog_content h2, .blog_content h3 { font-size: 1.7em;}
.blog_content h4 .icon { width: 1.3em; vertical-align: middle; margin-top: -0.2em;}

.blog_content blockquote { padding: 1.5em !important; border-width: 0.8em; border-image-slice: 50 fill;}
.blog_content blockquote:before, .blog_content blockquote:after { width: 1em; height: 1em; top: 0.6em;}
.blog_content blockquote:before { left: 0.5em;}
.blog_content blockquote:after { right: 0.5em;}

.blog_content cite { margin-bottom: -1.5em;}

.blog_content hr { height: 10px;}

.blog_content table th, .blog_content table td { padding: 0.7em;}
.blog_content table.border th { font-size: 1em;}

.blog_content a.icon { background-size: auto 10px; padding-left: 17px;}
.blog_content a.box { background-size: auto 10px; padding: 5px 20px 5px 35px;}

.blog_content a.btn01 { min-width: 230px; min-height: 46px; padding: 14px 70px 14px 15px;}
.blog_content a.btn01:after { right: 45px;}

.single_sns li { width: 32.3333%;}
.single_sns li a { font-size: 0.8em;}
.single_sns i { right: 7px; font-size: 1em;}
.single_sns .line i { font-size: 1.3em;}

.pagination .number { position: static; margin-right: 15px;}

.pager { font-size: 0.9em;}

.breadcrumb { background-size: auto 1.5em; padding-bottom: 2.5em;}


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

@media only screen and (max-width: 640px) {
  .topics_list > li { width: calc((100% - 1.5em) / 2);}
}

@media only screen and (max-width: 420px) {
  .blog_content h5 .show_sp { display: inline;}
}

@media only screen and (max-width: 380px) {
  .topics_list > li { width: 100%;}
}


/* ブロックエディタ用 */
.img_left { left: auto; right: 1%; bottom: calc(100% - 3em) !important; width: 20%; text-align: right;}
.img_right { display: none;}
.img_left img { max-width: 100%;}

.h3_img .wp-block-group__inner-container { flex-wrap: wrap; gap: 1em 0.5em;}
.h3_img h3 { order: 3; width: 100%;}
.h3_img .h3_img01 { order: 1; width: 2.5em;}
.h3_img .h3_img02 { order: 2; width: 2em;}

.table_img .wp-block-table { width: 100%; max-width: initial}



.access_box iframe { height: 250px;}
.about_img01 img { width: 130px !important;}


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

.item_single { flex-flow: column-reverse; gap: 40px;}
.item_single .img_box { width: 100%; max-width: 500px; margin: auto;}
.item_single .glry_list li { width: calc((100% - 30px) / 4);}

.item_single h1 { font-size: 2em;}
.item_single .cat_img { top: -15px; width: 85px;}
.item_single .text01 { padding-right: 80px;}

.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;}

.cartjs_sk_link_other { width: 100% !important; text-align: right !important; font-size: 0.95em !important;}
.cartjs_sk_link_other a { text-decoration: underline;}

.cartjs_cart_in input { font-size: min(5.5vw,1.6em) !important; max-width: 400px; margin: auto; padding: 0.6em; background-position: calc(50% - 5em) center, calc(100% - 1.2em) center, left center, right center, 1.2em center !important; background-size: 1.7em auto, 0.35em auto, 1.3em 100%, 1.3em 100%, calc(100% - 2.4em) 100% !important;}
.cartjs_cart_in input:hover, .cartjs_cart_in input:focus { outline: none !important;}


/* tokutei */
.toku_box { flex-flow: column;}
.toku_box h2 { width: 100%; margin-bottom: 0.5em;}
.toku_box h2 br { display: none;}
.toku_box th, .toku_box td { font-size: 1em !important;}

@media only screen and (max-width: 640px) {
  .toku_box table { border-top: solid 1px #909e0e; margin-top: 20px;}
  .toku_box table, .toku_box tbody, .toku_box tr, .toku_box th, .toku_box td { display: block; width: 100%;}
  .toku_box th { background: #FEFDF6 !important; border-bottom: dotted 1px #909e0e;}
  
  .tokutei_table { overflow-x: scroll;}
  .tokutei_table:before { content: "※横にスクロールしてご覧ください。"; font-size: 0.85em; margin-bottom: 10px;}
  .tokutei_table table { min-width: 640px;}
  
  .spacer50-25 { height: 25px !important;}
}

@media only screen and (max-width: 480px) {
  br.show_sp { display: inline;}
}

@media only screen and (max-width: 380px) {
  .img_box .fo075 { font-size: 0.85em !important;}
}

