@charset "UTF-8";
/* =========================================================
Gradients
========================================================= */
@-webkit-keyframes gradientAnime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradientAnime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/* =========================================================
resposive
========================================================= */
/* =========================================================
Font - Text - title
========================================================= */
/* =========================================================
margin top & bottom
========================================================= */
/* =========================================================
padding top & bottom
========================================================= */
/* =========================================================
position
========================================================= */
/* =========================================================
For parts
========================================================= */
/* =========================================================
All things
========================================================= */
.js-accordion {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

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

html {
  font-size: 71.4285714286%;
  scroll-behavior: smooth;
}
@media (max-width: 1920px) {
  html {
    font-size: 0.6944444444vw;
  }
}
@media (max-width: 1360px) {
  html {
    font-size: 62.5%;
  }
}

body {
  position: relative;
  margin: 0;
  line-height: 1.6em;
  letter-spacing: 0.1235rem;
  color: #0C2538;
  background: transparent !important;
  font-weight: bold;
  font-family: "Noto Sans JP", YuGothic, "Original Yu Gothic", "Sen", "Lato", sans-serif, Meiryo, sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -webkit-font-variant-ligatures: no-common-ligatures;
          font-variant-ligatures: no-common-ligatures;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
body.js-toggleActive {
  overflow: hidden;
}
body.admin-bar {
  margin-top: -32px;
}

.container {
  position: relative;
  background-color: #fff;
  top: 0;
  right: 0;
  -webkit-transition: top 0.3s, right 0.3s;
  transition: top 0.3s, right 0.3s;
  z-index: 1;
}
.container.js-toggleActive {
  right: 400px;
}
@media (max-width: 576px) {
  .container.js-toggleActive {
    right: 300px;
  }
}
.container.js-toggleActive > .js-overwrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

.content {
  min-height: 70vh;
}

.site-content {
  padding-top: 0px;
  padding-bottom: 0px;
}

.content-area {
  margin-bottom: 0px;
}

/* =========================================================
Parts
========================================================= */
img {
  max-width: 100%;
}

ol, ul {
  padding-left: 0px;
}

ul li {
  list-style: none !important;
}

li {
  list-style: none;
}

a {
  color: #0C2538;
  outline: none;
  text-decoration: none;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  outline: none;
}

a:focus, *:focus {
  outline: none;
}

/*reset*/
button, input, textarea, select {
  background-color: transparent;
  border: none;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* =========================================================
レイアウト ベース
========================================================= */
/* =========================================================
basic - style
既存SATサイトから必要なcssのみ抽出
主にheader / footer / modal 周り
========================================================= */
/* =========================================================
l-header- style
========================================================= */
.l-header {
  padding: 30px 0 12px;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 5;
  transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  -webkit-transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
}
.l-header:hover {
  background: rgba(255, 255, 255, 0.95);
}
@media (max-width: 768px) {
  .l-header {
    padding: 15px 0 12px;
  }
}

.l-logo {
  float: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-logo:before, .l-logo:after {
  content: "";
  display: table;
}
.l-logo:after {
  clear: both;
}
@media (max-width: 768px) {
  .l-logo {
    width: auto;
    position: relative;
  }
}

.l-gnav {
  float: right;
}
.l-gnav:before, .l-gnav:after {
  content: "";
  display: table;
}
.l-gnav:after {
  clear: both;
}
@media (max-width: 768px) {
  .l-gnav {
    line-height: 1;
    margin-top: 0;
  }
}

.l-menu {
  background: rgba(12, 37, 56, 0.8);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  padding: 18px 18px 18px 0;
  display: none;
}
@media (max-width: 991px) {
  .l-menu {
    padding: 0;
  }
}

.l-header.__blognav {
  padding: 0;
  -webkit-transition: top 0.6s ease-in-out;
  transition: top 0.6s ease-in-out;
}
.l-header.__blognav.__hide {
  top: -60px;
}
@media (max-width: 991px) {
  .l-header.__blognav.__hide {
    top: -51px;
  }
}
.l-header.__blognav .l-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-header.__blognav .logo {
  width: 86px;
  margin-top: 4px;
  margin-right: 16px;
}
@media (max-width: 991px) {
  .l-header.__blognav .logo {
    margin-top: 0;
  }
}
.l-header.__blognav .l-header {
  position: relative;
  background-color: #0C2538;
  padding: 10px 0;
}
.l-header.__blognav .site-info {
  color: #fff;
}
.l-header.__blognav .gnav-list li.icon_nav a {
  color: #fff !important;
}
.l-header.__blognav .icon_nav.__products a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

#modal-nav {
  max-width: 62%;
  min-width: calc(100% - 540px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* =========================================================
l-footer style
========================================================= */
.l-footerLogo {
  width: 118px;
}
.l-footerLogo .logo-image {
  padding: 0;
}

.l-footerDesc {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: normal;
  color: white;
}
.l-footerDesc .tagline {
  margin: 0;
}

.l-footerSns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  padding: 0;
}

.l-footerSns__link {
  display: block;
  padding: 6px;
  color: white;
  opacity: 0.4;
}

.f-nav .f-nav-content + .l-low {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .f-nav .f-nav-content + .l-low {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .f-nav .l-grid-6 {
    margin: 0;
  }
}

.footer-others .l-low {
  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;
}
@media (max-width: 768px) {
  .footer-others .l-low {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.l-footer-sns {
  display: table;
  margin: 40px auto 30px;
}

@media (max-width: 768px) {
  .f-nav-content .l-low {
    margin: 0;
  }
}

.f-nav {
  background: #F2F5F8;
  z-index: 10;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (max-width: 768px) {
  .f-nav {
    padding-bottom: 30px;
  }
}

.f-nav-title {
  font-size: 15px;
  font-weight: bold;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #e5e5e5;
  overflow: hidden;
  margin-bottom: 30px;
  cursor: pointer;
  position: relative;
}
@media (max-width: 768px) {
  .f-nav-title {
    padding-top: 10px;
  }
}
.f-nav-title i {
  display: block;
  float: right;
  color: #0C2538;
  -webkit-text-fill-color: inherit;
  margin-top: 4px;
}

.f-nav-row-title {
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .f-nav-row-title {
    padding-top: 10px;
  }
}
.f-nav-row-title a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.f-nav-row-title i:before {
  margin: 10;
  font-size: 26px;
  font-weight: normal;
  color: #047AE3;
}
.f-nav-row-title span {
  font-size: 15px;
  line-height: 1.3;
  font-weight: bold;
}

.f-nav-content {
  margin: 15px 0 10px;
}
@media (max-width: 768px) {
  .f-nav-content {
    display: none;
  }
}

.f-nav-list, .f-nav-list-2 {
  font-size: 13px;
  margin-left: 24px;
}
@media (max-width: 768px) {
  .f-nav-list, .f-nav-list-2 {
    font-size: 11px;
  }
}
.f-nav-list li, .f-nav-list-2 li {
  margin-bottom: 7px;
}
.f-nav-list a, .f-nav-list-2 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3px 0 3px 18px;
  position: relative;
  font-weight: normal;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.f-nav-list a:before, .f-nav-list-2 a:before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 8px;
  height: 8px;
  background: #fff;
  border: 1px solid #F2F5F8;
  border-radius: 7px;
  display: block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.f-nav-list a:hover, .f-nav-list-2 a:hover {
  opacity: 1;
  color: #047AE3;
}
.f-nav-list a:hover:before, .f-nav-list-2 a:hover:before {
  background: -webkit-gradient(linear, left top, right top, from(#45b4eb), to(#1d83ff));
  background: linear-gradient(to right, #45b4eb, #1d83ff);
  transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  -webkit-transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
}
.f-nav-list a:hover:before:hover, .f-nav-list-2 a:hover:before:hover {
  background: -webkit-gradient(linear, right top, left top, from(#45b4eb), to(#1d83ff));
  background: linear-gradient(to left, #45b4eb, #1d83ff);
}

.f-nav-row-title {
  margin-bottom: 0.5rem;
}

.l-footerCourselist__titleLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.l-footerCourselist__titleLink i {
  height: 52px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-footerCourselist__titleLink i:before {
  margin: 10;
  font-size: 26px;
  font-weight: normal;
  color: #047AE3;
}
.l-footerCourselist__titleLink span {
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: bold;
}
.l-footerCourselist__titleLink img {
  -o-object-fit: contain;
     object-fit: contain;
}

.l-footerCourselist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
}
.l-footerCourselist::before {
  content: none;
}

h3.f-nav-row-title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
h3.f-nav-row-title::after {
  content: "";
  width: 100%;
  height: 3px;
  border-radius: 100px;
  background-color: rgba(12, 37, 56, 0.05);
}

.l-footerCourselist__box {
  width: calc(33.3333333333% - 1rem);
  float: none;
  padding: 0;
}
@media (max-width: 991px) {
  .l-footerCourselist__box {
    width: calc(50% - 1rem);
  }
}
@media (max-width: 576px) {
  .l-footerCourselist__box {
    width: 100%;
  }
}
@media (max-width: 991px) {
  .l-footerCourselist__box .l-footerCourselist__ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (max-width: 576px) {
  .l-footerCourselist__box .l-footerCourselist__ulItem {
    width: 100%;
  }
}
.l-footerCourselist__box.__syokutyo {
  width: calc(66.666666% - 1rem);
}
@media (max-width: 991px) {
  .l-footerCourselist__box.__syokutyo {
    width: calc(50% - 1rem);
  }
}
@media (max-width: 576px) {
  .l-footerCourselist__box.__syokutyo {
    width: 100%;
  }
}
.l-footerCourselist__box.__syokutyo .l-footerCourselist__ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-footerCourselist__box.__syokutyo .l-footerCourselist__ulItem {
  width: calc(50% - 1rem);
}
@media (max-width: 576px) {
  .l-footerCourselist__box.__syokutyo .l-footerCourselist__ulItem {
    width: 100%;
  }
}
.l-footerCourselist__box.__kosyu {
  width: calc(33.3333333333% - 1rem);
}
@media (max-width: 991px) {
  .l-footerCourselist__box.__kosyu {
    width: 100%;
  }
}
.l-footerCourselist__box.__kosyu .l-footerCourselist__ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-footerCourselist__box.__kosyu .l-footerCourselist__ulItem {
  width: 100%;
}
@media (max-width: 991px) {
  .l-footerCourselist__box.__kosyu .l-footerCourselist__ulItem {
    width: calc(50% - 1rem);
  }
}
@media (max-width: 576px) {
  .l-footerCourselist__box.__kosyu .l-footerCourselist__ulItem {
    width: 100%;
  }
}
.l-footerCourselist__box.__anzen, .l-footerCourselist__box.__gijutsu {
  width: 100%;
}
.l-footerCourselist__box.__anzen .l-footerCourselist__ul, .l-footerCourselist__box.__gijutsu .l-footerCourselist__ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-footerCourselist__box.__anzen .l-footerCourselist__ulItem, .l-footerCourselist__box.__gijutsu .l-footerCourselist__ulItem {
  width: calc(33.3333333333% - 1rem);
}
@media (max-width: 991px) {
  .l-footerCourselist__box.__anzen .l-footerCourselist__ulItem, .l-footerCourselist__box.__gijutsu .l-footerCourselist__ulItem {
    width: calc(50% - 1rem);
  }
}
@media (max-width: 576px) {
  .l-footerCourselist__box.__anzen .l-footerCourselist__ulItem, .l-footerCourselist__box.__gijutsu .l-footerCourselist__ulItem {
    width: 100%;
  }
}

.l-footerCourselist__ulItem span {
  font-size: clamp(13px, 1vw, 16px);
}

.l-footerCourselist__ulLink {
  font-size: clamp(13px, 1vw, 16px);
}
.l-footerCourselist__ulLink.__nolink {
  pointer-events: none;
}

.f-nav-list-2 li {
  display: inline-block;
  margin-right: 3em;
}

.footer-others .l-low {
  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;
}
@media (max-width: 768px) {
  .footer-others .l-low {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media (max-width: 768px) {
  .f-nav-content .l-low {
    margin: 0;
  }
}

.footer-cta,
.item-cta {
  text-align: center;
  border-bottom: 1px solid #F2F5F8;
  padding: 30px 0 40px;
}
.footer-cta > p,
.item-cta > p {
  font-size: 15px;
  font-weight: normal;
  margin-bottom: 20px;
  text-align: center;
}
@media (max-width: 991px) {
  .footer-cta > p,
  .item-cta > p {
    font-size: 13px;
  }
}

.footer-cta-parts,
.item-cta-parts {
  display: table;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .footer-cta-parts,
  .item-cta-parts {
    display: block;
  }
}
.footer-cta-parts > div,
.item-cta-parts > div {
  display: table-cell;
  padding: 0 12px;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  vertical-align: middle;
}
@media (max-width: 991px) {
  .footer-cta-parts > div,
  .item-cta-parts > div {
    display: block;
    margin-bottom: 12px;
  }
}
.footer-cta-parts .tel,
.item-cta-parts .tel {
  cursor: default;
  font-size: 26px;
}
.footer-cta-parts .open-time,
.item-cta-parts .open-time {
  font-size: 10px;
  text-align: center;
}
.footer-cta-parts a,
.item-cta-parts a {
  min-width: 228px;
  font-size: 13px;
}

.footer-others {
  width: 100%;
  margin: 30px auto;
  padding-bottom: 30px;
  border-bottom: 1px solid #F2F5F8;
}
@media (max-width: 991px) {
  .footer-others {
    width: 100%;
    margin: 15px auto;
    padding-bottom: 15px;
  }
}

.footer-other-img {
  float: left;
  margin: 15px 15px 0 0;
  font-weight: normal;
}
@media (max-width: 991px) {
  .footer-other-img {
    width: 22%;
    margin: 10px 10px 20px 0;
  }
}
.footer-other-img + p {
  font-size: 10px;
  margin-top: 12px;
}
@media (max-width: 991px) {
  .footer-other-img + p + p {
    margin-left: 25%;
  }
}
.footer-other-img + p + p a {
  color: #047AE3;
  font-size: 10px;
}

.l-footer-sns li {
  display: table-cell;
  padding: 0 15px;
}
.l-footer-sns li i {
  font-size: 26px;
}
.l-footer-sns li .fa-twitter {
  color: #5FC0FC;
}
.l-footer-sns li .fa-facebook-official {
  color: #4151A7;
}
.l-footer-sns li .fa-youtube-play {
  color: #E84A4A;
}

.footer-sub-nav.__first {
  border-bottom: 1px solid #F2F5F8;
}

.footer-sub-nav-list {
  display: table;
  margin: 30px auto;
  text-align: center;
}
.footer-sub-nav-list li {
  display: inline-block;
  padding: 0 20px;
  font-size: 12px;
  font-weight: normal;
  line-height: 3;
}
@media (max-width: 991px) {
  .footer-sub-nav-list li {
    padding: 0 16px 0 0;
  }
}
.footer-sub-nav-list a:hover {
  color: #047AE3;
  text-decoration: underline;
}

.footer-copy {
  text-align: center;
  color: #26455C;
  font-size: 12px;
  font-weight: normal;
  padding-bottom: 30px;
}

.menu-box {
  position: relative;
  background: #fff;
  max-width: 38%;
  min-width: 640px;
  margin-left: auto;
  height: 100%;
  overflow-y: scroll;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 12px rgba(4, 122, 227, 0.1);
          box-shadow: 0 0 12px rgba(4, 122, 227, 0.1);
}
@media (max-width: 991px) {
  .menu-box {
    width: 100%;
    max-width: inherit;
    min-width: inherit;
  }
}
.menu-box .is-active {
  color: #047AE3;
  border-bottom: 1px solid #047AE3;
  margin-bottom: -1px;
}
@media (max-width: 576px) {
  .menu-box .is-active {
    color: #fff !important;
    background-color: #047AE3;
  }
}

.menu-inner {
  overflow-y: scroll;
}

.menu-1-list {
  background: #F2F5F8;
  padding: 12px 30px 9px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 991px) {
  .menu-1-list {
    padding: 12px 16px 9px;
  }
}
.menu-1-list li {
  text-align: center;
  font-size: 10px;
  padding-right: 16px;
}
.menu-1-list li i {
  display: block;
  line-height: 1;
}
.menu-1-list li i:before {
  margin: 0;
  font-size: 20px;
  font-weight: normal;
}
.menu-1-list a {
  display: block;
}
.menu-1-list .fa-phone {
  font-family: "FontAwesome";
  color: #0C2538;
  -webkit-text-fill-color: inherit;
}

.fa-times {
  -webkit-text-fill-color: inherit;
}

.logo {
  float: left;
  width: 107px;
  margin-right: 16px;
}
@media (max-width: 991px) {
  .logo {
    width: 87px;
    float: none;
    margin-right: 8px;
  }
}
@media (max-width: 576px) {
  .logo {
    width: 72px;
    float: none;
  }
}

.site-info {
  font-size: 12px;
  font-weight: normal;
  color: #0C2538;
}
@media (max-width: 991px) {
  .site-info {
    font-size: 10px;
    position: absolute;
    left: 0;
    bottom: -12px;
    white-space: pre;
  }
}

.l-header.__blognav .gnav-list li.icon_nav .login-nav a {
  color: #0C2538 !important;
}

@media (max-width: 991px) {
  .gnav-list {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.gnav-list .login {
  background: #F2F5F7;
  padding: 5px;
  border-radius: 4px;
  position: relative !important;
}
.gnav-list .login .login-nav {
  background: #fff;
  border-radius: 4px;
  position: absolute;
  left: 50%;
  top: 45px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  overflow: hidden;
  width: 200px;
  display: none;
}
.gnav-list .login .login-nav a {
  display: block;
  padding: 12px;
  font-size: 12px;
}
.gnav-list .login .login-nav a:nth-child(1) {
  padding-top: 25px;
}
.gnav-list .login .login-nav a.link-logout {
  margin-top: 12px;
  background: #F2F5F7;
  text-align: center;
}
.gnav-list .login .login-nav i {
  margin-bottom: 0;
  display: inline;
}
.gnav-list .login .login-nav i:before {
  margin-left: 0;
}
.gnav-list .login span {
  font-size: 10px;
}
.gnav-list li {
  display: inline-block;
  vertical-align: middle;
  margin-left: 32px;
  font-size: 13px;
  font-weight: bold;
}
@media (max-width: 1280px) {
  .gnav-list li {
    font-size: 14px;
    margin-left: 12px;
  }
}
@media (max-width: 991px) {
  .gnav-list li {
    margin-left: 0px;
    font-size: 12px;
  }
}
@media only screen and (max-width: 490px) {
  .gnav-list li [class^=flaticon-]:before,
  .gnav-list li [class*=" flaticon-"]:before {
    font-size: 16px;
  }
}
.gnav-list li a:hover {
  color: #047AE3;
}
.gnav-list li.__back {
  padding-left: 32px;
  border-left: 1px solid #0C2538;
}
.gnav-list li.__back a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.gnav-list li.__back i {
  margin-right: 6px;
}
@media (max-width: 1280px) {
  .gnav-list li.__back {
    padding-left: 16px;
    margin-left: 16px;
  }
  .gnav-list li.__back i {
    font-size: 16px;
  }
  .gnav-list li.__back i:before {
    font-size: 16px;
    line-height: 1.5;
  }
}
@media (max-width: 991px) {
  .gnav-list li.__back {
    padding-left: 16px;
    margin-left: 16px;
  }
}
.gnav-list li.icon_nav {
  text-align: center;
  margin-left: 12px;
}
@media (max-width: 576px) {
  .gnav-list li.icon_nav {
    margin-left: 8px;
  }
}
.gnav-list li.icon_nav.__help {
  margin-left: 32px;
}
.gnav-list li.icon_nav.login {
  background: #F2F5F7;
  padding: 5px;
  border-radius: 4px;
  position: relative !important;
  line-height: 1;
}
.gnav-list li.icon_nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: block;
  font-size: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.gnav-list li.icon_nav a:hover {
  color: #047AE3;
}
.gnav-list li.icon_nav i {
  margin-bottom: 0.1rem;
  display: block;
  line-height: 1;
}
.gnav-list li.icon_nav i:before {
  margin-left: 0;
}
.gnav-list li.icon_nav i.flaticon-devices:before {
  font-size: 21px;
}
@media (max-width: 991px) {
  .gnav-list li.icon_nav i.flaticon-devices:before {
    font-size: 17px;
  }
}
.gnav-list li.icon_nav i.flaticon-shopping-cart {
  margin-left: -3px;
}
.gnav-list li.icon_nav span {
  font-weight: bold;
}
.gnav-list li [class*=bar-] {
  height: 3px;
  background: #047AE3;
  display: block;
  margin-top: 4px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.gnav-list li .bar-1 {
  width: 100%;
}
.gnav-list li .bar-2 {
  width: 70%;
  margin-left: auto;
}
.gnav-list li .bar-3 {
  width: 40%;
  margin-left: auto;
}
.gnav-list .bar {
  width: 32px;
  cursor: pointer;
  position: relative;
  top: -3px;
}
@media (max-width: 991px) {
  .gnav-list .bar {
    margin-left: 12px;
    width: 24px;
  }
}
.gnav-list .bar:hover [class*=bar-] {
  width: 100%;
}
.gnav-list [class*=flaticon-] {
  font-size: 20px;
  font-weight: normal;
}
@media only screen and (max-width: 490px) {
  .gnav-list [class*=flaticon-] {
    font-size: 16px;
  }
}
.gnav-list [class*=flaticon-]:before {
  margin-left: 10px;
}
@media (max-width: 991px) {
  .gnav-list [class*=flaticon-]:before {
    margin-left: 0;
  }
}
.gnav-list a:hover {
  text-decoration: none;
}
.gnav-list .sp {
  display: none !important;
}
@media (max-width: 991px) {
  .gnav-list .sp {
    display: inline-block !important;
  }
}

.tel-show {
  position: relative;
  cursor: pointer;
}

.tel-n {
  background: #fff;
  border-radius: 4px;
  position: absolute;
  left: 50%;
  top: 32px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  overflow: hidden;
  width: 200px;
  padding: 12px;
  text-align: center;
  font-size: 20px;
  display: none;
}

.fas,
.l-header .fa {
  background: -webkit-linear-gradient(0deg, #047AE3, #45b4eb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.en {
  font-family: "Roboto", sans-serif;
}

.gnav-list .__tel {
  margin-left: 12px;
}
.gnav-list .__tel a {
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
@media (max-width: 576px) {
  .gnav-list .__tel a {
    font-size: 1.4rem;
  }
}
.gnav-list .__tel span {
  display: block;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0px;
}

/* =========================================================
menu
========================================================= */
.close_btn {
  width: 40px;
  height: 40px;
  color: #fff;
  background: #0C2538;
  border-radius: 100px;
  position: absolute;
  right: 30px;
  top: 10px;
  cursor: pointer;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 991px) {
  .close_btn {
    position: fixed;
    width: 30px;
    height: 30px;
    right: 12px;
    top: 12px;
  }
}
.close_btn i {
  font-size: 13px;
  color: #fff;
}
@media (max-width: 991px) {
  .close_btn i {
    line-height: 30px;
  }
}

.menu-tab {
  padding: 30px 30px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  border-bottom: 2px solid #F2F5F8;
  margin-bottom: 30px;
}
@media (max-width: 991px) {
  .menu-tab {
    padding: 16px 0px 0px;
    margin-bottom: 16px;
  }
}
@media (max-width: 576px) {
  .menu-tab {
    padding: 0;
    margin-bottom: 32px;
  }
}
.menu-tab li {
  display: table-cell;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: 13px;
  text-align: center;
}
@media (max-width: 576px) {
  .menu-tab li {
    font-size: 11px;
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
  }
}
@media (max-width: 576px) {
  .menu-tab li:nth-child(2) {
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
  }
}
.menu-tab li span {
  display: block;
  padding-bottom: 15px;
  cursor: pointer;
}
@media (max-width: 576px) {
  .menu-tab li span {
    padding: 16px 0;
  }
}
.menu-tab li span:hover {
  color: #047AE3;
}

.menu-tab-contents {
  padding: 0 30px 30px;
}
@media (max-width: 991px) {
  .menu-tab-contents {
    padding: 0 16px 16px;
  }
}
.menu-tab-contents .tab-cat-list {
  margin: 0 -4px 40px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.menu-tab-contents .tab-cat-list li {
  padding: 4px 8px;
  width: 50%;
  float: none;
}
@media (max-width: 991px) {
  .menu-tab-contents .tab-cat-list li {
    width: 100%;
  }
}

.tab-cat-list {
  margin: 0 -8px 15px;
}
.tab-cat-list:before, .tab-cat-list:after {
  content: "";
  display: table;
}
.tab-cat-list:after {
  clear: both;
}
@media (max-width: 991px) {
  .tab-cat-list {
    margin-left: 0;
    margin-right: 0;
  }
}
.tab-cat-list li {
  padding: 0 8px 16px;
  width: 33.3%;
  float: left;
}
@media (max-width: 991px) {
  .tab-cat-list li {
    padding: 0;
    width: 100%;
    float: none;
  }
}
@media (max-width: 991px) {
  .tab-cat-list li:last-child a {
    border-bottom: 1px solid #F2F5F8;
    border-radius: 0 0 4px 4px;
  }
}
@media (max-width: 991px) {
  .tab-cat-list li:first-child a {
    border-radius: 4px 4px 0 0;
  }
}
.tab-cat-list li a {
  border: 2px solid #F2F5F8;
  border-radius: 4px;
  padding: 10px 32px 18px 20px;
  position: relative;
  display: block;
}
.tab-cat-list li a.__nolink {
  pointer-events: none;
}
@media (max-width: 991px) {
  .tab-cat-list li a {
    margin-bottom: -1px;
    border-radius: 0;
  }
}
.tab-cat-list li a:after {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #047AE3;
}
.tab-cat-list li a:hover {
  border-color: #047AE3;
  text-decoration: none;
  background-color: rgba(242, 245, 248, 0.5);
  z-index: 10;
}
.tab-cat-list li a:hover .cat-name {
  color: #047AE3;
}
.tab-cat-list .cat-name {
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  line-height: 1.6;
  margin-top: 3px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 991px) {
  .tab-cat-list .cat-name {
    font-size: 13px;
  }
}
.tab-cat-list .cat-detail {
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  color: #FEB91E;
  display: none;
}
@media (max-width: 991px) {
  .tab-cat-list .cat-detail {
    font-size: 10px;
  }
}
.tab-cat-list .cat-detail img {
  width: 50px;
  margin-right: 10px;
  vertical-align: inherit;
}
.tab-cat-list .riyou {
  letter-spacing: 1px;
  color: #26455C;
  font-weight: normal;
}

.syokuba li {
  min-height: 110px;
}

.menu-title {
  font-size: 13px;
  margin-left: 4px;
  margin-bottom: 1rem;
}
@media (max-width: 576px) {
  .menu-title {
    font-size: 12px;
  }
}
.menu-title a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu-title i:before {
  margin: 0;
  font-size: 32px;
  font-weight: normal;
  color: #047AE3;
  margin-right: 12px;
}
@media (max-width: 991px) {
  .menu-title i:before {
    font-size: 27px;
  }
}
.menu-title .menu-title-item {
  font-size: 17px;
  color: #047AE3;
}
@media (max-width: 576px) {
  .menu-title .menu-title-item {
    font-size: 15px;
  }
}

.menu-btn {
  margin-bottom: 15px;
}
.menu-btn .btn {
  max-width: 100%;
  padding: 18px 10px;
  display: block;
}

.menu-info {
  background: #F2F5F8;
  text-align: center;
  padding: 20px;
}
.menu-info > p {
  font-size: 14px;
  margin-bottom: 10px;
}

.menu-info-inner {
  display: table;
  width: 100%;
}

.menu-info-item {
  display: table-cell;
  padding: 0 10px;
  vertical-align: middle;
  width: 50%;
}
@media (max-width: 991px) {
  .menu-info-item {
    display: block;
    padding: 0;
    width: 100%;
  }
}
.menu-info-item .tel {
  font-size: 24px;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  line-height: 1.4;
}
@media (max-width: 991px) {
  .menu-info-item .tel {
    letter-spacing: 0px;
  }
}
.menu-info-item .tel i {
  font-size: 20px;
  vertical-align: middle;
  font-weight: normal;
  font-family: FontAwesome;
  -webkit-text-fill-color: inherit;
}
.menu-info-item .open-time {
  margin-top: -4px;
  font-size: 10px;
  font-weight: normal;
  letter-spacing: 0;
}
.menu-info-item + .menu-info-item {
  margin-top: 15px;
}

.menu-knowhow,
.menu-other {
  margin-bottom: 40px;
}

#searchform {
  border-radius: 2px;
  border: 2px solid #F2F5F8;
}
#searchform div {
  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;
  position: inherit;
  padding: 0 16px;
}
#searchform input[type=text] {
  padding: 16px 0;
  float: inherit;
}
#searchform button {
  position: inherit;
  margin: auto;
  padding: 0;
  float: none;
  width: 32px;
  height: auto;
  font-size: 14px;
  color: #0C2538;
  line-height: inherit;
}

#searchform {
  overflow: hidden;
  background: #fff;
  padding-bottom: 0;
  border-radius: 2px;
}

#searchform input[type=text] {
  line-height: 18px;
  font-size: 14px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
}

#searchform button {
  top: 0;
  right: 0;
  vertical-align: top;
  border: none;
  border-radius: 3px;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  background: transparent;
  font-family: "FontAwesome";
}

#searchsubmit {
  -webkit-box-shadow: none;
          box-shadow: none;
}
#searchsubmit:after {
  content: none;
}

form input[type=text],
form input[type=email],
form input[type=url],
form input[type=tel],
form input[type=number],
form input[type=date],
form textarea {
  outline: none;
}

.menu-knowhow-title,
.menu-ohter-title {
  font-size: 13px;
  margin-bottom: 9px;
}

.choice-btn {
  border: 2px solid #047AE3;
  border-radius: 2px;
  padding: 0px 16px;
  color: #047AE3;
  position: relative;
  font-size: 13px;
  line-height: 56px;
  cursor: pointer;
}
.choice-btn:after {
  content: "\f13a";
  font-family: "FontAwesome";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.menu-knowhow-list {
  display: none;
}
.menu-knowhow-list li a {
  display: block;
  color: #047AE3;
  font-size: 14px;
  padding: 10px 20px;
  border-bottom: 1px solid #F2F5F8;
}
.menu-knowhow-list li a:hover {
  border-color: #047AE3;
}

.study-list li {
  font-size: 15px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #F2F5F8;
  transition: -webkit-transform 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.18, 0.45, 0.25, 1), -webkit-transform 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
}
.study-list li .title {
  display: inline-block;
  padding: 4px 0;
}
.study-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.study-list li:hover {
  text-decoration: underline;
  color: #047AE3;
  -webkit-transform: translatex(3px);
          transform: translatex(3px);
}
.study-list li:hover .title {
  color: #047AE3;
}
.study-list li a {
  display: block;
}
.study-list .study-cat-name {
  background: #0C2538;
  display: inline-block;
  padding: 0 10px;
  border-radius: 2px;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  letter-spacing: 0px;
}

.menu-other-title {
  font-size: 13px;
  border-bottom: 1px solid #F2F5F8;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.menu-other-list:before, .menu-other-list:after {
  content: "";
  display: table;
}
.menu-other-list:after {
  clear: both;
}
.menu-other-list li {
  width: 50%;
  float: left;
  font-size: 13px;
  font-weight: normal;
}
.menu-other-list li .title {
  display: inline-block;
  padding: 4px 0;
}
.menu-other-list li a {
  display: block;
  padding: 0px 10px 16px 16px;
  position: relative;
  line-height: 1.4;
}
.menu-other-list li a:hover {
  color: #047AE3;
}
.menu-other-list li a:before {
  content: "\f105";
  font-family: "FontAwesome";
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #047AE3;
}

.menu-tab-content .menu-other:last-child .menu-other-list {
  border-top: 1px solid #F2F5F8;
  padding-top: 40px;
}
.menu-tab-content .menu-other:last-child .menu-other-list li a {
  padding-left: 0;
}
.menu-tab-content .menu-other:last-child .menu-other-list li a:before {
  content: none;
}

/*------------------------------------------
* o-blognav
------------------------------------------*/
.o-blognav {
  background-color: #fff;
}
.o-blognavWrap {
  width: 100%;
  margin: auto;
  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;
  border-bottom: 1px solid #F2F5F8;
}
@media (max-width: 1080px) {
  .o-blognavWrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 991px) {
  .o-blognavWrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
.o-blognavTitle {
  font-size: clamp(13px, 1vw, 16px);
}
@media (max-width: 991px) {
  .o-blognavTitle {
    font-size: 10px;
    width: 100%;
    display: block;
    text-align: center;
    background-color: #F2F5F8;
  }
}
.o-blognavUnit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 1280px) {
  .o-blognavUnit {
    padding-left: 8px;
  }
}
@media (max-width: 991px) {
  .o-blognavUnit {
    overflow: hidden;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.o-blognavList {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 3%;
}
.o-blognavList__item {
  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;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.o-blognavList__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  padding: 0 12px;
  font-size: clamp(13px, 1vw, 16px);
}
@media (max-width: 768px) {
  .o-blognavList__link {
    padding: 0 6px;
  }
}
@media (max-width: 576px) {
  .o-blognavList__link {
    padding: 0 3px;
  }
}
.o-blognavList__link:before {
  content: "";
  position: absolute;
  width: 0;
  height: 3px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #047AE3;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}
.o-blognavList__link:hover {
  color: #047AE3;
}
.o-blognavList__link:hover:before {
  width: 100%;
}
.o-blognavBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  padding: 12px 0;
}
@media (max-width: 991px) {
  .o-blognavBtn {
    padding: 8px 0;
    padding-right: 12px;
  }
}
.o-blognavBtn__link {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  color: #fff;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: bold;
  min-width: 101px;
  padding: 5px 16px 4px;
  border-radius: 100px;
  background-color: #fc7955;
  border-bottom: 3px solid #db613f;
  text-shadow: 0 0 2px rgba(12, 37, 56, 0.3);
}
@media (max-width: 991px) {
  .o-blognavBtn__link {
    padding: 5px 8px 4px;
    min-width: 80px;
  }
}
@media (max-width: 768px) {
  .o-blognavBtn__link {
    padding: 5px 7px 4px;
    min-width: 60px;
  }
}
.o-blognavBtn__link.__sample {
  background-color: #2EB979;
  border-bottom: 3px solid #188E57;
}

/* =========================================================
btn
========================================================= */
.btn {
  padding: 18px 10px;
  border-radius: 4px;
  max-width: 326px;
  display: block;
  margin: 0 auto;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#0C2538), to(rgba(12, 37, 56, 0.8)));
  background: linear-gradient(to right, #0C2538, rgba(12, 37, 56, 0.8));
  text-align: center;
  font-weight: bold;
  border-bottom: 4px solid #1a3244;
  cursor: pointer;
  -webkit-box-shadow: 0 0 20px 0px rgba(12, 37, 56, 0.2);
          box-shadow: 0 0 20px 0px rgba(12, 37, 56, 0.2);
  -webkit-filter: brightness(1);
          filter: brightness(1);
}
@media (max-width: 991px) {
  .btn {
    font-size: 13px;
  }
}
.btn:after {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #45b4eb;
}
.btn:hover {
  -webkit-box-shadow: 0 0 20px 0px rgba(12, 37, 56, 0.4);
          box-shadow: 0 0 20px 0px rgba(12, 37, 56, 0.4);
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}
.btn.__mwauto {
  max-width: initial;
}

.grade {
  background: -webkit-gradient(linear, left top, right top, from(#45b4eb), to(#1d83ff));
  background: linear-gradient(to right, #45b4eb, #1d83ff);
  transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  -webkit-transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  border-bottom: 3px solid #1d83ff;
  -webkit-box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.2);
          box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.2);
}
.grade:hover {
  background: -webkit-gradient(linear, right top, left top, from(#45b4eb), to(#1d83ff));
  background: linear-gradient(to left, #45b4eb, #1d83ff);
}
.grade:hover {
  -webkit-box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.5);
          box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.5);
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
.grade:after {
  color: #fff;
}

.grade2 {
  background: -webkit-gradient(linear, left top, right top, from(#FEB91E), to(#FE741E));
  background: linear-gradient(to right, #FEB91E, #FE741E);
  transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  -webkit-transition: all 0.5s cubic-bezier(0.18, 0.45, 0.25, 1);
  -webkit-box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.2);
          box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.2);
}
.grade2:hover {
  background: -webkit-gradient(linear, right top, left top, from(#FEB91E), to(#FE741E));
  background: linear-gradient(to left, #FEB91E, #FE741E);
}
.grade2:hover {
  -webkit-box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.5);
          box-shadow: 0 0 20px 0px rgba(46, 152, 229, 0.5);
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
.grade2:after {
  color: #fff;
}

.btn.denial {
  background: #A0A0A0;
  border-bottom: 3px solid #807f7f;
  color: #fff;
  -webkit-filter: none;
          filter: none;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  cursor: not-allowed;
}
.btn.denial .__title {
  line-height: 1.3;
  font-size: 18px;
  margin-bottom: 0;
}
.btn.denial .__desc {
  font-size: 12px;
  line-height: 1.6;
  display: block;
}
.btn.denial:hover {
  background: #A0A0A0;
}
.btn.nobefore:before {
  content: none;
}
.btn.noafter:after {
  content: none;
}

.view-btn .btn {
  margin-left: 0;
}
@media (max-width: 1280px) {
  .view-btn .btn {
    margin-left: auto;
  }
}
.view-btn + a {
  font-size: 12px;
  color: #047AE3;
  margin-top: 10px;
  font-weight: bold;
  display: inline-block;
}
.view-btn + a .flaticon-question:before {
  font-size: 12px;
  margin: 0;
}

/* =========================================================
l-low
========================================================= */
.l-low {
  margin: 0 -15px;
}
@media (max-width: 768px) {
  .l-low {
    margin: 0;
  }
}

.l-low.sec-2-contents {
  padding-top: 20px;
}

@media (max-width: 768px) {
  .sec-4-title + .l-low {
    padding-top: 10px;
  }
}

/*------------------------------------------
* layout
------------------------------------------*/
.l-grid-1 {
  width: 8.333%;
}

.l-grid-2 {
  width: 16.667%;
}

.l-grid-3 {
  width: 25%;
}

.l-grid-4 {
  width: 33.333%;
}

.l-grid-5 {
  width: 41.666%;
}

.l-grid-6 {
  width: 50%;
}

.l-grid-7 {
  width: 58.333%;
}

.l-grid-8 {
  width: 66.666%;
}

.l-grid-9 {
  width: 75%;
}

.l-grid-10 {
  width: 83.33%;
}

.l-grid-11 {
  width: 91.666%;
}

.l-grid-12 {
  width: 100%;
}

[class*=l-grid-] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  float: left;
  padding: 0 15px;
}
@media (max-width: 768px) {
  [class*=l-grid-] {
    width: 100%;
    margin-bottom: 20px;
    padding: 0;
  }
}

.l-low {
  margin: 0 -15px;
}
.l-low:before, .l-low:after {
  content: "";
  display: table;
}
.l-low:after {
  clear: both;
}
@media (max-width: 768px) {
  .l-low {
    margin: 0;
  }
}

.is-item-page .l-header,
.is-new-item-page .l-header {
  position: relative;
}
.is-item-page .l-content,
.is-new-item-page .l-content {
  padding-top: 0;
}

.l-wrap {
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.l-inner {
  max-width: 1360px;
  width: 94%;
  margin: 0 auto;
}
@media (max-width: 1280px) {
  .l-inner {
    max-width: 1080px;
  }
}
@media (max-width: 576px) {
  .l-inner {
    width: 96%;
  }
}
.l-inner.__cartFlow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
}
.l-inner.__cartFlow .page-box {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.l-main-view {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 1rem auto 3rem;
  max-width: 95%;
}
@media (max-width: 1280px) {
  .l-main-view {
    margin: 3rem auto;
    max-width: 90%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 460px;
  }
}
@media (max-width: 1080px) {
  .l-main-view {
    min-height: 600px;
  }
}
@media only screen and (max-width: 771px) {
  .l-main-view {
    min-height: 360px;
  }
}

.l-top-sec-1 {
  position: relative;
}
.l-top-sec-1:before {
  content: "";
  width: 100%;
  height: calc(100% - 94px);
  background: #F2F5F8;
  position: absolute;
  top: 94px;
}
.l-top-sec-1 .l-inner {
  padding: 20px 0 0;
}
@media (max-width: 768px) {
  .l-top-sec-1 .l-inner {
    width: 100%;
  }
}

.article-block .l-grid-6 {
  padding: 0 8px 16px;
}
@media (max-width: 768px) {
  .article-block .l-grid-6 {
    margin-bottom: 0;
  }
}

.l-top-sec-2,
.l-top-sec-3,
.l-top-sec-4 {
  padding-top: 20rem;
}
@media (max-width: 768px) {
  .l-top-sec-2,
  .l-top-sec-3,
  .l-top-sec-4 {
    padding-top: 10rem;
  }
}

.l-top-sec-3 {
  overflow-x: hidden;
}

.l-low.sec-2-contents {
  padding-top: 20px;
}

@media (max-width: 768px) {
  .sec-4-title + .l-low {
    padding-top: 10px;
  }
}

@media (max-width: 768px) {
  .l-top-sec-4 .l-inner {
    width: 100%;
  }
}

.l-footer-content {
  background-color: #fff;
}

@media (max-width: 768px) {
  .l-inner.--banner {
    position: initial;
  }
}
.l-inner.--banner:after {
  content: "";
  width: auto;
  height: 100px;
  background: #F2F5F8;
  position: absolute;
  left: 0;
  right: 0;
  top: 80px;
  margin: auto;
}
@media (max-width: 768px) {
  .l-inner.--banner:after {
    top: 0;
    height: 100%;
    left: 0;
    right: 0;
    width: auto;
    z-index: -1;
  }
}
.l-inner.--banner .banner-block .l-low {
  margin: 0 -10px;
}
.l-inner.--banner .banner-block .l-grid-4 {
  padding: 0 10px;
}

.f-nav .f-nav-content + .l-low {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .f-nav .f-nav-content + .l-low {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .f-nav .l-grid-6 {
    margin: 0;
  }
}

.footer-others .l-low {
  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;
}
@media (max-width: 768px) {
  .footer-others .l-low {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.footer-others .l-gird-6:before, .footer-others .l-gird-6:after {
  content: "";
  display: table;
}
.footer-others .l-gird-6:after {
  clear: both;
}

.l-footer-sns {
  display: table;
  margin: 40px auto 30px;
}

.l-menu {
  background: rgba(12, 37, 56, 0.8);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  padding: 18px 18px 18px 0;
  display: none;
}
@media (max-width: 768px) {
  .l-menu {
    padding: 0;
  }
}

.l-inner-wrap {
  margin-top: -40px;
  position: relative;
}
@media (max-width: 768px) {
  .l-inner-wrap {
    margin-top: -20px;
  }
}

@media (max-width: 768px) {
  .f-nav-content .l-low {
    margin: 0;
  }
}

@media (max-width: 768px) {
  .recruit-sec-1 .l-low p {
    margin-bottom: 0;
  }
}
.recruit-sec-1 .l-low + .l-low {
  margin-top: 30px;
}
@media (max-width: 768px) {
  .recruit-sec-1 .l-low + .l-low {
    margin-top: 0;
  }
}
.recruit-sec-1 .l-low + .l-low p {
  margin-bottom: 0;
}

.l-main-contents {
  max-width: 1100px;
  margin: 0 auto;
}

.l-main-inner {
  float: left;
  margin-right: 370px;
}
@media (max-width: 768px) {
  .l-main-inner {
    float: none;
    margin-right: 0;
  }
}

.l-side {
  width: 320px;
  margin-left: -320px;
  float: left;
}
@media (max-width: 768px) {
  .l-side {
    width: 100%;
    float: none;
    margin: 30px 0 0;
  }
}

.single .l-main:before, .single .l-main:after {
  content: "";
  display: table;
}
.single .l-main:after {
  clear: both;
}

.l-main-contents-ec {
  max-width: 950px;
  margin: 0 auto;
}

.l-item-nav {
  padding: 0 3%;
  display: none;
}
@media (max-width: 1280px) {
  .l-item-nav {
    display: block;
  }
}

.l-recommend-block {
  padding: 0 0 40px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
}
@media (max-width: 768px) {
  .l-recommend-block {
    display: block;
  }
}

.l-section-item {
  padding: 30px 0 0;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .l-section-item {
    font-size: 14px;
  }
}
.l-section-item.__faq .faq-box dd {
  display: block !important;
}

.item-contents .l-inner:before, .item-contents .l-inner:after,
.download .l-inner:before,
.download .l-inner:after {
  content: "";
  display: table;
}
.item-contents .l-inner:after,
.download .l-inner:after {
  clear: both;
}
@media (max-width: 576px) {
  .item-contents .l-inner,
  .download .l-inner {
    width: 90%;
  }
}

.l-main-contents-cart {
  width: calc(100% - 295px);
}
@media (max-width: 768px) {
  .l-main-contents-cart {
    width: 100%;
  }
}
.l-main-contents-cart .l-section-item:first-child {
  padding-top: 0;
}

.l-side-cart {
  width: 295px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .l-side-cart {
    width: 100%;
    padding: 0;
  }
}
.l-side-cart .wrap {
  position: sticky;
  top: 56px;
}

.cart .l-main-wrap,
.register .l-main-wrap {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  .cart .l-main-wrap,
  .register .l-main-wrap {
    display: block;
  }
}

.l-main-contents-register {
  width: calc(100% - 370px);
}
@media (max-width: 768px) {
  .l-main-contents-register {
    width: 100%;
  }
}

.l-side-register {
  width: 370px;
  padding-left: 50px;
}
@media (max-width: 768px) {
  .l-side-register {
    width: 100%;
    padding: 0;
  }
}

#brochure .l-inner.--banner,
#brochure .f-nav {
  display: none;
}

.item-new .l-inner-wrap {
  margin-top: -120px;
}
@media (max-width: 768px) {
  .item-new .l-inner-wrap {
    margin-top: -150px;
  }
}
.item-new .l-inner {
  max-width: 1048px;
}
@media (max-width: 768px) {
  .item-new .l-inner {
    width: 100%;
  }
}

.l-wrap .maxwidth400 {
  width: 100%;
  max-width: 400px;
}
.l-wrap .maxwidth600 {
  width: 100%;
  max-width: 600px;
}

.o-parts.corplink {
  display: none;
  position: relative;
  background-color: #142531;
  border-radius: 4px;
  max-width: 678px;
  margin: 0 auto 3rem;
  padding: 1rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 1;
  width: auto;
}
.o-parts.corplink:hover {
  opacity: 0.95;
}
.o-parts.corplink:hover .corplinkIcon {
  background-color: #0C2538;
  -webkit-filter: brightness(2);
          filter: brightness(2);
}
@media (max-width: 768px) {
  .o-parts.corplink:hover .corplinkIcon {
    -webkit-filter: brightness(1.1);
            filter: brightness(1.1);
  }
}
.o-parts.corplink .corplinkImg_item {
  -o-object-fit: cover;
     object-fit: cover;
  height: 80px;
  width: 80px;
  border-right: 1px solid #0C2538;
}
@media (max-width: 768px) {
  .o-parts.corplink .corplinkImg_item {
    width: 33.33333%;
  }
}
.o-parts.corplink .corplinkImg_item:first-child {
  border-radius: 4px 0 0 4px;
}
.o-parts.corplink .corplinkImg_item:last-child {
  border-right: none;
  border-radius: 0 4px 4px 0;
}
.o-parts.corplink .corplinkText {
  font-size: 15px;
  padding: 1rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  letter-spacing: -1px;
}
@media (max-width: 768px) {
  .o-parts.corplink .corplinkText {
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 576px) {
  .o-parts.corplink .corplinkText {
    font-size: 13px;
  }
}
.o-parts.corplink .corplinkText_sub {
  position: relative;
}
.o-parts.corplink .corplinkText_sub:after {
  content: "";
  position: absolute;
  display: block;
  height: 2px;
  width: 100%;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: inherit;
  z-index: 0;
  background: -webkit-gradient(linear, left top, right top, from(#F5EAB5), color-stop(30%, #BF8F37), color-stop(6%, #F7F1C1), color-stop(98%, #E8CA75));
  background: linear-gradient(to right, #F5EAB5 0%, #BF8F37 30%, #F7F1C1 6%, #E8CA75 98%);
}
.o-parts.corplink .corplinkText_subWrap {
  position: relative;
  z-index: 1;
  background-color: #142531;
  padding-right: 12px;
}
@media (max-width: 768px) {
  .o-parts.corplink .corplinkText_subWrap {
    padding-left: 12px;
  }
}
.o-parts.corplink .corplinkText_title {
  font-size: 23px;
}
@media (max-width: 576px) {
  .o-parts.corplink .corplinkText_title {
    font-size: 19px;
  }
}
.o-parts.corplink .corplinkText_titleSub {
  font-size: 15px;
}
@media (max-width: 576px) {
  .o-parts.corplink .corplinkText_titleSub {
    font-size: 13px;
  }
}
.o-parts.corplink .corplinkIcon {
  background-color: #0C2538;
  border-radius: 4px;
  height: 80px;
  padding: 0 0.3rem 0 0.5rem;
  width: auto;
  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;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .o-parts.corplink .corplinkIcon {
    position: absolute;
    height: 24px;
    width: 24px;
    padding: 0;
    border-radius: 100px;
    bottom: 12px;
    right: 12px;
    background: -webkit-linear-gradient(0deg, #047AE3, #45b4eb);
  }
}
.o-parts.corplink .corplinkIcon_icon:before {
  color: #fff;
}
@media (max-width: 768px) {
  .o-parts.corplink .corplinkIcon_icon:before {
    margin-left: 2px;
  }
}
.o-parts.corplink .corplinkBadge {
  position: absolute;
  padding: 0.3rem 1.3rem;
  top: -1rem;
  left: -1rem;
  border-radius: 2px;
  letter-spacing: -0.5px;
  color: #fff;
  font-weight: bold;
  font-size: 13px;
  background: -webkit-gradient(linear, left top, right top, from(#746161), color-stop(98%, #432A2A));
  background: linear-gradient(to right, #746161 0%, #432A2A 98%);
}
@media (max-width: 576px) {
  .o-parts.corplink .corplinkBadge {
    font-size: 11px;
  }
}
.o-parts.corplink .corplinkBadge_icon:before {
  margin-right: 6px;
  color: #fff;
}
.o-parts.corplink.__small .corplinkImg_item {
  width: 33.33333%;
}
.o-parts.corplink.__small .corplinkText {
  width: 100%;
  text-align: center;
  font-size: 13px;
}
.o-parts.corplink.__small .corplinkText_subWrap {
  padding-left: 12px;
}
.o-parts.corplink.__small .corplinkText_title {
  font-size: 19px;
}
.o-parts.corplink.__small .corplinkTextSub {
  font-size: 13px;
}
.o-parts.corplink.__small .corplinkIcon {
  position: absolute;
  height: 24px;
  width: 24px;
  padding: 0;
  border-radius: 100px;
  bottom: 12px;
  right: 12px;
  background: -webkit-linear-gradient(0deg, #047AE3, #45b4eb);
}
.o-parts.corplink.__small .corplinkIcon_icon:before {
  margin-left: 2px;
}
@media (max-width: 576px) {
  .o-parts.corplink.__small .corplinkBadge {
    font-size: 11px;
  }
}
.o-parts.overlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.o-parts.flow.__style01 {
  min-width: 300px;
  margin-left: 32px;
}
@media (max-width: 991px) {
  .o-parts.flow.__style01 {
    width: 100%;
    margin-left: 0;
  }
}
.o-parts.flow.__style01 .flowTitle {
  padding: 16px;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
  border-radius: 2px;
}
.o-parts.flow.__style01 .flowTitle.__blue {
  color: #fff;
  background-color: #047AE3;
}
.o-parts.flow.__style01 .flowList {
  counter-reset: flowNum;
  margin: 0 !important;
  padding-left: 0px !important;
}
.o-parts.flow.__style01 .flowItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 1rem !important;
  font-size: 13px;
  font-weight: bold;
}
.o-parts.flow.__style01 .flowItem:last-child {
  margin-bottom: 0 !important;
}
.o-parts.flow.__style01 .flowItem:before {
  content: "Step." counter(flowNum);
  counter-increment: flowNum;
  padding: 12px;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  margin-right: 16px;
  background-color: #F2F5F8;
  border-radius: 2px;
}

.o-cart .__title {
  font-weight: bold;
  font-size: 12px;
  margin-top: 0px !important;
  margin-bottom: 4px !important;
}
.o-cart .__desc {
  letter-spacing: 0px;
  line-height: 1.6;
}
.o-cart.help {
  max-width: 360px;
  margin: 3rem auto 0;
  margin-top: 3rem;
}
.o-cart.help .__item {
  position: relative;
  font-size: 13px;
  margin-bottom: 3rem;
  padding-left: 36px;
}
.o-cart.help .__title {
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 1%;
}
.o-cart.help .__title:before {
  position: absolute;
  left: 0;
  top: -3px;
  margin: auto;
  content: "";
  width: 30px;
  height: 30px;
  background-size: cover;
}
.o-cart.help .return .__title:before {
  background-image: url(../images/new_item/cart/cart_help_return.png);
}
.o-cart.help .secure .__title:before {
  background-image: url(../images/new_item/cart/cart_help_secure.png);
}
.o-cart.help .support .__title:before {
  background-image: url(../images/new_item/cart/cart_help_support.png);
}
.o-cart.help .payment .__title:before {
  background-image: url(../images/new_item/cart/cart_help_payment.png);
}
.o-cart.help .__desc {
  letter-spacing: 0px;
  line-height: 1.6;
}
.o-cart.help .__desc p {
  margin-bottom: 0;
  color: #26455C;
}
.o-cart.help .__desc .__link {
  color: #047AE3;
  text-decoration: underline;
}
.o-cart.help .__desc .__btn {
  display: block;
}
.o-cart.help .__desc .__btn.border01 {
  position: relative;
  border: 1px solid #0C2538;
  border-radius: 4px;
  padding: 1rem;
  margin: 1.5rem auto;
  text-align: center;
  font-weight: bold;
  font-size: 11px;
}
.o-cart.help .__desc .__btn.border01:before {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  margin: auto;
  right: 16px;
  position: absolute;
}
.o-cart.help .__desc .__btn.border01:hover {
  background-color: #0C2538;
  color: #fff;
}
.o-cart.help .__desc .__btn.border01:hover:after {
  color: #fff;
}
.o-cart.help .__sticker {
  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;
  margin-top: 0;
  margin-bottom: 1%;
}
.o-cart.help .__sticker .privacy {
  margin-right: 12px;
}
.o-cart.help .__sticker img {
  max-height: 48px;
}
.o-cart.help .__tel {
  font-size: 10px;
  text-align: center;
  line-height: 1.3;
}
.o-cart.help .__tel span {
  display: block;
  font-weight: bold;
  font-size: 20px;
}
.o-cart.delivery p {
  margin-bottom: 0;
  line-height: 1.6;
  letter-spacing: 0px;
}
.o-cart.delivery .__box {
  padding: 1rem;
  background-color: #fff;
  text-align: center;
  font-size: 11px;
  margin: 3% auto;
}
.o-cart.delivery .__box span {
  display: block;
  color: #2EB979;
  font-weight: bold;
  font-size: 16px;
}
.o-cart.delivery .__box strong {
  font-size: 10px;
}
.o-cart.delivery .__attention {
  color: #26455C;
  font-size: 10px;
  text-align: center;
}
.o-cart.alert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem;
  border-radius: 2px;
}
.o-cart.alert i {
  font-size: 24px;
  margin-right: 20px;
}
.o-cart.alert p {
  margin-bottom: 0;
}
.o-cart.alert.__maxw01 {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.o-cart.alert .__cont {
  width: 100%;
  line-height: 1.6;
}
.o-cart.alert .__title {
  font-weight: bold;
  font-size: 15px;
}
@media (max-width: 991px) {
  .o-cart.alert .__title {
    font-size: 13px;
  }
}
.o-cart.alert .__list {
  font-size: 13px;
  border-bottom: 1px dotted rgba(185, 46, 45, 0.2);
  margin-top: 0px !important;
  margin-bottom: 1% !important;
  padding-bottom: 1%;
}
@media (max-width: 991px) {
  .o-cart.alert .__list {
    font-size: 12px;
  }
}
.o-cart.alert .__list:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0;
  border-bottom: 0;
}
.o-cart.alert.danger {
  background-color: rgba(185, 46, 45, 0.075);
  color: #B92E2D;
}
.o-cart.alert.safe {
  background-color: rgba(46, 185, 121, 0.1);
  color: #2EB979;
}
.o-cart.button.__checkout {
  margin-bottom: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e1e5e8;
}
.o-cart.button .btn i:before {
  font-size: 16px;
  margin-left: 0px;
  margin-right: 6px;
}
.o-cart.amazonpay {
  margin-top: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e1e5e8;
}
.o-cart.amazonpay .__btn {
  margin-bottom: 0.5rem;
}
.o-cart.amazonpay .__desc {
  margin-bottom: 0 !important;
  font-size: 11px;
}
.o-cart.coupon .coupon_form,
.o-cart.coupon .coupon_btn {
  padding: 9px 6px 8px;
}
.o-cart.coupon .coupon_form {
  font-size: 13px;
  padding: 11px 4px 11px 6px;
  width: auto;
  border: none;
  border-radius: 4px 0 0 4px;
  outline: none;
  border: 1px solid #F2F5F8;
  min-width: 0;
}
@media (max-width: 991px) {
  .o-cart.coupon .coupon_form {
    width: 100%;
  }
}
.o-cart.coupon .coupon_btn {
  color: #fff;
  height: 100%;
  border-radius: 0 4px 4px 0;
  margin: 0;
  font-size: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100px;
  width: 100%;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.lecturer {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 576px) {
  .lecturer {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.lecturer .img-block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 164px;
          flex: 0 0 164px;
}
@media (max-width: 576px) {
  .lecturer .img-block {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 3%;
    text-align: center;
  }
  .lecturer .img-block img {
    -o-object-fit: cover;
       object-fit: cover;
    max-height: 240px;
  }
}
.lecturer .text-block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - 188px);
          flex: 0 0 calc(100% - 188px);
}
.lecturer .text-block p {
  padding-bottom: 2rem;
}
.lecturer .text-block p:not(:last-of-type) {
  padding-bottom: 1rem;
}
@media (max-width: 576px) {
  .lecturer .text-block {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}
.lecturer .text-block .text {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: bold;
  color: #047AE3;
  margin-bottom: 0;
  padding-bottom: 0;
}
.lecturer .text-block .name {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
  font-weight: bold;
}
.lecturer .img {
  margin: 20px auto;
}

.technic-1 {
  margin: 0 -1%;
}
@media (max-width: 991px) {
  .technic-1 {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 576px) {
  .technic-1 {
    display: block;
  }
}
.technic-1 .text-block {
  border: 1px solid #F2F5F8;
  border-top: none;
}
.technic-1 .text-block h4 {
  background: #0C2538;
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 1rem;
  margin: 0;
}
.technic-1 .text-block .text-block-inner {
  padding: 1rem;
}
.technic-1 .text-block table {
  border-collapse: separate;
  border-spacing: 10px;
  margin: 0;
}
.technic-1 .text-block table th {
  background-color: #F2F5F8;
  font-size: 12px;
  min-width: 66px;
}
@media (max-width: 576px) {
  .technic-1 .text-block table th {
    font-size: 10px;
  }
}
.technic-1 .text-block table td {
  font-size: 14px;
}
@media (max-width: 576px) {
  .technic-1 .text-block table td {
    font-size: 12px;
  }
}
.technic-1 .text-block table td li {
  font-weight: normal;
}
.technic-1 .text-block .ol {
  margin: 0 10px;
}
.technic-1 .text-block .ol li {
  font-size: 12px;
  font-weight: bold;
  margin: 10px 0;
}
.technic-1 .text-block .ol li:first-child {
  color: #047AE3;
  text-decoration: underline;
}
.technic-1 .text-block .ol li:after {
  top: 3px;
}
.technic-1 .text-block .ol li:before {
  top: -7px;
}

.faq-box {
  margin-bottom: 2rem;
}
.faq-box dt,
.faq-box dd {
  position: relative;
  padding: 20px 20px 20px 70px;
}
@media (max-width: 991px) {
  .faq-box dt,
  .faq-box dd {
    padding: 10px 30px 10px 48px;
  }
}
.faq-box dt {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  line-height: 1.6;
  background: #fff;
  -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}
.faq-box dt:before {
  content: "Q";
  font-family: "Roboto", sans-serif;
  color: #047AE3;
  position: absolute;
  left: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 22px;
  font-weight: 900;
}
@media (max-width: 576px) {
  .faq-box dt:before {
    left: 14px;
  }
}
.faq-box dt:after {
  content: "\f13a";
  font-family: "FontAwesome";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 22px;
  background-color: rgba(12, 37, 56, 0.8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 576px) {
  .faq-box dt:after {
    right: -5px;
  }
}
.faq-box dd {
  background: #F2F5F8;
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: normal;
  margin-bottom: 40px;
  display: block;
}
.faq-box dd:before {
  content: "A.";
  font-family: "Roboto", sans-serif;
  color: #047AE3;
  position: absolute;
  left: 30px;
  top: 23px;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}
@media (max-width: 576px) {
  .faq-box dd:before {
    left: 14px;
    top: 15px;
  }
}
.faq-box dd p,
.faq-box dd .faq-title-ec {
  font-weight: normal;
  margin-top: 0 !important;
  margin-bottom: 1rem;
  padding-bottom: 0px;
}
.faq-box dd p:not(:last-of-type),
.faq-box dd .faq-title-ec:not(:last-of-type) {
  padding-bottom: 1rem;
}
.faq-box dd strong {
  font-weight: bold;
}
.faq-box dd .faq-flow {
  counter-reset: faq-flow-item;
}
.faq-box dd .faq-flow-item {
  counter-increment: faq-flow-item;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 8px;
}
@media (max-width: 576px) {
  .faq-box dd .faq-flow-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.faq-box dd .faq-flow-item:before {
  content: "手順.0" counter(faq-flow-item);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  white-space: pre;
  font-size: 13px;
  font-weight: bold;
  padding: 16px 24px;
  background-color: #E1E4E6;
  border-radius: 6px;
}
@media (max-width: 576px) {
  .faq-box dd .faq-flow-item:before {
    padding: 4px 16px;
  }
}
.faq-box dd .faq-flow-text {
  padding: 16px 16px;
}
@media (max-width: 576px) {
  .faq-box dd .faq-flow-text {
    padding: 8px 0;
  }
}
.faq-box dd .faq-flow-text p {
  margin-bottom: 1rem;
}
.faq-box dd .faq-flow-text p:last-child {
  margin-bottom: 0;
}

/* 記事内のパーツ */
.curri-flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid #F2F5F8;
}
@media (max-width: 768px) {
  .curri-flex {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
.curri-flex .img-block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 78px;
          flex: 0 0 78px;
}
@media (max-width: 576px) {
  .curri-flex .img-block {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60px;
            flex: 0 0 60px;
  }
}
.curri-flex .text-block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - 78px);
          flex: 0 0 calc(100% - 78px);
  padding-left: 30px;
}
@media (max-width: 768px) {
  .curri-flex .text-block {
    padding-left: 10px;
  }
}
@media (max-width: 576px) {
  .curri-flex .text-block {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 60px);
            flex: 0 0 calc(100% - 60px);
  }
}
.curri-flex .type {
  font-size: 15px;
  font-weight: bold;
  background: #0C2538;
  color: #fff;
  padding: 0 10px;
  display: inline-block;
  position: relative;
}
@media (max-width: 768px) {
  .curri-flex .type {
    font-size: 12px;
  }
}
.curri-flex .type:after {
  content: "";
  border: 15px solid transparent;
  border-left: 15px solid #0C2538;
  position: absolute;
  right: -30px;
  top: 0;
}
@media (max-width: 768px) {
  .curri-flex .type:after {
    border: 12px solid transparent;
    border-left: 12px solid #0C2538;
    right: -24px;
  }
}
.curri-flex .title {
  font-size: 19px;
  font-weight: bold;
  margin: 10px 0;
  line-height: 1.4;
  padding-bottom: 0px;
}
@media (max-width: 768px) {
  .curri-flex .title {
    font-size: 16px;
  }
}
.curri-flex .title .size-s {
  font-size: 15px;
  font-weight: normal;
}
@media (max-width: 768px) {
  .curri-flex .title .size-s {
    font-size: 12px;
  }
}
.curri-flex .list {
  margin: 0;
}
.curri-flex .list li {
  font-weight: normal;
}

.tab-wrap {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 120px 0 50px;
  overflow: visible;
}
.tab-wrap .tab {
  -webkit-box-flex: 33.3%;
      -ms-flex: 33.3%;
          flex: 33.3%;
  background: #F2F5F8;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  color: #0C2538;
  padding: 25px 10px 10px;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  .tab-wrap .tab {
    font-size: 12px;
  }
}
.tab-wrap .tab:hover {
  background: #1F5B83;
  color: #fff;
}
.tab-wrap .tab:before {
  content: "";
  width: 66px;
  height: 98px;
  position: absolute;
  left: 50%;
  top: -78px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.tab-wrap .tab-1 {
  border-radius: 4px 0 0 4px;
}
.tab-wrap .tab-1:before {
  background: url(../images/new_item/curri_img_a@2x.png);
  background-size: 66px 98px;
}
.tab-wrap .tab-2 {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
.tab-wrap .tab-2:before {
  background: url(../images/new_item/curri_img_b@2x.png);
  background-size: 66px 98px;
}
.tab-wrap .tab-3 {
  border-radius: 0 4px 4px 0;
}
.tab-wrap .tab-3:before {
  background: url(../images/new_item/curri_img_c@2x.png);
  background-size: 66px 98px;
}
.tab-wrap .__active {
  background: #1F5B83;
  color: #fff;
}
.tab-wrap .__active:after {
  content: "";
  border: 15px solid transparent;
  border-top: 15px solid #1F5B83;
  position: absolute;
  left: 50%;
  bottom: -25px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.tab-contents {
  padding: 0;
}
.tab-contents .ol li {
  padding-left: 40px;
  font-size: 14px;
  margin-bottom: 2rem;
}
.tab-contents .ol li:last-child {
  margin-bottom: 0;
}
.tab-contents .ol li:before {
  left: 11px;
  top: 1px;
}
@media (max-width: 768px) {
  .tab-contents .ol li:before {
    top: -3px;
  }
}
.tab-contents .ol li:after {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #2EB979;
}

/* =========================================================
Reset - style
wordpressテーマの内容を変える
========================================================= */
/* 全体
--------------------------------------------------------- */
body #content {
  margin-top: 0px;
}
body .main {
  padding: 0px;
  width: 100%;
  margin: 0;
}
body .wrap {
  width: auto;
}

.header-container, .main, .sidebar, .footer {
  background: rgba(255, 255, 255, 0);
}

.article {
  border: none;
  margin: auto;
}

.under-entry-content {
  position: relative;
  z-index: 1;
}

.go-to-top {
  z-index: 5;
}

.entry-content {
  margin-bottom: 1em;
}

/* =========================================================
l-mv style
========================================================= */
.l-mvWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2rem;
  margin-top: clamp(2rem, 4vw, 4rem);
  margin-bottom: clamp(2rem, 4vw, 4rem);
}
@media (max-width: 1280px) {
  .l-mvWrap {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media (max-width: 1080px) {
  .l-mvWrap {
    gap: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* desc */
.l-mvDesc {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media (max-width: 768px) {
  .l-mvDesc {
    gap: 1rem;
  }
}
.l-mvDesc.__smallgap {
  gap: 1rem;
}

.l-mvDesc__year {
  position: relative;
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  color: #0C2538;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5rem 0 0.6rem;
}

.l-mvDesc__catch {
  position: relative;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  color: white;
  border-radius: 4px;
  background-color: #0C2538;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5rem 1rem 0.6rem;
}
.l-mvDesc__catch::after {
  position: absolute;
  content: "";
  bottom: -14px;
  left: 12px;
  border: 8px solid transparent;
  border-top: 8px solid #0C2538;
  width: 0;
  height: 0;
  border-radius: 4px;
}

.l-mvDesc__subcatch {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}

.l-mvDesc__title {
  font-size: clamp(36px, 4.4vw, 52px);
  line-height: 1.4;
  letter-spacing: 1px;
  font-weight: 900;
}

.l-mvDesc__text > p:last-of-type, .l-mvDesc__text ul:last-of-type {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  padding-bottom: 0px;
}

/* blogなどの通常img */
.l-mvImg {
  position: relative;
  overflow: hidden;
  top: 0;
  bottom: 0;
  right: -8rem;
  width: 100%;
  border-radius: 12px;
}
@media (max-width: 1280px) {
  .l-mvImg {
    right: 0;
  }
}
.l-mvImg::before {
  content: "";
  display: block;
  padding-bottom: 94.3%;
}
@media (max-width: 1280px) {
  .l-mvImg::before {
    padding-bottom: 64.3%;
  }
}
@media (max-width: 1080px) {
  .l-mvImg::before {
    padding-bottom: 35.3%;
  }
}

.l-mvImg__wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: no-repeat center;
  background-size: cover;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.l-mvImg__wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.l-mvBadge {
  position: absolute;
  top: -15px;
  left: 20px;
  width: 140px;
  height: 140px;
  border-radius: 100px;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: white;
  background: -webkit-gradient(linear, left top, right bottom, from(#047AE3), to(#45b4eb));
  background: linear-gradient(to right bottom, #047AE3, #45b4eb);
}
@media (max-width: 1280px) {
  .l-mvBadge {
    top: -25px;
    left: 0px;
    width: 128px;
    height: 128px;
  }
}
@media (max-width: 1080px) {
  .l-mvBadge {
    top: -25px;
    left: inherit;
    right: 0px;
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 768px) {
  .l-mvBadge {
    top: -40px;
    right: -40px;
  }
}

.l-mvBadge__text {
  display: block;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  line-height: 1.3;
}
@media (max-width: 1080px) {
  .l-mvBadge__text {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

.l-mvBadge__num {
  display: block;
  font-size: 2.1rem;
  line-height: 1.3;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
@media (max-width: 1080px) {
  .l-mvBadge__num {
    font-size: 2rem;
  }
}

/* トップ画像 */
@media (max-width: 768px) {
  .l-mv.__top01 {
    overflow: hidden;
  }
}
@media (max-width: 500px) {
  .l-mv.__top01 {
    overflow: inherit;
    width: 100%;
  }
}
.l-mv.__top01 .l-mvWrap {
  min-width: 0;
  margin-top: 0px;
  margin-bottom: 0px;
  height: 70vh;
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
}
@media (max-width: 1280px) {
  .l-mv.__top01 .l-mvWrap {
    padding-bottom: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (max-width: 1080px) {
  .l-mv.__top01 .l-mvWrap {
    height: auto;
  }
}
@media (max-width: 576px) {
  .l-mv.__top01 .l-mvWrap {
    gap: 0;
  }
}
@media (max-width: 500px) {
  .l-mv.__top01 .l-mvWrap {
    display: block;
    margin-bottom: -40px;
    width: 100%;
  }
}
@media (max-width: 576px) {
  .l-mv.__top01 .l-mvDesc {
    min-width: 300px;
  }
}
.l-mv.__top01 .swiper-wrapper {
  min-width: 0;
}
.l-mv.__top01 .l-mvImg {
  position: relative;
  min-width: 0;
  right: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  overflow: inherit;
  min-height: 76rem;
  /*max-height: 46.6rem;*/
}
@media (max-width: 1280px) {
  .l-mv.__top01 .l-mvImg {
    min-height: 56rem;
  }
}
@media (max-width: 576px) {
  .l-mv.__top01 .l-mvImg {
    width: 100%;
    min-height: 240px;
  }
}
@media (max-width: 500px) {
  .l-mv.__top01 .l-mvImg {
    top: -75px;
    margin-left: auto;
  }
}
@media (max-width: 420px) {
  .l-mv.__top01 .l-mvImg {
    min-height: 180px;
    top: -35px;
    right: 0;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}
.l-mv.__top01 .l-mvImg::before {
  content: none;
}
.l-mv.__top01 .l-mvImg__wrap {
  left: inherit;
  margin-left: auto;
  margin-right: inherit;
  text-align: right;
}
.l-mv.__top01 .l-mvImg__wrap img {
  -webkit-animation-duration: 15s;
          animation-duration: 15s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: slideAnime;
          animation-name: slideAnime;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0;
  z-index: 2;
  margin-left: auto;
}
@media (max-width: 1360px) {
  .l-mv.__top01 .l-mvImg__wrap img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@media (max-width: 768px) {
  .l-mv.__top01 .l-mvImg__wrap img {
    width: auto;
  }
}
@media (max-width: 420px) {
  .l-mv.__top01 .l-mvImg__wrap img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.l-mv.__top01 .l-mvImg__wrap.__slide01 img {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.l-mv.__top01 .l-mvImg__wrap.__slide02 img {
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}
.l-mv.__top01 .l-mvImg__wrap.__slide03 img {
  -webkit-animation-delay: 10s;
          animation-delay: 10s;
}
.l-mv.__top01 .l-mvDesc {
  gap: 1rem;
}
.l-mv.__top01 .l-mvDesc__title {
  font-size: clamp(32px, 4.4vw, 60px);
}

/* 教材画像 */
.l-mv.__product01 {
  padding-top: clamp(6rem, 4vw, 8rem);
  padding-bottom: clamp(6rem, 4vw, 8rem);
}
@media (max-width: 1280px) {
  .l-mv.__product01 {
    padding-bottom: 4rem;
  }
}
@media (max-width: 1080px) {
  .l-mv.__product01 {
    padding-bottom: 1rem;
    padding-top: 1rem;
  }
}
.l-mv.__product01 .l-mvWrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0px !important;
}
@media (max-width: 1360px) {
  .l-mv.__product01 .l-mvWrap {
    gap: 1rem;
  }
}
@media (max-width: 1080px) {
  .l-mv.__product01 .l-mvWrap {
    gap: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-mv.__product01 .l-mvDesc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 400px;
}
@media (max-width: 1360px) {
  .l-mv.__product01 .l-mvDesc {
    min-width: 360px;
  }
}
@media (max-width: 1080px) {
  .l-mv.__product01 .l-mvDesc {
    min-width: inherit;
  }
}
.l-mv.__product01 .l-mvImg {
  right: -12rem;
  overflow: inherit;
}
@media (max-width: 1280px) {
  .l-mv.__product01 .l-mvImg {
    right: 0;
  }
}
@media (max-width: 1080px) {
  .l-mv.__product01 .l-mvImg {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-mv.__product01 .l-mvImg::before {
  content: none;
}
.l-mv.__product01 .l-mvImg__wrap {
  position: relative;
}

/* サンプル画像 */
.l-mv.__sample01 .l-mvWrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 1080px) {
  .l-mv.__sample01 .l-mvWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-mv.__sample01 .l-mvImg {
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 1080px) {
  .l-mv.__sample01 .l-mvImg {
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}
.l-mv.__sample01 .l-mvImg::before {
  content: none;
}
.l-mv.__sample01 .l-mvImg__wrap {
  position: relative;
}
.l-mv.__sample01 .l-mvImg__wrap.__imgQuestion {
  width: 45%;
}
.l-mv.__sample01 .l-mvImg__wrap.__imgAnswer {
  width: 55%;
}

/* 記事サムネイル */
.l-mv.__postthumb01 .l-mvImg::before {
  padding-bottom: 65.3%;
}

/* 法人LP画像01*/
.l-mv.__corplp01 {
  padding-bottom: 8rem;
}
.l-mv.__corplp01 .l-mvWrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0px !important;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 1360px) {
  .l-mv.__corplp01 .l-mvWrap {
    gap: 1rem;
  }
}
@media (max-width: 1080px) {
  .l-mv.__corplp01 .l-mvWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 576px) {
  .l-mv.__corplp01 .l-mvWrap {
    gap: 0;
  }
}
.l-mv.__corplp01 .l-mvDesc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 420px;
}
@media (max-width: 1080px) {
  .l-mv.__corplp01 .l-mvDesc {
    text-align: center;
    min-width: inherit;
  }
}
@media (max-width: 576px) {
  .l-mv.__corplp01 .l-mvDesc {
    gap: 0.5rem;
  }
}
@media (max-width: 1080px) {
  .l-mv.__corplp01 .l-mvBtn {
    margin-left: auto;
    margin-right: auto;
  }
}
.l-mv.__corplp01 .l-mvImg {
  max-width: 823px;
  overflow: inherit;
}
@media (max-width: 1280px) {
  .l-mv.__corplp01 .l-mvImg {
    right: 0;
  }
}
@media (max-width: 1080px) {
  .l-mv.__corplp01 .l-mvImg {
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-mv.__corplp01 .l-mvImg::before {
  content: none;
}
.l-mv.__corplp01 .l-mvImg__wrap {
  position: relative;
}

/* =========================================================
l-content style
========================================================= */
.l-contentMain.__slash01::before {
  content: "";
  position: fixed;
  z-index: -1;
  top: 50%;
  right: -80%;
  width: 270%;
  height: 500px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(242, 245, 248, 0.5)), to(#fff));
  background: linear-gradient(to bottom, rgba(242, 245, 248, 0.5), #fff);
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.l-contentMain.__lpbg01::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0.4;
}

.webp .l-contentMain.__lpbg01::before {
  background-image: url(../images/lp/corplp/bg01.webp);
}

.no-webp .l-contentMain.__lpbg01::before {
  background-image: url(../images/lp/corplp/bg01.png);
}

.l-contWrap {
  margin-top: clamp(4rem, 4vw, 6rem);
  margin-bottom: clamp(4rem, 4vw, 6rem);
  margin-top: 0px;
}
.l-contWrap.__minmtb {
  margin-top: clamp(2rem, 4vw, 4rem);
  margin-bottom: clamp(2rem, 4vw, 4rem);
}
.l-contWrap.__midmtb {
  margin-top: clamp(2rem, 4vw, 4rem);
  margin-bottom: clamp(2rem, 4vw, 4rem);
}
.l-contWrap.__largemtb {
  margin-top: clamp(4rem, 4vw, 6rem);
  margin-bottom: clamp(4rem, 4vw, 6rem);
}
.l-contWrap.__bigmtb {
  margin-top: clamp(6rem, 4vw, 8rem);
  margin-bottom: clamp(6rem, 4vw, 8rem);
}
.l-contWrap.__hugemtb {
  margin-top: clamp(8rem, 6vw, 15rem);
  margin-bottom: clamp(8rem, 6vw, 15rem);
}
.l-contWrap.__minptb {
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
}
.l-contWrap.__midptb {
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
}
.l-contWrap.__largeptb {
  padding-top: clamp(4rem, 4vw, 6rem);
  padding-bottom: clamp(4rem, 4vw, 6rem);
}
.l-contWrap.__bigptb {
  padding-top: clamp(6rem, 4vw, 8rem);
  padding-bottom: clamp(6rem, 4vw, 8rem);
}
.l-contWrap.__hugeptb {
  padding-top: clamp(8rem, 6vw, 15rem);
  padding-bottom: clamp(8rem, 6vw, 15rem);
}

.l-contMain {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  padding-top: clamp(4rem, 4vw, 6rem);
  padding-bottom: clamp(4rem, 4vw, 6rem);
}
.l-contMain.__nopb {
  padding-bottom: 0;
}
.l-contMain.__nopt {
  padding-top: 0;
}
.l-contMain.__pb01 {
  padding-bottom: 1rem;
}
.l-contMain.__pt01 {
  padding-top: 1rem;
}
.l-contMain p {
  font-weight: normal;
  padding-bottom: 4rem;
}
.l-contMain p:not(:last-of-type) {
  padding-bottom: 2rem;
}
.l-contMain > h2:first-of-type, .l-contMain > h3:first-of-type, .l-contMain > h4:first-of-type {
  margin-top: 0px;
}

.l-contTitle {
  position: relative;
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
  font-weight: 900;
  margin-bottom: 2rem;
  padding: 2rem 4rem;
  padding-right: 0px;
}
@media (max-width: 1080px) {
  .l-contTitle {
    padding: 1rem 2rem;
  }
}
.l-contTitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 3px;
  height: 100%;
  background-color: #047AE3;
  border-radius: 100px;
}

.l-contMain__title {
  margin-top: 4rem;
  margin-bottom: 4rem;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 2rem;
  border-radius: 4px;
  background-color: #F2F5F8;
  font-weight: 900;
}
@media (max-width: 1080px) {
  .l-contMain__title {
    padding: 1rem 2rem;
    margin-bottom: 2rem;
  }
}

/* =========================================================
l-wrap var
========================================================= */
@media (max-width: 768px) {
  .l-contWrap.__difference01 {
    padding-top: clamp(2rem, 4vw, 4rem);
    padding-bottom: clamp(2rem, 4vw, 4rem);
  }
}

/* =========================================================
l-post style
========================================================= */
.l-postWrap {
  margin-top: clamp(4rem, 4vw, 6rem);
  margin-bottom: clamp(4rem, 4vw, 6rem);
  margin-top: 0px;
}

.l-postCont {
  padding-top: clamp(4rem, 4vw, 6rem);
  padding-bottom: clamp(4rem, 4vw, 6rem);
  padding-bottom: 0;
}

.l-postTitle {
  position: relative;
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
  font-weight: 900;
  margin-bottom: 2rem;
  padding: 2rem 4rem;
  padding-right: 0px;
}
.l-postTitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 3px;
  height: 100%;
  background-color: #047AE3;
  border-radius: 100px;
}

/* =========================================================
l-footer style
========================================================= */
/* =========================================================
l-header- style
========================================================= */
/* =========================================================
l-header- style
========================================================= */
/* cocoon style
--------------------------------------------------------- */
/* nav
--------------------------------------------------------- */
.l-nav {
  width: 400px;
  position: fixed;
  right: 0;
  top: 0;
  overflow: scroll;
  z-index: 0;
}
@media (max-width: 576px) {
  .l-nav {
    width: 300px;
  }
}

.l-navWrap {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem 0;
  padding: 6rem 4rem;
  margin-top: 100px;
}
@media (max-width: 576px) {
  .l-navWrap {
    padding: 2rem 1rem;
    margin-top: 90px;
  }
}

/* info
--------------------------------------------------------- */
.l-navInfo {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}

.l-navLogo {
  width: 150px;
  margin: 0 auto;
}
.l-navLogo .logo-image {
  padding: 0;
}

.l-navDesc {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: 900;
  color: white;
}
.l-navDesc .tagline {
  margin: 0;
}

.l-navSns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  padding: 0;
}
.l-navSns.__black .l-navSns__link {
  color: #0C2538;
}
.l-navSns.__black .l-navSns__link:hover {
  opacity: 1;
}

.l-navSns__link {
  display: block;
  padding: 6px;
  color: white;
  opacity: 0.4;
}

/* nav
--------------------------------------------------------- */
.l-navMain__ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.l-navMain__ul li > a {
  display: block;
  color: white;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: 900;
  padding: 1rem 0;
}

.l-navSub__ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-navSub__ul li > a {
  display: block;
  color: white;
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  font-weight: 900;
  padding: 1rem 0;
  opacity: 0.4;
}

/* =========================================================
l-wrap style
========================================================= */
.l-wrap.__main01 {
  position: relative;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 129px;
  padding-right: 129px;
}
@media (max-width: 1360px) {
  .l-wrap.__main01 {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (max-width: 1280px) {
  .l-wrap.__main01 {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 768px) {
  .l-wrap.__main01 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.l-wrap.__sub01 {
  padding-left: 6rem;
  padding-right: 0;
}
@media (max-width: 1280px) {
  .l-wrap.__sub01 {
    padding-left: 2rem;
  }
}
@media (max-width: 991px) {
  .l-wrap.__sub01 {
    padding-left: 1.5rem;
  }
}
.l-wrap.__post01 {
  margin-left: auto;
  margin-right: auto;
  padding-left: 90px;
  padding-right: 90px;
}
@media (max-width: 1360px) {
  .l-wrap.__post01 {
    padding-left: 56px;
    padding-right: 56px;
  }
}
@media (max-width: 768px) {
  .l-wrap.__post01 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.l-wrap.__negative01 {
  margin-left: -90px;
  margin-right: -90px;
}
@media (max-width: 1360px) {
  .l-wrap.__negative01 {
    margin-left: -56px;
    margin-right: -56px;
  }
}
@media (max-width: 768px) {
  .l-wrap.__negative01 {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
.l-wrap.__bg01 {
  border-radius: 12px;
  background-color: #fff;
  -webkit-box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
          box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
}
.l-wrap.__cont01 {
  margin-left: auto;
  margin-right: auto;
  padding-left: 6rem;
  padding-right: 6rem;
}
@media (max-width: 1360px) {
  .l-wrap.__cont01 {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 768px) {
  .l-wrap.__cont01 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.l-wrap.__cont02 {
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
.l-wrap.__form01 {
  position: relative;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 90px;
  padding-right: 90px;
}
@media (max-width: 1360px) {
  .l-wrap.__form01 {
    padding-left: 56px;
    padding-right: 56px;
  }
}
@media (max-width: 768px) {
  .l-wrap.__form01 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (max-width: 576px) {
  .l-wrap.__form01 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.l-wrap.__form02 {
  position: relative;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 90px;
  padding-right: 90px;
}
@media (max-width: 1360px) {
  .l-wrap.__form02 {
    padding-left: 56px;
    padding-right: 56px;
  }
}
@media (max-width: 768px) {
  .l-wrap.__form02 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* =========================================================
l-wrap var
========================================================= */
.l-wrap.__difference01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .l-wrap.__difference01 {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-wrap.__noposition {
  position: inherit;
}

/* =========================================================
p-post - style
========================================================= */
.p-postHeader {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .p-postHeader {
    margin-bottom: 1rem;
  }
}

/* header
--------------------------------------------------------- */
.p-postHeader__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-postHeader__infoCat {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: 900;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  background-color: #047AE3;
}
.p-postHeader__infoCat .entry-categories-tags,
.p-postHeader__infoCat .entry-categories {
  margin-bottom: 0px;
}
.p-postHeader__infoCat .cat-link {
  position: relative;
  z-index: 1;
  display: block;
  padding: 1rem;
  font-weight: 900;
  background-color: #0C2538;
  border-radius: 0px;
  text-decoration: none;
  margin-right: 0px;
}
.p-postHeader__infoCat .cat-icon {
  display: none;
}

.p-postHeader__infoDate .date-tags {
  margin-bottom: 0px;
}

.p-postHeader__infoDate__item {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: 900;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
.p-postHeader__infoDate__item.__day {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}

.p-postHeader__title.entry-title, .p-postHeader__title.archive-title {
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
  font-weight: 900;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .p-postHeader__title.entry-title, .p-postHeader__title.archive-title {
    padding: 2rem 0 0;
  }
}

/* plugin css
--------------------------------------------------------- */
/* plugin css
--------------------------------------------------------- */
div#ez-toc-container {
  padding: 2rem;
  margin: 0 auto 2rem;
  border: 6px solid #F2F5F8;
  border-radius: 4px;
  background-color: #fff;
  min-width: 300px;
  max-width: 780px;
}
@media (max-width: 768px) {
  div#ez-toc-container {
    padding: 2rem 4rem;
    border: 3px solid #F2F5F8;
  }
}
div#ez-toc-container.counter-decimal ul.ez-toc-list {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 3px solid rgba(242, 245, 248, 0.5);
}
div#ez-toc-container.counter-decimal ul.ez-toc-list li {
  padding-left: 0;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list li::before {
  content: none;
  color: #0C2538;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list li a {
  color: #0C2538;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list li a::before {
  content: none;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list li a:hover {
  text-decoration: underline;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list li:last-child ul:last-child {
  padding-bottom: 0px;
  border-bottom: none;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list > li > a {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  display: block;
  margin-bottom: 8px;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list ul {
  margin-left: 16px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px dotted #0C2538;
}
div#ez-toc-container.counter-decimal ul.ez-toc-list ul li {
  font-weight: normal;
}
div#ez-toc-container .ez-toc-title-container .ez-toc-title {
  font-weight: 900;
  color: #0C2538;
}
div#ez-toc-container a.ez-toc-toggle {
  padding: 5px;
  border: none;
  background: #0C2538;
  border-radius: 100px;
  color: white;
  -webkit-transition: cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}
div#ez-toc-container a.ez-toc-toggle:hover {
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/* xeory css
--------------------------------------------------------- */
.hentry {
  border: none;
  background: transparent;
  margin-bottom: 4rem !important;
}

.entry-content {
  overflow-x: initial;
}
.entry-content .entry-thumbnail {
  display: none;
}

.entry-header .entry-meta {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  color: #26455C;
  margin-bottom: 0px;
}
.entry-header .entry-meta:before {
  content: none;
}

.bzb-sns-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
}
.bzb-sns-btn .bzb-facebook span {
  width: 110px !important;
  height: 21px !important;
}
.bzb-sns-btn .bzb-pocket iframe {
  width: 90px !important;
}

.entry-footer > .bzb-sns-area {
  padding: 4rem 0;
}

.post-footer-list {
  text-align: center;
  padding: 4rem 0;
  margin-top: 1rem;
  border-top: 3px solid #F2F5F8;
}

.post-author, .underpost-widget {
  padding: 0;
  border: none;
}

.post-author {
  margin: 2rem 0 8rem;
}

.post-author-img, .post-author-img img {
  border-radius: 100px;
  overflow: hidden;
}

.comments-area {
  margin: 0;
  padding: 0;
  display: none;
}

.widget_xeory_related_posts {
  position: relative;
  margin-bottom: 2rem;
}
.widget_xeory_related_posts:before {
  position: absolute;
  width: 100px;
  height: 54px;
  right: 0;
  top: 0;
  content: "";
  background-image: url(../images/ppl04.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.widget_xeory_related_posts .widget-title {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 2px dotted #0C2538;
}
.widget_xeory_related_posts .widget-title:before, .widget_xeory_related_posts .widget-title:after, .widget_xeory_related_posts .widget-title .widget-title-inner:before, .widget_xeory_related_posts .widget-title .widget-title-inner:after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 100px;
  outline: 3px solid #fff;
}
.widget_xeory_related_posts .widget-title:before {
  background-color: #B92E2D;
}
.widget_xeory_related_posts .widget-title:after {
  background-color: #2EB979;
  left: 11px;
}
.widget_xeory_related_posts .widget-title .widget-title-inner:before {
  background-color: #047AE3;
  left: 22px;
}
.widget_xeory_related_posts .widget-title .widget-title-inner:after {
  background-color: #45b4eb;
  left: 33px;
}

/* base
--------------------------------------------------------- */
.p-postThumb {
  width: 100%;
  position: relative;
  margin: 0;
  border-radius: 4px;
  float: none;
  top: 0;
  left: 0;
  border: 3px solid transparent;
  -webkit-transition: cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  margin-bottom: 2rem;
  overflow: hidden;
}
@media (max-width: 991px) {
  .p-postThumb {
    margin-bottom: 2rem;
  }
}
.p-postThumb:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 55.5555555556%;
  -webkit-transition: cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}
.p-postThumb._img,
.p-postThumb img {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  overflow: inherit;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 4px;
}
.p-postHead {
  position: relative;
  z-index: 1;
  border-radius: 4px;
  padding: 0 32px 16px;
  background-color: #fff;
  margin: -84px 4rem 0;
}
@media (max-width: 991px) {
  .p-postHead {
    margin: -64px 2rem 0;
    padding: 24px;
  }
}
.p-postHead:after {
  content: "";
  position: absolute;
  left: -36px;
  top: 0;
  background-image: url("../images/ppl01.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 31px;
  height: 100px;
  z-index: 1;
}
.p-postTime {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: 2px;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
.p-postLink {
  padding-top: 4rem;
  margin-top: 4rem;
  margin-bottom: 2rem;
  border-top: 2px solid #EFF2F5;
  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;
}
.p-postLink_btn {
  color: #0C2538;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: 900;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-postLink_btn.__prev, .p-postLink_btn.__next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  min-width: 80px;
}
.p-postLink_btn.__prev .p-postLink_icon, .p-postLink_btn.__next .p-postLink_icon {
  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;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  width: 40px;
  height: 40px;
  border-radius: 100px;
  margin-right: 12px;
  background-color: #EFF2F5;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 768px) {
  .p-postLink_btn.__prev, .p-postLink_btn.__next {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}
.p-postLink_btn.__next .p-postLink_icon {
  margin-right: 0px;
  margin-left: 12px;
}
.p-postLink_btn.__archive {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-postLink_btn.__archive {
    font-size: clamp(13px, 1.5vw, 1.3rem);
    line-height: 1.3;
  }
}
.p-postLink_btn.__archive .p-postLink_icon {
  margin-right: 2rem;
  color: #047AE3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-postLink_btn:hover {
  color: #047AE3;
}
.p-postLink_btn:hover .p-postLink_icon {
  color: #0C2538;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.p-postLink_btn:hover.__archive .p-postLink_icon {
  color: #047AE3;
}
.p-postMeta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-postMeta .entry-categories-tags,
.p-postMeta .entry-categories {
  margin-bottom: 0px;
}
.p-postMeta .cat-link {
  padding: 0px;
  background-color: #047AE3;
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  border-radius: 0px;
}
.p-postMeta .cat-icon {
  display: none;
}
.p-postMeta .date-tags {
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  text-align: left;
  margin-bottom: 0px;
}
.p-postCat {
  color: #fff;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  font-weight: 900;
  letter-spacing: 0px;
  padding: 5px 12px 4px;
  border-radius: 8px;
  background-color: #0C2538;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-top: -12px;
  margin-bottom: 1rem;
  display: table-caption;
  white-space: pre;
}
@media (max-width: 991px) {
  .p-postCat {
    margin-top: -32px;
  }
}
.p-postCat a {
  color: white;
}
.p-postTitle {
  margin: 2rem 0;
  padding: 0;
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
}
@media (max-width: 576px) {
  .p-postTitle {
    font-size: clamp(21px, 2.5vw, 2.4rem);
    line-height: 1.5;
  }
}
.p-postSns.__header {
  border-top: 1px solid #F2F5F8;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}
.p-postSns.__header .sns-share-buttons {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.p-postSns.__header .sns-share-buttons:before {
  content: "記事をシェア";
  font-weight: 900;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}
.p-postSns.__header .sns-share-buttons a {
  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;
  margin-bottom: 0px;
  width: 38px;
  height: 38px;
  border-radius: 100px;
  border: 1px solid #0C2538;
  color: #0C2538;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  margin-left: 0.8rem;
  background-color: transparent;
}
.p-postSns.__header .sns-share-buttons a:hover.twitter-button {
  color: #55acee;
  border: 1px solid #55acee;
}
.p-postSns.__header .sns-share-buttons a:hover.facebook-button {
  color: #3B5998;
  border: 1px solid #3B5998;
}
.p-postSns.__header .sns-share-buttons a:hover.hatebu-button {
  color: #008fde;
  border: 1px solid #008fde;
}
.p-postSns.__header .button-caption,
.p-postSns.__header .share-count {
  display: none;
}
.p-postSns_item {
  line-height: 0 !important;
  margin-right: 0.8rem !important;
  margin-bottom: 0.4rem !important;
  padding-left: 0 !important;
}
.p-postSns_item:before {
  content: none !important;
}
.p-postSns_item:last-child {
  margin-right: 0;
}
.p-postSns_item.fb iframe {
  margin-bottom: 0;
}
.p-postSns_item.pk iframe {
  width: 88px;
}
.p-postSns_item.__footer {
  margin-bottom: 4rem;
}
.p-postFooter .widget {
  margin-bottom: 3.2rem;
}
.p-postFooter .widget:last-child {
  margin-bottom: 0px;
}
.p-postFooter .cta-box {
  background-color: transparent;
  color: #0C2538;
  padding: 0px;
  border: 3px solid #047AE3;
}
.p-postFooter .cta-heading {
  text-align: center;
  color: #047AE3;
  border-bottom: 1px solid #047AE3;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  padding: 2rem;
}
.p-postFooter .cta-thumb {
  margin-bottom: 1.6rem;
}
.p-postFooter .cta-content {
  padding: 2rem;
  padding-bottom: 0px;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}
.p-postFooter .cta-content p {
  margin-bottom: 0px;
}
.p-postFooter .cta-button {
  width: clamp(280px, 100%, 320px);
  margin: auto;
  padding: 2rem;
  padding-topp: 0px;
}
.p-postAuthor {
  padding: 0px !important;
  border: 0px;
}
.p-postAuthor_thumb {
  margin-right: 2rem;
  float: none;
  width: 100% !important;
  max-width: 120px !important;
}
.p-postAuthor_thumb img {
  width: 100%;
}
.p-postAuthor_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  background-color: #DEE7ED;
  padding: 1.6rem;
}
.p-postAuthor_cont {
  margin-left: initial !important;
}
.p-postAuthor_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-postAuthor_info a.follow-button {
  width: 32px !important;
  height: 32px !important;
  border-radius: 100px !important;
  border: none !important;
  background-color: #F2F5F8 !important;
  color: white !important;
  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;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-postAuthor_info a.feedly-button, .p-postAuthor_info a.rss-button {
  display: none;
}
.p-postAuthor_info a:hover {
  background-color: #DEE7ED;
  color: #0C2538 !important;
}
.p-postAuthor_occu {
  color: #26455C;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  margin-bottom: 2rem;
}
.p-postAuthor_title {
  color: white;
  background-color: #0C2538;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: 900;
  padding: 0.8rem 1.6rem;
  margin-bottom: 0px;
}
.p-postAuthor_license {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 0.8rem;
  color: #26455C;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}
.p-postAuthor_licenseTitle {
  min-width: 60px;
}
@media (max-width: 768px) {
  .p-postAuthor_license {
    margin-bottom: 0.8rem;
  }
}
.p-postAuthor_desc p {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  margin-bottom: 0px;
}

/* =========================================================
記事内容のスタイル - 全体
============================================================*/
.p-postCont {
  padding: 0;
  margin-top: 0px !important;
  margin-bottom: 0;
  counter-reset: h2-num;
  /* コンタクトフォーム7
  --------------------------------------------------------- */
}
.p-postCont > p {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}
.p-postCont > p, .p-postCont > ul, .p-postCont > ol, .p-postCont > h2, .p-postCont > h3, .p-postCont > h4, .p-postCont > h5, .p-postCont > table, .p-postCont > blockquote, .p-postCont > .p-postParts_box, .p-postCont > .twitter-tweet {
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  .p-postCont > p, .p-postCont > ul, .p-postCont > ol, .p-postCont > h2, .p-postCont > h3, .p-postCont > h4, .p-postCont > h5, .p-postCont > table, .p-postCont > blockquote, .p-postCont > .p-postParts_box, .p-postCont > .twitter-tweet {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
.p-postCont > h2, .p-postCont > h3, .p-postCont > h4, .p-postCont > h5 {
  clear: both;
  font-weight: 900;
  letter-spacing: 2px;
}
.p-postCont > h2 + h3 {
  margin-top: 4rem;
}
.p-postCont p,
.p-postCont table,
.p-postCont ul,
.p-postCont ol {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  line-height: 2.1;
  letter-spacing: 0.25rem;
  margin-bottom: 4rem;
  word-break: break-word;
}
@media (max-width: 768px) {
  .p-postCont p,
  .p-postCont table,
  .p-postCont ul,
  .p-postCont ol {
    letter-spacing: initial;
    margin-bottom: 2rem;
  }
}
.p-postCont img {
  margin-bottom: 1.6rem;
}
.p-postCont h2,
.p-postCont h3,
.p-postCont h4 {
  margin-top: 6rem;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .p-postCont h2,
  .p-postCont h3,
  .p-postCont h4 {
    margin-top: 4rem;
    margin-bottom: 2rem;
  }
}
.p-postCont h5,
.p-postCont h6 {
  margin-top: 6rem;
  margin-bottom: 4rem;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}
.p-postCont a {
  color: #46AFD6;
  text-decoration: underline;
}
.p-postCont a:hover {
  text-decoration: none;
}
.p-postCont img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: auto;
  border-radius: 4px;
}
.p-postCont img.no-mb {
  margin-bottom: -4rem;
}
.p-postCont ul, .p-postCont ol {
  padding-left: 0px;
}
.p-postCont li {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  font-weight: normal;
  position: relative;
  margin-bottom: 1.5% !important;
  padding-left: 1.8rem;
  list-style: none;
}
@media (max-width: 576px) {
  .p-postCont li {
    padding-left: 1.3rem;
  }
}
.p-postCont li:last-child {
  margin-bottom: 0;
}
.p-postCont li:before {
  content: "■";
  font-size: 10px;
  position: absolute;
  left: 0;
  top: 0.4rem;
  color: #0C2538;
  font-weight: 900;
}
@media (max-width: 576px) {
  .p-postCont li:before {
    top: 0.5%;
  }
}
.p-postCont ol {
  counter-reset: ol-num;
}
.p-postCont ol li:before {
  top: 0;
  content: counter(ol-num) "";
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  color: #0C2538;
  counter-increment: ol-num;
  font-size: 1.5rem;
  font-weight: 900;
}
.p-postCont dl:last-child {
  margin-bottom: 3.2rem;
}
.p-postCont dt {
  background-color: #DEE7ED;
  color: #047AE3;
  font-weight: 900;
  padding: 0.8rem;
  margin-bottom: 0.8rem;
  display: inline-block;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
.p-postCont dd {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  margin-left: 0px;
}
.p-postCont table, .p-postCont table p, .p-postCont table li, .p-postCont table ul, .p-postCont table ol {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}
.p-postCont table:last-child, .p-postCont table p:last-child, .p-postCont table li:last-child, .p-postCont table ul:last-child, .p-postCont table ol:last-child {
  margin-bottom: 0;
}
.p-postCont figcaption {
  text-align: center;
}
.p-postCont h2 {
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
  line-height: 1.4;
  padding: 0;
  background-color: transparent;
}
.p-postCont h2:first-child {
  margin-top: 0 !important;
}
.p-postCont h3 {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
  padding: 2rem 2rem;
  margin-left: -2rem;
  color: #0C2538;
  background-color: #DEE7ED;
  border: 0;
  border-left: 3px solid #0C2538;
}
.p-postCont h4 {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  position: relative;
  padding-bottom: 2rem;
  border: 0;
  border-bottom: 3px solid #DEE7ED;
}
.p-postCont h4:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 3px;
  background-color: #0C2538;
}
.p-postCont h5 {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  border: none;
}
.p-postCont blockquote {
  background: transparent;
  border: none;
  padding: 2rem 2rem 2rem 6rem;
  margin-bottom: 4rem;
}
@media (max-width: 576px) {
  .p-postCont blockquote {
    top: 0;
    padding: 1.6rem 1.6rem;
  }
}
.p-postCont blockquote:before {
  content: "“";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  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;
  color: #0C2538;
  font-family: "Noto Sans JP", YuGothic, "Original Yu Gothic", "Sen", "Lato", sans-serif, Meiryo, sans-serif;
  background-color: #dee7ed;
  line-height: 1;
  font-size: 70px;
}
.p-postCont blockquote:after {
  content: none;
}
.p-postCont blockquote p {
  margin-bottom: 1rem;
}
.p-postCont blockquote p:last-child {
  margin-bottom: 0px;
}
.p-postCont blockquote a {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
.p-postCont table {
  clear: both;
  width: 100%;
  overflow: hidden;
}
.p-postCont table.scroll {
  position: relative;
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  display: block;
  white-space: nowrap;
  padding-top: 32px;
}
.p-postCont table.scroll:before {
  content: "⇦ 左右にスクロールしていただけます ⇨";
  position: absolute;
  top: 6px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 1.3rem;
  font-weight: 900;
  text-align: center;
}
@media (max-width: 768px) {
  .p-postCont table.sp-scroll {
    position: relative;
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    display: block;
    white-space: nowrap;
    padding-top: 32px;
  }
  .p-postCont table.sp-scroll:before {
    content: "⇦ 左右にスクロールしていただけます ⇨";
    position: absolute;
    top: 6px;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 1.3rem;
    font-weight: 900;
    text-align: center;
  }
}
.p-postCont table tr {
  border-bottom: 1px solid rgba(12, 37, 56, 0.1);
}
.p-postCont table th,
.p-postCont table td {
  border: 0;
  padding: 1rem;
  letter-spacing: 1px;
}
.p-postCont table thead th {
  color: #fff;
  background-color: #0D1E2F;
}
.p-postCont table th {
  color: white;
  font-weight: 900;
  text-align: left;
  vertical-align: top;
  background-color: #0C2538;
  vertical-align: middle;
  border-bottom: 1px solid rgba(12, 37, 56, 0.1);
}
.p-postCont table th:last-child {
  border-bottom: none;
}
@media (max-width: 768px) {
  .p-postCont table th {
    min-width: 80px;
  }
}
.p-postCont table td {
  text-align: left;
}
.p-postCont .rp4wp-related-posts {
  display: none;
}
.p-postCont .wpcf7 {
  padding: 8rem;
  background-color: #0C2538;
  -webkit-box-shadow: 0 0 17px rgba(56, 62, 72, 0.1);
          box-shadow: 0 0 17px rgba(56, 62, 72, 0.1);
}
@media (max-width: 768px) {
  .p-postCont .wpcf7 {
    padding: 1rem;
  }
}
.p-postCont .wpcf7 .wpcf7-submit {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  padding: 3.2rem 1.6rem;
  color: white;
  border-radius: 1px;
  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;
  font-weight: 900;
  text-align: center;
  position: relative;
  z-index: 5;
  background-color: #88909B;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-postCont .wpcf7 .wpcf7-submit, .p-postCont .wpcf7 .wpcf7-submit .o-icon:before {
  color: white;
}
.p-postCont .wpcf7 .wpcf7-submit:hover {
  -webkit-box-shadow: 0 0 17px rgba(46, 185, 121, 0.5);
          box-shadow: 0 0 17px rgba(46, 185, 121, 0.5);
}

/* =========================================================
記事内容の個別パーツ
============================================================*/
.p-postParts_box {
  clear: both;
  position: relative;
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  padding: 3.2rem;
  margin-bottom: 2rem;
}
@media (max-width: 991px) {
  .p-postParts_box {
    padding: 4rem;
  }
}
.p-postParts_box p {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}
.p-postParts_box table,
.p-postParts_box ul,
.p-postParts_box ol,
.p-postParts_box li {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  margin-top: 0;
  margin-bottom: 1rem;
}
.p-postParts_box table:last-child,
.p-postParts_box ul:last-child,
.p-postParts_box ol:last-child,
.p-postParts_box li:last-child {
  margin-bottom: 0;
}
.p-postParts_boxTitle {
  font-weight: 900;
  margin-bottom: 0.3rem !important;
}
.p-postParts_box.__style01 {
  border: 3px solid #F2F5F8;
  border-left: 3px solid #0C2538;
  border-radius: 0 12px 12px 0;
}
.p-postParts_box.__style01 .p-postParts_boxTitle {
  color: #0C2538;
}
.p-postParts_box.__style02 {
  background-color: #F2F5F8;
  color: #0C2538;
  text-align: left;
  border-radius: 12px;
}
.p-postParts_box.__style03 {
  padding: 3.2rem 1.6rem;
  border: 3px solid #DEE7ED;
  margin-top: 3.2rem;
}
.p-postParts_box.__style03 .p-postParts_boxTitle {
  top: -2.4rem;
  left: -0.3rem;
  position: absolute;
  display: inline-block;
  border-left: 7px solid #047AE3;
  background-color: #0C2538;
  padding: 0.8rem 1.6rem;
  color: white;
}
.p-postParts_uline.__style01 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, rgba(255, 255, 255, 0)), color-stop(91%, #047AE3), to(#047AE3));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 90%, #047AE3 91%, #047AE3);
}
.p-postParts_uline.__style02 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, rgba(255, 255, 255, 0)), color-stop(91%, #2A98D6), to(#2A98D6));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 90%, #2A98D6 91%, #2A98D6);
}
.p-postParts_uline.__style03 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, rgba(255, 255, 255, 0)), color-stop(91%, #F2F5F8), to(#F2F5F8));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 90%, #F2F5F8 91%, #F2F5F8);
}

/* =========================================================
記事内のプラグインパーツ
============================================================*/
.p-postCont .toc {
  width: 100%;
  padding: 1rem;
  border: none;
  border-top: 3px solid #0C2538;
  -webkit-box-shadow: 0 0 17px rgba(12, 37, 56, 0.05);
          box-shadow: 0 0 17px rgba(12, 37, 56, 0.05);
}
.p-postCont .toc-title {
  font-weight: 900;
  color: #0C2538;
  padding: 0.8rem;
}
.p-postCont .toc-content {
  padding-top: 0px !important;
}
.p-postCont .toc ol.toc-list {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: 900;
  padding: 2rem 4rem;
}
.p-postCont .toc ol.toc-list li:before {
  color: #26455C;
}
.p-postCont .toc ol.toc-list > li {
  padding: 0;
  padding-left: 32px;
  background-color: transparent;
}
.p-postCont .toc ol.toc-list > li:not(:last-of-type) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DEE7ED;
}
.p-postCont .toc ol.toc-list > li > a {
  display: block;
  color: #0C2538;
  font-weight: 900;
}
.p-postCont .toc ol.toc-list li > ol {
  margin-top: 0.8rem !important;
  padding-left: 0px !important;
}
.p-postCont .toc ol.toc-list li > ol > li {
  padding-left: 16px;
  font-weight: normal;
  background-color: #fff;
}
.p-postCont .toc ol.toc-list li > ol > li:before {
  color: #26455C;
}
.p-postCont .toc ol.toc-list li > ol > li > a {
  display: block;
  padding: 0;
  padding-left: 32px;
  color: #0C2538;
  background-color: transparent;
}

/* =========================================================
p-purchase - style
========================================================= */
.p-purchaseWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  counter-reset: o-purchaseBox__step;
}
@media (max-width: 1080px) {
  .p-purchaseWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}

.p-purchaseMain {
  width: 62%;
}
@media (max-width: 1080px) {
  .p-purchaseMain {
    width: 100%;
  }
}

.p-purchaseSide {
  width: 38%;
}
@media (max-width: 1080px) {
  .p-purchaseSide {
    width: 100%;
  }
}

.p-purchaseSide__wrap {
  position: sticky;
  top: 115px;
}
@media (max-width: 1080px) {
  .p-purchaseSide__wrap {
    position: relative;
    top: 0px;
  }
}

/* header
--------------------------------------------------------- */
/* =========================================================
p-lp - style
========================================================= */
/* お悩みと解決
--------------------------------------------------------- */
.p-lpProblem {
  position: relative;
}
.p-lpProblem::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  width: 100%;
  height: calc(100% - 50vh);
  background-color: #F2F0ED;
  z-index: -1;
}

@media (max-width: 991px) {
  .p-lpProblem__wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.p-lpProblem__unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
}
@media (max-width: 991px) {
  .p-lpProblem__unit {
    gap: 2rem;
  }
}

.p-lpProblem__item {
  width: calc(50% - 2rem);
  border-radius: 12px;
  -webkit-box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
          box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
  background-color: #fff;
}
.p-lpProblem__item.__w100 {
  width: 100%;
}
@media (max-width: 991px) {
  .p-lpProblem__item {
    width: calc(50% - 1rem);
  }
}
@media (max-width: 768px) {
  .p-lpProblem__item {
    width: 100%;
  }
}

.p-lpProblem__head {
  position: relative;
  padding: 2rem 6rem;
  border-radius: 12px 12px 0 0;
  background-color: #0C2538;
  color: white;
  position: relative;
}
.p-lpProblem__head:after {
  border-width: 8px 12px 0 12px;
  border-color: #0C2538 transparent transparent transparent;
  bottom: -8px;
  left: calc(50% - 12px);
}
.p-lpProblem__head:after {
  content: "";
  border-style: solid;
  display: inline-block;
  height: 0;
  position: absolute;
  width: 0;
  border-radius: 2px;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (max-width: 576px) {
  .p-lpProblem__head {
    padding: 1.5rem 4rem;
  }
}
.p-lpProblem__head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 2rem;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 30px;
  background-size: cover;
  background-image: url(../images/lp/corplp/icon_problem01.svg);
}
@media (max-width: 576px) {
  .p-lpProblem__head::before {
    width: 20px;
    height: 20px;
    left: 1rem;
  }
}

.p-lpProblem__headTitle {
  text-align: center;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  line-height: 1.4;
}
@media (max-width: 576px) {
  .p-lpProblem__headTitle {
    font-size: clamp(15px, 2.4vw, 1.6rem);
    line-height: 1.9;
    line-height: 1.3;
  }
}
.p-lpProblem__headTitle.__left {
  text-align: left;
}

.p-lpProblem__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  padding: 2rem 6rem;
  border-radius: 0 0 12px 12px;
}
@media (max-width: 1360px) {
  .p-lpProblem__cont {
    padding: 2rem 4rem;
  }
}
@media (max-width: 576px) {
  .p-lpProblem__cont {
    padding: 2rem;
  }
}

.p-lpProblem__contTitle {
  font-size: clamp(23px, 2.5vw, 32px);
  line-height: 1.4;
  letter-spacing: 1px;
  text-align: center;
  margin-bottom: 2rem;
}
.p-lpProblem__contTitle.__left {
  text-align: left;
}

.p-lpProblem__contImg {
  max-width: 329px;
  margin-left: auto;
  margin-right: auto;
}

.p-lpProblem__contDesc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.p-lpProblem__contText {
  padding-bottom: 0px !important;
}

.p-lpProblem__cont.__system {
  padding: 4rem 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 2rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .p-lpProblem__cont.__system {
    padding: 2rem 4rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 576px) {
  .p-lpProblem__cont.__system {
    gap: 1rem;
    padding: 2rem 2rem 4rem;
  }
}
.p-lpProblem__cont.__system .p-lpProblem__head::after {
  left: 4rem;
}
@media (max-width: 576px) {
  .p-lpProblem__cont.__system .p-lpProblem__headTitle {
    text-align: center;
  }
}
.p-lpProblem__cont.__system .p-lpProblem__cont {
  gap: 2rem;
}
.p-lpProblem__cont.__system .p-lpProblem__contTitle {
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .p-lpProblem__cont.__system .p-lpProblem__contTitle {
    margin-bottom: 0;
  }
}
.p-lpProblem__cont.__system .p-lpProblem__contImg {
  max-width: 413px;
  width: 100%;
  margin-right: inherit;
}
@media (max-width: 768px) {
  .p-lpProblem__cont.__system .p-lpProblem__contImg {
    margin: auto;
    margin-right: -28px;
  }
}

.p-lpProblem__cont.__flex {
  padding: 4rem 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 2rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .p-lpProblem__cont.__flex {
    padding: 2rem 4rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 576px) {
  .p-lpProblem__cont.__flex {
    gap: 1rem;
    padding: 2rem 2rem 4rem;
  }
}
.p-lpProblem__cont.__flex .p-lpProblem__contTitle {
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .p-lpProblem__cont.__flex .p-lpProblem__contTitle {
    margin-bottom: 0;
  }
}

/* 導入事例
--------------------------------------------------------- */
@media (max-width: 576px) {
  .p-lpCase__mainTitle {
    padding-right: 40px;
  }
}

.p-lpCase__unit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem;
}

.p-lpCase__fig {
  position: absolute;
  top: -120px;
  right: 0;
  z-index: -1;
}
@media (max-width: 576px) {
  .p-lpCase__fig {
    top: -50px;
  }
}
.p-lpCase__fig source, .p-lpCase__fig img {
  width: 191px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 576px) {
  .p-lpCase__fig source, .p-lpCase__fig img {
    width: 100px;
  }
}

.p-lpCase__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: calc(50% - 2rem);
}
@media (max-width: 576px) {
  .p-lpCase__item {
    width: 100%;
  }
}

.p-lpCase__movie {
  border-radius: 12px;
  overflow: hidden;
}

.p-lpCase__company {
  display: block;
}
@media (max-width: 576px) {
  .p-lpCase__company {
    font-size: clamp(14px, 1.5vw, 1.4rem);
    line-height: 1.8;
  }
}

.p-lpCase__title {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
}

.p-lpCase__text {
  padding-bottom: 0px !important;
}

/* 法人割引
--------------------------------------------------------- */
.p-lpDiscount {
  position: relative;
}
@media (max-width: 1080px) {
  .p-lpDiscount {
    padding-top: 230px;
  }
}

.p-lpDiscount__fig {
  position: absolute;
  top: 12px;
  right: 32px;
  z-index: -1;
}
@media (max-width: 576px) {
  .p-lpDiscount__fig {
    right: 0px;
  }
}
.p-lpDiscount__fig source, .p-lpDiscount__fig img {
  width: 316px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-lpDiscount__unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
}
@media (max-width: 1080px) {
  .p-lpDiscount__unit {
    gap: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-lpDiscount__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  width: 33.3333333333%;
  border-radius: 12px;
  -webkit-box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
          box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
  background-color: #fff;
}
@media (max-width: 1080px) {
  .p-lpDiscount__item {
    width: 360px;
  }
}
@media (max-width: 768px) {
  .p-lpDiscount__item {
    max-width: 320px;
    width: 100%;
  }
}

.p-lpDiscount__head,
.p-lpDiscount__priceBox,
.p-lpDiscount__result {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (max-width: 1360px) {
  .p-lpDiscount__head,
  .p-lpDiscount__priceBox,
  .p-lpDiscount__result {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (max-width: 1080px) {
  .p-lpDiscount__head,
  .p-lpDiscount__priceBox,
  .p-lpDiscount__result {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.p-lpDiscount__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  text-align: center;
}

.p-lpDiscount__headTitle {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}

.p-lpDiscount__headText {
  color: rgba(14, 11, 11, 0.3);
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}

.p-lpDiscount__priceBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.p-lpDiscount__priceBox.__01 {
  background-color: #F2F0ED;
}
.p-lpDiscount__priceBox.__02 {
  background-color: #EDE8E1;
}
.p-lpDiscount__priceBox.__03 {
  background-color: #E8E1D8;
}

.p-lpDiscount__pricePeople {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  font-weight: bold;
  min-width: 84px;
  text-align: center;
  padding: 1rem;
  -webkit-box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
          box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
  border-radius: 100px;
  background-color: #fff;
}
@media (max-width: 1360px) {
  .p-lpDiscount__pricePeople {
    min-width: 68px;
    padding: 1rem 0.5rem;
  }
}

.p-lpDiscount__priceNum {
  font-size: clamp(23px, 2.5vw, 32px);
  line-height: 1.4;
  letter-spacing: 1px;
  font-weight: bold;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}

.p-lpDiscount__priceUnit {
  padding-left: 3px;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  color: rgba(14, 11, 11, 0.3);
}
@media (max-width: 1360px) {
  .p-lpDiscount__priceUnit {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

.p-lpDiscount__priceOff {
  min-width: 58px;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  font-weight: bold;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  text-align: center;
  padding: 1rem;
  border-radius: 12px;
  background-color: #0C2538;
}
@media (max-width: 1360px) {
  .p-lpDiscount__priceOff {
    min-width: 48px;
  }
}
.p-lpDiscount__priceOff.__none {
  opacity: 0;
  visibility: hidden;
}

.p-lpDiscount__priceOff__unit,
.p-lpDiscount__priceOff__off {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
}

.p-lpDiscount__result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3rem;
  text-align: center;
}

.p-lpDiscount__resultText {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  color: rgba(14, 11, 11, 0.3);
}

.p-lpDiscount__resultTitle {
  font-size: clamp(23px, 2.5vw, 32px);
  line-height: 1.4;
  letter-spacing: 1px;
}

.p-lpDiscount__resultTitle__unit {
  color: rgba(14, 11, 11, 0.3);
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}

/* 取り扱い講座
--------------------------------------------------------- */
.p-lpCourse {
  position: relative;
}
.p-lpCourse::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  width: 100%;
  height: calc(100% - 25vh);
  background-color: #F2F0ED;
  z-index: -1;
}

.p-lpCourse__cont {
  position: relative;
}

.p-lpCourse__box:not(:last-of-type) {
  margin-bottom: 4rem;
}

.p-lpCourse__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4rem;
  position: relative;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  margin-bottom: 2rem;
  white-space: pre;
}
.p-lpCourse__title::after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #F2F0ED;
}

.p-lpCourse__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}

.p-lpCourse__listItem {
  font-weight: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  width: calc(33.3333333333% - 1rem);
}
@media (max-width: 991px) {
  .p-lpCourse__listItem {
    width: calc(50% - 1rem);
  }
}
@media (max-width: 576px) {
  .p-lpCourse__listItem {
    width: 100%;
  }
}
.p-lpCourse__listItem::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 100px;
  border: 4px solid #047AE3;
  margin-top: 8px;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

.p-lpCourse__fig {
  position: absolute;
  bottom: -60px;
  right: -64px;
  z-index: 2;
}
@media (max-width: 991px) {
  .p-lpCourse__fig {
    right: 0;
    bottom: -32px;
  }
}
.p-lpCourse__fig source, .p-lpCourse__fig img {
  width: 240px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 991px) {
  .p-lpCourse__fig source, .p-lpCourse__fig img {
    width: 200px;
  }
}
@media (max-width: 576px) {
  .p-lpCourse__fig source, .p-lpCourse__fig img {
    width: 140px;
  }
}

/* 流れ
--------------------------------------------------------- */
.p-lpFlow__unit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  counter-reset: p-lpFlow__box;
}
@media (max-width: 576px) {
  .p-lpFlow__unit {
    padding-bottom: 0 !important;
  }
}

.p-lpFlow__box {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 100px;
  counter-increment: p-lpFlow__box;
}
@media (max-width: 768px) {
  .p-lpFlow__box {
    padding-left: 60px;
  }
}
.p-lpFlow__box::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 3px;
  height: 100%;
  left: 33px;
  top: 0;
  bottom: 0;
  background-color: #F8F9FA;
}
@media (max-width: 768px) {
  .p-lpFlow__box::before {
    left: 20px;
  }
}

.p-lpFlow__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-lpFlow__title::before {
  content: "0" counter(p-lpFlow__box);
  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;
  position: absolute;
  left: -100px;
  width: 66px;
  height: 66px;
  color: white;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  background-color: #0C2538;
  border-radius: 12px;
}
@media (max-width: 768px) {
  .p-lpFlow__title::before {
    width: 40px;
    height: 40px;
    left: -60px;
  }
}

.p-lpFlow__titleIcon {
  margin-right: 12px;
}

.p-lpFlow__box:last-of-type::before {
  content: none;
}
.p-lpFlow__box:last-of-type .p-lpFlow__title::before {
  background-color: #047AE3;
}

/* よくあるご質問
--------------------------------------------------------- */
.p-lpFaq__unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem;
}
@media (max-width: 768px) {
  .p-lpFaq__unit {
    gap: 1rem;
  }
}

.p-lpFaq__box {
  width: calc(50% - 2rem);
}
@media (max-width: 768px) {
  .p-lpFaq__box {
    width: 100%;
  }
}

.p-lpFaq__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  gap: 2rem;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}
.p-lpFaq__title::before {
  content: "Q";
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  margin-left: -56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 38px;
  height: 38px;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  border-radius: 100px;
  color: white;
  background-color: #0C2538;
}
@media (max-width: 768px) {
  .p-lpFaq__title::before {
    margin-top: -4px;
  }
}

.p-lpFaq__title,
.p-lpFaq__text {
  padding-left: 56px;
}

.p-lpFaq__text {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: normal;
}

/* 動画で説明
--------------------------------------------------------- */
.p-lpVideo__unit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 33% 2rem 33% 2rem 33%;
  grid-template-columns: repeat(3, 33%);
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 576px) {
  .p-lpVideo__unit {
    -ms-grid-columns: (50%)[2];
    grid-template-columns: repeat(2, 50%);
  }
}

.p-lpVideo__item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.p-lpVideo__title {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: 900 !important;
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
}

/* お問い合わせ・資料
--------------------------------------------------------- */
.p-lpContact {
  position: relative;
}
.p-lpContact::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  top: 160px;
  background-color: #0C2538;
}

.p-lpContact__fig {
  position: absolute;
  top: -200px;
  right: 16px;
  z-index: 1;
}
@media (max-width: 1080px) {
  .p-lpContact__fig {
    top: -160px;
  }
}
@media (max-width: 768px) {
  .p-lpContact__fig {
    top: -120px;
  }
}
@media (max-width: 576px) {
  .p-lpContact__fig {
    top: -80px;
  }
}
.p-lpContact__fig source, .p-lpContact__fig img {
  width: 336px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1080px) {
  .p-lpContact__fig source, .p-lpContact__fig img {
    width: 280px;
  }
}
@media (max-width: 768px) {
  .p-lpContact__fig source, .p-lpContact__fig img {
    width: 200px;
  }
}
@media (max-width: 576px) {
  .p-lpContact__fig source, .p-lpContact__fig img {
    width: 160px;
  }
}

.p-lpSamplebox {
  position: relative;
  border: 6px solid #F2F0ED;
  border-radius: 12px;
  padding: 2rem 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  .p-lpSamplebox {
    padding: 2rem;
  }
}

.p-lpSampleboxDesc {
  width: calc(100% - 114px);
}
@media (max-width: 991px) {
  .p-lpSampleboxDesc {
    width: calc(100% - 144px);
  }
}
@media (max-width: 768px) {
  .p-lpSampleboxDesc {
    width: calc(100% - 120px);
  }
}
@media (max-width: 576px) {
  .p-lpSampleboxDesc {
    width: 100%;
  }
}

.p-lpSampleboxTitle {
  font-weight: 900 !important;
  padding-bottom: 1rem !important;
}

.p-lpSampleboxText {
  padding-bottom: 0px !important;
}

.p-lpSampleboxImg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -64px;
  margin: auto;
  width: 188px;
  height: 133px;
  aspect-ratio: 1;
}
@media (max-width: 991px) {
  .p-lpSampleboxImg {
    right: -32px;
  }
}
@media (max-width: 768px) {
  .p-lpSampleboxImg {
    width: 148px;
    right: -16px;
  }
}
@media (max-width: 576px) {
  .p-lpSampleboxImg {
    width: 108px;
    top: -48px;
    right: -16px;
    bottom: inherit;
  }
}
.p-lpSampleboxImg img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* =========================================================
o-animate -  style
============================================================*/
.o-animate {
  /*既に画面内に入っている場合*/
}
.o-animate.__fadein {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}
.o-animate.__fadein.is-active {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.o-animate.__fadeinLeft {
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-animate.is-inFv__fadein {
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: fadeinTop;
          animation-name: fadeinTop;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-animate.is-inFv__scaleRotate {
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: scaleRotate;
          animation-name: scaleRotate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (max-width: 768px) {
  .o-animate.is-inFv__scaleRotate {
    -webkit-animation-name: fadeinTop;
            animation-name: fadeinTop;
  }
}
.o-animate.is-inFv__rotateScale {
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: rotateScale;
          animation-name: rotateScale;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}

/* =========================================================
o-animate -  var
============================================================*/
.o-animate.__delay01 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.o-animate.__delay02 {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.o-animate.__delay03 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.o-animate.__delay04 {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.o-animate.__delay05 {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

/* =========================================================
Keyframes
============================================================*/
@-webkit-keyframes pulse-blue {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(46, 185, 121, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
            box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
  }
  30% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    border: 1px solid rgba(46, 185, 121, 0.8);
    -webkit-box-shadow: 0 0 0 0 rgba(222, 231, 237, 0.9);
            box-shadow: 0 0 0 0 rgba(222, 231, 237, 0.9);
  }
  70% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
    border: 1px solid rgba(46, 185, 121, 0);
    -webkit-box-shadow: 0 0 0 10px rgba(222, 231, 237, 0);
            box-shadow: 0 0 0 10px rgba(222, 231, 237, 0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(46, 185, 121, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
            box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
  }
}
@keyframes pulse-blue {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(46, 185, 121, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
            box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
  }
  30% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    border: 1px solid rgba(46, 185, 121, 0.8);
    -webkit-box-shadow: 0 0 0 0 rgba(222, 231, 237, 0.9);
            box-shadow: 0 0 0 0 rgba(222, 231, 237, 0.9);
  }
  70% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
    border: 1px solid rgba(46, 185, 121, 0);
    -webkit-box-shadow: 0 0 0 10px rgba(222, 231, 237, 0);
            box-shadow: 0 0 0 10px rgba(222, 231, 237, 0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(46, 185, 121, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
            box-shadow: 0 0 0 0 rgba(222, 231, 237, 0);
  }
}
@-webkit-keyframes pulse-red {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(4, 122, 227, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
            box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
  }
  3% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    border: 1px solid rgba(4, 122, 227, 0.5);
    -webkit-box-shadow: 0 0 0 0 rgba(4, 122, 227, 0.3);
            box-shadow: 0 0 0 0 rgba(4, 122, 227, 0.3);
  }
  70% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
    border: 1px solid rgba(4, 122, 227, 0);
    -webkit-box-shadow: 0 0 0 10px rgba(4, 122, 227, 0);
            box-shadow: 0 0 0 10px rgba(4, 122, 227, 0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(4, 122, 227, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
            box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
  }
}
@keyframes pulse-red {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(4, 122, 227, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
            box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
  }
  3% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    border: 1px solid rgba(4, 122, 227, 0.5);
    -webkit-box-shadow: 0 0 0 0 rgba(4, 122, 227, 0.3);
            box-shadow: 0 0 0 0 rgba(4, 122, 227, 0.3);
  }
  70% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
    border: 1px solid rgba(4, 122, 227, 0);
    -webkit-box-shadow: 0 0 0 10px rgba(4, 122, 227, 0);
            box-shadow: 0 0 0 10px rgba(4, 122, 227, 0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 1px solid rgba(4, 122, 227, 0);
    -webkit-box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
            box-shadow: 0 0 0 0 rgba(4, 122, 227, 0);
  }
}
@-webkit-keyframes pathmove {
  0% {
    height: 0;
    top: -120px;
    opacity: 0;
  }
  20% {
    height: 64px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: -20px;
    opacity: 0;
  }
}
@keyframes pathmove {
  0% {
    height: 0;
    top: -120px;
    opacity: 0;
  }
  20% {
    height: 64px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: -20px;
    opacity: 0;
  }
}
@-webkit-keyframes bgimgMove {
  0% {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  25% {
    top: -200px;
    left: 200px;
  }
  75% {
    bottom: 100px;
    right: 100px;
  }
  100% {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
}
@keyframes bgimgMove {
  0% {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  25% {
    top: -200px;
    left: 200px;
  }
  75% {
    bottom: 100px;
    right: 100px;
  }
  100% {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
}
@-webkit-keyframes appear {
  to {
    bottom: 12px;
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes appear {
  to {
    bottom: 12px;
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes gradientDots {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 200% 100%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradientDots {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 200% 100%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg) scale(1.2);
            transform: rotate(0deg) scale(1.2);
  }
  to {
    -webkit-transform: rotate(360deg) scale(1.2);
            transform: rotate(360deg) scale(1.2);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg) scale(1.2);
            transform: rotate(0deg) scale(1.2);
  }
  to {
    -webkit-transform: rotate(360deg) scale(1.2);
            transform: rotate(360deg) scale(1.2);
  }
}
@-webkit-keyframes js-upAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-190px);
            transform: translateY(-190px);
  }
}
@keyframes js-upAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-190px);
            transform: translateY(-190px);
  }
}
@-webkit-keyframes js-downAnime {
  from {
    -webkit-transform: translateY(-190px);
            transform: translateY(-190px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes js-downAnime {
  from {
    -webkit-transform: translateY(-190px);
            transform: translateY(-190px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes slideAnime {
  0% {
    opacity: 0;
  }
  16% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  49% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes slideAnime {
  0% {
    opacity: 0;
  }
  16% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  49% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes fadeinLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
@keyframes fadeinLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
@-webkit-keyframes fadeinTop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes fadeinTop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@-webkit-keyframes scaleRotate {
  0% {
    opacity: 0;
    -webkit-transform: rotateY(0deg) scale(0) translateY(-10px);
            transform: rotateY(0deg) scale(0) translateY(-10px);
  }
  70% {
    opacity: 1;
    -webkit-transform: rotateY(780deg);
            transform: rotateY(780deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotateY(720deg) scale(1) translateY(0px);
            transform: rotateY(720deg) scale(1) translateY(0px);
  }
}
@keyframes scaleRotate {
  0% {
    opacity: 0;
    -webkit-transform: rotateY(0deg) scale(0) translateY(-10px);
            transform: rotateY(0deg) scale(0) translateY(-10px);
  }
  70% {
    opacity: 1;
    -webkit-transform: rotateY(780deg);
            transform: rotateY(780deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotateY(720deg) scale(1) translateY(0px);
            transform: rotateY(720deg) scale(1) translateY(0px);
  }
}
@-webkit-keyframes scaleUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  70% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes scaleUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  70% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes bgScaleUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes bgScaleUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes rotateScale {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  75% {
    opacity: 1;
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  95% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes rotateScale {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  75% {
    opacity: 1;
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  95% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
/* =========================================================
o-btn -  var
============================================================*/
.o-btn.__bg01 {
  position: relative;
  color: #0C2538;
  font-weight: 900;
  text-align: center;
  background-color: #047AE3;
}
.o-btn.__bg01:after {
  content: "\f061";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  display: table;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  right: 2rem;
  font-size: 11px;
}
.o-btn.__textbtn {
  position: relative;
  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;
  color: #0C2538;
  font-weight: 900;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.o-btn.__textbtn:after {
  content: "\f061";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  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;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  font-size: 10px;
  width: 24px;
  height: 24px;
  border: 1px solid #F2F5F8;
  border-radius: 100px;
  -webkit-transform-origin: center center 0;
          transform-origin: center center 0;
  -webkit-transition: color cubic-bezier(0.36, 1.25, 1, 1) 0.3s, background-color cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: color cubic-bezier(0.36, 1.25, 1, 1) 0.3s, background-color cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s, color cubic-bezier(0.36, 1.25, 1, 1) 0.3s, background-color cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s, color cubic-bezier(0.36, 1.25, 1, 1) 0.3s, background-color cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}
.o-btn.__textbtn:hover:after {
  color: #0C2538;
  background-color: #0C2538;
  -webkit-transform: rotateY(360deg) translateX(-4px);
          transform: rotateY(360deg) translateX(-4px);
}

/* =========================================================
o-btn -  options
============================================================*/
.o-btn {
  position: relative;
  display: block;
  border-radius: 7px;
  font-weight: 900;
  cursor: pointer;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s, -webkit-filter 0.3s, -webkit-box-shadow 0.3s;
  transition: -webkit-transform 0.3s, -webkit-filter 0.3s, -webkit-box-shadow 0.3s;
  transition: transform 0.3s, filter 0.3s, box-shadow 0.3s;
  transition: transform 0.3s, filter 0.3s, box-shadow 0.3s, -webkit-transform 0.3s, -webkit-filter 0.3s, -webkit-box-shadow 0.3s;
}
.o-btn::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  /*波紋の形状*/
  background: radial-gradient(circle, #fff 10%, transparent 10%) no-repeat 50%;
  -webkit-transform: scale(0, 0);
          transform: scale(0, 0);
  /*はじめは透過0に*/
  opacity: 0;
  /*アニメーションの設定*/
  -webkit-transition: opacity 1s, -webkit-transform 0.3s;
  transition: opacity 1s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 1s;
  transition: transform 0.3s, opacity 1s, -webkit-transform 0.3s;
}
.o-btn:hover::before {
  -webkit-transform: scale(10, 10);
          transform: scale(10, 10);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.1;
}
.o-btn.__huge {
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: 0.5rem;
}
@media (max-width: 768px) {
  .o-btn.__huge {
    font-size: 2.9rem;
  }
}
@media (max-width: 576px) {
  .o-btn.__huge {
    font-size: 2.9rem;
  }
}
.o-btn.__en {
  letter-spacing: 0.01rem;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
.o-btn.__big, .o-btn.__big.o-icon:before {
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-btn.__large, .o-btn.__large.o-icon:before {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
}
.o-btn.__title, .o-btn.__title.o-icon:before {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}
.o-btn.__title.__en {
  letter-spacing: 0.3rem;
}
.o-btn.__postp, .o-btn.__postp.o-icon:before {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}
.o-btn.__p, .o-btn.__p.o-icon:before {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}
.o-btn.__mid, .o-btn.__mid.o-icon:before {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
.o-btn.__min, .o-btn.__min.o-icon:before {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}
.o-btn.__tiny, .o-btn.__tiny.o-icon:before {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
}
.o-btn.__white, .o-btn.__white .o-icon:before {
  color: #0C2538;
}
.o-btn.__white:hover, .o-btn.__white .o-icon:before:hover {
  color: #0C2538 !important;
}
.o-btn.__white:hover {
  color: #0C2538 !important;
}
.o-btn.__radius01 {
  border-radius: 100px;
}
.o-btn.__sizes {
  padding: 0.5rem 1rem;
}
.o-btn.__sizem {
  padding: 1rem 2rem;
}
.o-btn.__sizel {
  padding: 2rem 4rem;
}
.o-btn.__sizexl {
  padding: 2.4rem 3.2rem;
}
.o-btn.__mw01 {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}
.o-btn.__mw02 {
  max-width: clamp(280px, 100%, 320px);
  margin-left: auto;
  margin-right: auto;
}
.o-btn.__left {
  margin-left: inherit;
}
.o-btn.__center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.o-btn.__arrow {
  position: relative;
}
.o-btn.__arrow:after {
  content: "\f061";
  font-family: "FontAwesome";
  margin-left: 12px;
  color: #45b4eb;
}
.o-btn.__fileBefore {
  position: relative;
}
.o-btn.__fileBefore:before {
  content: "\f0f6";
  font-family: "FontAwesome";
  margin-left: 12px;
  font-weight: normal;
  color: #45b4eb;
}
.o-btn.__fileAfter {
  position: relative;
}
.o-btn.__fileAfter::after {
  content: "\f0f6";
  font-family: "FontAwesome";
  font-weight: normal;
  margin-left: 12px;
  color: #45b4eb;
}
.o-btn.__r100 {
  border-radius: 100px;
}
.o-btn.__r4 {
  border-radius: 4px;
}
.o-btn.__wfit {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.o-btn.__w100 {
  width: 100%;
}
.o-btn.__blue {
  background: -webkit-gradient(linear, left top, right top, from(#45b4eb), to(#047AE3));
  background: linear-gradient(to right, #45b4eb, #047AE3);
  color: #fff;
  -webkit-box-shadow: 0 5px 0 #0968C1;
          box-shadow: 0 5px 0 #0968C1;
}
.o-btn.__blue:hover {
  -webkit-filter: brightness(0.96);
          filter: brightness(0.96);
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: 0 0px 0 #0968C1;
          box-shadow: 0 0px 0 #0968C1;
}
.o-btn.__navy {
  color: #fff;
  background: #0C2538;
  -webkit-box-shadow: 0 5px 0 #1a3244;
          box-shadow: 0 5px 0 #1a3244;
}
.o-btn.__navy:hover {
  -webkit-filter: brightness(0.96);
          filter: brightness(0.96);
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: 0 0px 0 #1a3244;
          box-shadow: 0 0px 0 #1a3244;
}
.o-btn.__orange {
  background-color: #FF6A3C;
  -webkit-box-shadow: 0 5px 0 #C66243;
          box-shadow: 0 5px 0 #C66243;
  color: #fff;
}
.o-btn.__orange:after {
  color: #fff;
}
.o-btn.__orange:hover {
  -webkit-filter: brightness(0.96);
          filter: brightness(0.96);
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: 0 0px 0 #C66243;
          box-shadow: 0 0px 0 #C66243;
}
.o-btn.__green {
  background-color: #22B973;
  -webkit-box-shadow: 0 5px 0 #1A9A5F;
          box-shadow: 0 5px 0 #1A9A5F;
  color: #fff;
  text-decoration: none;
}
.o-btn.__green:after {
  color: #fff;
}
.o-btn.__green:hover {
  -webkit-filter: brightness(0.96);
          filter: brightness(0.96);
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: 0 0px 0 #1A9A5F;
          box-shadow: 0 0px 0 #1A9A5F;
}
.o-btn.__gray {
  background: #DEE7ED;
  color: #0C2538;
  -webkit-box-shadow: 0 5px 0 #c5cfd6;
          box-shadow: 0 5px 0 #c5cfd6;
}
.o-btn.__gray:hover {
  -webkit-filter: brightness(0.96);
          filter: brightness(0.96);
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: 0 0px 0 #c5cfd6;
          box-shadow: 0 0px 0 #c5cfd6;
}
.o-btn.__gold {
  background: -webkit-gradient(linear, left top, right top, from(#C9BA90), to(#D8A316));
  background: linear-gradient(to right, #C9BA90, #D8A316);
  color: #fff;
  -webkit-box-shadow: 0 5px 0 #9F8239;
          box-shadow: 0 5px 0 #9F8239;
}
.o-btn.__gold:hover {
  -webkit-filter: brightness(0.96);
          filter: brightness(0.96);
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: 0 0px 0 #9F8239;
          box-shadow: 0 0px 0 #9F8239;
}
.o-btn.__gold.__arrow:after, .o-btn.__gold.__fileAfter:after {
  color: white;
}
.o-btn.__gold.__fileBefore::before {
  color: white;
}
.o-btn.__border01 {
  border: 1px solid #0C2538;
  background-color: transparent;
  color: #0C2538;
  -webkit-transition: color 0.3s, background-color 0.3s;
  transition: color 0.3s, background-color 0.3s;
}
.o-btn.__border01:hover {
  color: white;
  background-color: #0C2538;
}
.o-btn.search {
  min-width: 300px;
  padding: 2.2rem 0.8rem;
  line-height: 1;
}
.o-btn.keywordsearch {
  padding: 1.6rem 0.8rem;
  line-height: 1;
}
.o-btn.denial {
  background: #A0A0A0;
  border-bottom: 3px solid #807f7f;
  color: #fff;
  -webkit-filter: none;
          filter: none;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  cursor: not-allowed;
}
.o-btn.denial .__title {
  line-height: 1.3;
  font-size: 18px;
  margin-bottom: 0;
}
.o-btn.denial .__desc {
  font-size: 12px;
  line-height: 1.6;
  display: block;
}
.o-btn.denial:hover {
  background: #A0A0A0;
}

/* =========================================================
o-cta -  var
============================================================*/
.o-cta {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  background-color: #047AE3;
  color: white;
  font-weight: 900;
  overflow: hidden;
}
.o-cta:before {
  content: "";
  background-image: url("../images/v4/common/bg-cta01.webp");
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-size: cover;
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-name: bgScaleUp;
          animation-name: bgScaleUp;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (max-width: 768px) {
  .o-cta:before {
    background-position: center;
  }
}

.no-webp .o-cta:before {
  background-image: url("../images/v4/common/bg-cta01.png");
}

.o-ctaWrap {
  padding-top: clamp(6rem, 4vw, 8rem);
  padding-bottom: clamp(6rem, 4vw, 8rem);
  position: relative;
  width: 100%;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  max-width: 1000px !important;
  /*アニメーション*/
}
.o-ctaWrap:before, .o-ctaWrap:after {
  content: "";
  position: absolute;
  bottom: -8px;
  margin: auto;
  width: 112px;
  height: 152px;
  background-size: contain;
  background-repeat: no-repeat;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 1;
  /*アニメーション*/
  opacity: 0;
}
@media (max-width: 768px) {
  .o-ctaWrap:before, .o-ctaWrap:after {
    bottom: -6px;
    margin: auto;
    width: 89px;
    height: 121px;
  }
}
@media (max-width: 576px) {
  .o-ctaWrap:before, .o-ctaWrap:after {
    width: 69px;
    height: 104px;
  }
}
.o-ctaWrap::before {
  background-image: url("../images/v4/common/icon-cta01.webp");
  left: 0;
}
.o-ctaWrap::after {
  background-image: url("../images/v4/common/icon-cta02.webp");
  right: 0;
}
.o-ctaWrap.is-active::before, .o-ctaWrap.is-active::after {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: scaleRotate;
          animation-name: scaleRotate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (max-width: 768px) {
  .o-ctaWrap.is-active::before, .o-ctaWrap.is-active::after {
    -webkit-animation-name: fadeinTop;
            animation-name: fadeinTop;
  }
}
.o-ctaWrap.is-active::before {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.o-ctaWrap.is-active::after {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.no-webp .o-ctaWrap::before {
  background-image: url("../images/v4/common/icon-cta01.png");
}
.no-webp .o-ctaWrap::after {
  background-image: url("../images/v4/common/icon-cta02.png");
}

.o-ctaCatch {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  color: #FFD800;
}

.o-ctaTitle {
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
}

.o-ctaText {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  margin-bottom: 2rem;
}

.o-ctaUnits {
  width: 100%;
  max-width: 620px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 2rem;
}
@media (max-width: 768px) {
  .o-ctaUnits {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.o-ctaBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 2rem 2rem;
}
@media (max-width: 768px) {
  .o-ctaBtn.__buy {
    padding: 3rem 2rem;
  }
  .o-ctaBtn.__sample {
    padding: 1rem 2rem;
    gap: 0.5rem;
  }
}

.o-ctaBtn__title {
  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: 1rem;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}
.o-ctaBtn__title i:before {
  margin-left: 0;
  font-size: 24px;
}

.o-ctaBtn__sub {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .o-ctaBtn__sub {
    font-size: clamp(13px, 1.5vw, 1.3rem);
    line-height: 1.3;
  }
}

/* =========================================================
o-blog -  var
============================================================*/
.o-blog {
  background-color: #fff;
}

.o-blogWrap {
  padding-top: clamp(6rem, 4vw, 8rem);
  padding-bottom: clamp(6rem, 4vw, 8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
}
@media (max-width: 768px) {
  .o-blogWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.o-blogDesc {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 400px;
  gap: 2rem;
  /*アニメーション*/
}
@media (max-width: 1280px) {
  .o-blogDesc {
    max-width: 300px;
    width: 30%;
  }
}
@media (max-width: 768px) {
  .o-blogDesc {
    width: 100%;
    max-width: inherit;
  }
}
.o-blogDesc::before {
  content: "";
  position: absolute;
  width: 135px;
  height: 100px;
  top: -4rem;
  right: -6rem;
  background-image: url(../images/v4/common/icon-blog01.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 1080px) {
  .o-blogDesc::before {
    width: 95px;
    height: 70px;
  }
}
@media (max-width: 768px) {
  .o-blogDesc::before {
    width: 105px;
    height: 70px;
    top: -3rem;
    right: 0;
  }
}
.o-blogDesc::before {
  opacity: 0;
}
.o-blogDesc.is-active::before {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-name: fadeinTop;
          animation-name: fadeinTop;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}

.no-webp .o-blogDesc::before {
  background-image: url(../images/v4/common/icon-blog01.png);
}

.o-blogDesc__catch {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  color: #047AE3;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}

.o-blogDesc__title {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
  font-weight: 900;
}
@media (max-width: 1080px) {
  .o-blogDesc__title br {
    display: none;
  }
}
@media (max-width: 768px) {
  .o-blogDesc__title br {
    display: block;
  }
}

.o-blogDesc__text {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  font-weight: normal;
}

.o-blogDesc__btn {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  padding: 2rem;
}

.o-blogList {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 4px;
  border: 3px solid #F2F5F8;
}

.o-blogList__item:not(:last-of-type) {
  border-bottom: 1px solid #F2F5F8;
}

.o-blogList__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.o-blogList__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  font-weight: 900;
  display: block;
  padding: 2rem 4rem;
  -webkit-transition: color 0.3s, -webkit-transform 0.3s cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: color 0.3s, -webkit-transform 0.3s cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: color 0.3s, transform 0.3s cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: color 0.3s, transform 0.3s cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform 0.3s cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}
.o-blogList__title:not(:last-of-type) {
  border-bottom: 1px solid #F2F5F8;
}
@media (max-width: 768px) {
  .o-blogList__title {
    padding: 2rem;
  }
}

.o-blogList__icon {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  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;
  background-color: #F2F5F8;
  padding: 1rem 2rem;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media (max-width: 768px) {
  .o-blogList__icon {
    padding: 1rem;
  }
}
.o-blogList__icon i {
  -webkit-transition: -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}
.o-blogList__icon i::before {
  color: #047AE3;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.o-blogList__item:hover .o-blogList__title {
  color: #047AE3;
  -webkit-transform: translateX(3px);
          transform: translateX(3px);
}
.o-blogList__item:hover .o-blogList__icon {
  background-color: #0C2538;
}
.o-blogList__item:hover .o-blogList__icon i {
  -webkit-transform: translateX(-3px);
          transform: translateX(-3px);
}
.o-blogList__item:hover .o-blogList__icon i::before {
  color: white;
}

/* =========================================================
o-post -  記事ページの基本css
============================================================*/
.o-post {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: 900;
  counter-reset: o-post_ol;
  /* ==== 全体のmargin+基本スタイル ==== */
  /* ==== 個別パーツ ==== */
}
.o-post p,
.o-post td {
  font-weight: normal;
}
.o-post p {
  padding-bottom: 4rem;
}
.o-post p:not(:last-of-type) {
  padding-bottom: 2rem;
}
@media (max-width: 768px) {
  .o-post p {
    padding-bottom: 2rem;
  }
}
.o-post li {
  line-height: 1.4;
}
.o-post li:not(:last-of-type) {
  margin-bottom: 0.75rem;
}
.o-post h2,
.o-post h3 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.o-post h4,
.o-post h5 {
  margin-top: 4rem;
  margin-bottom: 2rem;
}
.o-post > h3:first-child, .o-post > h4:first-child, .o-post > h5:first-child {
  margin-top: 0px;
}
.o-post ul,
.o-post ol,
.o-post table,
.o-post .o-postCase {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .o-post ul,
  .o-post ol,
  .o-post table,
  .o-post .o-postCase {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
.o-post ul + p.o-link.__refer,
.o-post ol + p.o-link.__refer,
.o-post table + p.o-link.__refer {
  margin-top: -2rem;
}
.o-post ul a,
.o-post ol a,
.o-post table a {
  text-decoration: underline;
  color: #45b4eb;
}
.o-post ul a:hover,
.o-post ol a:hover,
.o-post table a:hover {
  text-decoration: none;
}
.o-post ul {
  position: relative;
}
.o-post ul li {
  padding-left: 3rem;
  font-weight: 900;
}
@media (max-width: 768px) {
  .o-post ul li {
    padding-left: 2rem;
  }
}
.o-post ul li:before {
  position: absolute;
  left: 0;
  content: "\f14a";
  font-family: "FontAwesome";
  color: #047AE3;
}
.o-post ul.__circle01 li {
  position: relative;
}
.o-post ul.__circle01 li::before {
  content: "";
  width: 10px;
  height: 10px;
  top: 7px;
  border-radius: 100px;
  background-color: #047AE3;
}
.o-post ol {
  position: relative;
}
.o-post ol li {
  padding-left: 4rem;
  counter-increment: o-post_ol;
}
.o-post ol li:before {
  position: absolute;
  left: 0;
  content: counter(o-post_ol);
  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;
  border-radius: 100px;
  background-color: #047AE3;
  color: white;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  font-weight: 900;
  text-align: center;
  width: 25px;
  height: 25px;
}
.o-post h3 {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 2rem;
  border-radius: 4px;
  background-color: #F2F5F8;
  font-weight: 900;
}
.o-post h4 {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  font-weight: 900;
  position: relative;
  padding-bottom: 2rem;
  border-bottom: 3px solid #F2F5F8;
}
.o-post h4::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 32px;
  height: 3px;
  background-color: #047AE3;
}
.o-post table {
  width: 100%;
  word-break: break-all;
  word-wrap: break-all;
}
@media (max-width: 768px) {
  .o-post table {
    font-size: clamp(13px, 1.5vw, 1.3rem);
    line-height: 1.3;
  }
}
.o-post table thead {
  width: 100%;
  color: white;
  background-color: #0C2538;
  border-radius: 4px;
}
.o-post table thead tr {
  border-bottom: none;
}
.o-post table tbody {
  width: 100%;
}
.o-post table th {
  font-weight: 900;
  min-width: 120px;
}
@media (max-width: 768px) {
  .o-post table th {
    min-width: 60px;
  }
}
.o-post table td,
.o-post table th {
  padding: 1rem 1rem;
  border-bottom: 3px solid #F2F5F8;
}

/* =========================================================
o-post -  記事ページの各パーツcss
============================================================*/
/* ==== 数字付きタイトル ==== */
.o-post {
  counter-reset: o-postTitle__numCount;
}

.o-postTitle__num {
  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;
  width: 100%;
  max-width: 54px;
  overflow: hidden;
  color: white;
  font-weight: 900;
  text-align: center;
  border-radius: 4px;
  background-color: #0C2538;
  counter-increment: o-postTitle__numCount;
}

.o-postTitle__numCat {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  padding: 0.3rem;
  width: 100%;
  background-color: #047AE3;
}

.o-postTitle__numCount {
  padding: 0.5rem 2rem 0.6rem;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  line-height: 1;
}
.o-postTitle__numCount:before {
  content: "0" counter(o-postTitle__numCount);
}

/* ==== スケジュール case ==== */
.o-postCase {
  counter-reset: o-postCase__headInfo__num;
}

.o-postCase__wrap.__2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 991px) {
  .o-postCase__wrap.__2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.o-postCase__wrap.__2 .o-postCase__box {
  width: 50%;
}
@media (max-width: 991px) {
  .o-postCase__wrap.__2 .o-postCase__box {
    width: 100%;
  }
}

.o-postCase__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}

.o-postCase__head {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  padding: 2rem;
  color: white;
}

.o-postCase__headBg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  color: white;
}
.o-postCase__headBg::before {
  content: "";
  display: block;
  padding-bottom: 24.3%;
}

.o-postCase__headBgWrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.o-postCase__headBgWrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgba(12, 37, 56, 0.7);
  z-index: 1;
}
.o-postCase__headBgWrap img,
.o-postCase__headBgWrap source {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.o-postCase__headInfo {
  position: relative;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  text-align: center;
  z-index: 2;
  padding: 1rem;
}

.o-postCase__headInfo__num {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.3rem 1rem;
  color: white;
  text-align: center;
  background-color: #047AE3;
  border-radius: 4px;
  counter-increment: o-postCase__headInfo__num;
}
.o-postCase__headInfo__num:before {
  content: "CASE " counter(o-postCase__headInfo__num);
}

.o-postCase__headInfo__title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.o-postCase__headInfo__title:before {
  content: none !important;
}

.o-postCase__cont {
  font-weight: 900;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.o-postCase__cont tr {
  border-bottom: 1px solid #F2F5F8 !important;
}
.o-postCase__cont th {
  color: #047AE3;
  background-color: #F2F5F8;
}
.o-postCase__cont td {
  padding: 0.5rem 1rem;
}

/* ==== 関連記事 ==== */
.o-postRelate {
  padding-top: 4rem;
}
@media (max-width: 768px) {
  .o-postRelate {
    padding-top: 1rem;
  }
}

.o-postRelate__wrap:hover {
  background-color: #DEE7ED;
}
.o-postRelate__wrap:hover .o-postRelate__imgWrap img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.o-postRelate__wrap:hover .o-postRelate__title {
  color: #047AE3;
}
.o-postRelate__wrap:hover .o-postRelate__arrow {
  color: white;
  background-color: #047AE3;
  -webkit-box-shadow: 0 0 24px rgba(12, 37, 56, 0.2);
          box-shadow: 0 0 24px rgba(12, 37, 56, 0.2);
}
.o-postRelate__wrap:hover .o-postRelate__arrow::after {
  opacity: 1;
  -webkit-animation: rotate 3s linear infinite;
          animation: rotate 3s linear infinite;
}

.o-postRelate__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F2F5F8;
  border-radius: 0 0 12px 12px;
  padding-top: clamp(1rem, 4vw, 2rem);
  padding-bottom: clamp(1rem, 4vw, 2rem);
  gap: 2rem;
  -webkit-transition: background-color cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: background-color cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}
@media (max-width: 1360px) {
  .o-postRelate__wrap {
    padding-right: 100px !important;
  }
}
@media (max-width: 1080px) {
  .o-postRelate__wrap {
    background-color: #DEE7ED;
  }
}
@media (max-width: 991px) {
  .o-postRelate__wrap {
    padding-right: 120px !important;
  }
}
@media (max-width: 576px) {
  .o-postRelate__wrap {
    padding-right: 80px !important;
    gap: 1rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.o-postRelate__img {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  -webkit-box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
          box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  max-width: 160px;
}
@media (max-width: 768px) {
  .o-postRelate__img {
    max-width: 120px;
  }
}
@media (max-width: 576px) {
  .o-postRelate__img {
    max-width: inherit;
  }
}
.o-postRelate__img::before {
  content: "";
  display: block;
  padding-bottom: 65.3%;
}
@media (max-width: 768px) {
  .o-postRelate__img::before {
    padding-bottom: 54.3%;
  }
}

.o-postRelate__imgWrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: no-repeat center;
  background-size: cover;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.o-postRelate__imgWrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}

.o-postRelate__title {
  padding: 0 !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  background-color: transparent !important;
  -webkit-transition: color cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: color cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}
@media (max-width: 991px) {
  .o-postRelate__title {
    font-size: clamp(15px, 2.4vw, 1.6rem) !important;
    line-height: 1.9;
  }
}
@media (max-width: 576px) {
  .o-postRelate__title {
    width: calc(100% - 50px);
  }
}

.o-postRelate__arrow {
  position: relative;
  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;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 60px;
  height: 60px;
  font-size: 15px;
  margin-left: auto;
  color: #0C2538;
  border-radius: 100px;
  background-color: #fff;
  -webkit-transition: color 0.3s, background-color 0.3s, -webkit-box-shadow 0.3s;
  transition: color 0.3s, background-color 0.3s, -webkit-box-shadow 0.3s;
  transition: color 0.3s, background-color 0.3s, box-shadow 0.3s;
  transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
}
@media (max-width: 768px) {
  .o-postRelate__arrow {
    width: 40px;
    height: 40px;
  }
}
.o-postRelate__arrow::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  left: inherit;
  right: inherit;
  border-radius: 100px;
  border: 1px dashed #047AE3;
  opacity: 0;
  -webkit-transition: opacity cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: opacity cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s, opacity cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s, opacity cubic-bezier(0.36, 1.25, 1, 1) 0.3s, -webkit-transform cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
}

.o-postRelate__tip {
  position: absolute;
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  max-width: 200px;
  right: -10rem;
  bottom: -2rem;
  z-index: 1;
}
@media (max-width: 1360px) {
  .o-postRelate__tip {
    max-width: 160px;
    right: -2rem;
  }
}
@media (max-width: 1280px) {
  .o-postRelate__tip {
    max-width: 130px;
  }
}
@media (max-width: 991px) {
  .o-postRelate__tip {
    right: 0;
  }
}
@media (max-width: 768px) {
  .o-postRelate__tip {
    bottom: -1rem;
  }
}
.o-postRelate__tip.__small01 {
  max-width: 96px;
  right: -4rem;
}
@media (max-width: 1280px) {
  .o-postRelate__tip.__small01 {
    max-width: 76px;
  }
}
@media (max-width: 768px) {
  .o-postRelate__tip.__small01 {
    right: inherit;
    left: -1rem;
    bottom: -4rem;
  }
}

.o-postRelate__tipText {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  position: relative;
  padding: 1.5rem 2rem;
  color: white;
  background-color: #047AE3;
  border-radius: 4px;
  text-align: center;
  /* アニメーション */
  opacity: 0;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
}
@media (max-width: 1280px) {
  .o-postRelate__tipText {
    padding: 1rem;
  }
}
.o-postRelate__tipText::after {
  position: absolute;
  content: "";
  bottom: -20px;
  right: 12px;
  border: 12px solid transparent;
  border-top: 12px solid #047AE3;
  width: 0;
  height: 0;
  border-radius: 4px;
}
.o-postRelate__tipText.is-active {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-name: rotateScale;
          animation-name: rotateScale;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-postRelate__tipText.__small01 {
  font-size: 11px;
  padding: 1rem;
}
@media (max-width: 1280px) {
  .o-postRelate__tipText.__small01 {
    font-size: 10px;
    padding: 0.5rem;
  }
}
.o-postRelate__tipText.__navy01 {
  background-color: #0C2538;
}
.o-postRelate__tipText.__navy01::after {
  bottom: -16px;
  border-top: 8px solid #0C2538;
}

.o-postRelate__tipImg {
  width: 112px;
  height: 130px;
  /* アニメーション */
  opacity: 0;
}
@media (max-width: 1360px) {
  .o-postRelate__tipImg {
    width: 102px;
    height: 120px;
  }
}
@media (max-width: 768px) {
  .o-postRelate__tipImg {
    width: 82px;
    height: 90px;
  }
}
.o-postRelate__tipImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.o-postRelate__tipImg.is-active {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-postRelate__tipImg.__small01 {
  width: 66px;
  height: 80px;
}
@media (max-width: 1280px) {
  .o-postRelate__tipImg.__small01 {
    width: 46px;
    height: 60px;
  }
}
@media (max-width: 768px) {
  .o-postRelate__tipImg.__small01 img, .o-postRelate__tipImg.__small01 source {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
}

/* ==== youtube ==== */
.o-postYoutube {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.o-postYoutube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==== 特殊タイトル ==== */
.o-postTitle__withbadge {
  position: relative;
  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: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  gap: 1rem;
  padding: 0 !important;
  margin: 0 0 4rem;
  background-color: transparent !important;
  font-size: clamp(21px, 2vw, 2.1rem) !important;
  line-height: 1.5;
  font-weight: 900;
}
.o-postTitle__withbadge.__kyuhu .o-postTitle__withbadgeCatch span {
  background: -webkit-gradient(linear, left top, right top, from(#047AE3), to(#45b4eb));
  background: linear-gradient(to right, #047AE3, #45b4eb);
}
.o-postTitle__withbadge.__houjin .o-postTitle__withbadgeCatch span {
  background: -webkit-gradient(linear, left top, right top, from(#C3AB67), to(#96793A));
  background: linear-gradient(to right, #C3AB67, #96793A);
}
.o-postTitle__withbadge.__campaign .o-postTitle__withbadgeCatch {
  border-radius: 4px;
  overflow: hidden;
}
.o-postTitle__withbadge.__campaign .o-postTitle__withbadgeCatch span {
  color: #0C2538;
  background-color: #FFD800;
}
.o-postTitle__withbadge.__campaign .o-postTitle__withbadgeCatch .o-postTitle__withbadgeSub {
  color: white;
  background-color: #0C2538;
  border-radius: 0 4px 4px 0;
}

.o-postTitle__withbadgeCatch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.o-postTitle__withbadgeCatch span,
.o-postTitle__withbadgeCatch .o-postTitle__withbadgeSub {
  color: white;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  font-weight: 900;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5rem 1rem;
  border-radius: 4px;
}
@media (max-width: 576px) {
  .o-postTitle__withbadgeCatch span,
  .o-postTitle__withbadgeCatch .o-postTitle__withbadgeSub {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

/* ==== ボックス ==== */
.o-post .o-postBox.__border01 {
  padding: 1rem;
  border: 2px solid #FFD800;
  border-radius: 4px;
}
.o-post .o-postBox.__center {
  text-align: center;
}
.o-post .o-postBox__sat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  border: 3px solid #F2F5F8;
  border-top: 3px solid #0C2538;
  padding: 0 4rem;
  margin: 4rem auto 2rem;
  max-width: 800px;
}
@media (max-width: 576px) {
  .o-post .o-postBox__sat {
    padding: 0 1rem;
    gap: 1rem;
  }
}
.o-post .o-postBox__satHead {
  margin: -30px auto 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 2rem;
  background-color: #fff;
}
@media (max-width: 576px) {
  .o-post .o-postBox__satHead {
    margin: -22px auto 0;
    padding: 0 1rem;
  }
}
.o-post .o-postBox__satHead__img {
  width: 40px;
  display: table-cell;
}
@media (max-width: 576px) {
  .o-post .o-postBox__satHead__img {
    width: 25px;
  }
}
.o-post .o-postBox__satHead__title {
  padding: 0;
  margin: 0;
  border: none;
  font-weight: bold;
}
@media (max-width: 576px) {
  .o-post .o-postBox__satHead__title {
    font-size: clamp(13px, 1.5vw, 1.3rem);
    line-height: 1.3;
  }
}
.o-post .o-postBox__satHead__title::before {
  content: none;
}

/* =========================================================
o-link -  var
============================================================*/
.o-link.__refer, .o-link.__refer a {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: bold;
  color: #45b4eb;
  text-decoration: none;
  text-align: right;
}
.o-link.__refer:hover, .o-link.__refer a:hover {
  text-decoration: underline;
}
.o-link.__text01, .o-link.basic {
  text-decoration: underline;
  color: #45b4eb;
}
.o-link.__text01:hover, .o-link.basic:hover {
  text-decoration: none;
}
.o-link.__over {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

/* =========================================================
o-link -  options
============================================================*/
/*------------------------------------------
* o-icon
------------------------------------------*/
.o-icon.__topfvCourse {
  width: 28px;
  height: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-right: 12px;
  margin-top: -4px;
}
.o-icon.__topfvCourse svg {
  fill: #047AE3;
}
.o-icon.__menuCourse {
  width: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 12px;
  margin-top: -4px;
}
.o-icon.__menuCourse svg {
  fill: #047AE3;
}
.o-icon.__menuCourse img {
  -o-object-fit: contain;
     object-fit: contain;
}
.o-icon.__footerCourse {
  width: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 18px;
}
.o-icon.__footerCourse svg {
  fill: #047AE3;
}
.o-icon.__footerCourse img {
  -o-object-fit: contain;
     object-fit: contain;
}

/* =========================================================
o-table -  options
============================================================*/
.o-tableCompare.__style01 th {
  padding: 6px !important;
  font-weight: bold;
  background: #f7f7f7;
  text-align: center;
}
.o-tableCompare.__style01 .o-tableCompare_imgTitle {
  position: relative;
  z-index: 1;
  text-align: center;
  background-color: transparent;
}
.o-tableCompare.__style01 .o-tableCompare_imgTitle.__good {
  color: #047AE3;
}
.o-tableCompare.__style01 .o-tableCompare_imgTitle.__bad {
  color: #B92E2D;
}
.o-tableCompare.__style01 .o-tableCompare_imgTitle:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 80px;
  width: 100%;
  z-index: -1;
  background-color: #f7f7f7;
}
.o-tableCompare.__style01 .o-tableCompare_imgTitle_img {
  max-width: 77px;
  margin: 0 auto 0.5rem;
}
.o-tableCompare.__style01 .o-tableCompare_td {
  position: relative;
  width: 50%;
  border: 1px solid #f7f7f7;
}
.o-tableCompare.__style01 .o-tableCompare_td:before {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: cover;
}
.o-tableCompare.__style01 .o-tableCompare_td.__bad01 {
  padding-left: 28px;
}
.o-tableCompare.__style01 .o-tableCompare_td.__bad01:before {
  content: "";
  top: 0;
  bottom: 0;
  left: -16px;
  margin: auto;
  background-image: url(../images/parts/management_system/icon_close.png);
}
.o-tableCompare.__style01 .o-tableCompare_td.__good01 {
  padding-right: 28px;
}
.o-tableCompare.__style01 .o-tableCompare_td.__good01:before {
  content: "";
  top: 0;
  bottom: 0;
  right: -16px;
  margin: auto;
  background-image: url(../images/parts/management_system/icon_check.png);
}

/* =========================================================
o-table -  options
============================================================*/
@media (max-width: 768px) {
  .o-table.__tinyMd {
    font-size: 10px !important;
  }
}

/* =========================================================
o-title -  var
============================================================*/
.o-titleCatch {
  position: relative;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  border-radius: 4px;
  color: white;
  background-color: #0C2538;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.3rem 1rem 0.4rem;
}
.o-titleCatch::after {
  position: absolute;
  content: "";
  bottom: -14px;
  left: 12px;
  border: 8px solid transparent;
  border-top: 8px solid #0C2538;
  width: 0;
  height: 0;
  border-radius: 4px;
}
.o-titleCatch.__center {
  margin-left: auto;
  margin-right: auto;
}
.o-titleCatch.__center::after {
  left: 0;
  right: 0;
  margin: auto;
}

.l-mvDesc__title {
  font-size: clamp(36px, 4.4vw, 52px);
  line-height: 1.4;
  letter-spacing: 1px;
  font-weight: 900;
}

/* =========================================================
o-title -  options
============================================================*/
.o-title {
  font-weight: 900 !important;
}
.o-title.__en {
  letter-spacing: 0.01rem;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
.o-title.__huge, .o-title.__huge.o-icon:before {
  font-size: clamp(36px, 4.4vw, 52px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-title.__big, .o-title.__big.o-icon:before {
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-title.__large, .o-title.__large.o-icon:before {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
}
.o-title.__title, .o-title.__title.o-icon:before {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}
.o-title.__title.__en {
  letter-spacing: 0.3rem;
}
.o-title.__p, .o-title.__p.o-icon:before {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}
.o-title.__postp, .o-title.__postp.o-icon:before {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}
.o-title.__mid, .o-title.__mid.o-icon:before {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
.o-title.__min, .o-title.__min.o-icon:before {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}
.o-title.__tiny, .o-title.__tiny.o-icon:before {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
}
.o-title.__mw01 {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}
.o-title.__mw02 {
  max-width: clamp(280px, 100%, 320px);
  margin-left: auto;
  margin-right: auto;
}
.o-title.__left {
  margin-left: inherit;
}
.o-title.__center {
  text-align: center;
}
.o-title.__w100 {
  width: 100%;
}
.o-title.__white {
  color: white;
}
.o-title.__gold {
  color: #D8A316;
}

/* =========================================================
o-title -  var
============================================================*/
/* =========================================================
o-text -  options
============================================================*/
.o-text.__bolder {
  font-weight: 900;
}
.o-text.__nobold {
  font-weight: 900;
}
.o-text.__en {
  letter-spacing: 0.01rem;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
.o-text.__big, .o-text.__big.o-icon:before {
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-text.__large, .o-text.__large.o-icon:before {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
}
.o-text.__title, .o-text.__title.o-icon:before {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}
.o-text.__title.__en {
  letter-spacing: 0.3rem;
}
.o-text.__postp, .o-text.__postp.o-icon:before {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}
.o-text.__p, .o-text.__p.o-icon:before {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}
.o-text.__mid, .o-text.__mid.o-icon:before {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
.o-text.__min, .o-text.__min.o-icon:before {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}
.o-text.__tiny, .o-text.__tiny.o-icon:before {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
}
.o-text.__smallest, .o-text.__smallest.o-icon:before {
  font-size: 10px;
}
.o-text.__mw01 {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}
.o-text.__mw02 {
  max-width: clamp(280px, 100%, 320px);
  margin-left: auto;
  margin-right: auto;
}
.o-text.__nobold {
  font-weight: normal;
}
.o-text.__left {
  text-align: left;
}
.o-text.__right {
  text-align: right;
}
.o-text.__center {
  text-align: center;
}
.o-text.__w100 {
  width: 100%;
}
.o-text.__block {
  display: block;
}
.o-text.__blue {
  color: #047AE3;
}
.o-text.__green {
  color: #2EB979;
}
.o-text.__yellow {
  color: #FFD800;
}
.o-text.__red {
  color: #B92E2D;
}
.o-text.__black {
  color: #0C2538;
}
.o-text.__gold {
  color: #D8A316;
}

/* =========================================================
o-car -  var
============================================================*/
.o-cart.alert i {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}

.o-cart.alert .__title {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  padding-bottom: 0px !important;
}

/* =========================================================
o-form -  var
============================================================*/
.o-formWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-bottom: 2rem;
}

.o-formItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media (max-width: 768px) {
  .o-formItem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.o-formItem.__separate01 {
  padding-bottom: 2rem;
  border-bottom: 1px solid #DEE7ED;
}

.o-formHead {
  min-width: 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 768px) {
  .o-formHead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
}

.o-formHead__badge {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.3rem 1rem;
  border-radius: 4px;
}
.o-formHead__badge.__required {
  color: white;
  background-color: #0C2538;
}
.o-formHead__badge.__check {
  color: white;
  background-color: #45b4eb;
}
.o-formHead__badge.__optional {
  color: #0C2538;
  background-color: #F2F5F8;
}

.o-formCont {
  width: 100%;
}

.o-formCont__item {
  width: 100%;
}
.o-formCont__item input::-webkit-input-placeholder, .o-formCont__item textarea::-webkit-input-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formCont__item input::-moz-placeholder, .o-formCont__item textarea::-moz-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formCont__item input:-ms-input-placeholder, .o-formCont__item textarea:-ms-input-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formCont__item input::-ms-input-placeholder, .o-formCont__item textarea::-ms-input-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formCont__item input::placeholder,
.o-formCont__item textarea::placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formCont__item textarea {
  width: 100% !important;
  min-height: 40vh;
}
.o-formCont__item input[type=text],
.o-formCont__item textarea,
.o-formCont__item select {
  position: relative;
  font-size: clamp(16px, 2.4vw, 1.6rem);
  width: 100%;
  padding: 3rem 2rem;
  border: 2px solid #DEE7ED;
  background-color: #F2F5F8;
  border-radius: 4px;
}
.o-formCont__item.__postalcode {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.o-formCont__item.__select {
  position: relative;
  width: 80%;
}
.o-formCont__item.__select::before {
  content: "▼";
  position: absolute;
  width: 40px;
  height: 40px;
  top: 0;
  bottom: 0;
  z-index: 1;
  right: 2rem;
  margin: auto;
}
.o-formCont__item.__checklist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.o-formCont__item.__address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.o-formCheckbox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  padding: 2rem 2rem;
  border: 2px solid #DEE7ED;
  cursor: pointer;
}
.o-formCheckbox input {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  position: relative;
  left: 0;
  width: 48px;
  height: 48px;
  border-radius: 4px;
  border: 2px solid #DEE7ED;
  background-color: #F2F5F8;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
.o-formCheckbox input:hover {
  border: 2px solid #047AE3;
}
.o-formCheckbox input::before {
  cursor: pointer;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 1;
  width: 70%;
  height: 70%;
  opacity: 0;
  border-radius: 4px;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  background: #047AE3;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}
.o-formCheckbox input:checked::before {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.o-formCheckbox__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}

.o-formCheckbox__text {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: normal;
}

.o-formChecklist {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  cursor: pointer;
}
.o-formChecklist input {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  position: relative;
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 100px;
  border: 2px solid #DEE7ED;
  background-color: #F2F5F8;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
.o-formChecklist input:hover {
  border: 2px solid #047AE3;
}
.o-formChecklist input::before {
  cursor: pointer;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 1;
  width: 70%;
  height: 70%;
  opacity: 0;
  border-radius: 100px;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  background: #047AE3;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}
.o-formChecklist input:checked::before {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.o-formBtn {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  padding: 4rem;
}

/* =========================================================
o-form -  メールアドレスのみの形
============================================================*/
.o-formEmailset {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 4px;
}
@media (max-width: 576px) {
  .o-formEmailset {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.o-formEmailset__input {
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  border: 2px solid #ECEFF2;
  background-color: #F3F5F7;
  border-radius: 4px 0 0 4px;
  font-size: clamp(16px, 2.4vw, 1.6rem);
  -webkit-box-shadow: 0 5px 0 #eceff2;
          box-shadow: 0 5px 0 #eceff2;
}
@media (max-width: 576px) {
  .o-formEmailset__input {
    padding: 3rem;
    border-radius: 4px 4px 0 0;
  }
}
.o-formEmailset__input::-webkit-input-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formEmailset__input::-moz-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formEmailset__input:-ms-input-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formEmailset__input::-ms-input-placeholder {
  color: rgba(12, 37, 56, 0.2);
}
.o-formEmailset__input::placeholder {
  color: rgba(12, 37, 56, 0.2);
}

.o-formEmailset__btn {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  border-radius: 0 4px 4px 0;
}
@media (max-width: 576px) {
  .o-formEmailset__btn {
    width: 100% !important;
    padding: 1rem !important;
    border-radius: 0 0 4px 4px;
  }
}

/* =========================================================
o-form -  フォーム以外のパーツ
============================================================*/
.o-formTelbox__item {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F8F9FA;
  padding: 2rem;
}

.o-formTelbox__title {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  text-align: center;
  font-weight: bolder !important;
  padding-bottom: 1rem !important;
}

.o-formTelbox__num {
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
  color: #047AE3;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}

/* =========================================================
o-product -  var
============================================================*/
.o-product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  /*アニメーション*/
  /*リストのアニメーション*/
}
.o-product.__5 .o-productItem {
  width: calc(20% - 0.8rem);
}
@media (max-width: 1080px) {
  .o-product.__5 .o-productItem {
    width: calc(25% - 0.8rem);
  }
}
@media (max-width: 991px) {
  .o-product.__5 .o-productItem {
    width: calc(33.333333% - 0.7rem);
  }
}
@media (max-width: 576px) {
  .o-product.__5 .o-productItem {
    width: calc(50% - 0.5rem);
  }
}
.o-product.__4 .o-productItem {
  width: calc(25% - 0.8rem);
}
@media (max-width: 991px) {
  .o-product.__4 .o-productItem {
    width: calc(33.333333% - 0.7rem);
  }
}
@media (max-width: 576px) {
  .o-product.__4 .o-productItem {
    width: calc(50% - 0.5rem);
  }
}
.o-product .o-productItem:nth-of-type(15n + 1) {
  opacity: 0;
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 1) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 2) {
  opacity: 0;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 2) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 3) {
  opacity: 0;
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 3) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 4) {
  opacity: 0;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 4) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 5) {
  opacity: 0;
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 5) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 6) {
  opacity: 0;
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 6) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 7) {
  opacity: 0;
  -webkit-animation-delay: 1.05s;
          animation-delay: 1.05s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 7) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1.05s;
          animation-delay: 1.05s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 8) {
  opacity: 0;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 8) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 9) {
  opacity: 0;
  -webkit-animation-delay: 1.35s;
          animation-delay: 1.35s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 9) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1.35s;
          animation-delay: 1.35s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 10) {
  opacity: 0;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 10) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 11) {
  opacity: 0;
  -webkit-animation-delay: 1.65s;
          animation-delay: 1.65s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 11) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1.65s;
          animation-delay: 1.65s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 12) {
  opacity: 0;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 12) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 13) {
  opacity: 0;
  -webkit-animation-delay: 1.95s;
          animation-delay: 1.95s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 13) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 1.95s;
          animation-delay: 1.95s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 14) {
  opacity: 0;
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 14) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-product .o-productItem:nth-of-type(15n + 15) {
  opacity: 0;
  -webkit-animation-delay: 2.25s;
          animation-delay: 2.25s;
}
.o-product.is-active .o-productItem:nth-of-type(15n + 15) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 2.25s;
          animation-delay: 2.25s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}

.o-productItem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .o-productItem {
    margin-bottom: 1rem;
  }
}

.o-productImg {
  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;
  position: relative;
  background-color: #fff;
  border: 3px solid #F2F5F8;
  border-radius: 4px;
  height: 20rem;
  padding: 0.5rem;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
@media (max-width: 768px) {
  .o-productImg {
    height: 16rem;
  }
}

.o-productImg__wrap {
  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;
}
.o-productImg__wrap img {
  width: 100%;
  height: 100%;
  max-width: 20rem;
  max-height: 15rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .o-productImg__wrap img {
    height: 13rem;
  }
}

.o-productItem__title {
  text-align: center;
  line-height: 1.5;
  padding-left: 0.3rem;
  padding-right: 0.3rem;
}

.o-productItem__badge {
  position: absolute;
  top: -12px;
  left: -3px;
  padding: 0.3rem 1rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  border-radius: 4px;
}
@media (max-width: 768px) {
  .o-productItem__badge {
    top: -6px;
    padding: 0.1 0.5rem 1rem 0.3rem;
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}
.o-productItem__badge.__limited {
  color: white;
  background-color: #D8A316;
}

.o-productItem__check {
  position: absolute;
  bottom: -6px;
  right: -6px;
  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: 1rem;
  padding: 0.3rem 1rem;
  width: 35px;
  height: 35px;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  text-align: right;
  border-radius: 4px;
  color: white;
  background-color: #0C2538;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.o-productItem:hover .o-productImg {
  border: 3px solid #0C2538;
}
.o-productItem:hover .o-productItem__check {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

/* =========================================================
o-overview -  var
============================================================*/
.o-overview {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: 900;
  display: -ms-grid;
  display: grid;
  margin-left: 54px;
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .o-overview {
    margin-left: 0px;
    font-size: clamp(13px, 1.5vw, 1.3rem);
    line-height: 1.3;
  }
}
@media (max-width: 576px) {
  .o-overview {
    margin-left: 0px;
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}
.o-overview.__2 {
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
}
.o-overview.__3 {
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.o-overviewHead {
  -ms-grid-column: 2;
  -ms-grid-column-span: 3;
  grid-column: 2/5;
  position: sticky;
  top: 110px;
  border-radius: 4px;
  z-index: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  text-align: center;
  line-height: 1.3;
}

.o-overviewHead__item {
  line-height: 1.8;
  color: white;
  background-color: #0C2538;
  padding: 1rem 1rem 2rem;
}
@media (max-width: 768px) {
  .o-overviewHead__item {
    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: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem 1rem 1.5rem;
  }
}
.o-overviewHead__item.__type01 {
  color: #45b4eb;
}
.o-overviewHead__item.__type02 {
  color: #047AE3;
}
.o-overviewHead__item.__type03 {
  color: #5662F5;
}

.o-overviewHead__itemCatch {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
@media (max-width: 768px) {
  .o-overviewHead__itemCatch {
    font-size: 10px;
  }
}

.o-overviewHead__itemTitle {
  color: white;
  line-height: 1;
}
@media (max-width: 768px) {
  .o-overviewHead__itemTitle span {
    display: none;
  }
}

.o-overviewCont {
  position: relative;
  text-align: center;
  -ms-grid-column: 1;
  -ms-grid-column-span: 4;
  grid-column: 1/5;
  display: -ms-grid;
  display: grid;
}

.o-overviewCont__cat {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-column: 1;
  -ms-grid-column-span: 4;
  grid-column: 1/5;
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  border-bottom: 1px solid #26455C;
}
@media (max-width: 768px) {
  .o-overviewCont__cat {
    padding-top: 40px;
  }
}
.o-overviewCont__cat:before {
  content: "";
  position: absolute;
  left: -54px;
  top: 0;
  bottom: 0;
  width: 54px;
  height: 100%;
  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;
  background-color: #F2F5F8;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: sideways;
}
@media (max-width: 768px) {
  .o-overviewCont__cat:before {
    left: 0;
    right: 0;
    width: 100%;
    height: 40px;
    -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
            writing-mode: inherit;
    text-orientation: inherit;
  }
}
.o-overviewCont__cat.__text::before {
  content: "テキスト";
}
.o-overviewCont__cat.__video::before {
  content: "動画講義";
}
.o-overviewCont__cat.__other::before {
  content: "その他";
}
.o-overviewCont__cat.__follow::before {
  content: "フォロー";
}
.o-overviewCont__cat.__money::before {
  content: none;
}
@media (max-width: 768px) {
  .o-overviewCont__cat.__money::before {
    content: "値段 (税引き / 税込)";
  }
}

.o-overviewCont__item {
  padding: 1rem 0;
  line-height: 2;
  border-top: 1px solid #F2F5F8;
}
.o-overviewCont__item.__title {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  line-height: 1.4;
  text-align: left;
  padding: 1rem;
}
@media (max-width: 768px) {
  .o-overviewCont__item.__title {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}
.o-overviewCont__item.__title span {
  display: block;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: normal;
}
@media (max-width: 768px) {
  .o-overviewCont__item.__title span {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}
.o-overviewCont__item.__title + .o-overviewCont__item {
  color: #45b4eb;
}
.o-overviewCont__item.__title + .o-overviewCont__item + .o-overviewCont__item {
  color: #047AE3;
}
.o-overviewCont__item:nth-of-type(4n) {
  color: #5662F5;
}

/* =========================================================
o-purchase -  base
============================================================*/
.o-purchase {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  margin-bottom: 4rem;
}
@media (max-width: 1080px) {
  .o-purchase {
    margin-bottom: 0px;
  }
}

.o-purchaseBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.o-purchaseBox__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  counter-increment: o-purchaseBox__step;
}
.o-purchaseBox__title::before {
  content: "手順" counter(o-purchaseBox__step);
  color: #047AE3;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
.o-purchaseBox__title:last-child::before {
  content: "最終手順";
}

/* 値段表記 */
.o-purchasePrice {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  text-align: center;
  padding: 2rem;
  background-color: #F2F5F8;
}

.o-purchasePrice__total {
  width: 100%;
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.4;
  letter-spacing: 1px;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
}
.o-purchasePrice__total span {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}

.o-purchasePrice__divide {
  width: 100%;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  padding-top: 2rem;
  border-top: 2px solid #fff;
}

.o-purchasePrice__divideTitle {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  display: block;
  font-weight: normal;
}

.o-purchasePrice__divideSub {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: normal;
}

.o-purchasePrice__btns {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
  width: 100%;
}

.o-purchasePrice__btnBuy {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: 900;
  padding: 3rem 1rem;
}

.o-purchasePrice__btnSample,
.o-purchasePrice__btnEstimate {
  padding: 0.5rem 0.5rem;
}

/* サイドの予備情報 */
.o-purchaseSupport {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  padding-top: 4rem;
  margin-top: 4rem;
  border-top: 6px solid #F2F5F8;
}
@media (max-width: 1080px) {
  .o-purchaseSupport {
    gap: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 2rem;
    margin-top: 2rem;
    border-top: 3px solid #F2F5F8;
  }
}
@media (max-width: 576px) {
  .o-purchaseSupport {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.o-purchaseSupport__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: calc(33.3333333% - 0.7rem);
}
@media (max-width: 1080px) {
  .o-purchaseSupport__box {
    width: calc(50% - 2rem);
  }
  .o-purchaseSupport__box.__support {
    width: 100%;
  }
}
@media (max-width: 576px) {
  .o-purchaseSupport__box {
    width: 100%;
  }
}

.o-purchaseSupport__title {
  position: relative;
  font-size: 900;
  padding-left: 48px;
}
.o-purchaseSupport__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  margin: auto;
  width: 36px;
  height: 36px;
  background-size: cover;
}

.o-purchaseSupport__cont {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  padding-left: 48px;
  font-weight: normal;
}
.o-purchaseSupport__cont p {
  padding-bottom: 0px;
}

.o-purchaseSupport__box.__return .o-purchaseSupport__title::before {
  background-image: url(../images/new_item/cart/cart_help_return.png);
}
.o-purchaseSupport__box.__secure .o-purchaseSupport__title::before {
  background-image: url(../images/new_item/cart/cart_help_secure.png);
}
.o-purchaseSupport__box.__support .o-purchaseSupport__title::before {
  background-image: url(../images/new_item/cart/cart_help_support.png);
}
.o-purchaseSupport__box.__payment .o-purchaseSupport__title::before {
  background-image: url(../images/new_item/cart/cart_help_payment.png);
}

/* フォーム周り */
.o-purchaseForm__select {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
  font-weight: 900;
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2rem;
  background-color: #F2F5F8;
  border: 3px solid #ECEFF2;
  border-radius: 4px;
  cursor: pointer;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
.o-purchaseForm__select:hover {
  border: 3px solid #0C2538;
}

.o-purchaseForm__radioInput {
  display: none;
}
.o-purchaseForm__radioInput:checked + .o-purchaseForm__radioLabel {
  color: white;
  background-color: #0C2538;
}

.o-purchaseForm__radioLabel {
  position: relative;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-weight: 900;
  text-align: center;
  padding: 2rem;
  height: 100%;
  background-color: #F2F5F8;
  border: 3px solid #ECEFF2;
  border-radius: 4px;
  -webkit-transition: color 0.3s, border 0.3s, background-color 0.3s;
  transition: color 0.3s, border 0.3s, background-color 0.3s;
  cursor: pointer;
}
@media (max-width: 768px) {
  .o-purchaseForm__radioLabel {
    padding: 1rem;
  }
}
.o-purchaseForm__radioLabel:hover {
  border: 3px solid #0C2538;
}
.o-purchaseForm__radioLabel:hover::before {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.o-purchaseForm__radioLabel i:before {
  margin: 0px;
}

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

.o-purchaseForm__unit {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}

/* =========================================================
o-purchase -  var
============================================================*/
/* フォーム周り */
.o-purchaseForm.__amount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.o-purchaseForm.__course, .o-purchaseForm.__type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  /* アニメーション */
}
.o-purchaseForm.__course .o-purchaseForm__radio, .o-purchaseForm.__type .o-purchaseForm__radio {
  width: calc(50% - 0.25rem);
}
.o-purchaseForm.__course .o-purchaseForm__radio:first-of-type, .o-purchaseForm.__type .o-purchaseForm__radio:first-of-type {
  width: 100%;
}
.o-purchaseForm.__course .o-purchaseForm__radio:first-of-type .o-purchaseForm__radioLabel::before, .o-purchaseForm.__type .o-purchaseForm__radio:first-of-type .o-purchaseForm__radioLabel::before {
  content: "人気";
  position: absolute;
  top: -10px;
  right: -10px;
  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;
  width: 40px;
  height: 40px;
  color: #0C2538 !important;
  letter-spacing: 0px;
  font-size: 14px;
  border-radius: 12px;
  background-color: #FFD800;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  opacity: 0;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
}
.o-purchaseForm.__course.is-active .o-purchaseForm__radioLabel::before, .o-purchaseForm.__type.is-active .o-purchaseForm__radioLabel::before {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-name: rotateScale;
          animation-name: rotateScale;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-purchaseForm.__course .o-purchaseForm__radioLabel::after, .o-purchaseForm.__type .o-purchaseForm__radioLabel::after {
  content: "教育給付金対象";
  position: relative;
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  color: #45b4eb;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.3rem 1rem;
  border: 1px solid #45b4eb;
  border-radius: 100px;
}
.o-purchaseForm.__course .o-purchaseForm__radioLabel.__nokyuhu::after, .o-purchaseForm.__type .o-purchaseForm__radioLabel.__nokyuhu::after {
  content: none;
}
.o-purchaseForm.__course .o-purchaseForm__radio:not(:first-of-type) .o-purchaseForm__radioLabel::after {
  content: none;
}
.o-purchaseForm.__vertical .o-purchaseForm__radio {
  width: 100%;
}
.o-purchaseForm.__nopopular .o-purchaseForm__radioLabel::before {
  content: none !important;
}

/* =========================================================
o-list -  var
============================================================*/
/* テーブルなどにつく注意事項箇条書き */
.o-list.__attention01 li {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: normal;
  list-style: circle;
}
.o-list.__attention01 li:before {
  content: none;
}

/* =========================================================
o-modal -  js style
============================================================*/
.modaal-container {
  position: relative;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
  padding-left: 129px;
  padding-right: 129px;
  border-radius: 12px;
}
@media (max-width: 1360px) {
  .modaal-container {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (max-width: 1280px) {
  .modaal-container {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 768px) {
  .modaal-container {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.modaal-content-container {
  padding: 0px;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

@media (max-width: 768px) {
  .modaal-inner-wrapper {
    padding: 2rem;
  }
}

@media (max-width: 768px) {
  .modaal-close {
    top: inherit;
    right: 0;
    bottom: 20px;
    border-radius: 4px;
    background: #0C2538 !important;
    width: 64px;
    height: 64px;
  }
  .modaal-close:before, .modaal-close:after {
    width: 1px;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}

/* =========================================================
o-modal -  options
============================================================*/
/* =========================================================
o-review -  var
============================================================*/
/* =========================================================
o-reviewDesc - topに設置しているセクション
============================================================*/
.o-reviewDesc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  max-width: 700px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
}
@media (max-width: 576px) {
  .o-reviewDesc {
    gap: 1rem;
    margin-bottom: 2rem;
  }
}
.o-reviewDesc.__withicon {
  position: relative;
  /*アニメーション*/
}
.o-reviewDesc.__withicon::before, .o-reviewDesc.__withicon::after {
  content: "";
  position: absolute;
  top: 150px;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-size: contain;
  width: 84px;
  height: 145px;
}
@media (max-width: 991px) {
  .o-reviewDesc.__withicon::before, .o-reviewDesc.__withicon::after {
    width: 64px;
    height: 115px;
    top: 100px;
  }
}
@media (max-width: 576px) {
  .o-reviewDesc.__withicon::before, .o-reviewDesc.__withicon::after {
    width: 44px;
    height: 75px;
    top: -140px;
  }
}
.o-reviewDesc.__withicon::before {
  background-image: url("../images/v4/denken3/icon-review01.webp");
  left: -114px;
}
@media (max-width: 991px) {
  .o-reviewDesc.__withicon::before {
    left: 16px;
  }
}
.o-reviewDesc.__withicon::after {
  background-image: url("../images/v4/denken3/icon-review02.webp");
  right: -114px;
}
@media (max-width: 991px) {
  .o-reviewDesc.__withicon::after {
    right: 16px;
  }
}
.o-reviewDesc.__withicon::before, .o-reviewDesc.__withicon::after {
  opacity: 0;
}
.o-reviewDesc.__withicon::before {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.o-reviewDesc.__withicon::after {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.o-reviewDesc.__withicon.is-active::before, .o-reviewDesc.__withicon.is-active::after {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: scaleRotate;
          animation-name: scaleRotate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (max-width: 768px) {
  .o-reviewDesc.__withicon.is-active::before, .o-reviewDesc.__withicon.is-active::after {
    -webkit-animation-name: fadeinTop;
            animation-name: fadeinTop;
  }
}

.o-reviewDesc__img {
  position: relative;
  margin-top: 20px;
  padding-left: 16px;
  padding-right: 16px;
}
@media (max-width: 576px) {
  .o-reviewDesc__img {
    padding-left: 4px;
    padding-right: 4px;
  }
}
.o-reviewDesc__img::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -10px;
  left: 0;
  right: 0;
  width: 100%;
  height: 120px;
  border-radius: 12px;
  background: -webkit-gradient(linear, left top, left bottom, from(#432A2A), to(#291A1A));
  background: linear-gradient(to bottom, #432A2A, #291A1A);
}
@media (max-width: 768px) {
  .o-reviewDesc__img::before {
    top: -10px;
    height: 80px;
  }
}
@media (max-width: 1080px) {
  .o-reviewDesc__img img {
    height: auto;
  }
}

/* =========================================================
o-reviewUl リスト表示
============================================================*/
.o-reviewUl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 4rem;
  /*リストのアニメーション*/
}
@media (max-width: 576px) {
  .o-reviewUl {
    margin-bottom: 2rem;
  }
}
.o-reviewUl .o-reviewUl__li:nth-of-type(6n + 1) {
  opacity: 0;
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
}
.o-reviewUl.is-active .o-reviewUl__li:nth-of-type(6n + 1) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-reviewUl .o-reviewUl__li:nth-of-type(6n + 2) {
  opacity: 0;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.o-reviewUl.is-active .o-reviewUl__li:nth-of-type(6n + 2) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-reviewUl .o-reviewUl__li:nth-of-type(6n + 3) {
  opacity: 0;
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}
.o-reviewUl.is-active .o-reviewUl__li:nth-of-type(6n + 3) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-reviewUl .o-reviewUl__li:nth-of-type(6n + 4) {
  opacity: 0;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.o-reviewUl.is-active .o-reviewUl__li:nth-of-type(6n + 4) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-reviewUl .o-reviewUl__li:nth-of-type(6n + 5) {
  opacity: 0;
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
}
.o-reviewUl.is-active .o-reviewUl__li:nth-of-type(6n + 5) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-reviewUl .o-reviewUl__li:nth-of-type(6n + 6) {
  opacity: 0;
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.o-reviewUl.is-active .o-reviewUl__li:nth-of-type(6n + 6) {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}

.o-reviewUl__li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding: 2rem;
  width: calc(33.3333333333% - 0.7rem);
  background-color: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
          box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
}
@media (max-width: 991px) {
  .o-reviewUl__li {
    width: calc(50% - 0.7rem);
  }
}
@media (max-width: 576px) {
  .o-reviewUl__li {
    width: 100%;
  }
}
.o-reviewUl__li:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.o-reviewUl__li:hover .o-reviewUl__title {
  color: #047AE3;
}

.o-reviewUl__title {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  line-height: 1.6;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.o-reviewUl__info {
  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;
  gap: 0.3rem;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

.o-reviewUl__infoImg {
  width: 58px;
  height: 58px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100px;
}

.o-reviewUl__infoName {
  font-size: 11px;
  color: #26455C;
  font-weight: normal;
}

/* =========================================================
o-reviewModal
============================================================*/
/* モーダルないのレビュー */
.o-reviewModal__item:not(:last-of-type) {
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 3px solid #DEE7ED;
}

.o-reviewModal__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.o-reviewModal__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  color: #047AE3;
}
@media (max-width: 768px) {
  .o-reviewModal__title {
    gap: 1rem;
  }
}
@media (max-width: 576px) {
  .o-reviewModal__title {
    font-size: clamp(15px, 2.4vw, 1.6rem);
    line-height: 1.9;
  }
}

.o-reviewModal__img {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 80px;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100px;
}

.o-reviewModal__text {
  padding-bottom: 0 !important;
  overflow-wrap: anywhere;
  word-break: break-all;
}

.o-reviewModal__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .o-reviewModal__desc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.o-reviewModal__descName {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
@media (max-width: 768px) {
  .o-reviewModal__descName {
    width: 100%;
    text-align: right;
    margin-bottom: 1rem;
  }
}

.o-reviewModal__video {
  display: none;
}

/* =========================================================
o-bread -  var
============================================================*/
.o-bread {
  font-size: 11px;
  margin-top: clamp(1rem, 4vw, 2rem);
  margin-bottom: clamp(1rem, 4vw, 2rem);
}

.o-breadUl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overflow: auto;
  white-space: nowrap;
}

.o-breadUl__li {
  display: inline;
  opacity: 0.25;
}
.o-breadUl__li:hover {
  opacity: 1;
}
.o-breadUl__li:not(:first-of-type) {
  padding-left: 0.5rem;
}
.o-breadUl__li > a, .o-breadUl__li > span {
  color: #0C2538;
}
.o-breadUl__li a {
  text-decoration: underline;
  margin-right: 0.5rem;
}
.o-breadUl__li a:hover {
  text-decoration: none;
}

/* =========================================================
o-bread -  options
============================================================*/
/* =========================================================
o-sample -  var
============================================================*/
.o-sampleForm::before {
  content: "資料請求フォーム";
  position: absolute;
  top: -1.8rem;
  left: 0;
  right: 0;
  margin: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 1rem 4rem;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  color: white;
  background-color: #0C2538;
  border-radius: 4px;
}

.o-contactForm.__badge::before {
  content: "資料請求フォーム";
  position: absolute;
  top: -1.8rem;
  left: 0;
  right: 0;
  margin: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 1rem 4rem;
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
  color: white;
  background-color: #0C2538;
  border-radius: 4px;
}
.o-contactForm.__contact01::before {
  content: "お問い合わせフォーム";
}

/* =========================================================
o-support -  var
============================================================*/
.o-support {
  background-color: #F2F5F8;
}
.o-support.__bg01 {
  background-color: #0C2538;
}
.o-support.__bg02 {
  background-color: #01263A;
}

.o-supportWrap {
  padding-top: clamp(6rem, 4vw, 8rem);
  padding-bottom: clamp(6rem, 4vw, 8rem);
}
.o-supportWrap.__bgimg01 {
  position: relative;
  margin-top: 300px;
  /*アニメーション*/
}
.o-supportWrap.__bgimg01::before {
  content: "";
  background-image: url("../images/v4/common/support/bg-support01.webp");
  background-repeat: no-repeat;
  max-width: 740px;
  max-height: 460px;
  width: 100%;
  height: 100%;
  background-size: contain;
  position: absolute;
  right: 0;
  top: -200px;
  /*アニメーション*/
  opacity: 0;
}
.o-supportWrap.__bgimg01.is-active::before {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (max-width: 991px) {
  .o-supportWrap.__bgimg01 {
    margin-top: 200px;
  }
  .o-supportWrap.__bgimg01::before {
    top: -100px;
    max-width: 520px;
  }
}
@media (max-width: 768px) {
  .o-supportWrap.__bgimg01 {
    margin-top: 200px;
  }
  .o-supportWrap.__bgimg01::before {
    top: -100px;
    max-width: 420px;
  }
}
@media (max-width: 576px) {
  .o-supportWrap.__bgimg01 {
    overflow-x: clip;
    margin-top: 160px;
  }
  .o-supportWrap.__bgimg01::before {
    top: -60px;
    right: 0;
    max-width: 420px;
  }
}
@media (max-width: 576px) {
  .o-supportWrap.__bgimg01 {
    overflow-x: clip;
    margin-top: 100px;
  }
  .o-supportWrap.__bgimg01::before {
    top: -30px;
    max-width: 320px;
  }
}

.o-supportTitle {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
  margin-bottom: 3rem;
  /*アニメーション*/
}
@media (max-width: 768px) {
  .o-supportTitle {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1rem;
    margin-bottom: 2rem;
  }
}
.o-supportTitle.__white {
  color: white;
}
.o-supportTitle.is-active .o-supportTitle__badge {
  opacity: 0;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-name: scaleUp;
          animation-name: scaleUp;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}

.o-supportTitle__badge {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  position: relative;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5rem 1rem;
  color: white;
  border-radius: 4px;
}
.o-supportTitle__badge::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: -12px;
  margin: auto;
  border: 8px solid transparent;
  border-left: 8px solid #0C2538;
  width: 0;
  height: 0;
  border-radius: 4px;
}
@media (max-width: 768px) {
  .o-supportTitle__badge::after {
    content: none;
  }
}
.o-supportTitle__badge.__blue {
  background: -webkit-gradient(linear, left top, right top, from(#047ae3), to(#45b4eb));
  background: linear-gradient(to right, #047ae3, #45b4eb);
}
.o-supportTitle__badge.__blue::after {
  border-left: 8px solid #45b4eb;
}
.o-supportTitle__badge.__gold {
  background: -webkit-gradient(linear, left top, right top, from(#c3ab67), to(#96793A));
  background: linear-gradient(to right, #c3ab67, #96793A);
}
.o-supportTitle__badge.__gold::after {
  border-left: 8px solid #96793A;
}

.o-supportTitle__subcopy {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
}

.o-supportBox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2rem;
  margin-bottom: 4rem;
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
}
@media (max-width: 768px) {
  .o-supportBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.o-supportBox.__reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .o-supportBox.__reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 768px) {
  .o-supportBox.__kyuhu, .o-supportBox.__houjin {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.o-supportDesc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.o-supportDesc p, .o-supportDesc ul, .o-supportDesc ol {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: normal;
}
.o-supportDesc li:not(:last-of-type) {
  padding-bottom: 0.75rem;
}
.o-supportDesc ol {
  padding-top: 2rem;
  position: relative;
}
.o-supportDesc ol::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background-color: #F2F5F8;
}
.o-supportDesc ol li {
  padding-left: 4rem;
  counter-increment: o-post_ol;
}
.o-supportDesc ol li:before {
  position: absolute;
  left: 0;
  content: counter(o-post_ol);
  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;
  border-radius: 4px;
  background-color: #0C2538;
  color: white;
  font-family: "Roboto", sans-serif, Meiryo, sans-serif;
  font-weight: 900;
  text-align: center;
  width: 30px;
  height: 30px;
  margin-top: 2px;
}

.o-supportDesc__title {
  font-size: clamp(21px, 2.5vw, 2.4rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .o-supportDesc__title {
    font-size: clamp(19px, 2vw, 1.9rem);
    line-height: 1.4;
  }
}
.o-supportDesc__title.__supportBadge {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /*アニメーション*/
}
.o-supportDesc__title.__supportBadge::before {
  content: "";
  background-image: url("../images/v4/common/support/badge-support01.webp");
  background-size: contain;
  background-repeat: no-repeat;
  width: 63.5px;
  height: 58px;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /*アニメーション*/
  opacity: 0;
  -webkit-perspective: 63;
          perspective: 63;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (max-width: 768px) {
  .o-supportDesc__title.__supportBadge::before {
    width: 53.5px;
    height: 48px;
  }
}
.o-supportDesc__title.__supportBadge.__02::before {
  background-image: url("../images/v4/common/support/badge-support02.webp");
}
.o-supportDesc__title.__supportBadge.__03::before {
  background-image: url("../images/v4/common/support/badge-support03.webp");
}
.o-supportDesc__title.__supportBadge.is-active::before {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-name: scaleRotate;
          animation-name: scaleRotate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (max-width: 768px) {
  .o-supportDesc__title.__supportBadge.is-active::before {
    -webkit-animation-name: fadeinTop;
            animation-name: fadeinTop;
  }
}

.o-supportDesc__btn {
  padding: 2rem;
}
@media (max-width: 768px) {
  .o-supportDesc__btn {
    width: 100% !important;
    text-align: center;
  }
}

.o-supportImg {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  max-width: 380px;
}
@media (max-width: 1280px) {
  .o-supportImg {
    max-width: 300px;
  }
}

/* =========================================================
o-support -  options
============================================================*/
/* =========================================================
o-difference -  var
============================================================*/
.o-differenceDesc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  max-width: 360px;
}
@media (max-width: 1080px) {
  .o-differenceDesc {
    text-align: center;
  }
  .o-differenceDesc ul {
    text-align: left;
  }
}

@media (max-width: 1080px) {
  .o-differenceDesc__catch {
    max-width: inherit;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .o-differenceDesc__catch::after {
    left: 0;
    right: 0;
    margin: auto;
  }
}

.o-differenceFig {
  position: relative;
  width: 100%;
  max-width: 800px;
  height: 100%;
  padding: 4rem;
  aspect-ratio: 1/1;
}
@media (max-width: 576px) {
  .o-differenceFig {
    padding: 2rem;
  }
}
@media (max-width: 500px) {
  .o-differenceFig {
    padding: 0;
  }
}
.o-differenceFig::before, .o-differenceFig::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}
.o-differenceFig::before {
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 100%;
}
.o-differenceFig::after {
  background-image: url(../images/v4/denken3/bg-difference01.webp);
  background-repeat: no-repeat;
  background-position: right;
  background-size: cover;
  left: inherit;
  right: -50%;
  width: 100%;
  height: 110%;
  border-radius: 12px;
  z-index: -1;
}
@media (max-width: 1080px) {
  .o-differenceFig::after {
    background-position: center;
    top: -10%;
    left: 0;
    right: 0;
    width: 100%;
    height: 50%;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@media (max-width: 768px) {
  .o-differenceFig::after {
    height: 45%;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@media (max-width: 576px) {
  .o-differenceFig::after {
    height: 50%;
    top: -13%;
  }
}
@media (max-width: 420px) {
  .o-differenceFig::after {
    height: 40%;
    top: -20%;
  }
}
.o-differenceFig::after, .o-differenceFig::before {
  opacity: 0;
}
.o-differenceFig.is-active::before {
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-name: scaleUp;
          animation-name: scaleUp;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-differenceFig.is-active::after {
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}

.o-differenceFig__wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.o-differenceFig__wrap::before, .o-differenceFig__wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}
.o-differenceFig__wrap::before {
  background-image: url(../images/v4/denken3/fig-difference01.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: -100px;
  max-width: 500px;
  max-height: 500px;
}
@media (max-width: 1280px) {
  .o-differenceFig__wrap::before {
    max-width: 400px;
    max-height: 400px;
  }
}
@media (max-width: 768px) {
  .o-differenceFig__wrap::before {
    max-width: 300px;
    max-height: 300px;
  }
}
@media (max-width: 576px) {
  .o-differenceFig__wrap::before {
    top: -50px;
    max-width: 230px;
    max-height: 230px;
  }
}
.o-differenceFig__wrap::after {
  width: 70%;
  height: 70%;
  border: 6px dotted #FFD800;
  border-radius: 100%;
}
.o-differenceFig__wrap::after {
  opacity: 0;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: opacity cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  transition: opacity cubic-bezier(0.36, 1.25, 1, 1) 0.3s;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.o-differenceFig__wrap::before {
  opacity: 0;
}
.o-differenceFig__wrap.is-active::before {
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
  -webkit-animation-name: fadeinTop;
          animation-name: fadeinTop;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.o-differenceFig__wrap.is-active::after {
  opacity: 1;
  -webkit-animation-duration: 36s;
          animation-duration: 36s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-name: rotate;
          animation-name: rotate;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

.o-differenceFig__img {
  position: absolute;
  z-index: 1;
  max-width: 280px;
  opacity: 0;
}
@media (max-width: 1280px) {
  .o-differenceFig__img {
    max-width: 240px;
  }
}
@media (max-width: 1080px) {
  .o-differenceFig__img {
    max-width: 280px;
  }
}
@media (max-width: 768px) {
  .o-differenceFig__img {
    max-width: 210px;
  }
}
@media (max-width: 576px) {
  .o-differenceFig__img {
    max-width: 190px;
  }
}
@media (max-width: 500px) {
  .o-differenceFig__img {
    max-width: 160px;
  }
}
@media (max-width: 420px) {
  .o-differenceFig__img {
    max-width: 152px;
  }
}
.o-differenceFig__img.__01 {
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media (max-width: 500px) {
  .o-differenceFig__img.__01 {
    top: 2rem;
  }
}
@media (max-width: 420px) {
  .o-differenceFig__img.__01 {
    top: 0;
  }
}
.o-differenceFig__img.__02 {
  bottom: 7rem;
  left: 0;
  margin: auto;
}
@media (max-width: 500px) {
  .o-differenceFig__img.__02 {
    left: 2rem;
    bottom: 5rem;
  }
}
@media (max-width: 420px) {
  .o-differenceFig__img.__02 {
    left: 0;
    bottom: 4rem;
  }
}
.o-differenceFig__img.__03 {
  bottom: 7rem;
  right: 0;
  margin: auto;
}
@media (max-width: 500px) {
  .o-differenceFig__img.__03 {
    right: 2rem;
    bottom: 5rem;
  }
}
@media (max-width: 420px) {
  .o-differenceFig__img.__03 {
    right: 0;
    bottom: 4rem;
  }
}
.o-differenceFig__img.is-active {
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-delay: 1.7s;
          animation-delay: 1.7s;
  -webkit-animation-name: rotateScale;
          animation-name: rotateScale;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.o-differenceFig__img.is-active.__02 {
  -webkit-animation-delay: 2.3s;
          animation-delay: 2.3s;
}
.o-differenceFig__img.is-active.__03 {
  -webkit-animation-delay: 2.9s;
          animation-delay: 2.9s;
}

/* =========================================================
o-difference -  options
============================================================*/
/* =========================================================
o-strength -  var
============================================================*/
.o-strength {
  counter-reset: o-strengthBox;
  overflow: hidden;
}

@media (max-width: 1080px) {
  .o-strengthBox__text {
    margin-bottom: 0;
    font-size: clamp(14px, 1.5vw, 1.4rem);
    line-height: 1.8;
  }
}
@media (max-width: 768px) {
  .o-strengthBox__text {
    text-align: left !important;
  }
}

.o-strengthBox {
  height: auto;
  margin-bottom: 20vh;
}
@media (max-width: 1080px) {
  .o-strengthBox {
    margin-bottom: 15vh;
  }
}
@media (max-width: 576px) {
  .o-strengthBox {
    margin-bottom: 10vh;
  }
}
.o-strengthBox:last-of-type {
  margin-bottom: 0;
}

.o-strengthBox__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  width: 100%;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.o-strengthBox__wrap::before {
  content: "" counter(o-strengthBox);
  counter-increment: o-strengthBox;
  position: absolute;
  top: 20px;
  left: -100px;
  color: rgba(230, 241, 252, 0.5);
  font-size: 308px;
  z-index: -1;
}
@media (max-width: 1080px) {
  .o-strengthBox__wrap::before {
    font-size: 12rem;
    top: -32px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

.o-strengthRelate__tip {
  position: absolute;
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  max-width: 160px;
  right: -10rem;
  bottom: 4rem;
  z-index: 1;
}
@media (max-width: 1080px) {
  .o-strengthRelate__tip {
    width: 100%;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    right: 0;
    bottom: 3rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (max-width: 576px) {
  .o-strengthRelate__tip {
    max-width: 31rem;
  }
}
.o-strengthRelate__tip:hover .o-strengthRelate__tipBallon::after {
  -webkit-filter: brightness(1.3);
          filter: brightness(1.3);
}
.o-strengthRelate__tip:hover .o-strengthRelate__tipBallon::before {
  -webkit-filter: brightness(1.3);
          filter: brightness(1.3);
  -webkit-box-shadow: 0 0 17px rgba(12, 37, 56, 0.2);
          box-shadow: 0 0 17px rgba(12, 37, 56, 0.2);
}
.o-strengthRelate__tip:hover .o-strengthRelate__tipBallon__img.__arrow01 {
  position: relative;
}
.o-strengthRelate__tip:hover .o-strengthRelate__tipBallon__img.__arrow01::after {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.o-strengthRelate__tipBallon {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  font-size: 10px;
  position: relative;
  padding: 2rem 1rem;
  color: white;
  border-radius: 4px;
  text-align: center;
  /* アニメーション */
  opacity: 0;
}
@media (max-width: 1080px) {
  .o-strengthRelate__tipBallon {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}
.o-strengthRelate__tipBallon::after {
  position: absolute;
  content: "";
  bottom: -20px;
  right: 12px;
  border: 12px solid transparent;
  border-top: 12px solid #0C2538;
  width: 0;
  height: 0;
  border-radius: 4px;
  -webkit-filter: brightness(1);
          filter: brightness(1);
  -webkit-transition: -webkit-box-shadow 0.3s, -webkit-filter 0.3s;
  transition: -webkit-box-shadow 0.3s, -webkit-filter 0.3s;
  transition: box-shadow 0.3s, filter 0.3s;
  transition: box-shadow 0.3s, filter 0.3s, -webkit-box-shadow 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 1080px) {
  .o-strengthRelate__tipBallon::after {
    right: -20px;
    bottom: 0;
    top: 0;
    margin: auto;
    border-left: 12px solid #0C2538;
    border-top: 12px solid transparent;
  }
}
@media (max-width: 576px) {
  .o-strengthRelate__tipBallon::after {
    content: none;
  }
}
.o-strengthRelate__tipBallon::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #0C2538;
  border-radius: 4px;
  top: inherit;
  height: 70%;
  z-index: -1;
  -webkit-box-shadow: 0 0 17px rgba(12, 37, 56, 0);
          box-shadow: 0 0 17px rgba(12, 37, 56, 0);
  -webkit-filter: brightness(1);
          filter: brightness(1);
  -webkit-transition: -webkit-box-shadow 0.3s, -webkit-filter 0.3s;
  transition: -webkit-box-shadow 0.3s, -webkit-filter 0.3s;
  transition: box-shadow 0.3s, filter 0.3s;
  transition: box-shadow 0.3s, filter 0.3s, -webkit-box-shadow 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 1080px) {
  .o-strengthRelate__tipBallon::before {
    height: 6rem;
    top: 0;
  }
}
.o-strengthRelate__tipBallon.is-active {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (min-width: 1081px) {
  .o-strengthRelate__tipBallon {
    opacity: 0;
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
  }
  .o-strengthRelate__tipBallon.is-active {
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 0.8s;
            animation-delay: 0.8s;
    -webkit-animation-name: rotateScale;
            animation-name: rotateScale;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
            animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
  }
}

.o-strengthRelate__tipBallon__img.__arrow01 {
  position: relative;
}
.o-strengthRelate__tipBallon__img.__arrow01::after {
  content: "\f061";
  font-family: "FontAwesome";
  position: absolute;
  bottom: 0;
  right: 0;
  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;
  width: 33px;
  height: 33px;
  color: white;
  background: -webkit-gradient(linear, left top, right bottom, from(#047ae3), to(#45b4eb));
  background: linear-gradient(to right bottom, #047ae3, #45b4eb);
  border-radius: 100px;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.o-strengthRelate__tipBallon__imgWrap.__circle01 {
  width: 90px;
  height: 90px;
  border-radius: 100px;
  overflow: hidden;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.o-strengthRelate__tipBallon__imgWrap img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
  max-width: 100px;
}

.o-strengthRelate__tipBallon__desc {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
@media (max-width: 1080px) {
  .o-strengthRelate__tipBallon__desc {
    gap: 0;
  }
}

.o-strengthRelate__tipBallon__title {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
}
@media (max-width: 1080px) {
  .o-strengthRelate__tipBallon__title {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: clamp(14px, 1.5vw, 1.4rem);
    line-height: 1.8;
    text-align: center;
  }
}

.o-strengthRelate__tipIcon {
  width: 82px;
  height: 90px;
  /* アニメーション */
  opacity: 0;
}
@media (max-width: 576px) {
  .o-strengthRelate__tipIcon {
    display: none;
  }
}
.o-strengthRelate__tipIcon.is-active {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-name: fadeinLeft;
          animation-name: fadeinLeft;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
          animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-strengthRelate__tipIcon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.o-strengthPagination {
  position: fixed;
  left: -100px;
  top: 50%;
  font-size: 1em;
  z-index: 10;
  list-style: none;
  -webkit-transition: left 0.3s;
  transition: left 0.3s;
}
.o-strengthPagination a {
  display: block;
  height: 20px;
  margin-bottom: 5px;
  color: #DEE7ED;
  position: relative;
  padding: 4px;
}
.o-strengthPagination a::after {
  -webkit-transition: box-shadow 0.5s ease;
  -webkit-transition: -webkit-box-shadow 0.5s ease;
  transition: -webkit-box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease, -webkit-box-shadow 0.5s ease;
  width: 10px;
  height: 10px;
  display: block;
  border: 1px solid;
  border-radius: 50%;
  color: #DEE7ED;
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  right: 3px;
  bottom: 0;
}
.o-strengthPagination a.active:after {
  color: #047AE3;
  -webkit-box-shadow: inset 0 0 0 5px;
          box-shadow: inset 0 0 0 5px;
}

/*現在地表示のテキストの設定*/
.o-strengthPagination a .hover-text {
  display: none;
}

/*768px以下は現在地表示のテキストを非表示*/
@media screen and (max-width: 768px) {
  .pagination a .hover-text {
    display: none;
  }
}
/* ==== youtube ==== */
.o-strengthBox__video {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.o-strengthBox__video iframe,
.o-strengthBox__video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 3px 17px rgba(22, 44, 64, 0.33);
          box-shadow: 0 3px 17px rgba(22, 44, 64, 0.33);
}

.o-strengthBox.is-shown .o-strengthPagination {
  left: 100px;
}

.pager {
  position: sticky;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding: 0;
}
.pager li {
  display: block;
  margin: 20px;
}
.pager li a {
  display: block;
  width: 10px;
  height: 10px;
  background: #F2F5F8;
  border: 1px solid #DEE7ED;
  border-radius: 50%;
}
.pager .is-current a {
  background: #047AE3;
}

/* =========================================================
o-strength -  options
============================================================*/
/*------------------------------------------
* o-icon
------------------------------------------*/
/* ==== ヘッダーの通知 ==== */
.o-noticeHead {
  width: 100%;
  background: #F2F5F8;
  border: 1px solid #fff;
}

.o-noticeHead__item {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem 1rem;
  margin: auto;
}
.o-noticeHead__item:hover .o-noticeHead__title {
  color: #047AE3;
}
.o-noticeHead__item:hover .o-noticeHead__title::after {
  color: white;
  background-color: #047AE3;
}

.o-noticeHead__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  line-height: 1.3;
  font-weight: 900;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.o-noticeHead__title::after {
  content: "\f061";
  font-size: 10px;
  font-family: "FontAwesome";
  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;
  background-color: #fff;
  border-radius: 100px;
  padding: 5px;
  -webkit-transition: color 0.3s, background-color 0.3s;
  transition: color 0.3s, background-color 0.3s;
  aspect-ratio: 1/1;
  height: 12px;
}

.o-noticeHead__titleBadge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.o-noticeHead__titleBadge__item {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  padding: 0.3rem 0.8rem;
  letter-spacing: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  white-space: pre;
}
.o-noticeHead__titleBadge__item:first-of-type {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.o-noticeHead__titleBadge__item:last-of-type {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.o-noticeHead__titleBadge__item.__campaign {
  color: #0C2538;
  background-color: #FFD800;
}
.o-noticeHead__titleBadge__item.__sub {
  font-size: 10px;
  color: white;
  background-color: #0C2538;
}
@media (max-width: 576px) {
  .o-noticeHead__titleBadge__item.__sub {
    display: none;
  }
}

/* ==== バナースタイル ==== */
.o-noticeBnr {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 480px;
  margin: auto;
  -webkit-box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
          box-shadow: 3px 3px 24px rgba(5, 10, 70, 0.11);
  padding: 1rem 2rem;
  border-radius: 12px;
  background-color: #fff;
  border: 3px solid #FFD800;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
.o-noticeBnr:hover {
  border: 3px solid transparent;
}
.o-noticeBnr:hover::after,
.o-noticeBnr:hover .o-noticeBnr__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.o-noticeBnr::after {
  content: "\f061";
  font-size: 13px;
  font-family: "FontAwesome";
  position: absolute;
  bottom: -1px;
  right: -1px;
  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;
  background-color: #FFD800;
  border: 3px solid transparent;
  border-radius: 12px 0 12px 0;
  padding: 5px;
  -webkit-transition: color 0.3s, background-color 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background-color 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background-color 0.3s, transform 0.3s;
  transition: color 0.3s, background-color 0.3s, transform 0.3s, -webkit-transform 0.3s;
  aspect-ratio: 1/1;
  height: 18px;
  color: #0C2538;
}

.o-noticeBnr__badge {
  position: absolute;
  z-index: 1;
  top: -1.3rem;
  left: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.o-noticeBnr__badgeItem {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  padding: 0.3rem 0.8rem;
  letter-spacing: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.o-noticeBnr__badgeItem:first-of-type {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.o-noticeBnr__badgeItem:last-of-type {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.o-noticeBnr__badgeItem.__campaign {
  color: #0C2538;
  background-color: #FFD800;
}
.o-noticeBnr__badgeItem.__sub {
  font-size: 10px;
  color: white;
  background-color: #0C2538;
}

.o-noticeBnr__title {
  font-size: clamp(14px, 3vw, 1.7rem);
  line-height: 1.5;
  line-height: 1.3;
  color: #0C2538;
}
@media (max-width: 768px) {
  .o-noticeBnr__title {
    font-size: clamp(14px, 1.5vw, 1.4rem);
    line-height: 1.8;
    line-height: 1.3;
  }
}

.o-noticeBnr__img {
  overflow: hidden;
  border-radius: 4px;
  max-width: 120px;
  aspect-ratio: auto;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media (max-width: 576px) {
  .o-noticeBnr__img {
    max-width: 90px;
  }
}
.o-noticeBnr__img img,
.o-noticeBnr__img source {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* =========================================================
o-result -  var
============================================================*/
.o-result {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3fr;
  grid-template-columns: 1fr 3fr;
}
@media (max-width: 768px) {
  .o-result {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 420px) {
  .o-result {
    -ms-grid-columns: clamp(140px, 10vw, 200px) 1fr;
    grid-template-columns: clamp(140px, 10vw, 200px) 1fr;
  }
}

.o-resultArea {
  text-align: center;
}
.o-resultArea.__other01 {
  background-color: #F2F5F8;
  border-radius: 12px;
}
@media (max-width: 768px) {
  .o-resultArea.__other01 {
    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: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.o-resultArea.__sat01 .o-resultBox:not(:last-of-type) {
  border-right: 1px solid #F2F5F8;
}
@media (max-width: 768px) {
  .o-resultArea.__sat01 .o-resultBox:not(:last-of-type) {
    border-right: none;
  }
}

.o-resultArea__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 768px) {
  .o-resultArea__wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

.o-resultBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media (max-width: 768px) {
  .o-resultBox {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media (max-width: 768px) {
  .o-resultBox.__other01 {
    width: 100%;
  }
}
.o-resultBox.__el01 {
  color: #45b4eb;
}
.o-resultBox.__el01 .o-resultBox__cat {
  border: 1px solid #45b4eb;
}
.o-resultBox.__dvd01 {
  color: #047AE3;
}
.o-resultBox.__dvd01 .o-resultBox__cat {
  border: 1px solid #047AE3;
}
.o-resultBox.__eldvd01 {
  color: #5662F5;
}
.o-resultBox.__eldvd01 .o-resultBox__cat {
  border: 1px solid #5662F5;
}

.o-resultBox__cat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #26455C;
  border-radius: 4px;
  padding: 3px 1rem;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  text-align: center;
}

.o-resultBox__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3px;
  font-size: clamp(36px, 4.4vw, 52px);
  line-height: 1.4;
  letter-spacing: 1px;
  font-weight: 900;
}

.o-resultBox__numUnit {
  font-size: clamp(14px, 1.5vw, 1.4rem);
  line-height: 1.8;
}

.o-resultDesc {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.3;
  font-weight: normal;
  margin-bottom: 1rem;
}

/* =========================================================
o-result -  options
============================================================*/
/* =========================================================
o-target -  var
============================================================*/
.o-target {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.o-targetBox {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 30% 2rem 1fr;
  grid-template-columns: 30% 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.o-targetBox:not(:last-of-type) {
  border-bottom: 3px solid #F2F5F8;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
@media (max-width: 991px) {
  .o-targetBox {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.o-targetBox__head {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 2rem 1fr;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}

.o-targetBox__headIcon {
  border-radius: 15px;
  width: clamp(40px, 10vw, 56px);
  padding: 1rem;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: #F2F5F8;
}

.o-targetBox__headTitle {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: 900;
}

.o-targetBox__cont ul li {
  font-weight: normal;
}

/* =========================================================
o-target -  options
============================================================*/
/* =========================================================
u-helper style
========================================================= */
/* display
--------------------------------------------------------- */
.u-d {
  display: block;
}

.u-d-lg {
  display: none;
}
@media (max-width: 991px) {
  .u-d-lg {
    display: block;
  }
}

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

.u-d-sm {
  display: none;
}
@media (max-width: 576px) {
  .u-d-sm {
    display: block;
  }
}

.u-dNone {
  display: none;
}

.u-dNone-tab {
  display: block;
}
@media (max-width: 1080px) {
  .u-dNone-tab {
    display: none;
  }
}

.u-dNone-md {
  display: block;
}
@media (max-width: 768px) {
  .u-dNone-md {
    display: none !important;
  }
}

.u-dNone-sm {
  display: block;
}
@media (max-width: 576px) {
  .u-dNone-sm {
    display: none;
  }
}

.u-dNone-tiny {
  display: block;
}
@media (max-width: 420px) {
  .u-dNone-tiny {
    display: none;
  }
}

/* img
--------------------------------------------------------- */
.u-objectfit-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

/* color
--------------------------------------------------------- */
.u-color-main {
  color: #047AE3;
}
.u-color-main:hover {
  text-decoration: underline;
}

.u-color-white {
  color: white;
}

.u-color-red {
  color: #EC0101;
}

.u-color-green {
  color: #2EB979;
}

.u-color-yellow {
  color: #FFD800;
}

.u-color-blue {
  color: #047AE3;
}

.u-color-gold01 {
  color: #D8A316;
}

/* color
--------------------------------------------------------- */
.u-bgcolor-main {
  background-color: #047AE3;
}
.u-bgcolor-main:hover {
  text-decoration: underline;
}

.u-bgcolor-white {
  background-color: white;
}

.u-bgcolor-red {
  background-color: #EC0101;
}

.u-bgcolor-green {
  background-color: #45b4eb;
}

.u-bgcolor-thinblue {
  background-color: #F2F5F8;
}

/* list
--------------------------------------------------------- */
.u-list-style-none li {
  list-style: none;
}

.u-listBefore--none li:before {
  content: none !important;
}

/* border
--------------------------------------------------------- */
.u-border-top {
  border-top: 1px solid #F8F9FA;
}

.u-border-bottom {
  border-bottom: 1px solid #F8F9FA;
}

/* box-shadow
--------------------------------------------------------- */
.u-box-shadow {
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* border - radius
--------------------------------------------------------- */
.u-border-radius4 {
  border-radius: 4px;
  overflow: hidden;
}

.u-border-radius50 {
  border-radius: 100px;
  overflow: hidden;
}

.u-border-radius2-4 {
  border-radius: 4px 4px 0 0;
}

/* text size
--------------------------------------------------------- */
.u-texts-11 {
  font-size: 11px !important;
}

.u-texts-12 {
  font-size: 12px !important;
}
@media (max-width: 768px) {
  .u-texts-12 {
    font-size: 11px !important;
  }
}

.u-texts-14 {
  font-size: 14px !important;
}
@media (max-width: 768px) {
  .u-texts-14 {
    font-size: 12px !important;
  }
}

.u-texts-15 {
  font-size: 16px !important;
}
@media (max-width: 768px) {
  .u-texts-15 {
    font-size: 14px !important;
  }
}

.u-texts-19 {
  font-size: 21px !important;
}
@media (max-width: 768px) {
  .u-texts-19 {
    font-size: 16px !important;
  }
}

.u-texts-28 {
  font-size: 28px !important;
}
@media (max-width: 768px) {
  .u-texts-28 {
    font-size: 25px !important;
  }
}

/* text / font
--------------------------------------------------------- */
.u-tc-white {
  color: #fff;
}

.u-tc-transparent {
  color: #26455C;
}

.u-fw-bold {
  font-weight: 900;
}

.u-text-border-accent {
  border: 1px solid #047AE3;
  padding: 4px;
  color: #047AE3;
  font-weight: 900;
}

.u-ta-center {
  text-align: center;
}

.u-ta-center {
  text-align: center;
}

.u-ta-left {
  text-align: left;
}

.u-ta-right {
  text-align: right;
}

/* link + hover
--------------------------------------------------------- */
.u-link-hoverwhite:hover {
  color: #fff;
}

.u-link-nohover:hover {
  color: #000;
}

/* padding +
--------------------------------------------------------- */
.u-pb-1 {
  padding-bottom: 1rem !important;
}

.u-pb-2 {
  padding-bottom: 2rem !important;
}

.u-pb-3 {
  padding-bottom: 3rem !important;
}

.u-pb-6 {
  padding-bottom: 6rem !important;
}

.u-ptb-8 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

.u-pb-10 {
  padding-bottom: 10rem !important;
}

.u-ptb-10 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.u-pt-2 {
  padding-top: 2rem;
}

.u-pt-3 {
  padding-top: 3rem;
}

@media (max-width: 768px) {
  .u-pb-4-md {
    padding-bottom: 8rem !important;
  }
}

/* margin +
--------------------------------------------------------- */
.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-mb-1 {
  margin-bottom: 1rem;
}

.u-mb-2 {
  margin-bottom: 2rem;
}

.u-mb-3 {
  margin-bottom: 3rem !important;
}

.u-mb-6 {
  margin-bottom: 6rem !important;
}

.u-mb-10 {
  margin-bottom: 10rem !important;
}
@media (max-width: 768px) {
  .u-mb-10 {
    margin-bottom: 6rem !important;
  }
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-1 {
  margin-top: 1rem;
}

.u-mt-2 {
  margin-top: 2rem;
}

.u-mt-3 {
  margin-top: 3rem;
}

.u-mt-6 {
  margin-top: 6rem;
}

.u-mr-1 {
  margin-right: 1rem;
}

.u-mr-3 {
  margin-right: 3rem;
}

.u-mr-3-xl-none {
  margin-right: 3rem;
}
@media (max-width: 1280px) {
  .u-mr-3-xl-none {
    margin-right: 0;
  }
}

/* margin -
--------------------------------------------------------- */
.u-mx-n32 {
  margin-left: -32px;
  margin-right: -32px;
}

.u-mx-n16 {
  margin-left: -16px;
  margin-right: -16px;
}

.u-mt-n40 {
  margin-top: -40px;
}

.u-mrl-auto {
  margin-left: auto;
  margin-right: auto;
}

/* width
--------------------------------------------------------- */
.u-w100 {
  width: 100%;
}

/* max-width
--------------------------------------------------------- */
.u-maxw-480 {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.u-maxw-800 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.u-maxw-post {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.u-maxw00 {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.u-maxw01 {
  max-width: 830px;
  margin-left: auto;
  margin-right: auto;
}

.u-maxw02 {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* max-height
--------------------------------------------------------- */
.u-maxh-420 {
  max-height: 420px;
}

/* background
--------------------------------------------------------- */
.u-bgcolor-grey {
  background-color: #F8F9FA;
}

.u-bgcolor-white {
  background-color: #F8F9FA;
}

/* whitespace
--------------------------------------------------------- */
.u-whitespace {
  width: 100%; /* 要素の横幅を指定 */
  white-space: nowrap; /* 横幅のMAXに達しても改行しない */
  overflow: hidden; /* ハミ出した部分を隠す */
  text-overflow: ellipsis; /* 「…」と省略 */
  -webkit-text-overflow: ellipsis; /* Safari */
  -o-text-overflow: ellipsis; /* Opera */
}

/* scroll - mv
--------------------------------------------------------- */
.u-of-scroll {
  overflow-y: scroll;
}

.u-of-hidden {
  overflow: hidden;
}

/* underline
--------------------------------------------------------- */
.u-underline01 {
  position: relative;
}
.u-underline01:before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 4px;
  border-radius: 100px;
  background: #1e2178 30%;
  background: -webkit-gradient(linear, left top, right top, color-stop(30%, #1e2178), to(#f6f7f8));
  background: linear-gradient(to right, #1e2178 30% 0%, #f6f7f8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="$start-color", endColorstr="$end-color",GradientType=1 );
}
@media (max-width: 768px) {
  .u-underline01:before {
    bottom: -3px;
    height: 2px;
  }
}
.u-underline01.__yellow::before {
  background: #FFD800;
}

/* transform
--------------------------------------------------------- */
.u-vertical {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/* sns color
--------------------------------------------------------- */
.u-fb {
  color: #3B5998 !important;
}

.u-tw {
  color: #55acee !important;
}

.u-youtube {
  color: #c4302b !important;
}

/* sns bg color
--------------------------------------------------------- */
.u-bgskype {
  background: #43C2FA;
  background: -webkit-gradient(linear, left top, left bottom, from(#43C2FA), to(#0069C3));
  background: linear-gradient(to bottom, #43C2FA 0%, #0069C3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="$start-color", endColorstr="$end-color",GradientType=0 );
}

.u-bginsta {
  background: #EF9097;
  background: -webkit-gradient(linear, left top, left bottom, from(#EF9097), to(#7D71D5));
  background: linear-gradient(to bottom, #EF9097 0%, #7D71D5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="$start-color", endColorstr="$end-color",GradientType=0 );
}

.u-bgfb {
  background-color: #3B5998;
}

.u-bgtw {
  background-color: #55acee;
}

.u-youtubeFrame {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.u-youtubeFrame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* position
--------------------------------------------------------- */
.u-position-r {
  position: relative;
}