@charset "UTF-8";

@import "base.css";
@import "main.css";


/* -------------------------------------
 *	全体
 * ------------------------------------- */

body {
	background:
		url(../images/bg_index_top.png) no-repeat right 120px,
		url(../images/bg_index_middle.png) no-repeat center 800px,
		url(../images/bg_main.jpg) repeat left top;
}


/* -------------------------------------
 *	Teaser
 * ------------------------------------- */

#teaser {
	margin-bottom: 130px;
	position: relative;
}

/* Main Picture
---------------------------------------- */
#teaser #teaserMain {
	display: inline-block;
	margin-left: calc(50vw - 650px);
	margin-left: -webkit-calc(50vw - (650px * 0.94));
	margin-right: auto;
	position: relative;
	z-index: 50;
}
#teaser #teaserMain ul {
	display: flex;
	justify-content: space-between;
	width: 880px;
}
#teaser #teaserMain ul li figure {
	position: relative;
}
#teaser #teaserMain ul li figure img {
	border-radius: 20px;
}
#teaser #teaserMain ul li a:hover figure img {
	opacity: 0.7;
}
#teaser #teaserMain ul li figure figcaption {
	width: 100%;
	line-height: 1.2;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 20px;
	text-align: center;
	background: rgba(255, 255, 255, 0.8);
	position: absolute;
	left: 0;
	bottom: 25px;
}
#teaser #teaserMain ul li figure figcaption span {
	display: block;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 16px;
}
#teaser #teaserMain ul li figure figcaption span::after {
	content: '\f35d';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	right: 10px;
	bottom: 0;
}
#teaser #teaserMain p.teaserCatch {
	margin-top: 20px;
	font-size: 40px;
	font-weight: 900;
}
#teaser #teaserMain p.teaserCatch span {
	font-size: 40px;
	font-weight: 900;
}

/* News
---------------------------------------- */
#teaser #news {
	width: 360px;
	padding: 50px calc(50vw - 650px) 50px 140px;
	padding-right: -webkit-calc(50vw - (650px * 0.94));
	background: rgba(24, 24, 24, 0.15);
	border-radius: 30px 0 0 30px;
	position: absolute;
	top: 60px;
	right: 0;
	z-index: 10;
}

/* Title */
#teaser #news .newsTit {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-left: -1em;
	margin-bottom: 30px;
}
#teaser #news .newsTit h2 {
	line-height: 1.0;
	font-family: "Shirokuma";
	font-size: 60px;
	letter-spacing: -30px;
}
#teaser #news .newsTit h2 span {
	display: block;
	margin-left: 1em;
	letter-spacing: normal;
}
#teaser #news .newsTit a {
	display: block;
	padding: 11px 40px;
	border: 1px solid #333;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.5);
}
#teaser #news .newsTit a span {
	padding-right: 35px;
	position: relative;
}
#teaser #news .newsTit a span::before {
	display: block;
	content: "";
	width: 20px;
	height: 1px;
	background: #333;
	position: absolute;
	top: 50%;
	right: 10px;
}
#teaser #news .newsTit a span::after {
	display: block;
	content: "";
	width: 10px;
	height: 10px;
	background: #333;
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	border-radius: 50%;
}
#teaser #news .newsTit a:hover {
	border-color: #f8931f;
}
#teaser #news .newsTit a:hover span {
	color: #f8931f;
}
#teaser #news .newsTit a:hover span::before,
#teaser #news .newsTit a:hover span::after {
	background: #f8931f;
}

/* News List Body */
#teaser #news ul {
	padding-top: 15px;
	border-top: 2px solid #b1b1b1;
}
#teaser #news ul li {
	padding-bottom: 15px;
	margin-bottom: 15px;
	color: #333;
	border-bottom: 2px solid #b1b1b1;
}
#teaser #news ul li span {
	padding-left: 5px;
	padding-right: 5px;
	margin-left: 10px;
	color: #333;
	font-size: 14px;
	border: 1px solid #333;
}
#teaser #news ul li a {
	display: block;
	margin-top: 10px;
	color: #333;
}
#teaser #news ul li a:hover {
	color: #f8931f;
}

@media screen and (max-width : 1270px) {
	#teaser #teaserMain {
		display: block;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	#teaser #teaserMain ul {
		margin-left: auto;
		margin-right: auto;
	}
	#teaser #teaserMain p.teaserCatch {
		text-align: center;
	}
	#teaser #news {
		margin-left: auto;
		margin-right: auto;
		padding: 50px 140px;
		border-radius: 30px;
		position: relative;
	}
}
@media screen and (max-width : 880px) {
	#teaser #teaserMain ul {
		width: 100%;
	}
	#teaser #teaserMain ul li {
		width: 30%;
	}
	#teaser #teaserMain ul li img {
		width: 100%;
	}
}
@media screen and (max-width : 640px) {
	#teaser #teaserMain p.teaserCatch {
		line-height: 1.2;
	}
	#teaser #teaserMain p.teaserCatch span {
		display: block;
	}
	#teaser #news {
		padding: 30px 50px;
	}
}
@media screen and (max-width : 560px) {
	#teaser #teaserMain ul li {
		width: 45%;
	}
	#teaser #teaserMain ul li:nth-child(2) {
		display: none;
	}
}
@media screen and (max-width : 460px) {
	#teaser #news {
		width: 96%;
		margin-left: auto;
		margin-right: auto;
		padding: 30px;
		box-sizing: border-box;
	}
}
@media screen and (max-width : 415px) {
	#teaser #news .newsTit {
		flex-direction: column;
	}
	#teaser #news .newsTit h2 {
		margin-left: 0;
		margin-right: auto;
	}
	#teaser #news .newsTit a {
		margin-left: auto;
		margin-right: 0;
	}
}


/* -------------------------------------
 *	共通書式
 * ------------------------------------- */

#main h2 {
	line-height: 1.2;
	margin-bottom: 50px;
	font-family: "Shirokuma";
	font-size: 75px;
	text-align: center;
	letter-spacing: -35px;
}
#main h2 span {
	display: block;
	font-size: 18px;
	letter-spacing: normal;
}


/* -------------------------------------
 *	bnr：ほたるプロジェクト
 * ------------------------------------- */

#main #indexHotaru figure {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
#main #indexHotaru figure img {
	border: 1px solid #ccc;
}
#main #indexHotaru figure a:hover {
	opacity: 0.8;
}