@charset "utf-8";
/* CSS Document */


.whole{
	width: 75%;
	margin: auto;
  	color:#4e4e4e;
	background-color: aliceblue;
	background-position: top;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", "serif" !important;
	font-size: 1.5vw
}


.headlogo img{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	display: flex;
	justify-content: space-between;
	padding: 20px;
	width: 400px;
	height: auto;
}

.headsns {
	position: absolute;
	top: 0;
	right: 100px;
	z-index: 10;
	display: flex;
	gap: 20px;
	padding: 20px;
	height: auto;
}



.top{
	position: relative;
	background-image: url("img/LP/main.png");
	background-size: cover;
	background-position: center;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	margin: 30px 0px;
	margin-left: calc(-50vw + 50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.maintitle {
	font-size: 3.5rem;
	font-weight: bold;
	color: #15538A;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
	position: relative;
	backdrop-filter: blur(4px);
	background: rgba(255, 255, 255, 0.2);
	padding: 3rem;
	border-radius: 0px;
	text-align: center;
}

/* 一行目：濃いめ＆大きめ */
.maintitle .main-copy {
	color: #CC5500; /* #4b2e2bダークブラウン　#660000ボルドー　#CC5500オレンジ */
	font-size: 4rem;
	font-weight: bold;
}

/* 二行目：少し小さめ＆薄め */
.maintitle .sub-copy {
	color: #15538A;  /* 元の色 */
	font-size: 2rem;
	font-weight: normal;
	display: block;
	margin-top: 1rem;
}



.sub{
	font-size: 1.5rem;
	position: relative;
	background-color: white;
	padding: 1rem 2rem;
	display: inline-block;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.overview p{
	text-align:left ;
	font-size: 1.5rem;
	position: relative;
	background-color: white;
	padding: 1rem 1rem;
	display: inline-block;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.cta img{
	width: 80%;
	margin:0 auto;
	align-content: center;
	display: block;
	position: relative;
	overflow:hidden;
}

.cta img:hover{
	opacity:0.5;
	transition:0.3s;
}

.features{
	position: relative;
	padding-left: 4rem; 
    max-width: 960px;
    margin: 0 auto;
    padding: 2rem;
}

.features-title{
	position: relative;
	font-size: 10vw;
	color: #15538A; 
	pointer-events: none; 
	z-index: 0;
	margin: 0;
	text-align: start;
    margin-bottom: 1rem;
}

.f-text {
	text-align: start;
	font-size: 1.2rem;
}

.f-image{
	width: 15rem; 
	height: auto; 
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	color: #666;
	flex-shrink: 0;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.f-block{
	position: relative;
	display: flex;
	gap: 1rem;
	margin-bottom: 2rem;
	margin-left: 20px;
	align-items: flex-start;
	line-height: 1.6;
}

.f-block h4{
	min-width: 8em;
	margin-top: 0;
}

.access {
	text-align: center;
	margin: 50px 0;
	position: relative;
}

.access-title{
	text-align: start;
	position: relative;
	font-size: 10vw;
	color: #15538A; 
	pointer-events: none; 
	z-index: 0;
	margin-bottom: 0;
}


.YCS{
	text-align: relative;
	display: inline-block;
	position: relative;
	width:70%;
	padding-bottom: 50px;
}

.reports {
  position: relative;
  padding-left: 4rem; 

}

.reports-title {
	text-align: start;
	position: relative;
	font-size: 10vw;
	color: #15538A; 
	pointer-events: none; 
	z-index: 0;
	margin: 0;
}
.reports-text {
	text-align: start;
	font-size: 1.2rem;
}
.reports {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.r-block {
  flex: 1 1 calc(50% - 1rem);
  box-sizing: border-box;
}

.r-image {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f9f9f9;
  text-align: center;
}

.r-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}



.text-overlay p{
	font-size: 1.2rem;
	color: #003366;
	white-space: nowrap;
	word-break: keep-all;
	text-align: start;
	margin: 0;
	line-height: 1.2;
}

.text-overlay .small {
	font-size: 1.2rem;
	color: #003366;
}

.text-overlay .large {
	font-size: 2rem;
	color: #003366;
}

.railway {
	text-align: start;
	font-size: 1.2rem;
}

.map-img img{
	display: inline-block;
	position: relative;
	width:70%;
	max-width: 1600px;
	height: auto;
}
.address {
	text-align: start;
}


.sns{
	background-color: #15538A;
	color: #FFFFFF;
	display: flex;
	position: relative;
	justify-content: center;
	text-align: center;
	flex-direction: column;
	align-items: center;
	gap: 1em;
}


.footer{
	object-fit: cover;
	background-color: #15538A;
	color: #FFFFFF;
	text-align: center;
}

.sns_icon {
	justify-content: center;
	display: flex;
	gap: 2em;
}

.copy{
	font-size: 1rem;
	margin: 0 auto;
}

