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

CSS Information

 File name:	main.css

 Style Info:	メイン設定
 
 ※ スマフォファースト。CSSの上書きはPC側(device.css)で。

============================================================================== */

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

 共通部分 / 汎用パーツ

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

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

.content {
	clear: both;
	overflow: hidden;
	zoom: 100%;
}
.content--beige {
	background-color: var(--color-bg-light);
}
.content a {
	color: inherit;
}

.content__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 50px 15px;
}

.fs-l-pageMain .content {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

@media only screen and (min-width: 768px) {
	.content__inner {
		padding: 80px 20px;
	}
}

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

.title-block {
	margin-bottom: 40px;
	text-align: center;
	line-height: 1.8;
}
.title-block__title {
	position: relative;
}
.title-block__subtitle {
	position: relative;
}
.title-block__title::before {
	position: absolute;
	content: '';
	left: calc(50% - 50px);
	bottom: -5px;
	width: 100px;
	height: 1px;
	background-color: var(--color-text);
}
.title-block .ja--small {
	display: block;
	font-size: min(2.4rem,5vw);
}
.title-block .ja {
	display: block;
	font-size: min(3.6rem,6.5vw);
}
.title-block .ja--large {
	display: block;
	font-size: min(4.8rem,7vw);
}

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

/* title min */

.title_min {
	margin-bottom: 40px;
	font-size: 1.25rem;
	font-weight: 500;
}


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

.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;
	}
	.tbl-striped tr:nth-child(odd) td:nth-child(even) ,
	.tbl-striped tr:nth-child(even) td:nth-child(odd) {
		background: var(--color-gray-100);
	}
}
@media only screen and (min-width: 768px) {
	.tbl th {
		width: 20%;
		min-width: 8em;
		padding: 15px;
		text-align: left;
	}
	.tbl td {
		padding: 15px;
	}
	.tbl-striped tr:nth-child(even) {
		background: var(--color-gray-100);
	}
	.tbl-striped td {
		text-align: center;
	}
}


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

.text_block {
	line-height: 1.8;
}


/* fig
-----------------------------------------------------------*/

.fig_block img {
	margin-bottom: 1.5em;
}


/* 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 a {
	position: relative;
	display: block;
	height: 100%;
	text-decoration: none;
}
.card_list--underbtn a {
	padding-bottom: 40px;
}
.card_list__thumb {
	margin-bottom: 10px;
}
.card_list__name {
	text-align: center;
}
.card_list__title {
	margin-bottom: .5em;
	font-size: min(2.4rem,5vw);
	text-align: center;
}
.card_list__title::after {
	display: block;
	content: '';
	width: 200px;
	max-width: 80%;
	height: 1px;
	background-color: var(--color-gray-200);
	margin: .25em auto 0;
}
.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);
}
.card_list--underbtn a:hover .btn {
	opacity: .5;
}
.card_list__btn .btn::after {
	display: inline-block;
	content: '';
	width: .85em;
	height: .4em;
	margin-left: .25em;
	margin-right: -.5em;
	margin-bottom: .25em;
	background: no-repeat;
	background-image: url(../images/common/icon-arrow-wh.svg);
	background-size: 100% 100%;
	vertical-align: middle;
	transform:rotate(-90deg);
}

@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_list
----------------------------------------------------------- */

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


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

 index

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

/* cover
----------------------------------------------------------- */

.cover_splide {
	max-width:1200px;
	margin: 0 auto;
}

/* splide */
.cover_splide .splide__slide {
	opacity: .5;
}
.cover_splide .splide__slide.is-active {
	opacity: 1;
}
.cover_splide .splide__slide img {
	width: 100%;
	height: auto;
}
.cover_splide .splide__track {
	overflow: visible;
}
.cover_splide .splide__arrow {
	top: calc(50% - 1.5em);
	background: transparent;
}
.cover_splide .splide__arrow svg {
	fill: var(--color-white);
	width: 100%;
	height: 100%;
}
.cover_splide .splide__pagination {
	position: relative;
	margin-top: 20px;
}
.cover_splide .splide__pagination__page {
	width: 10px;
	height: 10px;
}
.cover_splide .splide__pagination__page.is-active {
	background-color: var(--color-primary);
	transform: scale(1);
}

@media only screen and (min-width: 768px) {
	.cover_splide .splide__arrow {
		width: 2.5em;
		height: 2.5em;
		background: transparent;
	}
}


/* information
----------------------------------------------------------- */

.information {
	margin-bottom: 30px;
	background-color: var(--color-bg-base);
}
.information__head {
	padding: 15px;
	background-color: var(--color-gray-800);
	color: var(--color-white);
	font-size: 1.8rem;
	text-align: center;
}
.information__body {
	padding: 15px;
}
.information__body p {
	margin-top: 0;
}
.information__body p:not(:last-child) {
	margin-bottom: 1em;
}
.information__body p:last-child {
	margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
	.information {
		display: flex;
	}
	.information__head {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 12em;
	}
	.information__head .label {
		display: block;
	}
	.information__body {
		flex: 1;
	}
}

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

.bnr-area .bnr {
	margin-bottom: 15px;
}

/* 単品 */
.bnr.bnr--yokujitu {
	padding: 30px 20px;
	background: no-repeat right center;
	background-color: var(--color-gray-800);
	background-image: url(../images/home/bnr_yokujitu_bg_sp.webp);
	background-size: auto 100%;
}
.bnr.bnr--yokujitu img {
	max-width: 50%;
}

/* list */
.bnr__list-item:not(:last-child) {
	margin-bottom: 30px;
}
.bnr__list-item a {
	display: block;
	text-decoration: none;
}
.bnr__list-label {
	margin-top: 1em;
}

@media only screen and (min-width: 768px) {
	.bnr.bnr--yokujitu {
		padding: 40px 30px;
		background-image: url(../images/home/bnr_yokujitu_bg.webp);
		background-size: auto 110%;
	}
	.bnr__list {
		display: flex;
		flex-wrap: wrap;
		gap: 40px;
	}
	.bnr__list--narrow {
		gap: 20px;
	}
	.bnr__list-item {
		width: calc((100% - 40px) / 2);
	}
	.bnr__list-item:not(:last-child) {
		margin-bottom: 0;
	}
	.bnr__list--narrow .bnr__list-item {
		width: calc((100% - 20px) / 2);
	}
}


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

.benefit__list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 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: 8px;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: min(1.6rem,3.5vw);
	text-align: center;
}
.benefit__icon {
	padding: 10px 10px 5px;
	text-align: center;
}
.benefit__icon img {
	width: 40%;
}
.benefit__icon--shipping img ,
.benefit__icon--gift img {
	width: 50%;
}
.benefit__body {
	padding: 0 8px 40px;
	font-size: min(1.6rem,3.5vw);
	line-height: 1.4;
}
.benefit__body--deli {
	padding: 10px 8px 10px;
	text-align: center;
}
.benefit__body .data-box {
	display: inline-block;
	margin-bottom: .5em;
	font-size: min(2.4rem,7vw);
	line-height: 1;
}
.benefit__body .data-box .day {
	font-size: 200%;
}
.benefit__body .benefit__link {
	position: absolute;
	display: block;
	left: 0;
	bottom: 10px;
	width: 100%;
	text-align: center;
}
.benefit__body small {
	font-size: 96%;
}
@media only screen and (min-width: 768px) {
	.benefit__list {
		gap: 20px;
	}
	.benefit__item {
		width: calc((100% - 40px) / 3);
	}
	.benefit__item--wide {
		width: calc(((100% - 40px) / 3) * 2 + 20px);
	}
}
@media only screen and (min-width: 1023px) {
	.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 30px;
	}
	.benefit__body--deli {
		padding-top: .5em;
		padding-bottom: .5em;
	}
	.benefit__body .data-box {
		margin-top: 1.25em;
		margin-bottom: 1.5em;
	}
	.benefit__body .benefit__link {
		bottom: 15px;
	}	
}


/* tab
----------------------------------------------------------- */

.tab__list {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	border-bottom: 3px solid var(--color-primary);
}
.tab__list li {
	flex: 1 1 calc((100% - 10px) / 2);
}
.tab__list label {
	display: block;
	cursor: pointer;
	padding: 8px 4px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	background: var(--color-primary);
	color: var(--color-white);
	text-align: center;
	opacity: .5;
	transition: .3s;
}

.tab__area section {
	position: relative;
	display: none;
	padding: 20px 0;
	opacity: 0;
	transition: .3s;
}

.tab__wrapper input[type="radio"]:nth-child(1):checked ~ .tab__list li:nth-child(1) label ,
.tab__wrapper input[type="radio"]:nth-child(2):checked ~ .tab__list li:nth-child(2) label ,
.tab__wrapper input[type="radio"]:nth-child(3):checked ~ .tab__list li:nth-child(3) label ,
.tab__wrapper input[type="radio"]:nth-child(4):checked ~ .tab__list li:nth-child(4) label ,
.tab__wrapper input[type="radio"]:nth-child(5):checked ~ .tab__list li:nth-child(5) label ,
.tab__wrapper input[type="radio"]:nth-child(6):checked ~ .tab__list li:nth-child(6) label ,
.tab__wrapper input[type="radio"]:nth-child(7):checked ~ .tab__list li:nth-child(7) label ,
.tab__wrapper input[type="radio"]:nth-child(8):checked ~ .tab__list li:nth-child(8) label ,
.tab__wrapper input[type="radio"]:nth-child(9):checked ~ .tab__list li:nth-child(9) label {
	opacity: 1;
}
.tab__wrapper input[type="radio"]:nth-child(1):checked ~ .tab__area section:nth-child(1) ,
.tab__wrapper input[type="radio"]:nth-child(2):checked ~ .tab__area section:nth-child(2) ,
.tab__wrapper input[type="radio"]:nth-child(3):checked ~ .tab__area section:nth-child(3) ,
.tab__wrapper input[type="radio"]:nth-child(4):checked ~ .tab__area section:nth-child(4) ,
.tab__wrapper input[type="radio"]:nth-child(5):checked ~ .tab__area section:nth-child(5) ,
.tab__wrapper input[type="radio"]:nth-child(6):checked ~ .tab__area section:nth-child(6) ,
.tab__wrapper input[type="radio"]:nth-child(7):checked ~ .tab__area section:nth-child(7) ,
.tab__wrapper input[type="radio"]:nth-child(8):checked ~ .tab__area section:nth-child(8) ,
.tab__wrapper input[type="radio"]:nth-child(9):checked ~ .tab__area section:nth-child(9) {
    display: block;
	opacity: 1;
}

@media only screen and (min-width: 768px) {
	.tab__list label {
		padding: 15px 4px;
		font-size: 2.4rem;
	}
	.tab__area section {
		padding: 30px 0;
	}
}

.rank_splide {
	padding: 0 10px;
	counter-reset: number 0;
}
.rank_splide a {
	text-decoration: none;
}
.rank_splide .splide__slide {
	padding: 0 5px;
}
.rank_splide .splide__slide::before {
	display: block;
	counter-increment: number 1;
	content: counter(number);
	width: 48px;
	height: 36px;
	margin: 0 auto 10px;
	background: no-repeat center top;
	background-image: url(../images/common/icon_rank_normal.svg);
	background-size: 100% auto;
	color: var(--color-white);
	font-size: min(2rem,4vw);
	font-weight: 600;
	line-height: 40px;
	text-align: center;
}
.rank_splide .splide__slide:nth-child(1):before {
	background-image: url(../images/common/icon_rank_gold.svg);
	color: var(--color-text);
}
.rank_splide .splide__slide:nth-child(2):before {
	background-image: url(../images/common/icon_rank_silber.svg);
	color: var(--color-text);
}
.rank_splide .splide__slide:nth-child(3):before {
	background-image: url(../images/common/icon_rank_bronze.svg);
}
.rank_splide__thumbs {
	margin-bottom: 15px;
}
.rank_splide__info .name {
	font-weight: normal;
}
.rank_splide__info .price {
	color: var(--color-dred);
	font-size: 1.8rem;
	font-weight: 600;
}
.rank_splide .splide__arrow {
	top: calc(50% - 1.5em);
	background: transparent;
}
.rank_splide .splide__arrow--next {
	right: -.75em;
}
.rank_splide .splide__arrow--prev {
	left: -.75em;
}

@media only screen and (min-width: 768px) {
	.rank_splide {
		padding: 0 20px;
	}
	.rank_splide .splide__slide {
		padding: 0 20px;
	}
	.rank_splide .splide__slide::before {
		width: 60px;
		height: 45px;
		line-height: 55px;
	}
	.rank_splide .splide__arrow svg {
		width: 100%;
		height: 100%;
	}
	.rank_splide .splide__arrow--next {
		right: 0;
	}
	.rank_splide .splide__arrow--prev {
		left: 0;
	}
}
@media only screen and (min-width: 1024px) {
}


/* a5-feature
----------------------------------------------------------- */

.a5-feature__item {
	position: relative;
}
.a5-feature__item:not(:last-child) {
	margin-bottom: 20px;
}
.a5-feature__text {
	position: relative;
	padding: 0 10px;
}
.a5-feature__text-inner {
	margin-top: -3.5em;
	padding: 15px;
	background-color: rgba(255, 255, 255, .8);
}
.a5-feature__title {
	margin-bottom: 1em;
	font-size: min(2.4rem,4.25vw);
	font-weight: normal;
}
.a5-feature__text-inner p:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
	.a5-feature__item {
		display: flex;
		align-items: center;
	}
	.a5-feature__item:nth-child(even) {
		flex-direction: row-reverse;
	}
	.a5-feature__item:not(:last-child) {
		margin-bottom: 30px;
	}
	.a5-feature__img {
		width: 750px;
		max-width: 65%;
	}
	.a5-feature__text {
		padding: 0;
		flex: 1;
	}
	.a5-feature__text-inner {
		margin-top: 0;
		padding: 25px 30px;
	}
	.a5-feature__item:nth-child(odd) .a5-feature__text-inner {
		margin-left: -34%;
	}
	.a5-feature__item:nth-child(even) .a5-feature__text-inner {
		margin-right: -34%;
	}
}


/* jukajo
----------------------------------------------------------- */

.jukajo {
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px 20px 40px;
	background: no-repeat top center;
	background-image: url(../images/home/jukajo_bg_sp.jpg);
	background-size: cover;
	box-shadow: 0 8px 10px rgba(0, 0, 0, .4);
}
.jukajo::before ,
.jukajo::after {
	position: absolute;
	content: '';
	width: 50%;
	height: 50vw;
	background: no-repeat;
	background-size: 80% auto;
}
.jukajo::before {
	top: 0;
	left: 0;
	background-position: left top;
}
.jukajo::after {
	right: 0;
	bottom: 0;
	background-position: right bottom;
}
.jukajo--basashi::before {
	background-image: url(../images/home/jukajo_basashi01.webp);
}
.jukajo--basashi::after {
	background-image: url(../images/home/jukajo_basashi02.webp);
}
.jukajo--wagyu::before {
	background-image: url(../images/home/jukajo_wagyu01.webp);
}
.jukajo--wagyu::after {
	background-image: url(../images/home/jukajo_wagyu02.webp);
}
.jukajo:not(:last-child) {
	margin-bottom: 40px;
}
.jukajo .title-block {
	position: relative;
	margin-bottom: 30px;
}
.jukajo .title-block__title::before {
	content: none;
}
.jukajo__list {
	position: relative;
	counter-reset: number 0;
}
.jukajo__item {
	position: relative;
	padding-left: 2.5em;
}
.jukajo__item::before {
	position: absolute;
	counter-increment: number 1;
	content: counter(number);
	top: 0;
	left: 0;
	width: 1.75em;
	height: 1.75em;
	background: no-repeat center center url(../images/common/icon_num_bg.svg);
	background-size: 100% auto;
	color: var(--color-white);
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.6;
}
.jukajo__item-title {
	margin-bottom: .2em;
	font-size: min(2.4rem,5vw);
	line-height: 1.2;
}

@media only screen and (min-width: 768px) {
	.jukajo {
		padding: 40px 40px 60px;
		background-image: url(../images/home/jukajo_bg.jpg);
		box-shadow: 0 15px 18px rgba(0, 0, 0, .4);
	}
	.jukajo::before ,
	.jukajo::after {
		width: 44%;
		height: 50%;
		background-size: 80% auto;
	}
	.jukajo:not(:last-child) {
		margin-bottom: 80px;
	}	
	.jukajo__item {
		margin-bottom: 40px;
		margin-right: -2em;
		padding-left: 5em;
		font-size: 1.6rem;
	}
	.jukajo__item::before {
		top: -.15em;
		width: 2.4em;
		height: 2.4em;
		font-size: 2.4rem;
		line-height: 2.2;
	}
	.jukajo__list {
		max-width: 660px;
		margin: 0 auto;
		padding-left: 5%;
	}
}


/* jukajo
----------------------------------------------------------- */

.commitment__item:not(:last-child) {
	margin-bottom: 30px;
}
.commitment__image {
	margin-bottom: 10px;
}
.commitment__heading {
	margin-bottom: 1em;
	font-size: min(2.4rem,4.5vw);
}

.commitment__text dt {
	font-size: 120%;
	font-weight: 600;
}
.commitment__text dd:not(:last-child) {
	margin-bottom: 1.5em;
}

@media only screen and (min-width: 768px) {
	.commitment__item {
		display: flex;
	}
	.commitment__item:not(:last-child) {
		margin-bottom: 50px;
	}
	.commitment__item:nth-child(even) {
		flex-direction: row-reverse;
	}
	.commitment__image {
		flex: 0 0 50%;
	}
	.commitment__text {
		flex: 0 0 50%;
	}
	.commitment__item:nth-child(odd) .commitment__text {
		padding-left: 10px;
	}
	.commitment__item:nth-child(even) .commitment__text {
		padding-right: 10px;
	}
}



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

.divider-visual {
	width: 100%;
	height: 300px;
	background: no-repeat center center;
	background-image: url("../images/home/bg-divider.webp");
	background-size: cover;
}

.contact-btn {
	margin-bottom: 40px;
}
.contact-btn__item {
	width: 320px;
	margin: 0 auto 20px;
	text-align: center;
}
.contact-btn__item a {
	display: flex;
	gap: 1em;
	justify-content: center;
	align-items: center;
	padding: 15px;
	border-radius: 10px;
	background-color: var(--color-gray-800);
	color: var(--color-white);
	text-decoration: none;
	line-height: 1.2;
}
.contact-btn__item--mail a {
	background-color: var(--color-gray-200);
	color: var(--color-text);
}
.contact-btn__item a::before {
	display: block;
	content: '';
	width: 3em;
	height: 3em;
	background: no-repeat center center;
	background-size: 100% auto;
}
.contact-btn__item--tel a::before {
	background-image: url(../images/common/icon-tel-white.svg);
}
.contact-btn__item--mail a::before {
	background-image: url(../images/common/icon_contact.svg);
}
.contact-btn__item a:hover {
	opacity: .5;
}
.contact-btn__item a .inner_text {
	display: block;
}
.contact-btn__item a span ,
.contact-btn__item a b {
	display: block;
	font-weight: normal;
}
.contact-btn__item .text {
	font-size: min(3rem,5vw);
}
.contact-btn__item .tel {
	font-size: min(4.8rem,8vw);
}
.contact-btn__item .mail {
	font-size: min(3.6rem,5vw);
}
.content--contact-share .title-block {
	position: relative;
	margin-bottom: 30px;
	z-index: 10;
}
.insta-feed {
	position: relative;
	margin-bottom: -4em;
	z-index: 9;
}

@media only screen and (min-width: 768px) {
	.divider-visual {
		height: 500px;
	}
	.contact-btn__list {
		display: flex;
		gap: 40px;
	}
	.contact-btn__item {
		width: calc((100% - 40px) / 2);
	}
	.contact-btn__item a {
		height: 100%;
	}
	.contact-btn__item--tel a::before {
		width: 4em;
		height: 4em;
	}
}

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

 store

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

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

 faq

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

.faq__category {
	margin-bottom: 40px;
}

.faq__category-title {
	margin-bottom: 15px;
	font-size: min(2.4rem,5vw);
	font-weight: 600;
}
.faq__category-title::before {
	display: inline-block;
	content: '';
	width: 1.25em;
	height: 1.25em;
	margin-right: .25em;
	margin-bottom: .3em;
	background: no-repeat;
	background-image: url(../images/common/icon_question.svg);
	background-size: 100% 100%;
	vertical-align: middle;
}

.faq__block {
	margin-bottom: 5px;
}
.faq__block label {
	cursor: pointer;
	position: relative;
	display: block;
	padding: 1em 35px 1em 35px;
	background-color: var(--color-bg-or);
	font-size: min(2rem,4vw);
	line-height: 1.2;
}
.faq__block label::before {
	position: absolute;
	top: .4em;
	left: 10px;
	content: 'Q';
	margin-right: .25em;
	font-size: 150%;
	color: var(--color-primary);
	font-family: 'Frank Ruhl Libre', serif;
}
.faq__block label::after {
	position: absolute;
	top: calc(50% - 4px);
	right: 10px;
	content: '';
	width: .85em;
	height: .4em;
	background: no-repeat;
	background-image: url(../images/common/icon-arrow.svg);
	background-size: 100% 100%;
	transition: 0.4s;
}

.faq__block .txt p:first-child::before {
	display: inline-block;
	content: 'A.';
	margin-right: .25em;
	color: var(--color-primary);
	font-family: 'Frank Ruhl Libre', serif;
	transition: 0.4s;
}

/* アコーディオン */
.faq__block .txt {
	position: relative;
	opacity: 0;
	height: 0;
	transition: height 0.4s ease, opacity 0.4s ease, padding 0.4s ease;
}
.faq__block .vibtn:checked ~ .txt {
	height: auto;
	opacity: 1;
	padding-top: 10px;
}
.faq__block .vibtn:checked ~ label::after {
	transform:rotate(180deg);
}
.faq__block .txt img {
	max-width: 70%;
}

@media only screen and (min-width: 768px) {
	.faq__category {
		margin-bottom: 80px;
	}
	.faq__block .vibtn:checked ~ .txt {
		padding-top: 20px;
	}
	.faq__block label {
		padding: 1em 30px 1em 45px;
	}
	.faq__block label::before {
		left: 15px;
	}
	.faq__block label::after {
		right: 15px;
	}
		
}


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

 sitemap

-------------------------------------------------------------------------------*/
.sitemap__group {
	margin-bottom: 20px;
}
.sitemap__head {
	padding: 5px 10px;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: min(2.4rem,4.5vw);
}
.sitemap__head--sub {
	margin-bottom: .5em;
	font-size: 1.6rem;
	font-weight: 600;
}
li + li .sitemap__head--sub {
	margin-top: 20px;
}

.sitemap__list {
	padding: 10px;
}
.sitemap__list a {
	display: block;
	padding: 4px 0;
	text-decoration: none;
}
.sitemap__list a::before {
	display: inline-block;
	content: '';
	width: .75em;
	height: .375em;
	margin-right: .5em;
	margin-bottom: .25em;
	background: no-repeat;
	background-image: url(../images/common/icon-arrow.svg);
	background-size: 100% 100%;
	vertical-align: middle;
	transform:rotate(-90deg);
}

@media only screen and (min-width: 768px) {
	.sitemap {
		display: flex;
		gap: 30px;
	}
	.sitemap .sitemap__col {
		flex: 0 0 calc((100% - 60px) / 3);
	}
	.sitemap__group {
		margin-bottom: 36px;
	}	
}



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

 fs 全般

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

/* ページタイトル */
.fs-c-heading--page {
	margin-bottom: 1em;
	padding: 0;
	border-bottom: none;
	color: inherit;
	font-size: min(3.6rem,6.5vw);
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 600;
}

/* サブタイトル */
.fs-c-subSection__title {
	margin-bottom: 20px;
	border-bottom: none;
	color: inherit;
	font-size: min(2.4rem,5.5vw);
	font-weight: normal;
}

/* アナウンスタイトル */
.fs-p-announcement__title {
	margin-bottom: 20px;
	color: inherit;
	font-size: 2rem;
	font-weight: normal;
}

/* テーブルセル：会員登録/ログインなどフォーム共通 */
.fs-c-inputTable__headerCell,
.fs-c-inputTable__dataCell {
	padding-bottom: 10px;
	font-weight: normal;
}
[type="text"], [type="search"], [type="tel"], [type="url"], [type="email"], [type="password"], [type="datetime"], [type="date"], [type="month"], [type="week"], [type="time"], [type="datetime-local"], [type="number"], .fs-c-inputGroup--vertical > [type="password"],select, textarea {
	box-sizing: border-box;
	padding: 6px;
	border-radius: 4px;
	border: 2px solid #CCC;
	border-radius: 0;
}
.fs-c-inputGroup, .fs-c-inputGroup--inline, .fs-c-inputGroup--vertical {
	border-width: 2px;
}

/* ラジオボタンを横並びに */
.fs-c-radioGroup {
	display: block;
}
.fs-c-radioGroup .fs-c-radio {
	display: inline-block;
	min-height: auto;
	margin-right: 8px;
}

/** ボタン一般 **/
.fs-c-button--primary ,
.fs-c-button--secondary {
	padding: .8em;
	box-sizing: border-box;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.fs-c-button--standard {
	box-sizing: border-box;
}
.fs-c-inputInformation__button {
	margin-top: 10px;
}
.fs-c-button--plain {
	color: inherit;
}
.fs-c-dropdown::after {
	box-sizing: border-box;
}

/* 商品アイコン */
.fs-c-mark, .fs-c-productMark__mark {
	margin: 0 4px 4px 0;
	padding: 6px 8px;
}

/* 価格 */
.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
	color: var(--color-dred);
}

/* モーダル横幅 */
.fs-c-modal__inner {
	max-width: 95%;
	width: 800px;
}

/* 右下固定カートボタン */
.fs-p-scrollingCartButton {
	display: none;
}

/* おすすめ商品/wishlist系 */
.fs-c-wishlistProduct__title ,
.fs-c-featuredProduct__title {
	margin-bottom: 15px;
	padding-bottom: .5em;
	border-bottom: solid 1px var(--color-black);
	color: inherit;
	font-size: min(2.4rem,5vw);
	font-weight: bold;
}
.fs-c-productListCarousel__ctrl {
	min-width: 20px;
}
.fs-c-featuredProduct .fs-c-slick.slick-slider .fs-c-productListItem__image a {
	display: flex;
	justify-content: center;
	align-items: center;
}
.fs-c-productListCarousel__list a {
	text-decoration: none;
}

@media only screen and (min-width: 768px) {
	.fs-c-wishlistProduct__title ,
	.fs-c-featuredProduct__title {
		margin-bottom: 25px;
	}
}


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

 商品一覧 / fs

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

.category-mv ,
.category-content {
	margin-bottom: 40px;
}

.category-mv__image {
	margin-bottom: 15px;
}

@media only screen and (min-width: 768px) {
	.category-mv ,
	.category-content {
		margin-bottom: 80px;
	}
}

/* 詳細検索 */
.fs-p-productSearch {
	border-bottom: none;
}

/* サブグループ
----------------------------------------------------------- */

.fs-c-subgroup {
	margin: 24px 0 48px;
	padding: 0;
}
/* 株のページャー非表示 */
.fs-c-subgroup .fs-c-listControl:last-child {
	display: none;
}
/* list */
.fs-c-subgroupList {
	margin: 8px 0;
	padding: 0;
	gap: 10px;
}
.fs-c-subgroupList .fs-c-subgroupList__item {
	flex: 0 0 100%;
}
.fs-c-subgroupList__link {
	position: relative;
	padding: 15px;
	border: none;
	background: var(--color-gray-100);
}
.fs-c-subgroupList__link:hover {
	opacity: .75;
}
.fs-c-subgroupList__image {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 10px;
	width: 80px;
	line-height: 1;
}
.fs-c-subgroupList__image img {
	display: inline-block;
	transition: transform 0.3s ease;
}
a:hover .fs-c-subgroupList__image img {
	transform: scale(1.1);
}
@media only screen and (min-width: 768px) {
	.fs-c-subgroupList {
		gap: 20px;
	}
	.fs-c-subgroupList .fs-c-subgroupList__item {
		flex: 0 0 calc((100% - 40px) / 3);
	}
}


/* 商品一覧リスト
----------------------------------------------------------- */

.fs-c-sortItems {
	border: none;
}

.fs-c-pagination {

}
.fs-c-pagination__item {
	margin-left: .5em;
	padding: 8px 10px;
	border: 1px solid var(--color-gray-200);
}
a.fs-c-pagination__item {
	text-decoration: none;
}
a.fs-c-pagination__item:hover {
	background-color: var(--color-gray-100);
}
a.fs-c-pagination__item--next ,
a.fs-c-pagination__item--prev {
	padding-left: 8px;
}
.fs-c-pagination__item.is-active {
	background-color: var(--color-gray-200);
}


/* 表示列調整 */
.fs-c-productList__list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.fs-c-productList__list a {
	text-decoration: none;
}

.fs-c-productList__list .fs-c-productList__list__item.fs-c-productListItem {
	display: block;
	flex: 0 0 calc((100% - 15px) / 2);
	grid-column: none;
	grid-row: none;
	border: none;
}
.fs-c-productList__list__item {
	padding: 0;
	border-bottom: none;
}
.fs-c-productListItem__productName {
	font-size: 1.6rem;
}

@media only screen and (min-width: 768px) {
	/* 表示列調整 */
	.fs-c-productList__list {
		margin: 20px auto;
		gap: 30px;
	}
	.fs-c-productList__list .fs-c-productList__list__item.fs-c-productListItem {
		flex: 0 0 calc((100% - 90px) / 4);
	}
}


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

 商品詳細 / fs

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

.fs-l-productLayout #cart {
  scroll-margin-top: 100px;
}

/* 画像モーダル位置・見出し */
.fs-c-productImageModal {
	display: flex;
	align-items: center;
}
.fs-c-productImageModalCarousel__figure__caption {
	width: auto;
	min-width: 50%;
	background: none;
}

/* 商品サムネイル */
.fs-l-productLayout .fs-c-productThumbnail {
	display: block;
	overflow-x: auto;
	width: 100%;
	-webkit-overflow-scrolling: touch;
}
.fs-l-productLayout .fs-c-productThumbnail .wrap-inner {
	display: flex;
	gap: 5px;
	min-width: 800px;
}
.fs-l-productLayout .fs-c-productThumbnail__image {
	flex: 0 0 80px;
}

/* 商品名 & キャッチコピー */
.fs-c-productNameHeading {
	margin: 0;
	padding: 0 0 20px;
	font-size: min(2.4rem,6vw);
}
/* キャッチコピー */
.fs-c-productNameHeading__copy {
}

/* 商品番号 */
.fs-l-productLayout__item .fs-c-productNumber {
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 0;
	border: none;
	color: var(--color-gray-500);
	font-size: inherit;
}
.fs-l-productLayout__item .fs-c-productNumber .fs-c-productNumber__number {
	font-weight: normal;
}
.fs-l-productLayout__item .fs-c-productNumber .fs-c-productNumber__number::before {
	content: ':';
}
/* ポイント */
.fs-l-productLayout__item .fs-c-productPointDisplay {
	font-size: inherit;
	color: var(--color-gray-500);
	background: transparent;
}
/* 価格（商品詳細のみ） */
.fs-l-productLayout__item .fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
	font-size: min(3rem);
}
/* 当店特別価格を消す */
.fs-l-productLayout__item .fs-c-productPrice__main__label {
	display: none;
}
/* 税込 */
.fs-l-productLayout__item .fs-c-productPrice__addon {
	font-size: 18px;
	color: var(--color-dred);
}

/* お届け日 */
.fs-c-estimatedDeliveryDate ,
.fs-l-productLayout__item .fs-c-estimatedDeliveryDate {
	margin-bottom: 20px;
	background-color: #f8f687;
}
.fs-c-button--plain.fs-c-button--changeLocation {
	color: #28a4bd;
	text-decoration: underline;
}

/* カート選択肢 */
.fs-c-productSelection {
	gap: 10px;
}
.fs-c-productSelection__name ,
.fs-c-productOption__name {
	padding: 10px;
	background-color: var(--color-gray-100);
}

/* カート・バリエーション選択スライダーパーツ */
.fs-c-productChooseVariation ul.fs-c-variationPanelList__list {
	display: flex;
	gap: 10px;
	padding: 0 0 8px;
	overflow-x: auto;
}
.fs-c-productChooseVariation ul.fs-c-variationPanelList__list li {
	width: 150px;
	flex-shrink: 0;
}

/* 数量・カートボタンのレイアウト */
.fs-c-productQuantityAndWishlist {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
	width: 100%;
}
/* 数量 */
.fs-c-productQuantityAndWishlist__quantity {
	max-width: 50px;
	align-self: center;
}
.fs-c-productQuantityAndWishlist__quantity::before {
	content: '数量';
}

/* カートに入れる */
.fs-l-productLayout__item .fs-c-buttonContainer {
	flex: 1;
	justify-content: flex-start;
}
.fs-l-productLayout__item .fs-c-buttonContainer .fs-c-button--primary {
	width: 100%;
	padding: 18px;
	border: none;
	border-radius: 8px;
	box-shadow: none;
	background: transparent;
	background: var(--color-primary);
	font-size: min(2.4rem,5vw);
}
.fs-l-productLayout__item .fs-c-buttonContainer .fs-c-button--primary::before {
	display: inline-block;
	content: '';
	width: 1.25em;
	height: 1.25em;
	margin-right: 1em;
	background: no-repeat center center;
	background-image: url("../images/common/icon_cart_wh.svg");
	background-size: 100% auto;
	vertical-align: middle;
}
.fs-l-productLayout__item .fs-c-buttonContainer .fs-c-button--primary .fs-c-button__label {
	display: inline-block;
	vertical-align: middle;
}

/* お気に入りボタン */
.fs-c-productQuantityAndWishlist__wishlist {
	grid-column: 5;
}
/* お気に入りボタンを非表示化 */
.fs-c-productQuantityAndWishlist__wishlist.fs-c-buttonContainer {
	display: none;
}

/* お問い合わせボタン */
.fs-c-inquiryAboutProduct.fs-c-buttonContainer--inquiryAboutProduct {
	margin-bottom: 20px;
}
.fs-c-inquiryAboutProduct.fs-c-buttonContainer--inquiryAboutProduct .fs-c-button--inquiryAboutProduct {
	text-decoration: underline;
}

/* 独自コメント1〜4 */
.fs-l-productLayout__item .product_comment-1 {
	margin-bottom: 1.5em;
}
.fs-l-productLayout__item .product_comment-2 ,
.fs-l-productLayout__item .product_comment-3 {
	margin-bottom: .5em;
}
.product_comment-4 ,
.product_comment-5 {
	margin-bottom: 2em;
}
.product_comment-4 .heading {
	margin-bottom: 15px;
	padding-bottom: .5em;
	border-bottom: solid 1px var(--color-black);
	font-size: min(2.4rem,5.5vw);
	font-weight: bold;
}

@media only screen and (min-width: 768px) {
	/* レイアウト */
	.fs-l-product2 .fs-l-productLayout {
		grid-template-columns: 500px 1fr;
		grid-gap: 30px;
	}
	.fs-l-productLayout .fs-l-productLayout__item.fs-l-productLayout__item--1 {
		overflow: hidden;
	}
}


/* LP用
------------------------------------------------------------- */

.fixbtn--cartin {
	position: fixed;
	right: 0;
	top: calc(100px + 70vh);
}
.fixbtn--cartin a {
	display: block;
	padding: 12px;
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
	background-color: var(--color-secondary);
	text-decoration: none;
	color: var(--color-white);
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.2;
}
.fixbtn--cartin a:link
.fixbtn--cartin a:hover
.fixbtn--cartin a:active
.fixbtn--cartin a:visited {
	color: var(--color-white);
}
.fixbtn--cartin a::before {
	display: block;
	content: '';
	width: 2em;
	height: 2em;
	margin: 0 auto .5em;
	background: no-repeat center center;
	background-image: url("../images/common/icon_cart_wh.svg");
	background-size: 100% auto;
}
.fixbtn--cartin a:hover {
	opacity: .5;
	color: var(--color-white);
}

.product-content {
	margin-bottom: 40px;
}

.product-cta {
	margin-top: 30px;
	margin-bottom: 40px;
}
.product-cta__thumb {
	margin-bottom: 15px;
}
.product-cta__icons {
	margin-bottom: 10px;
}
.product-cta__icons .icon {
	display: inline-block;
	margin-right: 2px;
	padding: .25em 1em;
	border-radius: 4px;
	background-color: var(--color-gray-500);
	color: var(--color-white);
	font-size: min(2rem,3.5vw);
}
.product-cta__icons .icon--or {
	background-color: var(--color-primary);
}
.product-cta__icons .icon--rd {
	background-color: var(--color-burgundy);
}
.product-cta__title {
	margin-bottom: 10px;
	font-size: min(3rem,4.5vw);
}
p.product-cta__desc {
	margin-bottom: 10px;
}
.product-cta__to-cart {
	display: flex;
	align-items: center;
	gap: 10px;
}
.product-cta__price {
	color: var(--color-burgundy);
	font-size: min(5.4rem,8vw);
}
.product-cta__price .unit,
.product-cta__price .tax-label {
	font-size: 50%;
}
.product-cta__action {
	flex: 1;
}
.product-cta__btn {
	display: block;
	padding: 12px 5px;
	border-radius: 4px;
	background-color: var(--color-secondary);
	color: var(--color-white);
	font-size: min(2.4rem,4vw);
	text-align: center;
	text-decoration: none;
}
.product-cta__btn:link
.product-cta__btn:hover
.product-cta__btn:active
.product-cta__btn:visited {
	color: var(--color-white);
}
.product-cta__btn:hover {
	opacity: .5;
}
.product-cta__btn::before {
	display: inline-block;
	content: '';
	width: 1.5em;
	height: 1.5em;
	margin-right: .5em;
	background: no-repeat center center;
	background-image: url("../images/common/icon_cart_wh.svg");
	background-size: 100% auto;
	vertical-align: middle;
}

@media only screen and (min-width: 768px) {
	.product-cta {
		display: flex;
		gap: 30px;
	}
	.product-cta__thumb {
		width: 50%;
	}
	.product-cta__body {
		flex: 1;
	}
}


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

 カート / fs

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

/* 削除 / あとで買う */
.fs-c-cartTable__actionButton__container > button {
	white-space: nowrap;
}

/* 送料無料/ついで買い誘導 */
.fs-body-cart .fs-p-announcement {
	margin-bottom: 40px;
}
.fs-p-flexibleColumn {
	margin-top: 20px;
}
.fs-p-flexibleColumn a {
	text-decoration: none;
}

/* ショッピングを続ける */
.fs-c-continueShopping {
	margin-bottom: 40px;
}

@media screen and (max-width: 600px) {
	.fs-c-cartTable__row:last-child {
		border-bottom: none;
	}
}
@media screen and (min-width: 600px) {
	/* カート */
	.fs-c-cartTableContainer {
		padding: 0;
		border: none;
	}
}


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

 ログイン / fs

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

/* ログインの目アイコン */
.fs-c-button--particular.fs-c-button--displayPassword ,
.fs-c-button--hidePassword.fs-c-button--particular {
	margin-right: 8px;
}

/* 会員登録ボタン */
.fs-c-buttonContainer.fs-c-buttonContainer--memberRegister {
	margin-top: 32px;
}

/* 連携サービスでログイン */
.fs-c-linkedServiceLogin__title {
	margin-bottom: 20px;
	border-bottom: none;
	color: inherit;
	font-size: 1.8rem;
	font-weight: normal;
}
.fs-c-linkedServiceLogin .fs-c-anotherLogin {
	margin: auto;
	max-width: 360px;
}

/* ログインアイパスエリア */
@media only screen and (min-width: 768px) {
	.fs-body-login .fs-c-inputInformation__field ,
	.fs-body-newsletter-subscribe .fs-c-inputInformation__field {
		padding: 40px 32px;
	}
	.fs-body-login .bnr-area .bnr ,
	.fs-body-register .bnr-area .bnr {
		margin-bottom: 40px;
	}	
}

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

 会員登録 / fs

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

/* 上部文言:カートと共有ペーツ */
.fs-body-register .fs-p-announcement {
	max-width: 640px;
	margin: 32px auto;
}
/* 必須マーク */
:not(.fs-body-product) .fs-c-requiredMark {
	overflow: hidden;
	width: 3.4em;
	height: 2.2em;
	margin-left: 10px;
	vertical-align: middle;
	color: var(--color-white);
}
:not(.fs-body-product) .fs-c-requiredMark::before {
	overflow: hidden;
	content: '必須';
	margin-top: .5em;
	padding: 4px 0;
	border-radius: 2px;
	background-color: var(--color-dred);
	color: var(--color-white);
	font-size: 1.0rem;
	text-align: center;
}
.fs-c-buttonContainer--confirmRegister .fs-c-button--primary {
	width: 240px;
	max-width: 100%;
	padding: 1em;
}
/* 同意するチェック */
.fs-c-agreementConfirmation__message {
	margin-bottom: 15px;
}
.fs-body-register .fs-c-additionalCheckField .fs-c-inputField__field ,
.fs-body-register .fs-c-agreementConfirmation__checkbox {
	display: block;
	max-width: 15em;
	margin: 0 auto;
}
.fs-body-customerDetails .fs-c-additionalCheckField .fs-c-inputField__field ,
.fs-body-customerDetails .fs-c-agreementConfirmation__checkbox {
	display: block;
	max-width: 500px;
	margin: 0 auto;
}
.fs-body-customerDetails .fs-c-agreementConfirmation__password {
	display: block;
	max-width: 500px;
	margin: 15px auto;
}
.fs-c-checkbox__label {
	align-items: flex-start;
}
.fs-c-checkbox__checkMark {
	margin-top: 6px;
}
/* パスワード入力 */
.fs-c-agreementConfirmation__password {
	margin-left: 0;
}
/* 登録完了 */
.fs-c-registerSuccessMessage {
	max-width: 600px;
	border-bottom: none;
	text-align: left;
}
/* マイページへ行くボタン */
.fs-c-button--myPageTop.fs-c-button--plain {
	color: inherit;
	text-decoration: underline;
}
@media only screen and (min-width: 769px) {
	/* 会員登録テーブル:フォーム共通 */
	.fs-c-inputInformation__field {
		max-width: 760px;
	}
	.fs-body-register .fs-c-inputTable > tbody > tr ,
	.fs-body-customerDetails .fs-c-inputTable > tbody > tr ,
	.fs-body-my-account-settings .fs-c-inputTable > tbody > tr ,
	.fs-body-my-account-settings-edit .fs-c-inputTable > tbody > tr {
		display: table-row;
	}
	.fs-body-register .fs-c-inputTable__headerCell ,
	.fs-body-register .fs-c-inputTable__dataCell ,
	.fs-body-customerDetails .fs-c-inputTable__headerCell ,
	.fs-body-customerDetails .fs-c-inputTable__dataCell ,
	.fs-body-my-account-settings .fs-c-inputTable__headerCell ,
	.fs-body-my-account-settings .fs-c-inputTable__dataCell ,
	.fs-body-my-account-settings-edit .fs-c-inputTable__headerCell ,
	.fs-body-my-account-settings-edit .fs-c-inputTable__dataCell {
		padding: 15px 10px;
	}
	.fs-body-register .fs-c-inputTable__headerCell ,
	.fs-body-customerDetails .fs-c-inputTable__headerCell ,
	.fs-body-my-account-settings .fs-c-inputTable__headerCell ,
	.fs-body-my-account-settings-edit .fs-c-inputTable__headerCell {
		width: 35%;
		text-align: right;
	}
	.fs-body-register .fs-c-inputTable__dataCell ,
	.fs-body-customerDetails .fs-c-inputTable__dataCell ,
	.fs-body-my-account-settings .fs-c-inputTable__dataCell ,
	.fs-body-my-account-settings-edit .fs-c-inputTable__dataCell {
		width: 526px;
		max-width: 65%;
	}
}

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

 マイページ / fs

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

.fs-p-accountInfo {
	padding: 15px;
}
.fs-p-accountInfo__header {
	margin-bottom: 10px;
}

.fs-c-purchasePointExpiration + * {
	margin-top: 15px;
}

/* マイページナビ */
.fs-c-accountService {
	gap: 15px;
}
.fs-c-accountService > li {
	flex: 0 0 calc((100% - 15px) / 2);
}


@media only screen and (min-width: 600px) {
	.fs-c-accountService > li {
		margin: 0;
		flex: 0 0 calc((100% - 30px) / 3);
	}
}
@media screen and (min-width: 768px) {
	.fs-body-my-points .fs-c-history__info {
		max-width: none;
	}
}
@media screen and (min-width: 960px) {
	.fs-c-history {
		display: flex;
		flex-direction: row-reverse;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
	}	
	.fs-c-history .fs-c-history__info {
		flex-basis: 35%;
	}
	.fs-c-history .fs-c-history__infoSummary {
		flex-basis: 64%;
	}
}


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

 ガイド / 問い合わせ / 特賞法

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

.fs-c-documentArticle {
	padding: 0 0 20px;
}
.fs-c-documentArticle__content {
	padding: 0;
}

/* 見出し */
.fs-c-documentArticle__heading {
	padding: 8px;
	background-color: var(--color-gray-800);
	font-size: min(1.8rem,4.5vw);
}
.fs-c-documentColumn__heading {
	margin-bottom: 20px;
	padding: 0 0 10px;
	border-left: none;
	color: inherit;
}
.fs-c-documentContent__heading {
	padding: 4px 8px;
	font-size: inherit;
}
.fs-c-documentSubContent__heading {
	border-bottom-width: 2px;
	font-size: inherit;
}

/* メルマガ登録 */
.fs-body-newsletter-subscribe .fs-c-inputInformation__field {
	padding: 32px;
}
.fs-c-inputInformation__button.fs-c-buttonContainer--confirmRegister {
	margin-bottom: 20px;
}


/* store
------------------------------------------------------------- */

.map_block iframe {
	width: 100%;
	height: 360px;
}
@media only screen and (min-width: 768px) {
	.map_block iframe {
		width: 100%;
		height: 520px;
	}
}



/* form
------------------------------------------------------------- */

.contact-form {
	max-width: 760px;
	margin: 0 auto;
}
.contact-form__text {
	margin-bottom: 30px;
}
.contact-form__list dt {
	padding: 15px 10px 10px;
}
.contact-form__list dt .req {
	display: inline-block;
	width: 3.4em;
	margin-left: 10px;
	border-radius: 2px;
	padding: 4px 0;
	background-color: var(--color-dred);
	color: var(--color-white);
	font-size: 1.0rem;
	line-height: 1.4;
	white-space: nowrap;
	text-align: center;
	vertical-align: middle;
}
.contact-form__list dd {
	padding: 0 10px 15px;
}

.contact-form__list input[type="text"] ,
.contact-form__list input[type="email"] ,
.contact-form__list input[type="tel"] ,
.contact-form__list textarea {
	padding: 8px;
	border: 2px solid var(--color-gray-200);
	background-color: var(--color_white);
	border-radius: 4px;
}
.contact-form__list input[type="text"] ,
.contact-form__list input[type="email"] ,
.contact-form__list input[type="tel"] {
	max-width: 100%;
}
.contact-form__list textarea {
	width: 100%;
}
.contact-form__list .tel_wrap input {
	display: inline-block;
	width: auto;
}
.contact-form__list .zip_wrap {
	display: block;
}
.contact-form__list .zip_wrap input {
	display: inline-block;
	width: 4em;
}
::placeholder{
	color: var(--color-gray-200);
}

.contact-form__btn {
	margin-bottom: 20px;
	text-align: center;
}
.contact-form__btn input ,
.contact-form__btn button {
	cursor: pointer;
	position: relative;
	display: inline-block;
	width: 240px;
	max-width: 100%;
	padding: 1em;
	border: none;
	background: var(--color-primary);
	color: var(--color-white);
}
.contact-form__btn input:hover ,
.contact-form__btn button:hover {
	opacity: .5;
}
@media only screen and (min-width: 768px) {
	.contact-form__list dt {
		clear: both;
		float: left;
		width: 13em;
		padding: 8px 0 30px;
	}
	.contact-form__list dd {
		padding: 0 0 38px 14em;
	}
}

