html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Segoe UI", Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  width: auto !important;
}

a {
  border: 0;
  outline: none;
  text-decoration: none;
  color: #000;
}

main *,
main *:after,
main *:before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
main ol,
main ul {
  list-style-type: none;
}
main table {
  border-collapse: collapse;
  border-spacing: 0;
}
main sup {
  font-size: 0.6em;
  vertical-align: super;
  position: relative;
}
main img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.btn_pagetop {
  position: fixed;
  z-index: 10;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .btn_pagetop {
    right: 10px;
    bottom: 10px;
  }
}
.btn_pagetop a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.4;
  border: 0;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  .btn_pagetop a img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .btn_pagetop a img:hover {
    opacity: 1;
  }
}

main.top_page {
  color: #fff;
  background-color: #000;
}
main.top_page .wrapper {
  max-width: 1100px;
  margin: 0 auto;
}
main.top_page .kv_block {
  position: relative;
}
main.top_page .kv_block .kv_photo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  text-align: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_photo {
    height: 100vh;
    height: 100svh;
  }
}
main.top_page .kv_block .kv_photo img {
  min-width: 1920px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_photo img {
    min-width: 1000px;
  }
}
main.top_page .kv_block .kv_text {
  position: relative;
  z-index: 1;
  padding: min(6vw, 25px) min(5vw, 40px) 3vw;
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_text {
    padding-bottom: 15vw;
  }
}
main.top_page .kv_block .kv_text .subtitle {
  text-align: center;
}
main.top_page .kv_block .kv_text .subtitle .t1 {
  font-size: min(4.5vw, 20px);
  letter-spacing: 0.04em;
}
main.top_page .kv_block .kv_text .subtitle .t2 {
  margin-top: 10px;
  display: inline-block;
  -webkit-transform: skewX(155deg);
          transform: skewX(155deg);
  color: #fff;
  background-color: #f346e0;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_text .subtitle .t2 {
    -webkit-transform: skewX(165deg);
            transform: skewX(165deg);
  }
}
main.top_page .kv_block .kv_text .subtitle .t2 span {
  display: block;
  -webkit-transform: skewX(-155deg);
          transform: skewX(-155deg);
  font-size: min(5.2vw, 28px);
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.04em;
  padding: 2px min(3vw, 30px);
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_text .subtitle .t2 span {
    -webkit-transform: skewX(-165deg);
            transform: skewX(-165deg);
  }
}
main.top_page .kv_block .kv_text .main_title {
  text-align: center;
  margin-top: min(6vw, 20px);
}
main.top_page .kv_block .kv_text .main_title img {
  max-width: 700px;
  width: 100%;
  height: auto;
}
main.top_page .kv_block .kv_text .main_title span.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
main.top_page .kv_block .kv_text .review {
  text-align: center;
  color: #faad3b;
  font-size: min(6vw, 30px);
  font-family: serif;
  padding-bottom: min(2vw, 10px);
}
main.top_page .kv_block .kv_text .lead {
  padding-top: min(3vw, 20px);
  text-align: center;
  font-size: min(4.5vw, 20px);
  line-height: 2;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_text .lead {
    text-align: left;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.08em;
  }
}
main.top_page .kv_block .kv_text .lead span {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_text .lead span {
    display: inline;
  }
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_text .lead br.nosp {
    display: none;
  }
}
main.top_page .kv_block .kv_text .sponsor {
  margin-top: min(6vw, 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 40px;
}
@media screen and (max-width: 768px) {
  main.top_page .kv_block .kv_text .sponsor {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
main.top_page .kv_block .kv_text .sponsor .sponsor_cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: min(4.5vw, 20px);
}
main.top_page .kv_block .kv_text .sponsor .sponsor_cell .sc_t1 {
  display: block;
  border: solid 1px #fff;
  padding: 5px 15px;
}
main.top_page .kv_block .kv_text .sponsor .sponsor_cell .sc_t2 {
  display: block;
  line-height: 1.3;
  padding-bottom: 4px;
}
main.top_page .kv_block .kv_text .sponsor .sponsor_cell .sc_t2 small {
  font-size: 0.9em;
  letter-spacing: 0.04em;
}
main.top_page .top_body {
  padding: min(10vw, 60px) min(5vw, 40px) 8vw;
  background-image: url(./bg2.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  main.top_page .top_body {
    background-size: cover;
    padding-top: 5vw;
  }
}
main.top_page .top_body .text {
  font-size: min(4vw, 18px);
  line-height: 2;
  margin-top: 1.5em;
}
main.top_page .top_body .top_layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 1100px) {
  main.top_page .top_body .top_layout {
    gap: 3vw;
  }
}
@media screen and (max-width: 767px) {
  main.top_page .top_body .top_layout {
    display: block;
  }
}
main.top_page .top_body .top_layout .top_layout_left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-bottom: 60px;
}
main.top_page .top_body .top_layout .top_layout_left h2.heading {
  padding-top: min(3.2vw, 32px);
  font-size: min(4vw, 36px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.04em;
  text-align: center;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 3px;
}
@media screen and (max-width: 767px) {
  main.top_page .top_body .top_layout .top_layout_left h2.heading {
    padding-top: min(6vw, 32px);
    font-size: min(5.5vw, 36px);
  }
}
main.top_page .top_body .top_layout .top_layout_left h2.heading span {
  display: inline-block;
}
main.top_page .top_body .top_layout .top_layout_left h3.heading {
  margin-top: min(15vw, 80px);
  padding-bottom: 24px;
  font-size: min(3.2vw, 26px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.04em;
  text-align: center;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 3px;
}
@media screen and (max-width: 767px) {
  main.top_page .top_body .top_layout .top_layout_left h3.heading {
    font-size: min(4.8vw, 26px);
  }
}
main.top_page .top_body .top_layout .top_layout_left .grandprix_logo {
  text-align: center;
  padding-bottom: min(10vw, 25px);
}
main.top_page .top_body .top_layout .top_layout_left .grandprix {
  margin: min(5vw, 30px) 0 min(8vw, 40px);
}

main.inside_page {
  color: #000;
  border-bottom: solid 1px #ddd;
  background-color: #f6f2f4;
  background-image: url(./bg3.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}
main.inside_page .wrapper {
  max-width: 1082px;
  margin: 0 auto;
}
main.inside_page .kv_block {
  position: relative;
  color: #fff;
  background-color: #000;
}
main.inside_page .kv_block .kv_photo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  text-align: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
main.inside_page .kv_block .kv_photo img {
  min-width: 1920px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
main.inside_page .kv_block .kv_text {
  position: relative;
  z-index: 1;
  padding: min(3vw, 25px) min(5vw, 40px) 1vw;
}
main.inside_page .kv_block .kv_text .subtitle {
  text-align: center;
}
main.inside_page .kv_block .kv_text .subtitle .t1 {
  font-size: min(4vw, 16px);
  letter-spacing: 0.04em;
}
main.inside_page .kv_block .kv_text .subtitle .t2 {
  margin-top: 10px;
  display: inline-block;
  -webkit-transform: skewX(155deg);
          transform: skewX(155deg);
  color: #fff;
  background-color: #f346e0;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
}
@media screen and (max-width: 768px) {
  main.inside_page .kv_block .kv_text .subtitle .t2 {
    -webkit-transform: skewX(165deg);
            transform: skewX(165deg);
  }
}
main.inside_page .kv_block .kv_text .subtitle .t2 span {
  display: block;
  -webkit-transform: skewX(-155deg);
          transform: skewX(-155deg);
  font-size: min(4.5vw, 20px);
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.04em;
  padding: 2px min(3vw, 30px) 0;
}
@media screen and (max-width: 768px) {
  main.inside_page .kv_block .kv_text .subtitle .t2 span {
    -webkit-transform: skewX(-165deg);
            transform: skewX(-165deg);
  }
}
main.inside_page .kv_block .kv_text .main_title {
  text-align: center;
  margin-top: min(3vw, 20px);
}
main.inside_page .kv_block .kv_text .main_title img {
  max-width: 540px;
  width: 70%;
  height: auto;
}
main.inside_page .kv_block .kv_text .main_title span.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
main.inside_page .kv_block .kv_text .review {
  text-align: center;
  color: #faad3b;
  font-size: min(5vw, 30px);
  font-family: serif;
  line-height: 1;
  padding-bottom: min(4vw, 15px);
}
main.inside_page .kv_block .kv_text .subtitle2 {
  text-align: right;
  max-width: 996px;
  margin: 0 auto;
  font-size: min(3.5vw, 26px);
}
main.inside_page .kv_block .kv_text .subtitle2 span {
  color: #FAAD3B;
  font-size: min(3vw, 20px);
  font-weight: 400;
  padding-left: 5px;
  font-family: serif;
}
main.inside_page .kv_block .kv_text .main_title2 {
  text-align: center;
  margin: min(8vw, 35px) auto 0;
  max-width: 922px;
  padding-bottom: min(8vw, 70px);
}
main.inside_page .kv_block .kv_text .main_title2.platina {
  margin: min(4vw, 15px) auto 0;
}
main.inside_page .kv_block .kv_text .main_title2 .label {
  text-align: center;
  padding-bottom: 15px;
}
main.inside_page .kv_block .kv_text .main_title2 .label span {
  font-size: min(3.5vw, 20px);
  font-weight: 500;
  display: inline-block;
  padding: 1px 50px;
  background-image: linear-gradient(60deg, transparent, #f346e0 50%, transparent);
}
main.inside_page .kv_block .kv_text .main_title2 .mt1 {
  display: block;
  font-size: min(6vw, 42px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding-bottom: min(5vw, 20px);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100% 3px;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
}
main.inside_page .kv_block .kv_text .main_title2 .mt1 span {
  display: inline-block;
}
main.inside_page .kv_block .kv_text .main_title2 .mt2 {
  display: block;
  font-size: min(6vw, 42px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.04em;
  margin-top: min(8vw, 15px);
}
main.inside_page .kv_block .kv_text .main_title2 .mt2 span {
  display: inline-block;
}
main.inside_page .inside_body {
  padding: min(10vw, 60px) min(5vw, 40px) min(10vw, 100px);
}
@media screen and (max-width: 768px) {
  main.inside_page .inside_body {
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  main.inside_page .inside_body {
    padding-top: 5vw;
  }
}
main.inside_page .inside_body .section_block + .section_block {
  margin-top: min(10vw, 100px);
}
main.inside_page .inside_body .text {
  font-size: min(4vw, 18px);
  line-height: 2;
  margin-top: 1.5em;
}
main.inside_page .inside_body .text.fw_m {
  font-weight: 500;
}
main.inside_page .inside_body .note {
  font-size: min(3vw, 12px);
  line-height: 1.52;
  margin-top: 1.8em;
}
main.inside_page .inside_body .note li + li {
  margin-top: 5px;
}
main.inside_page .inside_body .inside_layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
  padding-top: 20px;
}
@media screen and (max-width: 1100px) {
  main.inside_page .inside_body .inside_layout {
    gap: 3vw;
  }
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout {
    display: block;
  }
}
main.inside_page .inside_body .inside_layout .inside_layout_left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left {
    padding-bottom: 15vw;
  }
}
main.inside_page .inside_body .inside_layout .inside_layout_left h2.sec_ttl {
  color: #fff;
  font-size: min(4vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 4px;
  background-color: #000;
  text-align: center;
}
main.inside_page .inside_body .inside_layout .inside_layout_left .cname {
  font-size: min(4.5vw, 28px);
  font-weight: 500;
  padding: 10px;
  border-bottom: solid 1px #000;
  text-align: center;
}
main.inside_page .inside_body .inside_layout .inside_layout_left h3.heading {
  color: #4384DE;
  padding-top: min(2vw, 20px);
  font-size: min(4vw, 40px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1100px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left h3.heading {
    font-size: 3.5vw;
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left h3.heading {
    padding-top: min(6vw, 32px);
    font-size: min(6vw, 36px);
  }
}
main.inside_page .inside_body .inside_layout .inside_layout_left h3.heading span {
  display: inline-block;
}
main.inside_page .inside_body .inside_layout .inside_layout_left h4.heading {
  padding-top: min(8vw, 80px);
  padding-bottom: min(4vw, 24px);
  font-size: min(3.2vw, 28px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.04em;
  text-align: center;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 3px;
}
@media screen and (max-width: 1100px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left h4.heading {
    font-size: 3vw;
    letter-spacing: 0.02em;
  }
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left h4.heading {
    font-size: min(4.8vw, 26px);
  }
}
main.inside_page .inside_body .inside_layout .inside_layout_left h4.heading span {
  display: inline-block;
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(3vw, 30px);
  padding: min(4vw, 40px) 0;
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block {
    padding: 8vw 0 3vw;
  }
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block.noheading {
  padding: 0 0 min(4vw, 40px);
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block.noheading {
    padding: 0 0 3vw;
  }
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block.set {
  gap: 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block.set .profile_block_top {
  padding-bottom: min(2vw, 15px);
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .profile_block_left {
  width: 48%;
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .profile_block_right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .profile_block_harf {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .pt1 {
  font-size: min(2.6vw, 26px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .pt1 {
    font-size: min(4.2vw, 24px);
  }
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .pt1 small {
  font-size: 0.7em;
}
main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .pt2 {
  margin-top: 0.5vw;
  font-size: min(1.7vw, 17px);
  font-weight: 500;
}
@media screen and (max-width: 1100px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .pt2 {
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 767px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .pt2 {
    font-size: min(2.5vw, 16px);
  }
}
@media screen and (max-width: 1100px) {
  main.inside_page .inside_body .inside_layout .inside_layout_left .profile_block .pt2 br.nosp {
    display: none;
  }
}
main.inside_page .company_block {
  margin-top: min(12vw, 80px);
  padding-top: min(12vw, 80px);
  padding-bottom: 50px;
  text-align: center;
  border-top: solid 1px #707070;
}
main.inside_page .company_block .com_name {
  font-size: min(5vw, 35px);
  font-weight: 700;
}
main.inside_page .company_block .com_link {
  font-size: min(4vw, 18px);
  font-weight: 500;
  margin-top: min(2vw, 20px);
}
main.inside_page .company_block .com_link a {
  color: #4384DE;
}
@media (hover: hover) and (pointer: fine) {
  main.inside_page .company_block .com_link a:hover {
    color: #2364ff;
    text-decoration: underline;
  }
}
main.inside_page .company_block .com_link + .com_name {
  margin-top: min(12vw, 80px);
}
main.inside_page .fig_block {
  text-align: center;
  padding: min(6vw, 60px) 0 min(4vw, 40px);
}
main.inside_page .fig_block img {
  background-color: #fff;
}
main.inside_page .fig_block figcaption {
  padding-top: min(2vw, 20px);
  font-size: min(3.5vw, 16px);
}
main.inside_page .fig_block figcaption span {
  display: inline-block;
}

.navi_block {
  width: 300px;
  padding-bottom: min(4vw, 40px);
}
@media screen and (max-width: 980px) {
  .navi_block {
    width: 25vw;
  }
}
@media screen and (max-width: 767px) {
  .navi_block {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }
}
.navi_block h4.heading {
  font-size: min(5vw, 20px);
  text-align: center;
  font-family: serif;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 2px;
  padding-bottom: 20px;
}
.navi_block ul {
  list-style-type: none;
}
.navi_block ul a {
  display: block;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-size: min(4.5vw, 16px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding: 13px 10px 18px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background-image: -webkit-gradient(linear, left top, right top, from(#faad3b), color-stop(59%, #f346e0), to(#4384de));
  background-image: linear-gradient(90deg, #faad3b, #f346e0 59%, #4384de);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 2px;
}
@media screen and (max-width: 980px) {
  .navi_block ul a {
    font-size: 1.4vw;
    padding: 13px 7px 18px;
  }
}
@media screen and (max-width: 767px) {
  .navi_block ul a {
    padding: 13px 10px 18px;
    font-size: min(4.5vw, 16px);
  }
}
.navi_block ul a p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1vw, 12px);
}
@media screen and (max-width: 767px) {
  .navi_block ul a p {
    gap: 2vw;
  }
}
.navi_block ul a span.cname {
  font-size: min(5vw, 18px);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 6px;
  display: inline-block;
}
@media screen and (max-width: 980px) {
  .navi_block ul a span.cname {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 767px) {
  .navi_block ul a span.cname {
    font-size: min(4.5vw, 18px);
  }
}
.navi_block ul a span.arrow {
  margin-top: 5px;
  display: block;
  background-image: url(./li2.png);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 16px;
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 980px) {
  .navi_block ul a span.arrow {
    margin-top: 0.2vw;
    background-size: 1.6vw;
    width: 1.6vw;
    height: 1.6vw;
  }
}
@media screen and (max-width: 767px) {
  .navi_block ul a span.arrow {
    margin-top: 5px;
    background-size: min(4vw, 16px);
    width: min(4vw, 16px);
    height: min(4vw, 16px);
  }
}
.navi_block ul a span.arrow.org {
  background-image: url(./li1.png);
}
.navi_block ul.top_navi a {
  color: #ddd;
}
@media (hover: hover) and (pointer: fine) {
  .navi_block ul.top_navi a:hover {
    color: #fff;
    background-color: #2f2c6c;
  }
}
.navi_block ul.top_navi a span.cname.col {
  color: #faad3b;
  letter-spacing: 0;
}
.navi_block ul.inside_navi a {
  color: #000;
}
@media (hover: hover) and (pointer: fine) {
  .navi_block ul.inside_navi a:hover {
    background-color: #f2e0fa;
  }
}
.navi_block ul.inside_navi a span.cname.col {
  color: #F346E0;
  letter-spacing: 0;
}

.banner_plaid {
  margin-top: 40px;
  text-align: center;
}
.banner_plaid a {
  display: block;
  background-color: #4384DE;
  padding: 20px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .banner_plaid a {
    padding: 6vw 4vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  .banner_plaid a:hover {
    background-color: #5394ee;
    -webkit-box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.3);
            box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.3);
  }
  .banner_plaid a:hover .bt1 {
    color: #5394ee;
  }
}
.banner_plaid a .bt1 {
  padding: 10px;
  border-radius: 100px;
  color: #4384DE;
  background-color: #fff;
  font-weight: 700;
  font-size: 26px;
}
@media screen and (max-width: 980px) {
  .banner_plaid a .bt1 {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .banner_plaid a .bt1 {
    padding: 2vw;
    font-size: min(5vw, 24px);
    line-height: 1.3;
  }
}
.banner_plaid a .bt1 span {
  display: inline-block;
}
.banner_plaid a .bt2 {
  color: #fff;
  padding: 15px 0 0;
  font-size: 18px;
}
@media screen and (max-width: 980px) {
  .banner_plaid a .bt2 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .banner_plaid a .bt2 {
    font-size: min(4.2vw, 16px);
  }
}
.banner_plaid a .bt2 span {
  display: inline-block;
}