@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

a {
  text-decoration: none; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

body, html {
  width: 100%;
  height: 100%;
  margin: 0;
  word-wrap: break-word;
  font-family: "Noto sans Japanese", "Hiragino sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 1px;
  font-weight: 400;
  scroll-behavior: auto;
  -webkit-font-smoothing: antialiased;
  color: #000; }

@media (max-width: 767px) {
  body, html {
    font-size: 14px;
    line-height: 28px; } }

h1, h2, h3 {
  padding: 0 0 1rem 0; }

h1 small, h2 small, h3 small {
  display: block;
  letter-spacing: 1px;
  line-height: 2em;
  margin-bottom: 1rem; }

h1 span, h2 span, h3 span {
  display: inline-block; }

h1, .h1 {
  font-size: 3rem;
  font-weight: 600;
  line-height: 4rem;
  letter-spacing: 5px; }

@media (max-width: 992px) {
  h1, .h1 {
    font-size: 2.4rem;
    line-height: 3.2rem;
    letter-spacing: 1px; } }

@media (max-width: 767px) {
  h1, .h1 {
    font-size: 2rem;
    line-height: 3.2rem;
    letter-spacing: 1px; } }

h1 small, .h1 small {
  font-size: 0.4em;
  font-weight: 300;
  margin-bottom: 1rem; }

@media (max-width: 767px) {
  h1 small, .h1 small {
    font-size: 0.5em;
    margin-bottom: 0.2rem; } }

h2, .h2 {
  font-size: 3.5rem;
  font-weight: 200;
  line-height: 5rem;
  letter-spacing: 3px; }

@media (max-width: 992px) {
  h2, .h2 {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: 2.5px; } }

h2 small, .h2 small {
  font-size: 0.55em; }

h3, .h3 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 3rem;
  letter-spacing: 3px; }

@media (max-width: 1200px) {
  h3, .h3 {
    font-size: 1.5rem;
    letter-spacing: 1.5px; } }

h4, .h4 {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 1px; }

@media (max-width: 992px) {
  h4, .h4 {
    font-size: 1.2rem; } }

p, .p {
  font-size: 1rem;
  line-height: 2rem; }

.pc {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important; }

@media (max-width: 767px) {
  .pc {
    display: none !important; } }

.pc02 {
  display: block !important; }

@media (max-width: 767px) {
  .pc02 {
    display: none !important; } }

.sp {
  display: none !important; }

@media (max-width: 767px) {
  .sp {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; } }

.sp02 {
  display: none !important; }

@media (max-width: 767px) {
  .sp02 {
    display: block !important; } }

.tablet {
  display: none !important; }

@media (max-width: 963px) {
  .tablet {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; } }

@media (max-width: 767px) {
  .tablet {
    display: none !important; } }

.overflow-x {
  overflow-x: scroll; }

.section {
  padding: 7rem 0; }

@media (max-width: 767px) {
  .section {
    padding: 4rem 0; } }

.section-slim {
  padding: 3rem 0; }

.container {
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px; }

.container-middle {
  overflow: hidden;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 15px; }

.container-slim {
  overflow: hidden;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 15px; }

.container-right {
  overflow: hidden;
  width: 80%;
  margin: 0 0 0 auto;
  padding: 0 0 0 15px; }

@media (max-width: 1440px) {
  .container-right {
    width: 90%; } }

@media (max-width: 767px) {
  .container-right {
    width: auto;
    margin: 0 auto; } }

.container-left {
  overflow: hidden;
  width: 80%;
  margin: 0 auto 0 0;
  padding: 0 15px 0 0; }

@media (max-width: 1440px) {
  .container-left {
    width: 90%; } }

@media (max-width: 767px) {
  .container-left {
    width: auto;
    margin: 0 auto; } }

.sub-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

@media (max-width: 767px) {
  .sub-section {
    display: block; } }

.sub-sectionFlex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media (max-width: 767px) {
  .d-flex {
    display: block; } }

.sub-section-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 3rem 9rem 0; }

@media (max-width: 992px) {
  .sub-section-price {
    margin: 3rem; } }

@media (max-width: 767px) {
  .sub-section-price {
    margin: 3rem 0; } }

.wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

@media (max-width: 767px) {
  .wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; } }

.col-25 {
  width: 25%;
  height: auto;
  margin: 0 15px; }

@media (max-width: 767px) {
  .col-25 {
    width: auto;
    display: block;
    margin: 3rem 0 0; } }

.col-33 {
  width: 33.3%;
  height: auto;
  margin: 0 15px; }

@media (max-width: 767px) {
  .col-33 {
    width: auto;
    display: block;
    margin: 3rem 0 0; } }

.col-40 {
  width: 40%;
  height: auto;
  margin: 0 15px; }

@media (max-width: 767px) {
  .col-40 {
    width: auto;
    display: block;
    margin: 3rem 0 0; } }

.col-45 {
  width: 45%;
  height: auto;
  margin: 0 15px; }

@media (max-width: 767px) {
  .col-45 {
    width: auto;
    display: block;
    margin: 3rem 0 0; } }

.col-50 {
  width: 50%;
  height: auto;
  margin: 0 15px; }

@media (max-width: 767px) {
  .col-50 {
    width: auto;
    display: block;
    margin: 3rem 0 0; } }

.col-55 {
  width: 55%;
  height: auto;
  margin: 0 15px; }

@media (max-width: 767px) {
  .col-55 {
    width: auto;
    display: block;
    margin: 3rem 0 0; } }

.col-60 {
  width: 60%;
  height: auto;
  margin: 0 15px; }

@media (max-width: 767px) {
  .col-60 {
    width: auto;
    display: block;
    margin: 3rem 0 0; } }

.item1 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1; }

@media (max-width: 767px) {
  .item1 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; } }

.item2 {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2; }

@media (max-width: 767px) {
  .item2 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; } }

.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.item-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.item-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }

.content-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.img-maxwidth-100 {
  max-width: 100%; }

.img-width-100 {
  width: 100%; }

.img-width-80 {
  width: 80%; }

.img-width-50 {
  width: 50%; }

.img-radius-corners {
  border-radius: 50px; }

.img-radius-circle {
  border-radius: 50%; }

.contain {
  -o-object-fit: contain;
  object-fit: contain; }

.fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s; }

.around {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around; }

@-webkit-keyframes RightToLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes RightToLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.slidein {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: RightToLeft;
  animation-name: RightToLeft;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1; }

.bound {
  -webkit-animation: key1 .5s ease infinite alternate;
  animation: key1 .5s ease infinite alternate; }

@-webkit-keyframes key1 {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px); } }

@keyframes key1 {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px); } }

.bg {
  z-index: 0; }

.bg.bg-white {
  background-color: #FFF; }

.bg.bg-white-transparent {
  background-color: #FFF; }

@media (max-width: 767px) {
  .bg.bg-white-transparent {
    background-color: rgba(255, 255, 255, 0.9); } }

.bg.bg-black {
  background-color: #000; }

.bg.bg-lightgray {
  background-color: #F1F1F1; }

.bg.bg-darkgray {
  background-color: #363636; }

.bg.bg-red {
  background-color: #BD0017; }

.bg.bg-yellow {
  background-color: #FFA800; }

.bg.bg-blue {
  background: #022544; }

.bg-img {
  background-repeat: no-repeat;
  padding: 2rem 0; }

.bg-img .col-45, .bg-img .col-55 {
  margin: 0; }

.bg-img.bg-img-right {
  background-position: right top; }

@media (max-width: 767px) {
  .bg-img.bg-img-right {
    background-position: center top; } }

.bg-img.bg-img-left {
  background-position: left top; }

@media (max-width: 767px) {
  .bg-img.bg-img-left {
    background-position: center top; } }

.bg-img.bg-img-01 {
  background-image: url(../images/background_image_01-45a808ab0457636a4a0eaad363eb901bfe4fe7cfa286d36b2c99b7108cf41983.jpg); }

.bg-img.bg-img-02 {
  background-image: url(../images/background_image_02-96be0f0d404287948e6062db678afec9070b74bd5f25445710d4b87ddb5e8b9b.jpg); }

.bg-img.bg-img-03 {
  background-image: url(../images/background_image_03-7f63ced56ecee4e2997eb55ec5883e50e711211afde6c4de7ba5439859463532.jpg); }

.bg-img.bg-img-04 {
  background-image: url(../images/background_image_04-086587f51c6aad83420277d3208205934dc20545c3bf2fdbbdb61a7135dbd0af.jpg); }

.bg-img.bg-img-05 {
  background-image: url(../images/background_image_05-910f3fb04168019c6f8d93a213a965af0d8e0e8b26bc6426b8c698f19aec5cc0.jpg); }

.btn {
  display: block;
  width: 100%;
  max-width: 400px;
  padding: 1.2rem 0;
  font-size: 1.5rem;
  letter-spacing: 3px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50vh; }

.btn-subtext {
  font-size: 1.0rem;
  font-weight: 300; }

.btn:hover {
  opacity: 0.8;
  -webkit-transition: background-color 0.1s;
  -o-transition: background-color 0.1s;
  transition: background-color 0.1s; }

.btn.btn-red {
  background-color: #BD0017;
  color: #FFF; }

.btn.btn-red:hover {
  background-color: #FFF;
  color: #BD0017; }

.btn.btn-yellow {
  background-color: #FFA800;
  color: #FFF; }

.btn.btn-yellow:hover {
  background-color: #FFF;
  color: #FFA800; }

.btn.btn-white {
  background-color: #FFF;
  color: #BD0017;
  margin-bottom: 5px;
  max-width: 592px;
  padding: 2rem 0; }

.btn-shadow {
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); }

.circle-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important; }

.circle-flex .circle {
  background-color: #FFF;
  border-radius: 50%;
  height: 280px;
  width: 280px;
  margin: 0 1rem; }

@media (max-width: 767px) {
  .circle-flex .circle {
    height: 140px;
    width: 140px;
    margin: 0 0.5rem; } }

.circle-flex .circle .h4 {
  padding-top: 40px; }

@media (max-width: 767px) {
  .circle-flex .circle .h4 {
    padding-top: 20px; } }

.circle-flex .circle .down {
  font-size: 4rem;
  font-weight: 500;
  line-height: 7rem;
  color: #000; }

@media (max-width: 767px) {
  .circle-flex .circle .down {
    font-size: 3rem;
    line-height: 3rem; } }

.circle-flex .circle .down small {
  font-size: 0.5em; }

.circle-flex .circle .pc-text {
  display: block; }

@media (max-width: 767px) {
  .circle-flex .circle .pc-text {
    display: none; } }

.cv-section {
  position: relative;
  overflow: hidden; }

.cv-section:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 60%;
  margin: 0% -10% 0;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  z-index: -1; }

.cv-section:after {
  content: '';
  position: absolute;
  top: 186px;
  left: 0;
  width: 120%;
  height: 40%;
  z-index: -1; }

@media (max-width: 767px) {
  .cv-section:after {
    top: 128px;
    height: 70%; } }

.cv-section img {
  display: block;
  margin-left: auto;
  width: 450px; }

@media (max-width: 767px) {
  .cv-section img {
    width: 235px; } }

.cv-section .balloon {
  position: absolute;
  border-radius: 20px;
  background: #FFF;
  padding: 1rem 2rem;
  text-align: center;
  margin: 0 0 0 -3rem; }

@media (max-width: 767px) {
  .cv-section .balloon {
    margin: 0;
    padding: 0.8rem 1rem; } }

.cv-section .balloon:before {
  content: "";
  position: absolute;
  top: 60%;
  left: 100%;
  border: 15px solid transparent;
  border-left: 15px solid #FFF; }

@media (max-width: 767px) {
  .cv-section .balloon:before {
    top: 50%; } }

.cv-section .balloon .h1 {
  letter-spacing: 0px; }

.cv-section.cv-bg-blue:before {
  background: #022544; }

.cv-section.cv-bg-blue:after {
  background: #022544; }

.cv-section.cv-bg-blue .balloon {
  border: 5px solid #022544; }

.cv-section.cv-bg-black:before {
  background: #000; }

.cv-section.cv-bg-black:after {
  background: #000; }

.cv-section.cv-bg-black .balloon {
  border: 5px solid #000; }

.cv-section.cv-bg-red:before {
  background: #BD0017; }

.cv-section.cv-bg-red:after {
  background: #BD0017; }

.cv-section.cv-bg-red .balloon {
  border: 5px solid #BD0017; }

.accordionbox dt {
  display: block;
  background: #F1F1F1;
  padding: 2rem;
  margin: 1rem 0 0; }

.accordionbox dd {
  display: none;
  background: #FFF;
  padding: 1rem 2rem; }

.accordionbox .question {
  position: relative; }

.accordionbox .question::after {
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 14px;
  height: 12px;
  background: url(../images/arrow_black-f95dd8382773bcccd867195b98744154fe84e6b8a044ee33c2b22b38df4b0cf3.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }

@media (max-width: 767px) {
  .accordionbox .question::after {
    right: -1rem; } }

.accordionbox .active .question::after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }

.accordionbox .question::after {
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 14px;
  height: 12px;
  background: url(../images/arrow_black-f95dd8382773bcccd867195b98744154fe84e6b8a044ee33c2b22b38df4b0cf3.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }

@media (max-width: 767px) {
  .accordionbox .question::after {
    right: -1rem; } }

.footer {
  background-color: #000;
  color: #fff;
  padding: 1rem 3rem; }

@media (max-width: 992px) {
  .footer {
    padding: 2rem 2rem 4rem; } }

.footer .footer-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.footer .footer-heading {
  width: 100px;
  height: 40px;
  display: inline-block;
  background-image: url(../images/logo_white-b2e1627dc21e0ec7552b14a157a171de5754a2299916018278cc7cf897457052.svg);
  background-size: contain;
  background-repeat: no-repeat;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden; }

  .footer-affiliate {
    font-size: 14px;
    margin-top: 2rem;
  }

  .footer-affiliate-title {
    font-size: 18px;
    font-weight: 500;
    margin: 10px 0;
  }

  .footer-affiliate-content {
    margin-top: 0.5rem;
    line-height: 2.5rem
  }

  .footer-affiliate-bold {
    font-weight: bold;
  }

  .footer-affiliate-link {
    color: #337AB7
  }

  .footer-affiliate-content-small {
    font-size: 12px;
  }

  .footer-affiliate-link {
    color: #337AB7
  }

  .footer-hr {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

.footer .footer-menus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media (max-width: 767px) {
  .footer .footer-menus {
    display: block; } }

.footer .footer-menus a {
  color: inherit;
  font-size: 14px;
  letter-spacing: 0.2px;
  margin: 0 1rem; }

@media (max-width: 767px) {
  .footer .footer-menus a {
    margin: 0; } }

.footer .footer-menus a:hover {
  text-decoration: underline; }

.footer .footer-copy {
  font-size: 12px;
  letter-spacing: 0.2px;
  text-align: right;
  margin-top: 1rem; }

@media (max-width: 767px) {
  .footer .footer-copy {
    text-align: center; } }

.form-area {
  padding: 3rem; }

@media (max-width: 767px) {
  .form-area {
    padding: 2rem 1rem; } }

.form-area .form label {
  font-size: 0.8rem;
  font-weight: 500; }

.form-area .form .required::after {
  display: inline;
  color: #BD0017;
  content: " *"; }

.form-area .form .form-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1rem 0 0; }

@media (max-width: 992px) {
  .form-area .form .form-group {
    display: block;
    padding: 0; } }

.form-area .form .form-group input {
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #ddd;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px; }

.form-area .form .form-group select {
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #ddd;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  background-color: white;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.form-area .form .form-group .form-col-30 {
  width: 30%; }

.form-area .form .form-group .form-col-70 {
  width: 70%; }

@media (max-width: 992px) {
  .form-area .form .form-group .form-col-70 {
    width: 100%; } }

.form-area .form .form-group .form-col-70.inline-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.form-area .form #agreement-checkbox, .form-area .form #mail_delivery_agreement {
  display: none;
  position: absolute; }

.form-area .form #agreement-checkbox:checked + label[for="agreement-checkbox"] {
  color: #BD0017; }

.form-area .form #agreement-checkbox:checked + label[for="agreement-checkbox"]:after, .form-area .form #mail_delivery_agreement:checked + label[for="mail_delivery_agreement"]:after {
  content: "";
  display: block;
  position: absolute;
  top: 22px;
  left: 7px;
  width: 10px;
  height: 20px;
  -webkit-transform: rotate(40deg);
  -ms-transform: rotate(40deg);
  transform: rotate(40deg);
  border-bottom: 3px solid #BD0017;
  border-right: 3px solid #BD0017; }

.form-area .form #mail_delivery_agreement:checked + label[for="mail_delivery_agreement"]:after {
  top: -2px; }

@media (max-width: 767px) {
  .form-area .form #agreement-checkbox:checked + label[for="agreement-checkbox"]:after {
    top: 12px; } }

.form-area .form label[for="agreement-checkbox"], .form-area .form label[for="mail_delivery_agreement"] {
  display: block;
  line-height: 1.5rem;
  padding: 1.5rem 0 2rem;
  position: relative; }

.form-area .form label[for="mail_delivery_agreement"] {
  padding-top: 0; }

@media (max-width: 767px) {
  .form-area .form label[for="agreement-checkbox"], .form-area .form label[for="mail_delivery_agreement"] {
    padding: 1rem 0; }
  .form-area .form label[for="mail_delivery_agreement"] {
    padding-top: 0; } }

.form-area .form label[for="agreement-checkbox"]:before, .form-area .form label[for="mail_delivery_agreement"]:before {
  content: "";
  display: block;
  position: absolute;
  width: 25px;
  height: 25px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: #FFF; }

.form-area .form label[for="agreement-checkbox"] small, .form-area .form label[for="mail_delivery_agreement"] small {
  padding-left: 40px;
  display: block; }

.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  overflow: hidden; }

@media (max-width: 992px) {
  .header {
    height: 52px; } }

.header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 1400px;
  height: 100%;
  margin: 0 auto; }

.header .heading {
  position: absolute;
  left: 20px;
  top: 10px;
  z-index: 2;
  background-size: contain;
  background-repeat: no-repeat;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  height: 50px; }

@media (max-width: 767px) {
  .header .heading {
    width: 100%;
    /*←1行追記*/
    left: 5px;
    height: 30px; } }

.header .heading.techboost {
  background-image: url(../images/logo_black-6e27fa3a5876b489369fdc62a8b36566f2fb760353f616cda4009f1fe86aca13.svg); }

@media (max-width: 767px) {
  /*←sp用追記*/
  .header .heading.techboost {
    background-position: left; } }

.header .heading.techboost-pro {
  background-image: url(../images/logo_white_pro-4ad1ee9f4dea3da5b4ce94d6ac211db82bb6da35c351216b12d570c63496e2c8.svg); }

ul.center {
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }

.li {
  padding: 1rem 2rem; }

.li.li-border-black {
  border-bottom: 1px solid #999; }

.li.li-border-white {
  border-bottom: 1px solid #666; }

.li.li-check-black {
  background: url(../images/check_black-dc48d3766249e9dc5cb95fac6774e7b6f60afdcb1b23b0330ad17c8732c0e75e.svg) left 0 top 1.6rem no-repeat; }

.li.li-check-yellow {
  background: url(../images/check_yellow.svg) left 0 top 1.4rem no-repeat;
  padding-right: 0; }

.li.li-check-red {
  /*←赤色追記*/
  background: url(../images/check_red.svg) left 0 top 1.6rem no-repeat; }

  .medal {
    width: 33%;
    margin: 0 5px; }
  
    .medal img {
      max-width: 100%;
      width: 100%; }
    
    @media (max-width: 992px) {
      .medal {
        margin: 0 2px; } }
    
    @media (max-width: 767px) {
      .medal {
        margin: 0 1px; } }
    
.medal .text {
  font-size: 10px;
  padding-top: 50px;
  line-height: 13px;
  letter-spacing: 0; }

@media (min-width: 1440px) {
  .medal.center .text {
    padding-top: 60px; } }

@media (max-width: 992px) {
  .medal .text {
    padding-top: 30px; } }

@media (max-width: 767px) {
  .medal .text {
    padding-top: 1.25rem;
    margin-bottom: -10px;
    letter-spacing: -2px; }
  
  .medal.center .text {
    padding-top: 1.5rem; } }

@media (max-width: 375px) {
  .medal .text {
    padding-top: 1.5rem; }

  .medal.center .text {
    padding-top: 1.75rem; } }

.medal .consecutive-years {
  font-size: 1.5rem;
  font-weight: bold;
  color: #BD0017;
  margin-bottom: -12px; }

@media (max-width: 1439px) {
  .medal .consecutive-years {
    font-size: 1.25rem; } }

@media (max-width: 992px) {
  .medal .consecutive-years {
    font-size: 1rem;
    margin-top: -5px; } }
  
@media (max-width: 767px) {
  .medal .consecutive-years {
    font-size: 13px;
    margin: 5px 0 -15px; } }

.medal .number {
  font-size: 3rem;
  font-weight: 700;
  color: #BD0017;
  padding-top: 10px; }

@media (min-width: 1440px) {
  .medal .number {
    padding-top: 10px; } }

@media (max-width: 992px) {
  .medal .number {
    font-size: 2.5rem;
    padding-top: 5px; } }

@media (max-width: 767px) {
  .medal .number {
    font-size: 1.7rem; } }

.medal .number small {
  font-size: 0.5em;
  margin: auto -4px; }

.modal-area {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.modal-area .modal-background {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9); }

.modal-area .modal-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
  height: 600px;
  background-color: #fff;
  background-image: url(../images/modal-ea48cc70dbb11c8694b979ad036a01abcd18e3820a199d8db1b96878d9da731e.png);
  background-size: 100%; }

@media (max-width: 767px) {
  .modal-area .modal-wrap {
    background-image: url(../images/modal_sp-d857c59db0967cf2d5b19479c7cd3510f2b48ad65d88bad9984c6f13265305af.png);
    width: 300px;
    height: 450px; } }

.modal-area .modal-close {
  position: absolute;
  top: -40px;
  right: 0;
  cursor: pointer;
  border: 1px solid #000;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.4);
  text-align: center;
  padding: 0 10px;
  color: #999; }

.modal-area .modal-close:hover {
  color: #fff; }

.modal-contents {
  padding: 50px; }

@media (max-width: 767px) {
  .modal-contents {
    padding: 30px 15px; } }

.modal-contents .title {
  font-size: 32px;
  line-height: 43px;
  letter-spacing: 3px;
  margin-bottom: 160px;
  font-weight: 600; }

@media (max-width: 767px) {
  .modal-contents .title {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 1px;
    margin-bottom: 70px; } }

@media (max-width: 767px) {
  .modal-contents ul {
    padding: 15px 8px;
    background: rgba(255, 255, 255, 0.8);
    font-size: 12px; } }

.modal-contents ul li {
  font-weight: 400;
  padding: 0 0 0 20px;
  background: url(../images/icon_star-e5b89f5498c3d54ede3a322b3762146ecd923ec91b0a3070804e13633c457579.svg) left 0 top 8px no-repeat;
  letter-spacing: 0; }

.modal-section {
  position: absolute;
  overflow: hidden;
  bottom: 0;
  padding: 0 45px 30px; }

@media (max-width: 767px) {
  .modal-section {
    padding: 10px 15px 20px; } }

.modal-section:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 120%;
  margin: 0 -10%;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
  z-index: -1;
  background: #000; }

@media (max-width: 767px) {
  .modal-section:before {
    top: 20px;
    -webkit-transform: rotate(-7deg);
    -ms-transform: rotate(-7deg);
    transform: rotate(-7deg); } }

.modal-section .modal-btn {
  background: #BD0017;
  color: #FFF;
  font-weight: 700;
  display: block;
  width: 100%;
  max-width: 450px;
  padding: 28px 0;
  font-size: 1.5rem;
  letter-spacing: 3px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 20px;
  position: relative;
  margin: 15px 0; }

@media (max-width: 767px) {
  .modal-section .modal-btn {
    padding: 14px;
    font-size: 1rem; } }

.modal-section .modal-btn:hover {
  background: #8a0011;
  opacity: 1; }

.modal-section .modal-btn:after {
  content: '';
  display: block;
  position: absolute;
  background: #BD0017;
  border-radius: inherit;
  z-index: -1;
  -webkit-animation: flashing 1s ease-out 0s infinite;
  animation: flashing 1s ease-out 0s infinite; }

@-webkit-keyframes flashing {
  0% {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0.8; }
  100% {
    top: -15px;
    left: -15px;
    bottom: -15px;
    right: -15px;
    opacity: 0; } }

@keyframes flashing {
  0% {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0.8; }
  100% {
    top: -15px;
    left: -15px;
    bottom: -15px;
    right: -15px;
    opacity: 0; } }

.px-xxs {
  padding-left: 1rem;
  padding-right: 1rem; }

.px-xs {
  padding-left: 2rem;
  padding-right: 2rem; }

.px-s {
  padding-left: 3rem;
  padding-right: 3rem; }

@media (max-width: 767px) {
  .px-s {
    padding-left: 2rem;
    padding-right: 2rem; } }

.py-xxs {
  padding-top: 1rem;
  padding-bottom: 1rem; }

.py-xs {
  padding-top: 2rem;
  padding-bottom: 2rem; }

.py-s {
  padding-top: 3rem;
  padding-bottom: 3rem; }

.pt-0 {
  padding-top: 0em !important; }

.pt-xxs {
  padding-top: 1rem !important; }

.pt-xs {
  padding-top: 2rem !important; }

.pt-s {
  padding-top: 3rem !important; }

.mx-xxs {
  margin-left: 1rem;
  margin-right: 1rem; }

.mx-xs {
  margin-left: 2rem;
  margin-right: 2rem; }

.mx-s {
  margin-left: 3rem;
  margin-right: 3rem; }

.mx-auto {
  margin-left: auto;
  margin-right: auto; }

.my-xxs {
  margin-top: 1rem;
  margin-bottom: 1rem; }

.my-xs {
  margin-top: 2rem;
  margin-bottom: 2rem; }

.my-s {
  margin-top: 3rem;
  margin-bottom: 3rem; }

.mt-xxs {
  margin-top: 1rem !important; }

.mt-xs {
  margin-top: 2rem !important; }

.mt-s {
  margin-top: 3rem !important; }

.mt-m {
  margin-top: 4rem !important; }

.mt-l {
  margin-top: 7rem !important; }

.mt-xl {
  margin-top: 9rem !important; }

.mt-xl {
  margin-top: 10rem !important; }

.mb-xxs {
  margin-bottom: 1rem !important; }

.mb-xs {
  margin-bottom: 2rem !important; }

.mb-s {
  margin-bottom: 3rem !important; }

.mb-m {
  /*←スタイル追記*/
  margin-bottom: 4rem !important; }

.mb-l {
  /*←スタイル追記*/
  margin-bottom: 7rem !important; }

@media (max-width: 767px) {
  .sp-mb-l {
    margin-bottom: 3.9rem !important; } }

.mb-xl {
  /*←スタイル追記*/
  margin-bottom: 8rem !important;
  color: #999;
  font-size: 10px; }
  .mb-xl a {
    color: #CB0000;
    text-decoration: underline; }
  @media (max-width: 767px) {
    .mb-xl {
      margin-bottom: 4.5rem !important; } }

.ml-xxs {
  margin-left: 1rem !important; }

.ml-xs {
  margin-left: 2rem !important; }

.ml-s {
  margin-left: 3rem !important; }

.mr-xxs {
  margin-right: 1rem !important; }

.mr-xs {
  margin-right: 2rem !important; }

.mr-s {
  margin-right: 3rem !important; }

.table {
  border-collapse: collapse;
  border-spacing: 8px 0px;
  width: 48%;
  margin: 0 1rem;
  font-weight: 500;
  color: #242424; }

@media (max-width: 767px) {
  .table {
    margin: 0; } }

.table th {
  background-color: #242424;
  color: #fff;
  padding: 2rem 0;
  font-size: 1.5rem; }

.table td {
  padding: 1rem; }

.table tr:nth-child(odd) {
  background-color: #eee;
  color: #666; }

.text-primary {
  color: #000; }

.text-secondary {
  color: #242424; }

.text-tertiary {
  color: #999; }

.text-white {
  color: #FFF; }

.text-red {
  color: #BD0017; }

.text-blue {
  color: #022544; }

.text-yellow {
  color: #FFCF42; }

.font-size-large {
  font-size: 1.5em; }

@media (max-width: 767px) {
  .font-size-large {
    font-size: 1.3rem; } }

.font-size-middle {
  font-size: 0.9em;
  line-height: 2; }

.font-size-small {
  font-size: 0.5em;
  line-height: 1.2rem; }

.font-weight-bold {
  font-weight: 700; }

.text-underline-red {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, rgba(189, 0, 23, 0.3)));
  background: -webkit-linear-gradient(transparent 50%, rgba(189, 0, 23, 0.3) 50%);
  background: -o-linear-gradient(transparent 50%, rgba(189, 0, 23, 0.3) 50%);
  background: linear-gradient(transparent 50%, rgba(189, 0, 23, 0.3) 50%); }

.text-underline-yellow {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, rgba(255, 168, 0, 0.3)));
  background: -webkit-linear-gradient(transparent 50%, rgba(255, 168, 0, 0.3) 50%);
  background: -o-linear-gradient(transparent 50%, rgba(255, 168, 0, 0.3) 50%);
  background: linear-gradient(transparent 50%, rgba(255, 168, 0, 0.3) 50%); }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.title-border-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.title-border-left:before {
  border-top: 1px solid;
  content: "";
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-right: 5rem; }

@media (max-width: 992px) {
  .title-border-left:before {
    margin-right: 1rem; } }

.title-border-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.title-border-right:after {
  border-top: 1px solid;
  content: "";
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 5rem; }

@media (max-width: 992px) {
  .title-border-right:after {
    margin-left: 1rem; } }

.h2-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 90%;
  margin: 0 0 0 auto; }

@media (max-width: 1440px) {
  .h2-area {
    width: auto;
    margin-left: 3rem; } }

@media (max-width: 767px) {
  .h2-area {
    margin-left: 15px; } }

.h2-area .dot-line {
  height: 1px;
  background-color: #000;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 5rem; }

@media (max-width: 992px) {
  .h2-area .dot-line {
    margin-left: 3rem; } }

@media (max-width: 767px) {
  .h2-area .dot-line {
    margin-left: 1.5rem; } }

.h2-area .dot-line:before {
  content: "";
  background: url(../images/dot-71c347b0f859601694867908902e6a3860eb5d47d61e646a6a1b35e6ec12cfde.svg) 0 0 no-repeat;
  padding: 8px; }

@media (max-width: 992px) {
  .h2-area .dot-line:before {
    background-size: 7px;
    padding: 7px; } }

@media (max-width: 767px) {
  .firstview h1 {
    text-align: center; } }

.firstview .col-img {
      width: 50%;
      background-repeat: no-repeat;
      background-position: center 0;
      background-size: cover; }
    
@media (max-width: 767px) {
      .firstview .col-img {
        width: 100%;
        height: 200px;
        background-position: center; } }
    
.firstview .col-img.col-img-01 {
  background-image: url(../images/firstview_image_01-706a81d03ccb90138cd00c8f3153d3feb152dc2a19a47c6bbe014c2740a550a0.jpg); }

.firstview .col-img.col-img-02 {
  background-image: url(../images/firstview_image_02-4873241ea62d2030f28bf0b2606ef31ce13d9d7103f8485e6bdabe142272c44a.jpg); }

.firstview .col-img.col-img-03 {
  background-image: url(../images/firstview_image_03-a2caeffa3c91c77bb070bcd18931e8bb48732b153d389f15b299ab89b11e89ab.jpg); }

.firstview .col-img.col-img-04 {
  background-image: url(../images/firstview_image_08-3.jpg); 

}

@media (min-width: 768px) and (max-width: 992px){
  .firstview .col-img.col-img-04 {
    background-image: url(../images/firstview_image_08-3_tab.jpg); 
  }
  .firstview .col-text h1 small {
    font-size: 0.425em;
    font-weight: 500;
    font-family: "Noto sans Japanese", "Hiragino sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #5A5A5A;
    margin-top: 0.8rem;
  }
}

@media (max-width: 767px){
  .firstview .col-img.col-img-04 {
    background-image: url(../images/firstview_image_08-3_sp.jpg); 
  }
}


  @media (max-width: 767px) {
    /*←sp用追記*/
    .firstview .col-img {
      height: 310px; }
  }
  
.firstview .col-img.col-img-05 {
  background-image: url(../images/firstview_image_05-bfec72f1028c6f8c71f9ffcf24c380f40810314710de126376bea6705248094a.jpg); }

.firstview .col-img.col-img-06 {
  background-image: url(../images/firstview_image_06-91671ca5ed048617169b675d7d6acfde76bba320943eb4263dee3db50e5a7cde.jpg); }

  .firstview .col-text {
    box-sizing: border-box;
    padding: 8rem 4rem 1rem;
    width: 50%; }
  
  @media (min-width: 768px) and (max-width: 992px) {
    .firstview .col-text {
      width: 50%;
      padding: 9rem 3.5971% 1rem; } }
  
  @media (max-width: 767px) {
    .firstview .col-text {
      width: 100%;
      padding: 2rem 15px 1rem; } }
  
  .firstview .col-text h1 {
    font-size: 3.2rem;
    font-family: 'Noto Serif JP', serif;
    text-align: center; 
    letter-spacing: 5px;
  }
    
    @media (min-width: 768px) and (max-width: 992px) {
    .firstview .col-text h1 {
      text-align: left;
      letter-spacing: 3px;
      font-size: 4.1vw;
    }
  }
  
  @media (max-width: 1300px) {
    .firstview .col-text h1 {
      font-size: 2.4rem; } }
  
  @media (max-width: 1100px) {
    .firstview .col-text h1 {
      font-size: 2.2rem; } }
  
  @media (max-width: 767px) {
    .firstview .col-text h1 {
      font-size: 6.9vw;
      margin: -30% -15px 0;
      text-align: left;
      line-height: 1.4; 
      letter-spacing: 1px;
    }
    
    .firstview .col-text h1 .sp-bg {
      background: #ffffff;
      padding: 5px 15px;
      border-radius: 0 5px 0 0; 
    } 
  
  }
  
  .firstview .col-text h1 small {
    font-size: 0.3em;
    font-weight: 500;
    font-family: "Noto sans Japanese", "Hiragino sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #5A5A5A;
    margin-top: 0.8rem; }
  
    @media (min-width: 768px) and (max-width: 992px) {
    .firstview .col-text h1 small {
      font-size: 1.5587vw;
      display: block;
      color: #5A5A5A;
      text-align: center;
      margin-top: 0.4rem;
      margin-bottom: 0;
     } 
     .firstview .medals {
       width: 95.1219%;
       margin: 0 auto;
     }
    
    }

      @media (max-width: 767px) {
    .firstview .col-text h1 small {
      font-size: 3.6vw;
      display: block;
      color: #1D1D1D;
      text-align: center;
      margin-top: 0.4rem; } }
  
.firstview .medals {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 3rem; }

@media (max-width: 992px) {
  .firstview .medals {
    margin-bottom: 2rem; } }

    @media (max-width: 767px) {
      .firstview .medals {
        align-items: center; } }
    
    @media (min-width: 767px) {
      .firstview .btn-top {
        margin: 0 auto; } }
    
    .firstview .btn-top {
      display: block;
      text-align: center;
      width: 100%;
      max-width: 490px;
      font-size: 1.8rem;
      letter-spacing: 3px;
      padding: 11px 0 20px;
      border-radius: 5px;
      font-weight: 500;
      background: rgb(128,3,15);
      background: linear-gradient(90deg, rgba(128,3,15,1) 0%, rgba(228,6,28,1) 100%);
      color: #FFF;
      transition: 0.5s; }
    
    .firstview .btn-top span {
      display: block;
      font-size: 0.8rem;}
    
    @media (max-width: 1200px) {
      .firstview .btn-top {
        font-size: 1.4rem; } }
    
    @media (max-width: 992px) {
      .firstview .btn-top {
        font-size: 1.2rem;
        padding: 0.3rem 0 0.5em;
        margin: 0 auto; 
        line-height: 1.4;
      } }
    
    @media (max-width: 390px) {
      .firstview .btn-top {
        font-size: 4.2vw; 
        max-width: 305px;
      }
      .firstview .btn-top span {
        font-size: 3.0vw;} }

    
    .firstview .btn-top:hover {
      opacity: 0.7; }
    
.btn-entry {
  position: fixed;
  top: 20px;
  right: 30px;
  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;
  padding: 4px 16px;
  width: 250px;
  font-size: 0.8rem;
  border-radius: 50vh;
  background-color: #BD0017;
  color: #FFF;
  border: 2px solid #BD0017;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0.95;
  z-index: 1; }

@media (max-width: 767px) {
  .btn-entry {
    top: auto;
    right: auto;
    bottom: 0;
    border-radius: 0;
    width: 100%;
    opacity: 1; } }

.btn-entry svg {
  fill: #FFF;
  margin-right: 1rem; }

.btn-entry:hover {
  background-color: #FFF;
  color: #BD0017;
  -webkit-transition: background-color 0.5s;
  -o-transition: background-color 0.5s;
  transition: background-color 0.5s; }

.btn-entry:hover svg {
  fill: #BD0017; }

.btn-entryRemoteCampaign {
  position: fixed;
  top: 20px;
  right: 30px;
  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;
  padding: 4px 16px;
  width: 200px;
  font-size: 0.8rem;
  border-radius: 10px;
  background-color: #BD0017;
  color: #FFF;
  border: 2px solid #BD0017;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0.95;
  z-index: 1; }

@media (max-width: 767px) {
  .btn-entryRemoteCampaign {
    top: auto;
    right: auto;
    bottom: 0;
    border-radius: 0;
    width: 100%;
    opacity: 1; } }

.btn-entryRemoteCampaign svg {
  fill: #FFF;
  margin-right: 1rem; }

.btn-entryRemoteCampaign:hover {
  background-color: #FFF;
  color: #BD0017;
  -webkit-transition: background-color 0.5s;
  -o-transition: background-color 0.5s;
  transition: background-color 0.5s; }

.btn-entryRemoteCampaign:hover svg {
  fill: #BD0017; }

.counseling {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

@media (max-width: 767px) {
  .counseling {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }

.counseling img {
  width: 80%; }

@media (max-width: 767px) {
  .counseling img {
    width: 59%; } }

.remoteCampagin-btn {
  -webkit-box-shadow: 3px 3px #575555;
  box-shadow: 3px 3px #575555;
  margin: 80px auto;
  background-color: #D7690C;
  color: #fff;
  max-width: 400px;
  width: 90%;
  font-size: 1.3rem; }

.col-imgConst {
  width: 100%;
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover; }

.col-imgConst.col-img-06 {
  background-image: url(../images/firstview_image_06-91671ca5ed048617169b675d7d6acfde76bba320943eb4263dee3db50e5a7cde.jpg); }

.discount-img {
  width: 120px;
  margin-right: 20px; }

@media (max-width: 767px) {
  .discount-img {
    width: 100px; } }

.col-img-campaignTitle {
  background-image: url(../images/campaign_title-ecf34883bec074985282805c0275e577fb0f790efefbedb308d4922a1c79eb07.jpg); }

.col-img-campaignMain {
  background-image: url(../images/campaign_main-cca15537dfde054001bd399a75ba0389afc2ae54b438c41019411ebf2b491a4f.jpg); }

.col-img-discountTitle {
  background-image: url(../images/discount_title-7dacbc760de81bd3ea1cf176a4523c249f5c1da9b08fbaf48e3a2b6925227b89.jpg); }

.col-img-discount-01 {
  background-image: url(../images/discount1-4661d2bbddfc2e0037d6294047e66d0b7ab2955dae948abb4d13963fc37dbc00.jpg); }

.col-img-discount-02 {
  background-image: url(../images/discount2-3f741de9ac1d563ea419f01fae441b4a93aa696e2da2995b8c36c55465b2f59d.jpg); }

.campaign-home {
  position: absolute;
  right: 5rem;
  z-index: -1;
  width: 100px;
  bottom: 150px; }

.home-balloon {
  position: relative; }

.home-balloon p {
  padding: 1.5rem 2rem 4rem; }

.home-balloon img {
  -o-object-fit: fill;
  object-fit: fill;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1; }

.top-message {
  border-radius: 20px;
  border: 1px solid #BD0017;
  padding: 1rem; }

.campaign-balloon {
  background-image: url(../images/balloon-d4fdd4f04daaaf6c91e2ba7859708c1aeb6e22c1b787ebe01fb2a14e96008a39.png);
  background-size: cover;
  background-position: center bottom;
  padding: 1rem; }

.town {
  position: relative;
  margin-top: 100px; }

@media (max-width: 767px) {
  .town {
    margin-top: 50px; } }

.town::before {
  content: '';
  background-image: url(../images/town-1b72460726bd2e32c3cbe51e41d4a94ac2d77c68ef3220e95f031ea2800263c5.svg);
  position: absolute;
  position: absolute;
  width: 100%;
  height: 100px;
  top: -95px;
  left: 0;
  right: 0;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom; }

.firstview.pro .medals {
  margin-top: 1rem; }

.firstview.pro .medal {
  background: #FFF;
  height: 120px;
  border-radius: 10px; }

@media (max-width: 767px) {
  .firstview.pro .medal {
    height: 80px; } }

.firstview.pro .medal .text {
  color: #022544;
  padding-top: 15px; }

@media (max-width: 767px) {
  .firstview.pro .medal .text {
    padding-top: 10px; } }

.firstview.pro .medal .number {
  color: #000; }

.firstview.pro .btn-top {
  background-color: #FFA800;
  color: #FFF;
  border: solid 1px #FFA800; }

.firstview.pro .btn-top:hover {
  background-color: #FFF;
  color: #FFA800; }

.price-balloon {
  position: absolute;
  border-radius: 10px;
  background: #FFA800;
  color: #FFF;
  padding: 1rem 2rem;
  text-align: center;
  margin: -2rem 0 0 -3rem;
  border: 4px solid #FFA800; }

@media (max-width: 767px) {
  .price-balloon {
    padding: 0.2rem;
    margin: -30px 0 0 -10px; } }

.price-balloon:before {
  content: "";
  position: absolute;
  top: 30%;
  left: 102%;
  border: 10px solid transparent;
  border-left: 10px solid #FFA800; }

@media (max-width: 767px) {
  .price-balloon:before {
    top: 25%; } }

.comparison-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1000px;
  padding-top: 7px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 24px;
  color: #022544; }

@media (max-width: 767px) {
  .comparison-table {
    width: 800px; } }

.comparison-table .line {
  width: 20%;
  margin: 0 5px; }

.comparison-table .line .row {
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.comparison-table .line .row.head {
  height: 80px;
  font-size: 1.2rem;
  color: white;
  background: #022544; }

.comparison-table .line.title {
  color: #000;
  width: 15%; }

@media (max-width: 767px) {
  .comparison-table .line.title {
    width: 12%; } }

.comparison-table .line.techboost {
  width: 25%;
  border: 7px solid #FFA800;
  margin: -7px 5px 14px;
  color: #FFA800; }

.comparison-table .line.techboost .row.head {
  background: #FFA800; }

.comparison-table .line .circle {
  height: 30px;
  width: 30px;
  border: 4px solid #FFA800;
  border-radius: 50%; }

.comparison-table .line .cross {
  width: 30px;
  height: 30px;
  position: relative;
  margin-bottom: 2px; }

.comparison-table .line .cross:after, .comparison-table .line .cross:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 4px;
  margin: -8% 0 0 -50%;
  background: #022544; }

.comparison-table .line .cross:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.comparison-table .line .cross:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.comparison-table .line .triangle {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 25px solid #022544;
  margin-bottom: 5px; }

.comparison-table .line .triangle:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-bottom: 17px solid #FFF;
  margin-left: -14px;
  margin-top: 5px; }

.comparison-table .line .bg-lightgray .triangle:before {
  border-bottom: 17px solid #F1F1F1; }

/*↓新コンテンツ分追記*/
/*選べる2つのコース*/
.course h3 {
  height: 84px;
  padding: 0;
  color: #FFF;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.course h3.bg-black {
  background: #2F2F2F; }

.course h3.bg-red {
  background: #CB0000; }

.course p {
  max-width: 430px;
  margin: 4rem auto; }

@media (max-width: 767px) {
  .course .sub-section > div:first-child {
    margin-bottom: 5rem; } }

/*自分のスタイルに合わせて学習することが可能！*/
.circle-list {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.circle-list li {
  margin-right: 30px;
  width: 100%;
  height: 128px;
  max-width: 128px;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #2F2F2F;
  color: #FFF;
  border-radius: 100%;
  font-size: 1.2rem; }

.circle-list li:last-child {
  margin-right: 0; }

.circle-list li strong {
  font-size: 2.8rem;
  font-weight: 700; }

.circle-list li .sTxt {
  font-size: 1.4rem;
  font-weight: 500; }

.box-red {
  padding: 0.8rem;
  margin-bottom: 1rem;
  border: 1px solid #CB0000;
  font-weight: 700;
  color: #CB0000; }

.cp-text-more {
  display: none;
}

@media (max-width: 767px) {
  .styleBox {
    padding-bottom: 1rem;
  }
  .styleBox h2.h3.mb-l {
    margin-bottom: 3rem !important; }
  .circle-list li {
    margin-right: 15px;
    width: 86px;
    height: 86px;
    max-width: 86px;
    font-size: 1rem; }
  .circle-list li strong {
    font-size: 2rem; }
  .cp-text-more {
    display: block;
    color:rgba(99, 99, 99, 1);
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    position: relative;
    padding-bottom: 20px;
    margin-top: 15px;
  }
  .cp-text-more::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border-right: 15px solid transparent;
    border-top: 15px solid #bebebe;
    border-left: 15px solid transparent; 
  } }

@media (max-width: 767px) and (max-width: 320px) {
  .circle-list li {
    width: 80px;
    height: 80px;
    max-width: 80px;
    margin-right: 10px; }
  .circle-list li strong {
    font-size: 1.8rem; } }

@media (max-width: 767px) {
  .circle-list li .sTxt {
    font-size: 1.4rem; }
  .box-red {
    padding: 0.5rem; }
  .styleBox .bottomTxt {
    font-size: 0.8rem; } }

@media (max-width: 992px) {
  .styleBox h3.h4 {
    font-size: 1.3rem; } }

/*料金*/
.priceTable table,
.priceTable table th,
.priceTable table td {
  border: 1px solid #707070; }

.priceTable table {
  width: 100%;
  margin: 0; }

.priceTable .table tr:nth-child(odd) {
  background: none;
  color: #000; }

.priceTable table .font-weight-normal {
  font-weight: 500; }

.priceTable table .font-size-small {
  font-size: 1rem; }

.priceTable .table_price_01 {
  table-layout: fixed; }

.priceTable .table_price_01 thead {
  font-weight: 700; }

.priceTable .table_price_01 thead th {
  vertical-align: middle; }

.priceTable .table_price_01 thead th:nth-child(1) {
  width: 25%;
  border-right: none;
  background: none;
  color: #000; }

.priceTable .table_price_01 thead th:nth-child(2) {
  border-left: none;
  border-right: none;
  background: #2F2F2F; }

.priceTable .table_price_01 thead th:nth-child(3) {
  border-right: none;
  background: #CB0000; }

.priceTable .table_price_01 tbody th {
  vertical-align: middle;
  background: none;
  color: #000;
  font-weight: 700; }

.priceTable .table_price_01 tbody td,
.priceTable .table_price_02 tbody td {
  color: #000;
  vertical-align: middle;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700; }
  .priceTable .table_price_01 tbody td p,
  .priceTable .table_price_02 tbody td p {
    font-weight: normal; }

.priceTable .table_price_01 tbody td ul {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.priceTable .table_price_01 tbody td ul li {
  margin-right: 70px;
  position: relative; }

.priceTable .table_price_01 tbody td ul li:last-child {
  margin-right: 0; }

.priceTable .table_price_01 tbody td ul li:after {
  content: "";
  width: 1px;
  height: 90%;
  display: block;
  position: absolute;
  right: -34px;
  top: 0.15em;
  background: #707070; }

.priceTable .table_price_01 tbody td ul li:last-child:after {
  content: none; }

.priceTable .table_price_02 thead th {
  font-weight: 700; }

.priceTable .table_price_02 tbody td {
  padding: 2rem 0; }

@media (max-width: 767px) {
  .priceTable table .font-size-small {
    font-size: 0.8rem; }
  .priceTable .table_price_01 thead th {
    font-size: 1rem; }
  .priceTable .table_price_01 thead th:nth-child(1) {
    width: 80px; }
  .priceTable .table_price_01 tbody th {
    font-size: 1rem; }
  .priceTable .table_price_01 tbody td,
  .priceTable .table_price_02 tbody td {
    font-size: 1rem; }
  .priceTable .table_price_01 tbody td ul {
    display: block;
    margin: 1rem 0; }
  .priceTable .table_price_01 tbody td ul li {
    margin: 0 0 60px 0; }
  .priceTable .table_price_01 tbody td ul li:last-child {
    margin: 0; }
  .priceTable .table_price_01 tbody td ul li:after {
    content: "";
    width: 50px;
    height: 1%;
    display: block;
    position: absolute;
    right: 50%;
    top: inherit;
    bottom: -30px;
    -webkit-transform: translate(50%, 0);
    -ms-transform: translate(50%, 0);
    transform: translate(50%, 0); }
  .priceTable .table_price_01 tbody td ul li:last-child:after {
    content: none; }
  .priceTable .table_price_02 thead th {
    font-size: 1rem; }
  .priceTable .table_price_02 tbody td {
    padding: 2rem 0; } }

/*受講モデルケース*/
.caseBox .tab_01 {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.caseBox .tab_01 li {
  height: 80px;
  margin-right: 10px;
  padding: 10px;
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #FFF;
  color: #707070;
  font-weight: 700;
  cursor: pointer;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.caseBox .tab_01 li:hover {
  background: #FFF5F5; }

.caseBox .tab_01 li:last-child {
  margin-right: 0; }

.caseBox .tab_01 li.active {
  background: #CB0000;
  color: #FFF; }

.caseBox .data_01 > div {
  display: none; }

.caseBox .data_01 > div.show {
  display: block; }

.caseBox .data_01 > div .contents_top {
  margin-bottom: 1rem; }

.caseBox .data_01 > div .contents_top > div:not(.detailBox) {
  margin-bottom: 1rem;
  padding: 4rem 7rem 0 7rem;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.caseBox .data_01 > div .contents_top .icon {
  min-width: 64px;
  margin-right: 30px; }

.caseBox .data_01 > div .contents_top .txtBox {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1; }

.caseBox .data_01 > div .contents_top .txtBox h3 span {
  margin-left: 1rem;
  display: inline-block;
  font-weight: 500;
  font-size: 1rem; }

.caseBox .data_01 > div .contents_top .detailBox {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 7rem 4rem 7rem;
  margin-left: 94px; }

.caseBox .data_01 > div .contents_top .detailBox dl {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  margin-right: 10px; }

.caseBox .data_01 > div .contents_top .detailBox dl:last-child {
  margin-right: 0; }

.caseBox .data_01 > div .contents_top .detailBox dl dt {
  width: 100%;
  height: 48px;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  background: #EFEFEF; }

.caseBox .data_01 > div .contents_top .detailBox dl dd {
  width: 100%;
  height: 84px;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.4rem; }

.caseBox .data_01 > div .contents_top .detailBox dl dd span {
  font-weight: 500;
  font-size: 1rem; }

.caseBox .data_01 > div .contents_bottom {
  padding: 4rem 5rem; }

.caseBox .data_01 > div .contents_bottom h4 {
  font-size: 1rem;
  padding-left: 1.5rem;
  position: relative; }

.caseBox .data_01 > div .contents_bottom h4:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  display: block;
  background: #000;
  position: absolute;
  left: 0;
  top: 0.65rem; }

@media (max-width: 767px) {
  .caseBox .tab_01 {
    overflow-x: auto; }
  .caseBox .tab_01 li {
    min-width: 255px; }
  .caseBox .data_01 > div {
    width: 100vw;
    position: relative;
    left: -15px; }
  .caseBox .data_01 > div .contents_top {
    margin-bottom: 0; }
  .caseBox .data_01 > div .contents_top > div:not(.detailBox) {
    margin-bottom: 1rem;
    padding: 4rem 2rem 0 2rem;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .caseBox .data_01 > div .contents_top .txtBox h3 span {
    margin-left: 1rem;
    display: inline-block;
    font-weight: 500;
    font-size: 1rem; }
  .caseBox .data_01 > div .contents_top .detailBox {
    display: block;
    padding: 0 2rem 0 2rem;
    margin-left: 0; }
  .caseBox .data_01 > div .contents_top .detailBox dl {
    -ms-flex: 1;
    -webkit-box-flex: 1;
    flex: 1;
    margin-right: 10px; }
  .caseBox .data_01 > div .contents_top .detailBox dl:last-child {
    margin-right: 0; }
  .caseBox .data_01 > div .contents_top .detailBox dl dd span {
    font-weight: 500;
    font-size: 1rem; }
  .caseBox .data_01 > div .contents_bottom {
    padding: 2rem 3rem 4rem 3rem; } }

.corona_notification {
  background: #363636;
  text-align: center;
  color: #FFFFFF; }

.corona_notification a {
  text-decoration: underline;
  -webkit-text-decoration-color: #ffffff;
  text-decoration-color: #ffffff;
  color: #ffffff; }

.cv-btn {
    cursor: pointer;
    max-width: 485px; }

.ai-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 914px;
  margin: 0 auto;
  height: 210px;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25)); }

@media (max-width: 963px) {
  .ai-banner {
    width: 736px; } }

@media (max-width: 767px) {
  .ai-banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    width: 311px;
    height: 362px;
    margin-top: 40px; } }

.ai-banner-registration {
  padding: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: #ffffff;
  border-radius: 8px 0px 0px 8px; }

@media (max-width: 767px) {
  .ai-banner-registration {
    border-radius: 0px 0px 8px 8px; } }

@media (max-width: 767px) {
  .ai-banner-registration {
    padding: 32px 32px 16px;
    font-size: 24px; } }

.register-to-ai {
  font-weight: 700;
  font-size: 2rem;
  color: #555555; }

.register-to-ai .small {
  font-size: 1rem; }

.ai-banner-registration .no-experience-to-ai {
  font-size: 15px;
  letter-spacing: normal; }

.ai-banner-registration .btn-details {
  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;
  height: 52px;
  font-size: 1rem;
  border-radius: 40px;
  font-weight: 700;
  background-color: #BD0017;
  color: #FFF;
  border: solid 1px #BD0017; }

.ai-banner-registration .btn-details:hover {
  background-color: #FFFFFF;
  color: #BD0017; }

.ai-banner-image {
  background-image: url(../images/ai_banner_pc.jpg);
  width: 534px;
  background-repeat: no-repeat;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  height: 100%;
  border-radius: 0px 8px 8px 0px; }

@media (max-width: 767px) {
  .ai-banner-image {
    border-radius: 8px 8px 0 0; } }

.ai-banner-image .content {
  height: auto;
  padding: 37px 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

@media (max-width: 767px) {
  .ai-banner-image .content {
    padding: 32px 26px 16px; } }

.ai-banner-image .content .only-now-image {
  display: block; }

.only-now-image img {
  width: 96px; }

@media (max-width: 767px) {
  .only-now-image img {
    width: 80px; } }

.only-now-image.tablet-sp {
  position: absolute;
  top: 24px;
  right: 16px; }

.only-now-image.tablet-sp {
  display: none; }

@media (max-width: 993px) {
  .only-now-image.tablet-sp {
    display: block;
    position: absolute;
    top: 24px;
    right: 16px; } }

@media (max-width: 767px) {
  .only-now-image.tablet-sp {
    top: -40px;
    left: -20px;
    right: auto; } }

@media (max-width: 993px) {
  .ai-banner-image .content .only-now-image {
    display: none; } }

.ai-banner-image .text {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

@media (max-width: 767px) {
  .ai-banner-image .text {
    text-align: center; } }

.ai-banner-image .content .text .upper-text {
  font-size: 32px;
  font-weight: bold; }

@media (max-width: 993px) {
  .ai-banner-image .content .text .upper-text {
    font-size: 24px; } }

@media (max-width: 767px) {
  .ai-banner-image .content .text .upper-text {
    font-size: 20px; } }

.ai-banner-image .content .text .bottom-text {
  font-size: 40px;
  font-weight: bold; }

@media (max-width: 993px) {
  .ai-banner-image .content .text .bottom-text {
    font-size: 32px; } }

@media (max-width: 767px) {
  .ai-banner-image .content .text .bottom-text {
    font-size: 30px; } }

.ai-banner-image .content .text .bottom-text .big {
  font-size: 80px;
  line-height: 80px; }

@media (max-width: 993px) {
  .ai-banner-image .content .text .bottom-text .big {
    font-size: 64px;
    line-height: 64px; } }

@media (max-width: 767px) {
  .ai-banner-image .content .text .bottom-text .big {
    font-size: 60px;
    line-height: 40px; } }

.ai-banner-image .content .text .condition {
  font-size: 14px;
  line-height: 14px; }

@media (max-width: 993px) {
  .ai-banner-image .content .text .condition {
    font-size: 12px; } }

@media (max-width: 993px) {
  .ai-banner-image {
    background-image: url(../images/ai_banner_tablet.jpg);
    width: 356px;
    position: relative; } }

@media (max-width: 767px) {
  .ai-banner-image {
    background-image: url(../images/ai_banner_sp.jpg);
    width: 311px;
    height: 146px; } }

.table-area01.table-area02 {
  margin-bottom: 0; }

.table-area01 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 1rem; }
  .table-area01 table.table02 {
    margin-bottom: 0; }

.table-area01 th {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  border-right: 1px solid #707070;
  font-weight: bold;
  padding: 1.65rem 0;
  width: 29%;
  vertical-align: middle; }
  .table-area01 th.th-adjust01 {
    width: 44%; }
  .table-area01 th.th-adjust02 {
    background: #EFEFEF;
    width: 20%; }
    .table-area01 th.th-adjust02:first-child {
      background: #fff;
      width: 20%; }
  .table-area01 th:first-child {
    border-left: 1px solid #707070;
    width: 12%; }
  .table-area01 th.is-red {
    background: #CB0000;
    color: #fff; }
  .table-area01 th.is-yel {
    background: #F6BB00;
    color: #fff; }
  .table-area01 th.is-blk {
    background: #2F2F2F;
    color: #fff; }
  .table-area01 th.border-red {
    border-left: 4px solid #CB0000;
    border-right: 4px solid #CB0000; }

.table-area01 td {
  border-bottom: 1px solid #707070;
  border-right: 1px solid #707070;
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  padding: 1.65rem 0;
  vertical-align: middle; }
  .table-area01 td:first-child {
    border-left: 1px solid #707070;
    width: 12%; }
  .table-area01 td.border-red {
    border-left: 4px solid #CB0000;
    border-right: 4px solid #CB0000; }
  .table-area01 td.border-red-last {
    border-bottom: 4px solid #CB0000;
    border-left: 4px solid #CB0000;
    border-right: 4px solid #CB0000; }
  .table-area01 td.f-adjust01 {
    font-weight: 300; }
  .table-area01 td.f-adjust02 {
    line-height: 2.4rem; }
  .table-area01 td.td-adjust01 {
    font-size: 2rem; }

@media (max-width: 767px) {
  .table-area01 {
    margin-bottom: 1rem; }
    .table-area01.table-area02 {
      margin-bottom: 2rem; }
    .table-area01 table {
      margin-bottom: 1rem; }
      .table-area01 table.sp-table01 {
        margin-bottom: 0; }
    .table-area01 th {
      padding: 1.5rem 0;
      width: 100%; }
      .table-area01 th.th-adjust01 {
        width: 100%; }
      .table-area01 th.th-adjust02 {
        width: 100%; }
        .table-area01 th.th-adjust02:first-child {
          width: 100%; }
      .table-area01 th:first-child {
        width: 100%; }
    .table-area01 td {
      border-bottom: 1px solid #707070;
      border-right: 1px solid #707070;
      font-weight: bold;
      font-size: 1.3rem;
      text-align: center;
      padding: 1.5rem 0;
      vertical-align: middle; }
      .table-area01 td:first-child {
        width: 22%; }
        .table-area01 td:first-child.sp-td01 {
          width: 40%; }
      .table-area01 td.is-red {
        background: #CB0000;
        border-top: 3px solid #CB0000;
        border-bottom: 3px solid #CB0000;
        border-right: 1px solid #CB0000;
        color: #fff; }
      .table-area01 td.is-gry {
        background: #EFEFEF; }
      .table-area01 td.border-red {
        border-top: 3px solid #CB0000;
        border-bottom: 3px solid #CB0000;
        border-right: 3px solid #CB0000;
        border-left: none; }
      .table-area01 td.td-adjust01 {
        padding: 1rem 0;
        font-size: 1.75rem; }
    .table-area01 p {
      font-size: .7rem; }
      .table-area01 p a {
        color: #CB0000;
        text-decoration: underline; } }

.tableTxt-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  width: 86%; }
  .tableTxt-list li {
    width: 48%; }
    .tableTxt-list li + li {
      margin-left: 40px; }
    .tableTxt-list li a {
      color: #CB0000;
      text-decoration: underline; }

.campaign-banner {
  font-family: 'Roboto', sans-serif;
  background-color: #F5F5F5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-style: normal;
  align-items: center;
  padding: 64px 0px;
}

@media (max-width: 993px) {
  .campaign-banner {
    padding: 64px 70px;
  }
}

@media (max-width: 767px) {
  .campaign-banner {
    padding: 32px;
  }
}

.campaign-banner .inner {
  background-color: #BD0017;
  padding: 32px;
  max-width: 831px;
  border-radius: 8px;
  height: 395px;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  justify-content: space-between;
}

@media (max-width: 993px) {
  .campaign-banner .inner {
    height: 350px;
    max-width: 566px;
  }
}

@media (max-width: 767px) {
  .campaign-banner .inner {
    margin: 0px 16px;
    padding: 16px;
    height: 425px;
  }
}

.campaign-banner .inner .heading {
  width: 489px;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  line-height: 32px;
}

@media (max-width: 767px) {
  .campaign-banner .inner .heading {
    display: none;
  }
}

.campaign-banner .inner .flexbox {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .campaign-banner .inner .flexbox {
    flex-direction: column;
    height: 100%;
  }
}

.campaign-banner .inner .flexbox .first-item {
  border: 1px solid #F5F5F5;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 32px;
  white-space: nowrap;
  text-align: center;
}


@media (max-width: 767px) {
  .campaign-banner .inner .flexbox .first-item {
    padding: 16px;
    margin: 0px 7.5px;
  }
}

.campaign-banner .inner .flexbox .first-item .new-curriculum {
  font-size: 16px;
  line-height: 48px;
}

@media (max-width: 993px) {
  .campaign-banner .inner .flexbox .first-item .new-curriculum {
    font-size: 14px;
    line-height: 32px;
  }
}

@media (max-width: 767px) {
  .campaign-banner .inner .flexbox .first-item .new-curriculum {
    line-height: 24px;
  }
}

.campaign-banner .inner .flexbox .first-item .one-month-extent {
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 16px;
  line-height: 48px;
}

@media (max-width: 993px) {
  .campaign-banner .inner .flexbox .first-item .one-month-extent {
    font-size: 16px;
    line-height: 32px;
  }
}

@media (max-width: 767px) {
  .campaign-banner .inner .flexbox .first-item .one-month-extent {
    font-size: 24px;
    margin-bottom: 0px;
  }
}

.campaign-banner .inner .flexbox .first-item .one-month-extent .yellow {
  color: #FFCF42;
}

@media (max-width: 993px) {
  .campaign-banner .inner .flexbox .first-item .one-month-extent .yellow {
    font-size: 24px;
  }
}

.campaign-banner .button {
  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;
  height: 52px;
  font-size: 1rem;
  border-radius: 40px;
  font-weight: 700;
  background-color: #FFFFFF;
  color: #BD0017;
  border: solid 1px #FFFFFF;
}

.campaign-banner .button:hover {
  background-color: #BD0017;
  color: #FFFFFF;
}

.campaign-banner .inner .flexbox .first-item .conditions {
  font-size: 10px;
  margin-top: 16px;
  line-height: 10px;
}

@media (max-width: 993px) {
  .campaign-banner .inner .flexbox .first-item .conditions {
    line-height: 12px;
  }
}

@media (max-width: 767px) {
  .campaign-banner .inner .flexbox .first-item .conditions {
    display: none;
  }
}

.campaign-banner .inner .flexbox .second-item{
  display: flex;
}

@media (max-width: 767px) {
  .campaign-banner .inner .flexbox .second-item {
    margin: 0px 7.5px;
  }
}

.campaign-banner .inner .flexbox .second-item .second-item-inner {
  margin: 42.5px 0px 42.5px 32px;
  background-color: #F5F5F5;
  color: #000000;
  border-radius: 4px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (max-width: 993px) {
  .campaign-banner .inner .flexbox .second-item .second-item-inner {
    margin: 12px 0px 12px 16px;
    padding: 32px 16px;
  }
}

@media (max-width: 767px) {
  .campaign-banner .inner .flexbox .second-item .second-item-inner {
    margin: 0px;
    padding: 16px;
    min-height: 158px;
    width: 100%;
  }
}

.campaign-banner .inner .flexbox .second-item .second-item-inner .text {
  font-size: 16px;
  line-height: 19px;
  letter-spacing: normal;
}

@media (max-width: 993px) {
  .campaign-banner .inner .flexbox .second-item .second-item-inner .text  {
    font-size: 14px;
    line-height: 16px;
  }
}

@media (max-width: 767px) {
  .campaign-banner .inner .flexbox .second-item .second-item-inner .text  {
    font-size: 12px;
    line-height: 14px;
  }
}

.campaign-banner .inner .flexbox .second-item .second-item-inner .text .red{
  color: #BD0017;
}

.campaign-banner .inner .flexbox .second-item .second-item-inner .text .sub {
  white-space: nowrap;
}

.sp-tablet {
  display: none;
}

@media (max-width: 993px) {
  .sp-tablet {
    display: inherit;
  }
}

.sp-conditions {
  font-size: 10px;
  line-height: 12px;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* TBキャンペーンバナーcssここから */
.flow-bnr {
  position: fixed;
  bottom: 30px;
  left: 10px;
  width: 485px;
  cursor: pointer;
  z-index: 999;
  display: none;
}
.flow-bnr .flow-bnr__inner {
  position: relative;
  transition: 0.5s;
}
.flow-bnr .flow-bnr__inner:hover {
  opacity: 0.7;
}
.flow-bnr .flow-bnr__inner .bnr-close {
  width: 17px;
  height: 17px;
  position: absolute;
  top: 5px;
  right: 9px;
}
@media (max-width: 767px) {
  .tb_cp_bnr {
    margin-top: 20px;
    display: block !important;
  }
  .tb_cp_bnr img {
    width: 100%;
  }
  .tb_cp_bnr_note {
    font-size: 10px;
    text-align: right;
    margin-top: -15px;
  }
}
/* TBキャンペーンバナーcssここまで */

.chusyaku{
  line-height: 1.2;
  max-width: 665px;
  margin: 0 auto;
}

@media (min-width: 768px) and (max-width: 993px){
  .header .heading {
    height: 30px;
    left: 30px;
    top: 20px;
  }
  .header{
    height: 80px;
  }
}