@charset "UTF-8";

/* ---------------------------------
 Key Visual
--------------------------------- */
#keyVisual {
	width: 100%;
	height: 775px;
	background-color: #e0f0f0;
	background-image: url("../img/page/home/key_visual_photo.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#keyVisual__core {
	position: relative;
	width: 1500px;
	height: 100%;
	margin: auto;
}
#keyVisual__main {
	display: flex;
	align-items: center;
	height: 605px;
	font-weight: 400;
	font-family:
		"Noto Sans JP",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック体", "YuGothic",
		"ヒラギノ角ゴシック", "Hiragino Sans",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		"メイリオ", "Meiryo",
		sans-serif;
}
#keyVisual__main--contents {
	letter-spacing: 2px;
	color: var(--navy);
}
#keyVisual__main--contents h2 {
	margin: 0 0 45px;
	text-shadow:
		 7px  7px 10px rgba(255,255,255,1),
		-7px  7px 10px rgba(255,255,255,1),
		 7px -7px 10px rgba(255,255,255,1),
		-7px -7px 10px rgba(255,255,255,1),
		1px  1px 1px rgba(255,255,255,1),
		1px -1px 1px rgba(255,255,255,1),
	   -1px  1px 1px rgba(255,255,255,1),
	   -1px -1px 1px rgba(255,255,255,1),
		1px  2px 1px rgba(255,255,255,1),
		1px -2px 1px rgba(255,255,255,1),
	   -1px  2px 1px rgba(255,255,255,1),
	   -1px -2px 1px rgba(255,255,255,1),
		2px  1px 1px rgba(255,255,255,1),
		2px -1px 1px rgba(255,255,255,1),
	   -2px  1px 1px rgba(255,255,255,1),
	   -2px -1px 1px rgba(255,255,255,1),
		2px  3px 1px rgba(255,255,255,1),
		2px -3px 1px rgba(255,255,255,1),
	   -2px  3px 1px rgba(255,255,255,1),
	   -2px -3px 1px rgba(255,255,255,1),
		3px  2px 1px rgba(255,255,255,1),
		3px -2px 1px rgba(255,255,255,1),
	   -3px  2px 1px rgba(255,255,255,1),
	   -3px -2px 1px rgba(255,255,255,1);
	font-size: 43px;
}
#keyVisual__main--contents p {
	line-height: 1.9;
	font-size: 16px;
}

/* ---------------------------------
 News
--------------------------------- */
#news {
	position: absolute;
	left: 0;
	bottom: 30px;
	width: 710px;
	margin: 0;
	padding: 20px;
	background-color: #fff;
	border-radius: 10px;
}
#news__core {
	display: flex;
	font-family:
		"Noto Sans JP",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック体", "YuGothic",
		"ヒラギノ角ゴシック", "Hiragino Sans",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		"メイリオ", "Meiryo",
		sans-serif;
}
.news__data--item {
	display: flex;
	margin: 0 0 15px;
	font-weight: 300;
	font-size: 15px;
}
.news__data--item:last-child {
	margin: 0;
}
.news__data--item dt {
	flex: 0 0 98px;
}
.news__data--date {
	display: block;
	width: 100%;
	padding: 2px 0 3px;
	background-color: var(--turquoise-blue);
	border-radius: 50vh;
	text-align: center;
	font-size: 13px;
	color: #fff;
}
.news__data--item dd {
	flex: 0 0 calc(100% - 98px);
	padding: 0 15px;
}
.news__data--item dd a {
	text-decoration: none;
	color: #000;
}
#news__title {
	flex: 0 0 118px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 118px;
	padding: 0 20px 0 0;
}
#news__title h3 {
	font-weight: 700;
	color: #595656;
}
#news__data {
	flex: 0 0 calc(100% - 118px);
}

/* ---------------------------------
 width <= 1500px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:1500px) {
#keyVisual__core {
	width: 100%;
	padding: 0 20px;
}
#news {
	left: 20px;
}
/* under 1500 */
}

/* ---------------------------------
 width <= 1200px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:1200px) {
#keyVisual {
	background-image: url("../img/page/home/key_visual_photo_1200.webp");
	background-position: right center;
}
/* under 1200 */
}

/* ---------------------------------
 width <= 1024px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:1024px) {
#keyVisual__main--contents p {
	text-shadow:
		 7px  7px 10px rgba(255,255,255,1),
		-7px  7px 10px rgba(255,255,255,1),
		 7px -7px 10px rgba(255,255,255,1),
		-7px -7px 10px rgba(255,255,255,1),
		1px  1px 1px rgba(255,255,255,1),
		1px -1px 1px rgba(255,255,255,1),
	   -1px  1px 1px rgba(255,255,255,1),
	   -1px -1px 1px rgba(255,255,255,1),
		1px  2px 1px rgba(255,255,255,1),
		1px -2px 1px rgba(255,255,255,1),
	   -1px  2px 1px rgba(255,255,255,1),
	   -1px -2px 1px rgba(255,255,255,1),
		2px  1px 1px rgba(255,255,255,1),
		2px -1px 1px rgba(255,255,255,1),
	   -2px  1px 1px rgba(255,255,255,1),
	   -2px -1px 1px rgba(255,255,255,1),
		2px  3px 1px rgba(255,255,255,1),
		2px -3px 1px rgba(255,255,255,1),
	   -2px  3px 1px rgba(255,255,255,1),
	   -2px -3px 1px rgba(255,255,255,1),
		3px  2px 1px rgba(255,255,255,1),
		3px -2px 1px rgba(255,255,255,1),
	   -3px  2px 1px rgba(255,255,255,1),
	   -3px -2px 1px rgba(255,255,255,1);
}
/* under 1024 */
}

/* ---------------------------------
 width <= 768px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:768px) {
#keyVisual {
	height: calc( 100vh - 120px );
	max-height: 800px;
	background-image: url("../img/page/home/key_visual_photo_768.webp");
	background-position: right bottom;
}
#keyVisual__main {
	display: flex;
	align-items: top;
	height: auto;
}
#keyVisual__core {
	padding: 50px 20px 0;
}
#news {
	width: calc( 100% - 40px );
}
/* under 768 */
}

/* ---------------------------------
 width <= 580px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:580px) {
#keyVisual__main--contents h2 {
	margin: 0 0 45px;
	font-size: clamp(20px, 7vw, 36px);
}
/* under 580 */
}

/* ---------------------------------
 width <= 540px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:540px) {
#keyVisual__main--contents h2 {
	margin: 0 0 20px;
	font-size: clamp(20px, 7vw, 36px);
}
#keyVisual__main--contents p {
	font-size: 14px;
}
#news {
	padding: 15px 10px 5px;
}
#news__core {
	display: block;
}
#news__title {
	width: auto;
	padding: 0 0 10px 0;
}
.news__data--item:last-child {
	display: none;
}
.news__data--item dd a {
	font-size: 14px;
}
/* under 540 */
}

/* ---------------------------------
 width <= 430px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:430px) {
#keyVisual {
	height: calc( 100vh - 120px );
	background-image: url("../img/page/home/key_visual_photo_430.webp");
	background-position: right bottom;
}
/* under 430 */
}

/* ---------------------------------
 width <= 390px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:390px) {
#keyVisual__core {
	padding: 25px 20px 0;
}
#keyVisual__main--contents h2 {
	margin: 0 0 15px;
	font-size: clamp(20px, 7vw, 36px);
}
#keyVisual__main--contents p {
	font-size: 13px;
}
/* under 390 */
}

/* ---------------------------------
 width <= 375px
--------------------------------- */
@media screen and (min-width:1px) and (max-width:375px) {
.news__data--item {
	display: none;
}
.news__data--item:first-child {
	display: flex;
}
#keyVisual {
	height: calc( 100vh - 120px );
	background-image: url("../img/page/home/key_visual_photo_430.webp");
	background-position: right calc( 100% + 65px );
}
/* under 375 */
}

/* --- end of css --- */