@charset "UTF-8";

html {
	scroll-behavior: smooth;
	scroll-padding-top: 1.25rem;
}

:not(span) {
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	box-sizing: border-box;
}
* {
	color: #111;
	font-size: clamp(0.95rem, 3vw, 1.05rem);
	letter-spacing: calc(1em / 12);
	max-height: 99999px;
}
a:any-link {
	text-underline-offset: calc(1em / 6);
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(255,255,255,0);
	transition: .2s;
	cursor: pointer !important;
}
body {
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	-webkit-font-smoothing: subpixel-antialiased;
	position: relative;
	animation: fadeIn 0.5s ease 0s 1 normal;
}
body {
	width: 100%;
	height: 100lvh;
	background: #EDDCC5;
	background: radial-gradient(circle at center, rgba(237,220,197,0) 0%, rgba(237,220,197,0.75) 40%, rgba(237,220,197,1) 100%);
	background-attachment: fixed;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	25% { opacity: 0; }
	100% { opacity: 1; }
}
/* Safariだけフォントが太くなる対策 */
::-webkit-full-page-media, :future, :root body {
	-webkit-font-smoothing: antialiased;
}

@media (min-width: 64.001rem) {
	header {
		background: white;
		width: 100%;
		margin: 0 auto;
		display: grid;
		grid-template-rows: 12rem auto;
		grid-template-columns: 30% 40% 30%;
		position: relative;
	}
	header > div:nth-of-type(1) {
		grid-area: 1/1/2/2;
		padding-left: 2.5vw;
	}
	header > hgroup {
		grid-area: 1/2/2/3;
	}
	header > div:nth-of-type(2) {
		grid-area: 1/3/2/4;
		padding-right: 2.5vw;
	}
	header > nav {
		grid-area: 2/1/3/4;
	}
	header > div:nth-of-type(1) img {
		display: block;
		width: 100%;
		height: auto;
		margin-top: 1.5rem;
	}
	header > hgroup {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1.25rem;
	}
	header > hgroup h1 img {
		display: block;
		width: 3rem;
		height: auto;
		margin-top: 1.5rem;
	}
	header > hgroup > div:nth-of-type(1) img {
		display: block;
		width: 30rem;
		height: auto;
	}
	header > hgroup > div:nth-of-type(2) img {
		display: block;
		width: 5rem;
		height: auto;
	}
	header > div:nth-of-type(2) img {
		display: block;
		width: 7rem;
		height: auto;
		margin: 1rem 0 0 auto;
	}
	header nav {
		border-top: solid 0.333rem #dcc8d0;
		border-bottom: solid thin #CCC
	}
	header nav ul {
		display: flex;
		justify-content: center;
	}
	header nav ul li {
		list-style: none;
		width: 12rem;
		height: calc(4rem - 0.333rem);
		border-right: solid thin #CCC;
	}
	header nav ul li:first-child {
		border-left: solid thin #CCC;
	}
	header nav ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		letter-spacing: 0.25em;
		font-weight: 700;
		transition: .5s;
	}
	header nav ul li a.here,
	header nav ul li a:hover {
		color: white;
		background: #dcc8d0;
	}
}
@media (max-width: 64rem) {
	header {
		background: white;
		width: 100%;
	}
	header > div:nth-of-type(1) {
		position: absolute;
		top: 2rem;
		left: 0;
		width: 100%;
		opacity: 0;
	}
	header > div:nth-of-type(1) img {
		display: block;
		width: 20rem;
		margin: 0 auto;
	}
	header > div:nth-of-type(2) {
		position: absolute;
		top: 1.25rem;
		right: 0;
		padding-right: calc((100% - 32rem) / 2 );
		opacity: 0;
	}
	header > div:nth-of-type(2) img {
		width: 5rem;
		height: 5rem;
	}
	header hgroup {
		padding: 1.5rem 0;
	}
	header hgroup > * + * {
		margin-top: 1.5rem;
	}
	header hgroup > div img {
		display: block;
		max-width: calc(100% - 10vw);
		margin: 0 auto;
	}
	header hgroup h1 {
		display: flex;
		justify-content: center;
		align-items: center;
		max-width: calc(100% - 10vw);
		margin: 0 auto;
	}
	header hgroup h1 img {
		display: block;
		width: 2.5rem;
		height: auto;
		order: 1;
		position: relative;
		z-index: 3;
	}
	header hgroup h1::after {
		content: '';
		aspect-ratio: 422.374/62.749;
		width: 25rem;
		background: url(./images/yamanami.svg);
		background-size: contain;
		order: 2;
	}
	header hgroup h1::before {
		content: '';
		aspect-ratio: 1/1;
		width: 4.5rem;
		background: url(./images/kururi_art.svg);
		background-size: contain;
		order: 3;
	}
	header hgroup > div:last-child img {
		width: 6rem;
	}
	header nav {
		border-top: solid 0.333rem #dcc8d0;
		border-bottom: solid thin #CCC
	}
	header nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	header nav ul li {
		list-style: none;
		width: calc(100% / 3);
		border: none;
	}
	header nav ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 1.125em 0;
		font-weight: 700;
	}
	header nav ul li a.here,
	header nav ul li a:hover {
		color: white;
		background: #dcc8d0;
	}
	header nav ul li:nth-child(1),
	header nav ul li:nth-child(2),
	header nav ul li:nth-child(3) {
		border-bottom: solid thin #CCC;
	}
	header nav ul li:nth-child(1),
	header nav ul li:nth-child(2),
	header nav ul li:nth-child(4),
	header nav ul li:nth-child(5) {
		border-right: solid thin #CCC;
	}
}






















#block0 {
	background: white;
	padding: min(8vw, 4rem) 0 1px;
}

#block0 div:nth-of-type(1) {
	padding: 2rem 0 4rem;
	background: url(./images/tsumugu_bg.svg) center top min(17.5vw, 7.5rem) repeat-x;
	background-size: auto min(46vw, 23rem);
	display: flex;
	justify-content: center;
}
#block0 div:nth-of-type(1) img {
	display: block;
	width: min(12vw, 6rem);
	height: auto;
}
@media (orientation: portrait) {
	header div:nth-of-type(1) img {
		top: -1.75rem;
	}
}
#block0 div:nth-of-type(2) {
	margin: 4rem 0 4rem;
}
#block0 div:nth-of-type(2) img {
	display: block;
	width: min(75vw, 22rem);
	height: auto;
	margin: 0 auto;
}


#block05 {
	background: #EDDCC5;
	padding: min(4vw, 2rem) 0;
}
#block05 hgroup h2 {
	text-align: center;
	font-family: serif;
	font-size: min(5.5vw, 3rem);
}

#block05 hgroup p {
	text-align: center;
	margin: 1.75rem 0 0;
	font-size: min(3.5vw, 1.333rem);
}


#top_news {
	background: white;
	padding: min(10vw, 5rem) 0;
}
#top_news ul {
	display: flex;
	flex-wrap: wrap;
	width: 60rem;
	max-width: calc(100% - 5vw);
	margin: 0 auto;
	gap: 3rem 1.5rem;
}
#top_news ul li {
	list-style: none;
}
#top_news ul li a {
	display: block;
	width: calc((60rem - 4.5rem) / 4);
	height: 100%;
	background: #F7F6F7;
	transition: .5s;
	padding-bottom: 0.5rem;
}
@media (max-width: 72rem) {
	#top_news ul {
		flex-wrap: wrap;
		justify-content: center;
		gap: 5vw 2.5vw;
	}
	#top_news ul::before,
	#top_news ul::after {
		content: '';
		width: 13rem;
		max-width: 42.5vw;
		height: 0;
		order: 1;
	}
	#top_news ul li {
		flex: none;
	}
	#top_news ul li a {
		width: 13rem;
		max-width: 42.5vw;
		flex: none;
	}
}
#top_news ul li a:hover {
	filter: brightness(120%);
}
#top_news ul li img {
	aspect-ratio: 4/3;
	width: 100%;
	object-fit: cover;
}
#top_news ul li p {
	padding: 0.5rem 0.5rem 0.5rem;
	font-size: 0.9rem;
}
#top_news ul li h4 {
	padding: 0 0.5rem 0.5rem;
	line-height: 1.333;
	font-size: 0.95rem;
	font-weight: 700;
	height: calc(0.95rem * 1.333 * 3);
	display: -webkit-box;
	-webkit-line-clamp: 3; /* 最大3行 */
	-webkit-box-orient: vertical;
	overflow: hidden;
}
#top_news ul + p {
	display: flex;
	justify-content: center;
	margin: min(6vw, 3rem);
}
#top_news ul + p a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: content-fit;
	width: 16rem;
	height: 3rem;
	border: solid thin #111;
}
#top_news div {
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	width: fit-content;
}
#top_news div img {
	max-width: 100%;
}

#top_news iframe {
	background: #EEE;
	display: block;
	margin: min(10vw, 5rem) auto 2rem;
}
#top_news iframe + iframe {
	display: none;
}
@media (max-width: 35rem) {
	#top_news iframe:has(+ iframe) {
		display: none;
	}
	#top_news iframe + iframe {
		display: block;
		width: 350px;
		height: 400px;
	}
}

#block1 {
	padding: min(10vw, 5rem) 0;
}

h3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 700;
	font-size: min(4.5vw, 1.5rem);
	line-height: 1.5;
	margin: 0 0 2rem 0;
	text-align: center;
}
@media (orientation: landscape) {
	h3 br {
		display: none;
	}
}
h3::before {
	content: '';
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background: url(./images/yama_mu.svg) center center no-repeat;
	background-size: contain;
	margin: 0 0 2rem 0;
}
* + h3::before {
	margin-top: 2.5rem;
}
#block1 p#message {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-left: 2.5vw;
	margin-right: 2.5vw;
}
#block1 p#message span {
	line-height: 2;
	font-size: min(4vw, 1.25rem);
	font-family: serif;
	word-break: keep-all;
	text-align: center;
}
#block1 h4 {
	text-align: center;
	font-size: 1.25rem;
	margin: 2.5rem 0 1.5rem;
	font-family: serif;
	font-weight: 700;
}
#block1 h4 + p {
	text-align: center;
	font-size: min(4vw, 1.25rem);
	font-family: serif;
	margin-bottom: 2rem;
}
#block1 div.table_wrap table {
	margin: 0 auto;
}
#block1 div.table_wrap table :is(th, td){
	padding: 0.5rem min(2.5vw, 1rem);
	line-height: 1.5;
	font-size: clamp(0.95rem, 3vw, 1.25rem);
}
#block1 div.table_wrap table th {
	text-align-last: justify;
	white-space: nowrap;
}
#block1 div.table_wrap table td em {
	font-size: 1.5em;
}
#block1 div.table_wrap table td em + small {
	position: relative;
	top: -0.25rem;
}
#block2 {
	background: white;
	padding: min(10vw, 5rem) 0;
}
#block2 p {
	width: 50rem;
	max-width: calc(100% - 10vw);
	margin: 1.75rem auto;
	font-size: clamp(1rem, 3vw, 1.05rem);
	line-height: 2;
}
#block2 p.credit {
	text-align: right;
	line-height: 1.75;
}
@media (max-width: 35rem) {
	#block2 p.credit {
		text-align: center;
	}
}
footer > div {
	background: #EDDCC5;
	padding: min(8vw, 4rem) 0 min(10vw, 5rem);
	display: flex;
	flex-direction: column;
	align-items: center;
}
footer > div h1 {
	font-size: clamp(1.25rem, 5vw, 1.5rem);
	font-weight: 700;
}
footer > div > * {
	margin: 0.25rem 5vw;
	line-height: 1.75;
	word-break: keep-all;
	text-align: center;
	font-size: clamp(0.95rem, 3vw, 1rem);
}
footer p#copyright {
	padding: min(8vw, 4rem) 0;
	background: white;
	display: flex;
	justify-content: center;
	font-size: min(2.25vw, 0.9rem);
}
@media (orientation: portrait) {
	footer p#copyright {
		padding-bottom: 5rem;
	}
}
#back_to_top {
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	transform: rotateY(90deg);
	transition: .5s;
}
#back_to_top.is-animation {
	transform: rotateY(0deg);
}

@media (min-width: 64.001rem) {
	#entry_information {
		position: absolute;
		bottom: 1.5rem;
		left: 2rem;
		width: 16rem;
		background: #111;
		border: solid thick #111;
	}
	#entry_information p a:any-link {
		display: block;
		color: white;
		font-size: 1.333rem;
		line-height: 1.5;
		margin-top: 0.5rem;
		text-align: center;
		font-weight: 700;
	}
	#entry_information p a em {
		display: block;
		background: #EF7A00;
		font-size: 0.9rem;
		color: white;
		line-height: 1;
		padding: 0.5rem 0 0.333rem 0;
		text-align: center;
		margin-top: 0.5rem;
		font-weight: 700;
	}
}
@media (max-width: 64rem) {
	#entry_information {
		width: calc(100% - 5vw);
		background: #111;
		border: solid thick #111;
		position: sticky;
		bottom: 2.5vw;
		left: 2.5vw;
		margin-bottom: 2.5vw;
	}
	#entry_information p a:any-link {
		display: block;
		color: white;
		font-size: min(4.75vw, 1.333rem);
		line-height: 1.5;
		margin-top: 0.5rem;
		text-align: center;
		font-weight: 700;
	}
	#entry_information p a em {
		display: block;
		background: #EF7A00;
		font-size: 0.9rem;
		color: white;
		line-height: 1;
		padding: 0.5rem 0 0.333rem 0;
		text-align: center;
		margin-top: 0.5rem;
		font-weight: 700;
	}
	#entry_information p br {
		display: none;
	}
}

/* ==================================================
出展作家 個別のページ
================================================== */
#artist {
	background: url(./images/yama3_pc.svg) center top 3rem repeat-x, white;
	background-size: auto 8rem;
	padding: min(6vw, 3rem) 0 min(10vw, 5rem);
}
@media (max-width: 45rem) {
	#artist {
		background: url(./images/yama3_sp.svg) center top 2.5rem repeat-x, white;
		background-size: auto 7rem;
	}
}
#artist > * {
	width: 60rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#artist > h2 {
	font-size: clamp(1.5rem, 5vw, 1.75rem);
	text-align: center;
	margin-bottom: 4rem;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#artist > h2::before {
	content: '';
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background: url(./images/yama_mu.svg) center center no-repeat;
	background-size: contain;
	margin: 0 0 2.5rem 0;
}

#artist #personal_data {
	background: #faf7f8;
	margin: 2rem auto;
	padding: min(4vw, 2rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	min-height: min(44vw, 20rem);
}
#artist #personal_data::after {
	content: '';
	display: block;
	width: 100%;
	height: 0;
	clear: both;
}
#artist #personal_data li {
	list-style: none;
}
#artist #personal_data li:empty {
	display: none;
}
#artist #personal_data #portrait {
	position: absolute;
	top: min(4vw, 2rem);
	right: min(4vw, 2rem);
}
#artist #personal_data #portrait img {
	display: block;
	aspect-ratio: 1/1;
	width: 16rem;
	max-width: 36vw;
	height: auto;
	object-fit: cover;
}
#artist #personal_data li#name {
	font-size: min(4.5vw, 2rem);
	font-weight: 700;
	line-height: 1.5;
	margin-top: min(4vw, 2rem);
}
#artist #personal_data li#en_name {
	margin-top: 0;
	font-weight: 700;
	line-height: 1.5;
	font-size: min(2.75vw, 1rem);
}
#artist #personal_data li#from {
	margin-top: clamp(1rem, 3.5vw, 1.75rem);
	font-size: min(2.75vw, 1rem);
}
#artist #personal_data li#link {
	margin-top: clamp(1rem, 3.5vw, 1.75rem);
}

#artist #personal_data li#link li + li {
	margin-top: 0.333em;
}
#artist #personal_data li#link a {
	font-size: min(2.75vw, 1rem);
}
#artist #personal_data li#link a::after {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.25rem;
	background: url(./images/icon_link.svg) center center no-repeat;
	background-size: contain;
}

#artist #profile {
	background: white;
	margin: 2rem auto;
	padding: min(4vw, 2rem);
}
#artist #profile > * + * {
	margin-top: 0.5rem;
}

#artist #profile > hr {
	height: 2rem;
	visibility: hidden;
}
#artist #profile h4 {
	font-size: 1.25rem;
	font-weight: 700;
//	margin-top: 0.75rem;
	line-height: 1.667;
}
#artist #profile h5 {
	font-size: 1rem;
	font-weight: 700;
//	margin-top: 0.75rem;
	line-height: 1.667;
}
#artist #profile p {
	line-height: 1.8;
}
#artist #profile table tr th,
#artist #profile table tr td {
	padding: 0.125rem 0.5rem;
	line-height: 1.667;
	vertical-align: top;
}
#artist #profile table tr th:first-child,
#artist #profile table tr td:first-child {
	padding-left: 0;
	white-space: nowrap;
}
#artist #profile table tr:first-child th,
#artist #profile table tr:first-child td {
	padding-top: 0;
}

#artist #detail {
	background: #faf7f8;
	margin: 2rem auto;
	padding: min(6vw, 3rem) min(4vw, 2rem) min(4vw, 2rem);
}
#artist #detail:empty {
	display: none;
}
#artist #detail h2 {
	font-size: clamp(1.25rem, 4vw, 1.75rem);
	font-weight: 700;
}
#artist #detail h2 small {
	display: inline-block;
	margin-left: 1rem;
	font-size: clamp(0.75rem, 3vw, 1rem);
	font-weight: 700;
}
#artist #detail > * + * {
	margin-top: 0.5rem;
}
#artist #detail > h2 + * {
	margin-top: 1rem;
}
#artist #detail > * {
	line-height: 1.667;
}
#artist #detail #venue {
	margin-top: 1rem;
}
#artist figure {
	margin: min(10vw, 5rem) auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#artist figure img {
	display: block;
	max-width: 100%;
}
#artist figure figcaption {
	margin-top: 0.5rem;
}

#artist #youtube {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2rem;
	margin-top: min(10vw, 4rem);
}
#artist #youtube::after {
	content: '';
	display: block;
	width: calc((100% - 4rem) / 3);
	height: 0;
}
#artist #youtube iframe {
	display: block;
	aspect-ratio: 4/3;
	width: calc((100% - 4rem) / 3);
	height: auto;
}
@media (max-width: 45rem) {
	#artist #youtube::after,
	#artist #youtube iframe {
		width: 100%;
	}
}

#artist #back {
	margin-top: min(10vw, 5rem);
	display: flex;
	justify-content: center;
}
#artist #back a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	background: #dcc8d0;
	width: 15rem;
	height: 4rem;
	border-radius: 5rem;
}
/* ==================================================
出展作家 一覧
================================================== */
#artist #headline_header {
	background: #dcc8d0;
	padding: 0.5em 1.5em;
	color: white;
	border-radius: 2rem;
	margin-bottom: 0.75em;
}
#artist #headline li {
	list-style: none;
}
#artist #headline li a {
	display: block;
	padding: 1.5em 0.75em;
	border-bottom: solid thin #999;
	transition: .5s;
}
#artist #headline li a:hover {
	background: #faf7f8;
}

/* ==================================================
準備中
================================================== */
#soon {
	padding: min(30vw, 15rem);
	display: flex;
	justify-content: center;
	align-items: center;
	background: white;
}
#soon p {
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: 0.5em;
	text-indent: 0.5em;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12rem;
	height: 6rem;
	color: white;
	background: #dcc8d0;
	border: double 1rem white;
}

/* ==================================================
お知らせ トップページ
================================================== */
#news {
	background: url(./images/yama3_pc.svg) center top 3rem repeat-x, white;
	background-size: auto 8rem;
	padding: min(6vw, 3rem) 0 min(10vw, 5rem);
}
@media (max-width: 45rem) {
	#news {
		background: url(./images/yama3_sp.svg) center top 2.5rem repeat-x, white;
		background-size: auto 7rem;
	}
}
#news > * {
	width: 60rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#news > h2 {
	font-size: clamp(1.5rem, 5vw, 1.75rem);
	text-align: center;
	margin-bottom: 4rem;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#news > h2::before {
	content: '';
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background: url(./images/yama_mu.svg) center center no-repeat;
	background-size: contain;
	margin: 0 0 2.5rem 0;
}

#news #headline {
	margin: min(10vw, 5rem) auto;
}

#news #headline li {
	list-style: none;
}
#news #headline li a {
	display: flex;
	align-items: center;
	width: 100%;
	height: auto;
	border-bottom: solid thin #CCC;
	padding: 1.667rem 0;
}
#news #headline li a:hover {
	background: #faf7f8;
}
#news #headline li:first-child a {
	border-top: solid thin #CCC;
}
#news #headline li a span:first-child {
	width: 10rem;
	flex: none;
	line-height: 1.667;
	font-size: 0.95rem;
}
@media (max-width: 45rem) {
	#news #headline li a {
		flex-direction: column;
		align-items: flex-start;
	}
	#news #headline li a span:first-child {
		position: relative;
		top: -0.5rem;
	}
}
#news #headline li a span:last-child {
	flex-grow: 1;
	font-weight: 700;
	line-height: 1.667;
}
#news #pager {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
}
#news #pager li {
	list-style: none;
}
#news #pager li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2.5rem;
	height: 2.5rem;
	background: #EEE;
	border-radius: 0.25em;
}
#news #pager li a.here {
	background: white;
	border: solid 2px #111;
	pointer-events: none;
	cursor: default;
}

/* ==================================================
お知らせ 個別のページ
================================================== */
#news hgroup p {
	background: #eddcc5;
	border-radius: 2rem;
	font-weight: 700;
	padding: 0.5rem 2rem;
}
#news hgroup h4 {
	font-size: clamp(1.25rem, 4vw, 1.75rem);
	font-weight: 700;
	margin-top: 2rem;
	line-height: 1.25;
}

#news #detail {
	margin: min(5vw, 2.5rem) auto;
}
#news #detail > * + * {
	margin-top: 1rem;
}

#news #detail hr {
	height: 1rem;
	visibility: hidden;
}
#news #detail > * {
	line-height: 1.75;
}
#news figure {
	margin: min(8vw, 4rem) auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem; 
}
#news figure figcaption {
	line-height: 1.5;
}
#news iframe {
	display: block;
	margin: min(8vw, 4rem) auto;
	aspect-ratio: 16/9;
	width: 840px;
	max-width: 90vw;
	height: auto;
}

p#pdf a {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: min(8vw, 4rem) auto;
	line-height: 1.5;
}
p#pdf a::before {
	content: '';
	width: 1.5rem;
	height: 2rem;
	background: url(./images/icon_pdf.svg) center center no-repeat;
	background-size: contain;
	flex: none;
}

#news #move_button {
	display: flex; 
	justify-content: center;
	gap: min(2.5vw, 1rem);
	margin-top: min(10vw, 5rem);
}
#news #move_button li {
	list-style: none;
}
#news #move_button li a {
	width: 15rem;
	max-width: 30vw;
	height: auto;
	padding: 1.5em 0;
	border: solid thin #111;
	border-radius: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
#news #move_button li a:hover {
	cursor: pointer;
}
#news #move_button li a.noway {
	pointer-events: none;
	cursor: default;
	opacity: 0.25;
}
#news #move_button li:first-child a,
#news #move_button li:last-child a {
	background: #EDDCC5;
	border: none;
	width: 10rem;
	max-width: 25vw;
}

/* ==================================================
協賛
================================================== */
#sponsorship_A {
	padding: min(10vw, 5rem);
	background: white;
}
#sponsorship_B {
	padding: min(5vw, 2.5rem);
	background: #F3F3F3;
}

#sponsorship_A {
	background: url(./images/yama3_pc.svg) center top 3rem repeat-x, white;
	background-size: auto 8rem;
	padding: min(6vw, 3rem) 0 min(10vw, 5rem);
}
@media (max-width: 45rem) {
	#sponsorship_A {
		background: url(./images/yama3_sp.svg) center top 2.5rem repeat-x, white;
		background-size: auto 7rem;
	}
}
#sponsorship_B > * {
	width: 60rem;
	max-width: 100%;
	margin: 0 auto;
}


#sponsorship_A > h2 {
	font-size: clamp(1.5rem, 5vw, 1.75rem);
	text-align: center;
	margin-bottom: 4rem;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#sponsorship_A > h2::before {
	content: '';
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background: url(./images/yama_mu.svg) center center no-repeat;
	background-size: contain;
	margin: 0 0 2.5rem 0;
}
#sponsorship_A em {
	display: flex;
	justify-content: center;
	font-size: 2.5rem;
	font-family: serif;
	text-align: center;
	line-height: 1.5;
}
#sponsorship_A p:has(em) + p {
	font-size: 1.25rem;
	line-height: 1.5;
	margin: 2rem auto 0;
	width: fit-content;
}



#sponsorship_B > * + * {
	margin-top: 1rem;
}
#sponsorship_B h4 {
	font-size: clamp(1.125rem, 3.5vw, 1.25rem);
	line-height: 1.5;
	border-bottom: solid thin #111;
	font-weight: 700;
	margin-bottom: 2rem;
}
#sponsorship_B h5 {
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 700;
}
#sponsorship_B p {
	line-height: 1.8;
}
#sponsorship_B hr {
	height: 1rem;
	visibility: hidden;
}
#sponsorship_B em {
	display: flex;
	justify-content: center;
	font-size: 2.5rem;
	font-family: serif;
	text-align: center;
	line-height: 1.5;
	margin-top: min(10vw, 5rem);
}

#block3 {
	padding: min(5vw, 2.5rem) 0 min(10vw, 5rem);
	background: white;
}
#block3 div {
	width: 60rem;
	max-width: calc(100% - 10vw);
	background: #F9F8F9;
	padding: min(5vw, 3rem);
	margin: 0 auto;
}
#block3 div p {
	line-height: 2;
	margin: 1rem 0;
	font-family: serif;
}
#block3 div p.right {
	text-align: right;
}
#block3 div p.right span {
	display: inline-block;
}

#block4 {
	padding: 1rem 0 min(8vw, 4rem) 0;
	background: white;
}
#block4 > dl {
	width: 60rem;
	max-width: calc(100% - 5vw);
	margin: 0 auto;
}
#block4 > dl > div > dt {
	font-size: clamp(1.05rem, 3vw, 1.125rem);
	font-weight: 600;
	padding-bottom: 0.75rem;
	padding-left: 0.25rem;
	margin: 3rem 0 1rem;
	border-bottom: solid thin #111;
}
#block4 > dl > div > dd {
	line-height: 1.75;
	margin: 0.5rem;
}
#block4 > dl > div > dd p {
	line-height: 1.75;
}
#block4 > dl > div > dd ul#precautions li {
	margin: 0.5rem 0 0 2rem;
	line-height: 1.667;
}
#block4 > dl > div > dd p.note {
	text-indent: -1.25rem;
	padding-left: 1.25rem;
	line-height: 1.5;
	margin-top: 1rem !important;
	font-size: 0.95rem;
}
#block4 > dl > div > dd p.note::before {
	content: '※';
	width: 1rem;
	height: 1rem;
	margin-right: 0.25rem;
}
#block4 > dl > div > dd dl#support {
	margin: 1rem 0 0;
}
#block4 > dl > div > dd dl#support div:first-child dt::before {
	content: '1、';
	display: inline-block;
	width: 1.5rem;
	line-height: 1.5;
}
#block4 > dl > div > dd dl#support div:last-child dt::before {
	content: '2、';
	display: inline-block;
	width: 1.5rem;
	line-height: 1.5;
}
#block4 > dl > div > dd dl#support dt {
	line-height: 1.5;
}

#block4 > dl > div > dd dl#support div + div {
	margin-top: 2rem;
}
#block4 > dl > div > dd dl#support p {
	margin: 0.5rem 0 0.5rem 1.5rem;
	line-height: 1.5;
}
#block4 > dl > div > dd dl#support p span:first-child {
	display: inline-block;
	width: 13rem;
}
#block4 > dl > div > dd div.gray {
	background: #F9F8F9;
	padding: min(5vw, 2rem) min(2.5vw, 2rem);
}
#block4 > dl > div > dd div.gray h4 {
	font-weight: 600;
	margin-bottom: 1rem;
}
#block4 > dl > div > dd ul li {
	list-style-type: none;
	line-height: 1.5;
	margin: 0.5rem 0;
}

#entry_sheet {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 1.5rem 0 2.5rem;
}
#entry_sheet > li {
	width: 16rem;
	height: 3rem;
	flex: none;
	list-style: none;
}
#entry_sheet > li a:any-link {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	font-size: 1.05rem;
	border: solid 2px #CCC;
	border-radius: 0.5rem;
}
#entry_sheet > li:first-child a:any-link {
	border-color: #DC000A;
}
#entry_sheet > li:last-child a:any-link {
	border-color: #036EB7;
}
#entry_sheet > li:first-child a::before {
	content: '';
	width: 1.8rem;
	height: 2.05rem;
	margin-right: 0.5rem;
	background: url(./images/icon_pdf.svg) center center no-repeat;
	background-size: contain;
}
#entry_sheet > li:last-child a::before {
	content: '';
	width: 1.8rem;
	height: 2.2rem;
	margin-right: 0.5rem;
	background: url(./images/icon_word.svg) center center no-repeat;
	background-size: contain;
}
#block4 #address div + div {
	margin-top: 1.5rem
}
#block4 #address dt,
#block4 #address dd {
	line-height: 1.5;
	margin: 0.5rem 0;
}
#block4 address {
	margin: 1rem 0 0;
}
#block4 address h4,
#block4 address p {
	line-height: 1.5;
	margin-bottom: 0.5rem;
}
#block4 address dl {
}
#block4 address dl div {
	display: flex;
}
#block4 address dl div dt {
	flex: none;
	width: 4.5rem;
	line-height: 2;
}
#block4 address dl div dd {
	line-height: 2;
}
