@charset "UTF-8";
/*
Theme Name: 奈良コレ
Theme URI: https://nara-kore.jp/
Author: 能登印刷株式会社
Author URI: https://www.notoinsatu.co.jp/
Description: 奈良コレ
*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.css");


/*--------------------------------------------------------------
 設定
--------------------------------------------------------------*/
:root {
  --main-color: #EC6D51;
  --sub-color: #FDE8E5;
  --bg-color: #FFFFFC;
  --box-color: #F4F1EE;
  --suou-color: #9E3D3F;
  --error-color: #ba2636;
}


/*--------------------------------------------------------------
 layout
--------------------------------------------------------------*/
.mt0 { margin-top: 0 !important; }

.mt15 { margin-top: 15px !important; }

.mt30 { margin-top: 30px !important; }

.mt45 { margin-top: 45px !important; }

.mt60 { margin-top: 60px !important; }

.mb0 { margin-bottom: 0 !important; }

.mb15 { margin-bottom: 15px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb45 { margin-bottom: 45px !important; }

.mb60 { margin-bottom: 60px !important; }

.ml0 { margin-left: 0 !important; }

.ml15 { margin-left: 15px !important; }

.ml30 { margin-left: 30px !important; }

.ml45 { margin-left: 45px !important; }

.ml60 { margin-left: 60px !important; }

.mr0 { margin-right: 0 !important; }

.mr15 { margin-right: 15px !important; }

.mr30 { margin-right: 30px !important; }

.mr45 { margin-right: 45px !important; }

.mr60 { margin-right: 60px !important; }

.text-center {
  text-align: center;
}

.text-start {
  text-align: left;
}

.text-end {
  text-align: right;
}

.inline-area{
	display: inline-flex !important;
}

.img-border img {
  border: 1px solid #abb8c3;
}
			
input[type="radio"],
input[type="checkbox"] {
  accent-color: var(--main-color);
  outline: none;
}

body {
	background-color: var(--bg-color) !important;
}

span.required {
	color: var(--error-color);
	font-size: small;
	margin-left: .5em;
}


/*--------------------------------------------------------------
 Typography
--------------------------------------------------------------*/
body, button, input, select, textarea {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
}

@media screen and (max-width: 1023px) {
	body, button, input, select, textarea {
		font-size: 14px;
		font-size: 1.4rem;
	}
}

.pure-g [class*=pure-u] {
	font-family: "Noto Sans JP", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
}

h1 {
	font-size: 3rem;
}

h2 {
	font-size: 2.2rem;
}

h3 {
	font-size: 2rem;
}

h4 {
	font-size: 1.8rem;
}

h5 {
	font-size: 1.7rem;
}

h6 {
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	h1 {
		font-size: 2.6rem;
	}

	h2 {
		font-size: 1.8rem;
	}

	h3 {
		font-size: 1.7rem;
	}

	h4 {
		font-size: 1.6rem;
	}

	h5 {
		font-size: 1.5rem;
	}
}

p {
	margin: 0;
	padding: 0;
}

img {
	max-width: 100%;
}


/*--------------------------------------------------------------
 Formatting
--------------------------------------------------------------*/
hr {
	border: solid 1px #ccc !important;
	margin: 15px 0;
}


/*--------------------------------------------------------------
 Lists
--------------------------------------------------------------*/
.entry-content ul {
	list-style-type: none;
	padding: 0;
}

.entry-content ul li {
	padding: 0 0 0 25px;
	position: relative;
}

.entry-content ul li::before {
	background: #333;
	border-radius: 4px;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	top: 12px;
	left: 7px;
}

.entry-content ul li li::before {
	background: #fff;
	border: 1px solid var(--main-color);
}

@media screen and (max-width: 1023px) {
	.entry-content ul li::before {
		top: 10px;
	}
}


/*--------------------------------------------------------------
 Table
--------------------------------------------------------------*/
.entry-content table {
	border-collapse: collapse;
	margin: 0 0 1.5em;
	width: 100%;
}

.entry-content th,
.entry-content td {
	border: 1px solid #ccc;
	padding: .5em 1em;
}

.entry-content th {
	background: var(--bg-color);
	font-weight: normal;
}

.entry-content td {
	background: #fff;
}


/*--------------------------------------------------------------
 Links
--------------------------------------------------------------*/
body a {
	color: #333;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

body a:focus {
	outline: none;
}

body a:hover {
	opacity: 0.6;
	outline: 0;
}

body a:active {
	outline: 0;
}

body a[href^="tel:"] {
	cursor: default;
}

.entry-content a {
	text-decoration: underline;
}

.entry-content a::before, .entry-content a::after {
	padding: 0 5px;
	display: inline-block;
	vertical-align: baseline;
	color: var(--main-color);
	text-decoration: none !important;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.entry-content a[target=_blank]::after {
	content: "\f2d2";
	font-weight: normal;
}

.entry-content a[href$=".pdf"]::after, .entry-content a[href*=".pdf#page="]::after {
	content: "\f1c1";
}

.entry-content a[href$=".doc"]::after, .entry-content a[href$=".docx"]::after {
	content: "\f1c2";
}

.entry-content a[href$=".xls"]::after, .entry-content a[href$=".xlsx"]::after {
	content: "\f1c3";
}

.entry-content a[href^="mailto:"]::before {
	content: "\f0e0";
}

.entry-content .news-list a[target=_blank]::after {
	display: none;
}

.news-list a[target=_blank] .post-title::after,
.entry-content .news-list a[target=_blank] .post-title::after {
	content: "\f2d2";
	font-weight: normal !important;
	padding: 0 5px;
	display: inline-block;
	vertical-align: baseline;
	color: var(--main-color);
	text-decoration: none !important;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}


/*--------------------------------------------------------------
 Layout
--------------------------------------------------------------*/
*,
*:before, 
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; 
	   see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 100%;
	font-size: 62.5%;
}


/*--------------------------------------------------------------
 header
--------------------------------------------------------------*/
.site-header {
	background: #fff;
	padding: 10px 30px;
}

.home .site-header {
	padding: 10px 30px;
}

.site-header-inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 0;
	justify-content: space-between;
	width: 100%;
}

#g-nav-list-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.site-title {
	max-width: 200px;
}

.home .site-title {
	position: relative;
	z-index: -1;
}

.site-header-logo img {
	display: block;
	width: 100%;
}

.g-nav {
	width: calc(100% - 230px);
}

.g-nav-main {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
}

/*
.home .g-nav-main {
	position: relative;
	z-index: -1;
}
*/

.header-nav {
	gap: .5em 20px;
	font-weight: bold;
}

/*
.header-sub-nav {
	align-items: center;
	font-size: 1.5rem;
	font-weight: 500;
	flex-wrap: wrap;
	gap: .5em 1.2em;
}
*/

.g-nav-sub {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .5em 1em;
}

.site-header ul {
	display: flex;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.site-header ul li a {
	line-height: 1;
}
/*

.header-button {
  display: flex !important;
  align-items: center;
  gap: 0 10px;
}

.header-button a {
  border: 1px solid #333;
  display: block;
  font-size: 1.3rem;
  line-height: 1;
  padding: 7px 5px 8px;
  text-align: center;
  min-width: 70px;
  width: 6em;
}
*/

.header-logo-nara {
	display: block;
	width: 100px;
}

@media screen and (max-width: 1023px) {
	.site-header {
		padding: 10px 20px;
	}
	.site-title {
		max-width: 170px;
	}
	#g-nav-list-inner {
		flex-wrap: wrap;
	}
	#g-nav-list-inner > * {
		width: 100%;
	}
	.g-nav-main {
		display: block;
		z-index: 1 !important;
	}
	.g-nav-sub {
		flex-wrap: wrap;
		gap: 30px 0;
		justify-content: center;
		margin: 50px 0;
	}
	.g-nav-sub > * {
		width: 100%;
		}
/*
  .header-button {
    flex-wrap: wrap;
    justify-content: center;
  }
  .header-button a {
    width: 7em;
  }
*/
	.header-logo-nara {
		width: 100px;
	}
}

/* スマホメニュー */
.openbtn1 .openbtn1-text {
	display: none;
}

@media screen and (max-width: 1023px) {
	.site-header #g-nav {
		/*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
		position: fixed;
		left: 0;
		z-index: -1;
		opacity: 0;
		/*はじめは透過0*/
		/*ナビの位置と形状*/
		top: 0;
		width: 100%;
		height: 0;
		/*ナビの高さ*/
		background: var(--main-color);
		/*動き*/
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}

	.site-header #g-nav.panelactive {
		opacity: 1;
		z-index: 999;
	}

	.site-header #g-nav.panelactive #g-nav-list {
		background: #fff;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		top: 0;
		z-index: 9000;
		width: 100%;
		height: 100vh;
		/*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.site-header #g-nav ul {
		display: none;
	}
  
	.site-header #g-nav.panelactive ul {
		display: block;
	}
	
	.site-header #g-nav li {
		font-size: 1.8rem;
		text-align: center;
	}
	
	.site-header #g-nav .header-sub-nav li {
		font-size: 1.7rem;
		text-align: center;
	}
	
	.site-header #g-nav li a {
		color: #333;
		text-decoration: none;
		padding: 10px;
		display: block;
		text-transform: uppercase;
		margin: 10px 0 0;
	}
  
	/*アクティブクラスがついたら透過なしにして最前面へ*/
	/*ナビゲーションの縦スクロール*/
	/*ナビゲーション*/
	/*リストのレイアウト設定*/
	/*========= ボタンのためのCSS ===============*/
	.openbtn1 {
		background: var(--main-color);
		position: fixed;
		z-index: 9000;
		/*ボタンを最前面に*/
		top: 0;
		right: 0;
		cursor: pointer;
		width: 70px;
		height: 78px;
	}

	.openbtn1 span {
		display: inline-block;
		-webkit-transition: all 0.4s;
		transition: all 0.4s;
		position: absolute;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		height: 2px;
		background-color: #fff;
		width: 45%;
	}

	.openbtn1 span:nth-of-type(1) {
		top: 15px;
	}
	
	.openbtn1 span:nth-of-type(2) {
		top: 25px;
	}
	
	.openbtn1 span:nth-of-type(3) {
		top: 35px;
	}

	.openbtn1.active span:nth-of-type(1) {
		top: 25px;
		-webkit-transform: translateX(-50%) rotate(-45deg);
		transform: translateX(-50%) rotate(-45deg);
	}

	.openbtn1.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn1.active span:nth-of-type(3) {
		top: 25px;
		-webkit-transform: translateX(-50%) rotate(45deg);
		transform: translateX(-50%) rotate(45deg);
	}

	.openbtn1 .openbtn1-text {
		display: inline-block;
		color: #fff;
		left: 50%;
		bottom: 0;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		background: none;
		height: auto;
		width: auto;
		font-size: 12px; /* 文字サイズ変更を影響を避けるため「px」で指定 */
	}
}


/*--------------------------------------------------------------
 footer
--------------------------------------------------------------*/
.site-footer {
	margin: 100px 0 0;
}

.site-footer-inner {
	padding: 0 20px;
	margin: 0 auto;
	max-width: 1200px;
}

/*
.footer-banner {
	background: var(--bg-color);
	padding: 100px 0;
}

.footer-banner .pure-g {
	margin: 0 -10px;
	gap: 20px 0;
}

.footer-banner .pure-g > * {
	padding: 0 10px;
}

.footer-banner a {
	background: #fff;
	border-radius: 10px;
	display: flex;
	align-items: center;
	gap: 0 20px;
	font-weight: bold;
	line-height: 1.5;
	padding: 20px;
}

.footer-banner a img {
	width: 100px;
}
*/

.footer-menu {
	padding: 50px 0;
}

.footer-nav {
	display: flex;
	flex-wrap: wrap;
	font-weight: bold;
	font-size: 1.5rem;
	gap: 1em 3em;
	justify-content: center;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.footer-nav a[target="_blank"]::after {
	content: "\f2d2";
	width: 1em;
	height: 1em;
	border-top: 0;
	border-right: 0;
	font-family: "Font Awesome 5 Free";
	font-weight: normal;
	transform: translateY(-50%);
	line-height: 1;
	margin: 0 0 0 5px;
}

.footer-info {
	border-top: 1px solid #ccc;
	padding: 60px 0;
}

.footer-info .site-footer-inner {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.5rem;
	font-weight: 500;
	gap: 1em 3em;
}

.footer-info-logo {
	display: block;
	max-width: 200px;
}

.footer-info-logo img {
	display: block;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.site-footer {
		margin: 60px 0 0;
	}
/*
  .footer-banner {
    padding: 60px 0;
  }
  .footer-banner .pure-g {
    margin: 0 -5px;
    gap: 10px 0;
  }
  .footer-banner .pure-g > * {
    padding: 0 5px;
  }
  .footer-banner a {
    padding: 15px;
  }
  .footer-banner a img {
    width: 60px;
  }
*/
	.footer-menu {
		padding: 30px 0;
	}
	
	.footer-nav {
		font-size: 1.4rem;
		gap: 1em 2em;
	}
	
	.footer-info {
		padding: 40px 0 60px;
	}
	
	.footer-info .site-footer-inner {
		font-size: 1.4rem;
		gap: 1em 2em;
	}
	
	.footer-info-logo {
		max-width: 170px;
	}
}

@media screen and (max-width: 567px) {
	.footer-nav {
		gap: .5em 0;
	}
	
	.footer-nav-list {
		width: 100%;  
	}
}


/*--------------------------------------------------------------
 ページのトップへ戻るボタン
--------------------------------------------------------------*/
.pagetop {
	cursor: pointer;
	max-width: 60px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
}

@media screen and (max-width: 1023px) {
	.pagetop {
		max-width: 60px;
	}
}


/*--------------------------------------------------------------
home
--------------------------------------------------------------*/
.home-main {
    padding: 0 2em;
    margin: 1em 0;
}

@media screen and (max-width: 767px) {
	.home-main {
	    padding: 0 1.5em;
	}
}

.home-menu {
	margin: 50px 0 0;
}

.home-menu .pure-g {
	gap: 15px 0;
	margin: 0 -15px;
}

.home-menu .pure-g > * {
	padding: 0 15px;
}

.home-menu a {
	background: var(--main-color);
	border-radius: 10px;
	color: #fff !important;
	font-size: 2rem;
	font-weight: 500;
	display: block;
	padding: 20px;
	text-align: center;
}

.home-menu a::after {
	content: "\f13a";
	color: #fff !important;
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin: 0 0 0 .5em;
}

@media screen and (max-width: 767px) {
	.home-menu a {
		border-radius: 5px;
		font-size: 1.8rem;
		margin: 0 auto;
		max-width: 500px;
		padding: 5px 10px;
	}
}

@media screen and (max-width: 567px) {
	.home-menu a {
		max-width: 280px;
	}
}

/*
.lang-text {
  font-size: .85em;
  margin: 15px 0 0;
  text-align: center;
}

.home h2 img {
  display: block;
  margin: 0 auto;
  max-width: 560px;
  width: 100%;
}

.home-buy,
.home-eat,
.home-news {
  margin: 120px 0 0;
}
*/

.home-buy-authentic {
  margin-top: 100px;
}

.for-sp {
  display: none;
}

.search-buy-authentic{
	margin-top: 30px;
}

.home-exp{
	margin-top: 30px;
}
.home-exp-pickup{
	background: #fff;
    border: 8px solid var(--main-color);
    border-radius: 10px;
    align-items: center;
    line-height: 2;
    padding: 20px
}
.home-exp-pickup span{
	color: var(--main-color);
	font-weight: bold;
}


.home-buy-bnr a{
  background: #fff;
  border: 8px solid var(--main-color);
  border-radius: 10px
  align-items: center;
  gap: 0 20px;
  font-weight: bold;
  line-height: 1.5;
  padding:10px 100px; 
  margin-top: 20px;
}
.home-buy-bnr a img{
  width:auto !important;
}


@media screen and (max-width: 1023px) {
  .home-buy-bnr a img {
    max-width: 550px;
    margin: 0 auto;
    width: 100% !important;
  }
}

@media screen and (max-width: 767px) {
  .for-pc {
    display: none;
  }
  .for-sp {
    display: block;
  }
  .home h2 img {
    max-width: 400px;
  }
  .home-buy,
  .home-eat,
  .home-news {
    margin: 60px 0 0;
  }
 
 .home-buy-authentic {
    margin-top: 60px;
  } 
 .search-buy-authentic {
	margin-top: 20px;
  }
  
  .home-buy-bnr a {
    background: #fff;
    border: 6px solid var(--main-color);
    border-radius: 10px;
    align-items: center;
    gap: 0 20px;
    font-weight: bold;
    line-height: 1.5;
    padding: 15px 10px !important; 
    margin-top: 20px;
  }
}

.button-more {
  border: 3px solid #333;
  border-radius: 5px;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  margin: 60px auto 0;
  max-width: 500px;
  padding: 1.2em 2em 1.3em;
  position: relative;
  text-align: center;
  text-decoration: none !important;
}

.button-more::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #333;
  border-right: 3px solid #333;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%) rotate(45deg);
}

.button-back::after {
  border-top: none;
  border-right: none;
  border-left: 3px solid #333;
  border-bottom: 3px solid #333;
  position: absolute;
  top: 50%;
  right: inherit;
  left: 25px;
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .button-more {
    font-size: 1.6rem;
    margin: 30px auto 0;
    max-width: 300px;
    padding: .9em 1em 1em;
  }
}


/*--------------------------------------------------------------
 検索フォーム
--------------------------------------------------------------*/
.entry-content .search-h2 {
	margin: 3em 0 -8px;
	border-radius: 10px 10px 0 0;
}
.search-box {
	border: 8px solid var(--main-color);
	border-radius: 0 0 10px 10px;
	margin: 0;
	min-height: 300px;/* あとで削除 */
	padding: 50px;
}
.search-box-mng {
	min-height: 500px;
	padding: 50px;
}

@media screen and (max-width: 767px) {
	.entry-content .search-h2 {
		margin: 3em 0 -6px;
	}
	.search-box {
		border: 6px solid var(--main-color);
		padding: 15px;
	}

}

.search-box label {
  cursor: pointer;
}

.button-list {
  display: flex;
  gap: 30px;
}

.button-list button {
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  margin: 40px auto 0;
  padding: 1.2em 1em 1.3em;
  text-align: center;
  width: 50%;
}

.button-clear {
  background: #abb8c3;
}

.button-search {
  background: var(--main-color);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

/*
.button-search::before {
  content: '';
  display: inline-block;
  background: url('images/icon_search.svg') no-repeat center / contain;
  margin: 0 10px 0 0;
  width: 1.2em;
  height: 1.2em;
}
*/

@media screen and (max-width: 767px) {
  .button-list button {
    font-size: 1.6rem;
    margin: 10px auto 0;
    padding: .9em 1em 1em;
  }
  .button-list {
    gap: 15px;
  }
}

/*--------------------------------------------------------------
 県産食材
--------------------------------------------------------------*/
.food-list {
  border: 6px solid var(--main-color);
  border-radius: 10px;
  margin: 0 0 15px !important;
  padding: 35px 40px;
}

.food-list > * {
  padding: 0 !important;
}

.food-list-detail {
  padding: 0 0 0 30px !important;
}

.food-list h1 {
  font-size: 2.6rem;
}

.food-list h1 small {
  font-size: 70%;
}

.food-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 10px;
  padding-top: 75%;
}

.food-detail {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0 !important;
}

.food-table {
  margin: 0 !important;
}

.food-table th,
.food-table td {
  border: 0;
}

.food-table th {
  background: var(--sub-color);
  font-weight: 500;
  line-height: 1.5;
  padding: .5em;
  vertical-align: top;
  width: 150px;
}

.food-table td {
  padding: 0.5em 0 0.5em 1em;
}

.food-table p {
  margin: 0 0 1em !important;
}

.food-table dl {
	margin: 0 0 6px;
	padding: 0;
	overflow: hidden;
}
.food-table dt {
	float: left;
	clear: both;
	padding: 6px 0px;
	margin-right: 0px;
	width: 10rem;
}
.food-table dd {
	padding: 6px 0px;
	margin: 0;
}
.food-table dd:first-child {
	padding-top: 0px;
}
.cart_block button#reserve {
	position: fixed;
    bottom: 20px;
    right: 100px;
    border: solid 5px #FFF;
    border-radius: 10px;
    cursor: pointer;
    display: block;
    font-weight: bold;
    line-height: 1;
    padding: 1.2em 4em;
    text-align: center;
    text-decoration: none !important;
    background: var(--main-color);
    color: #FFF;
    z-index: 800;
}

@media screen and (max-width: 1023px) {
  .food-list-image {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .food-list-image > * {
    width: 100%;
  }
  .food-image,
  .food-cuisine {
    padding-top: 37.5%;
    width: 49%;
  }
  .food-cuisine {
    margin: 0;
  }
  .food-list-detail {
    padding: 20px 0 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .food-list {
    border: 4px solid var(--main-color);
    padding: 20px 20px 25px;
  }
  .food-list h1 {
    font-size: 2.4rem;
  }
  .food-recipe{
    display: block;
  }
}

@media screen and (max-width: 567px) {
  .food-table th,
  .food-table td {
    display: block;
    width: 100%;
  }
  .food-table th {
    margin: 20px 0 0;
    padding: .4em .5em;
    text-align: left;
  }
  .food-table th br {
    display: none;
  }
  .food-table tr:first-child th {
    margin: 0;
  }
  .food-table td {
    padding: 0.5em 0 0;
  }
  
}


/*--------------------------------------------------------------
 検索結果
--------------------------------------------------------------*/
.search .entry-content .pure-g + .pure-g,
.search-results .entry-content .pure-g + .pure-g {
  margin-top: 20px !important;
}

.search-result h1 {
  text-align: center;
}

.search-result-detail {
  background: var(--bg-color);
  border-radius: 10px;
  margin: 30px 0 0;
  padding: 30px;
}

.search-result-title {
  font-weight: bold;
}

.search-result-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin: 30px 10px 10px;
}

.search-result-number {
  font-size: 2rem;
  font-weight: 500;
}

.search-result-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 30px;
}

.search-result-logo {
  display: flex;
  align-items: center;
}

.search-result-logo img {
  width: 50px;
}

.search-result-yamato-sp-veggie img {
  width: 60px;
}

@media screen and (max-width: 767px) {
  .search-result-detail {
    margin: 20px 0 0;
    padding: 20px;
  }
  .search-result-legend {
    font-size: 1.2rem;
    gap: 0 15px;
  }
  .search-result-logo img {
    width: 40px;
  }
  .search-result-yamato-sp-veggie img {
    width: 48px;
  }
}

.btn-roundborder {
	border: 2px solid var(--main-color);
    border-radius: 17px;
    padding: 1px 7px;
    font-size: small;
    color: var(--main-color);
    text-decoration: none !important;
    display:inline-block;
    background-color: #FFF;
    margin: 4px;
}
.btn-roundborder:hover {
	opacity: 0.7;
}


/*--------------------------------------------------------------
 Regular Content
--------------------------------------------------------------*/
.content-inner {
  padding: 0 20px;
  margin: 0 auto;
  max-width: 1200px;
}

.entry-header {
  background: #fff9eb;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
}

.entry-title img {
  display: block;
  max-width: 560px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .entry-header {
    height: 160px;
  }
  .entry-title img {
    max-width: 380px;
  }
}

@media screen and (max-width: 567px) {
  .entry-title {
    padding: 0 20px;
  }
}

.entry-content {
  margin: 50px auto 0;
  max-width: 1200px;
  min-height: 300px;
  overflow: hidden;
  padding: 0 20px;
}

.entry-content h2 {
	background: var(--main-color);
	color: #fff;
	margin: 3em 0 1em;
	padding: 0.5em 0.7em;
}

.entry-content h3 {
	border-left: 4px solid var(--main-color);
	color: var(--main-color);
	margin: 2em 0 1em;
	padding: 0 0.7em;
}

.entry-content h4, .entry-content h5, .entry-content h6 {
  margin: 2em 0 .5em;
}

.entry-content p {
  margin: 0 0 1.5em;
}

.entry-content > *:first-child {
  margin-top: 0 !important;
}

.entry-content > *:last-child {
  margin-bottom: 0 !important;
}

.entry-content b, .entry-content strong {
  font-weight: bold;
}

.search .entry-content {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .entry-content {
    margin: 60px auto 0;
  }
  .search .entry-content {
    margin-top: 60px;
  }
}

/* pure */
.entry-content .pure-g {
  margin: 0 -15px;
}

.entry-content .pure-g > * {
  padding: 0 15px;
}

.entry-content .pure-g > * > *:first-child {
  margin-top: 0 !important;
}

.button-send{
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  margin: 40px auto 0;
  padding: 1.2em 1em 1.3em;
  text-align: center;
  width: 50%;
	
  background: var(--main-color);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.sendform-wrap-comp {
	color: var(--main-color) !important;
}


/*--------------------------------------------------------------
 奈良県と協定を結んでいる県内の直売所一覧
--------------------------------------------------------------*/
.salesoffice-list .pure-g {
  border: 3px solid #e7e1db;
  border-radius: 10px;
  margin: 0 !important;
  overflow: hidden;
}

.salesoffice-list .pure-g > * {
  padding: 0;
}

.salesoffice-list .pure-g + .pure-g {
  margin-top: 20px !important;
}

.salesoffice-list-detail {
  padding: 30px;
}

.salesoffice-list-img {
  background: url('images/noimage.png') no-repeat center center / cover;
  width: 100%;
  height: 100%;
  min-height: 235px;
}

.salesoffice-list-title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
}

.salesoffice-list-feature {
  margin: 10px 0 0;
/*   min-height: calc(1em * 1.8 * 3); */
}

.salesoffice-list-link {
  display: flex;
  align-items: center;
  gap: 10px 15px;
  margin: 20px 0 0;
}

.salesoffice-list-link a {
  border: 2px solid #333;
  border-radius: 5px;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 7px 35px 7px 15px;
  position: relative;
  text-decoration: none;
  width: 240px;
}

.salesoffice-list-link a::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  padding: 0;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
}

.salesoffice-list-link a[target="_blank"]::after {
  content: "\f2d2";
  width: 1em;
  height: 1em;
  border-top: 0;
  border-right: 0;
  transform: translateY(-50%);
  line-height: 1;
}

@media (max-width: 767px) {
  .salesoffice-list-img {
    min-height: inherit;
    padding-top: 70%;
  }
  .salesoffice-list-detail {
    padding: 20px;
  }
}


/*--------------------------------------------------------------
 電話番号
--------------------------------------------------------------*/
a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none;
}

@media (max-width: 767px) {
  a[href^="tel:"] {
    position: relative;
    pointer-events: auto;
    
    &::after {
      background: #333;
      content: '';
      display: inline-block;
      width: 100%;
      height: 1px;
      position: absolute;
      left: 0;
      bottom: -1px;
    }
  }
}


/*--------------------------------------------------------------
 PC / SP
--------------------------------------------------------------*/
.for-sp {
  display: none;
}

@media screen and (max-width: 1023px) {
  .for-sp {
    display: block;
  }
  .for-pc {
    display: none !important;
  }
}


/*--------------------------------------------------------------
 Google Map
--------------------------------------------------------------*/
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*--------------------------------------------------------------
 文字サイズ
--------------------------------------------------------------*/
html {
  font-size: 62.5%;
}

html.fonts-small {
  font-size: 55.5%;
}

html.fonts-large {
  font-size: 70%;
}

html.fonts-exlarge {
  font-size: 80%;
}


/*--------------------------------------------------------------
 文字サイズ変更ボタン
--------------------------------------------------------------*/
.button-size {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  margin: 30px 0 0;
}

.button-size li {
  cursor: pointer;
  font-weight: 500;
  padding: 0 !important;
  text-align: center;
}

.button-size li > * {
  background: var(--bg-color);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
}

.button-size li::before {
  display: none !important;
}

.button-size .activeOn {
  background: var(--main-color);
  color: #fff;
}


/*--------------------------------------------------------------
 404 Not Found
--------------------------------------------------------------*/
.error404 .entry-content {
  text-align: center;
}

.error404 .entry-content .button {
  margin-right: auto;
  margin-left: auto;
  text-decoration: none;
}


/*--------------------------------------------------------------
 フォーム
--------------------------------------------------------------*/
.content-inner .entry-content {
  padding: 0;
}

.sendform-wrap {
  background: var(--box-color);
  border-radius: 3px;	
	margin: 50px auto 0;
  padding: 50px;
}

.sendform-wrap .check-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 10px;
}

.sendform-wrap .check-box {
  cursor: pointer;
  width: calc(100% / 5 - (10px * 4 / 5));
}

.sendform-wrap .check-text {
  border-radius: 3px;
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 0 5px;
  text-align: center;
}

.sendform-wrap .check-box input:checked + img + span {
  background: var(--main-color);
  color: #fff;
}

.sendform-wrap > *:first-child {
  margin-top: 0 !important;
}

.sendform-wrap > *:last-child {
  margin-bottom: 0 !important;
}

.sendform-wrap .cont-privacy {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 30px;  
	padding: 6px 0;
}

.sendform-wrap .cont-privacy .sendform-wrap-label {
  font-weight: 500;
}

.sendform-wrap .button-privacy {
  background: #fff;
  border: 2px solid var(--main-color);
  border-radius: 5px;
  display: inline-block;
  font-weight: 500;
  padding: .2em 1em;
  text-align: center;
  text-decoration: none;
}

.sendform-wrap .button-redo {
  background: #fff;
  border: 2px solid var(--main-color);
  border-radius: 5px;
  display: inline-block;
  font-weight: 500;
  padding: .2em 3em;
  text-align: center;
  text-decoration: none;
}

.sendform-wrap-label {
	margin: 0;
	padding: 0 1em 0 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	vertical-align: super;
	position: relative;
}

.sendform-wrap-label input {
  cursor: pointer;
	margin-right: 1rem;
  transform: scale(1.5);
}

.sendform-wrap-input {
	border: 1px solid #abb8c3;
	color: #333;
	padding: 10px;
	width: 100%;
	border-radius: 3px;
}

.sendform-wrap-send {
	background: var(--main-color);
	border: 0;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	margin: 20px auto;
	max-width: 500px;
	width: 100%;
	padding: 1.2em 2em 1.3em;
	text-align: center;
	text-decoration: none !important;
}

.sendform-wrap-error {
	color: var(--error-color) !important;
}

.sendform-wrap.check-list-wrap {
	margin: 40px auto 0;
	padding: 0;
}

.n-radio-input,
.n-check-input {
	position: absolute;
	white-space: nowrap;
	width: 1px;
	height: 1px;
	overflow: hidden;
	border: 0;
	padding: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%); 
	margin: -1px;
}

.n-radio-label,
.n-check-label {
	padding-top: 11px !important;
	cursor: pointer;
	padding-left: 30px;
	padding-right: 20px;
	position: relative;
}

.n-check-label {
	display: inline-block;
}

.n-radio-label::before,
.n-radio-label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

.n-check-label::before,
.n-check-label::after {
	content: "";
	display: block;
	border-radius: 10%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}

.n-radio-label::before {
	background-color: #fff;
	border: 1px solid #abb8c3;
	height: 20px;
	width: 20px;
	left: 5px;
}

.n-check-label::before {
	background-color: #fff;
	border: 1px solid #abb8c3;
	height: 20px;
	width: 20px;
	left: 5px;
	top: 25px;
}

.n-radio-label::after {
  background-color: var(--main-color);
  opacity: 0;
  height: 12px;
  width: 12px;
  left: 9px;
}

.n-check-label::after {
	border-right: 6px solid var(--main-color);
	border-bottom: 3px solid var(--main-color);
	content: '';
	display: block;
	height: 20px;
	left: 10px;
	margin-top: -10px;
	opacity: 0;
	position: absolute;
	top: 20px;
	transform: rotate(45deg);
	width: 15px;
	vertical-align: top;
}

.n-radio-input:checked + .n-radio-label::before,
.n-check-input:checked + .n-check-label::before {
  border: 1px solid var(--main-color);
}

.n-radio-input:checked + .n-radio-label::after,
.n-check-input:checked + .n-check-label::after {
  opacity: 1;
}

@media screen and (max-width: 1023px) {
  .sendform-wrap {
    padding: 30px;
  }
}

@media screen and (max-width: 767px) {
  .mailinput-box {
    border: 6px solid var(--main-color);
    padding: 20px;
  }
  .sendform-wrap {
    padding: 15px;
  }
  .sendform-wrap .check-box {
    width: calc(100% / 4 - (10px * 3 / 4));
  }
  .sendform-wrap-send {
    font-size: 1.6rem;
    max-width: 300px;
    padding: .9em 1em 1em;
  }
  .sendform-wrap .check-text {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 567px) {
  .sendform-wrap .check-box {
    width: calc(100% / 3 - (10px * 2 / 3));
  }
  .sendform-wrap-label {
	  display: block;
  }
}


/*--------------------------------------------------------------
 飲食店の方はこちら
--------------------------------------------------------------*/
.button-share {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 3em; /* 幅 */
  height: 10.5em; /* 高さ */
  padding: 1em 0.5em;
  border-radius: 5px 0px 0px 5px;
  background-color: var(--main-color);
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 1;
}

.button-salesoffice {
  position: fixed;
  top: 75%;
  right: 0;
  transform: translateY(-50%);
  width: 3em; /* 幅 */
  height: 11.8em; /* 高さ */
  padding: 1em 0.5em;
  border-radius: 5px 0px 0px 5px;
/*  background-color: #99A84E;*/
  background-color: var(--main-color);
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 1;
}


@media screen and (max-width: 767px) {
  .button-shop {
    font-size: 12px;
    display: none;
  }
  .button-salesoffice {
    display: none;
  }
}

/* 現在登録いただいている店舗 */
.list-publicshop {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.list-publicshop > * {
  background: #eee;
  line-height: 1.3;
  padding: 5px 15px;
}

@media screen and (max-width: 767px) {
  .list-publicshop > * {
    font-size: 12px;
  }
}


/*--------------------------------------------------------------
 印刷
--------------------------------------------------------------*/

@media print {
  /* Font sizes */
  body {
    font-size: 9pt;
    line-height: 1.6;
    width: 1300px;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-print-color-adjust: exact;
    margin: 0;
  }
  h1 {
    font-size: 15pt;
  }
  h2 {
    font-size: 14pt;
  }
  h3 {
    font-size: 13pt;
  }
  h4,
  h5,
  h6 {
    font-size: 11pt;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 30px 0 15px;
  }
  /* Pure.css */
  .pure-u-md-4-5 {
    width: 80%;
  }
  .pure-u-lg-3-4,
  .pure-u-md-3-4 {
    width: 75%;
  }
  .pure-u-md-2-3,
  .pure-u-sm-2-3 {
    width: 66.6666%;
  }
  .pure-u-md-3-5 {
    width: 60%;
  }
  .pure-u-sm-1-2,
  .pure-u-md-1-2 {
    width: 50%;
  }
  .pure-u-md-2-5 {
    width: 40%;
  }
  .pure-u-lg-1-3,
  .pure-u-md-1-3,
  .pure-u-sm-1-3 {
    width: 33.3333%;
  }
  .pure-u-lg-1-4,
  .pure-u-md-1-4,
  .pure-u-sm-1-4 {
    width: 25%;
  }
  .pure-u-md-1-5 {
    width: 20%;
  }
  /* display:none */
  .single-food header,
  .single-food .entry-header,
  .single-food footer,
  .single-local-cuisine header,
  .single-local-cuisine .entry-header,
  .single-local-cuisine footer,
  .single-local-product header,
  .single-local-product .entry-header,
  .single-local-product footer {
    display: none;
  }
}


/*--------------
　詳細
---------------*/
.imgchkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.imgchkbox + .imgchkbox {
	margin: 10px 0 0;
}
.imgchkbox:empty {
  margin: 0;
}
.imgchkbox input {
	display: none;
}
.imgchkbox label {
    font-size: small;
    text-align: center;
    display: block;
}
.imgchkbox label {
	border: 1px solid #abb8c3;
	border-radius: 5px;
}
.imgchkbox label img {
	display: block;
}
.imgchkbox label span {
	margin-top: -12px;
    display: block;
}
.imgchkbox input:checked + label {
	border: 2px solid #e57000;
	border-radius: 5px;
}

.entry-header {
	background-color: var(--sub-color) !important;
}
/*
main.site-content {
	background-color: var(--bg-color) !important;
}
*/
.loginuser {
	text-align: end;
	font-size: small;
}
.errmsg {
	color: var(--error-color);
    margin: 0 auto 1em;
    padding: 0 2em 1em;
}
.errmsg::before {
	content: "・";
}
.compmsg {
	text-align: center;
    color: green;
    margin: 0 auto 1em;
    padding: 0 2em 1em;
}
.unsold-btn-orange,
.unsold-btn-gray,
.unsold-btn-green,
.unsold-btn-white {
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    display: block;
    font-weight: bold;
    line-height: 1;
    margin: 40px auto 0;
    max-width: 500px;
    width: 100%;
    padding: 1em 2em;
    text-align: center;
    text-decoration: none !important;
}
.unsold-btn-orange {
	background: #EC6D51;
    color: #fff;
}
.unsold-btn-gray {
	background: #F5EFE1;
    color: #000;
}
.unsold-btn-green {
	background: #8fcc1c;
    color: #fff;
}
.unsold-btn-white {
	background: #FFF;
    color: #000;
}
.unsold-btn-black {
	background: #FFF;
    color: #000;
    border: 3px solid #333;
    border-radius: 5px;
    cursor: pointer;
    display: block;
    font-weight: bold;
    line-height: 1;
    margin: 40px auto 0;
    max-width: 500px;
    width: 100%;
    padding: 1em 2em;
    text-align: center;
    text-decoration: none !important;
}
.btn-w100 {
	display: block;
	max-width: 100%;
	width: 100%;
}
.flex-right {
	justify-content: right;
}
.formbtn {
	margin-top: 3rem !important;
}
.formbtn div {
	margin-top: 1rem !important;
}
.bl-pc {
	display: block;
}
.bl-sp {
	display: none;
}
.mt-non {
	margin-top: 0 !important;
}
.text-overflow {
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media screen and (max-width: 568px) {
	.unsold-btn-orange,
	.unsold-btn-gray,
	.unsold-btn-green {
		padding: 1em .5em;
	}
	.bl-pc {
		display: none;
	}
	.bl-sp {
		display: block;
	}
}
/*--------------------
	店舗登録
 --------------------*/
.unsoldform h2 {
	margin-top: 1em !important;
}
.unsoldform .unsoldmng, 
.sendform-wrap .unsoldmng {
	margin-bottom: 1rem !important;
}
.unsoldlabel {
	padding-top: 11px !important;
	text-align: right;
}
.regconf .unsoldlabel,
.regconf .unsoldsublabel {
	padding-top: 0 !important;
}
.unsoldsublabel {
	padding-top: 11px !important;
}
.unsoldlabel span.helptxt {
	display: block;
	font-size: small;
	color: #666;
}
/*
.unsoldmng button:not(.delimgbtn) {
	border: 1px solid #e57000;
	background-color: #e57000;
    color: #fff;
    padding: 7px 15px;
    border-radius: 3px;
}
.unsoldmng img.updimg {
	width: 100%;
	height: 100px;
	object-fit: cover;
	border-radius: 5px;
}
*/
.unsoldmng .delimg {
	text-align: center;
}
.unsoldmng .delimg .delimgbtn {
	font-size: 12px;
}
.unsoldinput input.flatpickr-input,
.unsoldinput input[type="text"],
.unsoldinput input[type="url"],
.unsoldinput input[type="num"],
.unsoldinput input[type="email"],
.unsoldinput input[type="password"],
.unsoldinput select,
.unsoldinput textarea {
	border: 1px solid #abb8c3;
    color: #333;
    padding: 10px;
    width: 100%;
    border-radius: 3px;
    -webkit-appearance: none;
}
.unsoldinput input.flatpickr-input {
	background-color: #FFF;
	
}
.unsoldinput textarea {
	resize: none;
}
/*
.unsoldinput input[type="file"] {
    padding: 10px;
}
*/
.unsoldinput input[type="file"]::file-selector-button {
    border: 0;
    border-radius: 5px;
    cursor: pointer;
	margin-right: 1em;
    font-weight: bold;
    line-height: 1;
    padding: 1em 2em;
    text-align: center;
    text-decoration: none !important;
	background: #EC6D51;
    color: #fff;
}
.unsoldinput.chkbox {
	padding-top: 10px;
}
.unsoldinput.chkbox p {
	margin: .5em 0 0;
}
.unsoldinput .sendform-wrap-label {
	margin-right: 1.5rem;
	white-space: nowrap;
}
.unsoldinput .is-invalid {
	border: 1px solid var(--error-color) !important;
}
.unsoldcheck {
    padding: 11px 1em !important;
}
.unsoldinput .invalid-feedback,
.unsoldcheck .invalid-feedback,
.invalid-feedback {
	color: var(--error-color);
	font-size: small;
	margin-bottom: 0;
}
.imgchkbox {
	display: flex;
	flex-wrap: wrap;
}
.imgchkbox input {
	display: none;
}
.imgchkbox label {
    font-size: small;
    text-align: center;
    width: calc(100% / 8 - 15px);
    display: block;
    margin-bottom: 5px;
	border: 1px solid #abb8c3;
	border-radius: 5px;
}
.imgchkbox label img {
	display: block;
}
.imgchkbox label span {
	margin-top: -12px;
    display: block;
}
.imgchkbox input:checked + label {
	border: 2px solid #e57000;
	border-radius: 5px;
}
.unsoldchkbox {
	display: flex;
	flex-wrap: wrap;
}
.unsoldchkbox input {
	display: none;
}
.unsoldchkbox label {
	background-color: #FFF;
    font-size: small;
    text-align: center;
    width: calc(100% / 4 - 15px);
    display: block;
    margin: 5px 7px 5px 0;
    padding: 5px;
	border: 1px solid #abb8c3;
	border-radius: 5px;
}
.unsoldchkbox input:checked + label {
	padding: 4px;
	border: 2px solid var(--main-color);
	border-radius: 5px;
}
.unsoldinput input[type="number"] {
    border: 1px solid #abb8c3;
    color: #333;
    padding: 10px;
    width: 100%;
    border-radius: 3px;
    position: relative;
}
.flex-wrap {
	display: flex;
	flex-wrap: wrap;
}
.flex {
	display: flex;
	flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
	.flex {
		display: flex;
		flex-wrap: wrap;
	}
}
.inputflex {
	display: flex;
}
.inputflex div {
	margin: .5em .5em 0;
}
.inputflex input {
	width: 40% !important;
}
.unsoldinput .input-group {
    display: flex;
    align-items: center;
}
.unsoldinput .flatpickr {
    align-items: initial;
}
.unsoldinput a.input-button {
    border: 1px solid #abb8c3;
    border-radius: 0 3px 3px 0;
    display: block;
    padding: 16px;
    border-left: 0;
    justify-content: center;
    line-height: 1;
    background-color: #FFF;
}
@media screen and (max-width: 568px) {
	.flex {
		flex-wrap: wrap;
	}
	.unsoldlabel {
		text-align: left;
	}
	.unsoldlabel span.helptxt br {
		display: none;
	}
	.unsoldsublabel {
		padding-top: 0 !important;
	}
	.imgchkbox label {
	    font-size: small;
	    text-align: center;
	    width: calc(100% / 5 - 15px);
	    display: block;
	    margin-bottom: 5px;
	}
}

/*--------------------------------------------------------------
 モーダル
--------------------------------------------------------------*/
.modal-container,
.modal-container_duplicate {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
}
.modal-container:before,
.modal-container_duplicate:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.modal-container.active,
.modal-container_duplicate.active {
	opacity: 1;
	visibility: visible;
	z-index: 9900;
}
.modal-close {
	position: absolute;
	top: 7px;
	right: 10px;
	font-size: 14px;
	font-weight: bold;
	color: var(--main-color);
	background: #FFF;
	cursor: pointer;
	border-radius: 50%;
	border: 2px solid #FFF;
}
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 800px;
	width: 90%;
	border-radius: 10px;
}
.modal-title {
	text-align: left;
	background-color: var(--main-color);
	color: #FFF;
	padding: 10px 20px;
	border-radius: 10px 10px 0 0;
}
.modal-content{
	background: #fff;
	text-align: left;
	padding: 20px;
	border-radius: 0 0 10px 10px;
}
.modal-content input[type="checkbox"] {
    display: none;
}
.modal-content label img {
    margin: 3px;
}
.modal-content label div {
	text-align: center;
	font-size: .6em;
	margin-bottom: 10px;
}
.modal-content input[type="checkbox"] + label .label_on,
.modal-content input[type="checkbox"]:checked + label .label_off {
	display: none;
}
.modal-content input[type="checkbox"] + label .label_off,
.modal-content input[type="checkbox"]:checked + label .label_on {
	display: inline;
}
@media screen and (max-width: 1023px) {
	.modal-open {
		margin-bottom: 15px;
	}
}

/*--------------------
	ログイン 
 --------------------*/
.unsoldlogin {
	display:block;
	margin: 0 auto;
}
.unsoldlogin .unsoldinput {
	margin-bottom: 1rem;
}
.unsoldlogin .loginlink {
	margin-top: 2rem;
	text-align: center;	
}


/*--------------------
	参加申請
 --------------------*/
ol.regstep {
	padding: 0;	
}
ol.regstep li {
	background: var(--box-color);
    border-radius: 3px;
    margin: 10px auto 0;
    padding: 10px 20px 10px;
    list-style-position: inside;
}
.sendform-wrap {
	margin-top: 1em;
}
.app_process_flow {
	display: flex;
    justify-content: center;
    margin-bottom: 15px !important;
}
.app_process {
	width: 100%;
	background-color: var(--sub-color);
	height: 100%;
	display: flex;
	flex-flow: column;
}
.app_process_title {
	background-color: var(--main-color);
	color: #FFF;
	padding: 5px 10px;
}
.app_process_body {
	padding: 5px 15px;
	font-size: small;
	flex-grow: 1;
}
.app_process_btn {
	text-align: center;
	margin-bottom: 1em;
}
.btn-round {
	background-color: var(--suou-color);
	color: #FFF;
	border-radius: 15px;
	padding: 3px 15px;
	font-size: small;
	text-decoration: none !important;
}
.entry-content .pure-g.app_process_flow .app_process_triangle {
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background-color: var(--main-color);
	width: 100%;
	height: 40%;
	margin-top: 40px !important;
}
ul.dot_list {
	list-style: none;
}
ul.dot_list li {
	position: relative;
	padding-left: 20px;
}
ul.dot_list li:before{ 
	content: '';
	display: inline-block;
	position: absolute;
	top: 8.5px;
	left: 0;
	width: 15px;
	height: 15px;
	background-color: var(--main-color);
	border-radius: 10px;
}
@media screen and (max-width: 568px) {
	.entry-content .pure-g.app_process_flow .app_process_triangle {
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		width: 20%;
		height: 40%;
		margin: 10px auto 30px !important
	}
}


/*--------------------
	よくある質問
 --------------------*/
.qa-list {
	float: left;
	width: 100%;
}
.qa-list .qa-tab {
	position: relative;
	margin-bottom: 1px;
	width: 100%;
	overflow: hidden;
}
.qa-list .qa-tab .qa-button {
	display: block;
	padding: 1em;
	background: #eee;
	font-weight: bold;
	line-height: 2;
	cursor: pointer;
	border: none;
	width: 100%;
	text-align: left;
}
.qa-list .qa-content {
	border: solid 2px #eee;
	padding: 1em;
}
.qa-list .qa-content p {
	margin-bottom: 0;
}

/*--------------------
	ランディングページ
 --------------------*/
.home_menu {
	margin-top: -1px;
	margin-left: -1px;
	width: calc(100% + 1px);
	height: calc(100% + 1px);
	padding: 1.5em 2em;
	background-color: var(--sub-color);
	border: solid 2px var(--main-color);
	color: var(--main-color);
	font-size: large;
	font-weight: bold;
	display: flex;
    align-items: center;
    justify-content: center;
}
.home_menu i {
	font-size: 2em;
}

/*--------------------
	提供事業所一覧
 --------------------*/
.list_table_head {
	background-color: var(--main-color);
    padding: 10px 15px;
    color: #fff;
    margin-top: 30px;
}
.list_table_body {
    padding: 10px 15px;
    border-bottom: 1px solid #abb8c3;
}


/*--------------------
	提供事業所詳細
 --------------------*/
.detail_tab .detail_tab_link:first-child {
	padding-right: 0 !important;
}
.detail_tab .detail_tab_link:last-child {
	padding-left: 0 !important;
}
.detail_tab .detail_tab_link span {
	display: block;
	text-align: center;
	background: var(--box-color);
	padding: 15px 0 10px;
	border-bottom: 2px solid var(--main-color);
	border-radius: 20px 20px 0 0;
}
.detail_tab .detail_tab_link span.active {
	background: var(--main-color);
	color: #FFF;
}
.detail_tab_list {
	background-color: var(--box-color);
	padding: 30px 25px ;
}
.detail_tab_list .sendform-wrap,
.detail_tab_list.sendform-wrap {
	margin: 0;
}
.detail_tab_list .unsoldlabel {
	text-align: left;
}
.approval-box {
	background: #FFF;
	border: 1px solid #abb8c3;
    border-radius: 3px;
    padding: 10px;
	
}
.approval-box p {
	border-top: 1px solid #abb8c3;
	font-size: small;
	margin: .5em auto;
	padding-top: .5em;
}
.approval-box textarea {
	border: 1px solid #abb8c3;
    color: #333;
    padding: 10px;
    width: 100%;
    border-radius: 3px;
}
.approval-btn {
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    display: block;
    margin: 5px auto 10px;
    max-width: 500px;
    width: 100%;
    padding: .5em 1em;
    text-align: center;
    text-decoration: none !important;
	background: var(--main-color);
    color: #fff;
}
.approval-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.approval-box .invalid-feedback {
	color: var(--error-color);
	font-size: small;
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}


/*--------------------
	引き取り履歴
 --------------------*/
.pickuplist_table{
	font-size: small;
}
.pickuplist_table .list_table_op{
	display: inline-flex;	
}
.pickuplist_table .list_table_op .btn{
	width: 8rem;
	height: 3.6rem;
	margin: 0px 6px;
	padding: 6px;
	border-radius: 5px;
	text-decoration: none;	
	text-align: center;
}
.pickuplist_table .btn-share{
	width: 100% !important;
	background-color: var(--bg-color);
	border: solid 1px var(--main-color);
	border-radius: 5px;
	color: var(--main-color);
}
.pickuplist_table .btn-report{
	background-color: var(--main-color);
	border: solid 1px var(--main-color);
	border-radius: 5px;
	color: #fff;
}
.pickuplist_table .btn-op{
	width: 100% !important;
	background-color: var(--main-color);
	border: solid 1px var(--main-color);
	border-radius: 5px;
	color: #fff;
	font-size: small;
}
.pickuplist_table .btn-op-sub{
	background-color: var(--suou-color);
	border: solid 1px var(--suou-color);
	border-radius: 5px;
	color: #fff;
	font-size: small;
}
/*--------------------
	お気に入り
 --------------------*/
.listicon{
	background-color: var(--main-color);
	border: solid 1px var(--main-color);
	color: #fff;
	font-size: small;
	margin: 0px 0.5rem;
	padding: 0.5rem;	
}
/*--------------------
	報告・シェア
 --------------------*/
.report-box{
	border: 8px solid var(--main-color);
	border-radius: 0 0 10px 10px;
	margin: 0;
	min-height: 300px;/* あとで削除 */
	padding: 50px;
}	

@media screen and (max-width: 767px) {
	.report-box {
		border: 6px solid var(--main-color);
		padding: 15px;
	}
}

/*--------------------------------------------------------------
奈良を知る

--------------------------------------------------------------*/
/* 説明 */
.form-detail {
  font-size: .8em;
  font-weight: normal;
}

/* カテゴリー */
.food-genre-title {
  background: var(--bg-color);
  font-weight: 500;
  padding: 6px 20px;
}

.food-genre-parent {
  border: 4px solid var(--bg-color);
  display: none;
  margin: 20px 0 0;
}

.food-genre-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px;
}

.food-genre-grandson {
/*   display: flex; */
  display: none;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 20px 20px;
}

.food-genre-grandson-title {
  border-top: 1px solid #ccc;
  font-weight: 500;
  padding: 5px 5px 0;
  width: 100%;
}

.food-genre-grandson-title::before {
  background: url('images/icon_arrow_category.svg') no-repeat center center / contain;
  content: '';
  display: inline-block;
  margin: 0 8px 0 0;
  width: 1em;
  height: 1em;
}

@media screen and (max-width: 767px) {
  .food-genre-child {
    padding: 15px;
  }
  .food-genre-grandson {
    padding: 0 15px 15px;
  }
}

.check-list label input {
  display: none;
}

.search-category img {
  display: block;
}

.search-category img + * {
  margin: 5px 0 0;
}

.search-category label {
  display: block;
  width: 20%;
  width: calc(100% / 5 - (10px * 4 / 5));
}

@media screen and (max-width: 767px) {
  .search-category label {
    width: 25%;
    width: calc(100% / 4 - (10px * 3 / 4));
  }
}

@media screen and (max-width: 567px) {
  .search-category label {
    width: 33.33%;
    width: calc(100% / 3 - (10px * 2 / 3));
  }
}

.search-category label span {
  border-radius: 3px;
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 0 5px;
  text-align: center;
}

.search-category label input:checked + img + span {
  background: var(--main-color);
  color: #fff;
}

.search-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 10px;
}

.food-genre-grandson,
.food-genre-child,
.food-genre-parent {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .search-category label span {
    font-size: 1.3rem;
  }
}

/* 産地・エリア */
.search-area label span,
.search-period label span,
.search-brand label span {
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 5px;
  display: block;
  padding: 8px 5px;
  line-height: 1;
}

.search-area {
  display: flex;
  gap: 10px;
  max-width: 580px;
}

.search-area-check {
  width: 70%;
}

.search-area label {
  display: block;
  text-align: center;
}

.search-area label:nth-child(n + 2) {
  margin: 10px 0 0;
}

.search-area label input[id*="hokubu"]:checked + span {
  background: #719fd8;
  border: 2px solid #719fd8;
  color: #fff;
}

.search-area label input[id*="nanbu"]:checked + span {
  background: #fbb03b;
  border: 2px solid #fbb03b;
  color: #fff;
}

.search-area label input[id*="kougen"]:checked + span {
  background: #fc8bb9;
  border: 2px solid #fc8bb9;
  color: #fff;
}

.search-area label input[id*="yoshinoji"]:checked + span {
  background: #93c93d;
  border: 2px solid #93c93d;
  color: #fff;
}

/* 産地・エリア（地図） */
.search-area-img {
  background: url('images/map16.png') no-repeat center center / contain;
  width: 30%;
}

.search-area:has([id*="hokubu"]:checked) .search-area-img {
  background: url('images/map01.png') no-repeat center center / contain;
}

.search-area:has([id*="hokubu"]:checked):has([id*="nanbu"]:checked) .search-area-img {
  background: url('images/map02.png') no-repeat center center / contain;
}

.search-area:has([id*="hokubu"]:checked):has([id*="kougen"]:checked) .search-area-img {
  background: url('images/map03.png') no-repeat center center / contain;
}

.search-area:has([id*="hokubu"]:checked):has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map04.png') no-repeat center center / contain;
}

.search-area:has([id*="nanbu"]:checked) .search-area-img {
  background: url('images/map05.png') no-repeat center center / contain;
}

.search-area:has([id*="nanbu"]:checked):has([id*="kougen"]:checked) .search-area-img {
  background: url('images/map06.png') no-repeat center center / contain;
}

.search-area:has([id*="nanbu"]:checked):has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map07.png') no-repeat center center / contain;
}

.search-area:has([id*="hokubu"]:checked):has([id*="nanbu"]:checked):has([id*="kougen"]:checked) .search-area-img {
  background: url('images/map08.png') no-repeat center center / contain;
}

.search-area:has([id*="kougen"]:checked) .search-area-img {
  background: url('images/map09.png') no-repeat center center / contain;
}

.search-area:has([id*="kougen"]:checked):has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map10.png') no-repeat center center / contain;
}

.search-area:has([id*="nanbu"]:checked):has([id*="kougen"]:checked):has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map11.png') no-repeat center center / contain;
}

.search-area:has([id*="hokubu"]:checked):has([id*="kougen"]:checked):has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map12.png') no-repeat center center / contain;
}

.search-area:has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map13.png') no-repeat center center / contain;
}

.search-area:has([id*="hokubu"]:checked):has([id*="nanbu"]:checked):has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map14.png') no-repeat center center / contain;
}

.search-area:has([id*="hokubu"]:checked):has([id*="nanbu"]:checked):has([id*="kougen"]:checked):has([id*="yoshinoji"]:checked) .search-area-img {
  background: url('images/map15.png') no-repeat center center / contain;
}

/* 季節 */
.search-period {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.search-period label {
  text-align: center;
  width: 25%;
  width: calc(100% / 4 - (10px * 3 / 4));
}

.search-period label input:checked + span {
  background: var(--main-color);
  border: 2px solid var(--main-color);
  color: #fff;
}

.search-field {
  background: #fff;
  border: 1px solid #ccc;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: 1.6rem;
  outline: none;
  padding: 5px 10px;
  width: 100%;  
}

@media screen and (max-width: 767px) {
  .search-field::placeholder {
    font-size: 1.2rem;
  }
}

/* 地域ブランド */
.search-brand {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.search-brand label {
  text-align: center;
  width: 25%;
  width: calc(100% / 4 - (10px * 3 / 4));
}

.search-brand label input:checked + span {
  background: var(--main-color);
  border: 2px solid var(--main-color);
  color: #fff;
}
