@charset "UTF-8";

/* common */
html, body, div, p, h1, h2, h3, ul, ol, li {
	margin: 0;
	padding: 0;
}

body {
	font-size: 16px;
	color: #555;
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
}

.font2 {
	font-family: "Noto Serif JP", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

a {
	text-decoration: none;
}

a:hover {
	opacity: 0.7;
}

img {
	width: 100%;
	max-height: 100%;
	vertical-align: bottom;
}

h1, h2, h3 {
	font-weight: normal;
}

li {
	list-style: none;
}

header,
main,
footer {
	max-width: 1280px;
	margin: auto;
}

header {
	position: relative;
}

main {
	position: relative;
}

main h2 {
	margin-bottom: 0.5em;
}

footer {
	width: 100%;
	background: #000;
	color: #fff;
}

main .container,
footer .container {
	position: relative;
	padding: 2rem 5%;
	box-sizing: border-box;
}

footer a {
	color: #fff;
}

.ssmall {
	font-size: 65%;
}

.small {
	font-size: 80%;
}

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

@media screen and (min-width: 751px){
	.sp {
		display: none;
	}

	.box {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 5%;
	}
}

@media screen and (max-width: 750px){
	.no-sp {
		display: none;
	}

	body {
		font-size: 13px;
	}

	h1 {
		font-size: 5.5vw;
	}
	h2 {
		font-size: 5.5vw;
	}
	h3 {
		font-size: 5vw;
	}

	main .container,
	footer .container {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}
}

/* parts */
.greeting .container {
	background: url(./images/greeting_bg.jpg) top center no-repeat;
	background-size: 100% auto;
}

.voice .container {
	background: url(./images/voice_bg.jpg) top center no-repeat;
	background-size: 100% auto;
}

@media screen and (min-width: 751px){
	.voice .box p {
		margin: 2em 0 3em 0;
	}
}

@media screen and (max-width: 750px){
	.voice .box p {
		margin: 1em 0 2em 0;
	}
}

.kids h3 {
	font-size: 165%;
	font-weight: bold;
}

.kids .container p {
	margin-bottom: 1.5em;
}

.kids .container p:last-child {
	margin-bottom: 0;
}

.chimu .box {
	padding: 2em 5%;
}

.chimu ul li {
	background-repeat: no-repeat;
	background-size: cover;
}

.chimu ul li:nth-of-type(1) {
	background-position: center center;
}
.chimu ul li:nth-of-type(2) {
	background-position: top left;
}
.chimu ul li:nth-of-type(3) {
	background-position: top left;
}
.chimu ul li:nth-of-type(4) {
	background-position: center center;
}
.chimu ul li:nth-of-type(5) {
	background-position: center center;
}

.chimu dl {
	display: grid;
	margin-top: 0.5em;
	line-height: 2;
	gap: 2px;
}

.chimu dt {
	text-align: center;
	color: #eb6a42;
	font-size: 120%;
	text-shadow: -2px -2px 2px #fff, -2px 0 2px #fff, 0 -2px 2px #fff, 0 0 2px #fff, 0 2px 2px #fff, 2px 0 2px #fff, 2px 2px 2px #fff, -2px -2px 2px #fff, -2px 0 2px #fff, 0 -2px 2px #fff, 0 0 2px #fff, 0 2px 2px #fff, 2px 0 2px #fff, 2px 2px 2px #fff;
}

.chimu dd {
	margin: 0;
	background: #eb6a42;
	border-radius: 5px;
	color: #fff;
	text-align: center;
}

.chimu ul li:nth-child(1) dd,
.chimu ul li:nth-child(2) dd {
	background: #a09323;
}

@media screen and (min-width: 751px){
	.chimu ul .box {
		grid-template-columns: 1fr 1.5fr;
	}

	.chimu ul li:nth-of-type(1) {
		background-image: url(./images/chimu_bg1.jpg);
	}
	.chimu ul li:nth-of-type(2) {
		background-image: url(./images/chimu_bg2.jpg);
	}
	.chimu ul li:nth-of-type(3) {
		background-image: url(./images/chimu_bg3.jpg);
	}
	.chimu ul li:nth-of-type(4) {
		background-image: url(./images/chimu_bg4.jpg);
	}
	.chimu ul li:nth-of-type(5) {
		background-image: url(./images/chimu_bg5.jpg);
	}

	.chimu ul .box > *:last-child {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.chimu ul dl {
		grid-template-columns: 1fr 1fr;
	}

	.chimu ul dt {
		grid-column: span 2;
	}
}

@media screen and (max-width: 750px){
	.chimu ul .box > *:first-child {
		margin-bottom: 1em;
	}

	.chimu ul li:nth-of-type(1) {
		background-image: url(./images/chimu_bg1_sp.jpg);
	}
	.chimu ul li:nth-of-type(2) {
		background-image: url(./images/chimu_bg2_sp.jpg);
	}
	.chimu ul li:nth-of-type(3) {
		background-image: url(./images/chimu_bg3_sp.jpg);
	}
	.chimu ul li:nth-of-type(4) {
		background-image: url(./images/chimu_bg4_sp.jpg);
	}
	.chimu ul li:nth-of-type(5) {
		background-image: url(./images/chimu_bg5_sp.jpg);
	}
}

.howto {
	background: #dfd2a8;
}

.howto .box > * {
	background: #fff;
}

.howto .box > *:first-child {
	border: 1px solid #6d6d6d;
}

.howto .box h2 {
	margin-bottom: 0;
	background: #6d6d6d;
	color: #fff;
	text-align: center;
	line-height: 2;
}

.howto .box h3 {
	margin-bottom: 0.25rem;
	font-size: 115%;
	font-weight: bold;
}

.howto .box > *:last-child {
	padding: 2em;
	border: 1px solid #6d6d6d;
	font-size: 90%;
}

.howto .box > *:last-child img {
	width: 8em;
}

@media screen and (min-width: 751px){
	.howto .box {
		grid-template-columns: 0.75fr 1fr;
	}

	.howto .box > *:first-child .box2 {
		padding: 2em;
	}

	.howto .box > *:last-child .box2 {
		display: grid;
		grid-template-columns: 1fr 10em;
	}

	.howto .box > *:last-child {
		padding: 2em;
	}

	.howto .box > *:last-child .box2 > *:last-child {
		text-align: right;
	}
}

@media screen and (max-width: 750px){
	.howto .box > *:first-child {
		margin-bottom: 1em;
	}

	.howto .box > *:first-child .box2 {
		padding: 1.5em;
	}

	.howto .box > *:last-child {
		padding: 1em;
	}

	.howto .box > *:last-child .box2 > *:last-child {
		margin-top: 0.5em;
		text-align: center;
	}
}

.about .container:first-of-type {
	background: url(./images/about_bg.jpg) center center no-repeat;
	background-size: cover;
}

.about h2 {
	font-weight: bold;
}

.about .box2 {
	margin-bottom: 2em;
}

.about .box2 > *:first-child {
	line-height: 1.75;
}

.about .box2 > *:last-child {
	margin: auto;
	text-align: center;
}

.about .box2 > *:last-child img {
	width: 120px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: top center;
}

.about .box2 p {
	margin-bottom: 1em;
}

.about .box2 p:last-child {
	margin-bottom: 0;
}

.about .box2 > *:last-child {
	margin-top: 1em;
}

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

}

@media screen and (max-width: 750px){
	.about h2 {
		text-align: center;
	}
}

.agent .container {
	background: url(./images/agent_bg.jpg) center center no-repeat;
	background-size: cover;
}

.agent h2 {
	width: 90%;
	max-width: 1024px;
	margin: 0 auto 1em auto;
	color: #6a4a06;
	text-align: center;
}

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

}

@media screen and (max-width: 750px){
	.agent h2 {
		font-size: 4.25vw;
	}
}

aside {
	position: fixed;
	z-index: 9;
}

aside .container {
	display: grid;
	margin: 0;
	padding: 0;
}

@media screen and (min-width: 751px){
	aside {
		bottom: 10px;
		right: 0;
	}

	aside .container {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	aside img {
		height: 20vw;
		max-height: 256px;
		border-radius: 5px 0 0 5px;
	}
}

@media screen and (max-width: 750px){
	aside {
		bottom: 2px;
		left: 0;
	}

	aside .container {
		grid-template-columns: 1fr 1fr;
		gap: 2px;
	}

	aside a:first-child {
		grid-row: 1;
		grid-column: 2;
	}

	aside img {
		border-radius: 5px 5px 0 0;
	}
}

footer .copy {
	text-align: center;
}

@media screen and (max-width: 750px){
	footer .copy {
		font-size: 12px;
		padding-bottom: 9vw;
	}
}