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

.kv {
	position: relative; width: 100%; min-width: 1200px; height: 700px;
	background: center/cover no-repeat url(../img/kv_main.webp);
}
.kv h2 {
	position: absolute; bottom: 0; left: 50%; width: 1100px; padding: 10px 0;
	background: #fff; border-radius: 20px 20px 0 0; font-size: 3.6rem; font-weight: 700;
	text-align: center; transform: translateX(-50%);
}
.kv h2 span { letter-spacing: -0.8em; }
.kv h2 span:last-of-type { letter-spacing: -0.4em; }
.kv h2::after {
	content: ''; position: absolute; bottom: 0; left: 50%; width: 100px;
	border-bottom: solid 5px #dc3705; transform: translateX(-50%);
}

@media screen and (max-width:768px) {
	.kv {
		min-width: 100%; height: 50vh;
		background: top center/auto 100% no-repeat url(../img/kv_main.webp);
	}
	.kv h2 { width: 86%; border-radius: 12px 12px 0 0; font-size: 2.2rem; }
	.kv h2::after { border-bottom: solid 3px #dc3705; }
}

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

section { position: relative; width: 100%; min-width: 1200px; padding: 60px 0; }
section:nth-of-type(even) { padding: 120px 0; background: #eaf5fe; }
section:nth-of-type(even)::before {
	content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 60px;
	clip-path: polygon(0 0, 100% 0, 0 100%); background: #fff;
}
section:nth-of-type(even)::after {
	content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 60px;
	clip-path: polygon(0 0, 100% 100%, 0 100%); background: #fff;
}
section:last-of-type::after { content: none; }

section h2 { margin: 0 0 36px; font-size: 3.6rem; font-weight: 700; text-align: center; }
section h2::before {
	content: '('; margin-right: 1.0em; font-family: 'Zen Maru Gothic'; color: #dc3705;
}
section h2::after {
	content: ')'; margin-left: 1.0em; font-family: 'Zen Maru Gothic'; color: #dc3705;
}
section h3 { font-size: 2.4rem; font-weight: 700; }
section p { font-size: 2.0rem; font-weight: 500; line-height: 1.8; }
section * img { width: 100%; }

section .btn {
	position: relative; display: block; width: 320px; margin: 36px auto 0; background: #eaf5fe; 
	border: solid 3px #1d2a6f; border-radius: 50px; box-shadow: 0 4px #1d2a6f;
	color: #1d2a6f; font-size: 2.0rem; font-weight: 700; line-height: 2.8; text-align: center;
}
section .btn::after {
	content: ''; position: absolute; top: 50%; right: 30px; width: 8px; height: 8px;
	border: solid 3px #dc3705; border-width: 3px 3px 0 0;
	transform: translateY(-50%) rotate(45deg);
}
section .btn:hover { transform: translateY(4px); box-shadow: none; }
section:nth-of-type(even) .btn { background: #fff; }

@media screen and (max-width:768px) {
	section { min-width: 100%; padding: 40px 0; }
	section:nth-of-type(even) { padding: 80px 0; }
	section:nth-of-type(even)::before, section:nth-of-type(even)::after { height: 40px; }
	section h2 { margin: 0 0 24px; font-size: 2.4rem; }
	section h3 { font-size: 1.8rem; }
	section p { font-size: 1.6rem; }
	section .btn { width: 80%; font-size: 1.8rem; }
	section .btn::after { right: 16px; }
}

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

#lead article { width: 1100px; margin: 0 auto; text-align: center; }
#lead h3 { margin: 0 0 36px; font-size: 3.2rem; font-weight: 700; }
#lead h4 { margin: 36px 0 0; font-size: 2.4rem; font-weight: 700; }

#news article { width: 1000px; margin: 0 auto; }
#news dl {
	display: flex; padding: 12px 0; border-bottom: solid 1px #1d2a6f;
	font-size: 1.8rem; font-weight: 500;
}
#news dl:first-child { border-top: solid 1px #1d2a6f; }
#news dt { width: 8em; }
#news dd { width: calc(100% - 8em); }

#report p, #media p { text-align: center; }
.slide { margin: 24px 0 0; }
.slide img { margin: 0 10px; }

#ambassador article { width: 1100px; margin: 0 auto; text-align: center; }
#ambassador .txt { margin: 1.0em 0 0; }
#ambassador ul { display: flex; justify-content: space-evenly; margin: 36px 0; }
#ambassador li { width: 240px; }
#ambassador li img { display: block; border-radius: 20px; }
#ambassador li p { margin: 10px 0 0; }

#support article { width: 1100px; margin: 0 auto; text-align: center; }
#support .banner { display: flex; margin: 24px 0 0; justify-content: space-between; }
#support .banner a { display: block; width: 300px; font-size: 1.6rem; line-height: 2.2; }
#support .banner img { display: block; border: solid 1px #1d2a6f; }
#support .banner a:hover img { outline: solid 2px #dc3705; border: solid 1px #dc3705; }

@media screen and (max-width:768px) {
	#lead article { width: 90%; text-align: left; }
	#lead h3 { margin: 0 0 24px; font-size: 2.1rem; text-align: center; }
	#lead h4 { margin: 24px 0 0; font-size: 1.8rem; }
	#news article { width: 90%; }
	#news dl { display: block; font-size: 1.6rem; }
	#news dt, #news dd { width: 100%; }
	#news dt { font-weight: 700; }
	#ambassador article { width: 90%; text-align: left; }
	#ambassador ul { display: block; width: 70%; margin: 24px auto; }
	#ambassador li { width: 100%; margin: 24px 0 0; text-align: center; }
	#support article { width: 90%; }
	#support .banner { display: block; }
	#support .banner a { width: 80%; margin: 16px auto 0; }
	#support .banner a:first-child { margin: 0 auto; }
}
