@charset "UTF-8";
/* =========================================================
Gradients
========================================================= */
@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
========================================================= */
@font-face {
  font-family: "Space Grotesk", sans-serif;
  font-display: swap;
  src: url("../..//fonts/SpaceGrotesk-Bold.woff") format("woff"), url("../..//fonts/SpaceGrotesk-Regular.woff") format("woff"), url("../..//fonts/SpaceGrotesk-Bold.ttf") format("truetype"), url("../..//fonts/SpaceGrotesk-Regular.ttf") format("truetype");
}
.js-accordion {
  transition: 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

* {
  margin: 0;
  padding: 0;
  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.0935rem;
  color: #0F2038;
  background-color: transparent;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: bold;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-feature-settings: "palt";
  font-variant-ligatures: no-common-ligatures;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  font-optical-sizing: auto;
}
body.js-toggleActive {
  overflow: hidden;
}
body.admin-bar {
  margin-top: -32px;
}

.container {
  position: relative;
  background-color: #fff;
  top: 0;
  right: 0;
  transition: top 0.25s cubic-bezier(0.77, 0, 0.175, 1), right 0.25s cubic-bezier(0.77, 0, 0.175, 1);
  z-index: 1;
}
.container.js-toggleActive {
  right: 400px;
}
@media (max-width: 591px) {
  .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: #0F2038;
  outline: none;
  text-decoration: none;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  transition: 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
a:hover {
  outline: none;
}

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

strong {
  font-weight: bold;
}

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

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

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

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

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

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

/* =========================================================
js - base
========================================================= */
.js-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1), transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.js-show.__active {
  opacity: 1;
  transform: translateY(0px);
}

.js-hoverCont.__active {
  display: block;
}

/* =========================================================
o-animate -  style
============================================================*/
.o-animate {
  /*既に画面内に入っている場合*/
}
.o-animate.__fadeinTop {
  opacity: 0;
}
.o-animate.__fadeinTop.is-active {
  animation-duration: 0.5s;
  animation-name: fadeinTop;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.o-animate.__fadeinLeft {
  opacity: 0;
}
.o-animate.__fadeinLeft.is-active {
  animation-duration: 0.5s;
  animation-name: fadeinLeft;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.o-animate.__fadeinBottom {
  opacity: 0;
}
.o-animate.__fadeinBottom.is-active {
  animation-duration: 0.5s;
  animation-name: fadeinBottom;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.o-animate.__maskBg01 {
  position: relative;
  opacity: 0;
}
.o-animate.__maskBg01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.875rem;
  height: 100%;
  background: #0F2038;
}
.o-animate.__maskBg01.is-active {
  opacity: 0;
  animation-delay: 1.3s;
  animation: opacity 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  animation-fill-mode: forwards;
}
.o-animate.__maskBg01.is-active::after {
  animation: maskBg 0.75s cubic-bezier(0.77, 0, 0.175, 1);
  animation-fill-mode: forwards;
}
.o-animate.is-inFv__fadeinTop {
  opacity: 0;
  animation-duration: 0.5s;
  animation-name: fadeinTop;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-animate.is-inFv__fadeinLeft {
  opacity: 0;
  animation-duration: 0.5s;
  animation-name: fadeinLeft;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-animate.is-inFv__fadeinBottom {
  opacity: 0;
  animation-duration: 0.5s;
  animation-name: fadeinBottom;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-animate.is-inFv__scaleRotate {
  opacity: 0;
  animation-duration: 0.5s;
  animation-name: scaleRotate;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
@media (max-width: 768px) {
  .o-animate.is-inFv__scaleRotate {
    animation-name: fadeinTop;
  }
}
.o-animate.is-inFv__rotateScale {
  opacity: 0;
  animation-duration: 0.5s;
  animation-name: rotateScale;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-animate.is-inFv__maskBg01 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  opacity: 0;
  animation: opacity 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
.o-animate.is-inFv__maskBg01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.875rem;
  height: 100%;
  background: #0F2038;
  animation: maskBg 1s cubic-bezier(0.77, 0, 0.175, 1);
  animation-delay: 0.8s;
  animation-fill-mode: forwards;
}

/* =========================================================
o-animate -  var
============================================================*/
.o-animate.__delay01, .o-animate.__delay01::after {
  transition-delay: 0.4s;
  animation-delay: 0.4s;
}
.o-animate.__delay02, .o-animate.__delay02::after {
  transition-delay: 0.8s;
  animation-delay: 0.8s;
}
.o-animate.__delay03, .o-animate.__delay03::after {
  transition-delay: 1.2s;
  animation-delay: 1.2s;
}
.o-animate.__delay04, .o-animate.__delay04::after {
  transition-delay: 1.6s;
  animation-delay: 1.6s;
}
.o-animate.__delay05, .o-animate.__delay05::after {
  transition-delay: 2s;
  animation-delay: 2s;
}
.o-animate.__delay06, .o-animate.__delay06::after {
  transition-delay: 2.4s;
  animation-delay: 2.4s;
}
.o-animate.__delay07, .o-animate.__delay07::after {
  transition-delay: 2.8s;
  animation-delay: 2.8s;
}
.o-animate.__delay08, .o-animate.__delay08::after {
  transition-delay: 3.2s;
  animation-delay: 3.2s;
}

/* =========================================================
Keyframes
============================================================*/
@keyframes pulse-blue {
  0% {
    transform: scale(1);
    border: 1px solid rgba(2, 91, 241, 0);
    box-shadow: 0 0 0 0 rgba(2, 91, 241, 0);
  }
  30% {
    transform: scale(0.98);
    border: 1px solid #025bf1;
    box-shadow: 0 0 0 0 rgba(2, 91, 241, 0.5);
  }
  70% {
    transform: scale(1.04);
    border: 1px solid rgba(2, 91, 241, 0);
    box-shadow: 0 0 0 10px rgba(2, 91, 241, 0);
  }
  100% {
    transform: scale(1);
    border: 1px solid rgba(2, 91, 241, 0);
    box-shadow: 0 0 0 0 rgba(2, 91, 241, 0);
  }
}
@keyframes pulse-red {
  0% {
    transform: scale(1);
    border: 1px solid rgba(240, 74, 41, 0);
    box-shadow: 0 0 0 0 rgba(240, 74, 41, 0);
  }
  3% {
    transform: scale(0.98);
    border: 1px solid rgba(240, 74, 41, 0.5);
    box-shadow: 0 0 0 0 rgba(240, 74, 41, 0.3);
  }
  70% {
    transform: scale(1.02);
    border: 1px solid rgba(240, 74, 41, 0);
    box-shadow: 0 0 0 10px rgba(240, 74, 41, 0);
  }
  100% {
    transform: scale(1);
    border: 1px solid rgba(240, 74, 41, 0);
    box-shadow: 0 0 0 0 rgba(240, 74, 41, 0);
  }
}
@keyframes pathmove {
  0% {
    height: 0;
    top: -120px;
    opacity: 0;
  }
  20% {
    height: 64px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: -20px;
    opacity: 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;
  }
}
@keyframes appear {
  to {
    bottom: 12px;
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes gradientDots {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 200% 100%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg) scale(1.2);
  }
  to {
    transform: rotate(360deg) scale(1.2);
  }
}
@keyframes js-upAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    transform: translateY(-190px);
  }
}
@keyframes js-downAnime {
  from {
    transform: translateY(-190px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideAnime {
  0% {
    opacity: 0;
  }
  16% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  49% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
@keyframes fadeinLeft {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes fadeinTop {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes fadeinBottom {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes scaleRotate {
  0% {
    opacity: 0;
    transform: rotateY(0deg) scale(0) translateY(-10px);
  }
  70% {
    opacity: 1;
    transform: rotateY(780deg);
  }
  100% {
    opacity: 1;
    transform: rotateY(720deg) scale(1) translateY(0px);
  }
}
@keyframes scaleUp {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  70% {
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes bgScaleUp {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes rotateScale {
  0% {
    opacity: 0;
    transform: rotate(-45deg);
  }
  75% {
    opacity: 1;
    transform: rotate(10deg);
  }
  95% {
    transform: rotate(-2deg);
  }
  100% {
    opacity: 1;
    transform: rotate(0deg);
  }
}
@keyframes notificationShowHide01 {
  0% {
    z-index: 10;
    opacity: 0;
    transform: translateY(-15px);
  }
  5% {
    z-index: 10;
    opacity: 1;
    transform: translateY(0px);
  }
  95% {
    z-index: 10;
    opacity: 1;
    transform: translateY(0px);
  }
  100% {
    opacity: 0;
    transform: translateY(-15px);
    z-index: -1;
  }
}
@keyframes notificationBar01 {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes maskBg {
  0% {
    left: 0;
    width: 0.875rem;
  }
  50% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
/* =========================================================
o-parts -  var
============================================================*/
/* 通知
--------------------------------------------------------- */
.o-partsNotification {
  position: fixed;
  top: 4rem;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 2rem 2rem;
  background-color: #fff;
  border-radius: 0.5rem;
  max-width: 600px;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 768px) {
  .o-partsNotification {
    padding: 1rem 2rem;
  }
}
.o-partsNotification::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 2px;
  width: 100%;
}

.o-partsNotification__title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.o-partsNotification {
  opacity: 0;
}
.o-partsNotification.__succeed {
  background-color: #e6edf7;
}
.o-partsNotification.__succeed .o-partsNotification__title::before {
  content: "\e86c";
  font-family: "Material Icons";
  color: #025BF1;
}
.o-partsNotification.__succeed::after {
  background-color: #025BF1;
}
.o-partsNotification.__failed {
  background-color: #f7e8e5;
}
.o-partsNotification.__failed .o-partsNotification__title::before {
  content: "\e000";
  font-family: "Material Icons";
  color: #F04A29;
}
.o-partsNotification.__failed::after {
  background-color: #F04A29;
}
.o-partsNotification.__active {
  z-index: 10;
  animation-duration: 4s;
  animation-name: notificationShowHide01;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}
.o-partsNotification.__active::after {
  animation-duration: 5s;
  animation-name: notificationBar01;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.36, 1.25, 1, 1);
}

/* 背景画像
--------------------------------------------------------- */
.o-partsBg01 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -10;
  width: 100vw;
  height: 100vh;
  filter: blur(40px) grayscale(0.5);
  transform: translateZ(0);
  opacity: 0.05;
}

/* スピナー
--------------------------------------------------------- */
.o-partsSpinner {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(15, 32, 56, 0.9);
  z-index: 100;
  display: flex;
  gap: 2rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.o-partsSpinner__text {
  color: #A9C0EE;
  font-size: 10px;
  font-weight: normal;
}

.o-partsSpinner__item,
.o-partsSpinner__item:before,
.o-partsSpinner__item:after {
  filter: brightness(1.2);
  transform: translateZ(0);
  background: #1E3B6C;
  animation: o-partsSpinner__item 1s infinite ease-in-out;
  width: 5px;
  height: 40px;
  border-radius: 4px;
}

.o-partsSpinner__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 5px;
  transform: translateZ(0);
  color: #1E3B6C;
  animation-delay: -0.16s;
}

.o-partsSpinner__item:before,
.o-partsSpinner__item:after {
  content: "";
  position: absolute;
  top: 0;
}

.o-partsSpinner__item:before {
  left: -10px;
  width: 5px;
  color: #7B93C5;
  background: #7B93C5;
  animation-delay: -0.32s;
}

.o-partsSpinner__item:after {
  right: -10px;
  width: 5px;
  color: #4563A2;
  background: #4563A2;
}

@keyframes o-partsSpinner__item {
  0%, 70%, 100% {
    box-shadow: 0 0;
    height: 40px;
    opacity: 0.1;
  }
  40% {
    opacity: 1;
    box-shadow: 0 -0.75em;
    height: 40px;
  }
}
.loader {
  margin: 0 0 2em;
  height: 100px;
  width: 20%;
  text-align: center;
  padding: 1em;
  margin: 0 auto 1em;
  display: inline-block;
  vertical-align: top;
}

/*------------------------------------------
* o-icon base
------------------------------------------*/
.o-icon::before, .o-icon::after {
  font-family: "Material Icons";
}

/*------------------------------------------
* o-icon icon
------------------------------------------*/
.o-icon.__login01::before {
  content: "\ea77";
}
.o-icon.__login01.__afterItem::before {
  content: none;
}
.o-icon.__login01.__afterItem::after {
  content: "\ea77";
}
.o-icon.__logout01::before {
  content: "\e9ba";
}
.o-icon.__logout01.__afterItem::before {
  content: none;
}
.o-icon.__logout01.__afterItem::after {
  content: "\e9ba";
}
.o-icon.__user01::before {
  content: "\e853";
}
.o-icon.__user01.__afterItem::before {
  content: none;
}
.o-icon.__user01.__afterItem::after {
  content: "\e853";
}
.o-icon.__external01::before {
  content: "\e89e";
}
.o-icon.__external01.__afterItem::before {
  content: none;
}
.o-icon.__external01.__afterItem::after {
  content: "\e89e";
}
.o-icon.__search01::before {
  content: "\e8b6";
}
.o-icon.__search01.__afterItem::before {
  content: none;
}
.o-icon.__search01.__afterItem::after {
  content: "\e8b6";
}
.o-icon.__reset01::before {
  content: "\f053";
}
.o-icon.__reset01.__afterItem::before {
  content: none;
}
.o-icon.__reset01.__afterItem::after {
  content: "\f053";
}
.o-icon.__consult01::before {
  content: "\e9bc";
}
.o-icon.__consult01.__afterItem::before {
  content: none;
}
.o-icon.__consult01.__afterItem::after {
  content: "\e9bc";
}
.o-icon.__bookmark01::before {
  content: "\e8e6";
}
.o-icon.__bookmark01.__afterItem::before {
  content: none;
}
.o-icon.__bookmark01.__afterItem::after {
  content: "\e8e6";
}
.o-icon.__bookmarked01::before {
  content: "\e599";
}
.o-icon.__bookmarked01.__afterItem::before {
  content: none;
}
.o-icon.__bookmarked01.__afterItem::after {
  content: "\e599";
}
.o-icon.__folder01::before {
  content: "\e2c7";
}
.o-icon.__folder01.__afterItem::before {
  content: none;
}
.o-icon.__folder01.__afterItem::after {
  content: "\e2c7";
}
.o-icon.__hashtag01::before {
  content: "\e9ef";
}
.o-icon.__hashtag01.__afterItem::before {
  content: none;
}
.o-icon.__hashtag01.__afterItem::after {
  content: "\e9ef";
}
.o-icon.__lock01::before {
  content: "\e897";
}
.o-icon.__lock01.__afterItem::before {
  content: none;
}
.o-icon.__lock01.__afterItem::after {
  content: "\e897";
}
.o-icon.__arrowRight01::before {
  content: "\f1df";
}
.o-icon.__arrowRight01.__afterItem::before {
  content: none;
}
.o-icon.__arrowRight01.__afterItem::after {
  content: "\f1df";
}
.o-icon.__arrowUp01::before {
  content: "\e5d8";
}
.o-icon.__arrowUp01.__afterItem::before {
  content: none;
}
.o-icon.__arrowUp01.__afterItem::after {
  content: "\e5d8";
}
.o-icon.__check01::before {
  content: "\e86c";
}
.o-icon.__check01.__afterItem::before {
  content: none;
}
.o-icon.__check01.__afterItem::after {
  content: "\e86c";
}
.o-icon.__checkOnly01::before {
  content: "\e9bc";
}
.o-icon.__checkOnly01.__afterItem::before {
  content: none;
}
.o-icon.__checkOnly01.__afterItem::after {
  content: "\e9bc";
}
.o-icon.__angleDown01::before {
  content: "\e313";
}
.o-icon.__angleDown01.__afterItem::before {
  content: none;
}
.o-icon.__angleDown01.__afterItem::after {
  content: "\e313";
}
.o-icon.__angleRight01::before {
  content: "\e409";
}
.o-icon.__angleRight01.__afterItem::before {
  content: none;
}
.o-icon.__angleRight01.__afterItem::after {
  content: "\e409";
}
.o-icon.__angleLeft01::before {
  content: "\e5cb";
}
.o-icon.__angleLeft01.__afterItem::before {
  content: none;
}
.o-icon.__angleLeft01.__afterItem::after {
  content: "\e5cb";
}
.o-icon.__date01::before {
  content: "\e935";
}
.o-icon.__date01.__afterItem::before {
  content: none;
}
.o-icon.__date01.__afterItem::after {
  content: "\e935";
}
.o-icon.__area01::before {
  content: "\e55f";
}
.o-icon.__area01.__afterItem::before {
  content: none;
}
.o-icon.__area01.__afterItem::after {
  content: "\e55f";
}
.o-icon.__price01::before {
  content: "\f05b";
}
.o-icon.__price01.__afterItem::before {
  content: none;
}
.o-icon.__price01.__afterItem::after {
  content: "\f05b";
}
.o-icon.__estimate01::before {
  content: "\e858";
}
.o-icon.__estimate01.__afterItem::before {
  content: none;
}
.o-icon.__estimate01.__afterItem::after {
  content: "\e858";
}
.o-icon.__human01::before {
  content: "\e7ff";
}
.o-icon.__human01.__afterItem::before {
  content: none;
}
.o-icon.__human01.__afterItem::after {
  content: "\e7ff";
}
.o-icon.__good01::before, .o-icon.__good01::after {
  color: #00D015;
}
.o-icon.__good01::before {
  content: "\ef4a";
}
.o-icon.__good01.__afterItem::before {
  content: none;
}
.o-icon.__good01.__afterItem::after {
  content: "\ef4a";
}
.o-icon.__warn01::before, .o-icon.__warn01::after {
  color: #E88B00;
}
.o-icon.__warn01::before {
  content: "\f083";
}
.o-icon.__warn01.__afterItem::before {
  content: none;
}
.o-icon.__warn01.__afterItem::after {
  content: "\f083";
}
.o-icon.__close01::before, .o-icon.__close01::after {
  color: #F04A29;
}
.o-icon.__close01::before {
  content: "\e5cd";
}
.o-icon.__close01.__afterItem::before {
  content: none;
}
.o-icon.__close01.__afterItem::after {
  content: "\e5cd";
}

/*------------------------------------------
* o-icon var
------------------------------------------*/
.o-icon.__withItem {
  display: flex;
  gap: 0.6rem;
}

/* =========================================================
o-btn -  var
============================================================*/
.o-btn {
  cursor: pointer;
  font-weight: bold;
  position: relative;
  border-radius: 3px;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1), border 0.25s cubic-bezier(0.77, 0, 0.175, 1), filter 0.25s cubic-bezier(0.77, 0, 0.175, 1), transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
  transform: translateZ(0);
}
.o-btn.__basic01 {
  transition: filter 0.25s cubic-bezier(0.77, 0, 0.175, 1), transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-btn.__basic01:hover {
  filter: brightness(1.3);
  transform: translateY(3px);
  transform: translateZ(0);
}
.o-btn.__basic01.__nohover:hover {
  filter: brightness(1);
  transform: translateY(0);
}
.o-btn.__basic02 {
  transition: filter 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-btn.__basic02::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
  transition: right 0.25s cubic-bezier(0.77, 0, 0.175, 1), bottom 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-btn.__basic02:hover {
  filter: brightness(1.2);
  transform: translateZ(0);
}
.o-btn.__basic02:hover::after {
  right: -4px;
  bottom: -4px;
}
.o-btn.__border01 {
  border: 1px solid transparent;
}
.o-btn.__bg01 {
  position: relative;
  color: #0F2038;
  font-weight: 900;
  text-align: center;
  background-color: #025BF1;
}
.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: flex;
  justify-content: space-between;
  align-items: center;
  color: #0F2038;
  font-weight: 900;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-btn.__textbtn:after {
  content: "\f061";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  font-size: 10px;
  width: 24px;
  height: 24px;
  border: 1px solid #D9DEE9;
  border-radius: 100px;
  transform-origin: center center 0;
  transition: transform cubic-bezier(0.77, 0, 0.175, 1) 0.5s, color cubic-bezier(0.77, 0, 0.175, 1) 0.5s, background-color cubic-bezier(0.77, 0, 0.175, 1) 0.5s;
}
.o-btn.__textbtn:hover:after {
  color: #0F2038;
  background-color: #0F2038;
  transform: rotateY(360deg) translateX(-4px);
}

/* =========================================================
o-btn -  options
============================================================*/
.o-btn {
  border-radius: 0.5rem;
}
.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: 591px) {
  .o-btn.__huge {
    font-size: 2.9rem;
  }
}
.o-btn.__en {
  letter-spacing: 0.01rem;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}
.o-btn.__big, .o-btn.__big.o-icon:before {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-btn.__large, .o-btn.__large.o-icon:before {
  font-size: clamp(21px, 2vw, 2.1rem);
  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.__postp-nl, .o-btn.__postp-nl.o-icon:before {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
}
.o-btn.__p, .o-btn.__p.o-icon:before {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
}
.o-btn.__p-nl, .o-btn.__p-nl.o-icon:before {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
}
.o-btn.__mid, .o-btn.__mid.o-icon:before {
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
.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: #0F2038;
}
.o-btn.__white:hover, .o-btn.__white .o-icon:before:hover {
  color: #0F2038 !important;
}
.o-btn.__white:hover {
  color: #0F2038 !important;
}
.o-btn.__radius01 {
  border-radius: 100px;
}
.o-btn.__sizes {
  padding: 0.5rem 1rem;
}
.o-btn.__sizem {
  padding: 2rem 1rem;
}
@media (max-width: 768px) {
  .o-btn.__sizem {
    padding: 1.5rem 1rem;
  }
}
.o-btn.__sizel {
  padding: 3rem 1rem;
}
.o-btn.__sizexl {
  padding: 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.__right {
  margin-right: inherit;
}
.o-btn.__center {
  justify-content: 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.__r0 {
  border-radius: 0px;
}
.o-btn.__wfit {
  width: -moz-max-content;
  width: max-content;
}
.o-btn.__maxw01 {
  max-width: 300px;
}
.o-btn.__maxw02 {
  max-width: 560px;
}
.o-btn.__w100 {
  width: 100%;
}
.o-btn.__blue {
  background: linear-gradient(to right, #00D015, #025BF1);
  color: #fff;
  box-shadow: 0 5px 0 #0968C1;
}
.o-btn.__blue:hover {
  filter: brightness(0.96);
  transform: translateY(5px);
  box-shadow: 0 0px 0 #0968C1;
}
.o-btn.__white01 {
  color: #0F2038;
  background-color: #fff;
}
.o-btn.__white01::before, .o-btn.__white01::after {
  color: #D9DEE9;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-btn.__white01:hover {
  color: #0F2038;
  box-shadow: 0 0 1px rgba(15, 32, 56, 0.2);
}
.o-btn.__white01:hover::before, .o-btn.__white01:hover::after {
  color: #0F2038;
}
.o-btn.__navy01 {
  color: white;
  background-color: #0F2038;
  box-shadow: 0 0 6px rgba(15, 32, 56, 0.1);
  transition: filter 0.25s cubic-bezier(0.77, 0, 0.175, 1), transform 0.25s cubic-bezier(0.77, 0, 0.175, 1), box-shadow 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-btn.__navy01::after {
  border: 1px solid #0F2038;
}
.o-btn.__navy01:hover {
  box-shadow: 0 0 1px rgba(15, 32, 56, 0.2);
}
.o-btn.__orange01 {
  background-color: #E88B00;
  color: #fff;
}
.o-btn.__orange01:after {
  color: #fff;
}
.o-btn.__orange01:hover {
  filter: brightness(0.96);
  transform: translateY(5px);
  box-shadow: 0 0px 0 #C66243;
}
.o-btn.__borderOrange01 {
  background-color: #fff;
  border: 1px solid #E88B00;
  color: #E88B00;
}
.o-btn.__borderOrange01::before, .o-btn.__borderOrange01::after {
  color: #E88B00;
}
.o-btn.__green {
  background-color: #22B973;
  box-shadow: 0 5px 0 #1A9A5F;
  color: #fff;
  text-decoration: none;
}
.o-btn.__green:after {
  color: #fff;
}
.o-btn.__green:hover {
  filter: brightness(0.96);
  transform: translateY(5px);
  box-shadow: 0 0px 0 #1A9A5F;
}
.o-btn.__gradient01 {
  color: white;
  background: linear-gradient(to right, #4563a2, #025bf1);
}
.o-btn.__gradient01::after {
  border: 1px solid #025BF1;
}
.o-btn.__gray01 {
  background: #F2F4F8;
  color: #0F2038;
}
.o-btn.__gray01:hover {
  filter: brightness(0.96);
  transform: translateY(5px);
}
.o-btn.__borderGray01 {
  border: 1px solid #D9DEE9;
  color: #0F2038;
}
.o-btn.__borderGray01::before, .o-btn.__borderGray01::after {
  color: rgba(14, 11, 11, 0.3);
}
.o-btn.__borderGray01:hover {
  border: 1px solid #0C1F31;
  color: #025BF1;
}
.o-btn.__borderGray01:hover::before, .o-btn.__borderGray01:hover::after {
  color: #025BF1;
}
.o-btn.__gold {
  background: linear-gradient(to right, #C9BA90, #21BBEC);
  color: #fff;
  box-shadow: 0 5px 0 #9F8239;
}
.o-btn.__gold:hover {
  filter: brightness(0.96);
  transform: translateY(5px);
  box-shadow: 0 0px 0 #9F8239;
}
.o-btn.__gold.__arrow:after, .o-btn.__gold.__fileAfter:after {
  color: #8B9AB9;
}
.o-btn.__gold.__fileBefore::before {
  color: #8B9AB9;
}
.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;
  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-btn.__bookmarked01:hover {
  border: 1px solid #D9DEE9;
}

/* =========================================================
o-btn -  base
============================================================*/
.o-btnDesc {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: normal;
}

/* =========================================================
o-bread -  var
============================================================*/
.o-bread {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overflow: auto;
  white-space: nowrap;
  gap: 1rem;
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  font-weight: normal;
}
@media (max-width: 1080px) {
  .o-bread {
    justify-content: inherit;
  }
}
.o-bread::-webkit-scrollbar {
  display: none;
}

.o-breadItem {
  display: flex;
  gap: 1rem;
  opacity: 0.5;
  color: #0F2038;
  text-decoration: underline;
}
.o-breadItem:hover:not(.__current) {
  opacity: 1;
  text-decoration: none;
}
.o-breadItem:not(:first-of-type) {
  padding-left: 0.5rem;
}
.o-breadItem:not(:first-of-type)::before {
  content: "/";
}
.o-breadItem:last-of-type {
  text-decoration: none;
  pointer-events: cursor;
}

/* =========================================================
o-bread -  options
============================================================*/
/* =========================================================
o-box -  var
============================================================*/
/* =========================================================
o-link -  var
============================================================*/
.o-link.__main01 {
  position: relative;
}
.o-link.__main01::before {
  content: "" !important;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: 0;
  background-color: #0F2038;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1), color 0.25s cubic-bezier(0.77, 0, 0.175, 1), gap 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-link.__main01:hover {
  gap: 7px;
  color: #025BF1;
}
.o-link.__main01:hover::before {
  transform: scaleX(0);
  transform-origin: right;
}
.o-link.__main01.__white01 {
  color: white;
}
.o-link.__main01.__white01::before {
  background-color: #fff;
}
.o-link.__main01.__white01:hover {
  color: white;
}
.o-link.__refer, .o-link.__refer a {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: bold;
  color: #00D015;
  text-decoration: none;
  text-align: right;
}
.o-link.__refer:hover, .o-link.__refer a:hover {
  text-decoration: underline;
}
.o-link.__basic01 {
  text-decoration: underline;
  color: #21BBEC;
}
.o-link.__basic01:hover {
  text-decoration: none;
}
.o-link.__white01 {
  color: white;
}
.o-link.__white01:hover {
  text-decoration: none;
}
.o-link.__underline01 {
  text-decoration: underline;
}
.o-link.__underline01:hover {
  text-decoration: none;
}
.o-link.__wfit {
  width: -moz-fit-content;
  width: fit-content;
}
.o-link.__over {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

/* =========================================================
o-link -  options
============================================================*/
/* =========================================================
o-form -  base
============================================================*/
.o-formInput[type=text], .o-formInput[type=tel], .o-formInput[type=password], .o-formInput[type=number] {
  width: 100%;
  color: #0F2038;
  padding: 3rem;
  border-radius: 0.5rem;
}
@media (max-width: 991px) {
  .o-formInput[type=text], .o-formInput[type=tel], .o-formInput[type=password], .o-formInput[type=number] {
    padding: 2rem 1.5rem;
  }
}
@media (max-width: 1080px) {
  .o-formInput[type=text], .o-formInput[type=tel], .o-formInput[type=password], .o-formInput[type=number] {
    font-size: 16px !important;
  }
}
.o-formInput[type=text].__text01, .o-formInput[type=tel].__text01, .o-formInput[type=password].__text01, .o-formInput[type=number].__text01 {
  background-color: #F2F4F8;
  border: 1px solid #D9DEE9;
}
.o-formInput[type=text].__text01::-moz-placeholder, .o-formInput[type=tel].__text01::-moz-placeholder, .o-formInput[type=password].__text01::-moz-placeholder, .o-formInput[type=number].__text01::-moz-placeholder {
  color: rgba(15, 32, 56, 0.3);
}
.o-formInput[type=text].__text01::placeholder, .o-formInput[type=tel].__text01::placeholder, .o-formInput[type=password].__text01::placeholder, .o-formInput[type=number].__text01::placeholder {
  color: rgba(15, 32, 56, 0.3);
}
.o-formInput[type=text].__text01:focus, .o-formInput[type=tel].__text01:focus, .o-formInput[type=password].__text01:focus, .o-formInput[type=number].__text01:focus {
  border-bottom: 1px solid #0C1F31;
}
.o-formInput[type=text].__hasError, .o-formInput[type=tel].__hasError, .o-formInput[type=password].__hasError, .o-formInput[type=number].__hasError {
  border-bottom: 1px solid #F04A29;
}
.o-formInput[type=number] {
  width: 80%;
}
.o-formInput.__sizem {
  padding: 2rem;
}
@media (max-width: 991px) {
  .o-formInput.__sizem {
    padding: 2rem 1.5rem;
  }
}

textarea.o-formInput {
  width: 100%;
  color: #0F2038;
  padding: 3rem;
  border-radius: 0.5rem;
}
textarea.o-formInput.__text01 {
  background-color: #F2F4F8;
  border: 1px solid #D9DEE9;
}
textarea.o-formInput.__text01::-moz-placeholder {
  color: rgba(15, 32, 56, 0.3);
}
textarea.o-formInput.__text01::placeholder {
  color: rgba(15, 32, 56, 0.3);
}
textarea.o-formInput.__text01:focus {
  border-bottom: 1px solid #0C1F31;
}

.o-formRadio {
  width: 100%;
  cursor: pointer;
}

.o-formRadio__label {
  position: relative;
  display: flex;
  gap: 10px;
  padding: 2rem;
  cursor: pointer;
  align-items: center;
  background-color: transparent;
  border-radius: 0.5rem;
  border: 1px solid #D9DEE9;
  transition: border 0.25s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1), background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 768px) {
  .o-formRadio__label {
    padding: 1rem;
  }
}
.o-formRadio__label.__noborder {
  padding: 0.5rem;
  border: none !important;
}

.o-formRadio__switch {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  border-radius: 0.5rem;
  background-color: #DEE7ED;
  border: 1px solid #fff;
  transition: border 0.25s cubic-bezier(0.77, 0, 0.175, 1), color 0.25s cubic-bezier(0.77, 0, 0.175, 1), background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-formRadio__switch::after {
  content: "";
  border-radius: 0.5rem;
  margin: auto;
  left: 12px;
  width: 17px;
  height: 17px;
  background: linear-gradient(to right bottom, #025bf1, #4563a2);
  opacity: 0;
  transition: border 0.25s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

.o-formRadio__input {
  display: none;
}
.o-formRadio__input:checked + .o-formRadio__label {
  background-color: rgba(242, 244, 248, 0.15);
}
.o-formRadio__input:checked + .o-formRadio__label .o-formRadio__switch::after {
  opacity: 1;
  color: #025BF1;
}
.o-formRadio__input:hover + .o-formRadio__label {
  border: 1px solid #0C1F31;
}
.o-formRadio__input:hover + .o-formRadio__label.__noborder .o-formRadio__switch {
  border: 1px solid #0C1F31;
}

.o-formErrortext {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  color: #F04A29;
}

/* =========================================================
o-form -  var
============================================================*/
.o-formList {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (max-width: 768px) {
  .o-formList {
    gap: 2rem;
  }
}

.o-formList__box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 768px) {
  .o-formList__box {
    flex-direction: column;
    align-items: flex-start;
  }
}
.o-formList__box.__separate01 {
  padding-bottom: 2rem;
  border-bottom: 1px solid #DEE7ED;
}
.o-formList__box.__borderTop01 {
  padding-top: 2rem;
  border-top: 1px solid #DEE7ED;
}

.o-formList__title {
  min-width: 150px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.o-formList__titleBadge {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  width: -moz-max-content;
  width: max-content;
  padding: 0.1rem 0.5rem;
  border-radius: 0.5rem;
}
.o-formList__titleBadge.__required {
  color: #F04A29;
  background-color: #fff;
  border: 1px solid #F04A29;
}
.o-formList__titleBadge.__check {
  color: #8B9AB9;
  background-color: #00D015;
}
.o-formList__titleBadge.__optional {
  color: #A9C0EE;
  background-color: #fff;
  border: 1px solid #A9C0EE;
}

.o-formList__warn {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-weight: normal;
}

.o-formCont {
  width: 100%;
}

.o-formCont__item {
  width: 100%;
}
.o-formCont__item input::-moz-placeholder, .o-formCont__item textarea::-moz-placeholder {
  color: rgba(15, 32, 56, 0.2);
}
.o-formCont__item input::placeholder,
.o-formCont__item textarea::placeholder {
  color: rgba(15, 32, 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: #F2F4F8;
  border-radius: 0.5rem;
}
.o-formCont__item.__postalcode {
  display: flex;
  gap: 1rem;
  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.__address {
  display: flex;
}

.o-formSelect {
  width: 80%;
}
.o-formSelect.__style01 {
  position: relative;
  padding: auto;
  background-color: #fff;
}
.o-formSelect.__style02 {
  border-radius: 0.5rem;
  position: relative;
  border: 1px solid #D9DEE9;
  background-color: #F2F4F8;
}
.o-formSelect::before {
  content: "\e313";
  font-family: "Material Icons";
  color: rgba(14, 11, 11, 0.3);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  pointer-events: none;
}

.o-formSelect__item {
  width: -webkit-fill-available;
  padding: 2rem 4rem 2rem 2rem;
  border-radius: 0.5rem;
}
@media (max-width: 991px) {
  .o-formSelect__item {
    padding: 2rem 1.5rem;
  }
}

.o-formCheckbox {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2rem 2rem;
  border: 1px solid #DEE7ED;
  background-color: #fff;
}
.o-formCheckbox input {
  flex: none;
  position: relative;
  left: 0;
  width: 32px;
  height: 32px;
  border-radius: 0.5rem;
  border: 2px solid #DEE7ED;
  background-color: #F2F4F8;
  transition: border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-formCheckbox input:hover {
  border: 2px solid #025BF1;
}
.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: 0.5rem;
  transform: scale(1.2);
  background: #025BF1;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-formCheckbox input:checked::before {
  opacity: 1;
  transform: scale(1);
}

.o-formCheckbox__desc {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.o-formCheckbox__label {
  width: 100%;
  cursor: pointer;
}

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

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

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

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

.o-formEmailset__btn {
  flex: none;
  border-radius: 0 0.5rem 0.5rem 0;
}
@media (max-width: 591px) {
  .o-formEmailset__btn {
    width: 100% !important;
    padding: 1rem !important;
    border-radius: 0 0 0.5rem 0.5rem;
  }
}

/* =========================================================
o-form -  フォーム以外のパーツ
============================================================*/
.o-formTelbox__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #F8F9FA;
  padding: 2rem;
}

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

.o-formTelbox__num {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
  color: #025BF1;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}

/* =========================================================
o-tab -  var
============================================================*/
.o-tab {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.o-tabNav {
  position: sticky;
  top: 25px;
  z-index: 2;
  display: flex;
  gap: 5px;
  padding: 5px;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  color: white;
  background-color: #0F2038;
  border-radius: 0.5rem;
}
@media (max-width: 420px) {
  .o-tabNav {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

.o-tabNav__item {
  cursor: pointer;
  padding: 1rem 2rem;
  color: white;
  border-radius: 5px;
  background-color: transparent;
  transition: background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1), color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 420px) {
  .o-tabNav__item {
    padding: 1rem 1rem;
  }
}
.o-tabNav__item:hover {
  background-color: #32445F;
}
.o-tabNav__item.__selected {
  color: #0F2038;
  background-color: #fff;
}

/* =========================================================
o-title -  var
============================================================*/
.o-title.__main01 {
  position: relative;
}
.o-title.__main01::before {
  content: "";
  background-image: url(../images/bg_title01.svg);
  position: absolute;
  top: -40px;
  left: -40px;
  display: block;
  width: 80px;
  height: 80px;
}

.o-title.__pagetitle01 {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}

.o-title.__detailTitle01 {
  position: relative;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  line-height: 1.4;
  padding: 0 0 0 2rem;
  background-color: transparent;
  margin-bottom: 2rem;
}
.o-title.__detailTitle01::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: inherit;
  width: 3px;
  height: 100%;
  border-radius: 0.5rem;
  background: linear-gradient(to bottom, #4563a2 0%, #025bf1 100%);
}

/* =========================================================
o-title -  options
============================================================*/
.o-title {
  font-weight: 700 !important;
}
.o-title.__en {
  letter-spacing: 0.01rem;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}
.o-title.__huge, .o-title.__huge.o-icon:before {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-title.__big, .o-title.__big.o-icon:before {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-title.__xlarge, .o-title.__xlarge.o-icon:before {
  font-size: clamp(23px, 3vw, 27px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-title.__large, .o-title.__large.o-icon:before {
  font-size: clamp(21px, 2vw, 2.1rem);
  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(15px, 1.5vw, 1.5rem);
  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);
}
.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;
  margin: auto;
}
.o-title.__w100 {
  width: 100%;
}
.o-title.__white {
  color: #8B9AB9;
}
.o-title.__gold {
  color: #21BBEC;
}

/* =========================================================
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: "Space Grotesk", sans-serif, Meiryo;
}
.o-text.__big, .o-text.__big.o-icon:before {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}
.o-text.__large, .o-text.__large.o-icon:before {
  font-size: clamp(21px, 2vw, 2.1rem);
  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(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
}
.o-text.__mid, .o-text.__mid.o-icon:before {
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
.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: #025BF1;
}
.o-text.__green {
  color: #F04A29;
}
.o-text.__yellow {
  color: #E88B00;
}
.o-text.__red {
  color: #D9DEE9;
}
.o-text.__black {
  color: #0F2038;
}
.o-text.__gold {
  color: #21BBEC;
}

/* =========================================================
o-card -  base
============================================================*/
.o-cardList {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.o-cardClip {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #D9DEE9;
  padding: 10px;
  width: 50px;
  height: 50px;
  aspect-ratio: 1/1;
  border-radius: 0.5rem;
  background-color: #fff;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1), border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  letter-spacing: 0px;
}
@media (max-width: 768px) {
  .o-cardClip {
    top: 1rem;
    right: 1rem;
  }
}
.o-cardClip:hover {
  color: #E88B00;
  border: 1px solid #E88B00;
}
.o-cardClip.__bookmarked01 {
  border: 1px solid #E88B00;
  color: #E88B00;
}
.o-cardClip.__bookmarked01:hover {
  border: 1px solid #D9DEE9;
}

.p-mypageFavorites .o-cardClip {
  display: none;
}

.p-mypageFavorites .o-cardExpert__title {
  margin-right: 0px;
}

/* =========================================================
o-card -  var
============================================================*/
.o-cardList.__post3 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 2rem;
}
@media (max-width: 768px) {
  .o-cardList.__post3 {
    gap: 2rem 1rem;
  }
}
.o-cardList.__post3 .o-cardPost {
  width: calc(33.33333% - 1.3333333333rem);
}
@media (max-width: 768px) {
  .o-cardList.__post3 .o-cardPost {
    width: calc(50% - 0.75rem);
  }
}

.o-cardList.__post4 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 2rem;
}
@media (max-width: 1080px) {
  .o-cardList.__post4 {
    gap: 2rem 1rem;
  }
}
.o-cardList.__post4 .o-cardPost {
  width: calc(25% - 1.5rem);
}
@media (max-width: 1080px) {
  .o-cardList.__post4 .o-cardPost {
    width: calc(33.33333% - 1.3333333333rem);
  }
}
@media (max-width: 768px) {
  .o-cardList.__post4 .o-cardPost {
    width: calc(50% - 0.75rem);
  }
}

/* =========================================================
o-card -  seminar
============================================================*/
.o-cardSeminar {
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border: 1px solid #fff;
  border-radius: 0.5rem;
  background-color: #fff;
}

.o-cardSeminar:nth-child(1) {
  animation-delay: 0.3s;
}

.o-cardSeminar:nth-child(2) {
  animation-delay: 0.6s;
}

.o-cardSeminar:nth-child(3) {
  animation-delay: 0.9s;
}

.o-cardSeminar:nth-child(4) {
  animation-delay: 1.2s;
}

.o-cardSeminar__wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 5px solid #fff;
}
@media (max-width: 768px) {
  .o-cardSeminar__wrap {
    gap: 0.5rem;
  }
}

.o-cardSeminar__cont {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 4rem;
}
@media (max-width: 768px) {
  .o-cardSeminar__cont {
    align-items: flex-start;
    padding: 1rem;
    gap: 0.5rem;
    flex-direction: column-reverse;
  }
}

.o-cardSeminar__desc {
  width: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1.3rem;
  flex-direction: column;
  margin-right: 2rem;
}
@media (max-width: 768px) {
  .o-cardSeminar__desc {
    gap: 1rem;
    padding: 1rem;
    margin-right: 0;
  }
}

.o-cardSeminar__cat {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
@media (max-width: 768px) {
  .o-cardSeminar__cat {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
    align-items: flex-start;
  }
}

.o-cardSeminar__catList {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-weight: normal;
  max-width: 50%;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
}
.o-cardSeminar__catList.__industry {
  color: #025BF1;
  font-weight: bold;
}
.o-cardSeminar__catList.__field {
  color: rgba(14, 11, 11, 0.3);
}

.o-cardSeminar__title {
  font-size: clamp(21px, 2vw, 2.1rem);
  line-height: 1.5;
  font-weight: bold;
}

.o-cardSeminar__catch {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
  opacity: 0.6;
  font-weight: normal;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.o-cardSeminar__author {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.o-cardSeminar__authorImg {
  width: 25px;
  min-width: 25px;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 0.5rem;
}

.o-cardSeminar__authorImg__item {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}

.o-cardSeminar__authorName {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: bold;
  white-space: pre;
}

.o-cardSeminar__authorBelong {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  color: #8B9AB9;
  font-weight: normal;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.o-cardSeminar__info {
  position: relative;
  display: flex;
  gap: 2rem;
  margin: 0.5rem;
  background: linear-gradient(to right, #F2F4F8 80%, #f2f4f8);
  padding: 1rem 4rem;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  .o-cardSeminar__info {
    flex-wrap: wrap;
    gap: 1rem 2rem;
    padding: 1rem 2rem;
  }
}

.o-cardSeminar__infoBox {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.o-cardSeminar__infoBox__sub {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 5px;
  color: #8B9AB9;
}

.o-cardSeminar__infoBox__main {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.o-cardSeminar__img {
  width: 100%;
  max-width: clamp(200px, 15vw, 300px);
}
@media (max-width: 768px) {
  .o-cardSeminar__img {
    display: flex;
    justify-content: center;
    position: relative;
    max-width: 100%;
    overflow: hidden;
    border-radius: 0.5rem;
  }
}

.o-cardSeminar__imgItem {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: 1.618/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
  border: 1px solid #D9DEE9;
}
@media (max-width: 768px) {
  .o-cardSeminar__imgItem {
    width: 25%;
    padding: 1rem;
  }
}

.o-cardSeminar__imgBg {
  position: absolute;
  top: 0.1rem;
  right: 0.1rem;
  bottom: 0.1rem;
  z-index: 0;
  filter: blur(10px);
  transform: translateZ(0);
  opacity: 0.2;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .o-cardSeminar__imgBg {
    width: 100%;
  }
}

.o-cardSeminar__clip {
  top: 5px;
  right: 5px;
}

.o-cardSeminar {
  transition: box-shadow 0.25s cubic-bezier(0.77, 0, 0.175, 1), border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardSeminar .o-cardSeminar__imgItem {
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardSeminar .o-cardSeminar__title {
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardSeminar:hover {
  box-shadow: 0 0 12px rgba(15, 32, 56, 0.1);
  border: 1px solid #0C1F31;
}
.o-cardSeminar:hover .o-cardSeminar__title {
  color: #025BF1;
}
.o-cardSeminar:hover .o-cardSeminar__imgItem {
  transform: scale(1.05);
}

/* =========================================================
o-card -  pro
============================================================*/
.o-cardExpert {
  cursor: pointer;
  position: relative;
  padding: 1rem;
  border: 1px solid #fff;
  border-radius: 0.5rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .o-cardExpert {
    padding: 0;
  }
}

.o-cardExpert:nth-child(1) {
  animation-delay: 0.3s;
}

.o-cardExpert:nth-child(2) {
  animation-delay: 0.6s;
}

.o-cardExpert:nth-child(3) {
  animation-delay: 0.9s;
}

.o-cardExpert:nth-child(4) {
  animation-delay: 1.2s;
}

.o-cardExpert__wrap {
  display: flex;
  gap: 1rem;
  border: 5px solid #fff;
}
@media (max-width: 768px) {
  .o-cardExpert__wrap {
    gap: 0.5rem;
    flex-direction: column;
  }
}

.o-cardExpert__img {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  max-width: 100%;
  max-width: clamp(150px, 3vw, 200px);
  overflow: hidden;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  .o-cardExpert__img {
    max-width: inherit;
  }
}

.o-cardExpert__imgItem {
  position: relative;
  z-index: 1;
  width: 75%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}
@media (max-width: 768px) {
  .o-cardExpert__imgItem {
    padding: 1rem;
    width: 25%;
  }
}

.o-cardExpert__imgBg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.5;
  filter: blur(10px);
  transform: translateZ(0);
  z-index: 0;
}

.o-cardExpert__cont {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  padding: 2rem;
}
@media (max-width: 768px) {
  .o-cardExpert__cont {
    padding: 1rem 2rem;
    gap: 1rem;
  }
}
@media (max-width: 591px) {
  .o-cardExpert__cont {
    padding: 1rem 1rem;
  }
}

.o-cardExpert__cat {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
@media (max-width: 768px) {
  .o-cardExpert__cat {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
    align-items: flex-start;
  }
}

.o-cardExpert__catList {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-weight: normal;
  max-width: 50%;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
}
.o-cardExpert__catList.__industry {
  color: #025BF1;
  font-weight: bold;
}
.o-cardExpert__catList.__field {
  color: rgba(14, 11, 11, 0.3);
}

.o-cardExpert__title {
  font-size: clamp(21px, 2vw, 2.1rem);
  line-height: 1.5;
  font-weight: bold;
  margin-right: 6rem;
}
@media (max-width: 768px) {
  .o-cardExpert__title {
    margin-right: 0px;
    font-size: clamp(19px, 2vw, 1.9rem);
    line-height: 1.4;
  }
}

.o-cardExpert__text {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  font-weight: normal;
  max-width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.o-cardExpert__text.__extend01 {
  overflow: inherit;
  display: block;
  -webkit-box-orient: inherit;
  -webkit-line-clamp: inherit;
}

.o-cardExpert__info {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 768px) {
  .o-cardExpert__info {
    gap: 2rem;
  }
}

.o-cardExpert__infoBox {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.o-cardExpert__infoBox__sub {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: normal;
  display: flex;
  align-items: center;
  gap: 5px;
  color: #8B9AB9;
}

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

.o-cardExpert__seminar {
  width: 100%;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-weight: normal;
  display: flex;
  padding: 1rem;
  gap: 2rem;
  background-color: #F2F4F8;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  .o-cardExpert__seminar {
    flex-direction: column;
    gap: 1rem;
  }
}

.o-cardExpert__seminarTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: normal;
  padding: 2px 10px;
  background-color: #4563a2;
  color: white;
  border-radius: 0.5rem;
  white-space: nowrap;
}

.o-cardExpert__seminarList {
  max-width: 100%;
}

.o-cardExpert__seminarList__wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.o-cardExpert__seminarList__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  vertical-align: middle;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.o-cardExpert__seminarList__item::before {
  content: "";
  width: 10px;
  height: 10px;
  margin: auto;
  border: 1px solid #DEE7ED;
  border-radius: 100px;
  background-color: rgba(255, 255, 255, 0.4);
  display: inline-block;
  margin-right: 8px;
  transition: background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1), border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardExpert__seminarList__item:hover {
  text-decoration: underline;
}
.o-cardExpert__seminarList__item:hover::before {
  border: 1px solid transparent;
  background-color: #025bf1;
}

.o-cardExpert {
  transition: box-shadow 0.25s cubic-bezier(0.77, 0, 0.175, 1), border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardExpert .o-cardExpert__imgItem {
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardExpert .o-cardExpert__title {
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardExpert:hover {
  border: 1px solid #0C1F31;
  box-shadow: 0 0 12px rgba(15, 32, 56, 0.1);
}
.o-cardExpert:hover .o-cardExpert__title {
  color: #025BF1;
}
.o-cardExpert:hover .o-cardExpert__imgItem {
  transform: scale(1.05);
}

/* =========================================================
o-card -  post
============================================================*/
.o-cardPost {
  cursor: pointer;
}

.o-cardPost:nth-child(1) {
  animation-delay: 0.3s;
}

.o-cardPost:nth-child(2) {
  animation-delay: 0.6s;
}

.o-cardPost:nth-child(3) {
  animation-delay: 0.9s;
}

.o-cardPost:nth-child(4) {
  animation-delay: 1.2s;
}

.o-cardPost__wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.o-cardPost__img {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
}
.o-cardPost__img:before {
  content: "";
  display: block;
  aspect-ratio: 1.618/1;
}

.o-cardPost__imgWrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.o-cardPost__imgWrap img, .o-cardPost__imgWrap source {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

.o-cardPost__author {
  position: absolute;
  left: 5px;
  bottom: 5px;
  display: flex;
  padding: 2px;
  gap: 1px;
  align-items: center;
  border-radius: 0.5rem;
  background-color: #fff;
}

.o-cardPost__authorImg {
  aspect-ratio: 1/1;
  width: 25px;
}

.o-cardPost__authorName {
  padding: 1px 5px;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  font-weight: bold;
}

.o-cardPost__clip {
  position: absolute;
  right: 5px;
  bottom: 5px;
  padding: 5px;
  top: inherit;
}
@media (max-width: 768px) {
  .o-cardPost__clip {
    display: none;
  }
}

.o-cardPost__cont {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

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

.o-cardPost__info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.o-cardPost__info.__cat {
  color: #025BF1;
  font-weight: bold;
}
.o-cardPost__info.__tag {
  color: rgba(14, 11, 11, 0.3);
}
.o-cardPost__info.__tag .o-cardPost__infoItem::before {
  content: "\e9ef";
  font-family: "Material Icons";
}

.o-cardPost__infoItem {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .o-cardPost__infoItem {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}

.o-cardPost .o-cardPost__imgItem {
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardPost .o-cardPost__title {
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-cardPost:hover .o-cardPost__title {
  color: #025BF1;
}
.o-cardPost:hover .o-cardPost__imgItem {
  transform: scale(1.05);
}

/* =========================================================
o-list -  var
============================================================*/
/* チェックマークのリスト */
.o-listCheck {
  display: flex;
  gap: 1rem;
  flex-direction: column;
}

.o-listCheck__title {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  font-weight: normal;
  color: #8B9AB9;
}

.o-listCheck__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
@media (max-width: 768px) {
  .o-listCheck__list {
    gap: 1rem;
  }
}
.o-listCheck__list.__vertical01 {
  flex-direction: column;
}

.o-listCheck__listItem {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  font-weight: bold;
  list-style: none;
  display: flex;
  gap: 0.1rem;
}
.o-listCheck__listItem:before {
  content: "\e92d";
  font-family: "Material Icons";
  color: #00D015;
}

.o-listCheck__listItem:nth-child(1) {
  animation-delay: 0.15s;
}

.o-listCheck__listItem:nth-child(2) {
  animation-delay: 0.3s;
}

.o-listCheck__listItem:nth-child(3) {
  animation-delay: 0.45s;
}

.o-listCheck__listItem:nth-child(4) {
  animation-delay: 0.6s;
}

/* 番号丸囲いのリスト */
.o-listNum {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  counter-reset: o-listNum__item;
}
.o-listNum.__white01 {
  color: white;
}

.o-listNum__item {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 5px;
  counter-increment: o-listNum__item;
}
.o-listNum__item::before {
  content: "0" counter(o-listNum__item);
  font-family: "Space Grotesk", sans-serif, Meiryo;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  padding: 2rem;
  border: 1px solid #D9DEE9;
  border-radius: 100px;
  aspect-ratio: 1/1;
}
.o-listNum__item::before:first-of-type {
  background-color: #F2F4F8;
  color: #A9C0EE;
}

/* =========================================================
o-pagenation -  var
============================================================*/
.o-pagenation {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: bold;
  display: flex;
  gap: 4rem;
  justify-content: space-between;
}
@media (max-width: 420px) {
  .o-pagenation {
    font-size: clamp(13px, 1.5vw, 1.3rem);
    gap: 1rem;
  }
}

.o-pagenationBtn {
  cursor: pointer;
  padding: 2rem 4rem;
  white-space: pre;
}
@media (max-width: 768px) {
  .o-pagenationBtn {
    padding: 2rem 2rem;
  }
}
@media (max-width: 591px) {
  .o-pagenationBtn {
    padding: 1rem 1.5rem;
  }
}
.o-pagenationBtn.__deactive {
  opacity: 0.3;
  filter: grayscale(100%);
  transform: translateZ(0);
  cursor: not-allowed;
}
.o-pagenationBtn::before, .o-pagenationBtn::after {
  color: #025BF1;
}

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

.o-pagenationNum {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}

.o-pagenationNum__select {
  position: relative;
  padding: auto;
}
.o-pagenationNum__select::before {
  content: "\e313";
  font-family: "Material Icons";
  color: rgba(14, 11, 11, 0.3);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
}

.o-pagenationNum__selectForm {
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 6rem 2rem 2rem;
}
@media (max-width: 591px) {
  .o-pagenationNum__selectForm {
    padding: 1rem 4rem 1rem 2rem;
  }
}

.o-pagenationNum__parameter {
  white-space: pre;
}

/* =========================================================
o-pagenation -  options
============================================================*/
/* =========================================================
o-sortbox -  base
============================================================*/
@media (max-width: 1080px) {
  .l-secSub__wrap .o-sortbox {
    display: none;
  }
}

/* =========================================================
o-sortbox -  var
============================================================*/
.o-sortbox {
  width: 100%;
  height: 100vh;
  overflow: scroll;
  color: white;
  background-color: #0F2038;
  border-radius: 0.5rem;
}

.o-sortboxItem {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 2rem;
}
.o-sortboxItem:not(:last-of-type) {
  border-bottom: 1px solid #202F46;
}

.o-sortboxTitle {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  color: #A9C0EE;
}

.o-sortboxList {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.o-sortboxItem__select {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  color: #0F2038;
  background-color: #fff;
  border-radius: 0.5rem;
  position: relative;
  padding: auto;
}
.o-sortboxItem__select::before {
  content: "\e313";
  font-family: "Material Icons";
  color: #A9C0EE;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
}

.o-sortboxItem__selectForm {
  width: calc(100% - 25px);
  padding: 2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.o-sortboxList__item {
  cursor: pointer;
}

.o-sortboxList__itemText {
  display: flex;
  gap: 10px;
  align-items: center;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-sortboxList__itemText::before {
  content: "\e5ca";
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-family: "Material Icons";
  opacity: 0.1;
  color: white;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.o-sortboxList__itemText:hover {
  opacity: 1;
}

.o-sortboxList__itemInput {
  display: none;
}
.o-sortboxList__itemInput:checked + .o-sortboxList__itemText::before {
  opacity: 1;
  color: #025BF1;
}
.o-sortboxList__itemInput:not(:checked) + .o-sortboxList__itemText {
  opacity: 0.3;
}
.o-sortboxList__itemInput:hover + .o-sortboxList__itemText {
  opacity: 1;
}
.o-sortboxList__itemInput:hover + .o-sortboxList__itemText::before {
  opacity: 1;
}

/* =========================================================
o-about -  var
============================================================*/
.o-aboutCont {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1080px) {
  .o-aboutCont {
    gap: 2rem;
  }
}

.o-aboutTitle {
  display: flex;
  justify-content: center;
  font-size: clamp(21px, 2vw, 2.1rem);
  line-height: 1.5;
}
@media (max-width: 1080px) {
  .o-aboutTitle {
    display: block;
    text-align: left;
    font-size: clamp(19px, 2vw, 1.9rem);
    line-height: 1.4;
  }
}

.o-aboutFlow {
  counter-reset: o-aboutFlow__img;
}
@media (max-width: 1080px) {
  .o-aboutFlow {
    overflow-x: scroll;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.o-aboutFlow__list {
  display: flex;
  gap: 2rem;
}
@media (max-width: 1080px) {
  .o-aboutFlow__list {
    min-width: 200vw;
  }
}
@media (max-width: 591px) {
  .o-aboutFlow__list {
    min-width: 250vw;
  }
}

.o-aboutFlow__box {
  width: calc(25% - 1.5rem);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  counter-increment: o-aboutFlow__img;
}
@media (max-width: 1080px) {
  .o-aboutFlow__box {
    width: calc(50% - 1.5rem);
  }
}

.o-aboutFlow__box:nth-child(1) {
  animation-delay: 0.15s;
}

.o-aboutFlow__box:nth-child(2) {
  animation-delay: 0.3s;
}

.o-aboutFlow__box:nth-child(3) {
  animation-delay: 0.45s;
}

.o-aboutFlow__box:nth-child(4) {
  animation-delay: 0.6s;
}

.o-aboutFlow__img {
  position: relative;
  overflow: hidden;
}
.o-aboutFlow__img:before {
  content: "";
  display: block;
  padding-top: 50%;
}

.o-aboutFlow__imgWrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.o-aboutFlow__imgWrap::after {
  content: "0" counter(o-aboutFlow__img);
  position: absolute;
  left: 5px;
  bottom: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
  width: 50px;
  color: white;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-family: "Space Grotesk", sans-serif, Meiryo;
  aspect-ratio: 1/1;
  background-color: #0F2038;
  border-radius: 0.5rem;
  mix-blend-mode: hard-light;
}
.o-aboutFlow__imgWrap img, .o-aboutFlow__imgWrap source {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

.o-aboutFlow__cont {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 768px) {
  .o-aboutFlow__cont {
    gap: 0.5rem;
  }
}

.o-aboutFlow__contTitle {
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
}

.o-aboutFlow__contText {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  font-weight: normal;
}
@media (max-width: 768px) {
  .o-aboutFlow__contText {
    font-size: clamp(13px, 1.5vw, 1.3rem);
    line-height: 1.4;
  }
}

.o-aboutWarn {
  display: flex;
  justify-content: center;
  padding: 10px 2rem;
  background-color: #F2F4F8;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: normal;
}
@media (max-width: 1080px) {
  .o-aboutWarn {
    display: block;
    text-align: center;
  }
}
@media (max-width: 591px) {
  .o-aboutWarn {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

/* =========================================================
o-find -  var
============================================================*/
.o-findWrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.o-findHead {
  display: flex;
  gap: 4rem;
  align-items: center;
}
@media (max-width: 1080px) {
  .o-findHead {
    gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
  }
}

.o-findHead__title {
  font-size: clamp(21px, 2vw, 2.1rem);
  line-height: 1.5;
}

.o-findCont {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  background-color: #F2F4F8;
  padding: 4rem;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  .o-findCont {
    padding: 0;
    gap: 1rem;
    background-color: transparent;
  }
}
.o-findCont.__noBox {
  padding: 4rem 0;
  background-color: transparent;
}
@media (max-width: 1080px) {
  .o-findCont.__noBox {
    padding: 2rem 0;
  }
}
@media (max-width: 768px) {
  .o-findCont.__noBox {
    padding: 1rem 0;
  }
}

.o-findCont__footer {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .o-findCont__footer {
    flex-direction: column;
    gap: 1rem;
    align-items: end;
  }
}

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

.o-findCont__footerLink {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  width: -moz-fit-content;
  width: fit-content;
  padding: 2rem 0;
}

/* =========================================================
o-modal -  base
============================================================*/
.o-modal {
  position: fixed;
  display: flex;
  width: 100vw;
  height: 100vh;
  overflow: scroll;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  padding: 6rem 0;
  border: none;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.5s, z-index 0.5s;
  background-color: rgba(255, 255, 255, 0.01);
}
@media (max-width: 768px) {
  .o-modal {
    padding: 2rem 0;
  }
}

.o-modalOverlay {
  /*　要素を重ねた時の順番　*/
  z-index: 1;
  /*スクロール*/
  height: 100%;
  overflow: scroll;
  /*　画面全体を覆う設定　*/
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  transform: translateZ(0);
  background-color: rgba(15, 32, 56, 0.85);
}

.o-modalCont {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.o-modalClose {
  position: fixed;
  z-index: 2;
  top: 4rem;
  margin: auto;
  right: 2rem;
  height: 60px;
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 768px) {
  .o-modalClose {
    top: initial;
    bottom: 0;
    right: 0;
    padding: 32px 0;
    height: 64px;
    aspect-ratio: 1/1;
    background-color: #0F2038;
    border-radius: 0.5rem;
  }
}
.o-modalClose::before, .o-modalClose::after {
  content: "";
  position: relative;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 1px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  background-color: #fff;
  cursor: pointer;
  transform: rotate(45deg);
}
@media (max-width: 768px) {
  .o-modalClose::before, .o-modalClose::after {
    width: 32px;
    margin: auto;
  }
}
.o-modalClose::after {
  transform: rotate(-45deg);
}
.o-modalClose:hover {
  transform: scale(1.1);
}

.o-modalBox {
  margin: auto;
  max-width: 600px;
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
  background: #fff;
  padding: 4rem;
}
@media (max-width: 768px) {
  .o-modalBox {
    width: calc(100% - 50px);
  }
}
@media (max-width: 591px) {
  .o-modalBox {
    width: calc(100% - 25px);
    padding: 2rem;
  }
}

.o-modalTitle {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}
.o-modalTitle.__center {
  text-align: center;
}

.o-modalTitle__sub.__bg01 {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  padding: 1rem 2rem;
  background-color: #F2F4F8;
  border-radius: 0.5rem;
}

.o-modalImg.__recruit01 {
  overflow: hidden;
  border-radius: 0.5rem;
  aspect-ratio: 16/9;
}
.o-modalImg.__recruit01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* =========================================================
o-modal -  var
============================================================*/
.o-modal.__signup01 .o-mySignin {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 80px;
}
.o-modal.__signup01 .o-mySignin__img {
  top: -150px;
  max-width: 440px;
  position: relative;
  margin: 0 auto -180px;
}
.o-modal.__login01 .o-modalBox {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.o-modal.__cta01 .o-modalBox {
  padding: 0;
  background: transparent;
}
.o-modal.__sort01 {
  padding: 0;
}
.o-modal.__sort01 .o-modalOverlay {
  background-color: rgba(255, 255, 255, 0.55);
}
.o-modal.__sort01 .o-modalCont {
  width: 100%;
  height: 100%;
  background-color: #0F2038;
  max-width: 280px;
  margin-top: initial;
  margin-left: initial;
}
.o-modal.__sort01 .o-modalBox {
  background: #0F2038;
  padding: 1rem;
  width: 100%;
}

/* =========================================================
o-modal -  animation
============================================================*/
html.is_open, body.is_open {
  overflow: hidden;
}

.o-modal.is_open {
  animation: modalShow 0.5s ease forwards;
}
.o-modal.is_open .o-modalCont {
  animation: modalShow__cont01 0.5s ease forwards;
}
.o-modal.is_close {
  animation: modalClose 0.5s ease forwards;
}
.o-modal.is_close .o-modalCont {
  animation: modalClose__cont01 0.5s ease forwards;
}
.o-modal.__mobileNav.is_open .o-modalCont {
  animation: modalShow__cont02 0.5s ease forwards;
}
.o-modal.__mobileNav.is_close .o-modalCont {
  animation: modalClose__cont02 0.5s ease forwards;
}
.o-modal.__sort01.is_open .o-modalCont {
  animation: modalShow__cont03 0.5s ease forwards;
}
.o-modal.__sort01.is_close .o-modalCont {
  animation: modalClose__cont03 0.5s ease forwards;
}

@keyframes modalShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    z-index: 10;
  }
}
@keyframes modalShow__cont01 {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes modalShow__cont02 {
  0% {
    opacity: 0;
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes modalShow__cont03 {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes modalClose {
  0% {
    z-index: 10;
    opacity: 1;
  }
  100% {
    opacity: 0;
    z-index: -1;
  }
}
@keyframes modalClose__cont01 {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    transform: translateY(-30px);
    opacity: 0;
  }
}
@keyframes modalClose__cont02 {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    transform: translateX(30px);
    opacity: 0;
  }
}
@keyframes modalClose__cont03 {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    transform: translateX(-30px);
    opacity: 0;
  }
}
/* =========================================================
o-my -  sign in
============================================================*/
.o-mySignin {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.o-mySignin__img.__style01 {
  max-width: 580px;
  top: -200px;
  position: relative;
  margin-top: 200px;
  margin-bottom: -230px;
  margin-left: auto;
  margin-right: auto;
}

.o-mySignin__desc {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

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

.o-mySignin__text {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: normal;
}

.o-mySignin__flow {
  position: relative;
  top: 20px;
  display: flex;
  justify-content: center;
  gap: 2rem;
  counter-reset: o-mySignin__flowItem;
}
.o-mySignin__flow::before {
  content: "";
  position: absolute;
  top: -7px;
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 100px;
  background-color: #F2F4F8;
}

.o-mySignin__flowItem {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  counter-increment: o-mySignin__flowItem;
}
.o-mySignin__flowItem::before {
  content: "";
  position: relative;
  margin: auto;
  left: 0;
  right: 0;
  top: -15px;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 100px;
  border: 1px solid #D9DEE9;
  background-color: #fff;
}
.o-mySignin__flowItem.__active::before {
  background: linear-gradient(to right bottom, #025bf1, #4563a2);
  animation: pulse-blue 4s linear infinite;
}

.o-mySignin__flowItem__text {
  display: flex;
  align-items: center;
}
.o-mySignin__flowItem__text::before {
  content: counter(o-mySignin__flowItem) ".";
  font-family: "Space Grotesk", sans-serif, Meiryo;
}

/* =========================================================
o-bread -  login
============================================================*/
.o-myLogin__about {
  display: flex;
  gap: 2rem;
}
@media (max-width: 768px) {
  .o-myLogin__about {
    flex-direction: column;
  }
}

.o-myLogin__aboutImg {
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F2F4F8;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  .o-myLogin__aboutImg {
    padding: 2rem;
    background-color: #fff;
  }
}

.o-myLogin__aboutImg__item {
  width: 150px;
  white-space: pre;
}
@media (max-width: 768px) {
  .o-myLogin__aboutImg__item {
    width: 100px;
  }
}

.o-myLogin__aboutDesc {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0;
}
@media (max-width: 768px) {
  .o-myLogin__aboutDesc {
    padding: 0;
  }
}

.o-myLogin__aboutDesc__text {
  font-weight: normal;
}

/* =========================================================
o-cta -  base
============================================================*/
@media (max-width: 1080px) {
  body.p-seminarIndex .o-ctaFixed:not(.__sort01),
  body.p-expertIndex .o-ctaFixed:not(.__sort01),
  body.p-articleIndex .o-ctaFixed:not(.__sort01) {
    display: none;
  }
}
body.p-seminarIndex .o-ctaFixed.__sort01,
body.p-expertIndex .o-ctaFixed.__sort01,
body.p-articleIndex .o-ctaFixed.__sort01 {
  display: none;
}
@media (max-width: 1080px) {
  body.p-seminarIndex .o-ctaFixed.__sort01,
  body.p-expertIndex .o-ctaFixed.__sort01,
  body.p-articleIndex .o-ctaFixed.__sort01 {
    display: block;
  }
}

@media (max-width: 1080px) {
  body.p-seminarShow .o-ctaFixed:not(.__cv01),
  body.p-expertShow .o-ctaFixed:not(.__cv01),
  body.p-articleShow .o-ctaFixed:not(.__cv01) {
    display: none;
  }
}
body.p-seminarShow .o-ctaFixed.__cv01,
body.p-expertShow .o-ctaFixed.__cv01,
body.p-articleShow .o-ctaFixed.__cv01 {
  display: none;
}
@media (max-width: 1080px) {
  body.p-seminarShow .o-ctaFixed.__cv01,
  body.p-expertShow .o-ctaFixed.__cv01,
  body.p-articleShow .o-ctaFixed.__cv01 {
    display: block;
  }
}

body.p-inquiry .o-ctaFixed,
body.p-mypageLogin .o-ctaFixed {
  display: none;
}

body.p-pageService .o-ctaFixed:not(.__contact01),
body.p-pageTerms .o-ctaFixed:not(.__contact01) {
  display: none;
}

/* =========================================================
o-cta -  var
============================================================*/
.o-ctaModal {
  position: relative;
  display: flex;
}
.o-ctaModal.__consult01 {
  max-width: 800px;
  margin: auto;
}
@media (max-width: 768px) {
  .o-ctaModal.__consult01 {
    flex-direction: column;
  }
}
.o-ctaModal.__seminarApplication01 {
  max-width: 800px;
  margin: auto;
}
@media (max-width: 768px) {
  .o-ctaModal.__seminarApplication01 {
    flex-direction: column;
  }
}

.o-ctaModal__desc,
.o-ctaModal__form {
  width: 50%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 4rem;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  .o-ctaModal__desc,
  .o-ctaModal__form {
    width: 100%;
    gap: 1rem;
    padding: 3rem 2rem;
  }
}

.o-ctaModal__desc {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  color: white;
  background-color: #0F2038;
}
@media (max-width: 768px) {
  .o-ctaModal__desc {
    border-radius: 1rem 1rem 0 0;
  }
}

.o-ctaModal__descWrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.o-ctaModal__descWrap.__sticky01 {
  position: sticky;
  top: 2rem;
}

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

.o-ctaModal__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  counter-reset: o-ctaModal__listItem;
}

.o-ctaModal__listItem {
  display: flex;
  gap: 10px;
  align-items: center;
  counter-increment: o-ctaModal__listItem;
}
.o-ctaModal__listItem::before {
  content: "0" counter(o-ctaModal__listItem);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  width: 40px;
  height: 40px;
  padding: 0.5rem;
  font-family: "Space Grotesk", sans-serif, Meiryo;
  color: #A9C0EE;
  border: 1px solid #202F46;
  border-radius: 100px;
}
.o-ctaModal__listItem:first-of-type::before {
  color: white;
  background-color: #32445F;
}
.o-ctaModal__listItem:first-of-type::after {
  content: "";
  width: 40px;
  height: 40px;
  border-radius: 100px;
  position: absolute;
  animation: pulse-blue 4s linear infinite;
}

.o-ctaModal__text {
  font-weight: normal;
}

.o-ctaModal__img {
  position: relative;
  overflow: hidden;
}
.o-ctaModal__img:before {
  content: "";
  display: block;
  padding-top: 30%;
}

.o-ctaModal__imgItem {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

.o-ctaModal__form {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  top: 1rem;
  right: 1rem;
  z-index: 1;
  background-color: #fff;
}
@media (max-width: 768px) {
  .o-ctaModal__form {
    top: 0;
    right: 0;
    gap: 2rem;
    padding-bottom: 6rem;
    border-radius: 0 0 1rem 1rem;
  }
}

.o-ctaModal__checkbox {
  padding: 0;
  gap: 1rem;
  border: none;
  background-color: transparent;
}

/* 追尾CTA
--------------------------------------------------------- */
.o-ctaFixed {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 1;
}
@media (max-width: 591px) {
  .o-ctaFixed {
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
  }
}

.o-ctaFixed__wrap {
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 4px 6px 12px rgba(15, 32, 56, 0.09);
  display: flex;
  padding: 1rem;
  gap: 0.5rem;
}

.o-ctaFixed__btn {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  padding: 1rem 2rem;
}
@media (max-width: 1080px) {
  .o-ctaFixed__btn {
    width: 100% !important;
  }
}
@media (max-width: 1080px) {
  .o-ctaFixed__btn.__pagetop {
    display: none;
  }
}
@media (max-width: 1080px) {
  .o-ctaFixed__btn.__save {
    white-space: pre;
    width: -moz-fit-content !important;
    width: fit-content !important;
  }
}

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

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

.l-mvDesc__catch {
  position: relative;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
  color: #8B9AB9;
  border-radius: 0.5rem;
  background-color: #0F2038;
  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 #0F2038;
  width: 0;
  height: 0;
  border-radius: 0.5rem;
}

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

.l-mvDesc__title {
  font-size: clamp(32px, 4vw, 48px);
  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: 1rem;
}
@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;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
  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: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #8B9AB9;
  background: linear-gradient(to right bottom, #025BF1, #00D015);
}
@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;
}
@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: "Space Grotesk", sans-serif, Meiryo;
}
@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(4rem, 4vw, 6rem);
  padding-bottom: clamp(4rem, 4vw, 6rem);
}
@media (max-width: 1280px) {
  .l-mv.__top01 .l-mvWrap {
    padding-bottom: 0;
    flex-direction: row;
    align-items: center;
  }
}
@media (max-width: 1080px) {
  .l-mv.__top01 .l-mvWrap {
    height: auto;
  }
}
@media (max-width: 591px) {
  .l-mv.__top01 .l-mvWrap {
    gap: 0;
  }
}
@media (max-width: 500px) {
  .l-mv.__top01 .l-mvWrap {
    display: block;
    margin-bottom: -110px;
    width: 100%;
  }
}
@media (max-width: 591px) {
  .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: flex;
  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: 591px) {
  .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;
    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 {
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-name: slideAnime;
  animation-timing-function: ease;
  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 {
    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 {
    transform: scale(1.05);
  }
}
.l-mv.__top01 .l-mvImg__wrap.__slide01 img {
  animation-delay: 0s;
}
.l-mv.__top01 .l-mvImg__wrap.__slide02 img {
  animation-delay: 5s;
}
.l-mv.__top01 .l-mvImg__wrap.__slide03 img {
  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(8rem, 4vw, 10rem);
  padding-bottom: clamp(8rem, 4vw, 10rem);
}
@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 {
  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;
    flex-direction: column;
  }
}
.l-mv.__product01 .l-mvDesc {
  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;
    flex-direction: column;
  }
}
.l-mv.__product01 .l-mvImg::before {
  content: none;
}
.l-mv.__product01 .l-mvImg__wrap {
  position: relative;
}

/* サンプル画像 */
.l-mv.__sample01 .l-mvWrap {
  flex-direction: row-reverse;
}
@media (max-width: 1080px) {
  .l-mv.__sample01 .l-mvWrap {
    flex-direction: column;
  }
}
.l-mv.__sample01 .l-mvImg {
  right: 0;
  display: flex;
  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 {
  align-items: center;
  margin-bottom: 0px !important;
  flex-direction: row-reverse;
}
@media (max-width: 1360px) {
  .l-mv.__corplp01 .l-mvWrap {
    gap: 1rem;
  }
}
@media (max-width: 1080px) {
  .l-mv.__corplp01 .l-mvWrap {
    flex-direction: column;
  }
}
@media (max-width: 591px) {
  .l-mv.__corplp01 .l-mvWrap {
    gap: 0;
  }
}
.l-mv.__corplp01 .l-mvDesc {
  flex: 1;
  min-width: 420px;
}
@media (max-width: 1080px) {
  .l-mv.__corplp01 .l-mvDesc {
    text-align: center;
    min-width: inherit;
  }
}
@media (max-width: 591px) {
  .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;
    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: linear-gradient(to bottom, rgba(242, 244, 248, 0.5), #fff);
  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-cont.__tinymtb,
.l-contWrap.__tinymtb {
  margin-top: clamp(1rem, 4vw, 2rem);
  margin-bottom: clamp(1rem, 4vw, 2rem);
}
.l-cont.__minmtb,
.l-contWrap.__minmtb {
  margin-top: clamp(2rem, 4vw, 4rem);
  margin-bottom: clamp(2rem, 4vw, 4rem);
}
.l-cont.__midmtb,
.l-contWrap.__midmtb {
  margin-top: clamp(4rem, 4vw, 6rem);
  margin-bottom: clamp(4rem, 4vw, 6rem);
}
.l-cont.__largemtb,
.l-contWrap.__largemtb {
  margin-top: clamp(6rem, 4vw, 8rem);
  margin-bottom: clamp(6rem, 4vw, 8rem);
}
.l-cont.__bigmtb,
.l-contWrap.__bigmtb {
  margin-top: clamp(8rem, 4vw, 10rem);
  margin-bottom: clamp(8rem, 4vw, 10rem);
}
.l-cont.__hugemtb,
.l-contWrap.__hugemtb {
  margin-top: clamp(10rem, 6vw, 15rem);
  margin-bottom: clamp(10rem, 6vw, 15rem);
}
.l-cont.__tinyptb,
.l-contWrap.__tinyptb {
  padding-top: clamp(1rem, 4vw, 2rem);
  padding-bottom: clamp(1rem, 4vw, 2rem);
}
.l-cont.__minptb,
.l-contWrap.__minptb {
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 4rem);
}
.l-cont.__midptb,
.l-contWrap.__midptb {
  padding-top: clamp(4rem, 4vw, 6rem);
  padding-bottom: clamp(4rem, 4vw, 6rem);
}
.l-cont.__largeptb,
.l-contWrap.__largeptb {
  padding-top: clamp(6rem, 4vw, 8rem);
  padding-bottom: clamp(6rem, 4vw, 8rem);
}
.l-cont.__bigptb,
.l-contWrap.__bigptb {
  padding-top: clamp(8rem, 4vw, 10rem);
  padding-bottom: clamp(8rem, 4vw, 10rem);
}
.l-cont.__hugeptb,
.l-contWrap.__hugeptb {
  padding-top: clamp(10rem, 6vw, 15rem);
  padding-bottom: clamp(10rem, 6vw, 15rem);
}

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

.l-contTitle {
  position: relative;
  font-size: clamp(21px, 2vw, 2.1rem);
  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: #025BF1;
  border-radius: 100px;
}

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

/* =========================================================
l-cont var
========================================================= */
.l-contBg {
  position: fixed;
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.l-contBg__img.__bg01 {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
  mix-blend-mode: overlay;
  animation: l-contBg 12s linear infinite;
}
.l-contBg__img.__logo01 {
  position: fixed;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  mix-blend-mode: hue;
  z-index: -2;
  opacity: 0.035;
}
@media (max-width: 768px) {
  .l-contBg__img.__logo01 {
    opacity: 0.035;
  }
}

@keyframes l-contBg {
  0% {
    opacity: 0.005;
  }
  50% {
    opacity: 0.15;
  }
  100% {
    opacity: 0.005;
  }
}
.l-contBg__circles {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 0;
}

.l-contBg__circlesArea {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.l-contBg__circlesItem {
  position: absolute;
  display: block;
  list-style: none;
  width: 500px !important;
  height: 500px !important;
  background: rgba(255, 255, 255, 0.01);
  opacity: 0;
  animation: l-contBg__circle 50s linear infinite;
  bottom: -150px;
}

.l-contBg__circlesItem:nth-child(1) {
  left: 15%;
  width: 80px;
  height: 80px;
  animation-delay: 0s;
}
.l-contBg__circlesItem:nth-child(2) {
  left: 1%;
  width: 20px;
  height: 20px;
  animation-delay: 2s;
  animation-duration: 32s;
}
.l-contBg__circlesItem:nth-child(3) {
  left: 70%;
  width: 20px;
  height: 20px;
  animation-delay: 4s;
}
.l-contBg__circlesItem:nth-child(4) {
  left: 40%;
  width: 60px;
  height: 60px;
  animation-delay: 0s;
  animation-duration: 48s;
}
.l-contBg__circlesItem:nth-child(5) {
  left: 65%;
  width: 20px;
  height: 20px;
  animation-delay: 0s;
}
.l-contBg__circlesItem:nth-child(6) {
  left: 75%;
  width: 110px;
  height: 110px;
  animation-delay: 3s;
}
.l-contBg__circlesItem:nth-child(7) {
  left: 20%;
  width: 150px;
  height: 150px;
  animation-delay: 7s;
}
.l-contBg__circlesItem:nth-child(8) {
  left: 50%;
  width: 25px;
  height: 25px;
  animation-delay: 15s;
  animation-duration: 45s;
}
.l-contBg__circlesItem:nth-child(9) {
  left: 20%;
  width: 15px;
  height: 15px;
  animation-delay: 2s;
  animation-duration: 35s;
}
.l-contBg__circlesItem:nth-child(10) {
  left: 85%;
  width: 150px;
  height: 150px;
  animation-delay: 0s;
  animation-duration: 21s;
}

@keyframes l-contBg__circle {
  0% {
    transform: translateY(0) rotate(0deg);
    border-radius: 2px;
    opacity: 0;
  }
  20% {
    transform: translateY(0) rotate(0deg);
    border-radius: 2px;
    opacity: 1;
  }
  90% {
    transform: translateY(-2000px) rotate(180deg);
    border-radius: 0.5rem;
    opacity: 1;
  }
  100% {
    transform: translateY(-2000px) rotate(180deg);
    border-radius: 0.5rem;
    opacity: 0;
  }
}
/* =========================================================
l-sec style
========================================================= */
.l-sec {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media (max-width: 768px) {
  .l-sec {
    gap: 4rem;
  }
}
@media (max-width: 591px) {
  .l-sec {
    gap: 2rem;
  }
}

.l-secflex {
  width: 100%;
}
.l-secflex.__2 {
  display: flex;
  gap: 50px;
}
@media (max-width: 1280px) {
  .l-secflex.__2 {
    gap: 25px;
  }
}
@media (max-width: 1080px) {
  .l-secflex.__2 {
    flex-direction: column;
  }
}
.l-secflex.__reverse {
  flex-direction: row-reverse;
}
@media (max-width: 1080px) {
  .l-secflex.__reverse {
    flex-direction: column;
  }
}

.l-secMain {
  width: 100%;
  max-width: 100%;
  flex-grow: 1;
}

.l-secSub {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: clamp(250px, 22vw, 350px);
}
@media (max-width: 1080px) {
  .l-secSub {
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
  }
}

.l-secSub__wrap {
  position: sticky;
  top: 50px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
.l-secSub__wrap.__topNone {
  top: 0px;
}

.l-secMain.__1column {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.l-secMain.__1column.__size01 {
  max-width: 720px;
}
.l-secMain.__1column.__size02 {
  max-width: 560px;
}

/* =========================================================
l-sec var
========================================================= */
.l-secMain__cont {
  padding: 4rem;
  border-radius: 1rem;
}
@media (max-width: 1080px) {
  .l-secMain__cont {
    padding: 2rem;
  }
}
@media (max-width: 591px) {
  .l-secMain__cont {
    padding: 25px;
  }
}
.l-secMain__cont.__white01 {
  background-color: #fff;
}
.l-secMain__cont.__noresult {
  background-color: #fff;
}

.l-secHead {
  width: 100%;
}
.l-secHead.__page {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.l-secHead__title {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.4;
  letter-spacing: 1px;
}

.l-secHead__text {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: normal;
}

.l-secMain.__postDetail01 {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.l-secMain.__seminarDetail01 {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.l-secMain.__expertDetail01 {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1080px) {
  .l-secMain.__expertDetail01 {
    gap: 2rem;
  }
}
.l-secMain.__archive01 {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

/* =========================================================
l-footer base
========================================================= */
body.p-mypageLogin .l-footer,
body.p-mypageRegister .l-footer,
body.p-inquiry .l-footer,
body.p-inquiryThanks .l-footer {
  margin-top: 0px;
}
body.p-mypageLogin .l-footerCta,
body.p-mypageRegister .l-footerCta,
body.p-inquiry .l-footerCta,
body.p-inquiryThanks .l-footerCta {
  display: none;
}

/* =========================================================
l-footer style
========================================================= */
.l-footer {
  position: relative;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  color: white;
  border-radius: 1rem 1rem 0 0;
  background-color: #0F2038;
  z-index: 0;
  margin-top: 25vh;
  mix-blend-mode: multiply;
}
@media (max-width: 768px) {
  .l-footer {
    margin-top: 15vh;
  }
}
.l-footer::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
}

.l-footerCont {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.l-footerLogo {
  display: flex;
  justify-content: center;
}

.l-footerNav {
  font-weight: normal;
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: center;
}
.l-footerNav.__main:hover .l-footerNav__link {
  opacity: 0.3;
}
.l-footerNav.__main .l-footerNav__link {
  color: white;
}
.l-footerNav.__main .l-footerNav__link:hover {
  opacity: 1;
}
.l-footerNav.__sub {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
}
.l-footerNav.__sub:hover .l-footerNav__link {
  opacity: 0.3;
}
.l-footerNav.__sub .l-footerNav__link {
  color: #8B9AB9;
  opacity: 0.6;
}
.l-footerNav.__sub .l-footerNav__link:hover {
  opacity: 1;
}

.l-footerCopy {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  font-weight: normal;
  color: rgba(139, 154, 185, 0.6);
  display: flex;
  justify-content: center;
}

.l-footerCta {
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: calc(100% - 100px);
  margin-left: auto;
  margin-right: auto;
  border-radius: 1rem;
  box-shadow: 0 24px 24px rgba(3, 11, 23, 0.11);
  /*ずらし用*/
  top: -15vh;
  margin-top: 15vh;
  margin-bottom: -15vh;
}
@media (max-width: 1080px) {
  .l-footerCta {
    width: calc(100% - 25px);
  }
}
@media (max-width: 1080px) {
  .l-footerCta {
    top: -10vh;
    margin-top: 10vh;
    margin-bottom: -10vh;
  }
}
.l-footerCta::before, .l-footerCta::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}
.l-footerCta::before {
  content: "";
  background-image: url("../images/bg_cta01.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}
@media (max-width: 768px) {
  .l-footerCta::before {
    background-size: cover;
    background-position: top;
  }
}
@media (max-width: 591px) {
  .l-footerCta::before {
    background-size: contain;
  }
}
.l-footerCta::after {
  content: "";
  background-color: rgba(3, 11, 23, 0.91);
  background: linear-gradient(to bottom right, rgba(3, 11, 23, 0.41) 0%, rgb(3, 11, 23) 50%, rgb(3, 11, 23) 100%);
  mix-blend-mode: hard-light;
  z-index: 1;
}
@media (max-width: 768px) {
  .l-footerCta::after {
    mix-blend-mode: inherit;
    background: linear-gradient(to bottom, rgba(3, 11, 23, 0.41) 0%, rgba(3, 11, 23, 0.9) 40%, rgb(3, 11, 23) 55%);
  }
}

.l-footerCta__wrap {
  position: relative;
  z-index: 2;
  padding: 15vh 4rem;
}
@media (max-width: 1080px) {
  .l-footerCta__wrap {
    padding: 10vh 4rem;
  }
}
@media (max-width: 768px) {
  .l-footerCta__wrap {
    padding: 20vh 4rem 4rem;
  }
}

.l-footerCta__box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

.l-footerCta__title {
  font-size: clamp(21px, 2vw, 2.1rem);
  line-height: 1.5;
  text-shadow: 0 1px 5px rgba(15, 32, 56, 0.9);
}

.l-footerCta__text {
  font-weight: normal;
  text-shadow: 0 1px 5px rgba(15, 32, 56, 0.9);
  transition: opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.l-footerCta__text.__link:hover {
  opacity: 0.8 !important;
  text-decoration: underline;
}

@media (max-width: 1080px) {
  .l-footerCta__btn {
    width: 100%;
  }
}

/* =========================================================
l-header- style
========================================================= */
.l-header {
  position: relative;
  z-index: 5;
}

.l-headerWrap {
  display: flex;
  gap: 6rem;
}

.l-headerLogo {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 768px) {
  .l-headerLogo__item {
    width: clamp(120px, 4vw, 160px);
  }
}

.l-headerLogo__desc {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  font-weight: normal;
  color: #8B9AB9;
}

.l-headerNav {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 768px) {
  .l-headerNav {
    display: none;
  }
}
@media (max-width: 1080px) {
  .l-headerNav.__sub {
    display: none;
  }
}

.l-headerNav__desc {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  font-weight: normal;
  color: #8B9AB9;
}

.l-headerNav__list {
  display: flex;
  gap: 2rem;
}

.l-headerNav__listLink {
  padding: 0 0 2rem 0;
  display: block;
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  position: relative;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.l-headerNav__listLink::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #025BF1;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1) 0.15s;
}
.l-headerNav__listLink:hover {
  color: #025BF1;
}
.l-headerNav__listLink:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.l-headerBtns {
  display: flex;
  gap: 1px;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}

.l-headerBtns__item {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 2rem 2rem;
}
@media (max-width: 768px) {
  .l-headerBtns__item.__login {
    display: none !important;
  }
}
.l-headerBtns__item.__consult::before {
  color: #025BF1;
}
@media (max-width: 991px) {
  .l-headerBtns__item.__consult {
    display: none !important;
  }
}
.l-headerBtns__item.__spmenu {
  display: none;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 768px) {
  .l-headerBtns__item.__spmenu {
    display: flex;
    padding: 1rem;
  }
}

.l-headerBtns__bar {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 16px;
}

.l-headerBtns__barItem {
  width: 100%;
  height: 1px;
  background-color: #0F2038;
}
.l-headerBtns__barItem:nth-child(2) {
  background-color: #1E3B6C;
}
.l-headerBtns__barItem:nth-child(3) {
  background-color: #4563A2;
}
.l-headerBtns__barItem:nth-child(4) {
  background-color: #7B93C5;
}

.l-headerMypage {
  position: relative;
}
@media (max-width: 768px) {
  .l-headerMypage {
    display: none !important;
  }
}

.l-headerMypage__cont {
  display: none;
  position: absolute;
  z-index: 1;
  width: 100%;
  top: auto;
  left: 50%;
  transform: translateX(-50%);
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border-radius: 0.5rem;
  background-color: #F2F4F8;
}

.l-headerMypage__nav {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

.l-headerMypage__nav__item {
  display: flex;
  gap: 5px;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.l-headerMypage__nav__item:hover {
  color: #025BF1;
}

.l-headerMypage__nav__itemUnit {
  color: #025BF1;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}

/* =========================================================
l-header- style
========================================================= */
/* cocoon style
--------------------------------------------------------- */
/* nav sp
--------------------------------------------------------- */
.l-navSp__cont {
  position: absolute;
  margin: inherit;
  top: 1rem;
  right: 1rem;
  bottom: 1rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 2rem;
  width: 100%;
  max-width: 280px;
  border-radius: 0.5rem;
  background-color: #fff;
}

.l-navSp__close {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  display: flex;
  gap: 1rem;
  align-items: center;
  width: 100%;
  justify-content: flex-end;
}

.l-navSp__closeBar {
  position: relative;
  width: 16px;
  height: 16px;
}
.l-navSp__closeBar::before, .l-navSp__closeBar::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 2px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  background-color: #0F2038;
  cursor: pointer;
  transform: rotate(45deg);
}
.l-navSp__closeBar::after {
  transform: rotate(-45deg);
  background-color: #7B93C5;
}
.l-navSp__closeBar:hover {
  transform: scale(1.1);
}

.l-navSp__menu {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.l-navSp__menu.__main01 {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
}
.l-navSp__menu.__main01 .l-navSp__menuItem {
  justify-content: space-between;
}
.l-navSp__menu.__main01 .l-navSp__menuItem::after {
  content: "\f1df";
  font-family: "Material Icons";
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.l-navSp__menu.__main01 .l-navSp__menuItem:hover {
  color: #025BF1;
}
.l-navSp__menu.__main01 .l-navSp__menuItem:hover::after {
  opacity: 1;
}
.l-navSp__menu.__sub01 {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-weight: normal;
}
.l-navSp__menu.__sub01:hover .l-navSp__menuItem {
  opacity: 0.3;
}
.l-navSp__menu.__sub01 .l-navSp__menuItem:hover {
  opacity: 1;
}

.l-navSp__menuItem {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.l-navSp__mypage {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border-radius: 0.5rem;
  background-color: #F2F4F8;
}

.l-navSp__mypageTitle {
  display: flex;
  justify-content: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #D9DEE9;
}
.l-navSp__mypageTitle::before {
  content: "\e853";
  font-family: "Material Icons";
}

.l-navSp__mypageNav {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

.l-navSp__mypageNav__item {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  display: flex;
  gap: 5px;
}
.l-navSp__mypageNav__item:hover {
  color: #025BF1;
}

.l-navSp__mypageNav__itemUnit {
  color: #025BF1;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}

/* =========================================================
l-wrap style
========================================================= */
.l-wrap.__header01 {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 75px;
  padding-right: 75px;
  max-width: 1640px;
}
@media (max-width: 1280px) {
  .l-wrap.__header01 {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 768px) {
  .l-wrap.__header01 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.l-wrap.__footer01 {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 75px;
  padding-right: 75px;
}
@media (max-width: 1280px) {
  .l-wrap.__footer01 {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 768px) {
  .l-wrap.__footer01 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.l-wrap.__main01 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-left: 75px;
  padding-right: 75px;
  max-width: 1640px;
}
@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.__main02 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-left: 75px;
  padding-right: 75px;
  max-width: 1640px;
}
@media (max-width: 1280px) {
  .l-wrap.__main02 {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 1080px) {
  .l-wrap.__main02 {
    padding-left: 0;
    padding-right: 0;
  }
}
.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;
  box-shadow: 4px 6px 12px rgba(15, 32, 56, 0.09);
}
.l-wrap.__whiteCont01 {
  border-radius: 1rem;
  padding: 4rem;
  background-color: #fff;
}
@media (max-width: 768px) {
  .l-wrap.__whiteCont01 {
    padding: 2rem;
  }
}
.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: 591px) {
  .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: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .l-wrap.__difference01 {
    gap: 0;
    flex-direction: column;
  }
}
.l-wrap.__noposition {
  position: inherit;
}

/* =========================================================
p-post - base
========================================================= */
.p-postHead__wrap {
  position: relative;
  display: flex;
  gap: 2rem 0;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .p-postHead__wrap {
    flex-direction: column-reverse;
  }
}

.p-postHead__desc {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1.3rem;
  flex-direction: column;
  margin-right: 2rem;
}
@media (max-width: 768px) {
  .p-postHead__desc {
    width: 100%;
    margin-right: 0px;
  }
}

.p-postHead__info {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
@media (max-width: 768px) {
  .p-postHead__info {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}

.p-postHead__infoList {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.p-postHead__infoList.__cat .p-postHead__infoList__item {
  color: #025BF1;
  font-weight: normal;
}
.p-postHead__infoList.__tag .p-postHead__infoList__item:first-child {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-postHead__infoList.__tag .p-postHead__infoList__item:first-child::before {
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 1px;
  background-color: #DEE7ED;
}
@media (max-width: 768px) {
  .p-postHead__infoList.__tag .p-postHead__infoList__item:first-child::before {
    width: 15px;
  }
}

.p-postHead__title {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}
@media (max-width: 768px) {
  .p-postHead__title {
    font-size: clamp(23px, 3vw, 27px);
    line-height: 1.4;
    letter-spacing: 1px;
  }
}

.p-postHead__author {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.p-postHead__authorImg {
  width: 25px;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 0.5rem;
}

.p-postHead__authorImg__item {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}

.p-postHead__authorName {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: bold;
}

.p-postHead__authorBelong {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  color: #8B9AB9;
  font-weight: bold;
}

.p-postHead__thumb {
  position: relative;
  width: 100%;
  max-width: clamp(250px, 20vw, 400px);
}

.p-postHead__thumbItem {
  width: 100%;
  height: 100%;
  aspect-ratio: 1.618/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
  border: 3px solid #fff;
}

.p-postHead__thumbBg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  filter: blur(30px);
  transform: translateZ(0);
  opacity: 0.25;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.85);
}

/* postFooter
--------------------------------------------------------- */
.p-postFooter__sns {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
}

.p-postFooter__snsTitle {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-weight: normal;
}

.p-postFooter__snsIcon {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.p-postFooter__snsIcon__item svg {
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1), filter 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.p-postFooter__snsIcon__item svg:hover {
  transform: scale(0.9);
  filter: brightness(1.3);
}
.p-postFooter__snsIcon__item.__fb svg {
  fill: #3B5998;
}
.p-postFooter__snsIcon__item.__x svg {
  fill: #0F2038;
}

/* Side
--------------------------------------------------------- */
.p-postSidenav__wrap {
  display: flex;
  flex-direction: column;
}

.p-postSidenav__box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 4rem;
  background-color: #fff;
  border-radius: 0.5rem;
}
.p-postSidenav__box:not(:last-child) {
  margin-bottom: 1px;
}

.p-postSidenav__title {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  color: #8B9AB9;
}

.p-postSidenav__list {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-postSidenav__listItem {
  cursor: pointer;
  font-weight: normal;
  opacity: 0.6;
}
.p-postSidenav__listItem:hover {
  opacity: 1;
}

/* Footer
--------------------------------------------------------- */
.p-postFooter {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}

/* =========================================================
p-post - var
========================================================= */
/* =========================================================
p-postCont - 記事ないパーツ
============================================================*/
.p-postCont {
  padding: 0;
  margin-top: 0px !important;
  margin-bottom: 0;
  font-weight: normal;
  counter-reset: h2-num;
  overflow-wrap: anywhere;
  /* コンタクトフォーム7
  --------------------------------------------------------- */
}
.p-postCont > p {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  font-weight: normal;
}
.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;
}
.p-postCont > h2, .p-postCont > h3, .p-postCont > h4, .p-postCont > h5 {
  clear: both;
  font-weight: bold;
  letter-spacing: 0.0635rem;
}
.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;
  margin-bottom: 4rem;
  word-break: break-word;
}
@media (max-width: 768px) {
  .p-postCont p,
  .p-postCont table,
  .p-postCont ul,
  .p-postCont ol {
    font-size: 16px;
    margin-bottom: 2rem;
  }
}
.p-postCont img {
  margin-bottom: 1.6rem;
}
.p-postCont h2,
.p-postCont h3,
.p-postCont h4 {
  margin-top: 6rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .p-postCont h2,
  .p-postCont h3,
  .p-postCont h4 {
    margin-top: 4rem;
    margin-bottom: 1rem;
  }
}
.p-postCont h5,
.p-postCont h6 {
  margin-top: 6rem;
  margin-bottom: 4rem;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
}
.p-postCont a {
  color: #21BBEC;
  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: 0.5rem;
}
.p-postCont img.no-mb {
  margin-bottom: -4rem;
}
.p-postCont ul, .p-postCont ol {
  padding-left: 0px;
}
.p-postCont li {
  font-weight: normal;
  position: relative;
  margin-bottom: 1.5% !important;
  padding-left: 2.5rem;
  list-style: none;
}
.p-postCont li:last-child {
  margin-bottom: 0;
}
.p-postCont li:before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 0.9rem;
  border: 3px solid #F04A29;
  border-radius: 100px;
}
@media (max-width: 591px) {
  .p-postCont li:before {
    top: 0.7rem;
  }
}
.p-postCont ol {
  counter-reset: ol-num;
}
.p-postCont ol > li {
  counter-increment: ol-num;
}
.p-postCont ol > li:before {
  border: none;
  top: -0.2rem;
  content: counter(ol-num) ".";
  font-family: "Space Grotesk", sans-serif, Meiryo;
  color: #025BF1;
  font-size: 1.8rem;
  font-weight: bold;
  white-space: pre;
}
.p-postCont ol > li > ol {
  margin-left: 1rem;
  margin-bottom: 0px;
  counter-reset: ol-numSub;
}
.p-postCont ol > li > ol > li {
  padding-left: 4.5rem;
  counter-increment: ol-numSub;
}
.p-postCont ol > li > ol > li::before {
  content: counter(ol-num) "-" counter(ol-numSub) ".";
  font-family: "Space Grotesk", sans-serif, Meiryo;
  color: #025BF1;
  font-size: 1.8rem;
  font-weight: bold;
  white-space: pre;
}
.p-postCont dl:last-child {
  margin-bottom: 3.2rem;
}
.p-postCont dt {
  background-color: #DEE7ED;
  color: #025BF1;
  font-weight: bold;
  padding: 0.8rem;
  margin-bottom: 0.8rem;
  display: inline-block;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
.p-postCont dd {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  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(15px, 1.5vw, 1.5rem);
  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(21px, 2vw, 2.1rem);
  line-height: 1.5;
  line-height: 1.4;
  padding: 0;
  background-color: transparent;
}
.p-postCont h2:first-child {
  margin-top: 0 !important;
}
.p-postCont h3 {
  position: relative;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  padding: 1rem 2rem;
  background-color: transparent;
  border: 0;
}
.p-postCont h3::before, .p-postCont h3::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  left: 0;
  right: inherit;
  width: 1px;
  border-radius: 0.5rem;
  background-color: #0F2038;
}
.p-postCont h3::after {
  left: 2px;
  background-color: #025BF1;
}
.p-postCont h4 {
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
  position: relative;
  padding-bottom: 2rem;
  border: 0;
}
.p-postCont h4:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #4563a2 0%, #f6f7f8 20%);
}
.p-postCont h5 {
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
  color: #E88B00;
  border: none;
}
.p-postCont blockquote {
  width: 100%;
  position: relative;
  background: transparent;
  border: none;
  font-weight: normal;
  padding: 2rem 2rem 2rem 4rem;
  border-top: 3px solid #D9DEE9;
  border-bottom: 3px solid #D9DEE9;
}
@media (max-width: 591px) {
  .p-postCont blockquote {
    top: 0;
  }
}
.p-postCont blockquote:before {
  content: "“";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #025BF1;
  font-family: "Space Grotesk", sans-serif, Meiryo;
  background-color: #fff;
  line-height: 1;
  font-size: 50px;
  font-weight: normal;
}
.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 {
  display: block;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
.p-postCont table {
  clear: both;
  width: 100%;
  overflow: hidden;
  background-color: #F2F4F8;
  border: 10px solid #D9DEE9;
  border-radius: 0.5rem;
}
.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: bold;
  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: bold;
    text-align: center;
  }
}
.p-postCont table tbody {
  border-radius: 0.5rem;
}
.p-postCont table tr {
  background-color: #fff;
  border-bottom: 1px solid rgba(15, 32, 56, 0.1);
}
.p-postCont table th,
.p-postCont table td {
  border: 0;
  padding: 1rem;
  letter-spacing: 1px;
}
.p-postCont table thead tr, .p-postCont table thead th {
  background-color: transparent;
}
.p-postCont table th {
  text-align: center;
  vertical-align: top;
  background-color: #fff;
  vertical-align: middle;
  border-bottom: 1px solid rgba(15, 32, 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;
  font-weight: normal;
}
.p-postCont .rp4wp-related-posts {
  display: none;
}
.p-postCont .wpcf7 {
  padding: 8rem;
  background-color: #0F2038;
  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(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
  padding: 3.2rem 1.6rem;
  color: #8B9AB9;
  border-radius: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  text-align: center;
  position: relative;
  z-index: 5;
  background-color: #88909B;
  transition: 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.p-postCont .wpcf7 .wpcf7-submit, .p-postCont .wpcf7 .wpcf7-submit .o-icon:before {
  color: #8B9AB9;
}
.p-postCont .wpcf7 .wpcf7-submit:hover {
  box-shadow: 0 0 17px rgba(240, 74, 41, 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(15px, 1.5vw, 1.5rem);
  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: bold;
  margin-bottom: 0.3rem !important;
}
.p-postParts_box.__style01 {
  border: 3px solid #F2F4F8;
  border-left: 3px solid #0F2038;
  border-radius: 0 1rem 1rem 0;
}
.p-postParts_box.__style01 .p-postParts_boxTitle {
  color: #0F2038;
}
.p-postParts_box.__style02 {
  background-color: #F2F4F8;
  color: #0F2038;
  text-align: left;
  border-radius: 1rem;
}
.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 #025BF1;
  background-color: #0F2038;
  padding: 0.8rem 1.6rem;
  color: #8B9AB9;
}
.p-postParts_uline.__style01 {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 90%, #025BF1 91%, #025BF1);
}
.p-postParts_uline.__style02 {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 90%, #2A98D6 91%, #2A98D6);
}
.p-postParts_uline.__style03 {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 90%, #F2F4F8 91%, #F2F4F8);
}

/* =========================================================
ブログじゃないページ
============================================================*/
.p-postCont.__page01 h2,
.p-seminarCont h2 {
  position: relative;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  line-height: 1.4;
  padding: 0 0 0 2rem;
  background-color: transparent;
}
.p-postCont.__page01 h2:first-child,
.p-seminarCont h2:first-child {
  margin-top: 0 !important;
}
.p-postCont.__page01 h2::before,
.p-seminarCont h2::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: inherit;
  width: 3px;
  height: 100%;
  border-radius: 0.5rem;
  background: linear-gradient(to bottom, #4563a2 0%, #025bf1 100%);
}
.p-postCont.__page01 h3,
.p-seminarCont h3 {
  position: relative;
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
  padding: 0 0 2rem;
  background-color: transparent;
  border-bottom: 2px solid #F2F4F8;
}
.p-postCont.__page01 h3::before, .p-postCont.__page01 h3::after,
.p-seminarCont h3::before,
.p-seminarCont h3::after {
  content: none;
}
.p-postCont.__page01 h4,
.p-seminarCont h4 {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.9;
  position: relative;
  padding-bottom: 2rem;
  border: 0;
}
.p-postCont.__page01 h4:after,
.p-seminarCont h4:after {
  content: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #4563a2 0%, #f6f7f8 20%);
}
.p-postCont.__page01 h5,
.p-seminarCont h5 {
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  color: #E88B00;
  border: none;
}
.p-postCont.__page01 p,
.p-seminarCont p {
  margin-bottom: 2rem;
}

/* =========================================================
記事内のプラグインパーツ
============================================================*/
.p-postCont .toc {
  width: 100%;
  padding: 1rem;
  border: none;
  border-top: 3px solid #0F2038;
  box-shadow: 0 0 17px rgba(15, 32, 56, 0.05);
}
.p-postCont .toc-title {
  font-weight: bold;
  color: #0F2038;
  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);
  font-weight: bold;
  padding: 2rem 4rem;
}
.p-postCont .toc ol.toc-list li:before {
  color: rgba(14, 11, 11, 0.3);
}
.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: #0F2038;
  font-weight: bold;
}
.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: rgba(14, 11, 11, 0.3);
}
.p-postCont .toc ol.toc-list li > ol > li > a {
  display: block;
  padding: 0;
  padding-left: 32px;
  color: #0F2038;
  background-color: transparent;
}

/* =========================================================
p-page - 利用規約
========================================================= */
.p-pageTerms .p-postCont h2 {
  display: flex;
  counter-increment: h2-num;
}
.p-pageTerms .p-postCont h2::before {
  content: counter(h2-num) ".";
}

/* =========================================================
p-archive - style
========================================================= */
/* header
--------------------------------------------------------- */
.p-archiveInfo {
  padding-top: 4rem;
  border-top: 1px solid #0C1F31;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: bold;
}
@media (max-width: 768px) {
  .p-archiveInfo {
    padding-top: 2rem;
    margin-top: 2rem;
    gap: 1rem;
  }
}

.p-archiveInfo__sort {
  width: auto;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
.p-archiveInfo__sort select {
  padding: 1rem 4rem 1rem 2rem;
  font-weight: normal;
}

/* cont
--------------------------------------------------------- */
/* =========================================================
p-top - style
========================================================= */
/* fv
--------------------------------------------------------- */
.p-topFv__wrap {
  position: relative;
  height: 45vh;
  overflow: hidden;
}
@media (max-width: 1080px) {
  .p-topFv__wrap {
    overflow: inherit;
    height: auto;
    display: flex;
    flex-direction: column-reverse;
    gap: 1rem;
  }
}

.p-topFv__cont {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  height: 100%;
}
@media (max-width: 1080px) {
  .p-topFv__cont {
    height: auto;
    gap: 10px;
  }
}
.p-topFv__cont::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  content: "FIND THE PRO";
  right: inherit;
  font-family: "Space Grotesk", sans-serif, Meiryo;
  font-size: 100vw;
  color: white;
  opacity: 0.1;
}
@media (max-width: 1080px) {
  .p-topFv__cont::before {
    display: none;
  }
}

.p-topFv__img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 0;
  max-width: 80rem;
}
@media (max-width: 1080px) {
  .p-topFv__img {
    position: relative;
    margin: auto;
  }
}

.p-topFv__imgItem {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}

.p-topFv__desc {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  line-height: 1.6;
  font-weight: normal;
}
@media (max-width: 420px) {
  .p-topFv__desc {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}

.p-topFv__title {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
@media (max-width: 1080px) {
  .p-topFv__title {
    gap: 1px;
  }
}

.p-topFv__titleSub {
  font-size: clamp(21px, 2vw, 2.1rem);
  line-height: 1.5;
}
@media (max-width: 420px) {
  .p-topFv__titleSub {
    font-size: clamp(16px, 3vw, 1.7rem);
    line-height: 1.5;
  }
}

.p-topFv__titleMain {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.4;
  letter-spacing: 1px;
}
@media (max-width: 1080px) {
  .p-topFv__titleMain {
    font-size: 48px;
  }
}
@media (max-width: 420px) {
  .p-topFv__titleMain {
    font-size: clamp(30px, 3vw, 36px);
    line-height: 1.4;
    letter-spacing: 1px;
  }
}

/* sort
--------------------------------------------------------- */
.p-topSort {
  position: relative;
  z-index: 1;
}

.p-topSort__cont {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding: 1rem;
  color: white;
  border-radius: 1rem;
  background-color: #0F2038;
  mix-blend-mode: darken;
}
@media (max-width: 1080px) {
  .p-topSort__cont {
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    align-items: flex-start;
  }
}

.p-topSort__radio {
  display: flex;
  gap: 1rem;
}
@media (max-width: 1080px) {
  .p-topSort__radio {
    width: 100%;
  }
}
@media (max-width: 591px) {
  .p-topSort__radio {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
@media (max-width: 591px) {
  .p-topSort__radio.__4items .p-topSort__radioItem {
    width: calc(50% - 0.5rem);
  }
}
@media (max-width: 591px) {
  .p-topSort__radio.__3items .p-topSort__radioItem {
    width: calc(50% - 0.25rem);
  }
}

.p-topSort__radioItem {
  cursor: pointer;
}
@media (max-width: 1080px) {
  .p-topSort__radioItem {
    flex-basis: 100%;
  }
}
@media (max-width: 591px) {
  .p-topSort__radioItem {
    flex-basis: initial;
  }
}

.p-topSort__radioText {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  position: relative;
  display: flex;
  gap: 10px;
  cursor: pointer;
  padding: 2rem;
  align-items: center;
  background-color: transparent;
  border-radius: 0.5rem;
  transition: background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 1080px) {
  .p-topSort__radioText {
    justify-content: center;
  }
}
@media (max-width: 591px) {
  .p-topSort__radioText {
    font-size: clamp(15px, 2.4vw, 1.6rem);
    line-height: 1.6;
    padding: 1rem 0.5rem;
    justify-content: center;
  }
}

.p-topSort__radioSwitch {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  border-radius: 100px;
  background-color: #DEE7ED;
  border: 1px solid #fff;
}
@media (max-width: 591px) {
  .p-topSort__radioSwitch {
    width: 19px;
    height: 19px;
  }
}
.p-topSort__radioSwitch::after {
  content: "";
  border-radius: 100px;
  margin: auto;
  left: 12px;
  width: 17px;
  height: 17px;
  background: linear-gradient(to right bottom, #025bf1, #4563a2);
  opacity: 0;
  transition: background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 591px) {
  .p-topSort__radioSwitch::after {
    width: 13px;
    height: 13px;
  }
}

.p-topSort__radioInput {
  display: none;
}
.p-topSort__radioInput:checked + .p-topSort__radioText {
  background-color: #32445F;
}
.p-topSort__radioInput:checked + .p-topSort__radioText .p-topSort__radioSwitch::after {
  opacity: 1;
  color: #025BF1;
}
.p-topSort__radioInput:hover + .p-topSort__radioText {
  background-color: #32445F;
}

.p-topSort__select {
  display: flex;
  gap: 1rem;
  flex-grow: 1;
}
@media (max-width: 1080px) {
  .p-topSort__select {
    width: 100%;
  }
}
@media (max-width: 591px) {
  .p-topSort__select {
    flex-direction: column;
    gap: 5px;
  }
}

.p-topSort__selectItem {
  cursor: pointer;
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  width: 100%;
  color: #0F2038;
  background-color: #fff;
  border-radius: 0.5rem;
  position: relative;
  padding: 1px;
  transition: opacity 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.p-topSort__selectItem:hover::before {
  filter: brightness(0.8);
  transform: translateZ(0);
}
.p-topSort__selectItem::before {
  content: "\e313";
  font-family: "Material Icons";
  color: #0F2038;
  position: absolute;
  top: 1px;
  bottom: 1px;
  right: 1px;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 100%;
  background-color: #F2F4F8;
  border-radius: calc(0.5rem - 1px);
  pointer-events: none;
  transition: filter 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

.p-topSort__selectForm {
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding: 2rem 4rem 2rem 2rem;
}

.p-topSort__selectBtn {
  white-space: pre;
  min-width: 140px;
}
@media (max-width: 591px) {
  .p-topSort__selectBtn {
    width: 100% !important;
  }
}

/* =========================================================
p-purchase - style
========================================================= */
/* header
--------------------------------------------------------- */
.p-expertHead__wrap {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-expertHead__wrap {
    gap: 1rem;
    flex-direction: column;
  }
}

.p-expertHead__thumb {
  width: 100%;
  max-width: 300px;
  position: relative;
  padding: 2rem;
}
@media (max-width: 768px) {
  .p-expertHead__thumb {
    padding: 0;
  }
}

.p-expertHead__thumbImg {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border: 3px solid #fff;
}

.p-expertHead__thumbBg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
  filter: blur(32px);
  transform: translateZ(0);
}

.p-expertHead__desc {
  width: 100%;
  position: relative;
  z-index: 1;
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-expertHead__desc {
    gap: 1rem;
  }
}

.p-expertHead__belong {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
}
@media (max-width: 768px) {
  .p-expertHead__belong {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .p-expertHead__name {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
}

.p-expertHead__nameMain {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}
@media (max-width: 768px) {
  .p-expertHead__nameMain {
    text-align: center;
  }
}

.p-expertHead__nameRoman {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  color: #8B9AB9;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}

.p-expertHead__info {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-expertHead__info {
    gap: 1rem;
  }
}

.p-expertHead__infoBox {
  display: flex;
  gap: 2rem;
}

.p-expertHead__infoTitle {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: normal;
  padding: 1rem;
  width: 100%;
  max-width: 100px;
  white-space: pre;
  background-color: #fff;
}

.p-expertHead__infoDesc {
  display: flex;
  flex-wrap: wrap;
  font-weight: normal;
  padding: 1rem 0;
}

.p-expertHead__infoDesc__item:not(:last-of-type)::after {
  content: "、";
}

/* 出張 / オンライン可能不可能
--------------------------------------------------------- */
.p-expertAvailable {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  display: flex;
  gap: 1px;
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-expertAvailable__box {
  width: 100%;
  background-color: #fff;
}

.p-expertAvailable__title {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  text-align: center;
  padding: 5px 1rem;
  color: white;
  background-color: #0F2038;
}

.p-expertAvailable__cont {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 2rem;
}
@media (max-width: 591px) {
  .p-expertAvailable__cont {
    padding: 1rem;
  }
}

.p-expertAvailable__answer {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
}
@media (max-width: 591px) {
  .p-expertAvailable__answer {
    font-size: clamp(15px, 2.4vw, 1.6rem);
    line-height: 1.6;
  }
}
.p-expertAvailable__answer::before {
  content: "";
  font-family: "Material Icons";
}
.p-expertAvailable__answer.__ok::before {
  content: "\ef4a";
  color: #00D015;
}
.p-expertAvailable__answer.__limited::before {
  content: "\f083";
  color: #E88B00;
}
.p-expertAvailable__answer.__unable::before {
  content: "\e5cd";
  color: #F04A29;
}

.p-expertAvailable__desc {
  font-weight: normal;
}
@media (max-width: 591px) {
  .p-expertAvailable__desc {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

.p-expertAvailable__answerAdditional {
  padding: 5px 1rem;
  background-color: #fff;
  border: 1px solid #E88B00;
  border-radius: 0.5rem;
  line-height: 1.3;
}
@media (max-width: 591px) {
  .p-expertAvailable__answerAdditional {
    font-size: clamp(13px, 1.5vw, 1.3rem);
  }
}

table.p-seminarHistory {
  border: none;
}
@media (max-width: 591px) {
  table.p-seminarHistory tr {
    display: flex;
    flex-direction: column;
  }
}
table.p-seminarHistory th {
  width: 200px;
  text-align: left;
}
@media (max-width: 591px) {
  table.p-seminarHistory th {
    background-color: #F2F4F8;
  }
}
table.p-seminarHistory th, table.p-seminarHistory td {
  padding: 2rem;
}
@media (max-width: 591px) {
  table.p-seminarHistory th, table.p-seminarHistory td {
    width: 100%;
    padding: 1rem;
  }
}

/* side cv
--------------------------------------------------------- */
.p-expertSidecv__wrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 2rem;
  color: white;
  background-color: #0F2038;
  border-radius: 0.5rem;
}

.p-expertSidecv__box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-expertSidecv__box:not(:last-of-type) {
  padding-bottom: 2rem;
  border-bottom: 1px solid #202F46;
}

.p-expertSidecv__title {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  color: #A9C0EE;
}

.p-seminarSidecv__warn {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  color: #8B9AB9;
  font-weight: normal;
}

.p-expertSidecv__list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* =========================================================
p-seminar - base
========================================================= */
/* =========================================================
p-seminar - style
========================================================= */
/* header
--------------------------------------------------------- */
.p-seminarHead__wrap {
  position: relative;
  display: flex;
  gap: 2rem 0;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .p-seminarHead__wrap {
    flex-direction: column-reverse;
  }
}

.p-seminarHead__desc {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1.3rem;
  flex-direction: column;
  margin-right: 2rem;
}
@media (max-width: 768px) {
  .p-seminarHead__desc {
    width: 100%;
    margin-right: 0px;
  }
}

.p-seminarHead__info {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}
@media (max-width: 768px) {
  .p-seminarHead__info {
    font-size: clamp(10px, 1vw, 1.1rem);
    line-height: 1.3;
  }
}

.p-seminarHead__infoList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
}
.p-seminarHead__infoList.__industry .p-seminarHead__infoList__item {
  color: #025BF1;
  font-weight: normal;
}
.p-seminarHead__infoList.__field .p-seminarHead__infoList__item:first-of-type {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-seminarHead__infoList.__field .p-seminarHead__infoList__item:first-of-type::before {
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 1px;
  background-color: #DEE7ED;
}
@media (max-width: 768px) {
  .p-seminarHead__infoList.__field .p-seminarHead__infoList__item:first-of-type::before {
    width: 15px;
  }
}

.p-seminarHead__title {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}
@media (max-width: 768px) {
  .p-seminarHead__title {
    font-size: clamp(23px, 3vw, 27px);
    line-height: 1.4;
    letter-spacing: 1px;
  }
}

.p-seminarHead__catch {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
  opacity: 0.6;
  font-weight: normal;
}

.p-seminarHead__author {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.p-seminarHead__authorImg {
  width: 25px;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 0.5rem;
}

.p-seminarHead__authorImg__item {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}

.p-seminarHead__authorName {
  white-space: pre;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: bold;
}

.p-seminarHead__authorBelong {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  color: #8B9AB9;
  font-weight: normal;
}

.p-seminarHead__thumb {
  position: relative;
  width: 100%;
  max-width: clamp(250px, 20vw, 400px);
}

.p-seminarHead__thumbItem {
  width: 100%;
  height: 100%;
  aspect-ratio: 1.618/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
  border: 3px solid #fff;
}

.p-seminarHead__thumbBg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  filter: blur(30px);
  opacity: 0.25;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.85);
}
@media (max-width: 1080px) {
  .p-seminarHead__thumbBg {
    display: none;
  }
}

.p-seminarDetail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 768px) {
  .p-seminarDetail {
    gap: 0.5rem;
  }
}

.p-seminarDetail__box {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 768px) {
  .p-seminarDetail__box {
    gap: 1.5rem;
  }
}

.p-seminarDetail__title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-weight: normal;
  padding: 1rem;
  width: 100%;
  max-width: 100px;
  white-space: pre;
  background-color: #F2F4F8;
}
@media (max-width: 768px) {
  .p-seminarDetail__title {
    font-weight: bold;
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

.p-seminarDetail__desc {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem 0;
}

.p-seminarDetail__descItem {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.p-seminarDetail__descItem__title {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
  font-weight: bold;
}
@media (max-width: 768px) {
  .p-seminarDetail__descItem__title {
    font-size: clamp(16px, 3vw, 1.7rem);
    line-height: 1.5;
    line-height: 1.5;
  }
}
.p-seminarDetail__descItem__title::before {
  color: #8B9AB9;
}

.p-seminarDetail__descItem__text {
  font-weight: normal;
}
@media (max-width: 768px) {
  .p-seminarDetail__descItem__text {
    font-size: clamp(11px, 1vw, 1.2rem);
    line-height: 1.5;
  }
}

.p-seminarProgram__wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 2rem;
  border-radius: 0.5rem;
  background-color: #F2F4F8;
  counter-reset: p-seminarProgram__item;
}

.p-seminarProgram__item {
  line-height: 1.3;
  display: flex;
  gap: 10px;
  padding: 2rem;
  align-items: center;
  border-radius: 0.5rem;
  background-color: #fff;
  counter-increment: p-seminarProgram__item;
}
.p-seminarProgram__item::before {
  content: counter(p-seminarProgram__item) ".";
  font-family: "Space Grotesk", sans-serif, Meiryo;
  color: #8B9AB9;
}

.p-seminarReview {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}

.p-seminarReview__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  width: calc(50% - 1rem);
}
@media (max-width: 768px) {
  .p-seminarReview__item {
    width: 100%;
  }
}
.p-seminarReview__item::before {
  content: "\e7fd";
  font-family: "Material Icons";
  max-width: 50px;
  width: 100%;
  aspect-ratio: 1/1;
  padding: 1rem;
  color: #8B9AB9;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #8B9AB9;
  border-radius: 100px;
  background-color: #fff;
}

.p-seminarReview__cont p {
  font-size: clamp(15px, 2.4vw, 1.6rem);
  line-height: 1.6;
  font-weight: normal;
  margin-bottom: 0px;
}

/* side cv
--------------------------------------------------------- */
.p-seminarSidecv__wrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 2rem;
  color: white;
  background-color: #0F2038;
  border-radius: 0.5rem;
}

.p-seminarSidecv__box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-seminarSidecv__box:not(:last-of-type) {
  padding-bottom: 2rem;
  border-bottom: 1px solid #202F46;
}

.p-seminarSidecv__title {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  color: #A9C0EE;
}

.p-seminarSidecv__warn {
  font-size: clamp(10px, 1vw, 1.1rem);
  line-height: 1.3;
  color: #8B9AB9;
  font-weight: normal;
}

.p-seminarSidecv__checkbox {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  padding: 0;
  gap: 1rem;
  border: none;
  background-color: transparent;
}

/* =========================================================
p-mypage - style
========================================================= */
.p-mySec:not(:last-of-type) {
  padding-bottom: 4rem;
  border-bottom: 1px solid #D9DEE9;
}

/* =========================================================
p-mypage - var
========================================================= */
/* プロフィール メール再登録
--------------------------------------------------------- */
.p-myProfile {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.p-myProfile__email {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

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

.p-myProfile__emailInput {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-myProfile__emailInput::after {
  content: "\e3c9";
  font-family: "Material Icons";
}

/* プロフィール 入力済み
--------------------------------------------------------- */
.p-myProfile__info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.p-myProfile__infoList {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.p-myProfile__infoBox {
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media (max-width: 591px) {
  .p-myProfile__infoBox {
    gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-myProfile__infoTitle {
  font-size: clamp(11px, 1vw, 1.2rem);
  line-height: 1.5;
  width: 100%;
  max-width: 120px;
  white-space: pre;
}
@media (max-width: 591px) {
  .p-myProfile__infoTitle {
    max-width: inherit;
  }
}

.p-myProfile__infoRegistered {
  width: 100%;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.6;
  font-weight: normal;
  border-radius: 0.5rem;
  background-color: #F2F4F8;
  padding: 2rem 2rem;
}

/* マイページナビ
--------------------------------------------------------- */
.p-mypageNav {
  border-radius: 0.5rem;
  background-color: #fff;
  padding: 2rem 0;
}

.p-mypageNav__list {
  display: flex;
  flex-direction: column;
}

.p-mypageNav__listLink {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  position: relative;
  padding: 1rem 4rem;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 768px) {
  .p-mypageNav__listLink {
    font-size: clamp(15px, 2.4vw, 1.6rem);
    line-height: 1.6;
  }
}
.p-mypageNav__listLink::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background-color: transparent;
  transition: background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.p-mypageNav__listLink:hover {
  color: #025BF1;
}
.p-mypageNav__listLink.__active {
  color: #025BF1;
}
.p-mypageNav__listLink.__active::before {
  background-color: #025BF1;
}

/* =========================================================
p-purchase - style
========================================================= */
.p-serviceTitle {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-serviceTitle__sub {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  width: -moz-fit-content;
  width: fit-content;
  background: linear-gradient(to right, #4563a2, #025bf1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-serviceTitle__main {
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}

.p-serviceBgtext {
  position: relative;
}
.p-serviceBgtext::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  top: -2rem;
  font-size: 10vw;
  font-family: "Space Grotesk", sans-serif, Meiryo;
  color: rgba(2, 91, 241, 0.05);
}
@media (max-width: 768px) {
  .p-serviceBgtext::after {
    display: none;
  }
}
.p-serviceBgtext.__solution::after {
  content: "Solution";
}
.p-serviceBgtext.__reason::after {
  content: "Reason";
}
.p-serviceBgtext.__faq::after {
  content: "Q&A";
}
.p-serviceBgtext.__step::after {
  content: "Flow";
}

/* main visual
--------------------------------------------------------- */
.p-serviceFv__cont {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1080px) {
  .p-serviceFv__cont {
    flex-direction: column-reverse;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 4rem;
  }
}

.p-serviceFv__desc {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  flex-shrink: 0;
}
@media (max-width: 1080px) {
  .p-serviceFv__desc {
    align-items: center;
    text-align: center;
  }
}

.p-serviceFv__descBadge {
  width: -moz-fit-content;
  width: fit-content;
  color: white;
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
  background: linear-gradient(to right, #4563a2, #025bf1);
  padding: 2px 1rem;
  border-radius: 0.5rem;
}

.p-serviceFv__descTitle {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.4;
  letter-spacing: 1px;
}
@media (max-width: 768px) {
  .p-serviceFv__descTitle {
    font-size: clamp(30px, 3vw, 36px);
    line-height: 1.4;
    letter-spacing: 1px;
  }
}

.p-serviceFv__img {
  display: block;
  margin: auto;
  max-width: 475px;
}

.p-serviceFv__imgItem {
  display: block;
}

/* flow
--------------------------------------------------------- */
.p-serviceFv__flow {
  position: relative;
  counter-reset: p-serviceFv__flowBox;
  display: flex;
  gap: 2rem;
}
.p-serviceFv__flow::before {
  position: absolute;
  top: 27px;
  content: "";
  width: 100%;
  height: 3px;
  background-color: #DEE7ED;
}
@media (max-width: 768px) {
  .p-serviceFv__flow::before {
    width: 150%;
  }
}
@media (max-width: 768px) {
  .p-serviceFv__flow {
    overflow-x: scroll;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.p-serviceFv__flowBox {
  counter-increment: p-serviceFv__flowBox;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}
@media (max-width: 768px) {
  .p-serviceFv__flowBox {
    min-width: 45%;
  }
}
.p-serviceFv__flowBox::before {
  content: counter(p-serviceFv__flowBox);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #5068B0;
  font-family: "Space Grotesk", sans-serif, Meiryo;
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid #5068B0;
  aspect-ratio: 1/1;
  width: 55px;
  height: 55px;
  border-radius: 100px;
}
.p-serviceFv__flowBox:last-of-type {
  position: relative;
}
.p-serviceFv__flowBox:last-of-type::after {
  position: absolute;
  top: 27px;
  content: "";
  width: 100%;
  height: 3px;
  background-color: #fff;
  z-index: -1;
}

.p-serviceFv__flowTitle {
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-serviceFv__flowTitle {
    font-size: clamp(15px, 2.4vw, 1.6rem);
    line-height: 1.9;
  }
}

.p-serviceFv__flowText {
  font-weight: normal;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}

/* review
--------------------------------------------------------- */
@media (max-width: 768px) {
  .p-serviceReview__wrap {
    padding-left: auto !important;
    padding-right: auto !important;
  }
}

.p-serviceReview__cont {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  position: relative;
}
.p-serviceReview__cont::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 50%;
  z-index: 0;
  border-radius: 0.5rem;
  background-color: #EFEFF2;
}

.p-serviceReview__title {
  padding: 4rem 4rem 2rem;
}
@media (max-width: 768px) {
  .p-serviceReview__title {
    padding: 2rem 2rem 1rem;
  }
}

.p-serviceReview__list {
  display: flex;
  gap: 2rem;
  padding: 0 4rem 4rem;
}
@media (max-width: 768px) {
  .p-serviceReview__list {
    overflow-x: scroll;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
    padding: 0 2rem 2rem;
  }
}

.p-serviceReview__item {
  display: flex;
  flex-basis: 33.3333333333%;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-serviceReview__item {
    min-width: 65%;
  }
}

.p-serviceReview__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border-radius: 0.5rem;
  background-color: #fff;
}

.p-serviceReview__main {
  display: flex;
  gap: 1rem;
}
.p-serviceReview__main::before {
  flex-shrink: 0;
}
.p-serviceReview__main.__problem::before {
  content: "問題";
  color: #F04A29;
}
.p-serviceReview__main.__plan::before {
  content: "対策";
  color: #025BF1;
}
.p-serviceReview__main.__solve::before {
  content: "解決";
  color: #A28F45;
}

.p-serviceReview__text {
  font-weight: normal;
}

.p-serviceReview__author {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.p-serviceReview__authorImg {
  width: 36px;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
  border: 1px solid #0C1F31;
  border-radius: 100px;
}

.p-serviceReview__authorName {
  font-size: clamp(13px, 1.5vw, 1.3rem);
  font-weight: normal;
}

.p-serviceReview__illust {
  position: absolute;
}
.p-serviceReview__illust.__01 {
  top: -2rem;
  right: 0;
  width: 162px;
  z-index: 1;
}
@media (max-width: 1080px) {
  .p-serviceReview__illust.__01 {
    top: -4rem;
    width: 102px;
  }
}

/* solution
--------------------------------------------------------- */
.p-serviceSolution__cont {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.p-serviceSolution__list {
  display: flex;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-serviceSolution__list {
    gap: 2rem 1rem;
    flex-wrap: wrap;
  }
}

.p-serviceSolution__box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex-basis: 25%;
}
@media (max-width: 768px) {
  .p-serviceSolution__box {
    flex-basis: auto;
    width: calc(50% - 0.75rem);
  }
}

.p-serviceSolution__boxImg {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.p-serviceSolution__boxImg__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 0.5rem;
}

.p-serviceSolution__boxCont {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-serviceSplution__boxTitle {
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
}

.p-serviceSolution__boxText {
  font-weight: normal;
}

.p-serviceIndustry__cont {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  border-radius: 0.5rem;
  background-color: #0F2038;
  padding: 4rem 2rem;
}

.p-serviceIndustry__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: white;
  text-align: center;
}

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

.p-serviceIndustry__list {
  display: flex;
  gap: 2rem;
}
@media (max-width: 768px) {
  .p-serviceIndustry__list {
    flex-wrap: wrap;
  }
}

.p-serviceIndustry__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex-basis: 50%;
  padding: 2rem;
  border: 1px solid #D9DEE9;
  box-shadow: 0 0 12px rgba(15, 32, 56, 0.3);
  background-color: #fff;
  border-radius: 0.5rem;
  transition: border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
@media (max-width: 768px) {
  .p-serviceIndustry__card {
    flex-basis: 100%;
  }
}
.p-serviceIndustry__card:hover {
  border: 1px solid #025BF1;
}
.p-serviceIndustry__card:hover .p-serviceIndustry__cardTitle {
  color: #025BF1;
}

.p-serviceIndustry__cardTitle {
  font-size: clamp(16px, 3vw, 1.7rem);
  line-height: 1.5;
  padding-bottom: 1rem;
  border-bottom: 1px solid #D9DEE9;
  justify-content: space-between;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

.p-serviceIndustry__cardTags {
  display: flex;
  flex-wrap: wrap;
  font-weight: normal;
  font-size: clamp(13px, 1.5vw, 1.3rem);
}

.p-serviceIndustry__cardTags__item {
  position: relative;
  display: flex;
  gap: 0.5rem;
}
.p-serviceIndustry__cardTags__item:not(:last-of-type) {
  margin-right: 0.5rem;
}
.p-serviceIndustry__cardTags__item:not(:last-of-type)::after {
  content: "/";
}

.p-serviceIndustry__illust {
  position: absolute;
}
.p-serviceIndustry__illust.__01 {
  top: -4rem;
  right: 0;
  width: 72px;
  z-index: 1;
}
.p-serviceIndustry__illust.__02 {
  bottom: -4rem;
  left: 0;
  width: 61px;
  z-index: 1;
}

/* reason
--------------------------------------------------------- */
.p-serviceReason__cont {
  position: relative;
}

.p-serviceReason__wrap {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  counter-reset: p-serviceReason__infoPoint;
}

.p-serviceReason__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-serviceReason__set {
  position: relative;
  display: flex;
}
.p-serviceReason__set.__reverse01 {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .p-serviceReason__set.__reverse01 {
    flex-direction: column;
  }
}
@media (max-width: 768px) {
  .p-serviceReason__set {
    flex-wrap: wrap;
    flex-direction: column;
  }
}

.p-serviceReason__info {
  display: flex;
  gap: 4rem;
  padding: 4rem;
  max-width: 50%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .p-serviceReason__info {
    max-width: 100%;
    gap: 1rem;
    padding: 2rem 1rem;
    align-items: baseline;
  }
}

.p-serviceReason__infoBox {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  counter-increment: p-serviceReason__infoPoint;
}

.p-serviceReason__infoPoint {
  display: flex;
  gap: 1rem;
  align-items: center;
  color: #A28F45;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}
.p-serviceReason__infoPoint::after {
  content: "0" counter(p-serviceReason__infoPoint);
  font-size: clamp(30px, 3vw, 36px);
  line-height: 1.4;
  letter-spacing: 1px;
}

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

.p-serviceReason__infoText {
  font-size: clamp(15px, 1.5vw, 1.5rem);
  line-height: 1.8;
  font-weight: normal;
  overflow-wrap: anywhere;
}

.p-serviceReason__img {
  aspect-ratio: 1/1;
}

.p-serviceReason__imgItem {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}

.p-serviceReason__fig {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #F2F4F8;
  padding: 4rem;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  .p-serviceReason__fig {
    padding: 2rem;
  }
}

.p-serviceReason__figItem {
  width: 100%;
  max-width: 1000px;
  border-radius: 0.5rem;
  border: 1px solid #fff;
}

.p-serviceReason__illust {
  position: absolute;
  z-index: 1;
}
.p-serviceReason__illust.__01 {
  left: 0;
  right: 0;
  top: -6rem;
  margin: auto;
  width: 89px;
}
.p-serviceReason__illust.__02 {
  bottom: -4rem;
  left: 4rem;
  width: 47px;
}

/* Step
--------------------------------------------------------- */
.p-serviceStep {
  position: relative;
}
.p-serviceStep::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 50%;
  background-color: #8B9AB9;
}

.p-serviceStep__wrap {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.p-serviceStep__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-serviceStep__cont {
  display: flex;
  flex-direction: row-reverse;
  gap: 4rem;
  padding: 8rem;
  position: relative;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0 12px rgba(15, 32, 56, 0.1);
}
@media (max-width: 1080px) {
  .p-serviceStep__cont {
    flex-direction: column;
    padding: 4rem;
  }
}

.p-serviceStep__side {
  width: 350px;
  max-width: 100%;
  margin: 0 auto;
  flex-shrink: 0;
}

.p-serviceStep__img {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.p-serviceStep__imgText {
  text-align: center;
}

.p-serviceStep__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  counter-reset: p-serviceStep__box;
}
.p-serviceStep__list::after {
  content: "";
  position: absolute;
  left: 35px;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, #8B9AB9, #162C41);
}

.p-serviceStep__box {
  position: relative;
  padding-left: 90px;
  counter-increment: p-serviceStep__box;
}
.p-serviceStep__box::before {
  content: "Step.0" counter(p-serviceStep__box);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  color: white;
  display: flex;
  justify-content: center;
  text-align: center;
  width: 74px;
  font-size: 13px;
  font-family: "Space Grotesk", sans-serif, Meiryo;
  border-radius: 0.5rem;
  padding: 2px 5px;
  background-color: #8B9AB9;
}
.p-serviceStep__box:nth-child(2)::before {
  background-color: #72829F;
}
.p-serviceStep__box:nth-child(3)::before {
  background-color: #576983;
}
.p-serviceStep__box:nth-child(4)::before {
  background-color: #455972;
}
.p-serviceStep__box:nth-child(5)::before {
  background-color: #2E4259;
}
.p-serviceStep__box:nth-child(6)::before {
  background-color: #192F44;
}
.p-serviceStep__box:last-of-type::after {
  content: "";
  position: absolute;
  top: 0;
  left: 35px;
  width: 2px;
  height: 100%;
  z-index: 1;
  background-color: #fff;
}

.p-serviceStep_boxText {
  font-weight: normal;
}

/* Faq
--------------------------------------------------------- */
.p-serviceFaq__wrap {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.p-serviceFaq__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-serviceFaq__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.p-serviceFaq__box {
  display: flex;
  flex-direction: column;
  border-radius: 0.5rem;
  box-shadow: 0 0 12px 4px 6px 12px rgba(15, 32, 56, 0.09);
  background-color: #fff;
  transition: border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
  border: 1px solid transparent;
}
.p-serviceFaq__box:hover {
  border: 1px solid #0C1F31;
}

.p-serviceFaq__question,
.p-serviceFaq__answer {
  padding: 2rem 4rem;
  display: flex;
  gap: 1rem;
  position: relative;
}
.p-serviceFaq__question::before,
.p-serviceFaq__answer::before {
  content: "Q.";
  font-size: clamp(19px, 2vw, 1.9rem);
  line-height: 1.4;
  color: #5662F5;
  font-family: "Space Grotesk", sans-serif, Meiryo;
}

.p-serviceFaq__question {
  cursor: pointer;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1), border 0.25s cubic-bezier(0.77, 0, 0.175, 1);
  border: 1px solid transparent;
  border-radius: 0.5rem 0.5rem 0 0;
}
.p-serviceFaq__question::after {
  content: "▼";
  margin-left: auto;
  color: #8B9AB9;
  transition: color 0.25s cubic-bezier(0.77, 0, 0.175, 1), transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}
.p-serviceFaq__question:hover {
  color: #5662F5;
}
.p-serviceFaq__question:hover::after {
  color: #5662F5;
}
.p-serviceFaq__question.is-open {
  border: 1px solid #0C1F31;
  border-bottom: transparent;
}
.p-serviceFaq__question.is-open::after {
  color: #0F2038;
  transform: rotate(180deg);
  transform-origin: center;
}

.p-serviceFaq__answer {
  padding-top: 0;
  padding-bottom: 0;
  border: 1px solid transparent;
  border-top: 1px solid #D9DEE9;
  border-radius: 0 0 0.5rem 0.5rem;
  font-weight: normal;
  height: 0px;
  opacity: 0;
  transition: height 0.4s, padding 0.4s, margin 0.4s, opacity 0.4s, border 0.4s;
}
.p-serviceFaq__answer::before {
  content: "A.";
  color: #A28F45;
  font-weight: bold;
}
.p-serviceFaq__answer.is-open {
  border: 1px solid #0C1F31;
  border-top: 1px solid #D9DEE9;
  padding-top: 2rem;
  padding-bottom: 2rem;
  height: 100%;
  opacity: 1;
}

/* =========================================================
u-helper style
========================================================= */
/* log in or out
--------------------------------------------------------- */
/* display
--------------------------------------------------------- */
.u-d {
  display: block;
}

.u-dNone {
  display: none;
}

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

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

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

.u-d-sm {
  display: none;
}
@media (max-width: 591px) {
  .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: 591px) {
  .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: #025BF1;
}
.u-color-main:hover {
  text-decoration: underline;
}

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

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

.u-color-green {
  color: #F04A29;
}

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

.u-color-blue01 {
  color: #025BF1;
}

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

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

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

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

.u-bgcolor-green {
  background-color: #00D015;
}

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

/* 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 {
  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: rgba(14, 11, 11, 0.3);
}

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

.u-text-border-accent {
  border: 1px solid #025BF1;
  padding: 4px;
  color: #025BF1;
  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 !important;
}

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

.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-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;
  }
}

.u-ml-auto {
  margin-left: auto;
}

/* 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: 560px;
  margin-left: auto;
  margin-right: auto;
}

.u-maxw01 {
  max-width: 720px;
  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: #4563a2 30%;
  background: linear-gradient(to right, #4563a2 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: #E88B00;
}
.u-underline01.__gold::before {
  background: #D8A316;
}

/* transform
--------------------------------------------------------- */
.u-vertical {
  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: 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: 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;
}

/* blur
--------------------------------------------------------- */
.u-lockBlur {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.u-lockBlur::before {
  content: "\e897";
  font-family: "Material Icons";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.u-lockBlur .u-lockBlur__item {
  filter: blur(3px) brightness(102%);
  transform: translateZ(0);
}

/* cursor
--------------------------------------------------------- */
.u-c-pointer {
  cursor: pointer;
}/*# sourceMappingURL=satpro.css.map */