/* reset
---------------------------------------------------------- */
main {
  display: block;
  font-size: 62.5%;
  overflow: hidden;
  font-feature-settings: "palt"; }
  main img {
    display: block;
    width: 100%;
    height: auto; }

figure {
  display: block;
  margin: 0; }

div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0; }

picture {
  display: block; }

a {
  -webkit-tap-highlight-color: transparent; }

/* common
---------------------------------------------------------- */
.u-only_sp {
  display: none !important; }
  @media screen and (max-width: 767px) {
    .u-only_sp {
      display: block !important; } }

.u-only_pc {
  display: block !important; }
  @media screen and (max-width: 767px) {
    .u-only_pc {
      display: none !important; } }

.inview {
  opacity: 0; }
  .inview.fadeIn {
    opacity: 1;
    animation: fadeinInview 1s ease 0s forwards; }
    .inview.fadeIn .c-campaign_stella_comment_txt_liner::before,
    .inview.fadeIn .c-campaign_stella_comment_txt_liner_pc_01::before,
    .inview.fadeIn .c-campaign_stella_comment_txt_liner_sp_01::before {
      animation: liner 3s ease-in forwards; }
    .inview.fadeIn .c-campaign_stella_comment_txt_liner_pc_02::before,
    .inview.fadeIn .c-campaign_stella_comment_txt_liner_sp_02::before {
      animation: liner 3s ease-in 1.8s forwards; }
    .inview.fadeIn .c-campaign_stella_comment_txt_liner_sp_03::before {
      animation: liner 3s ease-in 3.6s forwards; }
    .inview.fadeIn .c-campaign_stella_comment_txt_point {
      animation: fadein 1s calc(0.1s * var(--index)) forwards; }

/* animation
---------------------------------------------------------- */
@keyframes liner {
  0% {
    width: 0; }
  100% {
    width: 100%; } }

@keyframes fadeinInview {
  0% {
    opacity: 0;
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes shake {
  0% {
    transform: rotate(0deg); }
  33% {
    transform: rotate(20deg); }
  66% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes swing {
  0% {
    transform: rotate(2deg); }
  100% {
    transform: rotate(-2deg); } }

/* layout
---------------------------------------------------------- */
body.menu-open .p-index_fixed {
  opacity: 0; }

main {
  padding-top: 61px;
  color: #541200;
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    main {
      padding-top: 80px; } }

.l-cont_l {
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .l-cont_l {
      max-width: 1440px; } }
  @media screen and (max-width: 767px) {
    .l-cont_l {
      width: calc(100% - 50px); } }
  @media screen and (max-width: 374px) {
    .l-cont_l {
      width: calc(100% - 30px); } }

.l-cont_m {
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .l-cont_m {
      max-width: 1400px; } }
  @media screen and (max-width: 767px) {
    .l-cont_m {
      width: calc(100% - 50px); } }
  @media screen and (max-width: 374px) {
    .l-cont_m {
      width: calc(100% - 30px); } }

@media screen and (min-width: 1440px) {
  .l-cont_campaign {
    max-width: 1000px; } }

@media screen and (min-width: 768px) {
  .l-cont_campaign {
    width: 84%;
    margin: 0 auto; } }

@media screen and (max-width: 1441px) and (min-width: 1101px) {
  .l-cont_campaign {
    width: 94%; } }

@media screen and (max-width: 1100px) and (min-width: 768px) {
  .l-cont_campaign {
    width: 92%; } }

.l-cont_s {
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .l-cont_s {
      max-width: 1400px; } }
  @media screen and (max-width: 767px) {
    .l-cont_s {
      width: calc(100% - 60px); } }

.l-cont_footer {
  width: 90%;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .l-cont_footer {
      max-width: 1000px; } }
  @media screen and (max-width: 767px) {
    .l-cont_footer {
      width: calc(100% - 34px); } }

.l-bg_red {
  background-image: url(../images/bg_red.jpg);
  background-position: left top;
  background-size: 101px auto;
  background-repeat: repeat; }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .l-bg_red {
      background-size: 64px auto; } }
  @media screen and (max-width: 767px) {
    .l-bg_red {
      background-size: 25px auto; } }

.l-bg_ylw {
  position: relative;
  top: -1px;
  z-index: 0;
  padding-bottom: 287px;
  background-image: url(../images/bg_ylw.jpg);
  background-position: left top;
  background-size: 101px auto;
  background-repeat: repeat; }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .l-bg_ylw {
      background-size: 64px auto; } }
  @media screen and (max-width: 767px) {
    .l-bg_ylw {
      padding-bottom: 63px;
      background-size: 25px auto; } }
  .l-bg_ylw::before, .l-bg_ylw::after {
    position: absolute;
    z-index: -1;
    height: 100%;
    background-size: 100% auto;
    background-position: left top;
    background-repeat: repeat-y;
    content: ""; }
  .l-bg_ylw::before {
    top: 0;
    left: 20px;
    width: 304px;
    background-image: url(../images/bg_side_confetti01.png); }
    @media screen and (max-width: 767px) {
      .l-bg_ylw::before {
        left: 11px;
        width: 52px; } }
  .l-bg_ylw::after {
    top: 90px;
    right: 50px;
    width: 310px;
    background-image: url(../images/bg_side_confetti02.png); }
    @media screen and (max-width: 767px) {
      .l-bg_ylw::after {
        top: 17px;
        right: 5px;
        width: 62px; } }
  .l-bg_ylw_cont {
    position: relative;
    z-index: 0; }
    .l-bg_ylw_cont::before, .l-bg_ylw_cont::after {
      position: absolute;
      z-index: -1;
      top: 240px;
      height: 100%;
      background-size: 100% auto;
      background-position: left top;
      background-repeat: repeat-y;
      content: ""; }
      @media screen and (max-width: 767px) {
        .l-bg_ylw_cont::before, .l-bg_ylw_cont::after {
          top: 110px; } }
    .l-bg_ylw_cont::before {
      left: -40px;
      width: 298px;
      background-image: url(../images/bg_cookie_side01.webp); }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .l-bg_ylw_cont::before {
          width: 164px; } }
      @media screen and (max-width: 767px) {
        .l-bg_ylw_cont::before {
          left: -15px;
          width: 57px; } }
    .l-bg_ylw_cont::after {
      right: -40px;
      width: 294px;
      background-image: url(../images/bg_cookie_side02.webp); }
      @media screen and (max-width: 767px) {
        .l-bg_ylw_cont::after {
          right: -15px;
          width: 56px; } }

.l-bg_round {
  position: relative;
  z-index: 0;
  margin-top: 202px;
  padding: 90px 95px 100px;
  border: 3px solid #541200;
  border-radius: 40px;
  box-shadow: 6px 6px 0 #541200; }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .l-bg_round {
      padding: 45px 47px 50px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .l-bg_round {
      padding: 20px; } }
  @media screen and (max-width: 767px) {
    .l-bg_round {
      margin-top: 52px;
      padding: 22px 17px 25px;
      border: 1px solid #541200;
      border-radius: 9px;
      box-shadow: 2px 2px 0 #541200; } }
  .l-bg_round.-shop {
    background-color: #ffe8e4; }
  .l-bg_round.-sns {
    background-color: #fff0d7; }
  .l-bg_round:first-of-type {
    margin-top: 0; }

/* component
---------------------------------------------------------- */
.c-ttl_bg {
  line-height: 1;
  margin-bottom: 24px;
  padding: 10px 0.2em 10px 0;
  border-radius: 40px;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-size: 38px;
  letter-spacing: 0.15em;
  text-align: center; }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .c-ttl_bg {
      font-size: 28px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .c-ttl_bg {
      font-size: 22px; } }
  @media screen and (max-width: 767px) {
    .c-ttl_bg {
      margin-bottom: 10px;
      padding: 3px 0;
      font-size: 15px; } }
  .c-ttl_bg.-shop {
    background-color: #d93904; }
  .c-ttl_bg.-sns {
    background-color: #541200; }
  @media screen and (max-width: 767px) {
    .c-ttl_bg.-sp {
      line-height: 1.13;
      padding: 8px 0;
      border-radius: 10px; } }

.c-txt_red {
  color: #d73238; }

.c-txt_bold {
  font-weight: 700; }

.c-balloon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 0;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 45px;
  border-width: 6px;
  border-style: solid;
  border-radius: 40px;
  background-color: #fff; }
  @media screen and (max-width: 767px) {
    .c-balloon {
      padding-top: 8px;
      padding-bottom: 6px;
      padding-left: 9px;
      border-width: 1px;
      border-radius: 9px; } }
  .c-balloon::before, .c-balloon::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    content: ""; }
    @media screen and (max-width: 767px) {
      .c-balloon::before, .c-balloon::after {
        border: 7px solid transparent; } }
  .c-balloon::before {
    z-index: 0;
    bottom: -46px;
    border: 26px solid transparent;
    border-top: 22px solid #fff; }
    @media screen and (max-width: 767px) {
      .c-balloon::before {
        bottom: -12px;
        border: 7px solid transparent;
        border-top: 6px solid #fff; } }
  .c-balloon::after {
    z-index: -1;
    bottom: -65px;
    border: 34px solid transparent; }
    @media screen and (max-width: 767px) {
      .c-balloon::after {
        bottom: -14px;
        border: 7px solid transparent; } }
  .c-balloon_ico {
    position: relative;
    z-index: 0;
    width: 179px;
    height: 179px;
    border-radius: 50%; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-balloon_ico {
        width: 159px;
        height: 159px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-balloon_ico {
        width: 120px;
        height: 120px; } }
    @media screen and (max-width: 767px) {
      .c-balloon_ico {
        width: 42px;
        height: 42px; } }
    .c-balloon_ico img {
      position: absolute;
      z-index: 0;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .c-balloon_cont {
    width: calc(100% - 210px);
    font-family: "Zen Maru Gothic", serif; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-balloon_cont {
        width: calc(100% - 180px); } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-balloon_cont {
        width: calc(100% - 140px); } }
    @media screen and (max-width: 767px) {
      .c-balloon_cont {
        width: calc(100% - 50px); } }
  .c-balloon_ttl {
    line-height: 1;
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-weight: 700;
    font-size: 40px; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-balloon_ttl {
        font-size: 30px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-balloon_ttl {
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .c-balloon_ttl {
        margin-bottom: 7px;
        padding-bottom: 7px;
        font-size: 15px;
        letter-spacing: -0.05em; } }
  .c-balloon_txt {
    line-height: 1.16;
    font-weight: 900;
    font-size: 40px; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-balloon_txt {
        font-size: 30px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-balloon_txt {
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .c-balloon_txt {
        line-height: 1.4;
        font-size: 3.4vw;
        letter-spacing: -0.01vw; } }
    .c-balloon_txt_min {
      display: block;
      font-size: 32px;
      letter-spacing: -0.05em; }
      @media screen and (min-width: 768px) {
        .c-balloon_txt_min {
          margin-bottom: 5px; } }
      @media screen and (max-width: 767px) {
        .c-balloon_txt_min {
          font-size: 13px;
          letter-spacing: -0.2em; } }
    .c-balloon_txt_vscale_x1 {
      font-weight: 900;
      font-size: 30px;
      letter-spacing: 0;
      line-height: 1.4; }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-balloon_txt_vscale_x1 {
          font-size: 20px; } }
      @media screen and (max-width: 767px) {
        .c-balloon_txt_vscale_x1 {
          font-size: 3.4vw;
          letter-spacing: -0.4vw;
          line-height: 1.4; } }
    .c-balloon_txt_x {
      line-height: 1.16;
      font-weight: 900;
      font-size: 52px;
      letter-spacing: -0.05em; }
      @media screen and (max-width: 1640px) and (min-width: 1441px) {
        .c-balloon_txt_x {
          font-size: 42px; } }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-balloon_txt_x {
          font-size: 36px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-balloon_txt_x {
          font-size: 26px; } }
      @media screen and (max-width: 767px) {
        .c-balloon_txt_x {
          line-height: 1.4;
          font-size: 3.4vw;
          letter-spacing: -0.01vw; } }
    .c-balloon_txt_insta {
      line-height: 1.16;
      font-weight: 900;
      font-size: 48px;
      letter-spacing: -0.05em; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-balloon_txt_insta {
          font-size: 38px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-balloon_txt_insta {
          font-size: 28px; } }
      @media screen and (max-width: 767px) {
        .c-balloon_txt_insta {
          line-height: 1.4;
          font-size: 3.4vw;
          letter-spacing: -0.01vw; } }
  .c-balloon_side {
    position: absolute;
    z-index: 0; }
  .c-balloon.-shop {
    border-color: #dc4a19; }
    .c-balloon.-shop::after {
      border-top: 31px solid #dc4a19; }
      @media screen and (max-width: 767px) {
        .c-balloon.-shop::after {
          border-top: 7px solid #dc4a19; } }
    .c-balloon.-shop .c-balloon_ico {
      background-color: #dc4a19; }
      .c-balloon.-shop .c-balloon_ico img {
        width: 102px; }
        @media screen and (max-width: 767px) {
          .c-balloon.-shop .c-balloon_ico img {
            width: 24px; } }
    .c-balloon.-shop .c-balloon_ttl {
      border-bottom: 4px dotted #dc4a19;
      color: #dc4a19; }
      @media screen and (max-width: 767px) {
        .c-balloon.-shop .c-balloon_ttl {
          border-bottom: 1.5px dotted #dc4a19; } }
  .c-balloon.-sns {
    border-color: #541200; }
    .c-balloon.-sns::after {
      border-top: 31px solid #541200; }
      @media screen and (max-width: 767px) {
        .c-balloon.-sns::after {
          border-top: 7px solid #541200; } }
    .c-balloon.-sns .c-balloon_ico {
      background-color: #541200; }
      .c-balloon.-sns .c-balloon_ico.-sns01 img {
        width: 87px; }
        @media screen and (max-width: 1440px) and (min-width: 1101px) {
          .c-balloon.-sns .c-balloon_ico.-sns01 img {
            width: 77px; } }
        @media screen and (max-width: 1100px) and (min-width: 768px) {
          .c-balloon.-sns .c-balloon_ico.-sns01 img {
            width: 57px; } }
        @media screen and (max-width: 767px) {
          .c-balloon.-sns .c-balloon_ico.-sns01 img {
            width: 20px; } }
      .c-balloon.-sns .c-balloon_ico.-sns02 img {
        width: 88px; }
        @media screen and (max-width: 1440px) and (min-width: 1101px) {
          .c-balloon.-sns .c-balloon_ico.-sns02 img {
            width: 78px; } }
        @media screen and (max-width: 1100px) and (min-width: 768px) {
          .c-balloon.-sns .c-balloon_ico.-sns02 img {
            width: 58px; } }
        @media screen and (max-width: 767px) {
          .c-balloon.-sns .c-balloon_ico.-sns02 img {
            width: 20px; } }
    .c-balloon.-sns .c-balloon_ttl {
      border-bottom: 4px dotted #541200;
      color: #541200; }
      @media screen and (max-width: 767px) {
        .c-balloon.-sns .c-balloon_ttl {
          border-bottom: 1.5px dotted #541200; } }

.c-campaign_head {
  padding-bottom: 68px; }
  @media screen and (max-width: 767px) {
    .c-campaign_head {
      padding-bottom: 24px; } }

.c-campaign_inner {
  padding-bottom: 97px; }
  @media screen and (max-width: 767px) {
    .c-campaign_inner {
      padding-bottom: 32px; } }
  .c-campaign_inner:last-of-type {
    padding-bottom: 0; }

.c-campaign_ttl {
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 70px; }
  @media screen and (max-width: 767px) {
    .c-campaign_ttl {
      margin-bottom: 18px; } }

.c-campaign_period {
  display: flex;
  border-radius: 40px;
  border-width: 3px;
  border-style: solid;
  font-weight: 700; }
  @media screen and (max-width: 767px) {
    .c-campaign_period {
      border-width: 1.5px;
      border-radius: 10px; } }
  .c-campaign_period dt {
    line-height: 1;
    border-radius: 24px 0 0 24px;
    color: #fff;
    font-family: "Zen Maru Gothic", serif;
    font-size: 48px;
    text-align: center; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_period dt {
        font-size: 38px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_period dt {
        font-size: 28px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_period dt {
        border-radius: 6px 0 0 6px;
        font-size: 13px; } }
  .c-campaign_period dd {
    background-color: #fff;
    border-radius: 0 32px 32px 0;
    font-size: 26px; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_period dd {
        font-size: 23px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_period dd {
        padding: 4px 0 0;
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_period dd {
        padding: 0 0 2px;
        border-radius: 0 8px 8px 0;
        font-size: 10px; } }
  .c-campaign_period.-shop {
    border-color: #d93904; }
    .c-campaign_period.-shop dt {
      background-color: #d93904; }
  .c-campaign_period.-sns {
    border-color: #541200; }
    .c-campaign_period.-sns dt {
      background-color: #541200; }
  .c-campaign_period.-type01 dt {
    width: 168px;
    letter-spacing: 0.5em;
    padding: 2px 0 0 0.7em; }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .c-campaign_period.-type01 dt {
        width: 160px; } }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_period.-type01 dt {
        padding: 3px 0 0 0.5em; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_period.-type01 dt {
        padding: 7px 0 0 0.5em; } }
    @media screen and (max-width: 767px) {
      .c-campaign_period.-type01 dt {
        width: 51px; } }
  .c-campaign_period.-type01 dd {
    width: calc(100% - 168px); }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .c-campaign_period.-type01 dd {
        width: calc(100% - 160px); } }
    @media screen and (max-width: 767px) {
      .c-campaign_period.-type01 dd {
        width: calc(100% - 51px); } }
  .c-campaign_period.-type02 dt {
    width: 270px;
    padding: 2px 0 0 0.3em;
    letter-spacing: 0.15em; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_period.-type02 dt {
        padding: 4px 0 0 0.15em; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_period.-type02 dt {
        padding: 7px 0 0 0.15em; } }
    @media screen and (max-width: 767px) {
      .c-campaign_period.-type02 dt {
        width: 70px; } }
  .c-campaign_period.-type02 dd {
    width: calc(100% - 270px); }
    @media screen and (max-width: 767px) {
      .c-campaign_period.-type02 dd {
        width: calc(100% - 70px); } }
  .c-campaign_period.-type03 dt {
    width: 462px;
    padding: 2px 0 0 0; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_period.-type03 dt {
        padding: 4px 0 0 0; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_period.-type03 dt {
        width: 310px;
        padding: 8px 0 0 0; } }
    @media screen and (max-width: 767px) {
      .c-campaign_period.-type03 dt {
        width: 126px; } }
  .c-campaign_period.-type03 dd {
    width: calc(100% - 462px); }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_period.-type03 dd {
        width: calc(100% - 310px); } }
    @media screen and (max-width: 767px) {
      .c-campaign_period.-type03 dd {
        width: calc(100% - 126px); } }
  .c-campaign_period_date {
    display: flex;
    align-items: center;
    justify-content: center; }
    .c-campaign_period_date li {
      position: relative;
      z-index: 0;
      line-height: 1;
      padding-right: 37px;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 700;
      font-size: 40px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-campaign_period_date li {
          font-size: 30px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_period_date li {
          font-size: 20px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_period_date li {
          padding-right: 12px;
          font-size: 8px; } }
      .c-campaign_period_date li:last-of-type {
        padding-right: 0; }
        .c-campaign_period_date li:last-of-type::before {
          display: none; }
      .c-campaign_period_date li::before {
        position: absolute;
        z-index: 0;
        top: 50%;
        right: -1px;
        border: 12px solid transparent;
        border-left: 12px solid #541200;
        transform: translateY(-50%);
        content: ""; }
        @media screen and (max-width: 767px) {
          .c-campaign_period_date li::before {
            top: 55%;
            right: -3px;
            border: 6px solid transparent;
            border-left: 6px solid #541200; } }
    .c-campaign_period_date_num {
      line-height: 1;
      font-size: 50px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-campaign_period_date_num {
          font-size: 40px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_period_date_num {
          font-size: 34px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_period_date_num {
          font-size: 17px; } }
    .c-campaign_period_date_day {
      display: inline-block;
      vertical-align: middle;
      line-height: 1;
      padding: 3px 5px 6px;
      background-color: #541200;
      color: #fff;
      border-radius: 50%;
      font-size: 26px; }
      @media screen and (min-width: 768px) {
        .c-campaign_period_date_day {
          margin-bottom: 10px; } }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-campaign_period_date_day {
          margin-bottom: 7px;
          font-size: 20px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_period_date_day {
          margin-bottom: 8px;
          font-size: 16px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_period_date_day {
          margin-top: -9px;
          margin-left: 1px;
          padding: 2px;
          font-size: 9px; } }
    .c-campaign_period_date_comment {
      font-weight: 400;
      font-size: 20px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-campaign_period_date_comment {
          font-size: 18px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_period_date_comment {
          font-size: 12px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_period_date_comment {
          font-size: 7px;
          /* letter-spacing: -0.05em; */ } }

.c-campaign_txt {
  line-height: 1.47;
  margin-top: 40px;
  font-size: 33px;
  /* letter-spacing: -0.05em; */ }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .c-campaign_txt {
      font-size: 26px; } }
  @media screen and (max-width: 767px) {
    .c-campaign_txt {
      line-height: 1.46;
      margin-top: 12px;
      font-size: 11px;
      /* letter-spacing: -0.08em; */ } }

.c-campaign_link {
  margin-top: 20px; }
  @media screen and (max-width: 767px) {
    .c-campaign_link {
      margin-top: 15px; } }
  .c-campaign_link_txt {
    text-align: center; }
    .c-campaign_link_txt_cont {
      display: inline-block;
      position: relative;
      z-index: 0;
      line-height: 1;
      padding: 0 1.2em;
      font-weight: 700;
      font-size: 20px; }
      @media screen and (max-width: 767px) {
        .c-campaign_link_txt_cont {
          font-size: 9px;
          /* letter-spacing: -0.05em; */ } }
      .c-campaign_link_txt_cont::before, .c-campaign_link_txt_cont::after {
        position: absolute;
        z-index: 0;
        bottom: 8px;
        width: 1em;
        height: 2px;
        background-color: #541200;
        content: ""; }
        @media screen and (max-width: 767px) {
          .c-campaign_link_txt_cont::before, .c-campaign_link_txt_cont::after {
            bottom: 3px;
            height: 1px; } }
      .c-campaign_link_txt_cont::before {
        left: 0;
        transform: rotate(45deg); }
      .c-campaign_link_txt_cont::after {
        right: 0;
        transform: rotate(-45deg); }
  .c-campaign_link .c-btn_border {
    margin: 20px auto 0; }
    @media screen and (max-width: 767px) {
      .c-campaign_link .c-btn_border {
        margin: 5px auto 0; } }

.c-campaign_stella {
  margin-top: 66px; }
  @media screen and (max-width: 767px) {
    .c-campaign_stella {
      margin-top: 30px; } }
  .c-campaign_stella_img {
    margin: 0 auto; }
    .c-campaign_stella_img.-img01 {
      width: 502px; }
      @media screen and (max-width: 767px) {
        .c-campaign_stella_img.-img01 {
          width: 80%; } }
    .c-campaign_stella_img.-img02 {
      width: 500px; }
      @media screen and (max-width: 767px) {
        .c-campaign_stella_img.-img02 {
          width: 80%; } }
  .c-campaign_stella_comment {
    position: relative;
    z-index: 0;
    padding: 10px 10px 10px 95px;
    border-radius: 40px;
    border: 2px solid #541200;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .c-campaign_stella_comment {
        padding: 10px 0 10px 25px;
        border-radius: 10px; } }
    .c-campaign_stella_comment_ico {
      position: absolute;
      z-index: 0;
      top: -24px;
      left: 8px;
      width: 84px;
      animation: shake 1.0s linear 1s infinite normal both; }
      @media screen and (max-width: 767px) {
        .c-campaign_stella_comment_ico {
          top: -13px;
          left: -4px;
          width: 33px; } }
    .c-campaign_stella_comment_txt {
      font-weight: 700;
      font-size: 24px;
      /* letter-spacing: -0.025em; */ }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-campaign_stella_comment_txt {
          font-size: 18px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_stella_comment_txt {
          font-size: 14px; } }
      @media screen and (min-width: 768px) {
        .c-campaign_stella_comment_txt.-grid {
          display: flex; }
          .c-campaign_stella_comment_txt.-grid .c-campaign_stella_comment_txt_head {
            width: 282px; }
          .c-campaign_stella_comment_txt.-grid .c-campaign_stella_comment_txt_side {
            width: calc(100% - 282px); } }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-campaign_stella_comment_txt.-grid .c-campaign_stella_comment_txt_head {
          width: 216px; }
        .c-campaign_stella_comment_txt.-grid .c-campaign_stella_comment_txt_side {
          width: calc(100% - 216px); } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_stella_comment_txt.-grid .c-campaign_stella_comment_txt_head {
          width: 170px; }
        .c-campaign_stella_comment_txt.-grid .c-campaign_stella_comment_txt_side {
          width: calc(100% - 200px); } }
      @media screen and (max-width: 767px) {
        .c-campaign_stella_comment_txt {
          font-size: 9.5px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_stella_comment_txt_head {
          display: block; } }
      .c-campaign_stella_comment_txt em {
        font-style: normal; }
      .c-campaign_stella_comment_txt_liner, .c-campaign_stella_comment_txt_liner_pc_01, .c-campaign_stella_comment_txt_liner_pc_02, .c-campaign_stella_comment_txt_liner_sp_01, .c-campaign_stella_comment_txt_liner_sp_02, .c-campaign_stella_comment_txt_liner_sp_03 {
        position: relative;
        z-index: 0;
        background-color: transparent;
        color: #541200;
        font-weight: 500; }
        .c-campaign_stella_comment_txt_liner::before, .c-campaign_stella_comment_txt_liner_pc_01::before, .c-campaign_stella_comment_txt_liner_pc_02::before, .c-campaign_stella_comment_txt_liner_sp_01::before, .c-campaign_stella_comment_txt_liner_sp_02::before, .c-campaign_stella_comment_txt_liner_sp_03::before {
          position: absolute;
          z-index: -1;
          bottom: 0;
          left: 0;
          width: 0;
          height: 10px;
          background-color: #ffdd43;
          content: ""; }
          @media screen and (max-width: 767px) {
            .c-campaign_stella_comment_txt_liner::before, .c-campaign_stella_comment_txt_liner_pc_01::before, .c-campaign_stella_comment_txt_liner_pc_02::before, .c-campaign_stella_comment_txt_liner_sp_01::before, .c-campaign_stella_comment_txt_liner_sp_02::before, .c-campaign_stella_comment_txt_liner_sp_03::before {
              height: 5px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_stella_comment_txt_liner_pc_01, .c-campaign_stella_comment_txt_liner_pc_02 {
          display: none; } }
      @media screen and (min-width: 768px) {
        .c-campaign_stella_comment_txt_liner_sp_01, .c-campaign_stella_comment_txt_liner_sp_02, .c-campaign_stella_comment_txt_liner_sp_03 {
          display: none; } }
      .c-campaign_stella_comment_txt_point {
        opacity: 0; }

.c-campaign_sono {
  margin: 35px 0 47px;
  padding-bottom: 20px; }
  @media screen and (max-width: 767px) {
    .c-campaign_sono {
      margin: 5px 0 12px;
      padding-bottom: 8px; } }
  .c-campaign_sono::before {
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: url(../images/liner_dotted.png) left top/contain repeat-x;
    content: ""; }
    @media screen and (max-width: 767px) {
      .c-campaign_sono::before {
        height: 3px; } }
  .c-campaign_sono li {
    position: relative;
    z-index: 0;
    line-height: 1.47;
    margin-top: 15px;
    padding: 10px 0 10px 135px;
    font-size: 34px; }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .c-campaign_sono li {
        font-size: 24px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_sono li {
        line-height: 1.3;
        margin-top: 10px;
        padding: 5px 0 5px 37px;
        font-size: 12px;
        /* letter-spacing: -0.1em; */ } }
    .c-campaign_sono li:nth-child(1) {
      margin-top: 0; }
      .c-campaign_sono li:nth-child(1)::before {
        background-image: url(../images/ico_balloon_red01.svg); }
    .c-campaign_sono li:nth-child(2)::before {
      background-image: url(../images/ico_balloon_red02.svg); }
    .c-campaign_sono li::before {
      position: absolute;
      z-index: 0;
      top: 10px;
      left: 0;
      width: 122px;
      height: 83px;
      background-position: left top;
      background-size: contain;
      background-repeat: no-repeat;
      content: ""; }
      @media screen and (max-width: 767px) {
        .c-campaign_sono li::before {
          top: 5px;
          width: 37px;
          height: 23px; } }
    .c-campaign_sono li .c-txt_red {
      display: block;
      font-size: 42px; }
      @media screen and (max-width: 1440px) and (min-width: 768px) {
        .c-campaign_sono li .c-txt_red {
          font-size: 32px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_sono li .c-txt_red {
          font-size: 12px; } }

.c-campaign_contest.-sono02 {
  margin-top: 94px;
  padding: 96px 0 74px;
  border-radius: 20px;
  background-color: #fff; }
  @media screen and (max-width: 767px) {
    .c-campaign_contest.-sono02 {
      margin-top: 35px;
      padding: 18px 12px 25px;
      border-radius: 12px; } }

.c-campaign_contest_ttl_sono01 {
  position: relative;
  z-index: 0;
  line-height: 1.33;
  padding-top: 76px;
  font-weight: 700;
  font-size: 55px;
  text-align: center; }
  @media screen and (max-width: 1640px) and (min-width: 1441px) {
    .c-campaign_contest_ttl_sono01 {
      font-size: 45px; } }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .c-campaign_contest_ttl_sono01 {
      font-size: 35px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .c-campaign_contest_ttl_sono01 {
      font-size: 25px; } }
  @media screen and (max-width: 767px) {
    .c-campaign_contest_ttl_sono01 {
      line-height: 1.42;
      padding-top: 20px;
      font-size: 13px;
      /* letter-spacing: -0.08em; */ } }
  .c-campaign_contest_ttl_sono01::before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 156px;
    width: 163px;
    height: 111px;
    background: url(../images/ico_balloon_red01.svg) left top/contain no-repeat;
    content: ""; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_contest_ttl_sono01::before {
        left: 100px;
        width: 138px;
        height: 94px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_contest_ttl_sono01::before {
        left: 136px;
        width: 127px;
        height: 88px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_contest_ttl_sono01::before {
        left: 30px;
        width: 45px;
        height: 30px; } }

.c-campaign_contest_ttl_sono02 {
  width: 69%;
  margin: 0 auto 0 146px; }
  @media screen and (min-width: 768px) {
    .c-campaign_contest_ttl_sono02 {
      max-width: 824px; } }
  @media screen and (max-width: 767px) {
    .c-campaign_contest_ttl_sono02 {
      width: 100%;
      margin: 0 auto; } }

@media screen and (min-width: 768px) {
  .c-campaign_contest_win {
    display: flex;
    align-items: flex-start;
    justify-content: space-between; } }

.c-campaign_contest_win .c-list_midpoint li {
  line-height: 1.2;
  margin-top: 30px;
  font-size: 34px; }
  @media screen and (max-width: 767px) {
    .c-campaign_contest_win .c-list_midpoint li {
      margin-top: 12px;
      font-size: 14px;
      /* letter-spacing: -0.05em; */ } }
  .c-campaign_contest_win .c-list_midpoint li:first-of-type {
    margin-top: 0; }

.c-campaign_contest_win_min {
  font-size: 24px;
  /*
        @media screen and (min-width: 768px) {
          letter-spacing: -0.025em;
        }
        */ }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .c-campaign_contest_win_min {
      font-size: 20px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .c-campaign_contest_win_min {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .c-campaign_contest_win_min {
      font-size: 11px; } }

.c-campaign_contest_win_img {
  width: 291px;
  margin: -12px 0 0 0; }
  @media screen and (max-width: 767px) {
    .c-campaign_contest_win_img {
      width: 75%;
      margin: 12px auto 0; } }

.c-campaign_contest_txt_sono02 {
  line-height: 1.34;
  margin-top: 70px;
  font-weight: 700;
  font-size: 55px;
  text-align: center; }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .c-campaign_contest_txt_sono02 {
      font-size: 45px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .c-campaign_contest_txt_sono02 {
      font-size: 35px; } }
  @media screen and (max-width: 767px) {
    .c-campaign_contest_txt_sono02 {
      line-height: 1.35;
      margin-top: 20px;
      font-size: 15px;
      letter-spacing: -0.01vw; } }
  .c-campaign_contest_txt_sono02_min {
    line-height: 1.47;
    margin-top: 23px;
    font-size: 34px;
    /* letter-spacing: -0.05em; */
    text-align: center; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_contest_txt_sono02_min {
        font-size: 24px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_contest_txt_sono02_min {
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_contest_txt_sono02_min {
        line-height: 1.45;
        margin-top: 15px;
        font-size: 11px; } }

.c-campaign_contest_puzzle {
  width: 77%;
  margin: 20px auto 0; }
  @media screen and (min-width: 768px) {
    .c-campaign_contest_puzzle {
      max-width: 926px; } }
  @media screen and (max-width: 767px) {
    .c-campaign_contest_puzzle {
      width: 80%;
      margin: 15px auto 0; } }

.c-campaign_sns {
  margin-bottom: 35px; }
  @media screen and (min-width: 768px) {
    .c-campaign_sns {
      display: flex;
      align-items: flex-start;
      justify-content: center; } }
  @media screen and (max-width: 767px) {
    .c-campaign_sns {
      margin-bottom: 15px; } }
  .c-campaign_sns.-bg01 .c-campaign_sns_head, .c-campaign_sns.-bg03 .c-campaign_sns_head {
    background-color: #fff; }
  .c-campaign_sns.-bg02 .c-campaign_sns_head {
    background-color: #fff6e1; }
  .c-campaign_sns.-bg01 li:nth-child(1) .c-campaign_sns_head_img, .c-campaign_sns.-bg02 li:nth-child(1) .c-campaign_sns_head_img {
    top: 55%;
    left: 55%; }
  .c-campaign_sns.-bg01 li .c-campaign_sns_head_img, .c-campaign_sns.-bg02 li .c-campaign_sns_head_img {
    width: 392px; }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .c-campaign_sns.-bg01 li .c-campaign_sns_head_img, .c-campaign_sns.-bg02 li .c-campaign_sns_head_img {
        width: 292px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_sns.-bg01 li .c-campaign_sns_head_img, .c-campaign_sns.-bg02 li .c-campaign_sns_head_img {
        width: 187px; } }
  .c-campaign_sns.-bg03 li:nth-child(1) .c-campaign_sns_head_img {
    top: 50%;
    left: 50%; }
  .c-campaign_sns.-bg03 li .c-campaign_sns_head_img {
    width: 390px; }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .c-campaign_sns.-bg03 li .c-campaign_sns_head_img {
        width: 290px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_sns.-bg03 li .c-campaign_sns_head_img {
        width: 186px; } }
  .c-campaign_sns li {
    position: relative;
    z-index: 0; }
    @media screen and (min-width: 768px) {
      .c-campaign_sns li {
        padding-right: 145px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_sns li {
        padding-right: 90px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_sns li {
        padding-bottom: 60px; } }
    @media screen and (min-width: 768px) {
      .c-campaign_sns li:nth-child(2) {
        padding-right: 0; } }
    @media screen and (max-width: 767px) {
      .c-campaign_sns li:nth-child(2) {
        padding-bottom: 0; } }
    .c-campaign_sns li:nth-child(2)::before {
      display: none; }
    .c-campaign_sns li:nth-child(2) .c-campaign_sns_head_img {
      top: 50%;
      left: 50%; }
    .c-campaign_sns li::before {
      position: absolute;
      z-index: 0;
      border: 55px solid transparent;
      content: ""; }
      @media screen and (min-width: 768px) {
        .c-campaign_sns li::before {
          top: 37%;
          right: -13px;
          border-left: 55px solid #541200;
          transform: translateY(-50%); } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_sns li::before {
          border: 40px solid transparent;
          border-left: 40px solid #541200; } }
      @media screen and (max-width: 767px) {
        .c-campaign_sns li::before {
          bottom: -8px;
          left: 50%;
          border: 25px solid transparent;
          border-top: 25px solid #541200;
          transform: translateX(-50%); } }
  .c-campaign_sns_head {
    position: relative;
    z-index: 0;
    width: 428px;
    height: 428px;
    border-radius: 50%; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_sns_head {
        width: 328px;
        height: 328px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_sns_head {
        width: 290px;
        height: 290px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_sns_head {
        width: 211px;
        height: 211px;
        margin: 0 auto; } }
    .c-campaign_sns_head_num {
      position: absolute;
      z-index: 0;
      top: 12px;
      left: 11px;
      width: 75px;
      height: 67px;
      line-height: 1;
      padding-top: 8px;
      border-radius: 50%;
      background-color: #541200;
      color: #fff;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 700;
      font-size: 51px;
      text-align: center; }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_sns_head_num {
          width: 52px;
          height: 47px;
          font-size: 34px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_sns_head_num {
          top: 6px;
          left: 5px;
          width: 37px;
          height: 33px;
          padding-top: 4px;
          font-size: 25px; } }
    .c-campaign_sns_head_img {
      position: absolute;
      z-index: 0;
      transform: translate(-50%, -50%); }
    .c-campaign_sns_head_balloon {
      position: absolute;
      z-index: 0;
      top: 28px;
      right: 0;
      width: 128px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .c-campaign_sns_head_balloon {
          top: 2px;
          right: -4px;
          width: 110px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_sns_head_balloon {
          top: 2px;
          right: -4px;
          width: 85px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_sns_head_balloon {
          top: -17px;
          right: -15px;
          width: 79px; } }
  .c-campaign_sns_txt {
    line-height: 1.42;
    margin-top: 30px;
    font-size: 24px;
    text-align: center;
    /*
      @media screen and (min-width: 768px) {
        letter-spacing: -0.025em;
      }
      */ }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-campaign_sns_txt {
        font-size: 20px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_sns_txt {
        font-size: 16px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_sns_txt {
        margin-top: 13px;
        font-size: 12px; } }
  .c-campaign_sns_last {
    padding-top: 70px; }
    @media screen and (max-width: 767px) {
      .c-campaign_sns_last {
        padding-top: 28px; } }
    .c-campaign_sns_last_ttl {
      margin-bottom: 18px;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 700;
      font-size: 40px; }
      @media screen and (min-width: 768px) {
        .c-campaign_sns_last_ttl {
          margin-left: 9px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_sns_last_ttl {
          margin-bottom: 12px;
          font-size: 16px;
          text-align: center; } }
      .c-campaign_sns_last_ttl_num {
        display: inline-block;
        width: 75px;
        height: 67px;
        line-height: 1;
        margin-right: 23px;
        padding-top: 8px;
        border-radius: 50%;
        background-color: #541200;
        color: #fff;
        font-weight: 700;
        font-size: 51px;
        text-align: center; }
        @media screen and (max-width: 767px) {
          .c-campaign_sns_last_ttl_num {
            width: 37px;
            height: 30px;
            margin-right: 9px;
            padding: 3px 0;
            font-size: 25px; } }
    .c-campaign_sns_last_list {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      padding: 40px 0 50px;
      border-radius: 50px;
      background-color: #fff; }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .c-campaign_sns_last_list {
          padding: 40px 20px 50px; } }
      @media screen and (max-width: 767px) {
        .c-campaign_sns_last_list {
          padding: 32px 10px 30px;
          border-radius: 14px; } }
      .c-campaign_sns_last_list li {
        width: 22%;
        text-align: center; }
        @media screen and (min-width: 1101px) {
          .c-campaign_sns_last_list li:nth-child(1) {
            margin-left: 3%; }
          .c-campaign_sns_last_list li:nth-child(3) {
            width: 23%;
            margin-right: 0; } }
        .c-campaign_sns_last_list li:nth-child(4) {
          position: relative;
          z-index: 0; }
          @media screen and (min-width: 1101px) {
            .c-campaign_sns_last_list li:nth-child(4) {
              width: 27%; } }
        @media screen and (max-width: 1100px) {
          .c-campaign_sns_last_list li {
            width: 50%;
            margin-top: 30px; }
            .c-campaign_sns_last_list li:nth-child(-n+2) {
              margin-top: 0; } }
      .c-campaign_sns_last_list_ttl {
        line-height: 1;
        margin-bottom: 19px;
        font-family: "Zen Maru Gothic", serif;
        font-weight: 900;
        font-size: 30px; }
        @media screen and (max-width: 767px) {
          .c-campaign_sns_last_list_ttl {
            margin-bottom: 10px;
            font-size: 16px; } }
      .c-campaign_sns_last_list_img {
        margin: 0 auto 34px; }
        @media screen and (max-width: 767px) {
          .c-campaign_sns_last_list_img {
            margin: 0 auto 20px; } }
        .c-campaign_sns_last_list_img.-img01 {
          width: 176px; }
          @media screen and (max-width: 767px) {
            .c-campaign_sns_last_list_img.-img01 {
              width: 81px; } }
        .c-campaign_sns_last_list_img.-img02 {
          width: 206px; }
          @media screen and (max-width: 767px) {
            .c-campaign_sns_last_list_img.-img02 {
              width: 110px; } }
        .c-campaign_sns_last_list_img.-img03 {
          width: 154px; }
          @media screen and (max-width: 767px) {
            .c-campaign_sns_last_list_img.-img03 {
              width: 83px; } }
      .c-campaign_sns_last_list_txt {
        line-height: 1.15;
        font-size: 20px; }
        @media screen and (max-width: 767px) {
          .c-campaign_sns_last_list_txt {
            line-height: 1.16;
            font-size: 10px;
            /* letter-spacing: -0.05em; */
            font-weight: 700;
            font-size: 2.9vw; } }
      .c-campaign_sns_last_list_balloon {
        position: absolute;
        z-index: 0;
        top: 55px;
        right: -126px;
        width: 172px; }
        @media screen and (max-width: 1100px) and (min-width: 768px) {
          .c-campaign_sns_last_list_balloon {
            top: 32px;
            right: -18px;
            width: 149px; } }
        @media screen and (max-width: 767px) {
          .c-campaign_sns_last_list_balloon {
            top: 5px;
            right: -50px;
            width: 96px; } }

.c-campaign_result {
  line-height: 1.5;
  font-size: 24px;
  /*
    @media screen and (min-width: 768px) {
      letter-spacing: -0.025em;
    }
    */ }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .c-campaign_result {
      font-size: 20px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .c-campaign_result {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .c-campaign_result {
      line-height: 1.45;
      font-size: 11px; } }

.c-campaign_challenge {
  margin: 17px 0 57px;
  padding: 10px;
  background-color: #fff050;
  border-radius: 10px;
  /* letter-spacing: -0.05em; */
  text-align: center; }
  @media screen and (max-width: 767px) {
    .c-campaign_challenge {
      margin: 8px 0 12px;
      padding: 5px;
      border-radius: 3px; } }
  .c-campaign_challenge_txt {
    line-height: 1;
    font-weight: 700;
    font-size: 28px; }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-campaign_challenge_txt {
        font-size: 24px; } }
    @media screen and (max-width: 767px) {
      .c-campaign_challenge_txt {
        font-size: 2.8vw;
        letter-spacing: -0.05em;
        /* letter-spacing: -0.05em; */ } }

/* list
---------------------------------------------------------- */
.c-list_asterisk li {
  position: relative;
  z-index: 0;
  padding-left: 1.1em;
  /*
      @media screen and (max-width: 767px) {
        letter-spacing: -0.05em;
      }
      */ }
  .c-list_asterisk li::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    content: "\203B"; }

.c-list_circleNum li {
  position: relative;
  z-index: 0;
  padding-left: 1.1em;
  /*
      @media screen and (max-width: 767px) {
        letter-spacing: -0.05em;
      }
      */ }
  .c-list_circleNum li::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em; }
  .c-list_circleNum li:nth-child(1)::before {
    content: "\2460"; }
  .c-list_circleNum li:nth-child(2)::before {
    content: "\2461"; }

.c-list_midpoint li {
  position: relative;
  z-index: 0;
  padding-left: 1.1em;
  /*
      @media screen and (max-width: 767px) {
        letter-spacing: -0.05em;
      }
      */ }
  .c-list_midpoint li::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    content: "\30fb"; }

/* button
---------------------------------------------------------- */
.c-btn_border {
  width: 497px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .c-btn_border {
      width: 205px; } }
  .c-btn_border a {
    display: block;
    position: relative;
    z-index: 0;
    line-height: 1;
    padding: 21px 0;
    border: 2px solid #541200;
    border-radius: 35px;
    background-color: #fff;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-size: 24px;
    text-align: center;
    box-shadow: 6px 6px 0 #541200; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .c-btn_border a {
        font-size: 20px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .c-btn_border a {
        font-size: 16px; } }
    @media screen and (max-width: 767px) {
      .c-btn_border a {
        padding: 10px 0;
        border: 1.5px solid #541200;
        box-shadow: 2px 2px 0 #541200;
        font-size: 10px; } }
    .c-btn_border a::before {
      position: absolute;
      z-index: 0;
      top: 50%;
      right: 7%;
      width: 10px;
      height: 10px;
      border-top: 3px solid #541200;
      border-left: 3px solid #541200;
      transform: translateY(-50%) rotate(135deg);
      content: ""; }
      @media screen and (max-width: 767px) {
        .c-btn_border a::before {
          width: 6px;
          height: 6px;
          border-top: 1.5px solid #541200;
          border-left: 1.5px solid #541200; } }
    .c-btn_border a:hover {
      opacity: 0.7; }

/* Index
---------------------------------------------------------- */
.p-index_fixed {
  position: fixed;
  z-index: 1000;
  bottom: 140px;
  right: -15px;
  width: 172px;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent; }
  @media screen and (min-width: 768px) {
    .p-index_fixed:hover {
      opacity: 0.8; } }
  @media screen and (max-width: 1640px) and (min-width: 1241px) {
    .p-index_fixed {
      width: 142px; } }
  @media screen and (max-width: 1240px) and (min-width: 768px) {
    .p-index_fixed {
      width: 122px; } }
  @media screen and (max-width: 767px) {
    .p-index_fixed {
      bottom: 100px;
      right: -8px;
      width: 75px; } }
  .p-index_fixed.scroll-in {
    opacity: 1;
    pointer-events: all; }

.p-index_mv_ttl {
  position: absolute;
  z-index: 0;
  top: 21vw;
  left: 25.5%;
  width: 51%;
  animation: fadeinInview 1s ease forwards; }
  @media screen and (max-width: 767px) {
    .p-index_mv_ttl {
      /*
        top: 160px;
        left: 5%;
        width: 90%;
        background: #d73238;
        */
      top: 0;
      left: 0;
      right: 0;
      width: 83vw;
      margin: 0 auto 0;
      padding-top: calc(470 / 1144 * 100%); } }

.p-index_copy {
  position: relative;
  z-index: 0;
  padding: 98px 0 142px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .p-index_copy {
      padding: 50px 0 43px; } }
  .p-index_copy::before {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 108px;
    background-image: url(../images/img_round_ylw.png);
    background-position: left top;
    background-size: 197px auto;
    background-repeat: repeat-x;
    content: ""; }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .p-index_copy::before {
        height: 77px;
        background-size: 140px auto; } }
    @media screen and (max-width: 767px) {
      .p-index_copy::before {
        height: 26px;
        background-size: contain; } }
  .p-index_copy_cont {
    position: relative;
    z-index: 0; }
    .p-index_copy_cont::before, .p-index_copy_cont::after {
      position: absolute;
      z-index: -1;
      background-size: contain;
      background-position: left top;
      background-repeat: no-repeat;
      content: ""; }
    .p-index_copy_cont::before {
      top: -5vw;
      left: 35px;
      width: 469px;
      height: 562px;
      background-image: url(../images/bg_copy_side01_pc.png); }
      @media screen and (max-width: 1640px) and (min-width: 1441px) {
        .p-index_copy_cont::before {
          width: 330px;
          height: 394px; } }
      @media screen and (max-width: 1440px) and (min-width: 768px) {
        .p-index_copy_cont::before {
          width: 268px;
          height: 320px; } }
      @media screen and (max-width: 767px) {
        .p-index_copy_cont::before {
          top: -36px;
          left: 11px;
          width: 92px;
          height: 119px;
          background-image: url(../images/bg_copy_side01_sp.png); } }
    .p-index_copy_cont::after {
      top: -7vw;
      right: -18px;
      width: 529px;
      height: 696px;
      background-image: url(../images/bg_copy_side02_pc.png); }
      @media screen and (max-width: 1640px) and (min-width: 1441px) {
        .p-index_copy_cont::after {
          width: 359px;
          height: 471px; } }
      @media screen and (max-width: 1440px) and (min-width: 768px) {
        .p-index_copy_cont::after {
          width: 284px;
          height: 373px; } }
      @media screen and (max-width: 767px) {
        .p-index_copy_cont::after {
          top: -38px;
          right: 5px;
          width: 110px;
          height: 121px;
          background-image: url(../images/bg_copy_side02_sp.png); } }
  .p-index_copy_ttl {
    width: 40%;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .p-index_copy_ttl {
        max-width: 1270px; } }
    @media screen and (max-width: 767px) {
      .p-index_copy_ttl {
        width: 86%; } }
  .p-index_copy_txt {
    line-height: 1.79;
    margin-top: 50px;
    color: #fff6e1;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center; }
    @media screen and (max-width: 1640px) and (min-width: 1441px) {
      .p-index_copy_txt {
        font-size: 25px; } }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .p-index_copy_txt {
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .p-index_copy_txt {
        margin-top: 15px;
        font-size: 14px;
        letter-spacing: 0.02em; } }

.p-index_event {
  padding: 80px 0 113px; }
  @media screen and (max-width: 767px) {
    .p-index_event {
      padding: 31px 0 45px; } }
  .p-index_event_head_ttl {
    width: 57%;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .p-index_event_head_ttl {
        max-width: 1068px; } }
    @media screen and (max-width: 767px) {
      .p-index_event_head_ttl {
        width: 105%;
        margin: 0 auto 0 -2.5%; } }
  .p-index_event_head_list {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin: 18px auto 0; }
    @media screen and (max-width: 767px) {
      .p-index_event_head_list {
        margin: 10px auto 0; } }
    .p-index_event_head_list li {
      display: flex;
      align-items: flex-end;
      margin-right: 20px; }
      @media screen and (max-width: 767px) {
        .p-index_event_head_list li {
          margin-right: 9px; } }
      .p-index_event_head_list li:last-of-type {
        margin-right: 0; }
    .p-index_event_head_list_txt {
      line-height: 1;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 900;
      font-size: 49px; }
      @media screen and (max-width: 1640px) and (min-width: 1241px) {
        .p-index_event_head_list_txt {
          font-size: 40px; } }
      @media screen and (max-width: 1240px) and (min-width: 768px) {
        .p-index_event_head_list_txt {
          font-size: 36px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_head_list_txt {
          font-size: 16px;
          letter-spacing: -0.025em; } }
    .p-index_event_head_list_img {
      position: relative;
      z-index: 0;
      width: 73px;
      height: 65px;
      background: url(../images/ico_baloon.svg) left top/contain no-repeat; }
      @media screen and (min-width: 768px) {
        .p-index_event_head_list_img {
          margin-left: -5px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_head_list_img {
          width: 25px;
          height: 22px; } }
      .p-index_event_head_list_img img {
        position: absolute;
        z-index: 0;
        top: 45%;
        left: 50%;
        transform: translate(-50%, -50%); }
      .p-index_event_head_list_img.-img01 img {
        width: 37px; }
        @media screen and (max-width: 767px) {
          .p-index_event_head_list_img.-img01 img {
            width: 12px; } }
      .p-index_event_head_list_img.-img02 img {
        width: 29px; }
        @media screen and (max-width: 767px) {
          .p-index_event_head_list_img.-img02 img {
            width: 10px; } }
      .p-index_event_head_list_img.-img03 img {
        width: 35px; }
        @media screen and (max-width: 767px) {
          .p-index_event_head_list_img.-img03 img {
            width: 12px; } }
  @media screen and (min-width: 768px) {
    .p-index_event_list {
      display: flex;
      justify-content: space-between; } }
  .p-index_event_list_item {
    position: relative;
    z-index: 0;
    border: 3px solid #541200;
    border-radius: 40px;
    box-shadow: 6px 6px 0 #541200; }
    @media screen and (min-width: 1441px) {
      .p-index_event_list_item {
        padding: 20px 30px 30px; } }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .p-index_event_list_item {
        padding: 20px 25px 25px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .p-index_event_list_item {
        padding: 20px; } }
    @media screen and (max-width: 767px) {
      .p-index_event_list_item {
        margin-top: 20px;
        border: 1.5px solid #541200;
        border-radius: 13px;
        box-shadow: 3px 3px 0 #541200; }
        .p-index_event_list_item:first-of-type {
          margin-top: 0; } }
    .p-index_event_list_item::before {
      position: absolute;
      z-index: 0;
      top: -17px;
      left: -19px;
      width: 102px;
      height: 102px;
      background-position: left top;
      background-size: contain;
      background-repeat: no-repeat;
      content: ""; }
      @media screen and (max-width: 1640px) and (min-width: 768px) {
        .p-index_event_list_item::before {
          width: 82px;
          height: 82px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_list_item::before {
          top: -6px;
          left: -7px;
          width: 50px;
          height: 50px; } }
    @media screen and (max-width: 767px) {
      .p-index_event_list_item a {
        display: block;
        padding: 8px 15px 7px; } }
  .p-index_event_list_ico {
    position: absolute;
    z-index: 0;
    top: -25px;
    right: -21px;
    width: 96px;
    height: 96px;
    border-radius: 50%; }
    @media screen and (max-width: 1640px) and (min-width: 1441px) {
      .p-index_event_list_ico {
        width: 76px;
        height: 76px; } }
    @media screen and (max-width: 1440px) and (min-width: 1100px) {
      .p-index_event_list_ico {
        width: 66px;
        height: 66px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .p-index_event_list_ico {
        width: 56px;
        height: 56px; } }
    @media screen and (max-width: 767px) and (min-width: 375px) {
      .p-index_event_list_ico {
        top: -11px;
        right: -20px;
        width: 47px;
        height: 47px; } }
    @media screen and (max-width: 374px) {
      .p-index_event_list_ico {
        top: -11px;
        right: -10px;
        width: 47px;
        height: 47px; } }
    .p-index_event_list_ico_img {
      position: relative;
      z-index: 0;
      height: 100%; }
      .p-index_event_list_ico_img img {
        position: absolute;
        z-index: 0;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
  .p-index_event_list_head {
    position: relative;
    z-index: 0;
    padding-bottom: 3px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .p-index_event_list_head {
        padding-bottom: 2px; } }
    .p-index_event_list_head::before {
      position: absolute;
      z-index: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 3px;
      background: url(../images/liner_dotted.png) left top/contain repeat-x;
      content: ""; }
      @media screen and (max-width: 767px) {
        .p-index_event_list_head::before {
          height: 2px; } }
    .p-index_event_list_head_ttl {
      text-align: center; }
      .p-index_event_list_head_ttl_cont {
        display: inline-block;
        line-height: 1;
        border-radius: 18px;
        padding-top: 6px;
        padding-bottom: 6px;
        color: #fff;
        font-weight: 700;
        font-size: 24px; }
        @media screen and (max-width: 1440px) and (min-width: 1101px) {
          .p-index_event_list_head_ttl_cont {
            font-size: 20px; } }
        @media screen and (max-width: 1100px) and (min-width: 768px) {
          .p-index_event_list_head_ttl_cont {
            font-size: 18px; } }
        @media screen and (max-width: 767px) {
          .p-index_event_list_head_ttl_cont {
            padding-top: 2px;
            padding-bottom: 2px;
            font-size: 11px; } }
        .p-index_event_list_head_ttl_cont.-padding01 {
          padding-right: 28px;
          padding-left: 28px; }
          @media screen and (max-width: 767px) {
            .p-index_event_list_head_ttl_cont.-padding01 {
              padding-right: 7px;
              padding-left: 7px; } }
        .p-index_event_list_head_ttl_cont.-padding02 {
          padding-right: 15px;
          padding-left: 15px; }
          @media screen and (max-width: 767px) {
            .p-index_event_list_head_ttl_cont.-padding02 {
              padding-right: 11px;
              padding-left: 11px; } }
        .p-index_event_list_head_ttl_cont.-padding03 {
          padding-right: 25px;
          padding-left: 25px; }
          @media screen and (max-width: 767px) {
            .p-index_event_list_head_ttl_cont.-padding03 {
              padding-right: 9px;
              padding-left: 9px; } }
    .p-index_event_list_head_txt {
      line-height: 1.42;
      font-size: 22px;
      /* letter-spacing: -0.05em; */ }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_event_list_head_txt {
          font-size: 18px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_event_list_head_txt {
          font-size: 16px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_list_head_txt {
          font-size: 14px;
          /* letter-spacing: -0.1em; */ } }
      .p-index_event_list_head_txt_bold {
        display: block;
        font-weight: 700; }
      .p-index_event_list_head_txt_tax {
        font-size: 16px; }
        @media screen and (max-width: 767px) {
          .p-index_event_list_head_txt_tax {
            font-size: 10px; } }
    .p-index_event_list_head_support {
      line-height: 1.2;
      padding-bottom: 14px;
      font-size: 18px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_event_list_head_support {
          font-size: 16px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_event_list_head_support {
          font-size: 14px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_list_head_support {
          line-height: 1.25;
          padding-bottom: 12px;
          font-size: 12px; } }
  @media screen and (max-width: 767px) {
    .p-index_event_list_btm {
      display: flex;
      align-items: center;
      justify-content: center; } }
  @media screen and (max-width: 767px) {
    .p-index_event_list_btm {
      padding: 7px 0 0; } }
  .p-index_event_list_btm_date {
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .p-index_event_list_btm_date {
        width: 60%; } }
    .p-index_event_list_btm_date li {
      position: relative;
      z-index: 0;
      line-height: 1;
      padding-right: 27px;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 700;
      font-size: 32px;
      color: #d73238; }
      @media screen and (max-width: 1640px) and (min-width: 1441px) {
        .p-index_event_list_btm_date li {
          padding-right: 20px;
          font-size: 28px; } }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_event_list_btm_date li {
          padding-right: 20px;
          font-size: 22px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_event_list_btm_date li {
          padding-right: 15px;
          font-size: 16px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_list_btm_date li {
          padding-right: 11px;
          font-size: 13px; } }
      .p-index_event_list_btm_date li:last-of-type {
        padding-right: 0; }
        .p-index_event_list_btm_date li:last-of-type::before {
          display: none; }
      .p-index_event_list_btm_date li::before {
        position: absolute;
        z-index: 0;
        top: 50%;
        right: -5px;
        border: 12px solid transparent;
        border-left: 12px solid #d73238;
        transform: translateY(-50%);
        content: ""; }
        @media screen and (max-width: 1640px) and (min-width: 1441px) {
          .p-index_event_list_btm_date li::before {
            right: -8px; } }
        @media screen and (max-width: 1440px) and (min-width: 1101px) {
          .p-index_event_list_btm_date li::before {
            top: 45%;
            border: 10px solid transparent;
            border-left: 10px solid #d73238; } }
        @media screen and (max-width: 1100px) and (min-width: 768px) {
          .p-index_event_list_btm_date li::before {
            top: 40%;
            border: 8px solid transparent;
            border-left: 8px solid #d73238; } }
        @media screen and (max-width: 767px) {
          .p-index_event_list_btm_date li::before {
            top: 57%;
            right: -4px;
            border: 6px solid transparent;
            border-left: 6px solid #d73238; } }
    .p-index_event_list_btm_date_num {
      line-height: 1;
      font-size: 48px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_event_list_btm_date_num {
          font-size: 28px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_event_list_btm_date_num {
          font-size: 24px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_list_btm_date_num {
          font-size: 20px; } }
    .p-index_event_list_btm_date_day {
      display: inline-block;
      vertical-align: middle;
      line-height: 1;
      margin-bottom: 10px;
      padding: 3px;
      background-color: #d73238;
      color: #fff;
      border-radius: 50%;
      font-size: 20px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_event_list_btm_date_day {
          font-size: 16px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_event_list_btm_date_day {
          font-size: 14px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_list_btm_date_day {
          margin-bottom: 5px;
          padding: 1px;
          font-size: 11px; } }
  .p-index_event_list_btm_btn {
    width: 100%; }
    @media screen and (max-width: 767px) {
      .p-index_event_list_btm_btn {
        width: 40%; } }
    .p-index_event_list_btm_btn a,
    .p-index_event_list_btm_btn span {
      display: block;
      position: relative;
      z-index: 0;
      line-height: 1;
      padding: 14px 0 16px;
      border-radius: 40px;
      background-color: #fff;
      color: #541200;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 700;
      text-align: center;
      font-size: 24px; }
      @media screen and (max-width: 1440px) and (min-width: 768px) {
        .p-index_event_list_btm_btn a,
        .p-index_event_list_btm_btn span {
          font-size: 18px; } }
      @media screen and (max-width: 767px) {
        .p-index_event_list_btm_btn a,
        .p-index_event_list_btm_btn span {
          padding: 5px 0;
          font-size: 10px;
          pointer-events: none; } }
      .p-index_event_list_btm_btn a::before,
      .p-index_event_list_btm_btn span::before {
        position: absolute;
        z-index: 0;
        top: 45%;
        right: 8%;
        width: 10px;
        height: 10px;
        border-top: 3px solid #541200;
        border-right: 3px solid #541200;
        transform: translateY(-50%) rotate(135deg);
        content: ""; }
        @media screen and (max-width: 767px) {
          .p-index_event_list_btm_btn a::before,
          .p-index_event_list_btm_btn span::before {
            width: 4px;
            height: 4px;
            border-top: 1px solid #541200;
            border-right: 1px solid #541200; } }
  .p-index_event_list.-shop {
    margin: 90px auto 0; }
    @media screen and (min-width: 1441px) {
      .p-index_event_list.-shop {
        width: 66%;
        max-width: 946px; } }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .p-index_event_list.-shop {
        width: 76%; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .p-index_event_list.-shop {
        width: 86%; } }
    @media screen and (max-width: 767px) {
      .p-index_event_list.-shop {
        margin: 28px auto 0; } }
    .p-index_event_list.-shop .p-index_event_list_item {
      background-color: #ffe8e4; }
      @media screen and (min-width: 1441px) {
        .p-index_event_list.-shop .p-index_event_list_item {
          width: 40%; } }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_event_list.-shop .p-index_event_list_item {
          width: 39%; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_event_list.-shop .p-index_event_list_item {
          width: 39%; } }
      .p-index_event_list.-shop .p-index_event_list_item.-item01 .p-index_event_list_head_txt {
        padding: 39px 0 30px; }
        @media screen and (max-width: 767px) {
          .p-index_event_list.-shop .p-index_event_list_item.-item01 .p-index_event_list_head_txt {
            padding: 4px 0 6px; } }
      @media screen and (min-width: 768px) {
        .p-index_event_list.-shop .p-index_event_list_item.-item01 .p-index_event_list_btm_date {
          padding: 30px 0 34px; } }
      .p-index_event_list.-shop .p-index_event_list_item.-item02 .p-index_event_list_head_txt {
        padding: 23px 0 23px; }
        @media screen and (max-width: 767px) {
          .p-index_event_list.-shop .p-index_event_list_item.-item02 .p-index_event_list_head_txt {
            padding: 4px 0 5px; } }
      @media screen and (min-width: 768px) {
        .p-index_event_list.-shop .p-index_event_list_item.-item02 .p-index_event_list_btm_date {
          padding: 19px 0 22px; } }
      .p-index_event_list.-shop .p-index_event_list_item::before {
        background-image: url(../images/ico_ribon01.png); }
    .p-index_event_list.-shop .p-index_event_list_ico {
      background-color: #dc4a19;
      filter: drop-shadow(4px 4px 0 #970000); }
      @media screen and (max-width: 767px) {
        .p-index_event_list.-shop .p-index_event_list_ico {
          filter: drop-shadow(2px 2px 0 #970000); } }
      .p-index_event_list.-shop .p-index_event_list_ico_img img {
        width: 54px; }
        @media screen and (max-width: 1640px) and (min-width: 1441px) {
          .p-index_event_list.-shop .p-index_event_list_ico_img img {
            width: 44px; } }
        @media screen and (max-width: 1440px) and (min-width: 768px) {
          .p-index_event_list.-shop .p-index_event_list_ico_img img {
            width: 34px; } }
        @media screen and (max-width: 767px) {
          .p-index_event_list.-shop .p-index_event_list_ico_img img {
            width: 23px; } }
    .p-index_event_list.-shop .p-index_event_list_head_ttl_cont {
      background-color: #dc4a19; }
  .p-index_event_list.-x {
    margin-top: 62px; }
    @media screen and (max-width: 767px) {
      .p-index_event_list.-x {
        margin-top: 18px; } }
    .p-index_event_list.-x .p-index_event_list_item {
      background-color: #fff0d7; }
      @media screen and (min-width: 1441px) {
        .p-index_event_list.-x .p-index_event_list_item {
          width: 26.25%; } }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_event_list.-x .p-index_event_list_item {
          width: 25.25%; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_event_list.-x .p-index_event_list_item {
          width: 24.25%; } }
      .p-index_event_list.-x .p-index_event_list_item.-item03 .p-index_event_list_head_txt {
        padding: 12px 0 10px; }
        @media screen and (max-width: 767px) {
          .p-index_event_list.-x .p-index_event_list_item.-item03 .p-index_event_list_head_txt {
            padding: 4px 0 5px; } }
      @media screen and (min-width: 768px) {
        .p-index_event_list.-x .p-index_event_list_item.-item03 .p-index_event_list_btm_date {
          padding: 5px 0 8px; } }
      .p-index_event_list.-x .p-index_event_list_item.-item04 .p-index_event_list_head_txt {
        padding: 27px 0 25px; }
        @media screen and (max-width: 767px) {
          .p-index_event_list.-x .p-index_event_list_item.-item04 .p-index_event_list_head_txt {
            padding: 4px 0 7px; } }
      @media screen and (min-width: 768px) {
        .p-index_event_list.-x .p-index_event_list_item.-item04 .p-index_event_list_btm_date {
          padding: 20px 0 21px; } }
      .p-index_event_list.-x .p-index_event_list_item.-item05 .p-index_event_list_head_txt {
        padding: 45px 0 39px; }
        @media screen and (max-width: 767px) {
          .p-index_event_list.-x .p-index_event_list_item.-item05 .p-index_event_list_head_txt {
            padding: 4px 0 7px; } }
      @media screen and (min-width: 768px) {
        .p-index_event_list.-x .p-index_event_list_item.-item05 .p-index_event_list_btm_date {
          padding: 22px 0 26px; } }
      .p-index_event_list.-x .p-index_event_list_item::before {
        background-image: url(../images/ico_ribon02.png); }
    .p-index_event_list.-x .p-index_event_list_ico {
      background-color: #541200;
      filter: drop-shadow(4px 4px 0 #290000); }
      @media screen and (max-width: 767px) {
        .p-index_event_list.-x .p-index_event_list_ico {
          filter: drop-shadow(2px 2px 0 #290000); } }
      .p-index_event_list.-x .p-index_event_list_ico_img img {
        width: 47px; }
        @media screen and (max-width: 1640px) and (min-width: 1441px) {
          .p-index_event_list.-x .p-index_event_list_ico_img img {
            width: 37px; } }
        @media screen and (max-width: 1440px) and (min-width: 768px) {
          .p-index_event_list.-x .p-index_event_list_ico_img img {
            width: 32px; } }
        @media screen and (max-width: 767px) {
          .p-index_event_list.-x .p-index_event_list_ico_img img {
            width: 23px; } }
  .p-index_event_list .p-index_event_list_head_ttl_cont {
    background-color: #541200; }

.p-index_keychain .c-balloon {
  padding-right: 135px; }
  @media screen and (max-width: 767px) {
    .p-index_keychain .c-balloon {
      padding-right: 40px; } }
  .p-index_keychain .c-balloon_side {
    top: -55px;
    right: -7vw;
    width: 22.0vw; }
    @media screen and (min-width: 768px) {
      .p-index_keychain .c-balloon_side {
        max-width: 312px; } }
    @media screen and (max-width: 767px) {
      .p-index_keychain .c-balloon_side {
        top: -13px;
        right: -20px;
        width: 20vw; } }

.p-index_keychain .c-campaign_ttl {
  width: 100%;
  margin-top: 54px; }
  @media screen and (min-width: 768px) {
    .p-index_keychain .c-campaign_ttl {
      max-width: 1196px; } }
  @media screen and (max-width: 767px) {
    .p-index_keychain .c-campaign_ttl {
      width: 98%;
      margin-top: 12px; } }

@media screen and (max-width: 767px) {
  .p-index_keychain .c-campaign_period_date {
    letter-spacing: -0.03em; } }

.p-index_keychain .c-list_asterisk {
  margin-top: 5px; }
  .p-index_keychain .c-list_asterisk li {
    font-weight: 700;
    font-size: 22px; }
    @media screen and (max-width: 767px) {
      .p-index_keychain .c-list_asterisk li {
        font-size: 10px; } }

.p-index_weight .c-balloon {
  padding-right: 180px; }
  @media screen and (max-width: 767px) {
    .p-index_weight .c-balloon {
      padding-right: 42px; } }
  .p-index_weight .c-balloon_side {
    top: -70px;
    right: -3vw;
    width: auto; }
    @media screen and (max-width: 1440px) and (min-width: 1001px) {
      .p-index_weight .c-balloon_side {
        top: -2vw;
        right: -3vw;
        width: 23vw; } }
    @media screen and (max-width: 1000px) and (min-width: 768px) {
      .p-index_weight .c-balloon_side {
        top: -1vw;
        right: -3vw;
        width: 25vw; } }
    @media screen and (max-width: 767px) and (min-width: 501px) {
      .p-index_weight .c-balloon_side {
        top: -3vw;
        right: -3vw;
        width: 24vw; } }
    @media screen and (max-width: 500px) {
      .p-index_weight .c-balloon_side {
        top: 0px;
        right: -5vw;
        width: 23vw; } }

.p-index_weight .c-campaign_ttl {
  width: 88%;
  margin-top: 11px; }
  @media screen and (min-width: 768px) {
    .p-index_weight .c-campaign_ttl {
      max-width: 1050px; } }
  @media screen and (max-width: 767px) {
    .p-index_weight .c-campaign_ttl {
      width: 100%;
      margin-top: 3px; } }

.p-index_weight .c-list_circleNum li,
.p-index_weight .c-list_midpoint li {
  line-height: 1.5;
  font-size: 24px;
  /* 
        @media screen and (min-width: 768px) {
          letter-spacing: -0.025em;
        }
        */ }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .p-index_weight .c-list_circleNum li,
    .p-index_weight .c-list_midpoint li {
      font-size: 20px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .p-index_weight .c-list_circleNum li,
    .p-index_weight .c-list_midpoint li {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .p-index_weight .c-list_circleNum li,
    .p-index_weight .c-list_midpoint li {
      line-height: 1.45;
      font-size: 11px; } }

.p-index_center {
  width: 82%;
  margin: 80px auto -140px; }
  @media screen and (min-width: 768px) {
    .p-index_center {
      max-width: 1139px; } }
  @media screen and (max-width: 767px) {
    .p-index_center {
      width: 100%;
      margin: 35px auto -20px; } }
  .p-index_center img {
    animation: swing 1s ease-in-out infinite alternate; }

.p-index_lookalike .c-balloon {
  padding-right: 61px; }
  @media screen and (max-width: 767px) {
    .p-index_lookalike .c-balloon {
      padding-right: 7px; } }
  .p-index_lookalike .c-balloon_side {
    top: -45px;
    right: -51px;
    width: 17vw; }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .p-index_lookalike .c-balloon_side {
        top: -2vw;
        width: 22vw;
        right: -2vw; } }
    @media screen and (max-width: 768px) and (min-width: 541px) {
      .p-index_lookalike .c-balloon_side {
        top: 0vw;
        width: 24vw;
        right: -4vw; } }
    @media screen and (max-width: 540px) {
      .p-index_lookalike .c-balloon_side {
        top: -5.5vw;
        right: -4vw;
        width: 24vw; } }

.p-index_lookalike .c-campaign_ttl {
  width: 88%;
  margin-top: 62px; }
  @media screen and (min-width: 768px) {
    .p-index_lookalike .c-campaign_ttl {
      max-width: 824px; } }
  @media screen and (max-width: 767px) {
    .p-index_lookalike .c-campaign_ttl {
      width: 100%;
      margin-top: 11px; } }

.p-index_lookalike .c-list_asterisk {
  line-height: 1.5;
  padding-bottom: 5px;
  font-size: 24px;
  /* 
      @media screen and (min-width: 768px) {
        letter-spacing: -0.035em;
      }
      */ }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .p-index_lookalike .c-list_asterisk {
      font-size: 20px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .p-index_lookalike .c-list_asterisk {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .p-index_lookalike .c-list_asterisk {
      line-height: 1.45;
      font-size: 11px; } }

.p-index_lookalike .c-campaign_stella {
  margin-top: 28px; }
  @media screen and (max-width: 767px) {
    .p-index_lookalike .c-campaign_stella {
      margin-top: 10px; } }

.p-index_present .c-balloon {
  padding-right: 30px; }
  @media screen and (max-width: 767px) {
    .p-index_present .c-balloon {
      padding-right: 10px; } }

.p-index_present .c-campaign_ttl {
  width: 102%;
  margin-top: 47px; }
  @media screen and (min-width: 768px) {
    .p-index_present .c-campaign_ttl {
      max-width: 1220px;
      margin-left: -1%; } }
  @media screen and (max-width: 767px) {
    .p-index_present .c-campaign_ttl {
      width: 90%;
      margin-top: 12px; } }

.p-index_present .c-campaign_period.-type03 {
  margin-bottom: 120px; }
  @media screen and (max-width: 767px) {
    .p-index_present .c-campaign_period.-type03 {
      margin-bottom: 20px; } }

.p-index_present .c-list_midpoint li {
  line-height: 1.5;
  font-size: 24px;
  /* 
        @media screen and (min-width: 768px) {
          letter-spacing: -0.025em;
        }
        */ }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .p-index_present .c-list_midpoint li {
      font-size: 20px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .p-index_present .c-list_midpoint li {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .p-index_present .c-list_midpoint li {
      line-height: 1.45;
      font-size: 11px; } }

.p-index_present .c-list_midpoint.-min li {
  line-height: 1.7;
  font-size: 20px;
  /*
          @media screen and (min-width: 768px) {
            letter-spacing: -0.025em;
          }
          */ }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .p-index_present .c-list_midpoint.-min li {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .p-index_present .c-list_midpoint.-min li {
      line-height: 1.44;
      font-size: 10px; } }

.p-index_present .c-list_asterisk {
  margin-top: 20px; }
  @media screen and (max-width: 767px) {
    .p-index_present .c-list_asterisk {
      margin-top: 15px; } }
  .p-index_present .c-list_asterisk li {
    line-height: 1.7;
    font-size: 20px;
    /*
        @media screen and (min-width: 768px) {
          letter-spacing: -0.025em;
        }
        */ }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .p-index_present .c-list_asterisk li {
        font-size: 16px; } }
    @media screen and (max-width: 767px) {
      .p-index_present .c-list_asterisk li {
        line-height: 1.44;
        font-size: 10px; } }

.p-index_insta .c-balloon {
  padding-right: 229px; }
  @media screen and (max-width: 767px) {
    .p-index_insta .c-balloon {
      padding-right: 35px; } }
  .p-index_insta .c-balloon_side {
    top: -12px;
    right: -15px;
    width: 286px; }
    @media screen and (max-width: 1440px) and (min-width: 1101px) {
      .p-index_insta .c-balloon_side {
        width: 266px; } }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .p-index_insta .c-balloon_side {
        width: 180px;
        right: 2vw;
        top: 11px; } }
    @media screen and (max-width: 768px) and (min-width: 501px) {
      .p-index_insta .c-balloon_side {
        top: -5px;
        right: -4px;
        width: 80px; } }
    @media screen and (max-width: 500px) {
      .p-index_insta .c-balloon_side {
        top: -4vw;
        right: -3vw;
        width: 18vw; } }

.p-index_insta .c-campaign_ttl {
  width: 88%;
  margin-top: 50px; }
  @media screen and (min-width: 768px) {
    .p-index_insta .c-campaign_ttl {
      max-width: 1016px; } }
  @media screen and (max-width: 767px) {
    .p-index_insta .c-campaign_ttl {
      width: 100%;
      margin-top: 10px; } }

.p-index_insta .c-campaign_period.-type02 {
  margin-bottom: 69px; }
  @media screen and (max-width: 767px) {
    .p-index_insta .c-campaign_period.-type02 {
      margin-bottom: 18px; } }

.p-index_insta .c-list_midpoint li {
  line-height: 1.5;
  font-size: 24px;
  /*
        @media screen and (min-width: 768px) {
          letter-spacing: -0.025em;
        }
        */ }
  @media screen and (max-width: 1440px) and (min-width: 1101px) {
    .p-index_insta .c-list_midpoint li {
      font-size: 20px; } }
  @media screen and (max-width: 1100px) and (min-width: 768px) {
    .p-index_insta .c-list_midpoint li {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .p-index_insta .c-list_midpoint li {
      line-height: 1.45;
      font-size: 10px; } }

.p-index_insta .c-campaign_stella {
  border-radius: 50px;
  margin: 60px auto 0; }
  @media screen and (min-width: 768px) {
    .p-index_insta .c-campaign_stella {
      width: 100%; } }
  @media screen and (max-width: 767px) {
    .p-index_insta .c-campaign_stella {
      margin: 30px auto 0; } }

.p-index_btm {
  position: relative;
  z-index: 0;
  padding: 90px 0 160px;
  color: #fff;
  font-family: "Zen Maru Gothic", serif; }
  @media screen and (max-width: 767px) {
    .p-index_btm {
      padding: 20px 0 30px; } }
  .p-index_btm::before {
    position: absolute;
    z-index: 1;
    top: -106px;
    left: 0;
    width: 100%;
    height: 108px;
    background-image: url(../images/img_round_red.png);
    background-position: left top;
    background-size: 197px auto;
    background-repeat: repeat-x;
    content: ""; }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .p-index_btm::before {
        top: -75px;
        height: 77px;
        background-size: 140px auto; } }
    @media screen and (max-width: 767px) {
      .p-index_btm::before {
        top: -25px;
        height: 26px;
        background-size: 47px auto; } }
  .p-index_btm_ttl {
    width: 90%;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .p-index_btm_ttl {
        max-width: 1584px; } }
    @media screen and (max-width: 767px) {
      .p-index_btm_ttl {
        width: 100%; } }
  .p-index_btm_message {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 82%;
    margin: 35px auto 0; }
    @media screen and (min-width: 1441px) {
      .p-index_btm_message {
        max-width: 1140px; } }
    @media screen and (max-width: 1440px) and (min-width: 768px) {
      .p-index_btm_message {
        width: 90%; } }
    @media screen and (max-width: 767px) {
      .p-index_btm_message {
        width: calc(100% - 55px);
        margin: 15px auto 0; } }
    .p-index_btm_message_txt {
      line-height: 1.47;
      font-weight: 700;
      font-size: 60px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_btm_message_txt {
          font-size: 42px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_btm_message_txt {
          font-size: 34px; } }
      @media screen and (max-width: 767px) {
        .p-index_btm_message_txt {
          line-height: 1.54;
          font-size: 14px; } }
    .p-index_btm_message_img {
      width: 328px; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_btm_message_img {
          width: 300px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_btm_message_img {
          width: 280px; } }
      @media screen and (max-width: 767px) {
        .p-index_btm_message_img {
          width: 67px; } }
  .p-index_btm_btn {
    width: 702px;
    margin: 60px auto 0; }
    @media screen and (max-width: 767px) {
      .p-index_btm_btn {
        width: 204px;
        margin: 25px auto 0; } }
    .p-index_btm_btn a {
      display: block;
      position: relative;
      z-index: 0;
      line-height: 1;
      padding: 31px 0;
      border-radius: 50px;
      background-color: #fff;
      color: #541200;
      font-family: "Zen Maru Gothic", serif;
      font-weight: 700;
      font-size: 34px;
      text-align: center; }
      @media screen and (max-width: 1440px) and (min-width: 1101px) {
        .p-index_btm_btn a {
          font-size: 30px; } }
      @media screen and (max-width: 1100px) and (min-width: 768px) {
        .p-index_btm_btn a {
          font-size: 26px; } }
      @media screen and (max-width: 767px) {
        .p-index_btm_btn a {
          padding: 10px 0;
          font-size: 10px;
          /* letter-spacing: -0.05em; */ } }
      .p-index_btm_btn a::before {
        position: absolute;
        z-index: 0;
        top: 50%;
        right: 5%;
        width: 15px;
        height: 15px;
        border-top: 4px solid #541200;
        border-left: 4px solid #541200;
        transform: translateY(-50%) rotate(135deg);
        content: ""; }
        @media screen and (max-width: 767px) {
          .p-index_btm_btn a::before {
            width: 4px;
            height: 4px;
            border-top: 2px solid #541200;
            border-left: 2px solid #541200; } }
      .p-index_btm_btn a:hover {
        opacity: 0.7; }

/* footer
---------------------------------------------------------- */
.footer_nav {
  padding: 92px 0 186px;
  background-color: #541200;
  background-image: url(../images/img_footer.webp);
  background-position: left 101%;
  background-size: auto 150px;
  background-repeat: repeat-x;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .footer_nav {
      padding: 15px 0 40px;
      background-size: auto 29px; } }
  @media screen and (min-width: 768px) {
    .footer_nav_grid {
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 768px) {
    .footer_nav_grid_list li {
      margin-top: 36px; }
      .footer_nav_grid_list li:nth-child(-n+1) {
        margin-top: 0; } }
  @media screen and (max-width: 767px) {
    .footer_nav_grid_list li {
      position: relative;
      z-index: 0; }
      .footer_nav_grid_list li::before, .footer_nav_grid_list li::after {
        position: absolute;
        z-index: 0;
        content: ""; }
      .footer_nav_grid_list li::before {
        top: 50%;
        right: 5%;
        width: 7px;
        height: 7px;
        border-top: 2px solid #fff6e1;
        border-left: 2px solid #fff6e1;
        transform: translateY(-50%) rotate(135deg); }
      .footer_nav_grid_list li::after {
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: url(../images/liner_dotted_wht.png) left top/contain repeat-x; } }
  .footer_nav_grid_list li a {
    line-height: 1;
    color: #fff6e1;
    font-size: 20px; }
    @media screen and (max-width: 1100px) and (min-width: 768px) {
      .footer_nav_grid_list li a {
        font-size: 18px; } }
    @media screen and (max-width: 767px) {
      .footer_nav_grid_list li a {
        display: block;
        padding: 14px 10px;
        font-size: 14px; } }
  .footer_nav_sns {
    display: flex;
    justify-content: center;
    margin: 52px auto 0; }
    @media screen and (max-width: 767px) {
      .footer_nav_sns {
        margin: 38px auto 0; } }
    .footer_nav_sns li {
      width: 69px;
      margin-right: 30px; }
      @media screen and (max-width: 767px) {
        .footer_nav_sns li {
          width: 37px;
          margin-right: 17px; } }
      .footer_nav_sns li:last-of-type {
        margin-right: 0; }
      .footer_nav_sns li a {
        display: block; }

.footer_copyright {
  padding: 24px 0 27px;
  line-height: 1;
  background-color: #fff;
  font-weight: 300;
  font-size: 18px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .footer_copyright {
      padding: 10px 0 13px;
      font-size: 10px; } }

#pagetop {
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s; }
  @media screen and (max-width: 767px) {
    #pagetop {
      bottom: 40px; } }
  #pagetop.is-hidden {
    opacity: 1;
    pointer-events: all; }

/* add techno
---------------------------------------------------------- */
.atc_b700 {
  font-weight: 700; }

.header-pc .logo {
  max-width: 100px; }
