@charset "UTF-8";
#recruit {
    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/recruit/main-ttl-bg.jpg) no-repeat center;
    background-size: cover;
    height: calc(772 / 1920 * 100vw);
}

/* menu-item
-------------------------------------*/
.menu-item {
    width: min(95%, 1140px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    padding-block: 99px 186px;
}
.menu-item li {
    border-radius: 35px;
    border: 1px solid #1a1a1a;
    position: relative;
}
.menu-item li::after {
    position: absolute;
    content: "";
    background: #1A1A1A;
    width: 1px;
    height: 30px;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
}
.menu-item li a{
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 2.125;
    text-align: center;
    display: block;
    padding: 17px 0;
}

/* sec共通
-------------------------------------*/
.sec .inner {
    width: min(95%, 1280px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 78.125%;
    align-items: flex-start;
    padding-bottom: 145px;
}
.sec .enttl{
    font-size: 18px;
    line-height: 2.04166;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: mixed;
    display: grid;
    place-content: flex-end;
    margin: 0 0 0 -6px;
    letter-spacing: 0;
    position: sticky;
    top: 40px; 
}
.sec h2 {
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.1em;
    line-height: 1.82142;
    padding: 7px 0 22px 17px;
    border-bottom: 1px solid #fff;
    margin-bottom: 28px;
}
.sec .lead {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    margin-bottom: 40px;
    padding-left: 17px;
}
.sec .system-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    padding-bottom: 120px;
}
.sec .system-list li {
    border: 1px solid #fff;
    padding: 28px 29px 30px;
    min-height: 300px;
}

.sec .system-list li .inBox {
/*    display: grid;
    grid-template-columns: 38.28% 1fr;
    gap: 14px;
    align-items: flex-start;
    padding-bottom: 17px; */
}

.sec .system-list li .system-pic {
    margin: 3px 0 0;
}
.sec .system-list li .system-pic img {
    height: 120px;
}
.sec .system-list li .system-category {
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    background: #181818;
    margin-bottom: 12px;
    display: inline-block;
    padding: 3px 12px;
}
.sec .system-list li .system-ttl {
    font-weight: 500;
    font-size: 19px;
    letter-spacing: 0.05em;
    line-height: 1.526315;
}
.sec .system-list li .system-txt {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.785714;
}
.sec .btn a{
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.75;
    color: #fff;
    background: #2d536c;
    display: flex;
    gap: 23px;
    justify-content: center;
    padding: 35px 0;
    align-items: center;
}

/* sec03
-------------------------------------*/
.sec03 .lead {
    font-size: 17px;
    letter-spacing: 0.05em;
    line-height: 2.1764;
    width: min(95%, 826px);
    padding: 0px;
    margin-bottom: 80px;
}
.sec03 .photo {
    margin-bottom: 132px;
}
.sec03 .schedule > ul {
    display: grid;
    gap: 72px;
    padding-bottom: 166px;
}
.sec03 .schedule h3{
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 2.31818;
    text-align: center;
    margin-bottom: 27px;
}
.sec03 .schedule li h4 {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 2.8333;
    text-align: center;
    border: 1px solid #fff;
    padding: 4px 0;
    margin-bottom: 41px;
    width: min(95%, 860px);
    margin-inline: auto;
}
.sec03 .schedule li .inBox {
    display: grid;
    grid-template-columns: 23% 1fr;
    gap: 2px;
    align-items: flex-start;
}
.sec03 .schedule li .inBox .day {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 12px 0 0 53px;
    display: flex;
    justify-content: center;
    gap: 3px;
    align-items: center;
}
.sec03 .schedule li .inBox .day span {
    font-size: 20px;
}
.sec03 .schedule li .inBox .content ul {
    position: relative;
}
.sec03 .schedule li .inBox .content ul::after {
    position: absolute;
    content: "";
    background: #46799b;
    width: 1px;
    height: calc(100% + 23px);
    top: -8px;
    left: 11.8%;
}
.sec03 .schedule li .inBox .content ul > li {
    display: grid;
    grid-template-columns: 7% 1fr;
    gap: 82px;
    align-items: center;
    position: relative;
}
.sec03 .schedule li .inBox .content li .time{
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 3.1875;
    text-align: right;
    color: #46799b;
    position: relative;
}
.sec03 .schedule li .inBox .content li .time::after {
    position: absolute;
    content: " ・";
    font-size: 31px;
    font-weight: 500;
    line-height: 1.6451;
    letter-spacing: 0.1em;
    color: #46799b;
    right: -56px;
}
.sec03 .schedule li .inBox .content li p{
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    text-align: left;
    color: #1a1a1a;
    position: relative;
}
.sec03 .schedule .list02 .inBox .content > ul > li:nth-child(2) {
    padding: 9px 0;
    align-items: flex-start;
}
.sec03 .schedule .list02 .inBox .content > ul > li:nth-child(2) .time {
    line-height: 2;
}
.sec03 .schedule .list02 .inBox .content > ul > li:nth-child(2) .time::after {
    line-height: 1;
}
.sec03 .message h3 {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    text-align: center;
    border: 1px solid #fff;
    padding: 24px 0;
    margin-bottom: 34px;
}
.sec03 .message ul {
    display: grid;
    padding-left: 17px;
    gap: 6px;
    padding-bottom: 26px;
}
.sec03 .message ul li {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    padding-left: 17px;
    position: relative;
}
.sec03 .message ul li::before {
    position: absolute;
    content: "・";
    font-size: 16px;
    left: 0;
    top: 0;
}
.sec03 .message .desc {
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 2.3076;
    padding-left: 17px;
    margin-bottom: 40px;
}

/* sec04
-------------------------------------*/
.sec04 {
    padding-bottom: 147px;
}
.sec04 h2 {
    font-size: clamp(1.75rem, 1.583rem + 0.35vw, 2rem);
    letter-spacing: 0.05em;
    line-height: 2.5;
    text-align: center;
    margin-bottom: 62px;
    padding: 20px 0 0;
}
.sec04 .list {
    width: min(95%, 1800px);
    margin-inline: auto;
    display: flex;
    gap: 84px 60px;
    justify-content: center;
    flex-wrap: wrap;
}
.sec04 .list li .photo {
    margin-bottom: 31px;
}
.sec04 .list li h3 {
    font-weight: 500;
    font-size: 17px;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 10px;
}
.sec04 .list li .txt {
    font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
}

/* sec05
-------------------------------------*/
.sec05 {
    padding-bottom: 175px;
}
.sec05 h2 {
    font-size: clamp(1.75rem, 1.583rem + 0.35vw, 2rem);
    letter-spacing: 0.05em;
    line-height: 2.5;
    text-align: center;
    margin-bottom: 74px;
}
.sec05 .list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 54px 91px;
    width: min(95%, 854px);
    margin-inline: auto;
}
.sec05 .list li:nth-child(8) {
    grid-column: span 2;
}
.sec05 .list li .img {
    margin-bottom: 15px;
}
.sec05 .list li .txt {
    font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
    letter-spacing: 0.05em;
    line-height: 2;
    color: #181818;
}

/* sec06
-------------------------------------*/
.sec06 {
    padding-bottom: 168px;
}
.sec06 .photo {
    margin-bottom: 62px;
}
.sec06 .photo img {
    width: 100%;
    height: auto;
}
.sec06 .enttl {
    font-weight: 600;
    font-size: 28px;
    letter-spacing: 0.08em;
    line-height: 1.3125;
    text-align: center;
    color: #181818;
    margin-bottom: 28px;
}
.sec06 h2 {
    font-size: 28px;
    letter-spacing: 0.12em;
    line-height: 1.85714;
    text-align: center;
    color: #181818;
    margin-bottom: 54px;
}
.sec06 .list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(95%, 1200px);
    margin-inline: auto;
    gap: 40px;
}
.sec06 .list li {
    border: 1px solid #fff;
    padding-block: 29px 36px;
}
.sec06 .list li h3 {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 2.8333;
    text-align: center;
    margin-bottom: 4px;
}
.sec06 .list .line {
    position: relative;
}
.sec06 .list .line::after {
    position: absolute;
    content: "→";
    font-size: 18px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    bottom: 6px;
    right: 19px;
}
.sec06 .list .line p {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 2.41666;
    color: #2d536c;
    display: flex;
    justify-content: center;
    gap: 13px;
}
.sec06 .list .line img {
    vertical-align: text-bottom;
}
.sec06 .list .tel p {
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 2.0714;
    color: #181818;
    text-align: center;
}


}

/* ========================================
@media screen and (min-width:768px) and (max-width:1180px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1180px) {
/* menu-item
-------------------------------------*/
.menu-item {
    width: 96.61vw;
    gap: 2.542vw;
    padding-block: 8.39vw 15.763vw;
}
.menu-item li {
    border-radius: 2.966vw;
}
.menu-item li::after {
    width: 0.085vw;
    height: 2.542vw;
    bottom: -1.356vw;
    left: 50%;
    transform: translateX(-50%);
}
.menu-item li a{
    font-size: clamp(0.75rem, 0.563rem + 0.39vw, 0.875rem);
    padding: 1.441vw 0;
}

.sec .system-list li .system-ttl {
    font-size: clamp(1rem, 0.65rem + 0.73vw, 1.188rem);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* sec共通
-------------------------------------*/
.sec .inner {
    grid-template-columns: 1fr 78.125%;
    padding-bottom: 11.328vw;
}
.sec .enttl{
    font-size: clamp(0.875rem, 0.5rem + 0.78vw, 1.125rem);
    margin: 0 0 0 -0.469vw;
    top: 3.125vw;
}
.sec h2 {
    font-size: 2.188vw;
    padding: 0.547vw 0 1.719vw 1.328vw;
    margin-bottom: 2.188vw;
}
.sec .lead {
    font-size: clamp(0.75rem, 0.563rem + 0.39vw, 0.875rem);
    margin-bottom: 3.125vw;
    padding-left: 1.328vw;
}
.sec .system-list {
    gap: 3.125vw;
    padding-bottom: 9.375vw;
}
.sec .system-list li {
    padding: 2.188vw 2.266vw 2.344vw;
    min-height: 26.125vw;
}
.sec .system-list li .inBox {
   /* grid-template-columns: 38.28% 1fr;
    gap: 1.094vw;
    padding-bottom: 1.328vw; */
}
.sec .system-list li .system-pic {
    margin: 0.234vw 0 0;
}
.sec .system-list li .system-pic img {
    height: 9.375vw;
}
.sec .system-list li .system-category {
    /* font-size: 0.859vw; */
    margin-bottom: 0.938vw;
    padding: 0.234vw 0.938vw;
}
.sec .system-list li .system-ttl {
    /* font-size: 1.484vw; */
}
.sec .system-list li .system-txt {
    font-size: clamp(0.75rem, 0.563rem + 0.39vw, 0.875rem);
}
.sec .btn a{
    font-size: clamp(0.75rem, 0.563rem + 0.39vw, 0.875rem);
    gap: 1.797vw;
    padding: 2.734vw 0;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
    .sec03 .photo img {
        width: 100%;
        height: auto;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1340px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1340px) {
    .sec03 .schedule > ul {
        gap: 5.373vw;
        padding-bottom: 12.388vw;
    }
    .sec03 .schedule h3{
        font-size: 1.642vw;
        margin-bottom: 2.015vw;
    }
    .sec03 .schedule li h4 {
        font-size: 1.343vw;
        padding: 0.299vw 0;
        margin-bottom: 3.06vw;
        width: 64.179vw;
    }
    .sec03 .schedule li .inBox {
        grid-template-columns: 23% 1fr;
        gap: 0.149vw;
    }
    .sec03 .schedule li .inBox .day {
        font-size: 1.194vw;
        padding: 0.896vw 0 0 3.955vw;
        gap: 0.224vw;
    }
    .sec03 .schedule li .inBox .day span {
        font-size: 1.493vw;
    }
    .sec03 .schedule li .inBox .content ul::after {
        width: 0.075vw;
        height: calc(100% + 1.716vw);
        top: -0.597vw;
        left: 11.8%;
    }
    .sec03 .schedule li .inBox .content ul > li {
        grid-template-columns: 7% 1fr;
        gap: 6.119vw;
    }
    .sec03 .schedule li .inBox .content li .time{
        font-size: 1.194vw;
    }
    .sec03 .schedule li .inBox .content li .time::after {
        font-size: 2.313vw;
        right: -4.179vw;
    }
    .sec03 .schedule li .inBox .content li p{
        font-size: 1.194vw;
    }
    .sec03 .schedule .list02 .inBox .content > ul > li:nth-child(2) {
        padding: 0.672vw 0;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1900px)
======================================== */
@media screen and (min-width:768px) and (max-width:1900px)  {
    .sec04 .list {
        gap: 4.421vw 3.158vw;
    }
    .sec04 .list li {
        width: 45.789vw;
    }
    .sec04 .list li .photo img {
        width: 100%;
        height: auto;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px)  {
    .sec05 .list li .img img {
        width: 100%;
        height: auto;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px)  {
/* sec06
-------------------------------------*/
.sec06 {
    padding-bottom: 13.548vw;
}
.sec06 .photo {
    margin-bottom: 5vw;
}
.sec06 .enttl {
    font-size: 2.258vw;
    margin-bottom: 2.258vw;
}
.sec06 h2 {
    font-size: 2.258vw;
    margin-bottom: 4.355vw;
}
.sec06 .list {
    gap: 3.226vw;
}
.sec06 .list li {
    padding-block: 2.339vw 2.903vw;
}
.sec06 .list li h3 {
    font-size: clamp(0.875rem, 0.468rem + 0.85vw, 1.125rem);
    margin-bottom: 0.323vw;
}
.sec06 .list .line::after {
    font-size: 1.452vw;
    bottom: 0.484vw;
    right: 1.532vw;
}
.sec06 .list .line p {
    font-size: clamp(1.25rem, 0.843rem + 0.85vw, 1.5rem);
    gap: 1.048vw;
}
.sec06 .list .line img {
    width: 3.548vw;
}
.sec06 .list .tel p {
    font-size: clamp(1.5rem, 1.093rem + 0.85vw, 1.75rem);
}

}


/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.main-ttl-box {
    background: url(../images/recruit/main-ttl-bg_sp.jpg) no-repeat center;
    background-size: cover;
    height: 66.43vw;
}


/* menu-item
-------------------------------------*/
.menu-item {
    width: 77.29vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 3.62vw;
    padding-block: 21.50vw 23.5vw;
}
.menu-item li {
    border-radius: 7.25vw;
    border: 0.2vw solid #1a1a1a;
    position: relative;
}
.menu-item li a{
    font-size:3.623vw;
    letter-spacing: 0.05em;
    line-height: 2.2666;
    text-align: center;
    display: block;
    padding: 2.9vw 0;
}

/* sec共通
-------------------------------------*/
.sec .inner {
    width: 91.79vw;
    margin-inline: auto;
    display: grid;
    padding-bottom: 23.58vw;
}
.sec .enttl{
    font-size:5.072vw;
    line-height: 1.75;
    letter-spacing: 0;
    padding-left: 1.2vw;
    margin-bottom: 2.43vw;
}
.sec h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    line-height: 2.31818;
    margin-bottom: 2.25vw;
    border-bottom: 0.2vw solid #fff;
    padding-bottom: 3.68vw;
    padding-left: 0.8vw;
}
.sec .lead {
    font-size:3.623vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 5.66vw;
    width: 89.07vw;
    margin-inline: auto;
    min-height: 16.18vw;
}
.sec .system-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 7.08vw;
    padding-bottom: 12.08vw;
}
.sec .system-list li {
    border: 0.2vw solid #fff;
    padding: 3.93vw 4.6vw 4.83vw;
   /* min-height: 82.13vw; */
}
.sec .system-list li .inBox {
   /* display: grid;
    grid-template-columns: 31.40vw 1fr;
    gap: 2.42vw;
    align-items: flex-start;
    padding-bottom: 3.61vw; */
}
.sec .system-list li .system-pic {
    margin: 0.6vw 0 0;
}
.sec .system-list li .system-pic img {
    height: 24.15vw;
}
.sec .system-list li .system-category {
    font-weight: 500;
    font-size: 2.66vw;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    background: #181818;
    margin-bottom: 2.50vw;
    display: inline-block;
    padding: 0.77vw 2.90vw;
}
.sec .system-list li .system-ttl {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1.75;
}
.sec .system-list li .system-txt {
    font-size:3.14vw;
    letter-spacing: 0.05em;
    line-height: 1.92307;
}
.sec .btn a{
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1.75;
    color: #fff;
    background: #2d536c;
    display: flex;
    gap: 5.48vw;
    justify-content: center;
    padding: 8.45vw 0;
    align-items: center;
}
    

/* sec03
-------------------------------------*/
.sec03 .lead {
    font-size:3.14vw;
    letter-spacing: 0.08em;
    line-height: 2.384615;
    width: 91.25vw;
    margin-inline: auto;
    padding: 0.6vw 0 0;
    margin-bottom: 12.69vw;
}
.sec03 .photo {
    margin-bottom: 26.03vw;
}
.sec03 .schedule > ul {
    display: grid;
    gap: 14.25vw;
    padding-bottom: 24.91vw;
}
.sec03 .schedule h3{
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 1.7777;
    text-align: center;
    margin-bottom: 6.15vw;
}
.sec03 .schedule li h4 {
    font-weight: 500;
    font-size:3.623vw;
    letter-spacing: 0.1em;
    text-align: center;
    border: 0.2vw solid #fff;
    padding: 4.17vw 0;
    margin-bottom: 5.26vw;
    width: 86.96vw;
    margin-inline: auto;
}
.sec03 .schedule li .inBox {
    display: grid;
    gap: 4.48vw;
}
.sec03 .schedule li .inBox .day {
    font-weight: 500;
    font-size:2.898vw;
    letter-spacing: 0.1em;
    text-align: center;
    display: flex;
    gap: 0.48vw;
    align-items: center;
    padding-left: 5.2vw;
}
.sec03 .schedule li .inBox .day span {
    font-size:3.623vw;
}
.sec03 .schedule li .inBox .content {
    width: 79.23vw;
    margin-inline: auto;
}
.sec03 .schedule li .inBox .content ul {
    position: relative;
    display: grid;
    gap: 3.7vw;
}
.sec03 .schedule li .inBox .content ul::after {
    position: absolute;
    content: "";
    background: #46799b;
    width: 0.2vw;
    height: 103.86vw;
    top: -11vw;
    left: 16.6vw;
}
.sec03 .schedule .list02 .inBox .content ul::after {
    height: 79.31vw;
}
.sec03 .schedule li .inBox .content ul > li {
    display: grid;
    grid-template-columns: 10.18vw 56.8vw;
    gap: 14.09vw;
    align-items: flex-start;
    position: relative;
}
.sec03 .schedule li .inBox .content li .time{
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    text-align: right;
    color: #46799b;
    position: relative;
}
.sec03 .schedule li .inBox .content li .time::after {
    position: absolute;
    content: " ・";
    font-size:7.729vw;
    font-weight: 500;
    line-height: 1.32258;
    letter-spacing: 0.1em;
    color: #46799b;
    left: 12.9vw;
    top: -3vw;
}
.sec03 .schedule li .inBox .content li p{
    font-size:3.14vw;
    letter-spacing: 0.05em;
    line-height: 1.84615;
    text-align: left;
    color: #1a1a1a;
    position: relative;
}
.sec03 .schedule .list02 .inBox .content > ul > li:nth-child(2) .time {
    line-height: 2;
}
.sec03 .schedule .list02 .inBox .content > ul > li:nth-child(2) .time::after {
    line-height: 1.5;
}
.sec03 .message h3 {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    border: 0.2vw solid #fff;
    padding: 6.29vw 0;
    margin-bottom: 5.4vw;
}
.sec03 .message ul {
    padding-left: 3.5vw;
    display: grid;
    gap: 2vw;
    padding-bottom: 9vw;
}
.sec03 .message ul li {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.71428;
    padding-left: 3.5vw;
    position: relative;
}
.sec03 .message ul li::before {
    position: absolute;
    content: "・";
    font-size: 3.382vw;
    left: -1.5vw;
    top: -0.4vw;
}
.sec03 .message .desc {
    font-size:2.898vw;
    letter-spacing: 0.05em;
    line-height: 1.6666;
    margin-bottom: 11.2vw;
    width: 87.92vw;
    margin-inline: auto;
}

/* sec04
-------------------------------------*/
.sec04 {
    padding-bottom: 27.99vw;
}
.sec04 h2 {
    font-size:4.831vw;
    letter-spacing: 0.05em;
    line-height: 1.85;
    text-align: center;
    margin-bottom: 9.29vw;
}
.sec04 .list {
    width: 91.79vw;
    margin-inline: auto;
    display: grid;
    gap: 13.8vw;
}
.sec04 .list li .photo {
    margin-bottom: 4.23vw;
}
.sec04 .list li h3 {
    font-weight: 500;
    font-size:4.106vw;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 4.15vw;
}
.sec04 .list li .txt {
    font-size:2.898vw;
    letter-spacing: 0.05em;
    line-height: 1.666;
    text-align: center;
}

/* sec05
-------------------------------------*/
.sec05 {
    padding-bottom: 32.82vw;
}
.sec05 h2 {
    font-size:4.831vw;
    letter-spacing: 0.05em;
    line-height: 1.85;
    text-align: center;
    margin-bottom: 13.29vw;
}
.sec05 .list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7.45vw 8.45vw;
    width: 91.79vw;
    margin-inline: auto;
}
.sec05 .list li:nth-child(8) {
    grid-column: span 2;
}
.sec05 .list li .img {
    margin-bottom: 3.62vw;
}
.sec05 .list li .txt {
    font-size:3.14vw;
    letter-spacing: 0.05em;
    line-height: 1.84615;
    color: #181818;
}

/* sec06
-------------------------------------*/
.sec06 {
    padding-bottom: 19.42vw;
}
.sec06 .photo {
    margin-bottom: 12.18vw;
}
.sec06 .photo img {
    width: 100%;
    height: auto;
}
.sec06 .enttl {
    font-weight: 600;
    font-size:6.763vw;
    letter-spacing: 0.08em;
    line-height: 1.3125;
    text-align: center;
    color: #181818;
    margin-bottom: 2.62vw;
}
.sec06 h2 {
    font-size:3.865vw;
    letter-spacing: 0.12em;
    line-height: 2.125;
    text-align: center;
    color: #181818;
    margin-bottom: 8.66vw;
}
.sec06 .list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    width: 91.79vw;
    margin-inline: auto;
    gap: 9.46vw;
}
.sec06 .list li h3 {
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 7.51vw;
}
.sec06 .list .line {
    position: relative;
    border: 0.2vw solid #fff;
    padding-block: 8.14vw 9.59vw;
}
.sec06 .list .line::after {
    position: absolute;
    content: "→";
    font-size:4.348vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    bottom: 1.45vw;
    right: 3.59vw;
}
.sec06 .list .line p {
    font-weight: 500;
    font-size:5.797vw;
    letter-spacing: 0.05em;
    color: #2d536c;
    display: flex;
    justify-content: center;
    gap: 3.14vw;
}
.sec06 .list .line img {
    vertical-align: text-bottom;
    position: relative;
    top: -1vw;
}
.sec06 .list .tel h3 {
    margin-bottom: 6vw;
}
.sec06 .list .tel p {
    font-size:4.589vw;
    letter-spacing: 0.05em;
    color: #181818;
    text-align: center;
    border-radius: 10.87vw;
    border: 0.2vw solid #fff;
    padding-block: 4.59vw 4.7vw;
    width: 86.96vw;
    margin-inline: auto;
}

}