@charset "UTF-8";

:root {
	/* font */
	--gothic: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--mincho: "Hiragino Mincho Pro", "游明朝", "Yu Mincho", YuMincho, serif;

	/* color */
	--blk: 62, 58, 57;
	--wht: 255, 255, 255;
	--gre: 0, 168, 80;
	--light-gre: 215, 238, 209;
}

/* ----------------------------------------------------
	基本設定
---------------------------------------------------- */
html {
	scroll-behavior: smooth;
}

/*
	reset
------------------------------ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	list-style: none;
}

p {
	word-wrap: break-word;
}

p:not(:last-of-type) {
	margin-bottom: 1em;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
#cpn_contents img {
	border: 0;
}

address,
b,
caption,
cite,
code,
dfn,
em,
i,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

caption,
th {
	text-align: left;
}

a {
	text-decoration: underline;
	transition: all 0.5s ease 0s;
}

a:hover {
	text-decoration: none;
	opacity: 0.7;
}

area {
	border: none;
	outline: none;
}

#cpn_contents img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*
	表示設定
------------------------------ */
body #cpn_contents {
	background: var(--wht);
	line-height: 1.8;
}

.container {
	margin: 0 auto;
	padding: 0 50px;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.container {
		padding: 0 4.8vw;
	}
}

/*
	font
------------------------------ */
body #cpn_contents {
	color: var(--blk);
	font-family: var(--gothic);
	font-feature-settings: "palt"1;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
	body #cpn_contents {
		font-size: 3.46667vw;
	}
}

/*
	SP,PC表示切り替え
------------------------------ */
.pc {
	display: block;
}

.sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

/*
	list
------------------------------ */
ul.list li {
	padding-left: 1.25em;
	text-indent: 0;
	position: relative;
}

ul.list li::before {
	margin-right: 0.25em;
	position: absolute;
	left: 0;
}

/* note */
ul.note li {
	font-size: 14px;
}

ul.note li::before {
	content: "※";
}

@media screen and (max-width: 768px) {
	ul.note li {
		font-size: 2.93333vw;
	}
}

/*
	linkBtn
------------------------------ */
.linkBtn a {
	background: rgb(var(--wht));
	height: 60px;
	color: rgb(0 46 168 / 82%);
	font-size: 17px;
	text-decoration: none;
	border-radius: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.linkBtn a svg {
	width: 15px;
	fill: rgb(0 46 168 / 82%);
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%) rotate(90deg);
}

.linkBtn a:hover {
	background: rgb(219 235 254 / 45%);
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.linkBtn a {
		height: 60px;
		font-size: 3.46667vw;
		border-radius: 60px;
	}
}

/* ---------------------------------------------------
	agbHeader
---------------------------------------------------- */
.agbHeader {
	display: flex;
}

@media screen and (max-width: 768px) {
	.agbHeader {
		flex-direction: column;
	}
}

/*
	headerMain
------------------------------ */
.agbHeader .headerMain {
	background: rgb(0 46 168 / 82%);
	width: 50%;
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.agbHeader .headerMain__title {
	width: 60%;
    margin: 40px auto 0 auto;
}

.agbHeader .linkBtn {
	margin-top: 2em;
	width: 76.09353%;
}

.agbHeader .linkBtn a {
	height: 64px;
	font-size: 20px;
	font-weight: bold;
	border-radius: 64px;
}

.agbHeader .linkBtn a svg {
	width: 1.37402vw;
	fill: rgb(0 46 168 / 82%);
}

@media screen and (max-width: 1050px) {
	.agbHeader .linkBtn a {
		height: 6.09524vw;
		font-size: 1.90476vw;
	}
}

@media screen and (max-width: 768px) {
	.agbHeader .headerMain {
		width: 100%;
		height: 66.5046525vw;
	}

	.agbHeader .headerMain__title,
	.agbHeader .linkBtn {
		width: 90.75931%;
	}

	.agbHeader .linkBtn {
		margin-top: 0.5em;
	}

	.agbHeader .linkBtn a {
		height: 10.88507vw;
		font-size: 3.46667vw;
		border-radius: 10.88507vw;
	}

	.agbHeader .linkBtn a:hover {
		background: rgb(219 235 254 / 45%);
		color: rgb(var(--wht));
	}

	.agbHeader .linkBtn a svg {
		width: 2.73597vw;
	}
}

/*
	headerSlide
------------------------------ */
.agbHeader .headerSlide {
	width: 50%;
	line-height: 0;
}

.agbHeader .headerSlide__item {
	overflow: hidden;
}

@keyframes imgZoomEffect {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.1);
	}
}

.imgZoom {
	animation: imgZoomEffect 10s forwards;
}

@media screen and (max-width: 768px) {
	.agbHeader .headerSlide {
		width: 100%;
	}
}

/* ---------------------------------------------------
	agbMain
---------------------------------------------------- */
.agbMain .articleTitle {
	margin-bottom: 1em;
	line-height: 1;
	color: rgb(0 46 168 / 82%);
	font-size: 34px;
	text-align: center;
}

.agbMain .articleTitle span {
	padding: 0 1.25em 2.3em;
	display: inline-block;
	position: relative;
}

@media screen and (max-width: 768px) {
	.agbMain .articleTitle {
		font-size: 5.86667vw;
	}
}

/* ---------------------------------------------------
	about
---------------------------------------------------- */
.agbMain .about {
	padding-top: 110px;
}

.agbMain .about__title {
	margin-bottom: 143px;
}

.agbMain .about__title span {
	background: url(../img/titleBg1.svg) center bottom no-repeat;
	background-size: 100% auto;
}

.agbMain .about .container {
	max-width: 1120px;
}

@media screen and (max-width: 768px) {
	.agbMain .about {
		padding-top: 14.66667vw;
	}

	.agbMain .about__title {
		margin-bottom: 11.17403vw;
	}
}

/*
	point
------------------------------ */
.agbMain .about .point__item {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.agbMain .about .point__item:not(:last-of-type) {
	margin-bottom: 144px;
}

.agbMain .about .point__item.reverse {
	flex-direction: row-reverse;
}

@media screen and (max-width: 1120px) {
	.agbMain .about .point__item:not(:last-of-type) {
		margin-bottom: 12.85714vw;
	}
}

@media screen and (max-width: 768px) {
	.agbMain .about .point__item {
		overflow: hidden;
		flex-direction: column-reverse;
	}

	.agbMain .about .point__item:not(:last-of-type) {
		margin-bottom: 17.05539vw;
	}

	.agbMain .about .point__item.reverse {
		flex-direction: column-reverse;
	}
}

/*
	pointDetail
------------------------------ */
.agbMain .about .pointDetail {
	width: 26.48218%;
	display: flex;
	align-items: center;
	position: relative;
}

.agbMain .about .pointDetail .pointTitle {
	width: 171px;
	position: absolute;
	top: -80px;
	right: -70px;
}

.agbMain .about .reverse .pointDetail .pointTitle {
	right: auto;
	left: -70px;
}

.agbMain .about .pointDetail__content {
	width: 100%;
}

.agbMain .about .pointDetail__content--title {
	margin-bottom: 0.5em;
	line-height: 1;
	display: flex;
	flex-direction: column;
}

.agbMain .about .pointDetail__content--title .block {
	margin-bottom: 1em;
	position: relative;
}

.agbMain .about .pointDetail__content--title .block span {
	background: rgb(0 46 168 / 82%);
	box-shadow: 0.5rem 0.5rem rgb(var(--blk));
	padding: 0.25rem;
	color: rgb(var(--wht));
	font-size: 36px;
	font-weight: bold;
	white-space: nowrap;
	display: inline-block;
}

.agbMain .about .pointDetail__content--title .block {
	right: -40%;
}

.agbMain .about .reverse .pointDetail__content--title .block {
	left: -40%;
}

@media screen and (max-width: 1120px) {
	.agbMain .about .pointDetail .pointTitle {
		width: 15.26786vw;
		top: -7.14286vw;
		right: -6.25vw;
	}

	.agbMain .about .reverse .pointDetail .pointTitle {
		left: -6.25vw;
	}

	.agbMain .about .pointDetail__content--title .block span {
		font-size: 3.21429vw;
	}

	.agbMain .about .pointDetail__content--text {
		font-size: 1.42857vw;
	}
}

@media screen and (max-width: 768px) {
	.agbMain .about .pointDetail {
		width: 100%;
		display: block;
	}

	.agbMain .about .pointDetail .pointTitle,
	.agbMain .about .reverse .pointDetail .pointTitle {
		width: 22.99944vw;
		position: relative;
		top: auto;
		right: auto;
		left: 0;
	}

	.agbMain .about .pointDetail__content--title .block span {
		font-size: 5.33333vw;
	}

	.agbMain .about .pointDetail__content--title .block,
	.agbMain .about .reverse .pointDetail__content--title .block {
		right: auto;
		left: 8vw;
	}

	.agbMain .about .pointDetail__content--text {
		padding: 0 2.4vw;
		font-size: 3.46667vw;
	}
}

/*
	illust
------------------------------ */
.agbMain .pointDetail .illust {
	position: absolute;
	top: -100px;
	left: -45px;
}

.agbMain .reverse .pointDetail .illust {
	right: -45px;
	left: auto;
}

.agbMain .point1 .pointDetail .illust {
	width: 141px;
}

.agbMain .point2 .pointDetail .illust {
	width: 110px;
}

.agbMain .point3 .pointDetail .illust {
	width: 72px;
}

.agbMain .point4 .pointDetail .illust {
	width: 104px;
}

@media screen and (max-width: 1120px) {
	.agbMain .pointDetail .illust {
		top: -8.92857vw;
		left: -4.01786vw;
	}

	.agbMain .reverse .pointDetail .illust {
		right: -4.01786vw;
	}

	.agbMain .point1 .pointDetail .illust {
		width: 12.58929vw;
	}

	.agbMain .point2 .pointDetail .illust {
		width: 9.82143vw;
	}

	.agbMain .point3 .pointDetail .illust {
		width: 6.42857vw;
	}

	.agbMain .point4 .pointDetail .illust {
		width: 9.01786vw;
	}
}

@media screen and (max-width: 768px) {

	.agbMain .pointDetail .illust,
	.agbMain .reverse .pointDetail .illust {
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
	}

	.agbMain .point1 .pointDetail .illust {
		width: 18.91317vw;
	}

	.agbMain .point2 .pointDetail .illust {
		width: 14.76459vw;
	}

	.agbMain .point3 .pointDetail .illust {
		width: 11.48445vw;
	}

	.agbMain .point4 .pointDetail .illust {
		width: 14.46147vw;
	}
}

/*
	point__image
------------------------------ */
.agbMain .about .point__image {
	width: 67.80378%;
}

@media screen and (max-width: 768px) {
	.agbMain .about .point__image {
		margin-bottom: 1em;
		width: 100%;
	}
}

/*
	fadeIn
------------------------------ */
.fadeBlock .opacityAnime {
	opacity: 0;
	transition: opacity 1s ease;
}

.fadeBlock.fadeIn .opacityAnime {
	opacity: 1;
}

.fadeBlock.fadeIn .point__image {
	transition-delay: 0s;
}

.fadeBlock.fadeIn .illust,
.fadeBlock.fadeIn .pointTitle {
	transition-delay: 0.5s;
}

.fadeBlock.fadeIn .pointDetail__content {
	transition-delay: 1s;
}

/* ---------------------------------------------------
	course
---------------------------------------------------- */
.agbMain .course {
	padding-top: 110px;
}

.agbMain .course__title span {
	background: url(../img/titleBg2.svg) center bottom no-repeat;
	background-size: 100% auto;
}

.agbMain .course .container {
	max-width: 1150px;
}

@media screen and (max-width: 768px) {
	.agbMain .course {
		padding-top: 14.66667vw;
	}
}

/*
	areaTab
------------------------------ */
.areaTab {
	display: flex;
}

.areaTab__item {
	background: rgb(219 235 254 / 45%);
	width: calc((100% - 25px) / 6);
	height: 53px;
	color: rgb(0 46 168 / 82%);
	font-size: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.5s ease;
	cursor: pointer;
}

.areaTab__item:not(:last-of-type) {
	margin-right: 5px;
}

.areaTab__item:hover,
.areaTab__item.active {
	background: rgb(0 46 168 / 82%);
	color: rgb(var(--wht));
}

@media screen and (max-width: 1150px) {
	.areaTab__item {
		width: calc((100% - 0.43478vw * 5) / 6);
		height: 4.6087vw;
		font-size: 1.56522vw;
	}

	.areaTab__item:not(:last-of-type) {
		margin-right: 0.43478vw;
	}
}

@media screen and (max-width: 768px) {
	.areaTab.container {
		padding: 0;
		flex-wrap: wrap;
	}

	.areaTab__item {
		margin-top: 5px;
		width: calc((100% - 10px) / 3);
		height: 10.66667vw;
		font-size: 3.73333vw;
	}

	.areaTab__item:not(:last-of-type) {
		margin-right: auto;
	}

	.areaTab__item:nth-child(3n) {
		margin-right: 0;
	}
}

/*
	areaContent
------------------------------ */
.areaContent {
	background: rgb(0 103 168 / 63%);
	padding: 60px 0;
	color: rgb(var(--wht));
}

@media screen and (max-width: 1150px) {
	.areaContent {
		padding-bottom: 5.21739vw;
	}
}

@media screen and (max-width: 768px) {
	.areaContent {
		padding-bottom: 8vw;
	}
}

/*
	prefectures
------------------------------ */
.prefecturesTab {
	padding: 60px 0;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.prefecturesTab__item {
	white-space: nowrap;
}

.prefecturesTab::before,
.prefecturesTab__item::after {
	content: "|";
}

.prefecturesTab__item span {
	margin: 0 0.5em;
	padding: 0.1em 0.25em;
	display: inline-block;
	transition: all 0.5s ease;
	cursor: pointer;
}

.prefecturesTab__item span:hover,
.prefecturesTab__item span.active {
	background: rgb(219 235 254 / 45%);
	color: rgb(0 46 168 / 82%);
	font-weight: bold;
}

@media screen and (max-width: 1150px) {
	.prefecturesTab {
		padding: 5.21739vw 0;
		font-size: 1.3913vw;
	}
}

@media screen and (max-width: 768px) {
	.prefecturesTab {
		margin-bottom: 6vw;
		padding: 8vw 0 5px;
		width: 100%;
		font-size: 3.2vw;
		flex-wrap: wrap;
	}

	.prefecturesTab__item {
		margin-bottom: 2vw;
	}

	.prefecturesTab::before {
		content: "";
	}

	.prefecturesTab__item.head::before {
		content: "|";
	}

	.prefecturesTab__item span {
		margin: 0 1em;
		padding: 0.1em 0.25em;
		display: inline-block;
		transition: all 0.5s ease;
		cursor: pointer;
	}
}

/*
	course__list
------------------------------ */
.course__list {
	display: flex;
	flex-wrap: wrap;
}

.course__item {
	margin-bottom: 2em;
	width: 47.61905%;
	display: flex;
	flex-direction: column;
}

.course__item--title .municipalities .linkBtn {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.course__item--title .municipalities .linkBtn a {
	padding: 0.25em 2em 0.25em 1em;
	height: auto;
	line-height: 1;
	color: rgb(0 46 168 / 82%);
	font-size: 14px;
	font-weight: bold;
}

.course__item--title .municipalities .linkBtn a svg {
	width: 12px;
	right: 0.5em;
}

.course__item:not(:nth-child(even)) {
	margin-right: calc(100% - (47.61905% * 2));
}

.course__image {
	margin-bottom: 1em;
}

.course__item--title {
	margin-bottom: 1em;
}

.course__item--title .municipalities {
	font-size: 18px;
	font-weight: normal;
	display: block;
	position: relative;
}

.course__item--title .name {
	line-height: 1.25;
	font-size: 29px;
	font-weight: bold;
	display: block;
}

.course__item--detail .text {
	margin-bottom: 1em;
}

.course__item--category .category {
	margin-bottom: 1em;
	display: flex;
	flex-wrap: wrap;
}

.course__item--category .category__item {
	margin: 0 0.5em 0.5rem 0;
	padding: 0.2em 0.5em;
	line-height: 1;
	font-size: 14px;
	white-space: nowrap;
	border: solid 1px rgb(var(--wht));
	border-radius: 20px;
}

.course__item--link {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.course__item--link .linkBtn {
	width: 48%;
}

.course__item--link .linkBtn.reservation {
	margin-top: 1em;
	width: 100%;
}

.course__item--link .linkBtn a {
	font-weight: bold;
}

@media screen and (max-width: 920px) {
	.course__item--title .municipalities {
		font-size: 1.95652vw;
	}

	.course__item--title .name {
		font-size: 3.15217vw;
	}

	.course__item--detail .text {
		font-size: 1.73913vw;
	}

	.course__item--category .category__item {
		font-size: 1.52174vw;
	}

	.course__item--link .linkBtn a {
		height: 6.52174vw;
		font-size: 1.73913vw;
	}
}

@media screen and (max-width: 768px) {
	.course__list {
		flex-direction: column;
	}

	.course__item {
		width: 100%;
	}

	.course__item:not(:last-of-type) {
		margin-bottom: 2em;
	}

	.course__item:not(:nth-child(even)) {
		margin-right: 0;
	}

	.course__item--title .municipalities {
		font-size: 4.26667vw;
	}

	.course__item--title .name {
		font-size: 6.4vw;
	}

	.course__item--detail .text {
		font-size: 3.46667vw;
	}

	.course__item--category .category__item {
		font-size: 3.2vw;
	}

	.course__item--link {
		display: block;
	}

	.course__item--link .linkBtn {
		width: 100%;
	}

	.course__item--link .linkBtn:not(:last-of-type) {
		margin-bottom: 0.5em;
	}

	.course__item--link .linkBtn.reservation {
		margin-top: 0;
	}

	.course__item--link .linkBtn a {
		height: 10.66667vw;
		font-size: 4.26667vw;
	}
}

/* ---------------------------------------------------
	contents
---------------------------------------------------- */
.agbMain .contents {
	padding: 110px 0 80px;
}

.agbMain .contents .container {
	max-width: 1200px;
}

.agbMain .contents__title {
	margin-bottom: 1em;
	line-height: 1;
	color: rgb(0 46 168 / 82%);
	font-size: 35px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.agbMain .contents {
		padding: 14.66667vw 0 10.66667vw;
	}

	.agbMain .contents__title {
		font-size: 5.86667vw;
	}
}

/*
	contents__movie
------------------------------ */
.contents__movie {
	margin-bottom: 4em;
	text-align: center;
}

.contents__movie a {
	margin: 0 auto;
	width: 50%;
	color: rgb(0 46 168 / 82%);
	font-size: 20px;
	font-weight: 600;
	border: solid 2px rgb(0 46 168 / 82%);
}

@media screen and (max-width: 768px) {
	.contents__movie a {
		width: 100%;
		font-size: 3.73333vw;
	}
}

/*
	contents__list
------------------------------ */
.agbMain .contents__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.agbMain .contents__item {
	margin-bottom: 2em;
	width: 48.30327%;
}

.agbMain .contents__item .banner__title {
	margin-bottom: 0.5em;
	line-height: 1;
	font-size: 25px;
	font-weight: 600;
	text-align: center;
}

@media screen and (max-width: 1150px) {
	.agbMain .contents__item .banner__title {
		font-size: 2.17391vw;
	}
}

@media screen and (max-width: 768px) {
	.agbMain .contents__list {
		flex-direction: column;
	}

	.agbMain .contents__item {
		width: 100%;
	}

	.agbMain .contents__item .banner__title {
		font-size: 4.8vw;
	}
}