﻿@charset "utf-8";
* {
	min-height:0;
	min-width : 0;
	}

body{
	height: 100%;
	font-family: Noto Sans JP,sans-serif;
	background-size: cover;
	background-color: #eee;
	font-size: 13px;
	letter-spacing: 0.1em;
	color: #333;
	}

html,body{
	height: 100%;
    scrollbar-color: #999999 #fff;
    scrollbar-width: thin;
	}

::-webkit-scrollbar {width: 10px;}
::-webkit-scrollbar-track {background: #fff;}
::-webkit-scrollbar-thumb {background: #999999;}

a 			{color: inherit;text-decoration: none;cursor: pointer;font-weight: 500;}
a:visited	{color: inherit;}
a:hover		{color: inherit;}
a:focus, *:focus {outline:none; }

rt {font-size: 0.4em}


table {
	border-collapse: collapse;
	}

th, td {
	border: none;
	padding: 5px 20px;
	vertical-align: top;
	}

th {}

em {text-decoration: none;font-style: normal;}
strong, em {font-weight: bold;}

.primaryContainer {
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	line-height: 2;
	overflow: hidden;
	background-color: #fff;
	}

header {}

main {}

section {
	box-sizing: border-box;
	margin: 0 auto 1em;
	position: relative;
	}

section img {
	display: block;
	width: 100%;
	}

section.item-attention {
	font-size: 0.9em;
	letter-spacing: 0;
	color: #666;
	}


section.item-attention > ul {
	padding: 1em 2em 1em 3em;
	margin-bottom: 1em;
	list-style-type: square;
	}


/*商品メイン*/
.item-main-date {
	padding: 1em 1em 0;
	font-size: 0.9em;
	color: #e60012;
	}

h1.item-main-name {
	padding: 1em 1em 0;
	font-size: 1.2em;
	}

.item-main-caption {
	padding: 1em;
	margin-bottom: 1em;
	}

.event-main-caption, .event-detail-text-wrapper {
	padding: 1em 1.5em 1em 1.5em;
	margin-bottom: 1em;
	}

	.event-main-caption h2, .event-detail-text-wrapper h2 {
		padding: 1em 0 1em 0;
		font-size: 1.3em;
		}

	.event-main-caption h3, .event-detail-text-wrapper h3 {
		padding: 1em 0 1em 0;
		font-size: 1.2em;
		}

	.event-main-caption h4, .event-detail-text-wrapper h4{
		padding: 1em 0 1em 0;
		font-size: 1.1em;
		}


	.event-main-caption ul,	.event-main-caption ol, .event-detail-text-wrapper ul, .event-detail-text-wrapper ol {
		padding: 0 1em 1em 2em;
		}

	.event-main-caption a, .event-main-caption a:visited, .event-detail-text-wrapper a, .event-detail-text-wrapper a:visited {
		color: #058EFF;
		text-decoration: underline;
		}

	/*イベント詳細表示テーブル領域*/
	.event-detail-text-wrapper table {
		width: 100%;
		border: 1px solid #eee;
		margin: 0 0 50px;
		}

	.event-detail-text-wrapper table td {
		box-sizing: border-box;
		padding: 1em 1.5em;
		font-weight: 400;
		vertical-align: top;
		line-height: 2;
		letter-spacing: .08em;
		border-bottom: 1px solid rgba(45,45,45,.1);
		}

	.event-detail-text-wrapper table td:first-of-type {
		width: 120px;
		background-color: #f9f9f9;
		font-weight: bold;
		}

	@media screen and (max-width: 767px) {
		.event-detail-text-wrapper table {
			margin: 14px 0 24px;
			}

		.event-detail-text-wrapper table td {
			display: block;
			box-sizing: border-box;
			padding: 12px 19px;
			}

		.event-detail-text-wrapper table tr:last-child td{
			border: none;
			}
		
		.event-detail-text-wrapper table td:first-of-type {
			width: 100%;
			}
		}


.copyright {
	padding: 1em 1em 1.5em 1em;
	margin-bottom: 1em;
	color: #999;
	font-size: 0.7em;
	letter-spacing: 0.01em;
	text-align: right;
	}

h2.section-title {
	padding: 1em;
	font-size: 1.2em;
	}


/*店舗詳細*/
.store-detail-main {
	padding: 2em;
	}

.store-detail-photo {
	}

h1.store-detail-name {
	padding: 1em 0.5em 1em;
	font-size: 1.3em;
	line-height: 1.4;
	}

h2.store-detail-title {
	padding: 1em 1em 0;
	font-size: 1.2em;
	}

.store-detail-caption {
	padding: 0em 1.5em 1.5em;
	font-size: 0.9em;
	line-height: 1.8;
	}

h3.store-detail-sub-title {
	padding: 0.5em 1em 0;
	font-size: 1.1em;
	color: #666;
	}

.store-detail-contnet {
	padding: 0em 1.5em 1em;
	font-size: 0.9em;
	line-height: 1.8;
	}

.store-detail-emoney {
	padding: 1em 0.5em;
	}

ul.store-detail-service-icon {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 1em;
	margin-bottom: 1em;
	list-style-type: none;
	}

ul.store-detail-service-icon > li {
	flex-basis: 32%;
	box-sizing: border-box;
	padding: 0.25em 0em;
	margin: 0.1em 0.5%;
	border: 1px #ddd solid;
	border-radius: 3px;
	text-align: center;
	font-size: 0.8em;
	color: #333;
	letter-spacing: 0.01em;
	}

/*SNSシェアボタン*/
.shareBox {
	width: 100%;
	text-align: center;
	position: relative;
	}

.share-text {
	padding: 1em;
	font-size: 0.8em;
	letter-spacing: 0;
	font-weight: bold;
	color: #999;
	}

.shareButtons {
	display: flex;
	justify-content: space-around;
	width: 150px;
	height: auto;
	margin: 0px auto;
	padding: 0 0 35px;
	clear: none;
	}

.shareButtons>div>a {
	display: block;
	width: 30px;
	height: 30px;
	background-size: contain;
	background: no-repeat top center;
	}

.shareButtons>div.fbBtn a 		{background-image: url("../images/sns_ico_01_fb.svg");}
.shareButtons>div.tweetBtn a 	{background-image: url("../images/sns_ico_02_tw.svg");}
.shareButtons>div.lineBtn a 	{background-image: url("../images/sns_ico_03_line.svg");}


/*店舗一覧*/
/*アコーディオン*/
.include-accordion > li > ul {
	height: 0;
	padding: 0;
	margin:0;
	overflow: hidden;
	transition: .5s;
	box-sizing: border-box;
	}

/*汎用リスト*/
.include-accordion > li > ul.list-common {
	padding-left: 3em;
	padding-right: 1em;
	list-style-type: square;
	}

.include-accordion > li > ul.list-common > li {
	padding: 0.5em 0 0 0;
	}

.include-accordion > li > ul.list-common > li:first-child {
	padding-top: 1em;
	}

.include-accordion > li > ul.list-common > li:last-child {
	padding-bottom: 1em;
	}


button{
	position: relative;
	border: none;
	width: 100%;
	background-color: inherit;
	cursor: pointer;
	text-align: left;
	padding: 15px 0 15px 20px;
	font-size: 1.3em;
	letter-spacing: 0.1em;
	border-bottom: 1px #999 dashed;
	}

.include-accordion > li:first-child button {
	border-top: 1px #999 dashed;
	}

button::before,
button::after{
	content:"";
	position: absolute;
	top: 50%;
	width: 1.5px;
	height: 8px;
	background-color: #333;
	transition: .5s;
	}
button::before{
	transform: translateY(-50%) rotate(-45deg);
	right: 35px;
	}
button::after{
	transform: translateY(-50%) rotate(45deg);
	right: 30px;
	}
li.active button::before{
	transform: translateY(-50%) rotate(-135deg);
	transition:.5s;
	}
li.active button::after{
	transform: translateY(-50%) rotate(135deg);
	transition:.5s;
	}

ul.active{overflow-y: auto; }


/*店舗ごと*/
.store {
	padding: 1.5em 0 1.5em 0;	
	border-bottom: 1px #999 dashed;
	}

h3.region-name {
	padding: 1em 0 0 1.4em;
	font-size: 1.1em;
	color: #666;
	}

.store > a {
	display: flex;
	margin: 0 auto;
	box-sizing: border-box;
	justify-content:center;
	align-items: flex-start;
	flex-wrap: wrap;
	}
.store-photo {
	box-sizing: border-box;
	flex-basis: 25%;
	padding: 0 1em 0 1em;
	}

.store-photo > img {
	border-radius: 2px;
	}

.store-info {
	flex-basis: 70%;
	}

h4.store-name {
	padding: 0 1.5em 0.5em 0;
	line-height: 1.6;
	letter-spacing: 0.01em;
	}

.store-address {
	padding: 0 1.5em 0 0;
	font-size: 0.85em;
	letter-spacing: 0;
	line-height: 1.8;
	color: #666;
	}

.store-release-date {
	color: #e60012;
	}


.item-list {
	box-sizing: border-box;
	width: 100%;
	padding-left: 3%;
	display: flex;
	margin: 0 auto;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	list-style-type: none;
	}

.item-list > li {
	box-sizing: border-box;
	flex-basis: 48.5%;
	padding: 0 3% 6% 3%;
	margin-bottom: 1em;
	}

/*.item-list > li:nth-child(odd) 	{padding-right: 3%;}
.item-list > li:nth-child(even) {padding-left: 3%;}*/


img.item-photo {
	border-radius: 3px;
	}

.item-date {
	padding: 1em 0 0;
	line-height: 1.6;
	font-size: 0.8em;
	color: #e60012;
	}

h3.item-name {
	margin-top: 1em;
	line-height: 1.6;
	}

/*汎用ボタン*/
.button-common {
	padding: 1em;
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-wrap: wrap;
	}

.button-common a {
	display: block;
	box-sizing: border-box;
	padding: 0.5em 3em;
	margin-bottom: 1em;
	text-align: center;
	border-radius: 20px;
	background-color: #ede6e6;
	/*background-color: #e70000;*/
	/*background-color: #eee;*/
	/*border: 1px #999 solid;*/
	color: #000;
	font-weight: 600;
	}

.button-common a.wide {
	flex-basis: 100%;
	}




/*youtube*/
.youtube {
	margin: 0 auto;
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	}

.youtube iframe {
	position:absolute !important;
	top:0 !important;
	left:0 !important;
	width:100% !important;
	height:100% !important;
	}

/*記事用のいろいろな定義*/	
.small	{font-size: 0.6em;}
.large	{font-size: 1.2em;}
.big	{font-weight: bold;font-size: 1.8em;}
.center	{text-align: center;}
.spaced {padding: 1em;}
.left	{text-align: left;}
.right	{text-align: right;}
.attention {color: #FF0000;}


/*記事への対応*/
/*Flexボックス*/
.flexBox {
	box-sizing: border-box;
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	}

.flexBox>div {
	padding: 0;
	margin-bottom: 10px;
	word-break: break-all;
	}

.flexBox>div img {
	box-sizing: border-box;
	display: block;
	width: 95%;
	margin: auto;
	}

.flexBox>div p {
	margin: 0;
	word-break: break-all;
	padding: 1em;
    line-height: 1.6;
	}

.boxset5>div {flex-basis: 20%;}
.boxset4>div {flex-basis: 25%;}
.boxset3>div {flex-basis: 33%;}
.boxset2>div {flex-basis: 50%;}

@media only screen and (max-width: 768px) {
	.boxset2>div {flex-basis: 100%;}
	.boxset3>div {flex-basis: 50%;}
	.boxset4>div {flex-basis: 33%;}	
	.boxset5>div {flex-basis: 20%;}
	}
	
@media only screen and (max-width: 480px) {
	.boxset4>div {flex-basis: 50%;}
    .boxset5>div {flex-basis: 33%;}
	}

/*FlexBoxの中にボタンがあるときは*/
.article-edit-area .flexBox p.button a {width: 95%;padding: 0;margin: 0 auto;}
.article-edit-area .flexBox p.button {line-height:1;padding-bottom: 0;}

/*テーブル*/
.event-main-caption table {
	margin:0 auto 60px;
	width:calc(100% - 20px);
	border:1px solid rgba(45,45,45,.1)
	}

.event-main-caption th {
	background-color: #f9f9f9;
	font-weight: 400;
	font-weight: bold;
	padding: 1em 1.5em;
	border-bottom: 1px solid rgba(45,45,45,.1);
	text-align: left;
	vertical-align: middle;
	width: inherit!important;
	}

.event-main-caption td {
	padding: 1em 1.5em;
	border-bottom: 1px solid rgba(45,45,45,.1);
	/*border-left: 1px solid rgba(45,45,45,.1);*/
	letter-spacing: .27em;
	line-height: 2.2;
	vertical-align: middle;
	width: auto!important;
	}

@media screen and (max-width:768px) {
	.event-main-caption table　{
		width: 100%;
		margin: 0 auto 60px;
		border: 1px solid rgba(45,45,45,.1);
		}

	.event-main-caption table.folding tr {
		display: flex;
		flex-direction: column;
		}

	.event-main-caption table th {
		padding: 15px;
		text-align: left;
		font-size: 13px;
		font-weight: bold;
		border-bottom: 1px solid rgba(45,45,45,.1);
		border-top: 0;
		}
	
	.event-main-caption table td {
		font-size: 12px;
		padding: 12px 15px;
		line-height: 2;
		letter-spacing: .1em;
		}

	.event-main-caption table tr:last-child th, .event-main-caption table tr:last-child td{
		border: none;
		}
	
	.event-main-caption table td.folding {border-left: 0;}
	}
	
/*2025/2/14 プライバシーポリシー用に追加*/
.text-content {
	padding: 2em;
	letter-spacing: 0.02em;

	}

.text-content p {
	margin-bottom: 1em;
	}

.text-content h1 {
	font-size: 1.4em;
	margin-bottom: 1em;
	}

.text-content h2 {
	font-size: 1.2em;
	margin-bottom: 1em;
	border-bottom: 2px #666 dotted;
	}
.text-content ul {
	}

.text-content > ul {
	margin-bottom: 2em;
	padding-left: 1em;
	list-style-type: square;
	}

.text-content > ul > li > ul {
	margin-bottom: 1em;
	padding-left: 1em;
	list-style-type: none;
}
