@charset "utf-8";
/* ===========================================
 * pc
 * ======================================== */

 /* common */
/* ======================================== */
:root{
    --color-bg:#FCFAF4;
    --color-gold:#A8955D;
    --font-mont:"Montserrat", sans-serif;
    --font-kaiseiO:"Kaisei Opti", serif;
}

#primary-content #ski{
    max-width: 1420px;
    margin: 30px auto 0;
    position: relative;
    padding: 0 20px
}

#primary-content .montserrat{
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  letter-spacing: -0.2px;
}

#primary-content .biz-udp{
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: -0.1px;
}

#primary-content #ski #kv figure{
    display: flex;
    position: relative;   
}

#primary-content #ski #kv figure .cap-set{
    position: absolute;
    line-height: 1;
    bottom: -60px;
    left: 10px
}

#primary-content #ski #kv figure .cap-set img{
    width: 372px;
    margin-bottom: 16px
}

#primary-content #ski #kv figure .cap-set h2{
    font-size: 19px
}

#primary-content #ski #kv .main-tit{
    margin-bottom: 130px
}

#primary-content #ski #kv .main-tit h2{
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    font-size: 24px;
    margin-top: 250px
}

#primary-content #ski #kv .main-tit h3{
    margin-top: 26px;
    display: flex;
    justify-content: center;
}

#primary-content #ski #kv .main-tit h3 img{
    width: 106px
}

#primary-content #ski .float-nv {
  position: absolute;
  margin-left: 10px;
  z-index: 9;
  font-weight: 500;
  line-height: 1;
  bottom: -224px;
  opacity: 1;
  font-size: 12px;
  transition: 0.3s;
}

#primary-content #ski .float-nv.lock {
  position: fixed;
  top: 100px;
  bottom: auto;
  opacity: 1;
  filter: blur(0px);
}

#primary-content #ski .float-nv.fade-out {
  filter: blur(10px);
  opacity: 0;
  pointer-events: none;
}

#primary-content #ski .float-nv h4{
    font-weight: 500 !important;
    color: #FF6781;
    margin-bottom: 24px
}

#primary-content #ski .float-nv ul{
    display: flex;
    flex-direction: column;
    gap: 13px;
}

#primary-content #ski .float-nv ul a{
    color: #939393;
    transition: 0.2s;
}

#primary-content #ski .float-nv ul a:hover,
#primary-content #ski .float-nv ul a.active{
    color: #0B0B7B
}

#primary-content .section-box{
    width: 100%;
    box-sizing: border-box;
    padding: 110px 20px;
}

#primary-content #yy.section-box{
    padding-bottom: 50px;
}

#primary-content .section-box.bg-g{
    background-color: #FAFAFA
}

#primary-content .section-box .inner{
    max-width: 670px;
    margin: 0 auto;
    line-height: 1
}

#primary-content .section-box .sec-name{
    margin-bottom: 38px
}

#primary-content .section-box .sec-name h2{
    height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500 !important;
    font-size: 14px;
    margin-bottom: 6px
}

#primary-content .section-box .sec-name h2 span{
    position: relative;
    z-index: 2
}

#primary-content .section-box .sec-name h2 img{
    position: absolute;
    height: 22px;
    z-index: 1
}

#primary-content .section-box .sec-name h3{
    font-size: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#primary-content .section-box .sec-name>img{
    height: 22px;
    margin-top: 9px 
}

#primary-content .section-box dl{
    font-size: 15px;
    font-weight: 700;
    line-height: 28px;
    margin-bottom: 26px
}

#primary-content .section-box dl:last-child{
    margin-bottom: 0px
}

#primary-content .section-box dl dd{
    margin-bottom: 20px
}

#primary-content .section-box dl dd,
#primary-content .section-box dl dt{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    position: relative;
    left: -6px
}

#primary-content .section-box dl b{
    font-size: 20px;
    padding-bottom: 2px;
    line-height: 1;
    width: 18px;
    text-align: center;
}

#primary-content .section-box dl b.q{
    border-bottom: 1px solid #FF6781;
    color: #FF6781
}

#primary-content .section-box dl b.a{
    border-bottom: 1px solid #0B0B7B;
    color: #0B0B7B
}

#primary-content .section-box dl p{
    /*text-align: justify;*/
    line-height: 27px;
    width: calc(100% - 34px);
    letter-spacing: 0;
    margin-top: -3px
}

#primary-content .section-box dl p+p{
    margin-top: 20px
}

#primary-content .section-box .txt{
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-bottom: 48px;
    border-bottom: 0.6px solid #707070
}

#primary-content .section-box .txt+dl{
    margin-top: 48px
}

#primary-content .section-box .txt p{
    /*text-align: justify;*/
    line-height: 28px;
    letter-spacing: 1px;
}

#primary-content .section-box dl+dl{
    margin-top: 48px;
    padding-top: 48px;
    border-top: 0.6px solid #707070
}

#primary-content .section-box .txt:last-child{
    padding-bottom: 0;
    border-bottom: unset;
}

.icon {
  position: relative;
  width: 54px;
  height: 54px;
  margin: 8px 0
}

.line {
  position: absolute;
  width: 54px;
  height: 2px;
  left: 0px;
  top: 50%;
    transform-origin: center;
  transform: translate(-50%, -50%);
}

/* 青 */
.line1 {
  background: #1a237e;
  animation: line1 6.5s ease infinite;
}

/* 赤 */
.line2 {
  background: #ff4d6d;
  animation: line2 6.5s ease infinite;
}

@keyframes line1 {

0% {
transform: rotate(0deg) translateY(0);
}

15.38% {
transform: rotate(0deg) translateY(-20px);
}

30.76% {
transform: rotate(0deg) translateY(-20px);
}

38.46% {
transform: rotate(0deg) translateY(0);
}

46.15% {
transform: rotate(45deg) translateY(0);
}

92.30% {
transform: rotate(45deg) translateY(0);
}

100% {
transform: rotate(0deg) translateY(0);
}

}

@keyframes line2 {

0% {
transform: rotate(0deg) translateY(0);
}

15.38% {
transform: rotate(0deg) translateY(20px);
}

30.76% {
transform: rotate(0deg) translateY(20px);
}

38.46% {
transform: rotate(0deg) translateY(0);
}

46.15% {
transform: rotate(-45deg) translateY(0);
}

92.30% {
transform: rotate(-45deg) translateY(0);
}

100% {
transform: rotate(0deg) translateY(0);
}

}


@media(max-width:768px){
    .float-nv{
        display: none !important;
    }

    .icon {
      width: 34px;
      height: 34px;
    }

    .line {
      width: 34px;
    }

    #primary-content #ski{
        margin-top: 0;
        padding: 0 10px
    }

    #primary-content #ski #kv .main-tit{
        padding-right: 5px
    }

    #primary-content #ski #kv .main-tit h2{
        font-size: 19px
    }

    #primary-content #ski #kv figure .cap-set{
        bottom: -40px
    }

    #primary-content #ski #kv figure .cap-set img{
        max-width: 220px;
        margin-bottom: 10px
    }

    #primary-content #ski #kv figure .cap-set h2{
        font-size: 15px
    }

    #primary-content #ski #kv .main-tit h2{
        margin-top: 150px;
        align-items: flex-end;
    }

    #primary-content #ski #kv .main-tit h3{
        justify-content: flex-end;
    }

    #primary-content #ski #kv .main-tit h3 img{
        width: 88px
    }

    #primary-content .section-box{
        padding-left: 15px;
        padding-right: 15px
    }

    #primary-content .section-box .txt{
        font-size: 15px;
    }

    #primary-content .section-box dl p,
    #primary-content .section-box .txt p{
        letter-spacing: -0.2px
    }

    #primary-content .section-box dl p+p{
        margin-top: 16px
    }

 }








