#top-mainvisual .mv-inner {
	position: relative;
}
#top-mainvisual .mv-inner:before {
	position: absolute;
	top: 0;
	z-index: 10;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.15);
}

#top-mainvisual .mv-slide-list {
	display: inline-flex;
	width: max-content;
}

/* スライド画像ラップ：幅は自動で縮まない */
#top-mainvisual .mv-inner .mv-slider-wrap-slide {
	flex: 0 0 auto;
}

/* 画像：縮まず等倍表示（高さは統一） */
#top-mainvisual .mv-inner .mv-slider-wrap-slide img {
	width: auto;
	height: 240px;
	object-fit: cover;
}

/* 右→左 */
@keyframes ticker-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50%)); }
}

/* 左→右 */
@keyframes ticker-right {
    0% { transform: translateX(calc(-50%)); }
    100% { transform: translateX(0); }
}

/* 上段（右→左） */
.mv-slide-list.scroll-top {
    animation: ticker-left 80s linear infinite;
}

/* 中段（左→右） */
.mv-slide-list.scroll-middle {
    animation: ticker-right 80s linear infinite;
}

/* 下段（右→左） */
.mv-slide-list.scroll-bottom {
    animation: ticker-left 80s linear infinite;
}
@media screen and (max-width: 1100px) {
	#top-mainvisual .mv-inner .mv-slider {
		flex-basis: calc(100% - 60px);
		width: calc(100% - 60px);
	}
}

@media screen and (max-width: 767px) {
	#top-mainvisual .mv-inner {
		gap: 0 30px;
	}
	#top-mainvisual .mv-inner .mv-slider {
		min-height: unset;
		justify-content: flex-end;
		min-height: 216px;
	}
}

#top-mainvisual .mv-catch {
	position: absolute;
	top: 41%;
	left: 0;
  right: 0;
  `margin: auto;
	z-index: 10;
}


.section .sec-ttl-box {
	margin: 0 0 40px;
	color: #91B9D8;
}
.section .sec-ttl {
	font-family: "Roboto", sans-serif;
	font-size: 7.2rem;
	line-height: 1;
	letter-spacing: 0.05em;
}
.section .sec-ttl-box p {
	font-weight: bold;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
a.more-btn {
	width: 240px;
	display: inline-block;
	background-image: url('../images/common/ico-more-btn-arrow.png');
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: center right 24px;
	background-color: #E3ADC1;
	color: #fff;
	font-weight: bold;
	text-align-last: left;
	padding: 16px 32px;
	border-radius: 28px;
}

#top-news {
	padding: 72px 0 50px;
}
#top-news .sec-ttl {
	font-size: 2.8rem;
	color: #A4CCED;
	line-height: 1;
	text-align: left;
}
#top-news .sec-ttl-box {
	margin-bottom: 10px;
}
#top-news .content-box {
	background: #ffffff;
	padding: 48px 72px;
	border-radius: 10px;
	margin-top: 0;
}

/*#top-about*/

#top-about {
	padding: 50px 0 100px;
}
#top-about .sec-inner {
	position: relative;
	padding: 0;
}
#top-about .sec-inner:after {
	content: url('../images/top/bg-top-about.png');
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
#top-about .sec-ttl {
	font-size: 17.6rem;	
	line-height: 0.8;
	color: #ffffff;
	text-align: left;
	font-weight: bold;
}
#top-about .about-catch {
	font-size: 4.8rem;
	line-height: 1.5;
	color: #91B9D8;
}
#top-about .content-box {
	width: 552px;
}
#top-about .content-box p {
	font-size: 2rem;
	line-height: 2;
	margin: 24px 0 42px;
}
#top-about .content-box .link-box {
	text-align: right;
}
#top-about .content-box .link-box a {
	display: block;
	background: url('../images/common/ico-link-arrow.png') no-repeat scroll center right;
	padding: 8px 56px 8px 0;
	font-weight: bold;
	text-decoration: underline;
	background-size: contain;
}


/*#top-commitment*/
#top-commitment {
	padding: 120px 0;
}
#top-commitment .sec-inner {
	width: 1360px;
	margin: 0 auto;
	background: url('../images/top/bg-top-commitment.png') no-repeat scroll;
	background-size: cover;
	border-radius: 10px;
}
#top-commitment .sec-ttl-box {
	text-align: left;
	color: #fff;
	margin-bottom: 72px;
}
#top-commitment .sec-ttl {
	color: #fff;
}

#top-commitment .content-box {
	display: flex;
	justify-content: space-between;
}
#top-commitment .commitment-box {
	width: 344px;
	text-align: center;
	padding: 60px 40px 40px;
	background: #fff;
	border-radius: 10px;
}
#top-commitment .num-box {
  font-family: "Roboto", sans-serif;
  color: #458CCF;
  font-size: 6.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
	margin-top: -108px;
}
#top-commitment .commitment-ttl {
	font-size: 2.8rem;
  margin: 0 0 20px;
}
#top-commitment .commitment-text {
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: left;
}

#top-works {
	padding-top: 60px;
}
#top-works .link-box {
	margin-top: 82px;
	text-align: center;
}
#top-works .bx-wrapper {
	margin: 0 auto !important;
	margin-bottom: 0 !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}
#top-works .bx-viewport {
	overflow: visible !important;
}
#top-works .bx-wrapper .bx-prev ,
#top-works .bx-wrapper .bx-next {
	background-position: inherit;
}
#top-works .bx-wrapper .bx-controls-direction a {
	width: 48px;
	height: 48px;
}
#top-works .bx-wrapper .bx-prev {
	background-image: url('../images/top/ico_prev.png');
}
#top-works .bx-wrapper .bx-next {
	background-image: url('../images/top/ico_next.png');
}


.common-cta {
	padding: 120px 0;
}

.divition-image {
	width: 100%;
	height: 374px;
	background: url('../images/top/bg-top-division.jpg') no-repeat fixed;
	background-size: cover;
	background-position: center bottom;
}
.divition-image:before {
	content: '';
	background: #A4CCED;
	opacity: .7;
	display: block;
	width: 100%;
	height: 374px;
	position: absolute;
}

/*#top-flow-faq*/
#top-flow-faq {
	padding: 120px 0 192px;
}
#top-flow-faq .sec-inner {
	display: flex;
	justify-content: space-between;
	padding: 0;
}
#top-flow-faq .inner-sec {
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: #fff;
	text-align: center;
	padding-top: 64px;
}
#top-flow-faq .inner-sec .sec-ttl-box {
	position: relative;
	padding-top: 100px;
}
#top-flow-faq .inner-sec .sec-ttl-box:before {
	content: '';
	width: 160px;
	height: 80px;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: center;
	position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#top-flow-faq #top-flow.inner-sec .sec-ttl-box:before {
	background-image: url('../images/top/ico-top-flow.png');
}
#top-flow-faq #top-faq.inner-sec .sec-ttl-box:before {
	background-image: url('../images/top/ico-top-faq.png');
}
#top-flow-faq .inner-sec .sec-ttl {
	font-size: 6rem;
}
#top-flow-faq .inner-sec .content-box {
	margin-top: 24px;
}
#top-flow-faq .inner-sec .content-box p {
	margin: 0;
}
#top-flow-faq .inner-sec .link-box {
	margin-top: 32px;
}

/*#top-company*/
#top-company {
	padding: 146px 0 160px;
}
#top-company .sec-inner {
	width: 1264px;
	margin: 0 auto;
	border-radius: 0 60px 60px 0;
	background: #EAE8E5;
	position: relative;
}
#top-company .sec-inner:before {
	content: '';
	display: block;
	background: #EAE8E5;
	width: 1000%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 100%;
}
#top-company .content-width {
	position: relative;
}
#top-company .content-width:before {
	position: absolute;
	top: -238px;
	right: 0;
	content: url('../images/top/img-top-company.png');
}
#top-company .content-box p {
	line-height: 2;
	margin: 0;
}
#top-company .link-box {
	margin-top: 32px;
}


@media screen and (max-width: 1360px) {
	#top-commitment .sec-inner {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.section .sec-ttl {
		font-size: 2.4rem;
	}
	.section .sec-ttl-box p {
		font-size: 1.2rem;
	}
	.common-cta {
		padding: 32px 0;
	}
	a.more-btn {
		padding: 12px 32px;
	}
	#top-mainvisual .mv-width {
		padding: 0 16px;
	}
	#top-mainvisual .mv-inner .mv-slider-wrap-slide img {
		height: 120px;
	}
	#top-news {
		padding: 64px 0 32px;
	}
	#top-news .content-box {
		padding: 16px;
	}
	#top-about .sec-inner:after {
		content: url('../images/top/bg-top-about-sp.png');
		top: 18px;
		right: -32px;
	}
	#top-about {
		padding: 32px 0 32px;
	}
	#top-about .sec-ttl {
		font-size: 2.8rem;
		color: inherit;
	}
	#top-about .about-catch {
		font-size: 2.2rem;
		background: #F7F6F5;
        display: inline;
        line-height: 1.4;
	}
	#top-about .content-box {
		width: 100%;
	}
	#top-about .about-text {
		margin: 24px 0 42px;
	}
	#top-about .content-box p {
		font-size: 1.2rem;
		background: #F7F6F5;
        display: inline;
	}
	#top-about .content-box .link-box {
		text-align: left;
		display: inline-block;
		
	}
	#top-commitment {
		padding: 32px 0;
	}
	#top-commitment .sec-inner {
		width: 100%;
	}
	#top-commitment .content-box {
		margin-top: 24px;
		display: block;
	}
	#top-commitment .num-box {
		font-size: 4rem;
	}
	#top-commitment .num-box {
		margin-top: -57px;
	}
	#top-commitment .commitment-ttl {
		font-size: 1.8rem;
		text-align: left;
		margin-bottom: 0;
	}
	#top-commitment .commitment-inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#top-commitment .commitment-img {
		width: 117px;
		padding: 16px 24px 16px 0;
	}
	#top-commitment .commitment-content {
		width: 190px;
	}
	#top-commitment .commitment-text {
		font-size: 1.2rem;
		margin-top: 0;
	}
	#top-commitment .commitment-box {
		width: 100%;
		padding: 24px;
		margin-bottom: 64px;
	}
	#top-commitment .commitment-box:last-child {
		margin-bottom: 0;
	}
	#top-commitment .commitment-text {
		margin-bottom: 0;
	}
	#top-works {
		padding: 32px 0 32px;
	}
	#top-works .link-box {
		margin-top: 72px;
	}
	#top-works .content-box ,
	#top-works .works-item {
		width: 220px !important;
	}
	#top-works .works-item {
		margin-right: 30px !important;
	}
	#top-works .bx-wrapper .bx-prev {
		left: -54px;		
	}
	#top-works .bx-wrapper .bx-next {
		right: -54px;
	}
	.divition-image ,
	.divition-image:before {
		height: 160px;
	}
	.divition-image {
		background-attachment: scroll;
		background-size: 130% auto;
		background-position: top -100px center;
	}
	#top-flow-faq {
		margin-bottom: 16px;
		padding: 64px 0 32px;
	}
	#top-flow-faq .sec-inner {
		display: block;
	}
	#top-flow-faq .inner-sec {
		width: 355px;
    height: 355px;
    padding-top: 16px;
    margin-bottom: 32px;
	}
	#top-flow-faq #top-faq {
		margin-bottom: 0;
	}
	#top-flow-faq .inner-sec .sec-ttl-box:before {
		background-size: 50%;
	}
	#top-flow-faq .inner-sec .sec-ttl {
		font-size: 2.4rem;
	}
	#top-flow-faq .inner-sec .sec-ttl-box {
		padding-top: 72px;
	}
	#top-flow-faq .inner-sec .sec-ttl-box {
		margin-bottom: 24px;
	}
	#top-flow-faq .inner-sec .content-box {
		margin-top: 16px;
	}
	#top-flow-faq .inner-sec .content-box p {
		font-size: 1.2rem;
	}
	#top-flow-faq .inner-sec .link-box {
		margin-top: 16px;
	}
	#top-company {
		padding: 32px 0 64px;
	}
	#top-company .sec-inner {
		padding: 64px 0;
	}
	#top-company .content-box {
		position: relative;
	}
	#top-company .content-width:before {
	    top: -233px;
	    right: auto;
	    left: -20px;
	    transform-origin: center;
	    transform: scale(.3);
	}

}
