@charset "UTF-8";

/* ========================================
   Base Styles
   ======================================== */

#feature-content {
	font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, roboto, noto, arial, sans-serif;
	font-weight: normal;
	line-height: 1.75;
	color: var(--color-accent, #333);
	font-size: 1.0625rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}
.feature-content-wrapper{
	max-width: 800px;
    margin: 0 auto;
}
/* Transitions */
#feature-content a,
#feature-content .button:before,
#feature-content input[type="submit"]:before,
#feature-content .button span,
#feature-content input[type="submit"] span {
	transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}

/* Utility Classes */
#feature-content .hidden {
	opacity: 0;
	visibility: hidden;
}

#feature-content .visible {
	opacity: 1;
	visibility: inherit;
}

#feature-content .text-left {
	text-align: left;
}

#feature-content .text-center {
	text-align: center;
}

/* ========================================
   Grid System
   ======================================== */

#feature-content .row {
	max-width: 1360px;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	flex-flow: row wrap;
	padding: 0 5px;
}

#feature-content .row .columns,
#feature-content .grid-col-full {
	padding: 0 7.5px;
}

#feature-content .row.full-width-row {
	max-width: none;
}

#feature-content .column,
#feature-content .columns,
#feature-content .grid-col-full {
	flex: 1 1 0px;
	padding-right: 0.46875rem;
	padding-left: 0.46875rem;
	min-width: 0;
}

#feature-content .grid-col-full {
	flex: 0 0 100%;
	max-width: 100%;
}

#feature-content .col-item {
	flex: 0 0 100%;
	max-width: 100%;
	margin-bottom: 100px;
}
#feature-content .col-item:last-child {
	margin-bottom: 20px;
}

/* ========================================
   Typography
   ======================================== */

#feature-content h1,
#feature-content .h1,
#feature-content h2,
#feature-content .h2,
#feature-content h3,
#feature-content .h3,
#feature-content h4,
#feature-content .h4,
#feature-content h5,
#feature-content .h5,
#feature-content h6,
#feature-content .h6 {
	font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, roboto, noto, arial, sans-serif;
	font-style: normal;
	font-weight: 700;
	color: var(--color-accent, #333);
	text-rendering: optimizeLegibility;
}

#feature-content h1,
#feature-content .h1 {
	font-size: calc(var(--font-heading-scale, 1) * 46px);
	line-height: 54px;
}

#feature-content h3,
#feature-content .h3 {
	font-size: calc(var(--font-heading-scale, 1) * 34px);
	line-height: 42px;
}

#feature-content h4,
#feature-content .h4 {
	font-size: calc(var(--font-heading-scale, 1) * 28px);
	line-height: 36px;
}

#feature-content h5,
#feature-content .h5 {
	font-size: calc(var(--font-heading-scale, 1) * 24px);
	line-height: 32px;
}

#feature-content h6,
#feature-content .h6 {
	font-size: calc(var(--font-heading-scale, 1) * 18px);
	line-height: 26px;
}

#feature-content p {
	margin-bottom: 1.25rem;
	font-size: inherit;
	line-height: 1.7;
	text-rendering: optimizeLegibility;
	word-spacing: 0.001em;
	font-feature-settings: "kern" 1;
	font-kerning: normal;
}

#feature-content a {
	line-height: inherit;
	color: var(--color-accent, #333);
	text-decoration: none;
	cursor: pointer;
	background-color: transparent;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

#feature-content a:hover,
#feature-content a:focus {
	color: var(--color-accent2, #666);
}

/* ========================================
   Sections
   ======================================== */

#feature-content .section {
	display: block;
}

#feature-content .section-spacing {
	margin-top: var(--section-spacing-mobile, 0);
	margin-bottom: var(--section-spacing-mobile, 0);
}

#feature-content .section-spacing.section-spacing--disable-top {
	margin-top: 0;
}

#feature-content .section-spacing.section-spacing--disable-bottom {
	margin-bottom: 0;
}

/* ========================================
   Slideshow
   ======================================== */

/* ------------ Hero Section ------------ */
#feature-content #Hero-section{
	width: 100%;
	margin: 0 auto;
}
#feature-content .slick-slide{
	position: relative;
	/* width: 100%!important; */
	height: 650px;
}
#feature-content .slick-slide img{
	width: 100%;
	height: auto;
	filter: brightness(.8);
	object-position: center;
}

.slider__desc-text{
    color: #fff;
    font-family: "Helvetica Neue", "Noto Sans JP", "Roboto Condensed", "railroad-gothic-atf", "Helvetica Neue", "Noto Sans JP", sans-serif;
    position: absolute;
    top: auto;
    left: 50%;
    transform: translateY(-50%);
    bottom: 0;
}
#feature-content .slider__desc-text_top{
	font-size: 24px;
	font-family: "Helvetica Neue", "Noto Sans JP", "Roboto Condensed", "trade-gothic-next", "noto-sans-jp", sans-serif;
	margin-bottom: 8px;
}
#feature-content .slider__desc-text_middle{
	font-size: 65px;
    line-height: 1.2;
	font-weight: 800;
}
#feature-content .slider__desc-text_middle.ja{
	font-weight: 700;
}
#feature-content .slider__desc-link{
    display: inline-block;
    background: #fff;
    margin-top: 10px;
    padding: 3px 16px;
    font-size: 18px;
    border-radius: 20px;
    letter-spacing: .5px;
    font-family: "Helvetica Neue", "railroad-gothic-atf", sans-serif;
}

#feature-content #Hero-section .slick-dots{
	bottom:5px;
}
#feature-content #Hero-section .slick-dots li button:before{
	color: #fff;
}
#feature-content #Hero-section .slick-dots li.slick-active button:before{
	color: #e51d1d;
}
#feature-content .slick-dotted.slick-slider{
	margin-bottom: 0!important;
}

#feature-content .hero-slideshow,
#feature-content .campaign-slideshow {
	position: relative;
	min-height: 500px;
}

#feature-content .slide-item {
	position: relative;
	min-height: 500px;
}

#feature-content .slide-bg {
	position: relative;
	width: 100%;
	height: 100%;
}

#feature-content .slideshow-image--desktop,
#feature-content .slideshow-image--mobile {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}


#feature-content .slide-content-center,
#feature-content .slide-content-left {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20;
	display: flex;
	padding: 30px;
}

#feature-content .slide-content-center {
	justify-content: center;
	align-items: center;
	text-align: center;
}

#feature-content .slide-content-left {
	justify-content: flex-start;
	align-items: flex-end;
	text-align: left;
}

#feature-content .slide-content {
	position: relative;
	color: #fff;
}

#feature-content .slide-title {
	font-size: calc(var(--font-heading-scale, 1) * 46px);
	line-height: 54px;
	font-weight: 700;
	margin: 0 0 20px;
}

#feature-content .title-line,
#feature-content .text-line {
	overflow: hidden;
}

#feature-content .title-text,
#feature-content .text-item {
	display: block;
}

#feature-content .flickity-viewport {
	position: relative;
	overflow: hidden;
	height: 500px;
	touch-action: pan-y;
}

#feature-content .flickity-slider,
#feature-content .slider-container {
	position: relative;
}

#feature-content .flickity-page-dots {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	z-index: 30;
}

#feature-content .flickity-page-dots .dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	margin: 0 5px;
	cursor: pointer;
}

#feature-content .flickity-page-dots .dot.is-selected {
	background: #fff;
}

/* ========================================
   Video Section
   ======================================== */

#feature-content .video-wrapper {
	position: relative;
	padding: 40px 0;
}

#feature-content .video-inner {
	max-width: 1360px;
	margin: 0 auto;
}

#feature-content .video-container {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
}

#feature-content .video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ========================================
   Text Content
   ======================================== */
#feature-content .text-content {
	padding: 40px 20px;
	text-align: center;
}

#feature-content .text-inner {
	max-width: 840px;
	margin: 0 auto;
}

#feature-content .text-content .h5 {
	font-size: 1.5rem;
	line-height: 1.45;
	margin: 0 0 1.25rem;
}

#feature-content .rte {
	line-height: 1.7;
}

#feature-content .rte p {
	margin-bottom: 1.25rem;
}

#feature-content .text-size-small {
	font-size: 0.9375rem;
}

/* ========================================
   Columns Section
   ======================================== */

#feature-content .columns-section {
	padding: 40px 0;
}

#feature-content .columns-inner .row {
	display: flex;
	flex-wrap: wrap;
}

#feature-content .col-image {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-bottom: var(--ratio-percent);
	margin-bottom: 28px;
}

#feature-content .col-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#feature-content .col-item h4 {
	margin-bottom: 8px;
	color: #029697;
}

#feature-content .col-item p {
	margin-bottom: 12px;
}

#feature-content .align-stretch {
	align-items: stretch;
}

/* ========================================
   Gallery
   ======================================== */

#feature-content .grid-gallery {
	padding: 40px 12.5px;
	max-width: 1360px;
	margin-left: auto;
	margin-right: auto;
}

#feature-content .gallery-inner {
	display: grid;
	grid-gap: 3px;
	margin: 3px auto;
}

#feature-content .gallery-item .image-box {
	position: relative;
	width: 100%;
	overflow: hidden;
	height: 0;
	padding-bottom: var(--ratio-percent);
}

#feature-content .gallery-item .image-box img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	object-fit: cover;
}

#feature-content .overlay-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px;
	color: #fff;
}

#feature-content .overlay-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 21;
}

/* ========================================
   Buttons
   ======================================== */

#feature-content .button,
#feature-content input[type="submit"] {
	display: inline-flex;
	cursor: pointer;
	padding: 5px 27px;
	align-items: center;
	justify-content: center;
	height: 52px;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: var(--button-letter-spacing, 0.2em);
	background: var(--color-accent, #333);
	color: var(--solid-button-label, #fff);
	border-radius: var(--button-border-radius, 3px);
	border: 0;
	text-align: center;
	position: relative;
	overflow: hidden;
	appearance: none;
	transition: color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1), background-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}

#feature-content .button:before,
#feature-content input[type="submit"]:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.1);
	transform: translateY(100%);
	z-index: 5;
}

#feature-content .button:hover:before,
#feature-content .button:focus:before,
#feature-content input[type="submit"]:hover:before,
#feature-content input[type="submit"]:focus:before {
	transform: translateY(0%);
}

#feature-content .button.accent2,
#feature-content input[type="submit"].accent2 {
	background: var(--color-accent2, #666);
	color: #fff;
}

#feature-content .button.white,
#feature-content input[type="submit"].white {
	background: #fff;
	color: var(--color-accent, #333);
}

#feature-content .button.medium,
#feature-content input[type="submit"].medium {
	height: 40px;
	font-size: 0.75rem;
}

#feature-content .text-button {
	font-size: 0.9375rem;
	margin-right: 15px;
	font-weight: var(--font-body-medium-weight, 500);
	cursor: pointer;
	position: relative;
}

#feature-content .text-button:after,
#feature-content .text-button:before {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% + 2px);
	left: 0;
	width: 100%;
	height: 1px;
	pointer-events: none;
}

#feature-content .text-button:before {
	background: rgba(0, 0, 0, 0.3);
}

#feature-content .text-button:after {
	background: var(--color-accent2, #666);
	transform: scale(0, 1);
}

#feature-content .text-button:hover:after {
	transform: scale(1, 1);
}

/* ========================================
   Lazy Loading
   ======================================== */

#feature-content .lazyload,
#feature-content .lazyloading {
	opacity: 0.75;
	will-change: opacity, filter;
	filter: blur(10px);
}

#feature-content .lazyloaded {
	opacity: 1;
	transition: opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1), filter 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}

/* ========================================
   Carousel/Flickity
   ======================================== */
#feature-content .flickity-enabled,
#feature-content .hero-slideshow,
#feature-content .campaign-slideshow {
	-webkit-user-select: none;
	user-select: none;
}

#feature-content .slide-item.active {
	z-index: 10;
}

/* ========================================
   Additional Utility Classes
   ======================================== */

#feature-content .text-left {
	text-align: left;
}

#feature-content .text-center {
	text-align: center;
}

#feature-content .col-image,
#feature-content .image-box {
	--ratio-percent: 100%;
}

#feature-content .grid-gallery {
	--gallery-columns: 2;
}

#feature-content img {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	height: auto;
	border-style: none;
}

/* ========================================
   Media Queries
   ======================================== */

/* Mobile only (max-width: 767px) */
@media only screen and (max-width: 767px) {
	#feature-content .slideshow-image--desktop {
		display: none;
	}
	#feature-content .slick-slide{
		height: 100vw;
	}
	#feature-content .slick-slide img{
		width: 100%;
		height: 100vw;
		filter: brightness(.8);
		object-position: center;
		object-fit: cover;
	}
	#feature-content .slider__desc-text {
		color: #fff;
		font-family: "Helvetica Neue", "Noto Sans JP", "Roboto Condensed", "railroad-gothic-atf", "Helvetica Neue", "Noto Sans JP", sans-serif;
		position: absolute;
		left: 10%;
		transform: translateY(-50%);
		bottom: 0;
	}
	#feature-content .slider__desc-text_top {
		font-size: 16px;
		font-family: "Helvetica Neue", "Noto Sans JP", "Roboto Condensed", "trade-gothic-next", "noto-sans-jp", sans-serif;
		margin-bottom: 8px;
	}
	#feature-content .slider__desc-text_middle {
		font-size: 24px;
		line-height: 1.2;
		font-weight: 800;
	}
	#feature-content .feature-content-wrapper {
		margin: 0 auto;
		width: 94%;
	}
	#feature-content .col-item {
		margin-bottom: 50px;
	}
	#feature-content .col-item p{
		font-size: 14px;
	}
	#feature-content h4, #feature-content .h4{
		font-size: 20px;
	}
}

/* Tablet and up (min-width: 768px) */
@media only screen and (min-width: 768px) {
	#feature-content .section-spacing {
		margin-top: var(--section-spacing-desktop, 0);
		margin-bottom: var(--section-spacing-desktop, 0);
	}

	#feature-content .hero-slideshow,
	#feature-content .campaign-slideshow {
		min-height: 650px;
	}

	#feature-content .slide-item {
		min-height: 650px;
	}

	#feature-content .slideshow-image--mobile {
		display: none;
	}

	#feature-content .slide-title {
		font-size: calc(var(--font-heading-scale, 1) * 64px);
		line-height: 72px;
	}

	#feature-content .flickity-viewport {
		height: 650px;
	}

	#feature-content .grid-gallery {
		padding: 40px 40px;
	}

	#feature-content .gallery-inner {
		grid-template-columns: repeat(var(--gallery-columns), 1fr);
	}
}