
/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');
/* Reset */
html{font-size: 62.5%; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1;}
body{color: #000000; word-spacing: 0; font-size: 1.6rem; line-height: 2; letter-spacing: 0.04em; font-weight: 400; font-family: "Noto Sans JP", serif;
-webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; overflow-x: hidden;}
[class*="container"]{max-width: 1000px; width: calc(100% - 40px); margin: 0 auto;}
.container-1796{max-width: 1796px;}
@media print {
    body{color-adjust: exact; -webkit-print-color-adjust: exact; print-color-adjust: exact;}
}

*{margin: 0; padding: 0; box-sizing: border-box; border: 0;}
h1, h2, h3, h4, h5, h6{font-size: 100%; font-weight: 500;}
ol, ul{list-style: none;}
table{border-collapse: collapse; border-spacing: 0;}
a{color: inherit; text-decoration: none;}
img{vertical-align: bottom; max-width: 100%; height: auto;}
.m-tit{font-size: min(3vw,3.8rem);font-weight: 600;line-height: 1.5;text-align: center;position: relative;padding-bottom: 40px;z-index: 3;margin-bottom: 40px;}
.m-tit::before{pointer-events: none;position: absolute;left: 50%;z-index: -1;transform: translateX(-50%);}
.m-tit::after{content: '';width: 92px; height: 5px;background: #FE6445;border-radius: 10px;position: absolute;left: 50%;bottom: 0;transform: translateX(-50%);}
.s-tit{font-size: 2.4rem;font-weight: 500;text-align: center;line-height: 1.33;color: #23A1FF;}
.tit-sub{font-weight: 400;text-align: center;line-height: 2.5;letter-spacing: 0.1em;}
.dflex{display: flex;justify-content: space-between;flex-wrap: wrap;}
@media (min-width: 769px){
    a[href^="tel:"]{pointer-events: none;}
    .sp{display: none;}
}

@media (max-width:768px){
    html,body{overflow-x: hidden;}
    .m-tit{font-size: 3.2rem;line-height: 1.6;padding-bottom: 20px;margin-bottom: 20px;}
    .m-tit::before {font-size: 18vw;}
    .s-tit{font-size: 2.8rem;line-height: 1.6;}
    .pc{display: none;}
}
@media (max-width:576px){
    .m-tit{font-size: 5.5vw;}
    .s-tit{font-size: 4.5vw;line-height: 1.6;}
}
/* / reset */

/* header */
header{display: flex;justify-content: space-between;padding:min(2vw,40px) min(3vw,60px) 0 ;background: rgba(365, 365, 365, 0);align-items: center;position: absolute;width: 100%;z-index: 3;}
header p {width: 220px;}
header h1 a:hover{opacity: 0.8;}
header p a{font-size: min(1.6vw,1.6rem);line-height: 1;background: #EF7626;letter-spacing: 0.2em;display: block;max-width: 220px;margin: 0 auto;text-align: center;color: #fff;padding: min(2vw,22px) 0;border-radius: 100px;position: relative;padding-right: 35px;transition: all 0.4s;}
header p a::after{content: '';background: url(../img/icon-fly.png) center center /100% 100% no-repeat;width: min(3vw,35px);height: min(2.5vw,25px);position: absolute;top: 50%;right: 20px;display: inline-block;transition: all 0.4s;transform: translateY(-50%);}
header p a:hover{background: #000;}
header p a:hover::after{right: 15px;top: 45%;}
@media (max-width: 768px){
    header{padding: 20px;align-items: unset;}
    header h1 img{width: 30vw;}
    header p{width: 260px;}
    header p a{font-size: 2.7vw;padding:3vw 0;max-width: 35vw;padding-right: 35px;margin: unset;margin-left: auto;}
}
@media (max-width: 576px){
    header p a{padding-right: 25px;}
}

/* main */

/* footer */
footer{text-align: center;padding: min(10vw,100px) 0;}
footer a:hover{opacity: 0.8;}
footer p{font-size: 1.4rem;line-height: 2.3;margin-top: 20px;letter-spacing: 0.048em;}
@media (max-width: 768px){
    footer{padding: 40px 0;}
    footer img{width: 150px;}
}


/* Animate */
@media screen{
    .fade-in{opacity: 0; transition: opacity 2s ease, filter 2s ease;}
    .fade-in.is-view{opacity: 1;}

    .fade-up{opacity: 0; transform: translateY(40px); -webkit-transform: translateY(40px); transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;}
    .fade-up.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0);}
    
    .zoom-in{overflow: hidden;}
    .zoom-in img{opacity: 0; transform: scale(1.1); transition: 1s;}
    .zoom-in.is-view img{opacity: 1; transform: scale(1);}
}
.delay1{transition-delay: .4s;}
.delay2{transition-delay: .6s;}
.delay3{transition-delay: .8s;}
.delay4{transition-delay: 1s;}