@charset "UTF-8";

/* -------------------------------------------
	下層用 共通コンポーネント
---------------------------------------------- */
main {overflow: hidden;}
.l-section--fill-blue {background-color: #F7F8FF;}
.l-section--fill-pink {background-color: #FAF2F5;}
.l-section-lv2 { margin-top: 60px; }
.c-local-header{margin-bottom: -115px;}
.c-heading-line { font-size: calc((28 / 16) * 100%); font-weight: 700; overflow: hidden; text-align: center; }
.c-heading-line>span { display: inline-block; vertical-align: top; position: relative; padding: 0 30px; }
.c-heading-line>span::before, .c-heading-line>span::after { background-color: #d4d4d4; content: ""; position: absolute; top: 50%; left: 100%; width: 100vw; height: 1px; }
.c-heading-line>span::after { left: auto; right: 100%; }
.c-lead {margin-top: 28px;text-align: center;}
.c-local-header__link>li.type-monitor>a { border: 1px solid #425DF5; background-color: #425DF5; }
.c-heading + .introduction__read {margin-top: 40px;}
@media only screen and (max-width: 767px) {
.l-section-lv2 { margin-top: 40px }
.c-heading-line { font-size: calc((18 / 16) * 100%); }
.c-heading-line>span { padding: 0 15px; }
.c-lead { font-size: calc((13 / 16) * 100%); margin-top: 15px; text-align: left; }
.c-heading + .introduction__read {margin-top: 20px;}
}

/* 背景装飾要素
---------------------------------------------- */
.bg-img{position: absolute;z-index: -1;}
.bg-img>svg{width: 100%;height: auto;}
.bg-img--01{top: 108px;left: -242px;width: 170px;}
.bg-img--02{top: 212px;left: -110px;width: 74px;}
.bg-img--02 .cls-1{fill:#ff715e;}
.bg-img--03{top: -20px; left: 716px; width: 69px;z-index: +1;}
.bg-img--06{top: -87px;left: calc(50% + 120px);width: 130px;}
.bg-img--06 .cls-1,
.bg-img--06 .cls-2{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:8px;}
.bg-img--06 .cls-1{stroke:#fbbe44;}
.bg-img--06 .cls-2{stroke:#425df5;}
.bg-img--07{top: 375px;left: -120px;width: 130px;z-index: +1;}
.bg-img--07 .cls-1,
.bg-img--07 .cls-2{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:8px;}
.bg-img--07 .cls-1{stroke:#ff715e;}
.bg-img--07 .cls-2{stroke:#425df5;}
@media only screen and (max-width: 767px) {
	.c-local-header{margin-bottom: -65px;}
	.bg-img--01,
	.bg-img--02,
	.bg-img--03,
	.bg-img--06,
	.bg-img--07 {display: none;}
}

/* MV（メインビジュアル）
---------------------------------------------- */
.home-mv {padding-top: 115px;}
.home-mv__grid{display: grid;grid-template-columns: 1fr calc((530/1280)*100%);}
.home-mv__grid-img{grid-column: 2/3;grid-row: 1;width: 742px;position: relative;}
.home-mv__grid-img span{display: block;}
.home-mv__grid-img img{border-radius: 20px;}
.home-mv__grid-text{grid-column: 1/3;grid-row: 1;display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;}
.home-mv__grid-text span{display: block;}
.home-mv__grid-text__heading{margin: 20px 0 0 calc((17/1280)*100%);font-size: 0;line-height: 0;position: relative;max-width: 832px;}
.home-mv__grid-text__heading-sub{margin: 30px 0 0 20px;width: calc((521/832)*100%);}
.home-mv__grid-text__heading-main{clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);}

.home-mv__grid-text__heading-sub{clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);}
.home-mv__grid-text__heading-main{clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);}
.home-mv__grid-img span{clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);}
.home-mv.is-play .home-mv__grid-text__heading-main{animation: clipMove .85s ease forwards;}
.home-mv.is-play .home-mv__grid-text__heading-sub{animation: clipMove .5s .25s ease forwards;}
.home-mv.is-play .home-mv__grid-img span{animation: clipMove 1.5s ease forwards;}
.home-mv__grid-link {margin: 20px 0 0 20px;opacity: 0; transform: translateY(50px); transition: transform .7s 1.2s ease, opacity .7s 1.2s ease;max-width: 500px;width: 100%;}
.home-mv.is-play .home-mv__grid-link { transform: translateY(0px); opacity: 1; }
.home-mv__grid-link a {display: flex;align-items: center;justify-content: flex-start;width: 100%;height: 66px;font-size: calc((24 / 16) * 100%);font-weight: 700;color: #fff;border-radius: 40px;}
.home-mv__grid-link a.home-mv__grid-link--a {background-color: #e3025c;border: none;}
.home-mv__grid-link a.home-mv__grid-link--b {background-color: #425df5;border: none;}
.home-mv__grid-link a.c-btn>span::after {background-color: #fff;}
.home-mv__grid-link a:hover { text-decoration: none; }
@media (hover: hover) {
.home-mv__grid-link a { transition: background-color .3s ease; }
.home-mv__grid-link a:hover { background-color: #fbbe44; }
}
@media only screen and (min-width: 768px) {
	.home-mv__grid-img__sp{display: none;}
}
@media only screen and (max-width: 767px) {
	.home-mv {padding-top: 87px;}
	.home-mv__grid{display: block;margin: 0 -15px;}
	.home-mv__grid-img{margin-left: 108px;width: calc(100% - ((126/750)*100vw));display: none;}
	.home-mv__grid-img img{border-radius: 10px 0 0 10px;}
	.home-mv__grid-img__sp{margin: 20px 15px 0;order: 2;}
	.home-mv__grid-img__sp img{max-width: 100%; width: 100%; margin: 0; border-radius: 10px;}
	.home-mv__grid-text__heading{margin: 0 15px 0;position: relative;z-index: +1;}
	.home-mv__grid-text__heading-sub{width: calc((630 / 690) * 100%);margin: 20px 0 0 15px;order: 3;}
	.home-mv__grid-text__heading-main{width: calc((592 / 690) * 100%);}
	.home-mv__grid-link {padding: 20px 15px 0 15px;order: 4;margin: 0;box-sizing: border-box;max-width: 100%;}
	.home-mv__grid-link a {height: 50px;font-size: calc((16 / 16) * 100%);border-radius: 40px;}
	.home-mv__grid-link a.c-btn:not(:first-child) {margin-top: 15px;}
}
@keyframes clipMove {
	0%{clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);}
	100%{clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);}
}

/* lead
---------------------------------------------- */
.introduction__read{font-size: calc(18 / 16 * 100%); font-weight: 700; line-height: 1.6;text-align: center;}
.introduction__img{margin-top: 40px;text-align: center;}
@media only screen and (max-width: 767px) {
.introduction__read {text-align: left;}
}

/* features
---------------------------------------------- */
.features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 calc((60 / 1100) * 100%); margin-top: 60px; }
.features-item { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; }
.features-item__icon { border-radius: 20px; position: relative; padding-bottom: calc((140 / 230) * 100%); width: calc((140 / 230) * 100%); box-shadow: 3px 3px 12px rgba(0, 0, 0, .15);background-color: #fff; }
.features-item__icon>img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.features-item__headind { font-size: calc((18 / 16) * 100%); font-weight: 700; margin-top: 25px; }
.features-item__text { margin-top: 10px;}
.features-item__text span {font-weight: 700;}

@media only screen and (min-width: 768px) {
	.features.features--type-3 {grid-template-columns: repeat(3, 1fr);}
	.features.features--type-3 .features-item__icon {padding-bottom: calc((140 / 326) * 100%); width: calc((140 / 326) * 100%);}
}

@media only screen and (max-width: 767px) {
	.features{ grid-template-columns: 1fr; gap: 20px 0; margin-top: 20px; }
	.features-item { display: grid; grid-template-columns: 70px 1fr; grid-template-rows: auto auto; gap: 0 15px; text-align: left; }
	.features-item__icon { grid-column: 1; grid-row: 1 / 3; border-radius: 10px; padding-bottom: 70px; width: 70px; box-shadow: 1px 1px 6px rgba(0, 0, 0, .15); }
	.features-item__headind { grid-column: 2; grid-row: 1; font-size: calc((14 / 16) * 100%); line-height: 1.4; margin-top: 0; align-self: flex-end; }
	.features-item__text { grid-column: 2; grid-row: 2; font-size: calc((13 / 16) * 100%); line-height: 1.4; margin-top: 0; }
}

/* movie
---------------------------------------------- */
.movie-item {margin: 30px auto 0; max-width: 720px;background-color: #fff;border-radius: 20px;padding: 15px;box-sizing: border-box;}

@media only screen and (max-width: 767px) {
.movie-item {padding: 10px;border-radius: 10px;}
}

/* faq
---------------------------------------------- */
.faq-list { margin-top: 30px;}
.faq-list-item__toggle { border: 1px solid #d4d4d4; border-radius: 16px; }
.faq-list-item__toggle-head>a { box-sizing: border-box; color: #222; display: flex; align-items: center; font-weight: 700; position: relative; padding: 15px 58px 15px 30px; min-height: 90px; }
.faq-list-item__toggle-head>a::before, .faq-list-item__toggle-head>a::after { background-color: #000; border-radius: 2px; content: ""; position: absolute; top: calc(50% - 2px); right: 30px; width: 18px; height: 4px; }
.faq-list-item__toggle-head>a::after { transform: rotate(90deg); transition: transform .3s ease; }
.faq-list-item__toggle-head>a>span { display: block; position: relative; padding-left: 40px; }
.faq-list-item__toggle-head>a>span::before { content: "Q"; color: #425df5; font-family: "Roboto", sans-serif; font-size: calc((28 / 16) * 100%); font-weight: 700; line-height: 1; position: absolute; top: calc(50% - .5em); left: 0; }
.faq-list-item__toggle-body { border-top: 1px solid #d4d4d4; display: none; position: relative; padding: 15px 30px 20px 70px; }
.faq-list-item__toggle+.faq-list-item__toggle { margin-top: 12px; }
.faq-list-item__toggle-body::before { content: "A"; color: #e3025c; font-family: "Roboto", sans-serif; font-size: calc((28 / 16) * 100%); font-weight: 700; line-height: 1; position: absolute; top: 15px; left: 30px; }
.faq-list-item__toggle-head>a:hover { text-decoration: none; }
.faq-list-item + .faq-list-item {margin-top: 12px;}

@media only screen and (max-width: 767px) {
.faq-list { margin-top: 20px; }
.faq-list-item__toggle {border-radius: 8px;}
.faq-list-item__toggle-head>a{font-size: calc((13 / 16) * 100%); padding: 10px 45px 10px 20px; min-height: 58px;}
.faq-list-item__toggle-head>a::before, .faq-list-item__toggle-head>a::after { border-radius: 1px; top: calc(50% - 1px); right: 20px; width: 12px; height: 2px; }
.faq-list-item__toggle-head>a>span {padding-left: 20px;}
.faq-list-item__toggle-head>a>span::before { font-size: calc((16 / 13) * 100%); top: 3px; }
.faq-list-item__toggle-body {border-top: none; font-size: calc((13 / 16) * 100%); padding: 10px 45px 15px 40px;}
.faq-list-item__toggle-body::before {font-size: calc((16 / 13) * 100%); top: 14px; left: 20px;}
.faq-list-item__toggle-body::after { background-color: #d4d4d4; content: ""; position: absolute; top: 0; left: 20px; width: calc(100% - 65px); height: 1px; }
.faq-list-item + .faq-list-item {margin-top: 8px;}

}

/* contact
---------------------------------------------- */
.contact-lead {margin-top: 30px; text-align: center;font-size: calc((18 / 16) * 100%);}
.contact__grid-link {margin: 30px auto 0;display: grid;grid-template-columns: repeat(2, 1fr);gap: 0 calc((10 / 1100) * 100%); }
.contact__grid-link a.contact__grid-link--a { background-color: #e3025c; border: none; }
.contact__grid-link a { display: flex; align-items: center; width: 100%; max-width: 545px; height: 84px; font-size: calc((28 / 16) * 100%); font-weight: 700; color: #fff; border-radius: 40px; }
.contact__grid-link a.contact__grid-link--b { margin-top: 0;background-color: #425df5; border: none; }
.contact__grid-link a.c-btn>span::after { background-color: #fff; }
.contact__grid-link a:hover { text-decoration: none; }
a.contact-telephone {color: #425DF5;font-size: calc((80 / 16) * 100%);display: block;font-weight: 700;text-align: center;line-height: 1;margin-top: 10px;}
a.contact-telephone:hover { text-decoration: none; }
a.contact-telephone .text {display:none;}
.contact-txt{margin-top: 10px;text-align: center;}
.contact-item {margin-top: 40px;}

@media (hover: hover) {
.contact__grid-link a { transition: background-color .3s ease; }
.contact__grid-link a:hover { background-color: #fbbe44; }
}

@media only screen and (min-width: 768px) {
a.contact-telephone {pointer-events: none;}
}

@media only screen and (max-width: 767px) {
.contact {padding-bottom: 70px;}
.contact-lead {margin-top: 20px;font-size: calc((13 / 16) * 100%);}
.contact__grid-link {grid-template-columns: 1fr;gap: 15px 0;}
.contact__grid-link a { height: 50px; font-size: calc((16 / 16) * 100%);max-width: 100%; }
a.contact-telephone { font-size: calc((48 / 16) * 100%); margin-top: 15px; }
.contact-txt { font-size: calc((13 / 16) * 100%); }
.contact-item {margin-top: 30px;}
}

