

header {
text-align: center;
}
header a {
display: block;
padding: 30px 0;
}
header img {
width: 150px;
margin: 0 auto;
}


/*--------------------------------------------------------------------------
lead
---------------------------------------------------------------------------*/

.lead .vis {
width: 100%;
position: relative;
}
.lead .vis::after {
content: "";
width: 100%;
height: 100%;
background: #000;
opacity: 0.3;
position: absolute;
top: 0;
left: 0;
}
.lead .vis img {
width: 100%;
height: 350px;
-o-object-fit: cover;
object-fit: cover;
}
.lead .vis .label {
color: #fff;
text-align: center;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 0;
right: 0;
z-index: 10;
}
.lead .vis .label .main {
font-size: 24px;
font-family: 'Shippori Mincho', serif;
letter-spacing: 0.05em;
}
.lead .vis .label .main br {
display: none;
}


.lead .txt {
text-align: center;
font-family: 'Shippori Mincho', serif;
letter-spacing: 0.05em;
line-height: 2.8;
}

@media screen and (max-width: 960px) {
.lead .vis img {
width: 100%;
height: 250px;
-o-object-fit: cover;
object-fit: cover;
}
.lead .vis .label {
color: #fff;
text-align: center;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 0;
right: 0;
z-index: 10;
}
.lead .vis .label .main {
font-size: 20px;
line-height: 1.8;
}
.lead .vis .label .main br {
display: block;
}
}

@media screen and (max-width: 768px) {
.lead .txt {
font-size: 14px;
text-align: left;
line-height: 2;
}
.lead .txt br {
display: none;
}
}


/*--------------------------------------------------------------------------
report-list
---------------------------------------------------------------------------*/

.report-list .title {
text-align: center;
}
.report-list .title span {
display: block;
margin-bottom: 15px;
}
.report-list .title span img {
width: 200px;
}
.report-list .title h2 {
display: block;
font-size: 13px;
}
.report-list .reports::before {
content: "";
display: block;
width: 31%;
order: 1;
}
.report-list .reports::after {
content: "";
display: block;
width: 31%;
}
.report-list .reports .box {
width: 31%;
margin-bottom: 4%;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.report-list .reports .box:hover {
opacity: 0.5;
}
.report-list .reports .box .label {
margin-top: 20px;
}
.report-list .reports .box .label .catch {
font-family: 'Shippori Mincho', serif;
letter-spacing: 0.05em;
line-height: 1.6;
text-decoration: underline;
}
.report-list .reports .box .label .name {
margin-top: 10px;
font-size: 10px;
color: #aa9d80;
}


.btn-back {
margin: 0 auto;
text-align: center;
}
.btn-back a {
display: inline-block;
padding-bottom: 5px;
background-image: linear-gradient(to right, #333 3px, transparent 1px);
background-size: 6px 1px;
background-repeat: repeat-x;
background-position: left bottom;
font-size: 14px;
line-height: 14px;
font-family: "Noto Serif Display", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
font-variation-settings: "wdth" 100;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.btn-back a:hover {
color: #aa9d80;
background-image: linear-gradient(to right, #aa9d80 3px, transparent 1px);
}

@media screen and (max-width: 960px) {
.report-list .reports::before {
content: "";
display: block;
width: 47%;
}
.report-list .reports::after {
content: "";
display: block;
width: 47%;
}
.report-list .reports .box {
width: 47%;
margin-bottom: 30px;
align-self: flex-start;
}
.report-list .reports .box .cover {
width: 100%;
aspect-ratio: 1 / 1;
}
.report-list .reports .box .cover img {
width: 100%;
height: 100%;
object-fit: cover;
}
.report-list .reports .box .label {
margin-top: 10px;
font-size: 12px;
}
.report-list .reports .box .label .catch {
font-size: 13px;
}
.report-list .reports .box .label .name {
margin-top: 8px;
font-size: 8px;
opacity: 0.5;
}
.report-list .btn-back a {
font-size: 13px;
line-height: 13px;
}
}

@media screen and (max-width: 768px) {
.report-list .title span {
margin-bottom: 10px;
}
.report-list .title span img {
width: 120px;
}
.report-list .title h2 {
display: block;
font-size: 13px;
}
}



/*--------------------------------------------------------------------------
footer
---------------------------------------------------------------------------*/
footer .copy {
text-align: center;
font-size: 12px;
font-family: "Noto Serif Display", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
font-variation-settings: "wdth" 100;
letter-spacing: 0.05em;
}







