@charset "utf-8";

.top-main {
	background-color: #ecf29d;
	padding-top: 40px;
	padding-bottom: 40px;
	position: relative;
	background-image: url(../img/top/bg_top_main.svg);
}
.top-main p.hoikushi {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 1rem;
	line-height: 1.4;
}
.top-main p.hoikushi-sub {
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 1rem;
}
.top-main p.jitsumu {
	color: #fff;
	display: inline-block;
	background-color: rgba(29, 147, 120, 0.5);
	border-radius: 100px;
	padding: 0.2rem 2rem;
	margin-bottom: 20px;
	font-size: 2rem;
}
.top-main h1 {
	font-size: 4.4rem;
	color: #1d9378;
	font-weight: bold;
	line-height: 1.4;
	text-shadow: 2px 0 0 #fff, 0 2px 0#fff, -2px 0 0 #fff, 0 -2px 0#fff;
}
.top-main-obi {
	background-color: #1d9378;
	padding: 20px 0;
	position: relative;
	margin-bottom: 100px;
}
.top-main-obi p {
	color: #ffe032;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
}
.top-main-obi p span {
	color: #fff;
	font-size: 2.2rem;
	font-weight: normal;
	margin-left: 0.5rem;
}
.top-main-baloon {
	background-color: #ea6d8d;
	border-radius: 300px;
	display: inline-block;
	position: absolute;
	top: 10px;
	right: 10px;
	width: 320px;
	height: 320px;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: rotate(5deg);
}
.top-main-baloon p {
	color: #fff;
	font-size: 2.7rem;
	line-height: 1.6;
	text-align: center;
}
.top-main-baloon p strong {
	font-size: 4.2rem;
}
.top-main-hoikushi {
	position: absolute;
	top: 10px;
	right: 160px;
	z-index: 1;
}
.top-main-hoikushi img {
	width: 300px;
	height: auto;
}
@media print, screen and (max-width: 1300px) {
	.top-main h1 {
		font-size: 3rem;
		line-height: 1.4;
	}
	.top-main-baloon {
		transform: scale(0.75);
		right: -20px;
		top: -30px;
		bottom: auto;
	}
	.top-main-hoikushi {
		top: auto;
		right: 200px;
		bottom: -30px;
	}
	.top-main-hoikushi img {
		width: 180px;
	}
}
@media print, screen and (max-width: 768px) {
	.top-main-baloon {
		transform: scale(0.8);
		top: auto;
		right: 30px;
		bottom: 60px;
	}
	.top-main-hoikushi {
		position: relative;
		top: 10px;
		right: 0px;
	}
	.top-main-hoikushi img {
		width: 200px;
	}
}
@media print, screen and (max-width: 600px) {
	.top-main h1 {
		font-size: 3rem;
		line-height: 1.4;
	}
	.top-main-baloon {
		transform: scale(0.7);
		bottom: 30px;
		right: -30px;
	}
}

@media print, screen and (max-width: 430px) {
	.top-main {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.top-main p.hoikushi {
		font-size: 2.2rem;
		line-height: 1.6;
	}
	.top-main p.hoikushi-sub {
		font-size: 1.8rem;
	}
	.top-main h1 {
		font-size: 2.6rem;
		line-height: 1.4;
	}
	.top-main-obi p {
		font-size: 2rem;
	}
	.top-main-obi p span {
		font-size: 1.8rem;
	}
	.top-main-baloon {
		transform: scale(0.6);
		top: auto;
		right: -50px;
		bottom: 40px;
	}
	.top-main-hoikushi {
		position: relative;
		top: 10px;
		right: 0px;
	}
	.top-main-hoikushi img {
		width: 200px;
	}
}

/*---------------------
 about
------------------------*/
.top-about .text {
	width: 60%;
}
.top-about .images {
	width: 40%;
	display: flex;
	justify-content: center;
}
.top-about .images img {
	width: 80%;
	object-fit: contain;
}

.top-about h2 {
	font-size: 2.4rem;
	font-weight: normal;
	margin-bottom: 30px;
}
.top-about h3 {
	font-size: 3.2rem;
	color: #1d9378;
	margin-bottom: 30px;
	line-height: 1.6;
}
@media print, screen and (max-width: 768px) {
	.top-about .text,
	.top-about .images {
		width: 100%;
	}
	.top-about .text {
		margin-bottom: 50px;
	}
	.top-about h2 {
		font-size: 2rem;
	}
	.top-about h3 {
		font-size: 2.4rem;
	}
}

/*---------------------
 point
------------------------*/
.top-point {
	background-color: #cde7e1;
	padding: 50px 0;
}
.top-point .contents-g {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 40px;
	grid-row-gap: 40px;
	max-width: 1200px;
	padding: 0 20px;
	margin: 0 auto;
	box-sizing: border-box;
}

.top-point-box {
	background: #fff url(../img/common/bg_corner_or.svg) top left no-repeat;
	border-radius: 10px;
	padding: 30px;
	box-sizing: border-box;
}
.grid1 {
	grid-area: 1 / 1 / 2 / 2;
}
.grid2 {
	grid-area: 2 / 1 / 3 / 2;
}
.grid3 {
	grid-area: 1 / 2 / 3 / 3;
}
.top-point-box h3 {
	text-align: center;
	color: #1d9378;
	font-size: 2.4rem;
	margin-bottom: 20px;
}
.top-point-box p {
	font-size: 1.8rem;
}
.top-point-box ul li {
	font-size: 1.8rem;
	line-height: 1.6;
	text-indent: -2.4rem;
	padding-left: 2.4rem;
}
.top-point-box ul li.no1::before {
	content: "❶";
	color: #1d9378;
	margin-right: 0.5rem;
}
.top-point-box ul li.no2::before {
	content: "❷";
	color: #1d9378;
	margin-right: 0.5rem;
}
.top-point .contents-f ul li {
	font-size: 1.6rem;
	line-height: 1.6;
	padding-left: 25px;
	margin-bottom: 10px;
	background-image: url(../img/common/ico_caution_b.svg);
	background-repeat: no-repeat;
	background-position: top 4px left;
}

@media print, screen and (max-width: 768px) {
	.top-point .contents-g {
		display: flex;
		flex-direction: column;
	}
	.top-point-box {
		width: 100%;
	}
	.top-point-box h3 {
		font-size: 2rem;
	}
	.top-point-box p,
	.top-point-box ul li {
		font-size: 1.6rem;
	}
}

/*--------
 movie-application
----------*/
.top-movie-application .top-movie::before {
	content: url(../img/top/ico_top_movie.svg);
}
.top-movie-application .top-application::before {
	content: url(../img/top/ico_top_notepc.svg);
}

.top-movie-application .top-movie,
.top-movie-application .top-application {
	width: calc((100% - 40px) / 2);
	text-align: center;
}
.top-movie-application .top-movie h2,
.top-movie-application .top-application h2 {
	font-size: 3.2rem;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 40px;
}
.top-movie-application .top-movie p,
.top-movie-application .top-application p {
	text-align: center;
}
.top-movie p.accent-r {
	font-size: 1.8rem;
}
.videoEmbed iframe {
	width: 90%;
	margin: 0 5%;
	height: auto;
	aspect-ratio: 4 /3;
}
.top-movie-application .top-application img {
	width: 70%;
	margin: 0 auto;
}
@media print, screen and (max-width: 768px) {
	.top-movie-application .top-movie,
	.top-movie-application .top-application {
		width: 100%;
	}
	.top-movie-application .top-movie {
		margin-bottom: 100px;
	}
}
/*--------
 information-download
----------*/
.top-information-download .top-information::before {
	content: url(../img/top/ico_top_microphone.svg);
}
.top-information-download .top-download::before {
	content: url(../img/top/ico_top_download.svg);
}

.top-information-download .top-information,
.top-information-download .top-download {
	width: calc((100% - 40px) / 2);
	text-align: center;
}
.top-information-download .top-information h2,
.top-information-download .top-download h2 {
	font-size: 3.2rem;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 40px;
}
.top-information-download .top-information p,
.top-information-download .top-download p {
	text-align: center;
}
.top-information-item ul {
	display: flex;
	justify-content: space-evenly;
}
.top-information-item ul li {
	font-size: 2rem;
	border-bottom: 2px solid #1d9378;
	padding: 0 1rem 1rem 1rem;
}
.top-information-item ul li.schedule::before {
	content: url(../img/top/ico_top_schedule.svg);
	margin-right: 10px;
	vertical-align: sub;
}

.top-information-item ul li.check::before {
	content: url(../img/top/ico_top_check.svg);
	margin-right: 10px;
	vertical-align: sub;
}

.top-download .contents-f {
	padding: 0;
}
.top-download .contents-f div {
	width: 50%;
}
@media print, screen and (max-width: 900px) {
	.top-download .contents-f div {
		width: 100%;
	}
}
@media print, screen and (max-width: 768px) {
	.top-information-download .top-information,
	.top-information-download .top-download {
		width: 100%;
	}
	.top-information-download .top-information {
		margin-bottom: 100px;
	}
	.top-information-item ul {
		flex-direction: column;
	}
	.top-information-item ul li.schedule {
		margin-bottom: 20px;
	}
}

/*--------
 osusume
----------*/
.top-osusume-ti div {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.top-osusume-ti p,
.top-osusume-ti h2 {
	text-align: center;
}
.top-osusume-ti p {
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
	display: inline-block;
	margin: 0 auto;
	background-image: url(../img/common/bg_dotborder_y.svg);
	background-repeat: repeat-x;
	background-position: bottom left;
	padding-bottom: 20px;
}
.top-osusume-ti h2 {
	font-size: 2.8rem;
	line-height: 1.6;
}

.top-osusume-ti h2 span {
	font-size: 2.4rem;
}
.top-osusume-ti h2 span.indoor {
	font-size: 3.4rem;
	color: #ea6d8d;
}
.top-osusume-ti h2 span.outdoor {
	font-size: 3.4rem;
	color: #00acbb;
}
@media print, screen and (max-width: 768px) {
	.top-osusume-ti p {
		font-size: 1.8rem;
	}
	.top-osusume-ti h2 {
		font-size: 2.1rem;
	}

	.top-osusume-ti h2 span.indoor,
	.top-osusume-ti h2 span.outdoor {
		font-size: 2.8rem;
	}
}

.top-osusume {
	gap: 40px;
}
.top-osusume div {
	width: calc((100% - 80px) / 3);
}
.top-osusume div h3 {
	font-size: 2.2rem;
	background-image: url(../img/common/bg_gizagizaborder_y.svg);
	background-repeat: repeat-x;
	background-position: bottom left;
	padding-bottom: 20px;
	text-align: center;
	margin-bottom: 30px;
}
.top-osusume div p {
	padding: 0 10px;
}
.top-osusume div img {
	max-height: 250px;
	margin: 0 auto 10px auto;
	width: auto;
}
@media print, screen and (max-width: 768px) {
	.top-osusume div {
		width: 100%;
		margin-bottom: 20px;
	}
	.top-osusume div:last-child {
		margin-bottom: 0;
	}
}

@media print, screen and (min-width: 1025px) {
	.top-point .contents-g {
		padding: 0 30px;
	}
}
/*--------
 media query
----------*/

@media print, screen and (max-width: 1160px) {
}
@media print, screen and (max-width: 768px) {
}
@media print, screen and (max-width: 600px) {
}
@media print, screen and (max-width: 430px) {
}
