/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

*,

::before,

::after {

  box-sizing: border-box;

  border-style: solid;

  border-width: 0
}



html {

  line-height: 1.15;

  -webkit-text-size-adjust: 100%;

  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}



body {

  margin: 0
}



main {

  display: block
}



p,

table,

blockquote,

address,

pre,

iframe,

form,

figure,

dl {

  margin: 0
}



h1,

h2,

h3,

h4,

h5,

h6 {

  font-size: inherit;

  line-height: inherit;

  font-weight: inherit;

  margin: 0
}



ul,

ol {

  margin: 0;

  padding: 0;

  list-style: none
}



dt {

  font-weight: bold
}



dd {

  margin-left: 0
}



hr {

  box-sizing: content-box;

  height: 0;

  overflow: visible;

  border-top-width: 1px;

  margin: 0;

  clear: both;

  color: inherit
}



pre {

  font-family: monospace, monospace;

  font-size: inherit
}



address {

  font-style: inherit
}



a {

  background-color: rgba(0, 0, 0, 0);

  text-decoration: none;

  color: inherit
}



abbr[title] {

  text-decoration: underline;

  text-decoration: underline dotted
}



b,

strong {

  font-weight: bolder
}



code,

kbd,

samp {

  font-family: monospace, monospace;

  font-size: inherit
}



small {

  font-size: 80%
}



sub,

sup {

  font-size: 75%;

  line-height: 0;

  position: relative;

  vertical-align: baseline
}



sub {

  bottom: -0.25em
}



sup {

  top: -0.5em
}



img,

embed,

object,

iframe {

  vertical-align: bottom
}



button,

input,

optgroup,

select,

textarea {

  -webkit-appearance: none;

  appearance: none;

  vertical-align: middle;

  color: inherit;

  font: inherit;

  background: rgba(0, 0, 0, 0);

  padding: 0;

  margin: 0;

  outline: 0;

  border-radius: 0;

  text-align: inherit
}



[type=checkbox] {

  -webkit-appearance: checkbox;

  appearance: checkbox
}



[type=radio] {

  -webkit-appearance: radio;

  appearance: radio
}



button,

input {

  overflow: visible
}



button,

select {

  text-transform: none
}



button,

[type=button],

[type=reset],

[type=submit] {

  cursor: pointer;

  -webkit-appearance: none;

  appearance: none
}



button[disabled],

[type=button][disabled],

[type=reset][disabled],

[type=submit][disabled] {

  cursor: default
}



button::-moz-focus-inner,

[type=button]::-moz-focus-inner,

[type=reset]::-moz-focus-inner,

[type=submit]::-moz-focus-inner {

  border-style: none;

  padding: 0
}



button:-moz-focusring,

[type=button]:-moz-focusring,

[type=reset]:-moz-focusring,

[type=submit]:-moz-focusring {

  outline: 1px dotted ButtonText
}



select::-ms-expand {

  display: none
}



option {

  padding: 0
}



fieldset {

  margin: 0;

  padding: 0;

  min-width: 0
}



legend {

  color: inherit;

  display: table;

  max-width: 100%;

  padding: 0;

  white-space: normal
}



progress {

  vertical-align: baseline
}



textarea {

  overflow: auto
}



[type=number]::-webkit-inner-spin-button,

[type=number]::-webkit-outer-spin-button {

  height: auto
}



[type=search] {

  outline-offset: -2px
}



[type=search]::-webkit-search-decoration {

  -webkit-appearance: none
}



::-webkit-file-upload-button {

  -webkit-appearance: button;

  font: inherit
}



label[for] {

  cursor: pointer
}



details {

  display: block
}



summary {

  display: list-item
}



[contenteditable] {

  outline: none
}



table {

  border-collapse: collapse;

  border-spacing: 0
}



caption {

  text-align: left
}



td,

th {

  vertical-align: top;

  padding: 0
}



th {

  text-align: left;

  font-weight: bold
}



template {

  display: none
}



[hidden] {

  display: none
}



html {

  scroll-behavior: smooth;

  scroll-padding-top: 110px;

  --accent-color: #640000;

  --accent-gold: #AF7900;

  --baige: #ECE9E2;

  --baige-pale: #F3F2ED;

  --baige-dark: #8E8470;

  --light-gray: #f2f2f2;

  --font-en: "Amiri", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;

  --font-serif: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;

  --font-sans-serif: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "MS PGothic", sans-serif
}



body {

  font-family: var(--font-sans-serif);

  font-size: 15px;

  font-weight: 500;

  line-height: 1.6;

  color: #000;

  background: #fff;

  width: 100%
}



a {

  color: #000;

  transition: .5s
}



/*
a[href^="tel:"] {

  pointer-events: none

}
*/



a:hover,

a:active,

a:focus {

  color: #000;

  outline: none
}



img {

  max-width: 100%
}



.p-header+main,

.p-header+section {

  margin-top: 110px
}



main {

  overflow: hidden
}



.sp {

  display: none
}



@media screen and (max-width: 896px) {

  html {

    scroll-padding-top: 60px
  }



  a[href^="tel:"] {

    pointer-events: auto
  }



  .p-header+main,

  .p-header+section {

    margin-top: 60px !important
  }



  .sp {

    display: block
  }



  .pc {

    display: none
  }

}



.c-title-common {

  line-height: 1.4
}



.c-title-common__ja {

  font-size: 50px;

  font-family: var(--font-serif);

  font-weight: normal
}



.c-title-common__en {

  display: block;

  color: var(--accent-color);

  font-size: 30px;

  font-family: var(--font-en);

  letter-spacing: 1px
}



.c-title-common--white .title-common__ja,

.c-title-common--white .title-common__en {

  color: #fff
}



.c-title__child {

  padding: 80px 50px;

  background-color: var(--baige);

  text-align: center
}



.c-title__child .c-title__child-ja {

  font-size: 36px;

  font-weight: normal;

  font-family: var(--font-serif);

  letter-spacing: 2px
}



.c-title__child .c-title__child-en {

  display: block;

  color: var(--accent-color);

  font-size: 20px;

  font-family: var(--font-en);

  letter-spacing: 1px
}



.c-title__medium {

  margin-bottom: 40px;

  font-size: 30px;

  font-family: var(--font-serif)
}



.c-title__small {

  margin-bottom: 20px;

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold
}



@media screen and (max-width: 896px) {

  .c-title-common__ja {

    font-size: 30px
  }



  .c-title-common__en {

    font-size: 16px
  }



  .c-title__child {

    padding: 50px 15px 40px
  }



  .c-title__child .c-title__child-ja {

    font-size: 30px;

    letter-spacing: 1px
  }



  .c-title__child .c-title__child-en {

    font-size: 16px;

    letter-spacing: .8px
  }



  .c-title__medium {

    margin-bottom: 30px;

    font-size: 26px
  }



  .c-title__small {

    font-size: 20px
  }

}



.c-side-fix-btns {

  position: fixed;

  top: 50%;

  left: 0;

  z-index: 4;

  transform: translateY(-50%)
}



.c-side-fix-btns.c-side-fix-btns--right {

  right: 0;

  left: auto
}



.c-side-fix-btn {

  writing-mode: vertical-rl
}



.c-side-fix-btn+.c-side-fix-btn {

  margin-top: 10px
}



.c-side-fix-btn a {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 190px;

  color: #fff;

  font-size: 15px;

  transition: color .5s, background-color .5s, filter .5s
}



.c-side-fix-btn.c-side-fix-btn--dealer a {

  background-color: var(--accent-gold)
}



.c-side-fix-btn.c-side-fix-btn--dealer a:hover {

  background-color: #765100
}



.c-side-fix-btn.c-side-fix-btn--contact a {

  background-color: var(--accent-color)
}



.c-side-fix-btn.c-side-fix-btn--contact a:hover {

  color: var(--accent-color);

  background-color: #cec6b7;

  text-decoration: none
}



.c-side-fix-btn.c-side-fix-btn--contact a:hover svg {

  fill: var(--accent-color)
}



.c-side-fix-btn.c-side-fix-btn--contact svg {

  width: 21px;

  height: 15px;

  margin-bottom: 12px;

  fill: #fff;

  transition: fill .5s
}



.c-side-fix-btn.c-side-fix-btn--seminar a {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 171px;

  background-color: var(--accent-color);

  color: #fff
}



.c-side-fix-btn.c-side-fix-btn--seminar a:hover {

  background-color: #cec6b7;

  color: var(--accent-color)
}



.c-common-button {

  line-height: 1
}



.c-common-button a,

.c-common-button button,

.c-common-button input {

  display: inline-block;

  width: 200px;

  padding: 15px 0 13px;

  border: 1px solid var(--accent-color);

  color: var(--accent-color);

  text-align: center;

  letter-spacing: 1px;

  transition: background-color .5s, color .5s
}



.c-common-button a:hover,

.c-common-button button:hover,

.c-common-button input:hover {

  background-color: var(--accent-color);

  color: #fff;

  text-decoration: none
}



.c-common-button--contact a {

  background-color: var(--accent-color);

  color: #fff
}



.c-common-button--contact a:hover {

  background-color: #cec6b7;

  color: var(--accent-color);

  border-color: #cec6b7
}



.c-common-button--reverse a {

  background-color: var(--accent-color);

  color: #fff
}



.c-common-button--reverse a:hover {

  background-color: #fff;

  color: var(--accent-color)
}



.c-common-button--cart a img {

  width: 20px;

  height: 21px;

  margin-right: 4px;

  vertical-align: -6px;

  transition: filter .3s
}



.c-common-button--cart a:hover img {

  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(59deg) brightness(108%) contrast(101%)
}



.c-common-button--cart.c-common-button--reverse a img {

  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(59deg) brightness(108%) contrast(101%)
}



.c-common-button--cart.c-common-button--reverse a:hover img {

  filter: none
}



.c-common-button--reverse-navy a {

  border-color: #37447c;

  background-color: #37447c;

  color: #fff
}



.c-common-button--reverse-navy a img {

  width: 20px;

  height: 21px;

  margin-right: 4px;

  vertical-align: -6px;

  transition: none;

  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(59deg) brightness(108%) contrast(101%)
}



.c-common-button--reverse-navy a:hover {

  background-color: #fff;

  color: #37447c
}



.c-common-button--reverse-navy a:hover img {

  filter: brightness(0) saturate(100%) invert(25%) sepia(10%) saturate(3214%) hue-rotate(192deg) brightness(98%) contrast(93%)
}



.c-common-button--download a img {

  width: 22px;

  height: 22px;

  margin-right: 14px;

  vertical-align: middle;

  filter: brightness(0) saturate(100%) invert(11%) sepia(43%) saturate(4360%) hue-rotate(346deg) brightness(95%) contrast(120%)
}



.c-common-button--download a:hover img {

  filter: none
}



.c-btn__pagetop {

  position: fixed;

  right: 15px;

  bottom: 15px;

  z-index: 2;

  display: none;

  width: 60px;

  height: 60px;

  line-height: 1.1;

  padding-top: 20px;

  background-color: #6c6351;

  color: #fff;

  font-family: var(--font-en);

  font-size: 14px;

  text-align: center;

  transition: background-color .3s
}



.c-btn__pagetop::before {

  content: "";

  position: absolute;

  top: 9px;

  left: 50%;

  width: 11px;

  height: 11px;

  border-right: 1px solid #fff;

  border-bottom: 1px solid #fff;

  transform: translateX(-50%) rotate(-135deg);

  user-select: none;

  pointer-events: none
}



.c-btn__pagetop:hover {

  background-color: #989185;

  color: #fff
}



@media screen and (max-width: 896px) {

  .c-side-fix-btns {

    top: auto;

    bottom: 0;

    transform: none;

    display: flex;

    width: 100%
  }



  .c-side-fix-btn {

    display: none;

    left: 0;

    writing-mode: horizontal-tb;

    width: 100%
  }



  .c-side-fix-btn+.c-side-fix-btn {

    margin-top: 0
  }



  .c-side-fix-btn a {

    width: 100%;

    height: 70px
  }



  .c-side-fix-btn.c-side-fix-btn--contact svg {

    margin: 0 10px 0 0
  }



  .c-side-fix-btn.c-side-fix-btn--seminar a {

    width: 100%;

    height: 70px;

    border-right: 1px solid #fff
  }



  .c-btn__pagetop {

    bottom: 85px
  }

}



.c-box__width {

  max-width: 1231px;

  margin-right: auto;

  margin-left: auto;

  padding: 0 50px 0 95px
}



.c-box__width.c-box__width--medium {

  max-width: 985px
}



.c-box__section {

  margin-top: 100px
}



.c-box__section.c-box__section--beige {

  padding: 100px 0;

  background-color: var(--baige-pale)
}



@media screen and (max-width: 896px) {

  .c-box__width {

    padding: 0 15px 0
  }



  .c-box__section {

    margin-top: 60px
  }



  .c-box__section.c-box__section--beige {

    padding: 60px 0
  }

}



.c-bottom-contact {

  padding: 70px 0;

  background-image: url(../images/common/bg_bottom_contact.jpg);

  background-repeat: no-repeat;

  background-size: cover
}



.c-bottom-contact .c-bottom-contact__top {

  padding: 30px;

  background-color: rgba(175, 121, 0, .9)
}



.c-bottom-contact .c-bottom-contact__title {

  color: #fff;

  font-size: 40px;

  font-family: var(--font-serif);

  font-weight: bold;

  text-align: center
}



.c-bottom-contact .c-bottom-contact-txt {

  line-height: 1.66;

  margin-top: 25px;

  color: #fff;

  font-size: 15px;

  text-align: center
}



.c-bottom-contact .c-bottom-contact-buttons {

  display: flex;

  gap: 0 15px;

  margin-top: 25px
}



.c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button {

  width: 50%
}



.c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button a {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  justify-content: center;

  height: 100%;

  padding: 10px;

  background-color: #fff;

  font-size: 19px;

  font-weight: bold;

  text-align: center;

  transition: opacity .3s
}



.c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button a:hover {

  opacity: .7
}



.c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button .c-bottom-contact-button-icon-number {

  margin-left: 15px
}



.c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button .c-bottom-contact-button-number {

  font-size: 24px;

  font-family: var(--font-serif)
}



.c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button img {

  width: 28px;

  margin-right: 10px;

  filter: brightness(0) saturate(100%) invert(37%) sepia(66%) saturate(1568%) hue-rotate(27deg) brightness(101%) contrast(101%);

  vertical-align: -6px
}



.c-bottom-contact .c-bottom-contact__bottom {

  display: flex;

  gap: 0 18px;

  margin-top: 18px
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-item {

  display: flex;

  flex-direction: column;

  width: 50%;

  padding: 20px;

  background-color: #fff;

  text-align: center
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title {

  flex-grow: 1;

  line-height: 1.4;

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title.c-bottom-contact__bottom-title--1st {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 15px 15px
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title .c-bottom-contact__bottom-title-free {

  flex-shrink: 0;

  display: flex;

  justify-content: center;

  align-items: center;

  width: 64px;

  height: 64px;

  border: 1px solid var(--accent-gold);

  border-radius: 32px;

  color: var(--accent-gold);

  font-size: 20px
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title .c-bottom-contact__bottom-title-note {

  font-size: 12px
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-button {

  margin-top: 13px
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-button a {

  display: flex;

  align-items: center;

  justify-content: center;

  height: 100%;

  width: 100%;

  padding: 17px;

  background-color: var(--accent-gold);

  color: #fff;

  font-size: 19px;

  font-weight: bold;

  text-align: center;

  transition: opacity .3s
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-button a:hover {

  opacity: .7
}



.c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-button a img {

  width: 26px;

  margin-right: 20px
}



@media screen and (max-width: 896px) {

  .c-bottom-contact {

    padding: 100px 0 40px;

    background-image: url(../images/common/bg_bottom_contact_sp.jpg)
  }



  .c-bottom-contact .c-bottom-contact__top {

    padding: 30px 20px
  }



  .c-bottom-contact .c-bottom-contact__title {

    font-size: 27px
  }



  .c-bottom-contact .c-bottom-contact-txt {

    margin-top: 20px;

    text-align: left
  }



  .c-bottom-contact .c-bottom-contact-buttons {

    display: block
  }



  .c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button {

    flex-direction: column;

    width: 100%
  }



  .c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button+.c-bottom-contact-button {

    margin-top: 15px
  }



  .c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button a {

    flex-direction: column;

    gap: 10px 0;

    height: auto;

    line-height: 1;

    padding: 12px;

    font-size: 18px
  }



  .c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button .c-bottom-contact-button-icon-number {

    margin-left: 0
  }



  .c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button .c-bottom-contact-button-icon-number img {

    margin-right: 12px
  }



  .c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button .c-bottom-contact-button-number {

    font-size: 22px
  }



  .c-bottom-contact .c-bottom-contact-buttons .c-bottom-contact-button img {

    width: 25px;

    margin-right: 0
  }



  .c-bottom-contact .c-bottom-contact__bottom {

    display: block;

    margin-top: 20px
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-item {

    width: 100%
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-item+.c-bottom-contact__bottom-item {

    margin-top: 20px
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title {

    font-size: 18px
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title.c-bottom-contact__bottom-title--1st {

    gap: 0 10px;

    text-align-last: left
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title .c-bottom-contact__bottom-title-free {

    width: 50px;

    height: 50px;

    font-size: 15px
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-button {

    margin-top: 16px
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-button a {

    padding: 11px;

    font-size: 17px
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-button .c-bottom-contact__bottom-button-txt-small {

    font-size: 14px
  }



  .c-bottom-contact .c-bottom-contact__bottom .c-bottom-contact__bottom-title--2nd+.c-bottom-contact__bottom-button a {

    flex-direction: column
  }

}



.c-breadcrumb {

  display: flex;

  margin-top: 20px
}



.c-breadcrumb .c-breadcrumb__item {

  font-size: 12px
}



.c-breadcrumb .c-breadcrumb__item+.c-breadcrumb__item {

  margin-left: 7px
}



.c-breadcrumb .c-breadcrumb__item+.c-breadcrumb__item::before {

  content: ">";

  margin-right: 7px
}



.c-breadcrumb .c-breadcrumb__item:not(:last-child) {

  white-space: nowrap
}



.c-breadcrumb .c-breadcrumb__item:last-child {

  padding-left: 1.2em;

  text-indent: -1.2em
}



.c-breadcrumb .c-breadcrumb__item br {

  display: none
}



.c-breadcrumb .c-breadcrumb__item a:hover {

  text-decoration: underline !important;

}



@media screen and (max-width: 896px) {

  .c-breadcrumb {

    margin: 20px 0 -10px;

    padding-bottom: 10px;

    overflow-x: auto;

    overflow-y: hidden
  }



  .c-breadcrumb .c-breadcrumb__item {

    padding-left: calc(1em + 5px);

    text-indent: calc(-1em - 5px);

    font-size: 10px;

    white-space: nowrap
  }



  .c-breadcrumb .c-breadcrumb__item+.c-breadcrumb__item {

    margin-left: 5px
  }



  .c-breadcrumb .c-breadcrumb__item+.c-breadcrumb__item::before {

    margin-right: 5px
  }

}



.c-page-link {

  display: flex;

  justify-content: center;

  gap: 15px;

  margin-top: 100px
}



.c-page-link.c-page-link--wrap {

  flex-wrap: wrap;

  justify-content: flex-start
}



.c-page-link.c-page-link--wrap .c-page-link__item {

  width: calc(25% - 12px)
}



.c-page-link .c-page-link__item {

  width: 25%
}



.c-page-link .c-page-link__item a {

  position: relative;

  display: flex;

  flex-direction: column;

  justify-content: center;

  height: 45px;

  line-height: 1.4;

  padding: 0 15px;

  border: 1px solid var(--accent-color);

  color: var(--accent-color);

  font-size: 15px
}



.c-page-link .c-page-link__item a::after {

  content: "";

  position: absolute;

  top: 50%;

  right: 15px;

  width: 13px;

  height: 13px;

  border-right: 1px solid var(--accent-color);

  border-bottom: 1px solid var(--accent-color);

  transform: translateY(-10px) rotate(45deg);

  transition: transform .3s
}



.c-page-link .c-page-link__item a:hover::after {

  transform: translateY(0) rotate(45deg)
}



.c-page-link .c-page-link__item a span {

  font-size: 13px
}



@media screen and (max-width: 896px) {

  .c-page-link {

    flex-wrap: wrap;

    gap: 15px 0;

    margin-top: 60px;

    padding-right: 15px;

    padding-left: 15px
  }



  .c-page-link.c-box__width {

    padding-right: 30px;

    padding-left: 30px
  }



  .c-page-link.c-page-link--wrap .c-page-link__item {

    width: 100%
  }



  .c-page-link .c-page-link__item {

    width: 100%
  }



  .c-page-link .c-page-link__item a.c-page-link__item-sp-row {

    flex-direction: row;

    align-items: center;

    justify-content: flex-start;

    gap: 0 15px
  }

}



.c-column-list {

  border-bottom: 1px solid #d9d3c7
}



.c-column-list .c-column-list__cnt {

  display: flex;

  width: 100%;

  line-height: 1.8;

  padding: 20px 0;

  border-top: 1px solid #d9d3c7;

  font-size: 15px
}



.c-column-list .c-column-list__cnt.c-column-list__cnt--align-center {

  align-items: center
}



.c-column-list a.c-column-list__cnt {

  transition: opacity .3s
}



.c-column-list a.c-column-list__cnt:hover {

  opacity: .6
}



.c-column-list .c-column-list__label {

  flex-shrink: 0;

  width: 187px;

  margin-right: 40px;

  font-weight: normal
}



.c-column-list .c-column-list__label.c-column-list__label--short {

  width: 90px
}



.c-column-list .c-column-list__detail {

  flex: auto;

  overflow: hidden
}



.c-column-list .c-column-list__detail.c-column-list__detail--ellipsis {

  padding-right: 50px;

  text-overflow: ellipsis;

  white-space: nowrap
}



@media screen and (max-width: 896px) {

  .c-column-list .c-column-list__cnt {

    display: block;

    line-height: 1.6
  }



  .c-column-list .c-column-list__label {

    width: 100%;

    margin-right: 0
  }



  .c-column-list .c-column-list__label.c-column-list__label--short {

    width: 100%
  }



  .c-column-list .c-column-list__detail {

    margin-top: 20px
  }



  .c-column-list .c-column-list__detail.c-column-list__detail--ellipsis {

    padding-right: 0
  }

}



.c-list-with-number {

  counter-reset: number
}



.c-list-with-number .c-list-with-number__item {

  counter-increment: number;

  padding-left: 1.2em;

  text-indent: -1.2em
}



.c-list-with-number .c-list-with-number__item::before {

  content: counter(number) ".";

  margin-right: 5px
}



.c-list-with-dot .c-list-with-dot__item {

  padding-left: 1em;

  text-indent: -1em
}



.c-list-with-dot .c-list-with-dot__item::before {

  content: "・"

}



.c-pagination ul.page-numbers {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 15px 15px;

  margin-top: 40px
}



.c-pagination ul.page-numbers li {

  min-width: 40px
}



.c-pagination ul.page-numbers li span.page-numbers.current {

  background-color: var(--accent-color);

  color: #fff
}



.c-pagination a.page-numbers,

.c-pagination span.page-numbers {

  display: block;

  height: 40px;

  line-height: 40px;

  box-sizing: border-box;

  padding: 0 5px;

  border: 1px solid var(--accent-color);

  color: var(--accent-color);

  font-size: 17px;

  white-space: nowrap;

  transition: opacity .3s;

  text-align: center
}



.c-pagination a.page-numbers:hover,

.c-pagination span.page-numbers:hover {

  opacity: .7
}



.c-pagination a.page-numbers.dots,

.c-pagination span.page-numbers.dots {

  border: none
}



@media screen and (max-width: 896px) {

  .c-pagination ul.page-numbers {

    gap: 3vw;

    margin-top: 30px
  }



  .c-pagination ul.page-numbers li {

    min-width: 7.6vw
  }



  .c-pagination a.page-numbers,

  .c-pagination span.page-numbers {

    height: 7.6vw;

    line-height: 7.6vw;

    padding: 0;

    font-size: 3vw
  }

}



.p-header {

  position: fixed;

  top: 0;

  left: 0;

  z-index: 10;

  display: flex;

  justify-content: space-between;

  align-items: center;

  width: 100%;

  height: 110px;

  padding: 0 min(50px, 3.66vw);

  background-color: #fff;

  box-shadow: 0 3px 10px rgba(0, 0, 0, .1)
}



.p-header .p-header__logo a {

  display: flex;

  flex-wrap: wrap;

  align-items: flex-end;

  gap: 10px 0;

  width: min(202px, 14.78vw)
}



.p-header .p-header__logo a img {

  vertical-align: bottom
}



.p-header .p-header__logo a .p-header__logo-top {

  width: 80px
}



.p-header .p-header__logo a .p-header__logo-bottom {

  width: 117px
}



.p-header .p-header__icons {

  display: none
}



.p-header .p-header__right {

  display: flex;

  align-items: center;

  height: 100%;

  line-height: 1
}



.p-header .p-header__megamenu {

  display: flex;

  gap: 0 min(40px, 2.92vw);

  height: 100%
}



.p-header .p-header__megamenu .p-header__megamenu-item {

  position: relative;

  display: flex;

  align-items: center;

  height: 100%;

  font-family: var(--font-serif);

  font-size: min(15px, 1.3vw)
}



.p-header .p-header__megamenu .p-header__megamenu-item.open::after {

  content: "";

  position: absolute;

  bottom: 0;

  left: 50%;

  width: 20px;

  height: 12px;

  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);

  background-color: var(--accent-color);

  transform: translateX(-50%)
}



.p-header .p-header__megamenu .p-header__megamenu-item a:hover {

  color: var(--accent-color);

  font-weight: bold
}



.p-header .p-header__megamenu .p-header__megamenu-item-no-megamenu {

  display: flex;

  align-items: center;

  height: 100%
}



.p-header .p-header__megamenu .p-header__megamenu-has-child {

  display: flex;

  align-items: center;

  height: 100%
}



.p-header .p-header__megamenu .p-header__megamenu-has-child:hover {

  color: var(--accent-color);

  font-weight: bold;

  cursor: pointer
}



.p-header .p-header__megamenu-child {

  display: none
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-inner {

  position: fixed;

  top: 110px;

  left: 0;

  display: flex;

  justify-content: center;

  box-shadow: 0 3px 10px -3px rgba(0, 0, 0, .1);

  width: 100vw;

  padding: 45px min(50px, 3.66vw);

  border-top: 1px solid #e5e1d8;

  background-color: #fff
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-label {

  font-family: var(--font-serif);

  font-size: min(22px, 1.61vw)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-label span {

  display: block;

  margin-top: 10px;

  color: var(--accent-color);

  font-size: min(16px, 1.17vw);

  font-family: var(--font-en)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-with-img {

  display: flex;

  margin-left: min(60px, 4.39vw);

  gap: 0 min(40px, 2.92vw)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-with-img img {

  width: min(310px, 22.69vw);

  max-width: 280px;

  transition: opacity .3s
}



.p-header .p-header__megamenu-child a:hover img {

  opacity: .7
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt {

  margin-top: 5px;

  margin-bottom: 15px;

  font-size: min(15px, 1.09vw);

  padding-left: min(18px, 1.37vw);

  text-indent: max(-18px, -1.37vw)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt::before {

  content: "";

  display: inline-block;

  width: min(12px, .87vw);

  height: min(12px, .87vw);

  margin-right: 6px;

  border-radius: min(6px, .5vw);

  background-color: var(--accent-gold)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only-item+.p-header__megamenu-child-txt-only-item {

  margin-top: min(29px, 2.12vw)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only {

  margin-left: min(40px, 2.92vw)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only a {

  display: block
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only .p-header__megamenu-child-txt-only-item-link {

  line-height: 1.46;

  padding-left: min(18px, 1.37vw);

  text-indent: max(-18px, -1.37vw)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only .p-header__megamenu-child-txt-only-item-link::before {

  content: "";

  display: inline-block;

  width: min(12px, .87vw);

  height: min(12px, .87vw);

  margin-right: 6px;

  border-radius: min(6px, .5vw);

  background-color: var(--accent-gold)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only .p-header__megamenu-child-txt-only-item-blank {

  display: inline-block;

  background-image: url(../images/common/icon_blank.svg);

  background-repeat: no-repeat;

  background-position: right top;

  background-size: min(18px, 1.31vw) auto;

  padding-right: min(28px, 2.04vw)
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only-child {

  margin-top: 15px;

  padding: 5px 0 5px min(11px, .84vw);

  margin-left: min(6px, .47vw);

  border-left: 1px solid #d9d3c7
}



.p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only-child .p-header__megamenu-child-txt-only-child-item+.p-header__megamenu-child-txt-only-child-item {

  margin-top: min(15px, 1.09vw)
}



.p-header .p-header__buttons {

  display: grid;

  grid-template-columns: min(120px, 8.78vw) min(228px, 16.69vw);

  grid-template-rows: repeat(2, max-content);

  gap: min(8px, .58vw);

  margin-left: min(60px, 4.39vw)
}



.p-header .p-header__buttons .p-header__button {

  grid-column: 1/2
}



.p-header .p-header__buttons .p-header__button:first-child {

  grid-row: 1/2
}



.p-header .p-header__buttons .p-header__button :last-child {

  grid-row: 2/3
}



.p-header .p-header__buttons .p-header__button a {

  display: block;

  line-height: 32px;

  border: 1px solid var(--accent-gold);

  color: var(--accent-gold);

  font-size: min(15px, 1.09vw);

  text-align: center;

  transition: background-color .3s, color .3s
}



.p-header .p-header__buttons .p-header__button a:hover {

  color: #fff;

  background-color: var(--accent-gold)
}



.p-header .p-header__buttons .p-header__contact {

  position: relative;

  grid-column: 2/3;

  grid-row: 1/3;

  display: grid;

  grid-template-columns: 100%;

  grid-template-rows: repeat(2, 1fr);

  text-align: center
}



.p-header .p-header__buttons .p-header__contact::after {

  content: "";

  position: absolute;

  top: 50%;

  left: 50%;

  width: calc(100% - min(20px, 1.46vw));

  height: 1px;

  background-color: #fff;

  transform: translate(-50%, -50%)
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt {

  background-color: var(--accent-gold)
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt:first-child {

  font-size: min(15px, 1.09vw)
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt:first-child img {

  width: min(22px, 1.61vw)
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt:last-child {

  font-size: min(22px, 1.61vw);

  font-family: var(--font-en)
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt:last-child img {

  width: min(20px, 1.46vw)
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt a {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  height: 100%;

  color: #fff;

  transition: background-color .3s
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt a:hover {

  background-color: #765100
}



.p-header .p-header__buttons .p-header__contact .p-header__contact-txt img {

  margin-right: min(10px, .73vw);

  filter: brightness(0) saturate(100%) invert(100%) sepia(13%) saturate(2%) hue-rotate(25deg) brightness(107%) contrast(101%)
}



.p-header .p-header__hamburger {

  display: none
}



@media screen and (max-width: 896px) {

  .p-header {

    z-index: 5;

    height: 60px;

    padding: 0 15px
  }



  .p-header .p-header__logo a {

    flex-wrap: nowrap;

    gap: 0;

    width: 174px
  }



  .p-header .p-header__logo a .p-header__logo-top {

    width: 60px
  }



  .p-header .p-header__logo a .p-header__logo-bottom {

    width: 104px
  }



  .p-header .p-header__icons {

    display: flex;

    align-items: center;

    gap: 0 18px;

    margin: 0 20px 0 auto
  }



  .p-header .p-header__icons img {

    width: 26px;

    filter: brightness(0) saturate(100%) invert(44%) sepia(87%) saturate(3612%) hue-rotate(31deg) brightness(101%) contrast(101%);

    vertical-align: middle
  }



  .p-header .p-header__right {

    display: none;

    position: fixed;

    top: 60px;

    left: 0;

    width: 100vw;

    height: calc(100vh - 60px);

    height: calc(100dvh - 60px);

    overflow-x: hidden;

    overflow-y: auto;

    padding: 10px 15px 40px 15px;

    border-top: 1px solid #e5e1d8;

    background-color: #fff
  }



  .p-header .p-header__megamenu {

    display: block;

    height: auto
  }



  .p-header .p-header__megamenu .p-header__megamenu-item {

    display: block;

    height: auto;

    border-bottom: 1px solid var(--baige-dark);

    font-size: 15px
  }



  .p-header .p-header__megamenu .p-header__megamenu-item.js-megamenu-open::before,

  .p-header .p-header__megamenu .p-header__megamenu-item.js-megamenu-open::after {

    content: "";

    position: absolute;

    background-color: var(--baige-dark)
  }



  .p-header .p-header__megamenu .p-header__megamenu-item.js-megamenu-open::before {

    top: 33px;

    right: 0;

    width: 16px;

    height: 1px
  }



  .p-header .p-header__megamenu .p-header__megamenu-item.js-megamenu-open::after {

    top: 25px;

    right: 7.5px;

    width: 1px;

    height: 16px;

    transition: opacity .3s
  }



  .p-header .p-header__megamenu .p-header__megamenu-item.js-megamenu-open.open::after {

    content: "";

    bottom: auto;

    left: auto;

    width: 1px;

    height: 16px;

    clip-path: none;

    background-color: var(--baige-dark);

    transform: none;

    opacity: 0
  }



  .p-header .p-header__megamenu .p-header__megamenu-item-no-megamenu {

    display: block;

    height: auto;

    padding: 25px 0
  }



  .p-header .p-header__megamenu .p-header__megamenu-has-child {

    display: block;

    height: auto;

    padding: 25px 22px 25px 0
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-inner {

    position: static;

    display: block;

    box-shadow: none;

    width: 100%;

    padding: 0;

    border-top: none
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-label {

    display: none
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-with-img {

    display: flex;

    margin-left: 0;

    gap: 0 15px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-with-img .p-header__megamenu-child-with-img-item {

    width: 50%
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-with-img img {

    width: 100%
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt {

    line-height: 1.46;

    margin-top: 5px;

    margin-bottom: 10px;

    font-size: 15px;

    padding-left: 18px;

    text-indent: -18px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt::before {

    width: 12px;

    height: 12px;

    border-radius: 6px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only-item+.p-header__megamenu-child-txt-only-item {

    margin-top: 27px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only {

    margin: 30px 0 25px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only .p-header__megamenu-child-txt-only-item-link {

    padding-left: 18px;

    text-indent: -18px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only .p-header__megamenu-child-txt-only-item-link::before {

    width: 12px;

    height: 12px;

    border-radius: 6px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only .p-header__megamenu-child-txt-only-item-blank {

    background-size: 18px auto;

    padding-right: 28px
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only-child {

    margin-top: 20px;

    padding-left: 11px;

    margin-left: 0
  }



  .p-header .p-header__megamenu-child .p-header__megamenu-child-txt-only-child .p-header__megamenu-child-txt-only-child-item+.p-header__megamenu-child-txt-only-child-item {

    margin-top: 25px
  }



  .p-header .p-header__buttons {

    display: grid;

    grid-template-columns: repeat(2, calc(50% - 7.5px));

    grid-template-rows: repeat(2, max-content);

    gap: 15px;

    margin: 25px 0 0
  }



  .p-header .p-header__buttons .p-header__button:first-child {

    grid-column: 1/2;

    grid-row: 2/3
  }



  .p-header .p-header__buttons .p-header__button:nth-child(2) {

    grid-column: 2/3;

    grid-row: 2/3
  }



  .p-header .p-header__buttons .p-header__button a {

    line-height: 48px;

    font-size: 15px
  }



  .p-header .p-header__buttons .p-header__contact {

    grid-column: 1/3;

    grid-row: 1/2;

    display: flex;

    gap: 0 15px;

    text-align: center
  }



  .p-header .p-header__buttons .p-header__contact::after {

    display: none
  }



  .p-header .p-header__buttons .p-header__contact .p-header__contact-txt {

    width: 50%;

    height: 100%;

    line-height: 1.2
  }



  .p-header .p-header__buttons .p-header__contact .p-header__contact-txt:first-child {

    font-size: 15px
  }



  .p-header .p-header__buttons .p-header__contact .p-header__contact-txt:first-child img {

    width: 30px
  }



  .p-header .p-header__buttons .p-header__contact .p-header__contact-txt:last-child {

    font-size: 20px
  }



  .p-header .p-header__buttons .p-header__contact .p-header__contact-txt:last-child img {

    width: 30px
  }



  .p-header .p-header__buttons .p-header__contact .p-header__contact-txt a {

    flex-direction: column;

    gap: 12px 0;

    padding: 15px 0
  }



  .p-header .p-header__hamburger {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 25px;

    height: 20px
  }



  .p-header .p-header__hamburger-border {

    position: absolute;

    top: 50%;

    left: 50%;

    width: 25px;

    height: 2px;

    background-color: var(--accent-color);

    transition: transform .3s, opacity .3s
  }



  .p-header .p-header__hamburger-border--top {

    transform: translate(-50%, -8px)
  }



  .p-header .p-header__hamburger-border--center {

    transform: translate(-50%, 0)
  }



  .p-header .p-header__hamburger-border--bottom {

    transform: translate(-50%, 8px)
  }



  .p-header .open .p-header__hamburger-border--top {

    transform: translate(-50%, 0) rotate(45deg)
  }



  .p-header .open .p-header__hamburger-border--center {

    opacity: 0
  }



  .p-header .open .p-header__hamburger-border--bottom {

    transform: translate(-50%, 0) rotate(-45deg)
  }

}



.p-footer .p-footer__top {

  padding: 50px 0 43px;

  background-color: #f5f4f0
}



.p-footer .p-footer__top-inner {

  display: flex;

  justify-content: space-between
}



.p-footer .p-footer__top-cnt {

  line-height: 1.47;

  width: calc(25% - 21px)
}



.p-footer .p-footer__top-cnt-title {

  margin: 0;

  padding-bottom: 15px;

  border-bottom: 1px solid var(--baige-dark);

  font-size: 17px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-footer .p-footer__top-cnt-links+.p-footer__top-cnt-title {

  margin-top: 30px
}



.p-footer .p-footer__top-cnt-links {

  list-style: none
}



.p-footer .p-footer__top-cnt-link {

  margin-top: 15px;

  font-size: 14px
}



.p-footer .p-footer__top-cnt-link.p-footer__top-cnt-link--blank a {

  display: inline-block;

  min-height: 15px;

  padding-right: 25px;

  background-image: url(../images/common/icon_blank.svg);

  background-repeat: no-repeat;

  background-position: right center;

  background-size: 15px auto
}



.p-footer .p-footer__top-cnt-link a {

  transition: none
}



.p-footer .p-footer__top-cnt-link a:hover {

  color: var(--accent-color);

  font-weight: bold;

  text-decoration: none
}



.p-footer .p-footer__top-cnt-sub-links {

  line-height: 2;

  margin: 10px 0 0 6px;

  padding-left: 11px;

  border-left: 1px solid #d9d3c7
}



.p-footer .p-footer__bottom {

  padding: 40px 15px;

  background-color: var(--baige-dark);

  color: #fff
}



.p-footer .p-footer__bottom-cnt {

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-top: 14px
}



.p-footer .p-footer__logo img {

  width: 200px;

  height: 27px;

  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7491%) hue-rotate(240deg) brightness(98%) contrast(105%)
}



.p-footer .p-footer__copyright {

  font-size: 15px;

  margin-bottom: 0;

  font-family: var(--font-serif)
}



.p-footer .p-footer__bottom-links {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  justify-content: flex-end;

  list-style: none;

  margin: 0 0 0 50px
}



.p-footer .p-footer__bottom-link+.p-footer__bottom-link {

  margin-left: 30px
}



.p-footer .p-footer__bottom-link+.p-footer__bottom-link:last-child {

  margin-left: 20px
}



.p-footer .p-footer__bottom-link a {

  color: #fff;

  font-size: 13px;

  transition: none;

  font-feature-settings: normal
}



.p-footer .p-footer__bottom-link a:hover {

  text-decoration: none;

  color: #fff;

  font-weight: bold
}



.p-footer .p-footer__bottom-link svg {

  height: 20px;

  fill: #fff;

  transition: fill .5s
}



.p-footer .p-footer__bottom-link a:hover svg {

  fill: #cec6b7
}



@media screen and (max-width: 896px) {

  .p-footer {

    padding-bottom: 70px
  }



  .p-footer.p-footer--no-fix-btn {

    padding-bottom: 0
  }



  .p-footer .p-footer__top {

    padding: 15px 0 40px
  }



  .p-footer .p-footer__top-inner {

    display: block;

    padding: 0 15px 0;

  }



  .p-footer .p-footer__top-cnt {

    width: 100%;

    border-bottom: 1px solid var(--baige-dark)
  }



  .p-footer .p-footer__top-cnt-title {

    position: relative;

    padding: 20px 0;

    border-bottom: none;

    font-size: 15px
  }



  .p-footer .p-footer__top-cnt-title::before,

  .p-footer .p-footer__top-cnt-title::after {

    content: "";

    position: absolute;

    background-color: var(--baige-dark)
  }



  .p-footer .p-footer__top-cnt-title::before {

    top: 30px;

    right: 0;

    width: 17px;

    height: 1px
  }



  .p-footer .p-footer__top-cnt-title::after {

    top: 22px;

    right: 8px;

    width: 1px;

    height: 17px
  }



  .p-footer .open.p-footer__top-cnt-title::after {

    opacity: 0
  }



  .p-footer .header__right-sp-child {

    display: none;

    font-size: 14px
  }



  .p-footer .p-footer__top-cnt-links {

    display: none
  }



  .p-footer .p-footer__top-cnt-links+.p-footer__top-cnt-title {

    margin-top: 0;

    border-top: 1px solid var(--baige-dark)
  }



  .p-footer .p-footer__top-cnt-link {

    margin-top: 0;

    font-size: 14px
  }



  .p-footer .p-footer__top-cnt-link+.p-footer__top-cnt-link {

    margin-top: 20px
  }



  .p-footer .p-footer__top-cnt-link:last-child {

    margin-bottom: 20px
  }



  .p-footer .p-footer__top-cnt-link a {

    display: block
  }



  .p-footer .p-footer__bottom-cnt {

    position: relative;

    flex-direction: column-reverse;

    align-items: flex-start;

    margin-top: 40px
  }



  .p-footer .p-footer__logo img {

    width: 174px;

    height: 24px
  }



  .p-footer .p-footer__copyright {

    font-size: 15px;

    margin: 60px 0 0
  }



  .p-footer .p-footer__bottom-links {

    display: block;

    margin: 0
  }



  .p-footer .p-footer__bottom-link+.p-footer__bottom-link {

    margin: 18px 0 0
  }



  .p-footer .p-footer__bottom-link+.p-footer__bottom-link:last-child {

    margin-left: 0
  }



  .p-footer .p-footer__bottom-link:last-child {

    position: absolute;

    left: 45px;

    bottom: 30px
  }



  .p-footer .p-footer__bottom-link:nth-last-of-type(2) {

    position: absolute;

    left: 0;

    bottom: 30px
  }

}



.p-toppage__cnt-with-dot {

  position: relative
}



.p-toppage__cnt-with-dot::after {

  content: "";

  position: absolute;

  top: 0;

  width: 90px;

  height: calc(100% - 78px);

  background-image: url(../images/common/bg_dot.png);

  background-size: 19px auto;

  transform: skewY(-5deg)
}



.p-toppage__cnt-with-dot .p-toppage__cnt-with-dot-img {

  flex-shrink: 0;

  width: min(850px, 38vw)
}



.p-toppage__cnt-with-dot .p-toppage__cnt-with-dot-inner {

  position: relative;

  display: flex
}



.p-toppage__cnt-with-dot .p-toppage__cnt-with-dot-inner::before {

  content: "";

  position: absolute;

  width: 100vw;

  height: calc(100% - 78px);

  background-color: var(--baige-pale);

  transform: skewY(-5deg)
}



.p-toppage__cnt-with-dot .c-common-button a {

  width: 260px
}



.p-toppage__title-cross {

  width: fit-content;

  line-height: 1.1;

  font-size: 46px;

  font-family: var(--font-serif)
}



.p-toppage__title-cross .p-toppage__title-cross-top {

  position: relative;

  display: block;

  width: fit-content;

  margin-bottom: 70px
}



.p-toppage__title-cross .p-toppage__title-cross-top::before,

.p-toppage__title-cross .p-toppage__title-cross-top::after {

  content: "";

  position: absolute;

  bottom: -50px;

  left: 50%;

  width: 2px;

  height: 40px;

  background-color: var(--accent-gold)
}



.p-toppage__title-cross .p-toppage__title-cross-top::before {

  transform: translateX(-50%) rotate(45deg)
}



.p-toppage__title-cross .p-toppage__title-cross-top::after {

  transform: translateX(-50%) rotate(-45deg)
}



.p-toppage__title-cross .p-toppage__title-cross-small {

  display: block;

  margin-bottom: 10px;

  font-size: 30px
}



.p-toppage__cnt-with-dot--training {

  margin-top: min(100px, 5vw)
}



.p-toppage__cnt-with-dot--training::after {

  right: 0
}



.p-toppage__cnt-with-dot--training .p-toppage__cnt-with-dot-inner::before {

  top: 3vw;

  left: 91px
}



.p-toppage__cnt-with-dot--training .p-toppage__cnt-with-dot-img {

  margin: 0 58px 0 -240px
}



.p-toppage__cnt-with-dot--seminar {

  margin-top: min(78px, 5vw)
}



.p-toppage__cnt-with-dot--seminar::after {

  top: 11vw;

  left: 0
}



.p-toppage__cnt-with-dot--seminar .p-toppage__cnt-with-dot-inner {

  flex-direction: row-reverse;

  align-items: center;

  justify-content: space-between
}



.p-toppage__cnt-with-dot--seminar .p-toppage__cnt-with-dot-inner::before {

  top: 10vw;

  right: 50px
}



.p-toppage__cnt-with-dot--seminar .p-toppage__cnt-with-dot-img {

  margin-right: -240px
}



.p-toppage__cnt-with-dot--seminar .p-toppage__cnt-txt {

  margin-right: min(98px, 9.02vw)
}



.p-toppage__cnt-with-dot--seminar-list {

  margin-top: 10vw
}



.p-toppage__cnt-with-dot--seminar-list::after {

  display: none
}



.p-toppage__cnt-with-dot--seminar-list .p-toppage__cnt-with-dot-inner {

  display: block;
  padding-top: 160px;

}



.p-toppage__cnt-with-dot--seminar-list .p-toppage__cnt-with-dot-inner::before {

  top: 2.5vw;

  right: -1.5vw;

  height: calc(100% + 6vw)
}



.p-toppage__cnt-monochromatic {

  max-width: calc(100% - (50% - 638px));

  width: 100%;

  background-color: #f2f0eb;

  padding-top: 100px;

  padding-bottom: 100px
}



.p-toppage__cnt-monochromatic--right {

  margin-left: auto;

  padding-right: calc(50% - 638px)
}



.p-toppage__cnt-monochromatic--left {

  padding-left: calc(50% - 638px)
}



.p-toppage__mv {

  position: relative
}



.p-toppage__mv .p-toppage__mv-img-main img {

  width: 100%
}



.p-toppage__mv .p-toppage__mv-txt-wrap {

  position: absolute;

  top: 0;

  left: 10vw;

  display: flex;

  flex-direction: column;

  justify-content: center;

  height: 100%
}



.p-toppage__mv .p-toppage__mv-title img {

  width: 30.38vw
}



.p-toppage__mv .p-toppage__mv-txt {

  line-height: 2.11;

  margin-top: min(40px, 2.92vw);

  font-size: min(17px, 1.24vw)
}



.p-toppage__mv .p-toppage__mv-button {

  margin-top: min(40px, 2.92vw)
}



.p-toppage__mv .p-toppage__mv-button a {

  width: min(260px, 19.03vw);

  padding: min(15px, 1.09vw) 0;

  font-size: min(15px, 1.09vw)
}



.p-toppage__cnt-txt {

  line-height: 2.33;

  margin-top: 30px;

  font-size: 15px
}



.p-toppage__cnt-button {

  margin-top: 40px
}



.p-toppage__cnt-seminar {

  margin-top: 104px
}



.p-toppage__table-seminar-wrap {

  width: 100%;

  overflow-x: auto;

  overflow-y: hidden
}



.p-toppage__table-seminar {

  width: 100%;

  margin-top: 30px;

  font-size: 15px
}



.p-toppage__table-seminar th {

  padding: 15px;

  border: 1px solid #fff;

  border-bottom: none;

  background-color: var(--baige-dark);

  color: #fff;

  vertical-align: middle;

  text-align: center;

  white-space: nowrap
}



.p-toppage__table-seminar th:first-child {

  border-left-color: var(--baige-dark)
}



.p-toppage__table-seminar th:last-child {

  border-right-color: var(--baige-dark)
}



.p-toppage__table-seminar td {

  padding: 15px;

  border: 1px solid var(--baige-dark);

  background-color: #fff;

  vertical-align: middle
}



.p-toppage__table-seminar td:not(:first-child) {

  white-space: nowrap
}



.p-toppage__table-seminar td:nth-child(4) {

  white-space: normal
}



.p-toppage__table-seminar td:nth-child(4) p {

  min-width: 121px
}



.p-toppage__table-seminar-button {

  width: min(160px, 12vw)
}



.p-toppage__table-seminar td .c-common-button a {

  width: 100%;

  padding-right: 10px;

  padding-left: 10px
}



.p-toppage__seminar-sp {

  display: none
}



.p-toppage__case {

  position: relative;

  margin-top: 16vw
}



.p-toppage__case::before {

  content: "";

  position: absolute;

  top: -26.42vw;

  left: 0;

  z-index: -1;

  width: 100%;

  height: 80.23vw;

  background-image: url(../images/top/bg_study.jpg);

  background-size: cover
}



.p-toppage__case-list {

  display: flex;

  flex-wrap: wrap;

  gap: 26px;

  margin-top: 30px
}



.p-toppage__case-list-item {

  width: calc(33.3% - 18px);

  background-color: #f5f4f0
}



.p-toppage__case-list-item a:hover {

  text-decoration: none
}



.p-toppage__case-list-img {

  overflow: hidden
}



.p-toppage__case-list-img img {

  width: 100%;

  aspect-ratio: 345/210;

  object-fit: cover;

  transition: transform .5s
}



.p-toppage__case-list-item a:hover .p-toppage__case-list-img img {

  transform: scale(1.2, 1.2)
}



.p-toppage__case-list-text-wrap {

  padding: 20px
}



.p-toppage__case-list-categories {

  display: flex;

  flex-wrap: wrap;

  gap: 8px
}



.p-toppage__case-list-category {

  line-height: 22px;

  padding: 0 15px;

  border-radius: 11px;

  background-color: var(--baige-dark);

  color: #fff
}



.p-toppage__case-list-title {

  margin-top: 15px;

  color: #574d3a;

  font-size: 15px;

  font-weight: bold
}



.p-toppage__case-list-text {

  margin-top: 15px;

  font-size: 17px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-toppage__case-list-button {

  margin-top: 40px;

  text-align: center
}



.p-toppage__case-list-button a {

  width: 280px
}



.p-toppage__cnt-results {

  position: relative;

  z-index: 2;

  margin-top: 100px
}



.p-toppage__cnt-results::after {

  content: "";

  position: absolute;

  top: -46px;

  left: 181px;

  z-index: -1;

  width: 100%;

  height: 487px;

  background-image: url(../images/common/bg_dot_pale.png);

  background-size: 19px auto
}



.p-toppage__cnt-results .c-box-width {

  position: relative;

  z-index: 2
}



.p-toppage__cnt-result-main {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  gap: 20px 0;

  margin-top: 30px
}



.p-toppage__cnt-result-item {

  width: calc(20% - 15px);

  background-color: #fff
}



.p-toppage__cnt-result-item a img {

  transition: opacity .5s
}



.p-toppage__cnt-result-item a:hover img {

  opacity: .6
}



.p-toppage__cnt-movie {

  position: relative;

  margin-top: 100px
}



.p-toppage__cnt-movie::before {

  content: "";

  position: absolute;

  bottom: -35px;

  left: 0;

  width: calc(100% - 45px);

  height: 254px;

  background-image: url(../images/common/bg_dot_pale.png);

  background-size: 19px auto
}



.p-toppage__cnt-movie .c-box-width {

  position: relative;

  padding-bottom: 17px
}



.p-toppage__cnt-movie-list {

  display: flex;

  justify-content: space-between;

  margin-top: 30px
}



.p-toppage__cnt-movie-item {

  position: relative;

  width: calc(25% - 27px);

  padding: 0 10px 10px 0
}



.p-toppage__cnt-movie-img {

  box-shadow: 10px 10px 0 #d9d3c7
}



.p-toppage__cnt-movie-button {

  position: absolute;

  right: -10px;

  bottom: -22px;

  width: 100%;

  max-width: 160px
}



.p-toppage__cnt-movie-button a {

  width: 100%;

  font-size: 15px
}



.p-toppage__cnt-information {

  margin-top: 50px
}



.p-toppage__cnt-information-main {

  margin-top: 40px
}



.p-toppage__cnt-information-main-item {

  border-bottom: 1px solid #d9d3c7
}



.p-toppage__cnt-information-main-item:first-child {

  border-top: 1px solid #d9d3c7
}



.p-toppage__cnt-information-main-item a {

  display: flex;

  align-items: center;

  padding: 27px 0;

  transition: color .5s
}



.p-toppage__cnt-information-main-item a:hover {

  color: var(--accent-color);

  text-decoration: none
}



.p-toppage__cnt-information-date {

  flex-shrink: 0;

  width: 110px
}



.p-toppage__cnt-information-button {

  margin-top: 40px;

  text-align: center
}



.p-toppage__cnt-banners {

  margin: 100px auto
}



.p-toppage__cnt-banners .p-toppage__cnt-banners-cnt {

  display: flex;

  gap: 0 26px
}



.p-toppage__cnt-banners .p-toppage__cnt-banners-cnt img {

  transition: opacity .3s
}



.p-toppage__cnt-banners .p-toppage__cnt-banners-cnt a:hover img {

  opacity: .7
}



@media screen and (max-width: 1628px) {

  .p-toppage__cnt-with-dot .p-toppage__cnt-with-dot-inner::before {

    height: calc(100% - 40px)
  }



  .p-toppage__cnt-with-dot--training::after {

    height: calc(100% - 40px)
  }



  .p-toppage__cnt-with-dot--training .p-toppage__cnt-with-dot-img {

    margin-left: -95px
  }



  .p-toppage__cnt-with-dot--training .p-toppage__cnt-with-dot-inner::before {

    top: 4.5vw
  }



  .p-toppage__cnt-with-dot--seminar {

    margin-top: 7vw
  }



  .p-toppage__cnt-with-dot--seminar::after {

    top: 9vw;

    height: calc(100% - 40px)
  }



  .p-toppage__cnt-with-dot--seminar .p-toppage__cnt-with-dot-img {

    margin-right: -50px
  }



  .p-toppage__cnt-with-dot--seminar .p-toppage__cnt-with-dot-inner::before {

    top: 8vw
  }



  .p-toppage__cnt-with-dot--seminar-list {

    margin-top: 12vw
  }



  .p-toppage__cnt-with-dot--seminar-list .p-toppage__cnt-with-dot-inner::before {

    height: calc(100% + 6vw)
  }

}



@media screen and (max-width: 896px) {

  .p-toppage__cnt-with-dot::after {

    width: 28px;

    height: 372px;

    background-size: 10px auto
  }



  .p-toppage__cnt-with-dot .p-toppage__cnt-with-dot-img {

    width: 79.73vw;

    aspect-ratio: 299/261
  }



  .p-toppage__cnt-with-dot .p-toppage__cnt-with-dot-inner {

    display: block
  }



  .p-toppage__cnt-with-dot .p-toppage__cnt-with-dot-inner::before {

    height: calc(100% - 200px)
  }



  .p-toppage__cnt-with-dot .c-common-button a {

    width: 230px
  }



  .p-toppage__title-cross {

    font-size: 30px
  }



  .p-toppage__title-cross .p-toppage__title-cross-top {

    margin-bottom: 50px
  }



  .p-toppage__title-cross .p-toppage__title-cross-top::before,

  .p-toppage__title-cross .p-toppage__title-cross-top::after {

    bottom: -35px;

    height: 30px
  }



  .p-toppage__title-cross .p-toppage__title-cross-small {

    margin-bottom: 5px;

    font-size: 22px
  }



  .p-toppage__cnt-with-dot--training {

    margin-top: 94px
  }



  .p-toppage__cnt-with-dot--training .p-toppage__cnt-with-dot-inner::before {

    top: auto;

    bottom: -50px;

    left: 0
  }



  .p-toppage__cnt-with-dot--training .p-toppage__cnt-with-dot-img {

    margin: 10px 0 30px -15px
  }



  .p-toppage__cnt-with-dot--training .p-toppage__cnt-txt {

    margin-right: 20px
  }



  .p-toppage__cnt-with-dot--seminar {

    margin-top: 131px
  }



  .p-toppage__cnt-with-dot--seminar::after {

    top: 0;

    right: 0;

    left: auto
  }



  .p-toppage__cnt-with-dot--seminar .p-toppage__cnt-with-dot-inner::before {

    top: auto;

    bottom: -50px;

    right: 0
  }



  .p-toppage__cnt-with-dot--seminar .p-toppage__cnt-with-dot-img {

    margin: 10px 0 30px -15px
  }



  .p-toppage__cnt-with-dot--seminar .p-toppage__cnt-txt {

    margin-right: 20px
  }



  .p-toppage__cnt-with-dot--seminar-list {

    margin-top: 131px
  }



  .p-toppage__cnt-with-dot--seminar-list .p-toppage__cnt-with-dot-inner::before {

    top: 174px;

    right: 0;

    height: calc(100% - 100px)
  }



  .p-toppage__cnt-monochromatic {

    background-color: #f2f0eb;

    padding-top: 60px;

    padding-bottom: 60px
  }



  .p-toppage__mv .p-toppage__mv-txt-wrap {

    position: static;

    display: block;

    height: auto;

    margin-top: -4.5vw;

    padding: 50px 15px;

    background-color: #ebe9e2;

    transform: skewY(-5deg)
  }



  .p-toppage__mv .p-toppage__mv-txt-inner {

    transform: skewY(5deg)
  }



  .p-toppage__mv .p-toppage__mv-title img {

    width: 80%;

    max-width: 300px
  }



  .p-toppage__mv .p-toppage__mv-txt {

    line-height: 2;

    margin-top: 30px;

    font-size: 15px
  }



  .p-toppage__mv .p-toppage__mv-button {

    margin-top: 30px
  }



  .p-toppage__mv .p-toppage__mv-button a {

    width: 230px;

    padding: 15px 0;

    font-size: 15px
  }



  .p-toppage__cnt-txt {

    line-height: 2.33;

    margin-top: 30px;

    font-size: 15px
  }



  .p-toppage__cnt-button {

    margin-top: 40px
  }



  .p-toppage__cnt-seminar {

    margin-top: 104px
  }



  .p-toppage__table-seminar-wrap {

    overflow: visible
  }



  .p-toppage__table-seminar {

    display: none
  }



  .p-toppage__seminar-sp {

    display: block;

    margin-top: 40px
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-item {

    line-height: 1.66;

    border: 1px solid var(--accent-color);

    background-color: #fff
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-item+.p-toppage__seminar-sp-item {

    margin-top: 20px
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-title {

    padding: 20px 14px;

    background-color: #e5e1d8;

    font-size: 15px
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-detail {

    margin: 0 15px
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-detail+.p-toppage__seminar-sp-detail {

    margin-top: 15px;

    border-top: 1px solid var(--accent-color)
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-detail-cnt {

    display: flex;

    margin-top: 15px;

    font-size: 15px
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-detail-label {

    flex-shrink: 0;

    width: 84px;

    color: #6c6351;

    font-weight: normal
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-buttons {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin: 25px 15px 15px
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-buttons .p-toppage__seminar-sp-button {

    width: calc(50% - 7.5px)
  }



  .p-toppage__seminar-sp .p-toppage__seminar-sp-buttons .p-toppage__seminar-sp-button a {

    width: 100%
  }



  .p-toppage__case {

    margin-top: 110px;

    padding-top: 30px
  }



  .p-toppage__case::before {

    top: -80px;

    height: 545px
  }



  .p-toppage__case-list {

    display: block;

    margin-top: 35px
  }



  .p-toppage__case-list-item {

    width: 100%
  }



  .p-toppage__case-list-item+.p-toppage__case-list-item {

    margin-top: 30px
  }



  .p-toppage__case-list-text {

    margin-top: 20px
  }



  .p-toppage__case-list-button {

    margin-top: 30px
  }



  .p-toppage__cnt-results {

    margin-top: 95px
  }



  .p-toppage__cnt-results::after {

    top: -35px;

    left: 140px;

    height: 905px;

    background-size: 10px auto
  }



  .p-toppage__cnt-result-main {

    gap: 15px 0;

    margin-top: 40px
  }



  .p-toppage__cnt-result-item {

    width: calc(50% - 7.5px);

    text-align: center
  }



  .p-toppage__cnt-movie {

    margin-top: 60px;

    background-color: #fff;

    background-image: linear-gradient(90deg, var(--baige-pale) 0%, var(--baige-pale) 95%, #fff 95%, #fff 100%)
  }



  .p-toppage__cnt-movie::before {

    width: calc(100% - 135px);

    height: 905px;

    background-size: 10px auto
  }



  .p-toppage__cnt-movie-list {

    display: block;

    margin-top: 40px
  }



  .p-toppage__cnt-movie-item {

    width: 260px;

    margin-right: auto;

    margin-left: auto;

    padding: 0 30px 30px 0
  }



  .p-toppage__cnt-movie-item+.p-toppage__cnt-movie-item {

    margin-top: 49px
  }



  .p-toppage__cnt-movie-button {

    right: 0;

    bottom: 0
  }



  .p-toppage__cnt-movie-button a {

    width: 100%
  }



  .p-toppage__cnt-information-main-item a {

    display: block;

    padding: 20px 0
  }



  .p-toppage__cnt-information-date {

    flex-shrink: 0;

    width: 100%
  }



  .p-toppage__cnt-information-txt {

    margin-top: 10px
  }



  .p-toppage__cnt-information-button {

    margin-top: 30px
  }



  .p-toppage__cnt-banners {

    margin: 60px auto 100px
  }



  .p-toppage__cnt-banners .p-toppage__cnt-banners-cnt {

    display: block;

    text-align: center
  }



  .p-toppage__cnt-banners .p-toppage__cnt-banner+.p-toppage__cnt-banner {

    margin-top: 20px
  }

}



.p-company .p-company__work {

  display: flex;

  flex-wrap: wrap;

  gap: 7px 19px;

  margin-top: 20px
}



.p-company .p-company__work .p-company__work-item {

  width: calc(20% - 16px)
}



.p-company .p-company__policy-lead {

  display: flex;

  align-items: center
}



.p-company .p-company__policy-lead .p-company__policy-lead-img {

  flex-shrink: 0;

  width: 300px;

  margin-right: 72px
}



.p-company .p-company__policy-lead .p-company__policy-lead-txt {

  flex: auto;

  line-height: 2.11;

  font-size: 17px
}



.p-company .p-company__policy-list {

  margin-top: 40px
}



.p-company .p-company__policy-list .p-company__policy-list-cnt {

  padding: 20px;

  background-color: #fff;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-company .p-company__policy-list .p-company__policy-list-cnt+.p-company__policy-list-cnt {

  margin-top: 15px
}



.p-company .p-company__policy-list .p-company__policy-list-cnt .p-company__policy-list-label {

  color: var(--accent-color);

  font-size: 17px
}



.p-company .p-company__policy-list .p-company__policy-list-cnt .p-company__policy-list-detail {

  line-height: 1.66;

  margin-top: 15px
}



.p-company .p-company__access-txt {

  line-height: 1.5
}



.p-company .p-company__access-map iframe {

  width: 100%;

  height: 611px;

  margin-top: 20px
}



@media screen and (max-width: 896px) {

  .p-company .c-page-link {

    gap: 15px;

    padding: 0
  }



  .p-company .c-page-link .c-page-link__item {

    width: calc(50% - 7.5px)
  }



  .p-company .p-company__work {

    gap: 5px;

    margin-top: 15px
  }



  .p-company .p-company__work .p-company__work-item {

    width: calc(33.3% - 4px)
  }



  .p-company .p-company__policy-lead {

    display: block
  }



  .p-company .p-company__policy-lead .p-company__policy-lead-img {

    width: 100%;

    max-width: 270px;

    margin: 0 auto
  }



  .p-company .p-company__policy-lead .p-company__policy-lead-txt {

    line-height: 2;

    margin-top: 30px;

    font-size: 15px
  }



  .p-company .p-company__policy-list {

    margin-top: 35px
  }



  .p-company .p-company__policy-list .p-company__policy-list-cnt {

    padding: 20px 15px
  }



  .p-company .p-company__access-map iframe {

    height: 194px
  }

}



.p-post .p-post__top {

  padding: 1px 0 60px;

  background-color: var(--baige)
}



.p-post .p-post__top .p-post__top-page-name {

  margin-top: 50px;

  font-family: var(--font-serif);

  font-size: 18px
}



.p-post .p-post__top .p-post__top-page-name .p-post__top-page-name-en {

  color: var(--accent-color);

  font-size: 16px;

  font-family: var(--font-en)
}



.p-post .p-post__top .p-post__top-page-name .p-post__top-page-name-en::before {

  content: "/";

  margin: 0 10px;

  color: #000
}



.p-post .p-post__top .p-post__date {

  margin-top: 40px
}



.p-post .p-post__top .p-post__top-cateories {

  display: flex;

  flex-wrap: wrap;

  gap: 7px;

  margin: 40px 0 20px
}



.p-post .p-post__top .p-post__top-cateories .p-post__top-cateory {

  line-height: 26px;

  padding: 0 15px;

  border-radius: 13px;

  background-color: var(--baige-dark);

  color: #fff
}



.p-post .p-post__top .p-post__top-cateories .p-post__top-cateory.p-post__top-cateory--theme {

  background-color: var(--accent-color)
}



.p-post .p-post__top .p-post__top-cateories .p-post__top-cateory.p-post__top-cateory--class {

  background-color: var(--accent-gold)
}



.p-post .p-post__top .p-post__top-cateories .p-post__top-cateory.p-post__top-cateory--parent {

  order: -1;

  font-weight: bold
}



.p-post .p-post__top .p-post__top-cateories .p-post__top-cateory.p-post__top-cateory--skillup {

  background-color: var(--accent-color)
}



.p-post .p-post__top .p-post__top-cateories .p-post__top-cateory.p-post__top-cateory--child {

  background-color: #cec6b7;

  color: #000
}



.p-post .p-post__top .p-post__title {

  line-height: 1.53;

  margin-top: 10px;

  font-size: 26px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-post .p-post__top .p-post__title.p-post__title--small {

  line-height: 1.54;

  font-size: 22px
}



.p-post .p-post__top .p-post__top-date {

  color: var(--baige-dark);

  margin-top: 20px
}



.p-post .p-post__main {

  line-height: 1.8;

  margin-top: 60px
}



.p-post .p-post__main a {

  color: var(--accent-color);

  text-decoration: underline
}



.p-post .p-post__main a:hover {

  text-decoration: none
}



.p-post .p-post__button {

  width: fit-content;

  margin: 40px auto 0
}



.p-post .p-post__button a {

  width: 250px
}



.p-post h2.wp-block-heading,

.p-post h3.wp-block-heading,

.p-post h4.wp-block-heading {

  margin-bottom: 40px
}



.p-post h2.wp-block-heading:not(:first-child),

.p-post h3.wp-block-heading:not(:first-child),

.p-post h4.wp-block-heading:not(:first-child) {

  margin-top: 60px
}



.p-post .wp-block-embed:not(:first-child) {

  margin-top: 40px
}



.p-post .wp-block-embed__wrapper iframe {

  width: 100%;

  height: 472px
}



.p-post p {

  word-break: break-all
}



.p-post p:not(:first-child) {

  margin-top: 40px
}



.p-post .wp-block-media-text:not(:first-child) {

  margin-top: 40px
}



.p-post .wp-block-media-text .wp-block-media-text__media {

  margin-right: 20px
}



.p-post .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {

  margin: 0 0 0 20px
}



.p-post .wp-block-media-text .wp-block-media-text__media img {

  max-width: 400px
}



.p-post .wp-block-media-text .wp-block-media-text__content {

  padding: 0
}



.p-post figure.wp-block-gallery.has-nested-images:not(:first-child) {

  margin-top: 40px
}



.p-post .wp-block-image:not(:first-child) {

  margin-top: 40px
}



.p-post .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {

  position: static;

  line-height: 1.66;

  margin-top: 15px;

  background: none;

  color: #000;

  text-align: left;

  font-size: 15px;

  font-weight: bold
}



.p-post .wp-block-table {

  position: relative
}



.p-post .wp-block-table:not(:first-child) {

  margin-top: 40px
}



.p-post .wp-block-table::after {

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  width: 100%;

  height: 100%;

  border: 1px solid #cec6b7;

  user-select: none;

  pointer-events: none
}



.p-post .wp-block-table td {

  padding: 20px;

  border: 1px solid #cec6b7
}



.p-post .wp-block-buttons:not(:first-child) {

  margin-top: 40px
}



.p-post a.wp-block-button__link {

  padding: 15px 50px;

  border: 1px solid var(--accent-color);

  border-radius: 0;

  background-color: #fff;

  color: var(--accent-color);

  text-decoration: none;

  transition: background-color .3s, color .3s;

  font-size: 15px
}



.p-post a.wp-block-button__link:hover {

  background-color: var(--accent-color);

  color: #fff
}



.p-post .has-inline-color {

  padding: 0 8px
}



.p-post .p-post__relation-article {

  margin: 60px 0
}



.p-post .p-post__relation-article .p-post__relation-article-list {

  display: flex;

  gap: 0 26px;

  margin-top: 40px
}



.p-post .p-post__relation-article .p-post__relation-article-list.p-post__relation-article-list--flex-wrap {

  flex-wrap: wrap;

  gap: 26px
}



.p-post .p-post__relation-article .p-post__relation-article-list.p-post__relation-article-list--flex-wrap .p-post__relation-article-list-item {

  width: calc(33.3% - 18px)
}



.p-post .p-post__relation-article .p-post__relation-article-list-item {

  width: 34%
}



.p-post .p-post__relation-article .p-post__relation-article-list-item a {

  color: #000;

  text-decoration: none;

  transition: opacity .3s
}



.p-post .p-post__relation-article .p-post__relation-article-list-item a:hover {

  opacity: .7
}



.p-post .p-post__relation-article .p-post__relation-article-list-img img {

  width: 100%;

  height: auto;

  aspect-ratio: 263/160;

  object-fit: cover
}



.p-post .p-post__relation-article .p-post__relation-article-list-txt {

  line-height: 1.66;

  margin-top: 15px;

  background: none;

  color: #000;

  text-align: left;

  font-size: 15px;

  font-weight: bold
}



.p-post ol {

  counter-reset: article-list
}



.p-post ol li {

  counter-increment: article-list
}



.p-post ol li::before {

  content: counter(article-list) ". "

}



.p-post .is-style-default-title {

  line-height: 1.45;

  padding: 8px 15px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-post .is-style-border-both {

  margin-bottom: 40px;

  padding: 4px 0;

  border-top: 1px solid var(--accent-color);

  border-bottom: 1px solid var(--accent-color);

  background-color: #fff;

  color: var(--accent-color);

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-post .is-style-border-both:not(:first-child) {

  margin-top: 40px
}



.p-post .is-style-bold-only {

  padding: 0;

  border: none;

  background-color: #fff;

  color: #000;

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-post .is-style-border-left {

  position: relative;

  line-height: 1.5;

  padding: 0 0 0 55px;

  border: none;

  background-color: #fff;

  color: var(--accent-color);

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-post .is-style-border-left::before {

  content: "";

  position: absolute;

  top: 14px;

  left: 0;

  width: 40px;

  height: 1px;

  background-color: var(--accent-color)
}



.p-post .is-style-icon-check {

  position: relative;

  line-height: 1.5;

  padding: 0 0 15px 49px;

  border: none;

  border-bottom: 1px solid var(--accent-color);

  background-color: #fff;

  color: var(--accent-color);

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-post .is-style-icon-check::before {

  content: "";

  position: absolute;

  top: -4px;

  left: 0;

  width: 34px;

  height: 34px;

  background-image: url(../images/common/icon_check_title.svg);

  background-repeat: no-repeat;

  background-size: 100% auto
}



.p-post .is-style-icon-question {

  position: relative;

  line-height: 1.5;

  padding: 0 0 15px 49px;

  border: none;

  border-bottom: 1px solid var(--accent-color);

  background-color: #fff;

  color: var(--accent-color);

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-post .is-style-icon-question::before {

  content: "";

  position: absolute;

  top: -4px;

  left: 0;

  width: 34px;

  height: 34px;

  background-image: url(../images/common/icon_question.svg);

  background-repeat: no-repeat;

  background-size: 100% auto
}



.p-post .is-style-icon-check-paragraph {

  padding: 4px 0 20px 34px;

  border-bottom: 1px solid #e5e1d8;

  background-image: url(../images/common/icon_check_paragraph.svg);

  background-repeat: no-repeat;

  background-size: 23px auto;

  background-position: left 6px
}



.p-post .is-style-icon-check-paragraph+.is-style-icon-check-paragraph {

  margin-top: 10px
}



.p-post .is-style-quote-paragraph {

  position: relative;

  padding: 17px 15px 18px 56px;

  background-color: var(--baige-pale)
}



.p-post .is-style-quote-paragraph::after {

  content: "";

  position: absolute;

  top: -10px;

  left: 15px;

  width: 26px;

  height: 20px;

  background-image: url(../images/common/icon_quote.svg);

  background-repeat: no-repeat;

  background-size: 100% auto
}



.p-post .is-style-icon-request-paragraph {

  line-height: 1.8;

  padding: 23px 15px 22px 60px;

  background-color: var(--baige-pale);

  background-image: url(../images/training/icon_request.svg);

  background-repeat: no-repeat;

  background-position: 15px 20px;

  background-size: 30px auto
}



.p-post .is-style-icon-request-paragraph+.is-style-icon-request-paragraph {

  margin-top: 15px
}



.p-post .is-style-left-color td:first-child,

.p-post .is-style-top-color tr:first-child td,

.p-post .is-style-top-left-color td:first-child,

.p-post .is-style-top-left-color tr:first-child td {

  border: 1px solid #fff;

  background-color: #e5e1d8;

  font-weight: bold
}



h2.wp-block-heading {

  line-height: 1.45;

  padding: 8px 15px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold
}



h3.wp-block-heading {

  margin-bottom: 40px;

  padding: 4px 0;

  border-top: 1px solid var(--accent-color);

  border-bottom: 1px solid var(--accent-color);

  background-color: #fff;

  color: var(--accent-color);

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold
}



h3.wp-block-heading:not(:first-child) {

  margin-top: 40px
}



.has-main-color-color {

  color: var(--accent-color)
}



.has-main-color-background-color {

  background-color: var(--accent-color)
}



.has-baige-dark-color {

  color: #6c6351
}



.has-baige-dark-background-color {

  background-color: #6c6351
}



.has-gold-color {

  color: var(--accent-gold)
}



.has-gold-background-color {

  background-color: var(--accent-gold)
}



.has-white-color {

  color: #fff
}



.has-white-background-color {

  background-color: #fff
}



.has-red-color {

  color: red
}



.has-red-background-color {

  background-color: #640000
}



.has-black-color {

  color: #000
}



.has-black-background-color {

  background-color: #000
}



.has-baige-medium-color {

  color: #cec6b7
}



.has-baige-medium-background-color {

  background-color: #cec6b7
}



.has-navy-color {

  color: #181f3c
}



.has-navy-background-color {

  background-color: #181f3c
}



@media screen and (max-width: 896px) {

  .p-post .p-post__top {

    padding: 1px 0 40px
  }



  .p-post .p-post__top .p-post__top-page-name {

    margin-top: 30px;

    font-size: 16px
  }



  .p-post .p-post__top .p-post__top-page-name .p-post__top-page-name-en {

    font-size: 14px
  }



  .p-post .p-post__top .p-post__top-page-name .p-post__top-page-name-en::before {

    margin: 0 6px
  }



  .p-post .p-post__top .p-post__date {

    margin-top: 20px;

    font-size: 14px
  }



  .p-post .p-post__top .p-post__top-cateories {

    gap: 5px;

    margin: 14px 0 20px
  }



  .p-post .p-post__top .p-post__top-cateories .p-post__top-cateory {

    line-height: 22px
  }



  .p-post .p-post__top .p-post__title {

    font-size: 20px
  }



  .p-post .p-post__top .p-post__title.p-post__title--small {

    font-size: 20px
  }



  .p-post .p-post__button {

    margin: 30px auto 0
  }



  .p-post .p-post__button a {

    width: 250px
  }



  .p-post .wp-block-embed__wrapper iframe {

    height: 45.86vw
  }



  .p-post .wp-block-media-text .wp-block-media-text__media {

    margin-right: 0
  }



  .p-post .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {

    margin: 0
  }



  .p-post .wp-block-media-text .wp-block-media-text__media img {

    max-width: 100%
  }



  .p-post a.wp-block-button__link {

    width: 274px;

    max-width: 100%;

    padding: 15px
  }



  .p-post .wp-block-table td {

    padding: 15px
  }



  .p-post .p-post__relation-article .p-post__relation-article-list {

    flex-wrap: wrap;

    gap: 20px
  }



  .p-post .p-post__relation-article .p-post__relation-article-list.p-post__relation-article-list--flex-wrap {

    gap: 20px
  }



  .p-post .p-post__relation-article .p-post__relation-article-list.p-post__relation-article-list--flex-wrap .p-post__relation-article-list-item {

    width: calc(50% - 10px)
  }



  .p-post .p-post__relation-article .p-post__relation-article-list-item {

    width: calc(50% - 10px)
  }



  .p-post .p-post__relation-article .p-post__relation-article-list-item .p-post__relation-article-list-txt {

    line-height: 1.45;

    margin-top: 8px;

    font-size: 13px
  }



  .p-post h2.wp-block-heading:not(:first-child),

  .p-post h3.wp-block-heading:not(:first-child),

  .p-post h4.wp-block-heading:not(:first-child) {

    margin-bottom: 30px
  }



  .p-post p:not(:first-child),

  .p-post .wp-block-table:not(:first-child) {

    margin-top: 30px
  }



  .p-post .wp-block-heading:not(:first-child)+.wp-block-heading:not(:first-child) {

    margin-top: 30px
  }



  .p-post .is-style-default-title {

    line-height: 1.5;

    padding: 15px;

    font-size: 20px
  }



  .p-post .is-style-border-both {

    padding: 12px 0;

    font-size: 18px
  }



  .p-post .is-style-bold-only {

    font-size: 16px
  }



  .p-post .is-style-border-left {

    line-height: 1.44;

    padding: 0 0 0 45px;

    font-size: 18px
  }



  .p-post .is-style-border-left::before {

    top: 11px;

    width: 30px
  }



  .p-post .is-style-icon-check {

    line-height: 1.44;

    padding: 0 0 12px 49px;

    font-size: 18px
  }



  .p-post .is-style-icon-question {

    line-height: 1.44;

    padding: 0 0 12px 49px;

    font-size: 18px
  }



  .p-post .is-style-icon-request {

    line-height: 1.6;

    padding: 15px 15px 15px 60px;

    background-position: 15px 15px;

    background-size: 26px auto
  }



  .p-post .is-style-quote-paragraph {

    padding: 17px 18px 20px 36px
  }



  .p-post .is-style-quote-paragraph::after {

    left: 10px;

    width: 23px;

    height: 18px
  }



  .p-post .is-style-left-color td:first-child {

    width: 115px
  }



  h2.wp-block-heading {

    line-height: 1.5;

    padding: 15px;

    font-size: 20px
  }



  h3.wp-block-heading {

    padding: 12px 0;

    font-size: 18px
  }

}



.p-faq .p-faq__section+.p-faq__section {

  margin-top: 70px
}



.p-faq .p-faq__detail {

  margin-top: 20px
}



.p-faq .p-faq__question {

  position: relative;

  line-height: 1.4;

  padding: 15px 60px 15px 20px;

  background-color: #d9d3c7;

  font-size: 16px;

  font-family: var(--font-serif);

  font-weight: bold;

  word-break: break-all
}



.p-faq .p-faq__question::before,

.p-faq .p-faq__question::after {

  content: "";

  position: absolute;

  top: 50%;

  background-color: #000;

  transform: translateY(-50%)
}



.p-faq .p-faq__question::before {

  right: 20px;

  width: 20px;

  height: 1px
}



.p-faq .p-faq__question::after {

  right: 29px;

  width: 1px;

  height: 20px
}



.p-faq .p-faq__question:hover {

  cursor: pointer
}



.p-faq .p-faq__question.open::after {

  display: none
}



.p-faq .p-faq__answer {

  display: none;

  line-height: 1.8;

  padding: 20px;

  border: 1px solid #d9d3c7;

  word-break: break-all
}



@media screen and (max-width: 896px) {

  .p-faq .p-faq__section+.p-faq__section {

    margin-top: 60px
  }



  .p-faq .p-faq__question {

    line-height: 1.5;

    padding: 15px 60px 15px 15px
  }



  .p-faq .p-faq__question::before {

    right: 15px
  }



  .p-faq .p-faq__question::after {

    right: 25px
  }



  .p-faq .p-faq__answer {

    padding: 15px
  }

}



.p-request .p-request__lead {

  line-height: 1.8
}



.p-request .p-request__lead a {

  text-decoration: underline
}



.p-request .p-request__lead a:hover {

  text-decoration: none
}



.p-request .c-column-list .c-column-list__label {

  width: 230px;

  line-height: 40px
}



.p-request .c-column-list .c-column-list__label.p-request__label--required::before {

  content: "必須";

  display: inline-block;

  width: 47px;

  line-height: 24px;

  margin-right: 13px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 14px;

  letter-spacing: 1px;

  text-align: center
}



.p-request .c-column-list .c-column-list__label.p-request__label--left-padding {

  padding-left: 62px
}



.p-request .mw_wp_form .horizontal-item+.horizontal-item {

  margin-left: 0
}



.p-request input[type=checkbox] {

  display: none
}



.p-request input[type=checkbox]:checked+.mwform-checkbox-field-text {

  background-image: url(../images/common/icon_check_on.svg)
}



.p-request .mwform-checkbox-field-text {

  display: inline-block;

  line-height: 24px;

  padding-left: 32px;

  background-image: url(../images/common/icon_check.svg);

  background-repeat: no-repeat;

  background-position: left center;

  background-size: auto 24px
}



.p-request .mwform-checkbox-field-text:hover {

  cursor: pointer
}



.p-request input[type=text],

.p-request input[type=email] {

  width: 300px;

  height: 40px;

  padding: 0 20px;

  border: 1px solid #d9d3c7
}



.p-request input[type=text][name=zip_before],

.p-request input[type=text][name=zip_after],

.p-request input[type=email][name=zip_before],

.p-request input[type=email][name=zip_after] {

  width: 90px
}



.p-request input[type=text][name=address],

.p-request input[type=email][name=address] {

  width: 100%
}



.p-request input[type=text].w570,

.p-request input[type=email].w570 {

  width: 570px
}



.p-request .p-request__select-wrap {

  position: relative;

  width: fit-content
}



.p-request .p-request__select-wrap::after {

  content: "";

  position: absolute;

  top: 10px;

  right: 15px;

  width: 13px;

  height: 13px;

  border-right: 1px solid #000;

  border-bottom: 1px solid #000;

  transform: rotate(-135deg) scale(-1, -1);

  user-select: none;

  pointer-events: none
}



.p-request select {

  width: 235px;

  height: 40px;

  padding: 0 20px;

  border: 1px solid #d9d3c7
}



.p-request textarea {

  resize: vertical;

  width: 100%;

  height: 180px;

  padding: 20px;

  border: 1px solid #d9d3c7
}



.p-request .p-request__cnt {

  margin-top: 40px
}



.p-request .p-request__cnt+.p-request__cnt {

  margin-top: 50px
}



.p-request .p-request__cnt .p-request__cnt-category {

  margin-top: 20px
}



.p-request .p-request__cnt .p-request__cnt-category+.p-request__cnt-category {

  margin: 30px 0 23px
}



.p-request .p-request__cnt .p-request__cnt-category .p-request__cnt-category-title {

  margin-bottom: 15px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-request .p-request__cnt .p-request__cnt-category .p-request__cnt-category-input {

  display: flex;

  flex-wrap: wrap;

  gap: 10px 0
}



.p-request .p-request__cnt .p-request__cnt-category .p-request__cnt-category-input .mwform-checkbox-field {

  width: 33.33%
}



.p-request .p-request__checkbox {

  display: flex;

  flex-wrap: wrap;

  gap: 10px 0;

  max-width: 464px;

  margin-bottom: 17px
}



.p-request .p-request__checkbox .mwform-checkbox-field {

  width: 50%
}



.p-request .p-request__checkbox.p-request__checkbox--column {

  flex-direction: column
}



.p-request .p-request__checkbox.p-request__checkbox--column .mwform-checkbox-field {

  width: 100%
}



.p-request .p-request__agree {

  margin-top: 50px;

  padding: 20px;

  border: 1px solid var(--accent-color)
}



.p-request .p-request__agree+.p-request__agree {

  margin-top: 20px
}



.p-request .p-request__agree .p-request__agree-label {

  margin-bottom: 14px
}



.p-request .p-request__agree .p-request__agree-label::before {

  content: "必須";

  display: inline-block;

  width: 47px;

  line-height: 24px;

  margin-right: 13px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 14px;

  letter-spacing: 1px;

  text-align: center
}



.p-request .p-request__agree .p-request__agree-label a {

  color: var(--accent-color);

  text-decoration: underline
}



.p-request .p-request__agree .p-request__agree-label a:hover {

  text-decoration: none
}



.p-request .p-request__agree .p-request__agree-checkbox {

  display: flex;

  flex-wrap: wrap;

  gap: 10px 0;

  max-width: 708px
}



.p-request .p-request__agree .p-request__agree-checkbox .mwform-checkbox-field {

  width: 25%
}



.p-request .p-request__submit {

  display: flex;

  justify-content: center;

  gap: 0 20px;

  margin-top: 30px
}



.p-request .mw_wp_form_confirm .c-column-list .c-column-list__label {

  line-height: 1.8
}



.p-request .mw_wp_form_confirm .p-request__cnt .p-request__cnt-category .p-request__cnt-category-title {

  margin-bottom: 10px
}



.p-request .mw_wp_form_confirm .p-request__confirm-disnon,

.p-request .mw_wp_form_confirm .p-request__select-wrap::after,

.p-request .mw_wp_form_confirm .c-column-list .c-column-list__label.p-request__label--required::before,

.p-request .mw_wp_form_confirm .p-request__agree .p-request__agree-label::before {

  display: none
}



.p-request .mw_wp_form_confirm .c-column-list .c-column-list__label.p-request__label--left-padding {

  padding-left: 0
}



.p-request .mw_wp_form_confirm .p-request__checkbox {

  margin-bottom: 0
}



.p-request .mw_wp_form_confirm .p-request__cnt-category {

  margin: 0
}



.p-request .mw_wp_form_confirm .p-request__cnt-category+.p-request__cnt-category {

  margin: 20px 0 0
}



.p-request .mw_wp_form_confirm .c-common-button input[name=submit] {

  background-color: var(--accent-color);

  color: #fff
}



.p-request .mw_wp_form_confirm .c-common-button input[name=submit]:hover {

  background-color: #fff;

  color: var(--accent-color)
}



.p-request .p-request__thanks {

  line-height: 1.8;

  margin-bottom: 200px;

  text-align: center
}



@media screen and (max-width: 896px) {

  .p-request .c-column-list .c-column-list__label {

    width: 100%;

    line-height: inherit
  }



  .p-request .c-column-list .c-column-list__label.p-request__label--left-padding {

    padding-left: 0
  }



  .p-request input[type=text],

  .p-request input[type=email] {

    width: 100%;

    padding: 0 10px
  }



  .p-request input[type=text].w570,

  .p-request input[type=email].w570 {

    width: 100%
  }



  .p-request select {

    padding: 0 10px
  }



  .p-request textarea {

    height: 130px;

    padding: 10px
  }



  .p-request .p-request__cnt+.p-request__cnt {

    margin-top: 40px
  }



  .p-request .p-request__cnt .p-request__cnt-category {

    margin-top: 30px
  }



  .p-request .p-request__cnt .p-request__cnt-category+.p-request__cnt-category {

    margin: 30px 0
  }



  .p-request .p-request__cnt .p-request__cnt-category .p-request__cnt-category-title {

    margin-bottom: 10px
  }



  .p-request .p-request__cnt .p-request__cnt-category .p-request__cnt-category-input {

    flex-direction: column;

    gap: 15px
  }



  .p-request .p-request__cnt .p-request__cnt-category .p-request__cnt-category-input .mwform-checkbox-field {

    width: 100%
  }



  .p-request .p-request__checkbox {

    flex-direction: column;

    gap: 15px;

    max-width: none;

    margin-bottom: 15px
  }



  .p-request .p-request__checkbox .mwform-checkbox-field {

    width: 100%
  }



  .p-request .p-request__agree {

    margin-top: 40px
  }



  .p-request .p-request__agree .p-request__agree-label {

    margin-bottom: 20px
  }



  .p-request .p-request__agree .p-request__agree-label::before {

    display: block;

    margin: 0 0 10px
  }



  .p-request .p-request__agree .p-request__agree-checkbox {

    gap: 15px 0;

    max-width: none
  }



  .p-request .p-request__agree .p-request__agree-checkbox .mwform-checkbox-field {

    width: 50%
  }



  .p-request .p-request__submit {

    flex-direction: column;

    align-items: center;

    gap: 20px
  }



  .p-request .p-request__thanks {

    margin-bottom: 0
  }

}



.p-other .c-box__section p {

  line-height: 1.8;

  word-break: break-all
}



.p-other .c-box__section p a {

  color: var(--accent-color);

  text-decoration: underline
}



.p-other .c-box__section p a:hover {

  text-decoration: none
}



.p-other .c-box__section .wp-block-heading {

  line-height: 1.45;

  margin: 60px 0 20px;

  padding: 0;

  color: #000;

  background-color: #fff;

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif);

  word-break: break-all
}



.p-other .c-box__section ul {

  counter-reset: otherCounter
}



.p-other .c-box__section ul li {

  counter-increment: otherCounter;

  line-height: 1.8;

  padding-left: calc(1em + 2px);

  text-indent: calc(-1em - 2px);

  word-break: break-all
}



.p-other .c-box__section ul li::before {

  content: counter(otherCounter);

  margin-right: 10px
}



.p-other .c-box__section .p-other__column-list-txt+.p-other__column-list-txt {

  margin-top: 30px
}



.p-other .p-other__external-transmission {

  margin-top: 100px;

  padding: 100px 0;

  background-color: #e5e1d8
}



.p-other .p-other__external-transmission .p-other__external-transmission-title {

  line-height: 1.45;

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-other .p-other__external-transmission .p-other__external-transmission-txt {

  line-height: 1.8;

  margin-top: 20px
}



.p-other .p-other__external-transmission .p-other__external-transmission-table {

  width: 100%;

  margin-top: 30px
}



.p-other .p-other__external-transmission .p-other__external-transmission-table thead th {

  padding: 12px 20px;

  background-color: #fff;

  vertical-align: middle
}



.p-other .p-other__external-transmission .p-other__external-transmission-table tbody td {

  padding: 20px;

  border-bottom: 1px solid #fff;

  vertical-align: middle
}



.p-other .p-other__external-transmission .p-other__external-transmission-classification {

  display: inline-block;

  line-height: 30px;

  padding: 0 34px;

  border-radius: 15px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 14px;

  text-align: center
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-open {

  width: 26px;

  transition: opacity .3s
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-open:hover {

  cursor: pointer;

  opacity: .7
}



.p-other .p-other__external-transmission .p-other__external-transmission-link {

  text-align: center
}



.p-other .p-other__external-transmission .p-other__external-transmission-link img {

  width: 22px;

  transition: opacity .3s
}



.p-other .p-other__external-transmission .p-other__external-transmission-link a img:hover {

  opacity: .7
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal {

  display: none;

  position: fixed;

  top: 0;

  left: 0;

  z-index: 4;

  width: 100vw;

  height: 100vh;

  background-color: rgba(0, 0, 0, .8)
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal .p-other__external-transmission-modal-inner {

  position: absolute;

  top: 50%;

  left: 50%;

  background-color: #fff;

  width: calc(100% - 200px);

  max-width: 886px;

  height: calc(100% - 200px);

  max-height: 614px;

  padding: 30px;

  overflow-y: auto;

  transform: translate(-50%, -50%)
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-close {

  position: absolute;

  top: 20px;

  right: 20px;

  line-height: 1;

  font-size: 24px
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-close:hover {

  cursor: pointer
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-title {

  line-height: 1.45;

  padding-bottom: 20px;

  border-bottom: 1px solid #b9af9b;

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-cnt {

  margin-top: 20px
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-cnt+.p-other__external-transmission-modal-cnt {

  margin-top: 30px
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-title-medium {

  font-size: 17px;

  font-family: var(--font-serif)
}



.p-other .p-other__external-transmission .p-other__external-transmission-modal-txt {

  line-height: 1.57;

  margin-top: 15px;

  padding: 15px;

  background-color: var(--baige-pale);

  font-size: 14px
}



.p-other .p-other__404-sec {

  text-align: center
}



.p-other .p-other__404-sec .p-other__404-txt {

  line-height: 1.8
}



.p-other .p-other__404-sec .p-other__404-button {

  margin-top: 50px
}



@media screen and (max-width: 896px) {

  .p-other .c-box__section p {

    line-height: 1.6
  }



  .p-other .c-box__section .wp-block-heading {

    line-height: 1.6;

    margin: 50px 0 20px;

    font-size: 20px
  }



  .p-other .c-box__section ul li {

    counter-increment: otherCounter;

    line-height: 1.6
  }



  .p-other .c-box__section .p-other__column-list-txt+.p-other__column-list-txt {

    margin-top: 20px
  }



  .p-other .p-other__external-transmission {

    margin-top: 60px;

    padding: 60px 0
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-title {

    line-height: 1.6;

    font-size: 20px
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-txt {

    line-height: 1.46;

    margin-top: 30px
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-table {

    display: flex;

    flex-wrap: wrap;

    background-color: #fff
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-table .p-other__external-transmission-label {

    flex-shrink: 0;

    width: 113px;

    padding: 15px;

    border-bottom: 1px solid #e5e1d8
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-table .p-other__external-transmission-detail {

    width: calc(100% - 113px);

    padding: 15px;

    border-bottom: 1px solid #e5e1d8
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-classification {

    display: inline-block;

    line-height: 30px;

    padding: 0 34px;

    border-radius: 15px;

    background-color: var(--accent-color);

    color: #fff;

    font-size: 14px;

    text-align: center
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-links {

    padding: 35px 0;

    background-color: #fff
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-link a {

    text-decoration: underline;

    font-weight: bold
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-link a:hover {

    text-decoration: none
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-link img {

    width: 18px;

    margin-left: 5px;

    vertical-align: middle
  }



  .p-other .p-other__external-transmission .p-other__external-transmission-link+.p-other__external-transmission-link {

    margin-top: 25px
  }



  .p-other.p-law .c-column-list__label {

    font-weight: bold
  }



  .p-other .p-other__tel-link {

    color: var(--accent-color);

    text-decoration: underline
  }



  .p-other .p-other__tel-link:hover {

    color: var(--accent-color);

    text-decoration: none
  }



  .p-other .p-other__404-sec {

    text-align: center
  }



  .p-other .p-other__404-sec .p-other__404-txt {

    line-height: 1.8
  }



  .p-other .p-other__404-sec .p-other__404-button {

    margin-top: 50px
  }

}



.p-books .p-books__list {

  display: flex;

  flex-wrap: wrap;

  gap: 26px 26px
}



.p-books .p-books__list .p-books__list-item {

  display: flex;

  width: calc(25% - 20px);

  border: 1px solid #e5e1d8
}



.p-books .p-books__list .p-books__list-item a {

  display: grid;

  grid-template-columns: 1fr;

  grid-template-rows: min(252px, 18.44vw) 1fr;

  width: 100%
}



.p-books .p-books__list .p-books__list-item a:hover .p-books__list-img {

  background-color: #cec6b7
}



.p-books .p-books__list .p-books__list-img {

  padding: 15px 0;

  background-color: var(--baige);

  text-align: center;

  transition: background-color .3s
}



.p-books .p-books__list .p-books__list-img img {

  max-height: 100%
}



.p-books .p-books__list .p-books__list-title {

  line-height: 1.46;

  padding: 15px;

  font-weight: bold;

  font-family: var(--font-en)
}



.p-books .p-books__info {

  display: flex;

  align-items: flex-start
}



.p-books .p-books__info .p-books__info-img {

  flex-shrink: 0;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 400px;

  aspect-ratio: 1/1;

  margin-right: 30px;

  padding: 15px 0;

  background-color: var(--baige);

  text-align: center
}



.p-books .p-books__info .p-books__info-img img {

  max-width: 250px
}



.p-books .p-books__info .p-books__info-txt {

  line-height: 1.8
}



.p-books .p-books__info .p-books__info-button {

  margin-top: 25px
}



.p-books .p-books__info .p-books__info-button.c-common-button a {

  width: 250px;

  text-decoration: none
}



.p-books .p-books__info .p-books__info-button.c-common-button a:hover {

  color: #fff
}



.p-books h2.wp-block-heading {

  line-height: 1.54;

  margin: 60px 0 40px;

  padding: 16px 20px 8px;

  background-color: var(--baige-dark);

  color: #fff;

  font-size: 22px;

  font-family: var(--font-en);

  font-weight: bold
}



.p-books h3.wp-block-heading {

  line-height: 1.8;

  margin: 40px 0 20px;

  font-weight: bold
}



.p-books article p {

  line-height: 1.8
}



.p-books article p+p {

  margin-top: 35px
}



.p-books article p+figure {

  margin-top: 30px
}



.p-books article figure+p {

  margin-top: 35px
}



@media screen and (max-width: 896px) {

  .p-books .p-books__list {

    gap: 20px 15px
  }



  .p-books .p-books__list .p-books__list-item {

    width: calc(50% - 7.5px)
  }



  .p-books .p-books__list .p-books__list-item a {

    grid-template-rows: 165px 1fr
  }



  .p-books .p-books__list .p-books__list-img {

    padding: 10px 0
  }



  .p-books .p-books__list .p-books__list-img img {

    width: 100%;

    height: 100%;

    object-fit: contain
  }



  .p-books .p-books__info {

    display: block
  }



  .p-books .p-books__info .p-books__info-img {

    width: 100%;

    margin-right: 0;

    padding: 17px 0
  }



  .p-books .p-books__info .p-books__info-img img {

    max-width: 57.33vw
  }



  .p-books .p-books__info .p-books__info-txt {

    margin-top: 30px
  }



  .p-books h2.wp-block-heading {

    line-height: 1.54;

    margin: 60px 0 20px;

    padding: 13px 15px;

    font-size: 20px
  }

}



.p-publicity .p-publicity__list {

  display: flex;

  flex-wrap: wrap;

  gap: 26px 26px
}



.p-publicity .p-publicity__list .p-publicity__list-item {

  display: flex;

  width: calc(25% - 20px);

  border-bottom: 1px solid #e5e1d8
}



.p-publicity .p-publicity__list .p-publicity__list-item a {

  display: grid;

  grid-template-columns: 1fr;

  grid-template-rows: min(252px, 18.44vw) 1fr;

  width: 100%
}



.p-publicity .p-publicity__list .p-publicity__list-item a:hover .p-publicity__list-img {

  background-color: #cec6b7
}



.p-publicity .p-publicity__list .p-publicity__list-img {

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 15px;

  background-color: var(--baige);

  text-align: center;

  transition: background-color .3s
}



.p-publicity .p-publicity__list .p-publicity__list-img img {

  max-height: 100%
}



.p-publicity .p-publicity__list .p-publicity__list-title {

  line-height: 1.46;

  padding: 15px 0;

  font-weight: bold;

  font-family: var(--font-en)
}



.p-publicity .p-publicity__info {

  display: flex;

  align-items: flex-start
}



.p-publicity .p-publicity__info .p-publicity__info-img {

  flex-shrink: 0;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 400px;

  aspect-ratio: 1/1;

  margin-right: 30px;

  padding: 15px 0;

  background-color: var(--baige);

  text-align: center
}



.p-publicity .p-publicity__info .p-publicity__info-img img {

  max-width: 250px
}



.p-publicity .p-publicity__info .p-publicity__info-txt {

  line-height: 1.8
}



.p-publicity .p-publicity__info .p-publicity__info-button {

  margin-top: 25px
}



.p-publicity .p-publicity__info .p-publicity__info-button.c-common-button a {

  width: 250px;

  text-decoration: none
}



.p-publicity .p-publicity__info .p-publicity__info-button.c-common-button a img {

  width: 20px;

  height: 21px;

  margin-right: 4px;

  vertical-align: -6px;

  transition: filter .3s
}



.p-publicity .p-publicity__info .p-publicity__info-button.c-common-button a:hover {

  color: #fff
}



.p-publicity .p-publicity__info .p-publicity__info-button.c-common-button a:hover img {

  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(59deg) brightness(108%) contrast(101%)
}



.p-publicity h2.wp-block-heading {

  line-height: 1.54;

  margin: 60px 0 40px;

  padding: 16px 20px 8px;

  background-color: var(--baige-dark);

  color: #fff;

  font-size: 22px;

  font-family: var(--font-en);

  font-weight: bold
}



.p-publicity h3.wp-block-heading {

  line-height: 1.8;

  margin: 40px 0 20px;

  font-weight: bold
}



.p-publicity article p {

  line-height: 1.8
}



.p-publicity article p+p {

  margin-top: 35px
}



.p-publicity article p+figure {

  margin-top: 30px
}



.p-publicity article figure+p {

  margin-top: 35px
}



@media screen and (max-width: 896px) {

  .p-publicity .p-publicity__list {

    gap: 20px 15px
  }



  .p-publicity .p-publicity__list .p-publicity__list-item {

    width: calc(50% - 7.5px)
  }



  .p-publicity .p-publicity__list .p-publicity__list-item a {

    grid-template-rows: 165px 1fr
  }



  .p-publicity .p-publicity__list .p-publicity__list-img {

    padding: 10px
  }



  .p-publicity .p-publicity__list .p-publicity__list-img img {

    width: 100%;

    height: 100%;

    object-fit: contain
  }



  .p-publicity .p-publicity__list .p-publicity__list-title {

    padding: 15px 0 20px
  }



  .p-publicity .p-publicity__info {

    display: block
  }



  .p-publicity .p-publicity__info .p-publicity__info-img {

    width: 100%;

    margin-right: 0;

    padding: 17px 0
  }



  .p-publicity .p-publicity__info .p-publicity__info-img img {

    max-width: 56vw
  }



  .p-publicity .p-publicity__info .p-publicity__info-txt {

    margin-top: 30px
  }

}



.p-movie {

  width: 100%;

  overflow: hidden;

  counter-reset: movie
}



.p-movie .p-movie__section {

  position: relative;

  max-width: 1171px;

  margin-right: auto;

  margin-left: auto;

  padding: 50px 50px 0 95px;

  counter-increment: movie
}



.p-movie .p-movie__section::before {

  content: "";

  position: absolute;

  top: 0;

  width: 100vw;

  height: 100%;

  background-color: var(--baige);

  user-select: none;

  pointer-events: none
}



.p-movie .p-movie__section#sec01::before,

.p-movie .p-movie__section#sec03::before {

  left: 45px
}



.p-movie .p-movie__section#sec01 .p-movie__list::before,

.p-movie .p-movie__section#sec03 .p-movie__list::before {

  left: -50px
}



.p-movie .p-movie__section#sec02::before,

.p-movie .p-movie__section#sec04::before {

  right: -5px
}



.p-movie .p-movie__section#sec02 .p-movie__list::before,

.p-movie .p-movie__section#sec04 .p-movie__list::before {

  right: -55px
}



.p-movie .p-movie__lead {

  display: flex
}



.p-movie .p-movie__lead-txt {

  flex-shrink: 0;

  width: min(543px, 55%);

  margin-right: 43px
}



.p-movie .p-movie__title {

  padding-bottom: 25px;

  border-bottom: 1px solid var(--accent-color);

  color: var(--accent-color);

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-movie .p-movie__title::before {

  content: "0" counter(movie);

  display: block;

  line-height: 1;

  font-size: 70px;

  font-family: var(--font-en);

  letter-spacing: 4px
}



.p-movie .p-movie__lead-description {

  line-height: 1.8;

  margin-top: 30px
}



.p-movie .p-movie__lead-button {

  margin-top: 40px
}



.p-movie .p-movie__lead-button a {

  width: 250px
}



.p-movie .p-movie__img {

  flex: auto
}



.p-movie .p-movie__title-medium {

  line-height: 48px;

  margin-top: 50px;

  border-radius: 24px;

  background-color: var(--baige-dark);

  color: #fff;

  font-size: 20px;

  font-weight: bold;

  font-family: var(--font-serif);

  text-align: center
}



.p-movie .p-movie__title-medium span {

  position: relative;

  padding: 0 27px 0 32px
}



.p-movie .p-movie__title-medium span::before,

.p-movie .p-movie__title-medium span::after {

  content: "";

  position: absolute;

  top: 50%;

  width: 19px;

  height: 28px;

  background-image: url(../images/movie/deco_title.svg);

  background-repeat: no-repeat;

  background-size: auto 28px;

  background-position: center center
}



.p-movie .p-movie__title-medium span::before {

  left: 0;

  transform: translateY(-50%)
}



.p-movie .p-movie__title-medium span::after {

  right: 0;

  transform: translateY(-50%) scale(-1, 1)
}



.p-movie .p-movie__youtube-txt {

  margin-top: 20px;

  text-align: center
}



.p-movie .p-movie__list {

  position: relative;

  display: flex;

  justify-content: center;

  gap: 0 25px;

  margin-top: 23px
}



.p-movie .p-movie__list::before {

  content: "";

  position: absolute;

  bottom: 0;

  width: 100vw;

  height: calc(100% - min(92px, 7.8vw));

  background-color: #fff;

  pointer-events: none;

  user-select: none
}



.p-movie .p-movie__list .p-movie__list-item {

  width: 34%
}



.p-movie .p-movie__list .p-movie__list-item a {

  transition: opacity .3s
}



.p-movie .p-movie__list .p-movie__list-item a:hover {

  opacity: .7
}



.p-movie .p-movie__list .p-movie__list-txt {

  line-height: 1.66;

  margin-top: 15px;

  font-weight: bold
}



.p-movie .p-movie__child-article-list {

  display: flex;

  gap: 0 26px
}



.p-movie .p-movie__child-article-list .p-movie__child-article-list-item {

  width: 33.3%
}



.p-movie .p-movie__child-article-list .p-movie__child-article-list-item a {

  transition: opacity .3s;

  text-decoration: none
}



.p-movie .p-movie__child-article-list .p-movie__child-article-list-item a:hover {

  opacity: .7
}



.p-movie .p-movie__child-article-list .p-movie__child-article-list-item p {

  margin-top: 15px;

  color: #000;

  font-weight: bold
}



.p-movie .p-movie__child-button-list {

  display: flex;

  gap: 0 26px;

  margin-bottom: 60px
}



.p-movie .p-movie__child-button-list .p-movie__child-button-list-item {

  width: 33.3%
}



.p-movie .p-movie__child-button-list .p-movie__child-button-list-item.c-common-button a {

  width: 100%;

  line-height: 1.66;

  padding-right: 15px;

  padding-left: 15px;

  text-decoration: none
}



.p-movie .p-movie__child-button-list .p-movie__child-button-list-item.c-common-button a:hover {

  color: #fff
}



@media screen and (max-width: 896px) {

  .p-movie .p-movie__section {

    padding: 50px 15px 0;

    background-image: linear-gradient(180deg, var(--baige) 0%, var(--baige) calc(100% - 120px), #fff calc(100% - 120px), #fff 100%)
  }



  .p-movie .p-movie__section::before {

    display: none
  }



  .p-movie .p-movie__lead {

    display: block
  }



  .p-movie .p-movie__lead-txt {

    width: 100%;

    margin-right: 0
  }



  .p-movie .p-movie__title {

    padding-bottom: 30px
  }



  .p-movie .p-movie__title::before {

    font-size: 60px;

    letter-spacing: 3px
  }



  .p-movie .p-movie__lead-button {

    margin-top: 30px;

    text-align: center
  }



  .p-movie .p-movie__img {

    width: 100%;

    margin-top: 30px
  }



  .p-movie .p-movie__title-medium {

    margin-top: 40px;

    border-radius: 48px
  }



  .p-movie .p-movie__list {

    display: block;

    margin-top: 30px
  }



  .p-movie .p-movie__list::before {

    display: none
  }



  .p-movie .p-movie__list .p-movie__list-item {

    width: 90%;

    margin-right: auto;

    margin-left: auto
  }



  .p-movie .p-movie__list .p-movie__list-item+.p-movie__list-item {

    margin-top: 30px
  }



  .p-movie .p-movie__child-article-list {

    flex-wrap: wrap;

    gap: 20px
  }



  .p-movie .p-movie__child-article-list .p-movie__child-article-list-item {

    width: calc(50% - 10px)
  }



  .p-movie .p-movie__child-article-list .p-movie__child-article-list-item img {

    width: 100%
  }



  .p-movie .p-movie__child-article-list .p-movie__child-article-list-item p {

    line-height: 1.45;

    margin-top: 8px;

    font-size: 13px
  }



  .p-movie .p-movie__child-button-list {

    flex-direction: column;

    align-items: center;

    gap: 15px 0;

    margin-bottom: 50px
  }



  .p-movie .p-movie__child-button-list .p-movie__child-button-list-item {

    width: 100%
  }



  .p-movie .wp-block-media-text__content {

    margin-top: 10px
  }

}



.p-goods .p-goods__lead {

  margin-top: 100px
}



.p-goods .p-goods__list {

  margin-top: 50px
}



.p-goods .p-goods__list .p-goods__list-item {

  display: flex;

  padding: 20px;

  background-color: var(--baige-pale)
}



.p-goods .p-goods__list .p-goods__list-item+.p-goods__list-item {

  margin-top: 25px
}



.p-goods .p-goods__list .p-goods__list-img {

  flex-shrink: 0;

  width: 315px;

  margin-right: 20px
}



.p-goods .p-goods__list .p-goods__list-detail {

  flex: auto
}



.p-goods .p-goods__list .p-goods__list-title {

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-goods .p-goods__list .p-goods__list-price {

  margin-top: 5px;

  color: var(--accent-color);

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-goods .p-goods__list .p-goods__list-description {

  line-height: 1.8;

  margin-top: 25px
}



.p-goods .p-goods__list .p-goods__list-button {

  margin-top: 25px
}



.p-goods .p-goods__list .p-goods__list-button.c-common-button a {

  width: 250px
}



@media screen and (max-width: 896px) {

  .p-goods .p-goods__lead {

    margin-top: 60px
  }



  .p-goods .p-goods__list {

    margin-top: 30px
  }



  .p-goods .p-goods__list .p-goods__list-item {

    display: block
  }



  .p-goods .p-goods__list .p-goods__list-item+.p-goods__list-item {

    margin-top: 30px
  }



  .p-goods .p-goods__list .p-goods__list-img {

    width: 100%;

    margin-right: 0
  }



  .p-goods .p-goods__list .p-goods__list-detail {

    margin-top: 20px
  }



  .p-goods .p-goods__list .p-goods__list-title {

    line-height: 1.5;

    font-size: 20px
  }



  .p-goods .p-goods__list .p-goods__list-price {

    margin-top: 15px
  }



  .p-goods .p-goods__list .p-goods__list-description {

    line-height: 1.6;

    margin-top: 20px
  }



  .p-goods .p-goods__list .p-goods__list-button {

    margin-top: 20px;

    text-align: center
  }

}



.p-rookie {

  width: 100%
}



.p-rookie .p-rookie__mv {

  position: relative;

  padding-top: .1px;

  background-image: linear-gradient(90deg, #CEC6B7 0%, #CEC6B7 50%, var(--baige) 50%, var(--baige) 100%);

  text-align: center
}



.p-rookie .p-rookie__mv .p-rookie__mv-logo {

  margin-top: 6px
}



.p-rookie .p-rookie__mv .p-rookie__mv-logo img {

  width: 100%;

  max-width: 326px
}



.p-rookie .p-rookie__mv .p-rookie__mv-img {

  margin-top: 23px;

  padding: 0 50px 0 95px
}



.p-rookie .p-rookie__mv .p-rookie__mv-img img {

  width: 100%;

  max-width: 1256px
}



.p-rookie .p-rookie__mv .p-rookie__mv-catch {

  position: absolute;

  left: 0;

  bottom: 0;

  width: 100%;

  line-height: 1.55;

  max-width: calc(100% - (50% - 638px));

  padding: min(30px, 2vw) 0 min(30px, 2vw) calc(50% - 638px);

  background-color: #181f3c;

  color: #fff;

  font-size: min(36px, 2.7vw);

  font-family: var(--font-serif);

  font-weight: bold;

  text-align: left;

  transform: translateY(50%)
}



.p-rookie .p-rookie__lead {

  position: relative;

  width: 100%;

  margin: 175px 0 150px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-rookie .p-rookie__lead p {

  padding-right: calc(50% + 25px)
}



.p-rookie .p-rookie__lead .p-rookie__lead-catch {

  line-height: 1.9;

  font-size: 22px
}



.p-rookie .p-rookie__lead .p-rookie__lead-concept {

  margin-top: 50px;

  font-size: 22px
}



.p-rookie .p-rookie__lead .p-rookie__lead-effort {

  line-height: 1;

  margin-top: 20px;

  font-size: 38px
}



.p-rookie .p-rookie__lead .p-rookie__lead-effort-marker {

  background-image: linear-gradient(transparent 65%, #D2B471 0%)
}



.p-rookie .p-rookie__lead .p-rookie__lead-closing {

  line-height: 1.88;

  margin-top: 50px;

  font-size: 18px
}



.p-rookie .p-rookie__lead .p-rookie__lead-img {

  position: absolute;

  bottom: -37px;

  left: calc(50% + 47px)
}



.p-rookie .p-rookie__lead .p-rookie__lead-img img {

  width: min(591px, 43.26vw);

  filter: drop-shadow(0 20px 35px rgba(0, 0, 0, 0.5))
}



.p-rookie .p-rookie__lead .p-rookie__lead-img::before {

  content: "";

  position: absolute;

  bottom: 105px;

  left: -46px;

  width: 100vw;

  height: min(300px, 17vw);

  background-color: #b9af9b;

  user-select: none;

  pointer-events: none
}



.p-rookie .p-rookie__buy {

  position: relative;

  z-index: 1;

  width: 100%;

  padding-top: 60px;

  text-align: center
}



.p-rookie .p-rookie__buy::before {

  content: "";

  position: absolute;

  top: 0;

  left: 0;

  width: 100vw;

  height: min(360px, 26.35vw);

  background-color: var(--baige);

  user-select: none;

  pointer-events: none
}



.p-rookie .p-rookie__buy.p-rookie__buy--grid {

  background-image: url(../images/common/bg_grid.png);

  background-size: 10px 10px;

  background-position: left bottom
}



.p-rookie .p-rookie__buy .p-rookie__buy-title {

  color: var(--accent-color);

  font-size: 40px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-rookie .p-rookie__buy .p-rookie__buy-deco {

  position: absolute;

  top: -83px;

  left: 0;

  padding-left: calc(50% - 608px)
}



.p-rookie .p-rookie__buy .p-rookie__buy-deco img {

  width: 100%;

  max-width: 248px
}



.p-rookie .p-rookie__buy .p-rookie__banners {

  display: flex;

  gap: 0 26px;

  margin-top: 40px
}



.p-rookie .p-rookie__buy .p-rookie__banners .p-rookie__banner {

  width: 34%
}



.p-rookie .p-rookie__buy .p-rookie__banners .p-rookie__banner a {

  transition: opacity .3s
}



.p-rookie .p-rookie__buy .p-rookie__banners .p-rookie__banner a:hover {

  opacity: .7
}



.p-rookie .p-rookie__buy .p-rookie__banners .p-rookie__banner img {

  width: 100%
}



.p-rookie .p-rookie__buy .p-rookie__buy-att {

  margin-top: 20px
}



.p-rookie .p-rookie__detail {

  position: relative;

  padding: 81px 0 100px;

  background-image: url(../images/common/bg_grid.png);

  background-size: 10px 10px;

  background-position: left top
}



.p-rookie .p-rookie__detail::before {

  content: "";

  position: absolute;

  top: 21px;

  right: calc(50% - 690px);

  width: 313px;

  height: 229px;

  background-image: url(../images/rookie/deco_pen.png);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center
}



.p-rookie .p-rookie__detail .p-rookie__detail-title {

  text-align: center
}



.p-rookie .p-rookie__detail .p-rookie__detail-title .p-rookie__detail-title-logo img {

  width: 100%;

  max-width: 326px
}



.p-rookie .p-rookie__detail .p-rookie__detail-title .p-rookie__detail-title-rounded {

  display: block;

  width: 100%;

  max-width: 480px;

  line-height: 40px;

  margin: 14px auto 0;

  border-radius: 20px;

  background-color: var(--baige-dark);

  color: #fff;

  font-size: 18px;

  font-weight: bold
}



.p-rookie .p-rookie__detail .p-rookie__detail-note {

  margin-top: 20px;

  text-align: center
}



.p-rookie .p-rookie__detail .p-rookie__detail-list {

  margin-top: 40px
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-item {

  display: flex;

  padding: 30px;

  border: 4px solid var(--baige-dark);

  background-color: #fff
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-item+.p-rookie__detail-list-item {

  margin-top: 30px
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-txt {

  flex-shrink: 0;

  width: min(424px, 40%);

  margin-right: 41px
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-title {

  line-height: 1.46;

  padding-bottom: 25px;

  border-bottom: 2px solid #e5e1d8;

  font-size: 29px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-description {

  line-height: 1.8;

  margin-top: 30px
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-img {

  position: relative;

  flex: auto
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-img:hover {

  cursor: pointer
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-img::after {

  content: "";

  position: absolute;

  bottom: -20px;

  right: -20px;

  width: 40px;

  height: 40px;

  background-image: url(../images/rookie/icon_zoom.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-img img {

  width: 100%;

  transition: opacity .3s
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-img img:hover {

  opacity: .7
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-modal {

  display: none;

  position: fixed;

  top: 0;

  left: 0;

  z-index: 5;

  width: 100vw;

  height: 100vh;

  padding: 100px;

  background-color: rgba(0, 0, 0, .5)
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-modal img {

  width: 100%;

  height: 100%;

  object-fit: contain
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-modal .p-rookie__detail-list-modal-close {

  position: absolute;

  top: 50px;

  right: 50px;

  color: #fff;

  font-size: 40px;

  font-weight: bold
}



.p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-modal .p-rookie__detail-list-modal-close:hover {

  cursor: pointer
}



.p-rookie .p-rookie__point {

  padding: 100px 0;

  background-color: var(--baige);

  text-align: center
}



.p-rookie .p-rookie__point .p-rookie__point-title01 {

  line-height: 1.5;

  margin-bottom: 50px;

  font-size: 40px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-rookie .p-rookie__point .p-rookie__point-catch {

  line-height: 2.11;

  margin-top: 20px;

  font-size: 17px
}



.p-rookie .p-rookie__point .p-rookie__point-catch--big {

  line-height: 1.2;

  margin-bottom: -10px;

  font-size: 26px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-rookie .p-rookie__point .p-rookie__point-catch-marker01 {

  padding: 0 10px;

  background-image: linear-gradient(transparent 55%, #D2B471 0%)
}



.p-rookie .p-rookie__point .p-rookie__point-catch-marker01+.p-rookie__point-catch-marker01 {

  margin-left: 30px
}



.p-rookie .p-rookie__point .p-rookie__point-catch-marker02 {

  padding: 0 5px;

  background-image: linear-gradient(transparent 10%, #D2B471 0%);

  font-weight: bold
}



.p-rookie .p-rookie__point .p-rookie__point-title02 {

  width: fit-content;

  line-height: 1;

  margin: 65px auto 0;

  padding: 34px 10px 33px 33px;

  background-image: url(../images/rookie/deco_new01.png), url(../images/rookie/deco_new02.svg);

  background-repeat: no-repeat;

  background-position: left top, center bottom;

  background-size: 41px auto, 419px 17px;

  font-size: 40px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-rookie .p-rookie__point .p-rookie__point-list-item {

  line-height: 1.58;

  margin-top: 20px;

  padding: 18px 30px;

  border-radius: 80px;

  background-color: #fff;

  color: var(--accent-gold);

  font-size: 17px
}



.p-rookie .p-rookie__point .p-rookie__point-list-item .p-rookie__point-list-em {

  font-weight: bold
}



.p-rookie .p-rookie__point .p-rookie__point-ingenuity {

  margin-top: 20px
}



.p-rookie .p-rookie__spec {

  padding: 100px 0 60px;

  background-image: url(../images/common/bg_grid.png);

  background-size: 10px 10px
}



.p-rookie .p-rookie__spec .p-rookie__spec-title {

  font-size: 40px;

  font-family: var(--font-serif);

  font-weight: bold;

  text-align: center
}



.p-rookie .p-rookie__spec .p-rookie__spec-table {

  table-layout: fixed;

  width: 100%;

  margin-top: 50px
}



.p-rookie .p-rookie__spec .p-rookie__spec-table th {

  border: 1px solid var(--baige-dark);

  background-color: #cec6b7;

  text-align: center;

  vertical-align: middle
}



.p-rookie .p-rookie__spec .p-rookie__spec-table thead th {

  padding: 15px;

  font-size: 20px;

  font-weight: bold
}



.p-rookie .p-rookie__spec .p-rookie__spec-table thead th:first-child {

  width: 160px
}



.p-rookie .p-rookie__spec .p-rookie__spec-table tbody th {

  width: 160px;

  font-weight: normal
}



.p-rookie .p-rookie__spec .p-rookie__spec-table td {

  padding: 15px;

  border: 1px solid var(--baige-dark);

  background-color: #fff
}



.p-rookie .p-rookie__spec .p-rookie__spec-table td.p-rookie__spec-table-img {

  padding: 0
}



.p-rookie .p-rookie__spec .p-rookie__spec-table td.p-rookie__spec-table-vac {

  vertical-align: middle
}



.p-rookie .p-rookie__spec .p-rookie__spec-table tbody tr:first-child td {

  vertical-align: bottom
}



.p-rookie .p-rookie__spec .p-rookie__spec-table .p-rookie__spec-table-pdf {

  display: inline-block;

  line-height: 26px;

  padding-left: 30px;

  text-decoration: underline;

  background-image: url(../images/common/icon_pdf.svg);

  background-repeat: no-repeat;

  background-size: auto 26px;

  background-position: top left
}



.p-rookie .p-rookie__spec .p-rookie__spec-table .p-rookie__spec-table-pdf:hover {

  text-decoration: none
}



.p-rookie .p-rookie__spec .p-rookie__spec-table-list {

  margin-bottom: 30px
}



.p-rookie .p-rookie__spec .p-rookie__spec-variations {

  display: flex;

  gap: 0 23px;

  margin-top: 40px
}



.p-rookie .p-rookie__spec .p-rookie__spec-variations .p-rookie__spec-variation {

  width: 34%
}



.p-rookie .p-rookie__spec .p-rookie__spec-variations .p-rookie__spec-variation-txt {

  margin-top: 20px;

  font-size: 17px;

  font-weight: bold;

  text-align: center
}



.p-rookie .p-rookie__usage {

  margin-top: 124px;

  padding: 60px 0 100px;

  background-color: var(--baige-pale)
}



.p-rookie .p-rookie__usage .p-rookie__usage-title {

  position: relative;

  line-height: 1.5;

  padding-left: 285px;

  font-size: 40px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-rookie .p-rookie__usage .p-rookie__usage-title::before {

  content: "";

  position: absolute;

  top: -95px;

  left: -16px;

  width: 294px;

  height: 247px;

  background-image: url(../images/rookie/img_usage01.png);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center
}



.p-rookie .p-rookie__usage .p-rookie__usage-list {

  margin-top: 67px
}



.p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-item {

  display: flex;

  padding-right: 30px;

  border-radius: 20px;

  background-color: #fff;

  overflow: hidden
}



.p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-item+.p-rookie__usage-list-item {

  margin-top: 30px
}



.p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-img {

  flex-shrink: 0;

  width: min(345px, 30%);

  margin-right: 30px
}



.p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-img img {

  width: 100%;

  height: 100%;

  object-fit: cover
}



.p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-txt {

  flex: auto
}



.p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-title {

  margin-top: 30px;

  padding-bottom: 20px;

  border-bottom: 1px solid var(--accent-gold);

  color: var(--accent-gold);

  font-size: 26px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-description {

  line-height: 1.8;

  margin: 25px 0 50px
}



.p-rookie .p-rookie__effort {

  padding: 100px 50px 157px 95px;

  background-image: url(../images/rookie/bg_effort.jpg);

  background-size: cover;

  background-position: right bottom;

  font-family: var(--font-serif);

  font-weight: bold;

  text-align: center
}



.p-rookie .p-rookie__effort .p-rookie__effort-title {

  margin-bottom: 60px;

  font-size: 40px
}



.p-rookie .p-rookie__effort .p-rookie__effort-txt {

  line-height: 1.88;

  font-size: 18px
}



.p-rookie .p-rookie__effort .p-rookie__effort-txt+.p-rookie__effort-txt {

  margin-top: 40px
}



.p-rookie .p-rookie__button {

  position: fixed;

  top: 50%;

  right: 0;

  z-index: 4;

  writing-mode: vertical-rl;

  transform: translateY(-50%)
}



.p-rookie .p-rookie__button a {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 190px;

  color: #fff;

  background-color: var(--accent-color);

  font-size: 15px;

  transition: color .5s, background-color .5s
}



.p-rookie .p-rookie__button a:hover {

  color: var(--accent-color);

  background-color: #cec6b7
}



@media screen and (max-width: 896px) {

  .p-rookie .p-rookie__mv {

    padding-bottom: 35px
  }



  .p-rookie .p-rookie__mv .p-rookie__mv-logo {

    margin-top: 40px
  }



  .p-rookie .p-rookie__mv .p-rookie__mv-logo img {

    width: 100%;

    max-width: 210px
  }



  .p-rookie .p-rookie__mv .p-rookie__mv-img {

    margin-top: 15px;

    padding: 0 15px
  }



  .p-rookie .p-rookie__mv .p-rookie__mv-catch {

    width: 80vw;

    line-height: 1.77;

    max-width: none;

    padding: 15px 0 15px 15px;

    font-size: 4.8vw
  }



  .p-rookie .p-rookie__mv .p-rookie__mv-catch p {

    padding: 0
  }



  .p-rookie .p-rookie__lead {

    margin: 29.86vw 0 0
  }



  .p-rookie .p-rookie__lead p {

    padding-right: 0
  }



  .p-rookie .p-rookie__lead .p-rookie__lead-catch {

    line-height: 1.6;

    font-size: 20px
  }



  .p-rookie .p-rookie__lead .p-rookie__lead-concept {

    margin-top: 34x;

    font-size: 20px
  }



  .p-rookie .p-rookie__lead .p-rookie__lead-effort {

    margin-top: 14px;

    font-size: 24px
  }



  .p-rookie .p-rookie__lead .p-rookie__lead-closing {

    margin-top: 35px;

    font-size: 15px
  }



  .p-rookie .p-rookie__lead .p-rookie__lead-img {

    position: relative;

    bottom: 0;

    left: 0;

    width: fit-content;

    padding-right: 24px;

    margin: 40px 0 0 auto
  }



  .p-rookie .p-rookie__lead .p-rookie__lead-img img {

    width: 78.13vw
  }



  .p-rookie .p-rookie__lead .p-rookie__lead-img::before {

    top: 50%;

    bottom: auto;

    right: -9.33vw;

    left: auto;

    height: 39.73vw;

    transform: translateY(-50%)
  }



  .p-rookie .p-rookie__buy {

    padding-top: 60px
  }



  .p-rookie .p-rookie__buy.p-rookie__buy--grid {

    margin-top: 79px;

    padding-top: 78px
  }



  .p-rookie .p-rookie__buy::before {

    width: 100vw;

    height: 256vw
  }



  .p-rookie .p-rookie__buy .p-rookie__buy-title {

    font-size: 25px
  }



  .p-rookie .p-rookie__buy .p-rookie__buy-deco {

    top: -39px;

    padding-left: 15px
  }



  .p-rookie .p-rookie__buy .p-rookie__buy-deco img {

    width: 118px
  }



  .p-rookie .p-rookie__buy .p-rookie__banners {

    display: block;

    margin-top: 35px
  }



  .p-rookie .p-rookie__buy .p-rookie__banners .p-rookie__banner {

    width: 100%
  }



  .p-rookie .p-rookie__buy .p-rookie__banners .p-rookie__banner+.p-rookie__banner {

    margin-top: 35px
  }



  .p-rookie .p-rookie__detail {

    padding: 87px 0 60px
  }



  .p-rookie .p-rookie__detail::before {

    top: 0;

    right: 2px;

    width: 123px;

    height: 90px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-title .p-rookie__detail-title-logo img {

    max-width: 218px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-title .p-rookie__detail-title-rounded {

    max-width: 305px;

    margin: 23px auto 0
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list {

    margin-top: 30px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-item {

    display: block;

    padding: 20px 20px 37px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-txt {

    width: 100%;

    margin-right: 0
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-title {

    line-height: 1.5;

    padding-bottom: 20px;

    font-size: 20px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-description {

    margin-top: 20px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-img {

    margin-top: 20px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-img::after {

    bottom: -18px;

    right: -10px;

    width: 36px;

    height: 36px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-modal {

    padding: 15px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-modal .p-rookie__detail-list-modal-close {

    top: 0;

    right: 15px
  }



  .p-rookie .p-rookie__detail .p-rookie__detail-list .p-rookie__detail-list-modal img {

    position: absolute;

    left: 50%;

    top: 50%;

    width: fit-content;

    height: auto;

    max-width: calc(100% - 30px);

    max-height: calc(100% - 30px);

    transform: translate(-50%, -50%)
  }



  .p-rookie .p-rookie__point {

    padding: 60px 0
  }



  .p-rookie .p-rookie__point .p-rookie__point-title01 {

    line-height: 1.36;

    margin-bottom: 30px;

    font-size: 25px
  }



  .p-rookie .p-rookie__point .p-rookie__point-catch {

    line-height: 1.8;

    margin-top: 30px;

    font-size: 15px
  }



  .p-rookie .p-rookie__point .p-rookie__point-catch--big {

    line-height: 2;

    margin-bottom: 0;

    font-size: 22px
  }



  .p-rookie .p-rookie__point .p-rookie__point-catch-marker01 {

    padding: 0 7px
  }



  .p-rookie .p-rookie__point .p-rookie__point-catch-marker01+.p-rookie__point-catch-marker01 {

    margin-left: 0
  }



  .p-rookie .p-rookie__point .p-rookie__point-title02 {

    padding: 20px 7px 17px 20px;

    background-size: 30px auto, 234px 9px;

    font-size: 22px
  }



  .p-rookie .p-rookie__point .p-rookie__point-list-item {

    line-height: 1.47;

    padding: 20px
  }



  .p-rookie .p-rookie__point .p-rookie__point-list-item .p-rookie__point-list-em {

    display: block;

    margin-bottom: 15px
  }



  .p-rookie .p-rookie__spec {

    padding: 60px 0
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-title {

    font-size: 25px
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-table {

    margin-top: 30px;

    border: 1px solid var(--baige-dark)
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-table .p-rookie__spec-label {

    padding: 10px;

    background-color: #cec6b7;

    font-weight: normal;

    text-align: center
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-table .p-rookie__spec-label.p-rookie__spec-label--big {

    font-size: 20px;

    font-weight: bold
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-table .p-rookie__spec-detail {

    line-height: 1.8;

    padding: 20px 15px;

    background-color: #fff
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-table .p-rookie__spec-detail.p-rookie__spec-detail--img {

    padding: 0
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-variations {

    display: block;

    margin-top: 0
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-variations .p-rookie__spec-variation {

    display: flex;

    flex-direction: column-reverse;

    width: 80%;

    margin: 30px auto 0
  }



  .p-rookie .p-rookie__spec .p-rookie__spec-variations .p-rookie__spec-variation-txt {

    line-height: 1.41;

    margin: 0 0 10px
  }



  .p-rookie .p-rookie__usage {

    margin-top: 30.4vw;

    padding: 28vw 0 60px
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-title {

    line-height: 1.45;

    padding-left: 0;

    font-size: 22px;

    text-align: center
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-title::before {

    top: -42.4vw;

    left: 50%;

    width: 44vw;

    height: 37.06vw;

    transform: translateX(-50%)
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-list {

    margin-top: 30px
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-item {

    display: block;

    padding-right: 0
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-img {

    width: 100%;

    margin-right: 0
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-img img {

    height: 58.66vw
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-txt {

    padding: 20px
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-title {

    margin-top: 0;

    font-size: 20px
  }



  .p-rookie .p-rookie__usage .p-rookie__usage-list .p-rookie__usage-list-description {

    line-height: 1.6;

    margin: 20px 0 0
  }



  .p-rookie .p-rookie__effort {

    padding: 60px 15px 80.53vw;

    background-image: url(../images/rookie/bg_effort_sp.jpg);

    font-family: var(--font-serif)
  }



  .p-rookie .p-rookie__effort .p-rookie__effort-title {

    margin-bottom: 30px;

    font-size: 22px
  }



  .p-rookie .p-rookie__effort .p-rookie__effort-txt {

    line-height: 2;

    font-size: 15px
  }



  .p-rookie .p-rookie__effort .p-rookie__effort-txt+.p-rookie__effort-txt {

    margin-top: 30px
  }



  .p-rookie .p-rookie__button {

    position: fixed;

    top: auto;

    right: auto;

    bottom: 0;

    left: 0;

    z-index: 4;

    writing-mode: horizontal-tb;

    transform: none;

    display: none;

    width: 100%
  }



  .p-rookie .p-rookie__button a {

    width: 100%;

    height: 70px
  }

}



.p-demo {

  position: relative;

  width: 100%
}



.p-demo .p-demo__breadcrumb-wrap {

  position: absolute;

  top: 0;

  left: 0;

  z-index: 1;

  width: 100%
}



.p-demo .c-title__child {

  padding-top: 110px
}



.p-demo .p-demo__title {

  line-height: 1.5;

  font-size: 40px;

  font-family: var(--font-serif);

  text-align: center
}



.p-demo .p-demo__lead {

  background-image: url(../images/demo/bg_lead.jpg);

  background-repeat: no-repeat;

  background-position: center top;

  background-size: cover
}



.p-demo .p-demo__lead .p-demo__lead-cnt {

  width: 560px;

  margin: 0 auto;

  padding: 93px 0;

  background-color: rgba(100, 0, 0, .9);

  color: #fff;

  text-align: center
}



.p-demo .p-demo__lead .p-demo__lead-title {

  font-size: 34px;

  font-family: var(--font-serif)
}



.p-demo .p-demo__lead .p-demo__lead-title img {

  width: 70px
}



.p-demo .p-demo__lead .p-demo__lead-txt {

  line-height: 2.23;

  margin-top: 40px;

  font-size: 17px
}



.p-demo .p-demo__program {

  margin-top: 100px
}



.p-demo .p-demo__program .p-demo__program-list {

  display: flex;

  flex-wrap: wrap;

  gap: 30px 30px;

  margin-top: 40px
}



.p-demo .p-demo__program .p-demo__program-list-item {

  width: calc(50% - 15px);

  background-color: var(--baige)
}



.p-demo .p-demo__program .p-demo__program-list-title {

  position: relative;

  width: calc(100% - 100px);

  line-height: 50px;

  margin: -25px auto 0;

  border-radius: 25px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 26px;

  font-family: var(--font-serif);

  text-align: center
}



.p-demo .p-demo__program .p-demo__program-list-txt {

  line-height: 1.8;

  padding: 30px 20px
}



.p-demo .p-demo__program .p-demo__program-table {

  width: 100%;

  margin-top: 30px
}



.p-demo .p-demo__program .p-demo__program-table th,

.p-demo .p-demo__program .p-demo__program-table td {

  padding: 20px;

  border-top: 1px solid #b9af9b;

  border-bottom: 1px solid #b9af9b
}



.p-demo .p-demo__program .p-demo__program-table th {

  background-color: #ece9e2;

  font-weight: normal
}



.p-demo .p-demo__program .p-demo__program-atts {

  margin-top: 20px;

  font-weight: bold
}



.p-demo .p-demo__program .p-demo__program-atts .p-demo__program-att+.p-demo__program-att {

  margin-top: 10px
}



.p-demo .p-demo__bg-baige {

  margin-top: 100px;

  padding-top: 100px;

  background-color: var(--baige-pale)
}



.p-demo .p-demo__reason {

  position: relative
}



.p-demo .p-demo__reason .p-demo__reason-txt {

  position: relative;

  line-height: 2.11;

  margin-top: 130px;

  padding-right: min(49vw, 650px);

  color: #fff;

  font-size: 17px
}



.p-demo .p-demo__reason .p-demo__reason-txt::before {

  content: "";

  position: absolute;

  top: -80px;

  right: calc(50% - 200px);

  z-index: 0;

  width: 100vw;

  height: calc(100% + 160px);

  background-color: var(--accent-gold);

  user-select: none;

  pointer-events: none
}



.p-demo .p-demo__reason .p-demo__reason-txt .p-demo__reason-detail+.p-demo__reason-detail {

  margin-top: 45px
}



.p-demo .p-demo__reason .p-demo__reason-img {

  position: absolute;

  bottom: -130px;

  left: calc(50% + 40px);

  width: min(660px, 50%)
}



.p-demo .p-demo__reason .p-demo__reason-img img {

  position: relative;

  z-index: 2
}



.p-demo .p-demo__reason .p-demo__reason-img::after {

  content: "";

  position: absolute;

  bottom: max(-33px, -2vw);

  left: max(-33px, -2vw);

  z-index: 1;

  width: 100%;

  height: 100%;

  background-image: url(../images/common/bg_dot.png);

  background-size: 19px auto
}



.p-demo .p-demo__teacher {

  margin-top: min(250px, 25vw)
}



.p-demo .p-demo__teacher .p-demo__teacher-list {

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 25px 26px;

  margin-top: 50px
}



.p-demo .p-demo__teacher .p-demo__teacher-list-item {

  position: relative;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  min-width: calc(33.3% - 18px);

  line-height: 1.8;

  padding: 25px 20px;

  border-radius: 10px;

  background-color: #fff;

  font-weight: bold;

  text-align: center
}



.p-demo .p-demo__teacher .p-demo__teacher-list-item::after {

  content: "";

  position: absolute;

  top: -10px;

  left: 20px;

  width: 26px;

  height: 20px;

  background-image: url(../images/common/icon_quote.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center
}



.p-demo .p-demo__teacher .p-demo__teacher-txt {

  line-height: 2;

  margin-top: 30px;

  font-size: 20px;

  font-weight: bold;

  text-align: center
}



.p-demo .p-demo__matching {

  margin-top: 120px
}



.p-demo .p-demo__matching .p-demo__matching-cnt {

  position: relative
}



.p-demo .p-demo__matching .p-demo__matching-txt {

  position: relative;

  margin-top: 130px;

  padding-left: min(42vw, 500px)
}



.p-demo .p-demo__matching .p-demo__matching-txt::before {

  content: "";

  position: absolute;

  top: -80px;

  left: calc(50% - 420px);

  width: 100vw;

  height: calc(100% + 160px);

  background-color: #d9d3c7;

  user-select: none;

  pointer-events: none
}



.p-demo .p-demo__matching .p-demo__matching-txt .p-demo__matching-detail {

  line-height: 2.11;

  font-size: 17px
}



.p-demo .p-demo__matching .p-demo__matching-txt .p-demo__matching-detail+.p-demo__matching-detail {

  margin-top: 45px
}



.p-demo .p-demo__matching .p-demo__matching-img {

  position: absolute;

  top: 50%;

  left: calc(50% - min(690px, 49vw));

  width: min(486px, 37%);

  transform: translateY(-50%)
}



.p-demo .p-demo__matching .p-demo__matching-img::after {

  content: "";

  position: absolute;

  top: min(33px, 2vw);

  left: min(33px, 2vw);

  z-index: 1;

  width: 100%;

  height: 100%;

  background-image: url(../images/common/bg_dot.png);

  background-size: 19px auto
}



.p-demo .p-demo__matching .p-demo__matching-img div {

  position: relative;

  z-index: 3
}



.p-demo .p-demo__matching .p-demo__matching-img img {

  position: relative;

  z-index: 2
}



.p-demo .p-demo__point {

  position: relative;

  margin-top: 200px
}



.p-demo .p-demo__point::before {

  content: "";

  position: absolute;

  bottom: 0;

  left: 50%;

  z-index: 0;

  width: 100vw;

  height: 355px;

  background-image: url(../images/common/bg_dot.png);

  background-size: 19px auto;

  transform: translateX(-50%);

  user-select: none;

  pointer-events: none
}



.p-demo .p-demo__point .p-demo__point-cnt {

  display: flex;

  align-items: flex-end;

  justify-content: flex-end;

  margin-top: 58px
}



.p-demo .p-demo__point .p-demo__point-list {

  margin-bottom: 100px;

  counter-reset: point
}



.p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-item {

  display: flex;

  align-items: center;

  padding: 10px 23px;

  border-radius: 10px;

  background-color: var(--accent-color);

  counter-increment: point
}



.p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-item+.p-demo__point-list-item {

  margin-top: 17px
}



.p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-label {

  margin-right: 20px;

  padding-right: 20px;

  border-right: 1px solid #cec6b7;

  color: #cec6b7;

  font-family: var(--font-en);

  font-size: 18px;

  text-align: center;

  letter-spacing: 1px
}



.p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-label::after {

  content: "0" counter(point);

  display: block;

  line-height: 1;

  font-size: 46px;

  font-weight: bold
}



.p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-txt {

  line-height: 1.54;

  color: #fff;

  font-size: 22px;

  font-weight: bold
}



.p-demo .p-demo__point .p-demo__point-img {

  flex-shrink: 0;

  width: min(474px, 50%);

  margin-left: 30px
}



.p-demo .p-demo__flow {

  padding: 100px 0;

  background-color: #d9d3c7
}



.p-demo .p-demo__flow .p-demo__flow-list {

  position: relative;

  display: flex;

  gap: 0 18px;

  margin-top: 72px;

  counter-reset: flow
}



.p-demo .p-demo__flow .p-demo__flow-list::before {

  content: "";

  position: absolute;

  top: 50%;

  left: 0;

  width: 100%;

  height: 10px;

  background-color: #b9af9b;

  transform: translateY(-50%)
}



.p-demo .p-demo__flow .p-demo__flow-list-item {

  position: relative;

  width: 17%;

  padding: 46px 10px 10px;

  border-radius: 10px;

  background-color: #fff;

  text-align: center;

  counter-increment: flow
}



.p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(1) .p-demo__flow-list-img img {

  max-width: 119px
}



.p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(2) .p-demo__flow-list-img img {

  max-width: 135px
}



.p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(3) .p-demo__flow-list-img img {

  max-width: 76px
}



.p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(4) .p-demo__flow-list-img img {

  max-width: 97px
}



.p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(5) .p-demo__flow-list-img img {

  max-width: 122px
}



.p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(6) .p-demo__flow-list-img img {

  max-width: 115px
}



.p-demo .p-demo__flow .p-demo__flow-list-num {

  position: absolute;

  top: -33px;

  left: 50%;

  transform: translateX(-50%);

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 64px;

  border-radius: 32px;

  background-color: var(--accent-gold);

  color: #fff;

  font-family: var(--font-en);

  text-align: center;

  letter-spacing: 1px
}



.p-demo .p-demo__flow .p-demo__flow-list-num::after {

  content: "0" counter(flow);

  line-height: 1;

  font-size: 28px;

  font-weight: bold
}



.p-demo .p-demo__flow .p-demo__flow-list-txt {

  flex-grow: 1;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  min-height: 82px;

  font-size: 17px;

  font-weight: bold
}



.p-demo .p-demo__flow .p-demo__flow-list-txt a {

  text-decoration: underline
}



.p-demo .p-demo__flow .p-demo__flow-list-txt a:hover {

  text-decoration: none
}



.p-demo .p-demo__flow .p-demo__flow-list-img {

  display: flex;

  align-items: center;

  justify-content: center;

  min-height: 137px;

  margin-top: 15px
}



.p-demo .p-demo__flow .p-demo__flow-list-img img {

  width: 100%
}



.p-demo .p-demo__flow .p-demo__flow-att {

  line-height: 1.8;

  margin-top: 22px;

  padding-left: 1em;

  text-indent: -1em
}



.p-demo .p-demo__form {

  margin-top: 100px
}



.p-demo .p-demo__form .p-demo__form-lead {

  line-height: 1.8;

  margin-top: 40px;

  text-align: center
}



.p-demo .p-demo__form .p-demo__form-tel {

  display: flex;

  align-items: center;

  justify-content: center;

  width: fit-content;

  margin: 30px auto 60px;

  padding: 21px 40px;

  background-color: var(--baige);

  font-weight: bold
}



.p-demo .p-demo__form .p-demo__form-tel img {

  width: 28px;

  margin: 0 10px 0 20px
}



.p-demo .p-demo__form .p-demo__form-tel .p-demo__form-tel-label {

  font-size: 19px
}



.p-demo .p-demo__form .p-demo__form-tel .p-demo__form-tel-num {

  font-size: 24px;

  font-family: var(--font-en)
}



.p-demo .p-demo__button {

  position: fixed;

  top: 50%;

  right: 0;

  z-index: 4;

  writing-mode: vertical-rl;

  transform: translateY(-50%)
}



.p-demo .p-demo__button a {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 285px;

  background-color: var(--accent-gold);

  color: #fff;

  font-size: 15px;

  transition: opacity .3s
}



.p-demo .p-demo__button a:hover {

  opacity: .7
}



.p-demo .p-demo__button .p-request__thanks {

  margin-bottom: 100px
}



.p-demo input[type=text].long,

.p-demo input[type=email].long {

  width: 100%
}



@media screen and (max-width: 896px) {

  .p-demo .p-demo__breadcrumb-wrap {

    position: absolute;

    top: 0;

    left: 0;

    z-index: 1;

    width: 100%
  }



  .p-demo .c-title__child {

    padding-top: 66px
  }



  .p-demo .c-title__child .c-title__child-ja {

    font-size: 23px
  }



  .p-demo .p-demo__title {

    line-height: 1.36;

    font-size: 24px
  }



  .p-demo .p-demo__lead {

    padding-bottom: 53.33vw;

    background-image: url(../images/demo/bg_lead_sp.jpg);

    background-position: center bottom;

    background-size: 100% auto
  }



  .p-demo .p-demo__lead .p-demo__lead-cnt {

    width: 100%;

    padding: 40px 0
  }



  .p-demo .p-demo__lead .p-demo__lead-title {

    font-size: 28px
  }



  .p-demo .p-demo__lead .p-demo__lead-title img {

    width: 65px
  }



  .p-demo .p-demo__lead .p-demo__lead-txt {

    line-height: 2;

    margin-top: 30px;

    font-size: 15px
  }



  .p-demo .p-demo__program {

    margin-top: 60px
  }



  .p-demo .p-demo__program .p-demo__program-list {

    display: block;

    margin-top: 0
  }



  .p-demo .p-demo__program .p-demo__program-list-item {

    width: 100%;

    margin-top: 30px
  }



  .p-demo .p-demo__program .p-demo__program-list-title {

    width: calc(100% - 40px);

    line-height: 40px;

    margin: -20px auto 0;

    font-size: 20px
  }



  .p-demo .p-demo__program .p-demo__program-list-txt {

    line-height: 1.6;

    padding: 20px 15px
  }



  .p-demo .p-demo__program .p-demo__program-table th {

    white-space: nowrap;

    vertical-align: middle
  }



  .p-demo .p-demo__program .p-demo__program-table th,

  .p-demo .p-demo__program .p-demo__program-table td {

    padding: 15px
  }



  .p-demo .p-demo__program .p-demo__program-atts {

    margin-top: 0
  }



  .p-demo .p-demo__program .p-demo__program-atts .p-demo__program-att {

    margin-top: 20px
  }



  .p-demo .p-demo__bg-baige {

    margin-top: 60px;

    padding-top: 60px
  }



  .p-demo .p-demo__reason .p-demo__reason-txt {

    line-height: 1.8;

    margin-top: 60px;

    padding-right: 30px;

    font-size: 15px
  }



  .p-demo .p-demo__reason .p-demo__reason-txt::before {

    top: -30px;

    right: 15px;

    height: calc(100% + 41.33vw)
  }



  .p-demo .p-demo__reason .p-demo__reason-txt .p-demo__reason-detail+.p-demo__reason-detail {

    margin-top: 35px
  }



  .p-demo .p-demo__reason .p-demo__reason-img {

    right: 0;

    bottom: -58.66vw;

    left: auto;

    width: 82.66vw
  }



  .p-demo .p-demo__reason .p-demo__reason-img::after {

    bottom: -4.53vw;

    left: -4.53vw;

    background-size: 10px auto
  }



  .p-demo .p-demo__teacher {

    margin-top: 81.33vw
  }



  .p-demo .p-demo__teacher .p-demo__teacher-list {

    display: block;

    margin-top: 40px
  }



  .p-demo .p-demo__teacher .p-demo__teacher-list-item {

    min-width: 0;

    line-height: 1.6;

    padding: 15px 20px
  }



  .p-demo .p-demo__teacher .p-demo__teacher-list-item+.p-demo__teacher-list-item {

    margin-top: 20px
  }



  .p-demo .p-demo__teacher .p-demo__teacher-txt {

    line-height: 1.76;

    font-size: 16px
  }



  .p-demo .p-demo__matching {

    margin-top: 60px
  }



  .p-demo .p-demo__matching .p-demo__matching-txt {

    margin-top: 81.33vw;

    padding-left: 30px
  }



  .p-demo .p-demo__matching .p-demo__matching-txt::before {

    top: -45.33vw;

    left: 15px;

    height: calc(100% + 30px + 45.33vw)
  }



  .p-demo .p-demo__matching .p-demo__matching-txt .p-demo__matching-detail {

    line-height: 1.8;

    font-size: 15px
  }



  .p-demo .p-demo__matching .p-demo__matching-txt .p-demo__matching-detail+.p-demo__matching-detail {

    margin-top: 30px
  }



  .p-demo .p-demo__matching .p-demo__matching-img {

    top: -69.33vw;

    left: 0;

    width: 82.66vw;

    transform: none
  }



  .p-demo .p-demo__matching .p-demo__matching-img::after {

    top: auto;

    right: -4.53vw;

    bottom: -4.53vw;

    left: auto;

    background-size: 10px auto
  }



  .p-demo .p-demo__point {

    margin-top: 90px
  }



  .p-demo .p-demo__point::before {

    bottom: 0;

    left: 0;

    height: 39.73vw;

    background-size: 10px auto;

    transform: none
  }



  .p-demo .p-demo__point .p-demo__point-cnt {

    display: block;

    margin-top: 30px
  }



  .p-demo .p-demo__point .p-demo__point-list {

    margin-bottom: 15px
  }



  .p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-item {

    padding: 7px 15px
  }



  .p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-item+.p-demo__point-list-item {

    margin-top: 15px
  }



  .p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-label {

    margin-right: 15px;

    padding-right: 15px;

    font-size: 16px
  }



  .p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-label::after {

    font-size: 40px
  }



  .p-demo .p-demo__point .p-demo__point-list .p-demo__point-list-txt {

    font-size: 18px
  }



  .p-demo .p-demo__point .p-demo__point-img {

    width: 68.8vw;

    margin: 0 auto
  }



  .p-demo .p-demo__point .p-demo__point-img img {

    transform: translateX(6vw)
  }



  .p-demo .p-demo__flow {

    padding: 60px 0
  }



  .p-demo .p-demo__flow .p-demo__flow-list {

    display: block;

    margin-top: 63px
  }



  .p-demo .p-demo__flow .p-demo__flow-list::before {

    top: 100px;

    left: 50%;

    width: 10px;

    height: calc(100% - 200px);

    transform: translateX(-50%)
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item {

    width: 100%;

    padding: 46px 15px 15px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item+.p-demo__flow-list-item {

    margin-top: 48px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(1) .p-demo__flow-list-img img {

    max-width: 94px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(2) .p-demo__flow-list-img img {

    max-width: 103px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(3) .p-demo__flow-list-img img {

    max-width: 63px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(4) .p-demo__flow-list-img img {

    max-width: 77px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(5) .p-demo__flow-list-img img {

    max-width: 92px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-item:nth-child(6) .p-demo__flow-list-img img {

    max-width: 92px
  }



  .p-demo .p-demo__flow .p-demo__flow-list-txt {

    display: block;

    min-height: 0
  }



  .p-demo .p-demo__flow .p-demo__flow-list-img {

    display: block;

    min-height: 0;

    margin: 15px auto 0;

    text-align: center
  }



  .p-demo .p-demo__flow .p-demo__flow-att {

    line-height: 1.6;

    margin-top: 30px
  }



  .p-demo .p-demo__form {

    margin-top: 60px
  }



  .p-demo .p-demo__form .p-demo__form-lead {

    line-height: 1.6;

    margin-top: 30px
  }



  .p-demo .p-demo__form .p-demo__form-tel {

    display: block;

    margin: 30px auto 50px;

    padding: 10px 50px 9px;

    text-align: center
  }



  .p-demo .p-demo__form .p-demo__form-tel img {

    width: 24px;

    margin: 0 7px 0 0;

    vertical-align: sub
  }



  .p-demo .p-demo__form .p-demo__form-tel .p-demo__form-tel-label {

    display: block;

    font-size: 18px;

    margin-bottom: 6px
  }



  .p-demo .p-demo__form .p-demo__form-tel .p-demo__form-tel-num {

    display: inline;

    font-size: 22px
  }



  .p-demo .p-demo__button {

    position: fixed;

    top: auto;

    right: auto;

    bottom: 0;

    left: 0;

    display: none;

    width: 100%;

    writing-mode: horizontal-tb;

    transform: none
  }



  .p-demo .p-demo__button a {

    width: 100%;

    height: 70px;

    text-align: center
  }



  .p-demo .p-demo__button .p-request__thanks {

    margin-bottom: 60px
  }

}



.p-download .p-download__lead {

  line-height: 1.8;

  text-align: center
}



.p-download .p-download__list {

  display: flex;

  flex-wrap: wrap;

  gap: 26px 26px;

  margin-top: 40px
}



.p-download .p-download__list .p-download__list-item {

  width: calc(33.3% - 18px)
}



.p-download .p-download__list .p-download__list-item a {

  display: block;

  height: 100%;

  padding: 15px 15px 20px;

  border: 1px solid #e5e1d8;

  transition: background-color .3s
}



.p-download .p-download__list .p-download__list-item a:hover {

  background-color: var(--baige-pale)
}



.p-download .p-download__list .p-download__list-item .p-download__list-img img {

  width: 100%;

  aspect-ratio: 315/222;

  object-fit: cover
}



.p-download .p-download__list .p-download__list-item .p-download__list-title {

  margin-top: 20px;

  font-size: 17px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-download .p-download__list .p-download__list-item .p-download__list-overview {

  line-height: 1.46;

  margin-top: 15px
}



.p-download .p-download__list .p-download__list-item .p-download__list-points {

  margin-top: 20px
}



.p-download .p-download__list .p-download__list-item .p-download__list-points .p-download__list-point {

  line-height: 1.46;

  padding-left: 20px;

  text-indent: -20px
}



.p-download .p-download__list .p-download__list-item .p-download__list-points .p-download__list-point::before {

  content: "";

  display: inline-block;

  width: 10px;

  height: 10px;

  margin-right: 10px;

  border-radius: 5px;

  background-color: var(--accent-gold)
}



.p-download .p-download__list .p-download__list-item .p-download__list-points .p-download__list-point+.p-download__list-point {

  margin-top: 10px
}



.p-download .p-download__child {

  display: flex;

  justify-content: space-between;

  margin-top: 100px
}



.p-download .p-download__child .p-download__child-article {

  margin-right: min(80px, 6vw)
}



.p-download .p-download__child .p-download__child-overview {

  line-height: 1.8
}



.p-download .p-download__child .p-download__child-overview+.p-download__child-points {

  margin-top: 40px
}



.p-download .p-download__child .p-download__child-point {

  line-height: 1.46;

  padding-left: 20px;

  text-indent: -20px
}



.p-download .p-download__child .p-download__child-point::before {

  content: "";

  display: inline-block;

  width: 10px;

  height: 10px;

  margin-right: 10px;

  border-radius: 5px;

  background-color: var(--accent-gold)
}



.p-download .p-download__child .p-download__child-point+.p-download__child-point {

  margin-top: 15px
}



.p-download .p-download__child .p-download__child-img {

  margin-top: 38px
}



.p-download .p-download__child .p-download__child-img img {

  width: 100%
}



.p-download .p-download__child .p-download__child-blockeditor {

  margin-top: 40px
}



.p-download .p-download__contact {

  flex-shrink: 0;

  width: min(503px, 45vw)
}



.p-download .p-download__form {

  padding: 30px 20px;

  background-color: var(--baige-pale)
}



.p-download .p-download__form .p-download__form-title {

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold;

  text-align: center
}



.p-download .p-download__form .p-download__form-lead {

  line-height: 1.8;

  margin-top: 30px
}



.p-download .p-download__form .p-download__form-main {

  margin-top: 20px
}



.p-download .p-download__form .p-download__form-cnt {

  padding: 13px 0;

  border-top: 1px solid #b9af9b
}



.p-download .p-download__form .p-download__form-label {

  line-height: 24px
}



.p-download .p-download__form .p-download__form-label::before {

  content: "必須";

  display: inline-block;

  width: 47px;

  margin-right: 14px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 14px;

  text-align: center
}



.p-download .p-download__form .p-download__form-label.p-download__form-label--any::before {

  display: none
}



.p-download .p-download__form .p-download__form-input {

  margin-top: 10px
}



.p-download .p-download__form input {

  width: 100%;

  height: 40px;

  padding: 0 15px;

  border: 1px solid #d9d3c7;

  background-color: #fff
}



.p-download .p-download__form input[type=radio],

.p-download .p-download__form input[type=checkbox] {

  display: none
}



.p-download .p-download__form input:checked+.mwform-radio-field-text {

  background-image: url(../images/common/icon_radio_on.svg)
}



.p-download .p-download__form input:checked+.mwform-checkbox-field-text {

  background-image: url(../images/common/icon_check_on.svg)
}



.p-download .p-download__form .mwform-radio-field-text {

  display: inline-block;

  line-height: 40px;

  padding-left: 34px;

  background-image: url(../images/common/icon_radio.svg);

  background-repeat: no-repeat;

  background-position: left center;

  background-size: 24px 24px;

  white-space: nowrap
}



.p-download .p-download__form .mwform-radio-field-text:hover {

  cursor: pointer
}



.p-download .p-download__form .mwform-checkbox-field-text {

  display: inline-block;

  line-height: 24px;

  padding-left: 32px;

  background-image: url(../images/common/icon_check.svg);

  background-repeat: no-repeat;

  background-position: left center;

  background-size: 24px 24px
}



.p-download .p-download__form .mwform-checkbox-field-text:hover {

  cursor: pointer
}



.p-download .p-download__form .p-download__form-privacy-txt {

  margin: 13px 0 0 62px
}



.p-download .p-download__form .p-download__form-privacy-txt a {

  color: var(--accent-color);

  text-decoration: underline
}



.p-download .p-download__form .p-download__form-privacy-txt a:hover {

  text-decoration: none
}



.p-download .p-download__form button[type=submit] {

  display: block;

  width: 100%;

  line-height: 43px;

  margin-top: 27px;

  box-shadow: none;

  border: 1px solid var(--accent-color);

  background-color: var(--accent-color);

  color: #fff;

  transition: background-color .3s, color .3s;

  text-align: center
}



.p-download .p-download__form button[type=submit]:hover {

  background-color: #fff;

  color: var(--accent-color)
}



.p-download .p-download__form-tel {

  margin-top: 30px;

  padding: 20px;

  border: 3px solid var(--baige);

  text-align: center
}



.p-download .p-download__form-tel .p-download__form-tel-main {

  margin-top: 17px;

  font-size: 24px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-download .p-download__form-tel .p-download__form-tel-main img {

  width: 28px;

  margin-right: 10px;

  vertical-align: middle
}



.p-download .p-download__thanks-title {

  margin-top: 100px;

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold;

  text-align: center
}



.p-download .p-download__thanks-detail {

  line-height: 1.8;

  margin-top: 40px;

  text-align: center
}



.p-download .p-download__thanks-form {

  display: none
}



.p-download .p-download__download-button {

  margin-top: 40px
}



.p-download .p-download__download-button a {

  display: block;

  width: 100%;

  max-width: 320px;

  line-height: 43px;

  margin: 0 auto;

  border: 1px solid var(--accent-color);

  background-color: var(--accent-color);

  color: #fff;

  text-align: center;

  transition: background-color .3s, color .3s
}



.p-download .p-download__download-button a:hover {

  background-color: #fff;

  color: var(--accent-color)
}



.p-download .p-download__back-button {

  margin-top: 40px
}



.p-download .p-download__back-button a {

  display: block;

  width: 100%;

  max-width: 320px;

  line-height: 43px;

  margin: 0 auto;

  border: 1px solid var(--accent-color);

  color: var(--accent-color);

  text-align: center;

  transition: background-color .3s, color .3s
}



.p-download .p-download__back-button a:hover {

  background-color: var(--accent-color);

  color: #fff
}



@media screen and (max-width: 896px) {

  .p-download .p-download__list {

    display: block
  }



  .p-download .p-download__list .p-download__list-item {

    width: 100%
  }



  .p-download .p-download__list .p-download__list-item+.p-download__list-item {

    margin-top: 30px
  }



  .p-download .p-download__list .p-download__list-item .p-download__list-title {

    margin-top: 15px
  }



  .p-download .p-download__list .p-download__list-item .p-download__list-overview {

    line-height: 1.6
  }



  .p-download .p-download__child {

    display: block;

    margin-top: 60px
  }



  .p-download .p-download__child .p-download__child-article {

    margin: 0 0 60px
  }



  .p-download .p-download__child .p-download__child-overview {

    line-height: 1.6
  }



  .p-download .p-download__child .p-download__child-overview+.p-download__child-points {

    margin-top: 30px
  }



  .p-download .p-download__child .p-download__child-point {

    line-height: 1.6
  }



  .p-download .p-download__child .p-download__child-point+.p-download__child-point {

    margin-top: 20px
  }



  .p-download .p-download__child .p-download__child-img {

    margin-top: 28px
  }



  .p-download .p-download__child .p-download__child-blockeditor {

    margin-top: 30px
  }



  .p-download .p-download__contact {

    width: 100%
  }



  .p-download .p-download__form {

    padding: 40px 20px
  }



  .p-download .p-download__form .p-download__form-lead {

    line-height: 1.66;

    margin-top: 20px
  }



  .p-download .p-download__form .p-download__form-main {

    margin-top: 30px
  }



  .p-download .p-download__form .p-download__form-cnt {

    padding: 20px 0
  }



  .p-download .p-download__form .p-download__form-cnt.p-download__form-cnt--agree .p-download__form-label::before {

    display: block;

    margin-bottom: 10px
  }



  .p-download .p-download__form .p-download__form-privacy-txt {

    margin: 16px 0 10px
  }



  .p-download .p-download__form button[type=submit] {

    width: 250px;

    line-height: 45px;

    margin: 0px auto
  }



  .p-download .p-download__form-tel .p-download__form-tel-main {

    margin-top: 13px
  }



  .p-download .p-download__thanks-title {

    margin-top: 60px;

    font-size: 20px
  }



  .p-download .p-download__thanks-detail {

    margin-top: 30px
  }



  .p-download .p-download__download-button {

    margin-top: 30px
  }



  .p-download .p-download__download-button a {

    max-width: 250px;

    line-height: 43px
  }



  .p-download .p-download__back-button {

    margin-top: 30px
  }



  .p-download .p-download__back-button a {

    max-width: 250px
  }

}



.p-magazine {

  text-align: center
}



.p-magazine .p-magazine__title {

  line-height: 1.45;

  margin-top: 100px;

  font-size: 22px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-magazine .p-magazine__title-medium {

  color: var(--accent-color);

  font-size: 17px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-magazine .p-magazine__knowhow {

  margin: 40px 0 50px;

  padding: 30px 20px;

  background-color: var(--baige-pale)
}



.p-magazine .p-magazine__knowhow-list {

  display: flex;

  gap: 0 15px;

  margin-top: 20px
}



.p-magazine .p-magazine__knowhow-list .p-magazine__knowhow-list-item {

  line-height: 1.66;

  width: 25%;

  background-color: #fff;

  padding: 13px;

  font-weight: bold
}



.p-magazine .p-magazine__txt {

  margin: 20px 0
}



.p-magazine .p-magazine__thanks {

  line-height: 1.8;

  margin: 100px 0 290px;

  word-break: break-all
}



@media screen and (max-width: 896px) {

  .p-magazine .p-magazine__title {

    line-height: 1.7;

    margin-top: 60px;

    font-size: 20px
  }



  .p-magazine .p-magazine__title-medium {

    line-height: 1.5;

    font-size: 20px
  }



  .p-magazine .p-magazine__knowhow {

    margin: 30px 0
  }



  .p-magazine .p-magazine__knowhow-list {

    display: block
  }



  .p-magazine .p-magazine__knowhow-list .p-magazine__knowhow-list-item {

    width: 100%;

    padding: 15px 10px
  }



  .p-magazine .p-magazine__knowhow-list .p-magazine__knowhow-list-item+.p-magazine__knowhow-list-item {

    margin-top: 15px
  }



  .p-magazine .p-magazine__txt {

    margin: 30px 0
  }



  .p-magazine .p-magazine__thanks {

    margin: 60px 0 0
  }

}



.p-case .p-case__categories {

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 15px 15px;

  margin-top: 100px;

  padding: 20px;

  background-color: var(--baige-pale)
}



.p-case .p-case__categories li a {

  display: block;

  min-width: 91px;

  line-height: 34px;

  padding: 0 17px;

  border-radius: 34px;

  background-color: #fff;

  text-align: center;

  transition: background-color .3s, color .3s
}



.p-case .p-case__categories li a:hover {

  color: #fff;

  background-color: var(--baige-dark)
}



.p-case .p-case__categories li a.current {

  color: #fff;

  background-color: var(--baige-dark)
}



.p-case .p-case__categories li a.current:hover {

  color: #000;

  background-color: #fff
}



.p-case .p-case__list {

  display: flex;

  flex-wrap: wrap;

  gap: 26px 26px;

  margin-top: 40px
}



.p-case .p-case__list .p-case__list-item {

  width: calc(33.3% - 20px);

  background-color: var(--baige-pale)
}



.p-case .p-case__list .p-case__list-img {

  overflow: hidden
}



.p-case .p-case__list .p-case__list-img img {

  width: 100%;

  height: 210px;

  object-fit: cover;

  transition: transform .3s
}



.p-case .p-case__list a {

  display: block;

  height: 100%
}



.p-case .p-case__list a:hover .p-case__list-img img {

  transform: scale(1.2, 1.2)
}



.p-case .p-case__list .p-case__list-txt {

  padding: 20px
}



.p-case .p-case__list .p-case__list-category {

  display: inline-block;

  line-height: 22px;

  padding: 0 15px;

  border-radius: 11px;

  background-color: var(--baige-dark);

  color: #fff;

  font-size: 14px
}



.p-case .p-case__list .p-case__list-category+.p-case__list-category {

  margin-left: 10px
}



.p-case .p-case__list .p-case__list-client {

  margin-top: 15px;

  color: #574d3a;

  font-weight: bold
}



.p-case .p-case__list .p-case__list-title {

  line-height: 1.47;

  margin-top: 10px;

  font-size: 17px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-case .p-case__info {

  position: relative;

  margin-bottom: 120px
}



.p-case .p-case__info::before {

  content: "";

  position: absolute;

  top: 30px;

  left: calc(50% - 533px);

  z-index: -1;

  width: 100vw;

  height: calc(100% + 30px);

  background-color: var(--baige-pale)
}



.p-case .p-case__info .p-case__info-img {

  margin-top: 40px
}



.p-case .p-case__info .p-case__info-img img {

  width: 100%
}



.p-case .p-case__info .p-case__client {

  margin-top: 40px;

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-case .p-case__info .p-post__detail {

  display: flex;

  align-items: flex-start;

  margin-top: 25px
}



.p-case .p-case__info .p-post__detail .p-post__detail-label {

  flex-shrink: 0;

  width: 123px;

  line-height: 26px;

  margin-right: 30px;

  background-color: var(--baige-dark);

  color: #fff;

  font-weight: normal;

  text-align: center
}



.p-case .p-case__info .p-post__detail .p-post__detail-txt {

  flex: auto;

  line-height: 1.8
}



@media screen and (max-width: 896px) {

  .p-case .p-case__categories {

    gap: 10px;

    margin-top: 60px;

    padding: 15px
  }



  .p-case .p-case__categories li:first-child {

    width: 100%
  }



  .p-case .p-case__categories li:first-child a {

    display: inline-block
  }



  .p-case .p-case__list {

    display: block
  }



  .p-case .p-case__list .p-case__list-item {

    width: 100%
  }



  .p-case .p-case__list .p-case__list-item+.p-case__list-item {

    margin-top: 30px
  }



  .p-case .p-case__list .p-case__list-item .p-case__list-img img {

    height: 56vw
  }



  .p-case .p-case__list .p-case__list-title {

    line-height: 1.53;

    font-size: 15px
  }



  .p-case .p-case__info {

    margin-bottom: 60px;

    padding-bottom: 60px
  }



  .p-case .p-case__info::before {

    top: 60px;

    left: -15px;

    height: calc(100% - 60px)
  }



  .p-case .p-case__info .p-case__client {

    font-size: 20px
  }



  .p-case .p-case__info .p-post__detail {

    display: block;

    margin-top: 30px
  }



  .p-case .p-case__info .p-post__detail .p-post__detail-label {

    width: 120px;

    line-height: 24px;

    margin-right: 0;

    font-size: 14px
  }



  .p-case .p-case__info .p-post__detail .p-post__detail-txt {

    margin-top: 15px
  }

}



.p-seminar .p-seminar__lead {

  line-height: 1.8
}



.p-seminar .p-seminar__category-title {

  margin-bottom: 20px;

  font-size: 30px;

  font-family: var(--font-serif)
}



.p-seminar .p-seminar__categories {

  display: flex;

  align-items: center;

  margin-top: 40px;

  padding: 20px;

  background-color: var(--baige-pale)
}



.p-seminar .p-seminar__categories .p-seminar__categories-right {

  margin-left: 20px;

  padding-left: 20px;

  border-left: 1px solid var(--baige-dark)
}



.p-seminar .p-seminar__categories .p-seminar__categories-right-cnt {

  display: flex;

  line-height: 34px
}



.p-seminar .p-seminar__categories .p-seminar__categories-right-cnt+.p-seminar__categories-right-cnt {

  margin-top: 20px
}



.p-seminar .p-seminar__categories .p-seminar__categories-main {

  display: flex;

  flex-wrap: wrap;

  gap: 10px 15px
}



.p-seminar .p-seminar__categories .p-seminar__categories-label {

  flex-shrink: 0;

  width: 80px;

  font-weight: bold
}



.p-seminar .p-seminar__categories .p-seminar__category {

  display: inline-block;

  min-width: 91px;

  line-height: 34px;

  padding: 0 15px;

  border-radius: 17px;

  background-color: #fff;

  transition: background-color .3s, color .3s;

  text-align: center
}



.p-seminar .p-seminar__categories .p-seminar__category span {

  display: inline-block;

  width: 22px;

  line-height: 22px;

  margin-left: 15px;

  border-radius: 22px;

  color: #fff;

  transition: background-color .3s, color .3s
}



.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--all.current,

.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--all:hover {

  background-color: var(--baige-dark);

  color: #fff
}



.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--theme span {

  background-color: var(--accent-color)
}



.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--theme.current,

.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--theme:hover {

  color: #fff;

  background-color: var(--accent-color)
}



.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--theme.current span,

.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--theme:hover span {

  background-color: #fff;

  color: var(--accent-color)
}



.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--class span {

  background-color: var(--accent-gold)
}



.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--class.current,

.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--class:hover {

  background-color: var(--accent-gold);

  color: #fff
}



.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--class.current span,

.p-seminar .p-seminar__categories .p-seminar__category.p-seminar__category--class:hover span {

  background-color: #fff;

  color: var(--accent-gold)
}



.p-seminar .p-seminar__list {

  margin-top: 40px
}



.p-seminar .p-seminar__list .p-seminar__list-item {

  border: 1px solid #cec6b7
}



.p-seminar .p-seminar__list .p-seminar__list-item+.p-seminar__list-item {

  margin-top: 20px
}



.p-seminar .p-seminar__list .p-seminar__list-item a {

  display: block;

  padding: 20px;

  transition: background-color .3s
}



.p-seminar .p-seminar__list .p-seminar__list-item a:hover {

  background-color: var(--baige-pale)
}



.p-seminar .p-seminar__list .p-seminar__list-item a:hover .p-seminar__list-date-wrap {

  background-color: #fff
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-title {

  line-height: 1.47;

  font-size: 17px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-lead {

  line-height: 1.8;

  margin-top: 20px
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-lead br {

  display: none
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-bottom {

  display: flex;

  margin-top: 20px
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-img {

  flex-shrink: 0;

  width: min(315px, 35%);

  margin-right: 20px
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-img img {

  width: 100%;

  aspect-ratio: 315/192;

  object-fit: cover
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-bottom-txt {

  flex: auto
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-categories {

  display: flex;

  flex-wrap: wrap;

  gap: 7px
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-categories .p-seminar__list-category {

  line-height: 22px;

  border-radius: 11px;

  padding: 0 15px;

  color: #fff;

  font-size: 14px
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-categories .p-seminar__list-category.p-seminar__list-category--theme {

  background-color: var(--accent-color)
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-categories .p-seminar__list-category.p-seminar__list-category--class {

  background-color: var(--accent-gold)
}



.p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-date-wrap {

  margin-top: 15px;

  padding: 15px;

  background-color: var(--baige-pale);

  transition: background-color .3s
}



.p-seminar .p-seminar__list-date,

.p-seminar .p-seminar__detail-date {

  width: 100%;

  font-size: 14px
}



.p-seminar .p-seminar__list-date td,

.p-seminar .p-seminar__detail-date td {

  width: 24%;

  vertical-align: middle
}



.p-seminar .p-seminar__list-date td:last-child,

.p-seminar .p-seminar__detail-date td:last-child {

  width: 28%
}



.p-seminar .p-seminar__list-date tr+tr td,

.p-seminar .p-seminar__detail-date tr+tr td {

  padding-top: 15px
}



.p-seminar .p-seminar__list-date+.p-seminar__list-date,

.p-seminar .p-seminar__list-date+.p-seminar__detail-date,

.p-seminar .p-seminar__detail-date+.p-seminar__list-date,

.p-seminar .p-seminar__detail-date+.p-seminar__detail-date {

  position: relative;

  margin-top: 30px
}



.p-seminar .p-seminar__list-date+.p-seminar__list-date::before,

.p-seminar .p-seminar__list-date+.p-seminar__detail-date::before,

.p-seminar .p-seminar__detail-date+.p-seminar__list-date::before,

.p-seminar .p-seminar__detail-date+.p-seminar__detail-date::before {

  content: "";

  position: absolute;

  top: -15px;

  left: 0;

  width: 100%;

  height: 1px;

  background-color: #d9d3c7
}



.p-seminar .p-seminar__detail-lead {

  line-height: 1.8
}



.p-seminar .p-seminar__detail-img {

  margin: 30px 0
}



.p-seminar .p-seminar__detail-img img {

  width: 100%
}



.p-seminar .p-seminar__detail-title {

  line-height: 1.66;

  margin-top: 20px;

  padding: 5px 20px;

  background-color: var(--baige-dark);

  color: #fff;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-seminar .p-seminar__detail-cnt-wrap {

  line-height: 1.66;

  padding: 15px;

  background-color: var(--baige-pale)
}



.p-seminar .p-seminar__detail-date {

  table-layout: auto
}



.p-seminar .p-seminar__detail-date td {

  width: 21%
}



.p-seminar .p-seminar__detail-date td:last-child {

  width: 37%
}



.p-seminar .p-seminar__entry {

  margin-top: 60px;

  padding: 60px 0;

  background-color: var(--baige-pale)
}



.p-seminar .p-seminar__entry .p-seminar__entry-table {

  width: 100%;

  margin-top: 40px
}



.p-seminar .p-seminar__entry .p-seminar__entry-table thead th {

  padding: 17px;

  background-color: var(--baige-dark);

  color: #fff;

  font-weight: normal;

  text-align: center;

  vertical-align: middle;

  white-space: nowrap
}



.p-seminar .p-seminar__entry .p-seminar__entry-table thead th+th {

  border-left: 1px solid #fff
}



.p-seminar .p-seminar__entry .p-seminar__entry-table tbody td {

  padding: 13px 10px;

  border: 1px solid var(--baige-dark);

  background-color: #fff;

  vertical-align: middle;

  white-space: nowrap
}



.p-seminar .p-seminar__entry .p-seminar__entry-table tbody td.p-seminar__entry-table-venue {

  white-space: normal
}



.p-seminar .p-seminar__entry .p-seminar__entry-table .p-seminar__entry-table-txt+.p-seminar__entry-table-txt {

  margin-top: 15px
}



.p-seminar .p-seminar__none-txt a {

  color: var(--accent-color);

  text-decoration: underline
}



.p-seminar .p-seminar__none-txt a:hover {

  text-decoration: none
}



@media screen and (max-width: 896px) {

  .p-seminar .p-seminar__category-title {

    font-size: 22px
  }



  .p-seminar .p-seminar__categories {

    display: block;

    padding: 15px 10px
  }



  .p-seminar .p-seminar__categories .p-seminar__categories-right {

    margin: 15px 0 0;

    padding: 15px 0 0;

    border-left: none;

    border-top: 1px solid var(--baige-dark)
  }



  .p-seminar .p-seminar__categories .p-seminar__categories-right-cnt {

    display: block
  }



  .p-seminar .p-seminar__categories .p-seminar__categories-right-cnt+.p-seminar__categories-right-cnt {

    margin-top: 15px
  }



  .p-seminar .p-seminar__categories .p-seminar__categories-main {

    gap: 10px
  }



  .p-seminar .p-seminar__categories .p-seminar__categories-label {

    width: 100%
  }



  .p-seminar .p-seminar__list .p-seminar__list-item+.p-seminar__list-item {

    margin-top: 30px
  }



  .p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-lead {

    line-height: 1.6
  }



  .p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-bottom {

    display: block
  }



  .p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-img {

    width: 100%;

    margin-right: 0
  }



  .p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-bottom-txt {

    margin-top: 20px
  }



  .p-seminar .p-seminar__list .p-seminar__list-item .p-seminar__list-date-wrap {

    padding: 0;

    background-color: rgba(0, 0, 0, 0)
  }



  .p-seminar .p-seminar__list-date,

  .p-seminar .p-seminar__detail-date {

    display: block;

    padding: 10px;

    background-color: var(--baige-pale)
  }



  .p-seminar .p-seminar__list-date tbody,

  .p-seminar .p-seminar__list-date tr,

  .p-seminar .p-seminar__list-date th,

  .p-seminar .p-seminar__list-date td,

  .p-seminar .p-seminar__detail-date tbody,

  .p-seminar .p-seminar__detail-date tr,

  .p-seminar .p-seminar__detail-date th,

  .p-seminar .p-seminar__detail-date td {

    display: block
  }



  .p-seminar .p-seminar__list-date tr+tr,

  .p-seminar .p-seminar__detail-date tr+tr {

    margin-top: 10px;

    padding-top: 10px;

    border-top: 1px solid #d9d3c7
  }



  .p-seminar .p-seminar__list-date td,

  .p-seminar .p-seminar__detail-date td {

    width: 100%
  }



  .p-seminar .p-seminar__list-date td+td,

  .p-seminar .p-seminar__detail-date td+td {

    margin-top: 8px
  }



  .p-seminar .p-seminar__list-date td:last-child,

  .p-seminar .p-seminar__detail-date td:last-child {

    width: 100%
  }



  .p-seminar .p-seminar__list-date tr+tr td,

  .p-seminar .p-seminar__detail-date tr+tr td {

    padding-top: 0
  }



  .p-seminar .p-seminar__list-date+.p-seminar__list-date,

  .p-seminar .p-seminar__list-date+.p-seminar__detail-date,

  .p-seminar .p-seminar__detail-date+.p-seminar__list-date,

  .p-seminar .p-seminar__detail-date+.p-seminar__detail-date {

    margin-top: 10px
  }



  .p-seminar .p-seminar__list-date+.p-seminar__list-date::before,

  .p-seminar .p-seminar__list-date+.p-seminar__detail-date::before,

  .p-seminar .p-seminar__detail-date+.p-seminar__list-date::before,

  .p-seminar .p-seminar__detail-date+.p-seminar__detail-date::before {

    display: none
  }



  .p-seminar .p-seminar__detail-lead {

    line-height: 1.6
  }



  .p-seminar .p-seminar__detail-title {

    margin-top: 30px;

    padding: 10px
  }



  .p-seminar .p-seminar__detail-cnt-wrap {

    padding: 0;

    background-color: rgba(0, 0, 0, 0)
  }



  .p-seminar .p-seminar__detail-date td {

    width: 100%
  }



  .p-seminar .p-seminar__detail-date td:last-child {

    width: 100%
  }



  .p-seminar .p-seminar__detail-txt {

    padding: 10px;

    background-color: var(--baige-pale)
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item {

    padding: 15px;

    border: 1px solid var(--baige-dark);

    background-color: #fff
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item+.p-seminar__entry-list-item {

    margin-top: 20px
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item .p-seminar__entry-list-item-detail+.p-seminar__entry-list-item-detail {

    margin-top: 15px;

    padding-top: 15px;

    border-top: 1px solid var(--accent-color)
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item .p-seminar__entry-list-item-detail+p {

    margin-top: 20px
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item .p-seminar__entry-list-item-detail-cnt {

    display: flex
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item .p-seminar__entry-list-item-detail-cnt+.p-seminar__entry-list-item-detail-cnt {

    margin-top: 10px
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item .p-seminar__entry-list-item-detail-label {

    flex-shrink: 0;

    width: 85px;

    color: #6c6351;

    font-weight: normal
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item .p-seminar__entry-list-item-detail-txt {

    flex: auto
  }



  .p-seminar .p-seminar__entry .p-seminar__entry-list-item .p-seminar__entry-list-item-button {

    margin-top: 15px
  }

}



.p-column .p-column__categories {

  display: flex;

  gap: 0 1px
}



.p-column .p-column__categories .p-column__category {

  width: 25%
}



.p-column .p-column__categories .p-column__category a {

  display: flex;

  justify-content: center;

  align-items: center;

  width: 100%;

  height: 100%;

  padding: 15px;

  background-color: #e5e1d8;

  text-align: center;

  transition: background-color .3s, color .3s
}



.p-column .p-column__categories .p-column__category.current a,

.p-column .p-column__categories .p-column__category a:hover {

  background-color: var(--baige-dark);

  color: #fff
}



.p-column .p-column__list {

  display: flex;

  flex-wrap: wrap;

  gap: 26px;

  margin-top: 40px
}



.p-column .p-column__list .p-column__list-item {

  width: calc(33.3% - 18px)
}



.p-column .p-column__list .p-column__list-item a {

  display: block;

  height: 100%;

  padding: 15px;

  border: 1px solid #e5e1d8
}



.p-column .p-column__list .p-column__list-item a:hover .p-column__list-img img {

  transform: scale(1.2, 1.2)
}



.p-column .p-column__list .p-column__list-item .p-column__list-img {

  overflow: hidden
}



.p-column .p-column__list .p-column__list-item .p-column__list-img img {

  width: 100%;

  height: auto;

  aspect-ratio: 315/192;

  object-fit: cover;

  transition: transform .3s
}



.p-column .p-column__list .p-column__list-categories {

  display: flex;

  flex-wrap: wrap;

  gap: 6px;

  margin-top: 15px
}



.p-column .p-column__list .p-column__list-categories .p-column__list-category {

  line-height: 22px;

  padding: 0 15px;

  border-radius: 11px;

  font-size: 14px
}



.p-column .p-column__list .p-column__list-categories .p-column__list-category.p-column__list-category--parent {

  order: -1;

  background-color: var(--baige-dark);

  color: #fff;

  font-weight: bold
}



.p-column .p-column__list .p-column__list-categories .p-column__list-category.p-column__list-category--child {

  background-color: #cec6b7
}



.p-column .p-column__list .p-column__list-title {

  line-height: 1.47;

  margin-top: 15px;

  font-size: 17px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-column .p-column__list .p-column__list-txt {

  overflow: hidden;

  display: -webkit-box;

  -webkit-box-orient: vertical;

  -webkit-line-clamp: 3;

  line-height: 1.8;

  margin-top: 15px
}



.p-column .p-column__list .p-column__list-date {

  margin-top: 15px;

  color: var(--baige-dark);

  font-size: 14px
}



.p-column .p-column__category-title {

  margin-top: 40px;

  font-size: 30px;

  font-family: var(--font-serif)
}



.p-column .p-seminar__category-lead {

  line-height: 1.66;

  margin-top: 20px;

  font-family: var(--font-serif)
}



.p-column .p-column__category-categories {

  display: flex;

  flex-wrap: wrap;

  gap: 15px;

  margin-top: 40px;

  padding: 20px;

  background-color: var(--baige-pale)
}



.p-column .p-column__category-categories .p-column__category-category a {

  display: block;

  min-width: 91px;

  line-height: 34px;

  padding: 0 17px;

  border-radius: 17px;

  background-color: #fff;

  transition: color .3s, background-color .3s;

  text-align: center
}



.p-column .p-column__category-categories .p-column__category-category.current a,

.p-column .p-column__category-categories .p-column__category-category a:hover {

  background-color: var(--baige-dark);

  color: #fff
}



.p-column .p-column__detail-img img {

  width: 100%;

  height: auto;

  max-width: 100%
}



@media screen and (max-width: 896px) {

  .p-column .p-column__categories {

    gap: 15px;

    flex-wrap: wrap
  }



  .p-column .p-column__categories .p-column__category {

    width: calc(50% - 7.5px)
  }



  .p-column .p-column__list {

    display: block;

    margin-top: 50px
  }



  .p-column .p-column__list .p-column__list-item {

    width: 100%
  }



  .p-column .p-column__list .p-column__list-item+.p-column__list-item {

    margin-top: 20px
  }



  .p-column .p-column__list .p-column__list-txt {

    line-height: 1.6
  }



  .p-column .p-column__category-title {

    margin-top: 50px;

    font-size: 22px
  }



  .p-column .p-column__category-categories {

    gap: 10px;

    margin-top: 50px;

    padding: 15px
  }



  .p-column .p-column__category-categories .p-column__category-category:first-child {

    width: 100%
  }



  .p-column .p-column__category-categories .p-column__category-category:first-child a {

    width: fit-content
  }

}



.p-cardcase .p-cardcase__mv {

  position: relative
}



.p-cardcase .p-cardcase__mv .c-breadcrumb {

  position: absolute;

  top: 0;

  left: 50%;

  z-index: 1;

  width: 100%;

  transform: translateX(-50%)
}



.p-cardcase .p-cardcase__mv .p-cardcase__mv-img img {

  width: 100%
}



.p-cardcase .p-cardcase__lead {

  margin-top: 100px
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-inner {

  position: relative;

  padding-top: 135px;

  padding-bottom: 146px
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-inner::before {

  content: "";

  position: absolute;

  top: 65px;

  left: 285px;

  width: 100vw;

  height: calc(100% - 120px);

  background-color: var(--baige)
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-txt {

  width: 45%
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-img {

  position: absolute;

  bottom: 0;

  right: max(-71px, -50%);

  width: calc(55% + min(71px, 50%))
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-img img {

  width: 100%
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-txt-top {

  font-size: 28px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-txt-top .p-cardcase__lead-txt-marker {

  background-image: linear-gradient(transparent 75%, #C9982B 0%)
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-title {

  line-height: 1.6;

  margin-top: 20px;

  font-size: 40px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-title .p-cardcase__lead-title-small {

  font-size: 25px
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-title .p-cardcase__lead-title-color {

  color: var(--accent-color)
}



.p-cardcase .p-cardcase__lead .p-cardcase__lead-txt-bottom {

  line-height: 1.8;

  margin-top: 30px
}



.p-cardcase .p-cardcase__levelup {

  margin-top: 100px;

  padding-bottom: 100px;

  background-image: linear-gradient(#fff 0%, #fff 25%, var(--baige) 25%, var(--baige) 100%)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title {

  line-height: 1.35;

  font-size: 40px;

  font-weight: bold;

  font-family: var(--font-serif);

  text-align: center
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title .p-cardcase__levelup-title-small {

  font-size: 25px
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title .p-cardcase__lead-title-color {

  color: var(--accent-color)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail {

  display: flex;

  margin-top: 40px
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-img {

  width: 50%
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-img img {

  width: 100%;

  height: 100%;

  object-fit: cover
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-txt {

  display: flex;

  flex-direction: column;

  justify-content: center;

  width: 50%;

  padding: 30px;

  background-color: #d9d3c7
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-title {

  line-height: 1.28;

  padding-bottom: 5px;

  border-bottom: 1px solid var(--accent-gold);

  font-size: 35px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price-label {

  width: fit-content;

  line-height: 26px;

  margin-top: 20px;

  padding: 0 10px;

  border: 1px solid #707070;

  font-size: 18px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price {

  margin-top: 5px;

  font-size: 28px;

  color: var(--accent-color);

  font-weight: bold
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price .p-cardcase__levelup-detail-price-before {

  color: #000;

  font-size: 18px
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price .p-cardcase__levelup-detail-price-tax {

  font-size: 18px
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-howto-pay {

  margin-top: 5px
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  gap: 0 10px;

  margin-top: 20px;

  padding: 5px 18px;

  border-radius: 6px;

  background-color: #fff
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec .p-cardcase__levelup-detail-spec-label {

  flex-shrink: 0;

  width: 70px;

  padding: 5px 10px;

  border-top: 1px dotted #000;

  font-weight: normal;

  text-align: center
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec .p-cardcase__levelup-detail-spec-label:first-child {

  border: none
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec .p-cardcase__levelup-detail-spec-txt {

  width: calc(100% - 80px);

  padding: 5px 10px;

  border-top: 1px dotted #000
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec .p-cardcase__levelup-detail-spec-txt:nth-child(2) {

  border: none
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type {

  position: relative;

  line-height: 1;

  margin-top: 80px;

  padding-bottom: 10px;

  border-bottom: 1px solid #000;

  font-size: 28px;

  font-weight: bold;

  font-family: var(--font-serif);

  text-align: center
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type::before {

  content: "";

  position: absolute;

  bottom: -13px;

  left: 50%;

  width: 23px;

  height: 13px;

  background-image: url(../images/cardcase/arrow_balloon.png);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center;

  transform: translateX(-50%)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type .p-cardcase__levelup-title-type-inner {

  position: relative
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type .p-cardcase__levelup-title-type-inner::before {

  content: "";

  position: absolute;

  top: -20px;

  left: -27px;

  width: 33px;

  height: 34px;

  background-image: url(../images/cardcase/deco_title.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type .p-cardcase__levelup-title-type-color {

  color: var(--accent-color)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type .p-cardcase__levelup-title-type-num {

  font-family: var(--font-en);

  font-size: 60px;

  font-weight: 700
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup {

  display: flex;

  gap: 26px;

  margin-top: 87px
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-item {

  position: relative;

  width: 34%;

  padding: min(150px, 11vw) 22px 30px;

  border-radius: 6px;

  background-color: #fff;

  text-align: center
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-img {

  position: absolute;

  top: -50px;

  left: 50%;

  width: calc(100% - min(84px, 7vw));

  transform: translateX(-50%)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-img img {

  width: 100%
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-name {

  margin-top: 10px;

  font-size: 28px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-button {

  margin-top: 23px
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-button a {

  width: 100%
}



.p-cardcase .p-cardcase__levelup .p-cardcase__levelup-att {

  margin-top: 20px;

  text-align: right
}



.p-cardcase .p-cardcase__particular-top {

  position: relative;

  padding: 100px 0;

  background-image: url(../images/cardcase/bg_particular02.jpg);

  background-size: cover
}



.p-cardcase .p-cardcase__particular-top::before {

  content: "";

  position: absolute;

  top: 0;

  right: calc(50% + 330px);

  width: 100vw;

  height: 100%;

  background-image: url(../images/cardcase/bg_particular01.jpg);

  background-size: cover;

  user-select: none;

  pointer-events: none
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-title-before-txt {

  font-size: 28px;

  font-family: var(--font-serif);

  text-align: center
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-title {

  font-size: 40px;

  font-weight: bold;

  font-family: var(--font-serif);

  text-align: center
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-title span {

  color: var(--accent-color)
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point {

  position: relative;

  display: flex;

  margin-top: 40px;

  padding: 30px 33px;

  border-radius: 6px;

  background-color: #fff
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-num {

  line-height: 1;

  font-size: 24px;

  font-family: var(--font-en);

  font-weight: 400;

  letter-spacing: 1px
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-num span {

  position: relative;

  margin-left: 17px;

  font-size: 46px;

  font-weight: 700
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-num span::before {

  content: "";

  position: absolute;

  top: 50%;

  left: 50%;

  width: 77px;

  height: 60px;

  background-image: url(../images/cardcase/bg_circle.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: contain;

  user-select: none;

  pointer-events: none;

  transform: translate(-50%, -50%)
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-title {

  line-height: 1.66;

  margin-top: 15px;

  color: var(--accent-gold);

  font-size: 24px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-detail {

  line-height: 1.8;

  margin-top: 30px
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img {

  flex-shrink: 0;

  width: min(500px, 45%);

  margin-left: 20px
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img-note {

  position: relative;

  width: fit-content;

  line-height: 20px;

  margin: 0 auto 10px;

  padding: 0 19px;

  font-weight: bold
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img-note::before,

.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img-note::after {

  content: "";

  position: absolute;

  top: 0;

  width: 17px;

  height: 20px;

  background-image: url(../images/cardcase/deco_title02.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: contain
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img-note::before {

  left: 0
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img-note::after {

  right: 0;

  transform: scale(1, -1)
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point:nth-child(even) {

  flex-direction: row-reverse
}



.p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point:nth-child(even) .p-cardcase__particular-point-img {

  margin: 0 20px 0 0
}



.p-cardcase .p-cardcase__particular-bottom {

  padding: 100px 0;

  background-color: var(--baige-pale)
}



.p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner {

  position: relative;

  text-align: center
}



.p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner::before {

  content: "";

  position: absolute;

  top: -145px;

  right: -120px;

  width: 302px;

  height: 251px;

  background-image: url(../images/cardcase/img_particular04.png);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: contain;

  filter: drop-shadow(5px 10px 25px rgba(0, 0, 0, 0.26))
}



.p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner::after {

  content: "";

  position: absolute;

  bottom: -220px;

  left: -120px;

  width: 447px;

  height: 416px;

  background-image: url(../images/cardcase/img_particular05.png);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: contain
}



.p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-txt01 {

  line-height: 2.33
}



.p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-txt02 {

  line-height: 1.8;

  margin-top: 30px;

  font-size: 20px;

  font-weight: bold
}



.p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-txt02 span {

  font-size: 32px;

  background-image: linear-gradient(transparent 70%, #C9982B 0%)
}



.p-cardcase .p-cardcase__recommend {

  margin-top: 100px
}



.p-cardcase .p-cardcase__recommend .p-cardcase__recommend-title {

  line-height: 1.35;

  font-size: 40px;

  font-weight: bold;

  font-family: var(--font-serif);

  text-align: center
}



.p-cardcase .p-cardcase__recommend .p-cardcase__recommend-title span {

  color: var(--accent-color)
}



.p-cardcase .p-cardcase__recommend .p-cardcase__recommend-merits {

  margin-top: 40px
}



.p-cardcase .p-cardcase__recommend .p-cardcase__recommend-merits .p-cardcase__recommend-merit {

  padding: 20px 20px 20px 74px;

  border-bottom: 1px dotted var(--accent-gold);

  background-image: url(../images/cardcase/icon_check.svg);

  background-repeat: no-repeat;

  background-size: 20px auto;

  background-position: 20px 21px;

  font-size: 18px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-cardcase .p-cardcase__recommend .p-cardcase__recommend-merits .p-cardcase__recommend-merit span {

  background-image: linear-gradient(transparent 75%, #C9982B 0%)
}



.p-cardcase .p-cardcase__recommend .p-cardcase__recommend-merits .p-cardcase__recommend-merit:first-child {

  border-top: 1px dotted var(--accent-gold)
}



.p-cardcase .p-cardcase__recommend-send {

  position: relative;

  margin-top: 100px;

  padding: 72px 40px 40px;

  background-color: #eeeff2
}



.p-cardcase .p-cardcase__recommend-send::before,

.p-cardcase .p-cardcase__recommend-send::after {

  content: "";

  position: absolute;

  background-color: #fff;

  width: 33px;

  height: 33px
}



.p-cardcase .p-cardcase__recommend-send::before {

  top: 0;

  right: 0;

  clip-path: polygon(100% 0, 0 0, 100% 100%)
}



.p-cardcase .p-cardcase__recommend-send::after {

  bottom: 0;

  left: 0;

  clip-path: polygon(0 0, 0 100%, 100% 100%)
}



.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-title {

  position: absolute;

  top: -18px;

  left: calc(50% - 12.5em);

  width: fit-content;

  margin: 0 auto;

  padding: 15px 11px;

  background-color: #181f3c;

  color: #fff;

  font-size: 25px;

  font-family: var(--font-serif);

  text-align: center
}



.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-title::before,

.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-title::after {

  content: "";

  position: absolute;

  top: 0;

  width: 10px;

  height: 100%;

  background-color: #181f3c
}



.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-title::before {

  left: -10px;

  clip-path: polygon(100% 0, 100% 50%, 100% 100%, 0% 100%, 100% 50%, 0% 0%)
}



.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-title::after {

  right: -10px;

  clip-path: polygon(100% 0, 0 50%, 100% 100%, 0% 100%, 0 50%, 0% 0%)
}



.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-cnt {

  display: flex;

  align-items: center
}



.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-img {

  flex-shrink: 0;

  width: min(340px, 34%);

  margin-right: 40px
}



.p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-txt {

  line-height: 2
}



.p-cardcase .p-cardcase__recommend-button {

  margin-top: 40px;

  text-align: center
}



.p-cardcase .p-cardcase__recommend-button a {

  width: 300px
}



.p-cardcase .p-cardcase__fix-btn {

  position: fixed;

  top: 50%;

  right: 0;

  z-index: 4;

  writing-mode: vertical-rl;

  transform: translateY(-50%)
}



.p-cardcase .p-cardcase__fix-btn a {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 190px;

  color: #fff;

  background-color: var(--accent-color);

  font-size: 15px;

  transition: color .5s, background-color .5s
}



.p-cardcase .p-cardcase__fix-btn a:hover {

  color: var(--accent-color);

  background-color: #cec6b7
}



@media screen and (max-width: 1494px) {

  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner {

    padding-top: 100px;

    padding-bottom: 50px
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner::before {

    right: 0
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner::after {

    left: -100px
  }

}



@media screen and (max-width: 1384px) {

  .p-cardcase .p-cardcase__lead .p-cardcase__lead-img {

    right: 0;

    width: 50%
  }

}



@media screen and (max-width: 1024px) {

  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail {

    display: block;

    width: 100%
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-title br {

    display: none
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-img {

    width: 100%
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-img img {

    height: auto
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-txt {

    width: 100%
  }

}



@media screen and (max-width: 896px) {

  .p-cardcase .p-cardcase__lead {

    margin-top: 19px
  }



  .p-cardcase .p-cardcase__lead .p-cardcase__lead-inner {

    padding-top: 0;

    padding-bottom: 0
  }



  .p-cardcase .p-cardcase__lead .p-cardcase__lead-inner::before {

    display: none
  }



  .p-cardcase .p-cardcase__lead .p-cardcase__lead-txt {

    width: 100%
  }



  .p-cardcase .p-cardcase__lead .p-cardcase__lead-img {

    position: static;

    width: calc(100% + 15px);

    margin: 30px -15px 0 0
  }



  .p-cardcase .p-cardcase__lead .p-cardcase__lead-txt-top {

    font-size: 20px
  }



  .p-cardcase .p-cardcase__lead .p-cardcase__lead-title {

    margin-top: 15px;

    font-size: 25px
  }



  .p-cardcase .p-cardcase__lead .p-cardcase__lead-title .p-cardcase__lead-title-small {

    font-size: 18px
  }



  .p-cardcase .p-cardcase__levelup {

    margin-top: 60px;

    padding-bottom: 60px;

    background-image: linear-gradient(#fff 0%, #fff 10%, var(--baige) 10%, var(--baige) 100%)
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title {

    font-size: 25px;

    text-align: center
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title .p-cardcase__levelup-title-small {

    font-size: 18px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail {

    margin-top: 20px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-txt {

    padding: 15px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-title {

    line-height: 1.4;

    padding-bottom: 15px;

    font-size: 20px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price-label {

    margin-top: 15px;

    font-size: 15px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price {

    margin-top: 15px;

    font-size: 22px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price .p-cardcase__levelup-detail-price-before {

    font-size: 15px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-price .p-cardcase__levelup-detail-price-tax {

    font-size: 15px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-howto-pay {

    margin-top: 15px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec {

    margin-top: 15px;

    padding: 5px 15px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec .p-cardcase__levelup-detail-spec-label {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 50px;

    padding: 10px 0
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-detail .p-cardcase__levelup-detail-spec .p-cardcase__levelup-detail-spec-txt {

    width: calc(100% - 60px);

    padding: 10px 5px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type {

    margin-top: 50px;

    padding-bottom: 14px;

    font-size: 22px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type .p-cardcase__levelup-title-type-inner::before {

    top: -17px;

    left: -23px;

    width: 25px;

    height: 26px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-title-type .p-cardcase__levelup-title-type-num {

    font-size: 45px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup {

    display: block;

    margin-top: 21.6vw
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-item {

    width: 100%;

    padding: 40vw 22px 20px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-item+.p-cardcase__levelup-lineup-item {

    margin-top: 21.33vw
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-img {

    top: -13.33vw;

    width: 69.85vw
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-name {

    font-size: 24px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-lineup .p-cardcase__levelup-lineup-button {

    margin-top: 20px
  }



  .p-cardcase .p-cardcase__levelup .p-cardcase__levelup-att {

    text-align: left
  }



  .p-cardcase .p-cardcase__particular-top {

    padding: 60px 0;

    background-image: url(../images/cardcase/bg_particular_sp.jpg)
  }



  .p-cardcase .p-cardcase__particular-top::before {

    display: none
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-title-before-txt {

    font-size: 22px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-title {

    line-height: 1.28;

    margin-top: 15px;

    font-size: 25px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point {

    display: block;

    margin-top: 30px;

    padding: 30px 15px 15px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-num {

    font-size: 20px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-num span {

    margin-left: 18px;

    font-size: 36px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-num span::before {

    width: 64px;

    height: 50px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-title {

    line-height: 1.4;

    margin-top: 30px;

    font-size: 20px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-detail {

    line-height: 1.6;

    margin-top: 25px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img {

    width: 100%;

    margin: 20px 0 0
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point .p-cardcase__particular-point-img-note {

    margin: 0 auto 15px
  }



  .p-cardcase .p-cardcase__particular-top .p-cardcase__particular-point:nth-child(even) .p-cardcase__particular-point-img {

    margin: 20px 0 0
  }



  .p-cardcase .p-cardcase__particular-bottom {

    padding: 28.79vw 0 26.66vw
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner {

    padding-top: 0;

    padding-bottom: 0
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner::before {

    top: -36.79vw;

    right: 1.86vw;

    width: 39.2vw;

    height: 32vw
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-inner::after {

    bottom: -49.32vw;

    left: -13.06vw;

    width: 65.86vw;

    height: 63.46vw
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-txt01 {

    line-height: 2
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-txt02 {

    font-size: 16px
  }



  .p-cardcase .p-cardcase__particular-bottom .p-cardcase__particular-bottom-txt02 span {

    font-size: 26px
  }



  .p-cardcase .p-cardcase__recommend {

    margin-top: 23.2vw
  }



  .p-cardcase .p-cardcase__recommend .p-cardcase__recommend-title {

    font-size: 21px
  }



  .p-cardcase .p-cardcase__recommend .p-cardcase__recommend-merits {

    margin-top: 30px
  }



  .p-cardcase .p-cardcase__recommend .p-cardcase__recommend-merits .p-cardcase__recommend-merit {

    padding: 20px 15px 20px 47px;

    background-size: 18px auto;

    background-position: 16px 20px;

    font-size: 16px
  }



  .p-cardcase .p-cardcase__recommend-send {

    margin-top: 86px;

    padding: 72px 20px 20px
  }



  .p-cardcase .p-cardcase__recommend-send::before,

  .p-cardcase .p-cardcase__recommend-send::after {

    width: 15px;

    height: 15px
  }



  .p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-title {

    top: -36px;

    left: 30px;

    padding: 13px 0;

    font-size: 18px;

    width: calc(100% - 60px);

    white-space: nowrap
  }



  .p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-cnt {

    display: block
  }



  .p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-img {

    width: 60vw;

    margin: 0 auto
  }



  .p-cardcase .p-cardcase__recommend-send .p-cardcase__recommend-send-txt {

    line-height: 1.8;

    margin-top: 20px
  }



  .p-cardcase .p-cardcase__recommend-button {

    margin-top: 30px
  }



  .p-cardcase .p-cardcase__fix-btn {

    top: auto;

    right: auto;

    bottom: 0;

    left: 0;

    z-index: 4;

    writing-mode: horizontal-tb;

    transform: none;

    display: none;

    width: 100%
  }



  .p-cardcase .p-cardcase__fix-btn a {

    width: 100%;

    height: 70px
  }

}



.p-profile .p-profile__mv {

  position: relative
}



.p-profile .p-profile__mv .c-breadcrumb {

  position: absolute;

  top: 20px;

  left: 50%;

  z-index: 1;

  width: 100%;

  transform: translateX(-50%)
}



.p-profile .p-profile__mv .p-profile__mv-img img {

  width: 100%
}



.p-profile .p-profile__title {

  font-size: 30px;

  font-family: var(--font-serif)
}



.p-profile .p-profile__catch {

  line-height: 1.5;

  color: var(--accent-color);

  font-size: 28px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-profile .p-profile__txt {

  line-height: 1.8;

  margin-top: 30px
}



.p-profile .p-profile__profile {

  margin-top: 100px
}



.p-profile .p-profile__profile .p-profile__profile-catch {

  margin-top: 40px
}



.p-profile .p-profile__story {

  margin-top: 100px;

  padding: 100px 0 164px;

  background-color: #e5e1d8
}



.p-profile .p-profile__story .p-profile__story-cnt {

  position: relative;

  padding: 60px 0;

  margin-top: 40px
}



.p-profile .p-profile__story .p-profile__story-cnt::before {

  content: "";

  position: absolute;

  top: 0;

  width: 100vw;

  height: 100%;

  background-color: var(--baige-pale)
}



.p-profile .p-profile__story .p-profile__story-cnt::after {

  content: "";

  position: absolute;

  top: 50%;

  width: 100vw;

  height: calc(100% - 100px);

  background-image: url(../images/common/bg_dot.png);

  background-size: 19px auto;

  transform: translateY(-50%)
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(odd)::before {

  right: calc(50% - 400px)
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(odd)::after {

  left: calc(50% + 270px)
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(odd) .p-profile__story-cnt-img {

  right: calc(50% + max(-685px, -63.07vw))
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(even)::before {

  left: calc(50% - 400px)
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(even)::after {

  right: calc(50% + 270px)
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(even) .p-profile__story-cnt-txt {

  margin-left: auto
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(even) .p-profile__story-cnt-img {

  left: calc(50% + max(-685px, -63.07vw))
}



.p-profile .p-profile__story .p-profile__story-cnt:nth-child(6) .p-profile__story-cnt-img {

  transform: none;

  top: 80px
}



.p-profile .p-profile__story .p-profile__story-cnt+.p-profile__story-cnt {

  margin-top: 80px
}



.p-profile .p-profile__story .p-profile__story-cnt .p-profile__story-cnt-txt {

  width: min(600px, 55.24vw)
}



.p-profile .p-profile__story .p-profile__story-cnt .p-profile__story-cnt-img {

  position: absolute;

  top: 55%;

  z-index: 1;

  width: calc(min(600px, 55.24vw) - 20px);

  transform: translateY(-50%)
}



.p-profile .p-profile__story .p-profile__story-cnt .p-profile__story-cnt-img img {

  width: 100%
}



.p-profile .p-profile__book {

  margin-top: 100px
}



.p-profile .p-profile__book .p-profile__book-cnt {

  margin-top: 40px
}



.p-profile .p-profile__book .p-profile__book-button {

  margin-top: 40px;

  text-align: center
}



.p-profile .p-profile__book .p-profile__book-button a {

  width: 300px
}



.p-profile .p-profile__link {

  margin-top: 100px;

  padding: 100px 0;

  background-color: var(--baige-pale)
}



.p-profile .p-profile__link .p-profile__link-list {

  display: flex;

  flex-wrap: wrap;

  gap: 25px 26px;

  margin-top: 40px
}



.p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-item {

  width: calc(33.3% - 18px)
}



.p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-item a {

  display: block;

  height: 100%;

  padding: 15px;

  background-color: #fff
}



.p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-item a:hover img {

  opacity: .7
}



.p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-banner img {

  transition: opacity .3s
}



.p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-title {

  line-height: 1.47;

  margin-top: 15px;

  color: var(--accent-color);

  font-size: 17px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-txt {

  line-height: 1.8;

  margin-top: 15px
}



@media screen and (max-width: 1320px) {

  .p-profile .p-profile__story .p-profile__story-cnt .p-profile__story-cnt-txt {

    width: 43vw
  }



  .p-profile .p-profile__story .p-profile__story-cnt .p-profile__story-cnt-img {

    width: 38vw
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(odd) .p-profile__story-cnt-img {

    right: -30px
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(even) .p-profile__story-cnt-img {

    left: -31px
  }

}



@media screen and (max-width: 896px) {

  .p-profile .c-title__child .c-title__child-ja {

    font-size: 24px
  }



  .p-profile .p-profile__mv .c-breadcrumb {

    top: 0
  }



  .p-profile .p-profile__title {

    font-size: 20px
  }



  .p-profile .p-profile__catch {

    font-size: 18px
  }



  .p-profile .p-profile__txt {

    margin-top: 20px
  }



  .p-profile .p-profile__profile {

    margin-top: 60px
  }



  .p-profile .p-profile__profile .p-profile__profile-catch {

    margin-top: 20px
  }



  .p-profile .p-profile__story {

    margin-top: 60px;

    padding: 60px 0
  }



  .p-profile .p-profile__story .p-profile__story-cnt {

    padding: 30px 0 0;

    margin-top: 30px
  }



  .p-profile .p-profile__story .p-profile__story-cnt::before {

    width: 94.66vw;

    height: calc(100% - 150px)
  }



  .p-profile .p-profile__story .p-profile__story-cnt::after {

    top: auto;

    bottom: 0;

    width: 88.53vw;

    height: 184px;

    background-size: 10px auto;

    transform: none
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(odd)::before {

    right: auto;

    left: -15px
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(odd)::after {

    left: -15px
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(even)::before {

    right: -15px;

    left: auto
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(even)::after {

    right: -15px
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(even) .p-profile__story-cnt-txt {

    margin-left: auto
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(even) .p-profile__story-cnt-img {

    left: 0;

    margin-left: auto
  }



  .p-profile .p-profile__story .p-profile__story-cnt+.p-profile__story-cnt {

    margin-top: 40px
  }



  .p-profile .p-profile__story .p-profile__story-cnt .p-profile__story-cnt-txt {

    width: calc(100% - 30px)
  }



  .p-profile .p-profile__story .p-profile__story-cnt .p-profile__story-cnt-img {

    position: relative;

    top: 0;

    right: 0;

    width: 76vw;

    margin-top: 30px;

    transform: none
  }



  .p-profile .p-profile__story .p-profile__story-cnt:nth-child(6) .p-profile__story-cnt-img {

    top: auto;

    bottom: 0
  }



  .p-profile .p-profile__book {

    margin-top: 60px
  }



  .p-profile .p-profile__book .p-profile__book-cnt {

    margin-top: 40px
  }



  .p-profile .p-profile__book .p-profile__book-button {

    margin-top: 30px
  }



  .p-profile .p-profile__book .p-profile__book-button a {

    width: 250px
  }



  .p-profile .p-profile__link {

    margin-top: 60px;

    padding: 60px 0
  }



  .p-profile .p-profile__link .p-profile__link-list {

    display: block;

    margin-top: 30px
  }



  .p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-item {

    width: 100%
  }



  .p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-item+.p-profile__link-list-item {

    margin-top: 20px
  }



  .p-profile .p-profile__link .p-profile__link-list .p-profile__link-list-txt {

    line-height: 1.6
  }

}



.p-calender .p-calender__mv {

  position: relative
}



.p-calender .p-calender__mv .c-breadcrumb {

  position: absolute;

  top: 0;

  left: 50%;

  z-index: 1;

  width: 100%;

  transform: translateX(-50%)
}



.p-calender .p-calender__mv .p-calender__mv-img img {

  width: 100%
}



.p-calender .p-calender__cnt {

  padding: 48px 0 100px;

  background-image: url(../images/common/bg_grid.png);

  background-size: 10px auto
}



.p-calender .p-celender__title {

  display: flex;

  align-items: center;

  justify-content: center;

  line-height: 1.25;

  text-align: center
}



.p-calender .p-celender__title .p-celender__title-balloon img {

  width: 126px
}



.p-calender .p-celender__title .p-celender__title-txt {

  margin-left: 15px;

  font-size: 40px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-calender .p-celender__title .p-celender__title-txt .p-celender__title-txt-color {

  color: var(--accent-color)
}



.p-calender .p-celender__title .p-celender__title-txt .p-celender__title-txt-num {

  font-size: 50px
}



.p-calender .p-celender__title .p-celender__title-txt .p-celender__title-txt-small {

  font-size: 28px
}



.p-calender .p-celender__txt {

  line-height: 2.11;

  margin-top: 36px;

  font-size: 18px;

  text-align: center
}



.p-calender .p-celender__txt .p-celender__txt-marker {

  background-image: linear-gradient(transparent 75%, #C9982B 0%);

  font-size: 22px;

  font-weight: bold
}



.p-calender .p-celender__txt .p-celender__txt-color {

  color: var(--accent-color);

  font-size: 30px
}



.p-calender .p-celender__items {

  display: flex;

  justify-content: space-around;

  margin-top: 50px;

  padding: 30px;

  background-color: #ebe9e2
}



.p-calender .p-celender__items .p-celender__item {

  display: flex;

  flex-direction: column;

  width: min(421px, 33vw);

  text-align: center
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-img {

  flex-grow: 1;

  display: flex;

  flex-direction: column;

  justify-content: flex-end
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt {

  position: relative;

  width: fit-content;

  line-height: 1.3;

  padding: 0 34px;

  margin: 0 auto 15px;

  font-size: 20px;

  font-weight: bold
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt::before,

.p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt::after {

  content: "";

  position: absolute;

  top: 50%;

  width: 36px;

  height: 49px;

  background-image: url(../images/calender/title_deco.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center center
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt::before {

  left: 0;

  transform: translateY(-50%)
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt::after {

  right: 0;

  transform: translateY(-50%) scale(1, -1)
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-price {

  line-height: 1;

  margin-top: 20px;

  font-size: 18px;

  font-weight: bold
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-price .p-celender__item-price-unit {

  display: inline-block;

  margin-right: 8px;

  padding: 5px 7px;

  border: 1px solid #000;

  font-size: 15px;

  vertical-align: bottom
}



.p-calender .p-celender__items .p-celender__item .p-celender__item-price .p-celender__item-price-num {

  font-size: 28px
}



.p-calender .p-celender__items .p-celender__item:first-child .p-celender__item-price-num {

  color: var(--accent-color)
}



.p-calender .p-celender__items .p-celender__item:last-child .p-celender__item-price-num {

  color: #37447c
}



.p-calender .p-celender__items .p-celender__item .p-calender__item-button {

  margin-top: 20px
}



.p-calender .p-celender__items .p-celender__item .p-calender__item-button a {

  width: 100%;

  max-width: 300px
}



.p-calender .p-celender__att {

  line-height: 2;

  margin-top: 30px;

  text-align: center
}



.p-calender .p-celender__att span {

  font-size: 17px;

  font-weight: bold
}



@media screen and (max-width: 896px) {

  .p-calender .p-calender__cnt {

    padding: 60px 0 0
  }



  .p-calender .p-celender__title {

    justify-content: flex-start;

    text-align: left
  }



  .p-calender .p-celender__title .p-celender__title-balloon img {

    width: 96px
  }



  .p-calender .p-celender__title .p-celender__title-txt {

    margin-left: 22px;

    font-size: 25px
  }



  .p-calender .p-celender__title .p-celender__title-txt .p-celender__title-txt-num {

    font-size: 25px
  }



  .p-calender .p-celender__title .p-celender__title-txt .p-celender__title-txt-small {

    font-size: 18px
  }



  .p-calender .p-celender__txt {

    line-height: 2;

    margin-top: 30px;

    font-size: 15px
  }



  .p-calender .p-celender__txt .p-celender__txt-marker {

    font-size: 18px
  }



  .p-calender .p-celender__txt .p-celender__txt-color {

    color: var(--accent-color);

    font-size: 24px
  }



  .p-calender .p-celender__items {

    display: block;

    margin: 50px -15px 0;

    padding: 50px 30px
  }



  .p-calender .p-celender__items .p-celender__item {

    width: 100%
  }



  .p-calender .p-celender__items .p-celender__item+.p-celender__item {

    margin-top: 64px
  }



  .p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt {

    padding: 0 31px;

    margin: 0 auto 19px;

    font-size: 18px
  }



  .p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt::before,

  .p-calender .p-celender__items .p-celender__item .p-celender__item-img .p-celender__item-img-txt::after {

    width: 34px;

    height: 47px
  }



  .p-calender .p-celender__items .p-celender__item .p-celender__item-price {

    margin-top: 28px;

    font-size: 16px
  }



  .p-calender .p-celender__items .p-celender__item .p-celender__item-price .p-celender__item-price-unit {

    margin-right: 10px;

    padding: 4px 5px;

    font-size: 14px
  }



  .p-calender .p-celender__items .p-celender__item .p-celender__item-price .p-celender__item-price-num {

    font-size: 23px
  }



  .p-calender .p-celender__items .p-celender__item .p-calender__item-button {

    margin-top: 30px
  }



  .p-calender .p-celender__att {

    line-height: 2;

    margin: 0 -15px;

    padding: 20px 15px 50px;

    background-color: #fff;

    font-size: 12px
  }



  .p-calender .p-celender__att span {

    font-size: 15px
  }

}



.p-training {

  overflow: clip
}



.p-training .p-training__nav-sp,

.p-training .p-training__nav-fixed {

  display: none
}



.p-training .p-training__nav-pc {

  position: sticky;

  top: 110px;

  left: 0;

  z-index: 1;

  width: 100%;

  height: 90px;

  margin-top: 85px;

  padding: 15px 0 0;

  transition: background-color .3s
}



.p-training .p-training__nav-pc.scrolled {

  background-color: rgba(229, 225, 216, .6)
}



.p-training .p-training__nav-pc .c-page-link {

  margin-top: 0
}



.p-training .p-training__common-title {

  font-size: 40px;

  font-family: var(--font-serif);

  text-align: center
}



.p-training .p-training__common-lead {

  line-height: 1.8;

  margin-top: 30px;

  font-size: 17px;

  text-align: center
}



.p-training .c-page-link .c-page-link__item a {

  height: 100%;

  padding: 10px 40px 10px 15px;

  background-color: #fff;

  transition: background-color .3s, color .3s
}



.p-training .c-page-link .c-page-link__item.active a {

  background-color: var(--accent-color);

  color: #fff
}



.p-training .p-training__lead {

  position: relative;

  margin-top: min(17vw, 200px)
}



.p-training .p-training__lead::before {

  content: "";

  position: absolute;

  top: max(-10vw, -150px);

  left: 21vw;

  width: 100vw;

  height: calc(100% + min(15.73vw, 200px));

  background-color: var(--baige);

  transform: skewY(-5deg)
}



.p-training .p-training__lead .p-training__lead-inner {

  display: flex;

  align-items: center;

  justify-content: center
}



.p-training .p-training__lead .p-training__lead-img {

  flex-shrink: 0;

  width: min(850px, 35vw);

  margin: 0 58px 0 -16vw
}



.p-training .p-training__lead .p-training__lead-txt-main {

  margin-top: 20px;

  font-size: 45px;

  font-family: var(--font-serif)
}



.p-training .p-training__lead .p-training__lead-txt-main .p-training__lead-txt-main-bg {

  margin-right: 10px;

  padding: 8px 10px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 55px
}



.p-training .p-training__lead .p-training__lead-txt-bottom {

  line-height: 1.8;

  margin-top: 40px
}



.p-training .p-training__lead .p-training__lead-txt-bottom a {

  text-decoration: underline
}



.p-training .p-training__lead .p-training__lead-txt-bottom a:hover {

  text-decoration: none
}



.p-training .p-training__feature {

  position: relative;

  margin-top: 12vw
}



.p-training .p-training__feature::before {

  content: "";

  position: absolute;

  right: 15vw;

  bottom: 2vw;

  z-index: -1;

  width: 100vw;

  height: calc(100% - 300px);

  background-color: #cec6b7;

  transform: skewY(-5deg)
}



.p-training .p-training__feature-list {

  margin-top: 60px;

  counter-reset: feature
}



.p-training .p-training__feature-list .p-training__feature-list-item {

  display: flex;

  padding: 20px;

  border: 1px solid var(--baige-dark);

  background-color: #fff;

  counter-increment: feature
}



.p-training .p-training__feature-list .p-training__feature-list-item+.p-training__feature-list-item {

  margin-top: 25px
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-txt {

  flex: auto
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title {

  display: flex;

  align-items: center;

  margin-bottom: 25px
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title-num {

  line-height: 1;

  margin-right: 24px;

  padding-right: 16px;

  border-right: 1px solid #b9af9b;

  color: var(--baige-dark);

  font-size: 24px;

  font-family: var(--font-en);

  font-weight: 400;

  text-align: center
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title-num::after {

  content: "0" counter(feature);

  display: block;

  color: var(--accent-gold);

  font-size: 66px;

  font-weight: 700
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title-main {

  line-height: 1.5;

  font-size: 28px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title-color {

  color: var(--accent-color)
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-description {

  line-height: 1.8
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-img {

  flex-shrink: 0;

  width: min(320px, 32%);

  margin-left: 30px
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-description-conditions {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin: 14px 0
}



.p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-description-conditions .p-training__feature-list-description-condition {

  width: 180px;

  line-height: 26px;

  border-radius: 13px;

  background-color: var(--baige-dark);

  color: #fff;

  font-weight: bold;

  text-align: center
}



.p-training .p-training__lineup {

  margin-top: 150px;

  padding: 85px 0;

  background-color: var(--baige);

  transform: skewY(-5deg)
}



.p-training .p-training__lineup .p-training__lineup-inner {

  transform: skewY(5deg)
}



.p-training .p-training__lineup .p-training__lineup-section {

  margin-top: 40px
}



.p-training .p-training__lineup .p-training__lineup-section+.p-training__lineup-section {

  margin-top: 80px
}



.p-training .p-training__lineup .p-training__lineup-section .p-training__lineup-title {

  padding: 16px 20px;

  background-color: #574d3a;

  color: #fff;

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-training .p-training__lineup .p-training__popular-list {

  display: flex;

  flex-wrap: wrap;

  gap: 26px;

  margin-top: 30px
}



.p-training .p-training__lineup .p-training__popular-list .p-training__popular-list-item {

  width: calc(33.3% - 18px)
}



.p-training .p-training__lineup .p-training__popular-list .p-training__popular-list-item img {

  transition: opacity .3s
}



.p-training .p-training__lineup .p-training__popular-list .p-training__popular-list-item a:hover img {

  opacity: .7
}



.p-training .p-training__lineup .p-training__lineup-links {

  display: flex;

  gap: 15px;

  margin-top: 30px
}



.p-training .p-training__lineup .p-training__lineup-links .p-training__lineup-link a {

  position: relative;

  display: block;

  width: 100%;

  height: 100%;

  padding: 15px 45px 15px 20px;

  border-radius: 85px;

  background-color: #fff
}



.p-training .p-training__lineup .p-training__lineup-links .p-training__lineup-link a::after {

  content: "";

  position: absolute;

  top: 50%;

  right: 15px;

  width: 13px;

  height: 13px;

  border-right: 1px solid #000;

  border-bottom: 1px solid #000;

  transform: translateY(-10px) rotate(45deg);

  transition: transform .3s
}



.p-training .p-training__lineup .p-training__lineup-links .p-training__lineup-link a:hover::after {

  transform: translateY(0) rotate(45deg)
}



.p-training .p-training__lineup .p-training__lineup-links.p-training__lineup-links--4col .p-training__lineup-link {

  width: 25%
}



.p-training .p-training__lineup .p-training__lineup-links.p-training__lineup-links--3col {

  flex-wrap: wrap
}



.p-training .p-training__lineup .p-training__lineup-links.p-training__lineup-links--3col .p-training__lineup-link {

  width: calc(33.3% - 10px)
}



.p-training .p-training__lineup .p-training__lineup-list-item {

  margin-top: 30px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-title {

  padding: 15px 20px;

  border-radius: 10px 10px 0 0;

  background-color: #cec6b7;

  font-size: 26px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list {

  display: none
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item-txts {

  padding: 30px 20px 20px;

  border-radius: 0 0 10px 10px;

  background-color: #fff
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-catch {

  line-height: 1.54;

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-txt {

  line-height: 1.8;

  margin-top: 20px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button {

  display: block;

  width: 100%;

  margin-top: 30px;

  padding: 20px;

  color: #fff;

  font-size: 17px;

  text-align: center;

  transition: opacity .3s
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button:hover {

  opacity: .7
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button.p-training__lineup-list-list-button--class {

  background-color: var(--accent-color)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button.p-training__lineup-list-list-button--skillup {

  background-color: var(--accent-gold)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button .p-training__lineup-list-list-button-inner {

  position: relative
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button .p-training__lineup-list-list-button-inner::after {

  content: "";

  display: inline-block;

  width: 30px;

  height: 30px;

  margin-left: 20px;

  background-image: url(../images/training/icon_plus.svg);

  background-repeat: no-repeat;

  background-size: contain;

  vertical-align: bottom
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button.open .p-training__lineup-list-list-button-inner::after {

  background-image: url(../images/training/icon_minus.svg)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button .p-training__lineup-list-list-button-bold {

  font-weight: bold
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list {

  margin-top: 30px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item+.p-training__lineup-list-list-item {

  margin-top: 20px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a {

  display: block;

  padding: 20px;

  border: 2px solid #e5e1d8;

  background-color: var(--baige-pale);

  transition: background-color .3s
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-title {

  font-size: 17px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training__lineup-list-list-item-cnt {

  display: flex;

  margin-top: 20px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training__lineup-list-list-img {

  flex-shrink: 0;

  width: min(315px, 32%);

  margin-right: 20px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training__lineup-list-list-img img {

  width: 100%;

  aspect-ratio: 315/192;

  object-fit: cover
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-catch {

  margin-bottom: 15px;

  font-weight: bold;

  font-family: var(--font-serif);

  word-break: break-all
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-txt {

  margin-bottom: 15px;

  overflow: hidden;

  display: -webkit-box;

  -webkit-box-orient: vertical;

  -webkit-line-clamp: 2;

  line-height: 1.8;

  word-break: break-all
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-categories {

  display: flex;

  flex-wrap: wrap;

  gap: 7px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-categories .p-training-lineup-list-list-category {

  line-height: 22px;

  padding: 0 15px;

  border-radius: 11px;

  color: #fff;

  font-size: 14px
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-categories .p-training-lineup-list-list-category.p-training-lineup-list-list-category--class {

  background-color: var(--accent-color)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-categories .p-training-lineup-list-list-category.p-training-lineup-list-list-category--skillup {

  background-color: var(--accent-gold)
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-button {

  width: 250px;

  line-height: 43px;

  margin-top: 37px;

  border: 1px solid var(--accent-color);

  color: var(--accent-color);

  text-align: center;

  transition: background-color .3s, color .3s
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a:hover {

  background-color: #fff
}



.p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a:hover .p-training-lineup-list-list-button {

  background-color: var(--accent-color);

  color: #fff
}



.p-training .p-training__flow {

  margin-top: 130px
}



.p-training .p-training__flow .p-training__flow-list {

  position: relative;

  margin-top: 50px
}



.p-training .p-training__flow .p-training__flow-list::before {

  content: "";

  position: absolute;

  top: 100px;

  left: 75px;

  width: 2px;

  height: calc(100% - 200px);

  background-color: #d9d3c7
}



.p-training .p-training__flow .p-training__flow-list-item {

  display: flex;

  align-items: center
}



.p-training .p-training__flow .p-training__flow-list-item+.p-training__flow-list-item {

  margin-top: 40px
}



.p-training .p-training__flow .p-training__flow-list-item .p-training__flow-list-img {

  flex-shrink: 0;

  width: 150px;

  margin-right: 24px
}



.p-training .p-training__flow .p-training__flow-list-item .p-training__flow-list-label {

  color: var(--accent-gold);

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-training .p-training__flow .p-training__flow-list-item .p-training__flow-list-txt {

  line-height: 1.8;

  margin-top: 20px
}



.p-training.p-post .p-post__button a {

  width: 300px
}



.p-training .p-training__detail-catch {

  margin-bottom: 30px;

  line-height: 1.53;

  font-size: 26px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-training .p-training__detail-catch-bottom {

  line-height: 1.8;

  margin-bottom: 30px
}



.p-training .p-training__detail-img img {

  width: 100%
}



.p-training .p-training__detail-target-title {

  line-height: 35px;

  margin-top: 30px;

  padding: 0 20px;

  background-color: var(--baige-dark);

  color: #fff;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-training .p-training__detail-targets {

  line-height: 1.8;

  padding: 20px;

  background-color: var(--baige-pale)
}



.p-training .p-training__detail-targets .p-training__detail-target {

  padding-left: 20px;

  text-indent: -20px
}



.p-training .p-training__detail-targets .p-training__detail-target+.p-training__detail-target {

  margin-top: 10px
}



.p-training .p-training__detail-targets .p-training__detail-target::before {

  content: "";

  display: inline-block;

  width: 10px;

  height: 10px;

  margin-right: 10px;

  border-radius: 5px;

  background-color: var(--accent-gold)
}



@media screen and (max-width: 1552px) {

  .p-training .p-training__lead::before {

    left: 20vw
  }



  .p-training .p-training__lead .p-training__lead-img {

    margin-left: -95px
  }

}



@media screen and (max-width: 896px) {

  .p-training .p-training__nav-pc {

    display: none
  }



  .p-training .p-training__nav-sp {

    display: block
  }



  .p-training .p-training__nav-fixed {

    position: fixed;

    top: 60px;

    left: 0;

    z-index: 1;

    width: 100%
  }



  .p-training .p-training__nav-fixed .p-training__nav-fixed-txt {

    position: relative;

    z-index: 1;

    line-height: 40px;

    padding: 0 15px;

    background-color: var(--accent-color);

    color: #fff
  }



  .p-training .p-training__nav-fixed .p-training__nav-fixed-txt::after {

    content: "";

    position: absolute;

    top: 50%;

    right: 15px;

    width: 11px;

    height: 11px;

    margin-top: -5.5px;

    border-right: 1px solid #fff;

    border-bottom: 1px solid #fff;

    transform: rotate(45deg)
  }



  .p-training .p-training__nav-fixed .p-training__nav-fixed-list {

    position: fixed;

    top: 100px;

    left: 0;

    z-index: 1;

    display: none;

    width: 100%
  }



  .p-training .p-training__nav-fixed .p-training__nav-fixed-list-item a {

    display: block;

    line-height: 39px;

    padding: 0 15px;

    border: 1px solid var(--accent-color);

    border-top: none;

    background-color: #fff;

    color: var(--accent-color)
  }



  .p-training .p-training__common-title {

    font-size: 25px
  }



  .p-training .p-training__common-lead {

    font-size: 15px
  }



  .p-training .c-page-link .c-page-link__item a {

    padding: 15px 40px 15px 15px
  }



  .p-training .p-training__lead {

    margin-top: 60px
  }



  .p-training .p-training__lead::before {

    top: 13.33vw;

    left: 30px;

    height: 100%
  }



  .p-training .p-training__lead .p-training__lead-inner {

    display: block
  }



  .p-training .p-training__lead .p-training__lead-img {

    width: 92vw;

    margin: 0 auto 0 -15px
  }



  .p-training .p-training__lead .p-training__lead-txt {

    margin: 30px 0 0 30px
  }



  .p-training .p-training__lead .p-training__lead-txt-main {

    font-size: 25px
  }



  .p-training .p-training__lead .p-training__lead-txt-main .p-training__lead-txt-main-bg {

    margin-right: 0;

    padding: 8px;

    font-size: 30px;

    letter-spacing: -0.3px
  }



  .p-training .p-training__lead .p-training__lead-txt-main .p-training__lead-txt-main-spacer {

    height: 10px
  }



  .p-training .p-training__lead .p-training__lead-txt-bottom {

    margin-top: 30px
  }



  .p-training .p-training__feature {

    margin-top: 34.66vw
  }



  .p-training .p-training__feature::before {

    right: auto;

    left: 0;

    bottom: 25vw;

    height: calc(100% - 480px)
  }



  .p-training .p-training__feature-list {

    margin-top: 40px
  }



  .p-training .p-training__feature-list .p-training__feature-list-item {

    display: block;

    padding: 20px 15px 15px
  }



  .p-training .p-training__feature-list .p-training__feature-list-item+.p-training__feature-list-item {

    margin-top: 30px
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title {

    margin-bottom: 20px
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title-num {

    margin-right: 10px;

    padding-right: 15px;

    font-size: 20px
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title-num::after {

    font-size: 50px
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-title-main {

    font-size: 18px
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-description {

    line-height: 1.6
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-img {

    width: 100%;

    margin: 20px 0 0
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-description-conditions {

    margin: 10px 0
  }



  .p-training .p-training__feature-list .p-training__feature-list-item .p-training__feature-list-description-conditions .p-training__feature-list-description-condition {

    width: calc(50% - 5px)
  }



  .p-training .p-training__lineup {

    margin-top: 60px
  }



  .p-training .p-training__lineup .p-training__lineup-section+.p-training__lineup-section {

    margin-top: 60px
  }



  .p-training .p-training__lineup .p-training__lineup-section .p-training__lineup-title {

    padding: 8px 15px 6px;

    font-size: 20px
  }



  .p-training .p-training__lineup .p-training__popular-list {

    flex-direction: column;

    align-items: center;

    gap: 15px
  }



  .p-training .p-training__lineup .p-training__popular-list .p-training__popular-list-item {

    width: 260px
  }



  .p-training .p-training__lineup .p-training__lineup-links {

    display: block
  }



  .p-training .p-training__lineup .p-training__lineup-links .p-training__lineup-link {

    padding: 0 20px
  }



  .p-training .p-training__lineup .p-training__lineup-links .p-training__lineup-link+.p-training__lineup-link {

    margin-top: 10px
  }



  .p-training .p-training__lineup .p-training__lineup-links.p-training__lineup-links--4col .p-training__lineup-link {

    width: 100%
  }



  .p-training .p-training__lineup .p-training__lineup-links.p-training__lineup-links--3col .p-training__lineup-link {

    width: 100%
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-title {

    padding: 9px 15px 8px;

    font-size: 22px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item-txts {

    padding: 15px 15px 20px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-catch {

    line-height: 1.4;

    font-size: 20px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-txt {

    line-height: 1.6
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button {

    padding: 13px 0
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-button .p-training__lineup-list-list-button-inner::after {

    margin-left: 10px;

    width: 20px;

    height: 20px;

    vertical-align: -4px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item+.p-training__lineup-list-list-item {

    margin-top: 25px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a {

    display: block;

    padding: 20px 15px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training__lineup-list-list-item-cnt {

    display: block;

    margin-top: 15px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training__lineup-list-list-img {

    width: 100%;

    margin-right: 0
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-text-wrap {

    margin-top: 15px
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-txt {

    margin-bottom: 20px;

    line-height: 1.6
  }



  .p-training .p-training__lineup .p-training__lineup-list-item .p-training__lineup-list-list-item a .p-training-lineup-list-list-button {

    margin: 20px auto 0
  }



  .p-training .p-training__flow {

    margin-top: 54px
  }



  .p-training .p-training__flow .p-training__flow-list::before {

    top: 50px;

    left: 40px
  }



  .p-training .p-training__flow .p-training__flow-list-item {

    align-items: flex-start
  }



  .p-training .p-training__flow .p-training__flow-list-item+.p-training__flow-list-item {

    margin-top: 30px
  }



  .p-training .p-training__flow .p-training__flow-list-item .p-training__flow-list-img {

    width: 80px;

    margin-right: 20px
  }



  .p-training .p-training__flow .p-training__flow-list-item .p-training__flow-list-main {

    padding-top: 10px
  }



  .p-training .p-training__flow .p-training__flow-list-item .p-training__flow-list-label {

    font-size: 20px
  }



  .p-training .p-training__flow .p-training__flow-list-item .p-training__flow-list-txt {

    line-height: 1.6;

    margin-top: 15px
  }



  .p-training.p-post .p-post__button a {

    width: 266px
  }



  .p-training .p-training__detail-catch {

    font-size: 18px
  }



  .p-training .p-training__detail-catch-bottom {

    line-height: 1.6
  }



  .p-training .p-training__detail-target-title {

    padding: 0 15px;

    font-size: 18px
  }



  .p-training .p-training__detail-targets {

    line-height: 1.6;

    padding: 15px
  }



  .p-training .p-training__detail-targets .p-training__detail-target+.p-training__detail-target {

    margin-top: 20px
  }

}



.p-about .p-about__common-sub-title {

  width: 400px;

  line-height: 40px;

  margin: 0 auto;

  border-radius: 20px;

  background-color: var(--accent-color);

  color: #fff;

  font-size: 20px;

  font-family: var(--font-serif);

  font-weight: bold;

  text-align: center
}



.p-about .p-about__common-title {

  line-height: 1.35;

  margin-top: 15px;

  font-size: 40px;

  font-family: var(--font-serif);

  text-align: center
}



.p-about .p-about__common-title span {

  font-size: 25px
}



.p-about .p-about__lead {

  margin-top: 18px
}



.p-about .p-about__lead .p-about__lead-inner {

  position: relative;

  padding-top: 107px
}



.p-about .p-about__lead .p-about__lead-title {

  position: relative;

  z-index: 1
}



.p-about .p-about__lead .p-about__lead-title-inner {

  display: block;

  width: fit-content;

  line-height: 1.2;

  padding: 12px;

  background-color: #e5e1d8;

  color: var(--accent-color);

  font-size: min(54px, 4.5vw);

  font-family: var(--font-serif)
}



.p-about .p-about__lead .p-about__lead-title-inner+.p-about__lead-title-inner {

  margin-top: 16px
}



.p-about .p-about__lead .p-about__lead-title-medium {

  font-size: min(45px, 3.1vw);

  color: #000
}



.p-about .p-about__lead .p-about__lead-title-small {

  font-size: min(30px, 2.1vw);

  color: #000
}



.p-about .p-about__lead .p-about__lead-txt {

  position: relative;

  z-index: 1;

  width: min(460px, 35.98vw);

  line-height: 1.8;

  margin-top: 40px
}



.p-about .p-about__lead .p-about__lead-img {

  position: absolute;

  bottom: 1vw;

  left: calc(50% - .4vw);

  z-index: 0;

  width: min(50vw, 704px)
}



.p-about .p-about__problem {

  position: relative;

  margin-top: min(8.74vw, 95px)
}



.p-about .p-about__problem::before {

  content: "";

  position: absolute;

  top: max(-13vw, -180px);

  right: 3vw;

  z-index: -1;

  width: 100vw;

  height: calc(100% + 20vw);

  max-height: 800px;

  background-color: var(--baige-pale);

  transform: skewY(-5deg)
}



.p-about .p-about__problem .p-about__problem-list {

  display: flex;

  flex-wrap: wrap;

  gap: 30px 45px;

  margin-top: 40px
}



.p-about .p-about__problem .p-about__problem-list .p-about__problem-list-item {

  display: flex;

  align-items: center;

  width: calc(50% - 22.5px)
}



.p-about .p-about__problem .p-about__problem-list .p-about__problem-list-img {

  flex-shrink: 0;

  width: 62px;

  margin-right: 19px
}



.p-about .p-about__problem .p-about__problem-list .p-about__problem-list-txt {

  position: relative;

  padding: 15px 18px;

  box-shadow: 5px 5px 0 #b9af9b;

  border-radius: 6px;

  background-color: #fff
}



.p-about .p-about__problem .p-about__problem-list .p-about__problem-list-txt::before,

.p-about .p-about__problem .p-about__problem-list .p-about__problem-list-txt::after {

  content: "";

  width: 14px;

  height: 20px;

  position: absolute;

  transform: translateY(-50%)
}



.p-about .p-about__problem .p-about__problem-list .p-about__problem-list-txt::before {

  top: calc(50% + 3px);

  left: -12px;

  clip-path: polygon(calc(100% - 2px) 0, 0 50%, calc(100% - 2px) 100%);

  background-color: #b9af9b
}



.p-about .p-about__problem .p-about__problem-list .p-about__problem-list-txt::after {

  top: 50%;

  left: -14px;

  background-color: #fff;

  clip-path: polygon(100% 0, 0 50%, 100% 100%)
}



.p-about .p-about__point {

  margin-top: min(18.87vw, 205px);

  counter-reset: about-point
}



.p-about .p-about__point .p-about__point-sec {

  position: relative;

  margin-top: 70px;

  counter-increment: about-point
}



.p-about .p-about__point .p-about__point-sec::before {

  content: "";

  position: absolute;

  z-index: -1;

  background-color: var(--baige-pale);

  width: 100vw;

  transform: skewY(-5deg)
}



.p-about .p-about__point .p-about__point-sec+.p-about__point-sec {

  margin-top: 100px
}



.p-about .p-about__point .p-about__point-sec .p-about__point-sec-inner {

  display: flex
}



.p-about .p-about__point .p-about__point-sec .p-about__point-sec-txt-wrap {

  flex: auto
}



.p-about .p-about__point .p-about__point-sec .p-about__point-sec-img {

  flex-shrink: 0;

  width: min(528px, 38.65vw)
}



.p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-right::before {

  top: 4vw;

  right: calc(50% - min(299px, 21.88vw));

  height: calc(100% - 3vw)
}



.p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-right .p-about__point-sec-img {

  margin-left: min(70px, 5.12vw)
}



.p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-left::before {

  top: 1vw;

  left: calc(50% - min(299px, 21.88vw));

  height: calc(100% - min(151px, 11.85vw))
}



.p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-left .p-about__point-sec-inner {

  flex-direction: row-reverse
}



.p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-left .p-about__point-sec-img {

  margin: min(121px, 8.85vw) min(70px, 5.12vw) 0 0
}



.p-about .p-about__point .p-about__point-sec .p-about__point-sec-title {

  line-height: 1.5;

  font-size: 28px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-about .p-about__point .p-about__point-sec .p-about__point-sec-title .p-about__point-sec-title-num {

  display: block;

  width: fit-content;

  line-height: 1;

  color: var(--baige-dark);

  font-family: var(--font-en);

  font-weight: 400;

  letter-spacing: 2px;

  text-align: center
}



.p-about .p-about__point .p-about__point-sec .p-about__point-sec-title .p-about__point-sec-title-num::after {

  content: "0" counter(about-point);

  display: block;

  margin-bottom: 5px;

  color: var(--accent-gold);

  font-size: 80px;

  font-weight: 700
}



.p-about .p-about__point .p-about__point-sec .p-about__point-sec-txt {

  line-height: 1.8;

  margin-top: 30px
}



.p-about .p-about__point .p-about__point-button {

  margin-top: 30px;

  text-align: center
}



.p-about .p-about__point .p-about__point-button a {

  width: 300px
}



.p-about .p-about__education {

  position: relative;

  margin-top: 203px
}



.p-about .p-about__education::before {

  content: "";

  position: absolute;

  top: -90px;

  left: 0;

  z-index: -1;

  width: 100vw;

  height: 390px;

  background-color: #d9d3c7;

  transform: skewY(-5deg)
}



.p-about .p-about__education .p-about__education-list {

  margin-top: 40px;

  display: flex;

  gap: 0 26px
}



.p-about .p-about__education .p-about__education-list .p-about__education-list-item {

  width: 34%
}



.p-about .p-about__education .p-about__education-list .p-about__education-title {

  line-height: 1.38;

  margin-top: 20px;

  font-size: 26px;

  font-weight: bold;

  font-family: var(--font-serif);

  text-align: center
}



.p-about .p-about__education .p-about__education-list .p-about__education-title span {

  color: var(--accent-color)
}



.p-about .p-about__education .p-about__education-list .p-about__education-txt {

  line-height: 1.8;

  margin-top: 20px
}



.p-about .p-about__capacity {

  margin-top: 112px;

  padding: 85px 0;

  background-color: var(--baige-pale);

  transform: skewY(-5deg)
}



.p-about .p-about__capacity .p-about__capacity-inner {

  transform: skewY(5deg)
}



.p-about .p-about__capacity .p-about__capacity-cnt {

  display: flex;

  justify-content: space-between;

  margin-top: 40px
}



.p-about .p-about__capacity .p-about__capacity-img {

  flex-shrink: 0;

  width: min(446px, 41.06vw)
}



.p-about .p-about__capacity .p-about__capacity-txt-wrap {

  width: min(543px, 50vw)
}



.p-about .p-about__capacity .p-about__capacity-title {

  font-size: 25px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-about .p-about__capacity .p-about__capacity-txt {

  line-height: 1.8;

  margin-top: 20px
}



.p-about .p-about__capacity .p-about__capacity-points {

  counter-reset: point-capacity
}



.p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point {

  counter-increment: point-capacity;

  margin-top: 15px;

  padding: 15px;

  background-color: #fff
}



.p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point .p-about__capacity-point-title {

  color: var(--accent-gold);

  font-size: 22px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point .p-about__capacity-point-title::before {

  content: counter(point-capacity);

  display: inline-block;

  width: 30px;

  line-height: 30px;

  margin-right: 9px;

  border-radius: 15px;

  background-color: var(--accent-gold);

  color: #fff;

  text-align: center
}



.p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point .p-about__capacity-point-txt {

  line-height: 1.66;

  margin-top: 15px
}



.p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point .p-about__capacity-point-txt span {

  font-weight: bold
}



.p-about .p-about__change {

  margin-top: 50px
}



.p-about .p-about__change .p-about__change-lead {

  line-height: 1.8;

  margin-top: 40px;

  font-weight: bold;

  text-align: center
}



.p-about .p-about__change .p-about__change-steps {

  counter-reset: about-step;

  position: relative;

  display: flex;

  gap: 0 42px;

  margin-top: 60px
}



.p-about .p-about__change .p-about__change-steps::before {

  content: "";

  position: absolute;

  top: 50%;

  left: 25px;

  width: calc(100% - 50px);

  height: 8px;

  background-color: var(--baige-pale);

  transform: translateY(-50%)
}



.p-about .p-about__change .p-about__change-steps .p-about__change-step {

  counter-increment: about-step;

  position: relative;

  width: 25%;

  padding: 50px 0 15px;

  border: 1px solid var(--accent-gold);

  border-radius: 6px;

  background-color: #fff;

  text-align: center
}



.p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-num {

  position: absolute;

  top: -30px;

  left: 50%;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 64px;

  line-height: 1;

  border-radius: 32px;

  background-color: var(--accent-gold);

  color: #fff;

  font-size: 13px;

  font-family: var(--font-en);

  font-weight: 700;

  transform: translateX(-50%)
}



.p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-num::after {

  content: "0" counter(about-step);

  margin-top: 4px;

  font-size: 30px;

  letter-spacing: 1px
}



.p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-txt {

  font-size: 18px;

  font-family: var(--font-serif)
}



.p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-txt span {

  font-size: min(32px, 2.4vw);

  font-weight: bold
}



.p-about .p-about__change .p-about__change-txt {

  margin-top: 20px;

  font-size: 18px;

  text-align: center
}



.p-about .p-about__change .p-about__change-txt span {

  font-weight: bold
}



.p-about .p-about__reason {

  margin-top: 100px;

  padding: 100px 0;

  background-color: #d9d3c7
}



.p-about .p-about__reason .p-about__reason-catch {

  position: relative;

  width: fit-content;

  padding: 0 37px;

  margin: 40px auto 0;

  font-size: 32px;

  font-weight: bold;

  font-family: var(--font-serif);

  text-align: center
}



.p-about .p-about__reason .p-about__reason-catch::before,

.p-about .p-about__reason .p-about__reason-catch::after {

  content: "";

  position: absolute;

  top: 50%;

  width: 2px;

  height: 37px;

  background-color: var(--accent-gold)
}



.p-about .p-about__reason .p-about__reason-catch::before {

  left: 0;

  transform: translateY(-50%) rotate(-25deg)
}



.p-about .p-about__reason .p-about__reason-catch::after {

  right: 0;

  transform: translateY(-50%) rotate(25deg)
}



.p-about .p-about__reason .p-about__reason-companies {

  display: flex;

  flex-wrap: wrap;

  margin-top: 20px;

  gap: 20px
}



.p-about .p-about__reason .p-about__reason-companies .p-about__reason-company {

  width: calc(20% - 16px)
}



.p-about .p-about__reason .p-about__reason-case {

  display: flex;

  margin-top: 50px;

  gap: 0 26px
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-item {

  width: calc(33.3% - 18px);

  background-color: #fff
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-item a:hover .p-about__reason-case-img img {

  transform: scale(1.2, 1.2)
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-img {

  overflow: hidden
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-img img {

  width: 100%;

  aspect-ratio: 345/210;

  object-fit: cover;

  transition: transform .5s
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-text-wrap {

  padding: 20px
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-categories {

  display: flex;

  flex-wrap: wrap;

  gap: 8px
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-categories .p-about__reason-case-category {

  line-height: 22px;

  padding: 0 15px;

  border-radius: 11px;

  background-color: var(--baige-dark);

  color: #fff
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-title {

  margin-top: 15px;

  color: #574d3a;

  font-weight: bold
}



.p-about .p-about__reason .p-about__reason-case .p-about__reason-case-text {

  margin-top: 15px;

  font-size: 17px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-about .p-about__reason .p-about__reason-button {

  margin-top: 40px;

  text-align: center
}



.p-about .p-about__reason .p-about__reason-button a {

  width: 300px;

  border: none;

  background-color: #fff
}



.p-about .p-about__reason .p-about__reason-button a:hover {

  background-color: var(--accent-color)
}



.p-about .p-about__voice {

  margin-top: 100px
}



.p-about .p-about__voice .p-about__voice-list {

  margin-top: 40px
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-item {

  display: flex;

  align-items: center
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-item+.p-about__voice-list-item {

  margin-top: 30px
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-img {

  flex-shrink: 0;

  width: 150px;

  margin-right: 56px
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt-wrap {

  position: relative;

  flex: auto;

  padding: 20px;

  border-radius: 6px;

  background-color: var(--baige-pale)
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt-wrap::after {

  content: "";

  position: absolute;

  top: 50%;

  left: -26px;

  width: 26px;

  height: 37px;

  transform: translateY(-50%);

  background-color: var(--baige-pale);

  clip-path: polygon(100% 0, 0 50%, 100% 100%)
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-title {

  color: var(--accent-gold);

  font-size: 17px;

  font-weight: bold;

  font-family: var(--font-serif)
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt {

  line-height: 1.8;

  margin-top: 20px
}



.p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt+.p-about__voice-list-txt {

  margin-top: 5px
}



.p-about .p-about__voice .p-about__voice-att {

  margin-top: 10px;

  font-size: 12px;

  text-align: right
}



.p-about .p-about__qa {

  margin-top: 100px;

  padding: 100px 0;

  background-color: var(--baige-pale)
}



.p-about .p-about__qa .p-about__qa-cnts {

  counter-reset: about-qa;

  margin-top: 40px
}



.p-about .p-about__qa .p-about__qa-cnts .p-about__qa-cnt {

  counter-increment: abount-qa
}



.p-about .p-about__qa .p-about__qa-cnts .p-about__qa-cnt+.p-about__qa-cnt {

  margin-top: 30px
}



.p-about .p-about__qa .p-about__qa-cnts .p-about__qa-label {

  padding: 15px;

  background-color: #fff;

  font-size: 17px;

  font-family: var(--font-serif);

  font-weight: bold
}



.p-about .p-about__qa .p-about__qa-cnts .p-about__qa-label::before {

  content: "Q" counter(abount-qa);

  display: inline-block;

  line-height: 1;

  margin-right: 20px;

  color: var(--accent-gold);

  font-family: var(--font-en);

  font-size: 20px
}



.p-about .p-about__qa .p-about__qa-cnts .p-about__qa-txt {

  line-height: 1.8;

  margin-top: 20px
}



@media screen and (max-width: 896px) {

  .p-about .p-about__common-sub-title {

    width: 100%;

    max-width: 325px;

    line-height: 1.4;

    margin: 0 auto;

    padding: 10px 15px;

    border-radius: 40px
  }



  .p-about .p-about__common-title {

    margin-top: 20px;

    font-size: 25px
  }



  .p-about .p-about__common-title span {

    font-size: 18px
  }



  .p-about .p-about__lead {

    margin-top: 0
  }



  .p-about .p-about__lead .p-about__lead-inner {

    padding-top: 48.8vw
  }



  .p-about .p-about__lead .p-about__lead-title-inner {

    padding: 8px;

    font-size: 8vw
  }



  .p-about .p-about__lead .p-about__lead-title-inner+.p-about__lead-title-inner {

    margin-top: 8px
  }



  .p-about .p-about__lead .p-about__lead-title-medium {

    font-size: 5.33vw;

    color: #000
  }



  .p-about .p-about__lead .p-about__lead-title-small {

    font-size: 4vw;

    color: #000
  }



  .p-about .p-about__lead .p-about__lead-txt {

    width: 100%;

    margin-top: 30px
  }



  .p-about .p-about__lead .p-about__lead-img {

    top: 0;

    bottom: auto;

    right: -15px;

    left: auto;

    z-index: 0;

    width: 80vw
  }



  .p-about .p-about__problem {

    margin-top: 38.13vw
  }



  .p-about .p-about__problem::before {

    content: "";

    position: absolute;

    top: -22.13vw;

    right: 0;

    height: calc(100% + 46.71vw);

    max-height: none
  }



  .p-about .p-about__problem .p-about__problem-list {

    display: block;

    margin-top: 30px
  }



  .p-about .p-about__problem .p-about__problem-list .p-about__problem-list-item {

    width: 100%
  }



  .p-about .p-about__problem .p-about__problem-list .p-about__problem-list-item+.p-about__problem-list-item {

    margin-top: 20px
  }



  .p-about .p-about__problem .p-about__problem-list .p-about__problem-list-img {

    width: 50px;

    margin-right: 17px
  }



  .p-about .p-about__problem .p-about__problem-list .p-about__problem-list-txt {

    padding: 15px
  }



  .p-about .p-about__point {

    margin-top: 38.13vw
  }



  .p-about .p-about__point .p-about__point-sec {

    margin-top: 30px
  }



  .p-about .p-about__point .p-about__point-sec::before {

    width: 92vw
  }



  .p-about .p-about__point .p-about__point-sec+.p-about__point-sec {

    margin-top: 40px
  }



  .p-about .p-about__point .p-about__point-sec .p-about__point-sec-inner {

    display: block
  }



  .p-about .p-about__point .p-about__point-sec .p-about__point-sec-img {

    width: 79.72vw
  }



  .p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-right::before {

    top: 2.66vw;

    right: auto;

    left: 0;

    height: calc(100% - 12.77vw)
  }



  .p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-right .p-about__point-sec-txt-wrap {

    padding-right: 30px
  }



  .p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-right .p-about__point-sec-img {

    margin: 20px -15px 0 auto
  }



  .p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-left::before {

    top: 2.66vw;

    right: 0;

    left: auto;

    height: calc(100% - 12.77vw)
  }



  .p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-left .p-about__point-sec-img {

    margin: 20px auto 0 -15px
  }



  .p-about .p-about__point .p-about__point-sec.p-about__point-sec--img-left .p-about__point-sec-txt-wrap {

    padding-left: 30px
  }



  .p-about .p-about__point .p-about__point-sec .p-about__point-sec-title {

    line-height: 1.6;

    font-size: 20px
  }



  .p-about .p-about__point .p-about__point-sec .p-about__point-sec-title .p-about__point-sec-title-num {

    font-size: 22px
  }



  .p-about .p-about__point .p-about__point-sec .p-about__point-sec-title .p-about__point-sec-title-num::after {

    font-size: 60px
  }



  .p-about .p-about__point .p-about__point-button a {

    width: 250px
  }



  .p-about .p-about__education {

    margin-top: 38.66vw
  }



  .p-about .p-about__education::before {

    top: -22.13vw;

    height: 324.63vw
  }



  .p-about .p-about__education .p-about__education-list {

    margin-top: 30px;

    display: block
  }



  .p-about .p-about__education .p-about__education-list .p-about__education-list-item {

    width: 100%
  }



  .p-about .p-about__education .p-about__education-list .p-about__education-list-item+.p-about__education-list-item {

    margin-top: 40px
  }



  .p-about .p-about__education .p-about__education-list .p-about__education-title {

    font-size: 20px
  }



  .p-about .p-about__education .p-about__education-list .p-about__education-txt {

    line-height: 1.6
  }



  .p-about .p-about__capacity {

    margin-top: 17.06vw;

    padding: 23.2vw 0 20.95vw
  }



  .p-about .p-about__capacity .p-about__capacity-cnt {

    display: block;

    margin-top: 30px
  }



  .p-about .p-about__capacity .p-about__capacity-img {

    width: 100%
  }



  .p-about .p-about__capacity .p-about__capacity-txt-wrap {

    width: 100%;

    margin-top: 30px
  }



  .p-about .p-about__capacity .p-about__capacity-title {

    font-size: 22px
  }



  .p-about .p-about__capacity .p-about__capacity-txt {

    line-height: 1.6
  }



  .p-about .p-about__capacity .p-about__capacity-points {

    margin-top: 20px
  }



  .p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point {

    margin-top: 0;

    padding: 17px 15px
  }



  .p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point+.p-about__capacity-point {

    margin-top: 15px
  }



  .p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point .p-about__capacity-point-title {

    font-size: 20px
  }



  .p-about .p-about__capacity .p-about__capacity-points .p-about__capacity-point .p-about__capacity-point-title::before {

    width: 26px;

    line-height: 26px;

    margin-right: 6px
  }



  .p-about .p-about__change {

    margin-top: 16.1vw
  }



  .p-about .p-about__change .p-about__change-lead {

    margin-top: 30px;

    font-size: 14px
  }



  .p-about .p-about__change .p-about__change-steps {

    display: block
  }



  .p-about .p-about__change .p-about__change-steps::before {

    top: 25px;

    left: 50%;

    width: 8px;

    height: calc(100% - 50px);

    transform: translateX(-50%)
  }



  .p-about .p-about__change .p-about__change-steps .p-about__change-step {

    width: 100%;

    padding: 38px 0 17px
  }



  .p-about .p-about__change .p-about__change-steps .p-about__change-step+.p-about__change-step {

    margin-top: 56px
  }



  .p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-num {

    top: -26px;

    width: 54px;

    height: 54px;

    font-size: 12px
  }



  .p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-num::after {

    font-size: 26px
  }



  .p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-txt {

    font-size: 16px
  }



  .p-about .p-about__change .p-about__change-steps .p-about__change-step .p-about__change-step-txt span {

    font-size: 24px
  }



  .p-about .p-about__change .p-about__change-txt {

    margin-top: 30px;

    font-size: 16px
  }



  .p-about .p-about__reason {

    margin-top: 60px;

    padding: 60px 0
  }



  .p-about .p-about__reason .p-about__reason-catch {

    padding: 0 12px;

    margin: 30px auto 0;

    font-size: 19px
  }



  .p-about .p-about__reason .p-about__reason-companies {

    margin-top: 30px;

    gap: 5px
  }



  .p-about .p-about__reason .p-about__reason-companies .p-about__reason-company {

    width: calc(33.3% - 4px)
  }



  .p-about .p-about__reason .p-about__reason-case {

    display: block
  }



  .p-about .p-about__reason .p-about__reason-case .p-about__reason-case-item {

    width: 100%
  }



  .p-about .p-about__reason .p-about__reason-case .p-about__reason-case-item+.p-about__reason-case-item {

    margin-top: 30px
  }



  .p-about .p-about__reason .p-about__reason-case .p-about__reason-case-text {

    margin-top: 20px
  }



  .p-about .p-about__reason .p-about__reason-button {

    margin-top: 30px
  }



  .p-about .p-about__reason .p-about__reason-button a {

    width: 250px
  }



  .p-about .p-about__voice {

    margin-top: 60px
  }



  .p-about .p-about__voice .p-about__voice-list {

    margin-top: 30px
  }



  .p-about .p-about__voice .p-about__voice-list .p-about__voice-list-item {

    align-items: flex-start
  }



  .p-about .p-about__voice .p-about__voice-list .p-about__voice-list-img {

    width: 70px;

    margin-right: 24px
  }



  .p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt-wrap {

    padding: 15px
  }



  .p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt-wrap::after {

    top: 32px;

    left: -14px;

    width: 14px;

    height: 21px;

    transform: none
  }



  .p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt {

    line-height: 1.6;

    margin-top: 15px
  }



  .p-about .p-about__voice .p-about__voice-list .p-about__voice-list-txt+.p-about__voice-list-txt {

    margin-top: 20px
  }



  .p-about .p-about__qa {

    margin-top: 60px;

    padding: 60px 0
  }



  .p-about .p-about__qa .p-about__qa-cnts {

    margin-top: 30px
  }



  .p-about .p-about__qa .p-about__qa-cnts .p-about__qa-txt .p-about__qa-cnt+.p-about__qa-cnt {

    margin-top: 23px
  }

}



.u-text-center {

  text-align: center
}



.u-text-link {

  color: var(--accent-color);

  text-decoration: underline
}



.u-text-link:hover {

  color: var(--accent-color);

  text-decoration: none
}



.u-text-preparation {

  line-height: 1.5;

  margin-bottom: 50px;

  font-size: 18px;

  text-align: center
}



@media screen and (max-width: 896px) {

  .u-text-preparation {

    font-size: 16px
  }

}



.u-main-mb {

  margin-bottom: 100px
}



.u-mt10 {

  margin-top: 10px
}



/*# sourceMappingURL=style.css.map */



.p-header .p-header__megamenu-child .p-header__megamenu-child-with-img {

  flex-wrap: wrap;

  max-width: 600px;

}



@media screen and (max-width: 896px) {

  .p-header .p-header__megamenu-child .p-header__megamenu-child-with-img .p-header__megamenu-child-with-img-item {

    width: 47%;

  }

}



.modaal-video-wrap {

  margin: auto !important;

}



@media screen and (min-width: 897px) {

  .p-header .p-header__megamenu-child .p-header__megamenu-child-with-img img.object_fit {

    object-fit: cover;

    height: 195px;

    width: min(310px, 22.69vw);

    max-width: 280px;

  }

  .c-breadcrumb {

    flex-wrap: wrap;

  }

}



.p-toppage__cnt-with-dot--seminar.cta {

  text-align: center;

}



.p-toppage__cnt-with-dot--seminar.cta img {

  width: 90%;

  max-width: 800px;

}

.fra_edit .btn,

.p-post .p-post__main a {

  position: relative;

}

.fra_edit .btn:after,

.p-post .p-post__main a:after {

  content: "";

  display: flex;

  align-items: center;

  justify-content: center;

  width: 10px;

  height: 100%;

  background-image: url(/wp-content/uploads/2025/06/top_icon_arrow.png);

  background-repeat: no-repeat;

  background-position: center;

  background-size: 10px;
  position: absolute;

  top: 0;

  right: 10px;

}





.c-bottom-contact .c-box__width {

  padding: 0 15px;

}


/* ===========================
  資料ダウンロード用（2026/03/04）
=========================== */
/* ===========================
   CSS変数
=========================== */
:root {
  --modal-color-primary: #b22222;
  --modal-color-btn-active: #b8952a;
  --modal-color-btn-disabled: #b0b0b0;
  --modal-color-overlay: rgba(0, 0, 0, 0.55);
  --modal-color-bg: #ffffff;
  --modal-color-border: #d0d0d0;
  --modal-color-text: #333333;
  --modal-color-required: #b22222;
  --modal-color-link: #1a5fa8;
  --modal-color-input-bg: #f9f9f9;
  --modal-radius: 4px;
  --modal-font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
}

/* ===========================
   オーバーレイ
=========================== */
#sk-modal-overlay {
  display: none;
  position: fixed;
  /* dvh未対応ブラウザ向けフォールバック → dvh対応ブラウザで上書き */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100vh;
  height: 100dvh;
  /* Safari URLバーを含む実際の表示領域に追従 */
  background: var(--modal-color-overlay);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  animation: skFadeIn 0.2s ease;
}

#sk-modal-overlay.is-active {
  display: flex;
}

@keyframes skFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ===========================
   モーダル本体
=========================== */
#sk-modal {
  background: var(--modal-color-bg);
  border-radius: 8px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.22);
  width: 100%;
  max-width: 900px;
  max-height: 90vh;
  max-height: 90dvh;
  /* dvh対応ブラウザで上書き */
  overflow-y: auto;
  position: relative;
  animation: skSlideUp 0.25s ease;
}

@keyframes skSlideUp {
  from {
    transform: translateY(24px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* 閉じるボタン */
#sk-modal-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  color: #666;
  font-size: 22px;
  line-height: 1;
  transition: color 0.15s;
}

#sk-modal-close:hover {
  color: #111;
}

/* ===========================
   2カラムレイアウト
=========================== */
.sk-modal-inner {
  display: flex;
  align-items: stretch;
}

/* 左：資料画像 */
.sk-modal-image {
  width: 300px;
  min-width: 300px;
  /*background: #f0f0ee;*/
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  border-radius: 8px 0 0 8px;
  box-sizing: border-box;
}

.sk-image-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
}

.sk-image-grid img {
  width: 100%;
  height: auto;
  object-fit: cover;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.sk-image-grid img:first-child {
  grid-column: 1 / -1;
}

/* 右：フォームエリア */
.sk-modal-form-area {
  flex: 1;
  padding: 36px 36px 32px;
  box-sizing: border-box;
}

/* タイトル */
.sk-form-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 24px;
  font-size: 20px;
  font-weight: 700;
  color: var(--modal-color-required);
  font-family: var(--modal-font-family);
}

.sk-form-title svg {
  flex-shrink: 0;
  color: var(--modal-color-primary);
}

/* ===========================
   MW WP Form が出力するDOM への上書きスタイル
   ※ .mw_wp_form 内の要素をすべてターゲット
=========================== */

/* フォーム全体リセット */
#sk-modal .mw_wp_form {
  font-family: var(--modal-font-family);
}

#sk-modal .mw_wp_form form {
  margin: 0;
  padding: 0;
}

/* フォームメインエリア */
#sk-modal .p-download__form-main {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 各行（ラベル＋入力のセット） */
#sk-modal .p-download__form-cnt {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ececec;
  padding: 8px 0;
  gap: 12px;
}

/* 同意行は縦並びに */
#sk-modal .p-download__form-cnt--agree {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  border-bottom: none;
  padding-top: 16px;
  padding-bottom: 0;
}

/* ラベル */
#sk-modal .p-download__form-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  width: 4em;
  min-width: unset;
  font-size: 13px;
  font-weight: 600;
  color: var(--modal-color-text);
  flex-shrink: 0;
  line-height: 1.4;
}

#sk-modal .p-download__form-cnt--agree .p-download__form-label {
  text-align: left;
  width: 90%;
  max-width: 400px;
  margin: 0 auto;
}

/* 必須バッジ（ラベルの後に自動挿入） */
#sk-modal .p-download__form-label:not(.p-download__form-label--any)::after {
  content: '（必須）';
  white-space: pre;
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--modal-color-required);
  line-height: 1.3;
}

/* 入力エリア */
#sk-modal .p-download__form-input {
  flex: 1;
}

/* テキスト系インプット */
#sk-modal .mw_wp_form input[type="text"],
#sk-modal .mw_wp_form input[type="email"],
#sk-modal .mw_wp_form input[type="tel"] {
  width: 100%;
  padding: 5px 12px;
  border: 1px solid var(--modal-color-border);
  border-radius: var(--modal-radius);
  font-size: 14px;
  color: var(--modal-color-text);
  background: var(--modal-color-input-bg);
  box-sizing: border-box;
  font-family: var(--modal-font-family);
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
  /* size属性の影響を無効化 */
  max-width: 100%;
}

#sk-modal .mw_wp_form input[type="text"]:focus,
#sk-modal .mw_wp_form input[type="email"]:focus,
#sk-modal .mw_wp_form input[type="tel"]:focus {
  border-color: #888;
  box-shadow: 0 0 0 2px rgba(100, 100, 100, 0.12);
}

/* チェックボックス行 */
#sk-modal .mwform-checkbox-field {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--modal-color-text);
  cursor: pointer;
  margin-bottom: 6px;
}

#sk-modal .mwform-checkbox-field label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

#sk-modal .mwform-checkbox-field input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--modal-color-primary);
  flex-shrink: 0;
  margin: 0;
}

#sk-modal .mwform-checkbox-field-text {
  font-size: 13px;
  line-height: 1.5;
}

/* プライバシーポリシーテキスト */
#sk-modal .p-download__form-privacy-txt {
  font-size: 11px;
  font-weight: 400;
  color: var(--modal-color-text);
  line-height: 1.6;
  margin: 4px 0 5px;
}

/*@media screen and (min-width:768px){
  #sk-modal .p-download__form-privacy-txt {
    white-space: nowrap;
  }
}*/
#sk-modal .p-download__form-privacy-txt a {
  color: var(--modal-color-link);
  text-decoration: underline;
}

#sk-modal .p-download__form-privacy-txt+.mwform-checkbox-field {
  margin-bottom: 16px;
}

/* PC改行クラスは非表示（後でSPで出す） */
#sk-modal .p-download__form-privacy-txt br.pc {
  display: none;
}

/* ===========================
   送信ボタン
   MW WP Formが出力する <button type="submit">
=========================== */
#sk-modal .mw_wp_form button[type="submit"] {
  display: block;
  text-align: center;
  width: 90%;
  max-width: 400px;
  margin: 4px auto 0;
  padding: 16px;
  border: none;
  border-radius: var(--modal-radius);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  cursor: not-allowed;
  background: var(--modal-color-btn-disabled);
  color: #ffffff;
  font-family: var(--modal-font-family);
  transition: background 0.2s, transform 0.1s;
  pointer-events: none;
}

#sk-modal .mw_wp_form button[type="submit"].is-active {
  background: var(--modal-color-btn-active);
  cursor: pointer;
  pointer-events: auto;
}

#sk-modal .mw_wp_form button[type="submit"].is-active:hover {
  background: #a07c20;
  transform: translateY(-1px);
}

#sk-modal .mw_wp_form button[type="submit"].is-active:active {
  transform: translateY(0);
}

/* ===========================
   SP版レイアウト
=========================== */
@media (max-width: 680px) {
  #sk-modal-overlay {
    padding: 0;
    align-items: flex-end;
  }

  #sk-modal {
    border-radius: 16px 16px 0 0;
    max-height: 92vh;
    max-height: 92dvh;
    /* dvh対応ブラウザで上書き */
    max-width: 100%;
    animation: skSlideUpSP 0.3s ease;
  }

  @keyframes skSlideUpSP {
    from {
      transform: translateY(100%);
    }

    to {
      transform: translateY(0);
    }
  }

  .sk-modal-inner {
    flex-direction: column;
  }

  .sk-modal-image {
    width: 100%;
    min-width: auto;
    border-radius: 0 0 8px 8px;
    padding: 5px 20px 24px;
    order: 2;
  }

  .sk-image-grid {
    max-width: 320px;
    margin: 0 auto;
  }

  .sk-modal-form-area {
    padding: 18px 20px 24px;
    order: 1;
  }

  .sk-form-title {
    font-size: 17px;
    margin-bottom: 8px;
  }

  #sk-modal .p-download__form-label {
    font-size: 12px;
  }

  /* iOSズーム防止 */
  #sk-modal .mw_wp_form input[type="text"],
  #sk-modal .mw_wp_form input[type="email"],
  #sk-modal .mw_wp_form input[type="tel"] {
    font-size: 16px;
  }
}


/* ----------------ここからマーケ記述営業研修ページ20250304----------------  */
/* 共通 */
.mt-sp-1 {
  margin-top: 10px !important;
}

.mb-3 {
  margin-bottom: 30px;
}

.mb-4 {
  margin-bottom: 40px;
}

.mb-1 {
  margin-bottom: 10px;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mt-4 {
  margin-top: 40px;
}

.mt-1 {
  margin-top: 10px;
}

@media screen and (max-width: 500px) {
  .mb-sp-2 {
    margin-bottom: 20px;
  }
}

.single-training-sales.u-main-mb {
  margin-bottom: 0px !important;
}

.single-newemployee.u-main-mb {
  margin-bottom: 0px !important;
}

/* 共通ここまで */
.single-training-sales .kv_wrap {
  position: relative;
}

.single-training-sales .kv_wrap .kv_img {
  width: 100%;
}

.single-training-sales .kv_cta_btn {
  position: absolute;
  bottom: -60px;
  right: 30px;
}

.single-training-sales .sp-delete {
  display: none;
}

.single-training-sales .kv_lead {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  color: var(--accent-gold);
  gap: 20px;
  font-family: var(--font-serif);
  margin-top: 60px;
}

@media screen and (max-width: 500px) {
  .single-training-sales {
    /* 大企業様 */
  }

  .single-training-sales .kv_lead {
    font-size: 19px;
    margin-top: 10px;
  }
}

.single-training-sales .kv_lead::after,
.single-training-sales .kv_lead::before {
  content: "";
  display: block;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 1px;
  background-color: var(--accent-gold);
  position: relative;
  top: auto;
  bottom: auto;
}

.single-training-sales {
  /* あなたから買いたい */
}

.single-training-sales .lead_copy_wrap {
  background-image: url("../images/training-sales/brackets_top.webp"), url("../images/training-sales/brackets_under.webp");
  background-repeat: no-repeat;
  background-position: top left, bottom right;
  background-size: 80px;
  padding: 60px;
}

.single-training-sales .lead_copy_wrap .lead_copy_ttl {
  font-size: 26px;
  font-family: var(--font-serif);
  margin-bottom: 30px;
}

.single-training-sales {
  /* 対象者 */
}

.single-training-sales .p-training .p-training__detail-targets {
  line-height: 1.8;
  padding: 20px;
  background-color: var(--baige-pale);
}

.single-training-sales .p-training .p-training__detail-targets .p-training__detail-target {
  padding-left: 20px;
  text-indent: -20px;
}

.single-training-sales .p-training .p-training__detail-targets .p-training__detail-target::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  border-radius: 5px;
  background-color: var(--accent-gold);
}

.single-training-sales .p-training .p-training__detail-target-title {
  line-height: 35px;
  margin-top: 30px;
  padding: 0 20px;
  background-color: var(--baige-dark);
  color: #fff;
  font-family: var(--font-serif);
  font-weight: bold;
}

.single-training-sales {
  /* こんなお悩みありませんか？ */
}

.single-training-sales .section_trouble__bg {
  background-color: var(--light-gray);
  margin-top: -1px;
}

.single-training-sales .section_trouble {
  position: relative;
}

.single-training-sales .section_trouble .trouble__p {
  text-align: center;
  margin-bottom: 50px;
  margin-top: 20px !important;
}

.single-training-sales {
  /* 三角形のセクション区切り */
}

.single-training-sales .section_trouble::before {
  content: "";
  position: absolute;
  height: 80px;
  width: 100%;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: var(--light-gray);
  bottom: -79px;
  left: 0;
  color: #fff;
  text-align: center;
}

.single-training-sales .section_trouble__header {
  text-align: center;
  margin-bottom: 15px;
}

.single-training-sales .section_trouble__header span {
  font-size: 20px;
  font-family: var(--font-serif);
  color: #4d4d4d;
}

.single-training-sales .section_trouble__title {
  font-size: 34px;
  font-family: var(--font-serif);
}

.single-training-sales .color-red {
  color: var(--accent-color);
  font-weight: 400;
}

.single-training-sales .pain-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 28px;
  list-style: none;
  padding-bottom: 50px;
}

.single-training-sales .pain-item {
  display: flex;
  align-items: center;
  background: #6f6f6f;
  border-radius: 9999px;
  padding: 18px 24px;
  gap: 14px;
  color: #fff;
}

.single-training-sales .pain-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.single-training-sales .pain-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  font-family: var(--font-serif);
}

.single-training-sales .hl {
  color: #e8ea3b;
}

.single-training-sales .trouble_img_wrap {
  text-align: center;
}

.single-training-sales .trouble_img_wrap img {
  width: 100%;
  max-width: 400px;
}

.single-training-sales {
  /* 解決 */
}

.single-training-sales .section_solution {
  background-color: var(--accent-color);
  padding-top: 40px;
  background-image: url(../images/training-sales/solution_bg.webp), url(../images/training-sales/solution_bottom.webp);
  background-repeat: no-repeat;
  background-position: top left, bottom right;
  background-size: contain, 30%;
  text-align: center;
}

.single-training-sales .solution_img {
  max-width: 1100px;
  width: 100%;
}

.single-training-sales {
  /* 特徴セクション */
}

.single-training-sales .section_feature {
  padding-bottom: 80px;
}

.single-training-sales .section_feature_ttl {
  font-size: 33px;
  font-family: var(--font-serif);
  font-weight: bold;
  text-align: center;
  padding-top: 80px;
}

.single-training-sales .section_feature_ttl span {
  font-weight: bold;
}

.single-training-sales .feature__item {
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
}

.single-training-sales .feature__head {
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid var(--accent-gold);
  margin-bottom: 15px;
  padding-bottom: 10px;
}

.single-training-sales .feature__label {
  margin: 0;
  font-weight: 700;
  color: #333;
  font-size: 14px;
}

.single-training-sales .feature__no {
  width: 55px;
  flex-shrink: 0;
}

.single-training-sales .feature_img {
  border-radius: 0 50px;
}

.single-training-sales .feature__title {
  font-weight: 800;
  font-size: 24px;
  font-family: var(--font-serif);
  line-height: 1.5;
}

.single-training-sales {
  /* 研修プログラムセクション */
}

.single-training-sales .section_program {
  margin-bottom: 80px;
}

.single-training-sales .section_program .num-list__item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 25px;
}

.single-training-sales .num-list__item img {
  width: 40px;
}

.single-training-sales .line_ttl {
  padding-left: 15px;
  border-left: 3px solid var(--accent-gold);
  font-size: 20px;
  font-weight: 500;
  font-family: var(--font-serif);
}

.single-training-sales {
  /* CTA */
}

.single-training-sales .cta_wrap {
  width: 100%;
  display: block;
  text-align: center;
  margin-bottom: 80px;
}

.single-training-sales .cta_wrap img {
  max-width: 750px;
}

.single-training-sales.p-post .section_program .num-list__text {
  margin-top: 0px;
  font-size: 19px;
  font-family: var(--font-serif);
  font-weight: 400;
}

/* SP */
@media (max-width: 1200px) {
  .single-training-sales .kv_cta_btn {
    width: 270px;
    bottom: -40px;
  }
}

@media (max-width: 768px) {
  .single-training-sales .pain-grid {
    grid-template-columns: 1fr;
  }

  .single-training-sales .pain-item {
    padding: 16px 20px;
  }

  .single-training-sales .pain-text {
    font-size: 15px;
  }
}

@media screen and (max-width: 500px) {
  .single-training-sales .kv_cta_btn {
    display: block;
    position: relative;
    width: 100%;
    text-align: center;
    bottom: auto;
    right: auto;
  }

  .single-training-sales .kv_cta_btn img {
    max-width: 300px;
  }

  .single-training-sales .sp-delete {
    display: block;
  }

  .single-training-sales .mt-sp-3 {
    margin-top: 30px;
  }

  .single-training-sales {
    /* 悩み */
  }

  .single-training-sales .pain-grid {
    gap: 10px;
  }

  .single-training-sales {
    /* あなたから買いたい */
  }

  .single-training-sales .lead_copy_wrap {
    background-repeat: no-repeat;
    background-position: top left, bottom right;
    background-size: 50px;
    padding: 15px;
  }

  .single-training-sales .lead_copy_wrap .lead_copy_ttl {
    font-size: 20px;
    margin-bottom: 0px !important;
  }

  .single-training-sales {
    /* お悩み */
  }

  .single-training-sales .section_trouble__header {
    text-align: center;
    padding-top: 40px;
  }

  .single-training-sales .section_trouble__header span {
    font-size: 17px;
    font-family: var(--font-serif);
    color: #4d4d4d;
  }

  .single-training-sales .section_trouble__title {
    font-size: 24px;
    font-family: var(--font-serif);
  }

  .single-training-sales .section_trouble .trouble__p {
    margin-bottom: 30px;
  }

  .single-training-sales .pain-text {
    font-size: 14px;
  }

  .single-training-sales .pain-icon {
    width: 20px;
    height: 20px;
  }

  .single-training-sales .trouble_img_wrap {
    width: 100%;
    text-align: center;
  }

  .single-training-sales .trouble_img_wrap img {
    max-width: 280px;
  }

  .single-training-sales {
    /* 解決 */
  }

  .single-training-sales .section_solution {
    background-color: var(--accent-color);
    padding-top: 150px;
    background-image: url(../images/training-sales/solution_bg.webp), url(../images/training-sales/solution_bottom.webp);
    background-repeat: no-repeat;
    background-position: top left -50px, bottom right;
    background-size: 300px, 500px;
    text-align: center;
  }

  .single-training-sales {
    /* 特徴セクション */
  }

  .single-training-sales .section_feature {
    padding-bottom: 30px;
  }

  .single-training-sales .feature__head {
    margin-bottom: 0px;
    gap: 10px;
  }

  .single-training-sales .feature__desc {
    margin-top: 15px !important;
  }

  .single-training-sales .section_feature_ttl {
    font-size: 24px;
  }

  .single-training-sales .feature__item {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .single-training-sales .feature__title {
    font-size: 20px;
    flex-grow: 1;
  }

  .single-training-sales .feature__text {
    order: 1;
  }

  .single-training-sales .feature__media {
    order: 2;
  }

  .single-training-sales .feature__no {
    width: 40px;
  }

  .single-training-sales .num-list__item {
    margin-bottom: 10px !important;
  }

  .single-training-sales .p-post h2.wp-block-heading,
  .single-training-sales .p-post h3.wp-block-heading,
  .single-training-sales .p-post h4.wp-block-heading {
    margin-bottom: 25px;
  }

  .single-training-sales .p-post .section_program .num-list__text {
    font-size: 17px;
  }
}

@media screen and (max-width: 896px) {
  .single-training-sales .fra_edit .pc {
    display: none;
  }

  .single-training-sales .cta_wrap {
    padding: 0px;
  }

  .p-post .p-training .u-main-mb .single-newemployee {
    margin-top: 80px !important;
  }
}

/*-----------------ここから新入社員研修LP-----------------*/
.single-newemployee p:not(:first-child) {
  margin-top: 0px !important;
}

.single-newemployee .kv_wrap {
  position: relative;
  background-color: #ece9e3;
}

.single-newemployee .kv_wrap .kv_img {
  width: 100%;
}

.single-newemployee .newemployee_authority {
  position: absolute;
  width: 35vw;
  right: 15px;
  bottom: -10px;
}

.single-newemployee .kv_lead_cta {
  background-color: #ece9e3;
  text-align: center;
  padding: 40px 20px 40px 20px;
}

.single-newemployee .kv_lead_cta img {
  max-width: 450px;
  width: 100%;
}

.single-newemployee .cta_trial_wrap a {
  display: inline-block;
}

.single-newemployee .cta_trial_wrap a:hover {
  opacity: 0.9;
}

.single-newemployee .cta_trial_wrap p {
  margin-top: 0px !important;
}

.single-newemployee .kv_lead {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  color: var(--accent-gold);
  gap: 20px;
  font-family: var(--font-serif);
  margin-top: 60px;
  margin-bottom: 20px;
}

.single-newemployee .kv_lead::after,
.single-newemployee .kv_lead::before {
  content: "";
  display: block;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 1px;
  background-color: var(--accent-gold);
  position: relative;
  top: auto;
  bottom: auto;
}

.single-newemployee {
  /*お悩みセクション*/
}

.single-newemployee .section_trouble__bg {
  background-color: var(--light-gray);
  margin-top: -1px;
}

.single-newemployee .section_trouble {
  position: relative;
}

.single-newemployee .section_trouble .trouble__p {
  text-align: center;
  margin-bottom: 50px;
  margin-top: 20px !important;
}

.single-newemployee .section_trouble::before {
  content: "";
  position: absolute;
  height: 80px;
  width: 100%;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: var(--light-gray);
  bottom: -79px;
  left: 0;
  color: #fff;
  text-align: center;
}

.single-newemployee .section_trouble__header {
  text-align: center;
  margin-bottom: 15px;
}

.single-newemployee .section_trouble__header span {
  font-size: 20px;
  font-family: var(--font-serif);
  color: #4d4d4d;
}

.single-newemployee .section_trouble__title {
  font-size: 34px;
  font-family: var(--font-serif);
}

.single-newemployee .color-red {
  color: var(--accent-color);
  font-weight: 400;
}

.single-newemployee .pain-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 28px;
  list-style: none;
  padding-bottom: 50px;
}

.single-newemployee .pain-item {
  display: flex;
  align-items: center;
  background: #6f6f6f;
  border-radius: 9999px;
  padding: 18px 24px;
  gap: 14px;
  color: #fff;
}

.single-newemployee .pain-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.single-newemployee .pain-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  font-family: var(--font-serif);
}

.single-newemployee .hl {
  color: #e8ea3b;
}

.single-newemployee .trouble_img_wrap {
  text-align: center;
}

.single-newemployee .trouble_img_wrap img {
  width: 100%;
  max-width: 400px;
}

.single-newemployee .pain-grid.one-fr {
  grid-template-columns: 1fr;
  align-self: center;
}

.single-newemployee .pain-item {
  display: block;
  position: relative;
  text-align: center;
  padding-left: 60px;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

.single-newemployee .pain-icon {
  position: absolute;
  left: 25px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.single-newemployee {
  /*解決セクション*/
}

.single-newemployee .section_solution {
  background-color: var(--accent-color);
  padding-top: 40px;
  background-image: url(../images/training-sales/solution_bg.webp), url(../images/training-sales/solution_bottom.webp);
  background-repeat: no-repeat;
  background-position: top left -200px, bottom right;
  background-size: 700px, 30%;
  text-align: center;
  padding-bottom: 110px;
}

.single-newemployee .section_solution .solution_img {
  max-width: 1100px;
  width: 100%;
}

.single-newemployee .solution_box {
  background-color: #fff;
  padding: 5vw;
  margin-bottom: 30px;
}

.single-newemployee .solution_box_ttl {
  font-size: 24px;
  margin-bottom: 20px;
  font-family: var(--font-serif);
}

.single-newemployee .solution_box_ttl .solution_box_ttl_strong {
  font-size: 32px;
  color: var(--accent-color);
}

.single-newemployee .solution_box_image {
  display: block;
  margin: 0 auto;
  max-width: 600px;
  width: 100%;
}

.single-newemployee .solution_box_result {
  display: inline-block;
  margin: 0 auto;
  padding: 20px 30px 20px 80px;
  background-image: url("../images/newemployee/result_red_arrow.webp");
  background-repeat: no-repeat;
  background-position: left 20px center;
  -webkit-background-size: 50px;
  background-size: 50px;
  border: 5px solid var(--baige);
  margin-top: 30px;
}

.single-newemployee .solution_end_p {
  color: #000;
}

.single-newemployee .solution_end {
  font-family: var(--font-serif);
  font-size: 32px;
  color: #fff;
}

.single-newemployee .solution_end_b {
  color: #fce233;
  border-bottom: 1px solid #fff;
}

.single-newemployee .section_reason_ttl {
  display: block;
  text-align: center;
  font-size: 34px;
  font-family: var(--font-serif);
  color: var(--accent-color);
  padding-top: 80px;
  margin-bottom: 30px;
}

.single-newemployee .reason__title {
  font-size: 28px;
  font-family: var(--font-serif);
}

.single-newemployee .reason_ttl_strong {
  font-size: 60px;
}

.single-newemployee .reason__item_ttl_wrap {
  display: flex;
  align-items: center;
  border-bottom: 2px solid var(--accent-color);
  margin-bottom: 30px;
}

.single-newemployee .reason__no {
  width: 110px;
  margin-right: 20px;
}

.single-newemployee .reason__item {
  display: flex;
  gap: 30px;
  margin-bottom: 80px;
}

.single-newemployee .reason_can_wrap {
  background-color: var(--baige);
  font-family: var(--font-serif);
  padding: 20px;
  margin-bottom: 10px;
}

.single-newemployee .reason_can_ttl {
  font-size: 18px;
  margin-bottom: 10px;
}

.single-newemployee .reason_can_ttl .circle {
  color: var(--accent-color);
}

.single-newemployee .reason__desc {
  line-height: 2;
  font-family: var(--font-serif);
}

.single-newemployee .policy_wrap {
  border-left: 4px solid var(--accent-color);
  padding: 5px 20px;
  margin-top: 20px;
}

.single-newemployee .policy_ttl {
  font-size: 18px;
  font-family: var(--font-serif);
  margin-bottom: 5px;
}

.single-newemployee .policy_ttl .diamond {
  color: var(--accent-color);
}

.single-newemployee {
  /* 新入社員研修一覧  */
}

.single-newemployee .list_outer {
  background-color: #f5f4f0;
  padding-top: 60px;
}

.single-newemployee .list_outer h2 {
  font-size: 1.7em;
  text-align: center;
}

.single-newemployee .list_outer h2+p {
  font-weight: 700;
  margin: 0 auto 20px;
  width: 95%;
  text-align: center;
}

.single-newemployee .list_outer .tab_outer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.single-newemployee .list_outer input {
  display: none;
}

.single-newemployee .list_outer label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin: 0 6px;
  width: 46%;
  height: 2.8em;
  border: 1px solid #000;
  border-bottom: transparent;
  color: #640000;
  background-color: #fff;
  border: 1px solid #640000;
}

.single-newemployee .list_outer input:checked+label {
  color: #fff;
  background-color: #640000;
}

.single-newemployee .list_outer .tab_contents {
  display: none;
  padding: 20px 15px 75px;
  background-color: #f5f4f0;
  position: relative;
  animation: fadeIn 1s ease;
  border-top: 4px solid #640000;
}

.single-newemployee .list_outer input#training_1:checked~#training_1_contents,
.single-newemployee .list_outer input#training_2:checked~#training_2_contents {
  display: block;
}

.single-newemployee .list_outer .box {
  margin: 15px auto;
  padding: 15px;
  background: #fff;
  position: relative;
}

.single-newemployee .list_outer .box h3 span:first-of-type {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  padding: 0 10px;
  width: fit-content;
  height: 2.2em;
  background-color: #d9d9d9;
}

.single-newemployee .list_outer .box h3:last-of-type {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
}

.single-newemployee .list_outer .box .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 10px;
}

.single-newemployee .list_outer .box .img {
  width: 40%;
}

.single-newemployee .list_outer .box .catch {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  padding-left: 10px;
  width: 70%;
}

.single-newemployee .list_outer .box dl {
  padding: 5px 10px;
  background-color: rgba(221, 221, 221, 0.3294117647);
}

.single-newemployee .list_outer .box dt {
  font-size: 13px;
  font-family: var(--font-sans-serif);
}

.single-newemployee .list_outer .box dt:nth-of-type(n + 2) {
  margin-top: 10px;
}

.single-newemployee .list_outer .box dd {
  font-size: 13px;
  font-family: var(--font-sans-serif);
}

.single-newemployee .list_outer .box .btn {
  margin: 0 auto;
  width: 80%;
  height: 2.5em;
}

.single-newemployee .tab_outer>div:has(.btn) {
  padding: 1px 0;
  background-color: #ece9e2;
  width: 100%;
}

.single-newemployee .tab_outer label.readmore_btn {
  color: #000 !important;
  margin: 15px auto;
  padding: 0 40px;
  width: 165px;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 3em;
  position: absolute;
  bottom: 0;
  left: calc(50% - 82.5px);
  z-index: 1;
}

.single-newemployee .tab_outer label.readmore_btn::before {
  content: "もっと見る";
  display: inline-block;
}

.single-newemployee input#readmore:checked~label.readmore_btn::before {
  content: "閉じる";
}

.single-newemployee .flow_slick_outer {
  margin: 0 auto;
}

.single-newemployee .flow_slick_outer .slick-track {
  display: flex;
}

.single-newemployee .text {
  font-family: var(--font-serif);
}

.single-newemployee {
  /* 研修動画スライダーボタン */
}

.single-newemployee .slick-dots li {
  margin: 0 2px;
  width: 16px;
  height: 16px;
}

.single-newemployee .slick-dots li button:before {
  font-size: 12px !important;
}

.single-newemployee {
  /* 研修参考動画タイトル */
}

.single-newemployee .circle_ttl {
  font-size: 30px;
  font-family: var(--font-serif);
  margin-bottom: 15px;
}

.single-newemployee .circle_ttl::before {
  content: "●";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #af7900;
  font-size: 30px !important;
  width: 1em;
  height: 1em;
  top: 7px !important;
  left: 0;
}

.single-newemployee .om_block {
  margin-top: 70px;
}

.single-newemployee .slick-prev:before,
.single-newemployee .slick-next:before {
  color: black !important;
}

.single-newemployee .modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}

.single-newemployee .movieslick_item {
  margin-right: 15px;
}

.single-newemployee .check_ttl_wrap {
  text-align: center;
}

.single-newemployee .check_ttl {
  display: inline-flex;
  justify-content: center;
  font-size: 24px;
  font-family: var(--font-serif);
  color: var(--accent-color);
  background-image: url("../images/newemployee/check_bloom_left.svg"), url("../images/newemployee/check_bloom_right.svg");
  background-repeat: no-repeat;
  background-position: left center, right center;
  background-size: 30px;
  text-align: center;
  padding: 0px 40px 0px 45px;
  margin-bottom: 40px;
}

.single-newemployee {
  /* 受講者・現場からの声 */
}

.single-newemployee .newemployee__common-title {
  font-family: var(--font-serif);
  color: #640000;
  font-size: 40px;
  text-align: center;
}

.single-newemployee .newemployee__voice {
  margin-top: 100px;
}

.single-newemployee .newemployee__voice .newemployee__voice-list {
  margin-top: 40px;
}

.single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-item {
  display: flex;
  align-items: center;
}

.single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-item+.newemployee__voice-list-item {
  margin-top: 30px;
}

.single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-img {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
  width: 150px;
  margin-right: 56px;
}

.single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-txt-wrap {
  position: relative;
  flex: auto;
  padding: 20px;
  border-radius: 6px;
  background-color: var(--baige-pale);
}

.single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-txt-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -26px;
  width: 26px;
  height: 37px;
  transform: translateY(-50%);
  background-color: var(--baige-pale);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-txt {
  line-height: 1.8;
}

.single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-txt+.newemployee__voice-list-txt {
  margin-top: 5px;
}

.single-newemployee .newemployee__voice .newemployee__voice-att {
  margin-top: 10px;
  font-size: 12px;
  text-align: right;
}

.single-newemployee .newemployee__user_name {
  font-size: 18px;
  font-weight: bold;
  font-family: var(--font-serif);
}

.single-newemployee .single-newemployee__voice .newemployee__voice-list .newemployee__voice-list-title {
  color: var(--accent-gold);
  font-size: 17px;
  font-weight: bold;
  font-family: var(--font-serif);
}

.single-newemployee {
  /* 無料トライアル研修紹介 */
}

.single-newemployee .section_free_trial {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 80px;
}

.single-newemployee .free_trial_ttl_wrap {
  max-width: 1200px;
}

.single-newemployee .free_trial_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  font-family: var(--font-serif);
  padding: 30px;
  background-color: var(--baige-pale);
  text-align: center;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 400;
  border-top: 3px solid var(--accent-gold);
  border-bottom: 3px solid var(--accent-gold);
}

.single-newemployee .free_trial_box .free_trial_box_lead {
  font-family: var(--font-serif);
  padding: 30px;
  text-align: center;
  font-size: 20px;
  font-weight: 400;
}

.single-newemployee .free_trial_box_inner {
  background-color: #fff;
  padding: 30px 40px;
  text-align: left;
  max-width: 1000px;
}

.single-newemployee .free_trial_box_ttl {
  font-size: 24px;
  font-family: var(--font-serif);
  line-height: 1.5;
}

.single-newemployee .free_trial_box_ttl .circle {
  color: var(--accent-color);
  font-size: 40px;
  font-weight: 500;
}

.single-newemployee .free_trial_box_p {
  font-size: 14px;
  margin-top: 0px !important;
  margin-bottom: 20px;
}

.single-newemployee {
  /* テーブル */
}

.single-newemployee .info_table_wrap {
  width: 100%;
}

.single-newemployee .info_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: 1px solid #cfc8bc;
  margin-bottom: 20px;
}

.single-newemployee .info_table th,
.single-newemployee .info_table td {
  border-bottom: 1px solid #cfc8bc;
  padding: 20px 28px;
  font-size: 16px;
  line-height: 1.7;
  vertical-align: middle;
  text-align: left;
  color: #222;
}

.single-newemployee .info_table th {
  width: 140px;
  background: #e8e3da;
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
}

.single-newemployee .info_table td {
  background: #fff;
  font-weight: 600;
}

.single-newemployee {
  /* 無料トライアル 流れテーブル */
}

.single-newemployee .free_trial_box_flow_wrap {
  width: 100%;
}

.single-newemployee .free_trial_box_flow_table {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 20px;
  border-collapse: separate;
  border-spacing: 0 22px;
}

.single-newemployee .free_trial_box_flow_table th,
.single-newemployee .free_trial_box_flow_table td {
  border-bottom: 1px solid var(--accent-color);
  font-size: 18px;
  line-height: 1.7;
  vertical-align: middle;
  text-align: left;
  color: #222;
}

.single-newemployee .free_trial_box_flow_table td {
  padding: 15px 20px 20px 20px;
  background: #fff;
  font-weight: 600;
  width: 100%;
}

.single-newemployee .free_trial_box_flow_table th {
  display: inline-block;
  padding: 15px 20px 10px 20px;
  width: 140px;
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
  position: relative;
}

.single-newemployee .free_trial_box_flow_table tr {
  display: flex;
  align-items: flex-end;
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}

.single-newemployee .free_trial_box_flow_table .free_trial_box_tr::before {
  content: "";
  display: inline-block;
  flex-direction: column;
  width: 60px;
  height: 20px;
  align-items: center;
  justify-content: center;
  background-image: url(../images/newemployee/flow_under_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.single-newemployee .free_trial_box_flow_table .last::before {
  display: none;
}

.single-newemployee .free_trial_box_a {
  padding-bottom: 3px;
  border-bottom: 1px solid var(--accent-color);
  color: var(--accent-color);
}

.single-newemployee .cta_btn_wrap {
  margin: 30px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.single-newemployee .cta_btn_wrap:hover {
  opacity: 0.9;
}

.single-newemployee {
  /* ------------------------------------
  アニメーションのタイミングとボックスの
  拡大率、角度、透過率の指定
  ------------------------------------*/
}

@keyframes shine-run {
  0% {
    transform: scale(0) rotate(50deg);
    /* アニメ開始時は大きさ0、50度の傾き */
    opacity: 0;
    /* アニメ開始時は全透過 */
  }

  40% {
    transform: scale(1) rotate(50deg);
    /* 40%まで進む間に大きさを等倍に。傾きは50度のまま*/
    opacity: 1;
    /* 透過しない（しっかり表示される）ように1を設定 */
  }

  100% {
    transform: scale(250) rotate(50deg);
    /* 最後は元の大きさの250倍になるようにする。傾きは50度のまま*/
    opacity: 0;
    /* 全透過になるようにして、徐々に消えるような変化を付ける */
  }
}

.single-newemployee .cta_btn_a {
  display: block;
  max-width: 400px;
}

.single-newemployee .accordion_content {
  display: none;
  font-size: 16px;
  background-color: #fff;
  padding: 30px;
  border: 1px solid var(--baige);
}

.single-newemployee .accordion_content span {
  position: relative;
}

.single-newemployee .accordion_header {
  background-color: var(--baige);
  padding: 20px 35px;
  margin: 20px 0 0;
  transition: background 0.3s ease;
  cursor: pointer;
  position: relative;
}

.single-newemployee .accordion_header::before,
.single-newemployee .accordion_header::after {
  position: absolute;
  content: "";
  top: 1px;
  right: 20px;
  bottom: 0;
  width: 20px;
  height: 2px;
  margin: auto;
  background: #493315;
}

.single-newemployee .accordion_header::after {
  transform: rotate(-90deg);
  transition: transform 0.3s;
}

.single-newemployee .accordion_header.active::after {
  transform: rotate(0deg);
}

.single-newemployee .accordion_header span {
  position: relative;
  font-size: 20px;
  font-family: var(--font-serif);
}

.single-newemployee .accordion_header:hover {
  background-color: #f2f2f2;
}

.single-newemployee {
  /* お問い合わせ----------------------------------------------------------------------------------------------------------- */
}

.single-newemployee .contact_inner {
  padding: 60px;
  background-color: #fff;
  max-width: 900px;
  margin: 0 auto;
}

.single-newemployee .contact_inner hgroup {
  text-align: center;
}

.single-newemployee .contact_inner .contact_inner_lead {
  font-size: 19px;
  color: var(--accent-color);
}

.single-newemployee .contact_inner .contact_inner_lead_p {
  font-size: 20px;
  font-family: var(--font-serif);
  margin-bottom: 50px;
}

.single-newemployee .contactform_newemployee {
  max-width: 600px;
  margin: 0 auto;
}

.single-newemployee .contactform_newemployee__row {
  margin-bottom: 30px;
}

.single-newemployee .contactform_newemployee__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  color: #111;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}

.single-newemployee .mwform-checkbox-field-text {
  font-size: 16px;
}

.single-newemployee .contactform_newemployee__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  padding: 5px 7px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  border-radius: 3px;
}

.single-newemployee .contactform_newemployee__badge--required {
  background: #7f0000;
}

.single-newemployee .contactform_newemployee__badge--optional {
  background: #9e9e9e;
}

.single-newemployee .contactform_newemployee__field input[type=text],
.single-newemployee .contactform_newemployee__field input[type=email],
.single-newemployee .contactform_newemployee__field input[type=tel],
.single-newemployee .contactform_newemployee__field textarea {
  width: 100%;
  box-sizing: border-box;
  border: none;
  background: #e6e6e6;
  color: #333;
  font-size: 13px;
  padding: 10px 12px;
  border-radius: 3px;
  appearance: none;
  padding: 10px;
  line-height: 1;
}

.single-newemployee .contactform_newemployee__field input[type=text],
.single-newemployee .contactform_newemployee__field input[type=email],
.single-newemployee .contactform_newemployee__field input[type=tel] {
  padding: 10px 12px;
  font-size: 16px;
  border-radius: 3px;
}

.single-newemployee .contactform_newemployee__field textarea {
  min-height: 120px;
  resize: vertical;
  padding: 10px 12px;
  font-size: 16px;
  border-radius: 3px;
  line-height: 1.5;
}

.single-newemployee .contactform_newemployee__field input::placeholder,
.single-newemployee .contactform_newemployee__field textarea::placeholder {
  color: #7f7f7f;
}

.single-newemployee .contactform_newemployee__field .horizontal-item {
  display: block;
  margin-bottom: 8px;
}

.single-newemployee .contactform_newemployee__field .mwform-checkbox-field label {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  line-height: 1.5;
}

.single-newemployee .mwform-tel-field {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 400px;
}

.single-newemployee .mw_wp_form .horizontal-item+.horizontal-item {
  margin-left: 0px;
}

.single-newemployee .contactform_newemployee__field input[type=checkbox] {
  width: 14px;
  height: 14px;
  margin-top: 2px;
  accent-color: #7f0000;
  border-radius: 3px;
}

.single-newemployee .contactform_newemployee__privacy {
  margin: 18px 0 26px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}

.single-newemployee .contactform_newemployee__privacy a {
  text-decoration: underline;
  color: #111;
}

.single-newemployee .contactform_newemployee__submit {
  text-align: center;
}

.single-newemployee .contactform_newemployee__submit input[type=submit],
.single-newemployee .contactform_newemployee__submit input[type=button],
.single-newemployee .contactform_newemployee__submit button {
  border: none;
  border-radius: 100vmax;
  background: var(--accent-color);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
  padding: 20px 50px;
  min-width: 200px;
}

.single-newemployee .contactform_newemployee__complete {
  text-align: center;
  padding: 40px 20px;
  font-size: 16px;
  line-height: 2;
}

.newemployee_flow_wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 70px;
}

.newemployee_section_faq {
  margin-bottom: 50px;
  position: relative;
}

.newemployee_section_contact {
  background-color: var(--accent-color);
  padding: 75px;
}

@media screen and (max-width: 500px) {
  .single-newemployee {
    /* 大企業様 */
  }

  .single-newemployee .kv_lead {
    font-size: 19px;
    margin-top: 20px;
  }

  .single-newemployee .kv_lead_cta {
    padding: 0px 20px 40px 20px;
  }

  .single-newemployee .section_trouble__header {
    text-align: center;
    padding-top: 40px;
  }

  .single-newemployee .section_trouble__header span {
    font-size: 17px;
    font-family: var(--font-serif);
    color: #4d4d4d;
  }

  .single-newemployee .reason__no {
    width: 85px;
    margin-right: 0px;
    margin-bottom: 10px;
  }

  .single-newemployee .cta_btn_wrap {
    margin: 15px;
    text-align: center;
  }

  .single-newemployee .section_trouble__title {
    font-size: 24px;
    font-family: var(--font-serif);
  }

  .single-newemployee .section_trouble .trouble__p {
    margin-bottom: 30px;
  }

  .single-newemployee .pain-text {
    font-size: 14px;
  }

  .single-newemployee .pain-icon {
    width: 20px;
    height: 20px;
  }

  .single-newemployee .trouble_img_wrap {
    width: 100%;
    text-align: center;
  }

  .single-newemployee .trouble_img_wrap img {
    max-width: 280px;
  }

  .single-newemployee .list_outer h2.newemployee__common-title {
    font-size: 26px;
  }

  .single-newemployee .newemployee__common-title {
    font-size: 26px;
  }

  .single-newemployee .section_reason_ttl {
    font-size: 26px;
    padding-top: 50px;
    margin-bottom: 20px;
    line-height: 1;
  }

  .single-newemployee .reason__item {
    flex-direction: column;
  }

  .single-newemployee .reason__title {
    font-size: 22px;
  }

  .single-newemployee .reason__item_ttl_wrap {
    flex-direction: column;
    align-items: flex-start;
  }

  .single-newemployee .free_trial_box_inner {
    background-color: #fff;
    padding: 15px;
    text-align: left;
    max-width: 1000px;
  }

  .single-newemployee .solution_end {
    font-size: 18px;
  }

  .single-newemployee .solution_box_ttl {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .single-newemployee .solution_box_ttl .solution_box_ttl_strong {
    font-size: 24px;
  }

  .single-newemployee .solution_box_result {
    display: inline-block;
    margin: 0 auto;
    padding: 15px 20px 15px 60px;
    background-image: url("../images/newemployee/result_red_arrow.webp");
    background-repeat: no-repeat;
    background-position: left 20px center;
    -webkit-background-size: 40px;
    background-size: 35px;
    border: 5px solid var(--baige);
    margin-top: 30px;
  }

  .single-newemployee .free_trial_box_flow_table .free_trial_box_tr::before {
    width: 25px;
    height: 20px;
    bottom: -16px;
  }

  .single-newemployee {
    /* 解決 */
  }

  .single-newemployee .section_solution {
    background-color: var(--accent-color);
    padding-top: 150px;
    background-image: url(../images/training-sales/solution_bg.webp), url(../images/training-sales/solution_bottom.webp);
    background-repeat: no-repeat;
    background-position: top left -90px, bottom right;
    background-size: 300px, 500px;
    text-align: center;
  }

  .single-newemployee .newemployee_section_contact {
    padding: 35px 15px;
  }

  .single-newemployee .check_ttl {
    font-size: 18px;
    background-size: 30px;
    margin: 20px;
  }

  .single-newemployee .om_block {
    margin-top: 30px;
  }

  .single-newemployee .list_outer .tab_contents {
    padding: 20px 15px 50px;
  }

  .single-newemployee .list_outer .tab_contents .box h3:last-of-type {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
  }

  .single-newemployee .list_outer .tab_contents .box dd {
    font-size: 16px;
  }

  .single-newemployee .list_outer .tab_contents .box dt {
    font-size: 14px;
  }

  .single-newemployee {
    /* 研修参考動画タイトル */
  }

  .single-newemployee .circle_ttl {
    font-size: 23px;
    margin-bottom: 10px;
  }

  .single-newemployee .circle_ttl::before {
    content: "●";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #af7900;
    font-size: 30px !important;
    width: 0.8em;
    height: 0.8em;
    top: 7px !important;
    left: 0;
  }

  .single-newemployee .free_trial_box_ttl {
    font-size: 24px;
    font-family: var(--font-serif);
    line-height: 1.2;
    margin-bottom: 20px;
  }

  .single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-img {
    flex-shrink: 0;
    width: 80px;
    margin-right: 20px;
  }

  .single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-txt-wrap::after {
    top: 32px;
    left: -14px;
    width: 14px;
    height: 21px;
    transform: none;
  }

  .single-newemployee .newemployee__voice .newemployee__voice-list .newemployee__voice-list-item {
    align-items: flex-start;
  }

  .single-newemployee .newemployee__user_name {
    font-size: 16px;
    font-weight: bold;
    font-family: var(--font-sans-serif);
  }

  .single-newemployee .contact_inner {
    padding: 15px;
    padding-bottom: 30px;
  }

  .single-newemployee .contact_inner .contact_inner_lead_p {
    font-size: 16px;
  }

  .single-newemployee .contact_inner .contact_inner_lead {
    font-size: 15px;
  }

  .single-newemployee .free_trial_box {
    padding: 15px;
  }

  .single-newemployee .free_trial_box .free_trial_box_lead {
    padding: 15px;
    font-size: 17px;
  }

  .p-post.p-training.u-main-mb.single-newemployee {
    margin-top: 60px !important;
  }
}

.single-newemployee .list_outer h2 {
  color: #640000;
  font-size: 40px;
  text-align: center;
  margin-bottom: 20px;
  font-family: var(--font-serif);
}

.single-newemployee .list_outer input#training_1:checked~#training_1_contents,
.single-newemployee .list_outer input#training_2:checked~#training_2_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.single-newemployee .list_outer .box {
  display: flex;
  flex-flow: column;
  width: 47%;
}

.single-newemployee .list_outer .box h3 span:first-of-type {
  color: #fff;
  padding: 0 10px;
  background-color: #af7900;
  border-radius: 3em;
}

.single-newemployee .list_outer .box .catch {
  order: 1;
  color: #640000;
  margin-top: 15px;
  padding-left: 0;
  padding-right: 10px;
  width: 100%;
}

.single-newemployee .list_outer .box dl {
  margin-top: auto;
  background-color: #ece9e2;
}

.single-newemployee .list_outer .box dt {
  font-size: 16px;
  font-family: var(--font-serif);
  padding-left: 1em;
  position: relative;
}

.single-newemployee .list_outer .box dt::before {
  content: "●";
  display: flex;
  align-items: center;
  justify-content: center;
  color: #af7900;
  font-size: 24px;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}

.single-newemployee .list_outer .box dd {
  color: #640000;
  font-size: 20px;
  font-family: var(--font-serif);
}

.single-newemployee .list_outer .box .btn {
  max-width: 250px;
}

.single-newemployee .list_outer .box span {
  margin-bottom: 5px;
}

.single-newemployee .flow_slick_outer {
  margin: 0 auto;
  width: 99%;
}

@media screen and (max-width: 768px) {

  .single-newemployee .info_table,
  .single-newemployee .info_table tbody,
  .single-newemployee .info_table tr,
  .single-newemployee .info_table th,
  .single-newemployee .info_table td {
    display: block;
    width: 100%;
  }

  .single-newemployee input#training_1:checked~#training_1_contents {
    display: block;
  }

  .single-newemployee .list_outer input#training_1:checked~#training_1_contents,
  .single-newemployee .list_outer input#training_2:checked~#training_2_contents {
    display: block;
  }

  .single-newemployee .list_outer .box {
    width: 100%;
  }

  .single-newemployee .info_table {
    border-top: none;
  }

  .single-newemployee .info_table tr {
    border-top: 1px solid #cfc8bc;
    border-bottom: 1px solid #cfc8bc;
  }

  .single-newemployee .info_table th,
  .single-newemployee .info_table td {
    border-bottom: none;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.6;
  }

  .single-newemployee .info_table th {
    background: #e8e3da;
    text-align: left;
  }

  .single-newemployee .info_table td {
    background: #fff;
  }

  .single-newemployee .free_trial_box_flow_table,
  .single-newemployee .free_trial_box_flow_table tbody,
  .single-newemployee .free_trial_box_flow_table tr,
  .single-newemployee .free_trial_box_flow_table th,
  .single-newemployee .free_trial_box_flow_table td {
    display: block;
    width: 100%;
  }

  .single-newemployee .free_trial_box_flow_table {
    border-top: none;
  }

  .single-newemployee .free_trial_box_flow_table tr {
    border-bottom: 1px solid var(--accent-color);
    margin-bottom: 12px;
  }

  .single-newemployee .free_trial_box_flow_table th,
  .single-newemployee .free_trial_box_flow_table td {
    border-bottom: none;
    padding: 14px 16px;
    font-size: 16px;
    line-height: 1.6;
  }

  .single-newemployee .free_trial_box_flow_table th {
    text-align: left;
    padding-bottom: 0px;
    line-height: 1.3;
    max-width: 90px;
    padding-left: 0px;
  }

  .single-newemployee .free_trial_box_flow_table td {
    background: #fff;
    padding-top: 0px;
    padding-left: 0px;
  }

  .single-newemployee .accordion_content {
    font-size: 15px;
    padding: 20px;
  }

  .single-newemployee .accordion_header {
    padding: 10px 25px;
    margin: 10px 0 0;
  }

  .single-newemployee .accordion_header span {
    font-size: 18px;
    font-family: var(--font-serif);
  }

  .single-newemployee .accordion_header::before,
  .single-newemployee .accordion_header::after {
    position: absolute;
    content: "";
    top: 1px;
    right: 20px;
    bottom: 0;
    width: 13px;
    height: 2px;
    margin: auto;
    background: #493315;
  }

  .single-newemployee .contactform_newemployee {
    max-width: 100%;
  }

  .single-newemployee .contactform_newemployee__submit input[type=submit],
  .single-newemployee .contactform_newemployee__submit input[type=button],
  .single-newemployee .contactform_newemployee__submit button {
    width: 100%;
  }

  .newemployee_flow_wrap picture {
    max-width: 350px;
  }

  .lp-page .p-footer {
    padding-bottom: 0px;
  }
}

.lp-page .c-bottom-contact {
  display: none;
}

.lp-page .p-footer__top {
  display: none;
}

.lp-header .lp-header-btn {
  font-size: 19px;
  font-weight: 600;
  color: #fff;
  background-color: #251b13;
  padding: 10px 20px;
  border-radius: 4px;
}

.lp-header.p-header+main.single-newemployee {
  margin-top: 90px !important;
}

.lp-header.p-header .p-header__logo a {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.lp-header.p-header {
  height: 90px;
}

.lp-header .p-header__contact-txt {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 30px;
  margin-right: 15px;
  font-weight: 700;
  color: var(--accent-gold);
  font-family: var(--font-serif);
}

.lp-header .p-header__contact-txt img {
  vertical-align: middle !important;
}

.lp-header .header_right_wrap {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 500px) {
  .lp-header.p-header {
    height: 70px;
  }

  .lp-header .lp-header-btn {
    font-size: 13px;
    padding: 8px 10px;
    letter-spacing: -0.05em;
  }

  .lp-header.p-header+main.single-newemployee {
    margin-top: 70px;
  }

  .lp-header .p-header__logo>p {
    font-size: 11px;
  }

  .lp-header.p-header .p-header__logo a .p-header__logo-bottom {
    width: 80px !important;
  }
}

@media (max-width: 768px) {
  .lp-header .p-header__contact-txt {
    justify-content: center;
    position: fixed;
    align-items: baseline;
    width: 100%;
    background-color: var(--accent-gold);
    color: #fff;
    font-size: 18px;
    padding: 5px 15px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
  }

  .lp-header .p-header__contact-txt picture {
    display: block;
    width: 20px;
    height: 20px;
  }
}


/* フラクタル追記　slick　2026/04/06 */
.fra_edit .slick-slider {
  position: relative;
}

.fra_edit .slick-dots {
  margin-top: 20px;
  position: static;
}

@media screen and (max-width:768px) {
  .fra_edit .slick-dots {
    margin-top: 5px;
    margin-left: -12px !important;
    width: 95vw;
  }
}

@media screen and (max-width:768px) {
  .fra_edit .slick-dots li {
    margin: 0 7px;
    padding: 0;
    width: fit-content;
    height: auto;
  }
}

@media screen and (max-width:768px) {
  .fra_edit .slick-dots li button {
    margin: 0;
    padding: 0;
    width: fit-content;
    height: auto;
  }
}

.fra_edit .slick-dots li button:before {
  color: #867A5A;
  font-size: 10px;
}

@media screen and (max-width:768px) {
  .fra_edit .slick-dots li button:before {
    font-size: 7px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    width: fit-content;
    height: auto;
  }
}

.fra_edit .slick-arrow,
.fra_edit .slick-prev,
.fra_edit .slick-next {
  top: unset;
  bottom: 0;
}

.fra_edit .slick-arrow {
  color: #574c2d;
  z-index: 5;
}

.fra_edit .slick-prev {
  color: #574c2d;
  left: 0;
  z-index: 5;
}

.fra_edit .slick-next {
  right: 0;
  z-index: 5;
}

@media screen and (max-width:768px) {

  .fra_edit .slick-arrow,
  .fra_edit .slick-prev,
  .fra_edit .slick-next {
    top: unset;
    bottom: -5px;
  }
}

.fra_edit .slick-arrow::before,
.fra_edit .slick-prev:before,
.fra_edit .slick-next:before {
  color: #574c2d;
}

.fra_edit .slick-arrow {
  bottom: -10px;
}

@media screen and (min-width: 896px) {
  .fra_edit .slick-next {
    right: 35%;
  }
}

@media screen and (min-width: 896px) {
  .fra_edit .slick-prev {
    left: 35%;
  }
}

@media screen and (max-width:768px) {
  .fra_edit .slick-next {
    right: 5%;
  }
}

.fra_edit .slick-arrow::before,
.fra_edit .slick-prev:before,
.fra_edit .slick-next:before {
  color: #574c2d !important;
}

.menu_slick_outer_second+.connection_bt a.btn.connection {
  display: inline-block;
  color: #8F6140 !important;
  font-size: 18px;
  text-decoration: none;
  padding: 10px 1em 10px 10px !important;
  width: fit-content;
  background-color: unset;
  border: 1px solid;
  border-radius: 5px !important;
  border-color: #8F6140;
}