@charset "UTF-8";
/* CSS */

body{
	font-family:"Noto Sans JP","Yu Gothic",sans-serif;
	background:#f7f6fb;
	color:#1f2937;
	box-sizing:border-box;
}


/* Header */

.header{
	padding:10px 0;
	border-bottom:2px solid #e6e9f2;
	box-shadow:0 1px 0 rgba(0,0,0,.05);
}

.header-inner{
	width:96%;
	max-width:2000px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}

.logo{
	margin-left:0;
}
.logo img{
	height:60px;
	width:auto;
	margin-left:0;
}

/* Hero */

.hero{
	padding:20px 0 20px;
	padding-bottom:10px;
}

.hero-overlay{
	position:relative;
	padding:20px 20px;
	padding-left:115px;
	background:
		linear-gradient(
			135deg,
			#ffffff 0%,
			#f3f7ff 100%
		);

	border:1px solid #eef2ff;
	box-shadow:
		0 4px 20px rgba(0,0,0,.04);
}


.hero h2{
	position:relative;
	font-size:30px;
	line-height:1.2;
	font-weight:700;
	margin-bottom:15px;
	border-left:6px solid #4254d1;
	padding-left:20px;
	color:#173b67;
}

.hero-subtitle{
	position:relative;
	z-index:1;
	font-size:20px;
	color:#6b7280;
	margin:0;
}

.update-date{
	background:#f5f7fc;
	padding:8px 14px;
	border-radius:999px;
	font-size:14px;
	display:inline-block;
}

/* GuideBox */

.guide-box{
	background:#f8fbff;
	border:1px solid #e5e7eb;
	box-sizing:border-box;
	display:flex;
	width:96%;
	max-width:1600px;
	margin:auto;
	align-items:center;
	gap:40px;
	padding:24px;

	box-shadow:
		0 4px 16px rgba(0,0,0,.04);
}

.guide-icon{
	width:96px;
	height:96px;

	display:flex;
	align-items:center;
	justify-content:center;

	flex-shrink:0;
	
	box-shadow:0 2px 8px rgba(66,84,209,.08);

	background:#f5f9ff;
	border:1px solid #bfd6ff;
	border-radius:50%;
}

.guide-icon img{
	width:56px;
	height:56px;

	opacity:.75;
}

.guide-box h4{
	margin:0 0 12px;
	font-size:20px;
	color:#173b67;
}

.guide-box p{
	margin:0 0 16px;
	line-height:1.8;
	color:#4b5563;
	font-size:18px;
}

.guide-content{
	flex:1;
}

.guide-links{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
}

.guide-btn{
	display:inline-block;

	padding:10px 16px;

	border-radius:8px;

	color:#fff;

	text-decoration:none;
	font-weight:600;
}

.guide-btn:hover{
	opacity:.9;
}

.guide-btn.pdf{
	background:#d92b2b;
}

.guide-btn.geps{
	background:#2563eb;
	color:#fff;
}

/* List */

.list-section{
	width:96%;
	max-width:1600px;
	margin:auto;
}

.title-row{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:16px;
}

.title-row h3{
	color:#173b67;
	font-size:28px;
	padding-left:20px;
	border-left:6px solid #4254d1;
}

.empty-state{
	background:#fff;

	padding:48px 32px;

	border:1px solid #e5e7eb;
	border-radius:14px;

	text-align:center;

	box-shadow:
		0 4px 16px rgba(0,0,0,.04);
}

.empty-state h4{
	margin:0 0 12px;

	font-size:24px;
	font-weight:700;

	color:#173b67;
}

.empty-state p{
	margin:0;

	font-size:16px;
	line-height:1.7;

	color:#6b7280;
}


.bid-card{
	position:relative;
	cursor:pointer;
	box-sizing:border-box;
	background:white;
	border-radius:14px;
	column-gap:40px;
	padding:24px 28px;
	display:grid;
	grid-template-columns: 200px 300px 1fr;;
	align-items:center;
	margin-bottom:12px;
	border-left:6px solid #4254d1;
	box-shadow:
	0 6px 24px rgba(22,34,51,.06);
	transition:.2s;
	color:inherit;
	display:grid;
	text-decoration:none;
}

.bid-card::after{
	content:"›";
	position:absolute;
	right:50px;
	top:50%;
	transform:translateY(-50%);
	font-size:50px;
	font-weight:300;
	color:#94a3b8;
	transition:.2s;
}

.bid-card:hover{
    transform:translateY(-3px);
    box-shadow:
        0 8px 24px rgba(0,0,0,.08);
}

.bid-card:hover .content-box h4{
    color:#4254d1;
}

.date-box{
	font-size:20px;
	padding-top:4px;
	align-self:start;
	padding-right:15px;
	padding:16px 18px;
	border-radius:10px;
}

.deadline{
	font-size:20px;
	padding-top:4px;
	align-self:start;
	padding-right:15px;
	background:#fff5f5;
	border:1px solid #fde2e2;
	padding:18px 20px;
	border-radius:10px;
}

.date-box p{
	font-size:20px;
	color:#6b7280;
	margin:0 0 12px;
	margin-bottom:8px;
	line-height:1.2;
	font-weight:500;
}

.deadline p{
	font-size:20px;
	color:#9f1239;
	margin:0 0 12px;
	margin-bottom:8px;
	line-height:1.2;
	font-weight:500;
}

.date-box strong{
	font-size:20px;
	font-weight:700;
	line-height:1;
	color:#6b7280;
}

.deadline strong{
	font-size:20px;
	font-weight:700;
	line-height:1;
	color:#be123c;
	display:inline-block;
}

.status{
	display:inline-block;
	vertical-align:middle;
	padding:4px 10px;
	border-radius:999px;
	font-size:20px;
	font-weight:700;
	line-height:1;
	margin-left:16px;
	border:1px solid currentColor;
}

.status-open{
	background:#e8f1ff;
	color:#2563eb;
	border:1px solid #93c5fd;
}

.status-close{
	background:#f3f4f6;
	color:#6b7280;
	border:1px solid #d1d5db;
}

.expired{
	opacity:.50;
}

.pdf-badge{
    display:inline-block;
    margin-left:24px;
    padding:3px 8px;
    background:#d92b2b;
    color:#fff;
    font-size:20px;
    font-weight:700;
    border-radius:4px;
}

.content-box h4{
	color:#173b67;
	margin:0;
	font-size:24px;
	font-weight:600;
	transition:color .15s ease;
}

.content-box a{
	text-decoration:none;
	color:#1d3557;
	transition:.2s;
	font-weight:600;
	line-height:1.4;
}

.content-box a:hover{
	color:#4254d1;
}

/* Footer */

footer{
	background:#f0eefb;
	margin-top:30px;
	padding:50px 40px;
}

.footer-grid{
	display:grid;
	grid-template-columns: 2fr 1fr;
	gap:80px;
	max-width:1400px;
	margin:0 auto;
}

.footer-grid h1{
	font-size:24px;
	margin-bottom:16px;
	padding-bottom:16px;
	border-bottom:1px solid #d9dee8;
}

.footer-grid a{
	display:block;
	text-decoration:none;
	color:#5b67ee;
	margin-bottom:8px;
}

.footer-links h5{
	font-size:20px;
	border-left:4px solid #4254d1;
	padding-left:12px;
	margin-bottom:16px;
	font-size:18px;
	color:#173b67;
}

.footer-links ul{
	list-style:none;
	padding:0;
	margin:0;
}

.footer-links li{
	margin-bottom:18px;
}

.footer-links a{
	transition:.15s;
	text-decoration:none;
	content:"›";
	color:#4254d1;
}

.footer-links a::before{
	content:"›";
	margin-right:8px;
	font-weight:700;
}

.footer-links a:hover{
	text-decoration:underline;
	color:#173b67;
}

/* ========================================
   Responsive
======================================== */

@media screen and (max-width:768px){

	/* Card */
	
	.logo img{
		height:45px;
		width:auto;
		margin-left:0;
	}
	
	.hero-overlay{
		padding-left:10px;
	}
	

	.bid-card{
		width:100%;
		display:flex;
		flex-direction:column;
		gap:14px;
		padding:16px;
	}

	.list-section{
		width:100%;
	}

	.footer-grid{
		display:flex;
		flex-direction:column;
		gap:24px;
	}

}

