@charset "UTF-8";
/* --------------------------------------------------
-------------------------------------------------- 関数 */
.txt__center {
  text-align: center;
}

#head {
  position: relative;
  height: 208px;
  background: url("../img/parts/bg_head.jpg") no-repeat top center;
  background-size: cover;
  z-index: 3;
}
@media only screen and (max-width: 1250px) {
  #head {
    height: 16.64vw;
  }
}
@media only screen and (max-width: 768px) {
  #head {
    height: 15.15625vw;
  }
}
#head .logo {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 647px;
}
@media only screen and (max-width: 1250px) {
  #head .logo {
    width: 51.76vw;
  }
}
@media only screen and (max-width: 768px) {
  #head .logo {
    width: 49.53125vw;
  }
}

h1 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  padding: 30px 0 20px;
  gap: 0 25px;
  margin-bottom: 18px;
  background: url("../img/parts/page_ttl_line.png") repeat-x bottom center;
  background-size: auto 6px;
  z-index: 2;
}
@media only screen and (max-width: 1250px) {
  h1 {
    padding: 2.4vw 0 1.6vw;
    gap: 0 2vw;
    margin-bottom: 1.44vw;
  }
}
@media only screen and (max-width: 768px) {
  h1 {
    padding: 4.6875vw 0 1.875vw;
    gap: 0 3.90625vw;
    background-size: auto 0.9375vw;
  }
}
h1 .icon {
  display: block;
}
@media only screen and (max-width: 768px) {
  h1 .icon {
    position: relative;
  }
}
h1 .txt {
  font-size: 52px;
  line-height: 1;
}
@media only screen and (max-width: 1250px) {
  h1 .txt {
    font-size: 4.16vw;
  }
}
@media only screen and (max-width: 768px) {
  h1 .txt {
    font-size: 7.1875vw;
  }
}

#content {
  position: relative;
  margin-bottom: 128px;
}
@media only screen and (max-width: 1250px) {
  #content {
    margin-bottom: 10.24vw;
  }
}
@media only screen and (max-width: 768px) {
  #content {
    margin-bottom: 20vw;
  }
}
#content .share {
  margin: 60px 0 45px;
  text-align: center;
}
@media only screen and (max-width: 1250px) {
  #content .share {
    margin: 4.8vw 0 3.6vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .share {
    margin: 7.03125vw 0;
  }
}
#content .share p {
  position: relative;
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  background-color: #FFEC00;
  border-radius: 30px;
  padding: 10px 20px;
  margin-bottom: 30px;
  border: 1.5px solid #000;
}
@media only screen and (max-width: 1250px) {
  #content .share p {
    font-size: 2.24vw;
    padding: 0.8vw 1.6vw;
    margin-bottom: 2.4vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .share p {
    font-size: 4.375vw;
    border-radius: 7.8125vw;
    padding: 1.5625vw 3.125vw;
    margin-bottom: 3.90625vw;
  }
}
#content .share p::after {
  content: "";
  position: absolute;
  bottom: -13px;
  left: 50%;
  transform: translateX(-50%);
  height: 23px;
  width: 22px;
  background: url("../img/parts/fukidashi.png") no-repeat top center;
  background-size: contain;
}
@media only screen and (max-width: 1250px) {
  #content .share p::after {
    bottom: -1.04vw;
    height: 1.84vw;
    width: 1.76vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .share p::after {
    bottom: -2.34375vw;
    height: 4.21875vw;
    width: 4.21875vw;
  }
}
#content .share ul {
  justify-content: center;
  gap: 0 76px;
}
@media only screen and (max-width: 1250px) {
  #content .share ul {
    gap: 0 6.08vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .share ul {
    gap: 0 5.625vw;
  }
}
@media only screen and (max-width: 1250px) {
  #content .share ul li {
    width: 6.56vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .share ul li {
    width: 12.8125vw;
  }
}
#content .share ul li img {
  width: 100%;
  height: auto;
}
#content .share ul li a {
  display: block;
  transition: all 0.3s ease;
}
#content .share ul li a:hover {
  transform: scale(1.05);
}
#content .btn-top {
  display: flex;
  justify-content: center;
  margin-top: 94px;
}
@media only screen and (max-width: 1250px) {
  #content .btn-top {
    margin-top: 7.52vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .btn-top {
    width: 95.3125vw;
    margin: 9.6875vw auto 23.4375vw;
  }
}
#content .btn-top a {
  display: flex;
  align-items: center;
  font-size: 44px;
  line-height: 1;
  color: #000;
  font-weight: bold;
  padding: 35px 80px;
  border-radius: 100px;
  text-decoration: none;
  border: 6px solid #000;
  transition: all 0.35s ease;
}
@media only screen and (max-width: 1250px) {
  #content .btn-top a {
    font-size: 3.52vw;
    padding: 2.8vw 6.4vw;
    border-width: 0.48vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .btn-top a {
    width: 100%;
    padding: 2.5vw 10.9375vw;
    font-size: 5.46875vw;
    line-height: 1.3;
    border-radius: 23.4375vw;
    text-align: center;
  }
}
#content .btn-top a::before {
  content: "";
  width: 29px;
  height: 29px;
  border-radius: 50px;
  background: url("../img/parts/arrow_wh.svg") no-repeat 7px center #FF0000;
  background-size: 12px auto;
  transition: all 0.35s ease;
}
@media only screen and (max-width: 1250px) {
  #content .btn-top a::before {
    width: 2.32vw;
    height: 2.32vw;
    border-radius: 4vw;
    background-size: 0.96vw auto;
  }
}
@media only screen and (max-width: 768px) {
  #content .btn-top a::before {
    width: 4.53125vw;
    height: 4.53125vw;
    border-radius: 7.8125vw;
    background-size: 1.875vw auto;
    background-position: 1.09375vw center;
  }
}
#content .btn-top a:hover {
  background-color: #FFEC00;
}
#content .btn-top a:hover::before {
  transform: scale(1.3);
}

section .inner {
  position: relative;
  width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 1250px) {
  section .inner {
    width: 96vw;
  }
}
@media only screen and (max-width: 768px) {
  section .inner {
    width: 95.3125vw;
  }
}

.txt-about {
  position: relative;
  font-size: 24px;
  z-index: 2;
}
@media only screen and (max-width: 1250px) {
  .txt-about {
    font-size: 1.92vw;
  }
}
@media only screen and (max-width: 768px) {
  .txt-about {
    font-size: 3.75vw;
    text-align: left;
  }
}

.caution {
  width: 1030px;
  margin: 30px auto;
  padding: 38px 20px;
  box-sizing: border-box;
  background: url("../img/parts/bg_caution.png") repeat-x bottom left, url("../img/parts/bg_caution.png") repeat-x top left #FFF500;
  background-size: auto 18px;
  text-align: center;
}
@media only screen and (max-width: 1250px) {
  .caution {
    width: 82.4vw;
    margin: 2.4vw auto;
    padding: 3.04vw 1.6vw;
    background-size: auto 1.44vw;
  }
}
@media only screen and (max-width: 768px) {
  .caution {
    width: 100%;
    padding: 5.9375vw 3.125vw;
    margin: 4.6875vw auto;
    background-size: auto 2.8125vw;
  }
}
.caution .ttl {
  width: 214px;
  margin: 0 auto 5px;
}
@media only screen and (max-width: 1250px) {
  .caution .ttl {
    width: 17.12vw;
    margin-bottom: 0.4vw;
  }
}
@media only screen and (max-width: 768px) {
  .caution .ttl {
    width: 33.4375vw;
    margin-bottom: 0.78125vw;
  }
}
.caution p {
  font-weight: bold;
}
.caution p a {
  color: #FF0000;
  text-decoration: underline;
  transition: all 0.35s ease;
}
.caution p a:hover {
  text-decoration: none;
}
.caution p span.red {
  color: #FF0000;
}
.caution .txt {
  font-size: 20px;
}
@media only screen and (max-width: 1250px) {
  .caution .txt {
    font-size: 1.6vw;
  }
}
@media only screen and (max-width: 768px) {
  .caution .txt {
    font-size: 3.75vw;
  }
}
.caution .note {
  font-size: 18px;
  margin-top: 1em;
}
@media only screen and (max-width: 1250px) {
  .caution .note {
    font-size: 1.44vw;
  }
}
@media only screen and (max-width: 768px) {
  .caution .note {
    font-size: 2.5vw;
  }
}
.caution .line-box {
  width: 912px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  text-align: left;
  margin: 1em auto 0;
  text-indent: -1em;
  padding: 0.5em 0;
  padding-left: 1em;
}
@media only screen and (max-width: 1250px) {
  .caution .line-box {
    width: 72.96vw;
  }
}
@media only screen and (max-width: 768px) {
  .caution .line-box {
    width: auto;
  }
}