@charset "utf-8";
/*** 
 * common
 ***/
#archive-title {
}
#content.has-bg #archive-title {
	color: #381c02;
}
#content.has-bg .page-header {
	padding: 0 20px;
}
#content.has-bg .page-header #archive-title {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
}
#content.has-bg .page-header .taxonomy-description {
	padding: 10px 0 5px;
}
#content.has-bg .found-result-wrap, 
#content.has-bg .pagination-wrap {
	padding-left: 10px;
	padding-right: 10px;
}

.at-archive #content {
	padding: 0;
}
.at-archive #content.has-bg {
	padding: 20px 0;
}

.nav-block .nav-row {
	flex-flow: row wrap;
}
.theme-chokuso .nav-block .nav-row {
	justify-content: flex-end;
}
.theme-chokuso .nav-block .nav-row > * {
	flex: 0 1 auto;
}
.theme-chokuso.is-ie .nav-block .nav-row > * {
	flex: 1 1 auto;
}
.theme-chokuso .nav-block .nav-row > *:first-child {
	margin-right: auto;
}
.nav-block.block-btm + .term-footer {
	margin-top: 30px;
}

.page-content .more-wrap.to-search-items {
	background-color: #ffffff;
	padding: 20px;
	text-align: center;
	margin: 20px auto;
	border: 1px #dbd8d0 solid;
}
.page-content .more-wrap.to-search-items > span {
	display: block;
	font-weight: bold;
	margin-bottom: 1em;
}
.page-content .more-wrap.to-search-items > span > span {
	display: block;
	font-size: 26px;
	font-size: 2.6rem;
	margin-top: 0.3em;
}
.page-content .more-wrap.to-search-items a.with-cursor.search-by-keyword {
	display: inline-block;
	margin-top: 1em;
	font-size: 14px;
	font-size: 1.4rem;
}
.page-content .more-wrap.to-search-items > span > span > a, 
.page-content .more-wrap.to-search-items a.with-cursor.search-by-keyword {
	text-decoration: underline;
}
.page-content .more-wrap.to-search-items > span > span > a:hover, 
.page-content .more-wrap.to-search-items a.with-cursor.search-by-keyword:hover {
	text-decoration: none;
}

.page-content .term-tab-wrap {
	padding: 0 100px;
}
.page-content .term-tab-wrap .tab-items {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: end;
}
.page-content .term-tab-wrap .tab-items > * {
	flex: 1 1 auto;
	width: 50%;
	padding: 30px 10px;
	box-sizing: border-box;
	border: 3px #e66446 solid;
	border-radius: 8px 8px 0 0;
	background-color: #ffffff;
	color: #472d14;
	text-align: center;
	font-size: 22px;
	font-size: 2.2rem;
	transition: .3s ease;
}
.page-content .term-tab-wrap .tab-items > a {
	text-decoration: none;
}
.page-content .term-tab-wrap .tab-items > a.is-active {
	cursor: auto;
}
.page-content .term-tab-wrap .tab-items > a.is-active, 
.page-content .term-tab-wrap .tab-items > a:hover {
	background-color: #e66446;
	color: #ffffff;
}
.page-content .term-tab-wrap .tab-contents {
	position: relative;
	background-color: #ffffff;
}
.page-content .term-tab-wrap .tab-contents::before, 
.page-content .term-tab-wrap .tab-contents::after {
	content: '';
	display: block;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: -3px;
	border-top: 3px #e66446 solid;
	background-color: #ffffff;
}
.page-content .term-tab-wrap .tab-contents::before {
	right: 100%;
}
.page-content .term-tab-wrap .tab-contents::after {
	left: 100%;
}
.page-content .term-tab-wrap .tab-contents > * > * {
	margin: 0;
	padding: 80px 0 0;
}
.page-content .term-tab-wrap .tab-contents > * > *:last-child {
	padding-bottom: 80px;
}
/*** 
 * item archives
 *  category item
 *  tag
 *  search
 *  item-taxonomies
 ***/
.page-content .term-introduction, 
.page-content .term-content .content-group.layout-vr .group-box .box-content {
	font-size: 14px;
	font-size: 1.4rem;
}
.page-content .term-tab-wrap .term-introduction, 
.page-content .term-tab-wrap .term-content .content-group.layout-vr .group-box .box-content, 
.page-content .term-tab-wrap .entry-content {
	font-size: 16px;
	font-size: 1.6rem;
}
.page-content .term-introduction {
	margin: 0;
	padding: 0;
	background-color: #ffffff;
}
.page-content .term-tab-wrap .tab-contents .term-introduction {
	background-color: transparent;
}
.page-content .term-introduction p a {
	color: #0066cc;
	text-decoration: underline;
}
.page-content .term-introduction a:hover {
	text-decoration: none;
}
.page-content .term-introduction p {
	margin: 10px 0;
	padding: 0 5px;
}
.page-content .term-introduction .term-description + .more-wrap {
	margin: 20px 0 40px;
}

.page-content .term-introduction.mode-horizontal {
	padding: 20px;
}
.page-content .term-introduction.mode-horizontal.has-image.has-description {
	overflow: hidden;
}
.page-content .term-introduction.mode-horizontal.has-description .term-image {
	float: right;
	width: 40%;
}
.page-content .term-introduction.mode-horizontal.has-description .term-image img {
	display: block;
	margin: 0 auto;
}
.page-content .term-introduction.mode-horizontal.has-image .term-description {
	float: left;
	width: 59%;
	padding: 0 1% 0 0;
}
.page-content .term-introduction.mode-layer {
	background-color: transparent;
}
.page-content .term-introduction.mode-layer .term-description {
	background-color: #ffffff;
	margin: 0;
	padding: 20px;
}
.page-content .term-introduction.mode-layer .term-image + .term-description {
	margin-bottom: 10px;
}

.page-content .term-introduction .term-image img {
	display: block;
}
.page-content .term-introduction .layer-parent .layer-text {
	min-width: 180px;
	text-align: center;
}
.page-content .term-introduction.place-top {
}
.page-content .term-introduction.place-bottom {
	color: #381c02;
}
.page-content .term-introduction + .term-introduction {
	margin: 20px 0;
}
.page-content .term-tab-wrap .term-introduction + .term-introduction {
	margin: 0;
}
.page-content .term-introduction.field-extra_text_bottom {
	padding: 20px;
}
.page-content .term-introduction.field-extra_text_bottom h3, 
.page-content .term-introduction.field-extra_text_bottom h4, 
.page-content .term-introduction.field-extra_text_bottom h5, 
.page-content .term-introduction.field-extra_text_bottom h6 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 10px;
	padding: 0 0 3px 1.2em;
	border-bottom: 1px solid #dcd4b2;
}
.page-content .term-introduction.field-extra_text_bottom h3 {
	margin: 20px 0 15px;
}
.page-content .term-introduction.field-extra_text_bottom h3:first-of-type {
	margin-top: 0;
}
.page-content .term-introduction.field-extra_text_bottom p {
	margin: 0 0 10px;
}
.page-content .term-introduction.field-extra_text_bottom p:last-child {
	margin: 0;
}
/* タイトル装飾 */
.page-content .term-introduction.field-extra_text_bottom h3, 
.page-content .term-introduction.field-extra_text_bottom h4, 
.page-content .term-introduction.field-extra_text_bottom h5, 
.page-content .term-introduction.field-extra_text_bottom h6 {
	position: relative;
}
.page-content .term-introduction.field-extra_text_bottom h3::before, 
.page-content .term-introduction.field-extra_text_bottom h4::before, 
.page-content .term-introduction.field-extra_text_bottom h5::before, 
.page-content .term-introduction.field-extra_text_bottom h6::before {
	position: absolute;
	top: 0.45em;
	left: 0;
	background-color: #dcd4b2;
	border-radius: 100%;
	content: '';
	display: inline-block;
	height: 0.8em;
	width: 0.8em;
}

.page-content .term-banners {
	margin: 15px auto;
}
.page-content .term-banners .banner-group {
	margin-bottom: 10px;
}
.page-content .term-banners .banner-group:last-child {
	margin-bottom: 0;
}
.page-content .term-banners p {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 10px;
	padding: 0;
	border-bottom: 1px #cecab9 solid;
}
.page-content .term-banners p::before {
	content: '●';
	color: #97836c;
	margin-right: 5px;
	font-size: 87.5%;
}
.page-content .term-banners a {
	display: block;
	line-height: 1;
}
.page-content .term-banners a.bnr-link {
	margin: 0;
}

.page-content .term-content {
	background-color: #ffffff;
	margin: 10px 0 0;
	padding: 35px 30px;
	overflow-wrap: break-word;
}
.page-content .term-tab-wrap .tab-contents .term-content {
	background-color: transparent;
}
.page-content .term-content a {
	text-decoration: underline;
}
.page-content .term-content a:hover {
	text-decoration: none;
}
.page-content #recommend-shops + .term-content {
	margin-top: 20px;
}
.page-content .term-content .content-group {
	margin-top: 45px;
}
.page-content .term-content .content-group:first-child {
	margin-top: 0;
}
.page-content .term-content .group-title {
	font-size: 28px;
	font-size: 2.8rem;
	margin: 0 0 25px;
}
.theme-chokuso .page-content .term-content .group-title {
	background-color: #eee6c4;
	text-align: center;
	height: 54px;
	line-height: 58px;
	padding: 0 20px;
	position: relative;
}
.theme-chokuso .page-content .term-content .group-title::before, 
.theme-chokuso .page-content .term-content .group-title::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 27px;
	border-color: transparent #ffffff;
	top: 0; left: auto; right: auto; bottom: 0;
}
.theme-chokuso .page-content .term-content .group-title::before {
	left: 0;
	border-right-color: transparent;
}
.theme-chokuso .page-content .term-content .group-title::after {
	right: 0;
	border-left-color: transparent;
}
.page-content .term-content .content-image a, 
.page-content .term-content .content-image img {
	display: block;
	width: 100%;
}
.page-content .term-content .content-title {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom: 1px #dcd4b2 dashed;
	padding: 0 2px 10px;
	margin: 15px 0;
	overflow: hidden;
}
.theme-chokuso .page-content .term-tab-wrap .term-content .content-title {
	font-size: 20px;
	font-size: 2.0rem;
}
.page-content .term-content .content-text {
	margin: 0;
}
.page-content .term-content .content-text p {
	margin: 10px 0 0;
	padding: 0;
}
.page-content .term-content .content-text p:first-child {
	margin-top: 0;
}

.page-content .term-content .content-group.layout-hr .content-image, 
.page-content .term-content .content-group.layout-vr .group-box .box-content {
	width: 224px;
}
.theme-chokuso .page-content .term-tab-wrap .term-content .content-group.layout-hr .content-image, 
.theme-chokuso .page-content .term-tab-wrap .term-content .content-group.layout-vr .group-box .box-content {
	width: 320px;
}

.page-content .term-content .content-group.layout-hr .box-content {
	overflow: hidden;
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px #dcd4b2 dashed;
}
.page-content .term-content .content-group.layout-hr .box-content:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}
.page-content .term-content .content-group.layout-hr .content-image {
	float: left;
}
.page-content .term-content .content-group.layout-hr .content-title {
	margin-top: 0;
}
.theme-chokuso .page-content .term-content .content-group.layout-hr .content-image ~ * {
	margin-left: 244px;
}
.theme-chokuso .page-content .term-tab-wrap .term-content .content-group.layout-hr .content-image ~ * {
	margin-left: 340px;
}

.page-content .term-content .content-group.layout-vr .group-box {
	font-size: 0;
}
.page-content .term-content .content-group.layout-vr .group-box .box-content {
	display: inline-block;
	vertical-align: top;
	margin-left: 19px;
}
.theme-chokuso .page-content .term-tab-wrap .term-content .content-group.layout-vr .group-box .box-content {
	margin-left: 20px;
}
.theme-chokuso .page-content .term-content .content-group.layout-vr .box-content:nth-of-type(3n+1), 
.theme-chokuso .page-content .term-tab-wrap .term-content .content-group.layout-vr .box-content:nth-of-type(3n+1) {
	margin-left: 0;
}
.theme-chokuso .page-content .term-content .content-group.layout-vr .box-content:nth-of-type(n+4) {
	margin-top: 20px;
}

.page-content .term-content .content-group .title + .group-box {
	margin-top: 35px;
}

.page-content .term-content .content-group.about-place.layout-hr .box-content {
	padding-top: 0;
	border-top: none;
}
.page-content .term-content .content-group.about-place.layout-hr .box-content .content-image {
	width: 340px;
}
.page-content .term-content .content-group.about-place.layout-hr .box-content:nth-of-type(2n) .content-image {
	float: right;
}
.theme-chokuso .page-content .term-content .content-group.about-place.layout-hr .content-image ~ *, 
.theme-chokuso .page-content .term-tab-wrap .term-content .content-group.about-place.layout-hr .content-image ~ * {

	margin-left: 370px;
}
.theme-chokuso .page-content .term-content .content-group.about-place.layout-hr .box-content:nth-of-type(2n) .content-image ~ *, 
.theme-chokuso .page-content .term-tab-wrap .term-content .content-group.about-place.layout-hr .box-content:nth-of-type(2n) .content-image ~ * {
	margin-left: 0;
	margin-right: 370px;
}

.page-content .term-content .content-group.about-spot.layout-hr .content-title, 
.page-content .term-content .content-group.about-product.layout-hr .content-title {
	border-bottom: none;
	padding: 0;
	margin-bottom: 8px;
}
.page-content .term-content .content-group.about-spot.layout-hr .box-content .content-title:first-child, 
.page-content .term-content .content-group.about-product.layout-hr .box-content .content-title:first-child {
	margin-bottom: 15px;
}
.page-content .term-content .content-group.about-product .content-title span {
	float: left;
}
.page-content .term-content .content-group.about-product .content-title span.f-smaller {
	font-size: 12px;
	font-size: 1.2rem;
	float: right;
	padding-top: 4px;
}
.page-content .term-content .content-group.about-product .content-link {
	margin-top: 15px;
	text-align: right;
}
.page-content .term-content .content-group.about-product .content-link.more-wrap .more {
	width: 100%;
	box-sizing: border-box;
}
/* 人気ランキング */
#sec-popular {
	margin: 50px auto 20px;
}
#sec-popular .title-wrap {
	position: relative;
}
#sec-popular .title-wrap::before {
	content: '';
	position: absolute;
	display: block;
	top: 25px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fbf7ed;
}
#sec-popular .title {
	background: transparent no-repeat center top;
	background-size: 678px auto;
	background-image: url('../images/common/c_bg_ribbon_line.png');

	padding: 0;
	position: relative;
}
#sec-popular .title .title-pop {
	display: block;
	position: absolute;
	top: -10px;
	left: -25%;
	right: 0;
	bottom: 100%;
	margin: auto;

	font-size: 16px; /* fixed by px */

	width: 134px;
	height: 44px;
	line-height: 38px;
	background: transparent no-repeat center top;
	background-size: 134px auto;
	background-image: url('../images/common/c_bg_pop_balloon_yellow.png');

	-webkit-transform: rotate(-8deg);
	-ms-transform: rotate(-8deg);
	transform: rotate(-8deg);

	overflow: hidden;
}
#sec-popular .title .title-text {
	display: block;
	text-align: center;

	font-size: 28px; /* fixed by px */

	height: 62px;
	line-height: 56px;
}
#sec-popular .title .title-text.with-icon {
	padding-top: 0;
}
#sec-popular .title .title-what {
	display: block;
	text-align: right;
	font-size: 22px;
	font-size: 2.2rem;
	padding: 15px 0;
}
#sec-popular .item-list {
	background-color: #fbf7ed;
	padding: 0 10px 0;
}
/* 商品リスト */
#sec-items {
	padding: 10px 0;
}
/*** 
 * author - general
 ***/
.at-author #content img {
	display: block;
}
/*** 
 * author - nglife
 ***/
.at-author.at-nglife #content {
	padding: 20px 0;
}
.at-author.at-nglife .cat-navigation {
	padding: 10px;
}
.at-author.at-nglife .cat-navigation a {
	color: #0066cc;
	text-decoration: underline;
}
.at-author.at-nglife .cat-navigation a:hover {
	text-decoration: none;
}
/*** 
 * author - shops
 ***/
.at-shops #content {
	padding: 20px 0 0;
}
.at-shops #content.has-bg {
	padding: 15px 0 0;
}
.at-shops #content.has-bg .page-header {
	padding: 0 15px 20px;
}
.at-shops .page-header .shop-info {
	display: block;
	margin-top: 0;
	margin-left: 55px;
	font-size: 14px;
	font-size: 1.4rem;
	color: #381c02;
	overflow: hidden;
}
.at-shops .page-header .shop-info .shop-business {
	float: right;
	margin-right: 4px;
}
.at-shops .page-content .page-header .more-wrap .more {
	width: 12em;
	margin: 15px 0 0 auto;
}
.at-shops .sec-shop {
	padding: 30px;
}
.at-shops .sec-shop#shop-catch {
	padding: 0;
}
.at-shops .sec-shop .sec-title {
	text-align: center;
	letter-spacing: 4px;
	line-height: 1;
	margin-bottom: 30px;
}
.at-shops .sec-shop .title {
	font-size: 27px;
	font-size: 2.7rem;
}

.at-shops #shop-catch .main-title-wrap {
	padding: 10px;
}
.at-shops #shop-catch .main-title-wrap .main-title {
	text-align: left;
}
.at-shops #shop-catch .main-thumb-wrap .layer-text {
	font-size: 18px;
	font-size: 1.8rem;
}

.at-shops #shop-post {
	margin: 0;
	border: none;
}
.at-shops #shop-post .inner {
	background-color: #fdfbf4;
	padding: 0 20px 25px 30px;
	border: none;
}

.at-shops #shop-introduction {
	margin: 0;
}
.at-shops #shop-introduction .shop-description h2 {
	font-size: 22px;
	font-size: 2.2rem;
	color: #381c02;
	border-bottom: 1px dashed #d6c8b7;
	margin-bottom: 15px;
}
.at-shops #shop-introduction .shop-description p {
	margin-bottom: 20px;
}
.at-shops #shop-introduction .shop-thumbs {
	margin-top: 50px;
}
.at-shops #shop-introduction .shop-thumbs.col-2 li {
	width: 350px;
	margin-right: 10px;
	margin-bottom: 10px;
}
.at-shops #shop-introduction .shop-thumbs.col-2 li:nth-of-type(2n) {
	margin-right: 0;
}
.at-shops #shop-introduction .shop-thumbs .thumb-text {
	display: block;
	background-color: #f0eacc;
	color: #381c02;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	padding: 5px 10px;
	line-height: 1.3;
}

.at-shops #shop-person, 
.at-shops #shop-detail {
	background-color: #fdfbf4;
	margin: 0;
}
.at-shops #shop-person + #shop-detail {
	padding-top: 0;
}

.at-shops #shop-person, 
.at-shops #shop-introduction + #shop-detail {
	position: relative;
	padding-top: 70px;
	overflow: hidden;
}
.at-shops #shop-person::before, 
.at-shops #shop-introduction + #shop-detail::before {
	content: '';
	display: block;
	background: transparent repeat-x center top;
	background-image: url('../images/common/c_bg_curtain.png');
	background-size: 60px 38px;
	width: 100%;
	height: 38px;
	position: absolute;
	top: 0; left: 0;
}
.at-shops #shop-person .person-thumb-wrap {
	float: left;
	width: 250px;
	border-right: 20px #fdfbf4 solid;
}
.at-shops #shop-person .person-text-wrap {
	padding: 0 10px 0 0;
	border-bottom: 1px dashed #d6c8b7;
}
.at-shops #shop-person .person-name {
	border-bottom: 1px dashed #d6c8b7;
	line-height: 1.4;
	padding: 0 0 5px;
	margin-bottom: 15px;
	font-size: 22px;
	font-size: 2.2rem;
}
.at-shops #shop-person .person-name .position {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
}
.at-shops #shop-person .person-text {
	padding-bottom: 15px;
}
.at-shops #shop-person .person-text p {
	margin-bottom: 25px;
}

.at-shops #shop-detail .detail-data th, 
.at-shops #shop-detail .detail-data td {
	font-size: 14px;
	font-size: 1.4rem;
	color: #381c02;
}
.at-shops #shop-detail .detail-data th {
	background-color: #f0eacc;
	width: 7em;
}
.at-shops #shop-detail .detail-data td {
	background-color: #ffffff;
}
.at-shops #shop-detail .detail-data a i.after-label {
	margin-left: 4px;
}

.at-shops #new-shops {
	margin-top: 40px;
}
