@charset "UTF-8";

/* ============================================================
	背景色が伸びて出現
============================================================ */
.bg-extend {
	animation-name: bg-base;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	opacity: 0;
}
.bg-extend.tate {
	display: inline-block;
	width: 50px;
	line-height: 1.5;
}
@keyframes bg-base {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;  
	}
}
.bg-child {
	animation-name: bg-second;
	animation-duration: 1s;
	animation-delay: .6s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes bg-second {
	0% {
		opacity: 0;
		}
	100% {
		opacity: 1;
	}
}
.is-child,
.is-LR,
.is-TB {
	opacity: 0;
}

/*------------------------------
	左から右
------------------------------ */
.bg-LR::before {
	animation-name: bg-LR;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #003366;
}
@keyframes bg-LR {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}
	50% {
		transform-origin: left;
		transform: scaleX(1);
	}
	50.001% {
		transform-origin: right;
	}
	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}

/*------------------------------
	上から下
------------------------------ */
.bg-TB::before {
	animation-name: bg-TB;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: '';
	position: absolute;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #003366;
}
@keyframes bg-TB {
	0% {
		transform-origin: top;
		transform: scaleY(0);
	}
	50% {
		transform-origin: top;
		transform: scaleY(1);
	}
	50.001% {
		transform-origin: bottom;
	}
	100% {
		transform-origin: bottom;
		transform: scaleY(0);
	}
}



/* ============================================================
	ヘッダー
============================================================ */
#header {
	position: fixed;
	top: -100px;
	width: 100%;
	min-width: 1280px;
	height: 80px;
	background: #fff;
	z-index: 500;
}

/*------------------------------
	ロゴ
------------------------------ */
#header .logo {
	float: left;
	height: 80px;
	line-height: 80px;
	margin-left: 25px;
}
/* シンボルマーク */
#header .logo-symbol {
	display: inline-block;
	width: 60px;
	height: 80px;
	text-align: center;
}
#header .logo-symbol a {
}
#header .logo-symbol a img {
	width: 28px;
	height: 30px;
	vertical-align: middle;
}
/* 社名ロゴタイプ */
#header .logo-type {
	display: inline-block;
}
#header .logo-type a {
	font-size: 18px;
	letter-spacing: .2em;
	vertical-align: middle;
}

/*------------------------------
	サイトマップ
------------------------------ */
#header .sitemap {
	float: right;
	height: 80px;
	line-height: 80px;
}
#header .sitemap ul {
}
#header .sitemap li {
	position: relative;
	float: left;
	height: 80px;
	padding: 0 20px;
	font-size: 14px;
	letter-spacing: .2em;
}
#header .sitemap li:last-of-type {
	padding-right: 40px;
}
#header .sitemap li a {
}
#header .sitemap li a img {
	width: 20px;
	height: 20px;
	vertical-align: sub;
	opacity: .7;
}
#header .sitemap li a .material-icons-outlined {
	line-height: 80px;
	opacity: .7;
}



/* ============================================================
	ビジュアル
============================================================ */
#visual {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 840px;
	overflow: hidden;
}
#visual::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .1);
	z-index: 3;
}

/*------------------------------
	タイトル
------------------------------ */
#visual .title {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	transform: translateY(-58%)!important;
	width: 75px;
	margin: 0 auto;
	z-index: 100;
	top: calc(50% - constant(safe-area-inset-bottom));
	top: calc(50% - env(safe-area-inset-bottom));
}
#visual .title-logo {
	font-size: 24px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
}
#visual .title-logo img {
	width: 60px;
	height: 551px;
}

/*------------------------------
	スクロールダウン
------------------------------ */
#visual .scroll {
	position: absolute;
	bottom: 100px;
	right: 0;
	left: 0;
	width: 60px;
	margin: 0 auto;
	z-index: 100;
}
#visual .scroll span {
	position: absolute;
	top: -20px;
	left: 0;
	right: 0;
	margin: 0 auto;
	color: #fff;
	font-size: 18px;
	text-align: center;
}
#visual .scroll::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 2px;
	height: 80px;
	background: #fff;
	animation: move 1.4s ease-in-out infinite;
	opacity: 0;
}
@keyframes move {
	0% {
		height: 0;
		top: 0;
		opacity: 0;
	}
	30% {
		height: 60px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 80px;
		opacity: 0;
	}
}

/*------------------------------
	背景画像
------------------------------ */
#visual .background {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
#visual .background.none {
	background-image: none!important;
}
#visual .background ul {
}
#visual .background li {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: -10;
}
/* WebP未対応のブラウザ用のスタイル */
.no-webp .background-fade.n1 {
	background-image: url("./images/visual-n1-pc.jpg")!important;
}
.no-webp .background-fade.n2 {
	background-image: url("./images/visual-n2-pc.jpg")!important;
}
.no-webp .background-fade.n3 {
	background-image: url("./images/visual-n3-pc.jpg")!important;
}



/* ============================================================
	コンセプト
============================================================ */
#concept {
	position: relative;
	padding: 140px 0;
	overflow: hidden;
}
#concept::before {
	content: '';
	display: block;
	position: absolute;
	top: -140px;
	left: 100px;
	width: 456px;
	height: 491px;
	background: url(./images/logo-gray.svg) no-repeat center;
	background-size: 456px 491px;
	z-index: -1;
}

/*------------------------------
	見出し
------------------------------ */
#concept .headline {
}
#concept .headline-sub {
	font-size: 18px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
}
#concept .headline-main {
	margin-top: 30px;
	font-size: 40px;
	text-align: center;
	letter-spacing: .3em;
	margin-left: .3em;
	line-height: 1.9;
}

/*------------------------------
	キャプション
------------------------------ */
#concept .caption {
	width: 1180px;
	margin: 100px auto 0;
}
/* ギャラリー */
#concept .caption-gallery {
	float: left;
	width: 570px;
	margin-left: 150px;
}
#concept .caption-gallery-image {
	width: 260px;
}
#concept .caption-gallery-image img {
	width: 260px;
	height: 390px;
}
#concept .caption-gallery-image.n1 {
	margin-top: 0;
}
#concept .caption-gallery-image.n2 {
	margin-top: -310px;
	margin-left: auto;
}
/* メッセージ */
#concept .caption-message {
	float: left;
	width: 380px;
	margin-top: -20px;
	margin-left: 80px;
}
#concept .caption-message-text {
	font-size: 17px;
	letter-spacing: .2em;
	line-height: 4;
}

/*------------------------------
	詳細
------------------------------ */
#concept .detail {
	margin-top: 100px;
}
/* 展開後の内容 */
#concept .detail-hidden {
	display: none;
	position: relative;
	padding: 100px 0 0;
}
#concept .detail-hidden::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 140px);
	margin: 0 auto;
	background: url(./images/background-gray.jpg) center;
	background-size: 510px 510px;
	z-index: -1;
}
#concept .detail-hidden-block {
	width: 1120px;
	margin: 100px auto 0;
}
#concept .detail-hidden-block:first-of-type {
	margin-top: 0;
}
#concept .detail-gallery {
	width: 500px;
}
#concept .detail-hidden-block:nth-of-type(odd) .detail-gallery {
	float: right;
}
#concept .detail-hidden-block:nth-of-type(even) .detail-gallery {
	float: left;
}
#concept .detail-gallery-image {
}
#concept .detail-gallery-image.n2,
#concept .detail-gallery-image.n3 {
	width: 360px;
}
#concept .detail-gallery-image.n3 {
	margin-top: 10px;
	margin-left: auto;
}
#concept .detail-gallery-image img {
	width: 500px;
}
#concept .detail-gallery-image.n2 img,
#concept .detail-gallery-image.n3 img {
	width: 360px;
}
#concept .detail-message {
	width: 500px;
	margin-top: 50px;
}
#concept .detail-hidden-block:nth-of-type(odd) .detail-message {
	float: left;
}
#concept .detail-hidden-block:nth-of-type(even) .detail-message {
	float: right;
}
#concept .detail-message-text {
	font-size: 16px;
	letter-spacing: .2em;
	background-image: linear-gradient(#999 1px, transparent 1px);
	background-size: 100% calc(3.2em + 1px);
	line-height: calc(3.2em + 1px);
	padding: 0 30px;
	border-bottom: solid 1px #999;
}
/* 閉じる */
#concept .detail-hidden-close {
	margin-top: 80px;
}
#concept .detail-hidden-close span {
	display: block;
	width: 240px;
	height: 50px;
	line-height: 50px;
	margin: 0 auto;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	cursor: pointer;
	text-decoration: underline;
}
/* 開く */
#concept .detail-button {
}
#concept .detail-button span {
	position: relative;
	display: block;
	width: 320px;
	height: 60px;
	line-height: 60px;
	margin: 0 auto;
	border-top: solid 1px #336699;
	border-bottom: solid 1px #336699;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	cursor: pointer;
}
#concept .detail-button span::before {
	font-family: Material Icons;
	content: "\e5cf";
	position: absolute;
	top: 0;
	right: 10px;
	font-size: 24px;
	color: #336699;
}



/* ============================================================
	ビジョン
============================================================ */
#vision-n1 {
	position: relative;
}

/*------------------------------
	写真
------------------------------ */
#vision-n1 .image {
	height: 800px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
/* WebP未対応のブラウザ用のスタイル */
.no-webp .image {
	background-image: url("./images/vision-n1-pc.jpg")!important;
}



/* ============================================================
	商品紹介
============================================================ */
#foods {
	position: relative;
	padding: 180px 0 0;
}

/*------------------------------
	見出し
------------------------------ */
#foods .headline {
	width: 1110px;
	height: 220px;
	margin: 0 auto;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
}
#foods .headline-sub {
	position: relative;
	display: inline-block;
	margin: 0;
	margin-right: 20px;
	font-size: 16px;
	color: #336699;
	letter-spacing: .2em;
}
#foods .headline-sub::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -20px;
	margin: 0 auto;
	width: 1px;
	height: 100%;
	background: #336699;
}
#foods .headline-main {
	margin: 0;
	margin-right: 50px;
	width: 50px;
	font-size: 36px;
	letter-spacing: .2em;
}
#foods .headline-desc {
	margin-top: 10px;
	margin-right: 70px;
	height: 210px;
	font-size: 18px;
	letter-spacing: .2em;
	line-height: 3;
}
@media all and (-ms-high-contrast: none) {
	#foods .headline {
		position: absolute;
		top: 90px;
		left: 0;
		right: 0;
		z-index: 1;
	}
}


/*------------------------------
	商品案内
------------------------------ */
#foods .guide {
	margin-top: 120px;
}
#foods .guide-block {
	position: relative;
	width: 1180px;
	margin: 125px auto 0;
}
#foods .guide-block:first-of-type {
	margin-top: 0;
}
#foods .guide-block:nth-of-type(odd) .guide-caption {
	float: left;
}
#foods .guide-block:nth-of-type(even) .guide-caption {
	float: right;
}
#foods .guide-block:nth-of-type(odd) .guide-list {
	float: right;
	padding-left: 100px;
}
#foods .guide-block:nth-of-type(even) .guide-list {
	float: left;
	padding-left: 120px;
}
/* キャプション */
#foods .guide-caption {
	position: relative;
}
/* キャプション・見出し */
#foods .guide-caption-headline {
	position: absolute;
	top: 0;
	width: 90px;
	height: 270px;
	margin: 0 auto;
	background: url(./images/foods-guide-headline.svg) no-repeat center;
	background-size: contain;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	z-index: 2;
}
#foods .guide-block:nth-of-type(odd) .guide-caption-headline {
	right: 60px;
}
#foods .guide-block:nth-of-type(even) .guide-caption-headline {
	left: 60px;
}
#foods .guide-caption-headline span {
	display: block;
	margin: 0 33px;
	font-size: 24px;
	color: #fff;
	text-align: center;
	letter-spacing: .2em;
	text-indent: -.4em;
}
/* キャプション・写真 */
#foods .guide-caption-image {
	position: relative;
	margin-top: 80px;
	width: 520px;
}
#foods .guide-caption-image img {
	width: 520px;
	height: 350px;
}
#foods .pickup .guide-caption-image::before {
	content: '';
	display: block;
	position: absolute;
	top: 320px;
	right: 0;
	width: 104px;
	height: 124px;
	background: url(./images/foods-deco-a.svg) no-repeat center;
	background-size: 104px 124px;
	z-index: 1;
}
#foods .all .guide-caption-image::before {
	content: '';
	display: block;
	position: absolute;
	top: 330px;
	left: -50px;
	width: 158px;
	height: 62px;
	background: url(./images/foods-deco-b.svg) no-repeat center;
	background-size: 158px 62px;
	z-index: 1;
}
/* 一覧 */
#foods .guide-list {
	margin-top: 100px;
	width: 660px;
}
#foods .guide-list ul {
	float: left;
	width: 50%;
}
#foods .guide-list li {
	font-size: 16px;
	letter-spacing: .2em;
	line-height: 2.75;
}
#foods .guide-list li span {
	color: #003366;
}

/*------------------------------
	注釈
------------------------------ */
#foods .note {
	width: 1180px;
	padding-left: 120px;
	margin: 40px auto 0;
}
#foods .note-text {
	width: 430px;
	font-size: 16px;
	letter-spacing: .2em;
	line-height: 2.25;
}
#foods .note-text span {
	color: #003366;
}

/*------------------------------
	ギャラリー
------------------------------ */
#foods .gallery {
	margin-top: 130px;
}
#foods .gallery img {
	width: 1020px;
	height: 680px;
}

/*------------------------------
	スライダー設定
------------------------------ */
#foods .swiper-container {
}
#foods .swiper-slide {
}
/* ページ送り(左右の矢印) */
#foods .swiper-button-prev,
#foods .swiper-button-next {
	position: absolute;
	bottom: 0;
	width: 62px;
	height: 62px;
	margin: 0 2px;
	background: #336699;
	z-index: 50;
}
#foods .swiper-button-prev {
	top: 0;
	left: 1020px;
}
#foods .swiper-button-next {
	top: 64px;
	left: 1020px;
}
#foods .swiper-button-prev::before {
	font-family: Material Icons;
	content: "\e5cb";
	position: absolute;
	top: 15px;
	left: 15px;
	font-size: 30px;
	color: #fff;
	transform: rotate(90deg);
}
#foods .swiper-button-next::before {
	font-family: Material Icons;
	content: "\e409";
	position: absolute;
	top: 15px;
	left: 15px;
	font-size: 30px;
	color: #fff;
	transform: rotate(90deg);
}



/* ============================================================
	イベント
============================================================ */
#event {
	position: relative;
	padding: 200px 0 120px;
}
#event::before {
	content: '';
	display: block;
	position: absolute;
	top: -420px;
	right: -80px;
	width: 780px;
	height: 780px;
	background: url(./images/event-deco.svg) no-repeat center;
	background-size: 780px 780px;
	z-index: -1;
}

/*------------------------------
	見出し
------------------------------ */
#event .headline {
	width: 1110px;
	height: 220px;
	margin: 0 auto;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
}
#event .headline-sub {
	position: relative;
	display: inline-block;
	margin: 0;
	margin-right: 20px;
	font-size: 16px;
	color: #336699;
	letter-spacing: .2em;
}
#event .headline-sub::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -20px;
	margin: 0 auto;
	width: 1px;
	height: 100%;
	background: #336699;
}
#event .headline-main {
	margin: 0;
	margin-right: 50px;
	width: 50px;
	font-size: 36px;
	letter-spacing: .2em;
}
#event .headline-desc {
	margin-top: 10px;
	margin-right: 70px;
	height: 210px;
	font-size: 18px;
	letter-spacing: .2em;
	line-height: 3;
}
@media all and (-ms-high-contrast: none) {
	#event .headline {
		position: absolute;
		top: 50px;
		left: 0;
		right: 0;
		z-index: 1;
	}
}

/*------------------------------
	メッセージ
------------------------------ */
#event .message {
	margin-top: 90px;
}
#event .message-text {
	font-size: 18px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.6;
}



/* ============================================================
	おすすめイベント
============================================================ */
#event-pickup {
	position: relative;
	margin-top: 100px;
	background: url(./images/background-gray.jpg) center;
	background-size: 510px 510px;
	padding: 120px 0;
}

/*------------------------------
	バッジ
------------------------------ */
#event-pickup .badge {
	position: absolute;
	top: -50px;
	left: 0;
	right: 0;
	width: 660px;
	height: 140px;
	margin: 0 auto;
}
#event-pickup .badge-text {
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	height: 140px;
	background: #ffd65c;
	border-radius: 50%;
	font-size: 24px;
	text-align: center;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 140px;
}
#event-pickup .badge::before {
	content: '';
	display: block;
	position: absolute;
	top: 100px;
	left: -10px;
	width: 64px;
	height: 62px;
	background: url(./images/event-badge-deco.svg) no-repeat center;
	background-size: 64px 62px;
	z-index: 1;
}

/*------------------------------
	情報
------------------------------ */
#event-pickup .data {
}
/* ラベル */
#event-pickup .data-label {
}
#event-pickup .data-label ul {
	text-align: center;
}
#event-pickup .data-label li {
	display: inline-block;
	padding: 0 24px;
	height: 40px;
	margin: 0 6px;
	background: #003366;
	border-radius: 50px;
	font-size: 20px;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 2;
}
/* イベント名 */
#event-pickup .data-name {
	position: relative;
	margin-top: 40px;
}
#event-pickup .data-name-main {
	position: relative;
	font-size: 36px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	z-index: 1;
}
#event-pickup .data-name::after {
	content: '';
	display: block;
	position: absolute;
	top: 5px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 400px;
	height: 70px;
	background: url(./images/event-name-deco.svg) no-repeat center;
	background-size: contain;
}
/* イベント詳細 */
#event-pickup .data-desc {
}
#event-pickup .data-desc-text {
	margin-top: 50px;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.5;
}
#event-pickup .data-desc-time {
	margin-top: 30px;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.5;
}
#event-pickup .data-desc-map {
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.5;
}
#event-pickup .data-desc-map a {
	position: relative;
	background: linear-gradient(transparent 96%, #1a1a1a 0%);
}
#event-pickup .data-desc-map a::before {
	font-family: Material Icons Outlined;
	content: "\e0c8";
	position: absolute;
	top: -18px;
	left: -28px;
	font-size: 24px;
}

/*------------------------------
	ギャラリー
------------------------------ */
#event-pickup .gallery {
	width: 1140px;
	margin: 70px auto 0;
}
#event-pickup .gallery-inner {
	position: relative;
	width: 530px;
	height: 498px;
	overflow: hidden;
}
#event-pickup .gallery-image {
	position: absolute;
}
#event-pickup .gallery-image.n1 {
	top: 0;
	right: 0;
}
#event-pickup .gallery-image.n2 {
	top: 250px;
	left: 0;
}
#event-pickup .gallery-image.n3 {
	right: 0;
	bottom: 0;
}
#event-pickup .gallery-image img {
}
/* フェード写真 */
#event-pickup .gallery-image-fade {
	position: relative;
	width: 420px;
}
#event-pickup .gallery-image-fade img {
	position: absolute;
	width: 420px;
	height: 280px;
}

/*------------------------------
	アクセス
------------------------------ */
#event-pickup .access {
	width: 1080px;
	margin: -500px auto 0;
}
#event-pickup .access-map {
	width: 490px;
	margin-left: auto;
	text-align: center;
}
#event-pickup .access-map img {
	width: 490px;
	height: 490px;
}
#event-pickup .access-text {
	margin-top: 80px;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.25;
}
#event-pickup .access-text span {
	background: linear-gradient(transparent 50%, rgba(255, 204, 51, .3) 0);
	padding: 0 6px;
}



/* ============================================================
	その他のイベント
============================================================ */
#event-other {
	position: relative;
	padding: 140px 0 0;
	width: 1200px;
	margin: 0 auto;
}

/*------------------------------
	イベント一覧
------------------------------ */
#event-other .list {
	float: left;
	width: 560px;
}
#event-other .list-headline {
	width: 560px;
	margin: 0 auto;
	line-height: 90px;
	border-top: solid 1px #999;
	border-bottom: solid 1px #999;
}
#event-other .list-headline-main {
	padding-left: 40px;
	font-size: 26px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
}
#event-other .list-headline-main span {
	position: relative;
}
#event-other .list-headline-main span::before {
	font-family: Material Icons;
	content: "\e916";
	position: absolute;
	left: -50px;
	font-size: 30px;
}
/* 情報（スライド） */
#event-other .list-data {
	width: 560px;
	margin: 0 auto;
}
/* ラベル */
#event-other .list-data-label {
	margin-top: 80px;
}
#event-other .list-data-label ul {
	text-align: center;
}
#event-other .list-data-label li {
	display: inline-block;
	padding: 0 24px;
	height: 40px;
	margin: 0 6px;
	background: #003366;
	border-radius: 50px;
	font-size: 20px;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 2;
}
/* イベント名 */
#event-other .list-data-name {
	position: relative;
	margin-top: 40px;
}
#event-other .list-data-name-main {
	position: relative;
	font-size: 30px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	z-index: 1;
}
#event-other .list-data-name::after {
	content: '';
	display: block;
	position: absolute;
	top: 5px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 400px;
	height: 70px;
	background: url(./images/event-name-deco.svg) no-repeat center;
	background-size: contain;
}
/* イベント詳細 */
#event-other .list-data-desc {
}
#event-other .list-data-desc-text {
	margin-top: 50px;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.5;
}
#event-other .list-data-desc-time {
	margin-top: 50px;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.5;
}
#event-other .list-data-desc-map {
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.5;
}
#event-other .list-data-desc-map a {
	position: relative;
	background: linear-gradient(transparent 96%, #1a1a1a 0%);
}
#event-other .list-data-desc-map a::before {
	font-family: Material Icons Outlined;
	content: "\e0c8";
	position: absolute;
	top: -18px;
	left: -28px;
	font-size: 24px;
}

/*------------------------------
	スライダー設定
------------------------------ */
#event-other .swiper-container {
	height: 480px;
}
#event-other .swiper-slide {
}
/* ページ送り(左右の矢印) */
#event-other .swiper-button-prev,
#event-other .swiper-button-next {
	position: absolute;
	top: auto;
	bottom: 0;
	background: none;
	width: 30px;
	height: 30px;
	margin: 22px 0;
	z-index: 50;
}
#event-other .swiper-button-prev {
	left: 0;
}
#event-other .swiper-button-next {
	right: 0;
}
#event-other .swiper-button-prev::before {
	font-family: Material Icons;
	content: "\e5cb";
	position: absolute;
	top: 0;
	font-size: 30px;
	color: #1a1a1a;
}
#event-other .swiper-button-next::before {
	font-family: Material Icons;
	content: "\e409";
	position: absolute;
	top: 0;
	font-size: 30px;
	color: #1a1a1a;
}
/* ページネーション */
#event-other .swiper-pagination {
	border-top: solid 1px #999;
	width: 560px!important;
	bottom: 0!important;
}
#event-other .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	margin: 30px 20px;
	background: #ccc;
	opacity: 1;
}
#event-other .swiper-pagination-bullet-active {
	background: #336699;
}

/*------------------------------
	最新情報（インスタグラム）
------------------------------ */
#event-other .instagram {
	float: right;
	position: relative;
	width: 560px;
}
/* 見出し */
#event-other .instagram-headline {
	position: absolute;
	top: 145px;
	left: 0;
	right: 0;
	width: 270px;
	height: 270px;
	margin: 0 auto;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}
#event-other .instagram-headline-icon {
	margin-top: 60px;
	text-align: center;
}
#event-other .instagram-headline-icon img {
	width: 60px;
	height: 60px;
}
#event-other .instagram-headline-main {
	margin-top: 10px;
	font-size: 18px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2;
}
#event-other .instagram-headline-main a {
}
#event-other .instagram-headline-main a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ギャラリー */
#event-other .instagram-gallery {
	width: 560px;
	margin: 0 auto;
}
#event-other .instagram-gallery-image {
	float: left;
	margin-top: 4px;
	margin-right: 4px;
	width: 184px;
}
#event-other .instagram-gallery-image img {
	width: 184px;
	height: 184px;
}
#event-other .instagram-gallery-image:nth-of-type(-n+3) {
	margin-top: 0;
}
#event-other .instagram-gallery-image:nth-of-type(3n) {
	margin-right: 0;
}



/* ============================================================
	お問合せ
============================================================ */
#connection {
	position: relative;
	background: url(./images/background-blue.jpg) center;
	background-size: 560px 560px;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
	z-index: 1;
}

/*------------------------------
	見出し
------------------------------ */
#connection .headline {
}
#connection .headline-main {
	font-size: 36px;
	color: #fff;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
}

/*------------------------------
	メッセージ
------------------------------ */
#connection .message {
	margin-top: 40px;
}
#connection .message-text {
	font-size: 18px;
	color: #fff;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.25;
}

/*------------------------------
	電話
------------------------------ */
#connection .tel {
	margin-top: 40px;
}
#connection .tel-button {
}
#connection .tel-button span {
	position: relative;
	width: 360px;
	height: 80px;
	margin: 0 auto;
	line-height: 80px;
	border: solid 1px #fff;
	display: block;
	font-size: 26px;
	color: #fff;
	text-align: center;
	text-indent: .2em;
	letter-spacing: .2em;
	padding-left: 30px;
}
#connection .tel-button span::before {
	font-family: Material Icons Outlined;
	content: "\e0cd";
	position: absolute;
	top: 0;
	left: 40px;
	font-size: 30px;
}


/*------------------------------
	メール
------------------------------ */
#connection .mail {
}
#connection .mail-button {
	margin-top: 40px;
}
#connection .mail-button a {
	position: relative;
	width: 280px;
	height: 40px;
	margin: 0 auto;
	line-height: 40px;
	display: block;
	font-size: 16px;
	color: #fff;
	text-align: center;
	text-indent: .2em;
	letter-spacing: .2em;
	text-decoration: underline;
}



/* ============================================================
	ビジョン
============================================================ */
#vision-n2 {
	position: relative;
}

/*------------------------------
	写真
------------------------------ */
#vision-n2 .image {
	height: 800px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
/* WebP未対応のブラウザ用のスタイル */
.no-webp .image {
	background-image: url("./images/vision-n2-pc.jpg")!important;
}



/* ============================================================
	店舗情報
============================================================ */
#shop {
	position: relative;
	background: url(./images/background-gray.jpg) center;
	background-size: 510px 510px;
	padding: 140px 0;
}

/*------------------------------
	見出し
------------------------------ */
#shop .headline {
	width: 1110px;
	height: 220px;
	margin: 0 auto;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
}
#shop .headline-sub {
	position: relative;
	display: inline-block;
	margin: 0;
	margin-right: 20px;
	font-size: 16px;
	color: #336699;
	letter-spacing: .2em;
}
#shop .headline-sub::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -20px;
	margin: 0 auto;
	width: 1px;
	height: 100%;
	background: #336699;
}
#shop .headline-main {
	margin: 0;
	margin-right: 50px;
	width: 50px;
	font-size: 36px;
	letter-spacing: .2em;
}

/*------------------------------
	案内
------------------------------ */
#shop .guide {
	width: 990px;
	margin: -130px auto 0;
}
/* 写真 */
#shop .guide-gallery {
	float: left;
	width: 360px;
}
#shop .guide-gallery-image {
}
#shop .guide-gallery-image img {
	width: 360px;
	height: 260px;
}
/* アクセス */
#shop .guide-access {
	float: left;
	width: 550px;
	margin-top: 20px;
	margin-left: 80px;
}
#shop .guide-access-text {
	font-size: 16px;
	letter-spacing: .2em;
	line-height: 2.5;
}
#shop .guide-access-button {
	margin-top: 30px;
}
#shop .guide-access-button a {
	position: relative;
	width: 280px;
	height: 60px;
	line-height: 60px;
	background: #336699;
	display: block;
	font-size: 16px;
	color: #fff;
	text-align: center;
	text-indent: .2em;
	letter-spacing: .2em;
	padding-left: 20px;
}
#shop .guide-access-button a::before {
	font-family: Material Icons Outlined;
	content: "\e0c8";
	position: absolute;
	top: 0;
	left: 30px;
	font-size: 20px;
}
@media all and (-ms-high-contrast: none) {
	#shop {
		height: 630px;
	}
	#shop .guide {
		margin: 90px auto 0;
	}
	#shop .headline {
		position: absolute;
		top: 140px;
		left: 0;
		right: 0;
		z-index: 1;
	}
}



/* ============================================================
	アクセス
============================================================ */
#access {
	background: #ccc;
}

/*------------------------------
	Googleマップ
------------------------------ */
#access .map {
}
#access .map iframe {
	width: 100%;
	height: 640px;
	vertical-align:bottom;
}



/* ============================================================
	オンラインショップ
============================================================ */
#online-shop {
	position: relative;
	background: url(./images/background-online-shop-pc.jpg);
	width: 100%;
	padding-bottom: 110px;
	margin: 0 auto;
	background-position: center;
	background-size: cover;
	overflow: hidden;
}

/*------------------------------
	見出し
------------------------------ */
#online-shop .headline {
	margin-top: 100px;
}
#online-shop .headline-main {
	font-size: 36px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
}

/*------------------------------
	メッセージ
------------------------------ */
#online-shop .message {
	margin-top: 40px;
}
#online-shop .message-text {
	font-size: 18px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 2.25;
}

/*------------------------------
	ボタン
------------------------------ */
#online-shop .online-shop-link {
	margin-top: 40px;
}
#online-shop .online-shop-link .online-shop-link-button {
}
#online-shop .online-shop-link .online-shop-link-button a {
	margin: 0 auto;
	position: relative;
	width: 400px;
	height: 80px;
	line-height: 80px;
	background: #336699;
	display: block;
	font-size: 26px;
	color: #fff;
	text-align: center;
	text-indent: .2em;
	letter-spacing: .2em;
	padding-left: 35px;
}
#online-shop .online-shop-link .online-shop-link-button a::before {
	font-family: Material Icons Outlined;
	content: "\e8cc";
	position: absolute;
	top: 1px;
	left: 35px;
	font-size: 30px;
}



/* ============================================================
	会社概要
============================================================ */
#company {
	position: relative;
	padding: 140px 0;
}

/*------------------------------
	見出し
------------------------------ */
#company .headline {
	width: 1110px;
	height: 220px;
	margin: 0 auto;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
}
#company .headline-sub {
	position: relative;
	display: inline-block;
	margin: 0;
	margin-right: 20px;
	font-size: 16px;
	color: #336699;
	letter-spacing: .2em;
}
#company .headline-sub::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -20px;
	margin: 0 auto;
	width: 1px;
	height: 100%;
	background: #336699;
}
#company .headline-main {
	margin: 0;
	margin-right: 50px;
	width: 50px;
	font-size: 36px;
	letter-spacing: .2em;
}
#company .headline-desc {
	margin-top: 10px;
	margin-right: 70px;
	height: 210px;
	font-size: 18px;
	letter-spacing: .2em;
	line-height: 3;
}

/*------------------------------
	情報
------------------------------ */
#company .data {
	width: 1080px;
	margin: 120px auto 0;
}
#company .data table {
	width: 100%;
}
#company .data table tr {
	border-top: solid 4px #fff;
}
#company .data table tr:first-of-type {
	border-top: none;
}
#company .data table tr th {
	width: 270px;
	background: #ebebeb;
	padding: 20px 0 20px 20px;
	font-size: 16px;
	text-align: left;
	letter-spacing: .2em;
	line-height: 2;
}
#company .data table tr td {
	width: 810px;
	background: #f5f5f5;
	padding: 20px 20px;
	font-size: 16px;
	text-align: left;
	letter-spacing: .2em;
	line-height: 2;
}
@media all and (-ms-high-contrast: none) {
	#company .data {
		margin: 300px auto 0;
	}
	#company .headline {
		position: absolute;
		top: 140px;
		left: 0;
		right: 0;
		z-index: 1;
	}
}



/* ============================================================
	ビジョン
============================================================ */
#vision-n3 {
	position: relative;
}

/*------------------------------
	写真
------------------------------ */
#vision-n3 .image {
	height: 800px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
/* WebP未対応のブラウザ用のスタイル */
.no-webp .image {
	background-image: url("./images/vision-n3-pc.jpg")!important;
}



/* ============================================================
	歴史
============================================================ */
#history {
	background: url(./images/background-gray.jpg) center;
	background-size: 510px 510px;
	padding: 140px 0;
}

/*------------------------------
	見出し
------------------------------ */
#history .headline {
	position: relative;
	z-index: 2;
	width: 190px;
	height: 250px;
	margin: 0 auto;
}
#history .headline-main {
	font-size: 30px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	line-height: 2;
}
#history .headline-main span {
	display: inline-block;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	font-size: 80px;
}

/*------------------------------
	ギャラリー
------------------------------ */
#history .gallery {
	width: 940px;
	margin: -65px auto 0;
}
#history .gallery-image.n1 {
	width: 720px;
	margin: 0 auto;
}
#history .gallery-image.n1 img {
	width: 720px;
	height: 360px;
}
#history .gallery-image.n2 {
	margin-top: -100px;
	margin-left: auto;
	width: 240px;
}
#history .gallery-image.n2 img {
	width: 240px;
	height: 160px;
}

/*------------------------------
	キャッチコピー
------------------------------ */
#history .catch {
	width: 940px;
	height: 360px;
	margin: -360px auto 0;
}
#history .catch-copy {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	margin-left: -20px;
	line-height: 2;
}
#history .catch-copy span {
	display: inline-block;
	padding: 16px 17px 8px;
	margin-left: 14px;
	background: #fff;
	font-size: 30px;
	letter-spacing: .4em;
	line-height: 1;
}

/*------------------------------
	メッセージ
------------------------------ */
#history .message {
	margin-top: 60px;
}
#history .message-text {
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	margin-left: .2em;
	line-height: 3;
}

/*------------------------------
	詳細
------------------------------ */
#history .detail {
	margin-top: 65px;
}
/* 展開後の内容 */
#history .detail-hidden {
	display: none;
	position: relative;
}
#history .detail-hidden::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 140px);
	margin: 0 auto;
	background: url(./images/background-gray.jpg) center;
	background-size: 510px 510px;
	z-index: -1;
}
#history .detail-hidden-block {
	width: 1100px;
	margin: 100px auto 0;
}
#history .detail-hidden-block:first-of-type {
	width: 1280px;
	margin-top: 0;
}
#history .detail-gallery {
	width: 500px;
}
#history .detail-hidden-block:nth-of-type(odd) .detail-gallery {
	float: right;
}
#history .detail-hidden-block:nth-of-type(even) .detail-gallery {
	float: left;
}
#history .detail-hidden-block:first-of-type .detail-gallery {
	float: none;
	width: 1280px;
	margin: 0 auto;
}
#history .detail-gallery-image {
}
#history .detail-gallery-image.n4 {
	width: 360px;
	margin-top: 10px;
	margin-left: auto;
}
#history .detail-gallery-image.n3 img,
#history .detail-gallery-image.n4 img {
	width: 360px;
}
#history .detail-message {
	width: 500px;
	margin-top: 90px;
}
#history .detail-hidden-block:nth-of-type(odd) .detail-message {
	float: left;
}
#history .detail-hidden-block:nth-of-type(even) .detail-message {
	float: right;
}
#history .detail-message-text {
	font-size: 16px;
	letter-spacing: .2em;
	line-height: 3;
}
#history .detail-hidden-block:nth-of-type(odd) .detail-message-text {
	padding-left: 60px;
}
/* 閉じる */
#history .detail-hidden-close {
	margin-top: 80px;
}
#history .detail-hidden-close span {
	display: block;
	width: 240px;
	height: 50px;
	line-height: 50px;
	margin: 0 auto;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	cursor: pointer;
	text-decoration: underline;
}
/* 開く */
#history .detail-button {
}
#history .detail-button span {
	position: relative;
	display: block;
	width: 320px;
	height: 60px;
	line-height: 60px;
	margin: 0 auto;
	border-top: solid 1px #336699;
	border-bottom: solid 1px #336699;
	font-size: 16px;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	cursor: pointer;
}
#history .detail-button span::before {
	font-family: Material Icons;
	content: "\e5cf";
	position: absolute;
	top: 0;
	right: 10px;
	font-size: 24px;
	color: #336699;
}



/* ============================================================
	お問合せ
============================================================ */
#contact {
	position: relative;
	padding: 140px 0 180px;
}

/*------------------------------
	見出し
------------------------------ */
#contact .headline {
	width: 1110px;
	height: 220px;
	margin: 0 auto;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
}
#contact .headline-sub {
	position: relative;
	display: inline-block;
	margin: 0;
	margin-right: 20px;
	font-size: 16px;
	color: #336699;
	letter-spacing: .2em;
}
#contact .headline-sub::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -20px;
	margin: 0 auto;
	width: 1px;
	height: 100%;
	background: #336699;
}
#contact .headline-main {
	margin: 0;
	margin-right: 50px;
	width: 50px;
	font-size: 36px;
	letter-spacing: .2em;
}
#contact .headline-desc {
	margin-top: 10px;
	margin-right: 70px;
	height: 210px;
	font-size: 18px;
	letter-spacing: .2em;
	line-height: 3;
}
@media all and (-ms-high-contrast: none) {
	#contact {
		padding: 340px 0 180px;
	}
	#contact .headline {
		position: absolute;
		top: 140px;
		left: 0;
		right: 0;
		z-index: 1;
	}
}

/*------------------------------
	電話
------------------------------ */
#contact .tel {
	width: 1080px;
	margin: 0 auto;
}
#contact .tel-button {
	width: 520px;
	margin-top: 120px;
}
#contact .tel-button span {
	position: relative;
	width: 520px;
	height: 100px;
	margin: 0 auto;
	line-height: 100px;
	background: #336699;
	display: block;
	font-size: 26px;
	color: #fff;
	text-align: center;
	text-indent: .2em;
	letter-spacing: .2em;
	padding-left: 40px;
}
#contact .tel-button span::before {
	font-family: Material Icons Outlined;
	content: "\e0cd";
	position: absolute;
	top: 2px;
	left: 125px;
	font-size: 26px;
}

/*------------------------------
	メール
------------------------------ */
#contact .mail {
	width: 1080px;
	margin: 0 auto;
}
#contact .mail-button {
	margin-top: -100px;
	margin-left: auto;
	width: 520px;
}
#contact .mail-button span {
	position: relative;
	width: 520px;
	height: 100px;
	margin: 0 auto;
	line-height: 100px;
	background: #336699;
	display: block;
	font-size: 26px;
	color: #fff;
	text-align: center;
	text-indent: .2em;
	letter-spacing: .2em;
	padding-left: 40px;
	cursor: pointer;
}
#contact .mail-button span::before {
	font-family: Material Icons Outlined;
	content: "\e0be";
	position: absolute;
	top: 2px;
	left: 125px;
	font-size: 26px;
}

/*------------------------------
	フォームリセット
------------------------------ */
input[type=submit] {
	-webkit-appearance: none;
	border-radius: 0;
}
input[type=text] {
	font-size : 16px;
	-webkit-border-radius : 0;
	-webkit-appearance : none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
}
input,textarea {
	box-sizing: border-box;
	-webkit-border-radius : 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-appearance: none;
	max-width: 100%;
}
select {
	-webkit-border-radius : 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
input[type="checkbox"] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/*------------------------------
	入力フォーム
------------------------------ */
#contact .form {
	display: none;
	width: 1080px;
	margin: 120px auto 0;
}
#contact .form .message {
}
#contact .form .message-text {
	font-size: 18px;
	letter-spacing: .2em;
	text-indent: .2em;
	text-align: center;
}
#contact .form-sheet {
	margin-top: 70px;
}
#contact .form .set {
	display: table;
	width: 100%;
	margin-top: 40px;
}
body.error #contact .form,
body.check #contact .form {
	display: block;
}
/* エラーメッセージ */
#contact .form .announce-error {
	margin-bottom: 80px;
	padding: 20px;
	background: #ff0002;
	font-weight: bold;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
	text-indent: .1em;
}
/* 項目見出し */
#contact .form dt {
	display: table-cell;
	vertical-align: top;
	width: 360px;
	position: relative;
	padding-top: 20px;
	padding-left: 30px;
	font-size: 18px;
	letter-spacing: .2em;
}
#contact .form dt .require {
	margin-left: 10px;
	font-size: 16px;
	color: #993333;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
}
#contact .form dt::before {
	content: '■';
	display: block;
	position: absolute;
	top: 20px;
	bottom: 0;
	left: 0;
	color: #336699;
}
/* 項目入力欄 */
#contact .form dd {
	display: table-cell;
	vertical-align: top;
	width: 720px;
}
#contact .form dd:last-child {
	margin-bottom: 0;
}
#contact .form input {
	height: 60px;
}
#contact .form input,
#contact .form textarea {
	width: 100%;
	padding: 10px 20px;
	background: #f5f5f5;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 16px;
	vertical-align: middle;
	letter-spacing: .1em;
	border: none;
}
/* 項目注意テキスト */
#contact .form dd .note-text {
	padding-top: 8px;
	font-size: 16px;
	color: #666;
	letter-spacing: .2em;
	line-height: 1.6;
}
/* 確認画面テキスト */
#contact .form dd .check-text {
	padding-top: 8px;
	font-size: 18px;
	letter-spacing: .2em;
	line-height: 1.6;
}
body.check #contact .form .question dd {
	font-size: 18px;
	letter-spacing: .2em;
	line-height: 1.6;
}
/* アンケート */
#contact .form .question {
	margin-top: 80px;
}
#contact .form .question-set {
	display: inline-block;
}
#contact .form .question-set.q1 {
	margin-right: 70px;
}
#contact .form .question dt {
	display: inline-block;
	width: 500px;
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: solid 1px #333;
	letter-spacing: .1em;
	text-indent: .1em;
}
#contact .form .question dd {
	width: 500px;
}
#contact .form .question dd label {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	width: 50%;
	font-size: 16px;
	letter-spacing: 2px;
	text-indent: .1em;
	line-height: 30px;
	-webkit-transition: all .2s;
	transition: all .2s;
	cursor: pointer;
}
#contact .form .question dd label span {
	padding-left: 46px;
}
#contact .form .question dd .text {
	margin-top: 20px;
}
#contact .form .question dd .checkbox {
	height: 30px;
	padding: 0;
	cursor: pointer;
}
#contact .form .question dd .checkbox[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
#contact .form .question dd .checkbox[type="checkbox"] + span::before,
#contact .form .question dd .checkbox[type="checkbox"] + span::after {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	content: '';
	box-sizing: border-box;
}
#contact .form .question dd .checkbox[type="checkbox"] + span::before {
	width: 30px;
	height: 30px;
	border: solid 1px #666;
	border-radius: 5px;
	background: #fff;
	z-index: 0;
	cursor: pointer;
}
#contact .form .question dd .checkbox[type="checkbox"] + span::after {
	z-index: 1;
	margin: 4px 10px;
	width: 10px;
	height: 18px;
}
#contact .form .question dd .checkbox[type="checkbox"]:checked + span::after {
	border: solid 2px #000;
	border-width: 0 4px  4px  0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
/* アンケート（確認画面） */
body.check #contact .form .question {
	margin-top: 40px;
	font-size: 20px;
}
body.check #contact .form .question dt {
	padding-bottom: 0;
	border-bottom: none;
}

/*------------------------------
	ボタン
------------------------------ */
#contact .button {
	margin-top: 80px;
}
#contact .button .note {
	margin-top: 20px;
	line-height: 1.6;
	text-align: center;
	letter-spacing: .1em;
	text-indent: .1em;
}
#contact .button .submit {
	display: block;
	width: 360px;
	height: 80px;
	padding: 0;
	margin: 0 auto;
	border: none;
	background: #336699;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 24px;
	color: #fff;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
	cursor: pointer;
}



/* ============================================================
	フッター
============================================================ */
#footer {
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding-top: 140px;
	padding-bottom: 60px;
}
/* WebP未対応のブラウザ用のスタイル */
.no-webp #footer {
	background-image: url("./images/footer-pc.jpg")!important;
}

/*------------------------------
	ロゴ
------------------------------ */
#footer .logo {
}
#footer .logo-image {
	font-size: 20px;
	color: #fff;
	text-align: center;
	letter-spacing: .2em;
	line-height: 2;
}
#footer .logo-image img {
	width: 80px;
	height: 86px;
}

/*------------------------------
	アクセス
------------------------------ */
#footer .address {
	margin-top: 60px;
}
#footer .address-text {
	font-size: 16px;
	color: #fff;
	text-align: center;
	letter-spacing: .2em;
	line-height: 2.25;
}

/*------------------------------
	コピーライト
------------------------------ */
#footer .copyright {
	margin-top: 120px;
	font-size: 14px;
	color: #fff;
	text-align: center;
	letter-spacing: .2em;
	text-indent: .2em;
}
