@charset "UTF-8";

/* ====================
common
======================= */

:root {
    --primary-black:#000000;
    --primary-gray:#4E4B4B;
    --primary-blue:#236194;
    --primary-white:#ffffff;
    --background-color--gray:#F5F5F5;
    --background-color--black:#1E1E1E;  
    --background-color--white:#ffffff;  

}


html {
    font-size: 62.5%;
}
main {
    margin: 0 auto;
    max-width: 1440px;
}
body {

    font-family: "Zen Kaku Gothic New", sans-serif;
    color: var(--primary-black);
    font-style: normal;
    line-height: 1.0; /* 24px */
}

img {
    max-width: 100%;
    height: auto;
}
/* 見出し */
.section__topic {
    font-family: "Zen Kaku Gothic New";
    color: var(--primary-gray);
    font-size: 1.6rem;
    font-weight: 400;
}

.section__topic span {
    font-family: "Roboto", sans-serif;
    color: var(--primary-gray);
    font-weight: 700;
    font-style: normal;
    font-size: 2.4rem;
    letter-spacing: 2.4px;
}
.pcBr {
    display: none;
}
.marker {
    background: linear-gradient(transparent 80%, #ffa100 70%);
}
.under {
    border-bottom: dotted 2px #ffa100;
  }

  
/* pc__見出し */
@media screen and (min-width:769px) {
    .section__topic {
        font-size: 2.0rem;
    }
    .section__topic span {
        font-size: 4.0rem;
        letter-spacing: 4px;
 
    }
    .spBr {
        display: none;
    }
    .pcBr {
        display: block;
    }


}
/* 見出し__375px */


    

  
  /* ====================
header
======================= */

.header {
    padding: 20px 5.8%;
}
.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.header__topic {
    color:var(--primary-black);
    font-family: Roboto;
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

nav {
    display: block;
    position: fixed;
    top: 0;
    left: -300px;
    bottom: 0;
    width: 300px;
    background:var(--background-cokor);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 3;
    opacity: 0;
}
.open nav {
    left: 0;
    opacity: 1;
}
nav .inner {
   margin-top: 0;
}
nav .inner ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
nav .inner ul li {
    position: relative;
    text-align: center;
}
nav .inner ul li a {
    display: block;
    color: var(--primary-white);
    font-size: 1.8rem;
    margin-top: 35px;
    text-decoration: none;
    transition-duration: 0.2s;
}

@media screen and (max-width: 767px) {
    nav {
      left: -100vw;
      width: 100%;
    }
}
/* pc__header */
@media screen and (min-width:769px) {
    .header {
        position: fixed;
        width: 100%;
        box-sizing: border-box;
        top: 0;
        left: 0;
        align-items: center;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        padding: 20px 88px;
        min-width: 1325px;
        z-index: 1;
        background-color: var(--background-color--black);


        /* margin: 0 auto;
        display: flex;
        justify-content: space-between;
        padding: 35px 88px;
        min-width: 1280px;
        max-width: 1440px; */
    }
    .header__inner {
        margin: 0 ;
    }
    .header__topic {
        font-size: 4.0rem;   
        color: var(--background-color--white);     
    }
    nav {
        background: transparent;
        width: auto;
        height: auto;
        padding: 0;
        position: static;
        transform: translate(0);
        opacity: 1;
    }
    .nav__topic {
        display: none;
        margin: 0 auto;
    }
    nav .inner {
        display: flex;
    }
    nav .inner ul {
        display: flex;
        margin: 0 auto;
        gap: 40px;
        align-items: center;
    }

    nav .inner ul li a {
        display: inline-block;
        margin: 0 auto;
        font-size: 1.8rem;
        font-weight: 500;
        position: relative;
        }
    nav .inner ul li a::after{
        content: '';
        width: 100%;
        height: 8px;
        background:var(--primary-blue);
        position: absolute;
        bottom: 0px;
        left: 0;
        z-index: -1;
        transition: all .3s;
        transform: scale(0, 1);
        transform-origin: left top;
        }
    nav .inner ul li a:hover::after{ 
        transform: scale(1, 1); 
        
        }
        
    
    /* nav .inner ul li a {
        display: flex;
        margin: 0 auto;
        color: var(--background-color--white);
    } */


}
/* header__375px */

/* .toggle_btn */
 
.toggle_btn {
    display: block;
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    transition: all .5s;
    cursor: pointer;
    z-index: 3;
}
.toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #333;
    border-radius: 4px;
    transition: all .5s;
}
.toggle_btn span:nth-child(1) {
    top: 4px;
}
.toggle_btn span:nth-child(2) {
    top: 14px;
}
.toggle_btn span:nth-child(3) {
    bottom: 4px;
}
.open .toggle_btn span {
    background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(-315deg);
    transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
    opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(315deg);
}
/* pc__toggle */
/* @media screen and (min-width:769px) {
    .close .toggle_btn

    
}
toggle__375px */


  /* mask */
#mask {
    display: none;
    transition: all .5s;
}
.open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .8;
    z-index: 2;
    cursor: pointer;
}
  

.nav__header {
    padding: 20px 5.8%;
}
.nav__topic {
    color:var(--primary-white);
    font-family: Roboto;
    font-size: 3.3rem;

}


.nav__btn {
    background: linear-gradient(90deg, #85CAE5 0%, #d4a3f2 100%);
    display: block;
    width: 280px;
    height: 90px;
    padding: 22px 19px ;
    justify-content: center;
    text-align: center;
    position: relative;
    margin: 0 auto;
    margin-top: 20px;
    color: #404040;
    font-size: 2.2rem;
    font-weight: 700;
    border-radius: 20px;
    transition: all .2s;
}

.nav__btn::after {
    content: "";
    display: inline-block;
    width: 23px;
    height: 18px;
    background-image: url(../images/arrouw_1.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
}
.nav__btn:hover {
    transform: scale(1.1, 1.1);
}


.nav__btn span {
    font-size: 1.9rem;
    font-weight: 400;
    margin: 0 auto;
}

.nav__btn--driver {
    background: linear-gradient(-90deg, #85CAE5 0%, #7DF07E 100%);

}

.nav__contact {
    text-align: center;
    margin: 35px 13px;
}

/* contact btn */

.contact__btn {
    background: #236194;
    display: block;
    width: 180px;
    height: 48px;
    padding: 14px 30px ;
    border-radius: 50px;
    margin: 0 auto;
    margin-top: 35px;
    color: var(--primary-white);
    font-size: 2.0rem;
    font-weight: 700;
    transition: all .2s;  
}
.contact__btn:hover{
    transform: scale(1.1, 1.1);
  }

/* TEL */
.nav__call {
    position: relative;
    display: block;
    width: 182px;
    margin: 0 auto;
    color: var(--primary-white);
    font-family: Roboto;
    font-size: 2.4rem;
    margin-top: 31px;
}
.nav__call::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../images/phone.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
}



.nav__txt {
    color: var(--primary-white);
    text-align: center;
    font-size: 1.5rem;
    margin-top: 32px;
}
/* pc__header */
@media screen and (min-width:769px) {
    #mask {
        display: none;
        transition: none;
    }
    .open #mask {
        display: none;
        
    }
    .nav__header {
        padding: 0;
    }
    .nav__btn {
        display: none;
    }
    .contact__btn {
        display: flex;
        margin: 0;
        margin-left: 32px;
        width: 180px;
        height: 40px;
        padding: 10px 30px;
    }
    .nav__call {
        color: var(--primary-black);
        margin: 0 auto;
        color: var(--background-color--white);
    }
 
    .nav__contact {
        display: flex;
        margin: 0 auto;
        gap: 32px;
        align-items: center;

    }
    .nav__txt {
        display: none;
    }
    .toggle_btn {
        display: none;
    }
 
    
 
    
}
/* toggle__375px */

.backcolor {
    background-color: var(--background-color--white);
    position: relative;
}
/* ====================
CONTACT
======================= */
.section--contact {
    position: absolute;
    transform: translateY(-114px);
    width: 100%;
    margin: 0 auto;
    max-width: 1440px;

}
.contact__content {
    background-color: var(--background-color--white);
    margin: 0 20px;
    padding: 20px 0;

}


.contact__txt {
    margin-top: 32px;
    color: var(--primary-black);
    text-align: center;
    font-size: 1.5rem;
}

.contact__call {
    position: relative;
    display: block;
    width: 182px;
    margin: 0 auto;
    color: var(--primary-blue);
    font-family: Roboto;
    font-size: 2.4rem;
    margin-top: 31px;
    text-align: center;
}
.contact__call::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../images/phone_blue.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    
}
.contact__box .contact__btn {
    margin-top: 32px;

}
/* pc__CONTACT */
@media screen and (min-width:769px) {

    .contact__content {
        margin: 0 26.4%;
        padding: 32spx 0;
        min-width: 475px;
    }

    .contact__txt {
        font-size: 1.8rem;
    }
    .contact__call {
        width: 350px;
        font-size: 4.0rem;
    }
    .contact__call::before {
        width: 50px;
        height: 50px;
        left: -10px;
        top: 50%;
        transform: translateY(-50%);    
    }
    .contact__box .contact__btn {
        width: 280px;
        height: 50px;
        padding: 12px 67px;
        margin: 0 auto;
        margin-top: 35px;
        font-size: 2.4rem;
     }
    
}
/* CONTACT__375px */

/* ====================
FOOTER
======================= */

.footer__content {
    background-color: var(--background-color--black);
  
}
.footer__inner {
    background-color: var(--background-color--black);
    padding: 277px 0 10px 0;
}

.nav__list{
    background-color: var(--background-color--black);
    text-align: center;
}
.nav__item {
    color: var(--primary-white);
    font-size: 1.6rem;
    margin-top: 20px;
}


.footer__content .logo {
    display: block;
    text-align: center;
    margin-top: 32px;
    color: var(--primary-white);
    font-family: Roboto;
    font-size: 3.2rem;
}
.footer__content .instagram {
    display: block;
    text-align: center;
    margin-top: 32px;
}
.footer__content .copylight {
    display: block;
    margin-top: 32px;
    color: var(--primary-white);
    text-align: center;
    font-family: Roboto;
    font-size: 1.2rem;
}
/* pc__footer */
@media screen and (min-width:769px) {
    .nav__list {
        display: flex;
        margin: 0 auto;
        margin-top: 102px;
        max-width: 680px;
        gap: 55px;
    }
    .nav__item {
        font-size: 2.0rem;
    }
    .footer__content .logo {
        font-size: 4.0rem;
    }
    
}
/* footer__375px */

/* ====================
TopBtn
======================= */
.topBtn {
    display: inline-block;
    padding: 18px;
    border-radius: 50%;
    background-color: var(--primary-blue);
    color: var(--primary-white);
    font-size: 1.2rem;
    box-shadow: 2px 2px 4px 2px rgba(29, 101, 101, 0.2);
    position: fixed;
    bottom: 1.4%;
    right: 1.4%;
}


/* ====================
fadeIn
======================= */

.fadeIn {
    transform: translate(0,50px);
    opacity: 0;
    transition: 1.0s;
}
.fadeIn.animated {
    transform: translate(0,0);
    opacity: 1;

}


