/* CSS Document */

/*PCのスタイル*/
header,
main,
footer {
    position: relative;
}

#head_wrap{
    position: sticky;
    width: 100%;
    margin: 0 auto 0;
    line-height: 1;
    z-index: 9;
    top: 0;
}

#head_wrap a{
    text-decoration: none;
}

#head_wrap .inner{
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
    background: var(--primaryColor);
/*    height: 65px;*/
    align-items: center;
    padding: 0 0 0 15px;
    overflow: hidden;
}
.logo{
    width: 43.5%;
}
.logo > img {
    padding: 5px;
}
#nav-right > ul{
    display: flex;
    justify-content: center;
}
#nav-right > ul li {
    text-align: center;
    margin-right: 10px;
}
#nav-right > ul li a i{
    font-size: clamp(18px, 2.3vw, 30px);
}
#nav-right .inquiry{
    display: block;
    font-size: clamp(9px, 0.73vw, 11px);
}
#nav-right .tel-box{
    padding: 3px 5px;
    background: var(--whiteColor);
    border: 1px solid var(--fontColor);
    border-radius: 5px;
}
#nav-right .header-sum{
    font-size: clamp(9px, 0.73vw, 11px);
}
#nav-right .header-tel{
    font-size: clamp(19px, 1.6vw, 26px);
}

#global-nav{
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
}
#global-nav ul {
    display: flex;
    justify-content: center;
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(20px);
}

#global-nav ul li {
    padding: 0.7em 0;
}
#global-nav ul li a {
    padding: 0 1.2em;
    display: block;
    color: var(--bkColor);
    font-size: clamp(14px, 1.15vw, 17px);
    transition: all .35s ease;
}
#global-nav ul li:not(:last-child) a {
    border-right: 1px solid var(--fontColor);
}
#global-nav .navTel{
    display: inline-block;
    display: none;
}
#global-nav .navTel a i{
    margin-right: 10px;
}

#head_wrap.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    transition: top .35s ease-in;
    -webkit-transition: top .35s ease-in;
    -moz-transition: top .35s ease-in;
    z-index: 999;
}

#nav-toggle div{
    position: relative;
}
footer{
    background: var(--bgColor);
    color: var(--fontColor);
}
.footerInner{
    padding: 1em;
}
.copyr{
    background: var(--glaybase);
    text-align: center;
    font-size: clamp(10px, 0.8vw, 13px);
    padding: 7px;
}
footer h5 {
    font-size: clamp(18px, 1.57vw, 25px); 
    font-weight: 600;
    display: flex;
    align-items: flex-end;
    line-height: 1;
    border-bottom: 1px solid var(--whiteColor);
    padding-bottom: 10px;
}
footer h5 figure {
    margin-right: 5px;
}
.footerAddress{
    margin-top: 1.2rem;
}
.footerNav{
    display: inline-flex;
    justify-content: center;
    flex-wrap: wrap;
    border-top: 1px solid var(--glayColor);
    border-bottom: 1px solid var(--glayColor);
    gap:0 20px;
}
.footerNav > li {
}
.footerNav li a {
    display: block;
    font-size: clamp(12px, 0.95vw, 15px); 
    padding-top: 10px;
    padding-bottom: 10px;
    transition: all .35s ease;
}
.footerBottom{
    text-align: center;
}
.footerUpper{
    display: flex;
    gap:30px;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 2em auto;
}
.footerUpper .bnrArea{
    flex-basis: 75%;
}
.footerUpper .profileArea{
    flex-basis: calc(25% - 30px);
}
.footerUpper .bnrArea > ul {
    display: flex;
    gap:15px;
    flex-wrap: wrap;
    justify-content: center;
}
.footerUpper .bnrArea > ul > li{
    flex-basis: calc(33.333% - 15px);
    transition: all .35s;
}
.footerUpper .profileArea{
    background: var(--whiteColor);
    padding: 1em;
    text-align: center;
}
.footerUpper .profileArea a{
    font-size: clamp(19px, 1.6vw, 26px);
    font-weight: bold;
}
.footerUpper .profileArea .footerSum{
    font-size: clamp(12px, 0.93vw, 15px);
    line-height: 1.3;
}
.footerUpper .profileArea .footerLogo{
    width: 85%;
    margin: auto;
}
.footerUpper .profileArea .footerLogo img {
    margin: 1rem auto 0;
    
}


a[href^="tel:"]{
    margin-left: 5px;
    font-family: "Barlow", sans-serif;
    font-weight: bold;
}

a[href^="tel:"] > i {
    margin-right: 5px;
}

.access{
    margin: auto;
}
.access > ul{
    position: relative;
    display: flex;
    justify-content: space-between;
}
.access > ul > li{
    flex-basis: 48%;
}
.access .mapCon dl{
    display: flex;
    align-items: center;
    margin-bottom: 4%;
}
.access .mapCon dl.companyName{
    border-bottom: 1px dotted;
    margin-bottom: 7%;
}
.access .mapCon dl.companyName dd{
    font-size: clamp(18px, 1.4vw, 22px);
    font-weight: 600;
}
.access .mapCon dl dd{
    font-size: clamp(15px, 1.15vw, 18px);
    font-weight: 400;
    line-height: 1.3;
}
.access .mapCon dl dt {
    line-height: 1;
    font-size: clamp(20px, 1.9vw, 30px);
    margin-right: 5px;

}
.topBorder{
    border-top: 1px solid var(--glayColor);
    display: block;
}
.phone{
    display: flex;
}
.phone .phoneNum{
    font-size: clamp(19px, 1.6vw, 26px);
    font-weight: 500;
    padding-right: 10px;
}
.phone .phoneNum a {
    padding: 5px;
}
.phone .holiday{
    font-size: clamp(12px, 0.95vw, 15px);
    line-height: 1.2;
    padding-left: 15px;
    border-left: 1px solid var(--glayColor);
}
.btnArea{
    margin: 5% auto 0;
}
.btnArea a {
    display: block;
    padding: 1rem;
    background: var(--secondaryColor);
    color: var(--whiteColor);
    font-size: clamp(17px, 1.25vw, 20px); 
    border-radius: 5px;
    max-width: 410px;
    margin: auto;
    text-align: center;
    transition: all .35s;
}




@media (any-hover: hover) {
/*:hover はここに書く*/
    #global-nav ul li a:hover {
        color: var(--secondaryColor);
        transform: translateY(-1px);
    }
    .footerNav li:hover a {
        color: var(--secondaryColor);
    }
    .btnArea a:hover{
        transform: translateY(-5px);
        opacity: .85;
        box-shadow: 3px 6px 6px var(--shadowColor);
    }
    .footerUpper .bnrArea > ul > li:hover{
        transform: translateY(-3px);
        box-shadow: 0 6px 6px var(--shadowColor);
    }
    }
    











@media screen and (max-width:1100px){
    #head_wrap{
        top: 0;
        width: 100%;
        padding: 0;
    }
    #head_wrap .inner{
        width: 100%;
        padding: 0;
        overflow: visible;
    }
    #head_wrap .fixed{
        padding-top: 0;
    }
    #mobile-head{
        background: var(--primaryColor);
        width: 100%;
        z-index: 999;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px;
    }

    #nav-toggle{
        width: 34px;
        height: 36px;
        cursor: pointer;
        z-index: 101;
    }
    #global-nav{
        display: block;
        position: absolute;
        top: -504px;
        background: var(--primaryColor);
        width: 100%;
        text-align: center;
        opacity: 0;
        -webkit-transition: .2s ease-in-out;
        -moz-transition: .2s ease-in-out;
        transition: .2s ease-in-out;
    }
    #global-nav ul {
        position: relative;
        right: 0;
        bottom: 0;
        font-size: 14px;
        flex-direction: column;
        width: 100%;
        background: #FDF8DD;
    }
    #global-nav ul li {
        position: relative;
        padding: 10px;
    }
    #head_wrap #global-nav ul li a,
    #head_wrap.fixed #global-nav ul li a{
        width: 100%;
        display: block;
        padding: 0.5rem 0;
        cursor: pointer;
    }
    #global-nav .navTel{
        display: block;
    }
    #nav-toggle{
        display: block;
    }
    #nav-toggle span {
        display: block;
        position: absolute;
        height: 4px;
        width: 100%;
        background: var(--bkColor);
        left: 0;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }
    #nav-toggle span:nth-child(1){
        top: 5px;
    }
    #nav-toggle span:nth-child(2){
        top: 16px;
    }
    #nav-toggle span:nth-child(3){
        top: 27px;
    }
    .open #nav-toggle span:nth-child(1){
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2){
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3){
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    .open #global-nav{
        -moz-transform: translatey(560px);
        -webkit-transform: translatey(560px);
        transform: translatey(560px);
        opacity: 1;
    }
    #global-nav .navTel a{
    display: block;
    font-family: "Barlow", sans-serif;
    font-weight: bold;
    font-size: clamp(20px, 2vw, 30px);
    color: var(--fontColor);
}
    #nav-right {
        display: none;
    }
    .logo{
        width: 15%;
    }
    .logo > img{
        padding: 0;
    }
#global-nav ul li:not(:last-child) a {
    border-right: none;
}
    .footerUpper{
        flex-direction: column;
    } 
.footerUpper .profileArea .footerLogo{
    width: 100%;
    }
.footerUpper .profileArea .footerLogo img {
    margin: 0.5rem auto 0;
    max-width: 220px;
}
    
    
    
    
    
  
}


/*iPad用*/
@media screen and (max-width:820px){
    .access > ul > li.map{
        flex-basis: 46%;
    }
    .access > ul > li.mapCon{
        flex-basis: 51%;
    }
    
    
    
}

/*メニュー部分*/
@media screen and (max-width:700px){
    #head_wrap .inner{
    }

    #mobile-head{
        padding: 10px 6px;
    }
    .logo{
        width: 35%;
    }
    .footerUpper .bnrArea > ul{
        flex-direction: column;
    }
    .footerNav{
        display: flex;
        flex-direction: column;
    }
    .btnArea{
        margin: 5% 5% 0;
    }
    .access > ul{
        display: block;
    }
    .access > ul > li.map{
        height: 350px;
    }
    .access > ul > li.mapCon{
        margin-top: 7%;
    }
    .access .mapCon dl dd{
        flex-grow: 1;
    }
    .phone{
        flex-direction: column;
    }
    .phone .holiday{
        border-left: none;
    }
    .access .mapCon dl dt{
        flex-basis: 8%;
    }
    .phone .phoneNum a{
        font-size: 28px;
    }
      

  
}


