p,span,h1,h2,h3,a {
    letter-spacing: 0.1em;
}
img {
    width: 100%; height: auto;
}
body {
    background-color: #fff;
}
header ul {
    display: flex;
    gap: 30px;
    font-size: 13px;
}
header ul li{
    color: #f6f7f8;
}
header {
    position: absolute;
    top: 0;
    z-index: 99;
    display: flex;
    width: 100%;
    gap: 40%;
    justify-content: center;
    padding-top: 50px;
    align-items: center;
}
.img-box {
    width: 250px;
}
a {
    transition: .3s;
}
/*==========FVスライダー==============*/
.swiper {
    position: relative;
    height: 95vh;
    margin-bottom: 6rem;
}

.swiper-slide img {
    width: 100%; /* 画像の幅を親要素の幅に合わせる */
    height: auto; /* 画像の高さを自動に設定 */
    display: block; /* 画像の余白を消す */
}
/*
.swiper::after {
    content: "";
    width: 100%;
    height: 4%;
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: 10;
    background-image: url('../img/fv-lay.png');
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
*/
.over-ray {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/fv-lay.png) no-repeat;
    background-size: contain;
    background-position: 0 bottom;
    z-index: 90;
}

.swiper::before {
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    left: 50%;
    bottom: 10%;
    transform: rotate(135deg);
    z-index: 999;
}
/*==========sec1_text-box==============*/
.top-t {
    text-align: left;
    width: 350px;
    margin: 0 auto;
}
.top-t h1{
    font-weight: 400;
    margin-bottom: 2rem;
    text-align: center;
    letter-spacing: 0.1em;
}
.top-t p {
    margin-bottom: 1.5rem;
    line-height: 1.8rem;
}
.pas-pol {
    text-align: center;
    margin-bottom: 24px;
    font-weight: 600;
}
#top-section {
    background-color: #f6f7f8;
    padding-bottom: 60px;
}
.pas-pol {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: url(../img/concept-siteLogo@2x.png) no-repeat;
    width: 211px;
    height: 54px;
    background-size: 211px 54px;
    margin: 35px auto;
}

/*==========sec2==============*/
#section-2 {
    padding: 70px 0;
}
.sec2-wrapper {
    width: 60%;
    margin: 0 auto;
    max-width: 820px;
}
.fl-title {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px;
}
.fl-title a {
    border: 1px solid #000;
    padding: 6px 45px;
    transition: .2s;
    position: relative;
}
.gr-sec2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    row-gap: 60px;
    padding: 0 20px;
}
.fl-title a::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 1px #000;
    border-right: solid 1px #000;
    position: absolute;
    right: 10%;
    top: 41.5%;
    transform: rotate(45deg);
    z-index: 999;
    transition: border-color 0.3s;
}
.fl-title a:hover {
    background-color: #000;
    color: #fff;
}
.fl-title a:hover::after {
    border-top-color: #fff;
    border-right-color: #fff;
}
.gl-box__sec2 h3 {
    width: 180px;
}
.gr-sec2 a:hover {
    opacity: .6;
}
.title-decoration {
    background: url(../img/sectionTitle-underLine@2x.png) no-repeat;
    background-size: 68px 8px;
    background-position: 0 bottom;
    line-height: 1;
}
/*==========sec3==============*/
.sec3-wrapper {
    width: 60%;
    margin: 0 auto;
    max-width: 820px;
}
#section-3 {
    background-color: #f6f7f8;
    padding: 70px 0;
}
.fl-box_sec3 {
    display: flex;
    gap: 25px;
    margin-bottom: 50px;
}
.img-box__sec3 {
    width: 35%;
}
.t-box__sec3 {
    width: 65%;
}
.t-box__sec3 p,
.t-box__sec3 time {
    color: gray;
    font-size: 11px;
    line-height: 1.7em;
}
.t-box__sec3 h3 {
    font-weight: 600;
}
.t-box__sec3 p {
    margin-top: 20px;
}
.fi-sec3 a:hover {
    opacity: .5;
}

/*==========sec4==============*/
#section-4 {
    padding: 50px 0;
    position: relative;
}
.sns-link {
    padding: 10px;
    display: inline-block;
    text-align: center;
    font-size: 14px;
}
.fb-link {
    border: 1px solid #475dff;
    color: #475dff;
    width: 180px;
    transition: .2s;
}
.x-link {
    border: 1px solid #77baf8;
    color: #77baf8;
    width: 180px;
    transition: .2s;
}
.hatena-link {
    border: 1px solid #186ebf;
    color: #186ebf;
    width: 180px;
    transition: .2s;
}
.gr-box__sec4 {
    text-align: center;
    display: flex;
    gap: 30px;
    justify-content: center;
}
.button-img img {
    width: 50px;
}
.button-img {
    position: absolute;
    top: -15px;
    left: 50%;
    transition: .2s;
}
.button-img:hover {
    top: -20px;
}
.fb-link:hover {
    background-color: #475dff;
    color: #fff;
}
.x-link:hover {
    background-color: #77baf8;
    color: #fff;
}
.hatena-link:hover {
    background-color: #186ebf;
    color: #fff;
}

/*==========footer==============*/
footer ul {
    background-color: #999999;
    color: #fff;
    display: flex;
    gap: 50px;
    justify-content: center;
    padding: 40px 0;
}
footer ul a:hover {
    opacity: .4;
}
footer {
    background-color: #6b6b6b;
}
.footer-logo {
    width: 80px;
}
.footer-logo-box p {
    font-size: 9px;
    color: #fff;
}
.footer-logo-box {
    display: flex;
    align-items: center;
    gap: 260px;
    justify-content: center;
    padding: 40px 0;
}