/*================================================================
# 共通スタイル
================================================================ */
.title-en .ticker {
	display: flex;
	white-space: nowrap;
}

.title-en .text {
	height: 160px;
	padding: 0 100px 0 0;
	display: inline-block;
	font-family: "Playfair Display", sans-serif;
	font-size: 140px;
	line-height: 1;
	color: rgba(255, 255, 255, 0.07);
	letter-spacing: 0.1em;
	animation: marquee 50s linear infinite;
}

@keyframes marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-100%);
	}
}

.light-following {
	margin: 0 auto;
	pointer-events: none;
	opacity: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	will-change: opacity;
	z-index: -1;
	transition: opacity 0.5s;
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}

.light-following img {
	width: 700px;
	height: 700px;
	margin: auto;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	object-fit: contain;
}

@media (max-width: 767px) {
	.light-following img {
		width: 400px;
		height: 400px;
	}
}

.light-following.is-inview {
	opacity: 1;
}

.light-following.is-hide {
	opacity: 0;
}

.loop-slider-wrap {
	margin: 140px 0 0;
}

.loop-slider {
	width: 100%;
	margin: 40px 0 0;
	padding: 0;
	overflow: hidden;
}

.loop-slider .loop-track {
	width: max-content;
	display: flex;
}

.loop-slider .slide {
	margin: 0 24px;
	padding: 16px 24px;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.loop-slider .slide img {
	width: 140px;
	height: 50px;
	object-fit: contain;
}

@media screen and (max-width: 767px) {
	.loop-slider .slide {
		margin: 0 16px;
	}

	.loop-slider .slide img {
		width: 80px;
		height: 24px;
	}
}

.loop-slider .animation-left {
	animation: scroll-left 25s linear infinite;
}

.loop-slider .animation-right {
	animation: scroll-right 25s linear infinite;
}

@keyframes scroll-left {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@keyframes scroll-right {
	0% {
		transform: translateX(-50%);
	}

	100% {
		transform: translateX(0);
	}
}

/*================================================================
# トップページ
================================================================ */
/* mv
------------------------------------------------------ */
.top-page .sec-mv {
	position: relative;
	z-index: 1;
}

@media (min-width: 768px) {
	.top-page .sec-mv {
		height: calc(100vh + 54px) !important;
	}
}

@media (max-width: 767px) {
	.top-page .sec-mv {
		height: 100vh;
		min-height: 440px;
	}
}

.top-page .sec-mv .bg-mv {
	pointer-events: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
}

.top-page .sec-mv .bg-mv:after {
	width: 100%;
	height: 150px;
	background-image: linear-gradient(180deg, rgba(26, 26, 26, 0), #1a1a1a);
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
}

.top-page .sec-mv .hd-mv {
	position: absolute;
	bottom: 101px;
	left: 50px;
}

@media only screen and (min-width: 768px) and (max-width: 1240px) {
	.top-page .sec-mv .hd-mv {
		left: 25px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
	.top-page .sec-mv .hd-mv {
		bottom: 230px;
	}
}

@media (max-width: 767px) {
	.top-page .sec-mv .hd-mv {
		bottom: 147px;
		left: 25px;
	}
}

.top-page .sec-mv .hd-mv .title-en {
	margin-bottom: 12px;
	font-family: "Playfair Display", sans-serif;
	font-size: 72px;
	line-height: 1.2;
	letter-spacing: 0.04em;
}

@media only screen and (min-width: 768px) and (max-width: 1240px) {
	.top-page .sec-mv .hd-mv .title-en {
		font-size: 40px;
		line-height: 1.375;
	}
}

@media (max-width: 767px) {
	.top-page .sec-mv .hd-mv .title-en {
		margin-bottom: 19px;
		font-size: 34px;
		line-height: 1.41176;
	}
}

.top-page .sec-mv .hd-mv .title-en span {
	display: block;
}

.top-page .sec-mv .hd-mv .title-ja {
	margin: 24px 0 0;
	padding-left: 5px;
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.4em;
}

@media only screen and (min-width: 768px) and (max-width: 1240px) {
	.top-page .sec-mv .hd-mv .title-ja {
		font-size: 15px;
		line-height: 1.77778;
	}
}

@media (max-width: 767px) {
	.top-page .sec-mv .hd-mv .title-ja {
		padding-left: 0;
		font-size: 15px;
		letter-spacing: 0.2em;
	}
}

.top-page .sec-mv .hd-mv .title-ja span {
	display: block;
}

.top-page .sec-mv .news-box {
	width: 505px;
	height: 100px;
	padding: 10px 70px 10px 10px;
	cursor: pointer;
	background-color: #999;
	position: absolute;
	right: 0;
	bottom: 104px;
	display: flex;
	align-items: center;
	overflow: hidden;
	z-index: 1;
}

@media (max-width: 767px) {
	.top-page .sec-mv .news-box {
		width: calc(100% - 25px);
		height: 94px;
		padding: 20px 55px 20px 20px;
		bottom: 20px;
	}
}

@media (min-width: 768px) {
	.top-page .sec-mv .news-box:before {
		width: 0%;
		height: 100%;
		opacity: 0;
		background-color: #808080;
		position: absolute;
		content: "";
		bottom: 0;
		left: -10%;
		will-change: width, opacity;
		z-index: -1;
		transition: width 0.5s, opacity 0.5s;
		transform: skewX(25deg);
	}
}

.top-page .sec-mv .news-box__img {
	width: 120px;
	height: 80px;
	border-radius: 3px;
	overflow: hidden;
}

@media (max-width: 767px) {
	.top-page .sec-mv .news-box__img {
		width: 80px;
		height: 54px;
	}
}

.top-page .sec-mv .news-box__dt {
	width: 100%;
	padding-left: 25px;
	color: #1a1a1a;
}

@media (max-width: 767px) {
	.top-page .sec-mv .news-box__dt {
		width: 100%;
		padding-left: 15px;
	}
}

.top-page .sec-mv .news-box__dt .date-dt {
	font-family: "Playfair Display", sans-serif;
	font-size: 14px;
	letter-spacing: 0.06em;
}

@media (max-width: 767px) {
	.top-page .sec-mv .news-box__dt .date-dt {
		font-size: 13px;
	}
}

.top-page .sec-mv .news-box__dt .title-dt {
	width: 100%;
	margin: 4px 0 0;
	display: -webkit-box;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.5;
	white-space: normal;
	letter-spacing: 0.1em;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

@media (max-width: 767px) {
	.top-page .sec-mv .news-box__dt .title-dt {
		font-size: 13px;
	}
}

.top-page .sec-mv .news-box__arrow {
	width: 30px;
	height: 30px;
	margin-top: -15px;
	position: absolute;
	top: 50%;
	right: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media (max-width: 767px) {
	.top-page .sec-mv .news-box__arrow {
		width: 20px;
		height: 20px;
		margin-top: -10px;
	}
}

.top-page .sec-mv .news-box__arrow:before {
	width: 100%;
	height: 100%;
	border-radius: 100%;
	background-color: #fff;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	will-change: transform;
	transition: transform 0.5s;
}

.top-page .sec-mv .news-box__arrow span {
	width: 9px;
	height: 10px;
	margin-left: 2px;
	position: relative;
}

@media (max-width: 767px) {
	.top-page .sec-mv .news-box__arrow span {
		width: 6px;
		height: 7px;
	}
}

.top-page .sec-mv .news-box__arrow span:before,
.top-page .sec-mv .news-box__arrow span:after {
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 9px solid #1a1a1a;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	will-change: opacity, transform;
	transition: opacity 0.5s, transform 0.5s;
}

@media (max-width: 767px) {

	.top-page .sec-mv .news-box__arrow span:before,
	.top-page .sec-mv .news-box__arrow span:after {
		border-top-width: 3.5px;
		border-bottom-width: 3.5px;
		border-left-width: 6px;
	}
}

.top-page .sec-mv .news-box__arrow span:after {
	opacity: 0;
	transform: translateX(-20px);
}

@media only screen and (min-width: 1025px) {
	.top-page .sec-mv .news-box:hover {
		opacity: 1;
	}

	.top-page .sec-mv .news-box:hover:before {
		width: 120%;
		opacity: 1;
	}

	.top-page .sec-mv .news-box:hover .news-box__arrow:before {
		transform: scale(1.34);
	}

	.top-page .sec-mv .news-box:hover .news-box__arrow span:before {
		opacity: 0;
		transform: translateX(20px);
	}

	.top-page .sec-mv .news-box:hover .news-box__arrow span:after {
		opacity: 1;
		transform: translateX(0);
	}
}

.top-page .sec-mv[rel="js-inview-custom"] .bg-mv {
	opacity: 0;
	filter: blur(10px);
	transition-delay: 300ms;
	transition-timing-function: ease;
	transition-duration: 1000ms;
}

.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-en span {
	opacity: 0;
	transition-duration: 1500ms;
	transform: translateY(30px);
}

@media (min-width: 768px) {
	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-en span:nth-child(1) {
		transition-delay: 700ms;
	}

	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-en span:nth-child(2) {
		transition-delay: 800ms;
	}
}

@media (max-width: 767px) {
	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-en span:nth-child(1) {
		transition-delay: 500ms;
	}

	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-en span:nth-child(2) {
		transition-delay: 600ms;
	}

	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-en span:nth-child(3) {
		transition-delay: 700ms;
	}
}

.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-ja span {
	opacity: 0;
	transition-duration: 1500ms;
	transform: translateY(30px);
}

@media (min-width: 768px) {
	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-ja span {
		transition-delay: 900ms;
	}
}

@media (max-width: 767px) {
	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-ja span:nth-child(1) {
		transition-delay: 800ms;
	}

	.top-page .sec-mv[rel="js-inview-custom"] .hd-mv .title-ja span:nth-child(2) {
		transition-delay: 900ms;
	}
}

.top-page .sec-mv[rel="js-inview-custom"] .news-box {
	opacity: 0;
	transition-delay: 1500ms;
	transition-duration: 1500ms;
}

.top-page .sec-mv[rel="js-inview-custom"].is-inview .bg-mv {
	opacity: 1;
	filter: blur(0);
}

.top-page .sec-mv[rel="js-inview-custom"].is-inview .hd-mv .title-en span,
.top-page .sec-mv[rel="js-inview-custom"].is-inview .hd-mv .title-ja span {
	opacity: 1;
	transform: translateY(0);
}

.top-page .sec-mv[rel="js-inview-custom"].is-inview .news-box {
	opacity: 1;
}

@media (min-width: 768px) {
	.is-ipad .top-page .sec-mv {
		height: 62.5vw !important;
	}
}

/* 理念
------------------------------------------------------ */
.top-page .sec-about {
	margin: 0;
	padding: 100px 0 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media (max-width: 767px) {
	.top-page .sec-about {
		padding: 100px 0 0;
	}
}

@media screen and (max-width: 767px) {
	.top-page .sec-about .title-en {
		height: 140px;
		top: auto;
	}

	.top-page .sec-about .title-en .text {
		font-size: 100px;
	}
}

.top-page .sec-about[rel="js-inview-custom"] .top-page .sec-about__img {
	opacity: 0;
	filter: blur(10px);
	transition-timing-function: ease;
	transition-duration: 1000ms;
}

.top-page .sec-about[rel="js-inview-custom"] .title {
	opacity: 0;
	transition-duration: 2000ms;
	transform: translateY(30px);
}

.top-page .sec-about[rel="js-inview-custom"] .txt01 {
	opacity: 0;
	transition-delay: 300ms;
	transition-duration: 1500ms;
	transform: translateY(30px);
}

.top-page .sec-about[rel="js-inview-custom"].is-inview .top-page .sec-about__img {
	opacity: 1;
	filter: blur(0);
}

.top-page .sec-about[rel="js-inview-custom"].is-inview .title {
	opacity: 1;
	transform: translateY(0);
}

.top-page .sec-about[rel="js-inview-custom"].is-inview .txt01 {
	opacity: 1;
	transform: translateY(0);
}

.top-page .sec-about .title-en {
	width: 100vw;
	height: 200px;
	position: absolute;
	top: 100px;
	left: 0;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.top-page .sec-about .title-en {
		height: 140px;
		top: auto;
		bottom: 0;
	}
}

.top-page .sec-about .inner {
	display: flex;
}

.top-page .sec-about__img {
	width: 45%;
	position: relative;
	z-index: 1;
}

.top-page .sec-about__ct {
	width: 55%;
	padding: 0 0 0 80px;
}

@media screen and (max-width: 767px) {
	.top-page .sec-about .inner {
		flex-direction: column;
	}

	.top-page .sec-about__img {
		width: 100%;
		position: relative;
		z-index: 1;
	}

	.top-page .sec-about__ct {
		width: 100%;
		padding: 0;
	}
}

.top-page .sec-about .title {
	margin: 200px 0 0;
	font-size: 30px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.18em;
}

.top-page .sec-about .txt01 {
	margin: 64px 0 0;
	line-height: 2.4;
}

@media (max-width: 767px) {
	.top-page .sec-about .title {
		margin-top: 35px;
		font-size: 24px;
		line-height: 1.75;
		letter-spacing: 0.12em;
	}

	.top-page .sec-about .txt01 {
		margin: 24px 0 0;
		font-size: 14px;
		line-height: 2.4;
	}
}

/* 業務内容
------------------------------------------------------ */
.top-page .sec-service {
	margin: 0;
	padding: 160px 0 40px;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media (max-width: 767px) {
	.top-page .sec-service {
		padding: 100px 0;
	}
}

.top-page .sec-service .c-ttl01 {
	text-align: center;
}

.top-page .sec-service .c-view-all {
	margin: 0 0 0 auto;
}

@media screen and (max-width: 767px) {
	.top-page .sec-service .c-view-all {
		margin: 40px auto 0;
	}
}

.inner-service {
	margin: 64px 0 0;
}

@media (min-width: 768px) {
	.top-page .sec-service .inner-service {
		width: calc(100% - 40px);
		max-width: 1550px;
		margin: 40px auto 0;
	}
}

@media (min-width: 768px) {
	.top-page .sec-service .lst-service {
		padding-right: 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-start;
	}
}

@media (min-width: 768px) {
	.top-page .sec-service .lst-service>li {
		width: calc(100% / 3);
		padding: 0 20px;
	}
}

@media only screen and (min-width: 768px) and (min-width: 1281px) {
	.top-page .sec-service .lst-service>li {
		padding: 0 45px;
	}
}

@media (min-width: 768px) {
	.top-page .sec-service .lst-service>li:nth-child(2) {
		margin-top: 60px;
	}

	.top-page .sec-service .lst-service>li:nth-child(3) {
		margin-top: 120px;
	}

	.top-page .sec-service .lst-service>li:nth-child(4) {
		margin-top: 47px;
	}

	.top-page .sec-service .lst-service>li:nth-child(5) {
		margin-top: 107px;
	}

	.top-page .sec-service .lst-service>li:nth-child(6) {
		margin-top: 167px;
	}
}

@media (max-width: 767px) {
	.top-page .sec-service .lst-service>li:not(:first-child) {
		margin-top: 55px;
	}
}

.top-page .sec-service .lst-service .item {
	cursor: pointer;
	position: relative;
	display: block;
}

@media (min-width: 768px) {
	.top-page .sec-service .lst-service .item {
		max-width: 300px;
		margin: 0 auto;
	}
}

@media only screen and (min-width: 768px) and (min-width: 1281px) {
	.top-page .sec-service .lst-service .item {
		max-width: 100%;
	}
}

.top-page .sec-service .lst-service .item__img {
	margin-bottom: 20px;
	overflow: hidden;
}

.top-page .sec-service .lst-service .item__img img {
	width: 100%;
	will-change: opacity, transform;
	transition: opacity 0.5s, transform 0.5s;
}

.top-page .sec-service .lst-service .item__ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top-page .sec-service .lst-service .item__ttl .title-service {
	width: calc(100% - 40px);
	padding-right: 10px;
}

@media (max-width: 767px) {
	.top-page .sec-service .lst-service .item__ttl .title-service {
		width: calc(100% - 30px);
		margin: -40px 0 0;
		position: relative;
		z-index: 1;
	}
}

.top-page .sec-service .lst-service .item__ttl .title-en {
	font-family: "Playfair Display", sans-serif;
	font-size: 34px;
	letter-spacing: 0.04em;
}

@media (min-width: 768px) {
	.top-page .sec-service .lst-service .item__ttl .title-en {
		width: 1px;
		position: absolute;
		top: -12px;
		right: -36px;
		white-space: nowrap;
		will-change: color;
		transition: color 0.5s;
		transform: rotate(90deg);
		transform-origin: top right;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1010px) {
	.top-page .sec-service .lst-service .item__ttl .title-en {
		right: -1.8vw;
		font-size: 3.2vw;
	}
}

@media (max-width: 767px) {
	.top-page .sec-service .lst-service .item__ttl .title-en {
		font-size: 24px;
		line-height: 1.3;
		letter-spacing: 0.05em;
	}
}

.top-page .sec-service .lst-service .item__ttl .title-ja {
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.top-page .sec-service .lst-service .item__ttl .title-ja small {
	font-size: 14px;
}

@media only screen and (min-width: 768px) and (max-width: 1070px) {
	.top-page .sec-service .lst-service .item__ttl .title-ja {
		font-size: 18px;
		line-height: 1.11111;
	}
}

@media (max-width: 767px) {
	.top-page .sec-service .lst-service .item__ttl .title-ja {
		margin: 16px 0 0;
		font-size: 17px;
		letter-spacing: 0.1em;
	}
}

@media (max-width: 767px) {
	.top-page .sec-service .lst-service .item__ttl .c-arrow {
		margin-bottom: 4px;
	}
}

.top-page .sec-service .lst-service .item__txt {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.8;
	color: #b3b3b3;
}

@media (max-width: 767px) {
	.top-page .sec-service .lst-service .item__txt {
		font-size: 13px;
	}
}

@media only screen and (min-width: 1025px) {
	.top-page .sec-service .lst-service .item:hover .item__ttl .title-en {
		color: #613e99;
	}

	.top-page .sec-service .lst-service .item:hover .item__img img {
		transform: scale(1.12);
	}
}

.top-page .sec-service [rel="js-inview-custom"].lst-service>li {
	opacity: 0;
	animation-duration: 1000ms;
}

@media (min-width: 768px) {
	.top-page .sec-service [rel="js-inview-custom"].lst-service>li:nth-child(1) {
		animation-delay: 100ms;
	}

	.top-page .sec-service [rel="js-inview-custom"].lst-service>li:nth-child(2) {
		animation-delay: 400ms;
	}

	.top-page .sec-service [rel="js-inview-custom"].lst-service>li:nth-child(3) {
		animation-delay: 700ms;
	}

	.top-page .sec-service [rel="js-inview-custom"].lst-service>li:nth-child(4) {
		animation-delay: 1000ms;
	}

	.top-page .sec-service [rel="js-inview-custom"].lst-service>li:nth-child(5) {
		animation-delay: 1300ms;
	}

	.top-page .sec-service [rel="js-inview-custom"].lst-service>li:nth-child(6) {
		animation-delay: 1600ms;
	}
}

@media (max-width: 767px) {
	.top-page .sec-service [rel="js-inview-custom"].lst-service>li.is-inview {
		animation-name: fadeIn;
		animation-timing-function: ease-in;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
	}
}

@media (min-width: 768px) {
	.top-page .sec-service [rel="js-inview-custom"].lst-service.is-inview>li {
		animation-name: fadeIn;
		animation-timing-function: ease-in;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
	}
}

/* 特徴
------------------------------------------------------ */
.top-page .sec-feature {
	margin: 0;
	padding: 120px 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media (max-width: 767px) {
	.top-page .sec-feature {
		padding: 120px 0 95px;
	}
}

.top-page .sec-feature:before {
	width: 100%;
	height: 600px;
	pointer-events: none;
	background-image: linear-gradient(0deg, rgba(26, 26, 26, 0) 0%, rgba(62, 62, 62, 0.482353) 34%, rgba(44, 44, 44, 0.878431) 68%, #1a1a1a 100%);
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	z-index: -2;
}

@media (max-width: 767px) {
	.top-page .sec-feature:before {
		height: 513px;
		background-image: linear-gradient(358deg, rgba(26, 26, 26, 0) 0%, rgba(62, 62, 62, 0.482353) 34%, rgba(44, 44, 44, 0.878431) 68%, #1a1a1a 100%);
		top: -130px;
	}
}

.top-page .sec-feature .bg-feature {
	pointer-events: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -3;
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}

.top-page .sec-feature .bg-feature .bg-feature-img {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.top-page .sec-feature .inner-feature {
	max-width: 1230px;
}

@media (min-width: 768px) {
	.top-page .sec-feature .inner-feature {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
}

@media (min-width: 768px) {
	.top-page .sec-feature .left-inner {
		width: 330px;
		padding-top: 2px;
		padding-left: 30px;
		position: sticky;
		top: 120px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1110px) {
	.top-page .sec-feature .left-inner {
		width: 280px;
		padding-left: 0;
	}
}

@media (min-width: 768px) {
	.top-page .sec-feature .right-inner {
		width: calc(100% - 330px);
		max-width: 780px;
		padding-right: 2px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1110px) {
	.top-page .sec-feature .right-inner {
		width: calc(100% - 300px);
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	.top-page .sec-feature .right-inner {
		margin-top: 44px;
	}
}

.top-page .sec-feature .text-works {
	margin-top: 47px;
	font-size: 15px;
	line-height: 1.8;
	color: #b3b3b3;
}

@media (max-width: 767px) {
	.top-page .sec-feature .text-works {
		margin-top: 28px;
	}
}

.top-page .sec-feature .view-all {
	margin-top: 43px;
	margin-left: 3px;
}

@media (max-width: 767px) {
	.top-page .sec-feature .view-all {
		margin: 40px auto 0;
	}
}

@media (min-width: 768px) {
	.top-page .sec-feature .list-feature {
		padding-bottom: 120px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

@media (min-width: 768px) {
	.top-page .sec-feature .list-feature>li {
		width: calc(50% - 10px);
		max-width: 358px;
		margin-top: 90px;
	}

	.top-page .sec-feature .list-feature>li:nth-child(1),
	.top-page .sec-feature .list-feature>li:nth-child(2) {
		margin-top: 0;
	}

	.top-page .sec-feature .list-feature>li:nth-child(2n) {
		position: relative;
		top: 120px;
	}
}

@media (max-width: 767px) {
	.top-page .sec-feature .list-feature>li:not(:first-child) {
		margin-top: 50px;
	}
}

.top-page .sec-feature .list-feature .item {
	padding-right: 28px;
	cursor: pointer;
	pointer-events: none;
	position: relative;
	display: block;
}

@media (max-width: 767px) {
	.top-page .sec-feature .list-feature .item {
		padding-right: 25px;
	}
}

.top-page .sec-feature .list-feature .item__img {
	margin-bottom: 23px;
	position: relative;
	overflow: hidden;
}

.top-page .sec-feature .list-feature .item__img:before {
	width: 100%;
	padding-top: 66.66667%;
	content: " ";
	display: block;
}

.top-page .sec-feature .list-feature .item__img>.content {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

@media (max-width: 767px) {
	.top-page .sec-feature .list-feature .item__img {
		margin-bottom: 25px;
	}
}

.top-page .sec-feature .list-feature .item__img img {
	will-change: opacity, transform;
	transition: opacity 0.5s, transform 0.5s;
}

.top-page .sec-feature .list-feature .item__date {
	width: 1px;
	position: absolute;
	top: 1px;
	right: -3px;
	font-family: "Playfair Display", sans-serif;
	font-size: 15px;
	line-height: 1.66667;
	color: #b3b3b3;
	white-space: nowrap;
	letter-spacing: 0.04em;
	will-change: color;
	transition: color 0.5s;
	transform: rotate(90deg);
	transform-origin: top right;
}

@media (max-width: 767px) {
	.top-page .sec-feature .list-feature .item__date {
		right: -7px;
	}
}

.top-page .sec-feature .list-feature .item__ttl {
	width: 100%;
	display: -webkit-box;
	overflow: hidden;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	white-space: normal;
	letter-spacing: 0.1em;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

@media (min-width: 768px) {
	.top-page .sec-feature .list-feature .item__ttl {
		margin-bottom: 18px;
	}
}

@media (max-width: 767px) {
	.top-page .sec-feature .list-feature .item__ttl {
		font-size: 18px;
	}
}

.top-page .sec-feature .list-feature .item__txt {
	font-size: 15px;
	line-height: 1.8;
	color: #b3b3b3;
}

@media (max-width: 767px) {
	.top-page .sec-feature .list-feature .item__txt {
		margin: 8px 0 0;
		font-size: 13px;
		letter-spacing: 0.05em;
	}
}

.top-page .sec-feature .list-feature .item__cate {
	margin-right: -10px;
	display: flex;
	flex-wrap: wrap;
}

.top-page .sec-feature .list-feature .item__cate span {
	margin: 0 10px 10px 0;
	padding: 3px 10px 2px;
	border-radius: 100px;
	background-color: #613e99;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.61538;
	letter-spacing: 0em;
}

@media (max-width: 767px) {
	.top-page .sec-feature .list-feature .item__cate span {
		font-size: 10px;
		line-height: 1.8;
	}
}

@media only screen and (min-width: 1025px) {
	.top-page .sec-feature .list-feature .item:hover {
		opacity: 1;
	}

	.top-page .sec-feature .list-feature .item:hover .item__img img {
		transform: scale(1.12);
	}

	.top-page .sec-feature .list-feature .item:hover .item__date {
		color: #613e99;
	}
}

/* 海外ネットワーク
------------------------------------------------------ */
.top-page .sec-network {
	margin: 0;
	padding: 100px 0 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media (max-width: 767px) {
	.top-page .sec-network {
		padding: 82px 0 50px;
	}
}

.top-page .sec-network .light-network {
	width: 800px;
	height: 800px;
	pointer-events: none;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	will-change: opacity;
	z-index: -1;
	transition: opacity 0.5s;
	transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
	.top-page .sec-network .light-network {
		width: 429px;
		height: 429px;
	}
}

.top-page .sec-network .light-network.is-show {
	opacity: 1;
}

.top-page .sec-network .title-network {
	text-align: center;
}

.top-page .sec-network .title-network__en {
	padding-left: 12px;
	display: block;
	font-family: "Playfair Display", sans-serif;
	font-size: 140px;
	line-height: 1;
	color: rgba(255, 255, 255, 0.07);
	letter-spacing: 0.1em;
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.top-page .sec-network .title-network__en {
		padding-bottom: 10px;
		font-size: 10px;
		line-height: 1;
	}
}

@media (max-width: 767px) {
	.top-page .sec-network .title-network__en {
		padding-left: 8px;
		font-size: 48px;
		line-height: 1;
	}
}

.top-page .sec-network .title-network__ja {
	margin-top: -80px;
	padding-left: 6px;
	display: block;
	font-size: 26px;
	line-height: 1.61538;
	letter-spacing: 0.25em;
}

@media (max-width: 767px) {
	.top-page .sec-network .title-network__ja {
		margin-top: -23px;
	}
}

.top-page .sec-network .text-feature {
	margin: 40px 0 0;
	font-size: 15px;
	line-height: 2.4;
	color: #b3b3b3;
	text-align: center;
	letter-spacing: 0.25em;
}

.top-page .sec-network .slide {
	margin-top: 63px;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide {
		margin-top: 92px;
	}
}

.top-page .sec-network .slide-main {
	max-width: 260px;
	margin: 0 auto;
	position: relative;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-main {
		max-width: 180px;
	}
}

.top-page .sec-network .slide-main .item {
	opacity: 0.6;
	position: relative;
	display: block;
	will-change: opacity, transform;
	transition: opacity 1s, transform 1s;
	transform-origin: center bottom;
}

.top-page .sec-network .slide-main .item__img {
	text-align: center;
}

.top-page .sec-network .slide-main .item__txt {
	font-family: "Playfair Display", sans-serif;
	font-size: 30px;
	line-height: 1.33333;
	text-align: center;
	letter-spacing: 0.04em;
}

@media (min-width: 768px) {
	.top-page .sec-network .slide-main .item__txt {
		margin-top: -18px;
		position: relative;
		color: #613e99;
		will-change: color;
		transition: color 1s;
	}
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-main .item__txt {
		opacity: 0;
		position: absolute;
		bottom: -18px;
		left: 50%;
		font-size: 26px;
		line-height: 1.38462;
		white-space: nowrap;
		will-change: opacity;
		transition: opacity 1s;
		transform: translateX(-50%);
	}
}

@media (min-width: 768px) {

	.top-page .sec-network .slide-main .swiper-slide,
	.top-page .sec-network .slide-main .swiper-slide-duplicate {
		width: 260px;
		padding-top: 90px;
	}
}

@media (max-width: 767px) {

	.top-page .sec-network .slide-main .swiper-slide,
	.top-page .sec-network .slide-main .swiper-slide-duplicate {
		width: 180px;
	}
}

@media (min-width: 768px) {

	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-active .item,
	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-duplicate-active .item,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-active .item,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-duplicate-active .item {
		transform: translateX(0);
	}
}

@media (max-width: 767px) {

	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-active,
	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-duplicate-active,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-active,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-duplicate-active {
		z-index: 1;
	}
}

.top-page .sec-network .slide-main .swiper-slide.swiper-slide-active .item,
.top-page .sec-network .slide-main .swiper-slide.swiper-slide-duplicate-active .item,
.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-active .item,
.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-duplicate-active .item {
	opacity: 1;
}

@media (min-width: 768px) {

	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-active .item,
	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-duplicate-active .item,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-active .item,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-duplicate-active .item {
		transform: translateY(4px) scale(1.34615);
	}
}

@media (max-width: 767px) {

	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-active .item,
	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-duplicate-active .item,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-active .item,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-duplicate-active .item {
		transform: scale(1.2222);
	}
}

.top-page .sec-network .slide-main .swiper-slide.swiper-slide-active .item__txt,
.top-page .sec-network .slide-main .swiper-slide.swiper-slide-duplicate-active .item__txt,
.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-active .item__txt,
.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-duplicate-active .item__txt {
	color: #fff;
}

.top-page .sec-network .slide-main .item:hover .item__txt {
	color: #613e99;
}

@media (max-width: 767px) {

	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-active .item__txt,
	.top-page .sec-network .slide-main .swiper-slide.swiper-slide-duplicate-active .item__txt,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-active .item__txt,
	.top-page .sec-network .slide-main .swiper-slide-duplicate.swiper-slide-duplicate-active .item__txt {
		opacity: 1;
	}
}

.top-page .sec-network .slide-main .swiper-button-prev,
.top-page .sec-network .slide-main .swiper-button-next {
	width: 60px;
	height: 60px;
	margin: 0;
	border-radius: 100%;
	background-color: #613e99;
	position: absolute;
	top: 142px;
}

@media (max-width: 767px) {

	.top-page .sec-network .slide-main .swiper-button-prev,
	.top-page .sec-network .slide-main .swiper-button-next {
		width: 40px;
		height: 40px;
		top: 50px;
	}
}

.top-page .sec-network .slide-main .swiper-button-prev:before,
.top-page .sec-network .slide-main .swiper-button-next:before {
	width: 0;
	height: 0;
	margin: auto;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	font-size: 0;
}

@media (max-width: 767px) {

	.top-page .sec-network .slide-main .swiper-button-prev:before,
	.top-page .sec-network .slide-main .swiper-button-next:before {
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
	}
}

.top-page .sec-network .slide-main .swiper-button-prev:after,
.top-page .sec-network .slide-main .swiper-button-next:after {
	display: none;
}

.top-page .sec-network .slide-main .swiper-button-prev {
	left: -155px;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-main .swiper-button-prev {
		left: -80px;
	}
}

.top-page .sec-network .slide-main .swiper-button-prev:before {
	border-right: 10px solid #fff;
	right: 27px;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-main .swiper-button-prev:before {
		border-right: 12px solid #fff;
		right: 16px;
	}
}

.top-page .sec-network .slide-main .swiper-button-next {
	right: -155px;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-main .swiper-button-next {
		right: -80px;
	}
}

.top-page .sec-network .slide-main .swiper-button-next:before {
	border-left: 10px solid #fff;
	left: 27px;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-main .swiper-button-next:before {
		border-left: 12px solid #fff;
		left: 16px;
	}
}

.top-page .sec-network .slide-txt {
	margin-top: 22px;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-txt {
		margin-top: 38px;
	}
}

.top-page .sec-network .slide-txt .text-item {
	opacity: 0;
	font-size: 18px;
	line-height: 1.77778;
	text-align: center;
	letter-spacing: 0.25em;
	will-change: opacity;
	transition: opacity 0.7s;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-txt .text-item {
		font-size: 16px;
		line-height: 2;
	}
}

.top-page .sec-network .slide-txt .text-item.text {
	margin: 24px 0 0;
	font-size: 15px;
	line-height: 2.4;
	color: #b3b3b3;
	text-align: center;
	letter-spacing: 0.25em;
}

@media (max-width: 767px) {
	.top-page .sec-network .slide-txt .text-item.text {
		font-size: 13px;
	}
}

.top-page .sec-network .slide-txt .swiper-slide.swiper-slide-active .text-item {
	opacity: 1;
}

.top-page .sec-network .view-all {
	margin: 44px auto 0;
}

/* ロゴtickerとバナー
------------------------------------------------------ */
.top-page .sec-page {
	margin: 0;
	padding: 100px 0 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media (max-width: 767px) {
	.top-page .sec-page {
		padding: 64px 0 0;
	}
}

@media (min-width: 768px) {
	.top-page .sec-page .inner-page {
		width: calc(100% - 50px);
		max-width: 1550px;
		margin: 160px auto 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
	.top-page .sec-page .inner-page {
		width: 100%;
		max-width: 1230px;
	}
}

.top-page .sec-page .item {
	cursor: pointer;
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	z-index: 1;
}

@media (min-width: 768px) {
	.top-page .sec-page .item.item--about {
		height: 400px;
	}

	.top-page .sec-page .item {
		height: 278px;
	}
}

.top-page .sec-page .item:before {
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
	border: 4px solid #613e99;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	will-change: opacity;
	z-index: 1;
	transition: opacity 0.5s;
}

.top-page .sec-page .item__img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	will-change: transform;
	z-index: -1;
	transition: transform 0.5s;
}

.top-page .sec-page .item__ttl {
	margin: 0 0 0 60px;
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.top-page .sec-page .item__ttl {
		left: 30px;
	}
}

@media (max-width: 767px) {
	.top-page .sec-page .item__ttl {
		margin: 0 0 0 32px;
	}

	.top-page .sec-page .item.item--about .item__ttl {
		margin: 0;
		position: absolute;
		bottom: 80px;
	}
}

.top-page .sec-page .item__ttl .title-en {
	display: block;
	font-family: "Playfair Display", sans-serif;
	font-size: 40px;
	letter-spacing: 0.04em;
}

@media (max-width: 767px) {
	.top-page .sec-page .item__ttl .title-en {
		font-size: 26px;
		line-height: 1.38462;
	}
}

.top-page .sec-page .item__ttl .title-en span {
	color: #613e99;
}

.top-page .sec-page .item__ttl .title-ja {
	margin: 8px 0 0;
	display: block;
	font-size: 16px;
	letter-spacing: 0.25em;
}

@media (max-width: 767px) {
	.top-page .sec-page .item__ttl .title-ja {
		margin-top: 4px;
		font-size: 12px;
		line-height: 1.83333;
	}
}

.top-page .sec-page .item__arrow {
	position: absolute;
	top: 119px;
	right: 50px;
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.top-page .sec-page .item__arrow {
		right: 20px;
	}
}

@media (max-width: 767px) {
	.top-page .sec-page .item__arrow {
		top: 63px;
		right: 30px;
	}
}

@media (min-width: 768px) {
	.top-page .sec-page .item--about {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.top-page .sec-page .inner-page {
		margin: 140px 0 0;
	}

	.top-page .sec-page .item--about {
		height: 270px;
	}

	.top-page .sec-page .item--about .item__ttl {
		width: 100%;
		top: auto;
		bottom: 75px;
		left: 0;
		text-align: center;
	}

	.top-page .sec-page .item--about .item__arrow {
		margin: 0 auto;
		top: auto;
		right: 0;
		bottom: 30px;
		left: 0;
	}
}

@media (min-width: 768px) {

	.top-page .sec-page .item--access,
	.top-page .sec-page .item--facility {
		width: calc(50% - 10px);
		margin-top: 18px;
	}
}

@media (max-width: 767px) {

	.top-page .sec-page .item--access,
	.top-page .sec-page .item--facility {
		height: 156px;
		margin-top: 20px;
	}
}

@media only screen and (min-width: 1025px) {
	.top-page .sec-page .item:hover:before {
		opacity: 1;
	}

	.top-page .sec-page .item:hover .item__img {
		transform: scale(1.12);
	}
}

/* お知らせ・人材募集
------------------------------------------------------ */
.top-page .sec-news {
	padding: 160px 0 100px;
}

/*================================================================
# 中面共通
================================================================ */
.box01 {
	padding: 100px 0 0;
}

.c-ttl03 {
	display: flex;
	align-items: center;
}

.c-ttl03 .ja {
	font-size: 24px;
	line-height: 1em;
	letter-spacing: 0.25em;
}

@media screen and (max-width: 797px) {
	.c-ttl03 .ja {
		font-size: 20px;
	}
}

.c-ttl03 .en {
	padding-left: 15px;
	display: inline-block;
	font-family: "Playfair Display", sans-serif;
	font-size: 12px;
	line-height: 1.16667em;
	color: #676767;
	letter-spacing: 0.04em;
}

.c-ttl04 {
	padding-left: 25px;
	background: 0 center/10px 22px no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='22' viewBox='0 0 10 22'%3E%3Cpath id='%E3%83%91%E3%82%B9_16' data-name='%E3%83%91%E3%82%B9 16' d='M1458.441,4709h-2l8-22h2Z' transform='translate(-1456.441 -4687)' fill='%23613e99'/%3E%3C/svg%3E%0A");
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3em;
	letter-spacing: 0.06em;
}

.c-mv-sub {
	position: relative;
	z-index: 2;
}

.c-mv-sub__img {
	width: 100%;
}

.c-mv-sub__img img {
	width: 100%;
}

@media (max-width: 767px) {
	.c-mv-sub__img img {
		width: 100%;
		height: 40vh;
		object-fit: cover;
	}
}

.c-mv-sub__ttl {
	max-width: 1130px;
	margin: 0 auto;
	padding: 0 25px;
	position: absolute;
	bottom: 54px;
	left: 0;
}

@media (max-width: 767px) {
	.c-mv-sub__ttl {
		padding: 0;
		bottom: -64px;
	}
}

.c-mv-sub__ttl span {
	display: block;
}

.c-mv-sub__ttl .en {
	font-family: "Playfair Display", sans-serif;
	font-size: 55px;
	line-height: 1.34545em;
	letter-spacing: 0.04em;
}

@media (max-width: 767px) {
	.c-mv-sub__ttl .en {
		font-size: 40px;
	}
}

.c-mv-sub__ttl .ja {
	margin-top: 11px;
	padding-left: 5px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3em;
	letter-spacing: 0.4em;
}

.c-mv-sub[rel="js-inview-custom"] .c-mv-sub__img {
	opacity: 0;
	filter: blur(10px);
	transition-timing-function: ease;
	transition-duration: 1000ms;
}

.c-mv-sub[rel="js-inview-custom"] .c-mv-sub__ttl .en {
	opacity: 0;
	transition-delay: 300ms;
	transition-duration: 2000ms;
	transform: translateY(30px);
}

.c-mv-sub[rel="js-inview-custom"].is-inview .c-mv-sub__img {
	opacity: 1;
	filter: blur(0);
}

.c-mv-sub[rel="js-inview-custom"].is-inview .c-mv-sub__ttl .en {
	opacity: 1;
	transform: translateY(0);
}

.c-breadcrumb {
	margin-top: 142px;
	padding: 0 50px 31px;
	font-family: "Playfair Display", sans-serif;
	font-size: 12px;
	line-height: 1.66667em;
	letter-spacing: 0.06em;
}

@media screen and (max-width: 797px) {
	.c-breadcrumb {
		margin: 100px 0 0;
		padding: 0 20px 30px;
	}
}

.c-breadcrumb ul li {
	display: inline;
}

.c-breadcrumb ul li:not(:first-child):before {
	width: 24px;
	height: 1px;
	margin: 0 13px 0;
	background-color: #6e6e6e;
	content: "";
	display: inline-block;
	transform: translateY(-4px);
}

.c-breadcrumb ul li a {
	color: #6e6e6e;
}

.c-img-gradient {
	position: relative;
}

.c-img-gradient .bg {
	width: calc(100% + 40px);
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
	.c-img-gradient .bg {
		top: 80%;
	}
}

.c-img-gradient .bg:before {
	width: 100%;
	padding-top: 100%;
	content: " ";
	display: block;
}

.c-img-gradient .bg>img {
	object-fit: fill;
}

.c-img-gradient>img {
	position: relative;
	z-index: 2;
}

.c-img-gradient--700 .bg {
	width: calc(100% + 500px);
}

.c-img-gradient--760 .bg {
	width: calc(100% + 240px);
}

main {
	overflow: hidden;
}

.table-wrapper {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
}

.fixed-left {
	border-right: none !important;
	position: sticky;
	left: 0;
	z-index: 1;
}

.fixed-left::before {
	border-right: 1px solid #464646;
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: -1px;
	left: 0;
}

tr:not(:last-child) .fixed-left::before {
	border-bottom: 1px solid #464646;
}

.p-row01 {
	margin-left: 0;
	display: flex;
	align-items: center;
}

@media screen and (max-width: 797px) {
	.p-row01 {
		flex-direction: column-reverse;
	}
}

.p-row01 .p-row01__content {
	width: calc(100% - 480px - 80px);
	margin-right: 80px;
}

.p-row01 .p-row01__img {
	width: 480px;
	height: 480px;
	object-fit: cover;
}

@media screen and (max-width: 797px) {
	.p-row01 .p-row01__content {
		width: 100%;
		margin: 32px 0 0;
	}

	.p-row01 .p-row01__img {
		width: 100%;
		height: auto;
		aspect-ratio: 2 / 2.4;
	}
}

.p-row01__content .img01 {
	margin-top: 57px;
}

.p-row01 .c-ttl01 .c-ttl01__en {
	text-transform: none;
}

.p-row01 .c-ttl01 .c-ttl01__ja {
	font-size: 20px;
}

@media screen and (max-width: 797px) {
	.p-row01 .c-ttl01 .c-ttl01__en {
		font-size: 32px;
	}

	.p-row01 .c-ttl01 .c-ttl01__ja {
		font-size: 20px;
		letter-spacing: 0.2em;
	}
}

.p-row01__content .c-ttl01__sub {
	margin-bottom: 30px;
	display: block;
	font-size: 20px;
	font-weight: 400;
	line-height: 1em;
	letter-spacing: 0.25em;
}

.p-row01__content .txt01 {
	margin-top: 50px;
	position: relative;
	font-size: 14px;
	line-height: 2;
	z-index: 2;
}

@media screen and (max-width: 797px) {
	.p-row01__content .txt01 {
		margin: 32px 0 0;
		color: #b3b3b3;
	}
}

.p-row01__content .list01 {
	margin-top: 43px;
}

.p-row01__content .list01 li span {
	display: inline-block;
}

.p-row01__content .list01 li .bg {
	padding: 2px 22px 3px;
	border-radius: 100px;
	background-color: #613e99;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.05em;
	transform: translateY(-2px);
}

.p-row01__content .list01 li .big {
	margin: 0 4px 0 8px;
	font-family: "Playfair Display", sans-serif;
	font-size: 32px;
}

.p-row01__content .list01 li .big i {
	font-size: 20px;
	font-style: normal;
}

.p-row01__content .list02 {
	margin: 24px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

@media screen and (max-width: 797px) {
	.p-row01__content .list02 {
		margin: 24px 0 0;
		gap: 6px;
	}
}

.p-row01__content .list02 li {
	padding: 2px 22px 3px;
	border: 1px solid #b3b3b3;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.05em;
	transform: translateY(-2px);
}

@media screen and (max-width: 797px) {
	.p-row01__content .list02 li {
		padding: 2px 16px 3px;
		font-size: 12px;
	}
}

.p-row01__content .list02 li .big {
	margin-left: 8px;
	font-family: "Playfair Display", sans-serif;
	font-size: 24px;
	line-height: 1.29167em;
	letter-spacing: 0.05em;
}

.p-row01__content .list02 li .big i {
	font-size: 20px;
	font-style: normal;
}

.info-table {
	margin: 24px 0;
}

.info-table .info-row {
	margin: 8px 0 0;
	position: relative;
	display: flex;
	gap: 16px;
}

@media screen and (max-width: 797px) {
	.info-table .info-row {
		margin: 16px 0 0;
		flex-direction: column;
		gap: 0;
	}
}

.info-table .info-label {
	flex: 0 0 auto;
	font-size: 14px;
}

@media screen and (max-width: 797px) {
	.info-table .info-label {
		margin: 0;
		font-size: 13px;
	}
}

.info-table .info-separator {
	width: 100%;
	height: 1px;
	margin: auto;
	background-color: #676767;
	content: "";
	top: 0;
	bottom: 0;
	flex: 1 1 0;
}

@media screen and (max-width: 797px) {
	.info-table .info-separator {
		display: none;
	}
}

.info-table .info-value {
	margin: 0 0 0 auto;
	flex: 0 0 auto;
	font-size: 14px;
	color: #b3b3b3;
}

@media screen and (max-width: 797px) {
	.info-table .info-value {
		margin: 4px 0 0;
		font-size: 13px;
	}
}

.p-row01 .img01 {
	width: 520px;
	position: relative;
	box-sizing: border-box;
}

.c-section {
	padding: 80px 0 75px;
	border-bottom: 1px solid #3e3e3e;
}

.c-section__list {
	width: 100%;
	margin-top: 45px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 32px;
}

@media screen and (max-width: 797px) {
	.c-section__list {
		grid-template-columns: repeat(1, 1fr);
		gap: 24px 32px;
	}
}

.c-section__list li {
	padding-left: 16px;
	position: relative;
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0.06em;
	box-sizing: border-box;
}

@media screen and (max-width: 797px) {
	.c-section__list li {
		font-size: 15px;
	}
}

.c-section__list li:before {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #613e99;
	position: absolute;
	content: "";
	top: 11px;
	left: 0;
}

.c-section__list li h3 {
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0.06em;
}

.c-section__list li .text {
	margin: 8px 0 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #b3b3b3;
}

.c-section02 {
	margin: 80px 0 0;
	padding: 64px 64px 72px;
	background: #272727;
}

@media (max-width: 767px) {
	.c-section02 {
		margin-top: 60px;
		padding: 56px 30px;
	}
}

.c-section02__ttl {
	padding: 0 0 24px;
	border-bottom: #3e3e3e 1px solid;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.25em;
	text-align: center;
	letter-spacing: 0.25em;
}

@media (max-width: 767px) {
	.c-section02__ttl {
		padding-bottom: 23px;
		font-size: 18px;
		line-height: 1.66667em;
		letter-spacing: 0.15em;
	}
}

.c-section02__ttl .jp {
	margin: 8px 0 0;
	display: block;
	font-size: 28px;
	text-align: center;
}

@media (max-width: 767px) {
	.c-section02__ttl .jp {
		font-size: 24px;
	}
}

.c-section02__ttl .en {
	display: block;
	font-family: "Playfair Display", sans-serif;
	font-size: 12px;
	line-height: 1.16667em;
	color: #676767;
	letter-spacing: 0.04em;
	transform: translate(-2px, 0);
}

.c-section02__desc {
	margin-top: 33px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.86667em;
	text-align: center;
	letter-spacing: 0.07em;
}

@media (max-width: 767px) {
	.c-section02__desc {
		margin-top: 24px;
		text-align: left;
	}
}

.c-section02 .c-section__list {
	text-align: left;
	grid-template-columns: repeat(1, 1fr);
	gap: 16px 40px;
}

.c-section02 .c-section__list li {
	font-size: 18px;
}

@media screen and (max-width: 797px) {
	.c-section02 .c-section__list li {
		font-size: 16px;
	}
}

.p-price {
	padding: 80px 0 73px;
	border-bottom: 1px solid #3e3e3e;
}

.p-price__ttl02 {
	margin-top: 60px;
}

.p-price__ttl02.mt01 {
	margin-top: 72px;
}

.p-price__text {
	margin-top: 33px;
}

.p-price .row-sub {
	margin-top: 30px;
	display: flex;
}

.p-price .row-sub .p-price__sub {
	margin-top: 0;
}

.p-price .row-sub .p-price__sub.mt01 {
	margin-top: 0;
	margin-left: 20px;
}

.p-price__sub {
	margin-top: 33px;
	padding-left: 12px;
	position: relative;
	font-size: 12px;
	font-weight: 400;
	line-height: 2.16667em;
	letter-spacing: 0.06em;
}

.p-price__sub.mt01 {
	margin-top: 6px;
}

.p-price__sub span {
	position: absolute;
	left: 0;
	font-style: normal;
}

.p-price .table-wrapper {
	margin-top: 38px;
}

.p-price .table-wrapper.mt01 {
	margin-top: 30px;
}

.p-price__table {
	background-color: #1d1d1d;
	position: relative;
}

.p-price__table th,
.p-price__table td {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.46154em;
	vertical-align: middle;
	letter-spacing: 0.06em;
}

.p-price__table thead .tb-row01 th {
	padding: 17px 20px;
	background-color: #1d1d1d;
}

.p-price__table thead .tb-row01 th:first-child:before {
	display: none;
}

.p-price__table thead .tb-row02 th {
	padding: 8px 10px 12px;
	border-right: 1px solid #464646;
	border-bottom: 1px solid #464646;
	background-color: #1d1d1d;
	font-family: "Playfair Display", sans-serif;
	font-size: 12px;
	line-height: 1.66667em;
	letter-spacing: 0.02em;
	box-sizing: border-box;
}

.p-price__table thead .tb-row02 th:first-child {
	width: auto;
}

.p-price__table thead .tb-row02 th:last-child {
	border-right: none;
}

.p-price__table thead .tb-row02 th .size {
	display: block;
	font-size: 14px;
}

.p-price__table tbody tr td {
	padding: 19px 5px 19px;
	border-right: 1px solid #464646;
	border-bottom: 1px solid #464646;
	font-family: "Playfair Display", sans-serif;
	text-align: center;
	vertical-align: middle;
}

.p-price__table tbody tr td:first-child {
	padding-left: 20px;
	background-color: #1d1d1d !important;
	text-align: left;
}

.p-price__table tbody tr td:last-child {
	border-right: none;
}

.p-price__table tbody tr td:nth-child(2n + 1) {
	background-color: #2f2f2f;
}

.p-price__table tbody tr td:nth-child(2n) {
	background-color: #272727;
}

.p-price__table tbody tr:last-child td {
	border-bottom: none;
}

.p-price__table--01 thead .tb-row02 th {
	width: 123px;
}

.p-price__table--02 thead .tb-row02 th {
	width: 215px;
}

.sec-info {
	padding: 140px 0 0;
	overflow: hidden;
}

.sec-info__row {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.sec-info__row {
		flex-direction: column;
	}
}

.sec-info__row.reverse {
	margin: 80px 0 0;
	flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
	.sec-info__row.reverse {
		flex-direction: column;
	}
}

.sec-info__row .img {
	width: 400px;
	position: relative;
	z-index: 0;
}

.sec-info__row .img img {
	width: 100%;
}

.sec-info__row .info-ct {
	width: calc(100% - 400px - 80px);
	margin-left: 80px;
	position: relative;
	z-index: 2;
}

.sec-info__row.reverse .info-ct {
	width: calc(100% - 400px);
	margin: 0;
	padding: 0 80px 0 0;
}

@media screen and (max-width: 767px) {
	.sec-info__row .img {
		width: 100%;
		margin: 0;
		padding: 0 24px;
	}

	.sec-info__row .info-ct {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.sec-info__row.reverse .info-ct {
		width: 100%;
		margin: 64px 0 0;
		padding: 0;
	}
}

.sec-info__row .info-ct__ttl {
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.18em;
}

@media screen and (max-width: 767px) {
	.sec-info__row .info-ct__ttl {
		margin: 40px 0 0;
		font-size: 24px;
		letter-spacing: 0.1em;
	}
}

.sec-info__row .info-ct__ttl .en {
	margin-bottom: 16px;
	font-family: "Playfair Display", sans-serif;
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.sec-info__row .info-ct__ttl .jp {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #b3b3b3;
}

.sec-info__row .content__ttl02 {
	margin: 40px 0 0;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.18em;
}

@media screen and (max-width: 767px) {
	.sec-info__row .content__ttl02 {
		margin: 40px 0 0;
		font-size: 24px;
		letter-spacing: 0.1em;
	}
}

.sec-info__row .info-ct__txt {
	margin: 40px 0 0;
	line-height: 2.4;
}

@media screen and (max-width: 767px) {
	.sec-info__row .info-ct__txt {
		margin: 32px 0 0;
		font-size: 14px;
		line-height: 2;
	}
}

.sec-info__row .info-ct__txt.top {
	margin: 0;
}

.sec-info__text-en {
	margin: 100px 0 0;
}

.sec-info__text-en .c-ttl02__en {
	height: 91px;
	background-size: 2064px 91px;
	animation: slideTitle 20s linear infinite;
}

.sec-info__list {
	margin: 78px 0 0;
}

.sec-info__list .item {
	margin-bottom: 30px;
}

.sec-info__list .item__link {
	padding: 50px 110px 50px 60px;
	cursor: pointer;
	background-color: #272727;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
	position: relative;
	display: flex;
	align-items: center;
	transition: 0.3s;
}

@media screen and (max-width: 767px) {
	.sec-info__list .item__link {
		padding: 32px 32px 88px;
		flex-direction: column;
	}
}

.sec-info__list .item__link.no-link {
	pointer-events: none;
}

.sec-info__list .item__link.no-link .item__arrow {
	display: none;
}

.sec-info__list .item__link:hover {
	opacity: 1;
	background-color: #1a1a1a;
}

.sec-info__list .item__link:hover .item__ttl .en {
	color: #613e99;
}

.sec-info__list .item__link:hover .item__ttl .ja {
	transform: scale(1.1);
}

.sec-info__list .item__link:hover .item__arrow:before {
	transform: scale(1);
}

.sec-info__list .item__img {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.sec-info__list .item__img img {
	width: 280px;
	height: 280px;
	object-fit: cover;
	transition: transform 0.3s ease;
}

@media screen and (max-width: 767px) {
	.sec-info__list .item__img img {
		width: 100%;
		height: auto;
		aspect-ratio: 3/2;
	}
}

.sec-info__list .item__link:hover .item__img img {
	transform: scale(1.06) translateY(-4px);
}

.sec-info__list .item__ttl {
	padding: 0 0 16px;
	border-bottom: 1px solid #3e3e3e;
}

.sec-info__list .item__ttl .en {
	font-family: "Playfair Display", sans-serif;
	font-size: 36px;
	line-height: 1.19444em;
	letter-spacing: 0.04em;
	transition: 0.3s;
}

.sec-info__list .item__ttl .ja {
	margin: 4px 0 0;
	display: block;
	font-size: 18px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
	transition: transform 0.3s ease;
	transform-origin: left center;
}

@media screen and (max-width: 767px) {
	.sec-info__list .item__ttl .en {
		font-size: 30px;
	}

	.sec-info__list .item__ttl .ja {
		margin: 8px 0 0;
		font-size: 16px;
	}
}

.sec-info__list .item__text {
	width: calc(100% - 300px);
	margin: 0 0 0 56px;
}

@media screen and (max-width: 767px) {
	.sec-info__list .item__text {
		width: 100%;
		margin: 32px 0 0;
	}
}

.sec-info__list .item .text {
	margin: 16px 0 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #b3b3b3;
}

@media screen and (max-width: 767px) {
	.sec-info__list .item .text {
		font-size: 13px;
	}
}

.sec-info__list .item .list {
	margin: 24px 0 0;
}

.sec-info__list .item .list li {
	margin-bottom: 11px;
	padding-left: 20px;
	position: relative;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.52941em;
	letter-spacing: 0.06em;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
	.sec-info__list .item .list li {
		font-size: 16px;
	}
}

.sec-info__list .item .list li:last-child {
	margin-bottom: 0;
}

.sec-info__list .item .list li:before {
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	background-color: #613e99;
	position: absolute;
	content: "";
	top: 13px;
	left: 0;
}

.sec-info__list .item__arrow {
	margin-top: -20px;
	position: absolute;
	top: 50%;
	right: 40px;
	overflow: hidden;
	transform: rotate(90deg);
}

@media screen and (max-width: 767px) {
	.sec-info__list .item__arrow {
		margin: auto;
		top: auto;
		right: 0;
		bottom: 24px;
		left: 0;
	}
}

@media (max-width: 767px) {
	.sec-info__list .c-arrow {
		width: 40px;
		height: 40px;
	}
}

.sec-wash {
	padding: 152px 0 0;
}

.sec-glossy {
	padding: 152px 0 0;
}

.sec-glossy .p-price__table.mt01 {
	min-width: 967px;
}

.sec-other {
	padding: 152px 0 0;
}

.sec-other__ttl {
	font-size: 30px;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	letter-spacing: 0.18em;
}

.sec-other__sub {
	margin-top: 53px;
	text-align: center;
}

.sec-other__list {
	margin-top: 27px;
	margin-bottom: -15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.sec-other__list .item {
	width: calc((100% - 60px) / 3);
	margin-right: 30px;
	margin-bottom: 15px;
}

.sec-other__list .item:nth-child(3n) {
	margin-right: 0;
}

.sec-other__list .item:last-child {
	margin-right: 0;
}

.sec-other__list .item .c-link01 {
	width: 100%;
}

/*! CSS Used keyframes */
@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes slideTitle {
	0% {
		background-position: 1662px 0;
	}

	100% {
		background-position: 0 0;
	}
}

@keyframes slideTitle {
	0% {
		background-position: 780px 0;
	}

	100% {
		background-position: 0 0;
	}
}

@keyframes slideTitle {
	0% {
		background-position: 2064px 0;
	}

	100% {
		background-position: 0 0;
	}
}

@keyframes slideTitle {
	0% {
		background-position: 1247px 0;
	}

	100% {
		background-position: 0 0;
	}
}

.sec-achievements .p-price__table {
	background-color: #1d1d1d;
}

@media (max-width: 767px) {
	.sec-achievements .p-price__table {
		min-width: 776px;
	}
}

.sec-achievements .p-price__table th,
.sec-achievements .p-price__table td {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.46154em;
	vertical-align: middle;
	letter-spacing: 0.06em;
}

.sec-achievements .p-price__table thead .tb-row01 th {
	padding: 16px 20px;
	background-color: #1d1d1d;
}

@media (max-width: 767px) {
	.sec-achievements .p-price__table thead .tb-row01 th {
		padding-left: 15px;
		font-size: 12px;
		line-height: 1.58333em;
		text-align: left;
	}
}

.sec-achievements .p-price__table thead .tb-row01 th:first-child::before {
	display: none;
}

.sec-achievements .p-price__table thead .tb-row02 th {
	padding: 8px 10px 12px;
	border-right: 1px solid #464646;
	border-bottom: 1px solid #464646;
	background-color: #1d1d1d;
	font-family: "field-gothic-xwide", sans-serif;
	font-size: 12px;
	line-height: 1.66667em;
	letter-spacing: 0.02em;
}

.sec-achievements .p-price__table thead .tb-row02 th:last-child {
	border-right: none;
}

.sec-achievements .p-price__table thead .tb-row02 th .size {
	display: block;
	font-size: 14px;
}

.sec-achievements .p-price__table tbody tr td {
	width: 198px;
	padding: 18px 5px 19px;
	border-right: 1px solid #464646;
	border-bottom: 1px solid #464646;
	font-family: "field-gothic-xwide", sans-serif;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.sec-achievements .p-price__table tbody tr td {
		width: 260px;
	}
}

.sec-achievements .p-price__table tbody tr td:last-child {
	border-right: none;
}

.sec-achievements .p-price__table tbody tr td:first-child {
	width: 53px;
	border-right: none;
	background-color: #1d1d1d !important;
}

@media (max-width: 767px) {
	.sec-achievements .p-price__table tbody tr td:first-child {
		width: 45px;
	}
}

.sec-achievements .p-price__table tbody tr td.cell-left {
	width: auto;
	padding-left: 15px;
	border-right: 1px solid #464646;
	background-color: #1d1d1d !important;
	text-align: left;
}

@media (max-width: 767px) {
	.sec-achievements .p-price__table tbody tr td.cell-left {
		width: 45px;
		padding-left: 5px;
		left: 45px;
		text-align: center;
	}
}

.sec-achievements .p-price__table tbody .tb-row01 td:nth-child(2n + 1),
.sec-achievements .p-price__table tbody .tb-row02 td:nth-child(2n + 1) {
	background-color: #2f2f2f;
}

.sec-achievements .p-price__table tbody .tb-row01 td:nth-child(2n),
.sec-achievements .p-price__table tbody .tb-row02 td:nth-child(2n) {
	background-color: #272727;
}

.sec-achievements .p-price__table tbody .tb-row01 td:first-child,
.sec-achievements .p-price__table tbody .tb-row02 td:first-child {
	padding-left: 20px;
	font-family: "ibm-plex-sans-jp", sans-serif;
	text-align: left;
}

.sec-achievements .p-price__table tbody .tb-row03 td {
	padding: 18px 5px;
	font-family: "field-gothic-xwide", sans-serif;
}

.sec-achievements .p-price__table tbody .tb-row03 td:first-child span {
	display: inline-block;
	transform: rotate(90deg);
}

.sec-achievements .p-price__table tbody .tb-row03 td:nth-child(1),
.sec-achievements .p-price__table tbody .tb-row03 td:nth-child(2) {
	font-family: "ibm-plex-sans-jp", sans-serif;
}

.sec-achievements .p-price__table tbody .tb-row03 td:nth-child(2n) {
	background-color: #2f2f2f;
}

.sec-achievements .p-price__table tbody .tb-row03 td:nth-child(2n + 1) {
	background-color: #272727;
}

.sec-achievements .p-price__table tbody .tb-row03 td:first-child {
	width: 53px;
	border-right: none !important;
	border-bottom: none;
	font-size: 13px;
	line-height: 1.46154em;
	letter-spacing: 0.06em;
}

@media (max-width: 767px) {
	.sec-achievements .p-price__table tbody .tb-row03 td:first-child {
		width: 62px;
	}
}

.sec-achievements .p-price__table tbody .tb-row03 td:first-child:before {
	display: none;
}

.sec-achievements .p-price__table tbody .tb-row03 td:nth-child(2) {
	width: 150px;
}

.sec-achievements .p-price__table tbody .tb-row04 td {
	padding: 22px 5px;
	border-bottom: none;
	font-family: "field-gothic-xwide", sans-serif;
}

.sec-achievements .p-price__table tbody .tb-row04 td:nth-child(1) {
	width: 150px;
	font-family: "ibm-plex-sans-jp", sans-serif;
}

.sec-achievements .p-price__table tbody .tb-row04 td:nth-child(2n + 1) {
	background-color: #2f2f2f;
}

.sec-achievements .p-price__table tbody .tb-row04 td:nth-child(2n) {
	background-color: #272727;
}

.p-info__img {
	margin-top: 60px;
}

.p-info__img img {
	width: 1080px;
	height: 360px;
	object-fit: cover;
}

@media (max-width: 767px) {
	.p-info__img {
		margin-top: 46px;
	}

	.p-info__img img {
		aspect-ratio: 325 / 220;
	}
}

.p-info__sub {
	margin: 48px 0 0;
	line-height: 2.4;
	text-align: center;
}

@media (max-width: 767px) {
	.p-info__sub {
		margin: 32px 0 0;
		line-height: 2;
		text-align: left;
	}
}

.wrap-btn {
	margin: 40px 0 0;
	display: flex;
	justify-content: center;
}

.p-info {
	padding: 100px 0 0;
}

/*================================================================
# 会社情報
================================================================ */
.content__name {
	margin-top: 49px;
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

@media (max-width: 767px) {
	.content__name {
		display: block;
		text-align: right;
	}
}

.content__name::before {
	width: 100px;
	height: 1px;
	background-color: #3e3e3e;
	position: absolute;
	content: "";
	right: 0;
	left: 0;
	z-index: -1;
}

@media (max-width: 767px) {
	.content__name::before {
		display: none;
	}
}

.content__name span {
	display: inline-block;
}

.content__name .small {
	padding: 0 32px 0 29px;
	font-size: 13px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.07em;
}

@media (max-width: 767px) {
	.content__name .small {
		padding: 0;
		font-size: 15px;
		line-height: 2.13333em;
		letter-spacing: 0.15em;
	}
}

.content__name .big {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4em;
	letter-spacing: 0.07em;
}

@media (max-width: 767px) {
	.content__name .big {
		margin: 24px 0 0;
		font-size: 20px;
		line-height: 1.6em;
		letter-spacing: 0.15em;
	}
}

.content__name .big small {
	font-size: 12px;
}

.sec-company {
	padding: 100px 0 0;
}

.sec-company__img {
	width: 100%;
	max-width: calc(100% - 160px);
	margin: 0 auto;
}

@media only screen and (max-width: 1280px) {
	.sec-company__img {
		max-width: 1120px;
	}
}

@media (max-width: 767px) {
	.sec-company__img {
		max-width: 100%;
	}
}

.sec-company__img img {
	width: 100%;
}

.sec-company__row {
	margin: 100px 11px 0 20px;
}

@media (min-width: 768px) {
	.sec-company__row {
		display: flex;
		flex-direction: row-reverse;
	}
}

@media (max-width: 767px) {
	.sec-company__row {
		margin: 38px 0 0;
	}
}

.sec-company__row .ttl01 {
	width: 100px;
	margin-bottom: 16px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	font-family: "Playfair Display", sans-serif;
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: 0.05em;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.sec-company__row .ttl01 {
		width: 100%;
		margin: auto;
		text-align: center;
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
	}

	.sec-company__row .ttl01 .en {
		width: 100%;
		margin: auto;
		text-align: center;
	}
}

.sec-company__row .ttl01 .ja {
	margin-right: 14px;
	margin-left: 0;
	display: inline-block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #b3b3b3;
	letter-spacing: 0.56em;
}

@media (max-width: 767px) {
	.sec-company__row .ttl01 .ja {
		width: 100%;
		margin: 16px 0 0;
		text-align: center;
		letter-spacing: 0.25em;
	}
}

.sec-company__row .info {
	width: calc(100% - 100px - 70px);
	margin-right: 70px;
}

@media (min-width: 768px) {
	.sec-company__row .info {
		display: flex;
		flex-wrap: wrap;
	}
}

@media (max-width: 767px) {
	.sec-company__row .info {
		width: 100%;
		margin-top: 36px;
		margin-right: 0;
	}
}

.sec-company__row .info dt,
.sec-company__row .info dd {
	margin-bottom: 5px;
	padding: 22px 50px 17px 0;
	background-color: #272727;
	box-sizing: border-box;
}

@media (max-width: 767px) {

	.sec-company__row .info dt,
	.sec-company__row .info dd {
		padding: 20px 22px 10px;
	}
}

.sec-company__row .info dt {
	width: 230px;
	padding-left: 50px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.52941em;
	letter-spacing: 0.06em;
}

@media only screen and (max-width: 1023px) {
	.sec-company__row .info dt {
		width: 180px;
		padding-left: 25px;
	}
}

@media (max-width: 767px) {
	.sec-company__row .info dt {
		width: 100%;
		margin-bottom: 0;
		padding-left: 22px;
		position: relative;
		font-size: 14px;
		line-height: 1.73333em;
	}

	.sec-company__row .info dt:before {
		height: 1px;
		background-color: #414141;
		position: absolute;
		content: "";
		right: 22px;
		bottom: 0;
		left: 22px;
	}
}

.sec-company__row .info dd {
	width: calc(100% - 230px);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.73333em;
	letter-spacing: 0.06em;
}

@media only screen and (max-width: 1023px) {
	.sec-company__row .info dd {
		width: calc(100% - 180px);
	}
}

@media (max-width: 767px) {
	.sec-company__row .info dd {
		width: 100%;
		margin-bottom: 10px;
		padding-top: 10px;
		padding-bottom: 24px;
		font-size: 14px;
	}
}

.sec-company__row .info dd strong {
	font-size: 16px;
}

@media (max-width: 767px) {
	.sec-company__row .info dd strong {
		font-size: 14px;
	}
}

.sec-company__row .info dd .block:nth-child(2) {
	margin: 24px 0 0;
}

.sec-company__row .info dd ul li {
	padding-left: 20px;
	position: relative;
	font-size: 14px;
	font-weight: 400;
	line-height: 2em;
	letter-spacing: 0.06em;
}

@media (max-width: 767px) {
	.sec-company__row .info dd ul li {
		font-size: 15px;
		font-weight: 400;
		line-height: 1.73333em;
		letter-spacing: 0.06em;
	}
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
	.sec-company__row .info dd ul li {
		font-size: 14px;
	}
}

.sec-company__row .info dd ul li:before {
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	background-color: #613e99;
	position: absolute;
	content: "";
	top: 14px;
	left: 0;
}

@media (max-width: 767px) {
	.sec-company__row .info dd ul li:before {
		width: 8px;
		height: 8px;
		left: 3px;
	}
}

/*------------------------

gmap

------------------------*/
.gmap {
	max-width: 1120px;
	height: 0;
	margin: auto;
	padding-bottom: 32%;
	position: relative;
	overflow: hidden;
}

.gmap iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/*================================================================
# お知らせ
================================================================ */
.sec-news {
	margin: 0;
	padding: 80px 0 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media (max-width: 767px) {
	.sec-news {
		padding: 160px 0 0;
	}
}

@media screen and (max-width: 767px) {
	.c-ttl02__ja {
		font-size: 20px;
		letter-spacing: 0.25em;
	}
}

.sec-news .title-en {
	width: 100vw;
	height: 200px;
	position: absolute;
	top: 64px;
	left: 0;
	overflow: hidden;
	z-index: 0;
}

.sec-news .title-en .text {
	animation: marquee 25s linear infinite;
}

@media (min-width: 768px) {
	.sec-news .label-news {
		width: 100%;
		margin: 37px 0 0 auto;
		display: flex;
		font-family: "Playfair Display", sans-serif;
		font-size: 15px;
		line-height: 1.66667;
		color: rgba(255, 255, 255, 0.3);
		letter-spacing: 0.04em;
	}
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-news .label-news {
		font-size: 13px;
		line-height: 1.76923;
	}
}

.sec-news .label-news__day {
	width: 152px;
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-news .label-news__day {
		width: 130px;
	}
}

.sec-news .label-news__cate {
	width: 160px;
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-news .label-news__cate {
		width: 130px;
	}
}

.sec-news .label-news__ttl {
	width: calc(100% - 312px);
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-news .label-news__ttl {
		width: calc(100% - 260px);
	}
}

.sec-news .lst-news {
	margin: 40px 0 0;
	position: relative;
	z-index: 1;
}

@media (max-width: 767px) {
	.sec-news .lst-news {
		margin: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.5);
	}
}

@media (min-width: 768px) {
	.sec-news .lst-news>li:not(:first-child) {
		margin-top: 20px;
	}
}

@media (max-width: 767px) {
	.sec-news .lst-news>li {
		border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	}
}

.sec-news .lst-news .item {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

@media (max-width: 767px) {
	.sec-news .lst-news .item {
		padding: 40px 0 36px;
	}
}

.sec-news .lst-news .item__img {
	overflow: hidden;
}

@media (min-width: 768px) {
	.sec-news .lst-news .item__img {
		width: 240px;
		height: 160px;
	}
}

@media (max-width: 767px) {
	.sec-news .lst-news .item__img {
		width: calc(50% - 13px);
		position: relative;
	}

	.sec-news .lst-news .item__img:before {
		width: 100%;
		padding-top: 66.66667%;
		content: " ";
		display: block;
	}

	.sec-news .lst-news .item__img>.content {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}
}

.sec-news .lst-news .item__img img {
	will-change: opacity, transform;
	transition: opacity 0.5s, transform 0.5s;
}

.sec-news .lst-news .item__dt {
	display: flex;
	align-items: flex-start;
}

@media (min-width: 768px) {
	.sec-news .lst-news .item__dt {
		width: 100%;
		padding: 38px 0 20px;
		border-top: 1px solid rgba(255, 255, 255, 0.5);
		position: relative;
	}
}

@media (max-width: 767px) {
	.sec-news .lst-news .item__dt {
		flex-wrap: wrap;
	}
}

.sec-news .lst-news .item__dt:before {
	width: 0;
	height: 1px;
	background-color: #613e99;
	position: absolute;
	content: "";
	top: -1px;
	left: 0;
	will-change: width;
	transition: width 0.5s;
}

.sec-news .date {
	margin-top: 3px;
	font-size: 15px;
	line-height: 1.66667;
	letter-spacing: 0.04em;
}

@media (min-width: 768px) {
	.sec-news .date {
		width: 152px;
		will-change: color;
		transition: color 0.5s;
	}
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-news .date {
		width: 130px;
		margin-top: 4px;
		font-size: 13px;
		line-height: 1.76923;
	}
}

@media (max-width: 767px) {
	.sec-news .date {
		min-width: 80px;
		margin: 0;
		font-size: 12px;
		line-height: 2;
	}
}

.sec-news .cate {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

@media (min-width: 768px) {
	.sec-news .cate {
		width: 160px;
		margin-top: 2px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-news .cate {
		width: 130px;
	}
}

@media (max-width: 767px) {
	.sec-news .cate {
		margin-top: 1px;
		margin-right: -4px;
	}
}

.sec-news .cate span {
	min-width: 100px;
	margin: 0 4px 4px 0;
	padding: 3px 5px 4px;
	border-radius: 100px;
	background-color: #613e99;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
}

@media (max-width: 767px) {
	.sec-news .cate span {
		min-width: 80px;
		font-size: 10px;
		line-height: 1.5;
	}
}

.sec-news .lst-news .item__dt .ttl {
	width: calc(100% - 312px);
	font-size: 18px;
	line-height: 1.66667;
	letter-spacing: 0.06em;
	will-change: color;
	transition: color 0.5s;
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-news .lst-news .item__dt .ttl {
		width: calc(100% - 260px);
	}
}

@media (max-width: 767px) {
	.sec-news .lst-news .item__dt .ttl {
		width: 100%;
		margin-top: 7px;
		font-size: 14px;
		line-height: 1.71429;
		letter-spacing: 0.04em;
	}
}

.sec-news .lst-news .item__dt .ttl p {
	width: 100%;
	display: -webkit-box;
	overflow: hidden;
	white-space: normal;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

@media only screen and (min-width: 1025px) {
	.sec-news .lst-news .item:hover {
		opacity: 1;
	}

	.sec-news .lst-news .item:hover .item__img img {
		transform: scale(1.12);
	}

	.sec-news .lst-news .item:hover .item__dt:before {
		width: 100%;
	}

	.sec-news .lst-news .item:hover .item__dt .date,
	.sec-news .lst-news .item:hover .item__dt .ttl {
		color: #613e99;
	}
}

.sec-news .view-all {
	margin: 40px 0 0 40px;
}

@media (max-width: 767px) {
	.sec-news .view-all {
		margin: 40px auto 0;
	}
}

.sec-news .btn-area {
	display: flex;
	justify-content: flex-end;
}

/* 詳細
------------------------------------------------------ */
.sec-news .heading {
	display: flex;
	align-items: center;
}

.sec-news .detail-date {
	margin: 0 24px 0 0;
}

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

	.sec-news .detail-date {
		font-size: 12px;
	}
}

.sec-news .detail-title {
	margin: 24px 0 0;
	font-size: 32px;
}

@media screen and (max-width: 797px) {
	.sec-news .detail-title {
		font-size: 24px;
	}
}

.sec-news .detail-text {
	margin: 48px 0 0;
}

@media screen and (max-width: 797px) {
	.sec-news .detail-text {
		margin: 40px 0 0;
		font-size: 14px;
	}

}

/*================================================================
# 人材募集
================================================================ */
.recruitment-card {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

@media screen and (max-width: 767px) {
	.recruitment-card {
		margin: 100px 0 0;
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}
}

.recruitment-card .card a {
	height: 100%;
	padding: 50px;
	cursor: pointer;
	background-color: #272727;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
	position: relative;
	display: flex;
	flex-direction: column;
	transition: 0.3s;
}

@media screen and (max-width: 767px) {
	.recruitment-card .card a {
		padding: 32px;
	}
}

.recruitment-card .card a:hover {
	opacity: 1;
	background-color: #1a1a1a;
}

.recruitment-card .box_card01_tit {
	display: -webkit-box;
	overflow: hidden;
	font-size: 20px;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.recruitment-card .box_card01_txt {
	margin: 24px 0 0;
	display: -webkit-box;
	overflow: hidden;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #b3b3b3;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

@media screen and (max-width: 767px) {
	.recruitment-card .box_card01_tit {
		font-size: 18px;
	}
}

.recruitment-card .c-link01 {
	width: 100%;
	margin: auto 0 0;
	padding: 20px 0;
	cursor: pointer;
	position: relative;
	display: block;
	overflow: hidden;
}

.recruitment-card .c-link01:before,
.recruitment-card .c-link01:after {
	width: 150%;
	height: 2px;
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	will-change: transform;
	transition: transform 0.5s linear;
}

.recruitment-card .c-link01:before {
	background-color: #3e3e3e;
}

.recruitment-card .c-link01:after {
	background-color: #613e99;
	transform: translateX(-150%);
}

.recruitment-card .c-link01 span {
	position: relative;
	display: block;
	font-size: 16px;
	line-height: 1.75;
	white-space: nowrap;
	letter-spacing: 0.1em;
	will-change: color;
	transition: color 0.5s;
}

.recruitment-card .c-link01 span:before {
	width: 0;
	height: 0;
	margin-top: -6px;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid #613e99;
	position: absolute;
	content: "";
	top: 50%;
	right: 8px;
	will-change: opacity;
	transition: opacity 0.5s;
}

@media only screen and (min-width: 1025px) {
	.recruitment-card a:hover .c-link01 {
		opacity: 1;
	}

	.recruitment-card a:hover .c-link01:before {
		transform: translateX(150%);
	}

	.recruitment-card a:hover .c-link01:after {
		transform: translateX(0);
	}
}

.sec-recruitment .headline01 {
	margin: 100px 0 0;
	padding: 0 0 40px;
	border-bottom: 1px solid #3e3e3e;
	font-size: 32px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.sec-recruitment .headline01 {
		margin: 100px 0 0;
		padding: 0 0 24px;
		font-size: 24px;
	}
}

.sec-recruitment .box_job01 {
	margin: 80px 0 0;
	line-height: 2;
}

@media screen and (max-width: 767px) {
	.sec-recruitment .box_job01 {
		margin: 40px 0 0;
	}
}

.sec-recruitment .box_job01 img {
	width: 30%;
	margin: 0 0 20px 20px;
	display: block;
	float: right;
	clear: both;
}

@media screen and (max-width: 767px) {
	.sec-recruitment .box_job01 img {
		width: 100%;
		margin: 0 0 20px;
		float: none;
	}
}

.sec-recruitment .table-wrap {
	width: 90%;
	margin: 40px auto 0;
}

@media screen and (max-width: 767px) {
	.sec-recruitment .table-wrap {
		width: 100%;
	}
}

.sec-recruitment .table-wrap .company-table {
	width: 100%;
}

.sec-recruitment .table-wrap .company-table tr+tr {
	border-top: 4px solid #1a1a1a;
}

.sec-recruitment .table-wrap .company-table tr th,
.sec-recruitment .table-wrap .company-table tr td {
	padding: 20px 0;
}

.sec-recruitment .table-wrap .company-table tr th {
	width: 240px;
	margin-bottom: 5px;
	padding: 22px 40px 24px;
	background-color: #272727;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.52941em;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.06em;
	box-sizing: border-box;
}

.sec-recruitment .table-wrap .company-table tr td {
	width: calc(100% - 240px);
	margin-bottom: 5px;
	padding: 22px 40px 24px 0;
	background-color: #272727;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.73333em;
	letter-spacing: 0.06em;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
	.sec-recruitment .table-wrap .company-table tr {
		display: flex;
		flex-direction: column;
	}

	.sec-recruitment .table-wrap .company-table tr th {
		width: 100%;
		margin-bottom: 0;
		padding: 20px 22px 10px;
		position: relative;
		font-size: 14px;
		line-height: 1.73333em;
	}

	.sec-recruitment .table-wrap .company-table tr th:before {
		height: 1px;
		background-color: #414141;
		position: absolute;
		content: "";
		right: 22px;
		bottom: 0;
		left: 22px;
	}

	.sec-recruitment .table-wrap .company-table tr td {
		width: 100%;
		margin-bottom: 10px;
		padding: 10px 22px 20px;
		font-size: 14px;
	}
}

.sec-recruitment .table-wrap .company-table .unit+.unit {
	margin-top: 16px;
}

.sec-recruitment .table-wrap .company-table .unit .name {
	font-weight: 700;
}

.sec-recruitment .btn-wrap {
	width: 400px;
	margin: 40px auto 0;
}

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

	.sec-recruitment .btn-wrap {
		width: 100%;
	}

}

.sec-recruitment .btn-wrap .btn {
	width: 100%;
	height: 70px;
	padding: 0 0 4px;
	border: 0;
	border-radius: 35px;
	background: #613e99;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: 400;
	color: #fff;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	transition: all 0.3s ease;
}

.sec-recruitment .btn-wrap .btn:hover {
	cursor: pointer;
	border: 0;
	background-color: #3d2c59;
}

/*================================================================
# お問い合わせ
================================================================ */
.sec-mailform {
	padding: 80px 0 0;
}

@media screen and (max-width: 797px) {
	.sec-mailform {
		padding: 160px 0 0;
	}
}

.sec-mailform .errMsg {
	margin-left: 1em;
	padding-bottom: 1px;
	display: block;
	line-height: 1.4;
	text-indent: -0.9em;
}

.sec-mailform .formError {
	padding-bottom: 13px;
	display: block;
	z-index: 10;
}

.sec-mailform .fixed {
	padding-bottom: 0px;
}

.sec-mailform .formError .formErrorClose {
	width: 16px;
	height: 16px;
	cursor: pointer;
	border: solid #252525 2px;
	border-radius: 9px 9px 9px 9px;
	background: #333;
	box-shadow: 1px -1px 3px #888;
	position: absolute;
	top: -4px;
	right: -4px;
	display: block;
	font-weight: bold;
	color: #efefef;
	text-align: center;
	z-index: 2;
}

.sec-mailform .formError .formErrorClose:hover {
	background: #666;
}

.sec-mailform .fixed .formErrorClose {
	display: none;
}

.sec-mailform .formError .formErrorContent {
	min-width: 150px;
	margin: 0 0;
	padding: 10px 10px;
	border-radius: 3px;
	background: #252525;
	box-shadow: 0px 0px 6px #888;
	position: relative;
	font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, "ヒラギノ丸ゴ Pro W4", HiraMaruPro-W4, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, sans-serif;
	font-size: 11px;
	line-height: 18px;
	color: #fff;
	z-index: 1;
}

.sec-mailform .fixed .formErrorContent {
	margin: 0 0 30px 0;
	background: #f60;
	box-shadow: none;
}

.sec-mailform .fadeOut {
	opacity: 0.2;
}

.sec-mailform .hid_url {
	display: none;
}

@media (min-width: 768px) {
	.sec-mailform .l-form {
		margin: 80px 0 0;
	}
}

@media (min-width: 768px) {
	.sec-mailform .l-form .step-form {
		width: 150px;
		padding-left: 3px;
		position: sticky;
		top: 120px;
	}
}

@media (max-width: 767px) {
	.sec-mailform .l-form .step-form {
		margin-bottom: 69px;
		text-align: center;
	}
}

@media (min-width: 768px) {
	.sec-mailform .l-form .inner-form {
		width: calc(100% - 180px);
		max-width: 840px;
		margin: 0 0 0 auto;
	}
}

.sec-mailform .l-form .table-form {
	margin-top: 3px;
	border-top: 1px solid #3e3e3e;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form {
		margin: 40px 0 0;
	}

	.sec-mailform .l-form .table-form tr {
		width: 100%;
		padding: 35px 0 40px;
		border-bottom: 1px solid #3e3e3e;
		display: block;
	}
}

.sec-mailform .l-form .table-form th,
.sec-mailform .l-form .table-form td {
	text-align: left;
}

@media (min-width: 768px) {

	.sec-mailform .l-form .table-form th,
	.sec-mailform .l-form .table-form td {
		border-bottom: 1px solid #3e3e3e;
		text-align: left;
		vertical-align: middle;
	}
}

.sec-mailform .l-form .table-form th {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.52941em;
	letter-spacing: 0.06em;
}

@media (min-width: 768px) {
	.sec-mailform .l-form .table-form th {
		width: 220px;
		padding: 20px 0 41px 10px;
	}
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form th {
		width: 100%;
		margin-bottom: 19px;
		display: flex;
		flex-wrap: wrap;
		font-size: 15px;
		line-height: 1.73333em;
	}
}

.sec-mailform .required,
.sec-mailform .optional {
	margin-bottom: 1px;
	font-size: 12px;
	line-height: 1.83333em;
}

@media (max-width: 767px) {

	.sec-mailform .required,
	.sec-mailform .optional {
		margin: 1px 7px 0 0;
		font-size: 13px;
		line-height: 1.76923em;
	}
}

.sec-mailform .l-form .required {
	color: #e34040;
}

.sec-mailform .optional {
	color: #c4c4c4;
}

.sec-mailform .th-note {
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.83333em;
	letter-spacing: 0.06em;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form th .th-note {
		margin: 1px -15px 0 9px;
	}
}

.sec-mailform .l-form .table-form td {
	position: relative;
}

@media (min-width: 768px) {
	.sec-mailform .l-form .table-form td {
		width: calc(100% - 220px);
		padding: 40px 10px 40px 0;
	}
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form td {
		width: 100%;
		display: block;
	}
}

@media (min-width: 768px) {
	.sec-mailform .l-form .table-form .tr-how-contact th {
		padding-top: 35px;
		padding-bottom: 35px;
	}
}

.sec-mailform .l-form .table-form input[type="text"],
.sec-mailform .l-form .table-form input[type="tel"],
.sec-mailform .l-form .table-form input[type="email"],
.sec-mailform .l-form .table-form input[type="number"],
.sec-mailform .l-form .table-form input[type="url"],
.sec-mailform .l-form .table-form textarea {
	width: 100%;
	height: 67px;
	padding: 10px 25px;
	border: none;
	background: none;
	background-color: #383838;
	box-shadow: none;
	font-size: 17px;
	line-height: 1.52941em;
	color: #fff;
	letter-spacing: 0.06em;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
}

.sec-mailform .l-form .table-form input[type="text"]::placeholder,
.sec-mailform .l-form .table-form input[type="tel"]::placeholder,
.sec-mailform .l-form .table-form input[type="email"]::placeholder,
.sec-mailform .l-form .table-form input[type="number"]::placeholder,
.sec-mailform .l-form .table-form input[type="url"]::placeholder,
.sec-mailform .l-form .table-form textarea::placeholder {
	opacity: 1;
	color: #6a6a6a;
}

.sec-mailform .l-form .table-form input[type="text"]::-ms-input-placeholder,
.sec-mailform .l-form .table-form input[type="tel"]::-ms-input-placeholder,
.sec-mailform .l-form .table-form input[type="email"]::-ms-input-placeholder,
.sec-mailform .l-form .table-form input[type="number"]::-ms-input-placeholder,
.sec-mailform .l-form .table-form input[type="url"]::-ms-input-placeholder,
.sec-mailform .l-form .table-form textarea::-ms-input-placeholder {
	color: #6a6a6a;
}

.sec-mailform .l-form .table-form input[type="text"]:-webkit-autofill,
.sec-mailform .l-form .table-form input[type="tel"]:-webkit-autofill,
.sec-mailform .l-form .table-form input[type="email"]:-webkit-autofill,
.sec-mailform .l-form .table-form input[type="number"]:-webkit-autofill,
.sec-mailform .l-form .table-form input[type="url"]:-webkit-autofill,
.sec-mailform .l-form .table-form textarea:-webkit-autofill {
	border: 5px solid #383838;
	background: #383838 !important;
	box-shadow: 0 0 0 50px #383838 inset !important;
	-webkit-text-fill-color: #fff !important;
}

.sec-mailform .l-form .table-form textarea {
	padding: 18px 25px;
}

.sec-mailform .l-form .table-form .radio {
	position: relative;
	display: inline-block;
}

.sec-mailform .l-form .table-form .radio input {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.sec-mailform .l-form .table-form .radio input:checked~span:before {
	border-color: #b11f1f;
	background-color: transparent;
}

.sec-mailform .l-form .table-form .radio input:checked~span:after {
	opacity: 1;
}

.sec-mailform .l-form .table-form .radio span {
	padding: 5px 10px 5px 43px;
	position: relative;
	display: block;
	font-size: 15px;
	line-height: 1.6em;
	letter-spacing: 0.06em;
}

.sec-mailform .l-form .table-form .radio span:before,
.sec-mailform .l-form .table-form .radio span:after {
	position: absolute;
	content: "";
}

.sec-mailform .l-form .table-form .radio span:before {
	width: 30px;
	height: 30px;
	border: 1px solid #383838;
	border-radius: 100%;
	background-color: #383838;
	top: 0;
	left: 0;
}

.sec-mailform .l-form .table-form .radio span:after {
	width: 10px;
	height: 10px;
	opacity: 0;
	border-radius: 100%;
	background-color: #b11f1f;
	top: 10px;
	left: 10px;
}

.sec-mailform .l-form .table-form .lst-radio {
	margin-bottom: -4px;
	display: flex;
	flex-wrap: wrap;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form .lst-radio {
		margin: 23px 0 -3px;
	}
}

.sec-mailform .l-form .table-form .lst-radio li {
	width: 50%;
	margin-top: 18px;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form .lst-radio li {
		margin-top: 11px;
	}
}

.sec-mailform .l-form .table-form .lst-radio li:nth-child(1),
.sec-mailform .l-form .table-form .lst-radio li:nth-child(2) {
	margin-top: 0;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form .lst-radio--sp01 {
		display: block;
	}

	.sec-mailform .l-form .table-form .lst-radio--sp01 li {
		width: 100%;
	}

	.sec-mailform .l-form .table-form .lst-radio--sp01 li:nth-child(2) {
		margin-top: 11px;
	}
}

.sec-mailform .l-form .table-form .checkbox {
	position: relative;
	display: inline-block;
}

.sec-mailform .l-form .table-form .checkbox input {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.sec-mailform .l-form .table-form .checkbox input:checked~span:before {
	border-color: #b11f1f;
	background-color: transparent;
}

.sec-mailform .l-form .table-form .checkbox input:checked~span:after {
	opacity: 1;
}

.sec-mailform .l-form .table-form .checkbox span {
	padding: 5px 10px 5px 43px;
	position: relative;
	display: block;
	font-size: 15px;
	line-height: 1.6em;
	letter-spacing: 0.06em;
}

.sec-mailform .l-form .table-form .checkbox span:before,
.sec-mailform .l-form .table-form .checkbox span:after {
	width: 30px;
	height: 30px;
	border-radius: 5px;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
}

.sec-mailform .l-form .table-form .checkbox span:before {
	border: 1px solid #383838;
	background-color: #383838;
}

.sec-mailform .l-form .table-form .checkbox span:after {
	opacity: 0;
	background-image: url(../../img/common/icon/check.svg);
	background-repeat: no-repeat;
	background-position: center;
}

.sec-mailform .l-form .table-form .lst-checkbox {
	margin-bottom: -4px;
	display: flex;
	flex-wrap: wrap;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .table-form .lst-checkbox {
		margin: 23px 0 -1px;
	}
}

.sec-mailform .l-form .table-form .lst-checkbox li {
	width: 50%;
	margin-top: 18px;
}

.sec-mailform .l-form .table-form .lst-checkbox li:nth-child(1),
.sec-mailform .l-form .table-form .lst-checkbox li:nth-child(2) {
	margin-top: 0;
}

.sec-mailform .l-form .table-form .dateinput {
	display: flex;
	align-items: center;
}

.sec-mailform .l-form .table-form .dateinput:not(:first-child) {
	margin-top: 22px;
}

.sec-mailform .l-form .table-form .dateinput__ttl {
	width: 84px;
	font-size: 15px;
	line-height: 1.66667em;
	letter-spacing: 0.06em;
}

.sec-mailform .l-form .table-form .dateinput__calendar {
	width: calc(100% - 84px);
	position: relative;
}

.sec-mailform .l-form .table-form .dateinput__calendar .datepicker {
	cursor: pointer;
	position: relative;
	z-index: 2;
}

.sec-mailform .l-form .table-form .dateinput__calendar .date_hidden {
	opacity: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.sec-mailform .l-form .btn-form {
	width: 340px;
	height: 60px;
	margin: 69px auto 0;
	padding: 0 42px 0 0;
	cursor: pointer;
	border: none;
	border-radius: 0;
	background: none;
	box-shadow: none;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	line-height: 1.55556em;
	letter-spacing: 0.25em;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .btn-form {
		width: 100%;
		max-width: 325px;
		margin-top: 49px;
		padding-right: 54px;
	}
}

@media only screen and (max-width: 767px) and (max-width: 360px) {
	.sec-mailform .l-form .btn-form {
		font-size: 17px;
		line-height: 1.58824em;
	}
}

.sec-mailform .l-form .btn-form span {
	color: #fff;
	will-change: color;
	transition: color 0.5s;
}

.sec-mailform .l-form .btn-form>i {
	width: 38px;
	height: 38px;
	margin-top: -19px;
	position: absolute;
	top: 50%;
	right: 14px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media (max-width: 767px) {
	.sec-mailform .l-form .btn-form>i {
		right: 12px;
	}
}

.sec-mailform .l-form .btn-form>i:before {
	width: 100%;
	height: 100%;
	border-radius: 100%;
	background-color: #b11f1f;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	will-change: transform;
	transition: transform 0.5s;
}

.sec-mailform .l-form .btn-form>i>i {
	width: 10px;
	height: 12px;
	margin-left: 2px;
	position: relative;
}

.sec-mailform .l-form .btn-form>i>i:before,
.sec-mailform .l-form .btn-form>i>i:after {
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid #fff;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	will-change: opacity, transform;
	transition: opacity 0.5s, transform 0.5s;
}

.sec-mailform .l-form .btn-form>i>i:after {
	opacity: 0;
	transform: translateX(-28px);
}

@media only screen and (min-width: 1025px) {
	.sec-mailform .l-form .btn-form:hover {
		opacity: 1;
	}

	.sec-mailform .l-form .btn-form:hover span {
		color: #b11f1f;
	}

	.sec-mailform .l-form .btn-form:hover>i:before {
		transform: scale(1.25);
	}

	.sec-mailform .l-form .btn-form:hover>i>i:before {
		opacity: 0;
		transform: translateX(28px);
	}

	.sec-mailform .l-form .btn-form:hover>i>i:after {
		opacity: 1;
		transform: translateX(0);
	}
}

@media (min-width: 768px) {
	.sec-mailform .p-ttl01 {
		display: flex;
		align-items: flex-end;
	}
}

.sec-mailform .p-ttl01__en {
	font-family: "Playfair Display", sans-serif;
	font-size: 50px;
	line-height: 1.38889em;
	letter-spacing: 0.04em;
}

@media (min-width: 768px) {
	.sec-mailform .p-ttl01__en {
		margin-right: 22px;
	}
}

@media (max-width: 767px) {
	.sec-mailform .p-ttl01__en {
		display: block;
		font-size: 30px;
		line-height: 1.4em;
	}
}

.sec-mailform .p-ttl01__ja {
	font-size: 14px;
	line-height: 1.71429em;
	letter-spacing: 0.25em;
}

@media (min-width: 768px) {
	.sec-mailform .p-ttl01__ja {
		margin-bottom: 6px;
	}
}

@media (max-width: 767px) {
	.sec-mailform .p-ttl01__ja {
		margin-top: 5px;
		display: block;
	}
}

.sec-mailform .sec-mailform {
	padding: 140px 0 39px;
}

@media (max-width: 767px) {
	.sec-mailform .sec-mailform {
		padding: 121px 0 38px;
	}
}

.sec-mailform .sec-mailform .txt-mailform {
	margin: 39px 0 90px;
}

@media (max-width: 767px) {
	.sec-mailform .sec-mailform .txt-mailform {
		margin-bottom: 62px;
	}

	.sec-mailform .sec-mailform .txt-mailform p+p {
		margin-top: 12px;
	}
}

.sec-mailform .sec-tel {
	padding: 70px 0 6px;
}

@media (max-width: 767px) {
	.sec-mailform .sec-tel {
		padding: 50px 0 0;
	}
}

@media (min-width: 768px) {
	.sec-mailform .sec-tel .p-ttl01__en {
		margin-right: 22px;
	}
}

@media (min-width: 768px) {
	.sec-mailform .sec-tel .p-ttl01__ja {
		margin-bottom: 12px;
	}
}

@media (min-width: 768px) {
	.sec-mailform .sec-tel .inner-tel {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

.sec-mailform .sec-tel .inner-tel .txt {
	margin-top: 39px;
}

@media (min-width: 768px) {
	.sec-mailform .sec-tel .info-tel {
		width: 330px;
		margin-top: 6px;
	}
}

.sec-mailform .sec-tel .telbox {
	cursor: pointer;
	background-color: #272727;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "field-gothic-xwide", sans-serif;
	font-size: 40px;
	line-height: 1.6em;
	letter-spacing: 0.1em;
}

@media (min-width: 768px) {
	.sec-mailform .sec-tel .telbox {
		width: calc(100% - 340px);
		max-width: 680px;
		height: 200px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
	.sec-mailform .sec-tel .telbox {
		font-size: 30px;
		line-height: 2.13333em;
	}
}

@media (max-width: 767px) {
	.sec-mailform .sec-tel .telbox {
		height: 127px;
		margin-top: 33px;
		font-size: 22px;
		line-height: 1.81818em;
	}
}

.sec-mailform .sec-tel .telbox span {
	padding-bottom: 6px;
	padding-left: 55px;
	position: relative;
	will-change: color;
	transition: color 0.5s;
}

@media (max-width: 767px) {
	.sec-mailform .sec-tel .telbox span {
		padding-bottom: 0;
		padding-left: 27px;
	}
}

.sec-mailform .sec-tel .telbox span:before,
.sec-mailform .sec-tel .telbox span:after {
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	content: "";
	top: 19px;
	left: 4px;
	will-change: opacity;
	transition: opacity 0.5s;
}

@media (max-width: 767px) {

	.sec-mailform .sec-tel .telbox span:before,
	.sec-mailform .sec-tel .telbox span:after {
		width: 16px;
		height: 16px;
		background-size: cover;
		top: 13px;
		left: 2px;
	}
}

.sec-mailform .sec-tel .telbox span:before {
	background-image: url(../../img/common/icon/tel02_white.svg);
}

.sec-mailform .sec-tel .telbox span:after {
	opacity: 0;
	background-image: url(../../img/common/icon/tel02_red.svg);
}

@media only screen and (min-width: 1025px) {
	.sec-mailform .sec-tel .telbox:hover {
		opacity: 1;
	}

	.sec-mailform .sec-tel .telbox:hover span {
		color: #b11f1f;
	}

	.sec-mailform .sec-tel .telbox:hover span:before {
		opacity: 0;
	}

	.sec-mailform .sec-tel .telbox:hover span:after {
		opacity: 1;
	}
}

@media (max-width: 767px) {
	.sec-mailform .form-confirm .l-form .table-form tr {
		padding: 25px 0;
	}
}

@media (min-width: 768px) {

	.sec-mailform .form-confirm .l-form .table-form th,
	.sec-mailform .form-confirm .l-form .table-form td {
		padding-top: 25px;
		padding-bottom: 25px;
	}
}

@media (max-width: 767px) {
	.sec-mailform .form-confirm .l-form .table-form th {
		margin-bottom: 10px;
	}
}

.sec-mailform .form-confirm .l-form .table-form td p {
	font-size: 15px;
	line-height: 1.73333em;
	letter-spacing: 0.06em;
}

.sec-mailform .form-confirm .l-form .back-form {
	margin-top: 40px;
	text-align: right;
	text-decoration: underline;
}

.sec-mailform .form-confirm .l-form .back-form span {
	padding: 10px 0;
}

.sec-mailform .form-confirm [rel="js-back"] {
	cursor: pointer;
}

@media (min-width: 768px) {
	.sec-mailform .form-thanks .c-breadcrumb {
		margin-top: 98px;
	}
}

@media (max-width: 767px) {
	.sec-mailform .form-thanks .c-breadcrumb {
		margin-top: 48px;
	}
}

@media (min-width: 768px) {
	.sec-mailform .form-thanks .l-form .step-form {
		padding-top: 9px;
		position: static;
	}
}

.sec-mailform .form-thanks .l-form .btn-form {
	width: 188px;
	margin: 42px 0 0 0;
	padding-right: 0;
	justify-content: flex-start;
}

.sec-mailform .form-thanks .l-form .btn-form>i {
	right: 0;
}

.sec-mailform .form-thanks .sec-mailform .txt-mailform {
	margin-bottom: 0;
}

.sec-mailform .txt-mailform {
	margin: 40px 0 0;
}

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

	.sec-mailform .txt-mailform {
		font-size: 14px;
	}
}

.sec-mailform .note {
	margin: 4px 0 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	color: #b3b3b3;
}

.sec-mailform .l-form .table-form .textarea {
	height: 240px;
}

.contact-form__footer {
	margin-top: 40px;
	line-height: 2;
}

.contact-form__footer .title {
	font-size: 18px;
	text-align: center;
}

.privacy-box {
	height: 200px;
	margin: 20px auto;
	padding: 30px 40px;
	background-color: #3e3e3e;
	overflow: auto;
	font-size: 13px;
}

.privacy-box .unit {
	margin-top: 24px;
}

.privacy-box .unit__title {
	font-size: 16px;
}

.privacy-box .unit__text {
	margin-top: 8px;
}

.privacy-text {
	font-size: 14px;
	text-align: center;
}

.kojin-checkbox {
	width: 320px;
	margin: 24px auto 0;
	padding: 0 0 8px;
	border-bottom: 1px solid #fff;
	text-align: center;
}

.kojin-checkbox label {
	margin: 0;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	text-align: center;
}

.kojin-checkbox label:hover {
	cursor: pointer;
}

.kojin-checkbox input {
	margin: 0 8px 0 0;
	transform: translate(0px, 1px);
}

.kojin-checkbox .required {
	margin: 0 0 0 4px;
}