*,
*::before,
*::after {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

img {
	max-width: 100%;
	height: auto;
	display: block
}

a {
	color: inherit;
	text-decoration: none
}

.btn-gradient {
	background: linear-gradient(161deg, #00b9ef 6%, #0068b7 109%);
	transition: opacity .3s ease
}

.btn-gradient:hover {
	opacity: .85
}

.btn-outline {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 12px 20px;
	border: 1px solid #234b95;
	border-radius: 100px;
	color: #234b95;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .48px;
	transition: background-color .3s ease, color .3s ease
}

.btn-outline svg {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%)
}

.btn-outline:hover {
	background-color: #234b95;
	color: #fff
}

.btn-outline:hover svg path {
	stroke: #fff
}

@media(min-width: 768px) {
	.btn-outline {
		padding: 16px 20px
	}
}

.btn-contact {
	position: relative
}

@media(min-width: 768px) {
	.btn-contact {
		width: 320px;
		justify-content: center
	}
}

.btn-contact svg {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%)
}

@media(max-width: 767px) {
	.nav-menu {
		position: fixed;
		top: 0;
		right: -100%;
		width: 80%;
		max-width: 360px;
		height: 100vh;
		background: #fff;
		padding: 100px 24px 40px;
		transition: right .3s ease;
		box-shadow: -4px 0 20px rgba(0, 0, 0, .1);
		overflow-y: auto;
		z-index: 40;
		display: flex;
		flex-direction: column
	}

	.nav-menu.is-open {
		right: 0
	}

	.nav-menu ul {
		list-style: none;
		padding: 0;
		margin: 0
	}

	.nav-menu a {
		display: block;
		padding: 16px 0
	}

	.nav-menu a.btn-gradient {
		padding: 12px 0
	}
}

@media(min-width: 768px) {
	.nav-menu {
		display: flex !important
	}
}

.strength-card {
	overflow: hidden;
	position: relative
}

.strength-card.shadow-blue {
	box-shadow: 14px 14px 0 #009de1
}

.strength-card.shadow-green {
	box-shadow: 14px 14px 0 #04af7a
}

.strength-card.shadow-pink {
	box-shadow: 14px 14px 0 #e6196a
}

.strength-card.shadow-orange {
	box-shadow: 14px 14px 0 #f39939
}

@media(prefers-reduced-motion: no-preference) {
	.strength-card img {
		transition: transform .5s ease
	}

	.strength-card:hover img {
		transform: scale(1.05)
	}
}

.carousel-full-bleed {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
	overflow: visible
}

.carousel-full-bleed>.scrollbar-hide,
.carousel-full-bleed>.map-slider,
.carousel-full-bleed>.voice-slider {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%)
}

.carousel-full-bleed>.carousel-prev {
	left: calc(50vw - 50% - 4px)
}

.carousel-full-bleed>.carousel-next {
	right: calc(50vw - 50% - 4px)
}

.map-slider,
.voice-slider {
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch
}

.map-slider::-webkit-scrollbar,
.voice-slider::-webkit-scrollbar {
	display: none
}

.map-slider>div,
.voice-slider>a {
	scroll-snap-align: start
}

.hero-overlay {
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.03)"/></svg>');
	pointer-events: none
}

.section-title-wrapper {
	position: relative
}

.support-block img {
	border-radius: 8px
}

.scrollbar-hide {
	-ms-overflow-style: none;
	scrollbar-width: none
}

.scrollbar-hide::-webkit-scrollbar {
	display: none
}

.line-clamp-1 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical
}

@media print {

	header,
	.hero-section,
	#contact {
		break-inside: avoid
	}
}




/*# WL追記 */
.voice-name{
    text-align: center;
}

.voice-logo{
    width:6rem;
    margin: 0 auto;
}

.voice-logo.ibm{
    width:10rem;
    margin: 0 auto;
}





/*# sourceMappingURL=style.css.map */