@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap');

/* common */
html { font-size: 62.5%;}

:root {
    --kojitu_green : #005c3f;
    --kojitu_gray : #535353;
}

.pc_only { display: block;}

.sp_only { display: none;}

.salomon_back {
    width: 100%;
    background: url(https://www.kojitusanso.jp/gsmall/lp/brandinfo_salomon_kobetrail2025/images/back_pc.jpg) no-repeat top center / 100%;
    background-attachment: fixed;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    overflow: hidden;
}

.salomon_container {
    max-width: 1920px;
    margin: 0 auto;
}

.salomon_wrapper {
    width: 70%;
    margin: 0 auto;
}

.ib { display: inline-block;}

.sec h2 { 
    width: 48%;
    margin: 0 auto 4%;
}

.sec p {
    width: 100%;
    text-align: center;
    font-size: 5rem;
    font-weight: 700;
}

.sec h2 img { width: 100%;}

.salomon_container section { margin-bottom: 7%;}
/* common */



/* slmkt2025_top */
#slmkt2025_top { margin-bottom: 5%;}

#slmkt2025_top h1, #slmkt2025_top h1 img { width: 100%;}
/* slmkt2025_top */



/* slmkt2025_intro */
#slmkt2025_intro p {
    width: 100%;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 5%;
}

#slmkt2025_intro .prev_event {
    width: 85%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

#slmkt2025_intro .prev_event img { width: 100%;}
/* slmkt2025_intro */



/* map */
#map .map_list {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto
}

#map .map_item { width: 28%;}

#map .map_item img { width: 100%;}

#map .map_item div {
    background-color: var(--kojitu_gray);
    color: #fff;
    padding: 7%;
}

#map .map_item div p {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-align: start;
  line-height: 1;
  word-break: break-all;
}

#map .map_item div p:first-of-type { 
    font-size: 4.5rem;
    margin-bottom: 3%;
}

#map .map_item div p:last-of-type { 
    font-size: 3.5rem;
    margin-bottom: 4.5%;
}

#map .map_item div a {
    display: block;
    text-align: center;
    font-size: 4rem;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    border-radius: 50px;
    transition: all .2s;
    background-color: #fff;
    color: var(--kojitu_gray);
    text-transform: uppercase;
}

#map .map_item div a:hover { background-color: #e2e2e2;}
/* map */



/* partner */
#partner h2 {
    width: 100%;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 12rem;
    text-align: center;
    background: linear-gradient(45deg, rgba(255,204,240,1) 0%, rgba(187,247,255,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 5%;
    line-height: 1;
}

#partner .salomon {
    width: 23%;
    margin: 0 auto 5%;
}

#partner .salomon img { width: 100%;}

#partner .salomon_info {
    width: 100%;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 5%;
}

#partner .activity_sec_hd {
    position: relative;
    width: 100%;
    padding: 8% 0;
    background: rgb(143,143,143);
    background: linear-gradient(45deg, rgba(143,143,143,1) 0%, rgba(0,0,0,1) 60%, rgba(0,0,0,1) 100%);
    color: #fff;
    margin-bottom: 10%;
} 

#partner .activity_sec_hd img {
    position: absolute;
    display: block;
    width: 45%;
    left: 0;
    top: -15%;
}

#partner .activity_sec_hd h3 {
    text-align: end;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 12rem;
    line-height: 1;
    padding-right: 3%;
}

#partner .activity_sec_hd h3 span {
    display: flex;
    flex-direction: column;
}

#partner .activity_sec_hd h3 span::after {
    display: block;
    content: attr(data-caption);
    font-weight: 700;
    font-size: 20%;
    bottom: 0;
    letter-spacing: 0.1rem !important;
}

#partner .activity_item_list {
    width: 85%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#partner .activity_item {
    width: 28%;
    margin-bottom: 7%;
}

#partner .activity_item img {
    width: 100%;
    margin-bottom: 2%;
}

#partner .activity_txt {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#partner .activity_txt div p:first-of-type {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 2%;
}

#partner .activity_txt div p:last-of-type {
    text-align: center;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 5.5rem;
    line-height: 1;
    margin-bottom: 4%;
    word-break: break-all;
}

#partner .jp {
    font-size: 85%;
    font-weight: 700;
}

#partner .activity_txt a {
    width: 100%;
    display: block;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 2.5;
    background-color: var(--kojitu_gray);
    border: solid 2px var(--kojitu_gray);
    color: #fff;
    text-align: center;
    transition: all .2s;
}

#partner .activity_txt a:hover {
    background-color: #fff;
    color: var(--kojitu_gray);
}

#partner .hiking { margin-top: 5%;}

.present {
    background: linear-gradient(45deg, rgba(255,204,240,1) 0%, rgba(187,247,255,1) 100%);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 3%;
}

.present img { width: 40%;}

.present div {
    width: 55%;
    text-align: center;
    align-items: center;
}

.present div p:first-of-type {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 1%;
}

.present div p:nth-of-type(2) {
    font-weight: 900;
    font-size: 4.5rem;
    line-height: 1.2;
    margin-bottom: 2.5%;
}

.present div p:last-of-type {
    width: 100%;
    line-height: 1.3;
    background-color: #000;
    color: #fff;
    margin-bottom: 2.5%;
    font-size: 3rem;
    font-weight: 500;
    padding-bottom: 0.5%;
}

#partner .tracker {
    font-size: 4rem !important;
    font-weight: 700 !important;
}

.present li {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 1.5%;
    line-height: 1.1;
}

.present li:last-child { margin-bottom: 0;}
/* partner */



/* kojitu */
#kojitu {
    /* border: solid 2px #000; */
    background-color: rgba(255, 255, 255, .8);
    padding: 5%;
    box-shadow: 0 0 40px #ffd4f2;
}

#kojitu h2 {
    width: 27%;
    margin: 0 auto 3%;
}

#kojitu h2 img,
#kojitu .park_img img { width: 100%;}

#kojitu .park_img {
    width: 100%;
    margin-bottom: 3%;
}

#kojitu .kojitu_intro {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 3%;
}

#kojitu .kojitu_info_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 3%;
}

#kojitu .kojitu_info_item { width: 28%;}

#kojitu .kojitu_info_item img { 
    width: 100%;
    margin-bottom: 2%;
}

#kojitu .kojitu_info_item div p:first-of-type {
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 2%;
    color: var(--kojitu_green);
}

#kojitu .kojitu_info_item div p:last-of-type {
    width: 100%;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 3%;
}

#kojitu .kojitu_info_item a {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 2.5rem;
    line-height: 2.5;
    font-weight: 500;
    color: #fff;
    background-color: #00885d;
    border: solid 2px #00885d;
    transition: all .2s;
}

#kojitu .kojitu_info_item a:hover {
    color: #00885d;
    background-color: #fff;
}

#kojitu .salomon_corner {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5%;
}

#kojitu .salomon_corner img { width: 50%;}

#kojitu .salomon_corner div { width: 45%;}

#kojitu .salomon_corner div p {
    width: 100%;
    text-align: center;
    line-height: 1;
}

#kojitu .salomon_corner div p:first-of-type {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 2%;
}

#kojitu .salomon_corner div p:last-of-type {
    font-size: 5rem;
    font-weight: 900;
    margin-bottom: 4%;
}

#kojitu .salomon_corner ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9% 3%
}

/* #kojitu .salomon_corner ul li { width: 47%;} */

#kojitu .salomon_corner ul li a {
    display: block;
    text-align: center;
    width: 100%;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.5;
    background-color: var(--kojitu_green);
    border: solid 2px var(--kojitu_green);
    color: #fff;
    transition: all .2s;
}

#kojitu .salomon_corner ul li a:hover {
    background-color: #fff;
    color: var(--kojitu_green);
}
/* kojitu */




/* --------------- responsive --------------- */

@media screen and (max-width:1440px) {
    /* common */
    .present div p:nth-of-type(2) { font-size: 4rem;}

    .present div p:last-of-type { font-size: 2.5rem;}
    /* common */


    /* partner */
    #partner .activity_sec_hd h3 { font-size: 10rem;}

    #partner .activity_txt div p:last-of-type { font-size: 5rem;}

    #partner .activity_txt a { font-size: 2rem;}

    #partner .tracker { font-size: 3rem !important;}

    #partner .jp {
        font-size: 70%;
        font-weight: 700;
    }
    /* partner */


    /* kojitu */
    #kojitu .kojitu_info_item div p:first-of-type,
    #kojitu .salomon_corner div p:first-of-type { font-size: 2.5rem;}

    #kojitu .salomon_corner ul li a,
    #kojitu .kojitu_info_item a { font-size: 2rem;}

    #kojitu .salomon_corner img { width: 45%;}

    #kojitu .salomon_corner div { width: 53%;}

    #kojitu .salomon_corner div p:last-of-type { font-size: 4.5rem;}
    /* kojitu */
}

@media screen and (max-width:1200px) {
    /* common */
    .salomon_wrapper { width: 75%;}

    .present div p:nth-of-type(2) { font-size: 3rem;}

    .present div p:last-of-type { font-size: 2rem;}

    .present div { width: 57%;}

    .sec p { font-size: 4rem;}
    /* common */


    /* slmkt2025_intro */
    #slmkt2025_intro p { font-size: 2rem;}
    /* slmkt2025_intro */


    /* map */
    #map .map_item { width: 31%;}

    #map .map_item div p:first-of-type { font-size: 4rem;}

    #map .map_item div p:last-of-type,
    #map .map_item div a { font-size: 3rem;}
    /* map */


    /* partner */
    #partner .salomon_info { font-size: 2rem;}

    #partner h2, #partner .activity_sec_hd h3 { font-size: 9rem;}

    #partner .activity_txt div p:last-of-type { font-size: 4rem;}

    #partner .activity_txt div p:first-of-type { font-size: 1.8rem;}

    #partner .activity_item { width: 31%;}
    /* partner */


    /* kojitu */
    #kojitu .kojitu_intro { font-size: 2rem;}

    #kojitu .salomon_corner ul li a, #kojitu .kojitu_info_item a,
    #kojitu .kojitu_info_item div p:last-of-type { font-size: 1.5rem;}

    #kojitu .kojitu_info_item { width: 31%;}

    #kojitu .salomon_corner { align-items: self-start;}

    #kojitu .salomon_corner div p:last-of-type { font-size: 3.5rem;}
    /* kojitu */
}

@media screen and (max-width:1000px) {
    /* common */
    .salomon_wrapper { width: 85%;}

    .present div p:first-of-type { font-size: 1.8rem;}

    .present div p:nth-of-type(2) { font-size: 2.5rem;}

    .present div p:last-of-type {
        font-size: 1.5rem;
        padding-top: 0.5%;
    }

    .present li { font-size: 1.2rem;}
    /* common */


    /* map */
    #map .map_item div p:first-of-type { font-size: 3rem;}

    #map .map_item div p:last-of-type, #map .map_item div a { font-size: 2rem;}
    /* map */


    /* partner */
    #partner h2, #partner .activity_sec_hd h3 { font-size: 7rem;}

    #partner .activity_item_list { width: 90%;}

    #partner .salomon { width: 40%;}
    /* partner */


    /* kojitu */
    #kojitu { padding: 3%;}

    #kojitu .kojitu_info_item div p:first-of-type, 
    #kojitu .salomon_corner div p:first-of-type { font-size: 2rem;}
    /* kojitu */
}

@media screen and (max-width:800px) {
    /* partner */
    #partner h2, #partner .activity_sec_hd h3 { font-size: 6rem;}

    #partner .activity_txt div p:last-of-type { font-size: 3.5rem;}

    #partner .activity_txt div p:first-of-type,
    #partner .activity_txt a { font-size: 1.5rem;}

    #partner .tracker { font-size: 2.5rem !important;}
    /* partner */


    /* kojitu */
    #kojitu .salomon_corner { 
        flex-direction: column;
        align-items: center;
    }

    #kojitu .salomon_corner img { width: 60%;}

    #kojitu .salomon_corner img { margin-bottom: 3%;}

    #kojitu .salomon_corner div { width: 100%;}

    #kojitu .salomon_corner ul {
        width: 99%;
        grid-template-columns: repeat(3, 1fr);
        gap: 11% 2%;
    }
    /* kojitu */
}

@media screen and (max-width:600px) {
    /* common */
    .pc_only { display: none;}

    .sp_only { display: block;}

    .sec h2 { width: 100%;}

    .sec p { font-size: 6.5vw;}

    .salomon_container section { margin-bottom: 15%;}

    .present { 
        flex-direction: column;
        align-items: center;
    }

    .present div,.present img { width: 100%;}

    .present img { margin-bottom: 3%;}

    .present div p:first-of-type,
    .present div p:last-of-type { font-size: 3.5vw;}

    .present div p:nth-of-type(2) { font-size: 5vw;}

    .present li { font-size: 2.5vw;}
    /* common */


    /* slmkt2025_intro */
    #slmkt2025_intro p { font-size: 3.5vw;}

    #slmkt2025_intro .prev_event { 
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
    }
    /* slmkt2025_intro */


    /* map */
    #map .map_list { width: 80%;}

    #map .map_item { 
        width: 100%;
        margin-bottom: 10%;
    }

    #map .map_item:last-of-type { margin-bottom: 0;}

    #map .map_item div p:first-of-type { font-size: 8vw;}

    #map .map_item div p:last-of-type, #map .map_item div a { font-size: 7vw;}
    /* map */



    /* partner */
    #partner h2 { 
        font-size: 12vw;
        margin-bottom: 8%;
    }

    #partner .activity_sec_hd h3 { 
        font-size: 15vw;
        margin-bottom: 0;
    }

    #partner .salomon {
        width: 70%;
        margin-bottom: 7%;
    }

    #partner .salomon_info { 
        font-size: 3.5vw;
        margin-bottom: 20%;
    }

    #partner .activity_sec_hd img { width: 90%;}

    #partner .activity_sec_hd { 
        padding: 61% 0 5%;
        margin-bottom: 3%;
    }

    #partner .hiking { margin-top: 20%;}

    #partner .activity_item { width: 47%;}

    #partner .activity_txt div p:first-of-type,
    #partner .activity_txt a { font-size: 3.5vw;}

    #partner .activity_txt div p:first-of-type { margin-bottom: 3%;}

    #partner .activity_txt div p:last-of-type { 
        font-size: 7.5vw;
        margin-bottom: 7%;
    }
    /* partner */


    /* kojitu */
    #kojitu .kojitu_intro { font-size: 3.5vw;}

    #kojitu .kojitu_info_list { justify-content: center;}

    #kojitu .kojitu_info_item {
        width: 47%;
        margin-bottom: 7%;
    }

    #kojitu .kojitu_info_item:first-of-type { margin-right: 6%;}

    #kojitu .kojitu_info_item a { width: 99%;}

    #kojitu .kojitu_info_item div p:first-of-type,
    #kojitu .salomon_corner div p:first-of-type {
        font-size: 4vw;
        line-height: 1.1;
    }

    #kojitu .salomon_corner img { width: 100%;}

    #kojitu .salomon_corner ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 8% 3.5%;
        margin-bottom: 7%;
    }

    #kojitu .salomon_corner ul li a,
    #kojitu .kojitu_info_item a,
    #kojitu .kojitu_info_item div p:last-of-type { font-size: 3.5vw;}

    #kojitu .salomon_corner div p:last-of-type { font-size: 6.5vw;}
    /* kojitu */
}