﻿/*! 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;

  --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

}



@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

}



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

}