@charset "UTF-8";

body {
  margin: 0;
  padding: 0;
  counter-reset: note-counter;
}

img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

a {
  display: inline-block;
}

p {
  line-height: 1.6;
}

#wrap_contents {
  margin: 0 auto;
  max-width: 640px;
  padding: 0;
}

.mainvisual img {
  display: block;
}

sup {
  vertical-align: super;
  font-size: 12px;
}

/* common */
.ta_c {
  text-align: center;
}

.fw_b {
  font-weight: bold;
}

.fs12 {
  font-size: 12px;
}

.fs18 {
  font-size: 18px;
}

.fs24 {
  font-size: 24px;
}

.plr15 {
  padding: 0 15px !important;
}

.plr50 {
  padding: 0 50px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.logo_wrap {
  display: flex;
  background-image: url(../img/content_bg.png);
  background-repeat: no-repeat;
  background-size: 100%;
}

.bnr_wrap {
  margin-top: 30px;
}

.bnr_list {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

.bnr_wrap .bnr_list li {
  width: 49%;
  display: flex;
}

.comment_wrap p {
  font-size: 12px;
  text-align: left;
}

.comment_wrap p.comment {
  padding-left: 1.2rem;
  text-indent: -1.2rem;
}

.comment_wrap p.comment._02 {
  padding-left: 1.6rem;
  text-indent: -1.6rem;
}

/*
.comment_wrap p.comment::before {
  content: '※';
  margin-left: -1.6rem;
}
  */

.comment_wrap p.comment._num {
  padding-left: 2.3rem;
}

.comment_wrap p.comment._num::before {
  content: "※" counter(note-counter);
  counter-increment: note-counter;
  text-indent: -2.3rem;
  margin-left: -2.3rem;
}

/* content01 */
.content01 {
  padding: 76px 0 76px;
  background-color: #000;
  color: #FFF;
  line-height: 1.8;
}

.content01 .logo_wrap {
  padding: 60px 0 57.6px;
}

.content01 .logo_wrap .logo {
  max-width: 264px;
  margin: 0 auto;
}

/* content02 */
.content02 {
  padding: 1em;
  margin-top: 20px;
}

.content02__heading {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
}

.content02__inner {
  padding: 3em 1em;
  margin-top: 20px;
  background-color: #FFF;
  color: #000;
}

.content02 .logo_wrap {
  padding: 60px 0 57.6px;
}

.content02 .logo_wrap .logo {
  max-width: 264px;
  margin: 0 auto;
}

.list__wrap01:not(:first-child) {
  margin-top: 3em;
}

.list__ttl01 {
  font-size: 21px;
  font-weight: bold;
  line-height: 1.4;
}

.list__sub-ttl01 {
  font-size: 18px;
  &::before {
    content: '|';
    padding-right: 0.2em;
    color: #FF6347;
    font-size: 1em;
    font-weight: normal;
    vertical-align: middle;
  }
}

.list__sub-ttl01-style01 {
  font-size: 16px;
  font-weight: normal;
}

.list__text01 {
  font-weight: bold;
}

.text__mod01 {
  color: #FF6347;
  font-size: 28px;
}

.list__img01 {
  padding-bottom: 10px;
  margin: 10px auto;
  width: 200px;
}

.img__wid01 {
  width: 93.75%;
}

.list__link01 {
  color: #DC143C;
}

.link__pad01 {
  padding: 0 1em;
}

.list__block02 {
  line-height: 1.2;
}

.list__item02 {
  &::before {
    content: '●';
    font-size: 1.5em;
    vertical-align: middle;
  }
}

.list__item03 {
  &::before {
    content: '-';
  }
}

.list__item04 {
  margin-top: 2em;
}

.list__ttl05 {
  font-weight: bold;
}

@media screen and (max-width:640px) {
  .plr15 {
    padding: 0 2.34vw !important;
  }
  
  .plr50 {
    padding: 0 7.81vw !important;
  }
  
  .mt30 {
    margin-top: 4.69vw !important;
  }
  
  .mt40 {
    margin-top: 6.25vw !important;
  }
  
  .mt60 {
    margin-top: 9.38vw !important;
  }

  .bnr_wrap {
    margin-top: 4.69vw;
  }
  
  .bnr_list {
    gap: 1.56vw;
  }
  
  /* content01 */
  .content01 {
    padding: 11.78vw 0;
  }
  
  .content01 .logo_wrap {
    padding: 9vw 0;
  }
  
  .content01 .logo_wrap .logo {
    max-width: 41.25vw;
  }
  
  /* content02 */
  .content02 {
    margin-top: 3.13vw;
    padding-bottom: 6.25vw;
  }
  
  .content02 .logo_wrap {
    padding: 9vw 0;
  }
  
  .content02 .logo_wrap .logo {
    max-width: 41.25vw;
  }  
}

/* floating_btn */
.floating__btn01 {
  position: fixed;
  bottom: 2em;
  left: 50%;
  transform: translateX(-50%);
  width: 84.375%;
  max-width: 540px;
  z-index: 2;
}