@charset "UTF-8";
@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {}
/* =====================================
	全体設定
===================================== */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}
/* =====================================
	header
===================================== */
@media screen and (min-width: 1441px) {
}

@media screen and (max-width: 1440px) and (min-width: 768px) {
	

}

@media screen and (max-width: 767px) {
	
	
}

@media screen and (min-width: 768px) {

#mv {
	z-index: 2;
	position: relative;
	width: 100%;
	/*height: calc(665/1380*100vw);*/
	overflow: hidden;
	min-width: 1200px;
}

#mv .img img {
	width: 100%;
	height: auto;
	animation: tf 1.5s ease;
}

#mv h2 {
	z-index: 3;
	position: absolute;
	left: 32px;
	top: 270px;
}
#mv .copy {
	z-index: 2;
	position: absolute;
	left: calc(118/1380*100%);
	top: 0;
	width: calc(316/1380*100%);
	margin-top: calc(289/1380*100%);
	animation: revealRight 1s 1s forwards;
	opacity: 0;
}
#mv .copy img {
	width: 100%;
	height: auto;
}
#mv .mv_bg {
	z-index: 2;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
#mv .mv_bg img {
	width: 100%;
	height: auto;
}

}
@keyframes tf {
	0% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1.0);
	}
}
@keyframes revealRight {
	0% {
		opacity: 1;
		clip-path: inset(0 100% 0 0); /* 最初は全隠し */
	}
	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0); /* 最終的に全体表示 */
	}
}
@media screen and (max-width: 767px) {
	#mv {
		z-index: 1;
		position: relative;
		overflow: hidden;
		width: 100%;
		padding: calc(110/750*100vw) 0 0;
	}
	#mv .copy{
		position: absolute;
		left: calc(39/750*100vw);
		top: calc(147/750*100vw);
		width: calc(369/750*100vw);
		animation: revealRight 1s 1s forwards;
		opacity: 0;
	}
	#mv .img img {
		animation: tf 1.5s ease;
	}
	#mv .mv_bg {
		z-index: 2;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	
}

/* =====================================
	content
===================================== */

@media screen and (min-width: 768px) {
#contents {
	position: relative;
	overflow-x: hidden;
}
#contents section {
}

#entry {
	position: relative;
	
}
#entry .inner{
	z-index: 3;
	position: absolute;
	top: -138px;
	left: 50%;
	transform: translateX(-50%);
	width: 1080px;
	margin: 0 auto;
	padding: 0;
}
#entry .inner h3{
	position: absolute;
	right: -121px;
	top: -44px;
}
#entry .box_container {
	display: flex;
	justify-content: space-between;

}
#entry .box_container .box {
	box-sizing: border-box;
	width: 352px;
	padding: 18px 18px 28px;
	background: #ffffff;
	border: 2px solid #95defc;
	border-radius: 20px;
	letter-spacing: 0.05em;

}
#entry .box_container .box .ttl {
	margin-bottom: 26px;
	text-align: center;
	line-height: 1.0;
}
#entry .box_container .box .ttl .main {
	margin-bottom: 11px;
	font-size: 32px;
	font-weight: 600;
}
#entry .box_container .box .ttl .sub {
	margin-bottom: 8px;
	font-size: 16px;
	font-weight: 600;
}
#entry .box_container .box .ttl .note {
	font-size: 12px;
}
#entry .box_container .box .btn {

}
#entry .box_container .box .btn li:first-child {
	margin-bottom: 10px;
}
a.btn01 {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 312px;
	height: 72px;
	line-height: 68px;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	color: #fff;
	background: #1ca7f6;
	border: 2px solid #1ca7f6;
	border-radius: 100px;
}
a.btn01 .arrow {
	position: absolute;
	right: 15px;
	top: 15px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	background-color: #ffffff;
}
a.btn01 .arrow span {
	display: inline-block;
	position: relative;
	width: 17px;
	height: 2px;
	background: #1ca7f6;
}

a.btn01 .arrow span::before {
	box-sizing: border-box;
	content: '';
	width: 10px;
	height: 10px;
	border: 2px solid #1ca7f6;
	border-left: 0!important;
	border-bottom: 0!important;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -1px;
}

a.btn01:hover {
	color: #1ca7f6;
	background: #ffffff!important;
	border: 2px solid #1ca7f6;

}
a.btn01:hover .arrow {
	background-color: #1ca7f6;
}
a.btn01:hover .arrow span {
	background: #ffffff!important;
}

a.btn01:hover .arrow span::before {
	border: 2px solid #ffffff!important;
	border-left: 0!important;
	border-bottom: 0!important;
}
	
a.btn01.un_t,
a.btn01.un_t .arrow span,
a.btn01.un_t:hover .arrow {
	background: #1ca7f6;
}
a.btn01.un_t,
a.btn01.un_t .arrow span::before,
a.btn01.un_t:hover{
	border: 2px solid #1ca7f6;
}
a.btn01.un_t:hover {
	color: #1ca7f6;
}
	
a.btn01.un_o,
a.btn01.un_o .arrow span,
a.btn01.un_o:hover .arrow {
	background: #768ee6;
}
a.btn01.un_o,
a.btn01.un_o .arrow span::before,
a.btn01.un_o:hover{
	border: 2px solid #768ee6;
}
a.btn01.un_o:hover {
	color: #768ee6;
}
	
a.btn01.hi_t,
a.btn01.hi_t .arrow span,
a.btn01.hi_t:hover .arrow {
	background: #f28389;
}
a.btn01.hi_t,
a.btn01.hi_t .arrow span::before,
a.btn01.hi_t:hover{
	border: 2px solid #f28389;
}
a.btn01.hi_t:hover {
	color: #f28389;
}
	
a.btn01.hi_o,
a.btn01.hi_o .arrow span,
a.btn01.hi_o:hover .arrow {
	background: #f49975;
}
a.btn01.hi_o,
a.btn01.hi_o .arrow span::before,
a.btn01.hi_o:hover{
	border: 2px solid #f49975;
}
a.btn01.hi_o:hover {
	color: #f49975;
}
	
a.btn01.ca_t,
a.btn01.ca_t .arrow span,
a.btn01.ca_t:hover .arrow {
	background: #12cf97;
}
a.btn01.ca_t,
a.btn01.ca_t .arrow span::before,
a.btn01.ca_t:hover{
	border: 2px solid #12cf97;
}
a.btn01.ca_t:hover {
	color: #12cf97;
}

a.btn01.ca_o,
a.btn01.ca_o .arrow span,
a.btn01.ca_o:hover .arrow {
	background: #a4d21a;
}
a.btn01.ca_o,
a.btn01.ca_o .arrow span::before,
a.btn01.ca_o:hover{
	border: 2px solid #a4d21a;
}
a.btn01.ca_o:hover {
	color: #a4d21a;
}

}

@media screen and (max-width: 767px) {
	#entry {
		background: #f9f8f8;
	}
	#entry .inner{
		z-index: 3;
		position: relative;
		width: calc(650/750*100%);
		margin: 0 auto;
		padding: calc(33/750*100%) 0 calc(60/750*100%);
	}
	#entry .inner h3{
		position: absolute;
		right: calc(-33/750*100vw);
		top: calc(20/750*100vw);
		width: calc(79/750*100vw);
		opacity: 0.7;
	}
	#entry .box_container {
	}
	#entry .box_container .box {
		box-sizing: border-box;
		width: 100%;
		margin-bottom: calc(23/750*100vw);
		padding: calc(33/750*100vw) calc(14/750*100vw) calc(23/750*100vw);
		background: #ffffff;
		border: calc(4/750*100vw) solid #95defc;
		border-radius: calc(30/750*100vw);
		letter-spacing: 0.05em;
	}
	#entry .box_container .box:last-child {
		margin-bottom: 0;
	}
	#entry .box_container .box .ttl {
		margin-bottom: calc(30/750*100vw);
		text-align: center;
		line-height: 1.0;
	}
	#entry .box_container .box .ttl .main {
		display: inline-block;
		margin-bottom: calc(10/750*100vw);
		font-size: calc(48/750*100vw);
		font-weight: 600;
	}
	#entry .box_container .box .ttl .sub {
		display: inline-block;
		margin-bottom: calc(10/750*100vw);
		font-size: calc(28/750*100vw);
		font-weight: 600;
	}
	#entry .box_container .box .ttl .note {
		font-size: calc(20/750*100vw);
	}
	#entry .box_container .box:first-child .ttl .note {
		display: none;
	}
	#entry .box_container .box .btn {
		display: flex;
		justify-content: space-between;
	}
	#entry .box_container .box .btn li:first-child {
	}
	a.btn01 {
		position: relative;
		display: block;
		box-sizing: border-box;
		width: calc(300/750*100vw);
		height: calc(108/750*100vw);
		padding: 0 0 0 calc(50/750*100vw);
		line-height: calc(100/750*100vw);
		text-align: left;
		font-size: calc(32/750*100vw);
		font-weight: 600;
		color: #fff;
		background: #1ca7f6;
		border: calc(4/750*100vw) solid #1ca7f6;
		border-radius: calc(100/750*100vw);
	}
	a.btn01 .arrow {
		position: absolute;
		right: calc(21/750*100vw);
		top: calc(21/750*100vw);
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		width: calc(58/750*100vw);
		height: calc(58/750*100vw);
		border-radius: 9999px;
		background-color: #ffffff;
	}
	a.btn01 .arrow span {
		display: inline-block;
		position: relative;
		width: calc(25/750*100vw);
		height: calc(3/750*100vw);
		background: #fff;
	}

	a.btn01 .arrow span::before {
		box-sizing: border-box;
		content: '';
		width: calc(13/750*100vw);
		height: calc(13/750*100vw);
		border: calc(3/750*100vw) solid #fff;
		border-left: 0!important;
		border-bottom: 0!important;
		transform: rotate(45deg);
		transform-origin: top right;
		position: absolute;
		top: 50%;
		right: calc(-2/750*100vw);
	}

	a.btn01.un_t,
	a.btn01.un_t .arrow span {
		background: #1ca7f6;
	}
	a.btn01.un_t,
	a.btn01.un_t .arrow span::before {
		border: 2px solid #1ca7f6;
	}

	a.btn01.un_o,
	a.btn01.un_o .arrow span {
		background: #768ee6;
	}
	a.btn01.un_o,
	a.btn01.un_o .arrow span::before {
		border: 2px solid #768ee6;
	}

	a.btn01.hi_t,
	a.btn01.hi_t .arrow span {
		background: #f28389;
	}
	a.btn01.hi_t,
	a.btn01.hi_t .arrow span::before {
		border: 2px solid #f28389;
	}

	a.btn01.hi_o,
	a.btn01.hi_o .arrow span {
		background: #f49975;
	}
	a.btn01.hi_o,
	a.btn01.hi_o .arrow span::before {
		border: 2px solid #f49975;
	}

	a.btn01.ca_t,
	a.btn01.ca_t .arrow span {
		background: #12cf97;
	}
	a.btn01.ca_t,
	a.btn01.ca_t .arrow span::before {
		border: 2px solid #12cf97;
	}

	a.btn01.ca_o,
	a.btn01.ca_o .arrow span {
		background: #a4d21a;
	}
	a.btn01.ca_o,
	a.btn01.ca_o .arrow span::before {
		border: 2px solid #a4d21a;
	}
	
}

@media screen and (min-width: 768px) {
	
section#topics {
	padding: 230px 0 200px;
	letter-spacing: 0.05em;
	background-color: #f9f8f8;
	background-image:
		url("../img/index/topics_bg01.png"),
		url("../img/index/topics_bg02.png")
	;
	background-position:
		center bottom,
		right top
	;
	background-repeat: no-repeat;
	background-size:
		100% auto,
		auto auto
	;
}
section#topics .inner {
	width: 1080px;
	margin: 0 auto;

}
section#topics h3 {
	margin-bottom: 40px;
	text-align: center;
	font-family: "Sora", sans-serif;
	font-weight: bold;
	font-size: 40px;
	letter-spacing: 0.05em;
	line-height: 1.0;
}
section#topics ul li {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	padding: 20px 40px;
	background: rgba(255,255,255,0.7);
}
section#topics ul li .day {
	width: 125px;
	font-family: "Sora", sans-serif;
	font-size: 14px;
}
section#topics ul li .cont {
	width: 875px;
}
section#topics ul li .cont .tag {
	display: inline-block;
	height: 30px;
	margin-bottom: 10px;
	padding: 0 14px;
	line-height: 30px;
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	background: #1ca7f6;
	border-radius: 6px;
}
.tag.un_t {
	background: #1ca7f6!important;
}
.tag.un_o {
	background: #768ee6!important;
}
.tag.hi_t {
	background: #f28389!important;
}
.tag.hi_o {
	background: #f49975!important;
}
.tag.ca_t {
	background: #12cf97!important;
}
.tag.ca_o {
	background: #a4d21a!important;
}

}

@media screen and (max-width: 767px) {
	section#topics {
		position: relative;
		padding: calc(80/750*100vw) 0 calc(100/750*100vw);
		letter-spacing: 0.05em;
		background-color: #f9f8f8;
		background-image: url("../img/index/sp/topics_bg01.png");
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}
	section#topics .bg {
		position: absolute;
		right: 0;
		top: calc(-175/750*100vw);
		width: calc(563/750*100vw);

	}
	section#topics .inner {
		position: relative;
		width: calc(650/750*100vw);
		margin: 0 auto;

	}
	section#topics h3 {
		margin-bottom: calc(50/750*100vw);
		text-align: center;
		font-family: "Sora", sans-serif;
		font-weight: bold;
		font-size: calc(50/750*100vw);
		letter-spacing: 0.05em;
		line-height: 1.0;
	}
	section#topics ul li {
		position: relative;
		margin-bottom: calc(10/750*100vw);
		padding: calc(20/750*100vw) calc(30/750*100vw);
		background: rgba(255,255,255,0.7);
	}
	section#topics ul li:last-child {
		margin-bottom: 0;
	}
	section#topics ul li .day {
		position: absolute;
		right: calc(25/750*100vw);
		top: calc(30/750*100vw);
		font-size: calc(24/750*100vw);
	}
	section#topics ul li .cont {
	}
	section#topics ul li .cont .tag {
		display: inline-block;
		height: calc(60/750*100vw);
		margin-bottom: calc(15/750*100vw);
		padding: 0 calc(20/750*100vw);
		line-height: calc(54/750*100vw);
		font-size: calc(26/750*100vw);
		font-weight: 600;
		color: #ffffff;
		background: #1ca7f6;
		border-radius: calc(10/750*100vw);
	}
	.tag.un_t {
		background: #1ca7f6!important;
	}
	.tag.un_o {
		background: #768ee6!important;
	}
	.tag.hi_t {
		background: #f28389!important;
	}
	.tag.hi_o {
		background: #f49975!important;
	}
	.tag.ca_t {
		background: #12cf97!important;
	}
	.tag.ca_o {
		background: #a4d21a!important;
	}
	
}
@media screen and (min-width: 768px) {
section#link {
	padding: 50px 0 70px;
	letter-spacing: 0.05em;
	background: url("../img/index/link_bg.png") left bottom no-repeat #beebf2;
}
section#link .inner {
	width: 1080px;
	margin: 0 auto;
}
section#link .linkarea {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
section#link .linkarea li {
	margin-bottom: 30px;
}
section#link h3 {
	margin-bottom: 30px;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
}
section#link .movie {
	display: flex;
	justify-content: space-between;
}
section#link .movie li {
}
section#link .movie li iframe {
	border-radius: 20px;
}

}

@media screen and (max-width: 767px) {
	section#link {
		padding: calc(60/750*100vw) 0 calc(180/750*100vw);
		letter-spacing: 0.05em;
		background: url("../img/index/link_bg.png") left bottom no-repeat #beebf2;
		background-size: calc(300/750*100vw) auto;
	}
	section#link .inner {
		width: calc(650/750*100vw);
		margin: 0 auto;
	}
	section#link .linkarea {
		margin-bottom: calc(80/750*100vw);
	}
	section#link .linkarea li {
		margin-bottom: calc(30/750*100vw);
	}
	section#link .linkarea li:last-child {
		margin-bottom: 0;
	}
	section#link h3 {
		margin-bottom: calc(40/750*100vw);
		text-align: center;
		font-size: calc(32/750*100vw);
		font-weight: 600;
	}
	section#link .movie {
	}
	section#link .movie li:first-child {
		margin-bottom: calc(30/750*100vw);
	}
	section#link .movie li iframe {
		border-radius: calc(20/750*100vw);
		width: 100%;
		height: calc(364/750*100vw);
	}
	
}
@media screen and (min-width: 768px) {

section#connection {
	padding: 60px 0 60px;
	letter-spacing: 0.05em;
	background: url("../img/index/connction_bg.png") center center no-repeat;
	background-size: cover;
}
section#connection .inner {
	width: 1080px;
	margin: 0 auto;
}
section#connection h3 {
	margin-bottom: 30px;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	color: #ffffff;
}
section#connection .linkarea {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section#connection .linkarea li {
	margin-bottom: 30px;
}

}

@media screen and (max-width: 767px) {
	section#connection {
		padding: calc(80/750*100vw) 0 calc(80/750*100vw);
		letter-spacing: 0.05em;
		background: url("../img/index/sp/connction_bg.png") center center no-repeat;
		background-size: cover;
	}
	section#connection .inner {
		width: calc(650/750*100vw);
		margin: 0 auto;
	}
	section#connection h3 {
		margin-bottom: calc(30/750*100vw);
		text-align: center;
		font-size: calc(32/750*100vw);
		font-weight: 600;
		color: #ffffff;
	}
	section#connection .linkarea {
	}
	section#connection .linkarea li {
		margin-bottom: calc(20/750*100vw);
	}
	
}

@media screen and (max-width: 767px) {
	.element {
		opacity: 0;
		visibility: hidden;
		transform: translateY(80px);
		transition: opacity 1s, visibility 1s, transform 1s;
	}
	.is-fadein {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	
	.element2 {
		opacity: 0;
		visibility: hidden;
		transform: translateX(-200px);
		transition: opacity 2s, visibility 2s, transform 0.5s;
	}
	.is-fadein2 {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	.offs .fadeIn_item{
		opacity: 0;
		transform: translateY(80px);
	}
	
	.ons .fadeIn_item {
		transition: all 1s cubic-bezier(0, 0, 0.13, 0.79);
		opacity: 1;
		transform: translateY(0);
	}
}
