@charset "utf-8";

/*==============================================
hacomono - School LP
================================================
0.0 - 共通パーツ
0.1 - CTAボタン
1.0 - キーヴィジュアル（hero）
2.0 - ロゴスライダー（partners）
3.0 - 特徴（feature）
4.0 - 機能（function）
5.0 - お客様の声（voice）
6.0 - 運動スクール一覧（type）
7.0 - 実績（achievement）
8.0 - セキュリティ（security）
9.0 - 料金（price）
10.0 - フッター（footer）
==============================================*/

/*----------------------------------------------
# 0.0 - 共通パーツ
----------------------------------------------*/
html,
body {
	height: 100%;
}

html {
	line-height: 1.5em;
	font-family: "Noto Sans JP", 'Roboto', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 16px;
	word-spacing: 1px;
	scroll-behavior: smooth;
}

body {
	background-color: #F4F4F4;
	font-feature-settings: "palt" 1;
}

h1 {
	margin: 0;
}



.d-flex {
	display: flex;
}

.justify-center {
	justify-content: center;
}

.align-center {
	align-items: center;
}

.u-device-sp {
	display: none;
}

.u-device-md {
	display: none;
}

.page-top {
	position: fixed;
	bottom: 300px;
	right: 30px;
}


@media only screen and (max-width: 768px) {
	.u-device-sp {
		display: block;
	}

	.u-device-pc {
		display: none;
	}
}

@media only screen and (max-width: 1024px) {
	.u-device-md {
		display: block;
	}
}

.sp {
	display: none !important;
}


.l-container {
	width: 100%;
	margin: 0 auto;
}

/*----------------------------------------------
 // animation effect
----------------------------------------------*/
/* feature01 */
.fadein-effect01-wrap {
	transform: translateY(80px);
	overflow: hidden;
	width: 30%;
	height: 100%;
	text-align: center;
}

.fadein-effect02-wrap {
	transform: translateY(0px);
	overflow: hidden;
	width: 30%;
	height: 100%;
	text-align: center;
}

.fadein-effect03-wrap {
	transform: translateY(-80px);
	overflow: hidden;
	width: 30%;
	height: 100%;
	text-align: center;
}

.fadein-effect01 {
	transition-property: opacity, transform;
	transition-duration: .8s;
	transition-timing-function: .4s cubic-bezier(0.22, 1, 0.36, 1);
}

.fadein-effect02 {
	transition-property: opacity, transform;
	transition-duration: 1.0s;
	transition-timing-function: .4s cubic-bezier(0.22, 1, 0.36, 1);
}

.fadein-effect03 {
	transition-property: opacity, transform;
	transition-duration: 1.1s;
	transition-timing-function: .4s cubic-bezier(0.22, 1, 0.36, 1);
}

.fadein-effect01,
.fadein-effect02,
.fadein-effect03 {
	opacity: 0.3;
	transform: translateY(100%);
}

.fadein-effect01.-animated01,
.fadein-effect02.-animated02,
.fadein-effect03.-animated03 {
	opacity: 1;
	transform: translateY(0px);
}

.fadein-effect02.-delay {
	transition-delay: 0.2s;
}

.fadein-effect03.-more-delay {
	transition-delay: 0.3s;
}

/* fadein-y-effect */
.fadein-y-effect-wrap,
.fadein-left-effect-wrap {
	overflow: hidden;
}

.fadein-y-effect {
	transition-property: opacity, transform;
	transition-duration: 1.0s;
	transition-timing-function: .4s cubic-bezier(0.22, 1, 0.36, 1);
	opacity: 0.3;
	transform: translateY(100%);
}

.fadein-y-effect.-animated-y {
	opacity: 1;
	transform: translateY(0px);
}

/* fadein-left-effect */
.fadein-left-effect {
	transition-property: opacity, transform;
	transition-duration: 1.0s;
	transition-timing-function: .4s cubic-bezier(0.22, 1, 0.36, 1);
	opacity: 0.3;
	transform: translateX(-100%);
}

.fadein-left-effect.-animated-left {
	opacity: 1;
	transform: translateX(0px);
}

/* delay list */
.-animated-y.delay-01,
.-animated-left.delay-01 {
	-webkit-transition-delay: .1s;
	transition-delay: .1s;
}

.-animated-y.delay-02,
.-animated-left.delay-02 {
	-webkit-transition-delay: .2s;
	transition-delay: .2s;
}

.-animated-y.delay-03,
.-animated-left.delay-03 {
	-webkit-transition-delay: .3s;
	transition-delay: .3s;
}

.-animated-y.delay-04,
.-animated-left.delay-04 {
	-webkit-transition-delay: .4s;
	transition-delay: .4s;
}

@media screen and (max-width: 768px) {
	.fadein-effect01-wrap {
		transform: translateY(40px);
		width: 27%;
	}

	.fadein-effect02-wrap {
		transform: translateY(0px);
		overflow: hidden;
		width: 27%;
	}

	.fadein-effect03-wrap {
		transform: translateY(-40px);
		width: 27%;
	}

	.fadein-effect01,
	.fadein-effect02,
	.fadein-effect03 {
		transform: translateY(100%);
	}

	.fadein-effect01.-animated01 {
		opacity: 1;
		transform: translateY(0px);
	}

	.fadein-effect02.-animated02 {
		opacity: 1;
		transform: translateY(0px);
	}

	.fadein-effect03.-animated03 {
		opacity: 1;
		transform: translateY(0px);
	}
}

/*----------------------------------------------
# 0.1 modal window
----------------------------------------------*/
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.modal-content-wrap {
	margin: 0 auto;
	padding: 40px;
}

.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
}

.modal__bg {
	background: rgba(0, 0, 0, 0.8);
	height: 100vh;
	position: absolute;
	width: 100%;

}

.modal__content {
	background: #fff;
	left: 50%;
	padding: 0px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 800px;
	border-radius: 5px;
}

.js-modal-close img {
	position: absolute;
	top: 20px;
	right: 20px;
}


@media screen and (max-width: 768px) {

	.modal-content-wrap {
		margin: 0 auto;
		padding: 40px;
	}

	.modal {
		display: none;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 99999;
	}

	.modal__bg {
		background: rgba(0, 0, 0, 0.25);
		height: 100vh;
		position: absolute;
		width: 100%;
		z-index: 9999;

	}

	.modal__content {
		background: #fff;
		left: 50%;
		padding: 0px;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 315px;
		border-radius: 5px;
		z-index: 99999;
	}

	.js-modal-close img {
		position: absolute;
		top: 20px;
		right: 20px;
	}


}


/*----------------------------------------------
# 0.2 - CTAボタン
----------------------------------------------*/
.cta {
	display: flex;
	/* padding: 20px 20px 80px 20px; */
	padding: 20px;
	justify-content: center;
	align-items: center;
	gap: 16px;
}

.cta a {
	width: 100%;
	max-width: 388px;
	height: auto;
	padding: 20px 20px 20px 24px;
	display: inline-block;
	background-color: #0088CC;
	border-radius: 5px;
	color: #FFF;
	text-decoration: none;
	text-align: left;
	font-size: 1.0rem;
	font-weight: 700;
	letter-spacing: 0.48px;
	position: relative;
	z-index: 0;
	transition: all 0.3s ease 0s;
	overflow: hidden;
	box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.20);
}

.cta a:nth-child(2) {
	background-color: #F4F4F4;
	border: 1px solid #121212;
	border-radius: 5px;
	color: #121212;
	padding: 19px 19px 19px 23px;
}

.cta a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: #68B6DE;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: all 0.3s ease 0s;
}


.cta a:nth-child(2):before {
	background-color: #919191;
}



.cta a:nth-child(2):hover {
	color: #5b5c5d;

}

.cta a div,
.cta a span {
	transition: all 0.3s ease 0s;
}

/*.cta a:hover div {
  transform: scale(1.1);
}*/
.cta a:hover::before {
	transform: scale(1, 1);
}

.cta a span {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	margin: auto;
}

/*.cta a:hover span {
  transform: scale(1.1);
}*/
@media screen and (max-width: 768px) {
	.cta {
		display: flex;
		flex-direction: column;
		padding: 0 20px;

	}
	.solution .cta,
	.future .cta,
	.question .cta {
		padding: 0;

	}

	.cta a {
		line-height: 1.1rem;
		font-size: 0.87rem;
		max-width: 430px;
	}

	.cta a span {
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		margin: auto;
	}
}

/*----------------------------------------------
# 1.0 - キーヴィジュアル（hero）
----------------------------------------------*/
.hero-wrapper {
	background: linear-gradient(140deg, #f1f1f1 0%, #f1f1f1 60%, #dadada 60%, #dadada 100%);
	padding: 40px 0px 40px 52px;
	width: 100%;
	height: 744px;
	margin: 0 auto;
	overflow: hidden;

}

.hero-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.hero-logo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-width: 200px;
	z-index: 55555;
}

.hero-logo img {
	width: 100%;
	max-width: 197px;
	height: auto;
	padding: 20px;
	z-index: 999;
}

.hero {
	display: flex;
	margin: 0 auto;
	align-items: center;


}

.hero-txt {
	display: flex;
	max-width: 469px;
	height: 703px;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
	color: #121212;
	/* margin-top: 52px; */
}

.hero .hero-txt h1 {
	margin: 0 0 30px 0;
	line-height: 2.75rem;
	letter-spacing: 1.7px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 28px;
}
.hero .hero-txt h1 div img {
	max-width: 110px;
	height: auto;
	margin-top: 12px;
}
.hero .hero-txt .h1-underline {
	background: linear-gradient(transparent 70%, #D9D9D9 70%);
	line-height: normal;
}
.hero .hero-txt .h1-underline span {
	font-size: 1.3125rem;
}
.hero .hero-txt .h1-em {
	font-size: 2em;
	font-family: 'Helvetica', 'Roboto', "Noto Sans JP", sans-serif;
}
.hero .hero-txt .h1-em sup {
	position: relative;
	font-size: .2em;
	font-weight: normal;
	top: -10px;
	left: -5px;
}

.hero .hero-txt h3 {
	font-size: 1.28rem;
	font-weight: 700;
	margin: 0 0 60px 0;
	line-height: 1.5;
}

.hero .hero-txt sup {
	font-size: 0.6rem;
}

.hero .hero-txt p {
	font-size: 0.86rem;
	font-weight: 700;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
}

.hero .hero-txt p:after {
	content: '';
	display: inline-block;
	width: 230px;
	height: 1px;
	margin-left: 10px;
	background-color: #121212;
	vertical-align: middle;
}


.hero .hero-txt .excerpt {
	display: block;
	font-size: 0.62rem;
	font-weight: normal;
}

.hero .hero-txt .hero-cta {
	padding: 0;
	width: 469px;
}

.hero .hero-txt .hero-cta a {
	padding: 16px 20px 16px 24px;
}

.pc-menu {
	display: none;
	width: 100%;
	position: fixed;
	top: 0px;
	right: 0px;
	padding: 10px 20px 0 0;
	height: 52px;
	z-index: 999;
}

.hero-nav-pc {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	overflow: hidden;
}

.hero-nav-pc .document-download-button,
.hero-nav-pc .contactform-button {
	display: flex;
	align-items: center;

}

.hero-nav-pc .document-download-button a,
.hero-nav-pc .contactform-button a {
	height: auto;
	padding: 4px 10px 4px 10px;
	background-color: #000;
	border-radius: 100px;
	color: #FFF;
	text-decoration: none;
	text-align: center;
	font-size: 0.75rem;
	font-weight: bold;
	line-height: normal;
	letter-spacing: 0.48px;
	display: flex;
	gap: 4px;
	z-index: 0;
	transition: all 0.3s ease 0s;
	overflow: hidden;
	min-width: 150px;
	justify-content: center;
}

.hero-nav-pc .contactform-button a {
	background-color: rgba(0, 0, 0, 0);
	color: #121212;
	border: 1px solid #121212;
}

.hero-nav-pc .document-download-button a:hover,
.hero-nav-pc .contactform-button a:hover {
	opacity: 0.4;
}

.hero-nav-pc .document-download-button a span,
.hero-nav-pc .contactform-button a span {
	height: 10px;
	width: auto;
	font-weight: 200;
}

.menu {
	display: none;
}

img.batch_b {
	position: absolute;
	top: 0;
	right: 15px;
	max-width: 110px;
	height: auto;
}

@media screen and (max-width: 1080px) {
	.hero-img{
		width: 50%;
	}

}

/*
スマホ // # 1.0 - キーヴィジュアル（hero）
----------------------------*/
@media screen and (max-width: 768px) {

	.hero-wrapper {
		padding: 0;
		height: 1160px;
		position: relative;
		width: 100%;
		overflow: hidden;
		background: linear-gradient(150deg, #f1f1f1 0%, #f1f1f1 25%, #dadada 25%, #dadada 100%);
	}


	.hero-inner {
		max-width: 430px;
		margin: 0 auto;
		overflow: hidden;
		width: 100%;
	}

	.hero-logo {
		position: absolute;
		padding: 10px;
		z-index: 99999;

	}

	.hero-logo img {
		padding: 10px;
	}

	.hero .hero-txt .h1-underline {
		background: linear-gradient(transparent 59%, #D9D9D9 -13%);
		line-height: normal;
	}

	.hero-txt {
		width: 100%;
		padding: 52px 20px 40px 20px;
		height: auto;
		justify-content: flex-start;
	}

	.hero .hero-txt h1 {
		margin: 0 0 10px 0;
		font-size: 1.9rem;
		line-height: 2.75rem;
		letter-spacing: 1.8px;
	}
	.hero .hero-txt h1 .h1-txt-small {
		font-size: .9em;
	}
	
	.hero .hero-txt h3 {
		margin: 0 0 20px 0;
		font-size: 1.12rem;
	}



	.hero .hero-txt p {
		margin: 0 0 8px 0;
	}

	.hero .hero-txt p:after {
		content: '';
		display: inline-block;
		max-width: 96px;
		height: 1px;
		margin-left: 10px;
		background-color: #121212;
		vertical-align: middle;
	}

	.hero-img {
		width: 100%;
		position: absolute;
		top: 150px;
		left: 50%;
		transform: translateX(-40%);
	}

	.hero-img img {
		max-width: 473px;
	}

	.hero .hero-txt .hero-cta {
		padding: 0;
		margin: 0;
		max-width: 100%;
		width: 100%;
		gap: 8px;
		z-index: 999;
	}

	.hero-nav-pc {
		display: none;
	}

	.menu {
		display: none;
		width: 100%;
		height: 72px;
		background-color: rgba(0, 0, 0, 0.6);
		border-radius: 10px 10px 0 0;
		position: fixed;
		bottom: 0;
		z-index: 999;
	}



	.hero-nav-sp {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
		position: absolute;
		bottom: 19px;
		left: 0;
		right: 0;
		margin: 0;


	}


	.menu .document-download-button,
	.hero-nav-sp .contactform-button {
		display: flex;
		align-items: center;
		gap: 4px;
		width: 150px;

	}

	.menu .document-download-button a,
	.hero-nav-sp .contactform-button a {
		width: 100%;
		height: auto;
		padding: 4px 0;
		background-color: #FFF;
		border-radius: 100px;
		color: #121212;
		text-decoration: none;
		text-align: center;
		font-size: 0.75rem;
		font-weight: bold;
		line-height: normal;
		letter-spacing: 0.48px;
		display: flex;
		gap: 4px;
		z-index: 0;
		transition: all 0.3s ease 0s;
		overflow: hidden;
		justify-content: center;

	}

	.menu .contactform-button a {
		background-color: rgba(0, 0, 0, 0);
		color: #FFF;
		border: 1px solid #FFF;
	}

	.menu .document-download-button a span,
	.hero-nav-sp .contactform-button a span {
		height: 10px;
		width: auto;
		font-weight: 200;
	}


}

/*----------------------------------------------
# 2.0 - ロゴスライダー（partners）
----------------------------------------------*/
/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.partners-inner {
	display: -ms-grid;
	overflow: hidden;
}

/*----------------------------*/
.partners {
	-webkit-mask-image: linear-gradient(to right, transparent, black 1.5em, black calc(100% - 3.5em), transparent);
	mask-image: linear-gradient(to right, transparent, black 1.5em, black calc(100% - 3.5em), transparent);
}

.partners-inner {
	position: relative;
	display: flex;
	width: 100vw;
	overflow: hidden;
	margin-bottom: 6px;
	align-items: center;
}

.partnerslist,
.partnerslist02 {
	display: flex;
	list-style: none;
	padding: 0;
	gap: 30px; /* この値は必要に応じて調整してください */
	align-items: center;
	justify-content: space-around; /* 変更：アイテム間に均等なスペースを配置 */
}

.partnerslist li,
.partnerslist02 li {
	flex: 1; /* 変更：アイテムが均等にスペースを取るように */
	display: flex; /* 追加：flexボックスを適用 */
	justify-content: center; /* 維持：水平方向に中央揃え */
	align-items: center; /* 維持：垂直方向に中央揃え */
	padding: 0 10px; /* 維持：アイテム間のパディング */
}

.partnerslist li>img,
.partnerslist02 li>img {
	max-height: 50px;
}

/* 個別調整 */
.partnerslist li:nth-of-type(2) > img,
.partnerslist li:nth-of-type(3) > img,
.partnerslist li:nth-of-type(7) > img{
	max-height: 38px;
}

/* .partnerslist li:last-child, */
.partnerslist02 li:last-child {
	padding-right: 40px; /* 維持：最後のアイテムにのみ右パディングを適用 */
}

.partnerslist-left {
  animation: loop-left 50s infinite linear 0.5s both;
	margin-bottom: 20px;
}

.partnerslist-right {
  animation: loop-right 50s infinite linear 0.5s both;
}

@-webkit-keyframes loop-left {
	from {
			transform: translateX(0);
	}
	to {
			transform: translateX(-100%);
	}
}

@keyframes loop-left {
	from {
			transform: translateX(0);
	}
	to {
			transform: translateX(-100%);
	}
}

@-webkit-keyframes loop-right {
	from {
			transform: translateX(-100%);
	}
	to {
			transform: translateX(0%);
	}
}

@keyframes loop-right {
	from {
			transform: translateX(-100%);
	}
	to {
			transform: translateX(0%);
	}
}
.for-school-promo {
	text-align: center;
}
.for-school-promo>h2{
	font-size: 1.3rem!important;
}
.for-school-promo h2 strong {
	font-size: 28px;
	color: #0088CC;
}
.for-school-promo h2 sup {
	font-size: 0.6rem;
}

.partners_area .for-school-promo {
	margin-bottom: 45px;
}
.solution02 .for-school-promo h2 {
	margin-top: 0px;
	margin-bottom: 10px;
}
.question-inner .for-school-promo {
	margin: 40px 0 20px;
}
.price .for-school-promo {
	text-align: left;
	margin: 40px 0;
}
.question-inner .for-school-promo-note {
	margin-bottom: 80px;
}
.for-school-promo-note {
	display: flex;
	justify-content: center;
	gap: 5px;
	font-size: 10px;
	margin-top: 10px;
}
section.casestudy .for-school-promo-note,
.function .for-school-promo-note {
	padding: 0 20px;
}
@media screen and (max-width: 768px) {
	.for-school-promo {
		margin: 8px 0 20px;
	}
	.for-school-promo h2 {
		font-size: 0.8rem!important;
	}
	.for-school-promo h2 strong {
    font-size: 1.4rem;
	}
	.for-school-promo-note {
		justify-content: unset;
	}
	.price .for-school-promo {
		text-align: left;
		margin: 8px 0;
	}
}

.introduction-wrapper {
	background: #FFF;
	max-width: 100%;
	padding: 40px 40px 40px 40px;

}

.introduction-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}


.introduction {
	display: flex;
	padding-bottom: 0px;
	gap: 40px;
	align-items: stretch;

}


.introduction-txt {
	max-width: 317px;
	color: #121212;
}

.introduction-txt h3 {
	font-size: 1.12rem;
	font-weight: 700;
	margin: 0;
}

.introduction-txt h2 {
	font-size: 2.00rem;
	font-weight: 700;
	line-height: 3rem;
	margin: 0;
}

.introduction-ex {
	width: 100%;
	max-width: 543px;
	color: #121212;
	margin-top: 10px;
}

.introduction-ex .box {
	display: flex;
	padding: 6px;
	justify-content: center;
	align-items: baseline;
	gap: 2px;
	align-self: stretch;
	border: 1px solid #121212;
	border-radius: 5px;
	font-weight: 700;
	font-size: 1.5rem;
	margin: 10px 0;
}

.introduction-ex .box .introduction-small {
	font-size: 0.75rem;
	font-weight: normal;
}

.introduction-ex .introduction-underline {
	background: linear-gradient(transparent 73%, #D9D9D9 60%);
}

.comment {
	font-size: 0.71rem;
	text-align: right;
	margin: 0;
}


.partners-wrapper {
	background-color: #FFF;
	padding: 80px 0px;

}

.partners {
	max-width: 900px;
	margin: 0 auto;
	overflow: hidden;

}


/*
スマホ // # 2.0 - ロゴスライダー（partners）
----------------------------*/
@media screen and (max-width: 768px) {

	.introduction-wrapper {
		width: 100%;
		padding: 30px 20px 0 20px;

	}

	.introduction-inner {
		max-width: 430px;
		margin: 0 auto;

	}

	.introduction {}

	.introduction-txt {
		max-width: 100%;
	}

	.introduction-txt h3 {
		font-size: 1.12rem;
		font-weight: 700;
		margin: 0;
	}

	.introduction-txt h2 {
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 2.25rem;
		margin: 0;
	}

	.introduction {
		display: flex;
		max-width: 100%;
		color: #121212;
		margin: 0;
		position: relative;
		justify-content: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.introduction-ex {
		display: flex;
		margin: 0;
		gap: 10px;
	}



	.introduction-ex .box {
		width: 100%;
		padding: 6px;
		align-items: center;
		border: 1px solid #121212;
		border-radius: 5px;
		font-weight: 700;
		font-size: 1.5rem;
		margin: 10px 0;
		flex-direction: column;
	}

	.introduction-boxwrap {
		display: flex;
	}

	.introduction .box .introduction-small {
		font-size: 0.75rem;
		font-weight: normal;
		display: inline-block;
		margin: 0 auto;
	}

	.introduction .box .introduction-small02 {
		font-size: 0.75rem;
		font-weight: 500;
		letter-spacing: 0.36px;
	}



	.introduction .introduction-underline {
		background: linear-gradient(transparent 73%, #D9D9D9 60%);
	}

	.comment {
		font-size: 0.625rem;
		font-weight: 400;
		margin: 0 0 0 auto;
		text-align: right;

	}


	.partners-wrapper {
		width: 100%;
		padding: 40px 40px 40px 40px;

	}

	.partners {
		background-color: #FFF;
		margin: 0 auto;
		max-width: 430px;
	}

	.partnerslist,
	.partnerslist02{
		gap: 10px;
	}
	.partnerslist li,
	.partnerslist02 li{
    padding: 0 5px;
	}
	.partnerslist02 li:last-child{
		padding-right: 10px;
	}
	.partnerslist li>img,
	.partnerslist02 li>img {
		max-height: 30px;
	}
	.partnerslist li:nth-of-type(2) > img,
	.partnerslist li:nth-of-type(3) > img,
	.partnerslist li:nth-of-type(7) > img{
		max-height: 22px;
	}

}

/*----------------------------------------------
# 3.0 - 解決（solution）
----------------------------------------------*/
.solution-wrapper {
	background: #F4F4F4;
	width: 100%;
	padding: 40px 40px 40px 40px;
}

.solution-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}

.solution .lead {
	margin-bottom: 60px;
}

.solution .lead .en {
	color: #fff;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 1.44px;
	margin-bottom: 60px;
}

.solution .lead h3 {
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: 0.54px;
}

.solution .lead h2 {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 3.0rem;
	text-align: left;

}

.solution01 {
	display: flex;
	padding-bottom: 0px;
	gap: 40px;
	align-items: stretch;
	margin-bottom: 140px;
}

.solution01 .solution-txt {
	width: 50%;
	color: #121212;
	display: flex;
	flex-direction: column;

}

.solution-txt .number {
	font-size: 2.5rem;
	font-weight: 300;
	margin: 0 0 10px 0;
}

.solution-txt h2 {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.96px;
	margin: 0 0 10px 0;
	display: flex;
	align-items: center;
}

.solution-txt .solution-txt-lead {
	padding-bottom: 40px;
	background: #F4F4F4;
}

.solution-txt .solution-txt-lead h2:after {
	content: '';
	flex-grow: 1;
	height: 1px;
	margin-left: 10px;
	background-color: #121212;
	vertical-align: middle;
}

.solution-txt .solution-txt-lead ul {
	display: flex;
	list-style: none;
	align-items: flex-start;
	gap: 8px;
	padding: 0;
	margin: 0;
}

.solution-txt .solution-txt-lead li {
	font-size: 0.87rem;
	font-weight: 700;
	padding: 0px 8px;
	border: 1px solid #121212;
	border-radius: 5px;
	text-align: center;

}

.solution-txt .box {
	background-color: #FFF;
	padding: 40px 0;
	position: relative;
	border-radius: 5px;
	width: 100%;
	flex-grow: 1;

}

.solution-txt .box .check img {
	position: absolute;
	top: -20px;
	right: 10px;
	width: 60px;
	height: auto;
}

.solution-txt .box h2 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2.25rem;
	padding: 0 40px;
	gap: 10px;
}

.solution-txt .box-txt {
	padding: 0 40px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
}

.solution-txt .box-txt p img {
	width: 30px;
}

.solution-txt .box-txt p {
	font-weight: 400;
	letter-spacing: 0.8px;
	margin: 5px;
}

.reverse {
	flex-direction: row-reverse;
}

.solution02 h2 {
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 3.0rem;
	letter-spacing: 1.28px;
	margin-top: 100px;
}

.solution-img {
	width: 50%;
	display: flex;
	align-items: stretch;
}

.solution-img02 {
	width: 50%;
}

.solution-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}

.solution02-img {
	text-align: center;
}

/*
スマホ // # 3.0 - 解決（solution）
----------------------------*/
@media screen and (max-width: 768px) {

	.solution-wrapper {
		max-width: 100%;
		padding: 30px 20px 60px 20px;
	}

	.solution-inner {
		max-width: 430px;
		margin: 0 auto;
	}

	.solution {
		padding: 0;
	}



	.solution .lead {
		margin: 0;
	}

	.solution .lead h3 {
		font-size: 1.0rem;
		font-weight: 700;
		letter-spacing: 0.54px;
		margin: 0;
	}

	.solution .lead h2 {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.96px;
		line-height: 2.25rem;

	}

	.solution .lead .en {
		margin: 0 0 40px 0;
	}

	.solution01 {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 40px;
		margin-bottom: 100px;
		position: relative;
	}

	.solution01 .solution-txt {
		width: 100%;
	}

	.solution-txt .number {
		font-size: 2.5rem;
		font-weight: 300;
		margin: 0 0 10px 0;
	}

	.solution-txt h2 {
		font-size: 1.12rem;
		font-weight: 700;
		letter-spacing: 0.96px;
		margin: 0 0 10px 0;
		display: flex;
		align-items: center;
	}

	.solution-txt .solution-txt-lead {
		padding-bottom: 40px;
		background: #F4F4F4;
	}

	.solution-txt .solution-txt-lead h2:after {
		content: '';
		flex-grow: 1;
		height: 1px;
		margin-left: 10px;
		background-color: #121212;
		vertical-align: middle;
	}

	.solution-txt .solution-txt-lead ul {
		display: flex;
		list-style: none;
		align-items: flex-start;
		gap: 8px;
		padding: 0;
		margin: 0;
	}

	.solution-txt .solution-txt-lead li {
		font-size: 0.87rem;
		font-weight: 700;
		padding: 0px 8px;
		border: 1px solid #121212;
		border-radius: 5px;
		text-align: center;
	}

	.solution-txt .box {
		background-color: #FFF;
		padding: 40px 0;
		position: relative;
		background: #FFF;
		border-radius: 5px;
		height: 446px;
		width: 100%;
		min-width: 335px;
	}


	.solution-txt .box-first {
		height: 466px;
	}

	.solution-txt .box h2 {
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 2.25rem;
		padding: 0 20px;
		gap: 10px;
	}

	.solution-txt .box-txt {
		padding: 0 20px;
	}

	.solution-txt .box-txt p {
		margin: 5px 0 5px 0;
	}

	.solution02 h2 {
		text-align: center;
		font-size: 2.0rem;
		font-weight: 700;
		line-height: 3.0rem;
		letter-spacing: 1.28px;
		margin: 0;
	}

	.solution-img img {
		width: 100%;
		height: auto;
		object-fit: cover;
		border-radius: 5px;
	}



	.solution-img-right img {
		max-width: 100%;
		height: auto;
		position: absolute;
		top: 440px;
		right: -20px;
	}

	.solution-img-left img {
		max-width: 100%;
		height: auto;
		position: absolute;
		top: 410px;
		left: -20px;

	}

	.solution-img-right02 img {
		max-width: 100%;
		position: absolute;
		top: 380px;
		right: 5px;
	}



	.solution01:last-child {
		margin: 0;
	}

	.solution02 {
		margin-top: 60px;
	}

	.solution02 h2 {
		font-size: 1.0rem;
		font-weight: 700;
		line-height: 1.5rem;

	}



	.solution02-img {
		text-align: center;
	}

	.solution02-img img {
		max-width: 335px;
	}

}

/*----------------------------------------------
# 4.0 - 特徴（feature）
----------------------------------------------*/
.feature-wrapper {
	background: #F4F4F4;
	width: 100%;
	padding: 40px 40px 40px 40px;
}

.feature-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}

.feature .lead {
	margin-bottom: 60px;
}

.feature .lead .en {
	color: #fff;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 1.44px;
	margin: 0 0 60px 0;
}

.feature .lead h2 {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 3.0rem;
	text-align: left;
}

.feature01 {
	display: flex;
	padding-bottom: 0px;
	align-items: center;
	margin-bottom: 80px;
	position: relative;
}

.feature01 .feature-txt {
	width: 74%;
	max-width: 710px;
	color: #121212;
	background: #FFF;
	padding: 40px;
	z-index: 0;
}

.feature-txt h3 {
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: 0.54px;
	margin: 0;
}

.feature-txt p {
	font-weight: 400;
	line-height: 1.62rem;
	letter-spacing: 0.8px;
	margin: 0;
}

.feature h2 {
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 3.0rem;
	letter-spacing: 1.28px;
	margin: 0;
}

.feature-img {
	z-index: 9;
}

.feature-icon-right img {
	width: 300px;
	margin-left: -65px;
}

.feature-icon-left img {
	width: 230px;
}

.solution02-img {
	text-align: center;
}


/*
スマホ // # 4.0 - 特徴（feature）
----------------------------*/
@media screen and (max-width: 768px) {

	.feature-wrapper {
		max-width: 100%;
		padding: 30px 20px 60px 20px;
		overflow: hidden;
	}

	.feature-inner {
		max-width: 430px;
		margin: 0 auto;
	}

	.feature {
		padding: 0;
	}

	.feature .reverse {
		flex-direction: inherit;
	}

	.feature .lead {
		margin: 0;
	}

	.feature .lead h2 {
		font-size: 1.5rem;
		margin: 0;
	}

	.feature01 {
		padding: 0;
		margin-bottom: 30px;
		position: relative;
		background: #FFF;


	}

	.feature01 .feature-txt {
		max-width: 100%;
		width: 100%;
		color: #121212;

	}

	.feature-img {
		position: absolute;
		top: -35px;
		right: -4%;
	}

	.feature-img-icon img {
    max-width: 130px;
    margin-right: -7px;
    margin-top: -12px;
	}


}

/*----------------------------------------------
# 5.0 - 機能（function）
----------------------------------------------*/
.function-wrapper {
	background: #F4F4F4;
	width: 100%;
	padding: 40px 40px 40px 40px;
}

.function-inner {
	max-width: 900px;
	margin: 0 auto;
}

.function {}

.function h2 {
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 3.0rem;
	letter-spacing: 1.28px;
	margin: 0;
}

.function-list-wrap {
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	gap: 20px;
	align-self: stretch;
	flex-wrap: wrap;
	margin-bottom: 60px;
}

.function-list-wrap a {
	text-decoration: none;
	color: #121212;
	width: 100%;
	max-width: calc(90% / 5);
	height: 100px;
	padding-top: 13px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: 1px solid #121212;
	border-radius: 5px;
	box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.20);
}


.function-list h4 {
	color: #121212;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	align-self: stretch;
	text-align: center;
	font-weight: 700;
	line-height: 1.62rem;
	letter-spacing: 0.48px;
}

.function-material {
	transform: rotate(90deg);
}

.function-modal-box {
	display: flex;
	margin: 40px 40px 40px 0;
	align-items: flex-start;
	align-self: stretch;
	justify-content: flex-start;
}

.funciton-modal-box-img img {
	height: 250px;
	width: auto;
}

.function-modal-txt {
	width: 340px;
	display: flex;
	flex-direction: column;
	gap: 20px;

}


.function-modal-txt h3 {
	font-size: 1.12rem;
	font-weight: 700;
	line-spacing: 0.54px;
	margin: 0;
}

.function-modal-txt p {
	font-weight: 400;
	line-spacing: 0.80px;
	line-height: 1.62rem;
	margin: 0;
}

.function-cta-h2 h2 {
	text-align: center;
	margin-top: 130px;
}

.function-modal-cta {
	width: 340px;
	padding: 0;
}

.function-modal-cta a {
	padding: 14px 20px 14px 24px;
	box-shadow: 0;
}

/*
PC最小 // # 3.0 - 機能　（function）
----------------------------*/
@media screen and (min-width:769px) and (max-width:900px) {
	.function {
		max-width: 100%;
		padding: 0 40px;
		background: #F4F4F4;
	}

	.function-list-wrap a {
		width: 100%;
		max-width: calc(90% / 4);
	}


}

/*
スマホ // # 4.0 - 機能（function）
----------------------------*/
@media screen and (max-width: 768px) {

	.function-wrapper {
		max-width: 100%;
		padding: 30px 20px 60px 20px;

	}

	.function-inner {
		max-width: 430px;
		margin: 0 auto;
		flex-direction: column-reverse;
		align-items: center;

	}

	.function {}




	.function h2 {
		font-size: 1.5rem;
		line-height: 2.25rem;
	}

	.function-cta-h2 h2 {
		font-size: 1.0rem;
		font-weight: 700;
		line-height: 1.5rem;
		letter-spacing: 0.48px;
		margin: 0 0 16px 0;
	}

	.function-list-wrap {
		max-width: 430px;
		gap: 10px;
		margin: 0 auto 60px auto;
	}



	.function-list-wrap a {
		max-width: calc((100% - 10px) / 2);
	}

	.function-detail {
		padding: 100px 20px 0px;
	}

	.function-detail h3 {
		font-size: 1.6rem;
		line-height: 1.6;
		margin: 0 0 50px;
	}

	.function-detail h3 span {
		margin-top: 20px;
	}

	.function-detail-inner {
		align-items: unset;
		flex-direction: column;
	}

	.function-list li {
		font-size: 0.9rem;
	}

	.function-list li:before {
		margin-right: 5px;
	}

	.function-list li span {
		margin-left: 5px;
	}

	.function-list h4 {
		margin-top: 21px;
	}

	.function-modal-box {
		display: flex;
		flex-direction: column;
		padding: 20px 0 30px 0;
		align-items: flex-start;
		align-self: stretch;
		background: #FFF;
		border-radius: 5px;
		margin: 0 auto;
	}

	.funciton-modal-box-img {
		margin: -10px auto;
	}

	.funciton-modal-box-img img {
		height: 189px;
		width: auto;
	}

	.function-modal-txt {
		max-width: 255px;
		display: flex;
		flex-direction: column;


	}


	.function-modal-box h3 {
		font-size: 1.12rem;
		font-weight: 700;
		line-spacing: 0.54px;
		margin: 0;
		margin: 0 auto;
	}

	.function-modal-txt p {
		font-weight: 400;
		line-spacing: 0.80px;
		line-height: 1.62rem;
		margin: 0;
	}

	.col2 h2 {
		font-size: 1.0rem;
		line-height: 1.5rem;
		margin-bottom: 20px;
	}

	.function-modal-cta {
		max-width: 255px;
		padding: 0;

	}

	.function-modal-cta a {
		padding: 14px 20px 14px 24px;
		box-shadow: 0;
	}


}

@media screen and (max-width: 370px) {
	.function-list-wrap {
		flex-direction: column;
	}

	.function-list-wrap a {
		max-width: 100%;
	}
}

/*----------------------------------------------
# 6.0 - お客様の活用事例（case）
----------------------------------------------*/
.case-wrapper {
	background: #FFF;
	width: 100%;
	padding: 40px 40px 40px 40px;
	margin-top: 60px;
}

.case-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}

.case .lead {
	margin-bottom: 60px;
}

.case .lead .en {
	color: #F4F4F4;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 1.44px;
	margin: 0 0 60px 0;
}

.case .lead h2 {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 3.0rem;
	text-align: left;
}

.case01 {
	margin: 0 0 80px 0;
}

.case01 a {
	text-decoration: none;
	color: #121212;
}



.case01 .case-box {
	display: flex;
	align-items: center;
	gap: 40px;
	align-self: stretch;
	justify-content: space-between;
}

.case-txt {
	width: 100%;
	text-align: left;
	flex-grow: 1;
}

.case-box .case-img {
	position: relative;
	border-radius: 5px;
}

.case-box .case-logo {
	position: absolute;
	bottom: 4px;
	right: 3.6px;
	margin: 0;
}

.case-box .case-txt h2 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2.25rem;
	letter-spacing: 0.96px;
	margin: 0 0 10px 0;
}

.case-box .case-txt .case-cliant {
	font-size: 1.0rem;
	font-weight: 400;
	letter-spacing: 0.8px;
	margin: 0 0 10px 0;
}

.case-box .case-txt .read-more {
	font-size: 0.87rem;
	font-weight: 700;
	margin: 0;
	display: flex;
	align-items: center;
}

.case-box .case-txt .read-more a {
	text-decoration: none;
	color: #121212;
}

.case-box .case-txt .read-more:before {
	content: '';
	flex-grow: 1;
	height: 1px;
	margin: 0 8px 0 60px;
	background-color: #121212;
	vertical-align: middle;
}

.case01 .feature-txt {
	max-width: 500px;
	color: #121212;
	background: #FFF;
	padding: 40px;
}

.case-modal-box {
	display: flex;
	margin: 40px 40px 40px 0;
	align-items: flex-start;
	align-self: stretch;
}


.case-modal-box-img img {
	height: 250px;
	width: auto;
}


.case-modal-txt {
	width: 340px;
	display: flex;
	flex-direction: column;
	gap: 20px;

}


.case-modal-txt h3 {
	font-size: 1.12rem;
	font-weight: 700;
	line-spacing: 0.54px;
	margin: 0;
}

.case-modal-txt p {
	font-weight: 400;
	line-spacing: 0.80px;
	line-height: 1.62rem;
	margin: 0;
}

.case-modal-cta {
	width: 340px;
	padding: 0;
}

.case-modal-cta a {
	padding: 14px 20px 14px 24px;
	box-shadow: 0;
}


/*
スマホ // # 4.0 - お客様の活用事例（case）
----------------------------*/
@media screen and (max-width: 768px) {
	.case-wrapper {
		background: #FFF;
		max-width: 100%;
		padding: 30px 20px 60px 20px;
	}

	.case-inner {
		max-width: 430px;
		margin: 0 auto;
		color: #121212;
	}

	.case {
		padding: 0;
	}

	.case .lead {
		margin-bottom: 0px;
	}

	.case .lead .en {
		margin: 0 0 40px 0;
	}

	.case .lead h2 {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.96px;
		margin: 0;
	}

	.case01 {
		margin: 0 0 80px 0;
		max-width: 430px;
	}




	.case01 .case-box {
		display: flex;
		align-items: center;
		flex-direction: column;
		gap: 40px;
		align-self: stretch;
	}

	.case-box .case-img {
		position: relative;
		border-radius: 5px;
	}

	.case-box .case-img img {
		max-width: 430px;
		width: 100%;
	}

	.case-box .case-logo {
		position: absolute;
		bottom: 4px;
		right: 3.6px;
		margin: 0;
	}

	.case-box .case-logo img {
		max-width: 50%;
	}

	.case-box .case-txt h2 {
		font-size: 1.12rem;
		line-height: 1.75rem;
		letter-spacing: 0.54px;
		margin: 0;
	}

	.case01 .feature-txt {
		max-width: 500px;
		color: #121212;
		background: #FFF;
		padding: 40px;
	}

	.case-logo {
		display: none;
	}

	.sp-case-sptitle {
		font-size: 1.12rem;
		font-weight: 700;
		line-spacing: 0.54px;
		margin: 0;
	}

	.case-modal-box {
		display: flex;
		padding: 3 0px 0px;
		align-items: flex-start;
		gap: 40px;
		align-self: stretch;
	}

	.case-modal-box-img {
		margin-left: 40px;
	}

	.case-modal-box-img img {
		max-width: 340px;
	}

	.case-modal-txt {
		max-width: 340px;
		display: flex;
		flex-direction: column;
		gap: 20px;

	}

	.case-modal-txt p {
		font-weight: 400;
		line-spacing: 0.80px;
		line-height: 1.62rem;
		margin: 0;
	}

	.case-modal-cta {
		max-width: 340px;
		padding: 0;
	}

	.case-modal-cta a {
		padding: 14px 20px 14px 24px;
		box-shadow: 0;
	}

	.case-modal-box {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 20px;
		align-self: stretch;
	}

	.case-modal-box-img {
		margin: 0 auto;
	}

	.case-modal-box-img img {
		height: 189px;
		width: auto;
	}

	.case-modal-txt {
		max-width: 255px;
		display: flex;
		flex-direction: column;
		margin: 0 auto;


	}


	.case-modal-box h3 {
		font-size: 1.12rem;
		font-weight: 700;
		line-spacing: 0.54px;
		margin: 0 auto;
		text-align: center;
		width: 255px;
	}

	.case-modal-txt p {
		font-weight: 400;
		line-spacing: 0.80px;
		line-height: 1.62rem;
		margin: 0;
	}

	.col2 h2 {
		font-size: 1.0rem;
		line-height: 1.5rem;
		margin-bottom: 20px;
	}

	.case-modal-cta {
		max-width: 255px;
		padding: 0;

	}

	.case-modal-cta a {
		padding: 14px 20px 14px 24px;
		box-shadow: 0;
	}



}


/*----------------------------------------------
# 7.0 - 料金体系（price）
----------------------------------------------*/
.price-wrapper {
	background: #F4F4F4;
	width: 100%;
	padding: 40px 40px 40px 40px;
}

.price-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}


.price .lead {
	margin-bottom: 60px;
}

.price .lead .en {
	color: #FFF;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 1.44px;
	margin: 0 0 60px 0;
}

.price .lead h2 {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 3.0rem;
	text-align: left;
}

.price01 {
	background: #FFF;
	display: flex;
	align-items: stretch;
	min-height: 277px;
	padding: 40px;
	box-sizing: border-box;
	gap: 40px;
	align-self: stretch;
	border-radius: 5px;
}

.price01 .price-txt,
.price01 .price-img {
	width: calc(100vw / 2);
	flex-grow: 1;
}

.price-txt {
	width: 100%;
}

.price-img img {
	display: block;
	object-fit: cover;
	width: 100%;

}

.price-txt .plan {
	font-size: 0.87rem;
	font-weight: 700;
	max-width: 170px;
	padding: 0;
	margin: 0 0 16px 0;
	text-align: center;
	border: 1px solid #121212;
	border-radius: 5px;

}

.price-txt h4 {
	font-size: 2.87rem;
	font-weight: 700;
	margin: 23px 0 16px 0;
	line-height: 1.62rem;
}

.price-txt h4 span {
	font-size: 1.12rem;
	letter-spacing: 0.54px;
}

.price-txt .detail {
	font-weight: 400;
	line-height: 1.62rem;
	letter-spacing: 0.8px;
}

.price-txt .detail span {
	display: block;
	font-size: 0.62rem;
	line-height: 0.75rem;
}

/*
スマホ // # 7.0 - 料金体系（price）
----------------------------*/
@media screen and (max-width: 768px) {
	.price-wrapper {
		background: #F4F4F4;
		max-width: 100%;
		padding: 30px 20px 60px 20px;
	}

	.price-inner {
		width: 100%;
		margin: 0 auto;
		color: #121212;
	}

	.price01 .price-txt,
	.price01 .price-img {
		width: 100%;
	}

	.price .lead {
		margin-bottom: 0px;
	}

	.price .lead .en {
		margin: 0 0 40px 0;
	}

	.price .lead p {
		font-size: 1.0rem;
		line-height: 1.625rem;
		margin: 0;
	}

	.price .lead h2 {
		font-size: 1.5rem;
		margin: 0;
	}

	.price01 {
		max-width: 430px;
		padding: 20px 20px 60px 20px;
		display: flex;
		flex-direction: column;
		grip: 0;
		gap: 0;
		margin: 0 auto;

	}

	.price-img {
		margin-top: -90px;
	}

	.price-img img {
		max-width: 320px;
		height: auto;
		margin: 0 auto;
	}

}


/*----------------------------------------------
# 8.0 - 未来（future）
----------------------------------------------*/
.future-wrapper {
	background: #F4F4F4;
	width: 100%;
	padding: 40px 40px 40px 40px;
}

.future-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}


.future .lead {
	margin-bottom: 60px;
}

.future .lead .en {
	color: #fff;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 1.44px;
	margin-bottom: 60px;
}

.future .lead h3 {
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: 0.54px;
}

.future .lead h2 {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 3.0rem;
	text-align: left;

}

.future01 {
	display: flex;
	padding-bottom: 0px;
	align-items: stretch;
	gap: 40px;
	margin-bottom: 140px;
	justify-content: space-between;
}

.future01 .future-txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 40px;
	width: 50%;
}

.future-txt .future-txt-box {
	background: #FFF;
	position: relative;
	padding: 40px 30px;
	border-radius: 5px;

}

.future-txt .future-txt-box p {
	font-weight: 400;
	line-height: 1.62rem;
	letter-spacing: 0.8px;
	margin: 0;
}

.future-txt .future-txt-box .number {
	position: absolute;
	top: -4px;
	left: -4px;
	font-size: 2.5rem;
	font-weight: 300;
	margin: 0;
}

.future-txt .future-txt-box .number02 {
	position: absolute;
	top: -4px;
	right: -4px;
	font-size: 2.5rem;
	font-weight: 300;
	margin: 0;
}

.future-img {
	width: 50%;
	display: flex;
	align-items: stretch;
}

.future-img-left img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}

.future-img-right img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}

.future02 {
	display: flex;
	align-items: stretch;
	gap: 40px;
}

.future02 .future-txt {
	min-width: 50%;
}


/*
スマホ // # 7.0 - 未来（future）
----------------------------*/
@media screen and (max-width: 768px) {

	.future-wrapper {
		background: #F4F4F4;
		max-width: 100%;
		padding: 30px 20px 60px 20px;
		box-sizing: border-box;
		overflow: hidden;
	}

	.future-inner {
		max-width: 430px;
		margin: 0 auto;
	}

	.future {
		padding: 0;
	}

	.future .lead {
		margin: 0px;
	}

	.future .lead .en {
		color: #fff;
		font-size: 3rem;
		font-weight: 300;
		letter-spacing: 1.44px;
		margin-bottom: 60px;
	}

	.future .lead h3 {
		font-size: 1.12rem;
		font-weight: 700;
		letter-spacing: 0.54px;
	}

	.future .lead h2 {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.96px;
		line-height: 2.25rem;
		text-align: left;

	}

	.future01 {
		display: flex;
		padding-bottom: 0px;
		align-items: flex-start;
		gap: 40px;
		margin: 0;
		flex-direction: column;
		max-width: 100%;
		position: relative;
	}

	.future01 .future-txt {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		gap: 100px;
		flex: 1 0 0;
		position: relative;
		max-width: 430px;
		width: 100%;

	}

	.future-txt .future-txt-box {
		background: #FFF;
		padding: 40px 30px;
		border-radius: 5px;
		width: calc(100% * 0.79);
	}

	.future-txt .future-txt-box p {
		font-weight: 400;
		line-height: 1.62rem;
		letter-spacing: 0.8px;
		margin: 0;
	}

	.zindex999 {
		z-index: 999;
	}

	.future-txt .future-txt-box .number {
		position: absolute;
		top: -4px;
		left: -4px;
		font-size: 2.5rem;
		font-weight: 300;
		margin: 0;
	}

	.future-txt .future-txt-box .number02 {
		position: absolute;
		top: -4px;
		right: -4px;
		font-size: 2.5rem;
		font-weight: 300;
		margin: 0;
	}

	.future-txt-box-sp-left {
		position: absolute;
		left: 0px;
	}

	.future-txt-box-sp-right {
		position: absolute;
		margin-left: auto;
	}

	.future-img-left img {
		max-width: 200px;
		min-height: 141px;
		height: auto;
		position: absolute;
		top: 35%;
		left: -20px;
	}

	.future-img-right img {
		max-width: 200px;
		min-height: 141px;
		height: auto;
		position: absolute;
		top: 30%;
		right: -35px;
		z-index: 1;
	}

	.future-img-right02 img {
		max-width: 200px;
		position: absolute;
		top: 135px;
		right: -50px;
		z-index: 1;
	}

	.future02 {
		display: flex;
		padding-bottom: 0px;
		align-items: flex-start;
		gap: 40px;
		margin: 0;
		flex-direction: column;
		max-width: 100%;
		position: relative;
	}


}


/*----------------------------------------------
# 9.0 - ステップ（step）
----------------------------------------------*/
.step-wrapper {
	background: #FFF;
	width: 100%;
	padding: 40px 40px 40px 40px;
}

.step-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}

.step .lead {
	margin-bottom: 60px;
}

.step .lead .en {
	color: #F4F4F4;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 1.44px;
	margin: 0 0 40px 0;
}

.step .lead h2 {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 3.0rem;
	margin: 0;
	text-align: left;
}

.step .lead p {
	font-weight: 400;
	line-height: 1.62rem;
	letter-spacing: 0.8px;
	margin: 4px 0 0 0;
}

.step01 {
	display: flex;
	padding-bottom: 0px;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 60px;
}

.step-txt {
	max-width: 660px;
	width: 100%;
	margin-top: 20px;
}

.step-txt h3 {
	display: flex;
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: 0.54px;
}

.step-txt p {
	font-weight: 400;
	line-height: 1.62rem;
	letter-spacing: 0.8px;
	margin-bottom: 60px;
}

.step-txt .step-txt-box p {
	font-weight: 400;
	line-height: 1.62rem;
	letter-spacing: 0.8px;
	margin: 0;
}

.cta-step {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: -60px;
}

.cta-step a {
	width: 100%;
	max-width: 660px;
	height: auto;
	padding: 13px 24px 13px 20px;
	display: inline-block;
	background-color: #FFF;
	border: 1px solid #121212;
	border-radius: 5px;
	color: #121212;
	text-decoration: none;
	text-align: left;
	font-size: 0.87rem;
	font-weight: 700;
	position: relative;
	z-index: 0;
	transition: all 0.3s ease 0s;
	overflow: hidden;
}

.cta-step a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: #5d5e60;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: all 0.3s ease 0s;
}

.cta-step a div,
.cta-step a span {
	transition: all 0.3s ease 0s;
}

/*.cta-step a:hover div {
  transform: scale(1.1);
}*/
.cta-step a:hover::before {
	transform: scale(1, 1);
}

.cta-step a span {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	margin: auto;
}

/*.cta-step a:hover span {
  transform: scale(1.1);
}*/
@media screen and (max-width: 768px) {
	.cta-step {
		padding: 50px 36px;
	}

	.cta-step a {
		line-height: 60px;
		font-size: 1.1rem;
	}

	.cta-step a:nth-child(2) {
		margin-top: 20px;
	}

}

.step-txt .step-txt-box .number {
	position: absolute;
	top: -4px;
	left: -4px;
	font-size: 2.5rem;
	font-weight: 300;
	margin: 0;
}

.future-txt .future-txt-box .number02 {
	position: absolute;
	top: -4px;
	right: -4px;
	font-size: 2.5rem;
	font-weight: 300;
	margin: 0;
}

/*
スマホ // # 7.0 - ステップ（step）
----------------------------*/
@media screen and (max-width: 768px) {

	.step-wrapper {
		max-width: 100%;
		padding: 30px 20px 60px 20px;
	}

	.step-inner {
		max-width: 430px;
		margin: 0 auto;
	}

	.step {
		padding: 0;

	}

	.step .lead {
		margin: 0px;
	}

	.step .lead .en {
		color: #F4F4F4;
		font-size: 3rem;
		font-weight: 300;
		letter-spacing: 1.44px;
		margin-bottom: 40px;
	}

	.step .lead h2 {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.96px;
		line-height: 2.25rem;
		text-align: left;

	}

	.step01 {
		display: flex;
		padding-bottom: 0px;
		align-items: flex-start;
		gap: 10px;
		margin: 0;
		flex-direction: column;
		max-width: 430px;
		position: relative;
	}

	.cta-step {
		padding: 16px 0 60px 0;
		margin-top: -60px;
	}

	.cta-step a {
		font-size: 0.87rem;
		line-height: 1.06rem;
	}


	.step01 .step-img img {
		max-width: 430px;
		width: 100%;
	}

	.step01 .step-txt p,
	.step01 .step-txt h3 {
		max-width: 430px;
	}

}

/*----------------------------------------------
# 10.0 - よくある質問（question）
----------------------------------------------*/
.question-wrapper {
	background: #F4F4F4;
	width: 100%;
	padding: 40px 40px 40px 40px;
}

.question-inner {
	max-width: 900px;
	margin: 0 auto;
	color: #121212;
}

.question .lead {
	margin-bottom: 20px;
}

.question .lead .en {
	color: #FFF;
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 1.44px;
	margin: 0 0 40px 0;
}

.question .lead h2 {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 3.0rem;
	margin: 0;
	text-align: left;
}

.question01 {}

.toggle {
	display: none;
}

.Label {
	/*タイトル*/
	font-weight: 700;
	padding: 15px 70px 15px 20px;
	display: block;
	color: #121212;
	background: #FFF;
	border-radius: 5px;
}

.Label::before {
	/*タイトル横の矢印*/
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url("../img/question/img-symbol.png");
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	transform: rotate(-180deg);
	transition: 0.6s;
	transition-timing-function: ease-in-out;
}


.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.4s;
	transition-timing-function: ease-in-out;
	min-width: 330px;
}

.content {
	/*本文*/
	height: 0;
	margin-bottom: 20px;
	padding: 0 20px;
	overflow: hidden;
	background: #FFF;
}

.content p {
	margin: 0;
	font-weight: 400;
}

.content p span {
	display: block;
	font-size: 0.625rem;
	line-height: 0.75rem;
}

.toggle:checked+.Label+.content {
	/*開閉時*/
	height: auto;
	padding: 0 20px 20px 20px;
	transition: all .6s;
	transition-timing-function: ease-in-out;
}

.toggle:checked+.Label::before {
	transform: rotate(-45deg) !important;
}

.copyright {
	text-align: center;
	font-size: 0.87rem;

}

@media screen and (max-width: 768px) {

	.question-wrapper {
		max-width: 100%;
		padding: 30px 20px 60px 20px;
	}

	.question-inner {
		max-width: 430px;
		margin: 0 auto;
	}

	.question {
		padding: 0;
	}


	.question .lead {
		margin: 0px;
	}

	.question .lead .en {
		color: #FFF;
		font-size: 3rem;
		font-weight: 300;
		letter-spacing: 1.44px;
		margin-bottom: 40px;
	}

	.question .lead h2 {
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.96px;
		line-height: 2.25rem;

	}

	.question01 {
		display: flex;
		padding-bottom: 20px;
		align-items: flex-start;
		gap: 0px;
		margin: 0;
		flex-direction: column;
		width: 100%;
		position: relative;
	}

	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.6s;
		width: 100%;
	}


	.copyright {
		text-align: center;
		font-size: 0.87rem;
		margin: 60px 0 0 0;

	}
}




/*----------------------------------------------
# 10.0 - フッター（footer）
----------------------------------------------*/

footer {
	width: 100%;
	min-height: 110px;
	padding: 40px 40px;
	background: #121212;
	font-size: 0.75rem;
	position: relative;
}

.footer-inner {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
}

.footer-nav {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.footer-logo {
	width: 144px;
	height: auto;
	margin-right: 60px;
}

.footer-logo img {
	width: 100%;
	height: auto;
}

.footer-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	align-items: center;

}

.footer-nav ul li:first-child {
	margin-right: 46px;
}

.footer-nav ul li a {
	color: #FFF;
	transition: all 0.5s;
	text-decoration: none;

}

.footer-logo a {
	transition: all 0.5s;
}

.footer-nav ul li a:hover,
.footer-logo a:hover {
	opacity: .5;
}

.footer-corpinfo ul {
	list-style: none;
	margin: 20px 0 0 0;
	padding: 0;
	line-height: 1.25rem;
}

.footer-corpinfo ul li {
	color: #FFF;
}

.footer-nav ul li img {
	width: 16px;
	height: auto;
}

.footer-pagetop {
	position: absolute;
	top: 50px;
	right: 50px;
	z-index: 10;
}

.footer-pagetop img {
	width: 44px;
	height: auto;
}

/*
スマホ // # 10.0 - フッター（footer）
----------------------------*/
@media screen and (max-width: 768px) {

	footer {
		max-width: 100%;
		padding: 40px 20px 80px 20px;
		position: relative;
	}

	.footer-inner {
		max-width: 430px;
		font-size: 0.75rem;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		margin: 0 auto;
		padding: 0;
	}

	.footer-logo {
		max-width: 147px;
		height: auto;
	}

	.footer-logo img {
		margin-bottom: 30px;
	}

	.footer-corpinfo ul {
		padding: 0;
		font-size: 0.8rem;
	}

	.footer-nav {
		align-items: flex-start;
		flex-direction: column;
	}

	.footer-nav ul {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.footer-nav ul li {
		margin: 0;
	}

	.footer-nav ul li:first-child {
		margin-right: 0px;
	}

	.footer-pagetop {
		position: absolute;
		top: 40px;
		right: 20px;
		z-index: 10;
	}

}


.Mb20 {
	margin-bottom: 20px;
}

.Mb30 {
	margin-bottom: 30px;
}

.Mb90 {
	margin-bottom: 90px;
}





@media screen and (max-width: 1080px) {
	.side_form {
		background-color: #fff;
    width: 93%;
    margin: 150px auto 0;
    position: relative;
		border-radius: 10px;
	}
	.side_form

	.l-container {
		width: 100%;
		margin: 0 auto;
	}

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}
}


/*  フォーム一体型 1280px以上のみ */
@media screen and (min-width: 1081px) {

	.hero {
		margin: 0;
	}

	.hero-inner {
		justify-content: center;
	}

	.hero-txt {
		display: flex;
		max-width: inherit;
		height: 100%;
		flex-direction: column;
		/* justify-content: center; */
		align-items: flex-start;
		align-self: stretch;
		color: #121212;
		margin-top: 5px;
		width: 600px;
	}

	.hero .hero-txt h1 {
		font-size: 40px;
	}

	.hero .hero-txt h3 {
		font-size: 16px;
		margin-bottom: 20px;
	}

	ul.note {
		list-style: none;
		font-size: 10px;
		margin-bottom: 13px;
	}

	ul.note li {
		display: flex;
		gap: 5px;
		line-height: 1.5;
	}

	ul.note li:nth-of-type(1) {
		margin-bottom: 5px;
	}

	.result_box {
		margin-bottom: 10px;
	}

	.result_box img {
		width: 94px;
	}

	.fv_ui {
		display: block;
		width: 480px;
	}

	.hero-inner {
		display: flex;
		align-items: center;
	}


	/* LPフォーム */
	.l-container {
		width: 100%;
		margin: 0 auto 0 0;
	}

	.side_form {
		width: 450px;
		/* height: 704px; */
		margin-top: -20px;
		border-radius: 5px;
		box-shadow: -3px 0px 5px 0px rgba(146, 146, 146, 0.16);
		z-index: 9999;
		background-color: #fff;
	}

	.side_form iframe {
		width: 100%;
		/* height: 710px; */
		margin: 0 auto;
		display: block;
	}

	form.form .submit input {
		background-color: #0088CC !important;
	}
}


/*----------------------------------------------
# 0.2 - 追従CTA　全共通
----------------------------------------------*/


.cta_follow {
	background-color: rgba(18, 18, 18, 0.70);
	padding: 20px 0;
	display: flex;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	gap: 10px;

	position: fixed;
	left: 0;
	bottom: -100px;
	width: 100%;
	text-align: center;
	transition: bottom 0.3s ease;
	/* アニメーション効果を追加 */
	z-index: 999;
}


._sp {
	display: none;
}

.btn_follow {
	width: 50%;
	max-width: 435px;
	height: 32px;
	font-size: 1rem;
	font-weight: bold;
	border-radius: 100px;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.06em;
}

.btn_follow:hover {
	transition: all 0.3s ease 0s;
	opacity: 0.5;
}

.btn_follow-text {
	position: relative;
	color: #121212;
	z-index: 10;
	padding: 7px 4px 7px 0;
}

.btn_follow_tp {
	background-color: transparent;
	color: #fff;
	border: 2px solid #fff;
}

.white {
	color: #fff;
}

.download_icon {
	width: 16px;
	height: 16px;
	margin: 3px;
}

.consultation_icon {
	width: 16px;
	height: 16px;
	margin: 3px;
}

.cta_follow_sp{
	display: none;
}

@media screen and (max-width: 768px) {

	.cta_follow {
		display: none;
	}

	.cta_follow_sp {
		background-color: rgba(18, 18, 18, 0.70);
		padding: 20px 20px;
		display: flex;
		display: none;
		margin: 0 auto;
		justify-content: center;
		align-items: center;
		gap: 10px;
		position: fixed;
		left: 0;
		
		bottom: -100px;
		width: 100%;
		text-align: center;
		transition: bottom 0.3s ease;
		/* アニメーション効果を追加 */
		z-index: 999;
	}

	.btn_follow {
		max-width: 300px;
		font-size: 12px;
	}

}

/*
新しい権威コンテンツ
----------------------------*/


@media screen and (max-width: 768px) {
	.result_box {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 15px;
		margin: 0 auto;
		padding-bottom: 20px;
	}
	
	.result_icon {
	
		box-shadow: 0 0 5px rgba(0, 0, 0, 25%);
		border-radius: 5px;
		width: 165px;
		height: auto;
		padding: 10px;
	}
	
	.notes {
		font-size: 10px;
		letter-spacing: 0.15em;
		color: #121212;
		width: 100%;
		text-align: center;
		margin: 0 auto;
		padding-bottom: 40px;
	}
	.result_box {
		padding-bottom: 5px;
		padding-top: 20px;
		gap: 5px;
	}

	.result_icon {
		width: 70px;
		height: 80px;
		padding: 0;
	}

	.notes {
		font-size: 10px;
		padding: 0 20px 0 20px;
		width: 100%;
		text-align: left;
	}

}

/*----------------------------------------------
# 202403 セカンドビュー改修
----------------------------------------------*/
.introduction-second-wrapper {
	background-color: #f8f8f8;
	max-width: 100%;
	padding: 30px 20px 60px 20px;
	background: linear-gradient(150deg, #f1f1f1 0%, #f1f1f1 60%, #dadada 25%, #dadada 100%);
}
.introduction-second-txt {
	text-align: center;
}
.introduction-second-txt h2 {
	font-size: 22px;
}
.introduction-second-txt h2 .introduction-second-underline {
	background: linear-gradient(transparent 50%, #D9D9D9 -13%);
	line-height: normal;
}
.introduction-second-txt h2 strong {
	font-family: 'Helvetica', 'Roboto', sans-serif;
	color: #0088CC;
	font-size: 36px;
	letter-spacing: -2px;
}
.introduction-second-txt h2 sup {
	color: #121212;
	font-size: 11px;
	position: relative;
	top: -1em;
	letter-spacing: 0;
}
.introduction-second-partners-box {
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 15%);
	border-radius: 5px;
	padding: 20px;
	margin-top: 20px;
}
.introduction-second-partners-txt {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 15px;
}
.introduction-second-partners-txt > span {
	font-size: 20px;
	padding-top: 10px;
	display: block;
}
.introduction-second-partners-txt > span strong {
	font-size: 40px;
	color: #0088CC;
}
.introduction-second-partners-txt > span small {
	font-size: 16px;
}
.introduction-second-partners-fig > img {
	width: 100%;
}
.introduction-second-seika {
	margin-top: 40px;
}
.introduction-second-seika-ttl h3 {
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
.introduction-second-seika-ttl h3 > span {
	color: #0088CC;
}
.introduction-second-seika-box {
	margin-top: 15px;
}
.introduction-second-seika-box img {
	width: 100%;
	box-shadow: 0 0 10px rgba(0, 0, 0, 15%);
}
.introduction-second-wrapper .notes {
	line-height: 1.5;
	padding: 0;
	margin-top: 20px;
}
@media screen and (min-width: 769px) {
	.introduction-second-wrapper {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.introduction-wrapper,
	.partners-wrapper {
		display: none !important;
	}
	.introduction-second-inner {
		max-width: 430px;
		margin: 0 auto;
	}
	.introduction-second-seika {
		max-width: 430px;
		margin: 0 auto;
		margin-top: 40px;
	}
}

/*----------------------------------------------
# 202404 FVのNo1訴求
----------------------------------------------*/
.hero-wrapper {
	height: 820px;
}
.hero .hero-txt h1 > img {
	display: block;
	width: 90%;
}
@media screen and (max-width: 768px) {
	.hero-wrapper {
		height: auto;
		padding-bottom: 40px;
	}
	.hero .hero-txt h1 > img {
		width: 100%;
	}
	.hero-img {
		top: 16%;
	}
}
@media screen and (max-width: 430px) {
	.hero-img {
		top: 15%;
	}
}
@media screen and (max-width: 375px) {
	.hero-img {
		top: 15%;
	}
}

/*----------------------------------------------
# 202405 バッジ
----------------------------------------------*/
.fv-badge-area {
	position: relative;
}
.fv-badge-fig {
	position: absolute;
	top: -105px;
	left: -20px;
}
.fv-badge-fig img {
	width: 250px;
	height: auto;
}
@media screen and (max-width: 768px) {
	.side_form {
		padding-top: 30px;
	}
	.hero-img {
		top: 13%;
	}
}

@media screen and (max-width: 430px) {
	.hero-img {
		top: 15%;
	}
}

@media screen and (max-width: 375px) {
	.hero-img {
		top: 15%;
	}
}

/*----------------------------------------------
# 202406 サードビュー改修
----------------------------------------------*/
.third-view-wrapper {
	background-color: #f8f8f8;
	max-width: 100%;
	padding: 40px 10px 60px 0;
	background: linear-gradient(110deg, #f1f1f1 0%, #f1f1f1 32%, #dadada 25%, #dadada 100%);
}
h3.third-view-seika-ttl {
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
h3.third-view-seika-ttl span {
	color: #0088CC;
}
ul.third-view-list li {
	padding-bottom: 20px;
}
ul.third-view-list li:last-child {
	padding-bottom: 40px;
}
ul.third-view-list li img,
.third-view-industry img {
	max-width: 100%;
	height: auto;
}
.third-view-wrapper .notes {
	line-height: 1.5;
	padding: 0 0 0 15px;
	margin-top: 20px;
}
.third-view-solution02 {
	padding: 40px 10px 10px 20px;
	margin-top: 0;
}


/*----------------------------------------------
# 202407 スクールLP
----------------------------------------------*/

.newfunction {
	/* background-color: #F4F4F4; */
	background-color: #dcdcdc;
	position: relative;
	width: 100%;
	padding-bottom: 80px;
}

.newfunction_wrap {
	max-width: 1280px;
	margin: 0 auto;
	text-align: center;
}

.newfunction_1 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2.5rem;
	padding-top: 9.6875rem;
	padding-bottom: 2.5rem;
	flex-wrap: wrap;
	max-width: 900px;
	position: relative;
}

.newfunction_sub_ttl {
	font-size: 2.0625rem;
	font-weight: 500;
	line-height: 3.125rem;
	letter-spacing: 0.14em;
	padding-bottom: 1.25rem;
	width: 100%;
}

.newfunction_subttl_l {
	font-size: 1.6rem;
	line-height: 2.5rem;
	letter-spacing: 0.3em;
	/* font-weight: 700; */
	/* margin-left: -20px; */
	color: #fff;
	background-color: #000;
	border-radius: 15px;
	padding: 10px 20px;
	margin-bottom: 10px;
	display: inline-block;
}

.newfunction_1_img_wrap {
	position: absolute;
	bottom: -300px;
	right: -270px;
}

.newfunction_1_txt_area {
	width: 650px;
	text-align: left;
}

.newfunction_school_payment_mv {
	width: auto;
	height: 750px;
	border: 2px solid #121212;
	border-radius: 20px;
	max-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	border-style: none;
	vertical-align: top;
}

.newfunction_cta_wrap {
	padding-top: 30px;
}

.newfunction_cta_txt {
	font-size: 1.3125rem;
	line-height: 2.1875rem;
	letter-spacing: 0.05em;
	padding-bottom: 10px;
}

.btn_newfunction {
	width: 400px;
}


.newfunction_list {
	padding: 0;
	list-style: none;
	width: 100%;
}

.newfunction_list_item {
	position: relative;
	padding-left: 38px;
	font-size: 1.3125rem;
	line-height: 2.1875rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.625rem;
}

.newfunction_list_item:last-child {
	padding-bottom: 0;
}

.newfunction_list_item:before {
	content: "";
	width: 30px;
	height: 30px;
	background-image: url("../img/solution/check_icon.svg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
}

.btn_bk {
	font-weight: bold;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-align: left;
	padding-left: 1.5rem;
	width: 50%;
	max-width: 32.5rem;
	height: 70px;
	background-color: #0088CC;
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.0625rem;
	text-decoration: none;
}
.btn_bk::after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	top: 50%;
	right: 26px;
	z-index: 10;
}


@media screen and (max-width: 768px) {
	.newfunction {
		padding-bottom: 0;
	}

	.newfunction_wrap {
		max-width: 680px;
	}

	.newfunction_1 {
		padding-bottom: 2.5rem;
		padding-top: 0;
		flex-direction: column-reverse;
		gap: 1rem;
	}

	.newfunction_sub_ttl {
		font-size: 1.625rem;
		line-height: 2.5rem;
		text-align: center;
	}

	.newfunction_subttl_l {
		font-size: 1.2rem;
		padding: 7px 30px;
		margin-bottom: 5px;
		line-height: 2rem;
		letter-spacing: 0.3em;
	}

	.newfunction_1_txt_area {
		width: 100%;
		text-align: left;
		padding: 1.25rem 2rem 0;
		margin: 0 auto;
	}

	.newfunction_1_img_wrap {
		text-align: center;
		padding: 0;
		position: relative;
		bottom: inherit;
		right: inherit;
	}

	.newfunction_school_payment_mv {
		width: auto;
		height: 540px;
		border: 2px solid #121212;
		border-radius: 16px;
	}

	.newfunction_cta_txt {
		letter-spacing: 0.05em;
		padding-bottom: 10px;
		padding-top: 20px;
		font-size: 1rem;
		line-height: 1.5625rem;
		text-align: center;
	}

	.btn_newfunction {
		width: 335px;
		margin: 0 auto;
		font-size: 0.875rem;
		height: 52px;
		max-width: 37.5rem;
	}

	.newfunction_list{
		padding-left: 20px;
	}

	.newfunction_list_item {
		font-size: 1rem;
		line-height: 1.5625rem;
		width: 50%;
		margin: 0 auto 20px auto;
	}
	.sp-newfunction_wrap{
		display: flex;
		flex-direction: column-reverse;
	}
}


@media screen and (max-width: 500px) {

	.newfunction_1 {
		background: linear-gradient(220deg, #dadada 0%, #dadada 40%, #F4F4F4 40%, #F4F4F4 100%);
		overflow: hidden;
		padding-bottom: 0;
	}
	.newfunction_list{
		padding-left: 20px;
	}

	.newfunction_list_item {
		width: 100%;
	}

	.newfunction_cta_wrap{
		padding-top: 0;
		background-color: #dadada;
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		padding-bottom: 25px;
	}

	.newfunction_1_img_wrap{
		width: 100%;
		max-width: 400px;
		height: 380px;
		margin: 0 auto;
		overflow: hidden;
		object-fit: cover;
	}

}

.function {
	background-color: #F4F4F4;
	margin: 0 auto;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
	.function {
		padding: 0;
		padding-bottom: 40px;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.function h2 {
		margin: 0;
	}
	.function .pc {
		display: none !important;
	}
	.function .sp {
		display: block !important;
	}
	.function .u-device-pc {
		display: none;
	}
}

.function_container {
	max-width: 880px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.function_container {
		padding: 0 2.5rem;
		max-width: 680px;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.function_container .pc {
		display: none !important;
	}
	.function_container .sp {
		display: block !important;
	}
	.function_container .u-device-pc {
		display: none;
	}
}

.section_ttl_area {
	padding-bottom: 2.5rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.section_ttl_area {
		padding-bottom: 1.25rem;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.section_ttl_area .pc {
		display: none !important;
	}
	.section_ttl_area .sp {
		display: block !important;
	}
	.section_ttl_area .u-device-pc {
		display: none;
	}
}

.section_ttl {
	font-size: 1.6875rem;
	line-height: 3.4375rem;
	letter-spacing: 0.14em;
	padding-bottom: 0.625rem;
	font-weight: normal;
}
@media screen and (max-width: 1080px) {
	.section_ttl {
		font-size: 1.25rem;
		line-height: 2.1875rem;
		letter-spacing: 0.1em;
		padding-bottom: 0;
		font-weight: normal;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.section_ttl .pc {
		display: none !important;
	}
	.section_ttl .sp {
		display: block !important;
	}
	.section_ttl .u-device-pc {
		display: none;
	}
}

.section_ttl_en {
	font-family: "Noto Sans", "Roboto", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 1rem;
	line-height: 2.1875rem;
	letter-spacing: 0.1em;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.section_ttl_en {
		font-size: 0.875rem;
		font-weight: 500;
		line-height: 2.5rem;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.section_ttl_en .pc {
		display: none !important;
	}
	.section_ttl_en .sp {
		display: block !important;
	}
	.section_ttl_en .u-device-pc {
		display: none;
	}
}

.function-list {
	height: 100%;
	width: 100%;
	max-width: 292px;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.function-list-wrap {
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	gap: 20px;
	align-self: stretch;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
	.function-list-wrap {
		gap: 10px;
		margin-bottom: 2.5rem;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.function-list-wrap .pc {
		display: none !important;
	}
	.function-list-wrap .sp {
		display: block !important;
	}
	.function-list-wrap .u-device-pc {
		display: none;
	}
}

.function-list_modal-open {
	text-decoration: none;
	color: #121212;
	width: 100%;
	max-width: 18%;
	height: 100px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: 1px solid #121212;
	border-radius: 5px;
	box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
	.function-list_modal-open {
		max-width: 142px;
		max-width: calc((100% - 30px) / 4);
		height: 80px;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.function-list-wrap a.function-list_modal-open {
		height: 80px;
		padding-top: 0;
	}
	.function-list_modal-open .pc {
		display: none !important;
	}
	.function-list_modal-open .sp {
		display: block !important;
	}
	.function-list_modal-open .u-device-pc {
		display: none;
	}
}
@media screen and (max-width: 600px) {
	.function-list_modal-open {
		max-width: calc((100% - 10px) / 2);
	}
	.function-list_modal-open .pc {
		display: none !important;
	}
	.function-list_modal-open .tablet {
		display: none !important;
	}
	.function-list_modal-open .sp-s {
		display: flex !important;
	}
}

.function-list_name {
	color: #121212;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	align-self: stretch;
	text-align: center;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.5rem;
	letter-spacing: 0.03em;
	justify-content: center;
	width: 100%;
	margin-top: 0.5rem;
}
.funciton-modal-box-img {
	height: 250px;
	width: auto;
}
.btn_bk.modal_btn {
	width: 100%;
	font-size: 0.875rem;
	height: 52px;
}
@media screen and (max-width: 768px) {
	.function-list_name {
		padding: 0 1.25rem;
		font-size: 0.875rem;
		line-height: 1.0625rem;
		letter-spacing: 0;
		margin-top: 0.8125rem;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.function-list_name .pc {
		display: none !important;
	}
	.function-list_name .sp {
		display: block !important;
	}
	.function-list_name .u-device-pc {
		display: none;
	}
	.function-list h4 {
		margin-top: 0.8125rem;
		line-height: initial;
	}
	.funciton-modal-box-img {
		height: 189px;
		width: auto;
	}
	.btn_bk.modal_btn {
		padding-left: 10px;
		font-size: 14px;
		height: 52px;
	}
	.funciton-modal-box-img {
		margin: 0;
	}
	.cta_wrap {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 0.625rem;
		order: 3;
	}
	.cta_wrap {
		padding: 0 2.5rem;
		max-width: 42.5rem;
	}
	.cta_wrap .btn_bk {
		width: 100%;
		font-size: 0.875rem;
		height: 52px;
		max-width: 37.5rem;
	}
	.btn_wt {
		font-weight: bold;
		border-radius: 5px;
		overflow: hidden;
		position: relative;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		text-align: left;
		padding-left: 1.5rem;
		width: 50%;
		height: 70px;
		max-width: 32.5rem;
		font-size: 1.125rem;
		line-height: 1.0625rem;
		background-color: rgba(255, 255, 255, 0.5);
		color: #121212;
		border: solid 1px #121212;
		text-decoration: none;
	}
	.btn_wt {
		width: 100%;
		font-size: 0.875rem;
		height: 52px;
		max-width: 37.5rem;
	}
}

.function-material {
	transform: rotate(90deg);
}

.casestudy {
	background-color: #fff;
	padding: 5rem 12.5rem;
}
@media screen and (max-width: 1080px) {
	.casestudy {
		padding: 2.5rem 0;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.casestudy .pc {
		display: none !important;
	}
	.casestudy .sp {
		display: block !important;
	}
	.casestudy .u-device-pc {
		display: none;
	}
}

.casestudy_container {
	min-width: 880px;
	max-width: 1280px;
	margin: 0 auto;
}
.casestudy h2 {
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 3.0rem;
	letter-spacing: 1.28px;
	margin: 0;
}
@media screen and (max-width: 1080px) {
	.casestudy_container {
		max-width: 680px;
		padding: 0 2.5rem 1.25rem;
		min-width: auto;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.casestudy_container .pc {
		display: none !important;
	}
	.casestudy_container .sp {
		display: block !important;
	}
	.casestudy_container .u-device-pc {
		display: none;
	}
}

.voice_box {
	border-radius: 5px;
	margin-bottom: 2.5rem;
	overflow: hidden;
	margin-bottom: 2.5rem;
	min-width: 830px;
}
@media screen and (max-width: 1080px) {
	.voice_box {
		width: 100%;
		min-width: 100%;
		margin-bottom: 1.25rem;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice_box .pc {
		display: none !important;
	}
	.voice_box .sp {
		display: block !important;
	}
	.voice_box .u-device-pc {
		display: none;
	}
}

.voice {
	padding: 100px 0 0;
	background: #FFF;
}
@media screen and (max-width: 1080px) {
	.voice {
		padding: 50px 0 0;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice .pc {
		display: none !important;
	}
	.voice .sp {
		display: block !important;
	}
	.voice .u-device-pc {
		display: none;
	}
}

.voice-inner {
	margin: 0 auto;
	width: 100%;
	padding-bottom: 2.5rem;
}
@media screen and (max-width: 1080px) {
	.voice-inner {
		padding-bottom: 0;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice-inner .pc {
		display: none !important;
	}
	.voice-inner .sp {
		display: block !important;
	}
	.voice-inner .u-device-pc {
		display: none;
	}
}

.voice_box[class^=voice0]:last-child {
	margin-bottom: 0px;
}

.voice_box[class^=voice0]:nth-child(odd) {
	display: flex;
	justify-content: flex-start;
	margin-right: 50px;
}
@media screen and (max-width: 1080px) {
	.voice_box[class^=voice0]:nth-child(odd) {
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		position: relative;
		margin-right: 0;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice_box[class^=voice0]:nth-child(odd) .pc {
		display: none !important;
	}
	.voice_box[class^=voice0]:nth-child(odd) .sp {
		display: block !important;
	}
	.voice_box[class^=voice0]:nth-child(odd) .u-device-pc {
		display: none;
	}
}

.voice_box[class^=voice0]:nth-child(even) {
	display: flex;
	justify-content: flex-end;
	margin-left: 50px;
}
@media screen and (max-width: 1080px) {
	.voice_box[class^=voice0]:nth-child(even) {
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		position: relative;
		margin-left: 0;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice_box[class^=voice0]:nth-child(even) .pc {
		display: none !important;
	}
	.voice_box[class^=voice0]:nth-child(even) .sp {
		display: block !important;
	}
	.voice_box[class^=voice0]:nth-child(even) .u-device-pc {
		display: none;
	}
}

.voice_box[class^=voice0] figure {
	margin: 0;
	padding: 0;
	min-width: 250px;
	width: 32%;
}
@media screen and (max-width: 1080px) {
	.voice_box[class^=voice0] figure {
		height: 140px;
		width: 100%;
		min-width: auto;
		max-width: 100%;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice_box[class^=voice0] figure .pc {
		display: none !important;
	}
	.voice_box[class^=voice0] figure .sp {
		display: block !important;
	}
	.voice_box[class^=voice0] figure .u-device-pc {
		display: none;
	}
}

.voice_box_img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	display: block;
}

.voice-content {
	background: #F4F4F4;
	padding: 40px;
	line-height: 1.8;
	width: 68%;
	position: relative;
}
@media screen and (max-width: 1080px) {
	.voice-content {
		padding: 20px 20px 42px;
		width: 100%;
		position: static;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice-content .pc {
		display: none !important;
	}
	.voice-content .sp {
		display: block !important;
	}
	.voice-content .u-device-pc {
		display: none;
	}
}

.voice-logo {
	max-width: 150px;
	height: 100px;
	position: absolute;
	top: 0;
	right: 40px;
	z-index: 50;
}
@media screen and (max-width: 1080px) {
	.voice-logo {
		width: 90px;
		height: 60px;
		right: 20px;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice-logo .pc {
		display: none !important;
	}
	.voice-logo .sp {
		display: block !important;
	}
	.voice-logo .u-device-pc {
		display: none;
	}
}

.voice-content_name {
	font-size: 1.1rem;
	margin-bottom: 3.125rem;
	letter-spacing: 0.1em;
	font-weight: normal;
}
@media screen and (max-width: 1080px) {
	.voice-content_name {
		font-size: 1rem;
		margin-bottom: 0;
		line-height: 2.1875rem;
		width: 100%;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice-content_name .pc {
		display: none !important;
	}
	.voice-content_name .sp {
		display: block !important;
	}
	.voice-content_name .u-device-pc {
		display: none;
	}
}

.br-point {
	display: none;
}
@media screen and (max-width: 1400px) {
	.br-point {
		display: block;
	}
}
@media screen and (max-width: 1080px) {
	.br-point {
		display: none;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.br-point .pc {
		display: none !important;
	}
	.br-point .sp {
		display: block !important;
	}
	.br-point .u-device-pc {
		display: none;
	}
}

.voice-content_ttl {
	font-size: 1.5rem;
	margin-bottom: 1.25rem;
	line-height: 2.25rem;
	letter-spacing: 0.05em;
	font-weight: bold;
}
@media screen and (max-width: 1080px) {
	.voice-content_ttl {
		font-size: 1rem;
		margin-bottom: 0.625rem;
		line-height: 1.5625rem;
		letter-spacing: 0.1em;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice-content_ttl .pc {
		display: none !important;
	}
	.voice-content_ttl .sp {
		display: block !important;
	}
	.voice-content_ttl .u-device-pc {
		display: none;
	}
}

.voice-content_txt {
	letter-spacing: 0.1em;
	word-break: break-all;
}
@media screen and (max-width: 1080px) {
	.voice-content_txt {
		font-size: 1rem;
		line-height: 1.5625rem;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice-content_txt .pc {
		display: none !important;
	}
	.voice-content_txt .sp {
		display: block !important;
	}
	.voice-content_txt .u-device-pc {
		display: none;
	}
}

.voice__accordion-area {
	display: none;
}
@media screen and (max-width: 1080px) {
	.voice__accordion-area {
		display: block;
		/* スマートフォン・タブレットで見たときは"sp"のclassがついた画像が表示される */
	}
	.voice__accordion-area .pc {
		display: none !important;
	}
	.voice__accordion-area .sp {
		display: block !important;
	}
	.voice__accordion-area .u-device-pc {
		display: none;
	}
}

.voice__tuggle-btn {
	width: 100%;
	cursor: pointer;
	transition: all 0.8s ease;
	text-align: center;
	line-height: 0;
	position: absolute;
	bottom: 9px;
	right: 50%;
	transform: translate(50%, 0%);
}

.voice__tuggle-btn span {
	transform: rotate(0deg);
	font-size: 2rem;
}

.voice__tuggle-btn.close span {
	transform: rotate(180deg);
	font-size: 2rem;
}

.voice__detail {
	display: none;
	padding: 20px 0 0;
}

.voice__detail p {
	margin: 0;
}


@media screen and (max-width: 768px) {
.casestudy h2 {
	font-size: 1.5rem;
	line-height: 2.25rem;
}
}



























@media screen and (max-width: 768px) {
	.solution .lead {
		margin-bottom: 40px;
	}
	.solution img.solution-img-02 {
		top: 450px;
	}
	.solution02 {
		margin-top: 170px;
	}
}
@media screen and (max-width: 460px) {
	.solution img.solution-img-03 {
		top: 500px;
	}
	.solution02 {
		margin-top: 150px;
	}
	
}

@media screen and (max-width: 768px) {
.introduction-second-partners-fig {
	width: 85%;
	padding-bottom: 10px;
	margin: 0 auto;
}
}

@media screen and (max-width: 768px) {
	.btn_wt::after {
		content: "";
		width: 10px;
		height: 10px;
		border-top: 2px solid #121212;
		border-right: 2px solid #121212;
		transform: translateY(-50%) rotate(45deg);
		position: absolute;
		top: 50%;
		right: 26px;
		z-index: 10;
	}
}

/*----------------------------------------------
# 202408 スクールLP PC反映
----------------------------------------------*/
.partners-wrapper {
	overflow: hidden;
}


@media screen and (min-width: 769px) {
	
.hero-wrapper {
	height: 744px;
}

/*----- パートナー -----*/
	.partners-wrapper {
		padding: 0;
	}
	.slider_box {
		width: 1980px;
		overflow: hidden;
		margin: 0 auto;
		padding: 60px 0;
	}

	.slider_box:last-child {
		margin-top: 0;
	}

	.slider {
		display: flex;
	}
	.partnerslist li:nth-of-type(2) > img, .partnerslist li:nth-of-type(3) > img, .partnerslist li:nth-of-type(7) > img {
		max-height: none;
	}
	.partnerslist li>img, .partnerslist02 li>img {
		max-height: none;
	}
.partnerslist,
.partnerslist02 {
	width: 5600px;
	align-items: center;
	height: 30px;
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 40px;
}
	.partnerslist li, .partnerslist02 li {
		padding: 0;
	}

/* 左方向へのスライダー */
.partnerslist-left {
	display: flex;
	-webkit-animation: loop-left 50s linear infinite;
	animation: loop-left 50s linear infinite;
}

/* 右方向へのスライダー */
.partnerslist-right {
	-webkit-animation: loop-right 50s infinite linear 0.5s both;
	animation: loop-right 50s infinite linear 0.5s both;
}

.partnerslist li {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	max-height: 60px;
}

.partnerslist02 li {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	max-height: 60px;
}

.partnerslist li:last-child,
.partnerslist02 li:last-child {
	padding-right: 40px;
}
.partners-icon {
	width: auto;
	height: 60px;
}
	
}