
body {
    background: linear-gradient(to bottom, #000000, #434343);
    background-size: cover;
    background-attachment: fixed;
    height: 100vh;
    margin: 0;
    color: #fff;
}

img {
    width: 100%;
}

.pc {
    display: block;
}
.pc-inline {
    display: inline-block;
}
.sp {
    display: none;
}
@media screen and (max-width: 500px) {
    .pc {
        display: none;
    }
    .pc-inline {
        display: none;
    }
    .sp {
        display: block;
    }
}

/* 共通指定 320-1200
====================================================*/
section {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
@media screen and (max-width: 1250px) {
    .section-in {
        padding: 0 2%;
    }
}
h1 {
    font-weight: 800;
    font-size: clamp(1.375rem, 1.1477rem + 1.1364vw, 2rem); /* 22px~32px */
}
h2 {
    font-weight: 800;
    font-size: clamp(1.125rem, 0.9432rem + 0.9091vw, 1.625rem); /* 18px~26px */
}
h3 {
    font-weight: 500;
    font-size: clamp(1.125rem, 0.9432rem + 0.9091vw, 1.625rem); /* 18px~26px */
}
h4 {
    font-weight: 500;
    font-size: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem); /* 16px~20px */
}
th {
    font-weight: 800;
    font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14px~16px */
}
td {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14px~16px */
    word-break: break-all;
}
p {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14px~16px */
}
a {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14px~16px */
    word-break: break-all;
    color: #fff;
    text-decoration: none;
}
li {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14px~16px */
}
pre {
    white-space: pre-wrap;
    font-weight: 400;
    font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14px~16px */
}
/* 16px~32px */
.pm {
    margin: clamp(1rem, 0.6364rem + 1.8182vw, 2rem) 0;
}
.pmt {
    margin-top: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
.pmb {
    margin-bottom: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
.pp {
    padding: clamp(1rem, 0.6364rem + 1.8182vw, 2rem) 0;
}
.ppt {
    padding-top: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
.ppb {
    padding-bottom: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
/* 8px~16px */
.pm05 {
    margin: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem) 0;
}
.pmt05 {
    margin-top: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
.pmb05 {
    margin-bottom: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
.pp05 {
    padding: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem) 0;
}
.ppt05 {
    padding-top: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
.ppb05 {
    padding-bottom: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
/* 2px~4px */
.pm005 {
    margin: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem) 0;
}
.pmt005 {
    margin-top: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}
.pmb005 {
    margin-bottom: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}
.pp005 {
    padding: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem) 0;
}
.ppt005 {
    padding-top: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}
.ppb005 {
    padding-bottom: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}

/* ヘッダー
====================================================*/
.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2%;
    margin-top: 20px;
    width: 100%;
    text-align: left;
}
.header-top a {
    display: flex;
    align-items: center;
    word-break: normal;
}
.header-top p {
    font-size: clamp(1rem, 0.6818rem + 1.5909vw, 1.875rem);
    width: auto;
    margin-left: clamp(0.625rem, 0.4886rem + 0.6818vw, 1rem);
}
.header-top a img {
    height: clamp(1rem, 0.6818rem + 1.5909vw, 1.875rem);
    width: auto;
}
header ul {
    display: flex;
    justify-content: space-between;
    padding: 0;
    list-style: none;
    width: 100%;
    border-top: #767676 solid 1px;
    border-bottom: #767676 solid 1px;
}
header ul li {
    width: 20%;
    text-align: center;
    display: flex;
    align-items: center;
    background-color: #000000;
}
header ul li a {
    display: block;
    padding: 10%;
    font-size: clamp(0.875rem, 0.625rem + 1.25vw, 1.5625rem);
    text-decoration: none;
    color: white;
    background-color: transparent;
    width: 100%;
    height: 100%;
    word-break: normal;
    justify-content: center;
    display: flex;
    align-items: center;
}
header ul li:hover {
    background-color: #222222;
}
header ul li .active {
    background-color: #383838;
}

@media screen and (max-width: 500px) {
    header ul {
        flex-wrap: wrap;
    }
    header ul li {
        width: 33.33%;
    }
}
/* フッター
====================================================*/
.footerFixed{
    min-height: 100vh;
    position: relative;
    padding-bottom: 60px;
    box-sizing: border-box;
}

footer{
    position: absolute;
    bottom: 0;
    color: #fff;
    text-align: center;
    width: 100%;
}