/*
 * club subpage
 */

/* ---------------------------------------- fonts */

/* m-plus-rounded-1c-100 - japanese_latin_latin-ext Thin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/m-plus-rounded-1c/m-plus-rounded-1c-v19-japanese_latin_latin-ext-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-300 - japanese_latin_latin-ext Light */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/m-plus-rounded-1c/m-plus-rounded-1c-v19-japanese_latin_latin-ext-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-regular - japanese_latin_latin-ext Regular */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/m-plus-rounded-1c/m-plus-rounded-1c-v19-japanese_latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-500 - japanese_latin_latin-ext Medium */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/m-plus-rounded-1c/m-plus-rounded-1c-v19-japanese_latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-700 - japanese_latin_latin-ext Bold */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/m-plus-rounded-1c/m-plus-rounded-1c-v19-japanese_latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-800 - japanese_latin_latin-ext ExtraBold */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/m-plus-rounded-1c/m-plus-rounded-1c-v19-japanese_latin_latin-ext-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-900 - japanese_latin_latin-ext Black */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/m-plus-rounded-1c/m-plus-rounded-1c-v19-japanese_latin_latin-ext-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ---------------------------------------- common */

:root {
	--color-fffadf: #fffadf;
	--color-ffb50a: #ffb50a;
	--color-ff8f9c: #ff8f9c;
	--color-27c7b7: #27c7b7;
	--color-34cff1: #34cff1;
	--color-473200: #473200;
	--color-f5d2c7: #f5d2c7;
}

/* ---------------------------------------- fonts */

@media (max-width: 767px) {
	main { font-size: clamp(0.75rem, 0.571rem + 0.89vw, 1rem); } /* 320-767 12-16 */
	article h1 { font-size: clamp(1.25rem, 1.026rem + 1.12vw, 1.563rem); }
	article h2 { font-size: clamp(1.125rem, 0.946rem + 0.89vw, 1.375rem); }
	article h3 { font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem); }
	article h4 { font-size: clamp(0.938rem, 0.803rem + 0.67vw, 1.125rem); }
	article h5 { font-size: clamp(0.75rem, 0.661rem + 0.45vw, 0.875rem); }
	article h6 { font-size: clamp(0.688rem, 0.598rem + 0.45vw, 0.813rem); } /* 11-14 */
	article h6 + p { font-size: clamp(0.688rem, 0.598rem + 0.45vw, 0.813rem); }
	article ul,
	article ol { font-size: clamp(0.75rem, 0.661rem + 0.45vw, 0.875rem); }
}

@media (min-width: 768px) {
	main { font-size: clamp(0.813rem, 0.1rem + 1.49vw, 1rem); } /* 768-970 13-16 */
	article h1 { font-size: clamp(1.563rem, -0.101rem + 3.47vw, 2rem); }
	article h2 { font-size: clamp(1.375rem, -0.051rem + 2.97vw, 1.75rem); }
	article h3 { font-size: clamp(1.188rem, -0.001rem + 2.48vw, 1.5rem); }
	article h4 { font-size: clamp(1rem, 0.05rem + 1.98vw, 1.25rem); }
	article h5 { font-size: clamp(0.891rem, 1.86vw, 1.125rem); }
	article h6 { font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem); } /* 11-14 */
	article h6 + p { font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem); }
	article ul,
	article ol { font-size: clamp(0.891rem, 1.86vw, 1.125rem); }
}

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

main {
	background: #FFFADF;
	background: linear-gradient(180deg,rgba(255, 250, 223, 1) 0%, rgba(255, 220, 134, 1) 100%);
}
main article {
	background: #fff;
	border-radius: 2em;
}
main article .headline,
main article section:not(:last-child) {
	margin: 0 0 2em; 
}

@media (max-width: 767px) {
	main {
		padding: 4em 0 2em;
	}
	main .inner {
		padding: 0 1em;
	}
	main article {
		padding: 2.5em 1em;
		margin: 0 0 3em;
	}
}

@media (min-width: 768px) {
	main {
		padding: 8em 1em 2em;
	}
	main .inner {
		max-width: 970px;
		margin: 0 auto;
	}
	main article {
		padding: 2.5em;
		margin: 0 0 5em;
	}
}

/* text */

article p { line-height: 1.8; }

main article .headline p,
main article section p {
	margin: 0 0 1em; 
}
main article .headline h1.centered + p {
	text-align: center;
}

article .centered {
	text-align: center;
}
article .leftalign {
	text-align: left;
}
article strong { 
	font-weight: bold;
	font-weight: 700;
}
article em { 
	font-style: italic;
}

article a{
	color: #0B83C6 ;
	text-decoration: underline;
}

article .catelist a {
	text-decoration: none;
}

/* title */

article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
	font-family: 'M PLUS Rounded 1c';
	font-style: normal;
	font-weight: 800;
	line-height: 1.4;
	position: relative;
}
article h1,
article h3,
article h4,
article h6 {
	color: var( --color-473200 );
}

article .centered {
	text-align: center;
}

article h1 { margin: 0 0 1.25em; }
article h1.centered span {
	display: inline-block;
	min-width: 40%;
	border: 2px var( --color-473200 ) dashed;
	padding: .25em 1em;
	border-radius: 100px;
}
article h1.leftalign {
	padding: 0 0 0 1.25em;
	position: relative;
}
article h1.leftalign::before,
article h1.leftalign::after {
	content: "";
	display: block;
	width: .7em;
	aspect-ratio: 1;
	background: var( --color-ffb50a );
	border-radius: 100%;
}
article h1.leftalign::before {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
article h1.leftalign::after {
	position: absolute;
	top: 50%;
	left: .4em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

article h2 {
	color: #fff;
	background: var( --color-ffb50a );
	padding: .4em 1em;
	border-radius: .25em;
	margin: 0 0 1em;
}

article h3,
article h4 {
	padding: 0 0 .3em;
	margin: 0 0 1em;
}
article h3::after,
article h4::after {
	content: "";
	display: block;
	width: 2em;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
}
article h3.centered::after,
article h4.centered::after {
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
article h3::after { background: var( --color-ffb50a ); }
article h4::after { background: var( --color-ff8f9c ); }

article h5 { 
	color: var( --color-ffb50a ); 
	margin: 0 0 1em;
}
article h6 { margin: 0 0 1em; }

/* list */

article ul {
	line-height: 1.6;
	margin: 0 0 1em;
}
article ul li {
	padding: 0 0 0 1em;
	position: relative;
}
article ul li::before {
	content: "";
	display: block;
	background: var( --color-ffb50a );
	width: .8em;
	aspect-ratio: 1;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

article ol {
	list-style: decimal outside;
	line-height: 1.6;
	margin: 0 0 1em 1.5em;
}
article ol li::marker {
	color: var( --color-ffb50a );
}
article ul li + li,
article ol li + li { margin: .5em 0 0; }

/* aside */

article aside {
	max-width: 750px;
	background: #fff8e8;
	border-radius: 1em;
	padding: 1em;
	margin: 0 auto 1em;
}
article aside .deco { 
	position: relative; 
}
article aside .deco.upper { margin: 0 0 1em; }
article aside .deco.under { 
	text-align: right; 
	margin: 1em 0 0;
}
article aside .deco span {
	display: inline-block;
	background: #fff8e8;
	position: relative; 
	z-index: 3;
}
article aside .deco.upper span { padding: 0 .5em 0 0; }
article aside .deco.under span { padding: 0 0 0 .5em; }
article aside .deco span img {
	width: auto;
	height: 1.25em;
	background: #fff8e8;
}
article aside .deco.upper::after,
article aside .deco.under::after {
	content: "";
	display: block;
	width: 100%;
	border: 1px var( --color-ffb50a ) dashed;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* table */

article table { margin: 0 0 1em; }
article table th,
article table td {
	border: 1px var( --color-473200 ) solid;
	line-height: 1.6;
	padding: .5em 1em;
	vertical-align: middle;
}
article table th {
	background: #FFF8E8;
}

/**
 * gallery
 * dl .gallery-item.
 * dt class="gallery-icon portrait" a > img
 * dd class="wp-caption-text gallery-caption"
 */

article .gallery { /** ギャラリーを囲むボックス **/
	width: 100%;
	margin-bottom: 20px !important;
    overflow: hidden;
}

article dl.gallery-item { /** 画像共通のスタイル **/
	border: 2px var( --color-ffb50a ) solid;
	border-radius: .5em;
	overflow: hidden;
	position: relative;
	float: left;
	margin: 0 1% 10px 0;
}
article dt.gallery-icon { /** 画像を囲む dt のスタイル **/
	width: 100%;
    text-align: center;
}
article dt.gallery-icon a { 
	display: inline-block; 
}
article dt.gallery-icon img {
	/* aspect-ratio: 1 / 0.696; */
	object-fit: cover;
	object-position: center;
}
article dd.gallery-caption { 
	width: 100%;
	color: #fff;
	background: var( --color-ffb50a );
	line-height: 1.4;
	font-size: 11px;
	text-align: center;
	padding: .5em;
	position: absolute;
	bottom: 0;
	left: 0;
}

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

	article dd.gallery-caption { 
		font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem);
	}

}
*/
/* ---------------------------------------- breadcrumbs */

#breadcrumb-wrap { line-height: 2; }
#breadcrumb-wrap i {
	color: #ffb50a;
	margin: 0 .5em 0 0;
}
#breadcrumb-wrap a:hover {
	color: #ffb50a;
}

@media (max-width: 767px) {
	#breadcrumb-wrap { 
		padding: 2em 1em 2em; 
	}
}

@media (min-width: 768px) {
	#breadcrumb-wrap { 
		padding: 4em 1em 2em; 
	}
	#breadcrumb-wrap .inner { 
		max-width: 1170px;
		margin: 0 auto;
	}
}

/* ---------------------------------------- mainimg */

#mainimg { position: relative; }
#mainimg::after {
	content: "";
	display: block;
	width: 100%;
	background: url( ../images/club/wave1.svg ) repeat-x center center;
	background-size: cover;
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 10;
}
#mainimg img {
	width: 100%;
	vertical-align: text-top;
	line-height: 1;
}

@media (max-width: 767px) {
	#mainimg::after {
		aspect-ratio: 1 / 0.052;
	}
}

@media (min-width: 768px) {
	#mainimg::after {
		aspect-ratio: 1 / 0.03;
	}
}

