@charset "utf-8";

#container {
width: 100%;
height: 100%;
min-height: 100vh;
display: flex;
flex-flow: column;
}

main {
flex: 1;
}

.kv {
width: 100%;
height: 46.5116279vw;
min-height: 200px;
background: url("../images/kv_sp.png") center top no-repeat;
background-size:100% auto;
margin-top: 60px;
display: flex;
align-items: center;
justify-content: flex-end;
}

.kv h2 {
width: 53.488372vw;
height: auto;
margin-right: 20px;
}

@media screen and (min-width: 768px) {
.kv h2 {
width: 36.1458333vw;
max-width: 694px;
margin-right: calc((100% / 2) - (36.14583vw + 60px));
}
}

@media screen and (min-width: 960px) {
.kv {
width: 100%;
height: 500px;
min-height: 500px;
background: url("../images/kv.png") center top no-repeat;
background-size: cover;
margin-top: 55px;
}
}


/* ===============================================
main
=============================================== */
main {
width: 100%;
padding: 60px 15px 150px;
}

section {
width: 100%;
max-width: 960px;
text-align: center;
margin: 0 auto;
}

section:not(:last-child) {
margin-bottom: 100px;
}

section h1 {
font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
font-weight: 400;
position: relative;
display: inline-block;
margin-bottom: 40px;
}

section h1::before {
content: '';
position: absolute;
left: 50%;
bottom: -12px;
display: inline-block;
width: 30px;
height: 4px;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #1D1D1F;
}

@media screen and (min-width: 768px) {
main {
padding: 60px 30px 150px;
}

section:not(:last-child) {
margin-bottom: 150px;
}

section h1 {
margin-bottom: 60px;
}
}

@media screen and (min-width: 1200px) {
main {
width: 100%;
padding: 100px 15px 250px;
}

section:not(:last-child) {
margin-bottom: 200px;
}

section h1 {
margin-bottom: 80px;
}
}


/* ===============================================
fund
=============================================== */
.fund_wrap h2 {
text-align: left;
font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
font-weight: 700;
border-left: 5px solid #E7242E;
padding-left: 0.7em;
line-height: 1.2;
}

.info_btn a {
position: relative;
display: inline-block;
width: 90%;
max-width: 420px;
background: #1D1D1F;
color: #fff;
font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
font-weight: 700;
margin: 20px auto;
line-height: 50px;
padding-right: 10px;
white-space:nowrap;
transition: .3s all;
}

.info_btn a::before {
content: '';
width: 10px;
height: 10px;
border: 0;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
transform: rotate(45deg);
position: absolute;
top: 0;
right: 15px;
bottom: 0;
margin: auto;
}

.info_btn a:hover {
background: #0058A1;
}


@media screen and (min-width: 768px) {
.fund_wrap {
display: flex;
justify-content: space-between;
padding-bottom: 5px;
border-bottom: 1px solid #1D1D1F;
}

.fund_wrap h2 {
flex-grow: 1;
display: flex;
align-items: center;
}

.info_btn {
flex-grow: 2;
text-align: right;
}

.info_btn a {
margin: 0;
line-height: 50px;
padding: 5px 15px 5px 0;
text-align: center;
}

.info_btn a::before {
right: 25px;
}
}

/* ===============================================
company
=============================================== */
.company_table,
.kouji_table {
border-collapse: collapse;
table-layout: fixed;
width: 100%;
border: none;
}

.company_table th,
.company_table td,
.kouji_table th,
.kouji_table td {
display: block;
width: 100%;
border: none;
font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);   
vertical-align: top;
padding: 15px 0;
}

.company_table th,
.kouji_table th {
font-weight: 700;
background: #fff;
line-height: 1;
}

.company_table td,
.kouji_table td {
line-height: 1.5;
}

@media screen and (min-width: 768px) {
.company_table th,
.company_table td,
.kouji_table th,
.kouji_table td {
padding: 15px;
display: table-cell;
text-align: left;
vertical-align: middle;
}

.company_table tr,
.kouji_table tr {
border-bottom: 1px solid #1D1D1F;
}

.company_table th,
.kouji_table th{
margin-bottom: 0;
width: 270px;
background: none;
}
}

/* ===============================================
info
=============================================== */
.info_outer {
width:100%;
text-align: left;
}

.more {
font-size: clamp(0.875rem, 0.833rem + 0.21vw, 1rem);
font-weight: 400;
text-align: right;
line-height: 2;
}

.info_list {
border-bottom: 1px solid #1D1D1F;
}

.article {
padding: 15px 0;
border-bottom: 1px solid #1D1D1F;
}

.article:last-child {
border-bottom:none;
}

.category_wrap {
display: flex;
gap:10px;
margin-bottom: 5px;
}

.time_category {
font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
font-weight: 400;
line-height: 1.6;
}

.info_category {
color: #fff;
font-size: clamp(0.813rem, 0.79rem + 0.11vw, 0.875rem);
width: 100px;
padding:5px;
text-align: center;
}

.info_category.cate1 {
background: #1D1D1F;
border-radius: 3px;
}

.article p a {
line-height: 1.6;
font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
transition: .3s all;
}

.article p a:hover {
color: #0058A1;
}

@media screen and (min-width: 960px) {
.article {
display: flex;
gap: 20px;
}
}

/* ===============================================
contact
=============================================== */
#contact p {
font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
}






