@charset "utf-8";

@font-face {
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/RobotoCondensed-Regular.woff) format("woff")
}

@font-face {
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 700;
	src: url(../fonts/RobotoCondensed-Bold.woff) format("woff")
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ 変数
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

:root {
	--base-color: 238, 238, 238;
	--main-color: 0, 106, 68;
	--accent-color: 228, 182, 156;
	--main-font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	/*--main-font-family: "Roboto Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;*/
	--main-font-weight: normal;
}

/*
	 0% #006a44 (元色)
	10% #005f3d (濃い)
	20% #005536 (さらに濃い)
*/

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ 共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
fieldset,
form,
label,
legend,
table,
caption,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	margin: 0;
	padding: 0;
}

main,
article,
aside,
details,
summary,
blockquote,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

h1,
h2,
h3,
h4,
h5,
dl,
dt,
dd,
ol,
ul,
li,
p,
figure {
	margin: 0;
	padding: 0;
}

ul {
	list-style: none
}

img,
iframe,
select,
textarea {
	vertical-align: top
}

img {
	max-width: 100%;
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

html {
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	background: rgba(var(--main-color), 1.0);
	font-size: 16px;
	font-weight: 400;
	font-family: "Segoe UI", "Helvetica Neue", "Meiryo UI", Meiryo, "メイリオ", sans-serif;
	font-family: "Roboto Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	/*font-feature-settings: "palt";*/
	line-height: 1;
	letter-spacing: .025em;
	-webkit-text-size-adjust: 100%;
	position: relative;
	color: #444;
}

::selection {
	background: rgba(var(--main-color), 0.125);
}

::-moz-selection {
	background: rgba(var(--main-color), 0.125);
}

a {
	color: #444;
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: none;
	margin: 0;
	padding: 0;
}

.blank.big {
	padding-right: 20px;
	background: url(../img/header_icon_blank.svg) no-repeat right top 1px / 15px 11px;
}

.blank.small {
	padding-right: 16px;
	background: url(../img/header_icon_blank.svg) no-repeat right top / 10px 8px;
}



p.center {
	text-align: center;
}

.bold {
	font-weight: bold;
}



.inner {}



hr {
	display: block;
	height: 1px;
	border: 0;
	margin: 0;
	padding: 0;
	background: #eee;
}

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

@media screen and (max-width:767px) {}



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

@media screen and (min-width:768px) {
	.sp {
		display: none !important
	}

	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}

	.inner {
		width: calc(100% - 64px);
		max-width: 960px;
		margin: 0 auto;
	}

	.inner.max {
		width: 100%;
		max-width: 100%;
	}

	.inner.wide {
		max-width: 1200px;
	}

	.inner.thin {
		max-width: 800px;
	}

	.inner+.inner {
		margin-top: 80px;
	}
}


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

@media screen and (max-width:767px) {
	.pc {
		display: none !important
	}

	body {
		font-size: 14px;
	}

	.inner {
		width: calc(100% - 48px);
		margin: 0 24px;
	}

	.inner+.inner {
		margin-top: 32px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#header {
	position: sticky;
	left: 0;
	top: 0;
	z-index: 1;
	border-top: 4px solid rgba(var(--main-color), 1.0);
	background: #fff;
}

#header a {}

#header a:hover {}

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

@media screen and (max-width:1023px) {

	#header {
		position: sticky;
		left: 0;
		top: 0;
	}
}

/*-------------------------------------------------------------------------
	bottom
-------------------------------------------------------------------------*/


#header .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	max-width: calc(100% - 64px);
	height: 96px;
}

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

@media screen and (max-width:1023px) {


	#header .inner {
		align-items: start;
		max-width: calc(100% - 24px);
		width: calc(100% - 24px);
		margin: 0 12px;
		height: 97px;
	}


}

/*-------------------------------------------------------------------------
	logo
-------------------------------------------------------------------------*/

#header .logo {
	flex: none;
	margin-top: 20px;
}

#header .logo a img {
	height: 32px;
}


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

@media screen and (max-width:1023px) {


	#header .logo a img {
		height: 24px;
	}
}


/*-------------------------------------------------------------------------
	reserve
-------------------------------------------------------------------------*/


#header .location {
	display: none;
}

#header .reserve {
	display: none;
}


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

@media screen and (max-width:1023px) {


	#header .location {
		width: 36px;
		height: 36px;
		display: block;
		position: relative;
		z-index: 1;
		position: absolute;
		right: 79px;
		top: 15px
	}

	#header .location a {
		width: 100%;
		height: 100%;
		border: 1px solid rgba(var(--main-color), 1.0);
		box-sizing: border-box;
		background: #fff;
		font-size: 8px;
		letter-spacing: .1em;
		color: rgba(var(--main-color), 1.0);
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	#header .location a img {
		height: 16px;
		margin-top: 2px;
	}


	#header .reserve {
		width: 36px;
		height: 36px;
		display: block;
		position: relative;
		z-index: 1;
		position: absolute;
		right: 44px;
		top: 15px
	}

	#header .reserve a {
		width: 100%;
		height: 100%;
		border: 1px solid rgba(var(--main-color), 1.0);
		box-sizing: border-box;
		background: #fff;
		font-size: 8px;
		letter-spacing: .1em;
		color: rgba(var(--main-color), 1.0);
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	#header .reserve a img {
		height: 16px;
		margin-top: 2px;
	}

}

/*-------------------------------------------------------------------------
	tel
-------------------------------------------------------------------------*/


#global,
#global+input {
	display: none
}

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

@media screen and (min-width:1024px) {

	#header .nav {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	#header .navfix {
		display: none;
		margin-top: 0;
	}

	#header .logo {
		margin-top: 0;
	}

}

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

@media screen and (max-width:1023px) {



	#header #global label {
		display: block;
	}

	#header #global+label:before {
		content: "";
		display: block;
		width: 36px;
		height: 36px;
		background: url(../img/icon_drawer_open.svg) no-repeat left top rgba(var(--main-color), 1.0);
		background: url(../img/icon_drawer_open.svg) no-repeat center center / 16px auto #005f3d;
		z-index: 12;
		position: absolute;
		right: 0;
		top: 15px
	}

	#header #global:checked+label:before {
		background-image: url(../img/icon_drawer_close.svg);
	}


	#header .nav {
		width: 100%;
		background: none;
		position: fixed;
		left: 0;
		top: 0;
		opacity: 0;
		visibility: hidden;
		z-index: 11;
	}

	#header .navfix {
		display: block;
		width: 100%;
		display: flex;
		padding: 10px 0;
		position: absolute;
		top: 60px;
		height: 13px;
	}

	#header .navfix li {
		width: 33.333%;
		padding: 0 10px;
		text-align: center;
		border-right: 1px solid #005f3d;
		white-space: nowrap;
	}

	#header .navfix li:first-child {
		padding-left: 0;
	}

	#header .navfix li:last-child {
		border: none;
		padding-right: 0;
	}


	#header .navfix li.bridal a {
		color: rgba(var(--main-color), 1.0);
		display: flex;
		align-items: center;
	}

	#header .navfix li.bridal a:before {
		order: 1;
		content: "";
		display: inline-block;
		width: 12px;
		height: 12px;
		margin-left: 4px;
		background: url(../img/header_icon_blank.svg) no-repeat center center / cover;
	}

	#header #global:checked+label+.nav {
		width: 100%;
		height: calc(100% - 68px);
		margin-top: 68px;
		background: #fff;
		opacity: 1;
		transform: scale(1);
		visibility: visible;
	}

}



/*-------------------------------------------------------------------------
	contents
-------------------------------------------------------------------------*/

#header .nav .contents {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	/*justify-content: space-between;
	justify-content: space-around;
	margin: 0 3%;*/
}

#header .nav .contents li+li {
	margin-left: 32px;
}

#header .nav .contents li>a {
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	white-space: nowrap;
}

#header .nav .contents li.bridal a {
	color: rgba(var(--main-color), 1.0);
	display: flex;
	align-items: center;
}

#header .nav .contents li.bridal a:before {
	order: 1;
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 4px;
	background: url(../img/header_icon_blank.svg) no-repeat center center / cover;
}


#header .nav details {
	display: none;
}

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

@media screen and (min-width: 1024px) {

	#header .nav .contents li a:after {
		position: absolute;
		bottom: -1px;
		left: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: rgba(var(--main-color), 1.0);
		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform .3s;
	}

	#header .nav .contents li a:hover:after {
		transform: scale(1, 1);
	}


	#header .nav .contents li.current a:after {
		position: absolute;
		bottom: -1px;
		left: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: rgba(var(--main-color), 1.0);
		transform: scale(1, 1);
		transform-origin: left top;
	}


}

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

@media screen and (max-width:1023px) {

	#header .nav {
		overflow-y: scroll;
	}

	#header .nav .contents {
		flex: none;
		display: block;
		margin-bottom: 32px;
	}

	#header .nav .contents li>a {
		width: 100%;
		height: 48px;
		box-sizing: border-box;
		padding: 0 12px;
		justify-content: start;
		background: rgba(var(--main-color), 1.0);
		color: #fff;
	}

	#header .nav .contents li {
		position: relative;
	}

	#header .nav .contents li+li {
		margin-left: 0;
		margin-top: 1px;
	}


	#header .nav details {
		display: block;
	}

	#header .nav details summary {
		width: 48px;
		height: 48px;
		position: absolute;
		right: 0;
		top: 0;
		background: #005f3d;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#header .nav details summary::-webkit-details-marker {
		display: none;
	}

	#header .nav details summary:after {
		content: "＋";
	}

	#header .nav details[open] summary:after {
		content: "－";
	}


	#header .nav details dd+dd {
		border-top: 1px solid rgba(var(--base-color), 1.0);
	}

	#header .nav details dt {
		width: 100%;
		height: 40px;
		box-sizing: border-box;
		padding: 0 12px;
		display: flex;
		align-items: center;
		justify-content: start;
		background: #eee;
	}

	#header .nav details a {
		width: 100%;
		height: 40px;
		box-sizing: border-box;
		padding: 0 12px;
		display: flex;
		align-items: center;
		justify-content: start;
		color: rgba(var(--main-color), 1.0);
		background: #fff;
	}

	#header .nav details a:before {
		content: "-";
		margin-right: 4px;
	}

	#header .nav details dd a {
		display: flex;
		align-items: center;
	}

	#header .nav details dd a * {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	#header .nav details dd a *+* {
		margin-left: 12px;
	}



	#header .nav .contents li.bridal a {
		color: #fff;
	}

	#header .nav .contents li.bridal a:before {
		width: 10px;
		height: 10px;
		margin-left: 6px;
		background: url(../img/footer_icon_blank.svg) no-repeat center center / cover;
	}

}


/*-------------------------------------------------------------------------
	rolex
-------------------------------------------------------------------------*/

#header .rolex {
	width: 150px;
	height: 70px;
	background: #eee;
	margin-left: 32px;
}

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

@media screen and (max-width:1023px) {

	#header .rolex {
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 32px;
	}


}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ 共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

main {
	background: #fff;
}

section {
	padding: 96px 0;
}

section:nth-of-type(odd) {}

section:nth-of-type(even) {
	background: #fbfaf5;
	background: rgba(var(--base-color), 0.5);
}

section p,
section dt,
section li,
section summary {
	line-height: 1.75;
}

section p+p {
	margin-top: 16px;
}

section a {
	/*color: rgba(var(--main-color), 1.0);*/
}

section a:hover {}

section u {
	text-decoration: none;
	background: linear-gradient(transparent 75%, rgba(var(--accent-color), 0.25) 0%);
}

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

@media screen and (max-width:767px) {

	section {
		padding: 48px 0;
	}


}


/*-------------------------------------------------------------------------
　スライダー
-------------------------------------------------------------------------*/

#slider {}

#slider .slick-slider {
	position: relative;
	overflow: hidden;
}


#slider .slick-list {
	overflow: hidden;
}


#slider .slick-track {
	display: flex;
}

#slider .slick-slide {
	width: 100%;
	height: 100%;
}

#slider .slick-slide:focus {
	outline: none;
}

#slider .slick-slide a {
	outline: none;
}

#slider .slick-slide a:focus {
	outline: none;
}

#slider .slick-slide a img {
	width: 100%;
	aspect-ratio: 3 / 1;
	object-fit: cover;
	object-position: center center;
}




/* Slider */

#slider .slick-dots {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	display: flex !important;
	justify-content: center;
}

#slider .slick-dots li {
	flex: 1;
	position: relative;
	height: 4px;
	margin: 0 !important;
	padding: 0;
	cursor: pointer;
	font-size: 0px;
}

#slider .slick-dots li button {
	font-size: 0px;
	line-height: 0;
	display: block;
	width: 0;
	height: 0;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}

#slider .slick-dots li button:hover,
#slider .slick-dots li button:focus {
	outline: none;
}

#slider .slick-dots li button:hover:before,
#slider .slick-dots li button:focus:before {
	opacity: 1;
}

#slider .slick-dots li button:before {
	font-size: 0px;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	background: rgba(0, 0, 0, .075);
	width: 100%;
	height: 100%;
	text-align: center;
}

#slider .slick-dots li.slick-active button:before {
	background: rgba(0, 0, 0, .25);
}

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

@media screen and (max-width:767px) {

	#slider .slick-slide a img {
		aspect-ratio: 16 / 9;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ heading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

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


.title {
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	font-family: var(--main-font-family);
	font-weight: var(--main-font-weight);
	letter-spacing: .15em;
	letter-spacing: .05em;
	color: rgba(var(--accent-color), 1.0);
	background: rgba(var(--accent-color), 0.125);

	font-size: 32px;
	font-weight: normal;
	letter-spacing: .1em;
	letter-spacing: .05em;
	white-space: nowrap;
	color: #fff;
	background: url(../img/main_title_bg.png) repeat-x center center / 160px 160px #005f3d;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.title img {
	max-height: 100%;
}

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

@media screen and (max-width: 767px) {


	.title {
		height: 80px;
		font-size: 20px;
		font-size: 20px;
	}

}

/*-------------------------------------------------------------------------
	h3
-------------------------------------------------------------------------*/

main h3 {}

main h3.border {


	font-size: 28px;
	font-family: var(--main-font-family);
	font-weight: var(--main-font-weight);
	line-height: 1.5;
	letter-spacing: .05em;
	/*color: rgba(var(--accent-color), 1.0);*/
	position: relative;
	margin-bottom: 80px;
	/*padding-bottom: 16px;
	margin-bottom: 24px;*/
	/*color: var(--main-color);
	border-bottom: 4px solid var(--main-color);*/
	text-align: center;


	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}

main h3.border small {
	font-size: 16px;
	margin-top: 8px;
}

main h3.border big {
	font-size: 40px;
	font-weight: bold;
	margin-top: 8px;
}

main h3.border:after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	background: rgba(var(--main-color), 0.75);
	margin: 0 auto;
	margin-top: 16px;
}

main h3.white.border:after {
	background: #eee;
}


main h3.border small.flex {
	display: flex;
	align-items: baseline;
}

main h3.border small.flex img {
	flex: none;
	height: 24px;
	margin-right: 12px;
}

main h3.underline {

	font-size: 28px;
	font-family: var(--main-font-family);
	font-weight: var(--main-font-weight);
	line-height: 1.5;
	letter-spacing: .05em;
	/*color: rgba(var(--accent-color), 1.0);*/
	position: relative;
	margin-bottom: 80px;
	/*padding-bottom: 16px;
	margin-bottom: 24px;*/
	/*color: var(--main-color);
	border-bottom: 4px solid var(--main-color);*/
	text-align: center;


	border-bottom: 1px solid #eee;
}

main h3.underline span {
	border-bottom: 1px solid rgba(var(--main-color), 0.75);
	margin-bottom: -1px;
	padding-bottom: 16px;
	display: inline-block;
}

.description {
	margin: 0 auto;
	text-align: center;
}

main h3+.description {
	margin-top: -32px;
}

.description span {
	text-align: left;
	display: inline-block;
}

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

@media screen and (max-width: 767px) {


	main h3.border {
		font-size: 20px;
		margin-bottom: 40px;
	}

	main h3+.description {
		margin-top: -8px;
	}


	main h3.border small {
		font-size: 14px;
		margin-top: 0;
	}

	main h3.border big {
		font-size: 22px;
	}

	main h3.border:after {
		margin-top: 12px;
	}

	main h3.border small.flex {
		align-items: center;
		justify-content: center;
		flex-direction: column;
		margin-top: 8px;
	}

	main h3.border small.flex img {
		height: 20px;
		margin-right: 0;
		margin-bottom: 8px;
	}

	main h3.underline {
		font-size: 20px;
		margin-bottom: 40px;
	}


}



/*-------------------------------------------------------------------------
	h4
-------------------------------------------------------------------------*/

main h4 {
	font-size: 22px;
	font-family: var(--main-font-family);
	font-weight: var(--main-font-weight);
	line-height: 1.5;
	letter-spacing: .05em;
	/*padding-left: 16px;
	border-left: 2px solid var(--main-color);*/
}

main h4.center {
	text-align: center;
}

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

@media screen and (max-width: 767px) {


	main h4 {
		font-size: 18px;
	}

}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ breadcrumbs
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#breadcrumbs {
	display: flex;
	position: relative;
	margin-top: -24px;
}

#breadcrumbs ul {
	font-size: 12px;
	color: #f2f0eb;
	white-space: nowrap;
	background: rgba(var(--main-color), 0.75);
	background: #006a44;
	height: 48px;
	margin: 0 auto 0 -8px;
	padding: 0 32px 0 calc(50% - 600px + 8px);
	display: flex;
	align-items: center;
	position: relative;
	transform: skewX(15deg);
}

#breadcrumbs li {
	transform: skewX(-15deg);
}

#breadcrumbs li:not(:last-child):after {
	display: inline-block;
	content: "";
	width: 5px;
	height: 10px;
	background: url(../img/icon_arrow_right_white.svg) no-repeat left top / cover;
	position: relative;
	margin: 0 12px;
}

#breadcrumbs li:last-child {
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

#breadcrumbs a {
	color: #f2f0eb;
}

#breadcrumbs a:hover {
	text-decoration: underline;
}


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

@media screen and (max-width:1280px) {
	#breadcrumbs ul {
		padding-left: 48px;
	}
}


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

@media screen and (max-width:767px) {
	#breadcrumbs {
		display: block;
		margin-top: 0;
	}

	#breadcrumbs ul {
		font-size: 10px;
		height: 32px;
		margin: 0;
		padding: 0 12px;
		transform: skewX(0deg);
	}

	#breadcrumbs li {
		transform: skewX(0deg);
	}

	#breadcrumbs li:not(:last-child):after {
		width: 4px;
		height: 8px;
		margin: 0 6px;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ apps
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.apps {
	padding: 32px 48px;
	border: 2px solid rgba(var(--main-color), 1.0);
	box-sizing: border-box;
}

.apps dl {
	display: flex;
	align-items: center;
}

.apps dt {
	flex: none;
	width: 120px;
	margin-right: 48px;
}

.apps dd h4 {
	margin-bottom: 16px;
}

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

@media screen and (max-width: 767px) {


	.apps {
		padding: 24px 16px;
	}

	.apps dl {
		display: block;
	}

	.apps dt {
		width: 100%;
		margin-right: 0;
		margin-bottom: 24px;
		text-align: center;
	}

	.apps dt img {
		width: 33%;
	}


}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ solve
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#solve {
	background: url(../img/solve_bg.dvg) repeat center center / 400px 400px, linear-gradient(135deg, rgba(var(--main-color), 0.5), rgba(var(--accent-color), 0.5));
	background: url(../img/solve_bg.svg) scroll repeat center center / 400px 400px rgba(var(--base-color), 0.5);
}


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

@media screen and (max-width: 767px) {

	#solve {
		/*background-size: 400px 400px;*/
	}

	#solve .youtube {
		margin-bottom: 16px;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ box
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.box {
	padding: 24px;
	border: 1px solid rgba(var(--base-color), 1.0);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ separate
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.separate {
	display: flex;
	justify-content: space-between;
}

.separate.center {
	align-items: center;
}

.separate>li {
	width: calc(50% - 24px);
}

.separate a {
	text-decoration: underline;
	cursor: pointer;
}

.separate a:hover {
	text-decoration: none;
}


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

@media screen and (max-width: 767px) {

	.separate {
		display: block;
	}

	.separate>li {
		width: 100%;
	}

	.separate>li+li {
		margin-top: 24px;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ 選ばれる理由
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*.advantage {
	background: url(../img/index_advantage_bg01.png) no-repeat left center / 25% auto,
				url(../img/index_advantage_bg02.png) no-repeat left calc(100% / 3) center / 25% auto,
				url(../img/index_advantage_bg03.png) no-repeat right calc(100% / 3) center / 25% auto,
				url(../img/index_advantage_bg04.png) no-repeat right center / 25% auto;
}*/
#advantage {
	background: url(../img/index_advantage_bg_pc.jpg) no-repeat center center / cover;
}

.advantage {
	width: 384px;
	height: 320px;
	margin: 0 auto;
	background: #005f3d;
	background: #005536;
	background: rgba(var(--main-color), 0.95);
	display: flex;
	align-items: center;
	justify-content: center;
}

.advantage dl {
	padding: 0 32px;
	color: #fff;
}

.advantage dt {
	font-size: 20px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 16px;
}

.advantage dt small {
	font-size: 18px;
	display: block;
}

.advantage dt b {
	font-size: 28px;
	font-weight: normal;
}

.advantage dd p {}

.advantage .button {
	margin-top: 32px;
}

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

@media screen and (max-width: 767px) {
	#advantage {
		background: url(../img/index_advantage_bg_sp.jpg) no-repeat center center / cover;
	}

	.advantage {
		width: 100%;
		height: auto;
		display: block;
	}

	.advantage dl {
		padding: 32px 24px;
	}

	.advantage dt small {
		font-size: 16px;
	}

	.advantage dt b {
		font-size: 20px;
	}

	.advantage .button {
		margin-top: 24px;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ brands
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#brands {}

#brands h4 {
	margin-bottom: 32px;
	padding-left: 16px;
	border-left: 2px solid rgba(var(--main-color), 1.0);
}


#brands hr {
	margin: 48px 0;
}


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

@media screen and (max-width: 767px) {

	#brands h4 {
		margin-bottom: 24px;
		padding-left: 12px;
	}

	#brands hr {
		margin: 32px 0;
	}



}

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

.tab {
	display: flex;
}

.tab li {
	flex: 1;
	background: rgba(0, 0, 0, .05);
}

.tab li+li {
	margin-left: 1px;
}

.tab li label {
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 14px;
}

.tab li.select label {
	background: rgba(var(--main-color), 1.0);
	color: #fff;
	position: relative;
}

.tab li.select label:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	margin: 0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 8px 0 8px;
	border-color: rgba(var(--main-color), 1.0) transparent transparent transparent;
}

.tab li:not(.select):hover label {
	background: rgba(var(--main-color), 0.1);
}

.hide {
	display: none
}


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

@media screen and (max-width: 767px) {


	.tab li label {
		height: 40px;
		font-size: 12px;
	}


}


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

.information {}

.information ul {
	margin: -48px 0;
}

.information li+li {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(var(--base-color), 1.0);
}

.information li a {
	display: block;
}

.information li a:hover {
	text-decoration: underline;
}

.information dl {
	display: flex;
	align-items: center;
}

.information dt {
	flex: none;
	width: 200px;
	margin-right: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.information dt span {}

.information dt em {
	font-size: 11px;
	font-style: normal;
	color: #fff;
	padding: 2px 8px;
	background: rgba(var(--main-color), 1.0);
	display: inline-block;
}

.information dd {
	width: calc(100% - 224px);
}

.information dd p {}

.information dd p a {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

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

@media screen and (max-width: 767px) {

	.information ul {
		margin: -24px 0;
	}

	.information li+li {
		margin-top: 8px;
		padding-top: 8px;
	}

	.information dl {
		display: block;
	}

	.information dt {
		width: auto;
		margin-right: 0;
		margin-bottom: 0;
	}

	.information dt em {
		font-size: 8px;
		padding: 1px 4px;
	}

	.information dd {
		width: auto;
	}

}



/*-------------------------------------------------------------------------
	brands
-------------------------------------------------------------------------*/

.brands {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -12px -24px -12px;
}

.brands li {
	width: calc(100% / 7 - 24px);
	margin: 0 12px 24px 12px;
}

.brands li a {
	display: block;
	transition: .75s;
}

.brands li a:hover {
	opacity: .75;
}


.brands dt {
	background: #fff;
	border: 1px solid rgba(var(--base-color), 1.0);
	margin-bottom: 16px;
	/*box-shadow: 0 0 4px rgba(0, 0, 0, .05);*/
}

.brands dt img {}

.brands dd {}

.brands dd p {
	line-height: 1;
	text-align: center;
	/*white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;*/
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.brands dd p span {
	width: 100%;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.brands dd p small {
	width: 100%;
	font-size: 11px;
	color: #ccc;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-top: 4px;
}

/*------------------------------------------------------------------------*/
@media screen and (max-width:1023px) {

	.brands li {
		width: calc(20% - 24px);
	}
}

/*------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	.brands {
		margin: 0 -4px -12px -4px;
	}

	.brands li {
		width: calc(100% / 3 - 8px);
		margin: 0 4px 12px 4px;
	}

	.brands dt {
		margin-bottom: 8px;
	}

	.brands dd p {
		font-size: 10px;
	}
}


/*-------------------------------------------------------------------------
	spec
-------------------------------------------------------------------------*/


.outline li+li {
	padding-top: 16px;
	margin-top: 16px;
	border-top: 1px solid rgba(var(--base-color), 1.0);
}

.outline dl {
	display: flex;
}

.outline dt {
	flex: 1;
}

.outline dd {
	flex: 3;
}

.outline a,
.outline label {
	text-decoration: underline;
	cursor: pointer;
}

.outline a:hover,
.outline label:hover {
	text-decoration: none;
}


/*------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	.outline li+li {
		padding-top: 12px;
		margin-top: 12px;
	}

	/*.separate > li + li .outline li {
		padding-top: 12px;
		margin-top: 12px;
		border-top: 1px solid rgba(var(--base-color), 1.0);
	}*/

	.outline dd {
		flex: 2;
	}


}




/*-------------------------------------------------------------------------
	stores
-------------------------------------------------------------------------*/

.stores {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -16px -32px -16px;
}

.stores li {
	width: calc(100% / 3 - 32px);
	margin: 0 16px 32px 16px;
}

.stores li a {
	display: block;
	transition: .75s;
}

.stores li a:hover {
	opacity: .75;
}

.stores dl {}

.stores dt {
	margin-bottom: 16px;
}

.stores li dt img {}


.stores dd {}


.stores dd h4 {
	font-size: 20px;
	font-weight: normal;
	line-height: 1.5;
	margin-bottom: 0;
}

.stores dd p {
	font-size: 14px;
	margin-top: 4px;
	color: #888;
}



/*------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	.stores {
		margin: 0 -8px -24px -8px;
	}

	.stores li {
		width: calc(100% - 16px);
		margin: 0 8px 24px 8px;
	}

	.stores dt {
		margin-bottom: 12px;
	}

	.stores dd h4 {
		font-size: 16px;
	}

	.stores dd p {
		font-size: 13px;
	}


}



/*-------------------------------------------------------------------------
	detail
-------------------------------------------------------------------------*/

.detail {
	display: flex;
	justify-content: space-between;
}

.detail>dt {
	width: calc(50% - 24px);
}

.detail>dd {
	width: calc(50% - 24px);
}

/*------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	.detail {
		display: block;
	}

	.detail>dt {
		width: 100%;
	}

	.detail>dd {
		width: 100%;
		margin-left: 0;
		margin-top: 24px;
	}

}


/*-------------------------------------------------------------------------
	slider
-------------------------------------------------------------------------*/

.detail .slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.detail .slick-list {
	position: relative;
	display: block;
	overflow: hidden;
}

.detail .slick-list:focus {
	outline: none;
}

.detail .slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.detail .slick-slider .slick-track,
.detail .slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.detail .slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
}

.detail .slick-track:before,
.detail .slick-track:after {
	display: table;
	content: "";
}

.detail .slick-track:after {
	clear: both;
}

.detail .slick-loading .slick-track {
	visibility: hidden;
}

.detail .slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
	aspect-ratio: 1 / 1;
}

.detail .slick-slide img {
	display: block;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	object-position: center center;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.detail .slick-slide.slick-loading img {
	display: none;
}

.detail .slick-slide.dragging img {
	pointer-events: none;
}

.detail .slick-initialized .slick-slide {
	display: block;
}

.detail .slick-loading .slick-slide {
	visibility: hidden;
}

.detail .slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.detail .slick-arrow.slick-hidden {
	display: none;
}


.detail .slider {}

.detail .slider img {
	width: 100%;
	outline: none;
}

.detail .slide {
	display: none;
}

.detail .slide li {
	outline: none;
}

.detail .slide.slick-initialized {
	display: block;
}

.detail .slick-dots {
	margin: 48px -2px -4px -2px;
	display: flex;
	flex-wrap: wrap;
}

.detail .slick-dots li {
	width: calc(100% / 6 - 4px);
	margin: 0 2px 4px 2px;
	background: #1f1c15;
	cursor: pointer;
}

.detail .slick-dots li img {
	transition: .75s;
	opacity: 0.5;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center center;
}

.detail .slick-dots li.slick-active img {
	opacity: 1;
}

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

@media screen and (max-width:767px) {

	.detail .slick-list {
		margin: 0 -24px;
	}

	.detail .slick-dots {
		margin: 24px -1px -2px -1px;
	}

	.detail .slick-dots li {
		width: calc(25% - 2px);
		margin: 0 1px 2px 1px;
	}
}


/*-------------------------------------------------------------------------
	price
-------------------------------------------------------------------------*/

.price {
	margin: 48px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.price b {
	font-size: 32px;
	font-weight: 400;
}

.price a {
	margin-left: 24px;
}

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

@media screen and (max-width:767px) {


	.price {
		margin: 24px 0;
		flex-direction: column;
	}

	.price b {}

	.price a {
		margin-left: 0;
		margin-top: 8px;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ new
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#new {
	bcakground: #f5f5f5;
}


/*-------------------------------------------------------------------------
	items
-------------------------------------------------------------------------*/

.items {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -16px -32px -16px;
}

.items li {
	width: calc(100% / 5 - 32px);
	margin: 0 16px 32px 16px;
	position: relative;
}

/*.items li:nth-child(n + 31) {
	display: none;
}*/

.items li a {
	color: #444;
}

.items li figure {}

.items li figure img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	object-position: center center;
}

.items li figcaption {
	margin-top: 16px;
}

.items li figcaption p {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}

.items li figcaption b {
	font-size: 13px;
	font-weight: normal;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.items li figcaption b i {
	color: rgba(var(--main-color), 1.0);
	display: block;
	padding: 4px 12px;
	border: 1px solid rgba(var(--main-color), 1.0);
}

.items li figcaption b i+i {
	margin-left: 8px;
}

.items li figcaption span {
	font-size: 14px;
	margin-top: 12px;
}

/*------------------------------------------------------------------------*/
@media screen and (max-width:1023px) {
	.items li {
		width: calc(100% / 4 - 32px);
	}
}


/*------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	.items {
		margin: 0 -12px -24px -12px;
	}

	.items li {
		width: calc(100% / 2 - 24px);
		margin: 0 12px 24px 12px;
	}

	.items li figcaption b {
		font-size: 12px;
	}

	.items li figcaption span {
		font-size: 13px;
	}

}




/*-------------------------------------------------------------------------
	blogs
-------------------------------------------------------------------------*/

.blogs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -16px -32px -16px;
}

.blogs li {
	width: calc(100% / 4 - 32px);
	margin: 0 16px 32px 16px;
}


/*------------------------------------------------------------------------*/
@media screen and (min-width:768px) {

	.blogs.column3 li {
		width: calc(100% / 3 - 32px);
		margin: 0 16px 32px 16px;
	}

}

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

.blogs li a {
	display: block;
	transition: .75s;
}

.blogs li a:hover {
	opacity: .75;
}

.blogs dl {}

.blogs dt {
	margin-bottom: 12px;
	position: relative;
}

.blogs li dt img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}

.blogs dt span {
	height: 24px;
	padding: 0 12px;
	font-size: 11px;
	color: #fff;
	background: rgba(var(--main-color), 1.0);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: -8px;
	bottom: -12px;
	transform: skewX(-15deg);
}

.blogs dt span i {
	font-style: normal;
	transform: skewX(15deg);
}

.blogs dd {}

.blogs dd time {
	display: block;
	font-size: 12px;
	line-height: 1.75;
	color: #998a67;
	margin-bottom: 4px;
}

.blogs dd time:before {
	content: "-";
	margin-right: 4px;
}

.blogs dd h4 {
	height: 48px;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.blogs dd p {
	max-height: 42px;
	font-size: 12px;
	margin-top: 6px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #888;
}



/*------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	.blogs {
		margin: 0 -8px -24px -8px;
	}

	.blogs li {
		width: calc(50% - 16px);
		margin: 0 8px 24px 8px;
	}

	.blogs li.column1 {
		width: calc(100% - 16px);
	}

	.blogs dl {}

	.blogs dt {
		margin-bottom: 8px;
	}

	.blogs dt span {
		height: 20px;
		padding: 0 8px;
		font-size: 10px;
		bottom: -10px;
	}

	.blogs dd h4 {
		height: auto;
	}

	.blogs li:not(.column1) dd h4 {
		font-size: 13px;
	}

	.blogs li:not(.column1) dd p {
		display: none;
	}


}

/*-------------------------------------------------------------------------
	entry-title
-------------------------------------------------------------------------*/


.entry-title {
	font-size: 16px;
	font-weight: normal;
	letter-spacing: .025em;
	line-height: 1.5;
	text-align: left;
	position: relative;
	border-left: 2px solid rgba(var(--main-color), 1.0);
	padding-left: 16px;
	margin-bottom: 0;
}

.entry-title time {
	display: block;
	font-size: 16px;
	color: #998a67;
	margin-bottom: 8px;
}

.entry-title b {
	font-size: 32px;
	font-family: var(--main-font-family);
	font-weight: var(--main-font-weight);
}


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

@media screen and (max-width:767px) {

	.entry-title {
		font-size: 18px;
	}

	.entry-title time {
		font-size: 14px;
		margin-bottom: 4px;
	}

	.entry-title b {
		font-size: 20px;
	}
}

/*-------------------------------------------------------------------------
	entry-body
-------------------------------------------------------------------------*/

.entry-body {}

.entry-body .kv {
	position: relative;
}

.entry-body .kv img {
	width: 100%;
	max-width: 640px !important;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}

.entry-body .kv figcaption {
	height: 32px;
	padding: 0 12px;
	margin-top: 0;
	line-height: 1;
	color: #fff;
	background: rgba(var(--main-color), 1.0);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: -12px;
	top: -16px;
	transform: skewX(-15deg);
}

.entry-body .kv figcaption span {
	font-size: 12px;
	font-style: normal;
	transform: skewX(15deg);
}


.entry-body h4 {
	font-size: 22px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
	margin: 40px 0 32px 0;
	padding-bottom: 16px;
	border-bottom: 1px dotted #998a67;
}

.entry-body h5 {
	font-size: 18px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
	margin: 32px 0 24px 0;
}

.entry-body *+p:not(.button),
.entry-body *+ul {
	margin-top: 24px;
}

.entry-body img {
	width: 100% !important;
	max-width: 720px;
	height: auto !important;
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.entry-body img.mt-image-none {
	max-width: 640px !important;
}

.entry-body img.medium {
	max-width: 640px !important;
}

.entry-body img.small {
	max-width: 480px !important;
}
.entry-body img.large {
	max-width: 720px !important;
}

.entry-body img.medium {
	max-width: 640px !important;
}

.entry-body img.small {
	max-width: 480px !important;
}

.entry-body img.full {
	max-width: 1260px !important;
}

.entry-body .pict {
	max-width: 100% !important;
	height: auto !important;
}

.entry-body img[src^="https://common.blogimg.jp/emoji/"] {
	width: 10px !important;
	height: 10px !important;
	vertical-align: middle;
	display: inline-block;
	margin: 0;
	padding: 0;
}

.entry-body figure {
	margin: 48px 0;
}

.entry-body figure img {
	width: 100%;
}

.entry-body figure figcaption {
	font-size: 12px;
	margin-top: 16px;
}

.entry-body .embed {
	max-width: 542px;
	margin: 48px auto;
}


.entry-body ul.disc {
	margin: 24px 0;
	padding-left: 40px;
	list-style-type: disc;
}

.entry-body ol.decimal {
	margin: 24px 0;
	padding-left: 40px;
	list-style-type: decimal;
}

.entry-body .iframe {
	margin: 48px 0;
	padding: 0;
	position: relative;
	width: 100%;
	padding-top: 56.25%
}

.entry-body .iframe iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.entry-body a,
.entry-body label {
	text-decoration: underline;
	cursor: pointer;
}

.entry-body a:hover,
.entry-body label:hover {
	text-decoration: none;
}

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

@media screen and (max-width:767px) {

	.entry-body .kv figcaption {
		height: 24px;
		padding: 0 12px;
		margin-top: 0;
		right: -8px;
		top: -12px;
	}

	.entry-body .kv figcaption span {
		font-size: 11px;
	}

	.entry-body h4 {
		font-size: 18px;
		margin: 32px 0 24px 0;
		padding-bottom: 8px;
	}

	.entry-body h5 {
		font-size: 16px;
		margin: 24px 0 16px 0;
	}

	.entry-body figure {
		margin: 32px 0;
	}

	.entry-body figure figcaption {
		margin-top: 8px;
	}

	.entry-body .embed {
		margin: 32px 0;
	}


	.entry-body ul.disc {
		padding-left: 24px;
	}

	.entry-body ol.decimal {
		padding-left: 24px;
	}

	.entry-body .iframe {
		margin: 32px 0;
	}

}

/*-------------------------------------------------------------------------
	share
-------------------------------------------------------------------------*/

#share ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

#share li+li {
	margin-left: 12px;
}

#share li a {
	width: 48px;
	height: 48px;
	background: rgba(var(--main-color), 1.0);
	display: flex;
	align-items: center;
	justify-content: center;
}

#share li a img {
	height: 28px;
}


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

@media screen and (max-width:767px) {

	#share ul {}

	#share li a {
		width: 40px;
		height: 40px;
	}

	#share li a img {
		height: 24px;
	}


}

/*-------------------------------------------------------------------------
	other
-------------------------------------------------------------------------*/

.examples {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -16px -32px -16px;
}

.examples li {
	width: calc(100% / 4 - 32px);
	margin: 0 16px 32px 16px;
	position: relative;
}

.examples li:nth-child(n + 31) {
	display: none;
}

.examples li a {
	text-decoration: none;
	color: #444;
}

.examples li figure {}

.examples li figure img {
	width: 100%;
}

.examples li figcaption {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-top: 16px;
}

.examples li figcaption b {
	font-size: 13px;
	font-weight: normal;
	color: rgba(var(--main-color), 1.0);
	display: block;
	padding: 4px;
	border: 1px solid rgba(var(--main-color), 1.0);
}

.examples li figcaption span {
	font-size: 14px;
	margin-top: 8px;
}

/*------------------------------------------------------------------------*/
@media screen and (max-width:1023px) {
	.examples li {
		width: calc(100% / 4 - 32px);
	}
}


/*------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

	.examples {
		margin: 0 -12px -24px -12px;
	}

	.examples li {
		width: calc(100% / 2 - 24px);
		margin: 0 12px 24px 12px;
	}

	.examples li figcaption b {
		font-size: 12px;
	}

	.examples li figcaption span {
		font-size: 13px;
	}

}


/*-------------------------------------------------------------------------
	tudor（ブランドページ専用）
-------------------------------------------------------------------------*/

#brands-tudor .heading3 {
	text-align: center;
	font-size: 32px;
	margin-bottom: 20px;
}

#brands-tudor .head {
	padding: 30px 0;
	padding-top: 96px;
	margin-top: -96px;
}

#brands-tudor .head img {
	width: 300px;
}

#brands-tudor .link {
	padding: 50px 0;
}

#brands-tudor .link .button {
	width: 400px;
	margin: 0 auto;
	padding: 0;
}

#brands-tudor .link .button a {
	color: #444444;
	background: none;
	border: 1px solid #444444;
}

#brands-tudor .link .button a:hover {
	color: #fff;
	background: #444444;
	border: 1px solid #444444;
}


#brands-tudor .billboard {
	background: url(/assets/img/brands/tudor/tudor_generic.jpg) no-repeat top center;
	background-size: cover;
	height: 226px;
	padding: 0;
}

@media screen and (max-width:767px) {

	#brands-tudor .billboard {
		height: 60px;
	}
}

#brands-tudor .about {
	padding: 40px 0;
}

#brands-tudor .vision .lead {
	margin-top: 36px;
	text-align: center;
}

#brands-tudor .vision figure {
	text-align: center;

}

#brands-tudor .atelier {
	background-color: #141414;
	color: #ffffff;
	line-height: 1.6;
}

#brands-tudor .atelier .heading3 {
	text-align: left;
	color: #fff;
	line-height: 1;
}

#brands-tudor .atelier iframe {
	max-width: 98%;
	text-align: center;
}

#brands-tudor .ambassador .heading3 {
	text-align: right;
	line-height: 1;
}

#brands-tudor .atelier .heading3 span {
	color: #fff;
}

#brands-tudor .ambassador .right {
	text-align: right;
}

#brands-tudor .button {
	padding: 0 0 34px 0;
}

#brands-tudor .heading3 span {
	font-size: 16px;
	display: block;
	color: #E72119;
	margin-bottom: 10px;
}

#brands-tudor .concept {
	position: relative;
	padding: 0;
	background: url(/assets/img/brands/tudor/tudor_quoteBanner.jpg) center center;
	background-size: cover;
	height: 457px;
}

#brands-tudor .concept p {
	text-align: center;
	margin: 0;
	font-size: 32px;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#brands-tudor #tudor p {
	margin-top: 30px;
}

@media screen and (max-width:767px) {

	#brands-tudor .heading3 {
		font-size: 22px;
	}

	#brands-tudor .link {
		padding: 30px 0;
	}

	#brands-tudor .heading3 span {
		font-size: 14px;
	}

	#brands-tudor .link .button {
		width: 200px;
	}

	#brands-tudor .concept {
		position: relative;
		padding: 0;
		background: url(/assets/img/brands/tudor/tudor_quoteBanner.jpg) 18% center no-repeat;
		background-size: cover;
		height: 250px;
	}

	#brands-tudor .concept p {
		font-size: 23px;
		width: 90%;
	}

	#brands-tudor .vision .lead {
		text-align: left;
	}

	#brands-tudor .atelier .separate {
		display: flex;
		flex-direction: column-reverse;
	}

	#brands-tudor .atelier .heading3 {
		text-align: center;
	}

	#brands-tudor .separate>li+li {
		margin-top: 0;
		margin-bottom: 20px;
	}

	#brands-tudor .head img {
		width: 200px;
	}

	#brands-tudor .head {
		padding-bottom: 0;
	}


	.about p,
	.atelier p,
	.ambassador p {
		text-align: left;
	}

	#brands-tudor .ambassador .separate {
		display: flex;
		flex-direction: column-reverse;
	}

	#brands-tudor .ambassador .heading3 {
		text-align: center;
		margin-top: 20px;
	}

	#brands-tudor .ambassador .right {
		text-align: left;
	}
}

/*-------------------------------------------------------------------------
	panerai
-------------------------------------------------------------------------*/

#brands-panerai .head {
	margin-top: 40px;
	text-align: center;
}

#brands-panerai h3 {
	margin-bottom: 40px;
	font-size: 24px;
	line-height: 1.4;
}

#brands-panerai .panerai-body .outline {
	padding-top: 16px;
    margin-top: 32px;
    border-top: 1px solid rgba(var(--base-color), 1.0);
}

#brands-panerai .panerai-body p span {
	color: rgba(var(--main-color), 1.0);
    display: inline-block;
    padding: 2px 5px;
    border: 1px solid rgba(var(--main-color), 1.0);
    margin-left: 10px;
    line-height: 1.2;
}

#brands-panerai .separate {
	margin-top: 80px;
	flex-wrap: wrap;
	row-gap: 80px;
}

#brands-panerai .heading-4 {
	margin-bottom: 10px;
	padding-bottom: 0;
	line-height: 1.2;
}

#brands-panerai .heading-4 span {
	font-weight: normal;
	font-size: 18px;
}

#brands-panerai .text {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin: 20px 0;
}

#brands-panerai .sub-brand .button {
	width: 100%;
	text-align: center;
	padding: 10px;
	box-sizing: border-box;
}

#brands-panerai .button.type1 a {
	background: #444444;
	color: #fff;
}

#brands-panerai .button.type1 a:hover {
	background: #fff;
	color: #444444;
}

#brands-panerai .button.type2 a {
	background: #fff;
	border: 1px solid #444444;
	color: #444444;
}

#brands-panerai .button.type2 a:hover {
	background: #444444;
	color: #fff;
}

#brands-panerai .banner-area {
	text-align: center;
	margin: 60px auto;
}

#brands-panerai .series-list a {
	text-decoration: none;
}



@media screen and (max-width:767px) {

	#brands-panerai .head {
		margin-top: 0;
	}
	#brands-panerai .text {
		font-size: 16px;
		margin: 10px;
	}
	#brands-panerai .sub-brand .button {
		padding-top: 0;
	}
	#brands-panerai .series-list li {
		margin-bottom: 60px;
	}
	#brands-panerai .series-list li:last-child {
		margin-bottom: 0;
	}
	#brands-panerai .sub-brand .separate{
		margin-bottom: 0;
	}

	#brands-panerai .button.type1.sp-reverse a {
			background: #fff;
	border: 1px solid #444444;
	color: #444444;

	}

	#brands-panerai .button.type1.sp-reverse a:hover {
		background: #444444;
		color: #fff;
	}

	#brands-panerai .button.type2.sp-reverse a {
		background: #444444;
		color: #fff;
}

	#brands-panerai .button.type2.sp-reverse a:hover {
		background: #fff;
		color: #444444;

	}
}

/*-------------------------------------------------------------------------
	grandseiko
-------------------------------------------------------------------------*/

#brands-grandseiko .head {
	margin-top: 40px;
	text-align: center;
}

#brands-grandseiko h3 {
	margin-bottom: 40px;
	font-size: 24px;
	line-height: 1.4;
}

#brands-grandseiko .grandseiko-body .outline {
	padding-top: 16px;
    margin-top: 32px;
    border-top: 1px solid rgba(var(--base-color), 1.0);
}

#brands-grandseiko .grandseiko-body p span {
	color: rgba(var(--main-color), 1.0);
    display: inline-block;
    padding: 2px 5px;
    border: 1px solid rgba(var(--main-color), 1.0);
    margin-left: 10px;
    line-height: 1.2;
}

#brands-grandseiko .separate {
	margin-top: 80px;
	flex-wrap: wrap;
	row-gap: 80px;
}

#brands-grandseiko .heading-4 {
	margin-bottom: 10px;
	padding-bottom: 0;
	line-height: 1.2;
}

#brands-grandseiko .heading-4 span {
	font-weight: normal;
	font-size: 18px;
}

#brands-grandseiko .text {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin: 20px 0;
}

#brands-grandseiko .sub-brand .button {
	width: 100%;
	text-align: center;
	padding: 10px;
	box-sizing: border-box;
}

#brands-grandseiko .button.type1 a {
	background: #444444;
	color: #fff;
}

#brands-grandseiko .button.type1 a:hover {
	background: #fff;
	color: #444444;
}

#brands-grandseiko .button.type2 a {
	background: #fff;
	border: 1px solid #444444;
	color: #444444;
}

#brands-grandseiko .button.type2 a:hover {
	background: #444444;
	color: #fff;
}

#brands-grandseiko .banner-area {
	text-align: center;
	margin: 60px auto;
}

#brands-grandseiko .series-list a {
	text-decoration: none;
}



@media screen and (max-width:767px) {

	#brands-grandseiko .head {
		margin-top: 0;
	}
	#brands-grandseiko .text {
		font-size: 16px;
		margin: 10px;
	}
	#brands-grandseiko .sub-brand .button {
		padding-top: 0;
	}
	#brands-grandseiko .series-list li {
		margin-bottom: 60px;
	}
	#brands-grandseiko .series-list li:last-child {
		margin-bottom: 0;
	}
	#brands-grandseiko .sub-brand .separate{
		margin-bottom: 0;
	}

	#brands-grandseiko .button.type1.sp-reverse a {
			background: #fff;
	border: 1px solid #444444;
	color: #444444;

	}

	#brands-grandseiko .button.type1.sp-reverse a:hover {
		background: #444444;
		color: #fff;
	}

	#brands-grandseiko .button.type2.sp-reverse a {
		background: #444444;
		color: #fff;
}

	#brands-grandseiko .button.type2.sp-reverse a:hover {
		background: #fff;
		color: #444444;

	}
}


/*-------------------------------------------------------------------------
	subbrand（サブブランドページ専用）
-------------------------------------------------------------------------*/

.sub-brand.sub-brand-detail {
	margin-top: 60px;
}

.video-box {
	width: 100%;
  aspect-ratio: 16 / 9;
	text-align: center;
	margin-top: 60px;
}

.video-box iframe{
width: 100%;
  height: 100%;
}
.sub-brand .logo{
	text-align: center;
    font-weight: normal;
    font-family: var(--main-font-family);
}

.sub-brand .logo span{
	display: block;
}

.sub-brand .logo span:nth-child(1) {
	font-size: 14px;
}

.sub-brand .logo span:nth-child(2) {
	font-weight: bold;
	font-size: 32px;
}

.sub-brand .logo span:nth-child(3) {
	font-size: 20px;
}

.sub-brand .heading-3 {
	font-size: 32px;
	text-align: center;
	margin-bottom: 120px;
	font-family: var(--main-font-family);
    font-weight: var(--main-font-weight);
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: bold;
}

.sub-brand .heading-3.otherSeries {
	margin: 150px 0 30px;
}

.sub-brand .heading-3 span {
	color: #006337;
	font-size: 16px;
	display: block;
	margin-bottom: 16px;
}

.sub-brand .heading-4 {
	text-align: center;
	font-size: 24px;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #fff;
	font-weight: bold;
}

.sub-brand .heading-5 {
	font-family: var(--main-font-family);
    font-weight: var(--main-font-weight);
    line-height: 1.5;
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: bold;
}

.sub-brand .button {
	margin-top: 10px;
}

.sub-brand .handling-shop {
	text-align: center;
}

.sub-brand .handling-shop span {
    color: rgba(var(--main-color), 1.0);
    display: inline-block;
    padding: 2px 5px;
    border: 1px solid rgba(var(--main-color), 1.0);
    margin-left: 10px;
    line-height: 1.2;
}

.sub-brand .outline {
	margin-top: 100px;
}

.sub-brand .line-up li {
	width: calc(100% / 3 - 32px);
}

.sub-brand .other-series li {
	width: calc(100% / 3 - 32px);
	height: 120px;
	font-family: var(--main-font-family);
	color: #fff;
	padding-left: 20px;
	box-sizing: border-box;
}

.sub-brand .other-series li a {
	display: flex;
	align-items: center;
	height: 100%;
	transition: filter 0.3s ease;
	color: #ffffff;
}

.sub-brand .other-series li a:hover {
	filter: brightness(0.5);
}

.sub-brand .other-series li span:first-child {
	font-size: 26px;
}

.sub-brand .other-series li span:last-child {
	font-size: 16px;
}

.sub-brand button {
	background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    width: 60%;
    margin: 0 auto;
    height: 60px;
    box-sizing: border-box;
    border: 1px solid rgba(var(--main-color), 1);
    border-radius: 0;
    background: rgba(var(--main-color), 1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 100px auto 0;
    font-size: 18px;
}

.sub-brand button:hover {
	color: rgba(var(--main-color), 1);
	background: none;
	border: 1px solid rgba(var(--main-color), 1);
}


.sub-brand .separate {
	margin-bottom: 60px;
}

.sub-brand .separate img{
	width: 100%;
}

.sub-brand .items li figcaption span {
	margin-top: 0px;
}

.sub-brand .items li figcaption b {
	margin-bottom: 15px;
}


.sub-brand .other-series .liminor {
	background: url(/assets/img/brands/panerai/other_luminor.webp) no-repeat;
	background-size: cover;
}

.sub-brand .other-series .radiomir {
	background: url(/assets/img/brands/panerai/other_radiomir.webp) no-repeat;
	background-size: cover;
	
}

.sub-brand .other-series .luminor_due {
	background: url(/assets/img/brands/panerai/other_luminorDue.webp) no-repeat;
	background-size: cover;
	
}

.sub-brand .other-series .submersible {
	background: url(/assets/img/brands/panerai/other_submersible.webp) no-repeat;
	background-size: cover;
	
}

.sub-brand .other-series .elegance {
	background: url(/assets/img/brands/grandseiko/other_elegance.webp) no-repeat;
	background-size: cover;
}

.sub-brand .other-series .evolution {
	background: url(/assets/img/brands/grandseiko/other_evolution9.webp) no-repeat;
	background-size: cover;
	
}

.sub-brand .other-series .heritage {
	background: url(/assets/img/brands/grandseiko/other_heritage.webp) no-repeat;
	background-size: cover;
	
}

.sub-brand .other-series .sport {
	background: url(/assets/img/brands/grandseiko/other_sports.webp) no-repeat;
	background-size: cover;
	
}

@media screen and (max-width:767px) {

	.video-box iframe {
		width: 100%;
	}

	.sub-brand .heading-3 {
		margin-bottom: 40px;
		font-size: 18px;
	}

	.sub-brand .separate  {
		margin-bottom: 60px;
	}

	.sub-brand.head .separate  {
		margin-bottom: 0px;
	}

	.sub-brand .separate.reverse>li:first-child {
        margin-top: 24px;
    }
    .sub-brand .separate.reverse>li:last-child {
        margin-top: 0;
    }


	.sub-brand .separate.last  {
		margin-bottom: 0;
	}

	.sub-brand .heading-5 {
		margin-bottom: 10px;
		font-size: 16px;
	}

	.sub-brand .reverse {
		display: flex;
		flex-direction: column-reverse;
	}

	.sub-brand .outline {
		margin-top: 40px;
	}

	.sub-brand .items li {
		width: calc(100% / 2 - 24px);
	}

	.sub-brand .otherSeriesItem li {
		flex-direction: column;
		width: 100%;
	}

	.sub-brand button {
		width: 100%;
		margin: 50px 0;
	}

	.sub-brand .other-series li {
		width: 100%;
		height: 80px;
	}

	.sub-brand .other-series li span:first-child {
	    font-size: 20px;
	}

	.sub-brand .heading-3.otherSeries {
		margin-top: 60px;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■faq
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#faq {}


#faq details {}

#faq details+details {
	margin-top: 16px;
}

#faq details:last-of-type summary+div {
	margin-bottom: 0;
}

#faq summary {
	padding: 24px;
	background: rgba(var(--base-color), 0.5);
	display: flex;
	cursor: pointer;
}

#faq summary::-webkit-details-marker {
	display: none;
}

#faq summary:before {
	content: "Q";
	letter-spacing: 0;
	margin-right: 16px;
}

#faq summary:after {
	content: "＋";
	color: rgba(var(--main-color), 1.0);
	margin-left: auto;
}

#faq details[open] summary:after {
	content: "－";
}

#faq summary+div {
	margin: 24px;
	/*display: none;*/
}

#faq summary+div p {
	display: flex;
}

#faq summary+div p:before {
	content: "A";
	letter-spacing: 0;
	color: rgba(var(--main-color), 1.0);
	margin-right: 16px;
}


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

@media screen and (max-width: 767px) {


	#faq summary {
		padding: 16px;
	}

	#faq summary:before {
		margin-right: 8px;
	}

	#faq summary+div {
		margin: 16px;
	}

	#faq summary+div p:before {
		margin-right: 8px;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■map
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.map {
	position: relative;
	width: 100%;
	padding-top: 678px;
	padding-top: 480px;
	margin: 0;
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	filter: grayscale(100%);
}

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

@media screen and (max-width:767px) {
	.map {
		padding-top: 83.33%;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■column2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.column2 {
	display: flex;
	align-items: start;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 32px;
}

.column2 section {
	flex: 1;
	width: auto;
}

.column2 section .inner {
	width: auto;
}

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

@media screen and (max-width:767px) {

	.column2 {
		display: block;
		padding: 0;
	}

}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■pagination
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*-------------------------------------------------------------------------
	パジネーション
-------------------------------------------------------------------------*/

#pagination ul {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

#pagination li {
	margin: 0 4px;
	font-size: 14px;
}

#pagination li a {
	width: 40px;
	height: 40px;
	background: rgba(var(--base-color), 0.5);
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagination li a:hover {
	background: rgba(var(--base-color), 0.25);
}

#pagination li .current {
	width: 40px;
	height: 40px;
	background: rgba(var(--main-color), 1.0);
	border-radius: 20px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagination .previous a {
	background: rgba(var(--base-color), 1.0);
	font-size: 0;
}

#pagination .previous a:hover {
	background: rgba(var(--base-color), 0.75);
}

#pagination .previous img {
	width: 8px;
	height: 12px;
}

#pagination .next a {
	background: rgba(var(--base-color), 1.0);
	font-size: 0;
}

#pagination .next a:hover {
	background: rgba(var(--base-color), 0.75);
}

#pagination .next img {
	width: 8px;
	height: 12px;
}


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

@media screen and (max-width:767px) {

	#pagination {
		margin-top: 24px;
	}

	#pagination li a {
		width: 32px;
		height: 32px;
	}

	#pagination li .current {
		width: 32px;
		height: 32px;
	}
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■contact
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#contact {
	background: url(../img/contact_bg.svg) scroll center center / 400px 400px rgba(var(--base-color), 1.0);
	text-align: center;
}


#contact ul {
	display: flex;
	margin: 0 -24px;
}

#contact li {
	width: calc(50% - 48px);
	margin: 0 24px;
	padding: 48px 32px;
	box-sizing: border-box;
	background: rgba(255, 255, 255, .5);
	background: #fff;
	text-align: center;
	position: relative;
}

#contact li .badge {
	width: 80px;
	height: 80px;
	border-radius: 40px;
	background: rgba(var(--main-color), 0.75);
	font-size: 13px;
	line-height: 1.5;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: -12px;
	top: -12px;
	transform: rotate(-10deg);
}

#contact li h4 {
	font-size: 20px;
	line-height: 1;
	display: flex;
	align-items: center;
	margin-bottom: 0;
}

#contact li h4:before {
	content: "";
	display: block;
	margin-right: 12px;
	border-top: 1px solid rgba(0, 0, 0, .1);
	flex: 1;
}

#contact li h4:after {
	content: "";
	display: block;
	margin-left: 12px;
	border-top: 1px solid rgba(0, 0, 0, .1);
	flex: 1;
}


#contact li .button {
	margin-top: 32px;
}


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

@media screen and (max-width:767px) {


	#contact ul {
		display: block;
		margin: 0;
		margin-top: 24px;
	}

	#contact li {
		width: 100%;
		margin: 0;
		padding: 24px 16px;
	}

	#contact li+li {
		margin-top: 16px;
	}

	#contact li .badge {
		width: 64px;
		height: 64px;
		border-radius: 32px;
		font-size: 11px;
		left: -10px;
		top: -10px;
	}

	#contact li h4 {
		font-size: 18px;
	}

	#contact li .button {
		margin-top: 24px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ form
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.form {
	padding: 48px;
	/*background: rgba(255,255,255,.5);
	background: rgba(var(--base-color), 0.25);*/
	background: #fff;
	border: 2px solid rgba(var(--main-color), 1.0);
	margin-bottom: 64px;
}

.form>li+li {
	padding-top: 32px;
	margin-top: 32px;
	border-top: 1px solid rgba(var(--base-color), 1.0);
}

.form dl {
	display: flex;
	align-items: flex-start;
}

.form dt {
	flex: 1;
	margin-right: 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.form dt.text {
	margin-top: 11px;
}

.form dd {
	flex: 4;
	box-sizing: border-box;
}

.form dd p {
	display: flex;
	margin: 0;
	font-size: 14px;
}

.form dd *+p,
.form dd *+ul {
	margin-top: 16px;
}

.form dd p span {
	flex: 1;
}

.form dd p span+span {
	margin-left: 16px;
}

.form dd ul {
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -8px;
}

.form dd li {
	width: calc(100% / 3);
	margin-bottom: 8px;
}

.form dd li.full {
	width: 100%;
}

.form dd li label {
	display: inline-block;
	cursor: pointer;
}

.form input[type="checkbox"],
.form input[type="radio"] {
	margin-right: 8px;
}

.form .required:after {
	font-size: 11px;
	font-style: normal;
	color: #fff;
	padding: 2px 8px;
	background: rgba(var(--main-color), 1.0);
	display: inline-block;
	content: "必須";
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="url"],
.form input[type="email"],
.form select,
.form textarea {
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	padding: 12px;
	box-shadow: none;
	border: 1px solid rgba(var(--base-color), 1.0);
	border-radius: 0;
	-moz-appearance: none;
	-webkit-appearance: none;
	font-size: 16px;
	font-family: "Roboto Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	line-height: 1.5;
	letter-spacing: .05em;
	font-feature-settings: "palt";
	outline: none
}


/*.form select {
	background: url(../img/entry_icon_arrow_bottom_black.svg) no-repeat right 12px center / 12px 6px #fff;
	cursor: pointer;
}*/


/*.form textarea {
	height: 200px;
}*/

.form input.half {
	width: calc(50% - 8px);
}



.form input[type="text"]:required,
.form input[type="tel"]:required,
.form input[type="url"]:required,
.form input[type="email"]:required,
.form select:required,
.form textarea:required {
	/*border: 1px solid #f00;*/
}


/*.form input[type="text"]:valid,
.form input[type="tel"]:valid,
.form input[type="url"]:valid,
.form input[type="email"]:valid,
.form select:valid,
.form textarea:valid {
	border: 1px solid green
}*/

.form input[type="text"]:invalid,
.form input[type="tel"]:invalid,
.form input[type="url"]:invalid,
.form input[type="email"]:invalid,
.form select:invalid,
.form textarea:invalid {
	background-color: rgba(var(--main-color), 0.05);
	/*border: 1px solid #ddd;*/
}

.form input[type="text"]:required:valid,
.form input[type="tel"]:required:valid,
.form input[type="url"]:required:valid,
.form input[type="email"]:required:valid,
.form select:required:valid,
.form textarea:required:valid {
	border: 1px solid rgba(var(--main-color), 0.25);
}

.form+.check {
	text-align: center;
	margin-bottom: -32px;
}

.form+.check label {
	cursor: pointer;
}

.form+.check a {
	color: rgba(var(--main-color), 1.0);
	text-decoration: underline;
}

.form+.check a:hover {
	text-decoration: none;
}

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

@media screen and (max-width:767px) {

	.form {
		padding: 24px;
		margin-bottom: 32px;
	}

	.form>li+li {
		padding-top: 16px;
		margin-top: 16px;
	}

	.form dl {
		display: block;
	}

	.form dt {
		margin-right: 0;
		margin-bottom: 8px;
		justify-content: flex-start;
		column-gap: 10px;
	}
}

.form dt.text {
	margin-top: 0;
}

.form dd {}

.form dd p {
	font-size: 12px;
}

.form dd *+p,
.form dd *+ul {
	margin-top: 8px;
}

.form dd p span+span {
	margin-left: 8px;
}

.form dd ul {
	margin-bottom: -4px;
}

.form dd li {
	width: 50%;
	margin-bottom: 4px;
}

.form input.half {
	width: 100%;
}

.form .required:after {
	font-size: 8px;
	padding: 1px 4px;
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="url"],
.form input[type="email"],
.form select,
.form textarea {
	font-size: 14px;
}

.form select {
	width: 100%;
}

.form+.check {
	margin-bottom: -16px;
}

.form .nobreak br {
	display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ sns
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.sns {
	display: flex;
	justify-content: center;
}

.sns li+li {
	margin-left: 24px;
	margin-left: clamp(16px, 2.4vw, 32px);
}

.sns li img {
	height: 40px;
	height: clamp(32px, 3.6vw, 40px);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ button
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.button {
	width: 200px;
	max-width: 100%;
	margin: 64px auto 0 auto;
}

.button a,
.button span,
.button input,
input.button {
	width: 100%;
	height: 48px;
	box-sizing: border-box;
	border: 1px solid rgba(var(--main-color), 1);
	border-radius: 0;
	background: rgba(var(--main-color), 1);
	font-size: 14px;
	font-weight: 400;
	font-family: "Roboto Condensed", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	letter-spacing: .025em;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	/*transition: .5s;*/
}

.button a:hover {
	color: rgba(var(--main-color), 1);
	background: none;
	border: 1px solid rgba(var(--main-color), 1);
}

.button.small {
	width: 128px;
	margin: 0;
}

.button.small a {
	height: 36px;
	font-size: 12px;
}

.button.big {
	width: 320px;
}

.button.big a {
	height: 64px;
	font-size: 18px;
}

.button.white a {
	color: rgba(var(--main-color), 1);
	background: #fff;
}

.button.white a:hover {
	opacity: .75;
}

.button.ghost a {
	color: rgba(var(--main-color), 1);
	background: none;
	border: 1px solid rgba(var(--main-color), 1);
}

.button.ghost a:hover {
	color: #fff;
	background: rgba(var(--main-color), 1);
	border: 1px solid rgba(var(--main-color), 1);
}

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

@media screen and (max-width:767px) {

	.button {
		margin-top: 32px;
	}

	.button a,
	.button span {
		font-size: 13px;
	}

	.button.big {
		width: 100%;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■テーブル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

section table {
	width: 100%;
	border-collapse: collapse;
	box-sizing: border-box;
	border: 1px solid rgba(var(--main-color), 1);
	font-size: 13px;
	line-height: 1.5;
	background: #fff;
}

section table tr {
	border-bottom: 1px dotted rgba(var(--main-color), 1);
}

section table th {
	text-align: left;
	border: 1px dotted rgba(var(--main-color), 1);
	padding: 12px;
	box-sizing: border-box;
	vertical-align: middle;
	width: calc(100% / 6);
	width: 25%;
}

section table td {
	width: 75%;
	border-left: 1px dotted rgba(var(--main-color), 1);
	border-right: 1px dotted rgba(var(--main-color), 1);
	padding: 12px;
	box-sizing: border-box;
	vertical-align: middle;
}


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

@media screen and (max-width: 767px) {
	section table {
		font-size: 12px;
	}

	section table th {
		width: 33%;
		padding: 8px;
	}

	section table td {
		width: 67%;
		padding: 8px;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ widget
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#widget {
	padding-top: 0;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■sidebar
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#sidebar {
	flex: none;
	width: 240px;
	margin: 96px 0;
	margin-left: 48px;
	position: sticky;
	left: 0;
	top: 32px;
}

#sidebar h6 {
	font-size: 16px;
	font-weight: 400;
	border-left: 1px solid #998a67;
	padding-left: 10px;
	margin-bottom: 16px;
}

/*-------------------------------------------------------------------------
	calendar
-------------------------------------------------------------------------*/

#sidebar .calendar {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.5;
	background: #fff;
	margin-bottom: 32px;
	text-align: center;
}

#sidebar .calendar tr {
	border-bottom: 1px solid #fff;
}

#sidebar .calendar th {
	background: #f2f0eb;
	border: 1px solid #fff;
	padding: 8px 0;
	box-sizing: border-box;
	vertical-align: middle;
}

#sidebar .calendar td {
	background: #f8f8f5;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	padding: 0;
	box-sizing: border-box;
	vertical-align: middle;
}

#sidebar .calendar td a,
#sidebar .calendar td span {
	display: block;
	padding: 8px;
}

#sidebar .calendar td a {
	text-decoration: underline;
}

#sidebar .calendar td a:hover {
	text-decoration: none;
}

#sidebar .calender_header {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

#sidebar .calender_header h6 {
	border-left: none;
	margin: 0 20px;
	padding-left: 0;
}


/*-------------------------------------------------------------------------
	categories
-------------------------------------------------------------------------*/



#sidebar .categories {
	font-size: 14px;
	margin-bottom: 32px;
}

#sidebar .categories li {
	margin-bottom: 1px;
}

#sidebar .categories li:last-child {
	margin-bottom: 0;
}

#sidebar .categories li a {
	display: block;
	padding: 16px;
	background: #f8f8f5;
}

#sidebar .categories li a:hover {
	background: #f2f0eb;
}

#sidebar .categories li.current a {
	background: #f2f0eb;
}

#sidebar .categories li a:before {
	content: "-";
	margin-right: 4px;
}

#sidebar .profile {
	background: #f8f8f5;
	padding: 24px 16px;
}

#sidebar .profile dt {
	text-align: center;
	margin-bottom: 16px;
}

#sidebar .profile dt img {
	width: 100%;
}

#sidebar .profile dd {}

#sidebar .profile dd p {
	font-size: 13px;
	line-height: 1.5;
}

#sidebar .profile dd .button {
	margin-top: 16px;
}

#sidebar .categories.monthly_blog_9 li:nth-last-child(-n+124) {
	display: none;
}

#sidebar .categories.monthly_blog_10 li:nth-last-child(-n+103) {
	display: none;
}

#sidebar .categories.monthly_blog_11 li:nth-last-child(-n+65) {
	display: none;
}

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

@media screen and (max-width:767px) {
	#sidebar {
		width: 100%;
		margin: 0;
		margin-left: 0;
		position: static;
	}

	#sidebar h6 {
		margin-left: 24px;
	}

	#sidebar .categories {
		margin-bottom: 16px;
	}

	#sidebar .categories li a {
		padding: 16px 24px;
	}

	#sidebar .profile {
		padding: 24px;
		margin-bottom: 0;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ aside
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#aside {
	width: 100%;
	background: rgba(var(--base-color), 0.25);
	background: rgba(var(--base-color), 0.5);
	background: #005f3d;
}

#aside ul {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 0;
	padding: 32px 0;
}

#aside li {
	flex: 1;
}

#aside li+li {
	margin-left: 24px;
}

#aside li img {
	width: 100%;
}


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

@media screen and (max-width: 767px) {


	#aside ul {
		display: block;
		padding: 24px 0;
	}

	#aside li+li {
		margin-left: 0;
		margin-top: 16px;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#footer {
	padding: 64px 0;
	background: rgba(var(--main-color), 1.0);
	color: #eee;
}

#footer a {
	color: #eee;
}

#footer a:hover {
	text-decoration: underline;
}

#footer hr {
	display: block;
	height: 1px;
	border: 0;
	margin: 48px 0;
	padding: 0;
	background: rgba(255, 255, 255, .5);
}

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

@media screen and (max-width:767px) {

	#footer {
		padding: 24px 0;
	}

	#footer hr {
		margin: 24px 0;
	}

}

/*-------------------------------------------------------------------------
	top
-------------------------------------------------------------------------*/


#footer dl {
	display: flex;
	align-items: center;
	margin-bottom: 48px;
}

#footer dt {
	flex: 4;
	margin-right: 24px;
}

#footer dt img {
	height: 32px;
}

#footer dd {
	flex: 1;
}

#footer dl ul {
	display: flex;
	align-items: center;
}

#footer dl li+li {
	margin-left: 16px;
}

#footer dl li img {
	width: 24px;
}




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

@media screen and (max-width:767px) {


	#footer dl {
		flex-direction: column;
		margin-bottom: 0;
	}

	#footer dt {
		flex: none;
		margin-right: 0;
		margin-bottom: 12px;
	}

	#footer dt img {
		height: 24px;
	}

	#footer dd {
		flex: none;
	}

	#footer dl li+li {
		margin-left: 12px;
	}


}


/*-------------------------------------------------------------------------
	nav
-------------------------------------------------------------------------*/



#footer nav>ul {
	display: flex;
	flex-wrap: wrap;
}

#footer nav>ul>li:first-child {
	flex: 4;
	margin-right: 24px;
}

#footer nav>ul>li:last-child {
	flex: 1;
}

#footer h3 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 24px;
}

#footer li ul+h3 {
	margin-top: 32px;
	margin-top: 48px;
}

#footer li p {}

#footer li ul {
	display: flex;
	flex-wrap: wrap;
	margin-right: -16px;
	margin-bottom: -16px;
	margin-bottom: -24px;
}

#footer li ul li {
	width: calc(100% / 8 - 16px);
	width: calc(100% / 5 - 16px);
	margin-bottom: 16px;
	margin-bottom: 24px;
}

#footer li ul:not(.max) li {
	margin-right: 16px;
}

#footer li ul.max li {
	width: 100%;
}

#footer li ul li>a {
	display: flex;
	flex-direction: column;
}

#footer li ul li>a span {
	width: 100%;
	align-items: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#footer li ul li>a small {
	width: 100%;
	font-size: 11px;
	color: rgba(255, 255, 255, .75);
	margin-top: 4px;
	align-items: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#footer li ul li>a[target="_blank"] span:after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 6px;
	background: url(../img/footer_icon_blank.svg) no-repeat center center / cover;
}


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

@media screen and (max-width:767px) {

	#footer nav>ul {
		display: block;
	}


	#footer h3 {
		margin-bottom: 16px;
	}

	#footer li ul+h3 {
		margin-top: 0;
	}


	#footer li ul {
		margin-bottom: 8px;
	}

	#footer nav>ul>li:first-child {
		margin-right: 0;
	}

	#footer nav>ul>li:last-child ul:last-of-type {
		margin-bottom: -16px;
	}

	#footer li ul li {
		width: calc(100% / 3 - 16px);
		margin-bottom: 16px;
	}

	#footer li ul li>a[target="_blank"] span:after {
		margin-left: 4px;
	}


}

/*-------------------------------------------------------------------------
	bottom
-------------------------------------------------------------------------*/


#footer .bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#footer .bottom .copyright {
	font-size: 12px;
	line-height: 1.75;
	color: #eee;
}

#footer .bottom .copyright span {}


#footer .bottom .pagetop {}

#footer .bottom .pagetop a {
	width: 32px;
	height: 24px;
	border-top: 1px solid rgba(255, 255, 255, .75);
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

#footer .bottom .pagetop a img {
	width: 24px;
	height: 12px;
	transition: .25s;
	position: relative;
	bottom: 0;
}

#footer .bottom .pagetop a:hover img {
	bottom: 4px;
}


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

@media screen and (max-width:767px) {


	#footer .bottom {
		display: block;
	}

	#footer .bottom .copyright {
		font-size: 11px;
		text-align: center;
	}

	#footer .bottom .pagetop {
		display: none;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■coordinate
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#coordinate {
	/*background: rgba(var(--main-color), 0.05);*/
	/*background: linear-gradient(-45deg, #CF2E92, #F26939, #FFDD83) fixed no-repeat center center / cover;*/
}

.coordinate {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -16px -32px -16px;
	margin: 0 -12px -24px -12px;
}

.coordinate li {
	width: calc(100% / 6 - 32px);
	margin: 0 16px 32px 16px;
	width: calc(100% / 6 - 24px);
	margin: 0 12px 24px 12px;
}

.coordinate li:nth-child(n + 31) {
	display: none;
}

.coordinate li label {
	display: block;
	cursor: pointer;
}

.coordinate li label:hover dt img {
	opacity: .5;
}

.coordinate li dl {}

.coordinate li dt {
	background: #1f1c15;
	position: relative;
}

.coordinate li dt img {
	transition: .75s;
}

.coordinate li dt span {
	font-size: 16px;
	color: #f00075;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: .75s;
	opacity: 0;
	background: url(../img/icon_coordinate.svg) no-repeat left center / 13px 12px;
	padding-left: 17px;
}

.coordinate li label:hover dt span {
	opacity: 1;
}

.coordinate li dd {
	margin-top: 8px;
}

.coordinate li dd p {
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: .75s;
}

.coordinate li label:hover dd p {}

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

@media screen and (max-width:1023px) {

	.coordinate li {
		width: calc(20% - 24px);
	}

}


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

@media screen and (max-width:767px) {



	.coordinate {
		margin: 0 -1px -2px -1px;
	}

	.coordinate li {
		width: calc(100% / 3 - 2px);
		margin: 0 1px 2px 1px;
	}

	.coordinate li dd {
		display: none;
	}


}


/*-------------------------------------------------------------------------
	modal
-------------------------------------------------------------------------*/

.modal {}

.modal input[type="checkbox"] {
	display: none;
}

.modal .overlay {
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s ease;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	background: rgba(0, 0, 0, .75);
}

.modal .close {
	width: 100%;
	height: 100%;
	position: fixed;
	cursor: pointer;
	left: 0;
	top: 0;
}

.modal input:checked~.close {
	z-index: 7;
}

.modal input:checked~.overlay {
	transform: scale(1);
	visibility: visible;
	opacity: 1;
	z-index: 6;
	overflow: auto;
}

.modal input:checked~.overlay figure {
	z-index: 8;
}

.modal figure {
	max-width: 640px;
	margin: auto;
	background: #fff;
}

.modal figure img {
	width: 100%;
}

.modal figure figcaption {
	padding: 16px 24px;
}

.modal figure figcaption p {
	font-size: 14px;
	color: #444;
}

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

@media screen and (min-width:768px) {
	.modal figure figcaption p {
		max-height: 49px;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}

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

@media screen and (max-width:767px) {

	.modal .overlay {
		align-items: start;
	}

	.modal .overlay p {
		color: #fff;
		font-size: 10px;
	}

	.modal figure {
		margin: auto 12px;
	}

	.modal figure figcaption {
		padding: 16px;
	}

	.modal figure figcaption p {
		font-size: 13px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■stores
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */


#stores {
	padding-bottom: 0;
}

#stores ul {
	display: flex;
}

#stores li {
	flex: 1;
}

#stores li a {
	height: 100%;
	display: block;
	color: #fff;
}

#stores figure {
	position: relative;
}

#stores figure img {
	width: 100%;
}

#stores figcaption {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .5);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	transition: .75s;
}

#stores li a:hover figcaption {
	opacity: 0;
}

#stores figcaption .name {
	font-size: 24px;
	font-weight: normal;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	color: #fff;
}

#stores figcaption .name i {}

#stores figcaption p {
	margin-top: 0;
}

#stores figcaption .button {
	margin-top: 24px;
}


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

@media screen and (max-width:767px) {

	#stores .inner {
		width: 100%;
		margin: 0;
	}

	#stores ul {
		display: block;
	}

	#stores li a {
		height: auto;
	}

	#stores figcaption .name {
		font-size: 20px;
	}

	#stores figcaption .button {
		margin-top: 16px;
	}


}





/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■right
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#right {
	position: fixed;
	z-index: 2;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	flex-direction: column;
	transition: all 1s;
}

#right li+li {
	margin-top: 2px;
}

#right li a {
	width: 48px;
	height: 80px;
	background-color: rgba(var(--main-color), 1.0);
	background-color: #005f3d;
	background-color: #006a44;
	background-color: rgba(var(--main-color), 0.1);
	background-color: #E8F3E9;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(var(--main-color), 1.0);
}

#right li a:hover {
	opacity: .75;
	text-decoration: none;
}

#right li.reserve a {
	height: 48px;
	background-color: rgba(var(--main-color), 1.0);
	flex-direction: column;
	color: #fff;

}

#right li.reserve a span {
	font-size: 11px;
}

#right li.reserve a img {
	width: 16px;
	/*margin-top: 8px;*/
}


#right li:not(.reserve) a {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 13px;
	letter-spacing: .25em;
}


/*------------------------------------------------------------------------*/
@media screen and (max-width:1023px) {

	#right {
		display: none;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■loading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.loading {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background: #fff;
	z-index: 10;
}

.animation {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.animation .logo {}

.animation .logo img {
	height: 48px;
}

/* アニメーション */
.animation {
	animation: loadinganimation 1500ms ease-out forwards infinite;
}

@keyframes loadinganimation {

	from,
	to {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}
}


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

@media screen and (max-width: 1023px) {}

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

@media screen and (max-width: 767px) {

	.animation .logo img {
		height: 32px;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■cartier
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#cartier {
	min-height: calc(100vh - 100px);
	padding-top: 0;
	margin-top: 0;
}

.cartier-frontpage-product-grid {
	background: none !important;
}

/*------------------------------------------------------------------------*/
@media screen and (max-width:1023px) {

	#cartier {
		min-height: calc(100vh - 64px);
	}

}


/*-------------------------------------------------------------------------
	banner
-------------------------------------------------------------------------*/

.banner {
	background: #25403b;
	background: linear-gradient(90deg, #25403b, #005536 47.5%, #005536 52.5%, #25403b);
	text-align: center;
}

.banner a,
.banner div {
	display: block;
	padding: 48px 0;
	outline: 1px solid #fff;
	outline-offset: -24px;
	color: #fff;
	transition: .75s;
}

.banner a:hover {
	background: #005f3d;
}

.banner h3.border {
	margin-bottom: 32px;
}

.gradation {
	background: linear-gradient(90deg, #e0c062, #fffcd1 47.51%, #f3e18b 77.34%, #cb9b0c);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.banner figure {
	margin: 32px 0;
}

.banner figure img {
	width: 33%;
}

.banner .small {
	font-size: 13px;
}

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

@media screen and (max-width:767px) {

	.banner a,
	.banner div {
		padding: 32px 24px;
		outline-offset: -8px;
	}

	.banner h3.border {
		margin-bottom: 24px;
	}

	.banner figure {
		margin: 24px 0;
	}

	.banner figure img {
		width: 75%;
	}

	.banner .small {
		font-size: 11px;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■anniversary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*
#anniversary {
	background:#25403b;
	color:#fff;
}*/



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

@media screen and (max-width:767px) {


	#anniversary .separate li+li {
		margin-top: 32px;
	}

}

/*-------------------------------------------------------------------------
	ribbon
-------------------------------------------------------------------------*/

.ribbon {
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: gold;
	background: linear-gradient(90deg, #4158D0, #C850C0 30%, #FFCC70);
	background: linear-gradient(90deg, #e0c062, #fffcd1 47.51%, #f3e18b 77.34%, #cb9b0c);
}

.ribbon dl {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ribbon dt {
	flex: none;
	width: 80px;
	height: 56px;
	border: 3px solid #25403b;
	border-radius: 8px;
	box-sizing: border-box;
	background: #fff;
	line-height: 1.25;
	text-align: center;
	color: #25403b;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 24px;
}

.ribbon dd {
	flex: 1;
}

.ribbon dd p {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color: #000;
}



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

@media screen and (max-width:767px) {

	.ribbon {
		height: auto;
		padding: 16px 24px;
	}

	.ribbon dt {
		width: 48px;
		height: 48px;
		border: 2px solid #25403b;
		font-size: 13px;
		border-radius: 4px;
		margin-right: 12px;
	}

	.ribbon dd p {
		font-size: 14px;
		line-height: 1.25;
		text-align: left;
	}


}



#fairbnr {
	padding: 0;
	font-size: 32px;
	font-family: var(--main-font-family);
	color: #fff;
	font-weight: bold;
	margin: 0;
}

#fairbnr .fairinner {
	display: flex;
	align-items: center;
	justify-content: center;

}

#fairbnr .fairinner img {
	width: 256px;
	margin-right: 20px;
}

#fairbnr .fairinner .decoration {
	text-decoration: underline;
	text-underline-offset: 6px;
}

#fairbnr .fairinner .color {
	color: #FFF6BB;
}

#fairbnr a {
	background: #005f3d;
	transition: .75s;
	padding: 20px 0;
	color: #fff;
	display: block;
}

#fairbnr a:hover {
	opacity: .75;
}

#fairbnr br {
	display: none;
}


@media screen and (max-width:1024px) {
	#fairbnr {
		font-size: 22px;
		line-height: 1.4;
		text-align: center;
	}

	#fairbnr .fairinner,
	#fairbnr .fairinner img {
		display: block;
	}

	#fairbnr .fairinner img {
		width: 156px;
		margin: 0 auto;
		margin-bottom: 10px;
	}

	#fairbnr br {
		display: block;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ 検索モーダル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* モーダル基本スタイル */
.search-modal {
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  transition: all 0.3s ease;
}

.search-modal.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.search-modal-overlay {
  position: relative;
  width: 100%;
  background: transparent;
}

.search-modal-content {
  position: relative;
  background: white;
  width: 100%;
  border-bottom: 1px solid #eee;
}

/* モーダルヘッダー */
.search-modal-header {
  padding: 15px 30px 0 30px;
  position: relative;
  text-align: center;
}

.search-modal-header h2 {
  font-size: 24px;
  font-weight: 700;
  color: #333;
  margin: 0;
  line-height: 1.2;
  padding-top: 25px;
}

.search-modal-header .subtitle {
  font-size: 16px;
  color: #666;
  font-weight: 400;
}

.search-modal-close {
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  font-size: 14px;
  position: absolute;
  top: 20px;
  right: 20px;
}

/* モーダルボディ */
.search-modal-body {
  padding: 30px;
}

.search-section {
  margin-bottom: 40px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.search-section h3 {
  font-size: 18px;
  color: #333;
  margin-bottom: 20px;
  font-weight: normal;
}

/* 条件検索セクション */
.search-conditions {
  background: #EEF6EF;
  padding: 30px;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group-button {
  justify-content: flex-end;
}

.form-group label {
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
  font-weight: 600;
}

.form-group select {
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  background: white;
  cursor: pointer;
}

.search-btn-conditions {
  background: #00664d;
  color: white;
  border: none;
  padding: 0 40px;
  height: 44px;
  border-radius: 0;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}

.search-btn-conditions:hover {
  background: #004d3a;
}

/* フリーワード検索セクション */
.search-freeword {
  background: #F5F5F5;
  padding: 30px;
}

.search-input-group {
  display: flex;
  gap: 15px;
  align-items: flex-end;
}

.search-input-group input {
  flex: 0.5;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  max-width: 400px;
}

.search-input-group input:focus {
  outline: none;
  border-color: #00664d;
}

.search-btn-freeword {
  background: #666;
  color: white;
  border: none;
  padding: 15px 30px;
  border-radius: 0;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.3s ease;
}

.search-btn-freeword:hover {
  background: #555;
}

/* 検索モーダル レスポンシブ */
@media (max-width: 768px) {
  .search-modal-content {
    width: 100%;
  }
  
  .search-modal-header,
  .search-modal-body {
    padding: 20px;
  }
  
  .search-conditions,
  .search-freeword {
    padding: 20px;
  }
  
  .form-row {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .search-input-group {
    flex-direction: column;
    gap: 15px;
  }
  
  .search-input-group input {
  	box-sizing: border-box;
    width: 100%;
  }

  /* スマホ時のモーダル調整 */
  .search-modal {
    position: fixed;
    top: 0;
    height: 100%;
  }

  .search-modal-overlay {
    height: 100%;
    overflow-y: auto;
  }

  .search-modal-content {
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 8px;
    border-bottom: none;
  }

  .search-btn-freeword {
  	width: 100%;
  }

  .search-section h3 {
    font-size: 16px;
  }

  .search-input-group input::placeholder {
    font-size: 14px;
  }
}

/* ヘッダー商品検索アイコン */
#header .search-trigger {
  display: flex;
  align-items: center;
  height: 100%;
}

#header .search-icon-btn {
  background: transparent;
  border: none;
  padding: 12px;
  color: #00664d;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: normal;
  transition: all 0.3s ease;
}

#header .search-icon-btn:hover {
  color: #004d3a;
}

#header .search-icon-btn svg {
  width: 18px;
  height: 18px;
}

/* スマホ用検索ボタン */
#header .mobile-search-btn {
  display: none;
  position: absolute;
  top: 15px;
  right: 0;
  width: 36px;
  height: 36px;
  background: url("/assets/img/icon_search_green.svg") no-repeat center
    15px;
  background-size: 18px 18px;
  border: none;
  cursor: pointer;
  z-index: 1000;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 2px 0 0 0;
  margin: 0;
}

#header .mobile-search-text {
  font-size: 8px;
  color: #00664d;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  text-align: center;
}

@media (max-width: 768px) {
  #header .mobile-search-btn {
    display: flex;
  }

  /* メニューアイコンを左にずらす */
  #header #global + label:before {
    right: 40px !important;
  }

  #header .reserve {
    right: 84px !important;
  }

  #header .location {
    right: 119px !important;
  }

}
