@charset "Shift-JIS";

/*------------------------------------*\
	Theme for QUINTBRIDGE
\*------------------------------------*/

/**
 * Base
 */
body {
	line-height: 1.6;
	background: none;
	color: #000;
	font-feature-settings: 'palt';
	font-weight: 500;
}

a,
a:visited,
a:hover {
    color: #0137be;
}

/**
 * Header
 */
.l-header {
	padding-top: 25px;
	padding-bottom: 25px;
	background-color: #fff;
	text-align: center;
}

.logo {
	max-width: 200px;
	margin-left: 0;
}

/**
 * Footer
 */
.l-footer {
	margin-top: 0;
	padding-top: 40px;
	padding-bottom: 40px;
	border: none;
	background-color: #000;
}

.l-footer > .l-container {
	display: block;
}

.footer-links {
	gap: 20px 40px;
}

.footer-links li {
	margin-right: 0;
	font-size: 1.4rem;
}

.footer-links a {
	padding-left: 0;
	background: none;
	color: #fff;
}

.copyright {
	display: block;
	margin-top: 40px;
	font-size: 1.2rem;
	color: #fff;
}

/**
 * Main
 */
.l-main {
	padding-top: 80px;
	padding-bottom: 40px;
	background: none;
	background-color: #F4F4F3;
	/* background-color: #e0dfda; */
}

.l-main a {
	font-weight: bold;
}

/**
 * Headings
 */
.h1 {
	margin-bottom: 60px;
	padding-left: 0;
	padding-bottom: 5px;
	border-bottom: 6px solid #000;
	background: none;
	color: inherit;
	text-align: center;
	font-size: 3.2rem;
}

.h2 {
	margin-top: 80px;
	margin-bottom: 60px;
	padding-bottom: 0;
	padding-inline: 4px;
	width: fit-content;
	line-height: 1.4;
	background: linear-gradient(transparent 70%, rgba(201, 200, 195, 0.5) 70%);
	/* background: none; */
	color: inherit;
	font-size: 2.8rem;
}

.h3 {
	margin-top: 100px;
	margin-bottom: 40px;
	padding: 0;
	background: none;
	border: none;
	color: inherit;
	font-size: 2.4rem;
}

.h2 + .h3 {
	margin-top: 60px;
}

/**
 * Progressbar
 */
.progressbar {
	margin-bottom: 60px;
}

.progressbar > li:before {
	background-color: #DBDBDA;
	color: #000;
}

.progressbar > li:after {
	background-color: #DBDBDA;
}

.progressbar > li.active:before {
	background-color: #000;
	color: #fff;
}

.progressbar > li.active + li:after {
	background-color: #000;
}

/**
 * Table
 */
.table {
	border: none;
	border-top: 2px solid #000;
}

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tbody > tr > td {
	padding: 16px 0;
	border-bottom: 2px solid #000;
}

.table > thead > tr > th,
.table > tbody > tr > th {
	padding-left: 0;
	background-color: transparent;
}

.table > tbody > tr > td {
	padding-left: 18px;
	border-left: none;
}

/**
 * Label
 */
.label:not(.label-require) {
	background-color: #333;
}

.label-require {
    background-color: #ce0000;
}

/**
 * Form
 */
.form-group {
	margin-top: 60px;
}

.form-indent {
	margin-top: 20px;
}

.form-control {
	border: none;
	border-radius: 0;
    background-color: rgba(0,0,0,0.1);
	color: #000;
}

.form-control:focus {
	box-shadow: inset 0 2px 3px rgba(0,0,0,0.3);
    background-color: rgba(0,0,0,0.15);
}

.form-control[disabled] {
	background-color: rgba(0,0,0,0.4);
}

::placeholder {
	color: #555;
}
::-webkit-input-placeholder {
	color: #555; /* webkit */
}
::-ms-input-placeholder {
	color: #555; /* Edge */
}

/**
 * hr
 */
.hr {
	border-color: #000;
	border-style: solid;
}

/**
 * Btn
 */
.p-btn {
	appearance: none;
	position: relative;
	display: inline-block;
	line-height: 1.2;
	min-width: 300px;
	margin: 0;
	padding: 18px 60px 20px;
	border: none;
	background-color: #000;
	border-radius: 50px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: .2s;
	cursor: pointer;
}

.p-btn:hover {
	background-color: #111;
}

.p-btn--white {
	min-width: auto;
	padding: 14px 40px 16px;
	border: 2px solid #000;
	background-color: #fff;
	color: #000;
	font-size: 1.4rem;
}

.p-btn--white:hover {
	background-color: #F4F4F3;
}
