@charset "UTF-8";
#welcome {
    background: #E5E2DD;
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
}

/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px),print {
.main-ttl-box {
    background: url(../images/welcome/main-ttl-bg.jpg) no-repeat center;
    background-size: cover;
    height: calc(772 / 1920 * 100vw);
}

/* sec01
-------------------------------------*/
.sec01 {
    padding-block: 100px 126px;
}
.sec01 h2 {
    font-size: 26px;
    letter-spacing: 0.62em;
    line-height: 1.46153;
    text-align: center;
    color: #181818;
    margin-bottom: 68px;
}
.sec01 .list {
    width: min(95%, 1260px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 80px;
}
.sec01 .list li {
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.8888;
    text-align: center;
    padding: 48px 0;
    border: 1px solid #fff;
    display: grid;
    place-items: center;
}
.sec01 h3 {
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.41666;
    text-align: center;
    margin-bottom: 47px;
}
.sec01 .txt {
    font-size: 17px;
    letter-spacing: 0.05em;
    line-height: 2.17647;
    text-align: center;
    margin-bottom: 37px;
}
.sec01 .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}

/* sec02
-------------------------------------*/
.sec02 h2 {
    font-size: 32px;
    letter-spacing: 0.05em;
    line-height: 2.5;
    text-align: center;
    margin-bottom: 26px;
}
.sec02 .list {
    width: min(95%, 1800px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 75px;
    margin-bottom: 80px;
}
.sec02 .list li .photo {
    margin-bottom: 41px;
}
.sec02 .list li h3 {
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.9545;
    text-align: center;
    margin-bottom: 32px;
}
.sec02 .list li .txt {
    font-size: 17px;
    letter-spacing: 0.05em;
    line-height: 2.1764;
}

/* form-Box
-------------------------------------*/
.form-Box {
    padding: 100px 0 219px;
}
.form-Box h2  {
    font-size: 22px;
    letter-spacing: 0.62em;
    line-height: 2.7272;
    text-align: center;
    color: #181818;
    margin-bottom: 153px;
}
.form-Box .form-wrap {
    width: min(95%, 1280px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 43.75%;
    overflow: visible;
} 
.form-Box .form-wrap .txt-box {
    position: sticky;
    top: 60px; 
    align-self: start;
}
.form-Box .form-wrap .txt-box .mail-ttl {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 2.2083;
    margin-bottom: 8px;
}  
.form-Box .form-wrap .txt-box .desc {
    margin-bottom: 57px;
}
.form-Box .form-wrap .txt-box .desc li{
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 2.1666;
    color: #666;
}
.form-Box .form-wrap .txt-box .tel-ttl {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 2.9444;
    margin-bottom: -3px;
}  
.form-Box .form-wrap .txt-box .tel {
    font-size: 20px;
    line-height: 2.4435;
    border-bottom: 1px solid #1A1A1A;
    padding: 0 13px 3px 16px;
    display: inline-block!important;
    letter-spacing: 0;
}
.form-Box form .catalog-desc {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.125;
    color: #2d536c;
    margin-bottom: 4px;
}


}    


/* ========================================
@media screen and (min-width:768px) and (max-width:1840px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1840px) {
.sec02 .list li .photo img {
    width: 100%;
    height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
.sec01 .list li {
    font-size: clamp(0.813rem, 0.455rem + 0.74vw, 1.125rem);
}
.sec01 h3 {
    font-size: clamp(1.25rem, 0.964rem + 0.6vw, 1.5rem);
}
.sec02 .list {
    gap: 5.208vw;
    margin-bottom: 5.556vw;
}
.sec02 .list li h3 {
    font-size: clamp(0.813rem, 0.17rem + 1.34vw, 1.375rem);
}
.sec02 .list li .txt {
    font-size: clamp(0.75rem, 0.393rem + 0.74vw, 1.063rem);
}
}


/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.main-ttl-box {
    background: url(../images/welcome/main-ttl-bg_sp.jpg) no-repeat center;
    background-size: cover;
    height: 66.43vw;
}

/* sec01
-------------------------------------*/
.sec01 {
    padding-block: 20.44vw 17.02vw;
}
.sec01 h2 {
    font-size:4.348vw;
    letter-spacing: 0.47em;
    line-height: 2.1111;
    text-align: center;
    color: #181818;
    margin-bottom: 7.44vw;
}
.sec01 .list {
    width: 94.20vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.42vw;
    margin-bottom: 12.29vw;
}
.sec01 .list li {
    font-size:3.14vw;
    letter-spacing: 0.02em;
    line-height: 1.76923;
    text-align: center;
    padding: 4.3vw 2.59vw 3.5vw;
    border: 0.2vw solid #fff;
    display: grid;
    place-items: center;
}
.sec01 h3 {
    font-size:3.382vw;
    letter-spacing: 0.32em;
    line-height: 2.21428;
    text-align: center;
    margin-bottom: 8.84vw;
}
.sec01 .txt {
    font-size:3.14vw;
    letter-spacing: 0.08em;
    line-height: 2.76923;
    text-align: center;
    margin-bottom: 8.66vw;
}
.sec01 .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}

/* sec02
-------------------------------------*/
.sec02 h2 {
    font-size:5.314vw;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 9.18vw;
}
.sec02 .list {
    width: 91.79vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 12.89vw;
    margin-bottom: 26.33vw;
}
.sec02 .list li .photo {
    margin-bottom: 7.45vw;
}
.sec02 .list li h3 {
    font-weight: 400;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.9444;
    text-align: center;
    margin-bottom: 5.85vw;
}
.sec02 .list li .txt {
    font-size:3.14vw;
    letter-spacing: 0.08em;
    line-height: 2.3846;
    width: 91.55vw;
    margin-inline: auto;
}

/* form-Box
-------------------------------------*/
.form-Box h2  {
    font-size:4.348vw;
    letter-spacing: 0.47em;
    line-height: 2.1111;
    text-align: center;
    color: #181818;
    margin-bottom: 25.84vw;
}
.mail-ttl {
    font-size:4.348vw;
    font-weight: 500;
    line-height: 2.166;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 5.1vw;
}
#form .tel-ttl {
    font-weight: 500;
    font-size:4.348vw;
    line-height: 2.1666;
    text-align: center;
    margin-bottom: 4.8vw;
    letter-spacing: 0;
}      
#form .tel {
    font-size: 4.589vw;
    font-weight: 400;
    line-height: 2.5721;
    letter-spacing: 0.05em;
    border: 0.2vw solid #1A1A1A;
    border-radius: 10.87vw;
    width: 86.96vw;
    margin-inline: auto;
    text-align: center;
    padding: 2vw 0;
}
}    