html {
	font-size: 10px;
}

body {
	background: #f0f0ec;
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
}

a {
	display: block;
	transition: 0.2s;
}

a:hover {
	opacity: 0.8;
	transition: 0.2s;
}

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/*
 * footer
 * -------------------------------------------------------------
 */

.footer {
	background: #e84d07;
	padding: 9rem 0;
}

.footer__top {
	align-items: center;
	display: flex;
	gap: 9rem;
	padding-bottom: 6.5rem;
}

.footer__logo {
	max-width: 30rem;
}

.footer__nav {
	flex: 1;
}

.footer__list {
	grid-gap: 2rem 0;
	display: grid;
	gap: 2rem 0;
	grid-template-columns: repeat(3, 1fr);
}

.footer__link {
	color: #fff;
}

.footer__link:hover {
	color: #e8a607;
	opacity: 1;
}

.footer__link-ja {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.footer__link-eng {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: 0.5rem;
	text-transform: uppercase;
}

.footer__bottom {
	border-top: 1px solid #fff;
	padding-top: 5rem;
}

.footer__info {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.footer__info-item {
	align-items: center;
	display: flex;
	gap: 2rem;
}

.footer__info-ttl {
	background: #fff;
	color: #e84d07;
	font-size: 1.6rem;
	letter-spacing: 0.12em;
	padding: 0.8rem 2.4rem;
}

.footer__info-desc {
	color: #fff;
	flex: 1;
	font-size: 1.6rem;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

.footer__info-desc span {
	display: inline-block;
	margin-left: 3rem;
}

.footer__info-tel {
	display: inline-block;
	font-family: "Zen Antique Soft", serif;
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	margin-right: 2rem;
}

/*
 * header-pc
 * -------------------------------------------------------------
 */

.header-pc__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 9.3rem;
	padding: 7.2rem 2rem;
	position: relative;
}

.header-pc__logo {
	max-width: 16rem;
}

.header-pc__logo a img {
	transition: filter 0.2s ease;
}

.header-pc__logo a:hover {
	filter: brightness(0) saturate(100%) invert(28%) sepia(91%) saturate(2227%) hue-rotate(7deg) brightness(105%) contrast(105%);
	opacity: 1;
}

/*
 * header-sp
 * -------------------------------------------------------------
 */

.header-sp {
	background: #fff;
	display: none;
	height: 6rem;
}

.header-sp__inner {
	height: 100%;
	padding: 1rem 1.5rem;
}

.header-sp__logo {
	max-width: 10.7rem;
}

.header-sp__logo a img {
	transition: filter 0.2s ease;
}

.header-sp__logo a:hover {
	filter: brightness(0) saturate(100%) invert(28%) sepia(91%) saturate(2227%) hue-rotate(7deg) brightness(105%) contrast(105%);
	opacity: 1;
}

/*
 * header
 * -------------------------------------------------------------
 */

.header {
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 10;
}

/*
 * l-container
 * -------------------------------------------------------------
 */

.l-container {
	display: flex;
	flex-direction: row-reverse;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
	margin: auto;
	max-width: 117rem;
	padding: 0 3rem;
}

/*
 * l-main-contents
 * -------------------------------------------------------------
 */

.l-main-contents {
	flex: 1;
	width: 82%;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
	overflow: hidden;
}

/*
 * l-section
 * -------------------------------------------------------------
 */

.l-section {
	background: #f0f0ec;
}

/*
 * l-side
 * -------------------------------------------------------------
 */

.l-side {
	background: #fff;
	min-width: 28rem;
	overflow: visible;
	width: 18%;
}

/*
 * c-btn
 * -------------------------------------------------------------
 */

.c-btn {
	border: 1px solid #949494;
	color: #949494;
	display: inline-block;
	font-size: 1.6rem;
	padding: 1.5rem 5.2rem;
}

.c-btn:hover {
	background: #e8a607;
	border-color: #e8a607;
	color: #fff;
	opacity: 1;
}

.c-btn--red {
	background: #e84d07;
	color: #fff;
}

.c-btn--red:hover {
	background: #e8a607;
}

/*
 * c-burger
 * -------------------------------------------------------------
 */

.c-burger {
	background: #e84d07;
	border-bottom-left-radius: 10.5rem;
	cursor: pointer;
	height: 8rem;
	max-width: 9rem;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 20;
}

.c-burger__bars {
	height: 1rem;
	position: absolute;
	right: 2.1rem;
	top: 1.9rem;
	transition: all 0.2s;
	width: 2.5rem;
}

.c-burger__label {
	bottom: -1.5rem;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 0.8rem;
	font-weight: 400;
	left: 50%;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(-50%);
	transition: opacity 0.3s ease;
}

.c-burger__label.--menu {
	opacity: 1;
}

.c-burger__label.--menu.is-active {
	opacity: 0;
}

.c-burger__label.--close.is-active {
	opacity: 1;
}

.c-burger__bars span {
	background: #fff;
	display: block;
	height: 1px;
	position: absolute;
	transition: all 0.2s;
	width: 100%;
}

.c-burger span:nth-child(1) {
	top: 0;
}

.c-burger span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

.c-burger span:nth-child(3) {
	top: 100%;
}

.c-burger span.is-active:nth-child(1) {
	top: 50%;
	transform: translateY(-50%) rotate(-40deg);
}

.c-burger span.is-active:nth-child(2) {
	opacity: 0;
}

.c-burger span.is-active:nth-child(3) {
	top: 50%;
	transform: translateY(-50%) rotate(40deg);
}

/* 背景円アニメーション */

.c-burger-bg {
	background: #e84d07;
	border-bottom-left-radius: 10.5rem;
	content: "";
	display: block;
	height: 8rem;
	max-width: 9rem;
	position: absolute;
	right: 0;
	top: 0;
	transform: scale(1);
	transition: transform 1s ease;
	transition: transform 0.6s ease-in-out, opacity 1s ease;
	width: 100%;
	z-index: 10;
}

.c-burger-bg.is-active {
	opacity: 1;
	transform: scale(30);
	z-index: 1;
}

/*
 * c-copyright
 * -------------------------------------------------------------
 */

.c-copyright {
	font-family: "Montserrat", sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	height: 100%;
	left: 0;
	line-height: 1.33;
	padding-left: 1.5rem;
	position: fixed;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	writing-mode: sideways-rl;
}

/*
 * c-page-top
 * -------------------------------------------------------------
 */

.c-page-top {
	align-items: center;
	background: #fff;
	border-radius: 50%;
	bottom: 1rem;
	display: flex;
	flex-direction: column;
	height: 8rem;
	justify-content: center;
	left: 1.5rem;
	position: fixed;
	width: 8rem;
	z-index: 10;
}

.c-page-top a {
	align-items: center;
	color: #e84d07;
	display: flex;
	flex-direction: column;
	font-size: 1.6rem;
	font-weight: 400;
	gap: 0.6rem;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.c-page-top a::before {
	border-left: 1px solid #e84d07;
	border-top: 1px solid #e84d07;
	content: "";
	display: block;
	height: 0.7rem;
	transform: rotate(45deg);
	width: 0.7rem;
}

/*
 * c-top-secttl
 * -------------------------------------------------------------
 */

.c-top-secttl {
	align-items: center;
	display: flex;
	gap: 4.8rem;
	writing-mode: vertical-rl;
}

.c-top-secttl__ja {
	font-family: "Zen Antique Soft", serif;
	font-size: 4.8rem;
	letter-spacing: 0.12em;
}

.c-top-secttl__ja::first-letter {
	color: #e84d07;
}

.c-top-secttl__eng {
	color: #949494;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	font-size: 2.4rem;
	font-weight: 400;
	text-transform: uppercase;
}

/*
 * pagenavi
 * -------------------------------------------------------------
 */

.wp-pagenavi {
	display: flex;
	gap: 1rem;
	margin-top: 6.6rem;
}

.wp-pagenavi a,
.wp-pagenavi span,
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	align-items: center;
	border: none;
	color: #fff;
	display: grid;
	font-family: "Montserrat", sans-serif;
	font-size: 2.4rem;
	font-weight: 400;
	height: 4rem;
	justify-items: center;
	margin: 0;
	padding: 0;
	place-items: center;
	width: 4rem;
}

.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	background: #c7c7c7;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	position: relative;
}

.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
	content: "";
	display: block;
	height: 0.7rem;
	position: absolute;
	top: 50%;
	width: 0.7rem;
}

.wp-pagenavi .previouspostslink::before {
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	left: 53%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.wp-pagenavi .nextpostslink::before {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	left: 47%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.wp-pagenavi span.current {
	font-weight: 400 !important;
}

.wp-pagenavi span.current {
	background: #e84d07;
	border: none;
}

.wp-pagenavi a:hover {
	background: #e8a607;
	border: none;
	opacity: 1;
}

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

.contents-nav {
	padding-top: 6rem;
}

.contents-nav__items {
	grid-gap: 2rem 3rem;
	display: grid;
	gap: 2rem 3rem;
	grid-template-columns: repeat(2, 1fr);
}

.contents-nav__link {
	align-items: center;
	background: #e84d07;
	color: #fff;
	display: flex;
	font-size: 2.1rem;
	height: 6rem;
	justify-content: space-between;
	line-height: 1;
	padding: 1.2rem 0 1.2rem 3rem;
}

.contents-nav__link:hover {
	background: #e8a607;
	opacity: 1;
}

.contents-nav__link-btn {
	align-items: center;
	background: #fff;
	display: inline-block;
	display: grid;
	height: 6rem;
	justify-items: center;
	place-items: center;
	position: relative;
	width: 6rem;
}

.contents-nav__link-btn::before {
	border-right: 2px solid #e84d07;
	border-top: 2px solid #e84d07;
	content: "";
	display: block;
	height: 0.7rem;
	transform: rotate(135deg);
	transition: all 0.2s;
	width: 0.7rem;
}

.contents-nav__link:hover .contents-nav__link-btn::before {
	border-color: #e8a607;
}

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

.contents-section {
	padding: 12rem 0;
}

.contents-section.--empty {
	padding: 9rem 0;
}

.contents-section__items {
	display: flex;
	flex-direction: column;
	gap: 12rem;
}

.contents-section__notice {
	background: #fff;
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 5rem;
	padding: 1rem;
	text-align: center;
}

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

.contents__header {
	padding: 0 0 2.5rem 14.5rem;
	position: relative;
}

.contents__header-date {
	display: block;
	left: -3rem;
	max-width: 14rem;
	position: absolute;
	top: -2rem;
	width: 100%;
}

.contents__header-date.--kids {
	max-width: 18rem;
}

.contents__header-ttl {
	font-family: "Zen Antique Soft", serif;
	font-size: 4.8rem;
	letter-spacing: 0.12em;
	line-height: 1.3;
}

.contents__img {
	aspect-ratio: 1110/480;
}

.contents__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.contents__body {
	background: #fff;
	display: flex;
	flex-wrap: wrap;
	padding: 2.7rem 3rem 5rem;
	position: relative;
}

.contents__body-inner {
	display: flex;
	width: 100%;
}

.contents__body-inner:nth-of-type(2) {
	border-top: 1px solid #f0f0ec;
	margin-top: 3rem;
	padding-top: 3rem;
}

.contents__item:nth-child(1) {
	padding-right: 3rem;
}

.contents__item:nth-child(2) {
	border-left: 1px solid #f0f0ec;
	padding: 0 3rem;
}

.contents__item:last-of-type {
	border-left: 1px solid #f0f0ec;
	flex: 1;
	margin-left: auto;
	padding-left: 3rem;
	padding-right: 0;
}

.contents__btn {
	align-items: center;
	background: #e84d07;
	bottom: -2rem;
	display: block;
	display: grid;
	height: 4rem;
	justify-items: center;
	left: 50%;
	place-items: center;
	position: absolute;
	transform: translateX(-50%);
	transition: all 0.2s;
	width: 4rem;
}

.contents__btn::before {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	content: "";
	display: block;
	height: 0.7rem;
	transform: rotate(-45deg);
	width: 0.7rem;
}

.contents__btn:hover {
	background: #e8a607;
	opacity: 1;
}

/* 日付・時間・会場
------------------------------------------- */

.contents__date {
	max-width: 36.8rem;
	width: 36%;
}

.contents__date-table {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.contents__date-item {
	display: flex;
	height: 4rem;
}

.contents__date-ttl {
	align-items: center;
	background: #e84d07;
	color: #fff;
	display: grid;
	font-size: 1.8rem;
	justify-items: center;
	line-height: 1;
	min-width: 7rem;
	place-items: center;
	width: 7rem;
}

.contents__date-desc {
	align-items: center;
	background: #f0f0ec;
	display: flex;
	flex: 1;
	font-size: 1.8rem;
	line-height: 1;
	padding-left: 2rem;
}

.contents__date-text {
	font-size: 1.6rem;
	line-height: 1.875;
	margin-top: 2.5rem;
}

/* -------------------------------------------
	* contents-01　 お神輿＆お囃子練り歩き
--------------------------------------------*/

/* map
------------------------ */

.contents__map {
	max-width: 36rem;
	width: 36%;
}

/* ルート
------------------------- */

.contents__root-ttl {
	background: #000;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
	line-height: 1;
	padding: 1rem 3rem;
	width: -moz-fit-content;
	width: fit-content;
}

.contents__root-lists {
	display: flex;
	flex-direction: column;
	font-size: 1.6rem;
	gap: 0.3rem;
	line-height: 1.8;
	margin-top: 2rem;
}

.contents__root-list {
	font-size: 1.6rem;
	line-height: 1.6;
}

.contents__note {
	color: #949494;
	display: block;
	font-size: 1.6rem;
	margin-top: 7rem;
	text-align: right;
}

/* -------------------------------------------
	* contents-02 金山まつり音頭で盆踊り
--------------------------------------------*/

.contents__creators {
	max-width: 35rem;
	padding: 0 3rem;
	width: 34%;
}

.contents__creators-flex {
	display: flex;
	gap: 3rem;
	justify-content: center;
}

.contents__creators-item {
	width: 13rem;
}

.contents__creators-img {
	aspect-ratio: 1/1;
	background: #949494;
	border-radius: 50%;
	max-width: 13rem;
	overflow: hidden;
}

.contents__creators-img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.contents__creators-details {
	font-size: 1.6rem;
	line-height: 1.3;
	margin-top: 0.8rem;
	text-align: center;
}

.contents__creators-text {
	font-size: 1.6rem;
	line-height: 1.875;
	margin-top: 2rem;
}

/* 曲目
------------------------ */

.contents__list-ttl {
	background: #000;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
	line-height: 1;
	padding: 1rem 3rem;
	width: -moz-fit-content;
	width: fit-content;
}

.contents__list-items {
	display: flex;
	flex-direction: column;
	font-size: 1.6rem;
	line-height: 1.875;
	margin-top: 2rem;
}

.contents__list-item {
	font-size: 1.6rem;
	line-height: 1.875;
}

.contents__list-item::before {
	content: "・";
	display: inline-block;
}

/* -------------------------------------------
	* contents-03 ナゾトキクイズラリー
--------------------------------------------*/

/* ナゾトキ会場
------------------------ */

.contents__box {
	max-width: 30rem;
	width: 100%;
}

.contents__box dt {
	align-items: center;
	background: #e84d07;
	color: #fff;
	display: grid;
	font-size: 1.8rem;
	height: 4rem;
	justify-items: center;
	place-items: center;
}

.contents__box dd {
	background: #f0f0ec;
	font-size: 1.6rem;
	line-height: 1.875;
	padding: 1.8rem 1.8rem 2rem;
}

/* STEP
------------------------ */

.contents__step {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	max-width: 38rem;
}

.contents__step-item {
	align-items: center;
	display: flex;
	gap: 2rem;
}

.contents__step-item dt {
	align-items: center;
	background: #000;
	color: #e0a217;
	display: grid;
	font-size: 1.8rem;
	height: 5rem;
	justify-items: center;
	place-items: center;
	text-transform: uppercase;
	width: 10rem;
}

.contents__step-item dd {
	flex: 1;
	font-size: 1.6rem;
	line-height: 1.5;
}

/* 賞品
------------------------ */

.contents__flex {
	border-top: 1px solid #f0f0ec;
	display: flex;
	gap: 3rem;
	margin-top: 3rem;
	padding-top: 3rem;
	width: 100%;
}

.contents__flex-img {
	aspect-ratio: 280/187;
	max-width: 28rem;
}

.contents__flex-img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.contents__flex-details {
	flex: 1;
}

.contents__flex-ttl {
	align-items: center;
	display: block;
	display: flex;
	font-size: 2.4rem;
	gap: 3.5rem;
}

.contents__flex-ttl::after {
	background: #000;
	content: "";
	display: block;
	flex: 1;
	height: 1px;
}

.contents__flex-lists {
	color: #e84d07;
	font-size: 2.4rem;
	line-height: 1.3;
	margin-top: 2rem;
}

.contents__flex-list {
	color: #e84d07;
	font-size: 2.4rem;
	line-height: 1.3;
}

.contents__flex-list::before {
	content: "・";
	display: inline-block;
}

.contents__flex-text {
	font-size: 1.6rem;
	margin-top: 1.5rem;
}

/* -------------------------------------------
	* contents-a ~
--------------------------------------------*/

.contents__textarea {
	flex: 1;
}

.contents__textarea-text {
	font-size: 1.6rem;
	line-height: 1.875;
}

.contents__textarea-links {
	display: flex;
	gap: 1rem;
	margin-top: 1.2rem;
}

.contents__textarea-link {
	align-items: center;
	background: #e84d07;
	color: #fff;
	display: inline-block;
	display: flex;
	font-size: 1.6rem;
	gap: 0.6rem;
	justify-content: center;
	line-height: 1;
	max-width: 14rem;
	padding: 0.8rem 1rem;
	transition: all 0.2s;
	width: 100%;
}

.contents__textarea-link:hover {
	background: #e8a607;
	opacity: 1;
}

.contents__textarea-note {
	color: #949494;
	display: block;
	font-size: 1.6rem;
	margin-top: 6.5rem;
	text-align: right;
}

.contents__grid-items {
	grid-gap: 3.2rem 3rem;
	display: grid;
	gap: 3.2rem 3rem;
	grid-template-columns: repeat(4, 1fr);
}

.contents__grid-item {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.contents__grid-img {
	aspect-ratio: 1/1;
	border-radius: 50%;
	max-width: 13rem;
	overflow: hidden;
	width: 100%;
}

.contents__grid-img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.contents__grid-text {
	font-size: 1.6rem;
	line-height: 1.3;
	text-align: center;
}

/*
 * fv
 * -------------------------------------------------------------
 */

.fv {
	position: relative;
}

.fv__img {
	height: 100vh;
}

.fv__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.fv__logo {
	left: 50%;
	max-width: 95.6rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 1;
}

.fv__scroll {
	bottom: 10.3rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.fv__scroll-text {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 1.6rem;
	text-transform: uppercase;
}

/* 線のアニメーション部分 */

.fv__scroll::before {
	animation: scroll 2s infinite;
	background-color: #fff;
	content: "";
	height: 6rem;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 2.2rem;
	width: 1px;
}

/* 線のアニメーション */

/*
 * fvSlider
 * -------------------------------------------------------------
 */

.fvSlider {
	height: 100vh;
}

.fvSlider .swiper-wrapper {
	height: 100%;
}

.fvSlider .swiper-slide {
	height: 100%;
}

.fvSlider__img {
	height: 100%;
}

.fvSlider__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.fvSlider .swiper-slide-prev img,
.fvSlider .swiper-slide-active img,
.fvSlider .swiper-slide-duplicate-active img {
	animation-duration: 6s;
	animation-fill-mode: forwards;
	animation-name: zoom;
}

/*
 * images
 * -------------------------------------------------------------
 */

.images {
	aspect-ratio: 1380/480;
}

.images img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

/*
 * map
 * -------------------------------------------------------------
 */

.map {
	padding: 12rem 0 14rem;
}

.map__header img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.map__header a:hover {
	background: #e8a607;
	opacity: 1;
}

.map__body {
	position: relative;
}

.map__crads {
	grid-gap: 6rem 5rem;
	display: grid;
	gap: 6rem 5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 6rem;
	position: relative;
	z-index: 1;
}

.map__card {
	position: relative;
}

.map__card-eng {
	align-items: center;
	background: #e8a607;
	color: #fff;
	display: block;
	display: grid;
	font-family: "Montserrat", sans-serif;
	font-size: 3.2rem;
	font-weight: 400;
	height: 6rem;
	justify-items: center;
	left: 0;
	line-height: 1;
	place-items: center;
	position: absolute;
	text-transform: uppercase;
	top: 0;
	width: 6rem;
}

.map__card-img {
	aspect-ratio: 530/240;
}

.map__card-img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.map__card-body {
	background: #fff;
	padding: 2.5rem 3rem 3rem;
}

.map__card-ttl {
	border-bottom: 1px solid #f0f0ec;
	font-family: "Zen Antique Soft", serif;
	font-size: 2.8rem;
	letter-spacing: 0.12em;
	padding-bottom: 2rem;
}

.map__card-ttl::first-letter {
	color: #e84d07;
}

.map__card-text {
	font-size: 1.6rem;
	line-height: 1.875;
	padding: 1.2rem 0 1.5rem;
}

.map__card-btn {
	background: #e84d07;
	color: #fff;
	display: inline-block;
	font-size: 1.8rem;
	padding: 1rem 2.7rem;
}

.map__card-btn:hover {
	background: #e8a607;
	opacity: 1;
}

.map__bglogo {
	left: -12rem;
	max-width: 157.8rem;
	position: absolute;
	top: 73.3rem;
	width: 143%;
}

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

.nav-pc {
	position: relative;
}

.nav-pc__items {
	display: flex;
	flex-direction: row-reverse;
	gap: 3.6rem;
	justify-content: center;
}

.nav-pc__link {
	display: flex;
	text-orientation: mixed;
	writing-mode: vertical-rl;
}

.nav-pc__link:hover .nav-pc__link-ja,
.nav-pc__link:hover .nav-pc__link-eng {
	color: #e84d07;
	opacity: 1;
}

.nav-pc__link-ja {
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
	height: 17.4rem;
	letter-spacing: 0.12em;
	transition: all 0.2s;
}

.nav-pc__link-eng {
	color: #c7c7c7;
	font-family: "Montserrat", sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	text-transform: uppercase;
}

.nav-pc__sns {
	align-items: center;
	background: #e84d07;
	border-radius: 50%;
	display: grid;
	height: 4rem;
	justify-items: center;
	left: -2rem;
	place-items: center;
	position: absolute;
	top: 43.4rem;
	transition: all 0.2s;
	width: 4rem;
}

.nav-pc__sns:hover {
	background: #e8a607;
	opacity: 1;
}

.nav-pc__sns img {
	width: 1.8rem;
}

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

.nav-sp {
	height: 100%;
	opacity: 0;
	padding: 0 2.5rem 4.5rem;
	position: fixed;
	right: 0;
	top: 0;
	transition: all 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 10;
}

.nav-sp.is-active {
	opacity: 1;
	overflow: auto;
	visibility: visible;
	z-index: 10;
}

/* 出現時のみ delay を加える */

.nav-sp.is-delay {
	transition-delay: 0.4s;
}

.nav-sp__copyright {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	padding-top: 2rem;
}

.nav-sp__logo {
	margin: 3.5rem auto 0;
	max-width: 32.7rem;
}

.nav-sp__items {
	grid-gap: 3.4rem 3rem;
	display: grid;
	gap: 3.4rem 3rem;
	grid-template-columns: minmax(0, 11.5rem) 1fr;
	margin-top: 6rem;
}

.nav-sp__item:nth-child(2n-1) {
	max-width: 11.5rem;
}

.nav-sp__item:nth-child(2n) {
	flex: 1;
}

.nav-sp__link {
	border-bottom: 1px solid #fff;
	color: #fff;
	line-height: 1;
	padding-bottom: 3rem;
}

.nav-sp__link:hover {
	border-color: #e8a607;
	color: #e8a607;
	opacity: 1;
}

.nav-sp__link-ja {
	font-size: 1.8rem;
}

.nav-sp__link-eng {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
	margin-top: 0.6rem;
	text-transform: uppercase;
}

.nav-sp__link-eng.--capitalize {
	text-transform: capitalize;
}

/*
 * news-card
 * -------------------------------------------------------------
 */

.news-card {
	max-width: 25.5rem;
	transition: all 0.2s;
}

.news-card__img {
	aspect-ratio: 255/230;
	overflow: hidden;
}

.news-card__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.news-card__body {
	background: #fff;
	padding-top: 1rem;
}

.news-card__meta {
	align-items: center;
	display: flex;
	gap: 1.4rem;
}

.news-card__cat {
	border-radius: 0px 0.4rem 0.4rem 0px;
	color: #fff;
	display: inline-block;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
	line-height: 1;
	padding: 0.9rem 1.5rem 0.8rem 1.8rem;
}

.news-card__cat.--news {
	background: #E8A607;
}

.news-card__cat.--wanted {
	background: #e87d07;
}

.news-card__cat.--contents {
	background: #e84d07;
}

.news-card__date {
	font-family: "Montserrat", sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1;
	transition: all 0.2s;
}

.news-card__ttl {
	font-size: 1.8rem;
	line-height: 1.33;
	padding: 1rem 2.4rem 2rem;
	transition: all 0.3s;
}

.news-card:hover {
	opacity: 1;
}

.news-card:hover .news-card__img img {
	opacity: 1;
	transform: scale(1.05);
}

.news-card:hover .news-card__date {
	color: #e84d07;
	opacity: 1;
}

.news-card:hover .news-card__ttl {
	color: #e84d07;
	opacity: 1;
}

.news-card__none {
	font-size: 1.6rem;
	padding: 5rem 0;
	text-align: center;
}

/*
 * news-cards
 * -------------------------------------------------------------
 */

.news-cards {
	grid-gap: 3rem;
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(4, 1fr);
}

/*
 * news
 * -------------------------------------------------------------
 */

.news {
	padding: 10rem 0 17.5rem;
}

/*
 * outline-arch
 * -------------------------------------------------------------
 */

.outline-arch {
	background: #fff;
	padding: 7.7rem 8rem 8.5rem;
	position: relative;
}

.outline-arch__ttl {
	background: #e84d07;
	color: #fff;
	display: inline-block;
	font-family: "Zen Antique Soft", serif;
	font-size: 3.2rem;
	left: -2rem;
	letter-spacing: 0.12em;
	padding: 2.6rem 4.5rem;
	position: absolute;
	top: 3.5rem;
}

.outline-arch__date {
	color: #949494;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	text-align: center;
}

.outline-arch__text {
	font-size: 1.6rem;
	line-height: 1.875;
	margin-top: 6rem;
}

.outline-arch__lists {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 4rem;
}

.outline-arch__list {
	aspect-ratio: 1/1;
	overflow: hidden;
}

.outline-arch__list img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.outline-arch__list a:hover {
	opacity: 1;
}

.outline-arch__list a:hover img {
	opacity: 1;
	transform: scale(1.05);
}

.fancybox-toolbar {
	top: 5rem !important;
}

/*
 * outline
 * -------------------------------------------------------------
 */

.outline {
	padding: 17rem 0 12rem;
}

.outline__inner {
	position: relative;
}

.outline__header {
	display: flex;
	flex-direction: row-reverse;
	gap: 8rem;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.outline__header-ttl {
	font-family: "Zen Antique Soft", serif;
	font-size: 6.4rem;
	letter-spacing: 0.12em;
	line-height: 1.3;
	writing-mode: vertical-rl;
}

.outline__header-text {
	font-size: 2.4rem;
	height: 45.2rem;
	letter-spacing: 0.08em;
	line-height: 2.4;
	padding-top: 2rem;
	writing-mode: vertical-rl;
}

.outline__bglogo {
	left: -9rem;
	max-width: 157.8rem;
	position: absolute;
	top: -9.8rem;
	width: 143%;
}

.outline__body {
	display: flex;
	flex-direction: column;
	gap: 8rem;
	margin-top: 15rem;
}

/*
 * page-contents-fv
 * -------------------------------------------------------------
 */

.page-contents-fv {
	height: 42rem;
	position: relative;
}

.page-contents-fv__img {
	height: 42rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}

.page-contents-fv__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.page-contents-fv__inner {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.page-contents-fv__ttl {
	align-items: center;
	color: #fff;
	display: flex;
	gap: 3rem;
	justify-content: center;
	line-height: 1;
	text-align: center;
}

.page-contents-fv__ttl-eng {
	align-items: center;
	background: #e8a607;
	color: #fff;
	display: inline-block;
	display: grid;
	font-family: "Montserrat", sans-serif;
	font-size: 4.8rem;
	font-weight: 400;
	height: 8rem;
	justify-items: center;
	line-height: 1;
	place-items: center;
	width: 8rem;
}

.page-contents-fv__ttl-ja {
	display: block;
	font-family: "Zen Antique Soft", serif;
	font-size: 4.8rem;
	font-weight: 400;
	letter-spacing: 0.12em;
}

/*
 * page-fv
 * -------------------------------------------------------------
 */

.page-fv {
	height: 50rem;
	position: relative;
}

.page-fv.--outline {
	height: 100vh;
}

.page-fv__img {
	height: 50rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}

.page-fv.--outline .page-fv__img {
	height: 100vh;
}

.page-fv__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.page-fv__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.page-fv__ttl {
	color: #fff;
	line-height: 1;
	text-align: center;
}

.page-fv__ttl-ja {
	display: block;
	font-family: "Zen Antique Soft", serif;
	font-size: 4.8rem;
	font-weight: 400;
	letter-spacing: 0.12em;
}

.page-fv__ttl-eng {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 2.4rem;
	font-weight: 400;
	margin-top: 1.7rem;
	text-transform: uppercase;
}

.page-fv__logo {
	max-width: 76.1rem;
}

/*
 * schedule
 * -------------------------------------------------------------
 */

.schedule {
	padding-top: 11rem;
}

.schedule__header-ttl {
	text-align: center;
}

.schedule__header-ttl-ja {
	font-family: "Zen Antique Soft", serif;
	font-size: 3.6rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	line-height: 1;
}

.schedule__header-ttl-eng {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1;
	margin-top: 1.6rem;
	text-transform: uppercase;
}

.schedule__tables {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-top: 4rem;
}

.schedule__table-wrap {
	background: #e84d07;
	height: 40rem;
	overflow-x: scroll;
	position: relative;
}

.schedule__table {
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

.schedule__scrollbar::-webkit-scrollbar {
	height: 2rem !important;
}

.schedule__scrollbar::-webkit-scrollbar-track {
	background: #e8a607;
}

.schedule__scrollbar::-webkit-scrollbar-thumb {
	border-radius: 0 !important;
}

.schedule__scrollbar::-webkit-scrollbar-thumb {
	background-color: #fff;
}

.schedule__table-wrap p {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 8rem;
	font-weight: 400;
	left: 50%;
	line-height: 1.3;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.schedule__table-wrap p span {
	display: block;
	font-size: 3.6rem;
}

/*
 * single
 * -------------------------------------------------------------
 */

.single__thumb {
	aspect-ratio: 1380/800;
	background: #e84d07;
}

.single__thumb img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.single__inner {
	padding-bottom: 17rem;
	padding-top: 8rem;
	position: relative;
}

.single__header {
	left: 14rem;
	margin: 0 calc(50% - 50vw);
	position: absolute;
	top: -11rem;
}

.single__metaWrap {
	background: #fff;
	padding: 2rem 3.6rem 0 0;
	width: -moz-fit-content;
	width: fit-content;
}

.single__meta {
	align-items: center;
	display: flex;
	gap: 1.4rem;
}

.single__ttl {
	background: #fff;
	display: inline-block;
	font-family: "Zen Antique Soft", serif;
	font-size: 3.2rem;
	letter-spacing: 0.12em;
	padding: 2.7rem 4.3rem 2.7rem 4.3rem;
}

.single__cat {
	border-radius: 0px 0.4rem 0.4rem 0px;
	color: #fff;
	display: inline-block;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
	line-height: 1;
	padding: 0.9rem 1.5rem 0.8rem 1.8rem;
}

.single__cat.--news {
	background: #E8A607;
}

.single__cat.--wanted {
	background: #e87d07;
}

.single__cat.--contents {
	background: #e84d07;
}

.single__date {
	font-family: "Montserrat", sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1;
	transition: all 0.2s;
}

.single__body {
	background: #fff;
	padding: 8rem 8rem 12rem;
}

.single__body p {
	font-size: 1.6rem;
	line-height: 1.875;
	margin-bottom: 3.5rem;
}

.single__body h2 {
	font-family: "Zen Antique Soft", serif;
	font-size: 2.4rem;
	letter-spacing: 0.12em;
	margin-bottom: 2.6rem;
	margin-top: 4.5rem;
}

.single__body img {
	margin-bottom: 3rem;
}

.single__pagenavi {
	display: flex;
	gap: 3rem;
	justify-content: center;
	margin-top: 3rem;
}

.single__pagenavi-btn {
	grid-gap: 1.2rem;
	align-items: center;
	align-items: center;
	background: #e84d07;
	color: #fff;
	display: grid;
	display: flex;
	font-size: 1.6rem;
	gap: 1.2rem;
	height: 4rem;
	justify-content: center;
	justify-items: center;
	letter-spacing: 0.12em;
	max-width: 15rem;
	place-items: center;
	position: relative;
	width: 100%;
}

.single__pagenavi-btn:hover {
	background: #e8a607;
	opacity: 1;
}

.single__pagenavi-prev::before,
.single__pagenavi-next::after {
	border-top: 2px solid #fff;
	content: "";
	display: block;
	height: 0.7rem;
	margin-top: 0.1rem;
	width: 0.7rem;
}

.single__pagenavi-prev::before {
	border-left: 2px solid #fff;
	left: 1.8rem;
	transform: rotate(-45deg);
}

.single__pagenavi-next::after {
	border-right: 2px solid #fff;
	right: 1.8rem;
	transform: rotate(45deg);
}

/*
 * sponsors
 * -------------------------------------------------------------
 */

.sponsors {
	padding: 13.5rem 0 18.8rem;
}

.sponsors__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	writing-mode: inherit;
}

.sponsors__body {
	margin-top: 7.6rem;
}

.sponsors__colLists {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 6rem;
}

.sponsors__colList {
	aspect-ratio: 800/160;
}

.sponsors__col-list img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
}

.sponsors__rowLists {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	justify-content: center;
	margin-top: 8rem;
}

.sponsors__rowList {
	aspect-ratio: 340/160;
	max-width: 34rem;
}

.sponsors__rowList img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
}

.sponsors__rowLists02 {
	margin-top: 6rem;
	text-align: center;
}

.sponsors__rowList02 {
	display: inline-block;
	font-size: 2.4rem;
	line-height: 1.5;
	margin-right: 1rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.sponsors__rowList02:nth-child(4) {
	width: 100%;
}

.sponsors__rowList02:not(:last-child) a::after {
	content: ",";
	display: inline-block;
	left: -0.3rem;
	position: relative;
}

.sponsors__rowList02 a:hover {
	color: #e84d07;
	opacity: 1;
}

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

.top-contents {
	padding-top: 24rem;
	position: relative;
}

.top-contents__inner {
	display: flex;
	flex-direction: row-reverse;
	gap: 5.5rem;
	position: relative;
	z-index: 1;
}

.top-contents__header {
	margin-top: -5.4rem;
}

.top-contents__body {
	flex: 1;
}

.top-contents__items {
	grid-gap: 3rem;
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(2, 1fr);
}

.top-contents__item {
	position: relative;
}

.top-contents__img {
	aspect-ratio: 490/220;
	max-width: 49rem;
	overflow: hidden;
}

.top-contents__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.top-contents__ttl {
	background: #e84d07;
	bottom: -1rem;
	color: #fff;
	display: inline-block;
	font-size: 1.8rem;
	left: -1rem;
	padding: 1.3rem 5.2rem;
	position: absolute;
	transition: all 0.2s;
}

.top-contents__bg {
	left: 17rem;
	margin: 0 calc(50% - 50vw);
	position: absolute;
	top: -17.7rem;
	width: 93.9vw;
}

.top-contents__item:hover {
	opacity: 1;
}

.top-contents__item:hover .top-contents__ttl {
	background: #e8a607;
}

.top-contents__item:hover .top-contents__img img {
	transform: scale(1.05);
}

.top-contents__footer {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
	margin-top: 6rem;
}

.top-contents__note {
	color: #949494;
	font-size: 1.2rem;
	text-align: center;
}

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

.top-map {
	padding-top: 20rem;
}

.top-map__inner {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 6rem 0;
	position: relative;
	transition: background 0.3s;
}

.top-map__header {
	background: #fff;
	gap: 2.8rem;
	padding: 5rem 1.5rem;
	position: relative;
	z-index: 1;
}

.top-map__img {
	aspect-ratio: 1380/560;
	height: 100%;
	left: 50%;
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.top-map__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.top-map__inner:hover {
	background: #e8a607;
}

.top-map__inner:hover .top-map__img img {
	transform: scale(1.2);
}

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

.top-news {
	padding-top: 8.4rem;
}

.top-news__inner {
	display: flex;
	flex-direction: row-reverse;
	gap: 5.7rem;
}

.top-news__header {
	margin-top: -2rem;
}

.top-news__body {
	flex: 1;
}

.top-news__cards {
	justify-content: end;
	margin-left: auto;
}

.top-news__card {
	max-width: 23rem;
}

.top-news__img {
	aspect-ratio: 1/1;
}

.top-news__btn {
	margin-top: 3rem;
	text-align: center;
}

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

.top-outline {
	padding-top: 15.5rem;
}

.top-outline__flex {
	display: flex;
	gap: 7rem;
}

.top-outline__header {
	margin-top: -5.5rem;
}

.top-outline__body {
	flex: 1;
	margin-right: calc(50% - 50vw);
}

.top-outline__bodyFlex {
	background: #e84d07;
	display: flex;
	gap: 6rem;
	padding: 7.5rem 4rem 7rem;
}

.top-outline__textWrap {
	max-width: 49rem;
	position: relative;
	z-index: 2;
}

.top-outline__ttl {
	color: #fff;
	font-family: "Zen Antique Soft", serif;
	font-size: 3.6rem;
	letter-spacing: 0.12em;
	line-height: 1.33;
}

.top-outline__text {
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.875;
	margin-top: 3.5rem;
	max-width: 40rem;
}

.top-outline__btn {
	margin-top: 3rem;
	position: relative;
	z-index: 1;
}

.top-outline__imgs {
	display: flex;
	flex: 1;
	gap: 2rem;
	max-width: 58rem;
	position: relative;
	width: 34.52vw;
}

.top-outline__imgWrap {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	position: absolute;
	width: 10.7vw;
}

.top-outline__imgWrap.--imgWrap01 {
	left: 0;
	top: -7.14vw;
}

.top-outline__imgWrap.--imgWrap02 {
	left: 11.9vw;
	top: 0;
}

.top-outline__imgWrap.--imgWrap03 {
	left: 23.8vw;
	top: -11.31vw;
}

.top-outline__imgs img {
	-o-object-fit: cover;
	aspect-ratio: 180/300;
	height: 100%;
	object-fit: cover;
	width: 10.7vw;
}

.js-parallax {
	transition: transform 0.3s linear;
	will-change: transform;
}

.js-parallax,
.js-parallax img {
	will-change: transform;
}

/*
 * u-color
 * -------------------------------------------------------------
 */

.u-color {
	color: #e84d07;
}

/*
 * u-pc
 * -------------------------------------------------------------
 */

.u-pc {
	display: block;
}

/*
 * u-sp
 * -------------------------------------------------------------
 */

.u-sp {
	display: none;
}

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

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

}

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

html {
	font-size: 0.6944vw;
}

.l-inner {
	max-width: 105rem;
}

.c-page-top {
	height: 6rem;
	width: 6rem;
}

.contents__header-ttl {
	font-size: 4.6rem;
}

.map__bglogo {
	left: -9rem;
	top: 84.3rem;
	width: 123%;
}

.outline__bglogo {
	left: -2rem;
	top: -7.5rem;
	width: 123%;
}

.sponsors__rowList {
	max-width: 31rem;
}

.top-outline__bodyFlex {
	gap: 4rem;
}

.top-outline__textWrap {
	width: 35%;
}

}

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

.c-btn {
	font-size: 1.05rem;
	padding: 1rem 3.2rem;
}

.top-news__inner {
	gap: 3rem;
}

.top-news__card {
	display: flex;
	max-width: 26.5rem;
}

}

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

html {
	font-size: 2.67vw;
}

.footer {
	padding: 6rem 0 4.5rem;
}

.footer__top {
	justify-content: center;
	padding-bottom: 2.2rem;
}

.footer__logo {
	max-width: 22.1rem;
}

.footer__nav {
	display: none;
}

.footer__bottom {
	padding-top: 2.8rem;
}

.footer__info {
	gap: 1.2rem;
}

.footer__info-item {
	align-items: flex-start;
	gap: 1.2rem;
}

.footer__info-ttl {
	font-size: 1rem;
	padding: 0.3rem 1.2rem;
}

.footer__info-desc {
	font-size: 1rem;
}

.footer__info-desc span {
	margin-left: 2rem;
}

.footer__info-tel {
	display: block;
	font-size: 1.4rem;
}

.header-pc {
	display: none;
}

.header-sp {
	display: block;
}

.header {
	position: fixed;
}

.l-container {
	flex-direction: column-reverse;
}

.l-inner {
	padding: 0 1.5rem;
}

.l-inner--top {
	padding: 0 2rem;
}

.l-main-contents {
	margin-top: 6rem;
	width: 100%;
}

.l-side {
	display: contents;
}

.c-copyright {
	display: none;
}

.c-page-top {
	height: 4rem;
	left: auto;
	right: 1rem;
	width: 4rem;
}

.c-page-top a {
	font-size: 1.2rem;
	gap: 0.4rem;
}

.c-page-top a::before {
	height: 0.5rem;
	width: 0.5rem;
}

.c-top-secttl {
	gap: 3.2rem;
}

.c-top-secttl__ja {
	font-size: 3.2rem;
}

.c-top-secttl__eng {
	font-size: 1.6rem;
}

.wp-pagenavi {
	gap: 0.8rem;
	margin-top: 2.2rem;
}

.wp-pagenavi a,
.wp-pagenavi span,
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	font-size: 1.8rem;
	height: 3rem;
	width: 3rem;
}

.contents-nav {
	padding-top: 1.5rem;
}

.contents-nav__items {
	gap: 0.7rem;
	grid-template-columns: repeat(1, 1fr);
}

.contents-nav__link {
	font-size: 1.4rem;
	height: 3.9rem;
	padding: 1.3rem 0 1.3rem 2rem;
}

.contents-nav__link-btn {
	height: 3.9rem;
	width: 3.9rem;
}

.contents-nav__link-btn::before {
	height: 0.5rem;
	width: 0.5rem;
}

.contents-section {
	padding: 6.5rem 0;
}

.contents-section.--empty {
	padding: 5rem 0;
}

.contents-section__items {
	gap: 6.5rem;
}

.contents-section__notice {
	font-size: 1.4rem;
	margin-bottom: 3rem;
	text-align: left;
}

.contents__header {
	padding: 0 0 1rem 7rem;
}

.contents__header-date {
	left: -1rem;
	max-width: 5.5rem;
	top: 0;
}

.contents__header-date.--kids {
	max-width: 7rem;
}

.contents__header-ttl {
	font-size: 2.1rem;
}

.contents__img {
	aspect-ratio: 350/149;
}

.contents__body {
	padding: 1.2rem 1.5rem 3rem;
}

.contents__body-inner {
	flex-direction: column;
}

.contents__item:nth-child(1) {
	padding: 0 0 2.3rem 0;
}

.contents__item:nth-child(2) {
	border-left: none;
	border-top: 1px solid #f0f0ec;
	padding: 1.5rem 0 2rem 0;
}

.contents__item:last-of-type {
	border-left: none;
	border-top: 1px solid #f0f0ec;
	padding: 1.6rem 0 0 0;
	width: 100%;
}

.contents__btn {
	bottom: -1rem;
	height: 2rem;
	width: 2rem;
}

.contents__btn::before {
	height: 0.3rem;
	width: 0.3rem;
}

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

.contents__date-table {
	gap: 0.8rem;
}

.contents__date-item {
	height: 3rem;
}

.contents__date-ttl {
	font-size: 1.4rem;
	min-width: 5.3rem;
	width: 5.3rem;
}

.contents__date-desc {
	font-size: 1.4rem;
	padding-left: 1.6rem;
}

.contents__date-text {
	font-size: 1.2rem;
	margin-top: 2rem;
}

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

.contents__root-ttl {
	font-size: 1.4rem;
	padding: 0.8rem 2rem;
}

.contents__root-lists {
	font-size: 1.2rem;
	margin-top: 1.4rem;
}

.contents__root-list {
	font-size: 1.2rem;
}

.contents__note {
	font-size: 1.2rem;
	margin-top: 3rem;
}

.contents__creators {
	max-width: 100%;
	padding: 2.5rem 0;
	width: 100%;
}

.contents__creators-details {
	font-size: 1.2rem;
}

.contents__creators-text {
	font-size: 1.2rem;
}

.contents__list-ttl {
	font-size: 1.4rem;
	padding: 0.8rem 2rem;
}

.contents__list-items {
	font-size: 1.2rem;
	margin-top: 1.2rem;
}

.contents__list-item {
	font-size: 1.2rem;
}

.contents__box {
	max-width: 100%;
}

.contents__box dt {
	font-size: 1.4rem;
	height: 3rem;
}

.contents__box dd {
	font-size: 1.2rem;
	padding: 1.5rem 1.5rem 2rem;
}

.contents__step {
	gap: 1.3rem;
}

.contents__step-item {
	gap: 1.5rem;
}

.contents__step-item dt {
	font-size: 1.4rem;
	height: 3.8rem;
	width: 7.5rem;
}

.contents__step-item dd {
	font-size: 1.2rem;
}

.contents__flex {
	flex-direction: column;
	gap: 2.3rem;
	margin-top: 1.6rem;
	padding-top: 1.5rem;
}

.contents__flex-img {
	aspect-ratio: 315/210;
}

.contents__flex-ttl {
	font-size: 1.8rem;
	gap: 1.3rem;
}

.contents__flex-lists {
	font-size: 1.8rem;
	margin-top: 1.7rem;
	padding-right: 2rem;
}

.contents__flex-list {
	font-size: 1.8rem;
}

.contents__flex-text {
	font-size: 1.2rem;
}

.contents__textarea-text {
	font-size: 1.2rem;
}

.contents__textarea-link {
	font-size: 1.2rem;
	max-width: 50%;
	padding: 0.6rem 1rem;
}

.contents__textarea-note {
	font-size: 1.2rem;
}

.contents__grid-items {
	gap: 1.8rem 1.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.contents__grid-item {
	gap: 0.6rem;
}

.contents__grid-text {
	font-size: 1.2rem;
}

.fv__logo {
	max-width: 31rem;
}

.fv__scroll {
	display: none;
}

.images {
	aspect-ratio: unset;
}

.map {
	padding: 2rem 0 4rem;
}

.map__header {
	aspect-ratio: 690/497;
}

.map__crads {
	gap: 1.5rem;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 2.1rem;
}

.map__card-eng {
	font-size: 2.1rem;
	height: 4rem;
	width: 4rem;
}

.map__card-img {
	aspect-ratio: 690/312;
}

.map__card-body {
	padding: 2rem 1.5rem 2.3rem;
}

.map__card-ttl {
	font-size: 2.1rem;
	padding-bottom: 1.5rem;
}

.map__card-text {
	font-size: 1.2rem;
	padding: 1rem 0 1.2rem;
}

.map__card-btn {
	font-size: 1.35rem;
	padding: 0.8rem 2rem;
}

.map__bglogo {
	display: none;
}

.news-card {
	max-width: 16.5rem;
}

.news-card__img {
	aspect-ratio: 330/292;
}

.news-card__meta {
	gap: 1rem;
}

.news-card__cat {
	border-radius: 0px 0.35rem 0.35rem 0px;
	font-size: 1.05rem;
	padding: 0.5rem 0.9rem 0.5rem 1.2rem;
}

.news-card__date {
	font-size: 1.2rem;
}

.news-card__ttl {
	font-size: 1.2rem;
	padding: 0.6rem 1rem 1.2rem;
}

.news-card__none {
	font-size: 1.2rem;
}

.news-cards {
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.news {
	padding: 1.5rem 0 5rem;
}

.outline-arch {
	padding: 9.7rem 1.5rem 3.3rem;
}

.outline-arch__ttl {
	font-size: 2.4rem;
	left: -1rem;
	padding: 1.1rem 2.5rem;
	top: 3rem;
}

.outline-arch__date {
	font-size: 1.2rem;
	text-align: left;
}

.outline-arch__text {
	font-size: 1.2rem;
	margin-top: 1rem;
}

.outline-arch__lists {
	gap: 1.5rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 2rem;
}

.outline {
	padding: 8.5rem 0 6rem;
}

.outline__header {
	align-items: center;
	flex-direction: column;
	gap: 6rem;
}

.outline__header-ttl {
	font-size: 3.2rem;
}

.outline__header-text {
	font-size: 1.2rem;
	height: 21.9rem;
	line-height: 2;
	max-width: 28.1rem;
	padding-top: 0;
}

.outline__bglogo {
	left: -3.6rem;
	max-width: 44.7rem;
	top: -1.1rem;
}

.outline__body {
	gap: 4rem;
	margin-top: 8rem;
}

.page-contents-fv {
	height: 25rem;
}

.page-contents-fv__img {
	height: 25rem;
	top: 6rem;
}

.page-contents-fv__ttl {
	gap: 1rem;
}

.page-contents-fv__ttl-eng {
	font-size: 2.4rem;
	height: 3.5rem;
	width: 3.5rem;
}

.page-contents-fv__ttl-ja {
	font-size: 2.4rem;
}

.page-fv {
	height: 25rem;
}

.page-fv__img {
	height: 25rem;
	top: 6rem;
}

.page-fv__ttl-ja {
	font-size: 2.4rem;
}

.page-fv__ttl-eng {
	font-size: 1.2rem;
	margin-top: 1rem;
}

.page-fv__logo {
	margin-bottom: 3rem;
	max-width: 31rem;
}

.schedule {
	padding-top: 6.4rem;
}

.schedule__header-ttl-ja {
	font-size: 1.8rem;
}

.schedule__header-ttl-eng {
	font-size: 1rem;
	margin-top: 0.8rem;
}

.schedule__tables {
	gap: 1.5rem;
	margin-top: 2rem;
}

.schedule__table-wrap {
	height: 24rem;
}

.single__thumb {
	aspect-ratio: 750/434;
}

.single__inner {
	padding-bottom: 4.3rem;
	padding-top: 2.3rem;
}

.single__header {
	left: 0;
	top: -6.8rem;
	width: -moz-fit-content;
	width: fit-content;
}

.single__metaWrap {
	padding: 1rem 1.9rem 0 0;
}

.single__meta {
	gap: 1rem;
}

.single__ttl {
	font-size: 1.8rem;
	padding: 1.2rem 1.7rem 1.2rem 1.6rem;
}

.single__cat {
	border-radius: 0px 0.35rem 0.35rem 0px;
	font-size: 1.05rem;
	padding: 0.5rem 0.9rem 0.5rem 1.2rem;
}

.single__date {
	font-size: 1.2rem;
}

.single__body {
	padding: 1.9rem 1.6rem 5.5rem;
}

.single__body p {
	font-size: 1.2rem;
	margin-bottom: 2.5rem;
}

.single__body h2 {
	font-size: 1.8rem;
	margin-bottom: 1.5rem;
	margin-top: 2rem;
}

.single__body img {
	margin-bottom: 1.2rem;
}

.single__pagenavi {
	gap: 2.3rem;
	margin-top: 2rem;
}

.single__pagenavi-btn {
	font-size: 1.2rem;
	height: 3rem;
	max-width: 11.3rem;
}

.single__pagenavi-prev::before,
.single__pagenavi-next::after {
	border-width: 1px;
	height: 0.5rem;
	width: 0.5rem;
}

.single__pagenavi-prev::before {
	border-width: 1px;
}

.single__pagenavi-next::after {
	border-width: 1px;
}

.sponsors {
	padding: 7.7rem 0 11.6rem;
}

.sponsors__header {
	gap: 1.3rem;
}

.sponsors__body {
	margin-top: 2.7rem;
}

.sponsors__colLists {
	gap: 2.3rem;
}

.sponsors__colList {
	aspect-ratio: 670/134;
}

.sponsors__rowLists {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 4.3rem;
}

.sponsors__rowList {
	aspect-ratio: 32/15;
	max-width: 100%;
}

.sponsors__rowLists02 {
	margin-top: 3.5rem;
}

.sponsors__rowList02 {
	font-size: 1.4rem;
	line-height: 1.7rem;
	margin-bottom: 0.6rem;
	margin-right: 0.3rem;
}

.sponsors__rowList02:nth-child(1) {
	width: 100%;
}

.top-contents {
	padding-top: 13.7rem;
}

.top-contents__inner {
	gap: 3rem;
}

.top-contents__header {
	margin-top: -4.2rem;
}

.top-contents__items {
	gap: 2rem;
	grid-template-columns: repeat(1, 1fr);
}

.top-contents__ttl {
	font-size: 1.2rem;
	padding: 1rem 1.3rem;
}

.top-contents__bg {
	left: -1rem;
	max-width: 44.7rem;
	top: -10.8rem;
}

.top-contents__footer {
	gap: 1.2rem;
	margin: 0 calc(50% - 37vw);
	margin-top: 4.7rem;
	max-width: 33.5rem;
	text-align: center;
	width: 100vw;
}

.top-contents__note {
	font-size: 1.05rem;
	line-height: 1.52;
}

.top-map {
	padding-top: 11rem;
}

.top-map__inner {
	padding: 3.5rem 0;
}

.top-map__header {
	gap: 2rem;
	padding: 3.2rem 1.4rem 3.5rem;
}

.top-map__img {
	aspect-ratio: unset;
	height: 37.5rem;
}

.top-news {
	padding-top: 3rem;
}

.top-news__header {
	margin-top: 0;
	padding-top: 0.5rem;
}

.top-news__cards {
	align-items: flex-end;
	flex-direction: column;
	gap: 1.5rem;
	margin: auto;
}

.top-news__img {
	aspect-ratio: 4/3;
	max-width: 10rem;
}

.top-outline {
	padding-top: 9.2rem;
}

.top-outline__flex {
	gap: 3rem;
}

.top-outline__header {
	margin-top: -3.9rem;
}

.top-outline__bodyFlex {
	flex-direction: column;
	gap: 1.8rem;
	padding: 3.2rem 2rem 52.8rem;
	position: relative;
}

.top-outline__textWrap {
	max-width: 100%;
	width: 100%;
}

.top-outline__ttl {
	font-size: 2.4rem;
}

.top-outline__text {
	font-size: 1.2rem;
	line-height: 1.66;
	margin-top: 2.5rem;
	max-width: 100%;
}

.top-outline__btn {
	margin-top: 2rem;
}

.top-outline__imgs {
	bottom: 41rem;
	gap: 1rem;
	left: -6.5rem;
	max-width: 33.6rem;
	position: absolute;
	width: 100%;
}

.top-outline__imgWrap {
	gap: 1rem;
	max-width: 10.5rem;
	width: 100%;
}

.top-outline__imgWrap.--imgWrap01 {
	left: 0;
	top: 0;
}

.top-outline__imgWrap.--imgWrap02 {
	left: 11.5rem;
	top: 7.5rem;
}

.top-outline__imgWrap.--imgWrap03 {
	left: 23rem;
	top: -5rem;
}

.top-outline__imgs img {
	aspect-ratio: 3/5;
	width: 100%;
}

.u-pc {
	display: none;
}

.u-sp {
	display: block;
}

}

@keyframes scroll {

0% {
	transform: scale(1, 0);
	transform-origin: 0 0;
}

50% {
	transform: scale(1, 1);
	transform-origin: 0 0;
}

51% {
	transform: scale(1, 1);
	transform-origin: 0 100%;
}

100% {
	transform: scale(1, 0);
	transform-origin: 0 100%;
}

}

@keyframes zoom {

from {
	transform: scale(1.12);
}

to {
	transform: scale(1);
}

}


/*# sourceMappingURL=style.css.map */
