/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
/* --------------------------------------------- */
/* ▼モバイルファースト (全環境に共通のデザイン) */
/* --------------------------------------------- */
* {
  margin: 0;
  padding: 0;
}
#campaign2026_wrap {
  color: #333;
  scroll-behavior: smooth;
  text-align: center;
}
#campaign2026 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 1px;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  position: relative;
  text-align: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  overflow: hidden;
}
#campaign2026 img {
  border: 0;
  margin: auto;
}
#campaign2026 ol, #campaign2026 ul {
  list-style: none;
}
/*link*/
#campaign2026 a {
  color: #333;
  text-decoration: none;
}
#campaign2026 a:link {
  color: #333;
  text-decoration: none;
}
#campaign2026 a:visited {
  color: #333;
  text-decoration: none;
}
#campaign2026 a:hover {
  color: #FF4079;
  text-decoration: none;
}
#campaign2026 a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  padding-top: 0px;
  transition: .3s;
}
#campaign2026 img {
  border-style: none;
  z-index: 0;
  vertical-align: bottom;
  line-height: 1.0em;
  width: 100%;
  height: auto;
}
/*font*/
.m-plus_font {
  font-family: "m-plus-1c", sans-serif;
  font-weight: 700;
}
.m-plus_font.bold {
  font-weight: 900;
}
/* ボタン共通設定 */
.btn {
  position: relative;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  background: transparent;
  border-radius: 50px;
  border: solid 2px #4E2B18;
  outline: none;
  transition: all 0.2s ease;
}
.btn:hover {
  border-color: transparent;
}
/*ボタンの中のテキスト*/
.btn.reverse span {
  background: #fff;
  color: #FF4079;
}
.btn span {
  position: relative;
  z-index: 2;
  display: block;
  padding: 7px 40px 7px 30px;
  font-weight: 500;
  background: #FF4079;
  border-radius: 50px;
  color: #fff;
  transition: all 0.3s ease;
}
.btn img {
  width: 20px !important;
  display: inline-block;
  margin: 0 5px 0 0;
}
/*== 右下に押し込まれる（立体が平面に） */
.btn::before {
  content: "";
  /*絶対配置で影の位置を決める*/
  position: absolute;
  top: 4px;
  left: 4px;
  /*影の形状*/
  width: 100%;
  height: 100%;
  border-radius: 50px;
  background-color: #4E2B18;
}
/*hoverの際にX・Y軸に4pxずらす*/
.btn:hover span {
  background-color: #4E2B18;
  color: #fff;
  transform: translate(4px, 4px);
}
.btn.reverse::after {
  color: #FF4079;
}
.btn.reverse:hover::after {
  color: #fff;
}
.btn::after {
  position: absolute;
  z-index: 2;
  top: 7px;
  right: 15px;
  content: '\f0da';
  font-family: FontAwesome;
  font-weight: 400;
  color: #fff;
  transition: all 0.3s ease;
}
.btn:hover::after {
  transform: translate(4px, 4px);
}
.title img {
  width: auto !important;
  height: 45px !important;
}
.title p {
  margin: 0.4em auto 0;
  font-weight: 600;
  font-size: 15px;
  color: #4E2B18;
}
#campaign_float {
  display: none;
}
/*リンクを右下に固定*/
#campaign_float_sp {
  position: fixed;
  left: 0;
  bottom: 0px;
  z-index: 8;
  opacity: 0;
  transform: translateY(100px);
  width: 100%;
}
#campaign_float_sp img {
  width: 220px;
  margin: auto;
}
/*　上に上がる動き　*/
#campaign_float_sp.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*　下に下がる動き　*/
#campaign_float_sp.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
/* ------------------------------------ */
/* ▼PC用デザインとして付け足すデザイン */
/* ------------------------------------ */
@media all and (min-width: 768px) {
  #campaign2026 {
    font-size: 15px;
    line-height: 1.8;
  }
  .btn span {
    padding: 9px 70px 9px 65px;
  }
  .btn img {
    width: 25px !important;
  }
  .btn::after {
    top: 9px;
    right: 15px;
  }
  .title img {
    height: 80px !important;
  }
  .title p {
    margin: 0.4em auto 0;
    font-size: 25px;
    letter-spacing: 3px;
  }
  #campaign_float_sp {
    display: none;
  }
  #campaign_float a {
    position: relative;
    transition: all 0.3s;
  }
  #campaign_float:hover img {
    transform: translate(-3px, 3px);
  }
  #campaign_float::before {
    content: "";
    /*絶対配置で影の位置を決める*/
    position: absolute;
    top: 2px;
    left: -2px;
    /*影の形状*/
    width: calc(100% + 10px);
    height: 100%;
    border-radius: 15px;
    background-color: #4E2B18;
  }
  #campaign_float a:hover img {
    opacity: 1 !important;
  }
  /*リンクを右下に固定*/
  #campaign_float {
    display: block;
    position: fixed;
    right: -3px;
    top: 200px;
    width: 60px;
    z-index: 10;
    /*はじめは非表示*/
    opacity: 0;
    transform: translateX(100px);
  }
  /*　左の動き　*/
  #campaign_float.LeftMove {
    animation: LeftAnime 0.5s forwards;
  }
  @keyframes LeftAnime {
    from {
      opacity: 0;
      transform: translateX(100px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  /*　右の動き　*/
  #campaign_float.RightMove {
    animation: RightAnime 0.5s forwards;
  }
  @keyframes RightAnime {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(100px);
    }
  }
}