@charset "UTF-8";

/* ==========================================================================
    ヘッダー
   ========================================================================== */
header{
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-bottom: solid var(--color-gray-500) 1px;
}
header .container{
    width: 100%;
    max-width: 97%;
    padding: 8px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .container > div{
    display: flex;
    align-items: center;
}

header .container .header-right{ display: none;}
@media screen and (min-width: 768px) { header .container .header-right{ display:flex;}}

header .container .logo{ width: 160px;}
@media screen and (min-width: 600px) { header .container .logo{ width: 200px;}}
@media screen and (min-width: 1024px) { header .container .logo{ width: 240px;}}

header .container .logo-no1{
    width: 140px;
    margin-left: 20px;
}
@media screen and (min-width: 600px) {header .container .logo-no1{width: 180px;}}
@media screen and (min-width: 1024px) { header .container .logo{ width: 240px;}}

header .container .logo-tel{
    width: 160px;
    margin-right: 30px;
}

header .container .cta-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 36px;
    background: var(--color-orange);
    color: var(--color-white);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-decoration: none;
    /* 台形のキモ */
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0% 100%);
    transition: all 0.3s ease;
}

header .container .cta-btn:hover{
    background: var(--color-orange-hover);
    transform: translateY(-2px);
}


/* ==========================================================================
    Main Visual (MV)
   ========================================================================== */
#mv {
    position: relative;
    overflow: hidden;
}

#mv .mv-img img {
    width: 100%;
    height: 90vh;
    object-fit: cover;
    object-position: bottom;
    display: block;
}
@media screen and (min-width: 600px) { #mv .mv-img img { height: 700px; } }

#mv .mv-inner{
    position: absolute;
    top: 45%;
    left: 47%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 10;
}
@media screen and (min-width: 600px) { #mv .mv-inner { left:55%;}}
@media screen and (min-width: 1024px) { #mv .mv-inner { left: 60%;}}

#mv .mv-inner h1 {
    width: 100%;
    max-width: 500px;
    height: auto;
}
@media screen and (min-width: 600px) {#mv .mv-inner h1 { max-width: 600px;}}
@media screen and (min-width: 1024px) {#mv .mv-inner h1 { max-width: 700px;}}
@media screen and (min-width: 1366px) {#mv .mv-inner h1 { max-width: 800px;}}

#mv .mv-inner h1 .logo-change{
    opacity: 0;
    transition: opacity .6s ease;
}

#mv .mv-inner h1.is-active .logo-change{
    opacity: 1;
}

#mv .mv-inner .btn-area{
    margin-top: 30px;
    padding-left: 30px;
}

#mv .mv-inner .btn-area .cta-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 40px;
    background: var(--color-orange);
    color: var(--color-white);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-decoration: none;
    /* 台形のキモ */
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0% 100%);
    transition: all 0.3s ease;
}
@media screen and (min-width: 600px) {
    #mv .mv-inner .btn-area .cta-btn{
        height: 60px;
    }
}

#mv .mv-inner .btn-area .cta-btn:hover{
    background: var(--color-orange-hover);
    transform: translateY(-2px);
}

#mv .btn-area .cta-btn::after{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../img/icon-arrow-right.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 10px;
}

#mv .mv-badge{
    position: absolute;
    top: 10px;
    right: 10px;
    width: 220px;
    z-index: 10;
}
@media screen and (min-width: 768px){
    #mv .mv-badge{
        width: 160px;
    }
}
@media screen and (min-width: 768px){
    #mv .mv-badge{
        width: 200px;
    }
}

/* ==========================================================================
    クラスコが選ばれる理由
   ========================================================================== */
#choose{
    padding: 30px 0;
    border-bottom:solid var(--color-orange) 4px;
} 
@media screen and (min-width: 600px) {#choose{padding: 50px 0;}}

#choose .choose__headline{
    text-align: center;
    font-style: italic;
    position: absolute;
    top: -40px;
    width: 100%;
    opacity: .6;
}
@media screen and (min-width: 768px){#choose .choose__headline{ top: -80px; font-size: 80px;}}

/* #choose .choose-list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 30px;
}
@media screen and (min-width: 600px){ #choose .choose-list{grid-template-columns: repeat(3, 1fr);}}
@media screen and (min-width: 768px){ #choose .choose-list{grid-template-columns: repeat(5, 1fr);}}

#choose .choose-list .choose-list-head{
    height: 190px;
}

#choose .choose-list .choose-list-head img{
    width: 80px;
    margin: 0 auto;
}

#choose .choose-list .choose-list-head .font-poppins{
    margin: 0 5px;
}

#choose .choose-list .choose-list-body{
    display: grid;
    align-items: center;
    height: 60px;
}

#choose .choose-list .choose-list-body .font-poppins{
    margin: 0 5px;
}

#choose .choose-list .choose-list-body p{
    line-height: 1;
} */

#choose .choose-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 30px;
}

@media screen and (min-width: 600px) {
    #choose .choose-list { grid-template-columns: repeat(3, 1fr); }
}

@media screen and (min-width: 1024px) {
    #choose .choose-list { grid-template-columns: repeat(5, 1fr); }
}

#choose .choose-list li {
    display: flex;
    flex-direction: column;
}

#choose .choose-list .choose-list-head {
    flex: 1;                    /* ← 固定heightをやめてflexで伸ばす */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    /* padding: 16px 8px 12px;
    gap: 6px; */
    padding: 0px;
    gap: 0px;
}

#choose .choose-list .choose-list-head img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    margin-bottom: 4px;
}

#choose .choose-list .choose-list-head .font-poppins {
    margin: 0 3px;
}

#choose .choose-list .choose-list-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 80px;
    padding: 10px 6px;
    gap: 2px;
}

#choose .choose-list .choose-list-body .font-poppins {
    margin: 0 3px;
}

#choose .choose-list .choose-list-body p {
    line-height: 1.2;
}

#choose .choose-notes{
    margin-bottom: 30px;
}

/* ==========================================================================
    富山のオーナー様へ
   ========================================================================== */
#worries .worries-list{
    margin-bottom: 50px;
}
@media screen and (min-width: 600px){
    #worries .worries-list{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-bottom: 100px;
    }
}

#worries .worries-list li{
    padding: 20px;
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    font-weight: bold;
    display: flex;
    align-items: center;
}

#worries .worries-list li::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../img/icon-check-box.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 10px;
}

#worries .worries-list li:not(:first-child){margin-top: 10px;}
@media screen and (min-width: 600px){#worries .worries-list li:not(:first-child){margin-top: 0;}}

#worries .issue-list{
    margin-bottom: 30px;
}
@media screen and (min-width: 768px){
    #worries .issue-list{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin-bottom: 30px;
    }
}

#worries .issue-list li{
    padding: 20px;
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
}

#worries .issue-list li:not(:first-child){margin-top: 10px;}
@media screen and (min-width: 768px){#worries .issue-list li:not(:first-child){margin-top: 0px;}}

#worries .triangle{
    margin: 15px auto;
}

#worries .cta-area .cta-area h2{
    font-size: clamp(30px, 2.8vw, 40px);
    margin-bottom: 20px;
}

#worries .cta-area .cta-area-inner{
    margin-top: 20px;
}
@media screen and (min-width: 768px){
    #worries .cta-area .cta-area-inner{
        margin-top: 30px;
    }
}


/* ==========================================================================
    なぜ、クラスコなら「上がる」のか？
   ========================================================================== */
@media screen and (min-width: 768px){
    #performance .performance__lead{
        display: flex;
        align-items: center;
        justify-content: space-around;
        gap: 10px;
    }
}

#performance .performance__lead-head,
#performance .performance__card-head{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 20px;
}

#performance .performance__lead-head .performance__icon,
#performance .performance__card-head .performance__icon{
    width: 40px;
    margin-right: 10px;
}

#performance .performance__lead .performance__room{margin-top: 20px;}
@media screen and (min-width: 768px){#performance .performance__lead .performance__room{margin-top: 0px; width: 40%;}}

#performance .performance__step-wrap{
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 5%;
    padding-right: 5%;
}
@media screen and (min-width: 1024px){
    #performance .performance__step-wrap{
        overflow: visible;
        width: 100%;
        padding: 0;
        margin: 0;
    }
}

#performance .performance__step-wrap::-webkit-scrollbar{
    display: none;
}

#performance .performance__step-wrap .performance__step {
    display: flex;
    justify-content: flex-start;
    background-color: var(--color-navy-mid);
    border-radius: var(--radius-md);
    margin-top: 10px;
    width: max-content;
    min-width: 100%;
    padding-left: 0;
}
@media screen and (min-width: 1024px){
    #performance .performance__step-wrap .performance__step {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%;
    }
}

#performance .performance__step-wrap .performance__step li{
    position: relative;
    padding: 20px;
    flex: 0 0 85%;
    max-width: 320px;
}
@media screen and (min-width: 1024px){
    #performance .performance__step-wrap .performance__step li{
        flex: initial;
        max-width: none;
        width: auto;
        min-width: 0;
    }
}

#performance .performance__step-wrap .performance__step li:not(:last-child){
    border-right: solid var(--color-navy) 1px;
}

#performance .performance__step-wrap .performance__step li:not(:last-child)::after{
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../img/icon-arrow-right-org.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translate(-50%, -50%);
}

#performance .performance__card{
    color: var(--color-off-black);
    margin-top: 30px;
}
@media screen and (min-width: 1024px){
    #performance .performance__card{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

#performance .performance__card > li{
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    padding: 30px;
}
@media screen and (min-width: 1024px){
    #performance .performance__card li{
    }
}

#performance .performance__card li:not(:first-child){
    margin-top: 15px;
}
@media screen and (min-width: 1024px){
    #performance .performance__card li:not(:first-child){
    margin-top: 0px;
    }
}

#performance .performance__card li ul{
    margin-top: 20px;
}

#performance .performance__card li ul li{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

#performance .performance__card li ul li:not(:first-child){
    margin-top: 5px;
}

#performance .performance__card li ul li::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background-image: url(../img/icon-check.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 10px;
}


/* ==========================================================================
    収益を生むクラスコの3つの戦略
   ========================================================================== */
#strategy .strategy__notice{
    background-color: var(--color-orange-mid);
    border: solid var(--color-orange) 1px;
    padding: 20px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 30px;
}

#strategy .strategy__notice::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background-image: url(../img/icon-exclamation.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 10px;
}

#strategy .strategy__subttl{
    margin-bottom: 30px;
}

#strategy .strategy__subttl h3{
    margin-bottom: 10px;
}


#strategy .strategy__list{
    margin: 30px 0;
}
@media screen and (min-width: 768px){
    #strategy .strategy__list{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
}

#strategy .strategy__list li{
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    padding: 20px;
}

#strategy .strategy__list li:not(:first-child){
    margin-top: 10px;
}
@media screen and (min-width: 768px){#strategy .strategy__list li:not(:first-child){ margin-top: 0px;}
}

#strategy .strategy__list li .strategy-card__head{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 10px;
}

#strategy .strategy__list li .strategy-card__head p{
    width: 80px;
    margin-right: 5px;
}
@media screen and (min-width: 768px){#strategy .strategy__list li .strategy-card__head p{ width: 100px;}}

#strategy .strategy__list li .strategy-card__head .strategy-card__line{
    width: 100%;
    height: 1px;
    background-color: var(--color-orange);
}

#strategy .strategy__list li .strategy-card__ttl{ margin: 10px 0;}

#strategy .strategy__result .strategy__result-ttl{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 30px;
}

#strategy .strategy__result .strategy__result-ttl::before,
#strategy .strategy__result .strategy__result-ttl::after{
    content: "";
    flex: 1;
    max-width: 90px;
    height: 1px;
    background-color: var(--color-orange);
}

#strategy .strategy__result .strategy-result__list .strategy-result__item:not(:first-child){ margin-top: 30px;}
@media screen and (min-width: 600px){#strategy .strategy__result .strategy-result__list .strategy-result__item:not(:first-child){ margin-top: 0;}}

@media screen and (min-width: 600px){
    #strategy .strategy__result .strategy-result__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
}

#strategy .strategy__result .strategy-result__list .strategy-result__item .strategy-result__num{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    line-height: 1;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: solid var(--color-off-black) 1px;
}

#strategy .strategy__result .strategy-result__list .strategy-result__item .strategy-result__num .strategy-result__num-value{
    display: inline-flex;
    justify-content: flex-end;
}

#strategy .strategy__result .strategy-result__list .strategy-result__item:nth-child(1) .strategy-result__num-value{ width: 7em;}
/* @media screen and (min-width: 768px){ #strategy .strategy__result .strategy-result__list .strategy-result__item:nth-child(1) .strategy-result__num-value{ width: 10.4em;}} */

#strategy .strategy__result .strategy-result__list .strategy-result__item:nth-child(2) .strategy-result__num-value{ width: 8.6em;}
/* @media screen and (min-width: 768px){ #strategy .strategy__result .strategy-result__list .strategy-result__item:nth-child(2) .strategy-result__num-value{ width: 12.9em;}} */

#strategy .strategy__result .strategy-result__list .strategy-result__item .strategy-result__num .strategy-result__num-main{
    font-size: 80px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
@media screen and (min-width: 768px){#strategy .strategy__result .strategy-result__list .strategy-result__item .strategy-result__num .strategy-result__num-value .strategy-result__num-main{font-family: 120px;}}

#strategy .strategy__result .strategy-result__list .strategy-result__item .strategy-result__unit{
    margin-bottom: 10px;
}

#strategy .strategy__result .strategy-result__list .strategy-result__item .strategy-result__num .is-static-zero{
  display: inline-block;
  animation: zeroPop 0.8s ease both;
}
@keyframes zeroPop{
  0%{
    opacity: 0;
    transform: scale(0.9);
  }
  100%{ 
    opacity: 1;
    transform: scale(1);
  }
}

@media screen and (min-width: 600px){
    #strategy .strategy__result .strategy-result__list .strategy-result__item .strategy-result__text{
        padding: 0 10px;
    }
}


/* ==========================================================================
    石川で磨いた管理ノウハウが富山に来ました
   ========================================================================== */
#achievement .achievement__notice{
    color: var(--color-off-black);
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    padding: 20px;
    margin-bottom: 30px;
}

#achievement .track-record__stats{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    color: var(--color-off-black);
    margin-bottom: 30px;
}
@media screen and (min-width: 768px){
    #achievement .track-record__stats{
        grid-template-columns: repeat(4, 1fr);
    }
}

#achievement .track-record__stats .track-record-stat{
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    padding: 20px 3px;
}
@media screen and (min-width: 768px){
    #achievement .track-record__stats li{
        padding: 20px 10px;
    }
}

#achievement .track-record__stats .track-record-stat .track-record-stat__label{
    min-height: 3.2em; /* 2行分を確保 */
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 5px;
}

#achievement .track-record__stats .track-record-stat .track-record-stat__num{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    line-height: 1;
}

#achievement .track-record__stats .track-record-stat .track-record-stat__num .track-record-stat__num-value{
    display: inline-flex;
    justify-content: flex-end;
}

#achievement .track-record__stats .track-record-stat:nth-child(1) .track-record-stat__num-value{ width: 2.8em;}
#achievement .track-record__stats .track-record-stat:nth-child(2) .track-record-stat__num-value{ width: 9.8em;}
@media screen and (min-width: 1024px){
    #achievement .track-record__stats .track-record-stat:nth-child(2) .track-record-stat__num-value{ width: 12.2em;}
}
#achievement .track-record__stats .track-record-stat:nth-child(3) .track-record-stat__num-value{ width: 8.4em;}
@media screen and (min-width: 1024px){
    #achievement .track-record__stats .track-record-stat:nth-child(3) .track-record-stat__num-value{ width: 10.4em;}
}
#achievement .track-record__stats .track-record-stat:nth-child(4) .track-record-stat__num-value{ width: 9.5em;}
@media screen and (min-width: 1024px){
    #achievement .track-record__stats .track-record-stat:nth-child(4) .track-record-stat__num-value{ width: 11.9em;}
}

#achievement .track-record__stats .track-record-stat .track-record-stat__num .track-record-stat__num-value .font-poppins{
    font-size: 40px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
@media screen and (min-width: 1024px){
    #achievement .track-record__stats .track-record-stat .track-record-stat__num .track-record-stat__num-value .font-poppins{font-size: 50px;}
}

#achievement .track-record__stats .track-record-stat .track-record-stat__num .track-record-stat__unit{
    margin-bottom: 5px;
}
@media screen and (min-width: 1024px){
    #achievement .track-record__stats .track-record-stat .track-record-stat__num .track-record-stat__unit{
        margin-bottom: 8px;
    }
}
#achievement .track-record__cards{
    color: var(--color-off-black);
}
@media screen and (min-width: 768px){
    #achievement .track-record__cards{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

#achievement .track-record__cards .track-record-card{
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    padding: 20px;
}

#achievement .track-record__cards .track-record-card:not(:first-child){
    margin-top: 10px;
}
@media screen and (min-width: 768px){
    #achievement .track-record__cards .track-record-card:not(:first-child){
        margin-top: 0px;
    }
}

#achievement .track-record__cards .track-record-card .track-record-card__head{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 20px;
}

#achievement .track-record__cards .track-record-card .track-record-card__head .track-record-card__icon{
    width: 40px;
    margin-right: 10px;
}


/* ==========================================================================
    パララックス
   ========================================================================== */
.parallax{
    position: relative;
    height: 300px;
    overflow: hidden;
}

.parallax__bg{
    position: absolute;
    top: -15%;
    left: 0;
    width: 100%;
    height: 140%;
    background: url("../img/img-toyama.jpg") center 35% / cover no-repeat;
    transform: translateY(0);
    will-change: transform;
}


/* ==========================================================================
    クラスコが富山を選んだ理由
   ========================================================================== */
#why-toyama .why-toyama__headline{
    text-align: center;
    font-style: italic;
    position: absolute;
    top: -20px;
    width: 100%;
    opacity: .6;
}
@media screen and (min-width: 768px){#why-toyama .why-toyama__headline{ top: -80px; font-size: 80px;}}
@media screen and (min-width: 1024px){#why-toyama .why-toyama__headline{top:-100px; font-size: 120px;}}



#why-toyama .why-toyama__synergy{
    display: grid;
    /* gap: 24px; */
}
@media screen and (min-width: 768px){
    #why-toyama .why-toyama__synergy{
        grid-template-columns: 1fr 160px 1fr;
        align-items: center;
        gap: 40px;
    }
}
@media screen and (min-width: 1024px){
    #why-toyama .why-toyama__synergy{
        gap: 80px;
    }
}

#why-toyama .why-toyama__synergy .why-toyama__synergy-box,
#why-toyama .why-toyama__synergy .why-toyama__synergy-center{
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    border: solid 1px var(--color-orange);
    padding: 20px;
    color: var(--color-off-black);
}
@media screen and (min-width: 768px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-box,
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center{
        padding: 10px;
    }
}
@media screen and (min-width: 1024px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-box,
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center{
        padding: 20px;
    }
}

@media screen and (min-width: 768px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-box{
        display: flex;
        flex-direction: column;
        justify-content: center;
        /* min-height: 220px; */
    }
}

#why-toyama .why-toyama__synergy .why-toyama__synergy-center{
    position: relative;
    width: 160px;
    height: 100px;
    margin: 40px auto;
    text-align: center;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 768px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center{
        width: 160px;
        height: 100px;
        margin: 0 auto;
        padding: 0;
        overflow: visible;
    }
}

#why-toyama .why-toyama__synergy .why-toyama__synergy-center::before,
#why-toyama .why-toyama__synergy .why-toyama__synergy-center::after{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 40px;
    background-image: linear-gradient(
        to bottom,
        var(--color-orange) 50%,
        transparent 50%
    );
    background-size: 2px 8px;
    background-repeat: repeat-y;
}
@media screen and (min-width: 768px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center::before,
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center::after{
        top: 50%;
        width: 40px;
        height: 2px;
        transform: translateY(-50%);
        background-image: linear-gradient(
            to right,
            var(--color-orange) 50%,
            transparent 50%
        );
        background-size: 8px 2px;
        background-repeat: repeat-x;
    }
}
@media screen and (min-width: 1024px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center::before,
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center::after{
        width: 80px;
    }
}

#why-toyama .why-toyama__synergy .why-toyama__synergy-center::before{
    top: -40px;
}
@media screen and (min-width: 768px){
     #why-toyama .why-toyama__synergy .why-toyama__synergy-center::before{
        top: 50%;
        left: -40px;
    }
}
@media screen and (min-width: 1024px){
     #why-toyama .why-toyama__synergy .why-toyama__synergy-center::before{
        left: -80px;
     }
}

#why-toyama .why-toyama__synergy .why-toyama__synergy-center::after{
    bottom: -40px;
}
@media screen and (min-width: 768px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center::after{
        left: auto;
        right: -40px;
    }
}
@media screen and (min-width: 1024px){
    #why-toyama .why-toyama__synergy .why-toyama__synergy-center::after{
        right: -80px;
    }
}

#why-toyama .why-toyama__reason{
    margin:30px 0;
}
@media screen and (min-width: 768px){
    #why-toyama .why-toyama__reason{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin:50px 0;
    }
}

#why-toyama .why-toyama__reason li:not(:first-child){
    margin-top: 20px;
}
@media screen and (min-width: 768px){
    #why-toyama .why-toyama__reason li:not(:first-child){
        margin-top: 0px;
    }
}

#why-toyama .why-toyama__reason li .why-toyama__reason-title{
    line-height: 1;
    margin-bottom: 10px;
}

#why-toyama .why-toyama__reason li .why-toyama__reason-title span{
    font-style: italic;
    margin-right: 5px;
}


/* ==========================================================================
    富山の賃貸市場は今どうなっているのか？
   ========================================================================== */
#market-analysis .market-analysis__slider{
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
@media screen and (min-width: 768px){
    #market-analysis .market-analysis__slider{
        width: auto;
        margin-left: 0;
        overflow: visible;
    }
}

#market-analysis .market-analysis__slider::-webkit-scrollbar{
    display: none;
}

#market-analysis .market-analysis__slider .market-analysis__list{
    list-style: none;
    margin: 0;
    padding: 0 5%;
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
    min-width: 100%;
    scroll-snap-type: x proximity;
}
@media screen and (min-width: 768px){
    #market-analysis .market-analysis__slider .market-analysis__list{
        padding: 0;
        width: auto;
        min-width: 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        scroll-snap-type: none;
    }
}

#market-analysis .market-analysis__slider .market-analysis__list li{
    flex: 0 0 85%;
    max-width: 340px;
    scroll-snap-align: start;
}
@media screen and (min-width: 768px){
    #market-analysis .market-analysis__slider .market-analysis__list li{
        flex: initial;
        max-width: none;
    }
}

#market-analysis .market-analysis__slider .market-analysis__list li .market-analysis__item{
    position: relative;
    margin-bottom: 20px;
}

#market-analysis .market-analysis__slider .market-analysis__list li .market-analysis__item .img-16-9{
    position: relative;
}

#market-analysis .market-analysis__slider .market-analysis__list li .market-analysis__item .img-16-9::before{
    content:"";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
}

#market-analysis .market-analysis__slider .market-analysis__list li .market-analysis__item .market-analysis__stat{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
    text-align: center;
    color: var(--color-white);
}

#market-analysis .market-analysis__slider .market-analysis__list li .market-analysis__item .market-analysis__stat .font-poppins{
    line-height: 1;
    margin-top: 5px;
}

#market-analysis .market-demand-index__box{
    background-color: var(--color-navy);
    border-radius: 24px;
    padding: 20px;
    margin-top: 30px;
    color: var(--color-white);
}
@media screen and (min-width: 768px){
    #market-analysis .market-demand-index__box{
        margin-top: 50px;
    }
}

#market-analysis .market-demand-index__ttl{
    margin-bottom: 20px;
}

#market-analysis .market-demand-index__list{
    display: grid;
    gap: 15px;
}

#market-analysis .market-demand-index__item{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: center;
}
@media screen and (min-width: 767px){
    #market-analysis .market-demand-index__item{
        grid-template-columns: 160px 1fr 48px;
        gap: 20px;
    }
}

#market-analysis .market-demand-index__bar{
    position: relative;
    width: 100%;
    height: 16px;
    border-radius: 999px;
    background-color: rgba(255,255,255,.8);
    overflow: hidden;
}

#market-analysis .market-demand-index__fill{
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    border-radius: 999px;
    background-color: var(--color-orange);
    transition: width 1.4s ease;
}

#market-analysis .market-demand-index__value{
    line-height: 1;
    text-align: right;
}

#market-analysis .market-demand-index__note-wrap{
    display: grid;
    gap: 16px;
    margin-top: 28px;
}
@media screen and (min-width: 767px){
    #market-analysis .market-demand-index__note-wrap{
        grid-template-columns: 1fr auto;
        align-items: end;
        margin-top: 32px;
    }
}

@media screen and (min-width: 767px){
    #market-analysis .market-demand-index__source{
        text-align: left;
    }
}


/* ==========================================================================
    「値下げ」より「価値」を選んだ成功事例
   ========================================================================== */
#case-study .case-study__slider-wrap{
    overflow: hidden;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

#case-study .case-study__slider-wrap .case-study__slider{
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

#case-study .case-study__slider-wrap .case-study__slider .slick-list{
    overflow: visible;
}

#case-study .case-study__slider-wrap .case-study__list .slick-list::before,
#case-study .case-study__slider-wrap .case-study__list .slick-list::after{
    content: "";
    display: block;
    position: absolute;
    pointer-events: none;
    top: 0;
    width: 10%;
    height: 100%;
    z-index: 1;
}

#case-study .case-study__slider-wrap .case-study__list .slick-list::before{
    background: linear-gradient(90deg, var(--color-navy), transparent);
    left: 0;
}

#case-study .case-study__slider-wrap .case-study__list .slick-list::after{
    background: linear-gradient(270deg, var(--color-navy), transparent);
    right: 0;
}

#case-study .case-study__slider-wrap .case-study__slider .slick-track{
    display: flex;
    align-items: stretch;
}

@media screen and (min-width: 1024px){
    #case-study .case-study__slider-wrap .case-study__slider .slick-list,
    #case-study .case-study__slider-wrap .case-study__slider .slick-track{
        overflow: visible;
    }
}

#case-study .case-study__slider-wrap .case-study__slider .slick-slide{
    width: 330px !important;
    padding: 0 8px;
    box-sizing: border-box;
}
@media screen and (min-width: 600px){
    #case-study .case-study__slider-wrap .case-study__slider .slick-slide{
        width: 440px !important;
    }
}
@media screen and (min-width: 1024px){
    #case-study .case-study__slider-wrap .case-study__slider .slick-slide{
        width: 380px !important;
        opacity: 1;
    }
}

#case-study .case-study__slider-wrap .case-study__slider .slick-slide > div{
    height: 100%;
}


#case-study .case-study__slider-wrap .case-study__slider .slick-center{
    opacity: 1;
}

/* dots */
/* #case-study .case-study__slider-wrap .case-study__slider .slick-dots{
    display: flex !important;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

#case-study .case-study__slider-wrap .case-study__slider .slick-dots li{
    width: auto;
    height: auto;
    margin: 0;
}

#case-study .case-study__slider-wrap .case-study__slider .slick-dots button{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 0;
    background-color: rgba(255,255,255,.35);
    font-size: 0;
    padding: 0;
}

#case-study .case-study__slider-wrap .case-study__slider .slick-dots .slick-active button{
    background-color: var(--color-orange);
}

#case-study .case-study__slider-wrap .case-study__slider .slick-dots li button:before,
#case-study .case-study__slider-wrap .case-study__slider  .slick-dots li.slick-active button:before{
    display: none;
} */

@media screen and (min-width: 1024px){
    #case-study .case-study__slider .slick-prev,
    #case-study .case-study__slider .slick-next,
    #case-study .case-study__slider .slick-dots{
        display: none !important;
    }
}

#case-study .case-study__slider-wrap .case-study__slider .case-study__card{
    height: 100%;
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    overflow: hidden;
    transform: translateY(0);
}

#case-study .case-study__slider-wrap .case-study__list{
    overflow: visible;
}

#case-study .case-study__list .case-study__card{
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    overflow: hidden;
}

#case-study .case-study__list .case-study__card .case-study__img-wrap{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#case-study .case-study__list .case-study__card .case-study__img-wrap .case-study-before::after{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background-color: var(--color-white);
}

#case-study .case-study__list .case-study__card .case-study__img-wrap .case-study-before::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/icon-arrow-right02-org.png) center / contain no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
}

#case-study .case-study__list li .case-study__img-wrap .case-study-before,
#case-study .case-study__list li .case-study__img-wrap .case-study-after,
#case-study .case-study__list li .case-study__img-wrap .case-study-img{
    height: 150px;
}

#case-study .case-study__list li .case-study__content{
    padding: 16px;
}

#case-study .case-study__list li .case-study__content .case-study__rent{
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
    margin-top: 12px;
}

#case-study .case-study__rent-label{
    writing-mode: vertical-rl;
    letter-spacing: 0.2em;
    padding: 4px 2px;
    min-height: 48px;
    font-size: 12px;
    font-weight: bold;
    color: var(--color-white);
    background-color: var(--color-navy);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

#case-study .case-study__list li .case-study__content .case-study__rent::after{
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: url(../img/icon-arrow-right-org.png) center / contain no-repeat;
    position: absolute;
    top: 50%;
    left: 47%;
    transform: translate(-50%,-50%);
}
@media screen and (min-width: 1024px){
    #case-study .case-study__list li .case-study__content .case-study__rent::after{
        left: 45%;
    }
}

#case-study .case-study__list li .case-study__content .case-study__rent p{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    line-height: 1;
}

#case-study .case-study__list li .case-study__content .case-study__rent p:nth-child(3){
    padding-bottom: 3px;
}

#case-study .case-study__list li .case-study__increase{
    font-style: italic;
    line-height: 1;
    padding: 8px 0;
    text-align: center;
}


/* ==========================================================================
    セミナー
   ========================================================================== */
#seminar .container {
    overflow: visible;
}

#seminar .seminar__tabs {
    display: flex;
    justify-content: center;
    /* gap: 5px; */
    margin-bottom: 30px;
    /* border-bottom: solid var(--color-gray-500) 1px; */
}
@media screen and (min-width: 768px){
    #seminar .seminar__tabs {
        width: 500px;
        margin: 0 auto 50px;
    }
}

#seminar .seminar__tab {
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    /* gap: 8px; */
    padding: 10px;
    /* width: 160px; */
    width: 100%;
    /* min-height: 44px; */
    /* border-radius: 50px; */
    /* border: 1px solid var(--color-gray-500);
    background: var(--color-gray-100); */
    color: var(--color-gray-500);
    cursor: pointer;
    transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base);
    line-height: 1;
    border-bottom: solid var(--color-gray-500) 1px;
}

#seminar .seminar__tab:focus-visible {
    outline: 2px solid var(--color-brand);
    outline-offset: 2px;
}

#seminar .seminar__tab.is-active {
    /* background: var(--color-orange);
    color: var(--color-white);
    border-color: var(--color-orange); */
    color: var(--color-orange);
    border-bottom: solid var(--color-orange) 2px;
    font-weight: bold;
}

@media (hover: hover) and (pointer: fine) {
    #seminar .seminar__tab:not(.is-active):hover {
        background: var(--color-orange);
        color: var(--color-white);
        border-color: var(--color-orange);
    }
}

#seminar .seminar__tab-count {
    font-size: clamp(11px, 0.8vw, 13px);
    opacity: 0.75;
}

#seminar .seminar__pane {
    display: none;
}

#seminar .seminar__pane.is-active {
    display: block;
    animation: fadeIn 0.2s ease;
}

/* スライダー起動時のみ画面端まで広げる */
#seminar .seminar__pane.is-active:has(.slick-slider) {
  overflow: hidden;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

#seminar .seminar__pane.is-active:has(.slick-initialized) {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* 複数枚のときは画面端まで広げる（上書き） */
#seminar .seminar__pane.is-active:has(.slick-initialized.slick-slider:not(.slick-dotted + .slick-dotted)) {
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}   

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* カードが複数の場合 */
/* #seminar .seminar__pane .seminar__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(480px, 100%), 1fr));
    gap: 10px;
} */

/* slick適用時のgrid解除 */
.seminar__grid.slick-slider {
    display: block;
    /* containerのpadding分を打ち消して画面端まで広げる */
    /* margin-left: calc(var(--container-pad) * -1);
    margin-right: calc(var(--container-pad) * -1); */
}

#seminar .seminar__pane .seminar__grid .seminar__card {
    /* max-width: 500px; */
    background: var(--color-white);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
    margin: 0 5px;
}
@media screen and (min-width: 1024px){
    #seminar .seminar__pane .seminar__grid .seminar__card {
        display: flex;
        align-items: flex-start;
        margin: 0;
    }
}

@media screen and (min-width: 1024px){
    #seminar .seminar__pane .seminar__grid .seminar__card:not(:first-child) {
        margin-top: 10px;
    }
}

/* @media (hover: hover) and (pointer: fine) {
    #seminar .seminar__pane .seminar__grid .seminar__card:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 24px rgba(224, 90, 30, 0.12);
    }
}

@media (hover: none) {
    #seminar .seminar__pane .seminar__grid .seminar__card:active {
        transform: scale(0.99);
    }
} */

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-img {
    position: relative;
    /* height: 80px; */
    background: #1a2744;
    overflow: hidden;
}
@media screen and (min-width: 1024px){
    #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-img {
        width: 50%;
    }
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body {
    padding: 10px;
}
/* @media screen and (min-width: 600px){
    #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body {
        padding: 30px;
    }
} */
@media screen and (min-width: 1024px){
    #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body {
        width: 50%;
        padding: 15px 30px;
    }
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__card-date {
    font-size: clamp(11px, 0.8vw, 13px);
    margin-bottom: 5px;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__card-title {
    font-weight: bold;
    margin-bottom: 10px;
}

/* テーマタグ */
/* #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__topics {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 0;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__topics .seminar__topic-tag {
    font-size: clamp(11px, 0.8vw, 13px);
    padding: 6px 10px;
    border-radius: var(--radius-sm);
    background-color: var(--color-orange-mid);
    color: var(--color-orange);
    border: solid var(--color-orange) 1px;
    line-height: 1;
} */

/* 区切り線 */
#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__divider {
    border: none;
    border-top: 1px solid var(--color-gray-100);
    margin: 15px 0;
}

/* 講師 */
/* #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers {
    display: flex;
    justify-content: center;
    gap: 10px;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers .seminar__lecturer {
    flex: 1;
    min-width: 0;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers .seminar__lecturer .seminar__lec-head {
    margin-bottom: 10px;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers .seminar__lecturer .seminar__lec-head .seminar__lec-avatar{
    width: 80%;
    max-width: 140px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 10px;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers .seminar__lecturer .seminar__lec-head .seminar__lec-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers .seminar__lecturer .seminar__lec-head .seminar__lec-role {
    font-size: clamp(11px, 0.8vw, 13px);
    color: var(--color-gray-500);
    text-align: center;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers .seminar__lecturer .seminar__lec-head .seminar__lec-name {
    font-size: clamp(13px, 0.9vw, 15px);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__lecturers .seminar__lecturer .seminar__lec-qual {
    font-size: clamp(11px, 0.8vw, 13px);
    color: #555550;;
    line-height: 1.6;
    padding: 5px 7px;
    background: #f5f5f3;
    border-radius: 5px;
} */

/* 会場・定員 */
#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__card-meta {
    font-size: clamp(11px, 0.8vw, 13px);
    color: #555550;;
    line-height: 1.7;
    margin-bottom: 10px;
}
@media screen and (min-width: 1024px){
    #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__card-meta {
        margin-bottom: 30px;
    }
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__card-meta .seminar__meta-icon {
    font-size: clamp(11px, 0.8vw, 13px);
}

/* 申し込みボタン */
#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__btn-apply {
    display: block;
    text-align: center;
    background: var(--color-orange);
    color: #fff;
    font-weight: 700;
    padding: 8px 10px;
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: background var(--transition-base), transform var(--transition-base);
    line-height: 1.75;
}

#seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__btn-apply:focus-visible {
    outline: 2px solid var(--color-orange);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__btn-apply:hover {
        background: #c04a14;;
        transform: translateY(-1px);
    }
}

@media (hover: none) {
    #seminar .seminar__pane .seminar__grid .seminar__card .seminar__card-body .seminar__btn-apply:active {
        opacity: 0.85;
    }
}

/* バッジ（共通） */
.seminar__badge {
    display: inline-block;
    font-size: 0.625rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    line-height: 1.4;
    white-space: nowrap;
}

.seminar__card-img .seminar__badge {
    position: absolute;
    top: 8px;
    left: 8px;
}

/* .seminar__badge--next {
    background: #EAF3DE;
    color: #27500A;
} */

.seminar__badge--full {
    background: #D3D1C7;
    color: #444441;
    flex-shrink: 0;
}

/* 過去のセミナーリスト */
#seminar .seminar__pane .seminar__past-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-md);
    opacity: 0.62;
    transition: opacity var(--transition-base);
}

@media (hover: hover) and (pointer: fine) {
    #seminar .seminar__pane .seminar__past-list .seminar__past-item:hover {
        opacity: 0.85;
    }
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 44px;
    flex-shrink: 0;
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-date .seminar__past-mon {
    font-size: clamp(11px, 0.8vw, 13px);
    color: var(--color-gray-500);
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-date .seminar__past-day {
    font-size: clamp(16px, 1.15vw, 18px);
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-gray-500);
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-date .seminar__past-yr {
    font-size: clamp(11px, 0.8vw, 13px);
    color: var(--color-gray-500);
}

/* 縦線 */
#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-vline {
    width: 1px;
    height: 44px;
    background: var(--color-gray-500);
    flex-shrink: 0;
}

/* テキスト情報 */
#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-info {
    flex: 1;
    min-width: 0;
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-info .seminar__past-title {
    font-weight: 700;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-info .seminar__past-sub {
    font-size: clamp(13px, 0.9vw, 15px);
    color: var(--color-text-sub);
    margin-bottom: 2px;
}

#seminar .seminar__pane .seminar__past-list .seminar__past-item .seminar__past-info .seminar__past-lec {
    font-size: clamp(13px, 0.9vw, 15px);
    color: var(--color-text-muted);
}


/* ==========================================================================
    オーナー様の声
   ========================================================================== */
#voice .owner-voice__slider-wrap{
    overflow: hidden;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

#voice .owner-voice__slider{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    color: var(--color-off-black);
}

#voice .owner-voice__slider .slick-list{
    overflow: visible;
}

#voice .owner-voice__slider .slick-list::before,
#voice .owner-voice__slider .slick-list::after{
    content: "";
    display: block;
    position: absolute;
    pointer-events: none;
    top: 0;
    width: 10%;
    height: 100%;
    z-index: 1;
}

#voice .owner-voice__slider .slick-list::before{
    /* background: linear-gradient(90deg, var(--color-off-white), transparent); */
    background: linear-gradient(90deg, var(--color-navy), transparent);
    left: 0;
}

#voice .owner-voice__slider .slick-list::after{
    /* background: linear-gradient(270deg, var(--color-off-white), transparent); */
    background: linear-gradient(270deg, var(--color-navy), transparent);
    right: 0;
}


#voice .owner-voice__slider .slick-track{
    display: flex;
    align-items: stretch;
}

#voice .owner-voice__slider .slick-slide{
    width: 320px !important;
    padding: 0 8px;
    box-sizing: border-box;
}

@media screen and (min-width: 600px){
    #voice .owner-voice__slider .slick-slide{
        width: 420px !important;
    }
}

@media screen and (min-width: 1024px){
    #voice .owner-voice__slider .slick-slide{
        width: 360px !important;
    }
}

#voice .owner-voice__slider .slick-slide > div{
    height: 100%;
}

#voice .owner-voice__item{
    height: 100%;
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-md);
    overflow: hidden;
}

#voice .owner-voice__img{
    width: 100%;
}

#voice .owner-voice__content{
    padding: 16px;
}

#voice .owner-voice__location{
    font-size: 12px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 6px;
}

#voice .owner-voice__name{
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 12px;
}

#voice .owner-voice__comment{
    line-height: 2;
}

/* dots */
/* #voice .owner-voice__slider .slick-dots{
    display: flex !important;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

#voice .owner-voice__slider .slick-dots li{
    width: auto;
    height: auto;
    margin: 0;
}

#voice .owner-voice__slider .slick-dots button{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 0;
    background-color: rgba(0,0,0,.2);
    font-size: 0;
    padding: 0;
} */

/* #voice .owner-voice__slider .slick-dots .slick-active button{
    background-color: var(--color-orange);
}

#voice .owner-voice__slider .slick-dots li button:before,
#voice .owner-voice__slider .slick-dots li.slick-active button:before{
    display: none;
} */


/* ==========================================================================
    安心の管理体制
   ========================================================================== */
@media screen and (min-width: 600px){
    #support .support-list li{
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(2, 1fr);
        align-items: center;
    }
}
@media screen and (min-width: 1024px){
    #support .support-list li{
        gap:30px;
    }
}

#support .support-list li:not(:first-child){
    margin-top: 30px;
}

#support .support-list li .support-content{
    margin-top: 20px;
}
@media screen and (min-width: 600px){
    #support .support-list li .support-content{
        margin-top: 0px;
    }
}

#support .support-list li .support-content h3{
    margin-bottom: 10px;
}

@media screen and (min-width: 600px){
    #support .support-list li:nth-child(even) .img-16-9 {
        order: 2;
    }
    #support .support-list li:nth-child(even) .support-content{
        order: 1;
    }
}




/* ==========================================================================
    持ち続けるか、手放すか。（不動産売買）
   ========================================================================== */
#property-sales .property-sales__notice{
    background-color: var(--color-orange-mid);
    border: solid var(--color-orange) 1px;
    padding: 20px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 30px;
}

#property-sales .property-sales__notice::before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background-image: url(../img/icon-exclamation.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 10px;
}

.exit-strategy__options{
    display:grid;
    gap:var(--space-md);
    align-items:center;
    margin-bottom:30px;
}
@media screen and (min-width: 768px){
    .exit-strategy__options{
        grid-template-columns: repeat(2, 1fr);
    }
}

.exit-strategy__option{
    border-radius:var(--radius-lg);
    padding:20px;
    height:100%
}

.performance__card-head{
    display:flex;
    align-items:center;
    gap:var(--space-sm);
    margin-bottom:20px;
    padding-bottom:20px;
    border-bottom:1px solid var(--color-orange)
}

.performance__icon{
    width:40px;
    height:40px;
    object-fit:contain;
    flex-shrink:0;
    background:rgba(235,92,1,.15);
    border-radius:var(--radius-sm);
    padding:6px
}

.exit-strategy__option-list{
    list-style:none;
    padding:0;
    /* margin:5px 0; */
    display:flex;
    flex-direction:column;
    gap:5px
}

.exit-strategy__option-list li{
    display:flex;
    align-items:flex-start;
    gap:5px;
    /* font-size:clamp(0.875rem,1.1vw,0.9375rem); */
    /* color:var(--color-off-black);line-height:1.65 */
}

.exit-strategy__option-list li::before{
    content:'';
    display:block;
    width:6px;
    height:6px;
    min-width:6px;
    border-radius:50%;
    background:var(--color-orange);
    margin-top:10px;
    flex-shrink:0
}

/* .exit-strategy__vs{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding: 35px;
    margin: 10px auto;
    border-radius:50%;
    background:var(--color-orange);
    flex-shrink:0
}

.exit-strategy__vs span{
    font-size: 32px;
    color:var(--color-white);
    letter-spacing:.04em;
    line-height: 1;
} */

.exit-strategy__strength{
    background: rgba(0, 0, 0, .06);
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius:var(--radius-md);
    padding:20px;
    margin-bottom:30px;
}
@media screen and (min-width: 768px){
    .exit-strategy__strength{
        padding: 30px;
        text-align: center;
    }
}

.exit-strategy__strength h3{
    /* color:var(--color-white); */
    margin-bottom:20px;
    line-height:1.5;
    font-size:clamp(1.1rem,2vw,1.4rem);
}

.exit-strategy__strength p{
    /* color:rgba(255,255,255,.75);
    font-size:clamp(0.875rem,1.2vw,0.9375rem);
    line-height:1.85 */
}

.property-sales__result{
    margin-bottom: 30px;
}

.property-sales__result .strategy__result-ttl{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 30px;
}

.property-sales__result .strategy__result-ttl::before,
.property-sales__result .strategy__result-ttl::after{
    content: "";
    flex: 1;
    max-width: 90px;
    height: 1px;
    background-color: var(--color-orange);
}

.strategy-result__list{
    list-style:none;
    padding:0;
    display:grid;
    gap:10px;
    margin-bottom:50px;
}
@media screen and (min-width: 768px){
    .strategy-result__list{
        grid-template-columns:repeat(3,1fr);
    }
}

.strategy-result__item{
    padding:20px;
    /* background:rgba(255,255,255,.05); */
    background-color: var(--color-white);
    /* border:1px solid rgba(255,255,255,.1); */
    border-radius:var(--radius-md);
}

.strategy-result__item p:first-child{
    /* font-size:.875rem;
    color:rgba(255,255,255,.75); */
    margin-bottom:10px;
}

.strategy-result__num{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:4px;
    margin-bottom:10px;
}

.strategy-result__num-value{
    display:flex;
    align-items:baseline
}
.strategy-result__num-main{
    /* font-size: clamp(26px, 2.2vw, 32px); */
    font-weight:bold;
    line-height:1
}
.strategy-result__unit{
    /* font-size:clamp(1rem,1.5vw,1.25rem) */
}
.strategy-result__text{
    /* font-size:.8125rem;
    color:rgba(255,255,255,.6); */
    /* line-height:1.7;text-align:center */
}





/* ==========================================================================
    ご相談の流れ
   ========================================================================== */
#consultation-flow .consultation-flow__list li:not(:first-child){
    margin-top: 30px;
}

@media screen and (min-width: 768px){
    #consultation-flow .consultation-flow__list li{
        display: flex;  
        flex-direction: row;
        align-items: center;
        gap: 20px;
    }
}

@media screen and (min-width: 768px){
    #consultation-flow .consultation-flow__list li .consultation-flow__content{
        width: 55%;
    }
}

#consultation-flow .consultation-flow__list li .consultation-flow__content .consultation-flow__step{
    margin-bottom: 10px;
}

#consultation-flow .consultation-flow__list li .consultation-flow__content .consultation-flow__step span{
    position: relative;
    width: 40px;
    height: 40px;
    background: var(--color-orange);
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin-right: 10px; 
}

#consultation-flow .consultation-flow__list li .consultation-flow__content .consultation-flow__step span::after{
    content: "";
    position: absolute;
    width: 1px;
    height: 30px;
    background: var(--color-orange);
    top: 100%;
    left: 50%;
    transform: translate(-50%, 40%);
}
@media screen and (min-width: 768px){
    #consultation-flow .consultation-flow__list li .consultation-flow__content .consultation-flow__step span::after{
        height: 80px;
        transform: translate(-50%, 20%);
    }
}

#consultation-flow .consultation-flow__list li .consultation-flow__description{
    padding-left: 50px;
}

#consultation-flow .consultation-flow__list li .consultation-flow__img{
    margin-top: 10px;
    border-radius: var(--radius-md);
}
@media screen and (min-width: 768px){
    #consultation-flow .consultation-flow__list li .consultation-flow__img{
        width: 45%;
        margin-top: 0;
    }
}



/* ==========================================================================
    富山専任体制
   ========================================================================== */
@media screen and (min-width: 768px){
    #organizational-structure .organizational-structure__list{
        display: grid;
        gap: 50px;
        grid-template-columns: repeat(2, 1fr);
    }
}

#organizational-structure .organizational-structure__list li:not(:first-child){
    margin-top: 30px;
}
@media screen and (min-width: 768px){
    #organizational-structure .organizational-structure__list li:not(:first-child){
        margin-top: 0px;
    }
}

#organizational-structure .organizational-structure__list li .img-circle{
    width: 70%;
    max-width: 180px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
}
@media screen and (min-width: 768px){
    #organizational-structure .organizational-structure__list li .img-circle{
        width: 70%;
        max-width: 240px;
    }
}

#organizational-structure .organizational-structure__list li .img-circle img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#organizational-structure .organizational-structure__list li .organizational-structure__name{
    margin-top: 20px;
}

#organizational-structure .organizational-structure__list li .staff-comment{
    margin-top: 10px;
}
@media screen and (min-width: 768px){
    #organizational-structure .organizational-structure__list li .staff-comment{
        margin-top: 20px;
    }
}

#organizational-structure .organizational-structure-img{
    margin-bottom: 30px;
}

#organizational-structure .organizational-structure__access{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
}
@media screen and (min-width: 600px){
    #organizational-structure .organizational-structure__access{
        flex-direction: row;
        align-items: center;
        gap: 40px;
        margin-top: 50px;
    }
}

#organizational-structure .organizational-structure__access .access__map-wrap{
    width: 100%;
    aspect-ratio: 16 / 9;
}
@media screen and (min-width: 600px){
    #organizational-structure .organizational-structure__access .access__map-wrap{
        width: 55%;
    }
}
@media screen and (min-width: 1024px){
     #organizational-structure .organizational-structure__access .access__map-wrap{
        width: 65%;
    }
}

#organizational-structure .organizational-structure__access .access__map-wrap .access__map{
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 12px;
}

@media screen and (min-width: 600px){
    #organizational-structure .organizational-structure__access .access__info{
        width: 45%;
    }
}
@media screen and (min-width: 1024px){
    #organizational-structure .organizational-structure__access .access__info{
        width: 35%;
    }
}

#organizational-structure .organizational-structure__access .access__info .access__list{
    margin-top: 10px;
}

#organizational-structure .organizational-structure__access .access__info .access__item{
    display: flex;
    gap: 12px;
}

#organizational-structure .organizational-structure__access .access__info .access__item dt{
    width: 80px;
}

#organizational-structure .organizational-structure__access .access__info .access__item:not(:first-child){
    margin-top: 8px;
}



/* ==========================================================================
    FAQ
   ========================================================================== */
#faq .faq__item{
    border-bottom: 1px solid #EAEAEA;
}

#faq .faq__question{
    position: relative;
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    gap: 12px;
    padding: 22px 40px 22px 0;
    cursor: pointer;
    list-style: none;
}

#faq .faq__question::-webkit-details-marker{
    display: none;
}

#faq .faq__label{
    line-height: 1;
}

#faq .faq__question-text{
    font-weight: bold;
}

@media screen and (min-width: 768px){
    #faq .faq__question:hover{
        opacity: .7;
    }
}

/* プラスアイコン */
#faq .faq__question::before,
#faq .faq__question::after{
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 16px;
    height: 2px;
    background: var(--color-orange);
    transform: translateY(-50%);
    transition: transform .25s ease, opacity .25s ease;
}

#faq .faq__question::after{
    transform: translateY(-50%) rotate(90deg);
}

/* 開いたらマイナス */
#faq .faq__item[open] .faq__question::after{
    opacity: 0;
    transform: translateY(-50%) rotate(90deg) scaleX(0.3);
}

/* 回答 */
#faq .faq__answer-wrap{
    overflow: hidden;
    height: 0;
    opacity: 0;
    padding-left: 52px;
    transition: height .35s ease, opacity .25s ease;
}

#faq .faq__answer{
    padding: 0 0 22px;
    /* color: #555; */
    /* line-height: 1.9; */
    /* font-size: 14px; */
}


/* ==========================================================================
    フッターCTA
   ========================================================================== */
#cta-footer{
    content: "";
    display: block;
    background-image: url(../img/bg-cta.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--color-white);
}

#cta-footer h3{
    padding: 10px 0;
}

#cta-footer .container{
    position: relative;
    padding: 50px 0;
}

/* #cta-footer::before{
    content:"";
    display: block;
    background-color: var(--color-black);
    opacity: .6;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
} */

#cta-footer .container .ttl h2{
    font-size: clamp(30px, 2.8vw, 40px);
}


/* ==========================================================================
    フッター
   ========================================================================== */
footer{
    background-color: var(--color-off-black);
    color: var(--color-white);
    border-top: solid var(--color-orange) 2px;
}

footer .container{
    width: 100%;
    max-width: 97%;
    margin: 0 auto;
}

footer .site-footer__inner{
    padding: 30px 0;
}

footer .site-footer a{
    color: inherit;
    text-decoration: none;
    transition: opacity var(--transition-base);
}

footer .site-footer a:hover{
    opacity: .7;
}

footer .site-footer__inner{
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
@media screen and (min-width: 1024px){
    footer .site-footer__inner{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
}

footer .site-footer__inner .site-footer__brand img{
    width: 160px;
    margin: 0 0 10px;
}

footer .site-footer__inner .site-footer__info{
    display: grid;
    gap: 20px;
}

@media screen and (min-width: 768px){
    footer .site-footer__inner .site-footer__info{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }
}

footer .site-footer__inner .site-footer__info .site-footer__nav .site-footer__nav-list{
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 15px 28px;
}
@media screen and (min-width: 768px){
    footer .site-footer__inner .site-footer__info .site-footer__nav .site-footer__nav-list{
        grid-template-columns: repeat(3, minmax(100px, 1fr));
    }
}
@media screen and (min-width: 1024px){
    footer .site-footer__inner .site-footer__info .site-footer__nav .site-footer__nav-list{
        gap: 10px;
    }
}

footer .site-footer__inner .site-footer__info .site-footer__access .site-footer__address{
    font-style: normal;
    display: grid;
    gap: 10px;
    color: rgba(255,255,255,.88);
    line-height: 1.9;
}
@media screen and (min-width: 768px){
    footer .site-footer__inner .site-footer__info .site-footer__access .site-footer__address{
        gap: 15px 0;
    }
}

footer .site-footer__inner .site-footer__info .site-footer__access .site-footer__address dl{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    /* line-height: 1; */
}

footer .site-footer__inner .site-footer__info .site-footer__access .site-footer__address dt{
    width: 100px;
}

footer .site-footer__bottom{
    padding: 8px 0;
    border-top: 1px solid rgba(255,255,255,.22);
}

/* ----------------------------------------------------------
    youtubeボタン（追従）
   ---------------------------------------------------------- */
.btn-youtube{
    display: none;
    position: fixed;
    /* bottom: clamp(1.5rem, 3vw, 2.5rem); */
    bottom: clamp(1rem, 3vw, 0.5rem);
    right: clamp(1.5rem, 3vw, 2.5rem);
    z-index: 1000;
    box-shadow: var(--shadow-card);
}
@media screen and (min-width: 768px){
    .btn-youtube{
        display: block;
    }
}

.btn-youtube img{
    width: 260px;
}

.btn-youtube:hover img{
    opacity: .8;
}