@charset "UTF-8";
.fs-l-footer {
	position: relative;
	border-top: none;
	background-color: #fff;
	color: #3c3c3c
}
.train_footer {
	width: 100%;
	margin: 0;
	position: relative
}
@media (max-width: 1200px) {
	.train_footer {
		min-width: 100%;
		background: #f2f7fa;
		padding: 40px 0 0;
		margin: 0 auto
	}
}
@media (max-width: 1200px) {
	.train_footer h2 {
		color: #222;
		font-size: 20px;
		line-height: 33px;
		letter-spacing: .04em;
		font-weight: 500;
		text-align: center;
		margin: 0 0 40px
	}
	.train_footer h2 span {
		color: #53a0d1;
		font-size: 12px;
		line-height: 16px;
		letter-spacing: .04em;
		font-weight: 500;
		margin: 0;
		text-align: center
	}
}
@media (max-width: 1200px) and (max-width: 1200px) {
	.train_footer h2 span {
		display: block;
		margin: 0 0 10px;
		font-family: Roboto, sans-serif
	}
}
.train_footer .footer__innar {
	display: flex;
	height: 710px
}
@media (max-width: 1200px) {
	.train_footer .footer__innar {
		height: auto;
		display: block
	}
}
.train_footer .footer__innar__l {
	background: #eaf0f7;
	padding: 90px 0 80px;
	width: 66.40625%;
	position: relative
}
@media (max-width: 1200px) {
	.train_footer .footer__innar__l {
		width: 100%;
		background: none;
		padding: 0
	}
}
.train_footer .footer__innar__l .foot_logo {
	position: absolute;
	bottom: 80px;
	left: 97px
}
.train_footer .footer__innar__l .f_box__wrap {
	width: 690px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	left: 16px;
	position: relative
}
@media (max-width: 1200px) {
	.train_footer .footer__innar__l .f_box__wrap {
		width: 100%;
		display: block;
		left: 0
	}
}
.train_footer .footer__innar__l .f_box dl.fb1 {
	height: 240px
}
@media (max-width: 1200px) {
	.train_footer .footer__innar__l .f_box dl.fb1 {
		height: auto
	}
}
.train_footer .footer__innar__l .f_box dl dt {
	margin: 0 0 9px
}
.train_footer .footer__innar__l .f_box dl dt a span {
	color: #222;
	font-size: 12px;
	line-height: 21px;
	letter-spacing: .06em;
	font-weight: 500;
	margin: 0;
	font-family: Roboto, sans-serif
}
.train_footer .footer__innar__l .f_box dl dd a {
	color: #222;
	font-size: 13px;
	line-height: 23px;
	letter-spacing: .06em;
	font-weight: 400;
	margin: 0;
	display: block
}
@media (max-width: 1200px) {
	.train_footer .footer__innar__l .f_box dl dt {
		margin: 0
	}
	.train_footer .footer__innar__l .f_box dl dt a {
		width: 100%;
		height: 55px;
		color: #222;
		font-size: 14px;
		line-height: 20px;
		letter-spacing: .06em;
		font-weight: 500;
		margin: 0;
		display: flex;
		align-items: center;
		padding: 0 0 0 20px;
		position: relative;
		border-bottom: 1px solid #cbddf5
	}
	.train_footer .footer__innar__l .f_box dl dt a span {
		color: #222
	}
	.train_footer .footer__innar__l .f_box dl dt a.on {
		border-bottom: 0
	}
	.train_footer .footer__innar__l .f_box dl dt a:after {
		content: "";
		background: url(../images/add.svg);
		display: block;
		width: 24px;
		height: 24px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
		margin: auto
	}
	.train_footer .footer__innar__l .f_box dl dt a.on:after {
		background: url(../images/remove.svg)
	}
	.train_footer .footer__innar__l .f_box dl dd {
		display: none
	}
	.train_footer .footer__innar__l .f_box dl dd a {
		width: 100%;
		height: 50px;
		color: #222;
		font-size: 12px;
		line-height: 20px;
		letter-spacing: .06em;
		font-weight: 400;
		margin: 0;
		display: flex;
		align-items: center;
		padding: 0 0 0 20px;
		position: relative;
		border-bottom: 1px solid #efe7e7;
		background: #fff
	}
	.train_footer .footer__innar__l .f_box dl dd a span {
		color: #222
	}
	.train_footer .footer__innar__l .f_box dl dd a:last-child {
		border-bottom: 0
	}
	.train_footer .footer__innar__l .f_box dl dd a:after {
		content: "";
		background: url(../images/common/arrow_menu_sp2.svg);
		display: block;
		width: 18px;
		height: 18px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
		margin: auto
	}
}
.train_footer .footer__innar__l .copy {
	font-family: Roboto, sans-serif;
	writing-mode: vertical-lr;
	font-size: 10px;
	font-weight: 100;
	color: #b3b3b3;
	letter-spacing: .06em;
	position: absolute;
	bottom: 100px;
	left: 46px;
	transform: rotate(180deg)
}
@media (max-width: 1200px) {
	.train_footer .footer__innar__l .copy {
		display: none
	}
}
.train_footer .footer__innar__r {
	background: #4474b7;
	padding: 145px 0 80px;
	width: 33.59375%
}
@media (max-width: 1200px) {
	.train_footer .footer__innar__r {
		width: 100%;
		padding: 80px 0 0
	}
	.train_footer .footer__innar__r .fi_top {
		padding: 0 0 80px
	}
	.train_footer .footer__innar__r .fi_bottom {
		padding: 40px 0 20px;
		background: #f2f7fa
	}
	.train_footer .footer__innar__r .fi_bottom .f_logo {
		width: 210px;
		display: block;
		margin: 0 auto 50px
	}
	.train_footer .footer__innar__r .fi_bottom .copy {
		font-family: Roboto, sans-serif;
		color: #b3b3b3;
		font-size: 10px;
		line-height: 10px;
		letter-spacing: .06em;
		font-weight: 100;
		margin: 0 0 15px;
		text-align: center
	}
}
.train_footer .footer__innar__r .r_box {
	text-align: center;
	margin: 0 auto 38px
}
.train_footer .footer__innar__r .p1 {
	color: #fff;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: .06em;
	font-weight: 300;
	margin: 0;
	text-align: center
}
.train_footer .footer__innar__r .p2 {
	font-family: Roboto, sans-serif;
	color: #fff;
	font-size: 44px;
	line-height: 54px;
	letter-spacing: .06em;
	font-weight: 500;
	margin: 0 0 15px;
	text-align: center
}
.train_footer .footer__innar__r .p2 img {
	height: 30px;
	margin-right: 10px;
	display: unset
}
@media (max-width: 1200px) {
	.train_footer .footer__innar__r .p2 {
		font-size: 33px;
		line-height: 43px
	}
	.train_footer .footer__innar__r .p2 img {
		height: 25px
	}
}
.train_footer .footer__innar__r .p3 {
	font-family: Roboto, sans-serif;
	color: #fff;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: .06em;
	font-weight: 500;
	margin: 6px 0 0;
	text-align: center
}
.train_footer .footer__innar .btn {
	width: 270px;
	height: 60px;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #222;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: .06em;
	font-weight: 500;
	margin: 0 auto 10px;
	background: #fff;
	border-radius: 5px
}
.train_footer .sns {
	margin: 50px auto 0
}
@media (max-width: 1200px) {
	.train_footer .sns {
		margin: 0 auto 40px
	}
}
.train_footer .sns p {
	font-family: Roboto, sans-serif;
	color: #fff;
	font-size: 16px;
	line-height: 21px;
	letter-spacing: .02em;
	font-weight: 500;
	margin: 0 0 20px;
	text-align: center
}
@media (max-width: 1200px) {
	.train_footer .sns p {
		font-family: Roboto, sans-serif;
		color: #2462aa;
		font-size: 16px;
		line-height: 21px;
		letter-spacing: .02em;
		font-weight: 500;
		margin: 0 0 20px;
		text-align: center
	}
}
.train_footer .sns ul {
	text-align: center
}
.train_footer .sns ul li {
	display: inline-block;
	margin: 0 3px
}
.pc_contents {
	display: block !important
}
.sp_contents {
	display: none !important
}
.pc_contents_common {
	display: block !important
}
.sp_contents_common {
	display: none !important
}
.sp_br {
	display: none
}
.pc_br {
	display: inline
}
@media screen and (max-width: 1080px) {
	.pc_contents_common {
		display: none !important
	}
	.sp_contents_common {
		display: block !important
	}
}
@media screen and (max-width: 1200px) {
	.pc_contents {
		display: none !important
	}
	.sp_contents {
		display: block !important
	}
	.sp_br {
		display: inline
	}
	.pc_br {
		display: none
	}
}
.for-pc {
	display: block
}
.for-sp {
	display: none
}
@media only screen and (max-width: 767px) {
	.for-pc {
		display: none
	}
	.for-sp {
		display: block
	}
}
.header {
	background: #fff
}
.header .container {
	padding-block: 10px
}
.header__logo {
	width: 200px
}
@media screen and (max-width: 766px) {
	.header__logo {
		width: 140px
	}
}
.footer {
	background: #6DBCED;
	padding-block: 40px;
	text-align: center;
	font-size: 14px;
	color: #fff
}
body {
	font-family: Noto Sans JP, sans-serif
}
*:focus-visible {
	outline: none
}
ul, ol, li {
	list-style: none;
	padding: 0;
	margin: 0
}
img {
	max-width: 100%;
	height: auto
}
a {
	color: inherit;
	text-decoration: none
}
a:hover {
	opacity: .8;
	cursor: pointer;
	color: inherit
}
*, h1, h2, h3, h4, h5, p, div {
	margin: 0;
	padding: 0
}
main {
	overflow: hidden;
	padding-top: 96px !important;
}
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0
}
.container-l {
	width: 90%;
	max-width: 1200px;
	margin-inline: auto
}
@media screen and (min-width: 1200px) {
	.container-l {
		max-width: 1200px
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.container-l {
		max-width: 1200px
	}
}
@media screen and (min-width: 767px) and (max-width: 1023px) {
	main {
		padding-top: 76px !important;
	}
}
@media screen and (max-width: 766px) {
	main {
		padding-top: 56px !important;
	}
	.container-l {
		width: 92%;
		max-width: 92%
	}
}
@media screen and (max-width: 374px) {
	.container-l {
		width: 92%;
		max-width: 92%
	}
}
.container-m {
	width: 85%;
	max-width: 1130px;
	margin-inline: auto
}
@media screen and (max-width: 766px) {
	.container-m {
		width: 92%
	}
}
.container-s {
	width: 80%;
	max-width: 900px;
	margin-inline: auto
}
@media screen and (max-width: 766px) {
	.container-s {
		width: 92%
	}
}
.d-none {
	display: none !important
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-none {
		display: none !important
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-none {
		display: none !important
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-block {
		display: block !important
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-block {
		display: block !important
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-flex {
		display: flex !important
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-flex {
		display: flex !important
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-grid {
		display: grid !important
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-grid {
		display: grid !important
	}
}
@media screen and (min-width: 1200px) {
	.d-xl-none {
		display: none !important
	}
}
@media screen and (min-width: 1200px) {
	.d-xl-block {
		display: block !important
	}
}
.grid-1-columns {
	display: grid;
	grid-template-columns: repeat(1, 1fr)
}
@media screen and (max-width: 766px) {
	.grid-1-columns {
		grid-template-columns: repeat(1, 1fr)
	}
}
.grid-2-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px
}
@media screen and (max-width: 766px) {
	.grid-2-columns {
		grid-template-columns: repeat(1, 1fr)
	}
}
.grid-3-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px
}
@media screen and (max-width: 766px) {
	.grid-3-columns {
		grid-template-columns: repeat(1, 1fr)
	}
}
.fw-bold {
	font-weight: 700
}
.text-underline {
	padding-bottom: 2px;
	border-bottom: 1px solid #000
}
.text-center {
	text-align: center
}
.position-relative {
	position: relative
}
.grid-column-span-2 {
	grid-column: span 2
}
body {
	font-family: Meiryo, Hiragino Kaku Gothic ProN, \30d2\30e9\30ae\30ce\89d2\30b4 ProN W3, Arial, sans-serif
}
.mv {
	background: #3abde7;
	padding-block: 56px 62px;
	position: relative
}
@media screen and (max-width: 766px) {
	.mv {
		background: transparent;
		padding-block: 0;
		aspect-ratio: 500/480
	}
}
.mv__image {
	width: 100vw
}
@media screen and (min-width: 1200px) {
	.mv__image {
		max-width: 1160px;
		margin-left: calc((100vw - 1000px)/2)
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.mv__image {
		max-width: 750px;
		margin-left: calc((100vw - 700px)/2)
	}
}
@media screen and (max-width: 766px) {
	.mv__image {
		max-width: unset;
		margin-left: unset;
		width: 100vw;
		margin-inline: calc(50% - 50vw)
	}
}
@media screen and (max-width: 766px) {
	.mv__image--01 {
		width: 143vw;
		padding-top: 50px
	}
}
@media screen and (max-width: 766px) {
	.mv__image--02 {
		position: absolute;
		margin-left: 5vw;
		width: 100vw;
		margin-top: max(-3vw, -20px)
	}
}
.mv__share {
	display: flex;
	gap: 16px;
	align-items: center;
	font-size: clamp(14px, 1.6vw, 16px);
	color: #fff !important;
	position: absolute;
	top: 5%;
	right: calc((100vw - 1200px)/2)
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.mv__share {
		right: calc((100vw - 700px)/2)
	}
}
.mv__share img {
	width: clamp(1.25rem, calc(1.1764705882vw + .9926470588rem), 1.875rem)
}
.mv__share:hover {
	cursor: pointer;
	opacity: .8;
	color: #fff !important;
}
@media screen and (max-width: 766px) {
	.mv__share {
		gap: 8px;
		top: 2%;
		right: 4%
	}
}
.section__title {
	font-size: clamp(20px, 3vw, 30px);
	font-weight: 700;
	text-align: center;
	position: relative;
	padding-bottom: 24px;
	margin-bottom: 30px
}
@media screen and (max-width: 766px) {
	.section__title {
		padding-bottom: 12px;
		margin-bottom: 19px
	}
}
.section__title--main {
	font-weight: 700;
	font-size: clamp(20px, 3vw, 30px);
	display: block;
	line-height: 40px
}
.section__title--sub {
	font-weight: 700;
	font-size: clamp(16px, 1.79999vw, 18px);
	display: block;
	line-height: 40px
}
@media screen and (max-width: 766px) {
	.section__title--sub {
		line-height: 1.5
	}
}
.section__title:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
	width: 100px;
	background: #000;
	height: 1px
}
.campaign {
	padding-block: 66px 108px
}
@media screen and (max-width: 766px) {
	.campaign {
		padding-block: 32px 72px
	}
}
.campaign__image {
	margin-bottom: 36px
}
@media screen and (max-width: 766px) {
	.campaign__image {
		margin-inline: auto
	}
}
.campaign__title {
	font-size: clamp(16px, 3.6vw, 36px);
	font-weight: 700;
	color: #222;
	text-align: center;
	margin-bottom: 0;
	line-height: 1.5
}
.campaign__title span {
	font-size: 130%;
	color: #cd5059;
}
.campaign__title-close {
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 700;
	color: #cd5059;
	text-align: center;
	line-height: 1.5
}
.campaign__text {
	font-size: clamp(12px, 2.2vw, 22px);
	line-height: 1.875;
	font-weight: 700;
	text-align: center;
	margin-bottom: 40px
}
.campaign__attention {
	text-align: center;
	margin-bottom: 20px
}
.campaign__text2 {
	font-size: clamp(10px, 1.6vw, 16px);
	line-height: 1.6;
	text-align: center;
	margin-bottom: 40px
}
.campaign__cta {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
	height: 100px;
	color: #fff;
	background: #ff545b;
	font-size: clamp(20px, 4vw, 40px);
	font-weight: 700;
	text-align: center;
	box-shadow: 5px 5px #0000001a;
	position: relative;
	margin-bottom: 32px;
	transition: all .2s ease
}
@media screen and (max-width: 766px) {
	.campaign__cta {
		height: 53px;
		margin-bottom: 32px
	}
}
.campaign__cta:hover {
	transform: translateY(5px);
	box-shadow: 0 0 #0000001a;
	opacity: .8;
	cursor: pointer
}
.campaign__cta:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 3%;
	transform: translateY(-50%);
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
	width: 51px;
	height: 40px;
	background-image: url(../images/mouse.svg)
}
@media screen and (max-width: 766px) {
	.campaign__cta:before {
		width: 30px;
		height: 24px
	}
}
.campaign__cta a {
	display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
.campaign__cta a,
.campaign__cta a:hover,
.campaign__cta a:visited,
.campaign__terms a:link {
	color: #fff !important;
    text-decoration: none;
}
.campaign__terms a,.campaign__terms a:hover,.campaign__terms a:visited,.campaign__terms a:link {
	color: #333 !important;
    text-decoration: none;
}
.campaign__terms {
	margin-bottom: 50px;
	border-bottom: 1px solid #999;
	max-width: 900px;
	margin-inline: auto
}
.campaign__terms li {
	text-indent: -1em;
	padding-left: 1em
}
.campaign__terms--text {
	font-size: clamp(14px, 1.6vw, 16px);
	padding-block: 32px 40px
}
.campaign__terms--open {
	height: 70px;
	border-top: 1px solid #999;
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 700;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	position: relative
}
@media screen and (max-width: 766px) {
	.campaign__terms--open {
		height: 52px
	}
}
.campaign__terms--open:hover {
	color: inherit
}
.campaign__terms--open:before, .campaign__terms--open:after {
	content: "";
	position: absolute;
	right: 3%;
	top: 50%;
	width: 3px;
	height: 20px;
	background: #000;
	transition: all .3s ease;
	transform: translateY(-50%)
}
@media screen and (max-width: 766px) {
	.campaign__terms--open:before, .campaign__terms--open:after {
		right: 5%
	}
}
.campaign__terms--open:after {
	transform: translateY(-50%) rotate(-90deg)
}
.campaign__terms--open[aria-expanded=true]:before {
	transform: translateY(-50%) rotate(90deg)
}
.campaign__terms--open[aria-expanded=true]:after {
	transform: translateY(-50%) rotate(90deg)
}
.campaign__next {
	max-width: 900px;
	text-align: center;
	margin-inline: auto
}
@media screen and (max-width: 766px) {
	.campaign__next--image {
		width: 90%;
		margin-inline: auto;
		max-width: 500px
	}
}
.campaign-item + .campaign-item {
	margin-top: 62px
}
.campaign-item__container {
	background: #fffdfd;
	padding: 70px 40px 60px;
	border: 5px solid #ec8088;
	margin-bottom: 70px
}
@media screen and (max-width: 766px) {
	.campaign-item__container {
		margin-bottom: 32px;
		padding: 50px 0 30px
	}
}
.campaign-item__container--inner {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
    display: grid;
	gap: 40px;
}
.campaign-item__container--inner .prizeimg {
    max-width: 1000px;
    width: 100%;
}
@media screen and (max-width: 766px) {
	.campaign-item__container--inner {
		grid-template-columns: 1fr;
		padding-inline: 23px
	}
}
.campaign-item__container--step {
	padding-inline: clamp(1.5rem, calc(3.0588235294vw + .8308823529rem), 3.125rem)
}
@media screen and (min-width: 1200px) {
	.campaign-item__container--step {
		display: grid;
		grid-template-columns: min(5.8vw, 70px) 4fr min(5.8vw, 70px) 3fr min(5.8vw, 70px) 3fr;
		gap: 20px
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__container--step {
		grid-template-columns: min(5.8vw, 70px) 1fr;
		gap: 32px
	}
}
@media screen and (max-width: 766px) {
	.campaign-item__container--step {
		grid-template-columns: min(70px, 15vw) 1fr;
		gap: 8px;
		margin-bottom: 0
	}
}
.campaign-item__name {
	font-size: clamp(17px, 2vw, 20px);
	font-weight: 700;
	text-align: center
}
@media screen and (max-width: 766px) {
	.campaign-item__name {
		font-size: clamp(16px, 1.79999vw, 18px);
		letter-spacing: -.05em
	}
}
.campaign-item__title {
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 50px;
	background: #ec8088;
	color: #FFF;
	margin-inline: auto;
	text-align: center;
	margin-bottom: -25px;
	position: relative
}
.campaign-item__text {
	font-size: clamp(12px, 1.8vw, 18px);
	font-weight: 700;
    text-align: center;
	margin-bottom: 50px
}
@media screen and (max-width: 766px) {
	.campaign-item__title {
		width: 195px;
		height: 30px;
		margin-bottom: -20px
	}
    .campaign-item__text {
        text-align: left;
	    margin-bottom: 40px;
        padding: 0 5%;
    }
}
.campaign-item__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	position: relative
}
@media screen and (max-width: 766px) {
	.campaign-item__item {
		padding-inline: 0;
		margin-bottom: 30px
	}
}
.campaign-item__item--01 {
	border-right: 1px solid #f3deb9;
	padding-right: 60px
}
@media screen and (max-width: 766px) {
	.campaign-item__item--01 {
		border: none;
		border-bottom: 1px solid #f3deb9;
		padding-bottom: 28px;
		margin-bottom: 28px;
		padding-inline: 0
	}
}
.campaign-item__item--02 {
	padding-left: 50px;
	padding-right: 50px;
}
@media screen and (max-width: 766px) {
	.campaign-item__item--02 {
		padding-inline: 0
	}
}
.campaign-item__badge {
	position: absolute;
	top: -15px;
	right: 30px;
	border-radius: 50%;
	background: #602f00;
	color: #fff;
	width: 110px;
	height: 110px;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__badge {
		width: 95px;
		height: 95px;
	}
}
@media screen and (max-width: 766px) {
	.campaign-item__badge {
		width: 85px;
		height: 85px;
		right: 0;
	}
}
.campaign-item__badge--01 {
	font-size: clamp(18px, 2.19999vw, 22px)
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__badge--01 {
		font-size: 20px
	}
}
.campaign-item__badge--01 span {
	font-family: Arial, sans-serif;
	font-size: 52px;
	font-size: clamp(24px, 5.2vw, 52px);
	display: block;
	line-height: 1
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__badge--01 span {
		font-size: 40px
	}
}
.campaign-item__badge--02 {
	font-size: clamp(18px, 2.19999vw, 22px)
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__badge--02 {
		font-size: 20px
	}
}
.campaign-item__image--01 {
	margin-bottom: 24px
}
@media screen and (min-width: 1200px) {
	.campaign-item__image--01 {
		width: 350px
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__image--01 {
		width: 300px
	}
}
@media screen and (max-width: 766px) {
	.campaign-item__image--01 {
		width: 90%;
		max-width: 400px
	}
}
.campaign-item__image--02 {
	margin-bottom: 24px
}
@media screen and (min-width: 1200px) {
	.campaign-item__image--02 {
		width: 314px
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__image--02 {
		width: 210px
	}
}
@media screen and (max-width: 766px) {
	.campaign-item__image--02 {
		width: 80%;
		max-width: 300px
	}
}
.campaign-item__num {
	border-radius: 50%;
	background: #222;
	color: #fff;
	width: 60px;
	height: 60px;
	font-family: Arial, sans-serif;
	font-size: 45px;
	font-size: clamp(22px, 4.5vw, 45px);
	font-style: italic;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center
}
@media screen and (max-width: 766px) {
	.campaign-item__num {
		width: 44px;
		height: 44px;
	}
}
.campaign-item__item-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 85px 70px 140px
}
@media screen and (max-width: 766px) {
	.campaign-item__item-container {
		display: block
	}
}
.campaign-item__item-title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.05em;
	margin-bottom: 16px
}
@media screen and (max-width: 766px) {
	.campaign-item__item-title {
		font-size: 16px;
		margin-bottom: 8px
	}
}
.campaign-item__item-text {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: -.05em;
	margin-bottom: 16px
}
@media screen and (max-width: 766px) {
	.campaign-item__item-text {
		font-size: 10px;
		max-width: 260px
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.campaign-item__item-text {
		max-width: 260px
	}
}
.campaign-item__item-image--01 {
	width: 276px
}
@media screen and (max-width: 766px) {
	.campaign-item__item-image--01 {
		width: 210px;
		margin-inline: auto;
		margin-bottom: 32px
	}
}
.campaign-item__item-image--02 {
	width: 163px
}
@media screen and (max-width: 766px) {
	.campaign-item__item-image--02 {
		width: 125px;
		margin-inline: auto;
		margin-bottom: 32px
	}
}
.campaign-item__item-image--03 {
	width: 200px
}
@media screen and (max-width: 766px) {
	.campaign-item__item-image--03 {
		width: 160px;
		margin-inline: auto;
		margin-bottom: 32px
	}
}
.movie {
	padding-block: 80px 114px;
	background: #e6edf7
}
@media screen and (max-width: 766px) {
	.movie {
		padding-block: 64px 52px
	}
}
.movie__item {
	/*aspect-ratio: 540/300;*/
	position: relative
}
.movie__item--image {
	position: relative
}
.movie__item--image:hover {
	opacity: 0.8;
	cursor: pointer
}
.movie__item--image:before {
	content: "";
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	height: 32px;
	background-image: url(data:image/png;base64,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);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	opacity: 1;
	pointer-events: none;
}

.movie__item--title {
	font-weight: 700;
	text-align: center;
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.25;
	margin-top: 12px
}
.movie__item img {
	margin-inline: auto
}
.movie__item-main {
	aspect-ratio: 900/507;
	margin-bottom: 32px
}
.movie__item-main--title {
	font-size: clamp(18px, 2.19999vw, 22px);
	font-weight: 700;
	text-align: center;
	line-height: 1.25;
	margin-top: 16px
}
.movie__item-main--image:before {
	width: 80px;
	height: 62px
}
@media screen and (max-width: 766px) {
	.movie__item-main--image:before {
		width: 40px;
		height: 32px
	}
}
.movie__lists {
	display: grid;
	justify-items: center;
	grid-template-columns: 1fr;
	gap: 27px
}
.movie__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	text-align: center
}
@media screen and (max-width: 766px) {
	.movie__lists {
		gap: 12px
	}
	.movie__list {
		grid-template-columns: 1fr;
		padding-top: 32px;
		gap: 32px
	}
}
.movie__list--container {
	background: #fff;
	padding: 16px 30px;
	width: 100%
}
.movie__list--title {
	font-size: clamp(18px, 2.19999vw, 22px);
	font-weight: 700;
	text-align: center;
	line-height: 1.25;
	margin-top: 8px;
	margin-bottom: 24px
}
.movie__list--title span {
	font-size: clamp(12px, 1.4vw, 14px);
    background: #FF0004;
    color: #FFFFFF;
    border-radius: 5px;
    padding: 2px 15px 1px 15px;
    margin-left: 10px;
    vertical-align: middle;
}
@media screen and (max-width: 766px) {
	.movie__list--title {
		display: flex;
		margin-block: 0;
		justify-content: center
	}
}
.movie__characters {
	border: 2px solid #fff;
	padding: 0 45px 20px;
	margin-bottom: 50px;
	margin-top: 66px
}
@media screen and (max-width: 766px) {
	.movie__characters {
		padding: 0 20px 20px
	}
}
.movie__characters--inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px
}
@media screen and (max-width: 766px) {
	.movie__characters--inner {
		grid-template-columns: 1fr;
		gap: 20px
	}
}
.movie__characters--title {
	text-align: center;
	font-size: clamp(19px, 2.5vw, 24px);
	font-weight: 700;
	margin-top: -16px;
	background: #e6edf7;
	padding-inline: 16px;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 24px;
	margin-inline: auto
}
@media screen and (max-width: 766px) {
	.movie__characters--title {
		margin-bottom: 32px
	}
}
.movie__character {
	display: grid;
	grid-template-columns: 1fr 40%;
	gap: 4px;
	align-items: center
}
.movie__character--name {
	color: #3bbee9;
	font-size: clamp(19px, 2.5vw, 24px);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 16px
}
.movie__character--text {
	font-size: clamp(13px, 1.5vw, 15px);
	line-height: 1.5
}
@media screen and (max-width: 766px) {
	.movie__character--image {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 150px;
		margin-inline: auto
	}
}
@media screen and (max-width: 766px) {
	.movie__character--01 {
		padding-bottom: 20px;
		border-bottom: 2px solid #fff
	}
}
.point {
	padding-block: 100px min(14vw, 176px)
}
@media screen and (max-width: 766px) {
	.point {
		padding-block: 52px 0
	}
}
.point__item {
	position: relative
}
.point__item:before {
	content: "";
	position: absolute;
	top: min(4vw, 50px);
	left: -80px;
	width: calc(100vw - ((100vw - 1130px)/2));
	aspect-ratio: 2560/1200;
	max-height: 550px;
	background-image: url("../images/point-bg01.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	z-index: -1
}
@media screen and (max-width: 766px) {
	.point__item:before {
		display: none;
		width: 100vw;
		aspect-ratio: 960/1600;
		max-height: max(140vw, 700px);
		top: 5vw;
		left: 0;
		background-image: url(../images/point-bg01-sp.png)
	}
}
.point__item--02:before {
	aspect-ratio: 2556/1200;
	background-image: url(../images/point-bg02.png);
	background-size: cover;
	max-height: 550px;
	left: unset;
	right: -80px
}
@media screen and (max-width: 766px) {
	.point__item--02:before {
		display: none;
		width: 100vw;
		top: 5vw;
		right: 0;
		aspect-ratio: 960/1600;
		max-height: max(140vw, 700px);
		background-image: url(../images/point-bg02-sp.png)
	}
}
.point__item--01 {
	margin-bottom: 104px
}
.point__item--02 {
	margin-bottom: 104px
}
@media screen and (max-width: 766px) {
	.point__item--01 {
		margin: 12vw 0;
		padding-block: 60px 33px;
		background-image: url(../images/point-bg01-sp.png);
		background-size: cover;
	}
	.point__item--02 {
		margin: 12vw 0;
		padding-block: 60px 33px;
		background-image: url(../images/point-bg02-sp.png);
		background-size: cover;
	}
}
.point__item--03:before {
	background-image: url(../images/point-bg03.png);
}
@media screen and (max-width: 766px) {
	.point__item--03 {
		margin: 12vw 0 18vw;
		padding-block: 60px 33px;
		background-image: url(../images/point-bg03-sp.png);
		background-size: cover;
	}
}
.point__item--num {
	font-size: clamp(30px, 6vw, 60px);
	color: #1457bb;
	text-align: center;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 40px
}
@media screen and (max-width: 766px) {
	.point__item--num {
		margin: -90px 0 20px
	}
}
.point__item--num--02 {
	color: #ea9200
}
.point__item--num--03 {
	color: #99cc99
}
.point__item--num span {
	font-style: italic;
	font-size: clamp(50px, 8vw, 80px);
	font-weight: 700
}
.point__item--title {
	font-weight: 700;
	font-size: clamp(16px, 2.19999vw, 22px);
	color: #1457bb;
	text-align: center;
	margin-bottom: 32px;
	line-height: 1.5
}
@media screen and (max-width: 766px) {
	.point__item--title {
		margin: 0 20px 24px
	}
}
.point__item--title--02 {
	color: #ea9200
}
.point__item--title--03 {
	color: #448b44
}
.point__item--images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px
}
@media screen and (max-width: 766px) {
	.point__item--images {
		grid-template-columns: 1fr;
		gap: 24px;
		text-align: center;
	}
}
@media screen and (max-width: 766px) {
	.point__item--image {
		width: 75vw;
		margin-inline: auto
	}
}
.point__item--text {
	font-size: clamp(12px, 1.6vw, 16px);
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
	margin-top: 12px
}
@media screen and (max-width: 766px) {
	.point__item--text {
		width: 80vw;
		margin-inline: auto
	}
}
.case-study__container {
	background: #fafafa;
	padding-block: 30px 72px
}
@media screen and (max-width: 766px) {
	.case-study__container {
		padding-block: 60px 33px
	}
}
.case-study__title {
	font-size: clamp(30px, 6vw, 60px);
	font-weight: 700;
	font-style: italic;
	text-align: center;
	line-height: 1.25;
	color: #ccc;
	margin-top: -70px
}
@media screen and (max-width: 766px) {
	.case-study__title {
		margin-top: -80px
	}
}
.case-study__text {
	padding-top: 32px;
	font-size: clamp(16px, 2.19999vw, 22px);
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 44px
}
@media screen and (max-width: 766px) {
	.case-study__text {
		padding-top: 16px;
		margin: 0 20px 24px;
	}
}
.case-study__list {
	width: 80%;
	max-width: 900px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px
}
@media screen and (max-width: 766px) {
	.case-study__list {
		width: 74vw;
		max-width: unset;
		grid-template-columns: 1fr;
		gap: 16px
	}
}
.case-study__item {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr
}
.case-study__item > picture, .case-study__item p {
	grid-column: 1/2;
	grid-row: 1/2
}
.case-study__item p {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(19px, 2.5vw, 24px);
	font-weight: 700;
	text-shadow: 0px 0px 3px rgb(255, 255, 255), 0px 0px 5px rgb(255, 255, 255), 0px 0px 10px rgb(255, 255, 255)
}
.case-study__item:hover {
	opacity: .8;
	cursor: pointer
}
/*.case-study__item:before {
	content: "";
	top: 0;
	left: 0;
	border-bottom: 86px solid transparent;
	border-left: 86px solid #d062ba;
	position: absolute;
	z-index: 100
}*/
/*.case-study__item:after {
	content: attr(data-text);
	display: block;
	top: 20px;
	left: 5px;
	transform: rotate(-45deg);
	color: #fff;
	position: absolute;
	z-index: 101;
	font-family: Arial, sans-serif;
	font-size: 13px;
	font-weight: 700
}*/
.new__icon {
    position: absolute;
    top: 15px;
    left: 10px;
    transform: rotate(-45deg);
    color: #fff;
    position: absolute;
    z-index: 101;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
}
.new__item:before {
	content: "";
	top: 0;
	left: 0;
	border-bottom: 86px solid transparent;
	border-left: 86px solid #FF0000;
	position: absolute;
	z-index: 100
}
.product {
	padding-block: 120px 80px
}
@media screen and (max-width: 766px) {
	.product {
		padding-block: 54px 48px
	}
}
.product__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 100px;
	margin-bottom: 100px
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.product__list {
		gap: 30px
	}
}
@media screen and (max-width: 766px) {
	.product__list {
		grid-template-columns: 1fr;
		gap: 32px
	}
}
.product__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}
@media screen and (max-width: 766px) {
	.product__item {
		margin-inline: auto;
		max-width: 350px
	}
}
.product__image {
	margin-bottom: 37px
}
@media screen and (max-width: 766px) {
	.product__image {
		margin-bottom: 16px;
		-o-object-fit: contain;
		object-fit: contain;
		height: unset;
		width: 80%
	}
}
.product__name {
	font-size: clamp(17px, 2vw, 20px);
	font-weight: 700;
	text-align: center;
	line-height: 2
}
.product__text {
	font-size: clamp(12px, 1.4vw, 14px);
	font-weight: 400;
	text-align: center;
	line-height: 1.7;
	margin-bottom: 20px
}
.product__buttons {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	width: 100%
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.product__buttons {
		gap: 8px
	}
}
@media screen and (max-width: 766px) {
	.product__buttons {
		grid-template-columns: 1fr;
		gap: 4px
	}
}
.product__button {
	width: 100%;
	height: 68px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff !important;
	font-size: 14px
}
@media screen and (min-width: 1200px) {
	.product__button {
		height: 34px
	}
}
@media screen and (max-width: 766px) {
	.product__button {
		width: 80%;
		height: 34px;
		margin: auto
	}
}
.product__button--information {
	background: #000
}
.product__button--information:hover {
	color: #fff
}
.product__button--movie {
	background: #cf0000
}
.product__button--movie:hover {
	color: #fff
}
.product__links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 52px;
	width: 100%
}
@media screen and (max-width: 766px) {
	.product__links {
		grid-template-columns: 1fr;
		gap: 16px
	}
}
.product__link {
	width: 100%;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff !important;
	font-size: clamp(17px, 2vw, 20px);
	font-weight: 700;
	box-shadow: 5px 5px #0000001a;
	transition: all .2s ease;
	position: relative
}
@media screen and (max-width: 766px) {
	.product__link {
		height: 75px
	}
}
.product__link:hover {
	transform: translateY(5px);
	box-shadow: 0 0 #0000001a
}
.product__link:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 3%;
	transform: translateY(-50%);
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat
}
.product__link--pro {
	background: #3abde7;
	padding-right: 25px;
	font-size: clamp(17px, 2vw, 20px)
}
@media screen and (max-width: 766px) {
	.product__link--pro {
		padding-right: 0;
	}
}
.product__link--pro:before {
	background-image: url(../images/search.svg);
	width: 36px;
	height: 36px
}
@media screen and (max-width: 766px) {
	.product__link--pro:before {
		width: 32px;
		height: 32px
	}
}
.product__link--pro:hover {
	color: #fff
}
.product__link--buy {
	background: #f7bd12
}
.product__link--buy:before {
	background-image: url(../images/buy.svg);
	width: 36px;
	height: 39px
}
.product__link--buy:hover {
	color: #fff
}
.sns {
	padding-bottom: 60px
}
.sns__title {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 16px
}
@media screen and (max-width: 766px) {
	.sns__title {
		font-size: 16px
	}
}
.sns__links {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px
}
@media screen and (max-width: 766px) {
	.sns__links {
		gap: 4px
	}
}
.sns__links img {
	border-radius: 5px;
	width: 44px;
	margin-inline: auto;
	margin-bottom: 8px
}
@media screen and (max-width: 766px) {
	.sns__links img {
		width: 30px
	}
}
.sns__links li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 13px
}
@media screen and (max-width: 766px) {
	.sns__links li a {
		font-size: 10px
	}
}
.sns__links li a:hover {
	color: #000
}
dialog {
	width: 90%;
	max-width: 920px;
	border: none;
	padding: 20px 60px;
	background: transparent;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
@media screen and (max-width: 766px) {
	dialog {
		width: 100%;
		padding-inline: 40px
	}
}
.dialog__movie {
	width: 90%;
	max-width: 1200px
}
@media screen and (max-width: 766px) {
	.dialog__movie {
		width: 100%
	}
}
.close {
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	width: 30px;
	height: 30px;
	background-color: transparent;
	border: none;
	outline: none
}
@media screen and (max-width: 766px) {
	.close {
		top: 10px;
		right: 10px
	}
}
.close:before, .close:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 24px;
	background-color: #fff
}
.close:before {
	transform: translate(-50%, -50%) rotate(45deg)
}
.close:after {
	transform: translate(-50%, -50%) rotate(-45deg)
}
dialog::backdrop {
	background: #000;
	opacity: .9
}
.open-button {
	position: relative
}
.open-button:before, .open-button:after {
	content: "";
	position: absolute;
	right: 3%;
	top: 50%;
	width: 3px;
	height: 20px;
	background: #000;
	transition: all .3s ease;
	transform: translateY(-50%)
}
.open-button:after {
	transform: translateY(-50%) rotate(-90deg)
}
.open-button[aria-expanded=true]:before {
	transform: translateY(-50%) rotate(90deg)
}
.open-button[aria-expanded=true]:after {
	transform: translateY(-50%) rotate(90deg)
}
.slider {
	position: relative;
	max-width: 800px;
	margin-inline: auto;
	aspect-ratio: 900/700
}
@media screen and (max-width: 766px) {
	.slider {
		width: 90%;
		margin-inline: auto
	}
}
.slider__item {
	display: grid !important;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr
}
.slider__item img, .slider__item div {
	grid-column: 1/2;
	grid-row: 1/2
}
.slider__item div {
	display: flex;
	align-items: flex-end;
	justify-content: center
}
@media screen and (max-width: 766px) {
	.slider__item div {
		font-size: 16px
	}
}
.slider__item div p {
	width: 100%;
	padding-block: 4px;
	background: rgba(0, 0, 0, .5);
	color: #fff;
	font-weight: 700;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center
}
.slider__main-image {
	display: block;
	width: 100%;
	margin: 0 auto
}
.slider__thumbnails {
	display: flex;
	justify-content: center;
	margin-top: 20px
}
@media screen and (max-width: 766px) {
	.slider__thumbnails {
		gap: 0
	}
}
@media screen and (max-width: 374px) {
	.slider__thumbnails {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-column-gap: 16px;
		grid-row-gap: 8px;
		place-items: center
	}
}
.slider__thumbnail {
	width: 50px;
	height: 50px;
	margin: 0 5px;
	cursor: pointer;
	-o-object-fit: cover;
	object-fit: cover
}
@media screen and (max-width: 766px) {
	.slider__thumbnail {
		width: 20px;
		height: 20px
	}
}
@media screen and (max-width: 374px) {
	.slider__thumbnail {
		width: 100%;
		height: 100%
	}
}
.slider__thumbnail--current {
	outline: 3px solid #fff
}
.slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	cursor: pointer;
	width: 43px
}
@media screen and (max-width: 766px) {
	.slider__arrow {
		top: 40%;
		width: 20px
	}
}
.slider__arrow--left {
	left: 0
}
@media screen and (max-width: 766px) {
	.slider__arrow--left {
		left: 5%
	}
}
.slider__arrow--right {
	right: 0
}
@media screen and (max-width: 766px) {
	.slider__arrow--right {
		right: 5%
	}
}
.modal__movie {
	aspect-ratio: 560/315
}