@charset "UTF-8";

:root {
  --color-black-1: #171717;
  --color-black-2: #504242;
  --color-red: #BA0015;
  --color-navy: #001865;
  --color-gold: #B49516;
}

* {
  a:hover {
    text-decoration: none;
  }
}


/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),
print {
  #salesdesignprogram {
    color: #504242;
  }
  #salesdesignprogram header {
    height: 120px;
  }

  /* animation
  ___________________________*/
  .animated__fadeIn {
    opacity: 0;
    translate: 0 40px;
    transition: opacity 0.3s ease, translate 0.3s ease;
  }
  .animated__fadeIn.js-show {
    opacity: 1;
    translate: 0 0;
  }
  .scroll_up {
    opacity: 0;
    transform: translateY(30px);
    transition: 0.8s ease-in-out;
  }
  .scroll_up.on {
    opacity: 1;
    transform: translateY(0);
  }
  .appear_slow {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  }
  .appear_slow.js-appear {
    opacity: 1;
    transform: scale(1);
  }
  .animated__slideIn--left {
    opacity: 0;
    transition: opacity 0.5s ease, translate 0.5s ease;
    translate: -1000px;
  }
  .animated__slideIn--left.js-show {
    opacity: 1;
    translate: 0;
  }
  .animated__slideIn--right { 
    opacity: 0;
    transition: opacity 0.5s ease, translate 0.5s ease;
    translate: 1000px;
  }
  .animated__slideIn--right.js-show { 
    opacity: 1;
    translate: 0;
  }

  .js-fadein {
    opacity: 0;
    transition: opacity 1.2s ease-out;
    will-change: opacity;
  }
  .js-fadein.is-visible {
    opacity: 1;
    transition-delay: .4s;
  }


  /* ScrollTrigger マーカーを強制的に非表示にする */
  .gsap-marker-scroller-end,
  .gsap-marker-start,
  .gsap-marker-end,
  .gsap-marker-scroller-start {
    display: none !important;
  }


  /* top-contents
  -------------------------------------*/
  .top-contents {
    background: url(../images/salesdesignprogram/top-bg.png) center center / contain no-repeat;
    position: relative;
    margin: 31px 0 0;
    padding: 70px 0 71px;
    aspect-ratio: 1920 / 748;
  }
  .top-contents .inner-box {
    width: min(95%, 1100px);
    margin-inline: auto;
    padding: 25px 0 0 0;
    text-align: center;
  }
  .top-contents .top-title {
    width: 1036px;
    margin-inline: auto;
  }
  .top-contents .top-title img {
    width: 100%;
  }
  .top-contents .main-lead {
    width: 753px;
    margin-inline: auto;
  }
  .top-contents .main-lead img {
    width: 100%;
  }
  .top-contents .main-subt {
    margin: 29px 0 0 35px;
    position: relative;
    z-index: 2;
    width: 992px;
  }
  .top-contents .main-subt img {
    width: 100%;
  }
  .top-contents .main-txt {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.13em;
    line-height: 1.9;
    text-align: center;
    color: #fff;
    margin-top: 57px;
  }
  .top-contents .main-photo {
    position: absolute;
    bottom: 0;
    left: 1.2vw;
    left: 0;
    width: min(28.18vw, 540px);
    mix-blend-mode: luminosity;
  }
  .top-contents .main-photo img {
    width: 100%;
    mix-blend-mode: luminosity;
  }
  .top-contents .main-icon-box {
    display: flex;
    gap: 10px;
    width: 680px;
    position: absolute;
    bottom: -41px;
    right: 29px;
    z-index: 2;
  }
  .top-contents .main-icon-box li {
    width: 33.333%;
  }
  .top-contents .main-icon-box li img {
    width: 100%;
  }


  /* top-cta
  -------------------------------------*/
  .top-ctaArea {
    position: relative;
    background-color: #fff;
  }
  .top-ctaArea::after {
    content: "";
    position: absolute;
    bottom: -3.125vw;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 12.5vw;
    height: 4.167vw;
    background: url(../images/salesdesignprogram/top-ctaArea-bg-bottom.svg) center / contain no-repeat;
    z-index: 1;
  }
  .top-ctaArea__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2.6vw 0 4.17vw;
  }
  .c-ctaBtn {
    display: inline-block;
    width: max(42.34vw, 440px);
  }


  /* worries
  -------------------------------------*/
  #worries {
    position: relative;
    background: url(../images/salesdesignprogram/worry-bg.png) top center / cover no-repeat ;
    padding: 6.77vw 0 10vw;
  }
  #worries::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: min(70.63vw, 1356px);
    height: 57.5vw;
    background: url(../images/salesdesignprogram/worry-bg-parts.png) center / contain no-repeat;
    filter: grayscale(100%);
    mix-blend-mode: luminosity;
    z-index: -1;
  }
  #worries .worries-inner {
    width: min(95%, 1020px);
    margin-inline: auto;
    position: relative;
    text-align: center;
  }
  #worries .worries-ttl {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-align: center;
    color: var(--color-black-1);
  }
  #worries .worries-sub-ttl {
    display: inline-block;
    margin-top: 78px;
    margin-inline: auto;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-align: center;
    color: var(--color-black-1);
    border-bottom: 1px solid var(--color-black-1);
  }
  #worries .worries-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
    margin-top: 25px;
  }
  #worries .worries-list li {
    background: #f6f6f6;
    padding: 28px 1em 28px 74px;
    position: relative;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.6666;
    color: var(--color-black-2);
  }
  #worries .worries-list .rows-2 {
    padding: 13px 74px;
  }
  #worries .worries-list li span {
    color: var(--color-red);
  }
  #worries .worries-list li::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 40px;
    width: 24px;
    height: 20px;
    background: url(../images/salesdesignprogram/check-icon.svg) no-repeat center center/cover;
    background-size: contain;
  }
  #worries .worries-txt {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.916666;
    text-align: center;
    color: #171717;
    margin-top: 53px;
  }
  #worries .worries-txt span {
    font-weight: 700;
  }


  /* issue
  -------------------------------------*/
  #issue {
    background: url(../images/salesdesignprogram/issue-bg.jpg) no-repeat center center/cover;
    margin-top: -10vw;
  }
  #issue .issue-inner {
    width: min(95%, 1600px);
    margin-inline: auto;
    padding: 11.88vw 0 6.25vw;
  }
  #issue .ttl {
    font-size: 30px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #504242;
    text-align: center;
    margin-bottom: 28.4px;
  }
  #issue .ttl span {
    font-size: 70px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #B49516;
    text-align: center;
    display: block;
  }
  #issue .subt {
    font-size: 20px;
    line-height: 1.8;
    letter-spacing: 0.14em;
    font-weight: 500;
    text-align: center;
    margin-bottom: 2.97vw;
  }
  #issue .list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 94px;
  }
  #issue .list li {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
  }
  #issue .list li::after {
    content: "";
    position: absolute;
    width: 33.902vw;
    height: 11.951vw;
    bottom: -16%;
    left: 50%;
    background: url(../images/salesdesignprogram/issue-listItem-shadow.png) center / contain no-repeat;
    transform: translateX(-50%);
    z-index: 1;
  }

  #issue .list .num {
    padding-bottom: clamp(70px, 9.1vw, 180px);
  }
  #issue .list .num img {
    width: clamp(60px, 7vw, 84px);
  }
  #issue .list .img {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    text-align: center;
    z-index: 5;
  }
  #issue .list .img img {
    width: 100%;
  }
  #issue .list li:nth-child(1) .img {
    top: 4px;
    width: 38.8%;
    max-height: 100%;
  }
  #issue .list li:nth-child(2) .img {
    top: 22px;
    width: 39.8%;
  }
  #issue .list li:nth-child(3) .img {
    top: 10px;
    width: 65%;
  }
  #issue .list h4 {
    font-size: clamp(18px, 2.34vw, 30px);
    line-height: 1.4666666667;
    letter-spacing: 0.05em;
    font-weight: 600;
    border-radius: 20px;
    background: #f6f6f6;
    padding: min(3.94vw,93px) 0 min(2.32vw,49px);
    text-align: center;
    z-index: 3;
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #AFAFAF;
    border-radius: 20px;
  }

  /* #issue .list h4 span:first-child::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
    margin: 15px auto;
  }*/

  #issue .bottom-box {
    width: min(95%, 1100px);
    margin-inline: auto;
    text-align: center;
  }
  #issue .inBox {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.08vw;
  }
  #issue .inBox .txtBox {
    margin: 21px 0 0;
    width: fit-content;
    text-align: left;
  }
  #issue .inBox .txt {
    flex: 1;
    font-size: clamp(15px, 1.8vw, 20px);
    line-height: 2.25;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-bottom: 7px;
  }
  #issue .inBox .txt-catch {
    display: block;
    margin-bottom: 20px;
  }
  #issue .inBox .txt-catch span {
    position: relative;
    display: inline-block;
    margin-top: 15px;
    padding-bottom: 3px;
    font-size: clamp(24px, 3.13vw, 32px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #issue .inBox .txt-catch span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    height: 2px;
    width: 100%;
    background-color: var(--color-gold);
  }
  #issue .inBox .txt-catch span:first-of-type::after {
    width: 110%;
  }
  #issue .inBox .txt .txt-bottom {
    font-weight: 500;
    white-space: nowrap;
    text-align: center;
    display: block;
  }
  #issue .inBox .photo {
    width: 46.9%;
  }

  #issue .suggest-box {
    position: relative;
    max-width: 1280px;
    margin-top: 83px;
    margin-inline: auto;
    text-align: center;
  }
  #issue .suggest-box::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 5.63vw;
    height: 7.71vw;
    background: url(../images/salesdesignprogram/suggest-box-icon.svg) no-repeat center / contain;
  }
  #issue .suggest-box .suggest-box__line {
    display: inline-block;
    width: 100%;
    height: 10px;
    background-color: var(--color-gold);
    box-shadow: 8px 12px 16px rgba(23, 23, 23, 0.12);
  }
  #issue .suggest-box .suggest-box__text-wrap {
    padding: 3.125vw 0;
  }
  #issue .suggest-box .suggest-box__subText {
    font-size: clamp(20px, 2.6vw, 30px);
    line-height: 1;
  }
  #issue .suggest-box .suggest-box__text {
    margin-top: 2.66vw;
    font-size: clamp(28px, 3.5vw, 43px);
    font-weight: 600;
    line-height: 1;
  }
  #issue .suggest-box .suggest-box__text > .suggest-box__text--main  {
    padding-bottom: 6px;
    color: var(--color-gold);
    border-bottom: 1.5px solid var(--color-gold);
  }


  /* program
  -------------------------------------*/
  #program {
    background: url(../images/salesdesignprogram/program-bg.jpg) no-repeat center center/cover;
  }
  #program .program__inner {
    padding: 7.92vw 0 21.20vw 0;
  }
  #program .program__sectionTitle {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.975;
    color: var(--color-navy);
    text-align: center;
  }

  #program .curriculum-table {
    width: 100%;
    max-width: 1280px;
    margin: 80px auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* スクロールバーのカスタマイズ */
  .js-scrollable {
    scrollbar-width: thin;
    scrollbar-color: var(--color-navy) #f1f1f1;
  }
  .js-scrollable::-webkit-scrollbar {
    height: 10px !important;
  }
  
  /* スクロールバーを常に表示 */
  .js-scrollable {
    scrollbar-gutter: stable;
    overflow-x: scroll;
  }
  .js-scrollable::-webkit-scrollbar-track {
    background: #f1f1f1 !important;
    border-radius: 5px !important;
  }
  .js-scrollable::-webkit-scrollbar-thumb {
    background: var(--color-navy) !important;
    border-radius: 5px !important;
  }
  .js-scrollable::-webkit-scrollbar-thumb:hover {
    background: #001865 !important;
  }
  #program .curriculum-table table {
    width: 100%;
    min-width: 1200px;
    border-collapse: collapse;
    background: transparent;
  }
  #program .curriculum-table thead th {
    padding-top: 20px;
    padding-bottom: 26px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
  }
  #program .curriculum-table thead th:first-child {
    width: 39%;
    background: #60667B;
  }
  #program .curriculum-table thead th:last-child {
    width: 61%;
    background: var(--color-navy);
    border-top: 20px solid;
    border-left: 10px solid;
    border-right: 10px solid;
    border-color: var(--color-navy);
  }
  #program .curriculum-table tbody tr {
    border-bottom: 1px solid #B9BFD5;
  }
  #program .curriculum-table tbody tr:last-child {
    border-bottom: none;
  }
  #program .curriculum-table tbody th {
    vertical-align: middle;
    padding: 2.08vw 1em 2.08vw 4.69vw;
    background-color: #fff;
  }
  #program .curriculum-table tbody tr:nth-child(5) th {
    padding-top: 22px;
    padding-bottom: 22px;
  }
  #program .theme-item {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  #program .theme-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
  }
  #program .theme-icon {
    width: 82px;
    height: 82px;
  }
  #program .theme-text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: left;
    color: #3B3F50;
  }
 
  #program .curriculum-table tbody td {
    width: 65%;
    padding: 39px 1em 39px 48px;
    border-left: 10px solid var(--color-navy);
    border-right: 10px solid var(--color-navy);
    background-color: #fff;
  }
  #program .curriculum-table tbody tr:nth-child(8) td {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #program .curriculum-table tbody tr:last-child td {
    position: relative;
    border-bottom: 10px solid var(--color-navy);
  }
  #program .curriculum-table tbody tr:last-child td::after {
    content: "";
    position:absolute;
    bottom: -10px;
    left: -10px;
    right: 0;
    display: block;
    width: calc(100% + 20px);
    height: 10px;
    background-color: var(--color-navy);
  }
  #program .curriculum-table ol {
    margin: 0;
    padding-left: 2em;
  }
  #program .curriculum-table li {
    position: relative;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: var(--color-navy);

  }
  #program .curriculum-table li::before {
    content: counter(list-counter);
    counter-increment: list-counter;
    position: absolute;
    top: 0.4em;
    left: -2em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 20px;
    padding-left: 1px;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background-color: var(--color-navy);
    border-radius: 50%;
  }
  #program .curriculum-table ol {
    counter-reset: list-counter;
  }
  #program .curriculum-table li span {
    font-weight: bold;
  }

  #program .learning-content h4 {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-navy);
    line-height: 1.6;
    letter-spacing: 0.05em;
    /* margin: 0 0 10px 0; */
  }
  #program .learning-content p {
    font-size: 20px;
    /* font-weight: 700; */
    color: var(--color-navy);
    line-height: 1.6;
    letter-spacing: 0.05em;
    /* margin: 0 0 10px 0; */
  }

  #program .service {
    background: #FFFFFF;
    width: min(95%, 1280px);
    margin-inline: auto;
  }
  #program .service .inner {
    padding: 2.50vw 4.69vw 3.13vw;
  }
  #program .service .enttl {
    text-align: center;
    margin-bottom: 5px;
  }
  #program .service h3 {
    font-size: 30px;
    line-height: 2.7;
    letter-spacing: 0em;
    font-weight: 600;
    margin-bottom: 17px;
    text-align: center;
    color: var(--color-navy);
  }
  #program .service table {
    width: 100%;
    border-collapse: collapse;
  }
  #program .service table th {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
    padding: 1.46vw 2.60vw;
    text-align: left;
    background: var(--color-navy);
    color: #FFFFFF;
    width: 21.81%;
    vertical-align: middle;
  }
  #program .service table td {
    font-size: 20px;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 700;
    padding: 1.20vw 2.08vw;
    background: #F6F6F6;
    color: var(--color-black-1);
  }
  #program .service table td span {
    font-size: 16px;
    font-weight: 400;
  }
  #program .service table td img {
    vertical-align: middle;
    margin-bottom: 4px;
    margin-right: 15px;
  }
  #program .service table td span span {
    font-size: 20px;
    font-weight: 600;
  }
  #program .service table td span span.discount-price {
    position: relative;
    margin-left: clamp(0.8em, 1.7vw, 2em);
    padding: 0 6px 4px;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
    background: linear-gradient(to bottom, transparent 0%, transparent 60%, #EBD785 70%, #EBD785 100%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: 0 0;
  }
  #program .service table td .additional {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    margin-top: 28px;
  }
  #program .service table td .additional .circle {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    width: 58px;
    min-width: 58px;
    height: 58px;
    min-height: 58px;
    color: var(--color-navy);
    border: 1.5px solid var(--color-navy);
    border-radius: 50%;
  }
  #program .service table td .additional span {
    font-size: 16px;
    font-weight: 400;
  }
  #program .service table tr:not(:last-child) th{
    border-bottom: 1px solid #D4D4D4;
  }
  #program .service table tr:not(:last-child)  td{
    border-bottom: 1px solid #D4D4D4;
  }
  #program .service table td li {
    position: relative;
  }


  /* feature
-------------------------------------*/
  #feature {
    background: url(../images/salesdesignprogram/feature-bg.jpg) center / cover no-repeat;
    position: relative;
  }
  #feature .feature__inner {
    padding-top: 5.60vw;
    padding-bottom: 6.25vw;
  }
  #feature .feature__content {
    position: relative;
    width: min(95%, 1600px);
    margin-top: -17.34vw;
    margin-inline: auto;
    padding: 5.60vw 1.67vw 16.61vw;
    background-color: #C7D8DD;
  }
  #feature .feature__title-catch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -65%);
  }
  #feature .feature__title-catch > span {
    position: relative;
    display: inline-block;
    margin-inline: auto;
    padding: 1.25vw 4.17vw;
    font-size: clamp(14px, 1.8vw, 20px);
    line-height: 1;
    color: #fff;
    background-color: var(--color-navy);
  }
  #feature .feature__title-catch > span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 95%);
    width: 1.88vw;
    height: 1.56vw;
    background: url(../images/salesdesignprogram/feature-catch-parts.svg) top center / contain no-repeat;
  }

  #feature .feature__title {
    text-align: center;
  }
  #feature .feature__title .lead {
    display: block;
    font-size: clamp(20px, 2.6vw, 36px);
    font-weight: 600;
    line-height: 1.47;
    color: var(--color-black-1);
  }
  #feature .feature__title .main {
    display: block;
    margin-top: 24px;
    margin-inline: auto;
    width: min(95%, 937px);
  }
  #feature .feature__title .small {
    display: block;
    margin-top: 1.46vw;
    font-size: clamp(18px, 2.2vw, 30px);
    line-height: 1.67;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: var(--color-black-1);
  }
  #feature .feature__title-note {
    margin-top: 3.13vw;
    font-size: clamp(14px, 1.5vw, 20px);
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 0.05em;
    text-align: center;
    color: var(--color-black-1);
  }

  /*** feature table ***/
  #feature .feature__table-wrapper {
    position: relative;
    margin-top: 60px;
  }
  #feature .feature__table-wrapper::after {
    content: "";
    position: absolute;
    bottom: -96px;
    left: 0;
    right: 0;
    background: url(../images/salesdesignprogram/feature-table-shadow.png) center / contain no-repeat;
    aspect-ratio: 1200 / 196;
    pointer-events: none;
    z-index: 0;
  }
  #feature .feature__table {
    position: relative;
    max-width: 1280px;
    margin-inline: auto;
    padding: 40px;
    background-color: #fff;
    overflow: hidden;
    /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16); */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 1;
  }
  /* Header */
  #feature .feature__table-header {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    min-width: 1200px;
  }
  #feature .feature__table-label-column {
    width: 16%;
  }
  #feature .feature__table-general-column {
    width: 26.83%;
    padding: 22px 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #939393;
    text-align: center;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  #feature .feature__table-program-column {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(51.08% + 30px);
    font-size: 22px;
    font-weight: 600;
    background-color: var(--color-navy);
    color: #fff;
    text-align: center;
  }
  /* 上部の線 */
  #feature .feature__table-program-column::after {
    content: "";
    position: absolute;
    top: -18px;
    left: 0;
    width: 100%;
    height: 20px;
    background-color: var(--color-navy);
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
  }
  /* Body */
  #feature .feature__table-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  #feature .feature__table-row {
    display: flex;
    gap: 15px;
    min-width: 1200px;
  }
  #feature .feature__table-label-cell {
    width: 16%;
    background-color: #FAFAED;
    text-align: center;
    padding: 36px 1em 30px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #feature .feature__table-general-cell {
    display: flex;
    align-items: center;
    text-align: justify;
    width: 26.83%;
    padding: 32px 45px;
    background-color: #EDEDED;
  }
  #feature .feature__table-general-cell span {
    font-weight: 500;
  }
  #feature .feature__table-program-cell {
    position: relative;
    display: flex;
    align-items: center;
    width: 51.08%;
    margin-left: 15px;
    padding: 24px 60px;
    text-align: justify;
    background-color: #F0F4F8;
  }
  /* 左側の線 */
  #feature .feature__table-program-cell::before {
    content: "";
    position: absolute;
    left: -15px;
    display: block;
    width: 4px;
    height: calc(100% + 30px);
    background-color: var(--color-navy);
  }
  /* 右側の線 */
  #feature .feature__table-program-cell::after {
    content: "";
    position: absolute;
    right: -15px;
    display: block;
    width: 4px;
    height: calc(100% + 30px);
    background-color: var(--color-navy);
  }
  /* 最後の行の下線 */
  #feature .feature__table-row:last-child {
    position: relative;
  }
  #feature .feature__table-row:last-child::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: calc(16% + 26.83% + 30px);
    display: block;
    height: 4px;
    width: calc(51.08% + 30px);
    background-color: var(--color-navy);
    z-index: 1;
  }
  /* Label items */
  #feature .feature__table-label-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  #feature .feature__table-label-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #feature .feature__table-label-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  #feature .feature__table-label-text {
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--color-black-2);
  }
  /* Text content */
  #feature .feature__table-general-cell p {
    font-size: 16px;
    line-height: 1.875;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--color-black-2);
    margin: 0;
  }
  #feature .feature__table-program-cell p {
    font-size: 18px;
    line-height: 1.78;
    letter-spacing: 0.05em;
  }
  #feature .feature__table-program-cell p span {
    font-weight: 700;
  }

  .feature__illust-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    margin-top: 70px;
  }
  .feature__illust-text-area {
    line-height: 2.125;
    letter-spacing: 0.05em;
    color: var(--color-black-1);
  }
  .feature__illust-text-area span {
    display: inline-block;
    margin-top: 15px;
    padding: 4px 8px 4px;
    font-size: 20px;
    line-height: 1;
    color: #fff;
    background: linear-gradient(45deg, #698493 0%, #698493 10%, #001865 100%);
  }

  /* feature__profile */
  #feature__profile .inner-box {
    width: min(90%, 1400px);
    margin-top: -9.90vw;
    margin-inline: auto;
    background: #fff;
    position: relative;
    z-index: 10;
    border: 1px solid #d4d4d4;
    padding: 3.13vw 5.21vw 3.13vw;
    display: grid;
    grid-template-columns: 66.666% 32%;
    gap: 2.08vw;
  }
  #feature__profile .inner-box .txt-box {
    margin-top: 25px;
  }
  #feature__profile .inner-box .subt {
    font-weight: 600;
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1;
    color: var(--color-navy);
    letter-spacing: 0;
  }
  #feature__profile .inner-box .ttl {
    font-weight: 600;
    font-size: clamp(32px, 4.4vw, 47px);
    line-height: 1.6;
    color: #171717;
    letter-spacing: 0;
    display: flex;
    align-items: center;
  }
  #feature__profile .inner-box .ttl span {
    font-weight: 600;
    font-size: clamp(10px, 1.4vw, 22px);
    line-height: 1.75;
    color: var(--color-navy);
    border: 1px solid var(--color-navy);
    text-align: center;
    padding: 0 1.46vw;
    letter-spacing: 0;
    margin: 0 1.15vw 0 0;
  }
  #feature__profile .inner-box .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-top: 16px;
  }
  #feature__profile .inner-box .txt span {
    font-weight: bold;
  }
  #feature__profile .photo img {
    image-rendering: -webkit-optimize-contrast;
  }


  /* reasons
  -------------------------------------*/
  #reasons {
    background: url(../images/salesdesignprogram/reasons-bg.jpg) center / cover no-repeat ;
    padding: 86px 0 369px;
  }
  #reasons .icon {
    text-align: center;
    margin-inline: auto;
    width: clamp(34px, 4.5vw, 50px)
  }
  #reasons .con14-ttl{
    text-align: center;
    margin: 2.55vw auto 6.30vw;
    width: clamp(540px, 70vw, 821px);
  }
  #reasons .reasons__lead {
    margin-top: 2.50vw;
    margin-bottom: 4.43vw;
    font-size: clamp(24px, 3.12vw, 29px);
    font-weight: 600;
    line-height: 1.97;
    text-align: center;
    color: #fff;
  }

  #reasons .inner-box {
    width: min(95%, 1600px);
    margin-left: auto;
    padding: min(3.85vw, 74px) 0 min(3.75vw, 72px);
    background: linear-gradient(45deg, #fff 0%, #D4D4D4 100%);
    margin-bottom: 82px;
  }
  #reasons .content-box {
    display: flex;
    gap: 24px;
    width: min(95%, 1100px);
    margin-right: auto;
    margin-left: 4.69vw;
  }
  #reasons .inner-box .content-box {
    position: relative;
    margin-right: auto;
    margin-left: min(6.13vw, 100px);
    width: min(73vw, 1090px);
  }
  #reasons .content-box .txt-box {
    position: relative;
    width: max(54%, 340px);
  }
  #reasons .content-box .num {
    position: relative;
  }
  #reasons .content-box .num::after {
    content: "";
    position: absolute;
    bottom: -0.729vw;
    left: 0;
    width: 63px;
    height: 2px;
    background: #312929;
  }
  #reasons .content-box .photo {
    position: absolute;
    top: 50%;
    right: 0;
    width: 48%;
    width: clamp(300px, 39vw, 580px);
    transform: translate(calc(100% + 4.76vw), -50%);
  }
  #reasons .content-box .photo img {
    width: 100%;
  }
  #reasons .content-box .ttl {
    margin: 2.71vw 0 0;
    font-size: clamp(17px, 2.2vw, 28px);
    font-weight: 600;
    line-height: 1.17647;
    letter-spacing: 0.07em;
  }
  #reasons .content-box .ttl span {
    display: block;
    margin-top: 0.42vw;
    font-weight: 600;
    font-size: clamp(32px, 4vw, 52px);
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  #reasons .content-box .txt {
    margin-top: min(0.94vw, 18px);
    font-weight: 600;
    font-size: clamp(14px, 1.8vw, 18px);
    letter-spacing: 0.07em;
    line-height: 2.06;
  }



  #reasons .inner-box02 {
    margin-right: auto;
    margin-left: 0;
  }
  #reasons .inner-box02 .txt-box {
    margin-left: auto;
  }
  #reasons .inner-box02 .content-box {
    margin-left: auto;
    margin-right: min(6.13vw, 100px);
    width: min(85vw, 1100px);
  }
  #reasons .inner-box02 .content-box .txt-box {
    width: max(50%, 340px);
  }
  #reasons .inner-box02 .content-box .photo{
    left: 0;
    top: 50%;
    transform: translate(calc(-100% - 4.76vw), -50%);
  }

  #reasons .additional {
    position: relative;
    margin-top: 5.47vw;
    text-align: center;
  }
  #reasons .additional__title-catch {
    position: relative;
    display: inline-block;
    margin-inline: auto;
    padding: 1.25vw 5.99vw;
    font-size: clamp(24px, 3vw, 30px);
    line-height: 1;
    letter-spacing: 0.12em;
    text-align: center;
    color: #fff;
    background-color: var(--color-navy);
  }
  #reasons .additional__title-catch::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    width: 36px;
    height: 30px;
    background: url(../images/salesdesignprogram/feature-catch-parts.svg);
  }
  #reasons .additional__title {
    position: relative;
    width: fit-content;
    max-width: 80%;
    margin-top: 88.2px;
    margin-inline: auto;
  }
  #reasons .additional__title::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 27.75vw;
    max-width: 400px;
    background: url(../images/salesdesignprogram/additional-bg-parts-coach.png) center / 100% 100% no-repeat;
    aspect-ratio: 804 / 892;
    transform: translate(-90%, -12%);
    mix-blend-mode: luminosity;
    image-rendering: -webkit-optimize-contrast;
    filter: contrast(1.05) brightness(1.01);
    backface-visibility: hidden;
  }
  @media screen and (min-width: 768px) and (max-width: 1000px) {
    #reasons .additional__title::before {
      transform: translate(-83%, -12%);
    }
  }
  #reasons .additional__desc {
    margin-top: 42.2px;
    font-size: 18px;
    line-height: calc(37 / 18);
    letter-spacing: 0.1em;
    color: #fff;
  }

  #reasons .additional__media {
    background: url(../images/salesdesignprogram/additional-bgParts.png) center / contain no-repeat;
  }
  #reasons .additional__media-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.67vw;
    width: 80%;
    max-width: 950px;
    margin-inline: auto;
    padding: 13.02vw 0;
  }
  #reasons .additional__media-text {
    width: 50%;
    min-width: 350px;
    text-align: left;
  }
  #reasons .additional__media-lead {
    font-size: clamp(13px, 1.7vw, 20px);
    line-height: calc(36 / 20);
    color: var(--color-black-2);
  }
  #reasons .additional__media-title {
    margin-top: 1.98vw;
    font-size: clamp(23px, 2.8vw, 32px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--color-navy);
  }
  #reasons .additional__media-title > span {
    position: relative;
    display: inline-block;
    margin-top: 12px;
    padding-bottom: 2px;
    border-bottom: 1.5px solid var(--color-navy);
  }


  /* voice-frame
  -------------------------------------*/
  #voice-frame {
    background: url(../images/salesdesignprogram/voices-bg.jpg) top center / cover no-repeat ;
    padding: 0 0 10.42vw;
  }
  #voice-frame .voice{
    width: min(95%, 1400px);
    margin-inline: auto;
    position: relative;
    background: #FFFFFF;
    top: -10.05vw;
    z-index: 2;
  }
  #voice-frame .voice .voice-inner {
    padding: 6.98vw 5.21vw 2.73vw;
    position: relative;
    z-index: 3;
    background: #fff;
    box-shadow: 0px 0px 50px rgba(0, 0, 0, .1);
  }
  #voice-frame .voice::after {
    content: "";
    position: absolute;
    width: 71.35vw;
    height: 18.23vw;
    bottom: -3.38vw;
    left: 50%;
    background-image: url(../images/salesdesignprogram/voice-shadow.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%);
    z-index: 1;
  }
  #voice-frame .voice .voice-enttl{
    position: absolute;
    top: clamp(73.92px, calc(86px + ((100vw - 767px) * (-12.08 / 1153))), 86px);
    right: 1.72vw;
    width: 56.36%;
    z-index: -1;
  }
  #voice-frame .voice .voice-enttl img {
    width: 100%;
  }
  #voice-frame .voice .voice-ttl {
    margin: 0 0 0 3px;
  }
  #voice-frame .voice .voice-subt {
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 2.7;
    margin: 0 0 39px;
  }
  #voice-frame .voice .inner-box {
    background: #F6F6F6;
    margin-bottom: 2.8vw;
    padding: 2.13vw 0 0;
  }
  #voice-frame .voice .minBox {
    margin: 0 3.13vw;
  }
  #voice-frame .voice .minBox01 {
    display: grid;
    grid-template-columns: 10.84% 1fr;
    gap: 25px;
    background: #FFFFFF;
    padding: 1.04vw 2.04vw;
    margin-bottom: 1.8vw;
  }
  #voice-frame .voice .minBox01 .txt-box {
    margin-top: 37px;
  }
  #voice-frame .voice .minBox01 .ttl{
    font-weight: 600;
    font-size: clamp(18px, 2.4vw, 24px);
    line-height: 1.6071;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    padding: 10px 0 0 0;
  }
  #voice-frame .voice .minBox01 .company-name {
    font-weight: 500;
    font-size: clamp(14px, 1.7vw, 18px);
    line-height: 1.6111;
    letter-spacing: 0.05em;
    padding: 0 0 0 0;
  }
  #voice-frame .voice .minBox01 .name {
    font-weight: bold;
    font-size: clamp(18px, 2vw, 20px);
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  #voice-frame .voice .minBox01 .name span {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6111;
    letter-spacing: 0.05em;
    margin: 0 14px 0 0;
  }
  #voice-frame .voice .minBox02 {
    padding: 0px 0 1.3vw;
  }
  #voice-frame .voice .inBox {
      margin-bottom: 0px;
  }
  #voice-frame .voice .inBox h5 {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-bottom: 24px;
  }
  #voice-frame .voice .inBox .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    margin: 0 1.98vw 0.57vw 2.08vw;
  }
  #voice-frame .voice .opbtn {
    background: #e5e5e5;
    text-align: center;
    position: relative;
    font-size: 18px;
    font-weight: bold;
    padding: 0.31vw 2.14vw 0.31vw 0.68vw;
  }
  #voice-frame .voice span.arr {
    display: inline-block;
    line-height: 1;
    position: absolute;
    top: 11px;
    left: 50%;
    margin-left: 54px;
  }
  #voice-frame .voice__ctaBtn-wrap {
    margin-top: -5.21vw;
    text-align: center;
  }


  /* episode
  -------------------------------------*/
  #episode {
    background: url(../images/leadershipprogram/episode-bg.png) no-repeat top center/cover;
    padding: clamp(0px, 8.85vw, 127px) 0 clamp(0px, 20.26vw, 292px);
  }
  #episode .ttl {
    position: relative;
    font-size: clamp(28px, 3.6vw, 40px);
    font-weight: 600;
    line-height: calc(64 / 40);
    letter-spacing: 0.05em;
    text-align: center;
    z-index: 1;
  }
  #episode .inner-box{
    position: relative;
    width: min(95%, 1400px);
    margin-top: clamp(0px, 2.92vw, 42px);
    margin-inline: auto;
    padding: clamp(0px, 4.17vw, 60px) clamp(0px, 5.21vw, 75px);
    background: #fff;
  }
  #episode .episode-enttl{
    position: absolute;
    top: clamp(-320px, calc(-217px + ((100vw - 768px) * -0.149)), -217px);
    left: clamp(0px, calc(0px + ((100vw - 768px) * 0.173)), 123px);
    width: clamp(280px, calc(280px + ((100vw - 768px) * 0.189)), 498px);
    z-index: 0;
  }
  #episode .episode-enttl img {
    width: 100%;
  }

  #episode .inBox01{
    position: relative;
    display: grid;
    grid-template-columns: 45.91% 50%;
    gap: clamp(0px, 2.60vw, 37px);
  }
  #episode .inBox .ttl {
    margin: 0 0 clamp(0px, 1.56vw, 22px);
    font-size: clamp(22px, 2.86vw, 28px);
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.71428;
    text-align: left;
  }
  #episode .inBox01 .ttl {
    margin-bottom: clamp(0px, 2.50vw, 36px);
  }
  #episode .inBox .txt {
    margin: 0 0 clamp(0px, 1.56vw, 22px);
    font-size: clamp(14px, 2.08vw, 16px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.875;
  }
  #episode .inBox .txt:last-child {
    margin-bottom: 0;
  }  
  #episode .inBox02 {
    position: relative;
    display: grid;
    grid-template-columns: 65.45% 34.55%;
    gap: min(2.36vw, 35px);
    width: min(95%, 1100px);
    margin: 60px auto clamp(0px, 2.56vw, 49px);
  }
  #episode .inBox02 .txt-box {
    margin: clamp(0px, 1.30vw, 19px) 0 0 0;
  }
  #episode .inBox02 .img {
    margin-top: 30px;
    text-align: center;
  }
  #episode .inBox02 .ttl {
    margin: 0 0 clamp(0px, 1.20vw, 17px);
  }
  #episode .inBox02 .txt {
    line-height: 2.375;
  }

  #episode .bottom-box {
    background: #f6f6f6;
    padding: clamp(0px, 4.17vw, 60px);
  }
  #episode .bottom-box .inBox03 {
    display: grid;
    grid-template-columns: 46.03% 50%;
    gap: clamp(0px, 2.08vw, 30px);
    position: relative;
    margin-bottom: clamp(0px, 0.99vw, 14px);
  }
  #episode .bottom-box .photo-box {
    position: relative;
    margin: clamp(0px, 0.26vw, 4px) 0 0;
  }
  #episode .bottom-box .photo02 {
    position: absolute;
    bottom: clamp(0px, 1.82vw, 26px);
    right: 0;
    width: 240px;
  }
  #episode .bottom-box .photo02 img {
    width: 100%;
  }
  #episode .bottom-box .inBox03 h5 {
    font-weight: bold;
    font-size: clamp(18px, 2vw, 22px);
    letter-spacing: 0.05em;
    line-height: 1.81818;
    text-align: left;
    margin-bottom: min(2.97vw, 44px);
  }
  #episode .bottom-box .lead {
    margin-top: clamp(0px, 3.13vw, 45px);
    font-size: clamp(20px, 2.6vw, 26px);
    font-weight: 600;
    line-height: 1.846153;
    letter-spacing: 0.1em;
    text-align: center;
  }
  #episode .bottom-box .lead > span {
    position: relative;
    display: inline-block;
  }
  #episode .bottom-box .lead > span::after {
    content: "";
    position: absolute;
    bottom: clamp(0px, 0.31vw, 4px);
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-gold);
  }


  /* contentscv
  -------------------------------------*/
  .contentscv {
    position: relative;
    margin: 0 auto;
    background: url(../images/salesdesignprogram/contentscv-back01.png) no-repeat top center / contain;
    box-shadow: 0px 8px 16px #1717174D;
    text-align: center;
    margin: -14.72vw auto 0;
    width: min(95%, 1400px);
    aspect-ratio: 1400 / 438;
  }
  .contentscv::before {
    content: "";
    position:absolute;
    top: -2.78vw;
    left: 11.11vw;
    width: 13.89vw;
    height: 13.89vw;
    background: url(../images/salesdesignprogram/contentscv-icon.png) center / contain no-repeat;
  }
  .contentscv::after {
    content: "";
    position:absolute;
    right: 11.39vw;
    bottom: 0;
    width: 17.92vw;
    height: 14.44vw;
    background: url(../images/salesdesignprogram/contentscv-coach.png) center / contain no-repeat;
  }

  .contentscv .inner-Box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1400 / 438;
  } 
  .contentscv .inner-Box p.text {
    font-size: 1.39vw;
    line-height: calc(36 / 20);
    letter-spacing: 0.08em;
    color: #fff;
  }
  .contentscv .inner-Box .ttl01 {
    margin-top: 2.15vw;
    width: 71.94vw;
    margin-inline: auto;
  }
  .contentscv .inner-Box .ttl01 img {
    width: 100%;
  }
  .contentscv .inner-Box .btn {
    margin-top: 2.5vw;
    width: 37.5vw;
    margin-inline: auto;
  }
  .contentscv .inner-Box .btn img {
    width: 100%;
  }

  @media screen and (min-width: 1450px) {
    .contentscv {
      margin: -212px auto 0;
      width: 1400px;
      aspect-ratio: 1400 / 438;
    }
    .contentscv::before {
      top: -40px;
      left: 160px;
      width: 200px;
      height: 200px;
    }
    .contentscv::after {
      right: 164px;
    bottom: 0;
      width: 258px;
      height: 208px;
    }
    .contentscv .inner-Box p.text {
      font-size: 20px;
    }
    .contentscv .inner-Box .ttl01 {
      margin-top: 31px;
      width: 1036px;
    }
    .contentscv .inner-Box .btn {
      margin-top: 36px;
      width: 540px;
    }
  }


/* contact
  -------------------------------------*/
  #contact {
    padding: 120px 0 0;
    }
    #contact .contact-icon {
      text-align: center;
      position: relative;
    }
    #contact .contact-ttl {
      font-weight: 600;
      font-size: 34px;
      letter-spacing: 0.2em;
      line-height: 1.64705;
      text-align: center;
      position: relative;
      margin-top: 31px;
      margin-bottom: 0px;
    }
  }


/* ========================================
  @media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {

  /* top-contents
  -------------------------------------*/
  .top-contents {
    background: url(../images/salesdesignprogram/top-bg.png) no-repeat center center / contain;
    position: relative;
    margin: 1.615vw 0 0;
    padding: 4.98vw 0 3.7vw;
    aspect-ratio: 3840 / 1496;
  }
  .top-contents .inner-box {
    width: min(95%, 1100px);
    margin-inline: auto;
    text-align: center;
  }
  .top-contents .top-title {
    width: 47.23vw;
    margin-inline: auto;
  }
  .top-contents .top-title img {
    width: 100%;
  }
  .top-contents .main-subt {
    margin: 2.58vw auto 0;
    position: relative;
    z-index: 2;
    width: 54.61vw;
  }
  .top-contents .main-subt img {
    width: 100%;
  }
  .top-contents .main-txt {
    font-weight: 500;
    font-size: clamp(0.688rem, 0.145rem + 1.13vw, 1.5rem);
    letter-spacing: 0.13em;
    line-height: 1.9;
    text-align: center;
    color: #fff;
    margin-top: 2.97vw;
  }
  .top-contents .main-photo {
    position: absolute;
    bottom: 0;
    left: 1.5vw;
    width: 28.17vw;
  }
  .top-contents .main-photo img {
    width: 100%;
    mix-blend-mode: luminosity;
  }
  .top-contents .main-icon-box {
    display: flex;
    gap: 0.521vw;
    width: 35.435vw;
    position: absolute;
    bottom: -2.137vw;
    right: 1.511vw;
  }
  .top-contents .main-icon-box li {
    width: 33.333%;
  }
  .top-contents .main-icon-box li img {
    width: 100%;
  }
}


/* ========================================
  @media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
  #mindankermeeting {
    color: #504242;
  }
  #salesdesignprogram header {
    height: 14.7vw;
  }
  #salesdesignprogram .sp-header .h-logo img {
    height: 8.7vw;
  }
  #salesdesignprogram .seo_bread_list {
    display: none;
  }

  /* animation
  -------------------------------------*/
  .animated__fadeIn {
    opacity: 0;
    translate: 0 40px;
    transition: opacity 0.3s ease, translate 0.3s ease;
  }
  .animated__fadeIn.js-show {
    opacity: 1;
    translate: 0 0;
  }
  .scroll_up {
    opacity: 0;
    transform: translateY(30px);
    transition: 0.8s ease-in-out;
  }
  .scroll_up.on {
    opacity: 1;
    transform: translateY(0);
  }
  .appear_slow {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  }
  .appear_slow.js-appear {
    opacity: 1;
    transform: scale(1);
  }
  .animated__slideIn--left {
    opacity: 0;
    transition: opacity 0.5s ease, translate 0.5s ease;
    translate: -1000px;
  }
  .animated__slideIn--left.js-show {
    opacity: 1;
    translate: 0;
  }
  .animated__slideIn--right { 
    opacity: 0;
    transition: opacity 0.5s ease, translate 0.5s ease;
    translate: 1000px;
  }
  .animated__slideIn--right.js-show { 
    opacity: 1;
    translate: 0;
  }

  .js-fadein {
    opacity: 0;
    transition: opacity 1.2s ease-out; /* 速度はお好みで */
    will-change: opacity;
  }
  .js-fadein.is-visible {
    opacity: 1;
    transition-delay: .4s;
  }


  /* ScrollTrigger マーカーを強制的に非表示にする */
  .gsap-marker-scroller-end,
  .gsap-marker-start,
  .gsap-marker-end,
  .gsap-marker-scroller-start {
    display: none !important;
  }


  /* top-contents
  -------------------------------------*/
  .top-contents {
    background: url(../images/salesdesignprogram/top-bg_sp.png) no-repeat center center / contain;
    position: relative;
    margin: 0;
    padding: 12.66vw 0 40.92vw;
    aspect-ratio: 828 / 1238;
  }
  .top-contents .inner-box {
    width: 94.4vw;
    margin-inline: auto;
    text-align: center;
  }
  .top-contents .top-title {
    width: 70.26vw;
    margin-inline: auto;
  }
  .top-contents .top-title img {
    width: 100%;
  }
  .top-contents .main-lead {
    width: 76vw;
    margin-inline: auto;
    margin: 1.6vw 0 0 5.8vw;
    position: relative;
    z-index: 2;
  }
  .top-contents .main-lead img {
    width: 100%;
  }
  .top-contents .main-subt {
    margin: 4.71vw 0 0 3vw;
    position: relative;
    z-index: 2;
    width: 88.58vw;
  }
  .top-contents .main-subt img {
    width: 100%;
  }
  .top-contents .main-txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.135em;
    line-height: 1.6;
    text-align: left;
    color: #fff;
    margin: 5vw 2.6vw 0;
    position: relative;
    z-index: 2;
  }
  .top-contents .main-photo {
    position: absolute;
    bottom: 0;
    right: -17.39vw;
    width: 84.78vw;
    mix-blend-mode: luminosity;
  }
  .top-contents .main-photo img {
    width: 100%;
    mix-blend-mode: luminosity;
  }
  .top-contents .main-icon-box {
    display: flex;
    gap: 1vw;
    width: 94.3vw;
    position: absolute;
    bottom: 6vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
  }
  .top-contents .main-icon-box li {
    width: 33.333%;
  }
  .top-contents .main-icon-box li img {
    width: 100%;
  }


  /* top-cta
  -------------------------------------*/
  .top-ctaArea {
    position: relative;
    background-color: #fff;
  }
  .top-ctaArea::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 160px;
    height: 40px;
    background: url(../images/salesdesignprogram/top-ctaArea-bg-bottom.svg) center / contain no-repeat;
    z-index: 1;
  }
  .top-ctaArea__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 36px 0 40px;
  }
  .c-ctaBtn {
    display: inline-block;
    width: min(100%, 540px);
  }


  /* worries
  -------------------------------------*/
  #worries {
    position: relative;
    background: url(../images/salesdesignprogram/worry-bg_sp.png) bottom center/ cover no-repeat;
    z-index: 0;
  }
  #worries::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 82.12vw;
    height: 46.61vw;
    background: url(../images/salesdesignprogram/worry-bg-parts_sp.png) center / contain no-repeat;
    filter: grayscale(100%) opacity(0.5);
    mix-blend-mode: luminosity;
    z-index: -1;
  }
  #worries .worries-inner {
    position: relative;
    margin-inline: auto;
    padding: 86px 12px 112px;
    text-align: center;
    z-index: 1;
  }
  #worries .worries-ttl {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.3em;
    line-height: calc(34 / 20);
    text-align: center;
    color: var(--color-black-1);
  }
  #worries .worries-sub-ttl {
    display: inline-block;
    margin-top: 30px;
    margin-inline: auto;
    font-size: clamp(16px, 5vw, 18px);
    font-weight: 600;
    letter-spacing: 0.3em;
    text-align: center;
    color: var(--color-black-1);
    border-bottom: 1px solid var(--color-black-1);
  }
  #worries .worries-sub-ttl:first-of-type {
    margin-top: 54px;
  }
  #worries .worries-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
    margin-top: 20px;
  }
  #worries .worries-list li {
    position: relative;
    width: min(100%, 700px);
    margin-inline: auto;
    padding: 15px 12px 15px 48px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: calc(28 / 14);
    color: var(--color-black-2);
    background: #f6f6f6;
  }
  #worries .worries-list li::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 20px;
    width: 18px;
    height: 15px;
    background: url(../images/leadershipprogram/check-icon.svg) no-repeat center center/cover;
    background-size: contain;
  }
  #worries .worries-list li span {
    color: #BA0015;
  }
  #worries .worries-txt {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.916666;
    text-align: center;
    color: #171717;
    margin-top: 53px;
  }
  #worries .worries-txt span {
    font-weight: 700;
  }


  /* issue
  -------------------------------------*/
  #issue {
    background: url(../images/salesdesignprogram/issue-bg_sp.png) center center / cover no-repeat;
    margin-top: -14.49vw;
  }
  #issue .issue-inner {
    padding: 26.33vw 5.31vw 14.49vw;
  }
  #issue .ttl {
    font-size: clamp(16px, 4vw, 30px);
    /* font-size: 4.83vw; */
    line-height: calc(51 / 20);
    letter-spacing: 0.05em;
    font-weight: 600;
    margin-bottom: 8px;
    text-align: center;
  }
  #issue .ttl span {
    display: inline-block;
    text-align: center;
    width: clamp(260px, 54.75vw, 420px);
  }
  #issue .ttl span > img {
    width: 100%;
  }
  #issue .subt {
    margin-top: 30px;
    margin-bottom: 7.6vw;
    font-size: clamp(16px,3.4vw, 26px);
    font-weight: 500;
    line-height: 1.875;
    letter-spacing: 0.14em;
    text-align: center;
  }
  #issue .list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 7.2vw;
    width: 89.375vw;
    margin-inline: auto;
  }
  #issue .list li {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
  }
  #issue .list li::after {
    content: "";
    position: absolute;
    width: 75.366vw;
    height: 24.64vw;
    bottom: -50px;
    left: 50%;
    background: url(../images/salesdesignprogram/issue-listItem-shadow_sp.png) center / contain no-repeat;
    transform: translateX(-50%);
    z-index: 1;
  }
  #issue .list .num {
    margin: 0 auto 0.6vw;
    padding: 0 0 2vw;
    width: clamp(60px, 16vw, 140px);
  }
  #issue .list .num > img {
    width: 100%;
  }
  #issue .list .img {
    position: relative;
    width: 100%;
    height: clamp(160px, 45vw, 300px);
    margin-inline: auto;
    text-align: center;
    z-index: 4;
  }
  #issue .list .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  #issue .list h4 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    width: min(100%, 600px);
    margin-top: -30px;
    margin-inline: auto;
    padding: 11vw 0 8vw;
    font-size: 5.314vw;
    line-height: 1.63636;
    letter-spacing: 0.05em;
    font-weight: 600;
    background: #f6f6f6;
    border: 1px solid #AFAFAF;
    border-radius: 20px;
    text-align: center;
    position: relative;
    z-index: 3;
  }

  /*#issue .list h4 span:first-child::after {
    content: "";
    display: block;
    width: 20.833vw;
    height: 0.104vw;
    background-color: #ccc;
    margin: 1.563vw auto;
  }*/


  #issue .bottom-box {
    margin-top: 40px;
  }
  #issue .inBox {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin: 0 2.43vw;
  }
  #issue .inBox .txtBox {
    order: 2;
    text-align: center;
  }
  #issue .inBox .txt {
    font-size: clamp(14px, 3.5vw, 20px);
    font-weight: 500;
    line-height: calc(50 / 30);
    letter-spacing: 0.05em;
  }
  #issue .inBox .txt-catch {
    display: block;
    margin-bottom: 20px;
  }
  #issue .inBox .txt-catch span {
    position: relative;
    display: inline-block;
    margin-top: 3.62vw;
    padding-bottom: 3px;
    font-size: clamp(28px, 7vw, 42px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
  }
  #issue .inBox .txt-catch span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    height: 2px;
    width: 100%;
    background-color: var(--color-gold);
  }
  #issue .inBox .txt .txt-bottom {
    font-weight: 500;
  }

  #issue .ttl-box {
    position: relative;
    margin-bottom: 8.2vw;
    display: inline-block;
  }
  #issue .ttl-box h5 {
    font-size:6.763vw;
    line-height: 0.92857;
    letter-spacing: 0;
    font-weight: 600;
    text-align: center;
  }
  #issue .ttl-box h5 .f-small {
    font-size:3.865vw;
    line-height: 1.875;
    letter-spacing: 0.14em;
    font-weight: 500;
    display: block;
    margin-bottom: 5vw;
    text-align: center;
  }
  #issue .ttl-box h5 .bb {
    position: relative;
  }
  #issue .ttl-box h5 .bb::after {
    content: "";
    position: absolute;
    width: 71.5vw;
    height: 0.6vw;
    background: #B49516;
    bottom: 0vw;
    left: 51%;
    transform: translateX(-50%);
  }
  #issue .ttl-box .deco {
    position: absolute;
    top: -2vw;
    right: 5.8vw;
    width: 6.866vw;
  }

  #issue .inBox .txt span {
    font-weight: 700;
  }
  #issue .inBox .txt span span:first-of-type {
    padding-right: 0.4em;
  }
  #issue .inBox .txt span span:last-of-type {
    padding-left: 0.4em;
  }
  #issue .inBox .desc {
    font-size:3.382vw;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 500;
    text-align: left;
  }
  #issue .inBox .photo {
    order: 1;
  }

  #issue .suggest-box {
    position: relative;
    width: 100%;
    margin-top: 42px;
    margin-inline: auto;
    text-align: center;
  }
  #issue .suggest-box::after {
    content: none;
  }
  #issue .suggest-box .suggest-box__line {
    display: inline-block;
    width: 100%;
    height: 5px;
    background-color: var(--color-gold);
    box-shadow: 5px 4px 7px rgba(23, 23, 23, 0.12);
  }
  #issue .suggest-box .suggest-box__text-wrap {
    padding: 15px 0 13px;
  }
  #issue .suggest-box .suggest-box__subText {
    font-size: clamp(20px, 3.6vw, 26px);
    line-height: calc(34 / 20);
    letter-spacing: 0.05em;
  }
  #issue .suggest-box .suggest-box__text {
    margin-top: 6px;
    font-size: clamp(28px, 4.8vw, 38px);
    font-weight: 600;
    line-height: calc(46 / 32);
  }
  #issue .suggest-box .suggest-box__text > .suggest-box__text--main {
    padding-bottom: 2px;
    margin-bottom: 32px;
    color: var(--color-gold);
    border-bottom: 1.5px solid var(--color-gold);
  }
  #issue .suggest-box .suggest-box__text > span:last-of-type {
    display: block;
    margin-top: 12px;
  }


  /* program
  -------------------------------------*/
  #program {
    background-color: #F0F0F3;
  }
  #program .program__inner {
    padding: 60px 0;
  }
  #program .program__sectionTitle {
    font-size: clamp(24px, 4.69vw, 36px);
    font-weight: 600;
    color: var(--color-navy);
    text-align: center;
  }

  /* curriculm-table */
  #program .curriculum-table {
    width: 100%;
    margin: 40px 0 50px;
    padding-left: 22px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #program .curriculum-table {
    width: 100%;
    max-width: 1280px;
    margin: 80px auto;
  }
  #program .curriculum-table table {
    width: 100%;
    min-width: 962px;
    border-collapse: collapse;
    background: transparent;
  }
  #program .curriculum-table thead th {
    padding-top: 20px;
    padding-bottom: 26px;
    font-size: 19px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
  }
  #program .curriculum-table thead th:first-child {
    width: 39%;
    background: #60667B;
  }
  #program .curriculum-table thead th:last-child {
    width: 61%;
    font-size: 20px;
    background: var(--color-navy);
    border-top: 20px solid;
    border-left: 10px solid;
    border-right: 10px solid;
    border-color: var(--color-navy);
  }
  #program .curriculum-table tbody tr {
    border-bottom: 1px solid #B9BFD5;
  }
  #program .curriculum-table tbody tr:last-child {
    border-bottom: none;
  }
  #program .curriculum-table tbody th {
    vertical-align: middle;
    padding: 40px 0 40px 30px;
    background-color: #fff;
  }
  #program .curriculum-table tbody tr:nth-child(5) th {
    padding-top: 22px;
    padding-bottom: 22px;
  }
  #program .theme-item {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  #program .theme-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
  }
  #program .theme-icon {
    width: 82px;
    height: 82px;
  }
  #program .theme-text {
    font-size: 16px;
    font-weight: 700;
    line-height: calc(25 / 16);
    letter-spacing: 0.05em;
    text-align: left;
    color: #3B3F50;
  }
 
  #program .curriculum-table tbody td {
    width: 65%;
    padding: 32px 1em 39px 42px;
    border-left: 10px solid var(--color-navy);
    border-right: 10px solid var(--color-navy);
    background-color: #fff;
  }
  #program .curriculum-table tbody tr:nth-child(8) td {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #program .curriculum-table tbody tr:last-child td {
    position: relative;
  }
  #program .curriculum-table tbody tr:last-child td::after {
    content: "";
    position:absolute;
    bottom: -10px;
    left: -10px;
    right: 0;
    display: block;
    width: calc(100% + 20px);
    height: 10px;
    background-color: var(--color-navy);
  }
  #program .curriculum-table ol {
    margin: 0;
    padding-left: 2em;
  }
  #program .curriculum-table li {
    position: relative;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: var(--color-navy);
  }
  #program .curriculum-table li::before {
    content: counter(list-counter);
    counter-increment: list-counter;
    position: absolute;
    top: 0.2em;
    left: -1.6em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 16px;
    line-height: 1;
    color: #fff;
    background-color: var(--color-navy);
    border-radius: 50%;
  }
  #program .curriculum-table ol {
    counter-reset: list-counter;
  }
  #program .curriculum-table li span {
    font-weight: bold;
  }

  #program .service {
    background: #FFFFFF;
    margin: 0 clamp(8px, 5.32vw, 22px);
  }
  #program .service .inner {
    padding: 6.8vw min(3.62vw, 15px) 9.6vw;
  }
  #program .service .enttl {
    text-align: center;
    margin-bottom: 1vw;
    width: 24vw;
    margin-inline: auto;
  }
  #program .service h3 {
    font-size: clamp(20px,6.3vw, 22px);
    font-weight: 600;
    letter-spacing: 0em;
    text-align: center;
    color: var(--color-navy);
  }
  #program .service table,
  #program .service tbody,
  #program .service tr,
  #program .service th,
  #program .service td {
    display: block;
    width: 100%;
  }
  #program .service table th {
    margin-top: 32px;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
    padding: 13px 0 11px;
    text-align: center;
    color: #fff;
    background-color: var(--color-navy);
  }
  #program .service table td {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
    padding-top: 20px;
    color: var(--color-black-1);
  }
  #program .service table td span {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  #program .service table td span img {
    width: 22.5px;
    height: 15px;
    margin-right: 4px;
    padding-top: 3px;
    vertical-align: middle;
    transform: translateY(-3px);
  }
  #program .service table td .sp-price {
    font-size: 20px;
    font-weight: 700;
  }
  #program .service table td .discount-price {
    position: relative;
    display: inline-block;
    margin-left: 26px;
    padding: 0 4px 0;
    font-size: 16px;
    font-weight: 700;
    background: linear-gradient(to bottom, transparent 0%, transparent 60%, #EBD785 70%, #EBD785 100%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: 0 0;
  }
  #program .service table td .additional {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    margin-top: 12px;
  }
  #program .service table td .additional .circle {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    width: 58px;
    height: 58px;
    color: var(--color-navy);
    border: 1px solid var(--color-navy);
    border-radius: 50%;
    flex-shrink: 0;
  }
  #program .service table td .additional span {
    font-size: 16px;
    font-weight: 500;
    line-height: calc(30 / 16);
    letter-spacing: 0.05em;
    text-align: justify;
  }


  /* feature
  -------------------------------------*/
  #feature {
    background-color: #C7D8DD;
  }
  #feature .feature__content {
    position: relative;
    width: 100%;
    padding-top: 60px;
  }
  #feature .feature__title-catch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -65%);
  }
  #feature .feature__title-catch > span {
    position: relative;
    display: inline-block;
    margin-inline: auto;
    padding: 14px 26px 16px 34px;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.12em;
    color: #fff;
    background-color: var(--color-navy);
    white-space: nowrap;
  }
  #feature .feature__title-catch > span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 18px);
    width: 36px;
    height: 30px;
    background: url(../images/salesdesignprogram/feature-catch-parts.svg);
  }
  #feature .feature__title {
    text-align: center;
  }
  #feature .feature__title .lead {
    display: block;
    font-size: 20px;
    font-weight: 600;
    line-height: calc(32 / 20);
    color: var(--color-black-1);
  }
  #feature .feature__title .main {
    display: block;
    margin-top: 24px;
    margin-inline: auto;
    padding: 0 8px;
  }
  #feature .feature__title .small {
    display: block;
    margin-top: 20px;
    font-size: 18px;
    line-height: calc(38 / 18);
    font-weight: 400;
    letter-spacing: 0.05em;
    color: var(--color-black-1);
  }
  #feature .feature__title-note {
    max-width: 500px;
    margin-top: 37px;
    margin-inline: auto;
    padding-inline: 22px;
    font-size: clamp(14px, 4.3vw, 16px);
    font-weight: 700;
    line-height: calc(30 / 16);
    text-align: left;
    letter-spacing: 0.05em;
    color: var(--color-black-1);
  }

  /* feature table */
  #feature .feature__table {
    margin-top: 32px;
    margin-left: 22px;
    padding: 40px 15px;
    background-color: #fff;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16);
  }
  /* Header */
  #feature .feature__table-header {
      display: flex;
    gap: 15px;
    margin-bottom: 15px;
    min-width: 1200px;
  }
  #feature .feature__table-label-column {
    width: 16%;
  }
  #feature .feature__table-general-column {
    width: 26.83%;
    padding: 22px 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #939393;
    text-align: center;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  #feature .feature__table-program-column {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(51.08% + 30px);
    font-size: 22px;
    font-weight: 600;
    background-color: var(--color-navy);
    color: #fff;
    text-align: center;
  }
  /* Body */
  #feature .feature__table-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  #feature .feature__table-row {
    display: flex;
    gap: 15px;
    min-width: 1200px;
  }
  #feature .feature__table-label-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16%;
    padding: 36px 1em 30px;
    text-align: center;
    background-color: #FAFAED;
  }
  #feature .feature__table-general-cell {
    display: flex;
    align-items: center;
    text-align: justify;
    width: 26.83%;
    padding: 32px 45px;
    background-color: #fff;
  }
  #feature .feature__table-general-cell span {
    font-weight: 500;
  }
  #feature .feature__table-program-cell {
    position: relative;
    display: flex;
    align-items: center;
    width: 51.08%;
    margin-left: 15px;
    padding: 24px 60px;
    text-align: justify;
    background-color: #F0F4F8;
  }
  /* 上部の線 */
  #feature .feature__table-program-cell::before {
    content: "";
    position: absolute;
    left: -15px;
    display: block;
    width: 4px;
    height: calc(100% + 30px);
    background-color: var(--color-navy);
  }
  /* 左側の線 */
  #feature .feature__table-program-column::after {
    content: "";
    position: absolute;
    top: -18px;
    left: 0;
    width: 100%;
    height: 20px;
    background-color: var(--color-navy);
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
  }
  /* 右側の線 */
  #feature .feature__table-program-cell::after {
    content: "";
    position: absolute;
    right: -15px;
    display: block;
    width: 4px;
    height: calc(100% + 30px);
    background-color: var(--color-navy);
  }
  /* 最後の行の下線 */
  #feature .feature__table-row:last-child {
    position: relative;
  }
  #feature .feature__table-row:last-child::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: calc(16% + 26.83% + 30px);
    display: block;
    height: 4px;
    width: calc(51.08% + 30px);
    background-color: var(--color-navy);
    z-index: 1;
  }
  /* Label items */
  #feature .feature__table-label-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  #feature .feature__table-label-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #feature .feature__table-label-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  #feature .feature__table-label-text {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--color-black-2);
  }
  /* Text content */
  #feature .feature__table-general-cell p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.875;
    letter-spacing: 0.05em;
    color: var(--color-black-2);
  }
  #feature .feature__table-program-cell p {
    font-size: 18px;
    line-height: 1.78;
    letter-spacing: 0.05em;
  }
  #feature .feature__table-program-cell p span {
    font-weight: 700;
  }

  #feature .feature__illust-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    margin-top: 70px;
    padding-inline: min(5.32vw, 22px);
  }
  #feature .feature__illust figure {
    /* width: min(95%, 640px); */
    margin-inline: auto;
    text-align: center;
  }
  #feature .feature__illust figure > img {
    width: 100%;
  }
  #feature .feature__illust-text-area {
    font-size: clamp(16px, 2.8vw, 20px);
    line-height: 2.125;
    letter-spacing: 0.05em;
    color: var(--color-black-1);
  }
  #feature .feature__illust-text-area span {
    display: inline-block;
    margin-top: 0.78vw;
    padding: 0.97vw 1.93vw 0.97vw;
    font-size: clamp(16px, 2.8vw, 20px);
    line-height: 1.6;
    color: #fff;
    background: linear-gradient(45deg, #698493 0%, #698493 10%, #001865 100%);
  }

  /* feature__profile */
  #feature #feature__profile {
    padding: 22px 22px 60px;
  }
  #feature #feature__profile .inner-box {
    width: 100%;
    margin-top: 50px;
    padding: 7.73vw 3.62vw 8.21vw;
    background: #fff;
    position: relative;
    z-index: 10;
    border: 1px solid #d4d4d4;
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
  }
  #feature #feature__profile .inner-box .subt {
    font-size: 28px;
      font-weight: 600;
    line-height: calc(40 / 28);
    color: var(--color-navy);
    letter-spacing: 0;
  }
  #feature #feature__profile .inner-box .ttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 23px;
    font-size: 32px;
    font-weight: 600;
    line-height: calc(81 / 32);
    color: #171717;
    letter-spacing: 0;
  }
  #feature #feature__profile .inner-box .ttl span {
    padding: 11px 1em 10px 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-align: left;
    letter-spacing: 0;
    color: var(--color-black-1);
    border: 1px solid var(--color-black-1);
  }
  #feature #feature__profile .inner-box .txt {
    font-weight: 500;
    font-size: clamp(16px, 2.5vw, 18vw);
    letter-spacing: 0.04em;
    line-height: 2;
    margin-top: 16px;
  }
  #feature #feature__profile .inner-box .txt span {
    font-weight: bold;
  }
  #feature #feature__profile .photo img {
    image-rendering: -webkit-optimize-contrast;
  }


  .scroll-hint-shadow-wrap::after {
    top: 29px !important;
  }

  /* reasons
  -------------------------------------*/
  #reasons {
    background: url(../images/salesdesignprogram/reasons-bg_sp.jpg) no-repeat top center / cover;
    padding: 56px 0 0;
  }
  #reasons .icon {
    text-align: center;
  }
  #reasons .con14-ttl{
    text-align: center;
    margin-top: 19.3px;
  }
  #reasons .reasons__lead {
    margin-top: 24.2px;
    margin-bottom: 50px;
    font-size: 18px;
    font-weight: 600;
    line-height: calc(36 / 18);
    text-align: center;
    color: #fff;
  }
  #reasons .inner-box {
    width: min(91.8%, 1600px);
    margin-inline: auto;
    padding: 9.66vw 0 5.31vw;
    background-color: #F6F6F6;
    margin-bottom: 4.83vw;
  }
  #reasons .content-box {
    display: flex;
    gap: 24px;
    position: relative;
  }
  #reasons .content-box .txt-box {
    flex: 1;
  }
  #reasons .content-box .num {
    position: relative;
    padding-left: 20px;
  }
  #reasons .content-box .ttl {
    margin: 26px 0 0;
    padding-left: 20px;
    font-size: clamp(13px, 4.2vw, 18px);
    font-weight: 600;
    line-height: calc(34 / 18);
    letter-spacing: 0.07em;
    color: var(--color-black-2);
  }
  #reasons .content-box .ttl span {
    display: block;
    font-weight: 600;
    font-size: clamp(24px, 7.6vw, 32px);
    line-height: calc(46 / 32);
    letter-spacing: 0.05em;
  }
  #reasons .content-box .txt {
    padding: 20px;
    font-size: clamp(14px, 4vw, 16px);
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: calc(30 / 16);
    color: var(--color-black-2);
  }
  #reasons .content-box .photo {
    position: relative;
    margin-top: 3vw;
  }

  #reasons .additional {
    margin-top: 53px;
    text-align: center;
  }
  #reasons .additional__title-catch {
    position: relative;
    display: inline-block;
    margin-inline: auto;
    padding: 14px 66px 16px;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.12em;
    text-align: center;
    color: #fff;
    background-color: var(--color-navy);
    z-index: 1;
  }
  #reasons .additional__title-catch::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 18px);
    width: 8.70vw;
    height: 7.25vw;
    background: url(../images/salesdesignprogram/feature-catch-parts.svg) center / contain no-repeat;
    z-index: -1;
  }
  #reasons .additional__title {
    position: relative;
    margin-top: 7.25vw;
    margin-right: 5.31vw;
    text-align: right;
  }
  #reasons .additional__title::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -14.5vw;
    width: 52.72vw;
    height: 56.83vw;
    background: url(../images/salesdesignprogram/additional-bg-parts-coach_sp.png) center / contain no-repeat;
    transform: translateY(20%);
    mix-blend-mode: luminosity;
  }
  #reasons .additional__title  picture {
    display: inline-block;
    width: 56.28vw;
    text-align: left;
  }
  #reasons .additional__title img {
    width: 100%;
  }
  #reasons .additional__desc {
    margin-top: 9.73vw;
    padding-inline: 5.31vw;
    font-size: clamp(12px, 3.86vw, 18px);
    line-height: calc(32 / 16);
    letter-spacing: 0.1em;
    text-align: left;
    color: #fff;
  }

  #reasons .additional__media {
    background: url(../images/salesdesignprogram/additional-bgParts_sp.png) center / cover no-repeat;
    aspect-ratio: 540 / 840;
    background-size: 120%;
  }
  #reasons .additional__media-inner {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    gap: 34px;
    height: 100%;
    padding: 6.06vw 0 7.20vw;
  }
  #reasons .additional__media-text {
    text-align: center;
  }
  #reasons .additional__media-lead {
    font-size: clamp(16px, calc(16px + (12 * ((100vw - 320px) / (767 - 320)))), 28px);
    line-height: calc(36 / 20);
    color: var(--color-black-2);
  }
  #reasons .additional__media-title {
    margin-top: 6.04vw;
    font-size: clamp(18px, calc(18px + (38 * ((100vw - 320px) / (767 - 320)))), 38px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--color-navy);
  }
  #reasons .additional__media-title > span {
    position: relative;
    display: inline-block;
    margin-top: 12px;
    padding-bottom: 2px;
    border-bottom: 1.5px solid var(--color-navy);
  }
  #reasons .additional__media-image {
    width: 49.20vw;
  }


  /* voice-frame
  -------------------------------------*/
  #voice-frame {
    position: relative;
    padding: 12.08vw 0 24.15vw;
    background: url(../images/salesdesignprogram/voices-bg.jpg) top center / cover no-repeat ;
    z-index: 0;
  }
  #voice-frame .voice{
    width: 100%;
    position: relative;
    z-index: 2;
    box-shadow: 0px 0px 50px rgba(0, 0, 0, .1);
  }
  #voice-frame .voice .voice-inner {
    position: relative;
    /* padding: 20.22vw 2.90vw 0; */
    padding: 20.22vw 0 2vw;
    background-color: #fff;
    z-index: 1;
  }
  #voice-frame .voice .voice-ttl {
    width: 57.25vw;
    margin-inline: auto;
    text-align: center;
  }
  #voice-frame .voice .voice-subt {
    margin: 18.8px 0 -10px;
    font-size: clamp(12px, calc(12px + ((100vw - 320px) * (2 / 94)) + ((100vw - 414px) * (4 / 353))), 18px);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: calc(34 / 14);
    text-align: center;
  }
  #voice-frame .voice .voice-enttl {
    position: relative;
    margin-inline: auto;
    margin-bottom: 10px;
    width: 57.61vw;
    transform: translateY(20px);
    z-index: 1;
  }
  #voice-frame .voice .voice-enttl img {
    width: 100%;
  }
  #voice-frame .voice .inner-box {
    position: relative;
    margin-bottom: 40px;
    margin-inline: 2.9vw;
    background: #F6F6F6;
    padding: 20px 0px 0;
  }
  #voice-frame .voice .inner-box::after {
    content: "";
    position: absolute;
    width: 87vw;
    height: 21.7vw;
    bottom: -35px;
    left: 50%;
    background-image: url(../images/salesdesignprogram/voice-shadow.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%);
    z-index: -1;
  }
  #voice-frame .voice .minBox {
    display: grid;
    grid-template-columns: 1fr;
    background: #FFFFFF;
    padding: 3.21vw 5.62vw 3.52vw;
  }
  #voice-frame .voice .minBox01 {
    margin-inline: 10px;
  }
  #voice-frame .voice .minBox01 .content-wrap {
    display: contents;
    margin-bottom: 20px;
    padding: 34px 20px 27px;
    background-color: #fff;
  }
  #voice-frame .voice .minBox .ttl {
    font-size: clamp(15px, 3.13vw, 24px);
    font-weight: 600;
    line-height: calc(30 / 18);
    letter-spacing: 0.07em;
    order: 3;
  }
  #voice-frame .voice .minBox .photo {
    margin-top: 3vw;
    order: 1;
    margin-bottom: 4vw;
    width: 20vw;
  }
  #voice-frame .voice .minBox .company-name {
    margin-top: 4.35vw;
    font-size: clamp(14px, 3.8vw, 18px);
    font-weight: 500;
    line-height: calc(17 / 14);
    letter-spacing: 0.05em;
    order: 2;
    position: absolute;
    top: 10.8vw;
    left: 33vw;
    line-height: 1.6;
  }
  #voice-frame .voice .minBox .name {
    margin-top: 2.90vw;
    font-size: clamp(16px, 5.2vw, 20px);
    font-weight: bold;
    line-height: calc(19 / 16);
    letter-spacing: 0.05em;
    order: 4;
  }
  #voice-frame .voice .minBox01 .name span {
    margin-right: 1em;
    font-weight: 500;
  }
  #voice-frame .voice .minBox02 {
    margin-top: 3.25vw;
    padding: 0 2.42vw;
    margin-bottom: 6vw;
    background-color: #F6F6F6;
  }
  #voice-frame .voice .inBox {
    margin-bottom: 1.9vw;
  }
  #voice-frame .voice .inBox h5 {
    font-weight: bold;
    font-size: clamp(16px, 4.7vw, 17px);
    line-height: calc(29 /18);
    letter-spacing: 0.05em;
    margin-bottom: 1.9vw;
  }
  #voice-frame .voice .inBox .txt {
    font-size: clamp(14px, 4vw, 14px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: calc(28 / 14);
  }
  #voice-frame .voice .opbtn {
    background: #DFDFDF;
    text-align: center;
    position: relative;
    font-size: 18px;
    font-weight: bold;
    padding: 1.45vw 9.90vw 1.45vw 3.14vw;
  }
  #voice-frame .voice span.arr {
    display: inline-block;
    line-height: 1;
    position: absolute;
    top: 11px;
    left: 50%;
    margin-left: 54px;
  }
  #voice-frame .voice__ctaBtn-wrap {
    margin-top: 14.49vw;
    text-align: center;
  }


  /* episode
  -------------------------------------*/
  #episode {
    background: url(../images/leadershipprogram/episode-bg_sp.png) no-repeat top center/cover;
    padding: 26vw 0 106vw;
  }
  #episode .episode-enttl{
    position: absolute;
    top: -67vw;
    left: 3vw;
    width: 56.523vw;
  }
  #episode .episode-enttl img {
    width: 100%;
  }
  #episode .ttl {
    font-size: clamp(18px, 5vw, 38px);
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: calc(34 /18);
    text-align: center;
    margin-bottom: 6.8vw;
    color: var(--color-black-2);
  }
  #episode .subt {
    font-weight: 600;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.722222;
    text-align: center;
    margin-bottom: 8vw;
  }
  #episode .inner-box{
    position: relative;
    /* width: 94.3%; */
    margin-inline: 2.89vw;
    padding: 10.9vw 2.415vw 13.6vw;
    background: #fff;
    z-index: 3;
  }
  #episode .inBox{
    position: relative;
    display: grid;
    margin-inline: auto;
    margin-bottom: 10.2vw;
  }
  #episode .inBox .photo {
    margin: 0 0 4.6vw;
    order: 2;
  }
  #episode .inBox .txt-box {
    display: contents;
  }
  #episode .inBox .ttl {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.888888;
    margin: 0 0 3.2vw;
    order: 1;
    text-align: left;
    color: #504242;
  }
  #episode .inBox .txt {
    margin: 0 0 6.8vw;
    font-size:3.382vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: justify;
    order: 3;
  }
  #episode .inBox .txt:last-child {
    margin-bottom: 0;
  }
  #episode .inBox01,
  #episode .inBox02 {
    padding-inline: 2.415vw;
  }
  #episode .inBox02 .img {
    position: absolute;
    top: -14.6vw;
    right: 0;
    width: 20.04vw;
  }
  #episode .inBox02 .img img {
    width: 100%;
  }
  #episode .bottom-box {
    background: #f6f6f6;
    padding: 9.66vw 3.62vw;
  }
  #episode .bottom-box .inBox02 {
    padding: 0;
  }
  #episode .bottom-box h4 {
    font-weight: 600;
    font-size: 5.314vw;
    letter-spacing: 0.05em;
    line-height: 1.63636;
    text-align: center;
    margin-bottom: 2vw;
    color: #504242;
  }
  #episode .bottom-box h4 span{
    font-weight: 600;
    font-size:3.865vw;
    letter-spacing: 0.1em;
    line-height: 2.0625;
    text-align: center;
    margin-bottom: 2.6vw;
    display: block;
  }
  #episode .bottom-box .subt {
    font-weight: 600;
    font-size:3.865vw;
    letter-spacing: 0.1em;
    line-height: 2.1875;
    text-align: center;
    color: #b49516;
    margin-bottom: 5.4vw;
  }
  #episode .bottom-box .inBox03 {
    position: relative;
    margin-bottom: 3.86vw;
    width: 100%;
  }
  #episode .bottom-box .inBox03 h5 {
    font-weight: bold;
    font-size: 4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.8888;
    text-align: left;
    margin-bottom: 3vw;
    order: 1;
  }
  #episode .bottom-box .inBox02 .img {
    position: relative;
    top: 0;
    width: 100%;
    margin-bottom: 5.4vw;
  }

  #episode .bottom-box .lead {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: calc(34 / 18);
    text-align: center;
  }
  #episode .bottom-box .lead > span {
    position: relative;
    display: inline-block;
  }
  #episode .bottom-box .lead > span::after {
    content: "";
    position: absolute;
    bottom: 1.6vw;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-gold);
  }
  #episode .bottom-box .txt01 {
    order: 3;
    margin: 0 0 8.2vw;
  }
  #episode .bottom-box .txt02 {
    order: 5;
    margin: 0 0 5.6vw;
  }


  /* cta
  -------------------------------------*/
  #cta {
    margin-top: -90.6vw;
  }
  .contentscv{
    position: relative;
    background: url(../images/salesdesignprogram/contentscv-bg_sp.png) no-repeat top center / cover;
    background-size: 100% auto;
    height: 108.3vw;
    width: 94.3vw;
    box-shadow: 0.0vw 1.9vw 3.9vw #1717174D;
    text-align: center;
    margin: 0 auto;
  }
  .contentscv::before {
    content: "";
    position:absolute;
    left: 0;
    top: -2.42vw;
    width: 36.23vw;
    height: 36.23vw;
    background: url(../images/salesdesignprogram/contentscv-icon_sp.png) center / contain no-repeat;
  }
  .contentscv::after {
    content: "";
    position:absolute;
    right: 1.69vw;
    bottom: 0;
    height: 19.32vw;
    width: 22.71vw;
    background: url(../images/salesdesignprogram/contentscv-coach_sp.png) center / contain no-repeat;
  }

  .contentscv .inner-Box {
    margin: 0 4vw;
    padding: 10.6vw 0 0;
  }
  .contentscv .inner-Box span.icon {
    display: block;
    position: absolute;
    line-height: 1;
    top: -2.2vw;
    left: -0.2vw;
    width: 36.3vw;
  }
  .contentscv .inner-Box p.text {
    font-size: 3.382vw;
    line-height: 2.142857;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin-bottom: 7.7vw;
    color: #fff;
    padding: 0 5vw 0 35vw;
    text-align: left;
  }
  .contentscv .inner-Box .ttl01 {
    margin: 0 auto 7vw;
    width: 74.28vw;
  }
  .contentscv .inner-Box .ttl01 img {
    width: 100%;
  }
  .contentscv .inner-Box .btn {
    margin: 0 auto 1.4vw;
    width: 82.2vw;
  }
  .contentscv .inner-Box .btn img {
    width: 100%;
  }
  .contentscv .inner-Box figure.photo01 {
    position: absolute;
    bottom: -1.8vw;
    width: 17.15vw;
    right: 0.6vw;
  }
  .contentscv .inner-Box figure.photo01 img {
    width: 100%;
  }

  /* contact
  -------------------------------------*/
  #contact {
  padding: 20vw 0 0;
  }
  #contact .contact-icon {
    text-align: center;
    position: relative;
    width: 5.6vw;
    margin-inline: auto;
  }
  #contact .contact-icon img {
    width: 100%;
  }
  #contact .contact-ttl {
    font-weight: 600;
    font-size:5.797vw;
    letter-spacing: 0.2em;
    line-height: 1.6666;
    text-align: center;
    position: relative;
    margin-top: 2.8vw;
    margin-bottom: 9.2vw;
  }
  #leadershipprogram #form {
    width: 94.3vw;
    margin-inline: auto;
  }


  /* contact
  -------------------------------------*/
  #contact {
    padding: 20vw 0 0;
    }
    #contact .contact-icon {
      text-align: center;
      position: relative;
      width: 5.6vw;
      margin-inline: auto;
    }
    #contact .contact-icon img {
      width: 100%;
    }
    #contact .contact-ttl {
      font-weight: 600;
      font-size:5.797vw;
      letter-spacing: 0.2em;
      line-height: 1.6666;
      text-align: center;
      position: relative;
      margin-top: 2.8vw;
      margin-bottom: 0.2vw;
    }
    #leadershipprogram #form {
      width: 94.3vw;
      margin-inline: auto;
    }
  }