@charset "UTF-8";
/* reset 
============================================ */
#l_container html,
#l_container body,
#l_container div,
#l_container span,
#l_container applet,
#l_container object,
#l_container iframe,
#l_container h1,
#l_container h2,
#l_container h3,
#l_container h4,
#l_container h5,
#l_container h6,
#l_container p,
#l_container blockquote,
#l_container pre,
#l_container a,
#l_container abbr,
#l_container acronym,
#l_container address,
#l_container big,
#l_container cite,
#l_container code,
#l_container del,
#l_container dfn,
#l_container em,
#l_container img,
#l_container ins,
#l_container kbd,
#l_container q,
#l_container s,
#l_container samp,
#l_container small,
#l_container strike,
#l_container strong,
#l_container sub,
#l_container sup,
#l_container tt,
#l_container var,
#l_container b,
#l_container u,
#l_container i,
#l_container center,
#l_container dl,
#l_container dt,
#l_container dd,
#l_container ol,
#l_container ul,
#l_container li,
#l_container fieldset,
#l_container form,
#l_container label,
#l_container legend,
#l_container table,
#l_container caption,
#l_container tbody,
#l_container tfoot,
#l_container thead,
#l_container tr,
#l_container th,
#l_container td,
#l_container article,
#l_container aside,
#l_container canvas,
#l_container details,
#l_container embed,
#l_container figure,
#l_container figcaption,
#l_container footer,
#l_container header,
#l_container hgroup,
#l_container menu,
#l_container nav,
#l_container output,
#l_container ruby,
#l_container section,
#l_container summary,
#l_container time,
#l_container mark,
#l_container audio,
#l_container video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
#l_container ol,
#l_container ul {
	list-style: none;
}
#l_container table {
	border-collapse: collapse;
	border-spacing: 0;
}
#l_container caption,
#l_container th,
#l_container td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
#l_container q,
#l_container blockquote {
	quotes: none;
}
#l_container q:before,
#l_container q:after,
#l_container blockquote:before,
#l_container blockquote:after {
	content: "";
	content: none;
}
#l_container a img {
	border: none;
}
#l_container article,
#l_container aside,
#l_container details,
#l_container figcaption,
#l_container figure,
#l_container footer,
#l_container header,
#l_container hgroup,
#l_container main,
#l_container menu,
#l_container nav,
#l_container section,
#l_container summary {
	display: block;
}
#l_container * {
	box-sizing: border-box;
	outline: none;
	backface-visibility: hidden;
}
#l_container *:before,
#l_container *:after {
	box-sizing: border-box;
}

/* root 
============================================ */
:root {
	--1rem_pc: 10px;
}

@media screen and (max-width: 750px) {
	:root {
		--1rem_sp: 1.3333333333vw;
	}
}
/* #l_container
============================================ */
#l_container {
	max-width: 625px;
	min-height: 100vh;
	min-height: 100dvh;
	margin-left: auto;
	margin-right: auto;
	opacity: 0;
	pointer-events: none;
	line-height: 1.4;
	position: relative;
	color: #000;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;
	font-size: min(4.16vw, 26px);
	font-weight: 500;
	-webkit-font-smoothing: antialiased;
}

.loaded #l_container {
	opacity: 1;
	transition: opacity 1s;
	pointer-events: auto;
}

#l_container {
	/*  modal */
}
#l_container main {
	position: relative;
}
#l_container a {
	color: inherit;
	text-decoration: none;
	transition: 0.25s;
}
#l_container a:hover {
	opacity: 0.5;
}
#l_container img {
	display: block;
	max-width: 100%;
}
@media only screen and (max-width: 768px) {
	#l_container .-pc {
		display: none !important;
	}
}
@media only screen and (min-width: 769px) {
	#l_container .-sp {
		display: none !important;
	}
}
#l_container .inview:not(.view) {
	opacity: 0.01;
}
#l_container .inview.view {
	opacity: 1;
	animation: view 0.5s backwards;
}
@keyframes view {
	0% {
		opacity: 0.01;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
#l_container .inview2:not(.view) {
	opacity: 0.01;
	transition: opacity 0.25s;
}
#l_container .inview2.view {
	opacity: 1;
	transition: opacity 0.25s;
}
#l_container .inviews:not(.view) > * {
	opacity: 0.01;
}
#l_container .inviews.view > * {
	opacity: 1;
	animation: views 0.5s backwards;
}
@keyframes views {
	0% {
		opacity: 0.01;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
#l_container .inviewParent {
	position: relative;
}
#l_container .inviewTrigger {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	z-index: -1;
	pointer-events: none;
}
@media only screen and (min-width: 769px) {
	#l_container .inviewTrigger {
		top: 40%;
	}
}
#l_container .inviewChild:not(.view) {
	opacity: 0.001;
	transition: opacity 0.25s;
}
#l_container .inviewChild.view {
	opacity: 1;
	transition: opacity 0.25s;
}
#l_container .bold {
	font-weight: bold;
}
#l_container .left {
	text-align: left;
}
#l_container .right {
	text-align: right;
}
#l_container .line {
	background: linear-gradient(to bottom, transparent 0%, transparent 50%, rgba(255, 222, 89, 0.5) 50%);
}
#l_container .pink {
	color: #ff66c4;
	font-weight: bold;
}
#l_container .red {
	color: #ff3131;
	font-weight: bold;
}
#l_container .button {
	padding-left: min(0.8vw, 5px);
	padding-right: min(0.8vw, 5px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .button a,
#l_container .button span {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
#l_container .button a::before,
#l_container .button span::before {
	position: absolute;
	content: "";
	bottom: 0;
	left: -20%;
	width: 40px;
	height: 70%;
	transform: scale(2) rotate(30deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
	animation: shine 3.5s ease-in-out infinite;
}
@keyframes shine {
	0% {
		left: -20%;
	}
	10% {
		left: 120%;
	}
	100% {
		left: 120%;
	}
}
#l_container .button.button01 {
	width: min(98.24vw, 614px);
}
#l_container .button.button02 {
	width: min(96.64vw, 604px);
}
#l_container .button.button03 {
	width: min(85.28vw, 533px);
}
#l_container .button.button03 a::before,
#l_container .button.button03 span::before {
	height: 100%;
}
#l_container .caption__inner {
	position: relative;
	background-color: #f7e89d;
	padding-top: min(3.2vw, 20px);
	padding-bottom: min(3.2vw, 20px);
}
#l_container .caption__inner::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #f7e89d transparent transparent transparent;
	border-top-width: min(4.0176vw, 25.11px);
	border-left-width: min(2.32vw, 14.5px);
	border-bottom-width: min(0vw, 0px);
	border-right-width: min(2.32vw, 14.5px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .caption__text {
	font-size: min(4.8vw, 30px);
	font-weight: bold;
	text-align: center;
}
#l_container .caption__text i {
	font-size: min(2.4vw, 15px);
}
#l_container .caption__anno {
	font-size: min(2.08vw, 13px);
	text-align: right;
	margin-top: min(0.8vw, 5px);
}
#l_container .qa {
	margin-top: min(8.96vw, 56px);
}
#l_container .qa > ul > li {
	position: relative;
}
#l_container .qa > ul > li + li {
	margin-top: min(4.8vw, 30px);
}
#l_container .qa > ul > li + li::after {
	content: "";
	position: absolute;
	bottom: 98%;
	left: 50%;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #ffb761 transparent transparent transparent;
	border-top-width: min(13.856vw, 86.6px);
	border-left-width: min(8vw, 50px);
	border-bottom-width: min(0vw, 0px);
	border-right-width: min(8vw, 50px);
	transform: translateX(-50%);
}
#l_container .qaCont {
	background-color: #f7e89d;
	padding-top: min(3.2vw, 20px);
	padding-left: min(2.4vw, 15px);
	padding-bottom: min(2.4vw, 15px);
	padding-right: min(2.4vw, 15px);
}
#l_container .qaCont__num {
	display: block;
	font-size: min(10.4vw, 65px);
	font-weight: bold;
	text-align: center;
	padding-bottom: min(3.2vw, 20px);
}
#l_container .qaCont__cont {
	background-color: #fff;
	padding: min(3.2vw, 20px);
}
#l_container .qaCont__title {
	font-size: min(5.92vw, 37px);
	font-weight: bold;
	text-align: center;
	margin-bottom: min(3.2vw, 20px);
}
#l_container .qaCont__list {
	margin-top: min(4.8vw, 30px);
}
#l_container .qaCont__item {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 557/73;
	font-size: min(7.12vw, 44.5px);
	font-weight: bold;
	text-align: center;
	background-image: url(../img/bg_qa01.webp);
	background-color: #f8f4f0;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
}
#l_container .qaCont__item i {
	color: #000;
	font-size: min(2.4vw, 15px);
}
#l_container .qaCont__item + li {
	margin-top: min(2.88vw, 18px);
}
#l_container .qaCont__item.active {
	background-color: #ffedec;
	background-image: url(../img/bg_qa02.webp);
}
#l_container .qaCont__item.-item02 {
	font-size: min(4vw, 25px);
	padding-left: min(12.16vw, 76px);
}
#l_container .qaCont__anno {
	font-size: min(2.08vw, 13px);
	text-align: right;
	margin-top: min(3.2vw, 20px);
}
#l_container .qa__answer .qa_text {
	padding-top: min(0.8vw, 5px);
	padding-right: min(2.72vw, 17px);
}
#l_container .qa__answer .qa_text p {
	font-size: min(2.08vw, 13px);
	text-align: right;
}
#l_container .fv__cont video,
#l_container .fv__cont img {
	width: 100%;
}
#l_container .fv__cont .text {
	padding-left: min(0.8vw, 5px);
	padding-right: min(0.8vw, 5px);
}
#l_container .fv__cont .text p {
	font-size: min(2.08vw, 13px);
	text-align: right;
}
#l_container .fv__cont .text p + p {
	margin-top: min(0.8vw, 5px);
}
#l_container .fv__cont .text p.anno {
	font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: min(1.92vw, 12px);
}
#l_container .info {
	margin-top: min(8vw, 50px);
}
#l_container .info__cont {
	margin-top: min(8vw, 50px);
}
#l_container .info__cont + .caption {
	margin-top: min(8vw, 50px);
}
#l_container .info__cont .text {
	text-align: center;
	margin-top: min(6.4vw, 40px);
}
#l_container .info__cont .text.big {
	font-size: min(5.76vw, 36px);
}
#l_container .info__cont .text.huge {
	font-size: min(6.64vw, 41.5px);
}
#l_container .info__cont .image {
	margin-top: min(4.8vw, 30px);
}
#l_container .info__cont .arr {
	width: min(46.4vw, 290px);
	margin-top: min(4.8vw, 30px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .info__cont .arr02 {
	width: min(19.04vw, 119px);
	margin-top: min(4.8vw, 30px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .info__cont .button01 {
	margin-top: min(14.4vw, 90px);
	margin-bottom: min(14.4vw, 90px);
}
#l_container .info__cont .button02 {
	margin-top: min(4.8vw, 30px);
	margin-bottom: min(4.8vw, 30px);
	overflow: hidden;
}
#l_container .info .ctaImage {
	position: relative;
}
#l_container .info .ctaImage > img {
	width: min(94.56vw, 591px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .info .ctaImage__button {
	position: absolute;
	top: min(190.4vw, 1190px);
	left: 50%;
	width: min(72vw, 450px);
	transform: translateX(-50%);
}
#l_container .intro {
	margin-top: min(8vw, 50px);
}
#l_container .intro__cont ul {
	margin-top: min(3.2vw, 20px);
}
#l_container .intro__cont ul li + li {
	margin-top: min(3.2vw, 20px);
}
#l_container .intro__cont ul li p {
	font-size: min(3.2vw, 20px);
	text-align: right;
	margin-top: min(1.6vw, 10px);
}
#l_container .intro__cont .text p {
	text-align: center;
}
#l_container .intro__cont .text p + p {
	margin-top: min(3.2vw, 20px);
}
#l_container .intro__cont .text .logo {
	display: inline-block;
	width: min(20.64vw, 129px);
}
#l_container .intro__cont .text02 {
	margin-top: min(4.8vw, 30px);
}
#l_container .intro__cont .text03 {
	margin-top: min(4.8vw, 30px);
}
#l_container .intro__cont .text04 i {
	font-size: min(2.08vw, 13px);
}
#l_container .intro__cont .text05 p {
	font-size: min(2.08vw, 13px);
	text-align: right;
}
#l_container .intro__cont .text06 {
	margin-top: min(6.4vw, 40px);
}
#l_container .intro__cont .text07 {
	margin-top: min(5.6vw, 35px);
}
#l_container .intro__cont .text08 {
	margin-top: min(11.2vw, 70px);
}
#l_container .intro__cont .image01 {
	margin-top: min(6.4vw, 40px);
}
#l_container .intro__cont .image02 {
	width: min(91.2vw, 570px);
	margin-top: min(5.92vw, 37px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .intro__cont .image03 {
	width: min(46.4vw, 290px);
	margin-top: min(2.4vw, 15px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .intro__cont .image05 {
	margin-top: min(4.8vw, 30px);
}
#l_container .intro__cont .image06 {
	width: min(93.12vw, 582px);
	margin-top: min(8vw, 50px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .intro__cont .image06.fukidashi > p {
	left: min(19.2vw, 120px);
	white-space: nowrap;
}
#l_container .intro__cont .fukidashi {
	position: relative;
}
#l_container .intro__cont .fukidashi > p {
	position: absolute;
	top: 50%;
	left: min(20.8vw, 130px);
	width: min(70.4vw, 440px);
	font-size: min(3.84vw, 24px);
	font-weight: bold;
	transform: translateY(-50%);
}
#l_container .intro__cont .fukidashi > p i {
	color: #000;
	font-size: min(2.4vw, 15px);
}
#l_container .intro__cont .fukidashi > img {
	margin: 0 auto;
}
#l_container .talk {
	margin-top: min(8vw, 50px);
}
#l_container .talk__caption + .talk__cont {
	margin-top: min(8vw, 50px);
}
#l_container .talk__cont + .caption {
	margin-top: min(8vw, 50px);
}
#l_container .talk__cont .dummy {
	margin-top: min(4.8vw, 30px);
}
#l_container .talk__cont .arr {
	width: min(46.4vw, 290px);
	margin-top: min(4.8vw, 30px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .talk__cont .arr02 {
	width: min(19.04vw, 119px);
	margin-top: min(4.8vw, 30px);
	margin-left: auto;
	margin-right: auto;
}
#l_container .talk__cont .iframe {
	width: 100%;
	aspect-ratio: 16/9;
}
#l_container .talk__cont .iframe iframe {
	width: 100%;
	height: 100%;
}
#l_container .talk__cont .image {
	margin-top: min(4.8vw, 30px);
}
#l_container .talk__cont .image01 {
	margin-top: min(8vw, 50px);
}
#l_container .talk__cont .text i {
	color: #000;
	font-size: min(2.4vw, 15px);
}
#l_container .talk__cont .text.normal {
	text-align: center;
	margin-top: min(4vw, 25px);
}
#l_container .talk__cont .text.anno {
	font-size: min(2.08vw, 13px);
	padding-left: min(3.84vw, 24px);
	padding-right: min(3.84vw, 24px);
	margin-top: min(2.4vw, 15px);
}
#l_container .talk__cont .text.text08 {
	margin-top: min(2.4vw, 15px);
}
#l_container .talk__cont .text.text09 {
	margin-top: min(8vw, 50px);
}
#l_container .talk__cont .video {
	margin-top: min(4.8vw, 30px);
}
#l_container .talk__cont .video video {
	width: 100%;
}
#l_container .talk__cont .fukidashi {
	position: relative;
	margin-top: min(4vw, 25px);
	padding-left: min(2.72vw, 17px);
	padding-right: min(2.72vw, 17px);
}
#l_container .talk__cont .fukidashi > p {
	position: absolute;
	width: min(68.8vw, 430px);
	font-size: min(4.08vw, 25.5px);
}
#l_container .talk__cont .fukidashi > p i {
	color: #000;
	font-size: min(2.4vw, 15px);
}
#l_container .talk__cont .fukidashi.q > p {
	top: 50%;
	left: min(24.48vw, 153px);
	transform: translateY(-50%);
}
#l_container .talk__cont .fukidashi.a > p {
	top: 50%;
	left: min(6.4vw, 40px);
	transform: translateY(-50%);
}
#l_container .talk__cont .fukidashi.f19 > p {
	left: min(25.92vw, 162px);
}
#l_container .talk__cont .fukidashi.f30 > p {
	width: min(69.6vw, 435px);
}
#l_container .modal__wrap {
	display: flex;
}
#l_container .modal {
	display: none;
	position: fixed;
	z-index: 8887;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(134, 134, 134, 0.67);
	transition: all 1s ease-in-out;
}
#l_container .modal-container {
	text-align: center;
	cursor: pointer;
	position: relative;
	z-index: 0;
}
#l_container .modal-content {
	width: 375px;
	max-width: 375px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: show 0.6s linear 0s;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
	padding: 12.5px 12.5px 30px;
}
@media screen and (max-width: 767px) {
	#l_container .modal-content {
		width: 80%;
		max-width: 80%;
	}
}
#l_container .modal-content__txt01 {
	width: 350px;
	margin: 0 auto;
	padding: calc(var(--1rem_pc) * 2) 0 calc(var(--1rem_pc) * 1);
}
@media screen and (max-width: 767px) {
	#l_container .modal-content__txt01 {
		width: 90%;
		max-width: 90%;
		max-height: 90%;
	}
}
#l_container .modal-content__btn01 {
	width: 350px;
	margin: 0 auto;
	padding-top: calc(var(--1rem_pc) * 1);
}
@media screen and (max-width: 767px) {
	#l_container .modal-content__btn01 {
		width: 90%;
		max-width: 90%;
		max-height: 90%;
	}
}
#l_container .modal-content__btn02 {
	width: 350px;
	margin: 0 auto;
	padding-top: calc(var(--1rem_pc) * 2);
}
@media screen and (max-width: 767px) {
	#l_container .modal-content__btn02 {
		width: 90%;
		max-width: 90%;
		max-height: 90%;
	}
}
#l_container .modal-close {
	position: fixed;
	z-index: 2;
	top: 40px;
	right: 40px;
	display: inline-block;
	width: 50px;
	height: 50px;
	overflow: hidden;
	border: none;
	background: transparent;
	text-decoration: none;
	line-height: 1;
	padding: 0 8px;
}
#l_container .modal-close:before {
	transform: rotate(45deg);
}
#l_container .modal-close:after {
	transform: rotate(-45deg);
}
#l_container .modal-close:before,
#l_container .modal-close:after {
	content: "";
	position: absolute;
	height: 2px;
	width: 100%;
	top: 50%;
	left: 0;
	margin-top: -1px;
	background: #fff;
	border-radius: 5px;
	margin-top: -6px;
}
#l_container .modal-close:hover,
#l_container .modal-close:focus {
	text-decoration: none;
	cursor: pointer;
}
#l_container .modal-title {
	color: #fff;
}
#l_container .modal img {
	height: auto;
}

/* 追加CSS */
.pane-landingpage-contents h1,
.pane-landingpage-contents h2,
.pane-landingpage-contents h3,
.pane-landingpage-contents h4,
.pane-landingpage-contents h5,
.pane-landingpage-contents h6 {
	background: transparent;
}

@media screen and (max-width: 767px) {
	.wrapper {
		padding-top: 0;
	}
	.pane-landingpage-contents h1,
	.pane-landingpage-contents h2,
	.pane-landingpage-contents h3,
	.pane-landingpage-contents h4,
	.pane-landingpage-contents h5,
	.pane-landingpage-contents h6 {
		margin: 0;
	}
}
