@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=Noto+Sans+JP:wght@100..900&family=Outfit&display=swap');

* {
  box-sizing: border-box;
}

::after,
::before {
  box-sizing: inherit;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p {
  margin: 0;
}

h1,
h2,
h3 {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  font-weight: 700;
}

dl {
  margin: 0;
}

dd {
  margin-left: 0;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul:not([class]) {
  margin: 1em 0 0 1.5em;
  list-style: disc;
  font-weight: 400;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

b,
strong {
  font-weight: 700;
}

em {
  font-style: normal;
  display: inline-block;
}

img {
  border-style: none;
  vertical-align: bottom;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

#global-container {
  overflow: hidden;
}

*,
:after,
:before {
  box-sizing: border-box;
}

:root {
  --link: #cf1225;
  --bk: #222222;
  --pink: #ff0978;
  --yellow: #ffbd2a;
  --yellow2: #ffff00;
  --gold: #c08f00;
  --orange: #ff8730;
  --portas: #cf1225;
  --fs14: clamp(1.3rem, 1.07vw, 1.4rem);
  --fs16: clamp(1.4rem, 1.23vw, 1.6rem);
  --fs18: clamp(1.5rem, 1.38vw, 1.8rem);
  --fs20: clamp(1.5rem, 1.53vw, 2rem);
  --fs22: clamp(1.6rem, 1.69vw, 2.2rem);
  --fs24: clamp(1.6rem, 1.84vw, 2.4rem);
  --fs26: clamp(1.6rem, 2vw, 2.6rem);
  --fs27: clamp(1.6rem, 2.08vw, 2.7rem);
  --fs28: clamp(1.6rem, 2.15vw, 2.8rem);
  --fs30: clamp(1.8rem, 2.3vw, 3rem);
  --fs32: clamp(2rem, 2.46vw, 3.2rem);
  --fs34: clamp(2rem, 2.61vw, 3.4rem);
  --fs36: clamp(2rem, 2.76vw, 3.6rem);
  --fs38: clamp(2rem, 2.92vw, 3.8rem);
  --fs40: clamp(2.2rem, 3.07vw, 4rem);
  --fs42: clamp(2.2rem, 3.23vw, 4.2rem);
  --fs46: clamp(2.2rem, 3.53vw, 4.6rem);
  --fs48: clamp(2.2rem, 3.69vw, 4.8rem);
  --fs50: clamp(2.4rem, 3.84vw, 5.0rem);
  --fs52: clamp(2.4rem, 4vw, 5.2rem);
  --fs58: clamp(2.4rem, 4.46vw, 5.8rem);
  --fs64: clamp(2.4rem, 4.92vw, 6.4rem);
  --fs80: clamp(4rem, 6.14vw, 8rem);
  --sz10: clamp(10px, 0.76vw, 10px);
  --sz15: clamp(10px, 1.15vw, 15px);
  --sz20: clamp(10px, 1.53vw, 20px);
  --sz30: clamp(15px, 2.3vw, 30px);
  --sz40: clamp(20px, 3.07vw, 40px);
  --sz50: clamp(15px, 3.84vw, 50px);
  --sz80: clamp(40px, 6.14vw, 80px);
  --sz110: clamp(40px, 7.69vw, 100px);
}

html {
  font-size: 62.5%;
  line-height: 1.6;
  height: 100%;
}

body {
  color: #000;
  background-color: #fff;
  font-size: var(--fs16);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  max-width: 100vw;
  min-width: 350px;
  width: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
}

main strong {
  font-weight: 700;
  color: var(--yellow);
}

main b {
  font-weight: 700;
  color: var(--pink);
}

main a {
  color: var(--portas);
  text-decoration: underline;
  position: relative;
}

a:hover {
  color: var(--blown);
  text-decoration: none;
}

a:hover img {
  text-decoration: none;
  transition: all 0.4s;
}

section a[target="_blank"]:after {
  content: url(../img/icon_blank.svg);
  width: 16px;
  margin: 0 0.5rem;
  line-height: 16px;
  display: inline-block;
  text-indent: initial;

  @media screen and (max-width: 768px) {
    width: 13px;
  }
}

a.link {
  text-decoration: none;
  font-weight: 500;
  color: var(--portas);
}

a.link:hover {
  color: var(--portas);
  text-decoration: underline;
}

a.link:before {
  content: "";
  display: inline-block;
  background: var(--portas);
  width: 10px;
  height: 10px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-right: 10px;
}

a.link[href*=".pdf"]:after,
main a[href*=".pdf"]:after {
  content: "PDF";
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  width: auto;
  display: inline-block;
  margin-left: .5em;
  background: var(--portas);
  font-size: var(--fs14);
  padding: 2px 4px;
  border-radius: 2px;
  line-height: 1;
  color: #fff;
}

a,
a:before,
button,
input {
  transition: all 0.4s;
}

@keyframes scrollDownLine {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }

  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

.header {
  top: 0;
  width: 100%;
  height: 80px;
  padding: 0 50px;
  transition: all 0.3s;
  z-index: 10;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 980px) {
  .header {
    padding: 0 20px;
    height: 60px;
  }

  .header__logo {
    width: 120px;
  }
}

@media screen and (max-width: 768px) {
  .header {
    flex-direction: column;
    padding: var(--sz10);
    height: auto;
    gap: var(--sz10)
  }
}

.loginbtn {
  display: block;
  background: var(--portas);
  color: #fff;
  padding: 5px var(--sz20);
  border-radius: 100px;
}

.loginbtn:hover {
  background: var(--pink);
  color: #fff;
}

/*///////////////////////MainVisual///////////////////////*/
.mv {
  width: 100%;
  background: #000 url(../img/mv_bg.png) no-repeat 50% 0 / 100%;
  overflow: hidden;
  position: relative;
}

.mv>.inner {
  width: 1300px;
  max-width: 100%;
  margin: auto;
  height: clamp(185px, 26vw, 338px);

  @media screen and (max-width: 620px) {
    flex-direction: column-reverse;
    align-items: center;
  }
}

.box_mv {
  padding: min(5.38vw, 70px) min(3.84vw, 50px);
  z-index: 2;
  position: relative;
}

br.only__mv {
  @media screen and (max-width: 431px) {
    display: none;
  }

  @media screen and (min-width: 768px) {
    display: none;
  }
}

br.only__mv2 {
  @media screen and (min-width: 620px) {
    display: none;
  }
}

.box_mv h1 {
  font-size: var(--fs36);
  color: #fff;
  line-height: 1;
  letter-spacing: .04em;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: min(2.92vw, 38px);

  @media screen and (max-width: 430px) {
    flex-direction: column;
    align-items: center;
  }
}

.box_mv h1 img {
  width: clamp(200px, 43.84vw, 570px);
}

.box_mv h1 b {
  font-size: var(--fs40);
  color: var(--pink);
  font-weight: 700;
  letter-spacing: 0;
  margin-right: .08em;
}

.box_mv h1 b em {
  font-size: var(--fs42);
  letter-spacing: .08em;
  margin-right: -.08em;
}

.box_mv p {
  font-size: var(--fs34);
  color: #fff;
  margin-top: min(3.84vw, 50px);
  text-align: center;
}

.blurred-image {
  animation: gummyBlur 70s infinite alternate;
  position: absolute;
  opacity: 0.8;
  left: -70%;
  top: -50%;
  rotate(20deg);
}

.blurred-image2 {
  animation: gummyBlur 50s infinite alternate;
  position: absolute;
  opacity: 0.6;
  right: -70vw;
  bottom: -85vw;
}

@keyframes gummyBlur {
  0% {
    transform: scale(1)translateY(-10%);
  }

  50% {
    transform: scale(1.2)rotate(180deg);
  }

  100% {
    transform: scale(1) rotate(360deg)translateY(10%);
  }
}

.wrap_price {
  background: var(--pink);
}

.wrap_price .inner {
  max-width: 1300px;
  background: url(../img/select_bg.jpg) no-repeat right 0 / cover;
  padding: var(--sz20) var(--sz50);
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.box_selection {
  white-space: nowrap;
  font-size: var(--fs40);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: flex-end;

  @media screen and (max-width: 768px) {
    flex-direction: column;
    align-items: center;
  }
}

.box_selection h2 {
  display: inline-block;
  font-size: var(--fs52);
  border-bottom: solid 4px #000;
  padding-bottom: var(--sz10);
  padding-right: var(--sz10);

  @media screen and (max-width: 768px) {
    border-bottom: none;
  }
}

.box_price {
  background: #000;
  color: var(--yellow);
  display: inline-block;
  font-size: var(--fs40);
  padding: var(--sz10);
  line-height: 1;
}

.box_price b.price {
  font-size: var(--fs80);
  margin-left: var(--sz10);
}

.box_price small {
  font-size: 50%;
}

.arrow_triple {
  display: flex;
  gap: min(4px, .3vw);
  margin: var(--sz50) .5em;
}

.arrow_triple span {
  width: clamp(10px, 2vw, 20px);
  height: clamp(10px, 2vw, 25px);
  background: #000;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}

.box_premium {
  border: 2px solid var(--yellow);
  background: var(--pink);
  color: var(--yellow);
  font-size: var(--fs24);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  margin-top: var(--sz20);
  padding: 0 var(--sz10);
}

.box_premium b {
  font-size: var(--fs30);
}

.box_premium smaller {
  font-size: 67%;
}

.wrap_price p {
  font-size: var(--fs24);
  color: #fff;
  padding: var(--sz15) var(--sz20);
  margin-top: var(--sz20);
  background: rgb(175 6 64 / 80%);
}

/*///////////cont////////////*/
section {
  width: 100%;
  padding: var(--sz50) 0;
}

.box_basic {
  width: 1300px;
  max-width: 100%;
  margin: auto;
  padding: 0 var(--sz50);
  position: relative;
}

#selection {
  background: #000 url(../img/selection_bg.png) no-repeat 50% 50% / 184%;
  color: #fff;
  font-size: var(--fs24);
  font-weight: 400;
}

#selection h2 {
  font-size: var(--fs52);
  line-height: 1;
  color: var(--yellow);
  margin-bottom: var(--sz50);

  @media screen and (max-width: 768px) {
    text-align: center;
  }

  @media screen and (max-width: 430px) {
    font-size: 2rem;
  }
}

#selection .wrap_catch,
#original .wrap_catch {
  gap: min(3.84vw, 50px);
}

#selection .wrap_catch .box_catch {
  color: #fff;
}

#selection .wrap_catch figure,
#original .wrap_catch figure.thumb {
  width: clamp(350px, 46.15vw, 600px);
  flex-shrink: 0;
  display: flex;
  margin: 0;
  flex-direction: column;

  @media screen and (max-width: 430px) {
    width: 100%;
  }
}

#original .wrap_catch figure.thumb {
  @media screen and (max-width: 768px) {
    margin: 0 auto;
  }
}

 .wrap_catch figcaption {
  margin-top: .5em;
  width: 100%;
}

#selection .wrap_catch picture img {
  width: min(30.76vw, 400px);
  position: absolute;
  bottom: max(-3.84vw, -50px);
  right: var(--sz50);
  @media screen and (max-width: 768px) {
  width: min(18.22vw, 140px);
  }

  @media screen and (max-width: 430px) {
    position: static;
    width: 180px;
    margin-bottom: -15px;
  }
}

#selection .wrap_catch:last-child p {
  width: min(60vw, 780px);
  margin: var(--sz50) 0 0;

  @media screen and (max-width: 430px) {
    width: 100%;
  }
}

#original {
  background: var(--yellow) url(../img/original_bg.png) no-repeat right var(--sz40) / 184%;
  font-size: var(--fs24);
  font-weight: 400;
}

#original h2 {
  font-size: var(--fs36);
  line-height: 1;
  color: var(--pink);
  margin-bottom: var(--sz50);
  display: flex;
  align-items: center;

  @media screen and (max-width: 768px) {
    flex-direction: column;
    gap: 10px;
  }
}

#original h2 b {
  color: #fff;
  background: var(--pink);
  font-size: var(--fs52);
  padding: 5px 10px;
  margin: 0 .3em;

  @media screen and (max-width: 430px) {
    font-size: 2rem;
  }
}

#recommend {
  background: #000;
  color: #fff;
  font-size: var(--fs24);
  font-weight: 400;
  padding: var(--sz30) 0 var(--sz50);
}

#recommend h2 {
  font-size: var(--fs52);
  line-height: 1;
  margin-bottom: var(--sz80);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-right: min(13.07vw, 170px);

  @media screen and (max-width: 768px) {
    margin-bottom: var(--sz50);
    margin-right: auto;
  }
}

#recommend h2 div {
  @media screen and (max-width: 600px) {
    width: 100%;
    text-align: center;
  }
}

#recommend h2:before {
  content: "";
  background: url(../img/recommend_icon.png) no-repeat 0 0 / cover;
  width: min(13.07vw, 170px);
  height: min(7.53vw, 98px);
  margin-right: var(--sz10);
}

#recommend h2 b {
  font-size: var(--fs64);
  line-height: 1;
  color: var(--pink);
  letter-spacing: -.1em;
}

#recommend h2 span {
  color: var(--pink);
}

.wrap_recommend {
  display: flex;
  gap: var(--sz30);

  @media screen and (max-width: 768px) {
    flex-direction: column;
  }
}

.wrap_recommend .box_recommend {
  background: var(--pink);
  font-size: var(--fs18);
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-basis: 33.33%;
  padding: var(--sz20);
}

.wrap_recommend .box_recommend dt {
  background: var(--pink);
  font-size: var(--fs22);
  font-weight: 500;
  text-align: center;
  margin-bottom: var(--sz10);
  display: flex;
  flex-direction: column;
  position: relative;
  line-height: 1.4;

  @media screen and (max-width: 768px) {
    flex-direction: row;
    gap: 5px;
    text-align: left;
  }
}

.wrap_recommend .box_recommend dt em {
  position: absolute;
  background: url(../img/recommend_num_bg.png) no-repeat 50% / cover;
  top: max(-6.92vw, -90px);
  left: 50%;
  transform: translate(-50%, 0);
  width: clamp(52px, 8vw, 104px);
  height: clamp(44px, 6.77vw, 88px);
  color: var(--yellow2);
  font-size: var(--fs38);
  display: flex;
  align-items: center;
  justify-content: center;

  @media screen and (max-width: 768px) {
    position: initial;
    transform: translate(0, 0);
  }
}

.wrap_recommend .box_recommend dd {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#course {
  background: url(../img/course_bg.jpg) no-repeat, linear-gradient(90deg, #ffbd2a 0%, #ff0978 50%);
}

.wrap_course {
  display: flex;
  gap: var(--sz50);

  @media screen and (max-width: 768px) {
    flex-direction: column;
  }
}

.box_course {
  background: #fff;
  font-size: var(--fs20);
}

.box_course dt {
  background: #000;
  color: var(--pink);
  padding: var(--sz20) var(--sz15);
  font-size: var(--fs30);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .2em;
  position: relative;

  @media screen and (min-width: 768px) and (max-width: 872px) {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
  }

  @media screen and (max-width: 430px) {
    font-size: 1.5rem;
  }
}

.box_course:last-child dt {
  color: var(--yellow);
}

.box_course dt:before {
  content: "";
  width: var(--sz30);
  height: var(--sz30);
  background: var(--pink);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  position: absolute;
  top: 2px;
  left: 2px;
}

.box_course:last-child dt:before {
  background: var(--yellow);
}

.box_course dt b {
  font-size: var(--fs40);

  @media screen and (max-width: 430px) {
    font-size: 2rem;
  }
}

.box_course:last-child dt b {
  color: var(--yellow);
}

.box_course dt small {
  font-size: var(--fs20);
}

.box_course dd {
  padding: var(--sz15) var(--sz20);
}

.box_course dd b {
  font-size: var(--fs24);
}

.box_course:last-child dd b {
  color: var(--gold);
}

#info {
  background: var(--orange);
  font-size: var(--fs20);
}

#info h3 {
  font-size: var(--fs42);
  text-align: center;
  margin-bottom: var(--sz40);
}

#info .wrap_info {
  background: var(--yellow);
  padding: var(--sz50);
}

.box_info {
  background: #fff;
  padding: var(--sz20);
  margin-bottom: var(--sz40);
}

.box_info:last-child {
  margin-bottom: 0;
}

.box_info dl {
  display: flex;
  gap: var(--sz20);
  font-size: var(--fs18);
  border-bottom: 1px dashed #ccc;
  padding: var(--sz20);

  @media screen and (max-width: 768px) {
    flex-direction: column;
  }
}

.box_info dl dt {
  font-weight: 500;
  flex-basis: 20%;
  flex-shrink: 0;

  @media screen and (max-width: 768px) {
    flex-basis: 100%;
    font-size: 1.8rem;
  }
}

.box_info tr {
  @media screen and (max-width: 430px) {
    display: flex;
    flex-direction: column;
  }
}

.box_info>p {
  font-weight: 400;
}

.box_setprice {
  display: flex;
  gap: var(--sz20);
  margin-top: .8em;
  font-size: var(--fs24);

  @media screen and (max-width: 768px) {
    flex-direction: column;
  }
}

.box_setprice dd {
  font-weight: 500;
  padding-left: var(--sz20);
  border-left: 3px solid #ccc;

  @media screen and (max-width: 768px) {
    padding-top: .8em;
  }
}

.box_setprice dd b {
  font-size: var(--fs32);
  margin-left: .2em;
  line-height: 1;
}

.box_setprice dd small {
  font-size: var(--fs24);
}

.box_setprice dd smaller {
  font-size: var(--fs16);
}

.box_setprice dd .mtH5em small,
.box_setprice dd .mtH5em smaller {
  color: var(--pink);
}

#note {
  background: #000;
}

#note h3 {
  color: #fff;
  font-size: var(--fs42);
  text-align: center;
  letter-spacing: .08em;
  margin-left: .08em;
  margin-bottom: var(--sz40);
}

#faq {
  background: var(--yellow);
  font-size: var(--fs20);
}

#faq h3 {
  font-size: var(--fs42);
  text-align: center;
  letter-spacing: .04em;
  margin-left: .04em;
  margin-bottom: var(--sz40);
}

.wrap_faq {
  background: var(--orange);
  padding: var(--sz50);
}

.box_faq {
  background: #fff;
  padding: var(--sz20) var(--sz50);
}

.box_faq dl {
  padding: var(--sz15) 0;
}

.box_faq dl:not(:last-of-type) {
  font-size: var(--fs20);
  border-bottom: 2px dashed #ccc;
}

.box_faq dl dt {
  display: flex;
  align-items: flex-start;
  line-height: 1.8;
  cursor: pointer;
}

.box_faq dl dt:hover {
  color: var(--pink);
}

.box_faq dl dd {
  margin-top: .3em;
  margin-left: 1.5em;
  line-height: 1.8;
  font-weight: 400;
  display: none;
  font-size: var(--fs18);
}

.box_faq dl dd p {
  display: flex;
  align-items: flex-start;
}

.box_faq dt:before,
.box_faq dd p:before {
  content: "Q";
  font-family: "BIZ UDPGothic";
  font-size: var(--fs20);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: var(--pink);
  margin-right: .5em;
  margin-top: .2em;
  border-radius: 100px;
  aspect-ratio: 1 / 1;
  width: 1.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.5s ease 0s;
}

.box_faq dt.active:before {
  background: var(--yellow);
}

.box_faq dt span {
  content: "";
  display: inline-block;
  background: var(--pink);
  width: 10px;
  height: 10px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-right: var(--sz10);
  margin-top: var(--sz15);
  transition: all 0.5s ease 0s;
}

.box_faq dt.active span {
  transform: rotate(90deg);
  transition: all 0.5s ease 0s;
}

.box_faq dd p:before {
  content: "A";
  background: var(--pink);
}

#notice {
  background: #000;
  color: var(--pink);
  padding-top: 5em;
}

.box_catch {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -.5em;
}

.box_basic h2 b {
  display: inline-block;
}

#selection .wrap_catch {
  display: flex;
  align-items: flex-start;

  @media screen and (max-width: 768px) {
    flex-direction: column;
    align-items: center;
  }
}

#original .wrap_catch {
  display: flex;
  align-items: flex-start;

  @media screen and (max-width: 768px) {
    flex-direction: column-reverse;
  }
}

.box_catch .catch {
  font-size: var(--fs28);
  font-weight: 600;
  line-height: 1.6;
}

.linklist {
  font-size: var(--fs18);
  margin: var(--sz20);
  display: flex;
  gap: var(--sz20);
  flex-wrap: wrap;
}

.linklist .link {
  display: inline-block;
  white-space: nowrap;
}

/*///////////footer////////////*/
.footer {
  height: 150px;
  text-align: center;
  position: relative;
  border-top: 1px solid #b8b8b8;
}

.footer__inner {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  padding: 2rem 0;
}

.footer__inner>div {
  display: grid;
  place-items: center;
}

.footer__inner>div>img {
  margin: 50px auto 0;
}

footer ul li {
  margin: 0 2rem;
  display: inline-block;
}

footer ul li a {
  color: #292929;
  text-decoration: none;
  font-size: 1.4rem;
}

footer ul li a:hover {
  color: #cf1225;
  text-decoration: underline;
}

footer .copy {
  margin: 3rem auto;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 600px) {
  footer .copy {
    flex-direction: column;
  }
}

footer .copy a img {
  width: 180px;
  margin: 0 3rem 3rem;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  line-height: 1;
  z-index: 9;
}

#page-top a {
  background: var(--pink);
  border-radius: 100px;
  text-decoration: none;
  color: var(--blown);
  width: 50px;
  height: 50px;
  text-align: center;
  display: block;
  opacity: 0.9;
  transition: all 0.3s ease;
  position: relative;
}

#page-top a:hover {
  text-decoration: none;
  opacity: 0.5;
}

#page-top a:before {
  position: absolute;
  top: 10px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 20px;
  height: 20px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*-- common -- */
.notice {
  text-indent: -1em !important;
  margin-left: 1em !important;
  font-size: var(--fs14);
}

.tCenter {
  text-align: center !important;
  margin: auto;
}

.tRight {
  text-align: right !important;
  margin: 0;
  padding-right: 50px;

  @media screen and (max-width: 450px) {
    text-align: center !important;
    margin: auto;
  }
}

.mb30 {
  margin-bottom: var(--sz30) !important;
}

.mb40 {
  margin-bottom: var(--sz40) !important;
}

.mb50 {
  margin-bottom: var(--sz50) !important;
}

.mb60 {
  margin-bottom: var(--sz60) !important;
}

.mbH5em {
  margin-bottom: 0.5em !important;
}

.mtH5em {
  margin-top: 0.5em !important;
}

.mt1em {
  margin-top: 1em !important;
}

.mt1Hem {
  margin-top: 1.5em !important;
}

.mt2em {
  margin-top: 2em !important;
}

.mt10 {
  margin-top: var(--sz10) !important;
}

.mt20 {
  margin-top: var(--sz20) !important;
}

.mt30 {
  margin-top: var(--sz30) !important;
}

.mt50 {
  margin-top: var(--sz50) !important;
}

.ml0 {
  margin-left: 0 !important;
}

@media screen and (min-width: 500px) {
  .only__ssp {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .only__sp {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .only__pc {
    display: none !important;
  }
}

/* -------------------------
  Zoom In / Out/fadeInUp
-------------------------- */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.75);
    transform: scale(1.75);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.75);
    transform: scale(1.75);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

.animation {
  opacity: 0;
  will-change: transform;
}

.animated {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
