@charset "UTF-8";

@font-face {
  font-family: "lineseed";
  src: url("../fonts/lineseed/LINESeedJP_OTF_Th.woff2") format("woff2"),
    url("../fonts/lineseed/LINESeedJP_OTF_Th.woff") format("woff");
  font-weight: 300; /* Light */
  font-style: normal;
}

@font-face {
  font-family: "lineseed";
  src: url("../fonts/lineseed/LINESeedJP_OTF_Rg.woff2") format("woff2"),
    url("../fonts/lineseed/LINESeedJP_OTF_Rg.woff") format("woff");
  font-weight: 400; /* Normal */
  font-style: normal;
}

@font-face {
  font-family: "lineseed";
  src: url("../fonts/lineseed/LINESeedJP_OTF_Bd.woff2") format("woff2"),
    url("../fonts/lineseed/LINESeedJP_OTF_Bd.woff") format("woff");
  font-weight: 700; /* Bold */
  font-style: normal;
}

/* リーリース時には消すこと!!! */
* {
  /* outline: 1px rgba(255, 0, 0, 0.8) solid; */
}
/* 変数の定義 */
:root {
  --content-width: 1000px;
  --min-content-width: 375px;
  --color-1st-title: #fea500;
}
html {
  scroll-behavior: smooth;

  font-family: "lineseed";
  color: #383d5c;
  font-size: clamp(1px, 1.6vw, 16px);
  letter-spacing: -0.05em;
}
main {
  max-width: var(--content-width);
  margin: 160px auto 0;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
section,
div {
  scroll-margin-top: 160px;
}

@media screen and (max-width: 767px) {
  main {
    margin: 60px auto 0;
  }
  section,
  div {
    scroll-margin-top: 60px;
  }
}
section {
  position: relative;
  padding-top: clamp(1px, 40vw, 400px);
}

section:not(:last-of-type) {
  margin-bottom: clamp(1px, 15vw, 150px);
}

.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: initial;
  }
  .pc-only {
    display: none;
  }
}
img {
  display: block;
  width: 100%;
  height: auto;
}
/*  */
.text-orenge {
  color: #fd6404;
}
.text-blue{
  color: blue;
}
.text-bold {
  font-weight: 700;
}
.marker-pink {
  display: inline-block;
  position: relative;
}
.marker-pink::before {
  content: "";
  display: inline-block;
  width: 102%;
  height: 1.2em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(253, 100, 4, 0.5);
  z-index: -1;
}
/*  */
.mb-40 {
  margin-bottom: clamp(1px, 4vw, 40px);
}
.mt-40{
  margin-top: clamp(1px, 4vw, 40px);

}
.sec_inner {
}
.kv_img {
  position: absolute;
  top: 0;
}

/* 1位 */
.rank-1st_div {
  width: 100%;
}
.rank-1st-title {
  width: 100%;
  padding: clamp(1px, 13vw, 130px) 0 clamp(1px, 9vw, 90px);
  position: relative;
  text-align: center;

  z-index: 1;
}
.rank-1st-title::before {
  content: "";
  width: 100%;
  height: clamp(1px, 4.4vw, 44px);
  position: absolute;
  top: clamp(1px, 3vw, 30px);
  left: 0;
  background-color: var(--color-1st-title);
  z-index: -1;
}
.rank-1st-title::after {
  content: "";
  width: 100%;
  height: clamp(1px, 5.6vw, 56px);
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--color-1st-title);
  z-index: -1;
}

.rank-1st-ribbon_img {
  width: clamp(1px, 30.5vw, 305px);
  position: absolute;
  top: 0;
  left: clamp(1px, 4.4vw, 44px);
}
.rank-1st-coin_img {
  width: clamp(1px, 24.6vw, 246px);
  position: absolute;
  top: 0;
  right: 0;
}
.rank-1st-title_h3 {
  /* font-size: 72px; */
  font-size: 4.2rem;
  color: #171515;
}
.rank-3rd-sec01,
.rank-2nd-sec01,
.rank-1st-sec01 {
  width: 100%;
  padding: 0 clamp(1px, 5vw, 50px) clamp(1px, 4vw, 40px);
}
.rank-3rd-sec01-title,
.rank-2nd-sec01-title,
.rank-1st-sec01-title {
  width: 100%;
  padding: clamp(1px, 8vw, 80px) 0 clamp(1px, 10vw, 100px);
  position: relative;
}
.rank-3rd-sec01-title-text,
.rank-2nd-sec01-title-text,
.rank-1st-sec01-title-text {
  display: flex;
  width: 100%;
  height: clamp(1px, 9vw, 90px);

  border: solid 3px #7d7d7d;
  background-color: #78b97f;

  /* font-size: 55px; */
  font-size: 3.4375rem;
  color: white;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.rank-3rd-sec01-title-medal_img,
.rank-2nd-sec01-title-medal_img,
.rank-1st-sec01-title-medal_img {
  width: clamp(1px, 21.3vw, 213px);
  height: auto;
  position: absolute;
  top: clamp(1px, 2.5vw, 25px);
  left: clamp(1px, 6vw, 60px);
}
.rank-3rd-sec02,
.rank-2nd-sec02,
.rank-1st-sec02 {
  width: 100%;
  /* font-size: 30px; */
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: -0.05em;
  color: #02213e;
  padding: 0 clamp(1px, 5vw, 50px) clamp(1px, 5vw, 50px);
}
.rank-3rd-sec03,
.rank-2nd-sec03,
.rank-1st-sec03 {
  width: 100%;
  padding: 0 clamp(1px, 5vw, 50px) clamp(1px, 6vw, 60px);
}
.rank-3rd-sec03-tag_img,
.rank-2nd-sec03-tag_img,
.rank-1st-sec03-tag_img {
  width: clamp(1px, 18.8vw, 188px);
}
.rank-3rd-sec03-text,
.rank-2nd-sec03-text,
.rank-1st-sec03-text {
  border: solid 4px #7d7d7d;
  padding: clamp(1px, 3vw, 30px) 0 clamp(1px, 3vw, 30px) clamp(1px, 3vw, 30px);
  border-radius: clamp(1px, 1vw, 10px);
  /* font-size: 30px; */
  font-size: 1.7rem;
  line-height: 1.6;
}
.rank-3rd-sec03-text-title,
.rank-2nd-sec03-text-title,
.rank-1st-sec03-text-title {
  margin-top: 0.5em;
  padding-left: 1.5em;
  position: relative;
  /* font-size: 33px; */
  font-size: 2.0625rem;
  font-weight: 700;
  line-height: 1.2;
  color: #32b16c;
}
.rank-3rd-sec03-text-title::before,
.rank-2nd-sec03-text-title::before,
.rank-1st-sec03-text-title::before {
  content: "";
  position: absolute;
  top: 0;
  /* left: -1.5em; */
  left: 0;
  width: 1em;
  height: 1em;
  background-image: url("../images/1st-check-a@2x.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
.rank-3rd-sec04,
.rank-2nd-sec04,
.rank-1st-sec04 {
  width: 100%;
  margin-top: clamp(1px, 6vw, 60px);
  padding: 0 clamp(1px, 5vw, 50px) clamp(1px, 8vw, 80px);
  position: relative;
}
.rank-3rd-sec04-text,
.rank-2nd-sec04-text,
.rank-1st-sec04-text {
  padding: clamp(1px, 3vw, 30px) clamp(1px, 5vw, 50px) clamp(1px, 3vw, 30px)
    clamp(1px, 10vw, 100px);
  position: relative;
}

.rank-3rd-sec04-text::after,
.rank-2nd-sec04-text::after,
.rank-1st-sec04-text::after {
  content: "";
  width: 100%;
  height: 100%;

  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  border: solid 2px #dedcda;
  border-radius: clamp(1px, 1vw, 10px);
  /* filter: drop-shadow(0 0 6px rgba(205, 241, 252, 1)); */
  filter: drop-shadow(0 0 6px cyan);
}
.rank-3rd-sec04-text_li,
.rank-2nd-sec04-text_li,
.rank-1st-sec04-text_li {
  position: relative;
  /* font-size: 30px; */
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: -0.05em;
}
.rank-3rd-sec04-text_li::before,
.rank-2nd-sec04-text_li::before,
.rank-1st-sec04-text_li::before {
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: -1.5em;
  transform: translateY(-50%);

  background-image: url("../images/1st-check-b@2x.webp");
  background-repeat: no-repeat;
  background-size: contain;
  letter-spacing: -0.05em;
}
.rank-3rd-sec04-text_li.pos-top::before,
.rank-2nd-sec04-text_li.pos-top::before,
.rank-1st-sec04-text_li.pos-top::before {
  top: 0.4em;
  transform: unset;
}
.rank-3rd-cta,
.rank-2nd-cta,
.rank-1st-cta {
  width: 100%;
  padding: 0 clamp(1px, 5vw, 50px) clamp(1px, 15.5vw, 155px);
  text-align: center;
}
.rank-1st-cta02 {
  width: 100%;
  padding: 0 clamp(1px, 10px, 15px) clamp(1px, 10px, 15px);
  text-align: center;
}
.rank-3rd-cta_p,
.rank-2nd-cta_p,
.rank-1st-cta_p {
  font-size: 2em;
  font-weight: 700;
  padding-bottom: 1em;
}
.rank-3rd-cta_a,
.rank-2nd-cta_a,
.rank-1st-cta_a {
  display: flex;
  width: 100%;
  padding: clamp(1px, 3.2vw, 32px) 0;
  align-items: center;
  justify-content: center;

  border: solid 4px #5f5c5c;
  background-color: #ef454a;
  border-radius: clamp(1px, 1vw, 10px);

  /* font-size: 48px; */
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: white;
  transition: 0.3s;
}
.rank-3rd-cta-img_a,
.rank-2nd-cta-img_a,
.rank-1st-cta-img_a {
  padding: 0 50px;

}
.rank-3rd-cta-img_a_img,
.rank-2nd-cta-img_a_img,
.rank-1st-cta-img_a_img {

  width: 100%;
}


.rank-3rd-cta-img_a:hover,
.rank-2nd-cta-img_a:hover,
.rank-1st-cta-img_a:hover,
.rank-3rd-cta_a:hover,
.rank-2nd-cta_a:hover,
.rank-1st-cta_a:hover {
  opacity: 0.8;
}

/* 短期トレーダーにお勧めの新規登録ボーナスランキング */
.rank-1st-title.bonus-rank {
  padding-top: clamp(1px, 10vw, 100px);
  padding-bottom: clamp(1px, 8vw, 80px);
}
.rank-1st-title.bonus-rank .rank-1st-ribbon_img {
  width: clamp(1px, 18.1vw, 181px);
  left: clamp(1px, 1vw, 10px);
}
.rank-1st-title.bonus-rank .rank-1st-coin_img {
  width: clamp(1px, 22.7vw, 227px);
  top: unset;
  bottom: 0;
}
.rank-1st-title.bonus-rank .rank-1st-title_h3 .bonus-rank_h3 {
  font-size: 3.375rem;
}
.bonus-rank_h3-small {
  font-size: 0.83em;
}
.rank-1st-sec04.bonus-rank {
}
.rank-1st-sec04_img {
  width: clamp(1px, 29vw, 290px);
  position: absolute;
  top: clamp(-55px, -5.5vw, -1px);
  left: clamp(1px, 5vw, 50px);
  z-index: 1;
}
.rank-1st-sec02-arrow_img {
  width: clamp(1px, 33.7vw, 337px);
  margin: 1em auto 0.5em;
}
.rank-1st-sec02-youtube_img {
  width: clamp(1px, 45.6vw, 456px);
  margin: 0 auto;
  transition: 0.3s;
}
.rank-1st-sec02-youtube_img:hover {
  opacity: 0.8;
}
.rank-1st-syokai_img {
  width: clamp(1px, 22vw, 220px);
  position: absolute;
  bottom: 0;
  right: 0;
}

/* 短期トレーダーにお勧めの手数料ランキング */
.rank-1st-title.bonus-rank .rank-1st-coin3_img {
  width: clamp(1px, 31.2vw, 312px);
  position: absolute;
  top: unset;
  bottom: 0;
  right: 0;
}
.move-top-btn-area {
  width: 100%;
  height: clamp(1px, 15vw, 150px);
}
.move-top_a {
  display: block;
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 1em 4em;
  border-radius: clamp(1px, 1vw, 10px);
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  background-color: #e45729;
  border-bottom: clamp(1px, 0.5vw, 5px) solid #b84c00;

  -webkit-box-shadow: 0 clamp(1px, 0.3vw, 3px) clamp(1px, 0.5vw, 5px) rgba(0, 0, 0, 0.3);
  box-shadow: 0 clamp(1px, 0.3vw, 3px) clamp(1px, 0.5vw, 5px) rgba(0, 0, 0, 0.3);

  transition: 0.3s;
}

.move-top_a:hover {
  top: 3px;
  color: #fff;
  background: #e45729;
  border-bottom: 2px solid #b84c00;
}

.pekopeko {
  position: relative;
  animation-delay: 2s;
  animation: pekopeko 2s infinite;
  box-shadow: 0 10px 0 rgb(0, 0, 0, 0.3);
  /* filter: drop-shadow(0 10px 0 rgba(0,0,0,0.3)); */
}
@keyframes pekopeko {
  0% {
    box-shadow: 0 10px 0 rgb(0, 0, 0, 0.3);
  /* filter: drop-shadow(0 10px 0 rgba(0,0,0,0.3)); */
    top: 0px;
  }
  10% {
    box-shadow: 0 0 0 rgb(0, 0, 0, 0.3);
  /* filter: drop-shadow(0 0 0 rgba(0,0,0,0.3)); */
    top: 3px;
  }
  20% {
    box-shadow: 0 10px 0 rgb(0, 0, 0, 0.3);
  /* filter: drop-shadow(0 10px 0 rgba(0,0,0,0.3)); */
    top: 0px;
  }
  30% {
    box-shadow: 0 0 0 rgb(0, 0, 0, 0.3);
  /* filter: drop-shadow(0 0 0 rgba(0,0,0,0.3)); */
    top: 3px;
  }
  40% {
    box-shadow: 0 10px 0 rgb(0, 0, 0, 0.3);
  /* filter: drop-shadow(0 10px 0 rgba(0,0,0,0.3)); */
    top: 0px;
  }
}
.img-shadow{
  width: fit-content;
  margin: 0 auto;
  position: relative;
  /* box-shadow: 0px clamp(1px, 8vw, 8px) 0px rgba(100, 100, 100, 0.3); */
}
.img-shadow::after{
  content: "";
  position: absolute;
  box-sizing: border-box;
  bottom: clamp(-8px, -0.8vw, -1px);
  left: 50%;
  transform: translateX(-50%);
  width: 98%;
  height: clamp(1px, 0.8vw, 8px);
  background-color: #e5e3e2;
  z-index: -1;
}
.img-frame{
  padding: clamp(1px, 0.4vw, 4px);
  border-radius: clamp(1px, 0.8vw, 8px);
  border: solid clamp(1px, 0.4vw, 4px) #333;
}
.img-frame.img-shadow::after{
  bottom: clamp(-12px, -1.2vw, -1px);
  height: clamp(1px, 1.2vw, 12px);
}

/************************************************
    レスポンシブ */

@media screen and (max-width: 767.98px) {
  /* 変更点。0.02引く。 */
  /* ここにSP向けのCSS指定 767.98px以下 */
}
@media screen and (min-width: 768px) {
  /* ここにPC向けのCSS指定 768px以上 */
}

/************************************************
    レスポンシブ */

/* スマホファースト */

@media screen and (min-width: 768px) {
  /* スクリーンサイズが768px以上の場合に適用 */
}

@media screen and (min-width: 1200px) {
  /* スクリーンサイズが1200px以上の場合に適用 */
}

/************************************************
    レスポンシブ */

/* PCファースト */

@media screen and (max-width: 767px) {
  /* ここに767ピクセル以下のモバイルデバイス向けのCSSスタイルを記述 */
}
