@charset "UTF-8";

main {
	font-family: "TsukushiA-MaruGothic", "fot-tsukuardgothic-std", sans-serif;
	background: url(../images/top/page_bg_pc.png) 50% 0 / cover no-repeat;
}
@media screen and (max-width: 767px) {
	main {
		background-image: url(../images/top/page_bg_sp.png);
	}
}

p {
	font-weight: 600;
}

.sec-kv {
	position: relative;
  padding: 120px 30px;
  text-align: center;
  z-index: 9;
}
.sec-kv__inner {
  position: relative;
  z-index: 1;
}
.sec-kv__title {
  margin-bottom: 28px;
}
.sec-kv__illust-bottom {
	position: relative;
  max-width: 1337px;
  margin: -230px auto 0;
  text-align: left;
  z-index: 1;
}
.sec-kv__illust.sec-kv__illust--left {
  position: absolute;
  top: 158px;
  right: 65.5%;
}
.sec-kv__illust.sec-kv__illust--right {
  position: absolute;
  top: 158px;
  left: 65.8%;
}
.sec-kv::before {
  content: "";
  position: absolute;
  top: 120px;
  left: 0;
  width: 50%;
  bottom: 140px;
  background: url(../images/top/kv_star01_pc.png) 0 50% / auto 100% no-repeat;
  pointer-events: none;
}
.sec-kv::after {
  content: "";
  position: absolute;
  top: 100px;
  right: 0;
  width: 50%;
  bottom: 100px;
  background: url(../images/top/kv_star02_pc.png) 100% 50% / auto 100% no-repeat;
  pointer-events: none;
}
.sec-kv__inner::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -122px;
  width: 100%;
  max-width: 1104px;
  height: 45px;
  background: url(../images/top/star_line_pc.png) 50% 50% / contain no-repeat;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
	.sec-kv {
	  padding: 14.2vw 4.53vw 10.66vw 5.333vw;
	}
	.sec-kv__title {
  	width: 75.06vw;
  	margin: 0 auto 5.33vw;
	}
	.sec-kv__logo {
  	width: 51.6vw;
  	margin: 0 auto 0.8vw;
	}
	.sec-kv__illust-bottom {
  	width: 88.93vw;
  	margin: 0 auto;
	}
	.sec-kv__illust-row {
  	display: flex;
  	padding-left: 3vw;
  	margin-top: 3.73vw;
  	justify-content: center;
	}
	.sec-kv__illust.sec-kv__illust--left,
	.sec-kv__illust.sec-kv__illust--right {
  	position: unset;
	}
	.sec-kv__inner::after {
  	bottom: -10.66vw;
  	height: 3.733vw;
	}
	.sec-kv::before {
  	top: 3.2vw;
  	bottom: auto;
  	width: 28.133vw;
  	height: 154.26vw;
  	background-image: url(../images/top/kv_star01_sp.png);
	}
	.sec-kv::after {
  	top: 2.933vw;
  	bottom: auto;
  	width: 32.26vw;
  	height: 147.33vw;
  	background-image: url(../images/top/kv_star02_sp.png);
	}
}

.sec-about {
  position: relative;
  padding: 124px 20px 150px;
  font-size: 24px;
  text-align: center;
  color: #FFF;
  line-height: 1.8;
  font-weight: 600;
}
.sec-about__inner {
  position: relative;
  z-index: 1;
}
.sec-about__title {
  display: block;
  margin-bottom: 68px;
  font-size: 35px;
  font-weight: 600;
}
.sec-about::before {
  content: "";
  position: absolute;
  top: 44px;
  bottom: -48px;
  left: 0;
  width: 50%;
  background: url(../images/top/section1_star01_pc.png) 0 50% / 335px auto no-repeat;
  pointer-events: none;
}
.sec-about::after {
  content: "";
  position: absolute;
  top: 58px;
  bottom: -8px;
  right: 60px;
  width: 50%;
  background: url(../images/top/section1_star02_pc.png) 100% 50% / 246px auto no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
	.sec-about {
	  padding: 9.33vw 4.8vw 21.866vw;
	}
	.sec-about__illust {
  	margin-right: -4.8vw;
  	margin-bottom: 2.93vw;
	}
	.sec-about__title {
  	margin-bottom: 3.46vw;
  	font-size: 4.3vw;
  	letter-spacing: -0.2vw;
	}
	.sec-about__text {
  	font-size: 2.9vw;
  	letter-spacing: -0.15vw;
	}
	.sec-about::before {
  	top: 54.93vw;
  	bottom: auto;
  	width: 17.86vw;
  	height: 91.066vw;
  	background: url(../images/top/section1_star01_sp.png) 50% 50% / 100% 100% no-repeat;
	}
	.sec-about::after {
  	top: 70.39vw;
  	right: 0;
  	bottom: auto;
  	width: 25.06vw;
  	height: 87.73vw;
  	background: url(../images/top/section1_star02_sp.png) 50% 50% / 100% 100% no-repeat;
	}
}

.sec-movie {
  position: relative;
  text-align: center;
  color: #FFF;
}
.sec-movie__inner {
  position: relative;
  padding-bottom: 120px;
  z-index: 1;
}
.sec-movie__logo {
  padding-right: 160px;
}
.sec-movie__video {
	position: relative;
  max-width: 900px;
  margin: 0 auto 52px;
  font-size: 0;
  border: 4px solid #2988c8;
  border-radius: 20px;
  overflow: hidden;
}
.sec-movie__video::before {
	content: "";
	display: block;
	width:100%;
  padding-top:56.25%;
}
.sec-movie__text {
  display: block;
  margin: 52px 0 56px;
  font-size: 35px;
  line-height: 1.2;
  font-weight: 700;
}
.sec-movie__video video,
.sec-movie__video iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.sec-movie__app-text {
  display: block;
  margin-bottom: 38px;
  font-size: 29px;
  font-weight: 600;
  text-align: center;
}
.sec-movie__app-info {
  display: flex;
  max-width: 660px;
  margin: 0 auto 50px;
  gap: 0 42px;
  align-items: center;
}
.sec-movie__app-detail {
  padding-top: 18px;
}
.sec-movie__app-top {
  display: flex;
  margin-bottom: 7px;
  font-size: 13px;
  text-align: left;
  line-height: 1.6;
  font-weight: 600;
  gap: 38px;
  align-items: center;
}
.sec-movie__btn {
  display: flex;
  justify-content: center;
}
.sec-movie__app-btns {
  text-align: left;
}
.btn {
  display: flex;
  width: 100%;
  max-width: 230px;
  height: 52px;
  font-size: 22px;
  font-weight: 500;
  color: #FFF;
  background: #002763;
  border: 4px solid #FFF;
  border-radius: 50px;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(3px 3px 13px rgba(30, 81, 151, 0.4));
}
.sec-movie__btn .btn {
	letter-spacing: -5px;
}
.sec-movie::before {
	content: "";
	position: absolute;
	top: 124px;
	left: 50px;
	bottom: 180px;
	width: 50%;
	background: url(../images/top/section2_star01_pc.png) 0 50% / auto no-repeat;
	pointer-events: none;
}
.sec-movie::after {
  content: "";
  position: absolute;
  top: 162px;
  right: 56px;
  bottom: 160px;
  width: 50%;
  background: url(../images/top/section2_star02_pc.png) 100% 5% / auto no-repeat;
  pointer-events: none;
}
.sec-movie__inner::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100%;
  max-width: 1104px;
  height: 45px;
  background: url(../images/top/star_line_pc.png) 50% 50% / contain no-repeat;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
	.sec-movie__inner {
  	padding-bottom: 9.33vw;
	}
	.sec-movie__logo {
	  width: 62.4vw;
	  padding-right: 13.6vw;
	  margin: 0 auto;
	}
	.sec-movie__text {
  	margin: 7.46vw 0 12vw;
  	font-size: 5.066vw;
	}
	.sec-movie__video {
  	margin: 0 5.86vw 5.33vw 3.46vw;
  	border-width: 2px;
  	border-radius: 2.66vw;
	}
	.sec-movie__app-text {
  	margin-bottom: 3.733vw;
  	font-size: 2.93vw;
	}
	.sec-movie__app-info {
  	max-width: 75.33vw;
  	padding-right: 4.26vw;
  	margin-bottom: 3.2vw;
  	gap: 4.8vw;
	}
	.sec-movie__app-icon {
  	width: 34.26vw;
	}
	.sec-movie__app-top {
  	margin-bottom: 1.73vw;
  	font-size: 1.66vw;
  	gap: 3.5vw;
	}
	.sec-movie__app-logo {
  	width: 10.4vw;
	}
	.sec-movie__app-desc {
		white-space: nowrap;
	}
	.sec-movie__app-btns {
  	display: flex;
  	gap: 0 1.46vw;
	}
	.sec-movie__app-btn img {
  	width: auto;
  	height: 4.66vw;
	}
	.btn {
	  max-width: 28.66vw;
	  height: 6.66vw;
	  font-size: 2.666vw;
	  letter-spacing: 0;
  	border-width: 0.53vw;
	}
	.sec-movie__btn .btn {
  	letter-spacing: -0.5vw;
	}
	.sec-movie::before {
  	top: 18.4vw;
  	left: 0;
  	width: 15.06vw;
  	height: 97.6vw;
  	bottom: auto;
  	background: url(../images/top/section2_star01_sp.png) 0 50% / 100% 100% no-repeat;
	}
	.sec-movie::after {
  	top: 36vw;
  	right: 0;
  	bottom: auto;
  	width: 18.66vw;
  	height: 106.26vw;
  	background: url(../images/top/section2_star02_sp.png) 100% 50% / 100% 100% no-repeat;
	}
	.sec-movie__inner::after {
  	height: 3.733vw;
	}
}

.sec-info {
  position: relative;
  padding: 48px 20px 34px;
  font-size: 26px;
  text-align: center;
  line-height: 1.8;
  color: #FFF;
  font-weight: 600;
}
.sec-info__inner {
  position: relative;
  z-index: 1;
}
.sec-info__title {
	position: relative;
  padding-top: 114px;
  margin-bottom: 56px;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
}
.sec-info__title small {
  display: block;
  margin-bottom: 16px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: -0.5px;
}
.sec-info__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 99px;
	height: 73px;
	background: url(../images/top/section3_titleicon_pc.png) 50% 50% / contain no-repeat;
	transform: translateX(-50%);
}
.sec-info::before {
	content: "";
	position: absolute;
	top: 100px;
	left: 0;
	bottom: -188px;
	width: 50%;
	background: url(../images/top/section3_star01_pc.png) 0 50% / auto no-repeat;
	pointer-events: none;
}
.sec-info::after {
	content: "";
	position: absolute;
	top: 109px;
	right: 64;
	bottom: -235px;
	width: 50%;
	background: url(../images/top/section3_star02_pc.png) 100% 50% / auto no-repeat;
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.sec-info {
  	padding: 6.66vw 6.66vw 11.46vw;
	}
	.sec-info__title {
  	padding-top: 14.39vw;
  	margin-bottom: 6.93vw;
  	font-size: 5.066vw;
	}
	.sec-info__title small {
  	margin-bottom: 3.2vw;
  	font-size: 3.46vw;
	}
	.sec-info__title::before {
  	width: 13.2vw;
  	height: 9.73vw;
	}
	.sec-info__text {
  	font-size: 3.466vw;
  	font-weight: 600;
  	letter-spacing: -0.2vw;
	}
	.sec-info::before {
	  top: 16.26vw;
	  bottom: auto;
	  width: 16.8vw;
	  height: 77.2vw;
	  background: url(../images/top/section3_star01_sp.png) 0 50% / 100% 100% no-repeat;
	}
	.sec-info::after {
	  top: 16.4vw;
	  right: 0;
	  bottom: auto;
	  width: 12.66vw;
	  height: 67.6vw;
	  background: url(../images/top/section3_star02_sp.png) 100% 50% / 100% 100% no-repeat;
	}
}

.sec-products {
  position: relative;
  padding: 0 54px 198px;
  text-align: center;
  color: #FFF;
}
.sec-products__inner {
  position: relative;
  z-index: 1;
}
.sec-products__title {
	position: relative;
	padding-top: 86px;
  margin-bottom: 92px;
  font-size: 38px;
  font-weight: 700;
  letter-spacing: -1px;
}
.sec-products__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 102px;
	height: 59px;
	background: url(../images/top/section4_titleicon_pc.png) 50% 50% / contain no-repeat;
	transform: translateX(-50%);
}
.sec-products__title small {
  display: block;
  margin-top: 20px;
  font-size: 26px;
  letter-spacing: 2px;
}
.sec-products__row {
	position: relative;
  display: flex;
  max-width: 1286px;
  margin: 0 auto;
  justify-content: space-between;
  z-index: 1;
}
.sec-products__row::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/top/section4_star01_pc.png) 47.5% 24% / auto no-repeat;
	pointer-events: none;
}
.sec-products__card {
  position: relative;
  width: 48.5%;
  max-width: 622px;
  padding: 64px 50px 60px;
  z-index: 1;
}
.sec-products__card.card_green {
	color: #00914e;
	background: url(../images/top/section4_productbg01_pc.png) 50% 50% / 100% 100% no-repeat;
}
.sec-products__card.card_blue {
	color: #00adce;
	background: url(../images/top/section4_productbg02_pc.png) 50% 50% / 100% 100% no-repeat;
}
.sec-products__card.card_green::before {
  content: "";
  position: absolute;
  top: -30px;
  left: -23px;
  width: 114px;
  height: 98px;
  background: url(../images/top/section4_productill01_pc.png) 50% 50% / contain no-repeat;
}
.sec-products__card.card_blue::before {
  content: "";
  position: absolute;
  top: -48px;
  right: -12px;
  width: 123px;
  height: 99px;
  background: url(../images/top/section4_productill02_pc.png) 50% 50% / contain no-repeat;
}
.sec-products__card-img {
  margin-right: -35px;
}
.sec-products__card-text {
  margin: 36px 0 60px;
  font-size: 21px;
  line-height: 1.5;
  font-weight: 600;
}
.sec-products__card-desc {
  margin-bottom: 20px;
  font-size: 24px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: -1px;
}
.sec-products__card-price {
  display: block;
  margin-bottom: 40px;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.1;
}
.sec-products__card-price small {
	font-size: 22px;
}
.sec-products__card-name {
  margin-bottom: 26px;
  font-size: 34px;
  font-weight: 600;
}
.sec-products__card-name span {
  display: block;
  margin: 3px 0;
  font-size: 46px;
}
.sec-products__card-price p {
  font-weight: 600;
}
.sec-products__card-btns .btn {
  margin: 0 auto 10px;
}
.btn.btn_green {
  background: #00914e;
  filter: drop-shadow(3px 3px 13px rgba(66, 109, 13, 0.4));
}
.btn.btn_blue {
  background: #00adce;
  filter: drop-shadow(3px 3px 13px rgba(80, 127, 142, 0.4));
}
.btn.btn-more::after {
  content: "▶︎";
  display: inline-block;
  margin: 0 -17px 0 20px;
}
.sec-products__bottom {
  position: relative;
  padding: 128px 54px 98px;
  margin: 0 -54px;
  font-size: 29px;
  line-height: 1.6;
  font-weight: 700;
}
.sec-products__bottom::after {
	content: "";
	position: absolute;
	top: -74px;
	left: 0;
	right: 0;
	bottom: -120px;
	background: url(../images/top/section4_star02_pc.png) 50% 0 / 100% auto no-repeat;
	pointer-events: none;
}
.sec-products__bottom-title {
  display: flex;
  margin-bottom: 40px;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 700;
  justify-content: center;
}
.sec-products__bottom-title span {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sec-products__bottom-title span::before {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  background: url(../images/top/section4_titlestar_pc.png) 50% 50% / contain no-repeat;
}
.sec-products__bottom-title span::after {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  background: url(../images/top/section4_titlestar_pc.png) 50% 50% / contain no-repeat;
}
.sec-products__bottom-text {
  max-width: 880px;
  margin: 0 auto;
}
.sec-products__bottom-text dl {
  display: flex;
  gap: 24px;
}
.sec-products__note {
  font-size: 20px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
	.sec-products {
	  padding: 0 6.66vw 17.06vw;
	}
	.sec-products__title {
  	padding-top: 12vw;
  	margin-bottom: 8vw;
  	font-size: 5.06vw;
	}
	.sec-products__title small {
  	margin-top: 2.4vw;
  	font-size: 3.46vw;
	}
	.sec-products__title::before {
  	width: 13.6vw;
  	height: 7.86vw;
	}
	.sec-products__row {
  	flex-wrap: wrap;
  	gap: 8.53vw;
	}
	.sec-products__card {
  	width: 100%;
  	margin: 0 auto;
  	padding: 8.26vw 6.93vw 5.33vw;
	}
	.sec-products__card-title img {
  	width: auto;
  	height: 10.4vw;
  	margin: 0 auto;
	}
	.sec-products__card-text {
  	margin: 4.26vw 0 8.533vw;
  	font-size: 3vw;
  	line-height: 1.7;
	}
	.sec-products__card-img {
  	margin-right: -5.5vw;
	}
	.sec-products__card-desc {
  	margin-bottom: 2.66vw;
  	font-size: 3.33vw;
	}
	.sec-products__card-name span {
  	margin: 0.4vw 0;
  	font-size: 6.4vw;
	}
	.sec-products__card-price p {
	  margin-bottom: 3.73vw;
	  font-size: 4.666vw;
	  font-weight: 600;
	}
	.sec-products__card-price {
  	margin-bottom: 5.33vw;
  	font-size: 3.733vw;
	}
	.sec-products__card-price small {
  	font-size: 3.06vw;
	}
	.sec-products__card-btns .btn {
  	max-width: 40vw;
  	height: 8vw;
  	padding-top: 0.2vw;
  	margin-bottom: 1.33vw;
  	font-size: 4vw;
	}
	.btn.btn-more::after {
  	margin: 0 -3vw 0 4vw;
  	font-size: 87%;
	}
	.sec-products__card.card_green {
		background-image: url(../images/top/section4_productbg01_sp.png);
	}
	.sec-products__card.card_blue {
		background-image: url(../images/top/section4_productbg02_sp.png);
	}
	.sec-products__card.card_green::before {
		top: -4.93vw;
		left: -1.6vw;
		width: 14.26vw;
		height: 12.53vw;
	}
	.sec-products__card.card_blue::before {
		top: -6.66vw;
		right: -1.73vw;
		width: 17.06vw;
		height: 13.6vw;
	}
	.sec-products__row::after,
	.sec-products__bottom::after {
		content: none;
	}
	.sec-products::before {
	  content: "";
	  position: absolute;
	  top: 32.8vw;
	  left: 0;
	  width: 21.33vw;
	  height: 562vw;
	  background: url(../images/top/section4_star01_sp.png) 0 50% / 100% 100% no-repeat;
	  pointer-events: none;
	}
	.sec-products::after {
	  content: "";
	  position: absolute;
	  top: 34.13vw;
	  right: 0;
	  width: 18.53vw;
	  height: 556.4vw;
	  background: url(../images/top/section4_star02_sp.png) 100% 50% / 100% 100% no-repeat;
	  pointer-events: none;
	}
	.sec-products__bottom {
  	padding: 6.66vw 5.33vw 8vw;
  	margin: 0 -6.66vw;
  	font-size: 3.86vw;
	}
	.sec-products__bottom-title {
  	margin-bottom: 5.33vw;
  	font-size: 3.86vw;
	}
	.sec-products__bottom-title span {
  	gap: 0 2vw;
	}
	.sec-products__bottom-title span::before,
	.sec-products__bottom-title span::after {
  	width: 4.8vw;
  	height: 4.8vw;
	}
	.sec-products__bottom-text dl {
		text-align: left;
  	letter-spacing: 0;
  	gap: 2vw;
	}
	.sec-products__bottom-text dl dt {
  	white-space: nowrap;
	}
	.sec-products__note {
  	font-size: 2.13vw;
	}
}

.sec-kv__modal-btn {
  display: flex;
  justify-content: center;
}
.sec-kv__modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .7);
	z-index: 9999;
	justify-content: center;
	align-items: center;
}
.sec-kv__modal-overlay.is-open {
	display: flex;
}
.sec-kv__modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
	color: #fff;
	font-size: 30px;
	cursor: pointer;
}
.sec-kv__modal-video {
	width: 90%;
	max-width: 480px;
	padding-top: 140px;
}
.sec-kv__modal-video video {
	width: 100%;
	max-height: 52vh;
}
@media screen and (max-width: 767px) {
	.sec-kv__modal-btn {
	  margin-top: 2vw;
	}
	.sec-kv__modal-video {
  	padding-top: 90px;
	}
}