.hotarubi_logo {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 90vw;
	overflow: visible;
}

.top-headline-text {
	font-family: 'Ramabhadra', sans-serif;
	font-size: var(--html-font-title-size);
	margin-top: 3vh;
}

.top-news-bg {
	background: url('../img/Top_News_BG.png') top center no-repeat;
	background-size: cover;
}

.divisions-logo-background {
	fill: rgba(255, 255, 255, 1);
}

.divisions-logo-background-position {
	position: absolute;
	overflow: visible;
	left: 0;
	top: 0;
}

.divisions-logo-background-position-pe {
	position: absolute;
	overflow: visible;
	left: 0;
	top: 0;
	height: auto;
}

.circle-yellow-line {
	fill: rgba(0, 0, 0, 0);
	stroke: rgba(255, 242, 204, 1);
	stroke-width: 1px;
	stroke-linejoin: miter;
	stroke-linecap: butt;
	stroke-miterlimit: 10;
	shape-rendering: auto;
}

.circle-yellow-line-position {
	position: absolute;
	overflow: visible;
	left: -0.5vw;
	top: -0.25vw;
}

.circle-pink-line {
	fill: rgba(0, 0, 0, 0);
	stroke: rgba(249, 185, 198, 1);
	stroke-width: 1px;
	stroke-linejoin: miter;
	stroke-linecap: butt;
	stroke-miterlimit: 10;
	shape-rendering: auto;
}

.circle-pink-line-position {
	position: absolute;
	overflow: visible;
	left: 0.25vw;
	top: 0.25vw;
}

.circle-pink-bold-line {
	fill: rgba(0, 0, 0, 0);
	stroke: rgba(239, 151, 166, 1);
	stroke-width: 2px;
	stroke-linejoin: miter;
	stroke-linecap: butt;
	stroke-miterlimit: 10;
	shape-rendering: auto;
}

.circle-pink-bold-line-position {
	position: absolute;
	overflow: visible;
	left: 1vw;
	top: 0;
}

.contact-btn {
	width: max(150px, 15vw);
}

.catch-copy-display {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	object-fit: cover;
	width: max(640px, 100vw);
	height: auto;
}

.video-position-sp {
	display: none;
}

.div-logo-block {
	width: 360px;
	height: auto
}

.div-logo-me-img-block {
	width: 360px;
	height: auto
}

.m-contact-btn {
	margin-top: 3rem;
}

/** 横幅が動画のサイズを超える場合は幅を合わせる */
@media (min-width: 1920px) {
	.video-display {
		position: relative;
		height: 100vh;
		overflow: hidden;
		z-index: -1;
	}

	.video-position {
		position: absolute;
		top: 0;
		left: 0;
		/** 動画のサイズを超えるので幅を合わせる */
		width: 100vw;
		object-fit: cover;
	}

	.top-text-l {
		text-align: left;
		font-size: 1.5rem;
	}

	.top-text-r {
		text-align: right;
		font-size: 1.5rem;
	}

	.divisions-name-r {
		text-align: right;
		font-family: var(--html-font-family-title), sans-serif;
		font-size: var(--html-font-large-size);
		text-decoration: underline 1px;
		text-underline-offset: 0.5rem;
	}

	.divisions-name-l {
		text-align: left;
		font-family: var(--html-font-family-title), sans-serif;
		font-size: var(--html-font-large-size);
		text-decoration: underline 1px;
		text-underline-offset: 0.5rem;
	}
}

@media (max-width: 1919.9px) {
	.video-display {
		position: relative;
		height: 98vh;
		overflow: hidden;
		z-index: -1;
	}

	.video-position {
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		height: 100vh;
		width: 100vw;
	}

	.top-text-l {
		text-align: left;
		font-size: 1.2rem;
	}

	.top-text-r {
		text-align: right;
		font-size: 1.2rem;
	}

	.divisions-name-r {
		text-align: right;
		font-family: var(--html-font-family-title), sans-serif;
		font-size: var(--html-font-large-size);
		text-decoration: underline 1px;
		text-underline-offset: 0.5rem;
	}

	.divisions-name-l {
		text-align: left;
		font-family: var(--html-font-family-title), sans-serif;
		font-size: var(--html-font-large-size);
		text-decoration: underline 1px;
		text-underline-offset: 0.5rem;
	}

}

@media (max-width: 767.98px) {
	.video-display {
		position: relative;
		height: 100vh;
		/** SPの場合はとりあえず半分 */
		overflow: hidden;
		z-index: -1;
	}

	.video-position {
		display: none;
	}

	.video-position-sp {
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		display: inline;
	}

	.div-logo-block {
		/** 100vw だと大きいので小さめに */
		width: 60vw;
		height: auto;
	}

	/** MEのロゴ画像が他とアス比違うのでとりあえず */
	.div-logo-me-img-block {
		width: 60vw;
		height: auto;
		overflow: hidden;
	}

	.top-text-l {
		text-align: left;
		font-size: 1rem;
	}

	.top-text-r {
		text-align: right;
		font-size: 1rem;
	}

	.divisions-name-r {
		text-align: right;
		font-family: var(--html-font-family-title), sans-serif;
		font-size: var(--html-font-title-size);
		text-decoration: underline 1px;
		text-underline-offset: 0.5rem;
	}

	.divisions-name-l {
		text-align: left;
		font-family: var(--html-font-family-title), sans-serif;
		font-size: var(--html-font-title-size);
		text-decoration: underline 1px;
		text-underline-offset: 0.5rem;
	}

	.catch-copy-display {
		position: absolute;
		top: 40vh;
		left: 0;
		z-index: 1;
	}

	.m-contact-btn {
		margin-top: 7rem;
	}

}

/** カルーセル */
/* 全体のスタイル */
.swiper-wrapper {
	width: 100vw;
	height: 45vh;
}

/* 全スライド共通スタイル */
.swiper-slide {
	width: 100%;
	height: auto;
}

.carousel-caption-bg {
	background-color: rgb(128, 128, 128, 0.8);
}

.carousel-img-size {
	overflow-y: hidden;
	width: 100%;
	height: auto;
}

.carousel-area {
	margin-top: -10vh;
}

.news-card {
	background-color: #000;
	height: 100%;
	border: hidden;
}

.news-card-img {
	overflow: hidden;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}

.news-card-text {
	overflow: hidden;
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	background-color: rgba(0, 0, 0, 0.5);
	width: 100%
}

.news-img-size {
	min-height: 45vh;
	object-fit: cover;
}

.news-more-btn-area {
	margin-top: 1rem;
	height: 20vh;
}

.float-img {
	position: relative;
	top: 0;
	/*アニメーションの設定*/
	transition: all .3s;
}

/*hoverをしたらボックスに影がつき、上に上がる*/
.float-img:hover {
	top: -3px;
	box-shadow: 0 2px 3px rgba(241, 235, 235, 0.8);
}

.div-area-h {
	height: 70vh;
}

.m-video-display {
	margin-top: 7vh;
}
