@charset "utf-8";


/* =====================
COMMON
===================== */
#gNavi .navi06 a {
    height: 45px;
}
.comFixUl {
    width: 66px;
}
.comFixUl li {
    width: 66px;
}
.comFixUl li a {
    width: 66px;
    font-size: 17px;
}
.comFixUl li .info {
    margin: 17px 20px 0 0;
}
.comFixUl .link01 {
    height: 210px;
}
.comFixUl .link01 a {
    height: 210px;
    background: #E8382E;
}
.comFixUl .link01 .info {
    height: 184px;
    margin: 15px 20px 0 0;
    background-size: 20px auto,20px auto;
}
.comFixUl .link02 {
    height: 165px;
}
.comFixUl .link02 a {
    height: 165px;
    background: #0058A6;
}
.comFixUl .link02 .info {
    height: 137px;
    padding: 24px 0 0;
    background-size: 20px auto,20px auto;
}
.comFixUl .link03 {
    height: 165px;
}
.comFixUl .link03 a {
    height: 165px;
    background: #9B8E00;
}
.comFixUl .link03 .info {
    height: 137px;
    padding: 24px 0 0;
    background-size: 20px auto,20px auto;
}
@media (min-width: 0) and (max-width: 767px) {
    .spBox .linkList {
        margin: 0 80px 100px;
    }
    .spBox .linkList li {
        width: 100%;
    }
    .spBox .linkList li:nth-of-type(n+2) {
        margin-top: 5px;
    }
    .spBox .linkList .link01 a {
        background: #E8382E;
    }
    .spBox .linkList .link02 a {
        background: #0058A6;
    }
    .spBox .linkList .link03 a {
        background: #9B8E00;
    }
}


/* =====================
mainVisual
===================== */
#main .mainVisual .slide__copy {
    position: absolute;
    top: 10%;
    left: 5%;
    font-size: 23px;
    font-weight: bold;
    line-height: 2.6;
    letter-spacing: 0.3em;
    font-feature-settings: "palt";
}
#main .mainVisual .slide__copy.fcNVY {
    color: #142962;
}
#main .mainVisual .slide__copy.fcWHT {
    color: #FFF;
}

@media (min-width: 0) and (max-width: 767px) {
    #main .mainVisual .slide__copy {
        top: 5%;
        font-size: 12px;
        line-height: 1.5;
    }
}


/* =====================
TOP
===================== */
.index .inforBox {
    background: none;
}
.index .inforBox .newsBox {
    border: none;
}
.index .newsDl .date {
    font-size: 14px;
}
.index .inforBox .contentBox {
    width: 1080px;
}
.index .inforBox .comH2 {
    max-width: 280px;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
.index .inforBox dt {
    position: relative;
    width: 175px;
    text-align: left;
    padding: 0;
    float: none;
}
.index .inforBox .newsDl {
    display: flex;
    letter-spacing: 0.075em;
    border-top: 1px dotted #231815;
    padding: 20px 0;
}
.index .inforBox .newsDl:last-of-type {
    border-bottom: 1px dotted #231815;
}
.index .inforBox dt.new:after {
    content: 'NEW';
    position: absolute;
    top: 0;
    right: 30px;
    display: block;
    color: #A00D23;
    border:1px solid #A00D23;
    font-size: 11px;
    font-weight: bold;
    padding: 0 5px;
}
.index .inforBox dd {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: calc(100% - 175px);
    border: none;
    padding:0;
    float: none;
}
.index .inforBox dd .category {
    position: static;
    width: 112px;
    background: none!important;
    color: #231815!important;
    border: 1px solid;
    line-height: 1.5;
    letter-spacing: 0;
    padding: 0;
}
.index .inforBox dd .category span {
    max-width: none;
    font-size: 11px;
    font-weight: normal;
}
.index .inforBox dd .txtSpan {
    width: calc(100% - 150px);
}
.index .inforBox .comView {
    width: 300px;
    height: 40px;
    border: 1px solid #231815;
    border-radius: 8px;
    margin: 40px auto 0;
    padding: 0;
    float: none;
}
.index .inforBox .comView a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 15px;
    padding: 0;
    background: none;
}
@media (min-width: 0) and (max-width: 767px) {
    .index .inforBox .newsDl {
        flex-direction: column;
        width: 100%;
    }
    .index .inforBox .comH2 {
        max-width: 200px;
    }
    .index .inforBox dd {
        flex-direction: column;
        width: 100%;
    }
    .index .inforBox dd .txtSpan {
        width: 100%;
    }
    .index .inforBox dd .category {
        margin: 5px 0;
    }
}

.index .serviceBox .contentBox {
    padding-top: 32px;
}
.index .serviceBox .topBox {
    width: 780px;
    margin-bottom: 150px;
}
.index .serviceBox .topBox a {
    padding: 0;
    background: none;
     border-radius: 0;
}
@media (min-width: 0) and (max-width: 767px) {
    .index .serviceBox .contentBox {
        padding-top: 30px;
    }
    .index .serviceBox .topBox {
        width: 100%;
        margin-bottom: 100px;
    }
}


.index .serviceBox .serviceList {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.index .serviceBox .serviceList li .serviceList__inr {
    position: relative;
    background-size: auto 100%;
    background-position: center center;
    background-repeat: no-repeat;
    transition: .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 10px;
}
.index .serviceBox .serviceList li .serviceList__inr span {
    position: relative;
    z-index: 10;
}
.index .serviceBox .serviceList li .serviceList__inr .ttl {
    color: #FFF;
    letter-spacing: 0.14em;
    line-height: 1.9;
    padding-left: 0.14em;
    font-feature-settings: "palt";
}
.index .serviceBox .serviceList li .serviceList__inr .moreBox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 35px;
    background: #FFF;
}
.index .serviceBox .serviceList li .serviceList__inr--box {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    background: rgba(19,45,51,.3);
    transform: translate(-50%,-50%);
    transition: .3s;
}
.index .serviceBox .serviceList a:hover {
    text-decoration: none;
}
.index .serviceBox .serviceList a:hover .serviceList__inr {
    background-size: auto 120%;
}
.index .serviceBox .serviceList a:hover .serviceList__inr--box {
    width: 100%!important;
    height: 100%!important;
}

.index .serviceBox .serviceList .li01 .serviceList__inr {
    background-image: url(img/index/serviceList01.jpg);
}
.index .serviceBox .serviceList .li02 .serviceList__inr {
    background-image: url(img/index/serviceList02.jpg);
}
.index .serviceBox .serviceList .li03 .serviceList__inr {
    background-image: url(img/index/serviceList03.jpg);
}
.index .serviceBox .serviceList .li04 .serviceList__inr {
    background-image: url(img/index/serviceList04.jpg);
}
.index .serviceBox .serviceList .li05 .serviceList__inr{
    background-image: url(img/index/serviceList05.jpg);
}

.index .serviceBox .serviceList.col2 li {
    width: 46%;
}
.index .serviceBox .serviceList.col2 li .serviceList__inr {
    width: 100%;
    height: 315px; 
}
.index .serviceBox .serviceList.col2 li .serviceList__inr--box {
    width: 230px;
    height: 210px;
}
.index .serviceBox .serviceList.col2 li .serviceList__inr .ttl {
    font-size: 35px;
}
.index .serviceBox .serviceList.col2 li .txtSpan {
    display: block;
    width: 80%;
    margin: 0 auto;
    text-align: justify;
}
.index .serviceBox .serviceList.col3 {
    margin-top: 60px;
}
.index .serviceBox .serviceList.col3 li {
    width: 29.5%;
}
.index .serviceBox .serviceList.col3 li .serviceList__inr {
    width: 100%;
    height: 230px; 
}
.index .serviceBox .serviceList li .serviceList__inr--box {
}
.index .serviceBox .serviceList.col3 li .serviceList__inr--box {
    width: 185px;
    height: 166px;
}
.index .serviceBox .serviceList.col3 li .serviceList__inr .ttl {
    font-size: 25px;
    line-height: 1.35;
    margin-bottom: 10px;
    text-align: center;
}
.index .serviceBox .serviceList.col3 li .txtSpan {
    display: block;
    width: 80%;
    margin: 0 auto;
    text-align: justify;
}
@media (min-width: 0) and (max-width: 767px) {
    .index .inforBox .contentBox {
        width: auto;
    }
    .index .serviceBox .serviceList {
        flex-direction: column;
    }
    .index .serviceBox .serviceList.col2 li,
    .index .serviceBox .serviceList.col3 li {
        width: 100%;
    }
    .index .serviceBox .serviceList.col3 {
        margin-top: 25px;
    }
    .index .serviceBox .serviceList.col2 li:nth-of-type(n+2),
    .index .serviceBox .serviceList.col3 li:nth-of-type(n+2) {
        margin-top: 25px;
    }
}


.company {
    max-width: 1000px;
    padding: 50px;
    margin: 0 auto;
}
.company__ttl {
    font-size: 30px;
    letter-spacing: 0.28em;
    margin-bottom: 25px;
}
.company__txt {
    position: relative;
    display: block;
    font-size: 15px;
    line-height: 2.66;
}
.company__txt--ttl {
    color: #307083;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
}
.company__txt .fcGLD {
    color: #C8A62E;
    font-size: 18px;
    font-weight: bold;
}
.company__txt .mt40 {
    margin-top: 40px;
}
.company__txt--name {
    position: absolute;
    color: #307083;
    bottom: 0;
    right: 0;
    font-size: 18px;
    font-weight: bold;
}
.company.philosophy {
    background: #F8F4E6;
    margin-bottom: 60px;
}
.index .btmBox .innerBox {
    display: flex;
    justify-content: space-between;
}
.index .btmBox .rBox {
    float: none;
    width: 45%;
}
.index .btmBox .lBox {
    width: 48%;
}
.index .btmBox .map {
    float: none;
    height: 350px;
    width: 100%;
}
.index .btmBox .map .gm-err-icon {
    width: 50px;
    margin: 0 auto;
    text-align: center;
}
.index .btmBox .map__ttl {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}
.index .btmBox .mapAccess {
    width: fit-content;
    margin-right: 0;
    margin-left: auto;
    margin-top: 10px;
    text-align: left;
    font-size: 12px;
    line-height: 1.6;
}
.index .btmBox .mapAccess dl {
    display: flex;
    justify-content: space-between;
}

.index .btmBox .mapAccess dd {
    margin-left: 10px;
}

.index .btmBox .tabBox__ttl{
    color: #307083;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;

}
.index .btmBox .tabBox__logo {
    width: 190px;
    margin-bottom: 10px;
}
.index .btmBox .rBox table td {
    padding:5px 0;
}
@media (min-width: 0) and (max-width: 767px) {
    .company {
        padding: 25px;
    }
    .company__ttl {
        font-size: 25px;
    }
    .company__txt--name {
        position: static;
        display: block;
        text-align: right;
    }
    .company__txt .mt40 {
        margin-top: 20px;
    }
    .index .btmBox .innerBox {
        flex-direction: column;
    }
    .index .btmBox .rBox {
        float: none;
        width: 100%;
    }
    .index .btmBox .lBox {
        width: 100%;
    }
    .index .btmBox .map {
        float: none;
        height: 250px;
        width: 100%;
    }
    .index .btmBox .map__ttl + img {
        width: 100%;
    }
    .index .btmBox .mapAccess {
        text-align: left;
        padding: 0 0 0 5px;
        margin-left:auto;
        margin-right:auto;
        font-size: 11px;
        line-height: 1.8;
    }
    .index .btmBox .mapAccess dd {
        margin-left: 5px;
    }

}

.information h2 {
    max-width: 280px;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 46px;
    padding: 0;
    background: none;
    border: none;
    width: 100%;
}
@media (min-width: 0) and (max-width: 767px) {
    .information h2 {
        max-width: 200px;
    }
}

@media (min-width: 0) and (max-width: 767px) {
    .index .inforBox dd .txtSpan {
        white-space: normal;
        text-overflow: clip;
    }
    #gFooter .fNavi li {
        border-right: 0;
        border-bottom: 1px solid #fff;
    }
    #gFooter .fNavi li:nth-of-type(odd) {
        width: calc(50% - 1px);
        border-right: 1px solid #fff;
    }
    #gFooter .fNavi li a {
        border: none;
    }
}

    #gFooter .fNavi li a {
        margin: 0 25px;
    }
/* =====================
FORM
===================== */
#main .contact .headLine03 span {
    font-size: 14px;
}
#main .contact .headLine03 a {
    text-decoration: underline;
}