:root {
    --keyColor: #014e98;
    --accentColor: #1971d4;
    --accentOrg: #db5f00;
    --logoColor: #00205b;
    --white: #fff;
    --black: #000;
    --silver: #dde2e6;
    --silverLight: #f0f3f5;
    --greyK2: #fafafa;
    --greyK3: #f7f7f7;
    --greyK5: #f2f2f2;
    --greyK10: #e5e5e5;
    --greyK20: #ccc;
    --greyK30: #b2b2b2;
    --greyK40: #999;
    --greyK50: #808080;
    --greyK60: #666;
    --greyK80: #333;
    --greyK90: #1a1a1a;
    --blue01: #144798;
    --red01: #aa1313;
    --red02: #c80e47;
    --red03: #E00404;
    --redStrong: #ff0000;
    --bgDark01: #2f394a;
    --bgLtRed01: #ffefef;
    --transition: all 0.3s ease;
    --headerH: 120px;
    --contentMaxW: 1440px;
    --contentCol12: 1360px;
    --contentCol10: 1130px;
    --contentXs2: 1050px;
    --contentCol8: 900px;
    --size4: 4px;
    --size8: 8px;
    --size12: 12px;
    --size16: 16px;
    --size24: 24px;
    --size32: 32px;
    --size40: 40px;
    --size48: 48px;
    --size64: 64px;
    --size80: 80px;
    --size166: 166px;
    --fwBold: 600;
    --fwMd: 500;
    --fwNormal: 300;
    --contentMg: 40px;
    --blockMg: 80px;
}

/*---------------------------------------------
base margin
---------------------------------------------*/
  .mg0 {
    margin: 0px !important;
  }
  .mt0 {
    margin-top: 0px !important;
  }
  .mt4 {
    margin-top: 4px !important;
  }
  .mt5 {
    margin-top: 5px !important;
  }
  .mt8 {
    margin-top: 8px !important;
  }
  .mt10 {
    margin-top: 10px !important;
  }
  .mt15 {
    margin-top: 15px !important;
  }
  .mt16 {
    margin-top: 16px !important;
  }
  .mt20 {
    margin-top: 20px !important;
  }
  .mt24 {
    margin-top: 24px !important;
  }
  .mt25 {
    margin-top: 25px !important;
  }
  .mt30 {
    margin-top: 30px !important;
  }
  .mt32 {
    margin-top: 32px !important;
  }
  .mt35 {
    margin-top: 35px !important;
  }
  .mt40 {
    margin-top: 40px !important;
  }
  .mt48 {
    margin-top: 48px !important;
  }
  .mt50 {
    margin-top: 50px !important;
  }
  .mt56 {
    margin-top: 56px !important;
  }
  .mt60 {
    margin-top: 60px !important;
  }
  .mt64 {
    margin-top: 64px !important;
  }
  .mt70 {
    margin-top: 70px !important;
  }
  .mt80 {
    margin-top: 80px !important;
  }
  .mt90 {
    margin-top: 90px !important;
  }
  .mt96 {
    margin-top: 96px !important;
  }
  .mt100 {
    margin-top: 100px !important;
  }
  
  .ml0 {
    margin-left: 0px !important;
  }
  .ml5 {
    margin-left: 5px !important;
  }
  .ml8 {
    margin-left: 8px !important;
  }
  .ml10 {
    margin-left: 10px !important;
  }
  .ml15 {
    margin-left: 15px !important;
  }
  .ml16 {
    margin-left: 16px !important;
  }
  .ml20 {
    margin-left: 20px !important;
  }
  .ml24 {
    margin-left: 24px !important;
  }
  .ml25 {
    margin-left: 25px !important;
  }
  .ml30 {
    margin-left: 30px !important;
  }
  .ml32 {
    margin-left: 32px !important;
  }
  .ml35 {
    margin-left: 35px !important;
  }
  .ml40 {
    margin-left: 40px !important;
  }
  .ml48 {
    margin-left: 48px !important;
  }
  .ml50 {
    margin-left: 50px !important;
  }
  .ml56 {
    margin-left: 56px !important;
  }
  .ml60 {
    margin-left: 60px !important;
  }
  .ml64 {
    margin-left: 64px !important;
  }
  .ml70 {
    margin-left: 70px !important;
  }
  .ml80 {
    margin-left: 80px !important;
  }
  .ml90 {
    margin-left: 90px !important;
  }
  .ml100 {
    margin-left: 100px !important;
  }
  
  .mr0 {
    margin-right: 0px !important;
  }
  .mr4 {
    margin-right: 4px !important;
  }
  .mr5 {
    margin-right: 5px !important;
  }
  .mr8 {
    margin-right: 8px !important;
  }
  .mr10 {
    margin-right: 10px !important;
  }
  .mr15 {
    margin-right: 15px !important;
  }
  .mr16 {
    margin-right: 16px !important;
  }
  .mr20 {
    margin-right: 20px !important;
  }
  .mr24 {
    margin-right: 24px !important;
  }
  .mr25 {
    margin-right: 25px !important;
  }
  .mr30 {
    margin-right: 30px !important;
  }
  .mr32 {
    margin-right: 32px !important;
  }
  .mr35 {
    margin-right: 35px !important;
  }
  .mr40 {
    margin-right: 40px !important;
  }
  .mr48 {
    margin-right: 48px !important;
  }
  .mr50 {
    margin-right: 50px !important;
  }
  .mr56 {
    margin-right: 56px !important;
  }
  .mr60 {
    margin-right: 60px !important;
  }
  .mr64 {
    margin-right: 64px !important;
  }
  .mr70 {
    margin-right: 70px !important;
  }
  .mr80 {
    margin-right: 80px !important;
  }
  .mr90 {
    margin-right: 90px !important;
  }
  .mr100 {
    margin-right: 100px !important;
  }
  
  .mb0 {
    margin-bottom: 0px !important;
  }
  .mb5 {
    margin-bottom: 5px !important;
  }
  .mb8 {
    margin-bottom: 8px !important;
  }
  .mb10 {
    margin-bottom: 10px !important;
  }
  .mb15 {
    margin-bottom: 15px !important;
  }
  .mb16 {
    margin-bottom: 16px !important;
  }
  .mb20 {
    margin-bottom: 20px !important;
  }
  .mb24 {
    margin-bottom: 24px !important;
  }
  .mb25 {
    margin-bottom: 25px !important;
  }
  .mb30 {
    margin-bottom: 30px !important;
  }
  .mb32 {
    margin-bottom: 32px !important;
  }
  .mb35 {
    margin-bottom: 35px !important;
  }
  .mb40 {
    margin-bottom: 40px !important;
  }
  .mb48 {
    margin-bottom: 48px !important;
  }
  .mb50 {
    margin-bottom: 50px !important;
  }
  .mb56 {
    margin-bottom: 56px !important;
  }
  .mb60 {
    margin-bottom: 60px !important;
  }
  .mb64 {
    margin-bottom: 64px !important;
  }
  .mb70 {
    margin-bottom: 70px !important;
  }
  .mb80 {
    margin-bottom: 80px !important;
  }
  .mb90 {
    margin-bottom: 90px !important;
  }
  .mb100 {
    margin-bottom: 100px !important;
  }
@media screen and (max-width: 768px) {
  .sp-mt0 {
    margin-top: 0px !important;
  }
  .sp-mt5 {
    margin-top: 5px !important;
  }
  .sp-mt8 {
    margin-top: 8px !important;
  }
  .sp-mt10 {
    margin-top: 10px !important;
  }
  .sp-mt15 {
    margin-top: 15px !important;
  }
  .sp-mt16 {
    margin-top: 16px !important;
  }
  .sp-mt20 {
    margin-top: 20px !important;
  }
  .sp-mt24 {
    margin-top: 24px !important;
  }
  .sp-mt25 {
    margin-top: 25px !important;
  }
  .sp-mt30 {
    margin-top: 30px !important;
  }
  .sp-mt32 {
    margin-top: 32px !important;
  }
  .sp-mt35 {
    margin-top: 35px !important;
  }
  .sp-mt40 {
    margin-top: 40px !important;
  }
  .sp-mt48 {
    margin-top: 48px !important;
  }
  .sp-mt50 {
    margin-top: 50px !important;
  }
  .sp-mt56 {
    margin-top: 56px !important;
  }
  .sp-mt60 {
    margin-top: 60px !important;
  }
  .sp-mt64 {
    margin-top: 64px !important;
  }
  .sp-mt70 {
    margin-top: 70px !important;
  }
  .sp-mt80 {
    margin-top: 80px !important;
  }
  .sp-mt90 {
    margin-top: 90px !important;
  }
  .sp-mt100 {
    margin-top: 100px !important;
  }

  .sp-ml0 {
    margin-left: 0px !important;
  }
  .sp-ml5 {
    margin-left: 5px !important;
  }
  .sp-ml8 {
    margin-left: 8px !important;
  }
  .sp-ml10 {
    margin-left: 10px !important;
  }
  .sp-ml15 {
    margin-left: 15px !important;
  }
  .sp-ml16 {
    margin-left: 16px !important;
  }
  .sp-ml20 {
    margin-left: 20px !important;
  }
  .sp-ml24 {
    margin-left: 24px !important;
  }
  .sp-ml25 {
    margin-left: 25px !important;
  }
  .sp-ml30 {
    margin-left: 30px !important;
  }
  .sp-ml32 {
    margin-left: 32px !important;
  }
  .sp-ml35 {
    margin-left: 35px !important;
  }
  .sp-ml40 {
    margin-left: 40px !important;
  }
  .sp-ml48 {
    margin-left: 48px !important;
  }
  .sp-ml50 {
    margin-left: 50px !important;
  }
  .sp-ml56 {
    margin-left: 56px !important;
  }
  .sp-ml60 {
    margin-left: 60px !important;
  }
  .sp-ml64 {
    margin-left: 64px !important;
  }
  .sp-ml70 {
    margin-left: 70px !important;
  }
  .sp-ml80 {
    margin-left: 80px !important;
  }
  .sp-ml90 {
    margin-left: 90px !important;
  }
  .sp-ml100 {
    margin-left: 100px !important;
  }

  .sp-mr0 {
    margin-right: 0px !important;
  }
  .sp-mr5 {
    margin-right: 5px !important;
  }
  .sp-mr8 {
    margin-right: 8px !important;
  }
  .sp-mr10 {
    margin-right: 10px !important;
  }
  .sp-mr15 {
    margin-right: 15px !important;
  }
  .sp-mr16 {
    margin-right: 16px !important;
  }
  .sp-mr20 {
    margin-right: 20px !important;
  }
  .sp-mr24 {
    margin-right: 24px !important;
  }
  .sp-mr25 {
    margin-right: 25px !important;
  }
  .sp-mr30 {
    margin-right: 30px !important;
  }
  .sp-mr32 {
    margin-right: 32px !important;
  }
  .sp-mr35 {
    margin-right: 35px !important;
  }
  .sp-mr40 {
    margin-right: 40px !important;
  }
  .sp-mr48 {
    margin-right: 48px !important;
  }
  .sp-mr50 {
    margin-right: 50px !important;
  }
  .sp-mr56 {
    margin-right: 56px !important;
  }
  .sp-mr60 {
    margin-right: 60px !important;
  }
  .sp-mr64 {
    margin-right: 64px !important;
  }
  .sp-mr70 {
    margin-right: 70px !important;
  }
  .sp-mr80 {
    margin-right: 80px !important;
  }
  .sp-mr90 {
    margin-right: 90px !important;
  }
  .sp-mr100 {
    margin-right: 100px !important;
  }

  .sp-mb0 {
    margin-bottom: 0px !important;
  }
  .sp-mb5 {
    margin-bottom: 5px !important;
  }
  .sp-mb8 {
    margin-bottom: 8px !important;
  }
  .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .sp-mb15 {
    margin-bottom: 15px !important;
  }
  .sp-mb16 {
    margin-bottom: 16px !important;
  }
  .sp-mb20 {
    margin-bottom: 20px !important;
  }
  .sp-mb24 {
    margin-bottom: 24px !important;
  }
  .sp-mb25 {
    margin-bottom: 25px !important;
  }
  .sp-mb30 {
    margin-bottom: 30px !important;
  }
  .sp-mb32 {
    margin-bottom: 32px !important;
  }
  .sp-mb35 {
    margin-bottom: 35px !important;
  }
  .sp-mb40 {
    margin-bottom: 40px !important;
  }
  .sp-mb48 {
    margin-bottom: 48px !important;
  }
  .sp-mb50 {
    margin-bottom: 50px !important;
  }
  .sp-mb56 {
    margin-bottom: 56px !important;
  }
  .sp-mb60 {
    margin-bottom: 60px !important;
  }
  .sp-mb64 {
    margin-bottom: 64px !important;
  }
  .sp-mb70 {
    margin-bottom: 70px !important;
  }
  .sp-mb80 {
    margin-bottom: 80px !important;
  }
  .sp-mb90 {
    margin-bottom: 90px !important;
  }
  .sp-mb100 {
    margin-bottom: 100px !important;
  }
}

.inner-xs-wrap2,
.inner-xs-wrap,
.inner-s-wrap,
.inner-wrap {
  display: block;
  margin: 0 auto;
  width: calc(100% - 80px);
  max-width: var(--contentMaxW);
}
.inner-s-wrap {
  max-width: var(--contentCol10);
}
.inner-xs-wrap2 {
  max-width: var(--contentXs2);
}
.inner-xs-wrap {
  max-width: var(--contentCol8);
}
a {
  text-decoration: none;
  color: #000;
}
a,
a img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
img {
  max-width: 100%;
  -webkit-backface-visibility: hidden;
}
sub,
sup {
  font-size: 75%;
}
.pc-only {
  display: block !important;
}
.sp-only {
  display: none !important;
}  

/*==========================================================================================================
SP Only
==========================================================================================================*/
@media screen and (max-width: 768px) {
    .lp .inner-wrap,
    .inner-xs-wrap2,
    .inner-xs-wrap,
    .inner-s-wrap,
    .inner-wrap {
      max-width: 100%;
      width: calc(100% - 32px);
    }
    .inner-s-wrap .inner-xs-wrap,
    .inner-s-wrap .inner-xs-wrap2,
    .inner-s-wrap .inner-s-wrap,
    .inner-wrap .inner-s-wrap,
    .inner-wrap .inner-xs-wrap2,
    .inner-wrap .inner-xs-wrap {
      width: 100%;
    }
    .sp-inner-w100p {
      margin-left: -16px !important;
      margin-right: -16px !important;
      width: calc(100% + 32px) !important;
    }
    .pc-only {
      display: none !important;
    }
    .sp-only {
      display: block !important;
    }  
}

/*
***************************************************************
アニメーション：fade-in-up
***************************************************************
*/
#campaign-contents .fade-in-up,
#campaign-contents .fade-in-right,
#campaign-contents .fade-in-left {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .45s ease-out, transform .45s ease-out;
    transition-delay: var(--delay, 0ms);
}

#campaign-contents .fade-in-right {
    transform: translateX(24px);
}

#campaign-contents .fade-in-left {
    transform: translateX(-24px);
}

#campaign-contents .fade-in-up.visible,
#campaign-contents .fade-in-right.visible,
#campaign-contents .fade-in-left.visible {
    opacity: 1;
    transform: translate(0, 0);
}

/* 動きを減らす設定のユーザーにはアニメを無効化 */
@media (prefers-reduced-motion: reduce) {

    #campaign-contents .fade-in-up,
    #campaign-contents .fade-in-right,
    #campaign-contents .fade-in-left {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/*
***************************************************************
ボタン
***************************************************************
*/
.btn-wrap {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.btn-wrap a:hover {
  opacity: .7;
}
.btn-wrap .col-1 {
 width: 100%;
}
.btn-wrap .col-2 {
  width: 50%;
}



