@charset "UTF-8";

:root {
	--color-body: #000;
	--color-theme-1: #F9F8F4;
	--color-theme-2: #C2AB7B;
	--font-family: "Shippori Mincho", serif;
	--noto-sans: YakuHanJP,"Noto Sans JP", sans-serif;
	--zen-kaku-gothic: "Zen Kaku Gothic New", sans-serif;
	--cinzel: "Cinzel", serif;
	--padding: 20px;
	--container: 1195px;
	--p: 16;
	--bs-border-radius: 10px;
}

::after,
::before,
* {
	--font-size: calc((var(--fs)/16) * 1rem);
	font-size: var(--font-size);
}

.editor-styles-wrapper {
	--fs: 16;
	font-family: var(--font-family) !important;
	font-weight: 400;
}

.editor-styles-wrapper .products {
	margin-left: 0;
  	margin-right: 0;
}

@media(max-width: 767px) {
	.editor-styles-wrapper {
		--fs: 15;
	}
}

.wp-embed-aspect-1-1 iframe {
	aspect-ratio: 1 / 1;
	height: auto;
	width: 100%;
}

.wp-embed-aspect-1-2 iframe {
	aspect-ratio: 1 / 2;
	height: auto;
	width: 100%;
}

.wp-embed-aspect-4-3 iframe {
	aspect-ratio: 4 / 3;
	height: auto;
	width: 100%;
}

.wp-embed-aspect-16-9 iframe {
	aspect-ratio: 16 / 9;
	height: auto;
	width: 100%;
}

.wp-embed-aspect-18-9 iframe {
	aspect-ratio: 18 / 9;
	height: auto;
	width: 100%;
}

.wp-embed-aspect-21-9 iframe {
	aspect-ratio: 21 / 9;
	height: auto;
	width: 100%;
}

.color-body {
	color: var(--color-body);
}

/*		title		*/
h1:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.is-style-h-1 {
	position: relative;
	--fs: 25;
	font-size: var(--font-size);
	line-height: calc(40 / 25);
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

* + h1:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-1 {
	margin-top: 80px;
}

@media(max-width: 767px) {
	h1:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	.is-style-h-1 {
		--fs: 22;
	}
	* + h1:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	* + .is-style-h-1 {
		margin-top: 50px;
	}
}

h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.is-style-h-2 {
	--fs: 23;
	font-size: var(--font-size);
	font-weight: 500;
	font-family: var(--noto-serif);
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

* + h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-2 {
	margin-top: 80px;
}

@media(max-width: 767px) {
	h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	.is-style-h-2 {
		--fs: 21;
		margin-bottom: 20px;
	}
	* + h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	* + .is-style-h-2 {
		margin-top: 50px;
	}
}

h3:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.is-style-h-3 {
	--fs: 20;
	font-size: var(--font-size);
	line-height: 1.3;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	padding: 0.5em 0;
	border-top: solid 1px var(--color-body);
	border-bottom: solid 1px var(--color-body);
}

* + h3:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-3 {
	margin-top: 30px;
}

@media(max-width: 767px) {
	h3:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	.is-style-h-3 {
		--fs: 18;
	}
	* + h3:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	* + .is-style-h-3 {
		margin-top: 20px;
	}
}

h4:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.is-style-h-4 {
	--fs: 20;
	font-size: var(--font-size);
	line-height: 1.3;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	padding-bottom: 0.5em;
	border-bottom: dotted 2px var(--color-body);
}

* + h4:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-4 {
	margin-top: 30px;
}

@media(max-width: 767px) {
	h4:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	.is-style-h-4 {
		--fs: 18;
	}
	* + h4:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	* + .is-style-h-4 {
		margin-top: 20px;
	}
}

h5:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.is-style-h-5 {
	--fs: 18;
	font-size: var(--font-size);
	line-height: 1.3;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	background-color: var(--color-theme-1);
	padding: 15px 20px;
	
}

* + h5:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-5 {
	margin-top: 30px;
}

@media(max-width: 767px) {
	h5:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	.is-style-h-5 {
		--fs: 17;
		padding: 10px 15px;
	}
	* + h5:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	* + .is-style-h-5 {
		margin-top: 20px;
	}
}

.wp-block-image{
	margin: 0 0 1rem;
}

/*		tableスタイル		*/
.is-style-table-1 table {
	max-width: 880px;
	margin-inline: auto;
}

.is-style-table-1 td{
	border: 1px solid #999;
}

.is-style-table-1 td:first-child {
	background-color: var(--color-theme-1);
}

/*		Lazy Blocks		*/
.text-center{
	text-align: center;
}

/*		ベージュ枠		*/
.wp-block-lazyblock-beige-wrapper + .wp-block-lazyblock-beige-wrapper {
    margin-top: 15px;
}

.beige-wrapper{
	background-color: var(--color-theme-1);
	padding: 5%;
}

.block-wrapper-large,
.block-wrapper-middle{
	margin-inline: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.block-wrapper-100{
	max-width: 100%;
}

.block-wrapper-large{
	max-width: 1130px;
}

.block-wrapper-middle{
	max-width: 965px;
}

.beige-wrapper .lazyblock-inner-blocks > .wp-block-columns:last-child {
  margin-bottom: 0;
}

@media(max-width: 767px) {
	.beige-wrapper{
		padding: 7%;
	}
}

/*		btn		*/
.btn-black,
.btn-white{
	--fs: 17;
	display: inline-block;
	text-align: center;
	font-size: var(--font-size);
	padding: 10px 40px;
	text-decoration: none;
}

.lineup .btn-black,
.lineup .btn-white{
	--fs: 18;
	width: 320px;
}

.page-id-6 .btn-black{
	margin-top: 40px;
}

.btn-black{
	background-color: #000;
	color: #fff;
}

.btn-white{
	color: #000;
	border: 1px solid #000;
}

.btn-black-rounded{
	border-radius: 40px;
	background-color: #000;
	color: #fff;
	text-align: center;
	padding: 25px 15px;
	max-width: 358px;
	width: 100%;
	display: inline-block;
	margin-top: 70px;
}

@media(max-width: 767px) {
    .btn-black,
    .btn-white{
      --fs: 16;
        margin-inline: auto;
    }
    .line-up .btn-black,
    .line-up .btn-white{
      width: 100%;
        max-width: 320px;
    }
    .page-id-6 .btn-black{
      width: 100%;
    }
}

.title-guide{
	--fs: 21;
	font-size: var(--font-size);
	font-weight: 400;
	text-align: center;
	margin-bottom: 20px;
}

.campaign .title-guide{
  margin-bottom: 15px;
}


/*		製品・展示製品一覧		*/
.item-list,
.exhibition-list {
    margin-bottom: 20px;
}

.exhibition-list .item-area{
  text-align: center;
}

.item-list,
.exhibition-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(155px, 320px));
	gap: 70px 40px;
	justify-content: center;
	margin-bottom: 110px;
}

.exhibition-list {
	margin-bottom: 0px;
}

.item-area img {
    width: 100%;
    aspect-ratio: 317 / 300;
    object-fit: cover;
}

.exhibition-list .item-area img {
    aspect-ratio: 307 / 223;
}

.item-area h4 {
	font-family: var(--noto-sans);
	--fs: 16;
	font-size: var(--font-size);
	margin: 15px 0px 8px 0px;
	letter-spacing: 0.1em;
}

.item-area p {
	--fs: 14;
	font-size: var(--font-size);
}

.item-area a{
	--fs: 15;
	font-size: var(--font-size);
	border-bottom: 1px solid;
	padding-bottom: 5px;
	position: relative;
	padding-right: 28px;
	display: inline-block;
}

.item-area a::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 5px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: translateY(-50%) rotate(45deg);
}

@media(max-width: 991px) {
	.item-list{
		margin-bottom: 80px;
	}
	.item-area h4 {
		--fs: 15;
	}
	.item-area p,
	.item-area a {
		--fs: 13;
		margin-bottom: 10px;
	}
}

@media(max-width: 767px) {
	.item-list,
	.exhibition-list{
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 20px;
	}
}


/*		協賛店一覧		*/
.sponsor{
	display: grid;
	grid-template-columns: 36% auto;
	align-items: stretch;
	margin-bottom: 10px;
	border: 1px solid #0A0501;
}

.sponsor .content{
	padding: 25px 35px;
	background-color: #fff;
	--fs: 15;
	font-size: var(--font-size);
}

.sponsor h4{
	--fs: 18;
	font-size: var(--font-size);
	font-weight: 400;
	margin-bottom: 10px;
}

.sponsor .img{
	width: 100%;
	aspect-ratio: auto;
	height: auto;
	aspect-ratio: 278/202;
}

.sponsor .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sponsor .content p:last-child {
  margin-bottom: 0;
}

.link-beige,
.sponsor .content a,
.single-column-body a,
.single-item-body a{
	color: var(--color-theme-2);
	text-decoration: underline;
}

.sponsor .content a:hover,
.single-column-body a:hover,
.single-item-body a:hover{
	cursor: pointer;
}

.single-column-body .wp-block-button a,
.single-item-body .wp-block-button a,
a.wp-block-file__button{
	text-decoration: none;
	color: #fff;
}

@media(max-width: 767px) {
	.sponsor{
		grid-template-columns: 1fr;
		margin-bottom: 15px;
	}
	.sponsor .img{
		height: auto;
		aspect-ratio: 16/7;
	}
	.sponsor .content{
		padding: 20px 15px;
	}
	.sponsor h4{
		--fs: 17;
	}
}
