@charset "UTF-8";

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.sp-only {
  display: none;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
}

.mainVisual_txt,
.form_txt,
.insta_acct_txt,
.formtxt,
.share {
  font-family: "Zen Maru Gothic", serif;
}

label {
  display: flex;
  max-width: 100%;
  margin-bottom: 0px;
  font-weight: 700;
  line-height: 3.1;
  margin: 0 0.2rem;
}

area {
  border: none;
  outline: none;
}

/* main Block */
.main {
  max-width: 75rem;
  margin: auto;
}

/* mainVisual Block */
.mainVisual_catch {
  position: relative;
  margin: 7.5rem auto 0rem auto;
  z-index: 1;
  text-align: center;
}

.mainVisual_catch_01 {
  width: 46rem;
}

.mainVisual_catch_02 {
  width: 35rem;
  margin-top: 4.1rem;
  margin-bottom: 6.8rem;
}

.mainVisual_ttl {
  width: 50rem;
  margin: 6.5rem auto 0 auto;
}

.mainVisual_txt {
  width: 56rem;
  margin: 5.5rem auto 0;
  font-size: 2.2rem;
  line-height: 1.6;
  letter-spacing: -.15rem;
}

.txt_le{
  letter-spacing: 1px;
}
.txt_le2{
  letter-spacing: -3px;
}

/* annive Block */
.annive {
  margin-top: 10rem;
  padding: 6.5rem 4.5rem 19.5rem 4.5rem;
  background-image: url(../../images/2024-sum-100days/annive_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.annive_ttl {
  width: 41rem;
  margin: -12rem auto 0 auto;
}

.annive_txt {
  width: 53.7rem;
  margin: 2rem auto -5rem;
}

.count {
  border-radius: 3px;
  padding: 4rem 1rem 5rem;
  position: relative;
  top: 9.5rem;
  border: 2.8px solid #FFFF;
  border-radius: 6.633px;
}

.count_ttl {
  width: 40.8rem;
  margin: auto;
}

/* form Block */
.form {
  margin: 3.5rem auto 0;
  text-align: center;
}

.form_wrap {
  display: flex;
  justify-content: space-around;
}

.form_group {
  display: flex;
  margin-bottom: 1rem;
  vertical-align: middle;
}

.formtxt {
  font-size: 22px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  line-height: inherit;
  padding-bottom: 5px;
}

.form_input {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form_btn {
  display: inline-block;
  margin: 0 auto;
  background: #5b6266;
  padding: 1.2rem 6.5rem;
  border-radius: 2.4rem;
  margin: 1rem auto;
  font-size: 2rem;
  color: #fff;
}

.form_txt {
  width: 52rem;
  margin: 3.5rem auto 0;
  font-size: 2.6rem;
  line-height: 1.4;
  letter-spacing: -1px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
}

/* design Block */
.design {
  margin-top: -2.5rem;
}

.design-wrap {
  background-image: url(../../images/2024-sum-100days/design_bg.png);
  background-repeat: no-repeat;
  background-size: 100%;
  padding: 0 0 8rem 0;
  padding: 0 0 8rem 0;
  margin-top: -12rem;
  background-position: 0% 113%;
}

.design_ttl {
  width: 65.6rem;
  margin: auto;
}

.design_txt {
  width: 44.4rem;
  margin: 4rem auto 0;
}

.design_bg {
  margin: 2rem auto 0;
  padding-bottom: 1.5rem;
  text-align: center;
}

.design_bg img {
  margin: 0;
  max-width: 62rem;
}

.design_movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.design_movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* .design_ring {
  padding-top: 3.125rem;
  text-align: center;
  background-image: url(../../images/2024-sum-100days/design_bg.png);
} */
.design_ring p {
  background-color: #FFF;
  padding: 6.2rem 0 6.2rem 0;
  text-align: center;
  margin: 0 auto;
}

.design_ring img {
  width: 62.8rem;
}

.image-map {
  text-align: center;
  width: 59.5rem;
  margin: auto;

}

/* insta Block */
.insta {
  margin-top: 7.5rem;
}

.insta_bg {
  background-image: url(../../images/2024-sum-100days/insta_bg.png);
  padding: 5.5rem 0 6.6rem;
  margin-top: 0rem;
}

.insta_ttl {
  width: 19.4rem;
  margin: -9rem auto 0 auto;
}

.sha_ttl {
  width: 27.2rem;
  margin: -11rem auto 0 auto;
}

.insta_txt {
  width: 35rem;
  margin: 3.5rem auto 0;
}

.insta_img {
  width: 48.3rem;
  margin: 5rem auto 0;
}

.insta_acct {
  display: block;
  width: 31.5rem;
  margin: 5.7rem auto 0;
}

.insta_acct_txt {
  display: block;
  width: 56rem;
  margin: 1.5rem auto 5rem auto;
  font-size: 2rem;
  line-height: 1.6;
  text-align: center;
}

.sns_ill_01 {
  width: 13.75rem;
  position: absolute;
  top: 5rem;
  left: 7.9375rem;
  /* margin-left: 7.5625rem; */
}

.sns_ill_02 {
  width: 19.5rem;
  position: absolute;
  right: 0;
  bottom: 0;

}

/* .share h1{
  margin-top: 3.8rem;
} */
.share {
  text-align: center;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}

.sha_bg {
  background-image: url(../../images/2024-sum-100days/link_bg.png);
  padding: 5.5rem 0 35.6rem;
  margin-top: 0rem;
  background-size: 100%;
  background-repeat: no-repeat;
}

.share_txt {
  width: 20.5rem;
  margin: 2.5rem auto 0;
}

.share_ttl {
  font-size: 2.5rem;
  margin: 0 0 3.2rem;
  padding: 5.1rem 0 0 0;
  color: #3e3a39;
  text-align: center;
}

.share_icon {
  display: flex;
  justify-content: space-between;
  width: 24.5rem;
  margin: 0 auto;
}

.share_icon li {
  height: 5rem;
}

.share_icon li img {
  width: auto;
  height: 5.7rem;
}

.share_icon li:first-of-type img {
  width: auto;
  padding-top: 0.4rem;
}

.links {
  margin-top: 5.7rem;
  position: relative;
}

.links_ttl {
  width: 18.1rem;
  margin: auto;
}

.links_list {
  display: block;
  margin: 4.4rem auto 0;
  text-align: center;
  max-width: 62.8rem;

}

.links_list img {
  max-width: 62.8rem;
}

.links_a {
  position: absolute;
  width: 54rem;
  height: 51rem;
  z-index: 10000;
  cursor: pointer;
  top: 14%;
  right: -2%;
}

.links_shop img {
  width: 59.6rem;
}

.links_bg2 {
  background-color: #e7f1fa;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 6rem;
  padding: 5.7rem;
  max-width: 746rem;
}

.link-tit img {
  width: 25.3rem;
  margin: 0 auto;
}

.link-tit {
  width: 25.3rem;
  margin: 0 auto 1.7rem auto;
}

.links_bg2 .link-bnr {
  display: block;
  text-align: center;
}

.links_bg2 .link-bnr {
  width: 59.4rem;
  margin: 0 auto;
}

.footer {
  max-width: 75rem;
  margin: 3.4rem auto 2.5rem auto;
}

.footer_logo {
  display: block;
  width: 25.5rem;
  margin: auto;
}

.footer_list {
  display: flex;
  justify-content: space-between;
  margin: 6.5rem auto 0;
  width: 48rem;
}

.footer_list li a {
  display: block;
}

.footer_list li:first-of-type a {
  margin-left: 2rem;
}

.footer_list li:last-of-type a {
  text-align: right;
  margin-right: 30%;
  margin-left: auto;
}

.footer_list img {
  height: 2rem;
  width: auto;
}

form.form-inline {
  display: block;
  margin: 4.5rem auto 0;
  text-align: center;
}

.counter {
  display: flex;
  justify-content: space-evenly;
}

/*lineで送るボタン*/
a img.line_btn {
  width: 50%;
  margin: 1rem auto;

}



/*go to top*/
#PageTopBtn {
  position: fixed;
  bottom: 1rem;
  right: 2rem;
}

#PageTopBtn a img {
  width: 5rem;
  height: 5rem;
  margin: 0 !important;
}

#PageTopBtn a img:hover {
  text-decoration: none;
  opacity: .5;
}



@media screen and (max-width:750px) {
  .sp-only {
    display: block !important;
  }

  .pc-only {
    display: none !important;
  }

  p {
    line-height: 2;
    font-size: 1.4rem;
    margin: 1rem auto;
  }

  img {
    width: 100%;
    height: auto;
  }

  p img {
    width: 100%;
    margin: 2rem auto;
    display: block;
  }

  .h2,
  h2 {
    font-size: 30px;
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  main {
    overflow: hidden;
    margin: 0 auto;
    display: block;
    text-align: center;
    width: 100%;
  }

  .mainVisual_img {
    width: 100%;
  }

  .mainVisual_catch {
    margin: 10% auto 0%;
  }

  .mainVisual_catch_01 {
    width: 61%;
  }

  .mainVisual_catch_02 {
    width: 63%;
    margin-top: 5%;
    margin-bottom: 9%;
  }

  .mainVisual_ttl {
    width: 67%;
    margin: 8% auto 0;
  }

  .mainVisual_txt {
    width: 72%;
    margin: 6.3% auto 0;
    font-size: 1.6rem;
  }

  /* .annive {
    margin-top: 12.4%;
    padding: .5rem 1.5rem 13rem;
  } */
  .annive {
    margin-top: 12.4%;
    padding: 1% 3% 29%;
  }

  .annive_ttl {
    margin-top: -3rem;
    width: 61%;
    min-width: 114px;
  }

  .annive_txt {
    width: 98%;
    margin: 8% auto -10%;
  }

  .form_txt {
    width: 80%;
    margin: 5% auto 0;
    font-size: 1.6rem;
  }

  .form_txt img {
    margin: 0;
  }

  .count {
    padding: 6% .5rem 7%;
    margin: 0 auto;
    width: 95%;
  }

  .count_ttl {
    width: 64%;
  }

  .design {
    margin-top: 30%;
  }

  .design_txt {
    width: 60%;
    margin: 0 auto 0;
    padding-top: 2rem;
  }

  .design_ttl {
    width: 88%;
    min-width: 59px;
    margin-top: -45%;
  }

  .design_bg {
    margin: 4% auto 0;
    padding: 0 9% 8%;
  }

  .design_bg img {
    margin: 0;
  }

  .design_ring {
    padding-top: 15%;
    margin: 0 auto;
  }

  .design_ring img {
    width: 83%;
    margin: 0 auto;
    margin-top: -7rem;
  }

  .design_ring p {
    padding: 7% 0 0;
  }

  .design-wrap {
    background-size: 100%;
    padding: 0 0 4.1rem 0;
    background-position: 0% 108.5%;
  }

  .insta {
    margin-top: 22%;
  }

  .insta_bg {
    margin-top: -4rem;
    background-size: 100%;
    background-repeat: no-repeat;
  }

  .insta_ttl {
    width: 25%;
    min-width: 95px;
    margin-top: -8rem;
  }

  .image-map {
    text-align: center;
    width: 39.5rem;
    margin: -4rem auto 0 auto;
}

  .insta_bg {
    padding: 12% 0 10%;
  }

  .insta_acct {
    margin: 9% auto 0;
  }

  .insta_acct_txt {
    margin: 2% auto 0;
  }

  .insta_txt {
    width: 45%;
    margin: 0 auto;
  }

  .insta_txt img {
    margin-top: 5% !important;
  }

  .insta_list li {
    width: calc(80% / 3);
  }

  .insta_acct {
    width: 46%;
    margin: -8px auto 0 auto;
  }

  .insta_acct_txt {
    width: auto;
    margin: 2% auto 0;
    font-size: 1.4rem;
  }

  .insta_img {
    width: 76%;
    margin: -21% auto 9%;
  }


  .formtxt {
    font-size: 11px;
  }

  form.form-inline {
    margin: 7% auto 0;
  }

  .btn {
    margin: 2% auto !important;
  }

  .btn span {
    font-size: 1.6rem;
  }

  .share_txt {
    width: 40%;
    margin: 1.75rem auto 0;
  }

  .share_icon {
    width: 100%;
    margin: 2% auto 0;
    justify-content: center;
    align-items: center;
  }

  .share_icon li {
    margin: 0 1rem;
    max-width: 4.6rem;
    height: auto;
  }

  .share_icon li:first-of-type {
    margin: 0 1rem;
    max-width: 4.1rem;
    height: auto;
  }

  .share_icon img {
    width: 100% !important;
    height: auto !important;
  }

  .share_ttl {
    font-size: 2rem;
    margin: 0 0 2%;
  }

  .share p img {
    margin: 0;
  }

  .sns_ill_01,
  .sns_ill_02 {
    margin: 0;
  }

  .sha_ttl {
    width: 24.3rem;
    margin: -10rem auto 0 auto;
  }

  .sns_ill_01 {
    width: 26%;
    position: absolute;
    top: 2rem;
    left: 2rem;
  }

  .share_ttl {
    margin: 0 0 2rem;
    padding: 2.3rem 0 0 0;
  }

  .sns_ill_02 {
    width: 30%;
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .share {
    height: 30rem;
  }

  .links {
    margin-top: 31%;
  }

  /* .links_ttl {
    width: 24%;
    min-width: 63px;
  } */

  .links_bg2 {
    padding: 8% 0 5%;
    margin-top: 2rem;
  }

  .link-tit img {
    width: 21.3rem;
    margin: 0 auto;
}
  .links_list {
    margin: 2% auto 0;
    padding: 0% 0 7%;
    max-width: 80%;
  }

  .links_list img {
    width: 100%;
  }

  .links_shop img {
    width: 80%;
  }

  .footer {
    max-width: 100%;
    margin: 6% auto 7%;
  }

  .footer_logo {
    width: 35%;
  }

  .footer_list {
    margin-top: 9%;
    width: 64%;
    min-width: 220px;
  }

  .footer_list li {
    width: 50%;
  }

  .footer_list img {
    height: auto;
    width: 100%;
  }

  .links_bg2 .link-bnr {
    width: 39.4rem;
    margin: 0 auto;
}

.links_ttl {
  width: 15.1rem;
  margin: auto;
  padding-bottom: rem;
}

  .footer_list li:first-of-type a,
  .footer_list li:last-of-type a {
    align-items: center;
    display: flex;
    margin: 0;
  }

  form.form-inline {
    width: 100%;
  }

  .form-inline .form-control {
    display: inline-block;
    font-size: 16px;
    vertical-align: middle;
    height: 3rem;
    width: 100% !important;
  }

  /*lineで送るボタン*/
  a img.line_btn {
    width: 70%;
    margin: 0 auto 1rem;
  }

  /*go to top*/
  #PageTopBtn {
    position: fixed;
    bottom: 5%;
    right: 1rem;
  }

  .links_a {
    position: absolute;
    width: 96%;
    height: 72%;
    z-index: 10000;
    cursor: pointer;
    top: 14%;
    right: -4%;
  }

  .insta {
    margin-top: 0%;
  }
}

@media screen and (max-width:480px) {

  .mainVisual_txt,
  .form_txt,
  .insta_acct_txt {
    font-size: 1.3rem;
    letter-spacing: 0px;
  }

  .annive_txt {
    margin: 2% auto -70px;
  }

  .design {
    margin-top: 45%;
  }

  .insta .image-map {
    margin-top: -2rem;
    width: 80%;
  }

  .sns_ill_01 {
    width: 26%;
    position: absolute;
    top: 2rem;
    left: 2rem;
  }

  .sns_ill_02 {
    width: 30%;
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .design_ttl {
    width: 87%;
    min-width: 59px;
    margin-top: -60%;
    margin-left: 38px;
  }

  .sns_ill_01,
  .sns_ill_02 {
    margin: 0;
  }

  .share {
    height: 30rem;
  }

  .mainVisual_catch_02 {
    width: 48%;
  }

  .annive {
    padding: 1% 3% 45%;
  }

  .design_ring {
    padding-top: 17%;
    margin: 0 auto;
  }

  .insta {
    margin-top: 25%;
  }

  .mainVisual_txt,
  .form_txt,
  .insta_acct_txt {
    font-size: 1rem;
    line-height: 1.6;
  }

  p img {
    margin: 3rem auto;
  }

  .insta_acct_txt {
    width: auto;
    margin: 4% auto 0;
    margin: 1rem auto 0 auto;
    padding: 0 1rem;
  }

  .sha_ttl {
    width: 14.3rem;
    margin-top: -8.5rem;
  }

  .share_ttl {
    font-size: 1.5rem;
    margin: 0 0 4%;
  }

  .links_text {
    top: 51%;
  }

  .insta_ttl {
    margin-top: -6rem;
  }

  .insta_bg {
    padding: 13% 0 8%;
  }

  .share_icon li {
    max-width: 3rem;
    height: auto;
  }

  .links_bg2 {
    margin-top: -4rem;
  }

  .share_icon li:first-of-type {
    height: auto;
    max-width: 2.8rem;
    padding: 0;
  }

  .btn span {
    font-size: 1rem;
  }

  a.btn.disabled {
    padding: 8px 55px;
    border: none;
    display: flex;
    align-items: center;
    width: 2.5rem;
    text-align: center;
    justify-content: center;
  }

  .links_bg2 .link-bnr {
    width: 29.7rem;
    margin: 0 auto;
  }

  .links_bg2 {
    margin-top: 0rem;
  }

  .links_bg2 {
    margin-top: 0rem;
  }

  .link-tit img {
    width: 12.5rem;
    margin: 0 auto;
  }

  .links_bg2 {
    padding: 3rem 0 8%;
  }

  p.link-bnr img {
    margin: 1.5rem auto;
  }

  .sha_bg {
    background-image: url(../../images/2024-sum-100days/link_bg.png);
    padding: 5.5rem 0 46%;
    margin-top: 0rem;
    background-size: cover;
    background-repeat: no-repeat;
  }

  .links {
    margin-top: 10%;
  }



  .insta_ttl {
    width: 25%;
    min-width: 95px;
    margin-top: -6rem;
  }

  .links_ttl {
    width: 10.1rem;
    margin: auto;
    padding-bottom: 1rem;
}

}

@media screen and (max-width:1440px) {
  img {
    width: 100%;
    height: auto;
  }
}

a {
  transition: .2s;
}

a:hover {
  transition: .2s;
  opacity: 70%;
}