@charset “UTF-8”;
/* ==============================================================================

CSS Information

 File name:	main.css

 Style Info:	メイン設定
 
============================================================================== */

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

 共通部分 / 汎用パーツ

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

/* 背景横突き抜け：ブロック
------------------------------------------------------------- */

.content {
	clear: both;
	zoom: 100%;
}
#main-column .content {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.content--navy {
	background-color: var(--color-primary);
	color: var(--color-white);
}
.content--beige {
	background-color: var(--color-bg-beige);
}
.content--washi {
	background-image: url(../images/common/bg_washi.jpg);
}
.content--washi4 {
	background-image: url(../images/common/bg_washi04.jpg);
}
.content--washi5 {
	background-image: url(../images/common/bg_washi05.jpg);
}
.content--washi6 {
	background-image: url(../images/common/bg_washi06.jpg);
}
.content--washi7 {
	background-image: url(../images/common/bg_washi07.jpg);
}
.content--washi8 {
	background-image: url(../images/common/bg_washi08.jpg);
}
.content--washi9 {
	background-image: url(../images/common/bg_washi09.jpg);
}

.content a {
	color: inherit;
}

.content__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 15px;
}

.content__inner.content__inner--full {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

#main-column section .ranking ,
#main-column section .pickup {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: 20px 15px;
}
#main-column section .ranking {
	background: url(../images/common/bg_washi02.jpg);
}
#main-column section .pickup {
	background: url(../images/common/bg_washi03.jpg);
}
#main-column .ranking > h2 ,
#main-column .pickup > h2 ,
#main-column .column-set {
	max-width: 1200px;
	margin: 0 auto;
}

@media only screen and (min-width: 768px) {
	.content__inner {
		padding: 60px 20px;
	}
	#main-column section .ranking ,
	#main-column section .pickup {
		padding: 60px 20px;
	}
}


/* 見出し
-----------------------------------------------------------*/

#main-column h2 {
	border-top: none;
}

.title-block {
	margin-bottom: 20px;
	text-align: center;
	line-height: 1.4;
}

.title-block.title-block--image {
	margin-bottom: 0;
	background: no-repeat center center;
	background-size: cover;
	text-align: left;
}
.title-block.title-block--kodawari {
	background-image: url(../images/home/bg_title_kodawari.jpg);
	text-align: right;
}
.title-block.title-block--kodawari01 {
	background-image: url(../images/page/bg_kodawari01.jpg);
}
.title-block.title-block--kodawari02 {
	background-image: url(../images/page/bg_kodawari02.jpg);
}
.title-block.title-block--kodawari03 {
	background-image: url(../images/page/bg_kodawari03.jpg);
}
.title-block.title-block--kodawari04 {
	background-image: url(../images/page/bg_kodawari04.jpg);
}
.title-block.title-block--kodawari05 {
	background-image: url(../images/page/bg_kodawari05.jpg);
}
.title-block.title-block--kodawari06 {
	background-image: url(../images/home/bg_title_kodawari.jpg);
}
.title-block.title-block--tabekata01 {
	background-image: url(../images/page/bg_tabekata01.jpg);
}
.title-block.title-block--tabekata02 {
	background-image: url(../images/page/bg_tabekata02.jpg);
}
.title-block--image h2 {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px;
}
.title-block--kodawari .img {
	display: inline-block;
	width: 481px;
	max-width: 80%;
}
.title-block--image .img {
	display: inline-block;
	width: 600px;
	max-width: 80%;
}

.title-block--navy {
	padding: .75em .25em;
	background-color: var(--color-primary);
	color: var(--color-white);
}

.title-block.arrow {
	position: relative;
}
.title-block.arrow::before {
	position: absolute;
	content: '';
	left: calc(50% - .6em);
	bottom: -1.15em;
	width: 1.2em;
	height: 1.2em;
	background-color: inherit;
	clip-path: polygon(0 0, 100% 0, 50% 100%); /* 下向 */
}

.title--line {
	position: relative;
	margin-bottom: 30px;
}
.title--line::before {
	position: absolute;
	content: '';
	left: calc(50% - 210px);
	bottom: -20px;
	width: 420px;
	height: 20px;
	background: no-repeat center center;
	background-image: url(../images/common/bg_title_line.svg);
	background-size: contain;
}

.title--fude {
	position: relative;
	width: 400px;
	max-width: 100%;
	margin: 0 auto 30px;
	padding-bottom: 1em;
	background: no-repeat center bottom;
	background-image: url(../images/common/bg_title_fude.svg);
	background-size: 100% auto;
}

.title-block .min {
	display: block;
	font-size: min(1.125rem,3.75vw);
	font-weight: 600;
}
.title-block .ja--small {
	display: block;
	font-size: min(1.5rem,4.5vw);
	font-weight: 600;
}
.title-block .ja {
	display: block;
	font-size: min(1.875rem,4.5vw);
	font-weight: 600;
}
.title-block .ja--middle {
	display: block;
	font-size: min(2.25rem,5.5vw);
	font-weight: 600;
}
.title-block .ja--large {
	display: block;
	font-size: min(3rem,7vw);
	font-weight: 600;
}
.title-block .ja--large2 {
	font-size: min(3.75rem,8vw);
	font-weight: 600;
}

.title-block p:not(:first-child) {
	margin-top: 1.5em;
	line-height: 1.8;
}

.title-sub {
	margin-bottom: .75em;
	color: var(--color-primary);
	font-size: min(1.5rem,4.5vw);
	text-align: center;
}
.title-sub--underline {
	position: relative;
	margin-bottom: 30px;
}
.title-sub--underline::before {
	position: absolute;
	content: '';
	left: calc(50% - 120px);
	bottom: -20px;
	width: 240px;
	height: 15px;
	background: no-repeat center center;
	background-image: url(../images/common/bg_title_line_nv.svg);
	background-size: contain;
}

@media only screen and (min-width: 768px) {
	.title-block {
		margin-bottom: 40px;
	}
	.title-block--image h2 {
		padding: 70px 40px;
	}
	.title-block__title::before {
		bottom: -10px;
	}
}

/* text
-----------------------------------------------------------*/

.text-block {
	line-height: 1.8;
}
.text-block:not(:last-child) {
	margin-bottom: 30px;
}
.text-block p:not(:last-child) {
	margin-bottom: 1.5em;
}

@media only screen and (min-width: 768px) {
	.text-block:not(:last-child) {
		margin-bottom: 60px;
	}
}

.color--navy {
	color: var(--color-primary);
}
.color--red {
	color: var(--color-dred);
}
.color-gold {
	color: var(--color-secondary);
}

.bold {
	font-weight: bold;
}

.text--L {
	font-size: 136%;
}
.text--LL {
	font-size: 180%;
}
.text--LLL {
	font-size: 240%;
}


/* 画像/動画
-----------------------------------------------------------*/

.fig-block img {
	margin-bottom: 1.5em;
}

.video_wrap {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.video-wrap--vertical {
	aspect-ratio: 9 / 16;
}
.video_wrap iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* テーブル
-----------------------------------------------------------*/

.tbl {
	width: 100%;
	margin-bottom: 1.5em;
	border-collapse: collapse;
}
.tbl caption {
	padding: 5px;
	background-color: var(--color-gray-200);
	font-size: min(2.4rem,4.5vw);
	font-weight: 600;
}
.tbl th {
	padding: 5px;
	background: var(--color-gray-100);
	border: 1px solid var(--color-gray-200);
}
.tbl td {
	padding: 5px;
	border: 1px solid var(--color-gray-200);
}

@media only screen and (max-width: 767px) {
	.tbl {
		border-bottom: 1px solid var(--color-gray-200);
		text-align: center;
	}
	.tbl tr, .tbl th, .tbl td {
		display: block;
	}
	.tbl th ,
	.tbl td {
		border-bottom: none;
	}
}
@media only screen and (min-width: 768px) {
	.tbl th {
		width: 20%;
		min-width: 8em;
		padding: 15px;
		text-align: left;
	}
	.tbl td {
		padding: 15px;
	}
}

/* card list
----------------------------------------------------------- */

.card-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.card-list > li {
	position: relative;
	flex-grow: 0;
	width: calc(50% - 5px);
}
.card-list--sozai > li {
	width: 100%;
}
#rss_column .card-list li:first-child {
	display: none;
}
.card-list a {
	position: relative;
	display: block;
	height: 100%;
	text-decoration: none;
}
.card-list--navy .card-list__inner {
	padding: 10px;
	background-color: var(--color-primary);
	color: var(--color-white);
}
.card-list__title {
	margin-bottom: .5em;
	font-size: min(1.5rem,5vw);
	text-align: center;
}
.card-list__thumb {
	margin-bottom: 10px;
}
.card-list__name {
	text-align: center;
}
.card-list__text {
}
.card-list__btn {
	position: absolute;
	left: 0;
	bottom: 15px;
	width: 100%;
	text-align: center;
	vertical-align: middle;
}
.card-list__btn .btn {
	display: inline-block;
	width: 200px;
	max-width: 80%;
	padding: 7px;
	border-radius: 4px;
	background-color: var(--color-primary);
	color: var(--color-white);
}

@media only screen and (min-width: 768px) {
	.card-list {
		gap: 40px 25px;
	}
	.card-list > li {
		width: calc((100% - 75px) / 4);
	}
	.card-list--sepa03 > li {
		width: calc((100% - 50px) / 3);
	}
	.card-list__title {
		margin-bottom: 1em;
		padding-top: .25em;
	}
	.card-list--underbtn a {
		padding-bottom: 60px;
	}
}


/* btn
----------------------------------------------------------- */

p.btn-box {
	clear: both;
	margin: 0;
	padding: 20px 0 30px;
	text-align: center;
}

.btn-box__label {
	display: block;
	margin-bottom: 1em;
	font-size: min(1.5rem,4vw);
}

.btn-box a ,
.btn-box label {
	display: inline-block;
	width: 400px;
	max-width: 100%;
	padding: 1em 4px;
	border-radius: 8px;
	background: var(--color-primary);
	color: var(--color-white);
	font-size: 1.125rem;
	text-align: center;
	text-decoration: none;
}
.btn-box a::after ,
.btn-box label::after {
	content: '';
	display: inline-block;
	width: .4em;
	height: .85em;
	margin-left: .5em;
	background: no-repeat center top;
	background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024.8%2043%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m3.3%200-3.3%203.3%2018.2%2018.2-18.2%2018.3%203.3%203.2%2021.5-21.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E');
	background-size: contain;
	vertical-align: middle;
}
.btn-box a:hover ,
.btn-box label:hover {
	opacity: .65;
}

.btn-box a.btn--min ,
.btn-box label.btn--min {
	width: 160px;
	max-width: 100%;
	padding: .5em 8px;
	font-size: inherit;
}

.btn-box a.btn--white ,
.btn-box label.btn--white {
	border: 1px solid var(--color-primary);
	background-color: var(--color-white);
	color: var(--color-gray-800);
}
.btn-box a.btn--bl ,
.btn-box label.btn--bl {
	background-color: var(--color-black);
}

.btn-box a.btn--icon-doc::before {
	display: inline-block;
	content: '';
	width: 1em;
	height: 1em;
	margin-right: .5em;
	background: no-repeat left center url(../images/common/icon_doc.png);
	background-size: contain;
}

.btn_list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.btn_list > li {
	width: calc((100% - 10px) / 2);
}
.btn_list .btn {
	position: relative;
	display: block;
	padding: 8px;
	border-radius: 6px;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-weight: 600;
	text-decoration: none;
}
.btn_list .btn::after {
	position: absolute;
	content: '';
	display: block;
	top: calc(50% - 2px);
	right: 10px;
	width: 9px;
	height: 5px;
	background: no-repeat;
	background-image: url(../images/common/icon-arrow-wh.svg);
	background-size: 100% 100%;
	transform:rotate(-90deg);
}
.btn_list .btn:hover {
	opacity: .75;
}
@media only screen and (min-width: 768px) {
	p.btn-box {
		padding-top: 30px;
	}
	.btn_list {
		gap: 20px 30px;
	}
	.btn_list > li {
		width: calc((100% - 90px) / 4);
	}
	.btn_list .btn {
		padding: 18px 20px;
		border-radius: 10px;
	}
	.btn_list .btn::after {
		top: calc(50% - 4px);
		right: 15px;
		width: 15px;
		height: 7px;
	}
}

/* bnr
----------------------------------------------------------- */

/* 単独 */
.bnr-blcok:not(:last-child) {
	margin-bottom: 30px;
}
.bnr-blcok a {
	display: block;
	text-decoration: none;
}
.anshin .bnr-blcok {
	margin-top: 30px;
}

/* list */
.bnr-list:not(:last-child) {
	margin-bottom: 30px;
}
.bnr-list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.bnr-list__item ,
.bnr-list__item--full {
	width: 100%;
}
.bnr-list__item--3col ,
.bnr-list__item--4col {
	width: calc((100% - 15px) / 2);
}

.bnr-list a {
	display: block;
	text-decoration: none;
}
.bnr-list__text {
	margin-top: 1em;
}

@media only screen and (min-width: 768px) {
	.bnr-blcok:not(:last-child) {
		margin-bottom: 60px;
	}
	.bnr-list {
		gap: 20px;
	}
	.bnr-list__item {
		width: calc((100% - 20px) / 2);
	}
	.bnr-list__item--3col {
		width: calc((100% - 40px) / 3);
	}
	.bnr-list__item--4col {
		width: calc((100% - 60px) / 4);
	}
	.bnr-list__item--full {
		width: 100%;
	}	
}

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

 index

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

/* main-visual
----------------------------------------------------------- */

.main-visual {
	overflow: hidden;
	width: 100vw;
	margin-bottom: 20px;
}
.swiper.mainSwiper {
	overflow: visible;
	max-width: 720px;
	margin: 0 auto 20px;
}
.mainSwiper .swiper-button-next ,
.mainSwiper .swiper-button-prev {
	color: var(--color-gray-800);
}
.thumb-list {
	display: flex;
	justify-content: center;
	gap: 10px;
	max-width: 720px;
	margin: 0 auto 20px;
}
.thumb-list li {
	width: calc((100% - 40px) / 5);
}
.main-visual__catch {
	text-align: center;
}
.main-visual__catch .catch01 {
	display: inline-block;
	margin-bottom: .5em;
	font-size: min(4.5rem);
}
.main-visual__catch .catch02 {
	display: inline-block;
	font-size: min(2.25rem);
}
@media only screen and (min-width: 768px) {
	.main-visual {
		margin-bottom: 40px;
	}
	.mainSwiper .swiper-slide {
		padding: 0 20px;
	}
	.mainSwiper .swiper-button-prev {
		left: -15px;
	}
	.mainSwiper .swiper-button-next {
		right: -15px;
	}
}


/* 検索 & キーワード
----------------------------------------------------------- */

.searchbox {
	overflow: hidden;
	position: relative;
	max-width: 520px;
	margin: 0 auto 20px;
	padding: 0 100px 0 50px;
	border-radius: 8px;
	background: no-repeat 15px center url(../images/common/icon_search_gy.svg) var(--color-white);
	background-size: 1.5em auto;
}
.searchbox .searchinput {
	padding: 12px 5px;
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	font-size: 1rem;
}
.searchbox .searchsubmit {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 100px;
	height: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	background-color: var(--color-secondary);
	color: var(--color-white);
	font-size: 1rem;
	line-height: 2;
}

.keyword__tags a {
	display: inline-block;
	margin-right: .1em;
	margin-bottom: .5em;
	padding: .5em 1.5em;
	border-radius: 50vh;
	background-color: var(--color-white);
	color: var(--color-text);
}
.keyword__tags a::before {
	content: '#';
}
.keyword__tags a:hover {
	opacity: .5;
}
@media screen and (min-width: 768px) {
	.searchbox {
		margin-bottom: 40px;
	}
	.keyword {
		display: flex;
		justify-content: center;
		gap: 40px;
	}
	.keyword .title-block {
		margin-bottom: 0;
		padding-top: .65em;
		line-height: 1;
	}
	.keyword__tags {
		margin-bottom: -.5em;
	}
}


/* benefit
----------------------------------------------------------- */

.benefit-list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.benefit__item {
	position: relative;
	overflow: hidden;
	width: calc((100% - 15px) / 2);
	border-radius: 10px;
	border: 1px solid var(--color-primary);
}
.benefit__item--wide {
	width: 100%;
}
.benefit__head {
	padding: 1em 0;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: min(1.125rem,3.5vw);
	line-height: 1.8;
	text-align: center;
}
.benefit__icon {
	padding: 15px 10px 10px;
	text-align: center;
}
.benefit__icon img {
	width: auto;
	height: 4em;
}
.benefit__icon--credit img {
	width: 90%;
	height: auto;
}
.benefit__body {
	padding: 0 8px 15px;
	font-size: min(.9375rem,3.2vw);
	line-height: 1.4;
}
.benefit__body--deli {
	padding: 10px 8px 10px;
	text-align: center;
}
.benefit__body--deli .color--red {
	margin-bottom: 1em;
}
.benefit__body .data-box {
	display: inline-block;
	margin-bottom: .5em;
	color: var(--color-red);
	font-size: min(1.5rem,6vw);
	line-height: 1;
}
.benefit__body .data-box .day {
	font-size: 150%;
}
.benefit__body .large {
	font-size: 132%;
}
.benefit__body small {
	font-size: 96%;
}
@media only screen and (min-width: 880px) {
	.benefit-list {
		gap: 20px;
	}
	.benefit__item ,
	.benefit__item--wide {
		width: calc((100% - 80px) / 5);
	}
	.benefit__head {
		padding: 12px;
	}
	.benefit__icon {
		min-height: 85px;
		padding: 20px 10px 10px;
	}
	.benefit__body {
		padding: 0 12px 15px;
	}
	.benefit__body--deli {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}
	.benefit__body .data-box {
		margin-top: .25em;
		margin-bottom: .5em;
	}
}


/* ranking title
----------------------------------------------------------- */

#main-column .ranking ,
#main-column .pickup {
	position: relative;
	z-index: 0;
}
#main-column .ranking > h2 ,
#main-column .pickup > h2 {
	position: relative;
	margin-bottom: 1.5em;
	padding-left: .5em;
	font-size: min(1.875rem,4.5vw);
	font-weight: 600;
	z-index: 3;
}
#main-column .ranking > h2::before ,
#main-column .pickup > h2::before {
	position: absolute;
	content: '';
	width: 2em;
	height: 2em;
	left: 0;
	top: -.1em;
	background: no-repeat center center url(../images/common/bg_title_circle.svg);
	background-size: contain;
	z-index: -1;
}
#main-column .ranking > h2::after {
	display: inline-block;
	content: '[\3054\5BB6\5EAD\7528]';
	font-size: min(1.5rem,4vw);
}
#main-column .pickup > h2::after {
	display: inline-block;
	content: '[\3054\8D08\7B54\7528]';
	font-size: min(1.5rem,4vw);
}


/* item list
----------------------------------------------------------- */

.column-set {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	counter-reset: number 0;
}
.column-set .column4 ,
.column-set .column5 {
	position: relative;
	width: calc((100% - 15px) / 2);
}

.itemThumb-wrap {
	position: relative;
	margin-bottom: 10px;
}
.itemThumb-wrap .badge {
	position: absolute;
	top: 0;
	left: 0;
}
.ranking .itemThumb-wrap .badge img ,
.pickup .itemThumb-wrap .badge img {
	display: none;
}
.ranking .itemThumb-wrap .badge::before ,
.pickup .itemThumb-wrap .badge::before {
	display: inline-block;
	width: 30px;
	height: 40px;
	padding-top: .75em;
	counter-increment: number 1;
	content: counter(number);
	background: no-repeat top left url(../images/common/icon_rank04.svg);
	background-size: contain;
	color: var(--color-white);
	text-align: center;
}
.ranking .column5:nth-child(1) .itemThumb-wrap .badge::before ,
.pickup .column5:nth-child(1) .itemThumb-wrap .badge::before {
	background-image: url(../images/common/icon_rank01.svg);
}
.ranking .column5:nth-child(2) .itemThumb-wrap .badge::before ,
.pickup .column5:nth-child(2) .itemThumb-wrap .badge::before {
	background-image: url(../images/common/icon_rank02.svg);
}
.ranking .column5:nth-child(3) .itemThumb-wrap .badge::before ,
.pickup .column5:nth-child(3) .itemThumb-wrap .badge::before {
	background-image: url(../images/common/icon_rank03.svg);
}

.column-set h3 {
	margin-bottom: 10px;
}
p.price span {
	color: var(--color-dred);
	font-size: 1.125rem;
}

@media only screen and (min-width: 768px) {
	.column-set {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.column-set .column4 {
		width: calc((100% - 40px) / 3);
	}
	.column-set .column5 {
		width: calc((100% - 60px) / 4);
	}
}
@media only screen and (min-width: 960px) {
	.column-set .column4 {
		width: calc((100% - 60px) / 4);
	}
	.column-set .column5 {
		width: calc((100% - 80px) / 5);
	}
}


/* staff-list
-----------------------------------------------------------*/

.staff-list__item {
	margin-bottom: 20px;
}
.staff-list__img {
	text-align: center;
}
.staff-list__img img {
	width: 75%;
}
.staff-list__head {
	margin-bottom: 1em;
	color: var(--color-primary);
}
.staff-list__head .posi {
	display: block;
}
.staff-list__head .name {
	display: block;
	font-size: 1.375rem;
}
.staff-list__text p {
	font-size: .875rem;
}
@media only screen and (max-width: 767px) {
}
@media only screen and (min-width: 768px) {
	.staff-list {
		display: flex;
		flex-wrap: wrap;
		gap: 40px;
	}
	.staff-list__item {
		display: flex;
		gap: 15px;
		width: calc((100% - 40px) / 2);
		margin-bottom: 0;
		gap: 20px;
	}
	.staff-list__img {
		width: 180px;
		max-width: 40%;
	}
	.staff-list__img img {
		width: auto;
	}
	.staff-list__text {
		flex: 1;
	}
}


/* infomation
-----------------------------------------------------------*/

.news {
	margin-bottom: 20px;
}
.news__inner ,
.gentei__inner {
	margin-bottom: 20px;
	padding: 20px;
	border: 1px solid var(--color-gray-200);
	background-color: var(--color-white);
}

/* news */
.news-list {
	max-height: 320px;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: .875rem;
}
.news-list dt {
	margin-top: 1em;
}
.news-list dd {
	margin-top: .25em;
}
.news-list .data-box {
	display: inline-block;
}
@media only screen and (min-width: 768px) {
	.news-list dt {
		clear: both;
		float: left;
		display: flex;
		width: 8em;
		margin: 0;
		padding: 6px 0;
	}
	.news-list .data_box {
		display: block;
	}
	.news-list .cate_box {
		display: block;
	}
	.news-list dd {
		margin: 0;
		padding: 6px 0 6px 8.5em;
	}
}

/* gentei */
.gentei-block .item-list__item {
	width: 350px;
	max-width: 80%;
	margin: 0 auto;
}
.item-list__item a {
	display: block;
}
.item-list__item a:hover {
	color: var(--color-gray-600);
}
.item-list__item a:hover .btn {
	opacity: .5;
}
.item-list__thumb {
	margin-bottom: 10px;
}
.item-list__name {
	margin-bottom: 10px;
	font-size: min(1.25rem,4.5vw);
	font-weight: 600;
}
.item-list__text {
	margin-bottom: 10px;
	font-size: .875rem;
}
.item-list__btn-box {
	text-align: center;
}
.item-list__btn-box .btn {
	display: inline-block;
	width: 240px;
	max-width: 100%;
	padding: .5em 8px;
	border-radius: 8px;
	background: var(--color-dred);
	color: var(--color-white);
	text-align: center;
	text-decoration: none;
}
.item-list__btn-box .btn::after {
	content: '';
	display: inline-block;
	width: .4em;
	height: .85em;
	margin-left: .5em;
	background: no-repeat center top;
	background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024.8%2043%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m3.3%200-3.3%203.3%2018.2%2018.2-18.2%2018.3%203.3%203.2%2021.5-21.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E');
	background-size: contain;
	vertical-align: middle;
}

@media only screen and (min-width: 768px) {
	.infomation {
		display: flex;
		gap: 40px;
	}
	.infomation__item {
		width: calc((100% - 40px) / 2);
	}
	.news__inner ,
	.gentei__inner {
		padding: 40px 30px;
	}
}


/* infinite slide
------------------------------------------------------------- */

.infinite_slide {
	position: relative;
}
.infinite_slide_inner {
	display: flex;
}
.infinite_slide_list {
	display: flex;
}
.infinite_slide_list.left {
	animation :infinity-scroll-left 30s infinite linear .4s both;
}
.infinite_slide_list.right {
	animation :infinity-scroll-right 30s infinite linear .4s both;
}
.infinite_slide_list li {
	width: 160px;
	padding: 0 4px;
}
.infinite_slide_list img {
	width: 100%;
	transition: 0.4s;
}

@media only screen and (min-width: 769px) {
	.infinite_slide_list li {
		width: 280px;
	}
}

@keyframes infinity-scroll-left {
	from { transform: translateX(0); }
	to { transform: translateX(-100%); }
}
@keyframes infinity-scroll-right {
	from { transform: translateX(-100%); }
	to { transform: translateX(0%); }
}

/* business
-----------------------------------------------------------*/

.business-list__text {
	display: flex;
	align-items: center;
	gap: 10px;
}
.business-list__text .num {
	display: block;
	width: 1.5em;
}
.business-list__text .label {
	flex: 1;
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {
	/*.business-list__item {
		display: flex;
		gap: 10px;
	}
	.business-list__item .fig {
		width: 240px;
		max-width: 20%;
	}*/
	.business-list__item {
		margin-bottom: 20px;
	}
	.business-list__item .fig {
		margin-bottom: 10px;
		text-align: center;
	}
	.business-list__item .fig img {
		width: 75%;
	}
}
@media only screen and (min-width: 768px) {
	.business-list {
		display: flex;
		gap: 30px;
	}
	.business-list__item {
		width: calc((100% - 60px) / 3);
	}
	.business-list__item .fig {
		margin-bottom: 20px;
	}
	.business-list__text .num {
		width: 2em;
	}
}


/* 安心
-----------------------------------------------------------*/

.anshin__list {
	counter-reset: number 0;
	border: 1px solid var(--color-gray-200);
	border-bottom: none;
}
.anshin__list li {
	padding: 12px;
	border-bottom: 1px solid var(--color-gray-200);
}
.anshin__head {
	margin-bottom: 10px;
	font-size: min(2.5rem,6.5vw);
	color: var(--color-dred);
	font-weight: 600;
	line-height: 1;
}
.anshin__head::before {
	counter-increment: number 1;
	content: counter(number) '.';
	display: inline-block;
	margin-right: .2em;
	width: .85em;
	height: .85em;
	background: no-repeat center center url(../images/common/bg_num_circle.svg);
	background-size: contain;
	color: var(--color-primary);
	font-size: min(4rem,15vw);
	font-weight: 400;
	font-family: "Herr Von Muellerhoff", cursive;
	line-height: .9;
	text-align: center;
}
.anshin__body {
  font-size: min(2rem,5vw);
  line-height: 1.4;
}
.anshin__body.min {
	font-size: min(1.5rem,4.5vw);
}
.anshin__body b {
  font-size: 110%;
}

@media screen and (min-width: 768px) {
  .anshin__list {
    display: flex;
    flex-wrap: wrap;
    border-right: none;
    border-bottom: none;
  }
  .anshin__list li {
    width: 50%;
    padding: 25px;
    border-right: 1px solid var(--color-gray-200);
  }
  .anshin__head::before {
    margin-right: .1em;
  }
}


/* ギフト
-----------------------------------------------------------*/

.gift__list li:not(:last-child) {
  margin-bottom: 20px;
}
.gift__list .inner {
  display: flex;
  gap: 20px;
}
.gift__list .gift__fig {
  width: 35%;
}
.gift__list .gift__text {
  flex: 1;
  font-size: min(1rem,3vw);
}
.gift__list .gift__text h3 {
  margin-bottom: .5em;
  font-size: min(1.5rem,4vw);
  font-weight: 600;
  line-height: 1.2;
}
.gift__list li:nth-child(2) .gift__text::after {
  display: flex;
}

@media screen and (min-width: 768px) {
  .gift__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  .gift__list li:not(:last-child) {
    margin-bottom: 0;
  }  
  .gift__list li {
    width: calc((100% - 40px) / 2);
  }
  .gift__list .gift__fig {
	width: 300px;
	max-width: 50%;
  }
}


/* guide
-----------------------------------------------------------*/

.guide__item {
	margin-bottom: 15px;
	padding: 15px;
	border: 1px solid var(--color-primary);
}
.guide__item.guide__item--cal {
	padding: 0;
}
.guide__head {
	margin-bottom: 1em;
	font-size: min(1.5rem,4.5vw);
	color: var(--color-primary);
	text-align: center;
}
.guide__body p:not(:last-child) {
	margin-bottom: 1.5em;
}

.guide__tel ,
.guide__fax {
	margin-bottom: 1em;
}
.guide__tel .label ,
.guide__fax .label {
	display: inline-block;
	font-size: 1.125rem;
	vertical-align: middle;
}
.guide__tel .number ,
.guide__fax .number {
	display: inline-block;
	margin-left: .5em;
	font-size: min(2.25rem,5vw);
	vertical-align: middle;
}
.guide__tel::before ,
.guide__fax::before {
	display: inline-block;
	content: '';
	width: 3em;
	height: 3em;
	margin-right: 1em;
	border-radius: 50%;
	background: no-repeat center center var(--color-primary);
	background-size: 50% auto;
	vertical-align: middle;
}
.guide__tel::before {
	background-image: url(../images/common/icon_tel_wh.svg);
}
.guide__fax::before {
	background-image: url(../images/common/icon_fax_wh.svg);
}

.guide__item .btn-box {
	padding: 0;
}

/* カレンダー */
.guide__item .cal_wrap {
	position: relative;
	padding: 70px 15px 15px;
}
.guide__item .cal_wrap table.cal {
	width: 100%;
	line-height: 1.4;
}
.guide__item .cal_wrap table.cal tr th p.month {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 10px;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: min(1.5rem,4.5vw);
	text-align: center;
}
.guide__item .cal_wrap table.cal tr th input {
	border: none;
	z-index: 1;
}
.guide__item .cal_wrap table.cal tr th input.prev ,
.guide__item .cal_wrap table.cal tr th input.next {
	position: absolute;
	top: 15px;
	width: 22px;
	height: 22px;
	background-color: var(--color-primary);
}
.guide__item .cal_wrap table.cal tr th input.prev {
	left: 15px;
}
.guide__item .cal_wrap table.cal tr th input.next {
	right: 15px;
}
.guide__item .cal_wrap table.cal tr td {
	border: solid 1px #CCC;
	text-align: center;
}
.guide__item .cal_wrap table.cal tr.headline td {
	padding: 8px 0;
	background-color: var(--color-gray-100);
}
.guide__item .cal_wrap .cap {
	padding: 0 2%;
	width: auto;
}
.guide__item .cal_wrap table.cal tr td > div {
	padding: 8px 0;
}
.guide__item .cal_wrap .cap ul {
	margin: 3px 0 0;
}
.guide__item .cal_wrap .cap li {
	display: inline-block;
	line-height: 140%;
	overflow: hidden;
}
.guide__item .cal_wrap .cap li span {
	margin: 0 10px 0 0;
}
.sub-column div.subc_cal_cont .cap .cap-info {
	background-color: #F5F5F5;
	line-height: 140%;
	padding: 10px 3%;
}
.guide__item .cal_wrap table.cal tr td div.Today {
	background-color: #CCCCCC;
	font-weight: bold;
}
.guide__item .cal_wrap table.cal tr td div.Deli {
	background-color: #EFE;
}
.guide__item .cal_wrap table.cal tr td div.Holyday {
	background-color: #FF5078;
	color: #FFF;
}
.guide__item .cal_wrap table.cal tr td div.backward {
	color: #CCC;
	font-weight: normal;
	background-color: #FFF;
}
.guide__item .cal_wrap table.cal tr td div.pointer {
	cursor: pointer;
}
.guide__item .cal_wrap table.cal tr td div.pointer:hover {
	background-color: #EEE;
}

@media screen and (min-width: 768px) {
	.guide {
		display: flex;
		flex-wrap: wrap;
		gap: 30px 40px;
	}
	.guide__item {
		width: calc((100% - 40px) / 2);
		padding: 30px;
		margin-bottom: 0;
	}
	.guide__item--full {
		width: 100%;
	}
	.guide__item--inbtn {
		position: relative;
		padding-bottom: 4em;
	}
	.guide__item .btn-box {
		position: absolute;
		width: 100%;
		left: 0;
		bottom: 20px;
	}
}

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

 フリーページ

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

/* フリーページデフォルトパーツ非表示 */
#Journal > h1 ,
#Journal > article > h2:first-child ,
#Journal > article > .state_r {
	display: none;
}
#Journal {
	--color-bg-dbg    : #efe3ce;
	--color-bg-lbu    : #d9e1ea;
}

/* 食べかた
-----------------------------------------------------------*/

.tabekata {
	padding: 0;
	background-color: var(--color-bg-lbu);
}
.tabekata__body {
	padding: 20px;
}
.tabekata__list {
	display: flex;
	margin-right: -2.5%;
}
.tabekata__list li {
	position: relative;
	width: calc(100% / 3);
	padding-right: 4%;
}
.tabekata__list li:not(:last-child)::after {
	position: absolute;
	content: '';
	width: 2em;
	height: 2.5em;
	top: 40%;
	right: -1%;
	background: no-repeat center center;
	background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2026%2043.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m4.1%200-4.1%204.1%2017.8%2017.8-17.8%2017.9%204.1%204.1%2021.9-22z%22%20fill%3D%22%231b3a5d%22%2F%3E%3C%2Fsvg%3E');
	background-size: contain;
}

@media screen and (min-width: 768px) {
	.tabekata__body {
		padding: 40px;
	}
}


/* ゆで方
-----------------------------------------------------------*/

.yude-point {
  counter-reset: point;
  counter-reset: step;
  margin-bottom: 20px;
}
.yude-point__item {
  counter-increment: point;
}
.yude-point__head {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 20px;
}
.yude-point__head .num {
	display: block;
	margin-right: .25em;
	padding: .65em .65em .65em;
	background: no-repeat center top url(../images/common/icon_point_bg.png);
	background-size: contain;
	color: var(--color-white);
	font-size: min(3.75rem,8vw);
	font-weight: 600;
	text-align: center;
	line-height: 1;
}
.yude-point__head .num::before {
  content: counter(point);
}
.yude-point__head .title {
	display: block;
	flex: 1;
	color: var(--color-primary);
	font-size: min(1.875rem,5vw);
	font-weight: 500;
	line-height: 1.4;
}

.yude-step__item {
  counter-increment: step;
  margin-bottom: 15px;
  padding: 15px;
  background-color: var(--color-bg-lbu);
}
.yude-step__fig {
	margin-bottom: 10px;
	line-height: 1;
	text-align: center;
}
.yude-step__title {
	margin-bottom: .5em;
	color: var(--color-primary);
	font-size: min(1.5rem,4.5vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
}
.yude-step__title .num::after {
  content: counter(step) ;
  font-size: 150%;
}

@media screen and (min-width: 768px) {
	.yude-point__body {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.yude-step__item {
		display: flex;
		gap: 20px;
		width: calc((100% - 20px) / 2);
		padding: 20px;
	}
	.yude-step__fig {
		width: 300px;
		max-width: 50%;
	}
	.yude-step__text {
		flex: 1;
	}
	.yude-step__title .num ,
	.yude-step__title .title {
		display: inline-block;
	}
}


/* 美味しい
-----------------------------------------------------------*/

.oishii {
	padding: 15px;
	background-color: var(--color-bg-dbg);
}
.oishii__item:not(:last-child) {
	margin-bottom: 15px;
}
.oishii__caption {
	margin-bottom: .5em;
	margin-right: -1em;
	font-size: min(1.375rem,4.5vw);
	font-weight: 600;
	letter-spacing: -.05em;
}
@media screen and (max-width: 767px) {
	.oishii__fig {
		display: flex;
		align-items: center;
		gap: 15px;
		margin-bottom: 15px;
	}
	.oishii__fig img {
		width: 240px;
		max-width: 40%;
	}
}
@media screen and (min-width: 768px) {
	.oishii {
		padding: 30px;
	}
	.oishii__list {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}
	.oishii__item {
		display: flex;
		width: calc((100% - 30px) / 2);
		gap: 20px;
	}
	.oishii__fig {
		width: 190px;
		max-width: 36%;
	}
	.oishii__text {
		flex: 1;
	}
}



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

 xxxxxxx

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


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







/* /////////////////////////////////////////////////////////////////////////////

 汎用CSS

///////////////////////////////////////////////////////////////////////////// */

.center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}

.mB10 {
	margin-bottom: 10px;
}
.mB20 {
	margin-bottom: 20px;
}
.mB30 {
	margin-bottom: 30px;
}
.mB40 {
	margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
	.sp_hide {
		display: none;
	}
	.sp_center {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
}
@media only screen and (min-width: 768px) {
	.pc_hide {
		display: none;
	}
	.pc_center {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
}
