@charset "UTF-8";
/*---------------------------
/setting/size参照
---------------------------*/
/* min-width
-------------------------------------------------------------------------- */
/* max-width
-------------------------------------------------------------------------- */
/*黒：font*/
/*鮮やかな青：ベース*/
/*濃紺：リンク他*/
/*エメラルド：装飾他*/
/*赤：装飾他*/
/*bg：背景*/
/*グラデーション*/
/*文字グラデーション*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp.min.css");
@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Nothing+You+Could+Do&display=swap");
.c_grad_font {
  background: -webkit-linear-gradient(0deg, #0768d4, #4fc8dc);
  color: #4ac2db;
}
em.c_grad_font {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
p.c_grad_font {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* ja
-------------------------------------------------------------------------- */
/* en
-------------------------------------------------------------------------- */
#space {
  height: 1300px;
  background-color: blanchedalmond;
}
/*     フェードイン    */
.fadeIn {
  opacity: 0;
  transition-delay: 250ms;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.23, 0.76, 0.73, 0.97);
}
.fadeIn-up {
  transform: translate(0, 50px);
}
.fadeIn-down {
  transform: translate(0, -80px);
}
.fadeIn-left {
  transform: translate(-50px, 0);
}
.fadeIn-right {
  transform: translate(50px, 0);
}
.scroll-in {
  transform: translate(0);
  opacity: 1;
}
/*     スライドイン    */
.slideIn {
  opacity: 0;
  transition-delay: 0ms;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.23, 0.76, 0.73, 0.97);
}
.slideIn-up {
  transform: translate(0, 80px);
  opacity: 1;
}
.slideIn-down {
  transform: translate(0, -80px);
  opacity: 1;
}
.slideIn-left {
  transform: translate(-80px, 0);
  opacity: 1;
}
.slideIn-right {
  transform: translate(80px, 0);
  opacity: 1;
}
.scroll-in {
  transform: translate(0);
  opacity: 1;
}
.is-fadein-active {
  visibility: visible !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
}
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}
/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  line-height: 1.15;
  /* 3*/
}
/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}
/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}
/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  margin: 0;
  clear: both;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  color: inherit;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  /* 1 */
  font-size: inherit;
  font-family: monospace, monospace;
  /* 2 */
}
address {
  font-style: inherit;
}
/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  /* 1 */
  font-size: inherit;
  font-family: monospace, monospace;
  /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: middle;
}
/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-transform: inherit;
  vertical-align: middle;
  /* 2 */
}
/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
/**
 * Correct cursors for clickable elements.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}
button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}
/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}
select:disabled {
  opacity: inherit;
}
/**
 * Remove padding
 */
option {
  padding: 0;
}
/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}
/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}
/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}
caption {
  text-align: left;
}
td,
th {
  padding: 0;
  vertical-align: top;
}
th {
  font-weight: bold;
  text-align: left;
}
* {
  box-sizing: border-box;
}
html {
  font-size: 10px;
}
body {
  -webkit-font-smoothing: antialiased;
  background: #fff;
  font-size: 16px;
  line-height: 1.8;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
}
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
  text-decoration: none;
}
a:hover {
  cursor: pointer;
}
img {
  max-width: 100%;
}
em {
  font-style: initial;
}
/*各html要素*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
h2 {
  margin-bottom: 3.125vw;
  font-size: clamp(18px, 1.046vw, 20px);
}
h3 {
  font-size: clamp(18px, 1.25vw, 24px);
}
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}
main {
  overflow: hidden;
}
.p-traning-price__wrap,
.l-container--p0,
.l-container {
  width: 1520px;
  max-width: 100%;
  margin: 0 auto;
}
.l-container {
  padding: 6.25vw 5%;
}
.l-container--p0 {
  padding: 0 0 2.0833333333vw;
}
.l-container.l-container-servicelist {
  padding-top: 0 !important;
}
.l_footer {
  visibility: hidden;
  transform: translateY(3rem);
  opacity: 0;
  transition: 1s;
}
.l-header {
  z-index: 99 !important;
  position: fixed !important;
  top: 0 !important;
  width: 100% !important;
  padding: 2rem 5% !important;
  background: #fff !important;
  transition: 0.5s !important;
  padding: 2rem 5% !important;
}
.under .l-header {
  border-bottom: 1px solid #ccc;
}
.c-arrow--center-bottom {
  width: 0;
  height: 0;
  margin: 4rem auto 0;
  border-width: 7rem 10rem 0 10rem;
  border-style: solid;
  border-color: #ccc transparent transparent transparent;
}
.c-bg--gr {
  background: #f6f6f6;
}
.c-bg--triangle {
  background: #deecf6;
  background-image: url("/assets/img/service_bg.png");
  background-repeat: repeat;
  background-attachment: fixed;
}
.c-bg--inbound {
  background: rgba(52, 165, 182, 0.1);
}
.c-bg--inbound .p-service-archive__text h3,
.c-bg--inbound .p-service-archive__text h2 {
  color: #34a5b6;
}
.c-bg--inbound .p-service-archive__text:after {
  color: #34a5b6;
}
.c-bg--inbound .p-service-archive__text:before {
  border-color: #34a5b6;
}
.c-bg--outbound {
  background: rgba(5, 102, 212, 0.1);
}
.c-bg--outbound .p-service-archive__text h3,
.c-bg--outbound .p-service-archive__text h2 {
  color: #0566d4;
}
.c-bg--construction {
  background: rgba(225, 176, 4, 0.1);
}
.c-bg--construction .p-service-archive__text h3,
.c-bg--construction .p-service-archive__text h2 {
  color: #e1b004;
}
.c-bg--construction .p-service-archive__text:after {
  color: #e1b004;
}
.c-bg--construction .p-service-archive__text:before {
  border-color: #e1b004;
}
.c-text-link--arrow-right a::before {
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  transform: rotate(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  border-color: #ccc;
  content: "";
  vertical-align: middle;
}
*[class^="c-btn"] {
  display: inline-block;
  position: relative;
}
.c-btn--white {
  padding: 0.5208333333vw 2.6041666667vw;
  border: 1px solid #cc0000;
  border-radius: 10rem;
  color: #cc0000;
  font-weight: 500;
  font-size: clamp(14px, 0.8333vw, 16px);
}
.c-btn--red {
  padding: 0.5208333333vw 2.6041666667vw;
  border-radius: 10rem;
  background-color: #cc0000;
  color: #fff;
  font-weight: 500;
  font-size: clamp(14px, 0.8333vw, 16px);
}
.c-btn--orange {
  width: 100%;
  max-width: 310px;
  padding: 18px 2.6041666667vw;
  border-radius: 10rem;
  background: url(../img/ico_arrow_02.png) no-repeat right 25px center;
  background-size: 7px 12px;
  background-color: #ee8722;
  color: #fff;
  font-weight: 500;
  font-size: clamp(14px, 0.8333vw, 16px);
}
.c-btn--orange:hover {
  background: url(../img/ico_arrow_02.png) no-repeat right 20px center;
  background-size: 7px 12px;
  background-color: #ee8722;
  opacity: 0.8 !important;
}
.c-btn--grad {
  /* グラデーションよりも上に配置 */
  display: inline-block;
  /* static以外を指定 */
  z-index: 0;
  position: relative;
  padding: 0.5208333333vw 2.6041666667vw;
  /* 背景を透明にする */
  overflow: hidden;
  border-radius: 10rem;
  /* inline以外にする */
  background: transparent;
  color: #fff;
  font-size: clamp(13px, 0.78vw, 15px);
  /* はみ出した部分を非表示(角丸を付ける場合は必須) */
  cursor: pointer;
  /* カーソルをポインターにする */
  /* ::before, ::afterで2種類のグラデーションを用意 */
  /* グラデーション1 */
  /* グラデーション2 */
  /* ホバー時にグラデーション1を透明にする */
}
.c-btn--grad::before,
.c-btn--grad::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}
.c-btn--grad::before {
  /* アニメーション実行時間 */
  z-index: -1;
  background: linear-gradient(135deg, #50cadc 0%, #0566d4 100%);
  transition: all 0.6s;
}
.c-btn--grad::after {
  z-index: -2;
  background: linear-gradient(135deg, #0566d4 0%, #50cadc 100%);
}
.c-btn--grad:hover::before {
  opacity: 0;
}
.c-btn--grad2 {
  padding: 0.5208333333vw 2.6041666667vw;
  border-radius: 10rem;
  background: linear-gradient(to right, #50cadc 0%, #0566d4 100%);
  color: #fff;
  font-size: clamp(13px, 0.78vw, 15px);
}
.c-btn--line {
  min-width: 16.6666666667vw;
  padding: 1.0416666667vw 2.6041666667vw;
  border: 2px solid #0e1155;
  border-radius: 10rem;
  background: transparent;
  color: #0e1155;
  font-weight: 500;
  font-size: clamp(14px, 0.8333vw, 16px);
  letter-spacing: 0.1rem;
  text-align: center;
  transition: 0.5s;
}
.c-btn--line:focus:focus {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}
.c-btn-wrap {
  display: block;
  width: 100%;
  max-width: 310px;
  margin: auto;
}
.c-btn-wrap a {
  text-align: center;
}
a {
  transition: 0.5s;
}
a:hover {
  opacity: 0.8;
}
.c-cate--line {
  display: inline-block;
  padding: 0.2rem 5rem;
  border: 1px solid #0566d4;
  color: #0566d4;
  font-size: clamp(10px, 0.625vw, 12px);
}
.c-figure {
  margin: 6rem 0 0;
  text-align: center;
}
*[class^="c-img-box"] {
  margin-bottom: 4rem;
  overflow: hidden;
}
*[class^="c-img-box"] img {
  max-width: 44%;
}
*[class^="c-img-box"] + * {
  overflow: hidden;
}
.c-img-box--l__item,
.c-img-box--l img {
  max-width: 44%;
  margin-right: 4rem;
  float: left;
}
.c-img-box--r__item,
.c-img-box--r img {
  max-width: 44%;
  margin-left: 4rem;
  float: right;
}
.c-img-box--half {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: space-between;
  gap: 8%;
}
.c-img-box--half__item {
  width: 46%;
  max-width: 46%;
  text-align: center;
}
.c-img-box--half__item img {
  display: block;
  max-width: 100%;
  margin: 0 auto 0.5rem;
}
.c-list--disc li {
  padding-left: 1em;
  line-height: 1.6;
  text-indent: -1em;
}
.c-list--disc li::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  padding-right: 1rem;
  border-radius: 4px;
  background-color: #111;
  content: "";
}
.c-list--disc li + li {
  margin-top: 0.5em;
}
.c-list--disc-red li {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1em;
  line-height: 1.6;
}
.c-list--disc-red li::before {
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 4px;
  background-color: #ae0000;
  content: "";
}
.c-list--disc-blk li {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1em;
  line-height: 1.6;
}
.c-list--disc-blk li::before {
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 4px;
  background-color: #9f9f9f;
  content: "";
}
.c-list--disc-pink li {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1em;
  line-height: 1.6;
}
.c-list--disc-pink li::before {
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 4px;
  background-color: #df7c7c;
  content: "";
}
.c-list-check li {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 1.5em;
}
.c-list-check li::before {
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 15px;
  height: 11px;
  border-radius: 4px;
  background: url(../img/ico_check.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.c-list-check2 li {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 1.8em;
  font-size: clamp(18px, 1.046vw, 20px);
  line-height: 1.6;
}
.c-list-check2 li::before {
  display: inline-block;
  position: absolute;
  top: 3px;
  left: 2px;
  width: 21px;
  height: 21px;
  background: url(../img/ico_check2.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.c-list--indent li {
  padding-left: 2em;
  font-size: clamp(13px, 0.78vw, 15px);
  text-indent: -2em;
}
.c-list--indent li + li {
  margin-top: 0.5em;
}
.c-list-case {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  gap: 3.5%;
}
.c-list-case li {
  width: 31%;
  margin-bottom: 4rem;
}
.c-list-case li a figure {
  overflow: hidden;
}
.c-list-case li a figure img {
  transition: 0.3s all;
}
.c-list-case li a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.c-list-case li figure {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.1);
  text-align: center;
}
.c-list-case li figure img {
  -o-object-fit: cover;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.c-list-case__name {
  margin-bottom: 2rem;
  font-weight: bold;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.4;
}
.c-list-case__text {
  color: #555;
  font-size: clamp(16px, 0.9375vw, 18px);
}
.c-list-case__item {
  padding: 2rem 0.5em;
}
.c-list-traning {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  margin: auto;
  gap: 3.5%;
}
.c-list-traning a figure {
  overflow: hidden;
}
.c-list-traning a figure img {
  transition: 0.3s all;
}
.c-list-traning a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.c-list-traning li {
  width: 31%;
  margin-bottom: 4%;
  overflow: hidden;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.11);
}
.c-list-traning li figure img {
  width: 100%;
  height: auto;
}
.c-list-traning li a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.c-list-traning li a .c-list-traning__btn {
  margin-top: auto;
  padding-top: 2rem;
}
.c-list-traning__item {
  display: flex;
  flex-direction: column;
  padding: 3rem 3rem 2rem 3rem;
}
.c-list-traning__ttl {
  padding-bottom: 2rem;
  font-weight: 600;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.4;
}
.c-list-traning__ttl span {
  font-size: clamp(18px, 1.046vw, 20px);
}
.c-list-traning__btn {
  margin-top: 2rem;
  font-weight: normal;
  text-align: center;
}
.c-list-traning__btn::after {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 10px;
  background: url(../img/ico_arrow_03.png) no-repeat center center;
  background-size: contain;
  content: "";
  vertical-align: middle;
}
.c-list-column {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  margin-bottom: 4rem;
  gap: 2%;
}
.c-list-column a {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  gap: 0;
  background: url(../img/ico_arrow_03.png) no-repeat right 15px center;
  background-size: 24px;
}
.c-list-column a figure {
  overflow: hidden;
}
.c-list-column a figure img {
  transition: 0.3s all;
}
.c-list-column a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.c-list-column li {
  width: 49%;
  margin-bottom: 2%;
  overflow: hidden;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.11);
}
.c-list-column li figure {
  width: 150px;
}
.c-list-column li figure img {
  -o-object-fit: cover;
  width: 100%;
  height: auto;
  min-height: 120px;
  object-fit: cover;
}
.c-list-column__ttl {
  width: calc(100% - 160px);
  margin: auto 0;
  padding: 0 4rem 0 3rem;
  font-weight: 500;
  font-size: clamp(16px, 0.9375vw, 18px);
  line-height: 1.66;
}
.c-page-top {
  position: fixed;
  right: 1.0416666667vw;
  bottom: 5.2083333333vw;
}
.c-page-top a {
  position: relative;
  width: 8rem;
  height: 8rem;
  border-radius: 8rem;
  background: #fff;
  box-shadow: 1rem 0 2rem rgba(1, 120, 228, 0.2);
  transition: 0.3s all;
}
.c-page-top a::before {
  display: block;
  position: absolute;
  content: "";
}
.c-page-top a:focus:focus {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}
.c-text-link--arrow-right a,
.c-text-link a {
  text-decoration: underline;
}
@includer hover {
  .c-text-link--arrow-right a,
  .c-text-link a {
    text-decoration: none;
  }
}
.c-text-link a {
  transition: 0.3s all;
}
.c-text-link--arrow-right {
  text-align: right;
}
.c-text-link--arrow-right a {
  position: relative;
}
.c-text-link--arrow-right a::before {
  left: -2rem;
  border-color: #0566d4;
}
.c-text-link--underline {
  text-decoration: underline;
}
.c-text-link--underline:focus {
  text-decoration: none;
}
.c-title-area {
  position: relative;
  height: 425px;
  margin-bottom: 18vw;
  background: url(../img/training/bg_mv.jpg) no-repeat center center;
  background-size: cover;
}
.c-title-area .l-container {
  padding-top: 6rem;
  padding-bottom: 1rem;
}
.c-title-area .title_en {
  z-index: 0;
  position: absolute;
  top: 15rem;
  right: 0;
  color: #fff;
  font-size: 210px;
  line-height: 0;
  font-family: "Nothing You Could Do", cursive;
  text-align: center;
}
.c-title-area h1 {
  position: relative;
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
  line-height: 1.4;
}
.c-title-area h1 .sub {
  font-size: clamp(18px, 1.25vw, 24px);
}
.c-title-area-mv {
  position: absolute;
  right: 0;
  width: 80%;
  max-width: 1719px;
}
.c-title-area--top {
  padding-top: 6.25vw;
}
.c-title-area-h {
  position: relative;
  height: 730px;
  margin-bottom: 0;
  background: url(../img/training/bg_mv.jpg) no-repeat center center;
  background-size: cover;
}
.c-title-area-h .l-container {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 1rem;
}
.c-title-area-h .p-breadcrumb {
  position: absolute;
  top: 140px;
  right: 0;
  margin-top: 0;
}
.c-title-area-h .title_en {
  z-index: 0;
  position: absolute;
  top: 10rem;
  right: 0;
  color: #fff;
  font-size: 210px;
  line-height: 0;
  font-family: "Nothing You Could Do", cursive;
  text-align: center;
}
.c-title-area-h h1 {
  position: relative;
  margin-bottom: 4rem;
  font-weight: 500;
  font-size: clamp(32px, 2.5vw, 48px);
  line-height: 1.4;
}
.c-title-area-h h1 .sub {
  font-size: clamp(18px, 1.25vw, 24px);
}
.c-title-area-h h1 .sub.red {
  color: #cc0000;
  line-height: 1.417;
}
.c-title-area-h-mv {
  position: absolute;
  top: 170px;
  right: 0;
  width: 48%;
  max-width: 1100px;
}
.c-title-area-h-no1 {
  width: 100%;
  max-width: 297px;
  margin-left: -60px;
}
.c-title-area-h-no1 img {
  width: 100%;
  height: auto;
}
.c-title-area-h .c-list--disc-red {
  margin-top: 3rem;
}
.c-title-area-h .c-list--disc-red li {
  margin-bottom: 0.5rem;
}
.c-title-area-h-list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 4rem;
  padding: 3rem 4rem;
  gap: 4rem;
  background-color: #fff;
}
.c-title-area-h-list li {
  margin-bottom: 0.5em;
}
.c-title-h2-nomal {
  margin-bottom: 4rem;
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
  text-align: center;
}
.c-title-h2-nomal .sub_en {
  color: #cc0000;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
}
.c-title-h2-nomal-l {
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
  text-align: left;
}
.c-title-h2-nomal-l .sub_en {
  margin-bottom: 3rem;
  color: #cc0000;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
}
.c-title-h2-nomal.ico_h2 {
  position: relative;
  padding-bottom: 80px;
}
.c-title-h2-nomal.ico_h2::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 60px;
  background-color: #888888;
  content: "";
}
.c-title-h3-nomal {
  margin-bottom: 4rem;
  font-size: clamp(24px, 1.666vw, 32px);
  text-align: center;
}
.c-title-h3-nomal .sub_h3 {
  display: block;
  font-size: clamp(16px, 0.9375vw, 18px);
  line-height: 1;
}
.c-title-h3-nomal--fukidashi {
  display: inline-block;
  position: relative;
}
.c-title-h3-nomal--fukidashi::after {
  position: absolute;
  top: -5rem;
  left: -14rem;
  width: 20.5rem;
  height: 6.7rem;
  background: url(../img/training/basic/h3-fukidashi.png) no-repeat;
  background-size: contain;
  content: "";
}
.c-title-h3-ico {
  position: relative;
  margin-bottom: 3rem;
  padding-bottom: 30px;
  font-weight: 500;
  font-size: clamp(24px, 1.666vw, 32px);
  text-align: center;
}
.c-title-h3-ico::after {
  display: block;
  position: absolute;
  bottom: 20px;
  left: calc(50% - 10px);
  width: 20px;
  height: 2px;
  background-color: #ae0000;
  content: "";
}
.p-breadcrumb {
  margin: 7rem 0 0;
  font-size: clamp(10px, 0.625vw, 12px);
}
.p-breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-end;
  gap: 0;
  font-weight: normal;
}
.p-breadcrumb ul li + li::before {
  margin: 0 1rem;
  content: "/";
  color: #777777;
}
.p-breadcrumb ul a {
  position: relative;
  color: #777777;
  font-weight: normal;
}
.p-breadcrumb ul a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scale(0, 1);
  transform-origin: left top;
  background: #6e7786;
  content: "";
  transition: transform 0.2s;
}
.p-breadcrumb ul a:focus::after {
  transform: scale(1, 1);
}
.p-faq-list {
  max-width: 1000px;
  margin: 4rem auto 0 auto;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
}
.p-faq-list dt {
  position: relative;
  padding: 2rem 2rem 2rem 8rem;
  background: #fff;
  font-size: 18px;
}
.p-faq-list dt i {
  display: block;
  position: absolute;
  top: 15px;
  left: 4rem;
  color: #cc0000;
  font-style: normal;
  font-size: clamp(18px, 1.046vw, 20px);
  text-align: center;
}
.p-faq-list + .p-faq-list {
  margin-top: 1.5625vw;
}
.p-faq-list dd {
  position: relative;
  padding: 2rem 2rem 2rem 8rem;
  background: #fff;
}
.p-faq-list dd i {
  display: block;
  position: absolute;
  left: 4rem;
  color: #888888;
  font-style: normal;
  font-size: clamp(18px, 1.046vw, 20px);
  text-align: center;
}
.p-faq-list dt:before {
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  position: absolute;
  top: 50%;
  right: 1.5625vw;
  width: 20px;
  height: 2px;
  margin-top: -1px;
  background: #cc0000;
  content: "";
  transition: all 0.3s;
}
.p-faq-list dt:after {
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  position: absolute;
  top: 50%;
  right: 1.5625vw;
  width: 20px;
  height: 2px;
  margin-top: -1px;
  transform: rotate(-90deg);
  background: #cc0000;
  content: "";
  transition: all 0.3s;
}
.p-faq-list.is-open dt:after {
  -moz-transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
.p-faq-list a {
  color: #0e1155;
  text-decoration: underline;
}
.p-faq-list a:hover {
  text-decoration: none;
}
.p-feature-reason-cnt {
  background: url(/assets/img/feature-reason_bg.png);
  background-position: top center;
  background-size: contain;
  background-repeat: no-repeat;
}
.p-feature-reason-cnt__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: space-between;
  gap: 1rem;
}
.p-feature-reason-cnt__text {
  padding: 4rem 3rem;
}
.p-feature-reason-cnt__text h3 {
  margin-bottom: 1.5625vw;
  text-align: center;
}
.p-feature-reason-cnt__list {
  visibility: hidden;
  width: 32%;
  transform: translateY(3rem);
  box-shadow: 0rem 0.5rem 2rem rgba(1, 120, 228, 0.2);
  opacity: 0;
  transition: 1s;
}
#foot-action {
  z-index: 10;
  /*display: none;*/
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 10px 0;
  padding: 0 0 0 5%;
  background: rgba(220, 220, 220, 0.95);
  text-align: left;
}
#foot-action .inner {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
#foot-action .inner .actionbtn li {
  margin-right: 10px;
  float: left;
}
#foot-action .inner .actionbtn li.tel {
  margin-top: 10px;
  margin-right: 20px;
}
#foot-action .inner .anounce {
  position: absolute;
  right: 0;
  bottom: -20px;
}
#foot-action .inner .actionbtn li.tel {
  margin-top: 20px;
  margin-right: 50px;
}
#foot-action .inner .actionbtn li.tel.tel__column {
  margin-right: 30px;
}
#foot-action .inner .actionbtn li {
  margin-right: 5px;
}
#foot-action .inner .actionbtn li.faction_training.faction_b_to_c_twins {
  margin-top: 20px;
}
#foot-action.lp_hiring_foot-action .inner .actionbtn li:nth-of-type(2) {
  margin: 5px 0 0 0;
}
.actionbtn-flex * {
  box-sizing: border-box;
}
.actionbtn-flex {
  display: flex;
  align-items: center;
  max-width: calc(100% - 120px);
  gap: 5rem;
}
.actionbtn-flex ul {
  display: flex;
  flex-wrap: wrap;
  width: 63%;
  gap: 5px 7px;
}
.actionbtn-flex ul li {
  width: calc((100% - 7px) / 2);
}
.actionbtn-flex ul li a {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 11.5px 0;
  gap: 8px;
  border-radius: 4px;
  background: #f1963d;
  color: #fff;
  font-weight: bold;
  font-size: clamp(14px, 0.8333vw, 17px);
  line-height: 1;
  letter-spacing: 0.2px;
  transition: 0.3s;
}
.actionbtn-flex ul li a:hover {
  background: #f4ac64;
  text-decoration: none;
}
.actionbtn-flex-tel {
  width: 31%;
}
.actionbtn-flex ul li a .limited5 {
  position: absolute;
  top: 0;
  left: 0;
}
.actionbtn-flex ul li.download a,
.actionbtn-flex ul li.contact a {
  background: #cc0000;
}
.actionbtn-flex ul li.download a:hover,
.actionbtn-flex ul li.contact a:hover {
  background: #d63333;
}
.Contact-flex * {
  box-sizing: border-box;
}
.Contact-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
}
.Contact-flex ul {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 400px - 30px);
  gap: 12px;
}
.Contact-flex ul li {
  width: calc((100% - 12px) / 2);
}
.Contact-flex ul li a {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 15px 0;
  gap: 8px;
  border-radius: 4px;
  background: #f1963d;
  color: #fff;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  transition: 0.3s;
}
.Contact-flex ul li a:hover {
  background: #f4ac64;
  text-decoration: none;
}
.Contact-flex-tel {
  width: 400px;
}
.Contact-flex ul li a .limited5 {
  position: absolute;
  top: 0;
  left: 0;
}
.Contact-flex ul li.download a,
.Contact-flex ul li.contact a {
  background: #cc0000;
}
.Contact-flex ul li.download a:hover,
.Contact-flex ul li.contact a:hover {
  background: #d63333;
}
#footerContact .inner h3.footerContact-title {
  display: inline-block;
  width: 100%;
  max-width: 550px;
  padding: 10px;
  float: none !important;
  border: 1px solid #c00;
  border-radius: 9999px;
  color: #c00;
  font-weight: bold;
  font-size: 23px;
}
.actionbtn-flex ul li a .balloon {
  position: absolute;
  top: -21px;
  left: 50%;
  width: auto;
  padding: 6px 12px;
  transform: translate(-50%, 0);
  border: 1px solid #c00;
  border-radius: 9999px;
  background: #fff;
  color: #c00;
  font-size: 12px;
  word-break: keep-all;
  transition: 0.2s 0s ease;
}
.actionbtn-flex ul li a .balloon:before {
  display: block;
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, 0);
  border-width: 7px 3.5px 0 3.5px;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
  content: "";
}
.actionbtn-flex ul li a:hover .balloon {
  top: -24px;
}
.actionbtn-flex ul li a .outline {
  padding: 5px;
  border-radius: 2px;
  background: #fff;
  color: #f1963d;
  font-size: 11px;
}
.Contact-flex ul li a .balloon {
  position: absolute;
  top: -20px;
  left: 50%;
  width: auto;
  padding: 6px 12px;
  transform: translate(-50%, 0);
  border: 1px solid #c00;
  border-radius: 9999px;
  background: #fff;
  color: #c00;
  font-size: 12px;
  word-break: keep-all;
  transition: 0.2s 0s ease;
}
.Contact-flex ul li a .balloon:before {
  display: block;
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, 0);
  border-width: 7px 3.5px 0 3.5px;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
  content: "";
}
.Contact-flex ul li a:hover .balloon {
  top: -23px;
}
.Contact-flex ul li a .outline {
  padding: 5px;
  border-radius: 2px;
  background: #fff;
  color: #f1963d;
  font-size: 11px;
}
.p-footer-cta {
  visibility: hidden;
  transform: translateY(3rem);
  opacity: 0;
  transition: 1s;
}
.p-footer-cta a[href^="tel:"] {
  pointer-events: none;
}
.p-footer-cta-list1 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 0;
}
.p-footer-cta-list1 li {
  width: 50%;
  height: 355px;
}
.p-footer-cta-list1__sttl {
  font-size: clamp(14px, 0.8333vw, 16px);
}
.p-footer-cta-list1 h2 {
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
}
.p-footer-cta-list1 a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: 130px;
  color: #fff;
  text-align: center;
}
.p-footer-cta-list1 a::after {
  display: block;
  position: absolute;
  top: calc(50% - 32px);
  right: 3vw;
  width: 64px;
  height: 64px;
  background: url(../img/ico_arrow_01.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.p-footer-cta-list1 a:hover {
  opacity: 0.8;
}
.p-footer-cta-list2 ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  margin: 3rem 0;
  gap: 0;
}
.p-footer-cta-list2 li {
  width: 33.3333333333%;
  padding: 1rem 3rem;
  border-right: 1px solid #e8e8e8;
  text-align: center;
}
.p-footer-cta-list2 li:first-child {
  border-left: 1px solid #e8e8e8;
}
.p-footer-cta-list2__ttl {
  padding-bottom: 1rem;
}
.p-footer-cta-list2__tel {
  width: 90%;
  max-width: 320px;
  margin: auto;
}
.p-footer-cta__contact a {
  background: url(../img/bg_p-footer-cta__01.jpg) no-repeat center center;
  background-size: cover;
}
.p-footer-cta__download a {
  background: url(../img/bg_p-footer-cta__02.jpg) no-repeat center center;
  background-size: cover;
}
.p-footer-cta__sttl {
  padding-bottom: 0;
}
.p-footer-cta .l-container {
  padding: 0;
}
.p-footer-cta__tel {
  padding: 2rem;
  font-size: clamp(14px, 0.8333vw, 16px);
  letter-spacing: 2px;
  text-align: center;
}
.p-footer-cta__tel a {
  display: block;
  font-weight: 500;
  font-size: clamp(26px, 1.978vw, 38px);
  line-height: 1;
}
.p-footer-nav {
  visibility: hidden;
  transform: translateY(3rem);
  border-left: 1px solid #ccc;
  background-color: #111;
  opacity: 0;
  transition: 1s;
}
.p-footer-nav a[href^="tel:"] {
  pointer-events: none;
}
.p-footer-nav a {
  color: #fff;
  font-weight: 500;
  font-size: clamp(13px, 0.78vw, 15px);
}
.p-footer-nav .l-container {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  padding: 3.125vw 5%;
  gap: 0;
}
.p-footer-nav__copyright {
  padding: 3rem;
  color: #fff;
  font-size: clamp(10px, 0.625vw, 12px);
  text-align: center;
}
.p-footer-nav nav {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  gap: 0;
  text-align: left;
}
.p-footer-nav-list li {
  color: #fff;
  font-weight: 500;
  font-size: clamp(13px, 0.78vw, 15px);
}
.p-footer-nav-list__wrap {
  width: 19%;
}
.p-footer-nav-list__wrap:nth-child(2) {
  width: 60%;
}
.p-footer-nav-list2 {
  width: 48%;
}
.p-footer-nav-list2 li a {
  color: #c0c0c0;
  font-size: clamp(13px, 0.78vw, 15px);
}
.p-footer-nav-list2__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
}
.p-footer-nav-list3 li a {
  color: #c0c0c0;
  font-size: clamp(13px, 0.78vw, 15px);
}
.p-footer-nav:nth-of-type(1) {
  border-left: none;
}
.p-header {
  visibility: hidden;
  height: 100px;
  transform: translateY(3rem);
  background: #fff;
  opacity: 0;
  transition: 1s;
}
.p-header a[href^="tel:"] {
  pointer-events: none;
}
.p-header__inner {
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  max-width: 1520px;
  height: 100%;
  margin: 0 auto;
  gap: 0;
}
.p-header__logo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  width: 13.4rem;
  gap: 0;
}
.p-header__logo a:focus {
  opacity: 0.7;
  transition: 0.3s;
}
.p-header-tel__wrap {
  width: 172px;
}
.p-header-tel1 img {
  width: 100%;
  height: auto;
}
.p-header__nav {
  margin-left: auto;
}
.p-header__nav nav {
  display: flex;
  row-gap: 1rem;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
}
.p-header__nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  gap: 0;
  gap: 1.0416666667vw;
}
.p-header__nav ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
}
.p-header__nav ul li a {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  gap: 0;
  font-weight: 500;
}
.p-header__nav ul li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scale(0, 1);
  transform-origin: left top;
  content: "";
  transition: transform 0.2s;
}
.p-header__nav ul li a:focus::after {
  transform: scale(1, 1);
}
.p-header__nav ul li a::after {
  height: auto;
}
.p-header__nav ul.p-header__menu-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  margin-left: 1.8229166667vw;
  gap: 2rem;
}
.p-header__nav ul.p-header__menu-form a {
  justify-content: center;
  min-width: 160px;
  padding: 8px;
}
.p-header__toggle:hover .p-header__toggle-menu {
  max-height: 100vh;
  transition: max-height 0.3s ease-in;
}
.p-header__toggle-menu {
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  background-color: #19192b;
  text-align: center;
  transition: max-height 0.3s ease-out;
}
.p-header__toggle-menu ul li a {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  height: inherit;
  gap: 0;
}
.p-header__menu:nth-of-type(1) {
  height: 100%;
}
.p-header__toggle-menu {
  display: flex;
  left: 0;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100vw;
  padding: 0 4rem;
  background: #0566d4;
}
.p-header__toggle-item {
  width: 30%;
  margin: 4rem 0;
  color: #fff;
}
.p-header__toggle-item figure {
  max-height: 5vw;
  margin-bottom: 1rem;
  overflow: hidden;
}
.p-header__toggle-item img {
  transition: 0.3s;
}
.p-header__toggle-item img:hover {
  transform: scale(1.05);
}
.p-header__category {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #fff;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  text-align: left;
}
.p-header__toggle-item ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px 0;
}
.p-header__toggle-item ul li {
  width: 48%;
}
.p-header__toggle-item ul li a {
  position: relative;
  font-size: clamp(12px, 0.729vw, 14px);
}
.p-header__toggle-item ul li a:hover {
  text-decoration: underline;
}
.p-header__toggle-item ul li a span {
  position: relative;
  padding-left: 1.5rem;
  text-align: left;
}
.p-header__toggle-item ul li a span:after {
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: 1.1rem;
  left: 0;
  width: 8px;
  height: 8px;
  margin-top: -3px;
  transform: rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  border-color: rgba(255, 255, 255, 0.9);
  content: "";
  vertical-align: middle;
}
.p-header__nav .p-header__toggle-item ul:nth-of-type(1) li + li {
  margin: 0;
}
.p-home-mv {
  position: relative;
  width: 100% !important;
}
.p-home-mv .l-container {
  padding-top: 0;
  padding-bottom: 0;
}
.p-home-mv h1 {
  color: #fff;
  font-weight: 500;
  line-height: 1.34;
  letter-spacing: 0.04em;
}
.p-home-mv__wrap {
  z-index: 10;
  position: absolute;
  bottom: 164px;
  left: 0;
  width: 100%;
  background: none;
}
.p-home-mv__text {
  width: 53%;
  padding-top: 6rem;
  color: #fff;
  font-size: clamp(18px, 1.046vw, 20px);
}
.p-home-mv__img {
  width: 100%;
  max-width: 636px;
  padding: 4rem 0;
}
.p-home-mv__img img {
  width: 100%;
  height: auto;
}
.p-home-mv__img2 {
  position: absolute;
  top: 38px;
  right: -110px;
  width: 100%;
  max-width: 803px;
  padding: 0;
}
.p-home-mv__img2 img {
  width: 100%;
  height: auto;
}
.p-home-mv-btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 2%;
}
.p-home-mv-btn li {
  width: 270px;
  text-align: center;
}
.p-home-mv-swiper {
  width: 100% !important;
  overflow: hidden;
}
.p-home-mv-swiper .swiper-slide {
  width: 100% !important;
  height: 815px;
}
.bg_home_mv_001 {
  background: url(../img/home/bg_home_mv_001.jpg) no-repeat center top;
  background-size: cover;
}
.bg_home_mv_001 h1 {
  padding-top: 135px;
  font-size: clamp(32px, 3.125vw, 64px);
}
.bg_home_mv_002 {
  background: url(../img/home/bg_home_mv_002.jpg) no-repeat center center;
  background-size: cover;
}
.bg_home_mv_002 h1 {
  padding-top: 185px;
  font-size: clamp(32px, 3.125vw, 58px);
}
.bg_home_mv_002 .l-container {
  position: relative;
}
.bg_home_mv_003 {
  background: url(../img/home/bg_home_mv_003.png) no-repeat right center;
  background-size: cover;
}
.bg_home_mv_003 h1 {
  padding-top: 185px;
  font-size: clamp(32px, 3.125vw, 58px);
}
.bg_home_mv_003 .l-container {
  position: relative;
}
.p-home-logoarea-loading {
  width: 100%;
  overflow: hidden;
  /* 画像のサイズ調整 */
}
.p-home-logoarea-loading .swiper-wrapper {
  padding-top: 4rem;
  padding-bottom: 4rem;
  transition-timing-function: linear;
}
.p-home-logoarea-loading .swiper-slide img {
  width: 100%;
  height: auto;
}
.p-home-lead {
  text-align: center;
}
.p-home-lead .l-container {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.p-home-lead figure {
  width: 100%;
  max-width: 1067px;
  margin: auto auto 5rem auto;
}
.p-home-lead p {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.88;
}
.p-home-searvice {
  background: url(../img/home/bg_home_001.png) no-repeat center center;
  background-size: cover;
}
.p-home-searvice .l-container {
  padding-top: 8rem;
  padding-bottom: 4rem;
}
.p-home-searvice-ttlarea {
  position: relative;
  padding-bottom: 5rem;
}
.p-home-searvice-ttlarea .p-home-en_01 {
  position: absolute;
  top: 5rem;
  left: 0;
  width: 100%;
  color: #fff;
  font-size: 230px;
  line-height: 0;
  font-family: "Nothing You Could Do", cursive;
  text-align: center;
}
.p-home-searvice-ttlarea h2.h2_home_01 {
  z-index: 10;
  position: relative;
  margin: 0 0 0 0;
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
  text-align: center;
}
.p-home-searvice-list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  max-width: 1210px;
  margin: auto;
  gap: 0;
}
.p-home-searvice-list ul a figure {
  overflow: hidden;
}
.p-home-searvice-list ul a figure img {
  transition: 0.3s all;
}
.p-home-searvice-list ul a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.p-home-searvice-list ul li {
  width: 48%;
  margin-bottom: 4%;
  overflow: hidden;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.11);
}
.p-home-searvice-list ul li figure img {
  width: 100%;
  height: auto;
}
.p-home-searvice-list__item {
  padding: 3rem;
}
.p-home-searvice-list__text1 {
  color: #9b9a9a;
  font-size: clamp(16px, 0.9375vw, 18px);
  line-height: 1.4;
}
.p-home-searvice-list__ttl {
  padding-bottom: 3rem;
  font-weight: 600;
  font-size: clamp(18px, 1.458vw, 28px);
}
.p-home-searvice-list__ttl span {
  font-size: clamp(18px, 1.046vw, 20px);
}
.p-home-searvice-list__text2 {
  padding-bottom: 3rem;
  font-size: clamp(16px, 0.9375vw, 18px);
  line-height: 1.77;
}
.p-home-searvice-list__btn {
  font-weight: normal;
  text-align: center;
}
.p-home-searvice-list__btn::after {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 10px;
  background: url(../img/ico_arrow_03.png) no-repeat center center;
  background-size: contain;
  content: "";
  vertical-align: middle;
}
.p-home-feature {
  position: relative;
  width: 100%;
}
.p-home-feature-ttlarea {
  text-align: left;
}
.p-home-feature-ttlarea .p-home-en_01 {
  position: absolute;
  top: 250px;
  right: 0;
  color: #f8f8f8;
  font-size: 230px;
  line-height: 0;
  font-family: "Nothing You Could Do", cursive;
  text-align: center;
}
.p-home-feature-ttlarea h2.h2_home_01 {
  z-index: 10;
  position: relative;
  margin: 0 0 4rem 0;
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
  line-height: 1.36;
  text-align: left;
}
.p-home-feature-list {
  margin-top: 5rem;
}
.p-home-feature-list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 2rem;
}
.p-home-feature-list ul li {
  width: calc((100% - 6rem) / 4);
  background-color: #f6f6f6;
}
.p-home-feature-list ul li a {
  display: flex;
  position: relative;
  flex-direction: column;
  height: 100%;
  padding: 4rem 3rem 3rem;
}
.p-home-feature-list ul li a:hover {
  opacity: 0.5;
}
.p-home-feature-list ul li figure {
  min-height: 100px;
  margin: 0 0 2rem 0;
  text-align: center;
}
.p-home-feature-list ul li img {
  -o-object-fit: contain;
  width: auto;
  height: 100%;
  object-fit: contain;
}
.p-home-feature-list ul li:nth-child(1) img {
  max-width: 83px;
}
.p-home-feature-list ul li:nth-child(2) img {
  max-width: 126px;
  padding-top: 1rem;
}
.p-home-feature-list ul li:nth-child(3) img {
  max-width: 111px;
}
.p-home-feature-list ul li:nth-child(4) img {
  max-width: 109px;
}
.p-home-feature-list__text1 {
  font-weight: 500;
  font-size: clamp(16px, 0.9375vw, 18px);
  text-align: center;
}
.p-home-feature-list__ttl {
  font-weight: 500;
  font-size: clamp(18px, 1.25vw, 24px);
  text-align: center;
}
.p-home-feature-list__text2 {
  font-size: clamp(16px, 0.9375vw, 18px);
  text-align: left;
}
.p-home-feature-list-num {
  position: absolute;
  top: -25px;
  right: 2rem;
  color: #e4e4e4;
  font-size: 70px;
  font-family: "Caveat", cursive;
}
.p-home-feature-list__btn {
  margin-top: auto;
  padding-top: 3rem;
  font-weight: normal;
  text-align: center;
}
.p-home-feature-list__btn::after {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 10px;
  background: url(../img/ico_arrow_03.png) no-repeat center center;
  background-size: contain;
  content: "";
  vertical-align: middle;
}
.p-home-theme {
  overflow: hidden;
}
.p-home-theme .l-container {
  position: relative;
  padding-top: 10rem;
  padding-bottom: 10rem;
  background: url(../img/home/bg_home_002.png) no-repeat center center;
  background-size: cover;
}
.p-home-theme-ttlarea {
  padding: 0 10rem 5rem 10rem;
  text-align: left;
}
.p-home-theme-ttlarea .p-home-en_01 {
  position: absolute;
  top: 40px;
  right: -25px;
  color: #f8f8f8;
  font-size: 230px;
  line-height: 1;
  font-family: "Nothing You Could Do", cursive;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-home-theme-ttlarea h2.h2_home_01 {
  z-index: 10;
  position: relative;
  margin: 0 0 4rem 0;
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
  line-height: 1.36;
  text-align: left;
}
.p-home-theme-list a figure {
  overflow: hidden;
}
.p-home-theme-list a figure img {
  transition: 0.3s all;
}
.p-home-theme-list a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.p-home-theme-list figure {
  display: block;
  position: relative;
}
.p-home-theme-list figure img {
  width: 100%;
  height: auto;
}
.p-home-theme-list figure figcaption {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 10px 0 15px;
  font-weight: 600;
  font-size: 20px;
}
.p-home-theme-list figure .ico_no1 {
  -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  height: 37px;
  background: linear-gradient(to right, #ae8f24 0%, #e5c35c 100%);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}
.p-home-theme-list figure .ico_no1::before {
  display: inline-block;
  width: 26px;
  height: 18px;
  margin-right: 5px;
  background: url(../img/home/ico_ranking.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.p-home-theme-list figure .ico_no2 {
  -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  height: 37px;
  background: linear-gradient(to right, #8a8a8a 0%, #bababa 100%);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}
.p-home-theme-list figure .ico_no2::before {
  display: inline-block;
  width: 26px;
  height: 18px;
  margin-right: 5px;
  background: url(../img/home/ico_ranking.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.p-home-theme-list figure .ico_no3 {
  -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  height: 37px;
  background: linear-gradient(to right, #ae6224 0%, #c79d54 100%);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}
.p-home-theme-list figure .ico_no3::before {
  display: inline-block;
  width: 26px;
  height: 18px;
  margin-right: 5px;
  background: url(../img/home/ico_ranking.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.p-home-theme-list figure .ico_attention {
  -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  height: 37px;
  background-color: #555;
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}
.p-home-theme-list figure .ico_attention::before {
  display: inline-block;
  width: 26px;
  height: 18px;
  margin-right: 5px;
  background: url(../img/home/ico_attention.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.p-home-theme-list figure .ico_good {
  -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  height: 37px;
  padding-top: 4px;
  background-color: #555;
  color: #fff;
  font-size: 16px;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}
.p-home-theme-list figure .ico_good::before {
  display: inline-block;
  width: 26px;
  height: 18px;
  margin-right: 5px;
  background: url(../img/home/ico_good.png) no-repeat center center;
  background-size: contain;
  content: "";
}
.p-home-theme-list__subttl {
  padding: 2.5rem 2.5rem 0 2.5rem;
  color: #888888;
  font-weight: 500;
  font-size: clamp(16px, 0.9375vw, 18px);
  line-height: 1.4;
}
.p-home-theme-list__ttl {
  padding: 0 2.5rem 2.5rem 2.5rem;
  font-weight: 500;
  font-size: clamp(18px, 1.146vw, 22px);
  line-height: 1.4;
}
.p-home-theme-list__text {
  padding: 0 2.5rem 3.5rem 2.5rem;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.6;
}
.p-home-theme-list .swiper-wrapper div.swiper-slide {
  width: 400px;
  height: auto;
  overflow: hidden;
  transform: scale(0.8);
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);
}
.p-home-theme-list .swiper-wrapper div.swiper-slide-prev,
.p-home-theme-list .swiper-wrapper div.swiper-slide-next,
.p-home-theme-list .swiper-wrapper div.swiper-slide-active {
  transform: scale(1);
}
.p-home-theme-list-pagination {
  position: inherit !important;
  top: inherit !important;
  right: inherit !important;
  bottom: inherit !important;
  left: inherit !important;
  width: auto !important;
  text-align: center;
  vertical-align: middle;
}
.p-home-theme-list-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 5rem;
  gap: 15px;
}
.p-home-theme .swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
}
.p-home-theme .swiper-pagination-bullet-active {
  background-color: #ae0000;
}
.p-home-theme .swiper-btn-prev,
.p-home-theme .swiper-btn-next {
  display: inline-block;
  width: 58px;
  height: 58px;
  vertical-align: middle;
}
.p-home-theme .swiper-btn-prev:hover,
.p-home-theme .swiper-btn-next:hover {
  cursor: pointer;
}
.p-home-theme .swiper-btn-prev {
  background: url(../img/ico_arrow_04.png) no-repeat center center;
  background-size: contain;
}
.p-home-theme .swiper-btn-next {
  background: url(../img/ico_arrow_05.png) no-repeat center center;
  background-size: contain;
}
.p-home-ttlarea_01 {
  position: relative;
  margin: 5rem 0 0 0;
  padding: 0 0 0 0;
}
.p-home-ttlarea_01 .p-home-en_01 {
  position: absolute;
  top: 15px;
  left: 0;
  width: 100%;
  color: #f8f8f8;
  font-size: 200px;
  line-height: 0;
  font-family: "Nothing You Could Do", cursive;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-home-ttlarea_01 h2.h2_home_01 {
  z-index: 10;
  position: relative;
  margin: 0 0 6rem 0;
  font-weight: 500;
  font-size: clamp(28px, 2.083vw, 40px);
  line-height: 1.36;
  text-align: center;
}
.p-home-case .l-container {
  max-width: 1165px;
}
.p-home-case-list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
}
.p-home-case-list ul li {
  width: 32%;
  max-width: 360px;
}
.p-home-case-list ul li a figure {
  overflow: hidden;
}
.p-home-case-list ul li a figure img {
  transition: 0.3s all;
}
.p-home-case-list ul li a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.p-home-case-list ul li figure {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.1);
}
.p-home-case-list__name1 {
  color: #aaaaaa;
  font-weight: 500;
}
.p-home-case-list__name2 {
  margin-bottom: 2rem;
  font-weight: bold;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.4;
}
.p-home-case-list__text {
  font-size: clamp(16px, 0.9375vw, 18px);
}
.p-home-case-list__item {
  padding: 2rem 0.5em;
}
.p-home-btn {
  padding-top: 5rem;
  text-align: center;
}
.p-home-teacher .l-container {
  max-width: 1280px;
  border-top: 1px solid #dadada;
}
.p-home-teacher-list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
}
.p-home-teacher-list ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: 48%;
  margin-bottom: 5rem;
  gap: 0;
}
.p-home-teacher-list ul li figure {
  width: 32%;
  max-width: 202px;
}
.p-home-teacher-list__item {
  width: 65%;
  margin: auto 0;
}
.p-home-teacher-list__name1 {
  font-size: clamp(18px, 1.458vw, 28px);
  line-height: 1.2;
}
.p-home-teacher-list__name2 {
  margin-bottom: 2rem;
  color: #555555;
}
.p-home-teacher-list__ico span {
  display: inline-block;
  margin: 0 5px 5px 0;
  padding: 3px 10px;
  background-color: #f6f6f6;
  font-size: 16px;
  line-height: 1;
}
.p-home-bg-gray .l-container {
  max-width: 1280px;
}
.p-home-bg-gray-btn {
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  max-width: 270px;
  text-align: center;
}
.p-home-bg-gray-btn a {
  text-align: center;
}
.p-home-bg-gray__wrap {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-bottom: 10rem;
  gap: 0;
}
.p-home-bg-gray__wrapr {
  position: relative;
  width: 70%;
}
.p-home-bg-gray-ttlarea {
  position: relative;
  width: 26%;
}
.p-home-bg-gray-ttlarea .p-home-en_01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #ececec;
  font-size: 160px;
  line-height: 0;
  font-family: "Nothing You Could Do", cursive;
  text-align: center;
}
.p-home-bg-gray-ttlarea h2.h2_home_01 {
  z-index: 10;
  position: relative;
  margin: 0 0 6rem 0;
  font-weight: 500;
  font-size: clamp(24px, 1.666vw, 32px);
  line-height: 1.36;
  text-align: left;
}
.p-home-column {
  height: 440px;
}
.p-home-column-list {
  position: absolute;
  width: 160%;
  overflow: hidden;
}
.p-home-column-list .swiper-slide {
  width: 40%;
  height: auto;
  overflow: hidden;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
.p-home-column-list .swiper-slide a figure {
  overflow: hidden;
}
.p-home-column-list .swiper-slide a figure img {
  transition: 0.3s all;
}
.p-home-column-list .swiper-slide a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.p-home-column-list .swiper-slide figure img {
  width: 100%;
  height: auto;
}
.p-home-column-list__ttl {
  padding: 3rem;
  font-weight: 600;
  font-size: clamp(18px, 1.046vw, 20px);
  line-height: 1.7;
}
.p-home-column-list-pager {
  position: absolute;
  right: 0;
  bottom: 0;
  padding-top: 3rem;
  text-align: right;
}
.p-home-column .swiper-column-btn-prev,
.p-home-column .swiper-column-btn-next {
  display: inline-block;
  width: 58px;
  height: 58px;
  margin: 0 0 0 10px;
  vertical-align: middle;
}
.p-home-column .swiper-column-btn-prev:hover,
.p-home-column .swiper-column-btn-next:hover {
  cursor: pointer;
}
.p-home-column .swiper-column-btn-prev {
  background: url(../img/ico_arrow_04.png) no-repeat center center;
  background-size: contain;
}
.p-home-column .swiper-column-btn-next {
  background: url(../img/ico_arrow_05.png) no-repeat center center;
  background-size: contain;
}
.p-home-news-list {
  max-height: 300px;
  padding-bottom: 3rem;
  overflow-y: scroll;
  border-top: 1px solid #d7d7d7;
}
.p-home-news-list li {
  width: 100%;
  border-bottom: 1px solid #d7d7d7;
}
.p-home-news-list li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  padding: 3rem 3rem 3rem 0;
  gap: 15px;
  background: url(../img/ico_arrow_06.png) no-repeat right center;
  background-size: 10px 18px;
}
.p-home-news-list li a:hover {
  background: url(../img/ico_arrow_06.png) no-repeat right 10px center;
  background-size: 10px 18px;
}
.p-home-news-list__date {
  color: #8e8e8e;
}
.p-home-news-list__tag {
  width: 122px;
  padding: 5px 0;
  border: 1px solid #333333;
  font-size: 14px;
  line-height: 1;
  text-align: center;
}
.p-home-news-list__ttl {
  font-size: 18px;
}
.p-home-media {
  height: 580px;
}
.p-home-media-list {
  position: absolute;
  width: 130%;
  overflow: hidden;
}
.p-home-media-list .swiper-slide {
  width: 40%;
  height: auto;
}
.p-home-media-list .swiper-slide a figure {
  overflow: hidden;
}
.p-home-media-list .swiper-slide a figure img {
  transition: 0.3s all;
}
.p-home-media-list .swiper-slide a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.p-home-media-list .swiper-slide figure {
  text-align: center;
}
.p-home-media-list .swiper-slide figure img {
  width: auto;
  height: 277px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
.p-home-media-list__ttl {
  padding-top: 1rem;
  font-weight: 600;
  font-size: clamp(16px, 0.9375vw, 18px);
  line-height: 1.33;
  text-align: center;
}
.p-home-media-list__ttl2 {
  text-align: center;
}
.p-home-media-list-pager {
  position: absolute;
  right: 0;
  bottom: 0;
}
.p-home-media .swiper-media-btn-prev,
.p-home-media .swiper-media-btn-next {
  display: inline-block;
  width: 58px;
  height: 58px;
  margin: 0 0 0 10px;
  vertical-align: middle;
}
.p-home-media .swiper-media-btn-prev:hover,
.p-home-media .swiper-media-btn-next:hover {
  cursor: pointer;
}
.p-home-media .swiper-media-btn-prev {
  background: url(../img/ico_arrow_04.png) no-repeat center center;
  background-size: contain;
}
.p-home-media .swiper-media-btn-next {
  background: url(../img/ico_arrow_05.png) no-repeat center center;
  background-size: contain;
}
.p-home-chart {
  background: url(../img/home/bg_home_001.png) no-repeat center center;
  background-size: cover;
}
.p-home-chart .p-home-searvice-ttlarea {
  margin-top: 5rem;
}
.p-home-chart .p-home-en_01 {
  text-align: left;
}
.p-home-chart h2.h2_home_01 {
  padding: 5rem 0 0 5rem;
  text-align: left;
}
.p-home-chart h2.h2_home_01 em {
  color: #cc0000;
}
.p-home-chart .l-container {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.p-home-chart__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 5rem;
}
.p-home-chart__wrapl {
  width: calc(100% - 66rem);
}
.p-home-chart__wrapr {
  width: 61rem;
}
.p-home-media .p-home-bg-gray-btn {
  top: 140px;
}
/* グラフコンテンツ
----------------------------------------------------------------------*/
.graph-text {
  padding-top: 3rem;
  clear: both;
  color: #888888;
  text-align: center;
}
#graph #graph-before {
  width: 42%;
  float: left;
}
#graph #graph-before #doughnut-left,
#graph #graph-before #doughnut-center {
  /*float: left;
  width: 50%;
  margin-top: 8%;*/
}
#graph #graph-after {
  width: 42%;
  float: right;
}
#graph #graph-after .ttl span,
#graph #graph-before .ttl span {
  display: block;
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 18px;
  text-align: center;
}
#graph #graph-before .ttl-graph,
#graph #graph-after .ttl-graph {
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #000;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
}
#graph #graph-after #doughnut-right,
#graph #graph-before #doughnut-left,
#graph #graph-before #doughnut-center {
  position: relative;
}
#graph #graph-before #doughnut-left .ttl-graph,
#graph #graph-before #doughnut-center .ttl-graph {
  transform: translate(-49%, -50%);
}
#graph #graph-after #doughnut-right .ttl-graph {
  transform: translate(-49%, -43%);
  font-size: 16px;
  line-height: 1;
}
#graph #graph-before .ttl-graph span {
  color: #000;
  font-size: 22px;
}
#graph #doughnut-right .ttl-graph span {
  color: #cc0000;
  font-size: 76px;
}
#graph #doughnut-right .ttl-graph span small {
  color: #cc0000;
  font-size: 34px;
}
#graph #doughnut-right:before {
  position: absolute;
  top: 48%;
  left: -29%;
  width: 20%;
  height: 100%;
  background: url(../img/arrow.png) no-repeat;
  background-size: contain;
  content: "";
}
.p-news-list {
  display: flex;
  visibility: hidden;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6rem;
  transform: translateY(3rem);
  opacity: 0;
  transition: 1s;
}
.p-news-list dt {
  color: #666;
  font-weight: normal;
  font-size: clamp(12px, 0.729vw, 14px);
}
.p-news-list dd .c-cate--line {
  margin-right: 1.5625vw;
}
.p-news-list + .p-news-list {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #ddd;
}
.p-page-nav {
  visibility: hidden;
  transform: translateY(3rem);
  opacity: 0;
  transition: 1s;
}
.p-page-nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: center;
  gap: 2rem;
}
.p-page-nav ul li a {
  position: relative;
  font-weight: bold;
  font-size: clamp(18px, 1.046vw, 20px);
}
.p-page-nav li {
  width: 28%;
  text-align: center;
}
.p-page-nav li a {
  display: block;
  padding: 20px 10px;
  border: 2px solid #ccc;
  border-radius: 100px;
  box-shadow: 0rem 0.5rem 2rem rgba(1, 120, 228, 0.2);
  transition: 0.2s;
}
.p-page-nav ul li:nth-of-type(1) a {
  border-color: #34a5b6;
  color: #34a5b6;
}
.p-page-nav ul li:nth-of-type(2) a {
  border-color: #0566d4;
  color: #0566d4;
}
.p-page-nav ul li:nth-of-type(3) a {
  border-color: #e1b004;
  color: #e1b004;
}
.p-page-nav ul li:nth-of-type(1) a:hover {
  background: #34a5b6;
  color: #fff;
}
.p-page-nav ul li:nth-of-type(2) a:hover {
  background: #0566d4;
  color: #fff;
}
.p-page-nav ul li:nth-of-type(3) a:hover {
  background: #e1b004;
  color: #fff;
}
.p-page-nav ul li a:after {
  position: absolute;
  bottom: 0;
  left: calc(50% - 10px);
  width: 0;
  height: 0;
  border-width: 12px 10px 0 10px;
  border-style: solid;
  border-color: transparent transparent transparent transparent;
  content: "";
  transition: 0.5s;
}
.p-page-nav ul li a:hover:after {
  bottom: -12px;
}
.p-page-nav ul li:nth-of-type(1) a:hover:after {
  border-color: #34a5b6 transparent transparent transparent;
}
.p-page-nav ul li:nth-of-type(2) a:hover:after {
  border-color: #0566d4 transparent transparent transparent;
}
.p-page-nav ul li:nth-of-type(3) a:hover:after {
  border-color: #e1b004 transparent transparent transparent;
}
.p-reason-panel {
  display: flex;
  visibility: hidden;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  transform: translateY(3rem);
  background-position: center;
  background-size: cover;
  opacity: 0;
  transition: 1s;
}
.p-reason-panel__text {
  width: 31.25vw;
  margin: 0 0 0 calc(50% - 33.3333333333vw);
  padding: 9.375vw 0;
}
.p-reason-panel__text h2 {
  font-size: clamp(25px, 1.875vw, 36px);
}
.p-traning-lead .l-container {
  max-width: 1280px;
}
.p-traning-lead figure {
  width: 100%;
  max-width: 994px;
  margin: 0 auto;
}
.p-traning-lead__text {
  margin-bottom: 1em;
  font-weight: 500;
  text-align: center;
}
.p-traning-lead__text em {
  color: #cc0000;
  font-size: clamp(18px, 1.25vw, 24px);
}
.p-traning-lead-list {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  margin-top: 8rem;
  gap: 1%;
}
.p-traning-lead-list li {
  width: 32%;
  margin-bottom: 1%;
  padding: 2.5rem;
  background-color: #f6f6f6;
}
.p-traning-lead-list li p {
  line-height: 1.875;
}
.p-traning-lead-list__ttl {
  margin-bottom: 2rem;
  padding-left: 25px;
  background: url(../img/ico_check.png) no-repeat 0 center;
  background-size: 15px 11px;
  font-weight: 500;
  font-size: clamp(18px, 1.25vw, 24px);
}
.p-traning-lead-bg {
  background: url(../img/training/presentation/bg_presentation.jpg) no-repeat
    center center;
}
.p-traning-purpose-list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-bottom: 5rem;
  gap: 0;
}
.p-traning-purpose-list li {
  width: 33.3333333333%;
  padding: 0 3rem;
  border-left: 1px solid #b6b6b6;
  font-weight: 500;
  font-size: 20px;
  text-align: center;
}
.p-traning-purpose-list li:last-child {
  border-right: 1px solid #b6b6b6;
}
.p-traning-lead .p-traning-purpose-list li:last-child {
  border-right: none;
}
.p-traning-lead .p-traning-purpose-list li:first-child {
  border-left: none;
}
.p-traning-purpose-list__num {
  padding-bottom: 3rem;
  color: #888888;
}
.p-traning-purpose-list__ttl {
  padding-bottom: 3rem;
}
.p-traning-purpose-list__ttl em {
  color: #cc0000;
}
.p-traning-purpose-list_text {
  font-size: clamp(14px, 0.8333vw, 16px);
  line-height: 1.688;
  text-align: left;
  padding-bottom: 2rem;
}
.p-traning-purpose-list__icon {
  padding-bottom: 2rem;
  min-height: 92px;
}

.p-traning-subject-list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 1%;
}
.p-traning-subject-list li {
  position: relative;
  width: calc((100% - 1% * 2) / 3);
  margin-bottom: 0.5%;
  font-weight: 500;
  text-align: center;
}
.p-traning-subject-list__ttl {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1.5rem;
  background: rgba(0, 0, 0, 0.59);
  color: #fff;
  font-size: clamp(16px, 0.9375vw, 18px);
  line-height: 1.5;
}
.p-traning-subject-list__ttl em {
  font-size: clamp(18px, 1.25vw, 24px);
}
.p-traning-point__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 55px;
}
.p-traning-point__wrap.right_layout {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 55px;
}
.p-traning-point__wrap.right_layout figure {
  order: 3;
}
.p-traning-point__wrap figure {
  position: relative;
  width: 36%;
  max-width: 360px;
}
.p-traning-point__item {
  order: 2;
  width: 55%;
  max-width: 560px;
}
.p-traning-point__h3 {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #dcdcdc;
  font-size: clamp(18px, 1.458vw, 28px);
  line-height: 1.57;
}
.p-traning-point__h3 em {
  color: #cc0000;
}
.p-traning-point__num {
  position: absolute;
  top: -15px;
  left: -55px;
  color: #888888;
  font-size: 200px;
  line-height: 0;
  font-family: "Caveat", cursive;
  opacity: 0.2;
}
.p-traning-program .l-container {
  max-width: 960px;
}
.p-traning-program__fig {
  padding-bottom: 5rem;
}
.p-traning-program .subttle_theme {
  width: 130px;
  margin: 0 auto 1rem auto;
  border-radius: 20px;
  background-color: #fff;
  font-size: 18px;
  text-align: center;
}
.p-traning-program-list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-bottom: 5rem;
  gap: 0;
}
.p-traning-program-list > li {
  width: 48%;
  background-color: #fff;
}
.p-traning-program-list__ttl_b {
  padding: 0.5rem 0;
  background-color: #333333;
  color: #fff;
  font-weight: 600;
  font-size: clamp(18px, 1.25vw, 24px);
  text-align: center;
}
.p-traning-program-list__ttl_b img {
  display: inline-block;
  vertical-align: middle;
}
.p-traning-program-list__ttl_r {
  padding: 0.5rem 0;
  background-color: #c92424;
  color: #fff;
  font-weight: 600;
  font-size: clamp(18px, 1.25vw, 24px);
  text-align: center;
}
.p-traning-program-list__ttl_r img {
  display: inline-block;
  vertical-align: top;
}
.p-traning-program-list__wrap {
  padding: 3rem;
}
.p-traning-program-table {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-bottom: 28px;
  gap: 0;
}
.p-traning-program-table__num {
  display: table;
  position: relative;
  width: 100px;
  color: #fff;
}
.p-traning-program-table__num span {
  display: table-cell;
  font-size: clamp(24px, 1.666vw, 32px);
  text-align: center;
  vertical-align: middle;
}
.p-traning-program-table__ttl {
  margin-bottom: 2rem;
  font-weight: 500;
  font-size: clamp(18px, 1.046vw, 20px);
  line-height: 1.5;
}
.p-traning-program-table__num.num_red {
  background-color: #c92424;
}
.p-traning-program-table__num.num_red::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -50px;
  border: solid transparent;
  border-top-width: 24px;
  border-right-width: 50px;
  border-bottom-width: 24px;
  border-left-width: 50px;
  border-color: rgba(0, 153, 255, 0);
  border-top-color: #c92424;
  content: "";
  pointer-events: none;
}
.p-traning-program-table__num.num_blk {
  background-color: #333333;
}
.p-traning-program-table__num.num_blk span {
  font-size: clamp(18px, 1.25vw, 24px);
}
.p-traning-program-table__num.num_blk::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -50px;
  border: solid transparent;
  border-top-width: 24px;
  border-right-width: 50px;
  border-bottom-width: 24px;
  border-left-width: 50px;
  border-color: rgba(0, 153, 255, 0);
  border-top-color: #333333;
  content: "";
  pointer-events: none;
}
.p-traning-program-table__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: calc(100% - 100px);
  padding: 3rem 0;
  gap: 0;
  background-color: #fff;
}
.p-traning-program-table__wrapl {
  width: 35%;
  padding: 3rem;
  border-right: 1px solid #d0d0d0;
}
.p-traning-program-table__wrapr {
  width: 65%;
  margin: auto 0;
  padding: 3rem;
}
.p-traning-program-table__wrap2 {
  width: calc(100% - 100px);
  padding-top: 5px;
  background-color: #cccccc;
  color: #555555;
  font-size: clamp(18px, 1.146vw, 22px);
  text-align: center;
}
.p-traning-program-table2 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-bottom: 28px;
  gap: 0;
}
.p-traning-program-table2__num {
  display: table;
  position: relative;
  width: 180px;
  color: #fff;
}
.p-traning-program-table2__num span {
  display: table-cell;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.2;
  text-align: center;
  vertical-align: middle;
}
.p-traning-program-table2__num span small {
  font-size: clamp(16px, 0.9375vw, 18px);
}
.p-traning-program-table2__ttl {
  margin-bottom: 2rem;
  font-weight: 500;
  font-size: clamp(18px, 1.046vw, 20px);
  line-height: 1.5;
}
.p-traning-program-table2__num.num_red {
  background-color: #c92424;
}
.p-traning-program-table2__num.num_red::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -90px;
  border: solid transparent;
  border-top-width: 24px;
  border-right-width: 90px;
  border-bottom-width: 24px;
  border-left-width: 90px;
  border-color: rgba(0, 153, 255, 0);
  border-top-color: #c92424;
  content: "";
  pointer-events: none;
}
.p-traning-program-table2__num.num_or {
  background-color: #eee3d9;
  color: #333333;
}
.p-traning-program-table2__num.num_or span {
  font-size: clamp(18px, 1.25vw, 24px);
}
.p-traning-program-table2__num.num_or::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -90px;
  border: solid transparent;
  border-top-width: 24px;
  border-right-width: 90px;
  border-bottom-width: 24px;
  border-left-width: 90px;
  border-color: rgba(0, 153, 255, 0);
  border-top-color: #eee3d9;
  content: "";
  pointer-events: none;
}
.p-traning-program-table2__wrap {
  width: calc(100% - 180px);
  padding: 3rem 0;
  background-color: #fff;
}
.p-traning-program-table2__wrapin2 {
  padding: 1rem 2rem;
}
.p-traning-program-table2__wrapin3 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-top: 2rem;
  gap: 0;
}
.p-traning-program-table2__wrapin3 ul {
  width: 48%;
}
.p-traning-program-table2__ttl2 {
  margin: 2rem 0 1rem 0;
  background-color: #f7f7f7;
  font-size: 16px;
  text-align: center;
}
.p-traning-program-table3 {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background-color: #cccccc;
  color: #555555;
  font-size: clamp(18px, 1.146vw, 22px);
  text-align: center;
}
.p-traning-program-table4 {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background-color: #333333;
  color: #fff;
  font-size: clamp(18px, 1.146vw, 22px);
  text-align: center;
}
.p-traning-program-table5 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-bottom: 28px;
  gap: 0;
}
.p-traning-program-table5__num {
  display: table;
  position: relative;
  width: 100px;
  color: #fff;
}
.p-traning-program-table5__num span {
  display: table-cell;
  font-size: clamp(24px, 1.666vw, 32px);
  text-align: center;
  vertical-align: middle;
}
.p-traning-program-table5__num p {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  line-height: 1.778;
}
.p-traning-program-table5__num p span {
  display: inline;
  line-height: 1;
}
.p-traning-program-table5__ttl {
  margin-bottom: 2rem;
  font-weight: 500;
  font-size: clamp(18px, 1.046vw, 20px);
  line-height: 1.5;
}
.p-traning-program-table5__num.num_blk {
  background-color: #888888;
}
.p-traning-program-table5__num.num_blk span {
  font-size: clamp(18px, 1.25vw, 24px);
}
.p-traning-program-table5__num.num_blk::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -50px;
  border: solid transparent;
  border-top-width: 24px;
  border-right-width: 50px;
  border-bottom-width: 24px;
  border-left-width: 50px;
  border-color: rgba(0, 153, 255, 0);
  border-top-color: #888888;
  content: "";
  pointer-events: none;
}
.p-traning-program-table5__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: calc(100% - 100px);
  padding: 1.5rem 0;
  gap: 0;
  background-color: #fff;
}
.p-traning-program-table5__wrapl {
  width: 38%;
  margin: auto 0;
  padding: 2rem 3rem;
}
.p-traning-program-table5__wrapl em {
  font-weight: bold;
}
.p-traning-program-table5__wrapr {
  width: 62%;
  margin: auto 0;
  padding: 2rem;
  border-left: 1px solid #d0d0d0;
}
.p-traning-program-table5__wrap2 {
  width: calc(100% - 100px);
  padding-top: 5px;
  background-color: #cccccc;
  color: #555555;
  font-size: clamp(18px, 1.146vw, 22px);
  text-align: center;
}
.p-traning-program-table6 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding-bottom: 28px;
  gap: 0;
}
.p-traning-program-table6__num {
  display: table;
  position: relative;
  width: 100px;
  color: #fff;
}
.p-traning-program-table6__num span {
  display: table-cell;
  font-size: clamp(24px, 1.666vw, 32px);
  text-align: center;
  vertical-align: middle;
}
.p-traning-program-table6__ttl {
  margin-bottom: 0;
  font-weight: 500;
  font-size: clamp(18px, 1.046vw, 20px);
  line-height: 1.5;
}
.p-traning-program-table6__num.num_blk {
  background-color: #888888;
}
.p-traning-program-table6__num.num_blk span {
  font-size: clamp(18px, 1.25vw, 24px);
}
.p-traning-program-table6__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: calc(100% - 100px);
  padding: 1rem 0;
  gap: 0;
  background-color: #fff;
}
.p-traning-program-table6__wrapl {
  width: 100%;
  margin: auto 0;
  padding: 3rem;
}
.p-traning-program-table6__wrap2 {
  width: calc(100% - 100px);
  padding-top: 5px;
  background-color: #cccccc;
  color: #555555;
  font-size: clamp(18px, 1.146vw, 22px);
  text-align: center;
}
.p-traning-program .tab-program {
  margin-bottom: 5rem;
}
.p-traning-program .tab-program ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
}
.p-traning-program .tab-program ul li {
  position: relative;
  width: 20%;
  padding: 1rem 0;
  border-right: 1px solid #f0f0f0;
  text-align: center;
}
.p-traning-program .tab-program ul li:hover {
  cursor: pointer;
}
.p-traning-program .tab-program ul li.active,
.p-traning-program .tab-program ul li:hover {
  background: #cc0000;
  color: #fff;
}
.p-traning-program .tab-program ul li.active:after,
.p-traning-program .tab-program ul li:hover:after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -10px;
  border: solid transparent;
  border-top-width: 10px;
  border-right-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 10px;
  border-top-color: #cc0000;
  content: "";
  pointer-events: none;
}
.p-traning-program .tab-contents {
  display: none;
}
.p-traning-program .tab-contents.active {
  display: block;
}
.p-traning-case .l-container {
  max-width: 1280px;
}
.p-traning-feature {
  overflow: hidden;
}
.p-traning-feature__wrapt {
  position: relative;
  margin-bottom: 125px;
}
.p-traning-feature__wrapin {
  width: 59%;
  margin-left: auto;
  padding: 4rem;
}
.p-traning-feature__wrap {
  width: 100%;
  max-width: 1420px;
  margin: auto;
  background-color: #fff;
}
.p-traning-feature__wrap figure {
  position: absolute;
  top: -100px;
  left: 0;
  width: 42vw;
}
.p-traning-feature__wrap figure img {
  width: 100%;
  height: auto;
  box-shadow: 19px 19px 30px 0px rgba(0, 0, 0, 0.1);
}
.p-traning-feature__wrap.right_layout figure {
  position: absolute;
  right: 0;
  left: inherit;
}
.p-traning-feature__h3 {
  position: relative;
  margin-bottom: 2rem;
  font-weight: 500;
  font-size: clamp(24px, 1.666vw, 32px);
  line-height: 1.5;
}
.p-traning-feature__h3 em {
  color: #cc0000;
}
.p-traning-feature__itme {
  margin-top: 3rem;
  padding: 2rem;
  background-color: #f6f6f6;
}
.p-traning-feature__itme li {
  margin-bottom: 0;
  font-size: 15px;
}
.p-traning-feature__num {
  position: absolute;
  top: -65px;
  right: -1%;
  color: #888888;
  font-size: 200px;
  line-height: 0;
  font-family: "Caveat", cursive;
  opacity: 0.2;
}
.p-traning-relation .l-container {
  max-width: 1280px;
}
.p-traning-column .l-container {
  max-width: 1280px;
}
.p-traning-method {
  background: url(../img/training/presentation/bg_presentation.jpg) no-repeat
    right 0;
  background-size: contain;
}
.p-traning-method .l-container {
  max-width: 1280px;
}
.p-traning-method-fig {
  width: 100%;
  max-width: 994px;
  margin: 6rem auto 10rem auto;
}
.p-traning-method-list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  margin-top: 6rem;
  gap: 0;
}
.p-traning-method-list li {
  width: 47%;
  padding: 3rem;
  background-color: #fff;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
  font-weight: 500;
  text-align: center;
}
.p-traning-method-list li a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.p-traning-method-list li a .c-list-traning__btn {
  margin-top: auto;
  padding-top: 2rem;
}
.p-traning-method-list a figure {
  overflow: hidden;
}
.p-traning-method-list a figure img {
  transition: 0.3s all;
}
.p-traning-method-list a:focus img {
  position: relative;
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}
.p-traning-method-list__ttl1 {
  display: inline-block;
  padding: 2px 20px;
  border-radius: 15px;
  background-color: #f0f0f0;
  color: #555;
  font-weight: normal;
}
.p-traning-method-list__ttl2 {
  margin: 1rem 0 2rem 0;
  font-size: clamp(24px, 1.666vw, 32px);
  line-height: 1.2;
}
.p-traning-method-list__ttl2 em {
  color: #cc0000;
  font-size: clamp(28px, 2.083vw, 40px);
}
.p-traning-method-list figure {
  margin-bottom: 2rem;
}
.p-traning-method-list p {
  text-align: left;
}
.p-traning-step .l-container {
  padding-top: 18rem;
}
.p-traning-step h2 {
  line-height: 1.5;
}
.p-traning-step h2 .sub {
  font-size: clamp(18px, 1.458vw, 28px);
}
.p-traning-step figure {
  width: 100%;
  max-width: 1005px;
  margin: auto;
}
.p-traning-follow {
  background: url(../img/training/basic/img_basic_follow_bg.png) no-repeat;
  background-size: cover;
}
.p-traning-follow h2 span {
  display: inline-block;
  position: relative;
}
.p-traning-follow h2 span:after {
  display: block;
  position: absolute;
  top: -7.8125vw;
  right: -9.8958333333vw;
  width: 9.6354166667vw;
  height: 9.6354166667vw;
  background: url(../img/training/basic/img_basic_fukidashi.png);
  background-size: cover;
  content: "";
}
.p-traning-follow__text {
  font-size: clamp(16px, 0.9375vw, 18px);
  text-align: center;
}
.p-traning-follow__notice {
  display: block;
  margin-top: 0.78125vw;
  color: #5f5f5f;
  font-size: clamp(13px, 0.78vw, 15px);
}
.p-traning-follow__panel {
  display: flex;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;
  margin-top: 2.34375vw;
  gap: 4rem;
}
.p-traning-follow__item {
  width: calc((100% - 5rem) / 2);
  padding: 2.0833333333vw;
  border-radius: 10px;
  background-color: white;
  box-shadow: 0px 14px 27px 3px rgba(0, 0, 0, 0.08);
}
.p-traning-follow__item h3 {
  margin-bottom: 1.5625vw;
  padding-bottom: 1.0416666667vw;
  border-bottom: 1px solid #dcdcdc;
  text-align: center;
}
.p-traning-follow__outline {
  display: flex;
  padding: 0.2604166667vw 0.5208333333vw;
  gap: 1rem;
}
.p-traning-follow__outline-item {
  width: calc((100% - 1rem) / 2);
  padding: 1.5625vw 1.0416666667vw;
  border-radius: 20px;
  background-color: #fafafa;
  font-size: clamp(16px, 0.9375vw, 18px);
  text-align: center;
}
.p-traning-follow__outline-item strong {
  display: block;
  font-weight: bold;
  font-size: clamp(24px, 1.562vw, 30px);
}
.p-traning-follow__outline-list {
  margin: 1.5625vw 0.5208333333vw 0;
}
.p-traning-follow__outline-list li {
  padding-left: 1em;
  font-size: clamp(16px, 0.9375vw, 18px);
  text-indent: -1em;
}
.p-traning-follow__outline-list li::before {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 0.5em;
  border-radius: 100px;
  background: #cc0000;
  content: "";
  vertical-align: middle;
}
.p-traning-follow__outline-notice {
  margin: 2.0833333333vw 0.5208333333vw 0;
  color: #5f5f5f;
  font-size: 15px;
}
.p-traning-follow__feature {
  display: flex;
  align-items: center;
  margin: 0 1.6666666667vw;
  gap: 1.0416666667vw;
}
.p-traning-follow__feature-img {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
}
.p-traning-follow__feature-img img {
  aspect-ratio: 1/1;
  width: 100%;
}
.p-traning-follow__feature p {
  font-size: clamp(16px, 0.9375vw, 18px);
}
.p-traning-follow__feature + .p-traning-follow__feature {
  margin-top: 1.0416666667vw;
}
.p-traning-price {
  overflow-x: auto;
}
.p-traning-price__wrap {
  padding: 0 5% 6.25vw 5%;
}
.p-traning-price__wrap .c-title-area--top {
  padding-top: 0;
}
.p-traning-price table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  background: #fff;
}
.p-traning-price thead th {
  color: #fff;
  font-weight: bold;
  font-size: clamp(18px, 1.146vw, 22px);
  line-height: 1.5;
}
.p-traning-price thead th .sub {
  padding: 2px 12px;
  border-radius: 100vh;
  background: #fff;
  font-size: clamp(14px, 0.8333vw, 16px);
}
.p-traning-price thead th:first-of-type {
  background: #db4c4c;
}
.p-traning-price thead th:first-of-type .sub {
  color: #db4c4c;
}
.p-traning-price thead th:nth-of-type(2) {
  background: #d42626;
}
.p-traning-price thead th:nth-of-type(2) .sub {
  color: #d42626;
}
.p-traning-price thead th:nth-of-type(3) {
  background: #cc0000;
}
.p-traning-price thead th:nth-of-type(3) .sub {
  color: #cc0000;
}
.p-traning-price table,
.p-traning-price th,
.p-traning-price td {
  padding: 2.2rem 1.5rem;
  border: 1px solid #ddd;
}
.p-traning-price th,
.p-traning-price td {
  text-align: center;
}
.p-traning-price tbody td {
  font-weight: bold;
}
.p-traning-price tbody td .sub {
  margin-top: 15px;
  color: #888888;
  font-size: clamp(13px, 0.78vw, 15px);
}
.p-traning-price tbody td em {
  font-size: clamp(24px, 1.666vw, 32px);
}
.p-traning-price tbody td .sup {
  display: block;
  margin-top: -7px;
}
.p-traning-price .notice {
  margin-top: 15px;
  color: #5f5f5f;
  font-size: clamp(13px, 0.78vw, 15px);
}
.p-traning-price__notice {
  margin-top: 15px;
  color: #5f5f5f;
  font-size: clamp(13px, 0.78vw, 15px);
}
.right_layout .p-traning-point__num {
  right: -55px;
  left: inherit;
}
.right_layout .p-traning-feature__wrapin {
  margin-right: auto;
  margin-left: 0;
}
.right_layout .p-traning-feature__num {
  right: inherit;
  left: -5%;
}
.bnr_session {
  width: 100%;
  max-width: 1072px;
  margin: 8rem auto 0 auto;
}
.bnr_session img {
  width: 100%;
  height: auto;
}
.u-mt--10 {
  margin-top: 1rem;
}
.u-mb--10 {
  margin-bottom: 1rem;
}
.u-mr--10 {
  margin-right: 1rem;
}
.u-ml--10 {
  margin-left: 1rem;
}
.u-mt--20 {
  margin-top: 2rem;
}
.u-mb--20 {
  margin-bottom: 2rem;
}
.u-mr--20 {
  margin-right: 2rem;
}
.u-ml--20 {
  margin-left: 2rem;
}
.u-mt--30 {
  margin-top: 3rem;
}
.u-mb--30 {
  margin-bottom: 3rem;
}
.u-mr--30 {
  margin-right: 3rem;
}
.u-ml--30 {
  margin-left: 3rem;
}
.u-mt--40 {
  margin-top: 4rem;
}
.u-mb--40 {
  margin-bottom: 4rem;
}
.u-mr--40 {
  margin-right: 4rem;
}
.u-ml--40 {
  margin-left: 4rem;
}
.u-mt--50 {
  margin-top: 5rem;
}
.u-mb--50 {
  margin-bottom: 5rem;
}
.u-mr--50 {
  margin-right: 5rem;
}
.u-ml--50 {
  margin-left: 5rem;
}
.u-mt--60 {
  margin-top: 6rem;
}
.u-mb--60 {
  margin-bottom: 6rem;
}
.u-mr--60 {
  margin-right: 6rem;
}
.u-ml--60 {
  margin-left: 6rem;
}
.u-mt--70 {
  margin-top: 7rem;
}
.u-mb--70 {
  margin-bottom: 7rem;
}
.u-mr--70 {
  margin-right: 7rem;
}
.u-ml--70 {
  margin-left: 7rem;
}
.u-mt--80 {
  margin-top: 8rem;
}
.u-mb--80 {
  margin-bottom: 8rem;
}
.u-mr--80 {
  margin-right: 8rem;
}
.u-ml--80 {
  margin-left: 8rem;
}
.u-mt--90 {
  margin-top: 9rem;
}
.u-mb--90 {
  margin-bottom: 9rem;
}
.u-mr--90 {
  margin-right: 9rem;
}
.u-ml--90 {
  margin-left: 9rem;
}
.u-mt--100 {
  margin-top: 10rem;
}
.u-mb--100 {
  margin-bottom: 10rem;
}
.u-mr--100 {
  margin-right: 10rem;
}
.u-ml--100 {
  margin-left: 10rem;
}
.u-mt--110 {
  margin-top: 11rem;
}
.u-mb--110 {
  margin-bottom: 11rem;
}
.u-mr--110 {
  margin-right: 11rem;
}
.u-ml--110 {
  margin-left: 11rem;
}
.u-mt--120 {
  margin-top: 12rem;
}
.u-mb--120 {
  margin-bottom: 12rem;
}
.u-mr--120 {
  margin-right: 12rem;
}
.u-ml--120 {
  margin-left: 12rem;
}
.u-mt--10 {
  margin-top: 1rem;
}
.u-mb--10 {
  margin-bottom: 1rem;
}
.u-mr--10 {
  margin-right: 1rem;
}
.u-ml--10 {
  margin-left: 1rem;
}
.u-mt--20 {
  margin-top: 2rem;
}
.u-mb--20 {
  margin-bottom: 2rem;
}
.u-mr--20 {
  margin-right: 2rem;
}
.u-ml--20 {
  margin-left: 2rem;
}
.u-mt--30 {
  margin-top: 3rem;
}
.u-mb--30 {
  margin-bottom: 3rem;
}
.u-mr--30 {
  margin-right: 3rem;
}
.u-ml--30 {
  margin-left: 3rem;
}
.u-mt--40 {
  margin-top: 4rem;
}
.u-mb--40 {
  margin-bottom: 4rem;
}
.u-mr--40 {
  margin-right: 4rem;
}
.u-ml--40 {
  margin-left: 4rem;
}
.u-mt--50 {
  margin-top: 5rem;
}
.u-mb--50 {
  margin-bottom: 5rem;
}
.u-mr--50 {
  margin-right: 5rem;
}
.u-ml--50 {
  margin-left: 5rem;
}
.u-mt--60 {
  margin-top: 6rem;
}
.u-mb--60 {
  margin-bottom: 6rem;
}
.u-mr--60 {
  margin-right: 6rem;
}
.u-ml--60 {
  margin-left: 6rem;
}
.u-mt--70 {
  margin-top: 7rem;
}
.u-mb--70 {
  margin-bottom: 7rem;
}
.u-mr--70 {
  margin-right: 7rem;
}
.u-ml--70 {
  margin-left: 7rem;
}
.u-mt--80 {
  margin-top: 8rem;
}
.u-mb--80 {
  margin-bottom: 8rem;
}
.u-mr--80 {
  margin-right: 8rem;
}
.u-ml--80 {
  margin-left: 8rem;
}
.u-mt--90 {
  margin-top: 9rem;
}
.u-mb--90 {
  margin-bottom: 9rem;
}
.u-mr--90 {
  margin-right: 9rem;
}
.u-ml--90 {
  margin-left: 9rem;
}
.u-mt--100 {
  margin-top: 10rem;
}
.u-mb--100 {
  margin-bottom: 10rem;
}
.u-mr--100 {
  margin-right: 10rem;
}
.u-ml--100 {
  margin-left: 10rem;
}
.u-mt--110 {
  margin-top: 11rem;
}
.u-mb--110 {
  margin-bottom: 11rem;
}
.u-mr--110 {
  margin-right: 11rem;
}
.u-ml--110 {
  margin-left: 11rem;
}
.u-mt--120 {
  margin-top: 12rem;
}
.u-mb--120 {
  margin-bottom: 12rem;
}
.u-mr--120 {
  margin-right: 12rem;
}
.u-ml--120 {
  margin-left: 12rem;
}
.u-margin--auto {
  margin-right: auto;
  margin-left: auto;
}
.u-text--center {
  text-align: center;
}
.u-text--left {
  text-align: left;
}
.u-text--right {
  text-align: right;
}
.u-sp {
  display: none;
}
.u-sp {
  display: none;
}
/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  outline: none !important;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.lity.lity-opened {
  opacity: 1;
}
.lity.lity-closed {
  opacity: 0;
}
.lity * {
  box-sizing: border-box;
}
.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  outline: none !important;
  text-align: center;
}
.lity-wrap:before {
  display: inline-block;
  height: 100%;
  margin-right: -0.25em;
  content: "";
  vertical-align: middle;
}
.lity-loader {
  z-index: 9991;
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -0.8em;
  color: #fff;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.lity-loading .lity-loader {
  opacity: 1;
}
.lity-container {
  display: inline-block;
  z-index: 9992;
  position: relative;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}
.lity-content {
  z-index: 9993;
  width: 100%;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.lity-loading .lity-content,
.lity-closed .lity-content {
  transform: scale(0.8);
}
.lity-content:after {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: auto;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  content: "";
}
.lity-close {
  -webkit-appearance: none;
  z-index: 9994;
  position: fixed;
  top: 0;
  right: 0;
  width: 35px;
  height: 35px;
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  box-shadow: none;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  line-height: 35px;
  font-family: Arial, Baskerville, monospace;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.lity-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  box-shadow: none;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  line-height: 35px;
  font-family: Arial, Baskerville, monospace;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.lity-close:active {
  top: 1px;
}
.lity-image img {
  display: block;
  max-width: 100%;
  border: 0;
  line-height: 0;
}
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}
.lity-iframe-container {
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  transform: translateZ(0);
  pointer-events: auto;
}
.lity-iframe-container iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
.lity-hide {
  display: none;
}
/* Slider */
.slick-loading .slick-list {
  background: #fff url("./../img/ajax-loader.gif") center center no-repeat;
}
/* Icons */
@font-face {
  font-style: normal;
  font-weight: normal;
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"),
    url("./fonts/../../img/slick.woff") format("woff"),
    url("./fonts/../../img/slick.ttf") format("truetype"),
    url("./fonts/slick.svg#slick") format("svg");
  font-family: "slick";
}
/* Arrows */
.slick-prev,
.slick-next {
  display: block;
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  padding: 0;
  transform: translate(0, -50%);
  border: none;
  outline: none;
  background: transparent;
  color: transparent;
  font-size: 0px;
  line-height: 0px;
  cursor: pointer;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 1;
}
.slick-prev:before,
.slick-next:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: white;
  font-size: 20px;
  line-height: 1;
  font-family: "slick";
  opacity: 1;
}
.slick-prev {
  left: -25px;
}
[dir="rtl"] .slick-prev {
  right: -25px;
  left: auto;
}
.slick-prev:before {
  content: "←";
}
[dir="rtl"] .slick-prev:before {
  content: "→";
}
.slick-next {
  right: -25px;
}
[dir="rtl"] .slick-next {
  right: auto;
  left: -25px;
}
.slick-next:before {
  content: "→";
}
[dir="rtl"] .slick-next:before {
  content: "←";
}
/* Dots */
.slick-dotted.slick-slider {
  /*margin-bottom: 30px;*/
}
.slick-dots {
  display: block;
  position: absolute;
  bottom: -25px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  border: 0;
  outline: none;
  background: transparent;
  color: transparent;
  font-size: 0px;
  line-height: 0px;
  cursor: pointer;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  color: black;
  font-size: 6px;
  line-height: 20px;
  font-family: "slick";
  text-align: center;
  opacity: 1;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 1;
}
/* Slider */
.slick-slider {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  display: block;
  position: relative;
  touch-action: pan-y;
  user-select: none;
}
.slick-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}
.slick-track {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
}
.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  height: 100%;
  min-height: 1px;
  float: left;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
.js-slide {
  opacity: 0;
  transition: opacity 0.3s linear;
}
.js-slide.slick-initialized {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  body {
    overflow: auto !important;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  main {
    width: 100vw;
    overflow: hidden;
  }
  .l-container {
    padding: 5rem 5vw;
  }
  .l-container.l-container-servicelist {
    padding-top: 3vw !important;
  }
  .c-btn--line {
    min-width: 80%;
  }
  *[class^="c-img-box"] img {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 2rem;
    float: none;
  }
  .c-img-box--l__item,
  .c-img-box--l img {
    width: 100%;
    max-width: initial;
    margin-right: 0;
  }
  .c-img-box--r__item,
  .c-img-box--r img {
    width: 100%;
    max-width: initial;
    margin-right: 0;
  }
  .c-img-box--half__item {
    width: 100%;
    max-width: initial;
    margin-right: 0;
  }
  .c-list-check2 li {
    font-size: clamp(14px, 0.8333vw, 16px);
  }
  .c-list-check2 li::before {
    width: 16px;
    height: 16px;
  }
  .c-list-case {
    margin-top: 4rem;
  }
  .c-list-case li {
    width: 100%;
    max-width: 100%;
    margin-bottom: 3rem;
  }
  .c-list-traning li {
    width: 100%;
    margin-bottom: 8%;
  }
  .c-list-column li {
    width: 100%;
    margin-bottom: 4%;
  }
  .c-page-top {
    right: 5%;
    bottom: 1.0416666667vw;
  }
  .c-page-top a {
    width: 3rem;
    height: 3rem;
  }
  .c-title-area {
    margin-bottom: 8vw;
  }
  .c-title-area .title_en {
    top: 3rem;
    font-size: 100px;
  }
  .c-title-area-mv {
    width: 95%;
  }
  .c-title-area--top {
    padding-top: 7rem;
  }
  .c-title-area-h {
    height: inherit;
    background: url(../img/training/bg_mv.jpg) no-repeat center bottom 50px;
    background-size: cover;
  }
  .c-title-area-h .p-breadcrumb {
    position: inherit;
    top: inherit;
    right: inherit;
    margin-top: 7rem;
  }
  .c-title-area-h .title_en {
    top: 3rem;
    font-size: 100px;
  }
  .c-title-area-h-mv {
    position: relative;
    top: inherit;
    width: 95%;
  }
  .c-title-area-h-no1 {
    width: 120px;
    margin-left: 0;
  }
  .c-title-area-h-list {
    flex-direction: column-reverse;
    padding: 2rem;
  }
  .c-title-h2-nomal {
    font-size: clamp(24px, 1.666vw, 32px);
  }
  .c-title-h2-nomal-l {
    font-size: clamp(18px, 1.046vw, 20px);
  }
  .c-title-h2-nomal.ico_h2 {
    padding-bottom: 40px;
  }
  .c-title-h2-nomal.ico_h2::after {
    height: 30px;
  }
  .c-title-h3-nomal--fukidashi::after {
    left: -27%;
    width: 15.5rem;
    height: 5.7rem;
  }
  .p-breadcrumb ul {
    justify-content: flex-start;
  }
  .p-faq-list dt {
    padding: 2rem 4rem 2rem 6rem;
  }
  .p-faq-list dt i {
    left: 3rem;
  }
  .p-faq-list dd {
    padding: 2rem 4rem 2rem 6rem;
  }
  .p-faq-list dd {
    font-size: 16px;
  }
  .p-faq-list dd i {
    left: 3rem;
  }
  .p-feature-reason-cnt__list {
    width: 100%;
  }
  #foot-action {
    padding: 0;
  }
  #foot-action .inner .anounce {
    display: none;
  }
  .actionbtn-flex {
    max-width: inherit;
  }
  .actionbtn-flex ul {
    width: 100%;
    padding: 0 7px;
  }
  .actionbtn-flex ul li a {
    gap: 4px;
    font-size: 12px;
  }
  .actionbtn-flex-tel {
    display: none;
  }
  .actionbtn-flex ul li a .balloon {
    padding: 4px 7px;
    font-size: 10px;
  }
  .p-footer-cta a[href^="tel:"] {
    pointer-events: auto;
  }
  .p-footer-cta-list1 li {
    width: 100%;
    height: 150px;
  }
  .p-footer-cta-list1 h2 {
    line-height: 1.2;
  }
  .p-footer-cta-list1 a {
    padding-top: 40px;
  }
  .p-footer-cta-list1 a::after {
    top: calc(50% - 20px);
    width: 40px;
    height: 40px;
  }
  .p-footer-cta-list2 li {
    width: 100%;
    padding: 1rem 0;
    border: none;
  }
  .p-footer-nav a[href^="tel:"] {
    pointer-events: auto;
  }
  .p-footer-nav-list__wrap {
    width: 100%;
  }
  .p-footer-nav-list__wrap:nth-child(2) {
    width: 100%;
  }
  .p-footer-nav-list2 li a {
    display: block;
    margin-bottom: 1rem;
    font-size: 12px;
    line-height: 1.4;
  }
  .p-footer-nav-list3 li a {
    display: block;
    margin-bottom: 1rem;
    font-size: 12px;
    line-height: 1.4;
  }
  .p-header a[href^="tel:"] {
    pointer-events: auto;
  }
  .p-header__inner {
    padding: 0 5% 0 0;
  }
  .p-header__logo {
    width: 100%;
    max-width: 80px;
  }
  .p-header-tel__wrap {
    width: 120px;
    margin: auto 4rem auto 0;
  }
  .p-header__nav nav {
    flex-direction: row;
  }
  .p-header__nav ul {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  .p-header__nav ul.p-header__menu-form a {
    min-width: 12vw;
  }
  .p-header__hamburger {
    display: block;
    z-index: 3;
    position: fixed;
    top: 2rem;
    right: 5vw;
    width: 4.2rem;
    height: 4.2rem;
    text-align: center;
    cursor: pointer;
  }
  .p-header__hamburger span {
    display: block;
    position: absolute;
    left: 0.6rem;
    width: 3rem;
    height: 0.2rem;
    background: #555;
    transition: 0.3s ease-in-out;
  }
  .p-header__hamburger span:nth-child(1) {
    top: 1rem;
  }
  .p-header__hamburger span:nth-child(2) {
    top: 2rem;
  }
  .p-header__hamburger span:nth-child(3) {
    top: 3rem;
  }
  .p-header__hamburger.is-active span:nth-child(1) {
    top: 1.6rem;
    left: 0.6rem;
    transform: rotate(-45deg);
    background: #fff;
  }
  .p-header__hamburger.is-active span:nth-child(2),
  .p-header__hamburger.is-active span:nth-child(3) {
    top: 16px;
    transform: rotate(45deg);
    background: #fff;
  }
  .p-header__nav {
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #ae0000;
    color: #fff;
    text-align: center;
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  .p-header__nav.is-active {
    display: flex;
    opacity: 100;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  .p-header__nav.is-active ul li {
    margin: 0 !important;
  }
  .p-header__nav.is-active ul li a {
    color: #fff;
    font-size: 18px !important;
  }
  .p-header__nav.is-active ul:nth-of-type(2) li a {
    display: inline;
    width: auto;
    padding: 0;
    background: none !important;
    font-size: clamp(24px, 1.562vw, 30px);
  }
  .p-header__nav.is-active ul:nth-of-type(2) li a img {
    display: none;
  }
  .p-header__nav.is-active ul:nth-of-type(2) li a:focus {
    background: none !important;
  }
  .p-header__nav.is-active .p-header__menu-form {
    margin-left: 0;
  }
  .p-header__nav.is-active .p-header__menu-form li a {
    width: 23rem;
    background: #fff;
    color: #cc0000;
  }
  .p-home-mv h1 {
    font-size: clamp(22px, 1.77vw, 34px);
    font-feature-settings: "palt";
  }
  .p-home-mv__wrap {
    bottom: 30px;
  }
  .p-home-mv__text {
    width: 100%;
    padding-top: 2rem;
    font-size: clamp(14px, 0.8333vw, 16px);
    font-feature-settings: "palt";
  }
  .p-home-mv__img2 {
    position: inherit;
    top: inherit;
    right: inherit;
  }
  .p-home-mv-btn li {
    width: 48%;
  }
  .p-home-mv-swiper .swiper-slide {
    height: 120vw;
  }
  .bg_home_mv_001 {
    background: url("../img/home/bg_home_mv_001_sp.png") no-repeat center top;
    background-size: cover;
  }
  .bg_home_mv_001 h1 {
    padding-top: 4rem;
  }
  .bg_home_mv_001 .p-home-mv__img {
    padding-top: 2rem;
  }
  .bg_home_mv_002 {
    background: url("../img/home/bg_home_mv_002_sp.png") no-repeat center top;
    background-size: cover;
  }
  .bg_home_mv_002 h1 {
    padding-top: 4rem;
  }
  .bg_home_mv_003 {
    background: url("../img/home/bg_home_mv_003_sp.png") no-repeat center top;
    background-size: cover;
  }
  .bg_home_mv_003 h1 {
    padding-top: 4rem;
  }
  .p-home-logoarea {
    width: 100%;
    overflow: hidden;
  }
  .p-home-logoarea-loading {
    width: 1120px !important;
  }
  .p-home-searvice-ttlarea .p-home-en_01 {
    top: 3rem;
    font-size: 100px;
  }
  .p-home-searvice-list ul li {
    width: 100%;
    margin-bottom: 8%;
  }
  .p-home-feature-ttlarea .p-home-en_01 {
    top: 100px;
    font-size: 100px;
  }
  .p-home-feature-list ul li {
    width: 100%;
    margin-bottom: 4rem;
  }
  .p-home-theme-ttlarea {
    padding: 0 0;
  }
  .p-home-theme-ttlarea .p-home-en_01 {
    top: 20px;
    right: 0px;
    font-size: 100px;
  }
  .p-home-theme-list .swiper-wrapper div.swiper-slide {
    width: 100%;
  }
  .p-home-ttlarea_01 .p-home-en_01 {
    font-size: 100px;
  }
  .p-home-case-list ul li {
    width: 100%;
    max-width: 100%;
    margin-bottom: 3rem;
  }
  .p-home-btn {
    padding-top: 2rem;
  }
  .p-home-teacher-list ul li {
    width: 100%;
  }
  .p-home-teacher-list ul li figure {
    width: 30%;
  }
  .p-home-teacher-list__name1 {
    font-size: clamp(18px, 1.046vw, 20px);
  }
  .p-home-teacher-list__name2 {
    margin-bottom: 1rem;
    font-size: 14px;
  }
  .p-home-teacher-list__ttl {
    font-size: 14px;
  }
  .p-home-teacher-list__ico span {
    margin: 0 5px 2px 0;
    font-size: 11px;
  }
  .p-home-bg-gray-ttlarea .p-home-en_01 {
    top: 25px;
    font-size: 100px;
  }
  .p-home-news-list li a {
    padding: 2rem 2rem 2rem 0;
  }
  .p-home-media-list .swiper-slide figure img {
    height: 150px;
  }
  .p-home-media-list__ttl {
    font-size: 14px;
  }
  .p-home-media-list__ttl2 {
    font-size: 12px;
  }
  .p-home-chart .p-home-searvice-ttlarea {
    margin-top: 0;
    padding-bottom: 0;
  }
  .p-home-chart h2.h2_home_01 {
    padding: 2rem 0 0 0;
  }
  .p-news-list {
    gap: 1rem;
  }
  .p-news-list dd {
    width: 100%;
  }
  .p-page-nav li {
    width: 100%;
  }
  .p-reason-panel {
    position: relative;
  }
  .p-reason-panel:after {
    display: block;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    content: "";
  }
  .p-reason-panel__text {
    z-index: 2;
    position: relative;
    width: 90%;
    margin: 0 auto;
  }
  .p-traning-lead-list li {
    width: 100%;
  }
  .p-traning-purpose-list li {
    width: 100%;
    margin-bottom: 2rem;
    border-bottom: 1px solid #b6b6b6;
    border-left: none;
  }
  .p-traning-purpose-list li:last-child {
    border-bottom: none;
    border-right: none;
  }
  .p-traning-purpose-list__num {
    padding-bottom: 1.5rem;
  }
  .p-traning-subject-list li {
    width: 100%;
    margin-bottom: 2rem;
  }
  .p-traning-point__wrap {
    padding-top: 10rem;
  }
  .p-traning-point__wrap:first-of-type {
    padding-top: 3rem;
  }
  .p-traning-point__wrap.right_layout figure {
    order: 1;
  }
  .p-traning-point__wrap figure {
    width: 70%;
    max-width: 100%;
    margin: auto;
  }
  .p-traning-point__item {
    width: 100%;
    max-width: 100%;
  }
  .p-traning-point__num {
    top: -10px;
    left: -35px;
    font-size: 80px;
  }
  .p-traning-program-list > li {
    width: 100%;
    margin-bottom: 2rem;
  }
  .p-traning-program-table__num {
    width: 50px;
  }
  .p-traning-program-table__num.num_red::after {
    margin-left: -25px;
    border-right-width: 25px;
    border-left-width: 25px;
  }
  .p-traning-program-table__num.num_blk::after {
    margin-left: -25px;
    border-right-width: 25px;
    border-left-width: 25px;
  }
  .p-traning-program-table__wrap {
    width: calc(100% - 50px);
    padding: 0;
  }
  .p-traning-program-table__wrapl {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #d0d0d0;
  }
  .p-traning-program-table__wrapr {
    width: 100%;
  }
  .p-traning-program-table__wrap2 {
    width: calc(100% - 50px);
    padding: 10px 0;
  }
  .p-traning-program-table2__num.num_red {
    width: 125px;
  }
  .p-traning-program-table2__num.num_red::after {
    margin-left: -63px;
    border-right-width: 63px;
    border-left-width: 63px;
  }
  .p-traning-program-table2__num.num_or {
    width: 125px;
  }
  .p-traning-program-table2__num.num_or::after {
    margin-left: -63px;
    border-right-width: 63px;
    border-left-width: 63px;
  }
  .p-traning-program-table2__wrap {
    width: calc(100% - 125px);
  }
  .p-traning-program-table2__wrapin3 ul {
    width: 100%;
  }
  .p-traning-program-table5__num {
    width: 50px;
  }
  .p-traning-program-table5__num.num_blk::after {
    margin-left: -25px;
    border-right-width: 25px;
    border-left-width: 25px;
  }
  .p-traning-program-table5__wrap {
    width: calc(100% - 50px);
    padding: 0;
  }
  .p-traning-program-table5__wrapl {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #d0d0d0;
  }
  .p-traning-program-table5__wrapr {
    width: 100%;
  }
  .p-traning-program-table5__wrap2 {
    width: calc(100% - 50px);
    padding: 10px 0;
  }
  .p-traning-program-table6__num {
    width: 50px;
  }
  .p-traning-program-table6__wrap {
    width: calc(100% - 50px);
    padding: 0;
  }
  .p-traning-program-table6__wrapl {
    width: 100%;
    border-right: none;
  }
  .p-traning-program-table6__wrap2 {
    width: calc(100% - 50px);
    padding: 10px 0;
  }
  .p-traning-program .tab-program ul li {
    width: 50%;
  }
  .p-traning-feature__wrapt {
    margin-bottom: 8rem;
  }
  .p-traning-feature__wrapin {
    width: 100%;
  }
  .p-traning-feature__wrap figure {
    position: inherit;
    top: inherit;
    left: inherit;
    width: 100%;
    margin-bottom: 3rem;
  }
  .p-traning-feature__wrap.right_layout figure {
    position: inherit;
    top: inherit;
    right: inherit;
    width: 100%;
    margin-bottom: 3rem;
  }
  .p-traning-feature__num {
    top: -50px;
    font-size: 12rem;
  }
  .p-traning-method-list li {
    width: 100%;
    margin-bottom: 3rem;
  }
  .p-traning-follow h2 span:after {
    top: -100px;
    right: -75px;
    width: 100px;
    height: 100px;
  }
  .p-traning-follow__panel {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    gap: 2.6041666667vw;
  }
  .p-traning-follow__item {
    width: 100%;
  }
  .p-traning-follow__feature-img {
    width: 80px;
    height: 80px;
  }
  .p-traning-follow__feature p {
    font-size: 15px;
  }
  .p-traning-price__wrap {
    padding: 5rem 5vw;
  }
  .right_layout .p-traning-point__num {
    right: -35px;
  }
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
  br.u-sp {
    display: inline;
  }
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
  br.u-sp {
    display: inline;
  }
}
@media screen and (min-width: 769px) {
  a:hover,
  a:active {
    text-decoration: none;
  }
}
@media screen and (max-width: 1280px) {
  .p-traning-price__wrap,
  .l-container--p0,
  .l-container {
    width: 100%;
  }
  .l-container--p0 {
    box-sizing: border-box;
    padding: 3rem 5vw;
    padding-right: 5%;
    padding-left: 5%;
  }
  .c-btn--white {
    padding: 0.2604166667vw 1.0416666667vw;
  }
  .c-btn--red {
    padding: 0.2604166667vw 1.0416666667vw;
  }
  .p-footer-nav .l-container {
    padding: 3.125vw 5%;
  }
  .p-home-bg-gray-btn {
    position: inherit;
    top: inherit;
    left: inherit;
    max-width: 360px;
    margin: auto;
  }
  .p-home-bg-gray__wrap {
    padding-bottom: 10rem;
  }
  .p-home-bg-gray__wrapr {
    width: 100%;
  }
  .p-home-bg-gray-ttlarea {
    width: 100%;
  }
  .p-home-column {
    height: inherit !important;
  }
  .p-home-column-list {
    position: inherit;
    width: 100%;
  }
  .p-home-column-list-pager {
    position: inherit;
    right: inherit;
    bottom: inherit;
    padding-top: 3rem;
    padding-bottom: 3rem;
    text-align: right;
  }
  .p-home-media {
    height: inherit;
  }
  .p-home-media-list {
    position: inherit;
    width: 100%;
  }
  .p-home-media-list-pager {
    position: inherit;
    right: inherit;
    bottom: inherit;
    padding-top: 3rem;
    padding-bottom: 3rem;
    text-align: right;
  }
  .p-home-media .p-home-bg-gray-btn {
    top: inherit;
  }
  .p-traning-step .l-container {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 769px) {
  .l-container {
    box-sizing: border-box;
    padding: 7rem 5vw;
    padding-right: 5%;
    padding-left: 5%;
  }
  .p-traning-price__wrap {
    box-sizing: border-box;
    padding: 7rem 5vw;
    padding-right: 5%;
    padding-left: 5%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn--line:focus:hover {
    cursor: pointer;
    opacity: 0.7;
    transition: 0.3s;
  }
  .c-btn--line:hover:focus {
    cursor: pointer;
    opacity: 0.7;
    transition: 0.3s;
  }
  .c-list-case li a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .c-list-traning a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .c-list-column a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .c-page-top a:focus:hover {
    cursor: pointer;
    opacity: 0.7;
    transition: 0.3s;
  }
  .c-page-top a:hover:focus {
    cursor: pointer;
    opacity: 0.7;
    transition: 0.3s;
  }
  .c-text-link--underline:hover {
    text-decoration: none;
  }
  .p-breadcrumb ul a:hover::after {
    transform: scale(1, 1);
  }
  .p-header__logo a:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
  .p-header__nav ul li a:hover::after {
    transform: scale(1, 1);
  }
  .p-home-searvice-list ul a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .p-home-theme-list a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .p-home-case-list ul li a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .p-home-column-list .swiper-slide a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .p-home-media-list .swiper-slide a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
  .p-traning-method-list a:hover img {
    position: relative;
    transform: scale(1.1, 1.1);
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
  .c-btn--line:hover:hover {
    cursor: pointer;
    opacity: 0.7;
    transition: 0.3s;
  }
  .c-page-top a:hover:hover {
    cursor: pointer;
    opacity: 0.7;
    transition: 0.3s;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .c-list-traning li {
    width: 48.25%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-header__nav {
    display: none;
    align-items: center;
    justify-content: center;
    height: 100vh;
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  .p-header__nav nav {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    align-items: center;
    height: auto;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
  .p-header__nav nav a {
    color: #fff;
    font-size: 20px !important;
  }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
  .p-header__nav.is-active ul:nth-of-type(2) li a:hover {
    background: none !important;
  }
}
@media screen and (max-width: 1919px) {
  .p-home-mv__img2 {
    top: 15%;
    right: 0;
    width: 45%;
  }
}
@media screen and (max-width: 1919px) and (max-width: 1280px) {
  .p-home-mv__img2 {
    top: 45%;
  }
}
@media screen and (max-width: 1919px) and (max-width: 768px) {
  .p-home-mv__img2 {
    width: 80%;
    margin: auto;
  }
}
@media screen and (max-width: 1919px) and (max-width: 480px) {
  .p-home-mv__img2 {
    margin: auto;
  }
}
@media screen and (max-width: 768px) and (max-width: 480px) {
  .p-home-mv-swiper .swiper-slide {
    height: 150vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1120px) {
  .p-home-feature-list ul li {
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (max-width: 1080px) {
  .p-home-chart__wrapl {
    width: 100%;
  }
  .p-home-chart__wrapr {
    width: 100%;
  }
}
@media all and (min-width: 0px) and (max-width: 768px) {
  #graph #graph-before,
  #graph #graph-after {
    width: 80%;
    float: none;
    margin: 0 auto;
  }
  #graph #graph-after {
    margin-top: 100px;
  }
  #graph #graph-after #doughnut-right {
    width: 100%;
    margin: 0 auto;
  }
  #graph #graph-before {
    zoom: 1;
  }
  #graph #graph-before:before,
  #graph #graph-before:after {
    display: table;
    visibility: hidden;
    height: 0;
    content: "";
  }
  #graph #graph-before:after {
    clear: both;
  }
  #graph + div p {
    display: none;
  }
  #graph #graph-before #doughnut-left,
  #graph #graph-before #doughnut-center {
    margin-top: 0;
  }
  #graph #graph-after #doughnut-right {
    /*width: 50%;*/
  }
  #graph #doughnut-right:before {
    top: -113px;
    left: 50%;
    width: 68px;
    height: 30px;
    margin-left: -34px;
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 1920px) {
  .p-traning-feature__wrapt {
    margin-bottom: 28rem;
  }
  .p-traning-feature__wrap figure {
    top: -170px;
  }
}
@media screen and (max-width: 480px) {
  .p-traning-follow__outline {
    flex-direction: column;
    margin-bottom: 0.5208333333vw;
  }
  .p-traning-follow__outline-item {
    width: 100%;
  }
}

/* 240905 add style
--------------------------------------------------------------------------------------------*/
.caselist08 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 5rem;
  background: #fff;
}
.caselist08:after,
.caselist08 li {
  width: 100%;
  max-width: calc(33% - 10px);
}
.caselist08 li {
  display: flex;
  gap: 5px;
  align-items: flex-start;
  justify-content: flex-start;
}
.caselist08 li:before {
  content: "■";
  color: #cc0000;
}
.cv-section {
  background: url("../img/training/cv-section_back.jpg") no-repeat center center;
  background-size: cover;
  padding: 5rem 0;
}
.cv-section .l-container {
  padding-top: 0;
  padding-bottom: 0;
}
.cv-section .c-title-h3-nomal {
  margin-bottom: 2rem;
}
.cv-section .c-btn--red {
  width: 100%;
  max-width: 310px;
  padding: 5px 2.6041666667vw;
  background: url(../img/ico_arrow_02.png) no-repeat right 25px center;
  background-size: 7px 12px;
  background-color: #cc0000;
  min-height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-flow: column;
}
.cv-section .c-btn--white {
  width: 100%;
  max-width: 310px;
  padding: 5px 2.6041666667vw;
  background: url(../img/ico_arrow_07.png) no-repeat right 25px center;
  background-size: 7px 12px;
  border: 2px solid #cc0000;
  color: #cc0000;
  background-color: #fff;
  min-height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-flow: column;
}
section .c-btn--white {
  width: 100%;
  max-width: 310px;
  padding: 5px 2.6041666667vw;
  background: url(../img/ico_arrow_07.png) no-repeat right 25px center;
  background-size: 7px 12px;
  border: 2px solid #cc0000;
  color: #cc0000;
  background-color: #fff;
  min-height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-flow: column;
}
/* 240905　塚岡エリア（最後このコメントアウト削除してください） */
.p-engineer-training-list__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.p-engineer__h3 {
  position: relative;
  font-weight: 500;
  font-size: clamp(24px, 1.666vw, 32px);
  line-height: 1.5;
}
.p-engineer-training-list__num {
  color: #888888;
}
.p-engineer__h3 span {
  font-size: 20px;
}
.training-section-color .p-traning-purpose-list li {
  font-weight: normal;
  font-size: 16px;
}
.training-section-color .p-traning-purpose-list li p {
  text-align: left;
}
@media (max-width: 768px) {
  .p-engineer__h3 span {
    font-size: 15px;
  }
  .training-section-color .p-traning-purpose-list li p {
    margin-bottom: 2rem;
  }
}
.c-title-diagonal_line {
  text-align: center;
  margin: 0 auto;
}
.c-title-diagonal_line p {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  font-size: clamp(18px, 1.046vw, 20px);
  font-weight: 600;
}
.c-title-diagonal_line p::before,
.c-title-diagonal_line p::after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 24px;
  height: 2px;
  background-color: #000;
}
.c-title-diagonal_line p::before {
  left: 0;
  transform: rotate(45deg);
}
.c-title-diagonal_line p::after {
  right: 0;
  transform: rotate(-45deg);
}
.cv-section .c-btn--white span {
  font-size: clamp(10px, 0.677vw, 13px);
  display: block;
  line-height: 1;
}
section .c-btn--white span {
  font-size: clamp(10px, 0.677vw, 13px);
  display: block;
  line-height: 1;
}
.c-btn-flex {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.c-btn-flex .c-btn-wrap {
  margin: 0 !important;
}
.p-traning-program-table5__num.num_red {
  background: #c00;
}
.p-traning-program-table5__num.num_red::after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(0, 153, 255, 0);
  border-top-width: 24px;
  border-bottom-width: 24px;
  border-left-width: 50px;
  border-right-width: 50px;
  margin-left: -50px;
  border-top-color: #c00;
  top: 100%;
  left: 50%;
}
@media screen and (max-width: 768px) {
  .p-traning-program-table5__num.num_red::after {
    margin-left: -25px;
    border-right-width: 25px;
    border-left-width: 25px;
  }
}
.p-traning-program-table6__num.num_red {
  background: #c00;
}
ul.c-list-case-executive {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}
ul.c-list-case-executive li {
  width: calc((100% - 50px * 2) / 3);
}
.c-list-case-executive__item {
  margin-top: 10px;
  line-height: 1.667;
  font-size: clamp(16px, 0.9375vw, 18px);
  color: #555555;
}
@media screen and (max-width: 768px) {
  ul.c-list-case-executive li {
    width: 100%;
  }
}
ul.executive_speech_plan_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
ul.executive_speech_plan_list li {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  ul.executive_speech_plan_list li {
    width: 100%;
  }
}
.executive_speech_plan_item {
  background: #fff;
  height: 100%;
  padding: 40px;
}
.executive_speech_plan_item_header {
  text-align: center;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #d6d6d6;
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: bold;
}
.executive_speech_plan_item_times {
  display: inline-block;
  font-size: clamp(18px, 1.046vw, 20px);
  color: #888888;
  vertical-align: super;
  padding-right: 15px;
}
.executive_speech_plan_item_fee {
  display: inline-block;
}
.executive_speech_plan_item_fee span {
  font-size: clamp(32px, 2.5vw, 48px);
}
ul.executive_speech_plan_item_list li {
  font-size: clamp(16px, 0.9375vw, 18px);
  width: 100%;
  text-indent: -3rem;
  padding-left: 3rem;
  line-height: 2;
}
ul.executive_speech_plan_item_list li::before {
  display: inline-block;
  content: "";
  background: #c00;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  margin: 0 10px;
  vertical-align: middle;
}
ul.executive_speech_plan_item_ant {
  margin-top: 20px;
}
ul.executive_speech_plan_item_ant li {
  width: 100%;
  color: rgb(136, 136, 136);
  line-height: 1.6;
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}
.executive_speech_plan_item_contents {
  padding: 0 15px;
}
.executive_speech_plan_item_contents_title {
  color: rgb(204, 0, 0);
  line-height: 2.8;
  font-weight: bold;
  font-size: clamp(18px, 1.046vw, 20px);
}
.executive_speech_plan_item_contents p {
  font-size: clamp(16px, 0.9375vw, 18px);
  color: rgb(51, 51, 51);
  line-height: 1.667;
}
.executive_speech_movieplan {
  margin: 40px auto 60px;
}
ul.executive_speech_movieplan_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  max-width: 926px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  ul.executive_speech_movieplan_list {
    grid-template-columns: repeat(1, 1fr);
  }
  .executive_speech_plan_item {
    padding: 20px;
  }
}
ul.executive_speech_movieplan_list li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}
.executive_speech_movieplan_item {
  background: #fff;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  text-align: center;
}
.executive_speech_movieplan_item_header {
  background: #db4c4c;
  padding: 12px;
  color: #fff;
}
.executive_speech_movieplan_item_title {
  font-size: clamp(24px, 1.666vw, 32px);
  font-weight: bold;
}
ul.executive_speech_movieplan_list
  li:nth-child(2)
  .executive_speech_movieplan_item_header {
  background: #cc0000;
}
.executive_speech_movieplan_item_contents {
  padding: 20px;
}
.executive_speech_movieplan_item_contents
  + .executive_speech_movieplan_item_contents {
  border-top: 1px solid #e2e2e2;
}
.executive_speech_movieplan_item_subtitle {
  font-size: clamp(12px, 0.729vw, 14px);
  color: #888888;
  font-weight: bold;
}
.executive_speech_movieplan_item_contents p {
  color: rgb(17, 17, 17);
  line-height: 1.5;
  font-size: clamp(18px, 1.046vw, 20px);
  font-weight: 500;
}
.executive_speech_movieplan_item_fee {
  font-weight: bold;
  padding-bottom: 10px;
}
.executive_speech_movieplan_item_fee span {
  font-size: clamp(22px, 1.6vw, 32px);
}
.movie_wrap {
  max-width: 640px;
  margin: 0 auto 60px;
}
.movie {
  position: relative;
  width: 100%;
  padding: calc(315 / 560 * 100%) 0 0;
  z-index: 1;
  border: 1px solid #efefef;
}
.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.movie-flow-list {
  margin: 10px auto 60px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 55px;
}
@media screen and (max-width: 768px) {
  .movie-flow-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.movie-flow-list li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.movie-flow-list li + li {
  position: relative;
}
.movie-flow-list li + li::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 18px solid transparent;
  border-left: 18px solid transparent;
  border-top: 16px solid #555555;
  border-bottom: 0;
  top: 50%;
  left: -40px;
  transform: translateY(-50%) rotate(-90deg);
}
@media screen and (max-width: 768px) {
  .movie-flow-list li + li::before {
    top: -34px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.movie-flow-item {
  text-align: center;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  border: 2px solid #d2d2d2;
}
.movie-flow-item-head {
  background: #c00;
  color: #fff;
  padding: 8px 0px;
  font-size: clamp(18px, 1.046vw, 20px);
  margin: -2px;
}
.movie-flow-item-title {
  font-size: clamp(18px, 1.146vw, 22px);
  font-weight: bold;
  padding: 15px 20px;
}
.movie-flow-item-text {
  font-size: clamp(16px, 0.9375vw, 18px);
}
.movie-flow-item-text {
  padding: 0 20px 20px;
}
.c-list-number {
  counter-reset: number 0 number2 0;
}
.c-list-number li {
  text-indent: -2.5rem;
  padding-left: 2.5rem;
}
.c-list-number li::before {
  counter-increment: number 1;
  content: counter(number) ". ";
  color: #c00;
  font-weight: bold;
}
.p-crisis_management_teacher_conts {
  background: #fafafa;
  display: flex;
  flex-wrap: wrap;
}
.p-crisis_management_teacher_conts + .p-crisis_management_teacher_conts {
  margin-top: 40px;
}
.p-crisis_management_teacher_conts-img {
  width: 30%;
}
.p-crisis_management_teacher_conts-textbox {
  width: 70%;
  padding: 30px 50px;
}
.p-crisis_management_teacher_conts-textbox-header {
  border-bottom: 1px solid #b6b6b6;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
.p-crisis_management_teacher_conts-name {
  color: rgb(17, 17, 17);
  font-weight: bold;
  font-size: 32px;
}
.p-crisis_management_teacher_conts-post {
  margin-top: 5px;
  color: rgb(85, 85, 85);
  line-height: 1.5;
}
.p-crisis_management_teacher_conts-title {
  font-size: 18px;
  color: rgb(204, 0, 0);
  font-weight: bold;
  line-height: 1.667;
  margin-bottom: 20px;
}
ul.p-crisis_management_voice-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

ul.p-crisis_management_voice-list li {
  width: calc((100% - 20px) / 2);
}

.p-crisis_management_voice-item {
  display: flex;
  border-radius: 10px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 27px 3px rgba(0, 0, 0, 0.08);
  padding: 25px;
  gap: 20px;
  align-items: center;
  height: 100%;
}

.p-crisis_management_voice-list_img {
  width: 20%;
  order: 1;
}

.p-crisis_management_voice-list_text {
  width: calc(100% - 20px - 20%);
  order: 2;
  font-weight: bold;
  line-height: 1.778;
  font-size: 18px;
}
.p-crisis_management_voice-list_text span {
  color: #c00;
}

@media screen and (max-width: 768px) {
  .p-crisis_management_teacher_conts-img {
    width: 100%;
    text-align: center;
  }
  .p-crisis_management_teacher_conts-textbox {
    width: 100%;
    padding: 20px 30px;
  }
  ul.p-crisis_management_voice-list li {
    width: 100%;
  }
  .p-crisis_management_voice-item {
    flex-flow: column;
  }
  .p-crisis_management_voice-list_text {
    width: 100%;
  }

  .p-crisis_management_voice-list_img {
    width: 35%;
    max-width: 100px;
  }
}

.executive_speech_plan_item_title {
  color: rgb(204, 0, 0);
  font-weight: bold;
  line-height: 2.6;
  text-align: center;
  font-size: clamp(20px, 1.5vw, 30px);
}
.executive_speech_plan_campaign {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 15px 30px;
  margin-top: 20px;
}

.executive_speech_plan_campaign_tag {
  background: #f0f0f0;
  font-size: clamp(18px, 1.046vw, 20px);
  text-align: center;
  font-weight: 500;
  padding: 3px;
  display: grid;
  grid-template-rows: subgrid;
  gap: 0;
}
.executive_speech_plan_campaign_tag:nth-child(1) {
  grid-area: 1 / 1 / 2 / 3;
}

.executive_speech_plan_campaign_item {
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-rows: subgrid;
  gap: 0;
  grid-row: span 2;
}

.executive_speech_plan_campaign_item_header {
  font-size: clamp(18px, 1.046vw, 20px);
  color: #fff;
  font-weight: 600;
  background-image: -moz-linear-gradient(
    60deg,
    rgb(204, 0, 0) 3%,
    rgb(216, 71, 71) 100%
  );
  background-image: -webkit-linear-gradient(
    60deg,
    rgb(204, 0, 0) 3%,
    rgb(216, 71, 71) 100%
  );
  background-image: -ms-linear-gradient(
    60deg,
    rgb(204, 0, 0) 3%,
    rgb(216, 71, 71) 100%
  );
  text-align: center;
  padding: 8px;
}

.executive_speech_plan_campaign_item_contents {
  padding: 20px;
  text-align: center;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}

.executive_speech_plan_campaign_item_text {
  font-size: clamp(18px, 1.046vw, 20px);
  color: rgb(17, 17, 17);
  font-weight: bold;
  line-height: 1.5;
}
.executive_speech_plan_campaign_item_text span {
  display: block;
  color: #c00;
  font-size: clamp(18px, 1.458vw, 28px);
}

.executive_speech_plan_campaign_item_contents p {
  font-size: clamp(13px, 0.78vw, 15px);
  color: rgb(85, 85, 85);
}
.executive_speech_plan_campaign_item_plus {
  font-size: clamp(18px, 1.354vw, 26px);
  color: #888888;
  font-weight: 800;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .executive_speech_plan_campaign {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
    margin-top: 0;
  }
  .executive_speech_plan_campaign_tag:nth-child(1) {
    grid-area: auto;
    order: 1;
  }
  .executive_speech_plan_campaign_tag:nth-child(2) {
    order: 4;
  }
  .executive_speech_plan_campaign_item:nth-child(3) {
    order: 2;
  }
  .executive_speech_plan_campaign_item:nth-child(4) {
    order: 3;
  }
  .executive_speech_plan_campaign_item:nth-child(5) {
    order: 5;
  }
}

/* 241107 課題から探すページ START */

/* MV */
@media screen and (max-width: 768px) {
  #issue .c-title-area.mv-top {
    height: 550px;
    margin-bottom: initial;
  }
}

#issue .c-title-area .title_en {
  top: 25rem;
}

@media screen and (max-width: 768px) {
  #issue .c-title-area .title_en {
    top: 3rem;
    font-size: 100px;
  }
}

#issue .c-title-area h1 {
  font-size: clamp(28px, 3.083vw, 50px);
}

#issue .c-title-area h1 .sub {
  margin-top: 20px;
  display: inline-block;
  font-size: clamp(18px, 1.25vw, 20px);
  font-weight: normal;
}

/* 横長エリア */
#issue .cv-section.offer p,
#issue .cv-section.contact p {
  text-align: center;
}

#issue .cv-section.offer {
  background: url(../img/issue/img_issue_01.jpg) no-repeat center center;
  padding: 10rem 0;
  position: relative;
}

#issue .cv-section.offer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 48%;
  margin-left: -20px;
  border: 70px solid transparent;
  border-top: 45px solid #fff;
}

#issue .cv-section.contact {
  background: url(../img/issue/img_issue_02.jpg) no-repeat center center;
}

#issue .cv-section.contact .l-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#issue .cv-section.contact .l-container .c-title-h2-nomal {
  line-height: initial;
  margin-bottom: initial;
}

/* お悩みありませんか */
#issue .relationship-list {
  flex-direction: column;
  display: flex;
  align-items: center;
}

#issue .relationship-list ul {
  display: flex;
  gap: 20px;
}

#issue .relationship-list li {
  width: 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  justify-content: space-between;
}

#issue .relationship-list li .concern {
  background-color: #f6f6f6;
  padding: 20px 30px;
  display: flex;
  position: relative;
  width: 100%;
  text-align: center;
  min-height: 126px;
  align-items: center;
  justify-content: center;
}

#issue .relationship-list li .concern::after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 30px solid #f6f6f6;
  margin: 0 auto;
  top: 120px;
  left: calc(50% - 15px);
}

#issue .relationship-list li p span {
  white-space: nowrap;
  color: #cc0000;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #issue .relationship-list ul {
    flex-direction: column;
    gap: 40px;
  }

  #issue .relationship-list li {
    width: 100%;
  }

  #issue .relationship-list li p::after {
    top: 100px;
  }
}

/* 課題別研修プログラム */
#issue .program_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

#issue .program {
  box-shadow: 0px 0px 27px 3px rgba(0, 0, 0, 0.1);
  text-align: center;
  width: 620px;
  border-radius: 10px;
  padding-bottom: 35px;
}

/* 5つ目の要素が真ん中に来てしまうので対応→今後偶数個になったら削除  */
#issue .program:last-child {
  margin-right: 49%;
}

@media screen and (max-width: 768px) {
  #issue .program:last-child {
    margin-right: 0;
  }
}

#issue .program .main-ttl {
  position: relative;
  border-radius: 10px 10px 0 0;
  font-size: 24px;
  font-weight: bold;
  background-color: #cc0000;
  color: #fff;
  min-height: 113px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  #issue .program .main-ttl {
    font-size: 18px;
  }
}

#issue .program .main-ttl::after {
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 25px solid #cc0000;
  margin: 0 auto;
  top: 105px;
  left: 44%;
}

@media screen and (max-width: 768px) {
  #issue .program .main-ttl::after {
    left: 38%;
  }
}

#issue .program .contents {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin: 40px 40px 0 40px;
}

@media screen and (max-width: 768px) {
  #issue .program .contents {
    margin: 40px 20px 0 20px;
  }
}

#issue .program .contents p {
  font-size: 17px;
}

#issue .program .contents .main-content {
  background-color: #f6f6f6;
  padding: 20px 40px;
  display: flex;
  flex-direction: column;
  min-height: 432px;
}

@media screen and (max-width: 768px) {
  #issue .program .contents .main-content {
    padding: 20px;
  }
}

#issue .program .contents .main-content ul {
  text-align: left;
}

#issue .program .contents .cta {
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #issue .program .contents .cta {
    width: 100%;
  }
}

#issue .program .contents .cta a {
  max-width: 100%;
  border-radius: 10rem;
  background: url(../img/ico_arrow_02.png) no-repeat right 25px center;
  background-size: 7px 12px;
  background-color: #ee8722;
  color: #fff;
  font-weight: 500;
  min-height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-flow: column;
}

#issue .program .contents .cta a.font-small {
  line-height: 1.3;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  #issue .program .contents .cta a.font-small {
    font-size: 13px;
  }
}

#issue .program .contents .main-content .sub-ttl {
  border-bottom: 1px solid #d0d0d0;
  font-weight: bold;
}

#issue .program .contents .main-content .sub-ttl p span {
  margin-bottom: 20px;
  display: inline-block;
  font-size: 24px;
  color: #cc0000;
}

#issue .program .contents .main-content .desc p {
  font-weight: bold;
  margin: 20px 0px;
}

#issue .program .contents .main-content .desc ul li {
  text-indent: -8px;
  padding-left: 8px;
}

/* Keesが選ばれる理由 */
.p-issue-feature {
  overflow: hidden;
}

.p-issue-feature .c-title-h2-nomal {
  margin-bottom: 3.25vw;
}

@media screen and (max-width: 768px) {
  .p-issue-feature .c-title-h2-nomal {
    margin-bottom: initial;
  }
}

.p-issue-feature__wrapt {
  position: relative;
  margin-bottom: 200px;
}

.p-issue-feature__wrapt:last-child {
  margin-bottom: 125px;
}

@media screen and (max-width: 768px) {
  .p-issue-feature__wrapt:last-child {
    margin-bottom: 8rem;
  }
}

@media screen and (min-width: 1920px) {
  .p-issue-feature__wrapt {
    margin-bottom: 28rem;
  }
}

@media screen and (max-width: 768px) {
  .p-issue-feature__wrapt {
    margin-bottom: 8rem;
  }
}

.p-issue-feature__wrap {
  width: 100%;
  max-width: 1420px;
  margin: auto;
  background-color: #f5f5f5;
}

.p-issue-feature__wrap figure {
  position: absolute;
  left: 0;
  width: 42vw;
  top: -100px;
}

@media screen and (max-width: 768px) {
  .p-issue-feature__wrap figure {
    top: -170px;
    position: inherit;
    top: inherit;
    left: inherit;
    width: 100%;
    margin-bottom: 3rem;
  }
}

.p-issue-feature__wrap figure img {
  width: 100%;
  height: auto;
  box-shadow: 19px 19px 30px 0px rgba(0, 0, 0, 0.1);
}

/* 右 */
.p-issue-feature__wrap.right_layout figure {
  position: absolute;
  right: 0;
  left: inherit;
}

@media screen and (max-width: 768px) {
  .p-issue-feature__wrap.right_layout figure {
    top: -170px;
    position: inherit;
    top: inherit;
    left: inherit;
    width: 100%;
    margin-bottom: 3rem;
  }
}

.p-issue-feature__itme {
  margin-top: 3rem;
  padding: 2rem;
  background-color: #fff;
}

/* フッターレイアウト */
.p-footer-nav .l-container {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: flex-start;
  padding: 3.125vw 5%;
  gap: 0;
  width: 2000px;
}

.p-footer-nav .l-container nav {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  gap: 2rem;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .p-footer-nav-list__wrap {
    width: 100%;
  }
}

.p-footer-nav-list__wrap:nth-child(2) {
  width: 38%;
}

@media screen and (max-width: 768px) {
  .p-footer-nav-list__wrap:nth-child(2) {
    width: 100%;
  }
}

/* 241122（サイト修正） */
.p-home-feature-ttlarea .p-home-en_01 {
  z-index: -1000;
}

.p-traning-feature__wrapt:last-child {
  margin-bottom: 0px;
}

.sales_technic p.ordermade {
  text-align: center;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .sales_technic p.ordermade {
    margin-bottom: 0;
  }
}

/* 250226（セールステクニックマスタリー研修修正） */
.sales_technic p.attention {
  font-size: clamp(13px, 0.78vw, 15px);
  text-align: right;
}
.sales_technic .p-traning-program-table__num span {
  font-size: clamp(14px, 1.666vw, 25px);
}

.sales_technic .p-traning-program-table__wrapl {
  width: 47%;
}

.sales_technic .p-traning-program-table__wrapr {
  width: 53%;
}

.sales_technic .p-traning-program-table__ttl {
  font-size: clamp(17px, 1.046vw, 18px);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sales_technic .p-traning-program-table__wrapl {
    width: 100%;
  }

  .sales_technic .p-traning-program-table__wrapr {
    width: 100%;
  }
}

/* 研修費用 */

.sales_technic_plan {
  padding: 0 5%;
}

.sales_technic_plan_list {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.sales_technic_plan_list li {
  background-color: #fff;
  width: calc((100% - 40px) / 2);
  text-align: center;
  max-width: 620px;
}

.sales_technic_plan_item_title {
  background-color: #cc0000;
  color: #fff;
  font-weight: bold;
  padding: 2rem 0;
  font-size: clamp(20px, 1.666vw, 28px);
}

.sales_technic_plan_item_contents {
  padding: 4rem;
}

.sales_technic_plan_item_time {
  font-size: clamp(18px, 1.666vw, 24px);
  color: #cc0000;
}
.sales_technic_plan_item_fee {
  font-size: clamp(35px, 1.666vw, 45px);
  font-weight: bold;
}

.sales_technic_plan_item_attention {
  color: #888888;
}

.sales_technic_plan_item_set {
  display: flex;
  justify-content: center;
  align-items: anchor-center;
  gap: 3rem;
}

.sales_technic_plan_item_set {
  display: flex;
  justify-content: center;
}

.sales_technic_plan_item_set_title {
  color: #cc0000;
  font-size: clamp(16px, 1.666vw, 20px);
}

.sales_technic_plan_item_set_fee spsan {
  font-size: clamp(16px, 1.666vw, 20px);
}

.sales_technic_plan_item_set_fee {
  font-size: clamp(34px, 1.666vw, 44px);
  font-weight: bold;
}

span.tax {
  font-size: clamp(16px, 1.666vw, 20px);
}

span.nin {
  font-size: clamp(20px, 1.666vw, 25px);
}

.sales_technic_plan_note_list li::before {
  content: "・";
  margin-right: 0.5em;
}

.sales_technic_plan_note_list li {
  text-indent: -1em;
  padding-left: 1em;
}

.p-traning-price__notice.sales_technic_plan_note {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .sales_technic_plan_list {
    flex-direction: column;
    gap: 20px;
  }

  .sales_technic_plan_list li {
    width: 100%;
  }

  .sales_technic_plan_item_set {
    flex-direction: column;
    gap: 0;
  }

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

/* セールスの重要性とポイント */

.sales_technic_point {
  margin-top: 10rem;
}

.sales_technic_importance_point .importance_title {
  font-size: clamp(25px, 1.666vw, 36px);
  color: #cc0000;
  border-bottom: solid 2px #d7d7d7;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.sales_technic_importance_point .point_title {
  font-size: clamp(25px, 1.666vw, 36px);
  color: #cc0000;
  border-bottom: solid 2px #d7d7d7;
  padding-bottom: 10px;
  margin-bottom: 40px;
}

.sales_technic_contents {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.sales_technic_point_item {
  display: flex;
  gap: 5rem;
}

.sales_technic_point_subttl {
  font-size: clamp(20px, 1.666vw, 28px);
  font-weight: bold;
}

.sales_technic_point_txtarea {
  width: 70%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
  justify-content: flex-start;
}

@media screen and (max-width: 768px) {
  .sales_technic_point_item {
    flex-direction: column;
    gap: 2rem;
  }

  .sales_technic_point_txtarea {
    width: 100%;
  }

  .sales_technic_importance_point .point_title {
    margin-bottom: 20px;
  }
}

/* 個人情報保護ポリシー */
#privacy .c-title-area {
  margin-bottom: 0;
}
.p-privacy__h2 {
  font-size: clamp(24px, 2.083vw, 40px);
  border-bottom: 1px solid #bbb;
  padding-bottom: 15px;
  margin-bottom: 40px;
}
.p-privacy__h3 {
  font-size: clamp(20px, 2vw, 24px);
  margin-bottom: 20px;
}
.p-privacy__content:not(:last-child) {
  margin-bottom: 85px;
}
.p-privacy__content ol {
  list-style: decimal;
  padding-left: 20px;
}
.p-privacy__content ol li {
  padding-left: 15px;
}
.p-privacy__content ul {
  list-style: disc;
  padding-left: 25px;
  margin-bottom: 35px;
}
.p-privacy__content a {
  color: #888;
  text-decoration: underline;
  word-break: break-all;
}
.c-title-area.mv-noimage {
  display: flex;
  align-items: flex-end;
}
#privacy .c-title-area {
  margin-bottom: 0;
  height: 280px;
}
.c-title-area.mv-noimage .p-breadcrumb {
  margin-top: 8rem;
  position: relative;
  z-index: 1;
}
.c-title-area.mv-noimage h1 {
  font-size: clamp(24px, 3.083vw, 50px);
}
@media screen and (max-width: 768px) {
  .c-title-area.mv-noimage {
    margin-bottom: initial;
  }
  .c-title-area.mv-noimage .p-breadcrumb {
    margin-top: 10rem;
  }
  #privacy .c-title-area .title_en {
    top: 3rem;
    font-size: 100px;
  }
  .p-privacy__content:not(:last-child) {
    margin-bottom: 45px;
  }
}

/* ビジネスコミュニケーション研修 */
.c-title-area-h.c-title-area-h-new {
  height: unset;
  background: unset;
}
.c-title-area-h.c-title-area-h-new .mv-container {
  display: flex;
  align-items: center;
  background: url(../img/training/bg_mv.jpg) no-repeat center center/cover;
  background-size: cover;
}
.c-title-area-h.c-title-area-h-new .mv-container .c-title-area-h-text,
.c-title-area-h.c-title-area-h-new .mv-container .c-title-area-h-mv {
  flex: 1;
}
.c-title-area-h.c-title-area-h-new .mv-container .c-title-area-h-mv {
  position: static;
  text-align: center;
}
.c-title-area-h.c-title-area-h-new .mv-container .c-title-area-h-text-inner {
  max-width: 640px;
  width: 50vw;
  margin-left: auto;
  margin-right: 0;
}
.c-title-area-h.c-title-area-h-new .l-container {
  padding-top: 10px;
}
.c-title-area-h.c-title-area-h-new .p-breadcrumb {
  position: static;
}
.p-traning-program-table2 .attention {
  font-size: clamp(13px, 0.78vw, 15px);
  margin-top: 10px;
  display: inline-block;
}

@media screen and (max-width: 1080px) {
  .c-title-area-h.c-title-area-h-new .mv-container {
    flex-direction: column;
    background-size: cover;
    background: url(../img/training/bg_mv.jpg) no-repeat center bottom 50px /
      cover;
  }
  .c-title-area-h.c-title-area-h-new .mv-container .c-title-area-h-text,
  .c-title-area-h.c-title-area-h-new .mv-container .c-title-area-h-mv {
    width: 100%;
  }
  .c-title-area-h.c-title-area-h-new .mv-container .c-title-area-h-text-inner {
    width: 100%;
    max-width: unset;
    padding: 50px 20px 0;
  }
  .c-title-area-h.c-title-area-h-new .p-breadcrumb {
    margin-top: 0;
  }
}

/*
250402（メインビジュアル調整）
*/
/* mv1 */

.c-title-area-h.c-title-area-h-new.mv_1 h1 {
  margin-bottom: 1rem;
}

.c-title-area-h.c-title-area-h-new.mv_1 .c-title-area-h-list {
  margin-top: 2rem;
}

.c-title-area-h.c-title-area-h-new.mv_1 .page_ttl_head {
  font-size: clamp(18px, 1.25vw, 24px);
}

.c-title-area-h.c-title-area-h-new.mv_1 .c-list-check2 li {
  font-size: clamp(16px, 1.046vw, 18px);
}

/* mv3 */

.c-title-area-h.c-title-area-h-new.mv_3 p.page_ttl {
  margin-bottom: 2rem;
  padding-left: 1em;
  line-height: 1.6;
  position: relative;
}

.c-title-area-h.c-title-area-h-new.mv_3 p.page_ttl::before {
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 4px;
  background-color: #ae0000;
  content: "";
}

.c-title-area-h.c-title-area-h-new.mv_3 .page_ttl_desc {
  font-size: clamp(16px, 2.5vw, 22px);
  font-weight: 500;
  margin-bottom: 1rem;
}

/* mv_issue_1 */

.c-title-area-h.c-title-area-h-new.mv_issue_1 .c-title-area-h-text-inner {
  max-width: 700px;
}

.c-title-area-h.c-title-area-h-new.mv_issue_1 h1 {
  font-size: clamp(29px, 2.5vw, 39px);
}

.c-title-area-h.c-title-area-h-new.mv_issue_1 p.page_ttl {
  margin-bottom: 2rem;
  padding-left: 1em;
  line-height: 1.6;
  position: relative;
}

.c-title-area-h.c-title-area-h-new.mv_issue_1 p.page_ttl::before {
  display: inline-block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 4px;
  background-color: #ae0000;
  content: "";
}

@media screen and (max-width: 768px) {
  .c-title-area-h.c-title-area-h-new.mv_1 .training_basic .c-title-area-h-list {
    flex-direction: column;
    gap: 1rem;
  }
}

/* 250424(電話対応ページ） */

.p-traning-skill {
  background-color: #ffffff;
}
.p-traning-skill .c-title-h3-ico + .lists {
  margin-top: 40px;
}
.p-traning-skill .red {
  color: #cc0000;
  font-weight: bold;
}
.p-traning-skill .lists {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1280px;
}
.p-traning-skill .lists li {
  background-color: #fff;
  padding: 40px;
  width: calc(100% / 3 - 20px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
}
.p-traning-skill .ttl_area {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.5;
}
.p-traning-skill .txt_area {
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-traning-skill .lists {
    flex-direction: column;
    gap: 20px;
  }

  .p-traning-skill .lists li {
    width: 100%;
    max-width: 100%;
  }

  .p-traning-skill .txt_area {
    text-align: center;
  }

  .sales_technic_plan.tel .sales_technic_plan_item_fee {
    font-size: clamp(25px, 1.666vw, 45px);
  }
}
/* 250507(MVCTA設置) */
.c-title-area-h.c-title-area-h-new.mv_issue_1 .c-title-area-h h1 {
  margin: 4rem 0 2rem 0;
}
.c-title-area-h-list {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .c-title-area-h h1 {
    margin: initial;
  }
}
.c-title-area-h.c-title-area-h-new.mv_3 .c-title-area-h-text-inner {
  margin-top: 3rem;
}

/*250716(フォームデザイン改善の制作依頼)*/
.dl-mv .c-title-area-h-text-inner {
  position: relative;
}
.dl-mv .c-title-area-h-text-subtitle {
  position: absolute;
  top: -5rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1080px) {
  .dl-mv .c-title-area-h-text-subtitle {
    top: 2rem;
  }
}
.dl-mv .c-title-area-h-text-subtitle .icon-point {
  width: 0.5rem;
  height: 0.5rem;
  background-color: #cc0000;
  border-radius: 30px;
  display: inline-block;
  margin: 0 1rem;
}
.dl-mv .c-title-area-h-text {
  margin-top: 2rem;
}
.dl-mv .c-title-area-h-mv img {
  width: 100%;
}
.dl-cont h2 {
  text-align: center;
  font-weight: 500;
  font-size: 3.8rem;
}
.dl-cont_ttl {
  font-size: 2.4rem;
  color: #000;
  font-weight: 500 !important;
  padding: 0 0 0 15px;
  position: relative;
  margin-bottom: 4rem;
  border-left: 5px solid #cc0000;
  line-height: 2;
}
.dl-cont ul {
  gap: 4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.dl-cont ul li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}
.dl-cont ul li a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  padding: 4rem;
  height: 100%;
  border-radius: 16px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);
}
.dl-cont ul li a figure {
  text-align: center;
  max-width: 296px;
  margin: 0 auto;
}

.dl-cont ul li a .dl-cont-list__ttl {
  font-weight: 600;
  line-height: 1.4;
  margin: 2rem 0;
  font-size: 2.2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.dl-cont ul li a .dl-cont-list__txt {
  font-size: 1.4rem;
  margin: 0 0 3rem 0;
}
.btn--red {
  transition: 0.2s;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 1.5rem;
  border-radius: 34px;
  width: 100%;
  background: url(../img/ico_arrow_02.png) no-repeat right 25px center;
  background-color: #cc0000;
  background-size: 7px 12px;
  margin: auto 0 0 0;
}
.btn--red:hover {
  background: url(../img/ico_arrow_02.png) no-repeat right 20px center;
  background-size: 7px 12px;
  opacity: 0.8 !important;
  background-color: #cc0000;
}

.dl-detail-cont__flex {
  display: flex;
  gap: 5rem;
  justify-content: space-between;
}
.dl-detail-cont__explain {
  width: 61rem;
}
.dl-detail-cont__explain h2 {
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.dl-detail-cont__form {
  width: 63rem;
}
.dl-detail-cont__explain .download_img {
  border-radius: 16px;
  background-color: rgb(245, 245, 245);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 55px;
}
.dl-detail-cont__explain .download_text {
  margin: 4rem 0;
  font-weight: 500;
  font-size: 1.8rem;
}
@media screen and (max-width: 769px) {
  .dl-detail-cont__explain .download_text {
    font-size: 1.4rem;
  }

  .dl-detail-cont__form .info {
    padding: 1.4rem !important;
  }
}
.download_main_contents {
  font-weight: 500;
}

.dl-detail-cont__form {
  border-radius: 16px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  padding: 5rem;
  width: 48%;
}
.dl-detail-cont__form .must {
  color: #d62042;
}

.dl-detail-cont__form dd {
  margin: 0.5rem 0 2rem 0;
}

.dl-detail-cont__form .info {
  width: 100%;
  display: inline-block;
  border-radius: 8px;
  background-color: rgb(245, 245, 245);
  padding: 1.8rem;
}
.dl-detail-cont__form .input2 {
  width: 100%;
  display: inline-block;
  border-radius: 8px;
  background-color: rgb(245, 245, 245);
  padding: 1.8rem;
}

.dl-detail-cont__form .input2::placeholder {
  color: #888888;
}
.dl-detail-cont__form .input3 {
  width: 100%;
  display: inline-block;
  border-radius: 8px;
  background-color: rgb(245, 245, 245);
  margin: 0.5rem 0 2rem 0;
  padding: 1.8rem;
}
.dl-detail-cont__form textarea {
  width: 100%;
  display: inline-block;
  border-radius: 8px;
  background-color: rgb(245, 245, 245);
  margin: 0.5rem 0 2rem 0;
  padding: 1.8rem;
  height: 250px;
  resize: vertical;
}

.dl-detail-cont__form .input3::placeholder {
  color: #888888;
}
.flex-p-table {
  width: 100%;
}

.dl-detail-cont__form .flex-p-tbody {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.dl-detail-cont__form .flex-c {
  display: flex;
  flex-direction: column;
  width: 48%;
}
.dl-detail-cont__form .privacy_box {
  border: 1px solid #ddd;
  padding: 10px 17px;
  margin: 1rem 0 3rem;
  overflow-y: scroll;
  height: 13rem !important;
}
.dl-detail-cont__form .privacy_box a {
  word-break: break-all;
}
.btn--red.btn--form {
  max-width: 32rem;
  height: 6rem;
  background-image: url(none);
  margin: 0 auto 3rem;
  font-size: 1.7rem !important;
  text-align: center;
}
.dl-detail-cont__form .checkbox {
  margin-right: 0.5rem;
  width: 2rem;
  height: 2rem;
}
.font-normal {
  font-weight: normal;
}
@media screen and (max-width: 769px) {
  .dl-detail-cont__flex {
    flex-direction: column;
  }
  .dl-detail-cont__explain {
    width: 100%;
  }
  .dl-detail-cont__form {
    width: 100%;
    padding: 4rem 2rem;
  }
  .dl-detail-cont__explain h2 {
    font-size: 2rem;
  }
}

.contact-detail-cont__top h2 {
  font-size: 2.4rem !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}
.contact-detail-cont__txt p {
  font-weight: 500 !important;
  margin-bottom: 6rem;
}
.contact-detail-cont__tel-txt {
  font-weight: 100;
}
.contact-detail-cont__tel-txt span {
  font-weight: 900;
}
.contact-detail-cont__tel {
  padding: 4rem 9rem;
  border: solid 1px #d8d8d8;
  border-radius: 15px;
}
.contact-detail-cont__tel-txt {
  line-height: 1.4;
  margin-top: 1.6rem;
  font-size: 1.7rem;
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .dl-cont ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 769px) {
  .dl-cont ul {
    grid-template-columns: repeat(1, 1fr);
  }
  .dl-cont ul li a {
    padding: 4rem 2rem;
  }
  .contact-detail-cont__tel {
    padding: 3rem !important;
  }
  .contact-detail-cont__tel-txt {
    font-size: 1.2rem !important;
  }
  .dl-detail-cont__explain .download_img {
    padding: 3rem;
  }
  .contact-detail-cont__top h2 {
    font-size: 2rem !important;
  }
  .dl-cont_ttl {
    font-size: 2rem !important;
  }
}
.form-conteinner {
  padding-top: 3.5vw !important;
}

h1.contact-h1 {
  font-weight: 100;
}
.dl-cont_ttl.detail_ttl {
  margin-bottom: 2rem;
}
.contact-detail-cont__form dt,
.contact-detail-cont__form th {
  font-weight: 500;
}
.p-breadcrumb.form-wrap {
  margin-top: 1rem;
  font-size: 1.3rem !important;
}
.formError2 {
  color: #cc0000;
  font-size: 14px;
}

/*241224: recapture START-----------------------------------------------*/

:has(#foot-action) .grecaptcha-badge {
  bottom: 116px !important;
}
:has(#foot-action.lp_hiring_foot-action) .grecaptcha-badge {
  bottom: 132px !important;
}

.mv_cta {
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
  margin-top: 3rem;
}
.mv_cta a {
  width: 280px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 10rem;
  padding: 1.5rem;
  transition: 0.3s;
  font-weight: 500;
}
.mv_cta a:hover {
  opacity: 0.8;
  transition: 0.3s;
}
.mv_cta a.c-btn--contact {
  background-color: #cc0000;
  color: #fff;
}
.mv_cta a.c-btn--dl {
  background-color: #fff;
  color: #cc0000;
  border: 1px solid #cc0000;
}
@media screen and (max-width: 768px) {
  .mv_cta {
    margin-bottom: 2rem;
    flex-direction: column;
    align-items: center;
  }
  .mv_cta a {
    width: 100%;
  }
}

.p-training-lineup {
}

.p-training-lineup__body {
  display: flex;
  gap: 70px;
  max-width: 1280px;
  margin: 0 auto;
}

.p-training-lineup__group {
  position: relative;
  padding: 0 0 32px;
}

.p-training-lineup__group:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -35px;
  top: 44px;
  bottom: 0;
  width: 1px;
  background-color: #ccc;
}

.p-training-lineup__group--col1 {
  flex: 1;
}
.p-training-lineup__group--col2 {
  flex: 2;
}

.p-training-lineup__group-label {
  text-align: center;
  margin-bottom: 25px;
}

.p-training-lineup__group-label span {
  display: inline-block;
  padding: 3px 20px;
  border: 1px solid #cc0000;
  border-radius: 50px;
  color: #cc0000;
  font-size: clamp(18px, 1.046vw, 20px);
  font-weight: 600;
  min-width: 175px;
}
.p-training-lineup__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.p-training-lineup__item {
  position: relative;
  display: flex;
  align-items: center;
  background-color: #cc0000;
  color: #fff;
  text-decoration: none;
  padding: 15px 40px 15px 20px;
  border-radius: 5px;
  flex: 1 1 100%;
  transition: opacity 0.3s ease;
  min-height: 122px;
  overflow: hidden;
}

.p-training-lineup__group--col2 .p-training-lineup__item {
  flex: 1 1 calc(50% - 6px);
}

.p-training-lineup__item:hover {
  opacity: 0.8;
}

.p-training-lineup__item::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  z-index: 2;
}

.p-training-lineup__item-text {
  font-size: clamp(18px, 1.046vw, 20px);
  font-weight: 700;
  line-height: 1.2;
  z-index: 2;
}

.p-training-lineup__item-icon {
  position: absolute;
  top: 50%;
  right: 0;
  width: auto;
  max-width: none;
  height: auto;
  max-height: 100%;
  transform: translateY(-50%);
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .p-training-lineup__body {
    flex-direction: column;
    gap: 40px;
  }
  .p-training-lineup__item {
    min-height: 100px;
  }
  .p-training-lineup__group::before {
    display: none;
  }
  .p-training-lineup__group--col2 .p-training-lineup__item {
    flex: 1 1 100%;
  }
}

.p-training-wrap {
  margin-top: 40px;
}

.p-training-tab {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 50px;
  list-style: none;
  flex-wrap: wrap;
}

.p-training-tab__item {
  cursor: pointer;
  padding: 3px 20px;
  border: 1px solid #cc0000;
  border-radius: 50px;
  color: #cc0000;
  font-weight: bold;
  transition: all 0.3s ease;
  background: #fff;
  position: relative;
  min-width: 175px;
  font-size: clamp(18px, 1.046vw, 20px);
  text-align: center;
}
.p-training-tab__item:hover {
  opacity: 0.8;
}

.p-training-tab__item.is-active {
  background: #cc0000;
  color: #fff;
}
.p-training-tab__item::after {
  content: "";
  position: absolute;
  top: calc(100% - 11px);
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s ease;
  z-index: -1;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 11px solid #fff;
  border-bottom: 0;
}
.p-training-tab__item.is-active::after {
  top: 100%;
  border-top: 11px solid #cc0000;
}

.p-training-panel {
  display: none;
}

.p-training-panel.is-show {
  display: block;
}

.p-training-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  max-width: 1280px;
  margin: 0 auto;
}

.p-training-card {
  max-width: 616px;
  background: #fff;
  box-shadow: 0px -2px 8.9px 1.1px rgba(27, 46, 109, 0.1);
  border-radius: 5px;
  overflow: hidden;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}

.p-training-card__header {
  background: #cc0000;
  color: #fff;
  padding: 12px 20px 18px;
  text-align: center;
  position: relative;
  z-index: 0;
}
.p-training-card__icon {
  position: absolute;
  top: 0;
  height: 100%;
  z-index: -1;
  width: 100%;
  left: 0;
  overflow: hidden;
}

.p-training-card__icon img {
  max-height: 100%;
  max-width: none;
  width: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.p-training-card__title {
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: bold;
}

.p-training-card__lead {
  font-size: clamp(16px, 0.9375vw, 18px);
}

.p-training-card__body {
  padding: 40px 30px;
  text-align: center;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}

.p-training-card__desc {
  font-size: clamp(14px, 0.8333vw, 16px);
  line-height: 1.938;
  color: rgb(17, 17, 17);
  margin-bottom: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-training-curriculum {
  background: #f6f6f6;
  padding: 20px 18px;
  text-align: left;
  border-radius: 5px;
}

.p-training-curriculum__title {
  font-weight: bold;
  border-left: 4px solid #cc0000;
  padding-left: 10px;
  margin-bottom: 20px;
  font-size: clamp(14px, 0.8333vw, 16px);
  line-height: 1.4;
}

.p-training-curriculum__list {
  list-style: none;
  padding: 0;
}

.p-training-curriculum__item {
  position: relative;
  font-size: clamp(14px, 0.8333vw, 16px);
  text-indent: -15px;
  padding-left: 15px;
}

.p-training-curriculum__item::before {
  content: "・";
  color: #cc0000;
  margin: 0 4px;
}

@media screen and (max-width: 768px) {
  .p-training-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .p-training-tab {
    gap: 10px;
    margin-bottom: 3rem;
  }
  .p-training-tab__item {
    font-size: 15px;
    min-width: auto;
    padding: 3px 14px;
  }
  .p-training-card__body {
    padding: 3rem 5vw;
  }
  .p-training-card__desc {
    text-align: left;
  }
  .p-training-curriculum {
    padding: 2rem 5vw;
  }
  .p-training-card__icon img {
    max-height: 90px;
  }
}
