@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap");

/* Box sizing rules */
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
/* Remove default padding */
ul,
ol {
	padding: 0;
}
/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}
/* Set core body defaults */
body {
	position: relative;
	max-width: 100vw;
	min-height: 100%;
	text-rendering: optimizeSpeed;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	line-height: 1.5;
	overflow-x: hidden;
}
/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
	list-style: none;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
	text-decoration-skip-ink: auto;
}
a {
	text-decoration: none;
}
/* Make images easier to work with */
img,
picture {
	max-width: 100%;
	display: inline-block;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
	font: inherit;
}
header,
nav,
main,
footer {
	display: block;
}
body {
	background-color: #fff;
	color: #2a2a2a;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "メイリオ", Meiryo, "Yu Gothic", YuGothic, sans-serif;
	letter-spacing: 0.02em;
	line-height: 1.8;
	overflow-x: hidden;
	overflow-y: scroll;
}
h1,
h2,
h3,
h4,
h5 {
	-webkit-font-feature-settings: "palt"1;
	font-feature-settings: "palt"1;
}
._padLeft {
	padding-left: 7.14%;
}
._padRight {
	padding-right: 7.14%;
}
._padBoth {
	padding-left: 7.14%;
	padding-right: 7.14%;
}
._marLeft {
	margin-left: 7.14%;
}
._marRight {
	margin-right: 7.14%;
}
._marBoth {
	margin-left: 7.14%;
	margin-right: 7.14%;
}
@media screen and (min-width: 768px) {
	body {
		font-size: 16px;
		width: 100%;
	}
	._sp {
		display: none;
	}
	br._pcSml {
		display: none;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}
@media screen and (max-width: 1040px) {
	br._pcSml {
		display: inline;
	}
	._padLeft {
		padding-left: 4%;
	}
	._padRight {
		padding-right: 4%;
	}
	._padBoth {
		padding-left: 4%;
		padding-right: 4%;
	}
	._marLeft {
		margin-left: 4%;
	}
	._marRight {
		margin-right: 4%;
	}
	._marBoth {
		margin-left: 4%;
		margin-right: 4%;
	}
}
@media screen and (max-width: 767px) and (min-width:481px) {
  html,
	body {
    overflow-x: hidden;
	}
}
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
		line-height: 1.7;
		min-width: 320px;
	}
	html,
	body {
		height: 100%;
	}
	br._pcSml {
		display: none;
	}
	._pc {
		display: none;
	}
	._padLeft {
		padding-left: 6%;
	}
	._padRight {
		padding-right: 6%;
	}
	._padBoth {
		padding-left: 6%;
		padding-right: 6%;
	}
	._marLeft {
		margin-left: 6%;
	}
	._marRight {
		margin-right: 6%;
	}
	._marBoth {
		margin-left: 6%;
		margin-right: 6%;
	}
}
.red {
	color: #eb6161;
}
.hidden {
	display: none !important;
}
.sp, .tb, .pc_wide, .pc_narrow {
	display: none;
}
.pc {
	display: block;
}
@media screen and (min-width: 1680px) {
	.pc_wide {
		display: block;
	}
}
@media screen and (min-width: 1041px) and (max-width: 1480px) {
	.pc_narrow {
		display: block;
	}
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
	.tb {
		display: block;
	}
	.pc {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}

/* ----------------------------------
アニメーション
---------------------------------- */
._anime.-fade {
	opacity: 0;
}
._anime.-wipe>* {
	opacity: 0;
}
.-initialize ._anime.-delay1 {
	-webkit-animation-delay: 0.1s;
	animation-delay: 0.1s;
}
.-initialize ._anime.-delay1>*,
.-initialize ._anime.-delay1::before {
	-webkit-animation-delay: 0.1s;
	animation-delay: 0.1s;
}
.-initialize ._anime.-delay2 {
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
}
.-initialize ._anime.-delay2>*,
.-initialize ._anime.-delay2::before {
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
}
.-initialize ._anime.-delay3 {
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}
.-initialize ._anime.-delay3>*,
.-initialize ._anime.-delay3::before {
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}
.-initialize ._anime.-delay4 {
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
}
.-initialize ._anime.-delay4>*,
.-initialize ._anime.-delay4::before {
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
}
.-initialize ._anime.-delay5 {
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}
.-initialize ._anime.-delay5>*,
.-initialize ._anime.-delay5::before {
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}
.-initialize ._anime.-delay6 {
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s;
}
.-initialize ._anime.-delay6>*,
.-initialize ._anime.-delay6::before {
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s;
}
.-initialize ._anime.-fade.-active {
	-webkit-animation-name: fade;
	animation-name: fade;
	-webkit-animation-duration: 0.8s;
	animation-duration: 0.8s;
	-webkit-animation-timing-function: cubic-bezier(0.27, 0, 0.29, 1);
	animation-timing-function: cubic-bezier(0.27, 0, 0.29, 1);
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.-initialize ._anime.-wipe {
	position: relative;
	overflow: hidden;
}
.-initialize ._anime.-wipe::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	height: 100%;
	background: #7f8691;
	z-index: 1;
}
.-initialize ._anime.-wipe.-active>* {
	-webkit-animation-name: wipeImg;
	animation-name: wipeImg;
	-webkit-animation-duration: 0.9s;
	animation-duration: 0.9s;
	-webkit-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
	animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.-initialize ._anime.-wipe.-active::before {
	-webkit-animation-name: wipeBar;
	animation-name: wipeBar;
	-webkit-animation-duration: 0.9s;
	animation-duration: 0.9s;
	-webkit-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
	animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
@media screen and (max-width: 767px) {
	._anime.-delay1,
	._anime.-delay2,
	._anime.-delay3,
	._anime.-delay4,
	._anime.-delay5,
	._anime.-delay6 {
		-webkit-transition-delay: 0;
		transition-delay: 0;
	}
	._anime.-delay1>*,
	._anime.-delay1::before,
	._anime.-delay2>*,
	._anime.-delay2::before,
	._anime.-delay3>*,
	._anime.-delay3::before,
	._anime.-delay4>*,
	._anime.-delay4::before,
	._anime.-delay5>*,
	._anime.-delay5::before,
	._anime.-delay6>*,
	._anime.-delay6::before {
		-webkit-transition-delay: 0;
		transition-delay: 0;
	}
}
@-webkit-keyframes fade {
	0% {
		-webkit-transform: translateY(40px);
		transform: translateY(40px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes fade {
	0% {
		-webkit-transform: translateY(40px);
		transform: translateY(40px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@-webkit-keyframes wipeBar {
	0% {
		left: 0;
		right: 100%;
	}
	50% {
		left: 0;
		right: 0;
	}
	100% {
		left: 100%;
		right: 0;
	}
}

@keyframes wipeBar {
	0% {
		left: 0;
		right: 100%;
	}
	50% {
		left: 0;
		right: 0;
	}
	100% {
		left: 100%;
		right: 0;
	}
}
@-webkit-keyframes wipeImg {
	0% {
		opacity: 0;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	50% {
		opacity: 0;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	51% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes wipeImg {
	0% {
		opacity: 0;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	50% {
		opacity: 0;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	51% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

/* ----------------------------------
セクションヘッダー
---------------------------------- */
.secHead {
	text-align: center;
	margin-bottom: 60px;
	line-height: 1;
}
.secHead.-left {
	text-align: left;
	padding-left: 20px;
	border-left: 1px solid #6eb92b;
}
.secHead.-mar20 {
	margin-bottom: 20px;
}
.secHead__en {
	display: block;
	/* color: #6eb92b; */
	color: #292c6e;
	font-family: "Barlow", sans-serif;
	font-size: 16px;
	letter-spacing: 0.2em;
	line-height: 1.5;
	margin-bottom: 15px;
}
.secHead__text {
	font-size: 34px;
	letter-spacing: 0.075em;
	line-height: 1.38;
}
.secHead__text.-pad {
	padding: 0 1em;
}
.secHead__text small {
	display: block;
	font-size: 24px;
	line-height: 1.5;
}
.secHead__text span {
	/* color: #6eb92b; */
	color: #292c6e;
	line-height: 1.3;
}
@media screen and (max-width: 1040px) {
	.secHead__text {
		font-size: 28px;
	}
	.secHead__text small {
		font-size: 22px;
	}
}
@media screen and (max-width: 767px) {
	.secHead {
		margin-bottom: 25px;
	}
	.secHead__text {
		font-size: 20px;
	}
	.secHead__text small {
		font-size: 16px;
	}
	.secHead__en {
		font-size: 13px;
		margin-bottom: 5px;
	}
}

/* ----------------------------------
画像ボタン
---------------------------------- */
.imgBtn.-col2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	text-align: center;
}
.imgBtn.-col2 .imgBtn__link {
	width: calc(50% - 5px);
}
.imgBtn.-qraft {
	position: relative;
	text-align: left;
	max-width: 750px;
	margin: auto;
}
.imgBtn.-qraft a {
	height: 172px;
}
.imgBtn.-qraft a::after {
	background-image: url("../img/index/qraft_btn_back.jpg");
}
.imgBtn.-qraft img {
	width: 104px;
	display: inline-block;
	margin-left: 58px;
	margin-right: 44px;
	vertical-align: middle;
}
.imgBtn.-qraft::after {
	position: absolute;
	right: 38px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	content: "";
	display: block;
	background-image: url("../img/common/btn_arrowL.png");
	background-size: cover;
	width: 32px;
	height: 16px;
	-webkit-transition: right 0.3s;
	transition: right 0.3s;
	z-index: 2;
}
.imgBtn .imgBtn__link {
	position: relative;
	height: 224px;
	width: 100%;
	overflow: hidden;
	z-index: 2;
}
.imgBtn .imgBtn__link a {
	display: block;
	color: #fff;
	font-size: 28px;
	-webkit-font-feature-settings: "palt"1;
	font-feature-settings: "palt"1;
	font-weight: bold;
	letter-spacing: 0.1em;
	height: 100%;
	width: 100%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.imgBtn .imgBtn__link a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(34, 33, 27, 0.4);
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	z-index: 1;
}
.imgBtn .imgBtn__link a::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	z-index: 0;
}
.imgBtn .imgBtn__link.imgBtn__link_qraft {
	height: 172px;
}
.imgBtn span {
	position: absolute;
	top: 50%;
	display: block;
	width: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 2;
}
@media screen and (min-width: 768px) and (any-hover: hover) {
	.imgBtn .imgBtn__link:hover a::before {
		opacity: 0;
	}
	.imgBtn .imgBtn__link:hover a::after {
		-webkit-transform: scale(1.04);
		transform: scale(1.04);
	}
}
@media screen and (min-width: 768px) {
	body.-ie11 .imgBtn .imgBtn__link:hover a::before {
		opacity: 0;
	}
	body.-ie11 .imgBtn .imgBtn__link:hover a::after {
		-webkit-transform: scale(1.04);
		transform: scale(1.04);
	}
}
@media screen and (max-width: 767px) {
	.imgBtn.-col2 {
		display: block;
	}
	.imgBtn.-col2 .imgBtn__link {
		height: 175px;
		width: 100%;
	}
	.imgBtn.-col2 .imgBtn__link a {
		font-size: 20px;
	}
	.imgBtn.-qraft .imgBtn__link {
		height: 125px;
	}
	.imgBtn.-qraft img {
		width: 45px;
		margin: 0 10px 0 20px;
	}
	.imgBtn.-qraft::after {
		right: 20px;
		height: 9px;
		width: 18px;
	}
	.imgBtn .imgBtn__link a {
		font-size: 16px;
	}
}


/* ----------------------------------
ボタン
---------------------------------- */
.btn {
	display: block;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 2;
	text-align: center;
	margin: auto;
	padding: 12px 0;
	max-width: 450px;
	width: 90%;
	background: #6eb92b;
	-webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.2);
	-webkit-transition: background 0.3s;
	transition: background 0.3s;
}
.btn.-info {
	font-size: 15px;
	max-width: 350px;
	padding: 10px 0;
}
.btn.-header {
	font-size: 13px;
	/* background: #6eb92b; */
	background: #292c6e;
	width: 170px;
	/*padding: 8px 0;*/
	padding: 14.04px 0;
	margin: 0 0 0 10px;
	-webkit-box-shadow: none;
	box-shadow: none;
}
.btn.-footer {
	font-size: 14px;
	background: #46484b;
	width: 250px;
	padding: 10px 0;
	margin-bottom: 12px;
	-webkit-box-shadow: none;
	box-shadow: none;
}
.btn.-mv {
	position: relative;
	display: block;
	font-size: 16px;
	text-align: left;
	/* background: #1e6e4b; */
  background: #151a3b;
	min-width: 330px;
	width: 23.5vw;
	margin-bottom: 6px;
	padding: 10px 0 10px 115px;
	-webkit-box-shadow: none;
	box-shadow: none;
}
.btn.-mv:after {
	position: absolute;
	left: 60px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	content: "";
	display: block;
	background-size: cover;
	width: 32px;
	height: 32px;
}
.btn.-mv.-dl::after {
	background-image: url("../img/index/mv_icon01.png");
}
.btn.-mv.-mail::after {
	background-image: url("../img/index/mv_icon02.png");
}
.btn.-arch {
	font-size: 15px;
	-webkit-box-shadow: none;
	box-shadow: none;
	margin: 0;
	padding: 11px 0;
	width: 240px;
}
.btn.-arrow {
	position: relative;
	padding-right: 40px;
	padding-left: 40px;
	-webkit-transition: background 0.5s;
	transition: background 0.5s;
}
.btn.-arrow::after {
	position: absolute;
	right: 17px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	content: "";
	display: block;
	background-image: url("../img/common/btn_arrowS.png");
	background-size: cover;
	width: 18px;
	height: 12px;
	-webkit-transition: right 0.22s cubic-bezier(0.65, 0.07, 0.19, 1);
	transition: right 0.22s cubic-bezier(0.65, 0.07, 0.19, 1);
}
.btn.-gray {
	background: #5e6063;
	color: #fff;
}
.btn.-gray:hover {
	background: #8b818b;
}
@media screen and (min-width: 768px) and (any-hover: hover) {
	.btn:hover {
		/* background: #7ecc38; */
		background: #5c60c4;
	}
	.btn.-header:hover {
		/*background: $grayHover;*/
		/* background: #7ecc38; */
		background: #5c60c4;
	}
	.btn.-footer:hover {
		background: #777a7f;
	}
	.btn.-mv:hover {
		background: #1a1f49;
		/* background: #2b7d59; */
	}
	.btn.-arrow:hover:after {
		right: 12px;
	}
	.imgBtn a:hover::before {
		opacity: 0;
	}
	.imgBtn a:hover::after {
		-webkit-transform: scale(1.04);
		transform: scale(1.04);
	}
}
@media screen and (min-width: 768px) {
	body.-ie11 .btn:hover {
		background: #7ecc38;
	}
	body.-ie11 .btn.-header:hover {
		/*background: $grayHover;*/
		background: #7ecc38;
	}
	body.-ie11 .btn.-footer:hover {
		background: #777a7f;
	}
	body.-ie11 .btn.-mv:hover {
		background: #2b7d59;
	}
	body.-ie11 .btn.-arrow:hover:after {
		right: 12px;
	}
	body.-ie11 .imgBtn a:hover::before {
		opacity: 0;
	}
	body.-ie11 .imgBtn a:hover::after {
		-webkit-transform: scale(1.04);
		transform: scale(1.04);
	}
}
@media screen and (max-width: 1040px) {
	.btn.-footer {
		width: 200px;
	}
}
@media screen and (max-width: 767px) {
	.btn {
		font-size: 16px;
		max-width: 100%;
		padding: 14px;
	}
	.btn.-header {
		font-size: 16px;
		background: #46484b;
		margin: 0 0 10px;
		padding: 14px 0;
		width: 100%;
	}
	.btn.-footer {
		font-size: 15px;
		margin-bottom: 15px;
		padding: 15px 0;
		width: 100%;
	}
	.btn.-arrow::after {
		right: 20px;
		width: 21px;
		height: 14px;
	}
	.btn.-info {
		font-size: 16px;
		padding: 14px 0;
		width: 100%;
	}
	.btn.-arch {
		font-size: 16px;
		padding: 14px 0;
		width: 100%;
	}
}

/* ------------------------------------
ヘッダー
------------------------------------ */
.header {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	background: #fff;
	z-index: 100;
	-webkit-transition: background 0.3s, top 0.75s 2.2s ease-in-out;
	transition: background 0.3s, top 0.75s 2.2s ease-in-out;
}
.header:not(.-index) {
	background: rgba(255, 255, 255, 0);
}
.header:not(.-index):not(.-top) .nav__list {
	opacity: 0;
}
.header__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 16px 5% 17px;
}
.header__logo {
	position: absolute;
	top: 15px;
	left: 5%;
	height: 62px;
	width: 200px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.header__logo a img {
	width: 100%;
	-webkit-transition: .3s;
	transition: .3s;
}
.header__logo a:hover img {
	opacity: .7;
}

/* ヘッダーボタン アイコン */
.header_dl_icon {
	position: relative;
	top: 5px;
	left: -6px;
	width: 20px;
}
.header_mail_icon {
	position: relative;
	top: 5px;
	left: -6px;
	width: 20px;
}
.nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
.nav__btnWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
@media screen and (min-width: 768px) {
	.header.-index {
		top: -142px;
	}
	.header.-index .nav__item a {
		color: #000;
		border-right-color: #417613;
	}
	.header.-index .nav__item a::after {
		background: #6eb92b;
	}
	.header.-index.-active {
		top: 0;
	}
	.header.-index.-top .header__logo {
		height: 62px;
		width: 200px;
	}
	.header.-index.-hide {
		background: rgba(255, 255, 255, 0);
		pointer-events: none;
	}
	.header.-index.-hide .header__logo {
		width: 180px;
	}
	.header.-index.-hide .nav__btnWrap {
		pointer-events: all;
	}
	.header.-index.-hide .nav__list {
		opacity: 0;
	}
	.header:not(.-index).-top {
		background: transparent !important;
	}
	.header:not(.-index).-top .nav__item a {
		color: #fff;
		border-right-color: #fff;
	}
	.header:not(.-index).-top .nav__item a::after {
		background: #6eb92b;
	}
	.header:not(.-index):not(.-hide) {
		background: #fff;
	}
	.header:not(.-index):not(.-hide) .nav__list {
		opacity: 1;
	}
}
@media screen and (max-width: 1040px) {
	.header__inner {
		padding-right: 4%;
		padding-left: 4%;
	}
	.header__logo {
		left: 15px;
	}
}
@media screen and (max-width: 840px) {
	.header.-hide .header__trigger {
		pointer-events: all;
	}
	.header.-index.-top .header__logo {
		position: static;
		width: 120px;
		height: 60px;
		display: flex;
		align-items: center;
	}
	.header.-index.-top .header__logo a {
		display: flex;
	}
	.header:not(.-index) {
		background: #fff;
	}
	.header:not(.-index).-top {
		background: transparent;
	}
	.header:not(.-index):not(.-top) .nav__list {
		opacity: 1;
	}
	.header__inner {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		height: 60px;
		padding: 0 6%;
	}
	.header__logo {
		position: static;
		width: 120px;
		height: 60px;
		display: flex;
		align-items: center;
	}
	.header__logo a {
		display: flex;
	} 
	.header__trigger,
	.header__trigger span {
		display: inline-block;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: width 0.4s 0.4s, bottom 0.4s 0.4s, top 0.4s, -webkit-transform 0.4s 0.4s;
		transition: width 0.4s 0.4s, bottom 0.4s 0.4s, top 0.4s, -webkit-transform 0.4s 0.4s;
		transition: width 0.4s 0.4s, bottom 0.4s 0.4s, transform 0.4s 0.4s, top 0.4s;
		transition: width 0.4s 0.4s, bottom 0.4s 0.4s, transform 0.4s 0.4s, top 0.4s, -webkit-transform 0.4s 0.4s;
	}
	.header__trigger {
		position: absolute;
		z-index: 9999;
		top: 17px;
		right: 6%;
		width: 35px;
		height: 35px;
		cursor: pointer;
		border: none;
		background: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		z-index: 9999;
	}
	.header__trigger span {
		position: absolute;
		right: 0;
		width: 100%;
		height: 3px;
		border-radius: 2px;
		background-color: #2a2a2a;
	}
	.header__trigger span:nth-of-type(1) {
		top: 5px;
		-webkit-animation: menu_top 0.6s ease-out 0s normal forwards;
		animation: menu_top 0.6s ease-out 0s normal forwards;
	}
	.header__trigger span:nth-of-type(2) {
		top: 16px;
		width: 26px;
		-webkit-animation: menu_bottom 0.6s ease-out 0s forwards;
		animation: menu_bottom 0.6s ease-out 0s forwards;
	}
	.header__trigger.-close span:nth-of-type(1) {
		-webkit-animation: menu_top_close 0.6s ease-out 0s normal forwards;
		animation: menu_top_close 0.6s ease-out 0s normal forwards;
	}
	.header__trigger.-close span:nth-of-type(2) {
		-webkit-animation: menu_bottom_close 0.6s ease-out 0s normal forwards;
		animation: menu_bottom_close 0.6s ease-out 0s normal forwards;
	}
	.nav {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		position: fixed;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		top: 60px;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #6eb92b;
		overflow: auto;
		padding-top: 60px;
		-webkit-transition-duration: 0.6s;
		transition-duration: 0.6s;
		z-index: 9998;
	}
	.nav.-open {
		opacity: 1;
		visibility: visible;
		top: 0px;
		pointer-events: all;
	}
	.nav.-anime {
		-webkit-transition-property: opacity, visibility, top;
		transition-property: opacity, visibility, top;
	}
	.nav__btnWrap {
		display: block;
		padding: 40px 6% 150px;
	}
}
@-webkit-keyframes menu_top {
	0% {
		top: 10px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		width: 28px;
		background-color: #fff;
	}
	45% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 100%;
	}
	55% {
		top: 10px;
	}
	100% {
		top: 5px;
		background-color: #2a2a2a;
	}
}
@keyframes menu_top {
	0% {
		top: 10px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		width: 28px;
		background-color: #fff;
	}
	45% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 100%;
	}
	55% {
		top: 10px;
	}
	100% {
		top: 5px;
		background-color: #2a2a2a;
	}
}
@-webkit-keyframes menu_top_close {
	0% {
		top: 5px;
		background-color: #2a2a2a;
	}
	45% {
		top: 10px;
	}
	55% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 100%;
	}
	100% {
		top: 10px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		width: 28px;
		background-color: #fff;
	}
}
@keyframes menu_top_close {
	0% {
		top: 5px;
		background-color: #2a2a2a;
	}
	45% {
		top: 10px;
	}
	55% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 100%;
	}
	100% {
		top: 10px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		width: 28px;
		background-color: #fff;
	}
}

@-webkit-keyframes menu_bottom {
	0% {
		top: 10px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		width: 28px;
		background-color: #fff;
	}
	45% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 26px;
	}
	55% {
		top: 10px;
	}
	100% {
		top: 16px;
		background-color: #2a2a2a;
	}
}
@keyframes menu_bottom {
	0% {
		top: 10px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		width: 28px;
		background-color: #fff;
	}
	45% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 26px;
	}
	55% {
		top: 10px;
	}
	100% {
		top: 16px;
		background-color: #2a2a2a;
	}
}
@-webkit-keyframes menu_bottom_close {
	0% {
		top: 16px;
		background-color: #2a2a2a;
	}
	45% {
		top: 10px;
	}
	55% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 26px;
	}
	100% {
		top: 10px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		width: 28px;
		background-color: #fff;
	}
}

@keyframes menu_bottom_close {
	0% {
		top: 16px;
		background-color: #2a2a2a;
	}
	45% {
		top: 10px;
	}
	55% {
		top: 10px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		width: 26px;
	}
	100% {
		top: 10px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		width: 28px;
		background-color: #fff;
	}
}

/* ----------------------------------
 フッター
-----------------------------------*/
.footer {
	color: #fff;
	padding: 40px 20px 10px;
}
.footer__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	margin-bottom: 30px;
}
.footer__logo {
	max-width: 231px;
	width: 100%;
}
.footer__nav li > a {
	color: #2a2a2a;
	font-size: 14px;
	position: relative;
	padding-right: 20px;
}
.footer__nav li > a::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 17px;
	height: 16px;
	transform: translateY(-50%);
	background-image: url(/tg-web-mee/img/common/out_link.svg);
	background-size: contain;
	content: "";
}
.footer__nav li > a:hover {
	opacity: .8;
}
.footer__copy {
	display: block;
	font-size: 12px;
	color: #2a2a2a;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.footer {
		padding: 80px 120px;
	}
	.footer__top {
		flex-direction: row;
		justify-content: space-between;
		gap: 0;
		margin-bottom: 80px;
	}
	.footer__logo {
		width: 231px;
		height: 60px;
	}
	.footer__nav {
		display: flex;
		gap: 30px;
	}
	.footer__nav li > a {
		font-size: 16px;
	}
	.footer__copy {
		font-size: 14px;
		text-align: left;
	}
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
	.footer__nav {
		flex-direction: column;
		gap: 8px;
	}
	.footer__copy {
		text-align: center
	}
}

/* ----------------------------------
 ページトップ
-----------------------------------*/
.goTop {
	position: fixed;
	right: 30px;
	bottom: 26px;
	width: 70px;
	z-index: 10;
	border-radius: 50%;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
.goTop.show {
	opacity: 1;
	pointer-events: all;
}

@media screen and (max-width: 767px) {
	.goTop {
		bottom: 20px;
		right: 15px;
		width: 60px;
	}
}

/* ----------------------------------
 フォーム
-----------------------------------*/
.mktoForm .mktoButtonWrap.mktoRound .mktoButton {
	display: inline-block;
	border: none !important;
	border-radius: 0 !important;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 400px;
	background: #5e6063 !important;
	color: #fff;
	font-size: 18px !important;
	font-weight: bold;
	padding: 25px 0 !important;
	line-height: 0;
	-webkit-transition: all 300ms 0s ease;
	transition: all 300ms 0s ease;
}
.mktoForm .mktoButtonWrap.mktoRound .mktoButton:hover {
	background: #777a7f !important;
}
@media screen and (max-width: 767px) {
	.mktoForm .mktoButtonWrap.mktoRound .mktoButton {
		width: 100% !important;
		font-size: 16px !important;
	}
}

/* ----------------------------------
 ロード画面
-----------------------------------*/
.load {
	position: fixed;
	top: 0;
	left: 0;
	/* background: #7ecc38; */
	background: #5c60c4;
	min-height: 100vh;
	min-height: calc(var(--vh, 1vh) * 100);
	width: 100%;
	z-index: 9999;
}
.load.-active {
	-webkit-transition: 1.1s 1.8s cubic-bezier(0.76, -0.04, 0.52, 1);
	transition: 1.1s 1.8s cubic-bezier(0.76, -0.04, 0.52, 1);
	left: 100%;
}
.load.-active .load__inner {
	-webkit-transition: 1.1s 1.7s cubic-bezier(0.76, -0.04, 0.52, 1);
	transition: 1.1s 1.7s cubic-bezier(0.76, -0.04, 0.52, 1);
	left: 100%;
}
.load.-active .load__content {
	-webkit-transition: 1.1s 1.68s cubic-bezier(0.76, -0.04, 0.52, 1);
	transition: 1.1s 1.68s cubic-bezier(0.76, -0.04, 0.52, 1);
	width: 0;
}
.load.-active p,
.load.-active img {
	top: 0;
	-webkit-transform: rotateZ(0);
	transform: rotateZ(0);
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.load.-active img {
	-webkit-transition: 0.5s 0.2s;
	transition: 0.5s 0.2s;
}
.load__inner {
	position: fixed;
	top: 0;
	left: 0;
	color: #fff;
	line-height: 1;
	text-align: center;
	/* background: #6eb92b; */
	background: #292c6e;
	height: 100%;
	width: 100%;
	z-index: 9999;
}
.load__content {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.load__content .load__txt,
.load__content .load__img {
	position: absolute;
	width: 100vw;
	right: 0;
	overflow: hidden;
}
.load__content .load__txt {
	height: 50px;
	top: 40%;
}
.load__content .load__img {
	height: 126px;
	top: calc(40% + 60px);
}
.load__content p {
	position: relative;
	display: inline-block;
	top: 90px;
	font-size: 32px;
	font-weight: 700;
	-webkit-transform-origin: top left;
	transform-origin: top left;
	-webkit-transform: rotateZ(10deg);
	transform: rotateZ(10deg);
}
.load__content img {
	position: relative;
	top: 130px;
	width: 280px;
	-webkit-transform-origin: top left;
	transform-origin: top left;
	-webkit-transform: rotateZ(10deg);
	transform: rotateZ(10deg);
}
@media screen and (max-width: 767px) {
	.load__content .load__txt {
		top: 38%;
	}
	.load__content .load__img {
		top: calc(38% + 70px);
		height: 100px;
	}
	.load__content p {
		font-size: 18px;
		line-height: 1.4;
	}
	.load__content img {
		width: 180px;
	}
}

/* ----------------------------------
 ラッパー
-----------------------------------*/
.indexWrap {
	max-height: calc(var(--vh, 1vh) * 100);
	overflow: hidden;
}
.indexWrap.-initialize {
	max-height: none;
	overflow: visible;
}
.indexPara {
	position: relative;
	line-height: 1;
	overflow: hidden;
	height: 388px;
}
.indexPara img {
	position: absolute;
	bottom: 0;
	left: 0;
	height: auto;
	width: 100%;
	-webkit-transition: bottom 0.8s ease-out;
	transition: bottom 0.8s ease-out;
}
@media screen and (max-width: 767px) {
	.indexPara {
		height: 130px;
	}
}

/* ----------------------------------
 メインビジュアル
-----------------------------------*/
.mv {
	position: relative;
	top: 10vh;
	color: #fff;
	height: calc(100vh - 120px - 10vh);
	min-height: 570px;
	margin-top: 120px;
	margin-bottom: calc(10vh + 50px);
	background: #fff;
}
.mv::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 100%;
	width: 100%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: left;
	transform-origin: left;
	-webkit-transition: -webkit-transform 0.8s 0.25s cubic-bezier(0.76, -0.04, 0.52, 1);
	transition: -webkit-transform 0.8s 0.25s cubic-bezier(0.76, -0.04, 0.52, 1);
	transition: transform 0.8s 0.25s cubic-bezier(0.76, -0.04, 0.52, 1);
	transition: transform 0.8s 0.25s cubic-bezier(0.76, -0.04, 0.52, 1), -webkit-transform 0.8s 0.25s cubic-bezier(0.76, -0.04, 0.52, 1);
	/* background: #6eb92b; */
	background: #292c6e;
}
.mv.-active::after {
	-webkit-transform: scaleX(0.87);
	transform: scaleX(0.87);
}
.mv__text {
	position: absolute;
	top: 15%;
	left: 0;
	overflow: hidden;
	width: 100%;
	z-index: 4;
}
.mv__text.-active .mv__award img {
	-webkit-transform: translateY(0) rotateZ(0deg);
	transform: translateY(0) rotateZ(0deg);
}
.mv__text.-active .mv__textTitle .mv__textSub span {
	-webkit-transform: translateY(0) rotateZ(0deg);
	transform: translateY(0) rotateZ(0deg);
}
.mv__text.-active .mv__textTitle .mv__textStrong span {
	-webkit-transform: translateY(0) rotateZ(0deg);
	transform: translateY(0) rotateZ(0deg);
}
.mv__text.-active .mv__textDesc span {
	-webkit-transform: translateY(0) rotateZ(0deg);
	transform: translateY(0) rotateZ(0deg);
}
.mv__text.-small {
	top: 49%;
}
.mv__text.-small .mv__textTitle {
	margin-bottom: 5px;
}
.mv__text.-small .mv__textDesc {
	margin-bottom: 20px;
}
.mv__award {
	position: relative;
	overflow: hidden;
	line-height: 1;
}
.mv__award img {
	display: inline-block;
	width: 300px;
	margin-right: 15px;
	-webkit-transform: translateY(100%) rotateZ(10deg);
	transform: translateY(100%) rotateZ(10deg);
	-webkit-transform-origin: top left;
	transform-origin: top left;
	-webkit-transition: -webkit-transform 0.5s 0.7s ease-in-out;
	transition: -webkit-transform 0.5s 0.7s ease-in-out;
	transition: transform 0.5s 0.7s ease-in-out;
	transition: transform 0.5s 0.7s ease-in-out, -webkit-transform 0.5s 0.7s ease-in-out;
}
.mv__textTitle {
	font-size: 32px;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-bottom: 25px;
}
.mv__textTitle .mv__textSub {
	display: block;
	position: relative;
	overflow: hidden;
}
.mv__textTitle .mv__textSub span {
	display: block;
	-webkit-transform: translateY(100%) rotateZ(10deg);
	transform: translateY(100%) rotateZ(10deg);
	-webkit-transform-origin: top left;
	transform-origin: top left;
	-webkit-transition: -webkit-transform 0.5s 0.82s ease-in-out;
	transition: -webkit-transform 0.5s 0.82s ease-in-out;
	transition: transform 0.5s 0.82s ease-in-out;
	transition: transform 0.5s 0.82s ease-in-out, -webkit-transform 0.5s 0.82s ease-in-out;
}
.mv__textTitle .mv__textStrong {
	display: block;
	position: relative;
	font-size: 72px;
	line-height: 1.4;
	letter-spacing: 0.03em;
	overflow: hidden;
}
.mv__textTitle .mv__textStrong span {
	display: block;
	-webkit-transform: translateY(100%) rotateZ(10deg);
	transform: translateY(100%) rotateZ(10deg);
	-webkit-transform-origin: top left;
	transform-origin: top left;
	-webkit-transition: -webkit-transform 0.5s 0.96s ease-in-out;
	transition: -webkit-transform 0.5s 0.96s ease-in-out;
	transition: transform 0.5s 0.96s ease-in-out;
	transition: transform 0.5s 0.96s ease-in-out, -webkit-transform 0.5s 0.96s ease-in-out;
}
.mv__textTitle .mv__textStrong span::before {
	content: "「";
	font-weight: 400;
}
.mv__textTitle .mv__textStrong span::after {
	content: "」";
	font-weight: 400;
}
.mv__textTitle .mv__textStrong small {
	font-size: 65px;
}
.mv__textDesc {
	position: relative;
	font-size: 15px;
	letter-spacing: 0.06em;
	overflow: hidden;
}
.mv__textDesc span {
	display: block;
	-webkit-transform: translateY(100%) rotateZ(10deg);
	transform: translateY(100%) rotateZ(10deg);
	-webkit-transform-origin: top left;
	transform-origin: top left;
	-webkit-transition: -webkit-transform 0.5s 1.1s ease-in-out;
	transition: -webkit-transform 0.5s 1.1s ease-in-out;
	transition: transform 0.5s 1.1s ease-in-out;
	transition: transform 0.5s 1.1s ease-in-out, -webkit-transform 0.5s 1.1s ease-in-out;
}
.mv__imgListWrap {
	position: absolute;
	right: 5%;
	top: -10vh;
	height: 77.5vh;
	min-height: 515px;
	/*width: 74%;*/
	width: 65%;
	overflow: hidden;
	opacity: 0;
	-webkit-filter: blur(10px) brightness(1.8) contrast(180%) saturate(70%);
	filter: blur(10px) brightness(1.8) contrast(180%) saturate(70%);
	-webkit-transition: opacity 0.5s, -webkit-filter 1.5s;
	transition: opacity 0.5s, -webkit-filter 1.5s;
	transition: opacity 0.5s, filter 1.5s;
	transition: opacity 0.5s, filter 1.5s, -webkit-filter 1.5s;
	z-index: 1;
}
.mv__imgListWrap.-active {
	opacity: 1;
	-webkit-filter: blur(0) brightness(1) contrast(100%) saturate(100%);
	filter: blur(0) brightness(1) contrast(100%) saturate(100%);
}
.mv__imgListWrap.-active .mv__imgList {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.mv__imgListWrap::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.22;
	z-index: 3;
	background: -webkit-gradient(linear, left top, right top, from(#33393e), color-stop(42%, rgba(51, 57, 62, 0)), color-stop(67%, rgba(51, 57, 62, 0)), to(rgba(51, 57, 62, 0)));
	background: linear-gradient(to right, #33393e 0%, rgba(51, 57, 62, 0) 42%, rgba(51, 57, 62, 0) 67%, rgba(51, 57, 62, 0) 100%);
}
.mv__imgList {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	-webkit-transition: -webkit-transform 1.5s;
	transition: -webkit-transform 1.5s;
	transition: transform 1.5s;
	transition: transform 1.5s, -webkit-transform 1.5s;
}
.mv__imgItem {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	-webkit-transform-origin: right;
	transform-origin: right;
	will-change: animation, transform, width, right;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.mv__imgItem img {
	-o-object-fit: cover;
	object-fit: cover;
	height: 100%;
	width: 100%;
	will-change: animation, transform;
	font-family: "object-fit: cover; object-position: right;";
}
.mv__imgItem.-active {
	-webkit-animation: wipe 1.5s cubic-bezier(0.76, 0.09, 0.1, 1) backwards;
	animation: wipe 1.5s cubic-bezier(0.76, 0.09, 0.1, 1) backwards;
	z-index: 2;
}
.mv__imgItem.-scale img {
	-webkit-animation: scale 7s cubic-bezier(0.04, 0.21, 0.4, 1);
	animation: scale 7s cubic-bezier(0.04, 0.21, 0.4, 1);
}
.mv__imgItem.-before {
	z-index: 1;
}
.mv__imgItem.-img01 img {
	-o-object-position: right;
	object-position: right;
}
.mv__imgItem.-img02 img {
	-o-object-position: right;
	object-position: right;
}
.mv__imgItem.-img03 img {
	-o-object-position: right;
	object-position: right;
}
@-webkit-keyframes wipe {
	0% {
		width: 0;
		right: -25%;
	}
	100% {
		width: 100%;
		right: 0;
	}
}
@keyframes wipe {
	0% {
		width: 0;
		right: -25%;
	}
	100% {
		width: 100%;
		right: 0;
	}
}
@-webkit-keyframes scale {
	0% {
		-webkit-transform: scale(1.25);
		transform: scale(1.25);
	}
	11% {
		-webkit-transform: scale(1.25);
		transform: scale(1.25);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes scale {
	0% {
		-webkit-transform: scale(1.25);
		transform: scale(1.25);
	}
	11% {
		-webkit-transform: scale(1.25);
		transform: scale(1.25);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
.mv__btn {
	position: absolute;
	bottom: 13vh;
	right: 0;
	overflow: hidden;
	z-index: 4;
}
.mv__btn a {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-transition: -webkit-transform 0.4s 2s cubic-bezier(0.27, 0, 0.29, 1);
	transition: -webkit-transform 0.4s 2s cubic-bezier(0.27, 0, 0.29, 1);
	transition: transform 0.4s 2s cubic-bezier(0.27, 0, 0.29, 1);
	transition: transform 0.4s 2s cubic-bezier(0.27, 0, 0.29, 1), -webkit-transform 0.4s 2s cubic-bezier(0.27, 0, 0.29, 1);
}
.mv__btn.-active a {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
.mv__btn:has(.is_modal){
  right: 69.4444444444vw;
  transition: all 0.4s;
}
@media screen and (max-width: 767px) {
  .mv__btn:has(.is_modal){
    right: 88.5vw;
  }
}
.mv__loop {
	position: absolute;
	bottom: calc(10vh - 50px);
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100vw;
	height: 68px;
	overflow: hidden;
	mix-blend-mode: color-dodge;
	z-index: 4;
	width: 0;
	-webkit-transition: width 0.6s 1.5s ease-in;
	transition: width 0.6s 1.5s ease-in;
}
.mv__loop.-active {
	width: 100%;
}
.mv__loop.-active img:first-child {
	-webkit-animation: slide1 60s -30s linear infinite;
	animation: slide1 60s -30s linear infinite;
}
.mv__loop.-active img:last-child {
	-webkit-animation: slide2 60s linear infinite;
	animation: slide2 60s linear infinite;
}
.mv__loop img {
	width: auto;
	max-width: 10000px;
	height: 100%;
}
@-webkit-keyframes slide1 {
	0% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
	}
	to {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}
@keyframes slide1 {
	0% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
	}
	to {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}
@-webkit-keyframes slide2 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	to {
		-webkit-transform: translate3d(-200%, 0, 0);
		transform: translate3d(-200%, 0, 0);
	}
}
@keyframes slide2 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	to {
		-webkit-transform: translate3d(-200%, 0, 0);
		transform: translate3d(-200%, 0, 0);
	}
}
@media screen and (max-width: 1040px) {
	.mv__textTitle {
		font-size: 30px;
		margin-bottom: 10px;
	}
	.mv__imgListWrap {
		right: 4%;
	}
}
@media screen and (max-width: 767px) and (max-height: 670px) {
	.mv__text {
		top: 10%;
	}
}
@media screen and (max-width: 767px) {
	.mv {
		top: 0;
		min-height: 400px;
		margin-top: 133px;
		margin-bottom: 20px;
		height: calc(calc(var(--vh, 1vh) * 100) - 133px);
		max-height: calc(100vh - 260px);
		padding: 0 !important;
	}
	.mv__text {
		padding: 0 6%;
	}
	.mv__textTitle {
		font-size: 15px;
		letter-spacing: 0.09em;
		margin-bottom: 25px;
	}
	.mv__textTitle .mv__textStrong,
	.mv__textTitle small {
		font-size: 45px;
		line-height: 1.2;
	}
	.mv__textDesc {
		font-size: 14px;
		-webkit-font-feature-settings: "palt"1;
		font-feature-settings: "palt"1;
		letter-spacing: 0.02em;
	}
	.mv__award img {
		width: 160px;
		margin-right: 10px;
	}
	.mv__imgListWrap {
		top: -58px;
		right: 0;
		height: calc(calc(var(--vh, 1vh) * 100) - 133px);
		max-height: calc(100vh - 260px);
		min-height: 395px;
		width: 80%;
	}
	.mv__imgListWrap::after {
		opacity: 0.4;
		background: -webkit-gradient(linear, left top, right top, from(#33393e), to(rgba(51, 57, 62, 0.6)));
		background: linear-gradient(to right, #33393e 0%, rgba(51, 57, 62, 0.6) 100%);
	}
	.mv__btn {
		display: none;
	}
	.mv__loop {
		bottom: 32px;
		height: 33px;
	}
	.mv__imgItem.-img01 img {
		-o-object-position: 12% 0;
		object-position: 12% 0;
	}
	.mv__imgItem.-img02 img {
		-o-object-position: 65% 0;
		object-position: 65% 0;
	}
	.mv__imgItem.-img03 img {
		-o-object-position: center;
		object-position: center;
	}
}
@media (max-width:400px){
  .mv__textTitle .mv__textStrong,
	.mv__textTitle small {
    font-size: 11.125vw;
	}
  .mv__textTitle .mv__textStrong small {
    font-size: 13vw;
  }
  .mv__textDesc {
    font-size: 3.2vw;
    padding-right: 3vw;
  }
}

/* ----------------------------------
 トライアル申し込みボタン
-----------------------------------*/
.float__btn {
  position: fixed;
  bottom: 30vh;
  right: 0;
  overflow: hidden;
  z-index: 101;
}
@media screen and (max-width: 767px) {
  .float__btn {
    display: block;
    width: 9vw;
  }
}
.btn.-trial {
  width: fit-content;
  min-width: unset;
  padding: 1.25vw 1.3541666667vw 1.3888888889vw;
  transform: translateX(-100%);
  border-radius: 0.8333333333vw 0 0 0.8333333333vw;
  background-color: #006fbc;
  color: #fff;
  font-weight: bold;
  font-size: 1.1111111111vw;
  text-align: center;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .btn.-trial:hover {
    background-color: #006fbc;
  }
}
@media screen and (max-width: 767px) {
  .btn.-trial {
    width: 100%;
    box-sizing: border-box;
    padding: 2.6666666667vw 1.6vw 4vw;
    border-radius: 2.1333333333vw 0 0 2.1333333333vw;
    font-size: 2.6666666667vw;
  }
}
.btn.-trial img {
  display: inline-block;
  width: 2.2222222222vw;
  margin: 0.3472222222vw auto 0;
  transform: rotate(180deg);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn.-trial img{
    width: 4vw;
    height: auto;
    margin: 1.3333333333vw auto 0;
  }
}
.btn.-trial.is_modal img{
  transform: rotate(0deg);
}

/* トライアルモーダル */
.bl_grayBack {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translate(120%);
  background-color: rgba(32, 41, 64, 0.5);
  transition: all 0.6s;
}
body:has( .is_modal ) .bl_modalLayout, body:has( .is_modal ) .bl_grayBack {
    transform: translate(0);
}
.bl_modalLayout {
  color: #202940;
  z-index: 100;
  position: fixed;
  top: 0;
  right: 0;
  width: 69.4444444444vw;
  max-height: 100%;
  overflow: auto;
  transform: translate(120%);
  background-color: #fff;
  transition: all 0.4s;
}
.bl_modalLayout.is_modal{
  transform: translate(0);
}
.bl_modalHeading {
  padding: 4.1666666667vw 5.5555555556vw 2vw;
  background-color: #c9d2da;
  font-size: 2.2222222222vw;
  line-height: 1.5;
}
.bl_modalTxt {
  padding: 0vw 5.5555555556vw 1.4583333333vw;
  background-color: #c9d2da;
  font-size: 1.2222222222vw;
  line-height: 1.5;
}
.bl_modalHeadingBg {
  background-color: #c9d2da;
  padding: 2.4583333333vw;
}
.bl_modalLinkCt {
  background-color: #FFFFFF;
  display: block;
  position: relative;
  width: 13.8888888889vw;
  margin: 0vw 5.5555555556vw 2.4583333333vw;
  padding: 1.125vw 1.1111111111vw;
  border: 1px solid currentColor;
  border-radius: 0.5555555556vw;
  color: #006fbc;
  font-weight: bold;
  line-height: 1;
  z-index: 2;
}
.bl_modalLinkCt a{
  color: inherit;
}
.bl_modalLayoutInner {
  position: relative;
  width: 58.3333333333vw;
  margin-top: -2.7777777778vw;
  margin-right: auto;
  margin-left: auto;
  padding: 2.7777777778vw;
  background-color: #fff;
  box-shadow: 0px 0px 4.1666666667vw 0px rgba(0, 0, 0, 0.12);
}
.bl_modalBox {
  margin-bottom: 5.5555555556vw;
  counter-increment: modal;
}
.bl_modalHeadingLv3 {
  position: relative;
  margin-bottom: 1.3888888889vw;
  padding-top: 0.3472222222vw;
  padding-left: 4.1666666667vw;
  color: #202940;
  font-weight: bold;
  font-size: 1.6666666667vw;
  line-height: 1.5;
}
.bl_modalHeadingLv3::before {
  display: block;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 2.7777777778vw;
  height: 2.7777777778vw;
  background-color: #006fbc;
  content: counter(modal, decimal-leading-zero);
  color: #fff;
  font-weight: normal;
  font-family: Prompt;
  text-align: center;
}
.bl_modalBox_inner {
  padding: 0 1.1111111111vw;
}
.bl_modalBox_inner p {
  margin-bottom: 24px;
  font-size: 1.0416666667vw;
  line-height: 1.75;
}
.bl_modalBox_img01 {
  display: block;
  width: 45.8333333333vw;
  margin: 0 auto 1.6666666667vw;
}
.bl_modalLink {
  display: block;
  position: relative;
  width: 13.8888888889vw;
  margin: 0 auto;
  padding: 1.125vw 1.1111111111vw;
  border: 1px solid currentColor;
  border-radius: 0.5555555556vw;
  color: #006fbc;
  font-weight: bold;
  line-height: 1;
}
.bl_modalLink::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.1111111111vw;
  width: 0.6944444444vw;
  height: 0.6944444444vw;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}
@media screen and (max-width: 767px) {
.bl_modalLayout {
  width: 88.5%;
}
.bl_modalHeading {
  padding: 6.9333333333vw 5.3333333333vw 5vw;
  font-size: 6.4vw;
}
.bl_modalTxt {
  padding: 0vw 5.5555555556vw 1.4583333333vw;
  background-color: #c9d2da;
  font-size: 3.2vw;
  line-height: 1.5;
 }
.bl_modalLinkCt {
  width: 52%;
  padding: 4.32vw 4.2666666667vw;
  border-radius: 2.1333333333vw;
  font-size: 3.7333333333vw;
  margin: 5vw;
}
.bl_modalLayoutInner {
  width: 100%;
  margin-top: 0;
  padding: 8.8vw 5.3333333333vw;
}
.bl_modalLayoutInner::after {
  width: 63.2vw;
  height: 27.7333333333vw;
  opacity: 0.9;
}
.bl_modalBox {
  margin-bottom: 21.3333333333vw;
}
.bl_modalHeadingLv3 {
  margin-bottom: 6.6666666667vw;
  padding-left: 13.3333333333vw;
  font-size: 4.2666666667vw;
}
.bl_modalHeadingLv3::before {
  width: 8.5333333333vw;
  height: 8.5333333333vw;
}
.bl_modalBox_inner {
  padding: 0;
}
.bl_modalBox_inner p {
  font-size: 3.2vw;
}
.bl_modalBox_img01 {
  width: 100%;
  margin: 0 auto 6.4vw;
}
.bl_modalLink {
  width: 100%;
  padding: 4.32vw 4.2666666667vw;
  border-radius: 2.1333333333vw;
  font-size: 3.7333333333vw;
}
.bl_modalLink::before {
  right: 4.2666666667vw;
  width: 2.6666666667vw;
  height: 2.6666666667vw;
}
}

/* ----------------------------------
 CUSTOMERS
-----------------------------------*/
.indexCust {
	/*background: #f1f4f3;*/
	overflow-x: hidden;
	width: 100vw;
	margin-left: 0;
}
.indexCust__inner {
	/*margin-bottom: 100px; 初期*/
	margin-bottom: 70px;
	padding: 70px 6.43% 0;
}
.indexCust__intro {
	text-align: center;
	margin-bottom: 60px;
}
.indexCust__listWrap {
	display: flex;
	width: 100vw;
}
.indexCust__list {
	display: flex;
	flex-shrink: 0;
  gap:20px;
	font-size: 0;
	/*text-align: center;*/
	margin-bottom: 46px;
	animation: slide2 90s -45s linear infinite;
}
.indexCust__list:last-of-type {
	display: none;
}
.indexCust__list li {
	display: inline-block;
	direction: ltr;
	margin: 0 5px 16px;
}
.indexCust__commentHead {
	color: #fff;
	font-size: 28px;
	letter-spacing: 0.1em;
	background-image: url("../img/index/customers_comment_back.jpg");
	background-position: center;
	background-size: cover;
	padding: 140px 75px 210px;
}
.indexCust__commentWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: -140px 4.47% 80px;
}
.indexCust__commentWrap.slick-initialized {
	width: calc(100vw - 16.61vw);
}
.indexCust__commentWrap .slick-track {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.indexCust__commentWrap .slick-slide {
	height: auto;
}
.indexCust__commentWrap .slick-dots {
	bottom: -40px;
	width: 73vw;
}
.indexCust__commentWrap .slick-dots .slick-active button:before {
	color: #6eb92b;
	opacity: 1;
}
.indexCust__comment {
	background-color: rgba(255, 255, 255, 0.94);
	width: 35vw;
	margin-right: 3vw;
	padding: 30px 4.42vw 50px;
}
.indexCust__comment:last-of-type {
	margin-right: 0;
}
.indexCust__profile {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	border-bottom: 2px solid #2a2a2a;
	padding-bottom: 27px;
	margin-bottom: 20px;
}
.indexCust__profile img {
	width: 116px;
	margin: 0 37px;
}
.indexCust__profile p {
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
}
.indexCust__profile::after {
	position: absolute;
	left: 50%;
	bottom: -2px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	content: "";
	display: block;
	background-image: url("../img/index/customers_tri.png");
	background-size: cover;
	width: 27px;
	height: 16px;
}
.indexCust__commentTxt {
	font-size: 15px;
	line-height: 2;
}
.indexCust__commentTxt span {
	color: #6eb92b;
	font-weight: 700;
}
@media screen and (min-width: 768px) {
	.js-custCul_rev {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.indexCust {
		margin-left: 0;
		margin-bottom: 25px;
	}
	.indexCust::after {
		height: 130px;
	}
	.indexCust__inner {
		padding: 30px 0 0;
		margin-bottom: 20px;
	}
	.indexCust__intro {
		text-align: left;
		margin-bottom: 30px;
		padding: 0 6%;
	}
	.indexCust__listWrap {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100vw;
		overflow: hidden;
	}
	.indexCust__listWrap._rev {
		margin-bottom: 30px;
	}
	.indexCust__listWrap._rev .indexCust__list {
		animation-direction: reverse !important;
	}
	.indexCust__list {
		padding: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		margin-bottom: 13px;
	}
	.indexCust__list:nth-child(2),
	.indexCust__list:nth-child(3),
	.indexCust__list:nth-child(4) {
		display: none;
	}
	.indexCust__list:first-of-type {
		-webkit-animation: slide1 90s -45s linear infinite;
		animation: slide1 90s -45s linear infinite;
	}
	.indexCust__list:last-of-type {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-animation: slide2 90s linear infinite;
		animation: slide2 90s linear infinite;
	}
	.indexCust__list li {
		display: inline-block;
		height: 47px;
		margin-bottom: 0;
	}
	.indexCust__list img {
		display: block;
		height: 100%;
		width: auto;
	}
	.indexCust__commentWrap {
		margin: -130px 0 70px;
	}
	.indexCust__commentWrap.slick-initialized {
		width: auto;
	}
	.indexCust__commentWrap .slick-list {
		overflow: hidden;
	}
	.indexCust__commentWrap .slick-track {
		display: block;
	}
	.indexCust__commentWrap .slick-dots {
		width: 100%;
	}
	.indexCust__commentHead {
		font-size: 20px;
		padding: 40px 9% 160px;
	}
	.indexCust__comment {
		width: 81vw;
		padding: 20px 6vw 35px;
	}
	.indexCust__profile {
		-ms-flex-pack: distribute;
		justify-content: space-around;
		padding-bottom: 24px;
	}
	.indexCust__profile::after {
		background-image: url("../img/index/sp/customers_tri.png");
		width: 18px;
		height: 11px;
	}
	.indexCust__profile img {
		width: 106px;
		margin: 0;
	}
	.indexCust__profile p {
		font-size: 14px;
		line-height: 1.72;
	}
	.indexCust__commentTxt {
		font-size: 14px;
		line-height: 1.72;
	}
}

/* ----------------------------------
 ABOUT
-----------------------------------*/
.indexAbout {
	background-color: #f1f4f3;
	padding: 80px 0;
}
.indexAbout__01Inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	justify-content: center;
	margin: 0 auto 90px;
}
.indexAbout__eyeCatch {
	line-height: 1;
	width: 38%;
  	aspect-ratio: 16 / 11;
	margin-right: 6%;
}
.indexAbout__eyeCatch iframe,
.indexAbout__eyeCatch img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.indexAbout__text {
	width: 62%;
	max-width: 600px;
}
.indexAbout__textHead {
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 20px;
}
.indexAbout__textHead span {
	font-size: 36px;
}
.indexAbout__textData {
	line-height: 2;
	letter-spacing: 0.01em;
}
.indexAbout__02 {
	padding-left: 6.43%;
}
.indexAbout__02Inner {
	text-align: center;
	max-width: 1480px;
	background-color: #fff;
	padding: 40px 20px;
	margin: 0 auto 90px;
}
.indexAbout__02Inner img {
	margin: auto;
}
.indexAbout__02InnerHead {
	font-size: 24px;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}
.indexAbout__02InnerHead span {
	display: block;
	/* color: #6eb92b; */
	color: #292c6e;
	font-size: 32px;
}
@media screen and (max-width: 1040px) {
	.indexAbout__02InnerHead {
		font-size: 22px;
	}
	.indexAbout__02InnerHead span {
		font-size: 28px;
	}
	.indexAbout__02 {
		padding-left: 3%;
	}
}
@media screen and (max-width: 767px) {
	.indexAbout {
		margin-left: 0;
		padding-top: 30px;
		padding-bottom: 20px;
	}
	.indexAbout__01 {
		padding: 0;
	}
	.indexAbout__01Inner {
		display: block;
		margin-bottom: 25px;
	}
	.indexAbout__02 {
		padding-left: 6%;
	}
	.indexAbout__02Inner {
		padding: 25px 15px;
		margin-bottom: 40px;
	}
	.indexAbout__02InnerHead {
		font-size: 16px;
		line-height: 1.6;
	}
	.indexAbout__02InnerHead span {
		font-size: 20px;
	}
	.indexAbout__eyeCatch {
		width: 100%;
		margin: 0 0 25px;
	}
	.indexAbout__text {
		padding: 0 6%;
		max-width: 100%;
		width: 100%;
	}
	.indexAbout__textHead {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.indexAbout__textHead span {
		font-size: 24px;
	}
	.indexAbout__textData {
		letter-spacing: 0;
	}
}

.indexStr {
	background: #f1f4f3;
	padding-top: 10px;
	margin-bottom: 80px;
}
.indexStr .btn {
	margin-bottom: 90px;
}
.indexStr__itemWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 1600px;
	margin: 0 auto 80px;
}
.indexStr__item {
	background: #fff;
	padding: 40px 3.33%;
	width: 31%;
}
.indexStr__item img {
	display: block;
	max-width: 156px;
	width: 90%;
	margin: 0 auto 30px;
}
.indexStr__item dt {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.38;
	text-align: center;
	margin-bottom: 20px;
}
.indexStr__item dd {
	line-height: 2;
}
.indexStr__item dd small {
	display: block;
	font-size: 13px;
	margin-top: 1em;
}
.indexStr__link01::after {
	background-image: url("../img/index/str_link01.jpg");
}
.indexStr__link02::after {
	background-image: url("../img/index/str_link02.jpg");
}
@media screen and (max-width: 1040px) {
	.indexStr__itemWrap {
		display: block;
	}
	.indexStr__item {
		width: 100%;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 767px) {
	.indexStr {
		padding-top: 25px;
		margin-bottom: 0;
	}
  	.indexStr._marLeft{
    	margin-left: 0;
  	}
	.indexStr .btn {
		margin-bottom: 40px;
	}
	.indexStr__itemWrap {
		margin-bottom: 20px;
	}
	.indexStr__item {
		padding: 30px 6%;
	}
	.indexStr__item img {
		max-width: 180px;
		margin-bottom: 15px;
	}
	.indexStr__item dt {
		font-size: 16px;
		letter-spacing: 0.08em;
		margin-bottom: 10px;
	}
	.indexStr__item dd {
		line-height: 1.71;
	}
	.indexStr__item dd small {
		font-size: 12px;
	}
}

/* ----------------------------------
 TG-WEB meeの特長
-----------------------------------*/
.indexMerits {
	/* background: -webkit-gradient(linear, left top, left bottom, from(#6eb92b), color-stop(80%, #6eb92b), color-stop(80%, #f1f4f3), to(#f1f4f3)); */
	/* background: linear-gradient(to bottom, #6eb92b 0%, #6eb92b 80%, #f1f4f3 80%, #f1f4f3 100%); */
	background: -webkit-gradient(linear, left top, left bottom, from(#292c6e), color-stop(80%, #292c6e), color-stop(80%, #f1f4f3), to(#f1f4f3));
	background: linear-gradient(to bottom, #292c6e 0%, #292c6e 80%, #f1f4f3 80%, #f1f4f3 100%);
}
.indexMerits__inner {
	position: relative;
	background: #fff;
	top: -60px;
	padding-top: 75px;
	padding-bottom: 100px;
	z-index: 1;
  	counter-reset: section;
}
.indexMerits__block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	max-width: 1300px;
	margin: 0 auto 100px;
  counter-increment: section;
}
.indexMerits__block:has(+ .indexMerits__block){
  margin-bottom: 100px!important;
}
.indexMerits__block.-left {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	margin-bottom: 0;
}
.indexMerits__block.-left dl {
	margin-right: 7.2%;
	margin-left: 0;
}
.indexMerits__block.-left dl::after {
	right: auto;
	left: 0;
	bottom: -70px;
}
.indexMerits__block.-left .indexMerits__img {
	max-width: 44.2%;
}
.indexMerits__block .indexMerits__img {
	max-width: 49.2%;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.indexMerits__block dl {
	position: relative;
	padding: 0 20px;
	margin-left: 7.2%;
	width: 43.6%;
}
.indexMerits__block dl::after {
	position: absolute;
	right: 0;
	bottom: -54px;
	content: counter(section, decimal-leading-zero);
	color: rgba(185, 185, 185, 0.3);
	font-family: "Barlow", sans-serif;
	font-size: 162px;
	font-weight: 500;
	line-height: 1;
	z-index: -1;
}
.indexMerits__block dt {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	margin-bottom: 32px;
}
.indexMerits__block dd {
	line-height: 2;
}
@media screen and (max-width: 1040px) {
	.indexMerits__block dl {
		width: 50%;
		padding: 0;
	}
	.indexMerits__block dt {
		font-size: 24px;
	}
	.indexMerits__block.-left dl {
		margin-right: 4%;
	}
}
@media screen and (max-width: 767px) {
	.indexMerits {
		/* background: -webkit-gradient(linear, left top, left bottom, from(#6eb92b), color-stop(94%, #6eb92b), color-stop(94%, #f1f4f3), to(#f1f4f3));
		background: linear-gradient(to bottom, #6eb92b 0%, #6eb92b 94%, #f1f4f3 94%, #f1f4f3 100%); */
    background: -webkit-gradient(linear, left top, left bottom, from(#292c6e), color-stop(94%, #292c6e), color-stop(94%, #f1f4f3), to(#f1f4f3));
		background: linear-gradient(to bottom, #292c6e 0%, #292c6e 94%, #f1f4f3 94%, #f1f4f3 100%);
	}
	.indexMerits__inner {
		top: 0;
		padding-top: 30px;
		padding-bottom: 50px;
	}
	.indexMerits__inner .secHead__text small {
		font-size: 15px;
		letter-spacing: 0.07em;
	}
	.indexMerits__block {
		display: block;
		margin-bottom: 60px;
	}
  	.indexMerits__block:has(+ .indexMerits__block){
    	margin-bottom: 60px!important;
  	}
	.indexMerits__block.-left .indexMerits__img {
		max-width: 100%;
	}
	.indexMerits__block.-left dl::after {
		left: auto;
		right: 0;
		bottom: -25px;
	}
	.indexMerits__block .indexMerits__img {
		max-width: 100%;
		margin-bottom: 25px;
	}
	.indexMerits__block dl {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.indexMerits__block dl::after {
		font-size: 117px;
		font-weight: 600;
		bottom: -25px;
	}
	.indexMerits__block dt {
		font-size: 18px;
		letter-spacing: 0.054em;
		margin-bottom: 10px;
	}
	.indexMerits__block dd {
		line-height: 1.66;
	}
}

/* ----------------------------------
 監修者
-----------------------------------*/
.indexSupervisor {
	margin-top: 100px;
}
.indexSupervisor__inner {
	background-color: #b1d7e0;
	margin-bottom: 60px;
	padding-top: 60px;
	padding-bottom: 90px;
}
.indexSupervisor .secHead__text span {
	color: #2a2a2a;
}
.indexSupervisor__list {
	display: flex;
	justify-content: center;
	gap: 2%;
	margin-top: 60px;
}
.indexSupervisor__item {
	background-color: #fff;
	width: calc(100% / 3);
	padding: 20px;
}
.indexSupervisor__image {
	width: 60%;
	margin: 0 auto 10px;
}
.indexSupervisor__name {
	font-size: 22px;
	text-align: center;
	margin-bottom: 5px;
}
.indexSupervisor__textarea p {
	font-size: 14px;
}
.indexSupervisor__caption {
	margin-bottom: 10px;
}
.indexSupervisor__caption p {
	font-size: 13px;
}
@media screen and (max-width: 767px) {
	.indexSupervisor {
		margin-top: 30px;
	}
	.indexSupervisor__inner {
		margin-bottom: 40px;
		padding-top: 30px;
		padding-bottom: 50px;
	}
	.indexSupervisor__list {
		flex-wrap: wrap;
		gap: 10px;
		margin-top: 30px;
	}
	.indexSupervisor__item {
		width: 100%;
	}
}

/* ----------------------------------
 mee x i-web
-----------------------------------*/
.indexQraft {
	text-align: center;
	margin-top: 100px;
}
.indexQraft__inner {
	background-color: #f1f4f3;
	margin-bottom: 60px;
	padding-top: 60px;
	padding-bottom: 90px;
}
.indexQraft__inner p {
	font-size: 18px;
	font-weight: 500;
}
.indexQraft__colabo {
	width: 500px;
	margin: 40px auto 60px;
}
.indexQraft_pict {
	max-width: 1480px;
	margin: auto;
	padding: 0 3.86%;
}
.indexQraft_pictHead {
	/* color: #6eb92b; */
	color: #292c6e;
	font-size: 24px;
	letter-spacing: 0.075em;
	line-height: 1.4;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.indexQraft {
		margin-bottom: 24px;
		margin-top: 30px;
	}
	.indexQraft .secHead__text span {
		font-size: 22px;
	}
	.indexQraft .secHead__text small {
		display: block;
		margin-bottom: 15px;
	}
	.indexQraft__inner {
		padding-top: 30px;
		padding-bottom: 40px;
		margin-bottom: 25px;
	}
	.indexQraft__inner p {
		font-size: 14px;
		line-height: 1.7;
		text-align: left;
	}
	.indexQraft__colabo {
		width: 250px;
		margin: 30px auto;
	}
	.indexQraft_pict {
		padding: 0;
	}
	.indexQraft_pictHead {
		font-size: 19px;
		margin-bottom: 25px;
	}
}
@media screen and (min-width: 768px) and (any-hover: hover) {
	.imgBtn.-qraft:hover::after {
		right: 30px;
	}
}
@media screen and (min-width: 768px) {
	body.-ie11 .imgBtn.-qraft:hover::after {
		right: 30px;
	}
}

/* ----------------------------------
採用に合わせて選べる面接プラン
---------------------------------- */
.planSec{
  padding: 0 100px 80px;
  margin-top: 100px;
}
.planSec__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.planSec__title {
  font-size: 28px;
  /* margin-bottom: 60px; */
	margin-bottom: 10px;
  text-align: center;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
	.planSec{
		padding-left: 6%;
        padding-right: 6%;
		padding-bottom: 50px;
		margin-top: 30px;
	}
  .planSec__title {
    font-size: 20px;
    /* margin-bottom: 23px; */
  }
}
.planSec__caption {
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 30px;
}
.indexPlan__tbwrap{
  width: 100%;
}
@media screen and (max-width: 767px) {
  .indexPlan__tbwrap{
    width: 96%;
    margin-left: auto;
    padding-right: 4vw;
		overflow-x: scroll;
  }
}
.indexPlan__tbwrap.-active{
  overflow-x: scroll!important;
}
.indexPlan__tbwrap.-active::-webkit-scrollbar {
  display: none;
}
.indexPlan__tbwrap > p{
  min-width: 1200px;
  text-align: right;
  margin-bottom: 10px;
  font-size: 14px;
  color: #888;
}
.indexPlan__table {
  width: 100%;
  min-width: 1200px;
  border-collapse: collapse;
  font-family: "Helvetica Neue", sans-serif;
  font-size: 14px;
  color: #333;
}
@media screen and (max-width: 767px) {
	.indexPlan__table {
		overflow-x: scroll;
	}
}
.indexPlan__table .-fb {
  color: #111;
  font-weight: 700;
}
.indexPlan__headcell {
  border: 6px solid #f2f2f2;
  border-top: 10px solid #f2f2f2;
  padding: 20px;
  background: #fff;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
}
.indexPlan__thead .indexPlan__headcell:nth-of-type(3){
  border-top: 6px solid #203864;
}
.indexPlan__headcell p {
  font-weight: 400;
}
.indexPlan__startbtn{
  display: block;
  margin: auto;
  min-height: 20.8px;
  font-size: 14px;
  background-color: #26959e;
  color: white;
  padding: 6px 8px;
  border-radius: 10px;
  margin-top: 10px;
}
.indexPlan__headcell--blank {
  background: transparent;
  border: none;
}
.indexPlan__planTitle {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
}
.indexPlan__badge {
  display: block;
  margin: 20px auto;
  width: fit-content;
  min-height: 20.8px;
  font-size: 12px;
  color: #fff;
  padding: 2px 16px 3px;
  border-radius: 10px;
  background-color: #203864;
}
.indexPlan__badge:empty{
  background-color: #fff;
}
.indexPlan__row th{
	/* width: 25%; */
  width: 20%;
}
.indexPlan__row:nth-child(n+2) .indexPlan__cell:nth-child(1){
  padding: 10px 12px;
}
.indexPlan__row:nth-child(n+2) .indexPlan__cell:nth-child(n+2){
  /* font-size: 30px; */
  padding: 10px 12px;
  color: #ccc;
  line-height: 1.24;
  vertical-align: middle;
}
.indexPlan__row:nth-child(n+2) .indexPlan__cell:nth-child(n+2).v-top{
  vertical-align: top;
}
.indexPlan__cell {
  border: 6px solid #f2f2f2;
  padding: 20px 12px;
  text-align: center;
  vertical-align: middle;
}
.indexPlan__cell p{
  font-size: 14px;
  color: #333;
}
.indexPlan__cell--feature {
  width: 200px;
  padding: 16px;
  background: #bfbfbf;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
.indexPlan__price {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: .02em;
}
.indexPlan__annual{
  margin: 10px 0;
  font-weight: 500;
}
.indexPlan__yen {
  font-size: 14px;
  margin-left: 2px;
}
.indexPlan__year {
  font-size: 14px;
  color: #666;
  margin: 4px 0;
}
.indexPlan__save {
  font-size: 13px;
  color: #007bff;
  margin: 4px 0;
}
.indexPlan__monthly,
.indexPlan__onlyYear {
  font-size: 13px;
  color: #333;
  margin-top: 6px;
}
.indexPlan__note {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
}
.indexPlan__noteSmall {
  font-size: 11px;
  color: #888;
  margin-top: 4px;
}
.indexPlan__noteSmall.-mt{
  margin-top: 10px;
}
.indexPlan__noteSmall b{
  color: #111;
  text-shadow: unset !important;
}
.indexPlan__mainTitle {
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 4px;
}
.indexPlan__subLabels {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.indexPlan__subLabel {
  font-size: 14px;
  color: #333;
}
.indexPlan__priceLine {
  display: flex;
  align-items: center;
  font-size: 16px;
  margin-bottom: 8px;
}
.indexPlan__bullet {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: orange;
  border-radius: 50%;
  margin-right: 6px;
}

.indexPlan__cell:has(.indexPlan__cellrow){
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.indexPlan__cellrow{
  display: flex;
  flex-direction: column;
}
.indexPlan_year {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 141px;
  padding-bottom: 20px;
  padding-top: 20px;
}
.indexPlan__monthly {
  margin-top: 0;
  padding-top: 10px;
  padding-bottom: 12px;
  border-top: 6px solid #f2f2f2;
  font-size: 20px;
}
.indexPlan__monthly.-jp{
  font-size: 16px;
}
.indexPlan__monthly span{
  font-size: 12px;
}
.indexPlan__row--price .indexPlan__cell:nth-of-type(1) .indexPlan_year,
.indexPlan__row--price .indexPlan__cell:nth-of-type(1) .indexPlan__monthly{
  position: relative;
}
.indexPlan__row--price .indexPlan__cell:nth-of-type(1) .indexPlan_year::before,
.indexPlan__row--price .indexPlan__cell:nth-of-type(1) .indexPlan__monthly::before{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 110%;
  background-color: #fff;
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 100%;
  right: calc(100% + 6px);
}
.indexPlan__row--price .indexPlan__cell:nth-of-type(1) .indexPlan_year::before{
  content:"年払い";
}
.indexPlan__row--price .indexPlan__cell:nth-of-type(1) .indexPlan__monthly::before{
  content: "月払い";
  border-top: 6px solid #f2f2f2;
  top: -5.5px;
}
.indexPlan__emphasis{
  background-color: #fff0d2;
}
.indexPlan__noteSmall.-fb{
  color: #111;
}

/* ----------------------------------
 FAQ
-----------------------------------*/
.faqSec {
	background: #f1f4f3;
	padding: 80px 0 100px;
	margin-bottom: 80px;
}
.faqSec__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.faqSec__title {
	font-size: 28px;
	
	text-align: center;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: .1em;
}
.faqSec__section_title {
	font-size: 24px;
	margin: 30px 0 20px;
	text-align: center;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: .1em;
}
.faq__item {
	background: #fff;
	padding: 40px 90px 40px 50px;
	position: relative;
	cursor: pointer;
}
.faq__item::before,
.faq__item::after {
	content: '';
	display: block;
	width: 17px;
	height: 3px;
	/* background: #6eb92b; */
	background: #292c6e;
	position: absolute;
	top: 49px;
	right: 31px;
	-webkit-transition: .3s;
	transition: .3s;
}
.faq__item::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.faq__item:not(:last-child) {
	margin-bottom: 16px;
}
.faq__item .q {
	color: #292c6e;
	font-size: 18px;
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.faq__item .q::before {
	content: 'Q';
	display: block;
	font-size: 26px;
	font-family: 'Barlow', sans-serif;
	font-weight: 500;
	line-height: 32px;
	width: 32px;
}
.faq__item .q p {
	width: calc(100% - 32px);
}
.faq__item .a {
	margin-top: 50px;
	font-size: 15px;
	line-height: 2;
	display: none;
}
.faq__item .a div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.faq__item .a div::before {
	content: 'A';
	color: #aeb7b4;
	display: block;
	font-size: 26px;
	font-family: 'Barlow', sans-serif;
	font-weight: 500;
	line-height: 32px;
	width: 32px;
}
.faq__item .a div p {
	width: calc(100% - 32px);
}
.faq__item.open::after {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
.faqSec__footer {
  text-align: center;
  margin-top: 30px;
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 1040px) {
	.faqSec {
		padding: 40px 4% 80px;
	}
}
@media screen and (max-width: 767px) {
	.faqSec {
		padding: 40px 6%;
		margin-bottom: 0;
	}
	.faqSec__title {
		font-size: 20px;
		/*text-align: left;*/
		margin-bottom: 23px;
	}
	.faqSec__section_title {
		font-size: 17px;
		margin: 20px 0 10px;
		text-align: center;
		-webkit-font-feature-settings: "palt";
		font-feature-settings: "palt";
		letter-spacing: .1em;
	}
	.faq__item {
		padding: 20px 48px 20px 20px;
	}
	.faq__item:not(:last-child) {
		margin-bottom: 13px;
	}
	.faq__item::before,
	.faq__item::after {
		top: 35px;
		right: 16px;
	}
	.faq__item .q {
		font-size: 14px;
		line-height: 20px;
	}
	.faq__item .q::before {
		font-size: 21px;
		width: 20px;
		line-height: 21px;
	}
	.faq__item .a {
		margin-top: 15px;
		font-size: 13px;
		line-height: 22px;
	}
	.faq__item .a div::before {
		font-size: 21px;
		width: 20px;
		line-height: 21px;
	}
	.faqSec__footer {
 		text-align: center;
		padding: 10px;
		font-size: 14px;
		line-height: 1.8;
	}
}

/* ----------------------------------
 お問い合わせ・トライアル申し込み
-----------------------------------*/
.bl_layoutbox {
  padding: 8.3333333333vw 5.5555555556vw;
}
.bl_layoutbox__contact {
  background-color: #c9d2da;
}
.el_lv2Heading {
  font-weight: bold;
  font-size: 2.9166666667vw;
  line-height: 1.5;
}
.el_lv2Heading::after {
  display: block;
  content: attr(data-en);
  font-size: 1.25vw;
  font-family: "Prompt", "Noto Sans JP", sans-serif;
}
.bl_formWrapper {
  margin-top: 2.7777777778vw;
  padding: 2vw;
  background-color: #fff;
}
.formBox {
  width: 100%;
  max-width: 990px !important;
  margin: 0 auto;
}
.formBox h3 {
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}
.formBox .mktoForm {
  margin-bottom: 60px;
}
.mktoLogicalField,
.mktoHtmlText,
.mktoForm label,
.mktoForm p {
  width: 100% !important;
}
.formBox .mktoForm .mktoFormRow {
  padding: 10px 0;
  font-size: 16px;
}
.formBox .mktoForm .mktoFieldWrap {
  float: none;
}
.formBox .mktoForm .mktoFieldWrap span a {
  color: #0171c0;
}
.formBox .mktoForm .mktoFormCol {
  width: 100%;
}
.formBox .mktoForm .mktoFormCol.mktoFormWidthHalf {
  width: calc(50% - 10px);
}
.formBox .mktoForm .mktoFormCol.mktoFormWidthHalf + div {
  margin-left: 20px;
}
.formBox .mktoForm .mktoRequiredField .mktoAsterix {
  display: inline;
  float: none;
  font-weight: bold;
  font-size: 18px;
}
.formBox .mktoForm .mktoFieldWrap label.mktoLabel {
  display: block;
  width: 100%;
  margin-bottom: 0.5em;
  font-weight: bold;
}
.formBox .mktoForm input[type=text],
.formBox .mktoForm input[type=url],
.formBox .mktoForm input[type=email],
.formBox .mktoForm input[type=tel],
.formBox .mktoForm input[type=number],
.formBox .mktoForm input[type=date],
.formBox .mktoForm textarea.mktoField,
.formBox .mktoForm select.mktoField {
  box-sizing: border-box;
  width: 100% !important;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  font-size: 20px;
}
.formBox .mktoForm input[type=radio],
.formBox .mktoForm input[type=checkbox] {
  width: 20px;
  height: 20px;
}
.formBox .mktoForm .mktoRadioList > label,
.formBox .mktoForm .mktoCheckboxList > label {
  margin-top: 0;
  margin-bottom: 1em;
}
.formBox .mktoForm select.mktoField {
  padding: 8px;
}
.formBox .mktoForm textarea.mktoField {
  height: 10em;
}
.formBox .mktoForm input::-moz-placeholder, .formBox .mktoForm textarea::-moz-placeholder {
  color: #ccc;
  font-size: 16px;
}
.formBox .mktoForm input::placeholder,
.formBox .mktoForm textarea::placeholder {
  color: #ccc;
  font-size: 16px;
}
/* IE */
.formBox .mktoForm input:-ms-input-placeholder,
.formBox .mktoForm textarea::placeholder {
  color: #ccc;
  font-size: 16px;
}
/* Edge */
.formBox .mktoForm input::-ms-input-placeholder,
.formBox .mktoForm textarea::placeholder {
  color: #ccc;
  font-size: 16px;
}
.formBox .formRequire {
  font-size: 16px;
}
.formBox .formRequire span {
  color: #BF0000;
  font-weight: bold;
  font-size: 20px;
}
.formBox .mktoForm .mktoError .mktoErrorArrow {
  border-color: none;
  background-color: #bf0000;
}
.formBox .mktoForm .mktoError .mktoErrorMsg {
  border: none;
  background: #bf0000;
  box-shadow: none;
  font-size: 14px;
  text-shadow: none;
}
.formBox .mktoForm .mktoButtonRow {
  width: 100%;
  margin-top: 30px;
}
.formBox .mktoForm .mktoButtonRow .mktoButtonWrap {
  display: block;
  width: 100%;
  margin: 0 !important;
  text-align: center;
}
.formBox .mktoForm button.mktoButton {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  appearance: none;
  width: 400px;
  padding: 0;
  padding: 30px 15px;
  border: none;
  outline: none;
  background: #0071BE;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  line-height: 0;
  transition: all 300ms 0s ease;
}
.formBox .mktoForm button.mktoButton:hover {
  background: #52b9f6;
}
@media screen and (max-width: 767px){
  .el_lv2Heading {
    margin-bottom: 6.4vw;
    font-size: 20px;
  }
  .el_lv2Heading::after {
    font-size: 13px;
  }
}
@media screen and (max-width: 600px){
  .formBox {
    width: 100% !important;
    margin: 0 auto;
    padding-bottom: 30px;
  }
  .formBox .mktoForm .mktoFormRow {
    padding: 5px 0;
  }
  .formBox .mktoForm input[type=text],
  .formBox .mktoForm input[type=url],
  .formBox .mktoForm input[type=email],
  .formBox .mktoForm input[type=tel],
  .formBox .mktoForm input[type=number],
  .formBox .mktoForm input[type=date],
  .formBox .mktoForm textarea.mktoField,
  .formBox .mktoForm select.mktoField {
    -webkit-appearance: none;
    padding: 20px;
    font-size: 16px;
  }
  .formBox .mktoForm select.mktoField {
    padding: 10px;
  }
  .formBox .mktoForm .mktoFormCol.mktoFormWidthHalf {
    width: 100%;
  }
  .formBox .mktoForm .mktoFormCol.mktoFormWidthHalf + div {
    margin-top: 10px;
    margin-left: 0;
  }
  .formBox .mktoForm button.mktoButton {
    width: 80%;
    font-size: 16px;
  }
}
