* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.img {
  width: 100%;
}
.img img {
  width: 100%;
  vertical-align: bottom;
}

ul li {
  list-style: none;
}

p,
span,
h2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
}

h2 {
  letter-spacing: 0.025em;
  line-height: 1;
  font-size: 3em;
  text-align: center;
  background: linear-gradient(to right, #3ca3c1, #003f51);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
@media (max-width: 620px) {
  h2 {
    font-size: 7vw;
  }
}

h3 {
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
}

a {
  font-family: "Zen Old Mincho", serif;
  text-decoration: none;
  color: inherit;
}
a:hover {
  cursor: pointer;
  opacity: 0.5;
}

.PC {
  display: block;
}
@media (max-width: 768px) {
  .PC {
    display: none;
  }
}

.SP {
  display: none;
}
@media (max-width: 768px) {
  .SP {
    display: block;
  }
}

.wrap-sec {
  padding: 4% 0;
}

.wrap-div {
  max-width: 1200px;
  width: 100%;
  margin: auto;
  padding: 0 2%;
}

.heading {
  align-items: center;
  display: flex;
  justify-content: center;
}
.heading::before, .heading::after {
  background-color: #003343;
  border-radius: 5px;
  content: "";
  height: 2px;
  width: 40px;
}
.heading::before {
  margin-right: 10px;
  transform: rotate(60deg);
}
.heading::after {
  margin-left: 10px;
  transform: rotate(-60deg);
}
@media (max-width: 650px) {
  .heading::before, .heading::after {
    width: 30px;
  }
  .heading::before {
    margin-right: 0;
  }
  .heading::after {
    margin-left: 0;
  }
}

#FOLLOW-CTA {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 999;
}
#FOLLOW-CTA a {
  background-color: #33dd33;
  writing-mode: vertical-rl;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  padding: 32px 16px;
  text-align: center;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}
#FOLLOW-CTA a img {
  width: 40px;
}
@media (max-width: 768px) {
  #FOLLOW-CTA {
    top: auto;
    right: auto;
    bottom: 0;
    transform: none;
    width: 100%;
  }
  #FOLLOW-CTA a {
    writing-mode: horizontal-tb;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px;
    font-size: 1.5em;
  }
  #FOLLOW-CTA a img {
    width: 10%;
  }
  #FOLLOW-CTA a p {
    writing-mode: horizontal-tb;
    margin-left: 4%;
  }
}

.CTA {
  background: linear-gradient(rgba(25, 192, 230, 0.8), rgba(25, 192, 230, 0.8)), url("../img/cta_bg.png");
}
.CTA .container {
  background-color: #fff;
  border-radius: 16px;
  border: 4px solid #0195B7;
  padding-bottom: 4%;
  position: relative;
}
.CTA .container .medicine {
  position: absolute;
  top: 0;
  left: 0;
  width: 16%;
}
.CTA .container .assets {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(45%, -45%) rotate(15deg);
  width: 20%;
}
.CTA .container h3 {
  text-align: center;
  color: #fff;
  background-color: #0195B7;
  padding: 1%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.CTA .container .text {
  text-align: center;
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 4%;
  margin-top: 4%;
}
.CTA .container .text span {
  font-size: 2em;
  background: linear-gradient(to right, #3ca3c1, #003f51);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.CTA .container .heading {
  font-size: 2em;
  font-weight: bold;
  color: #0195b7;
}
.CTA .container .heading::before, .CTA .container .heading::after {
  background-color: #0195b7;
}
.CTA .container a {
  background: linear-gradient(to bottom, #00b900, #77c077);
  font-size: 3em;
  padding: 2% 4%;
  display: block;
  width: 80%;
  border-radius: 50px;
  color: #fff;
  font-weight: bold;
  margin: auto;
  text-align: center;
}
@media (max-width: 1400px) {
  .CTA .container .assets {
    transform: translate(0, 0) rotate(15deg);
  }
}
@media (max-width: 650px) {
  .CTA .container .text {
    font-size: 1.5em;
  }
  .CTA .container .heading {
    font-size: 1.5em;
  }
  .CTA .container a {
    font-size: 2em;
  }
}
@media (max-width: 520px) {
  .CTA .container h3 {
    font-size: 2em;
  }
  .CTA .container .text {
    font-size: 1.2em;
  }
  .CTA .container .heading {
    font-size: 1.2em;
  }
  .CTA .container a {
    font-size: 1.5em;
  }
}
@media (max-width: 400px) {
  .CTA .container h3 {
    font-size: 1.8em;
  }
  .CTA .container .text {
    font-size: 1.1em;
  }
  .CTA .container .heading {
    font-size: 1.1em;
  }
  .CTA .container a {
    font-size: 1.3em;
  }
}

#FV img {
  width: 100%;
  vertical-align: bottom;
}

.marker-text {
  display: inline;
  background: linear-gradient(to bottom, transparent 50%, #7dfbff 50%);
  color: #0f557e;
}