@charset "UTF-8";
:root {
  --headerHeight: 76px;
  --width: 1086px;
  --padding: 30px;
  --c-black: #000;
  --c-white: #fff;
  --c-gray: #666;
  --c-lightgray: #a4adac;
  --c-ultralightgray: #e4e6e6;
  --c-bgcolor: #f5f8f7;
  --c-gold: #c8c2a2;
  --c-bluegreen: #669e9a;
  --c-lightblue: #adbac2;
  --c-darkblue: #47535a;
  --c-ultradarkblue: #2d373d;
  --c-ultralightivory: #fcfbf7;
  --c-orange: #df7e00;
  --c-brown: #8e7136;
  --c-laforre: #d2e8e7;
  --c-maria: #fef0e8; }
  @media screen and (max-width: 767px) {
    :root {
      --headerHeight: 56px;
      --padding: 25px; } }

@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes clipmask_ltr {
  0% {
    clip-path: inset(0% 100% 0% 0%); }
  100% {
    clip-path: inset(0% 0% 0% 0%); } }

@keyframes clipmask_rtl {
  0% {
    clip-path: inset(0% 0% 0% 100%); }
  100% {
    clip-path: inset(0% 0% 0% 0%); } }

/*--

  reset

====================================================== --*/
* {
  font-style: normal;
  list-style: none;
  margin: 0px;
  padding: 0px; }

figure,
nav {
  display: block; }

/*--

  body

====================================================== --*/
html {
  font-size: 10px;
  scroll-behavior: smooth;
  scroll-padding-top: var(--headerHeight); }

body {
  background: var(--c-white);
  color: var(--c-ultradarkblue);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  text-align: center;
  -webkit-text-size-adjust: 100%; }

.anchor {
  display: block;
  font-size: 0px;
  height: 0px;
  line-height: 0px; }

img {
  vertical-align: top; }

svg {
  pointer-events: none; }

a {
  color: var(--c-ultradarkblue); }
  a:hover {
    text-decoration: none; }
  @media screen and (min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none;
      text-decoration: none !important; } }

@media screen and (max-width: 767px) {
  .c-pc {
    display: none; } }

@media screen and (min-width: 768px) {
  .c-sp {
    display: none; } }

.svgdefs {
  height: 0px;
  position: absolute;
  width: 0px; }

/*--

  layout

====================================================== --*/
.l-all {
  padding: var(--headerHeight) 0px 0px; }
  @media screen and (max-width: 767px) {
    .l-all {
      width: 100%;
      min-width: 320px; } }

/*-- all --*/
/*-- ------------------------------------------------- --*/
/*--

  contents

====================================================== --*/
.l-contents {
  overflow: hidden; }

/*-- contents --*/
/*-- ------------------------------------------------- --*/
/*--

  header

====================================================== --*/
.header {
  box-sizing: border-box;
  font-size: clamp(1.1rem, 1.2vw, 1.4rem);
  font-weight: 700;
  gap: 30px;
  height: var(--headerHeight);
  line-height: 1.714em;
  margin: 0px auto;
  max-width: calc(var(--width) + var(--padding) * 2);
  position: fixed;
  width: 100%;
  z-index: 1000;
  padding-inline: var(--padding);
  display: block flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  inset: 0px 0px auto; }
  @media screen and (max-width: 767px) {
    .header {
      padding: 0px 10px; } }
  .header::after {
    background: url(../images/header_bg.webp) no-repeat center var(--c-gold);
    content: "";
    height: 4px;
    margin: auto;
    position: fixed;
    z-index: 1;
    inset: 72px 0px auto; }
    @media screen and (max-width: 767px) {
      .header::after {
        background-size: 100% 100%;
        height: 3px;
        top: 53px; } }
  .header::before {
    background: var(--c-white);
    content: "";
    height: var(--headerHeight);
    margin: auto;
    position: fixed;
    z-index: -1;
    inset: 0px 0px auto; }
  .header__logo {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 156px; }
    @media screen and (max-width: 1086px) {
      .header__logo {
        width: 117px; } }
    @media screen and (max-width: 767px) {
      .header__logo {
        -ms-flex-order: 2;
            order: 2;
        width: 120px; } }
    .header__logo a {
      text-decoration: none;
      transition: all 250ms ease; }
      @media screen and (min-width: 768px) {
        .header__logo a:hover {
          opacity: 0.5; } }
  .header__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2px 25px;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .header__list {
        display: none; } }
    .header__list a {
      color: var(--c-black);
      display: inline flow-root;
      position: relative;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        .header__list a:hover::after {
          width: 100%; } }
      .header__list a::after {
        background: var(--c-bluegreen);
        content: "";
        height: 2px;
        position: absolute;
        width: 0px;
        transition: all 250ms ease;
        inset: auto auto -7px 0px; }
  .header__login {
    -ms-flex-negative: 0;
        flex-shrink: 0; }
    @media screen and (max-width: 767px) {
      .header__login {
        -ms-flex-order: 3;
            order: 3; } }
    .header__login a {
      color: var(--c-black);
      -ms-flex-direction: column;
          flex-direction: column;
      text-decoration: none;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (min-width: 768px) {
        .header__login a {
          transition: all 250ms ease; }
          .header__login a:hover {
            color: var(--c-bluegreen); } }
      @media screen and (max-width: 767px) {
        .header__login a {
          color: var(--c-gray);
          font-size: 1.1rem; } }
      .header__login a::before {
        background: currentColor;
        content: "";
        height: 25px;
        width: 25px;
        clip-path: url(#icon_member); }
        @media screen and (max-width: 767px) {
          .header__login a::before {
            scale: 0.75;
            margin-block: -1px -5px; } }
  .header__menubtn {
    background: var(--c-white);
    border: none;
    border-radius: 100%;
    color: var(--c-black);
    cursor: pointer;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 0px;
    height: 40px;
    position: relative;
    width: 50px;
    transition: opacity 250ms ease;
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (min-width: 768px) {
      .header__menubtn {
        display: none; } }
    .header__menubtn::before, .header__menubtn::after {
      background: currentCOlor;
      content: "";
      height: 1px;
      left: 0px;
      margin: auto;
      position: absolute;
      right: 0px;
      width: 22px;
      transition: all 250ms ease; }
    .header__menubtn::before {
      top: 17px; }
    .header__menubtn::after {
      bottom: 17px; }
    .header__menubtn[data-status="open"]::before {
      top: 20px;
      rotate: 45deg; }
    .header__menubtn[data-status="open"]::after {
      bottom: 19px;
      rotate: -45deg; }

.spmenu {
  background: var(--c-white);
  box-sizing: border-box;
  left: 0px;
  padding: 0px var(--padding) var(--padding);
  position: fixed;
  text-align: left;
  top: var(--headerHeight);
  width: 100%;
  z-index: 500;
  translate: -100% 0px;
  transition: translate 500ms cubic-bezier(0.785, 0.135, 0.15, 0.86); }
  .spmenu[data-status="open"] {
    translate: 0% 0px; }
  .spmenu ul {
    margin-bottom: var(--padding); }
  .spmenu li {
    border-bottom: 1px solid var(--c-ultralightgray); }
    .spmenu li a {
      font-size: 1.7rem;
      font-weight: 500;
      height: 54px;
      letter-spacing: 0.02em;
      text-decoration: none;
      display: block flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center; }
  .spmenu nav {
    height: 50px;
    margin: 0px auto;
    width: 200px; }
    .spmenu nav a {
      border: 1px solid #b6bbbb;
      border-radius: 5px;
      box-sizing: border-box;
      font-size: 1.6rem;
      font-weight: 500;
      gap: 10px;
      height: 100%;
      text-decoration: none;
      width: 100%;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      .spmenu nav a::before {
        background: var(--c-black);
        content: "";
        height: 20px;
        width: 25px;
        clip-path: url(#icon_contact); }

/*--

  footer

====================================================== --*/
.footer {
  background: #f5f8f7;
  padding: 80px 0px 0px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .footer {
      padding: 55px 0px 0px; } }
  .footer::before {
    background: url(../images/header_bg.webp) no-repeat center var(--c-gold);
    background-size: auto 100%;
    content: "";
    height: 4px;
    margin: auto;
    position: absolute;
    z-index: 1;
    inset: 0px 0px auto; }
    @media screen and (max-width: 767px) {
      .footer::before {
        height: 3px; } }
  .footer__logo {
    margin-bottom: 55px; }
    @media screen and (max-width: 767px) {
      .footer__logo {
        margin-bottom: 25px; } }
    .footer__logo a {
      display: block flow-root;
      margin: 0px auto;
      width: 186px;
      text-decoration: none;
      transition: all 250ms ease; }
      @media screen and (max-width: 767px) {
        .footer__logo a {
          width: 120px; } }
      @media screen and (min-width: 768px) {
        .footer__logo a:hover {
          opacity: 0.5; } }
      .footer__logo a img {
        width: 100%; }

.footer__list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.6rem;
  gap: 0.5em 2em;
  margin-bottom: 55px;
  padding-inline: var(--padding);
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .footer__list {
      margin-bottom: 25px; } }
  @media screen and (max-width: 767px) {
    .footer__list {
      font-size: 1.2rem; } }
  .footer__list a {
    color: #456d84;
    display: inline flow-root;
    position: relative;
    text-decoration: none; }
    @media screen and (min-width: 768px) {
      .footer__list a {
        transition: all 250ms ease; }
        .footer__list a:hover {
          color: var(--c-black); }
          .footer__list a:hover::after {
            width: 100%; } }
    .footer__list a::after {
      background: var(--c-bluegreen);
      content: "";
      height: 2px;
      position: absolute;
      width: 0px;
      transition: all 250ms ease;
      inset: auto auto -7px 0px; }

.footer__copyright {
  border-top: 1px solid var(--c-ultralightgray);
  color: #727d83;
  display: block flow-root;
  font-size: 1.4rem;
  letter-spacing: 0.043em;
  line-height: 1.5em;
  padding: 25px var(--padding); }
  @media screen and (max-width: 767px) {
    .footer__copyright {
      font-size: 1.1rem;
      padding-block: 10px;
      margin-inline: var(--padding); } }

/*--

  pagetop

====================================================== --*/
.pagetop {
  bottom: 30px;
  height: 36px;
  position: fixed;
  right: 30px;
  width: 36px;
  z-index: 1000; }
  @media screen and (max-width: 767px) {
    .pagetop {
      display: none; } }
  .pagetop a {
    border-radius: 100%;
    display: block;
    height: 36px;
    left: 0px;
    opacity: 0.4;
    overflow: hidden;
    position: absolute;
    top: 66px;
    transition: all 200ms ease;
    width: 36px; }
    .pagetop a:hover {
      opacity: 0.8; }
  .pagetop[data-status="show"] a {
    top: 0px; }

/*--

  archive

====================================================== --*/
.c-btn {
  height: 56px;
  max-width: 444px;
  margin-inline: auto; }
  @media screen and (max-width: 767px) {
    .c-btn {
      height: 47px;
      max-width: 340px; } }
  .c-btn--middle {
    max-width: 364px; }
    @media screen and (max-width: 767px) {
      .c-btn--middle {
        max-width: 260px; } }
  .c-btn a {
    background: url(../images/btn_bg.webp) no-repeat center;
    background-size: cover;
    color: var(--c-white);
    font-size: 1.8rem;
    font-weight: 700;
    height: 100%;
    position: relative;
    text-decoration: none;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .c-btn a {
        font-size: 1.5rem;
        letter-spacing: 0.2em; } }
    @media screen and (min-width: 768px) {
      .c-btn a:hover i {
        right: 15px; }
      .c-btn a:hover::after {
        border-width: 4px; } }
    .c-btn a::after {
      border: 0px solid currentColor;
      content: "";
      margin: auto;
      opacity: 0.5;
      position: absolute;
      transition: all 250ms ease;
      inset: 0px; }
    .c-btn a::before {
      background: url(../images/btn_bg02.webp) no-repeat center;
      background-size: 100% 100%;
      content: "";
      margin: auto;
      position: absolute;
      inset: 4px; }
    .c-btn a i {
      background: currentColor;
      content: "";
      height: 8px;
      margin: auto;
      position: absolute;
      width: 21px;
      inset: 0px 20px 0px auto;
      transition: all 250ms ease;
      clip-path: url(#icon_arrow); }
      @media screen and (max-width: 767px) {
        .c-btn a i {
          right: 10px;
          scale: 0.75; } }
  @media screen and (min-width: 768px) {
    .c-btn--back a:hover i {
      left: 15px;
      right: auto; } }
  .c-btn--back a i {
    transform: scaleX(-1);
    inset: 0px auto 0px 20px; }

.c-title {
  -ms-flex-direction: column;
      flex-direction: column;
  margin: 0px auto 35px;
  max-width: var(--width);
  padding: 0px var(--padding);
  text-align: left; }
  @media screen and (max-width: 767px) {
    .c-title {
      margin-bottom: 25px; } }
  .c-title h2 {
    color: var(--c-ultradarkblue);
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.166em;
    margin-bottom: 7px;
    padding-bottom: 14px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .c-title h2 {
        font-size: 2.2rem;
        margin-bottom: 2px;
        padding-bottom: 7px; } }
    .c-title h2::after {
      background: url(../images/top/title_bg.webp) no-repeat right bottom var(--c-gold);
      background-size: auto 100%;
      content: "";
      height: 3px;
      position: absolute;
      width: 100vw;
      inset: auto 0px 0px auto; }
      @media screen and (max-width: 767px) {
        .c-title h2::after {
          height: 2px; } }
  .c-title p {
    color: var(--c-lightgray);
    font-family: "Times New Roman", serif;
    font-size: 2.4rem;
    letter-spacing: 0.08em;
    line-height: 1.192em; }
    @media screen and (max-width: 1086px) {
      .c-title p {
        font-size: 1.8rem; } }
    @media screen and (max-width: 767px) {
      .c-title p {
        letter-spacing: 0.04em; } }
  .c-title--big h2 {
    font-size: 3.6rem; }
    @media screen and (max-width: 767px) {
      .c-title--big h2 {
        font-size: 2.2rem; } }
  .c-title--big p {
    font-size: 2.6rem; }
    @media screen and (max-width: 767px) {
      .c-title--big p {
        font-size: 1.8rem; } }
  .c-title--small h2 {
    font-size: 2.8rem; }
    @media screen and (max-width: 767px) {
      .c-title--small h2 {
        font-size: 2.2rem; } }
    .c-title--small h2::after {
      height: 2px; }
  @media screen and (max-width: 767px) {
    .c-title--spreverse {
      text-align: right; } }
  @media screen and (max-width: 767px) {
    .c-title--spreverse h2::after {
      left: 0px;
      right: auto;
      rotate: 180deg; } }

.c-maintitle {
  background-color: var(--c-ultralightgray);
  color: var(--c-darkblue);
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  height: 145px;
  letter-spacing: 0.1em;
  line-height: 1.2em;
  margin-bottom: 60px;
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .c-maintitle {
      font-size: 2.3rem;
      height: 102px;
      margin-bottom: 35px; } }
  .c-maintitle--notfound, .c-maintitle--contact, .c-maintitle--products, .c-maintitle--about, .c-maintitle--sitemap, .c-maintitle--agreement, .c-maintitle--privacy, .c-maintitle--law, .c-maintitle--overview, .c-maintitle--seminar, .c-maintitle--news {
    background: url(../images/news/title_bg.webp) no-repeat center;
    background-size: cover; }
  .c-maintitle--member, .c-maintitle--login {
    background: url(../images/login/title_bg.webp) no-repeat center #ece8f2;
    background-size: cover; }

.c-contact {
  background: #f6f8f7;
  padding: 100px var(--padding); }
  @media screen and (max-width: 767px) {
    .c-contact {
      padding-block: 50px; } }
  .c-contact--top {
    background: var(--c-white); }
  .c-contact__body {
    background: url(../images/contact_bg.webp) no-repeat center;
    background-size: cover;
    box-sizing: border-box;
    max-width: 828px;
    padding: 55px var(--padding) 42px;
    position: relative;
    margin-inline: auto; }
    @media screen and (max-width: 767px) {
      .c-contact__body {
        padding-block: 35px 10px; } }
    .c-contact__body::before {
      background: url(../images/contact_line.webp) no-repeat center;
      background-size: 100% 100%;
      content: "";
      margin: auto;
      position: absolute;
      inset: 10px; }
    .c-contact__body h2 {
      color: var(--c-gray);
      font-family: "Times New Roman", serif;
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: -0.03em;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .c-contact__body h2 {
          font-size: 1.6rem;
          letter-spacing: -0.1em;
          line-height: 1.6875em;
          margin-bottom: 10px; } }
    .c-contact__body dt {
      color: var(--c-bluegreen);
      font-size: 2rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      margin-bottom: 25px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .c-contact__body dt {
          font-size: 1.3rem;
          margin-bottom: 17px; } }
      .c-contact__body dt::before, .c-contact__body dt::after {
        bottom: 0px;
        content: "";
        height: 2px;
        margin: auto auto;
        position: absolute;
        top: 0px; }
      .c-contact__body dt::before {
        background: url(../images/contact_line02.webp) no-repeat center;
        background-size: 100% 100%;
        left: 0px;
        right: 475px; }
        @media screen and (max-width: 767px) {
          .c-contact__body dt::before {
            right: 220px; } }
      .c-contact__body dt::after {
        background: url(../images/contact_line03.webp) no-repeat center;
        background-size: 100% 100%;
        left: 475px;
        right: 0px; }
        @media screen and (max-width: 767px) {
          .c-contact__body dt::after {
            left: 220px; } }
    .c-contact__body dd {
      margin: 0px 0px 25px; }
      @media screen and (max-width: 767px) {
        .c-contact__body dd {
          margin: 0px 0px 20px; } }
      .c-contact__body dd div {
        margin: 25px auto 10px;
        max-width: 428px; }
        @media screen and (max-width: 767px) {
          .c-contact__body dd div {
            margin: 17px auto 8px; } }
        .c-contact__body dd div img {
          width: 100%; }
        .c-contact__body dd div a {
          display: block; }
      .c-contact__body dd p {
        color: var(--c-gray);
        font-feature-settings: "palt";
        font-size: 2rem;
        font-weight: 500;
        letter-spacing: 0.043em; }
        @media screen and (max-width: 767px) {
          .c-contact__body dd p {
            font-size: 1.4rem;
            letter-spacing: 0px; } }
      @media screen and (max-width: 767px) {
        .c-contact__body dd .c-btn {
          max-width: 250px; } }
    .c-contact__body dl {
      margin: 0px auto;
      max-width: 710px; }
      @media screen and (max-width: 767px) {
        .c-contact__body dl {
          max-width: 280px; } }

.c-bns {
  padding: 80px var(--padding) 46px; }
  @media screen and (max-width: 767px) {
    .c-bns {
      padding-inline: 0px; } }
  .c-bns--top {
    padding-top: 20px; }
  .c-bns__wrapper {
    margin: 0px auto 30px;
    max-width: 1255px;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .c-bns__wrapper {
        margin-bottom: 15px; } }
    @media screen and (max-width: 767px) {
      .c-bns__wrapper ul {
        margin: 0px auto;
        width: calc(100% - 64px * 2); } }
  .c-bns__list {
    gap: 80px;
    transition: transform 500ms ease;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 1086px) {
      .c-bns__list {
        gap: var(--padding); } }
    .c-bns__list li {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      width: calc((100% - 160px) / 3); }
      @media screen and (max-width: 1086px) {
        .c-bns__list li {
          width: calc((100% - var(--padding) * 2) / 3); } }
      @media screen and (max-width: 767px) {
        .c-bns__list li {
          width: 100%; } }
      .c-bns__list li a {
        text-decoration: none;
        transition: all 250ms ease; }
        @media screen and (min-width: 768px) {
          .c-bns__list li a:hover {
            opacity: 0.5; } }
      .c-bns__list li img {
        width: 100%; }
  .c-bns__ctrl {
    gap: 15px;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    .c-bns__ctrl ul {
      gap: 10px;
      -ms-flex-order: 2;
          order: 2;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .c-bns__ctrl ul {
          gap: 15px; } }
      .c-bns__ctrl ul li {
        background: var(--c-lightblue);
        border-radius: 100%;
        cursor: pointer;
        height: 6px;
        width: 6px;
        transition: all 250ms ease; }
        @media screen and (max-width: 767px) {
          .c-bns__ctrl ul li {
            height: 9px;
            width: 9px; } }
        @media screen and (min-width: 768px) {
          .c-bns__ctrl ul li:hover {
            background: var(--c-gold); } }
        .c-bns__ctrl ul li[data-current="true"] {
          background: var(--c-gold);
          pointer-events: none; }
  .c-bns__prev {
    -ms-flex-order: 1;
        order: 1;
    scale: -0.5 0.5; }
    @media screen and (max-width: 767px) {
      .c-bns__prev {
        scale: -0.68 0.68; } }
  .c-bns__next {
    -ms-flex-order: 2;
        order: 2;
    scale: 0.5; }
    @media screen and (max-width: 767px) {
      .c-bns__next {
        scale: 0.68; } }
  .c-bns__prev, .c-bns__next {
    cursor: pointer;
    height: 44px;
    position: relative;
    width: 25px;
    z-index: 5;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (min-width: 768px) {
      .c-bns__prev:hover, .c-bns__next:hover {
        opacity: 0.5; } }
    .c-bns__prev[data-disable="true"], .c-bns__next[data-disable="true"] {
      opacity: 0.3;
      pointer-events: none; }
    .c-bns__prev::before, .c-bns__next::before {
      background: var(--c-gold);
      content: "";
      margin: auto;
      position: absolute;
      clip-path: url(#icon_sliderarrow);
      inset: 0px; }

.c-instagram {
  border-top: 1px solid var(--c-ultralightgray);
  padding: 60px var(--padding); }
  @media screen and (max-width: 767px) {
    .c-instagram {
      margin: 0px var(--padding);
      padding-block: 35px; } }
  .c-instagram a {
    color: var(--c-darkblue);
    font-size: 2.2rem;
    font-weight: 500;
    gap: 18px;
    letter-spacing: 0.02em;
    line-height: 1.75em;
    display: inline flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (max-width: 767px) {
      .c-instagram a {
        font-size: 1.6rem; } }
    @media screen and (min-width: 768px) {
      .c-instagram a:hover {
        opacity: 0.5; } }
    .c-instagram a::before {
      background: url(../images/icon_instagram.webp) no-repeat center;
      background-size: contain;
      content: "";
      height: 37px;
      width: 37px; }
      @media screen and (max-width: 767px) {
        .c-instagram a::before {
          height: 25px;
          width: 25px; } }

ul.c-topicpath {
  box-sizing: content-box;
  margin: 10px auto 35px;
  max-width: var(--width);
  padding: 0px var(--padding);
  display: block flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    ul.c-topicpath {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 5px auto;
      padding: 0px 10px; } }
  ul.c-topicpath li {
    color: var(--c-bluegreen);
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.002em;
    line-height: 1.846em;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 1086px) {
      ul.c-topicpath li {
        font-size: 1.1rem; } }
    @media screen and (max-width: 767px) {
      ul.c-topicpath li {
        font-size: 10.5px;
        line-height: 1.6em; } }
    ul.c-topicpath li a {
      color: var(--c-gray);
      font-weight: inherit;
      text-decoration: none;
      transition: all 250ms ease; }
      @media screen and (min-width: 768px) {
        ul.c-topicpath li a:hover {
          color: var(--c-bluegreen); } }
    ul.c-topicpath li:not(:last-child)::after {
      background: #999;
      content: "";
      height: 14px;
      margin: 0px 15px;
      width: 8px;
      clip-path: url(#icon_arrow02); }
      @media screen and (max-width: 1086px) {
        ul.c-topicpath li:not(:last-child)::after {
          margin: 0px 10px;
          scale: 0.75; } }
      @media screen and (max-width: 767px) {
        ul.c-topicpath li:not(:last-child)::after {
          margin: 0px 8px; } }

.c-dotlist__caption {
  font-size: 1.2rem; }
  @media screen and (max-width: 767px) {
    .c-dotlist__caption {
      font-size: 1rem; } }

.c-dotlist li {
  margin-left: 5px;
  padding-left: 20px;
  position: relative;
  color: var(--c-ultradarkblue);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.875em; }
  @media screen and (max-width: 767px) {
    .c-dotlist li {
      font-size: 1.5rem;
      line-height: 1.733em; } }
  @media screen and (max-width: 767px) {
    .c-dotlist li {
      padding-left: 15px; } }
  .c-dotlist li strong {
    font-weight: 700; }
  .c-dotlist li sup {
    font-size: 66%;
    line-height: 1em;
    vertical-align: 0.5em; }
  .c-dotlist li::before {
    background: #b2cecc;
    border-radius: 100%;
    content: "";
    height: 9px;
    position: absolute;
    width: 9px;
    inset: calc(0.5lh - 5px) auto auto 0px; }
    @media screen and (max-width: 767px) {
      .c-dotlist li::before {
        height: 8px;
        top: calc(0.5lh - 4px);
        width: 8px; } }

/*--

  top

====================================================== --*/
.top__title {
  margin: 0px auto 50px;
  max-width: var(--width);
  padding: 0px var(--padding);
  text-align: left; }
  @media screen and (max-width: 767px) {
    .top__title {
      margin-bottom: 30px; } }
  .top__title h2 {
    color: var(--c-ultradarkblue);
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-size: 3.6rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.166em;
    margin-bottom: 8px;
    padding-bottom: 14px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .top__title h2 {
        font-size: 2.7rem;
        letter-spacing: 0px;
        margin-bottom: 3px;
        padding-bottom: 10px; } }
    .top__title h2::after {
      background: url(../images/top/title_bg.webp) no-repeat right bottom var(--c-gold);
      background-size: auto 100%;
      content: "";
      height: 3px;
      position: absolute;
      width: 100vw;
      inset: auto 0px 0px auto; }
      @media screen and (max-width: 767px) {
        .top__title h2::after {
          height: 2px; } }
  .top__title p {
    color: var(--c-lightgray);
    font-family: "Times New Roman", serif;
    font-size: 2.6rem;
    letter-spacing: 0.04em;
    line-height: 1.192em; }
    @media screen and (max-width: 1086px) {
      .top__title p {
        font-size: 1.8rem; } }
    @media screen and (max-width: 767px) {
      .top__title p {
        font-size: 2rem; } }

/*--

  mainvisual top

====================================================== --*/
.top .mainvisual {
  margin-bottom: -80px;
  overflow: hidden;
  position: relative;
  z-index: 10; }
  .top .mainvisual__marker {
    gap: 20px;
    height: 11px;
    position: absolute;
    margin: 0px auto;
    z-index: 5;
    inset: auto 0px var(--padding);
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .top .mainvisual__marker {
        margin-top: var(--padding);
        max-width: none;
        position: static;
        width: auto; } }
    .top .mainvisual__marker li {
      background: var(--c-darkblue);
      border-radius: 100%;
      cursor: pointer;
      height: 11px;
      width: 11px;
      transition: all 250ms ease; }
      @media screen and (min-width: 768px) {
        .top .mainvisual__marker li:hover {
          background: var(--c-gold); } }
      @media screen and (max-width: 767px) {
        .top .mainvisual__marker li {
          height: 10px;
          width: 10px; } }
      .top .mainvisual__marker li[data-current="true"] {
        background: var(--c-gold);
        pointer-events: none; }
  .top .mainvisual__list li {
    margin: 0px auto;
    position: absolute;
    left: 0px;
    top: 0px;
    pointer-events: none;
    opacity: 0; }
    .top .mainvisual__list li[data-current="init"], .top .mainvisual__list li[data-current="true"] {
      position: static;
      pointer-events: auto;
      opacity: 1; }
    .top .mainvisual__list li[data-current="true"] {
      opacity: 1;
      animation: fadein 1500ms ease 0s 1 forwards; }
  .top .mainvisual__list a {
    box-sizing: border-box;
    color: var(--c-darkblue);
    display: block flow-root;
    font-family: "Noto Serif JP", serif;
    height: 100%;
    position: relative;
    width: 100%;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (min-width: 768px) {
      .top .mainvisual__list a:hover {
        opacity: 0.5; } }
  .top .mainvisual__list img {
    width: 100%; }
  .top .mainvisual__prev, .top .mainvisual__next {
    bottom: 0px;
    cursor: pointer;
    height: 44px;
    margin: auto;
    position: absolute;
    top: 0px;
    width: 25px;
    z-index: 5;
    text-decoration: none;
    transition: all 250ms ease; }
    .top .mainvisual__prev[data-disable="true"], .top .mainvisual__next[data-disable="true"] {
      pointer-events: none;
      opacity: 0.3; }
    @media screen and (min-width: 768px) {
      .top .mainvisual__prev:hover, .top .mainvisual__next:hover {
        opacity: 0.5; } }
    @media screen and (max-width: 767px) {
      .top .mainvisual__prev, .top .mainvisual__next {
        bottom: 80px; } }
    .top .mainvisual__prev::before, .top .mainvisual__next::before {
      background: var(--c-gold);
      content: "";
      margin: auto;
      position: absolute;
      clip-path: url(#icon_sliderarrow);
      inset: 0px; }
  .top .mainvisual__prev {
    left: max(calc((100% - 1267px) * 0.5),5px);
    rotate: 180deg; }
    @media screen and (max-width: 767px) {
      .top .mainvisual__prev {
        left: 20px; } }
  .top .mainvisual__next {
    right: max(calc((100% - 1267px) * 0.5),5px); }
    @media screen and (max-width: 767px) {
      .top .mainvisual__next {
        right: 20px; } }

/*--

  aboutus top

====================================================== --*/
.top .aboutus {
  background: var(--c-ultralightivory);
  margin-bottom: 115px;
  padding: 160px var(--padding) 0px; }
  @media screen and (max-width: 767px) {
    .top .aboutus {
      margin-bottom: 55px;
      padding: 130px 0px 0px; } }
  .top .aboutus__title {
    margin: 0px auto 80px;
    padding: 45px 0px 55px;
    position: relative;
    width: 630px; }
    @media screen and (max-width: 767px) {
      .top .aboutus__title {
        margin-bottom: 40px;
        padding: 30px 0px 32px;
        width: 310px; } }
    .top .aboutus__title::before, .top .aboutus__title::after {
      content: "";
      height: 71px;
      position: absolute;
      width: 92px; }
      @media screen and (max-width: 767px) {
        .top .aboutus__title::before, .top .aboutus__title::after {
          height: 49px;
          width: 63px; } }
    .top .aboutus__title::before {
      background: url(../images/top/aboutus_bg01.webp) no-repeat left top;
      background-size: contain;
      inset: 0px auto auto 0px; }
    .top .aboutus__title::after {
      background: url(../images/top/aboutus_bg02.webp) no-repeat left top;
      background-size: contain;
      inset: auto 0px 0px auto; }
    .top .aboutus__title h2 {
      color: var(--c-ultradarkblue);
      font-family: "Noto Serif JP", serif;
      font-size: 3.4rem;
      font-weight: 500;
      letter-spacing: 0.006em;
      line-height: 1.176em;
      margin-bottom: 5px; }
      @media screen and (max-width: 767px) {
        .top .aboutus__title h2 {
          font-size: 2.3rem;
          letter-spacing: 0px;
          margin-bottom: 2px; } }
    .top .aboutus__title nav {
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      .top .aboutus__title nav a {
        color: var(--c-bluegreen);
        font-size: 1.7rem;
        font-weight: 700;
        gap: 16px;
        margin-right: -21px;
        position: relative;
        text-decoration: none;
        line-height: 1.5em;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .top .aboutus__title nav a {
            font-size: 1.4rem;
            gap: 8px;
            margin-right: 0px; } }
        .top .aboutus__title nav a::before {
          background: var(--c-bluegreen);
          content: "";
          height: 1px;
          position: absolute;
          width: 0px;
          inset: auto auto -5px 0px;
          transition: all 250ms ease; }
        .top .aboutus__title nav a::after {
          background: var(--c-bluegreen);
          content: "";
          height: 8px;
          width: 21px;
          translate: -6px 0px;
          transition: all 250ms ease;
          clip-path: url(#icon_arrow); }
          @media screen and (max-width: 767px) {
            .top .aboutus__title nav a::after {
              scale: 0.75;
              translate: 0px 0px; } }
        @media screen and (min-width: 768px) {
          .top .aboutus__title nav a {
            transition: all 250ms ease; }
            .top .aboutus__title nav a:hover {
              color: var(--c-ultradarkblue); }
              .top .aboutus__title nav a:hover::after {
                translate: 0px 0px; }
              .top .aboutus__title nav a:hover::before {
                width: 100%; } }
  .top .aboutus__eng {
    color: var(--c-lightgray);
    font-family: "Times New Roman", serif;
    font-size: 2.8rem;
    letter-spacing: 0.004em;
    margin-bottom: 20px; }
    @media screen and (max-width: 1086px) {
      .top .aboutus__eng {
        font-size: 1.8rem; } }
    @media screen and (max-width: 767px) {
      .top .aboutus__eng {
        font-size: 2rem;
        margin-bottom: 10px; } }
  .top .aboutus__lead {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.006em;
    line-height: 1.777em;
    margin-bottom: 32px; }
    @media screen and (max-width: 767px) {
      .top .aboutus__lead {
        font-size: 1.5rem;
        letter-spacing: 0px;
        line-height: 1.8em;
        margin-bottom: 22px; } }
  .top .aboutus__lead02 {
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 0.006em;
    line-height: 1.823em;
    margin-bottom: 22px; }
    @media screen and (max-width: 767px) {
      .top .aboutus__lead02 {
        font-size: 1.4rem;
        line-height: 1.785em;
        margin-bottom: 17px; } }
  .top .aboutus__contents {
    background: url(../images/top/aboutus_bg03.webp) no-repeat left bottom;
    background-size: cover;
    margin: 0px calc(var(--padding) * -1);
    padding: 140px var(--padding) 120px; }
    @media screen and (max-width: 767px) {
      .top .aboutus__contents {
        background: url(../images/top/aboutus_bg03_sp.webp) no-repeat left bottom #eef7f8;
        background-size: contain;
        margin: 0px;
        padding: 60px var(--padding) 80px; } }
    .top .aboutus__contents ul {
      gap: var(--padding);
      margin: 0px auto 95px;
      max-width: var(--width);
      display: block flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .top .aboutus__contents ul {
          margin-bottom: 0px;
          display: block;
          margin-inline: calc(var(--padding) * -1); } }
      .top .aboutus__contents ul li {
        -ms-flex-preferred-size: 503px;
            flex-basis: 503px; }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li {
            margin-bottom: 45px; } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(1) {
            margin-right: 50px; } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(1) figure {
            clip-path: polygon(0px 0px, 0px 100%, 7.3% 100%, 7.3% 143px, 100% 143px, 100% 0px, 0px 0px); } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(1) div {
            margin: -80px 20px 0px calc(7.3% + 30px); } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(2) {
            margin-left: 50px; } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(2) figure {
            clip-path: polygon(0px 0px, 0px 143px, 92.7% 143px, 92.7% 100%, 100% 100%, 100% 0px, 0px 0px); } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(2) div {
            margin: -80px calc(7.3% + 30px) 0px 20px; } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(2) div .aboutus__eng {
            left: 0px;
            right: auto; } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul li:nth-of-type(2) a {
            text-align: right; } }
      .top .aboutus__contents ul figure {
        overflow: hidden;
        clip-path: polygon(0px 0px, 0px 281px, 18.2% 281px, 18.2% 179px, 503px 179px, 503px 0px, 0px 0px); }
        .top .aboutus__contents ul figure img {
          height: 281px;
          object-fit: cover;
          width: 100%;
          transition: all 250ms ease; }
          @media screen and (max-width: 767px) {
            .top .aboutus__contents ul figure img {
              height: 223px; } }
      .top .aboutus__contents ul a {
        display: block;
        text-align: left;
        text-decoration: none; }
        @media screen and (min-width: 768px) {
          .top .aboutus__contents ul a {
            transition: all 250ms ease; }
            .top .aboutus__contents ul a:hover span {
              color: var(--c-ultradarkblue); }
              .top .aboutus__contents ul a:hover span::after {
                translate: 0px 0px; }
              .top .aboutus__contents ul a:hover span::before {
                width: 100%; }
            .top .aboutus__contents ul a:hover img {
              scale: 1.05; } }
      .top .aboutus__contents ul div {
        margin: -102px 50px 0px calc(18.2% + 50px);
        padding: 44px 0px 0px;
        position: relative; }
        @media screen and (max-width: 1086px) {
          .top .aboutus__contents ul div {
            margin: -102px 25px 0px calc(18.2% + 25px); } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul div {
            padding: 26px 0px 0px; } }
        .top .aboutus__contents ul div .aboutus__eng {
          color: var(--c-lightblue);
          position: absolute;
          right: 0px;
          top: 55px; }
          @media screen and (max-width: 767px) {
            .top .aboutus__contents ul div .aboutus__eng {
              top: 30px; } }
      .top .aboutus__contents ul h3 {
        background: url(../images/top/aboutus_line.webp) repeat-x center bottom;
        background-size: 100% 2px;
        color: var(--c-ultradarkblue);
        font-family: "Noto Serif JP", serif;
        font-size: 3.2rem;
        font-weight: 500;
        letter-spacing: 0.006em;
        line-height: 1.176em;
        margin-bottom: 20px;
        padding: 0px 0px 22px; }
        @media screen and (max-width: 1086px) {
          .top .aboutus__contents ul h3 {
            font-size: 2.8rem; } }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul h3 {
            font-size: 2.3rem;
            margin-bottom: 5px;
            padding: 0px 0px 14px; } }
      .top .aboutus__contents ul span {
        color: var(--c-bluegreen);
        font-size: 1.7rem;
        font-weight: 700;
        gap: 16px;
        margin-right: -21px;
        position: relative;
        text-decoration: none;
        line-height: 1.5em;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .top .aboutus__contents ul span {
            font-size: 1.4rem;
            gap: 8px;
            margin-right: 0px; } }
        .top .aboutus__contents ul span::before {
          background: var(--c-bluegreen);
          content: "";
          height: 1px;
          position: absolute;
          width: 0px;
          inset: auto auto -5px 0px;
          transition: all 250ms ease; }
        .top .aboutus__contents ul span::after {
          background: var(--c-bluegreen);
          content: "";
          height: 8px;
          width: 21px;
          translate: -6px 0px;
          transition: all 250ms ease;
          clip-path: url(#icon_arrow); }
          @media screen and (max-width: 767px) {
            .top .aboutus__contents ul span::after {
              scale: 0.75;
              translate: 0px 0px; } }

/*--

  products top

====================================================== --*/
.top .products {
  margin: 0px 0px 100px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .top .products {
      margin-bottom: 75px; } }
  .top .products__prev, .top .products__next {
    bottom: 0px;
    cursor: pointer;
    height: 44px;
    margin: auto;
    position: absolute;
    top: 0px;
    width: 25px;
    z-index: 5;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (min-width: 768px) {
      .top .products__prev:hover, .top .products__next:hover {
        opacity: 0.5; } }
    @media screen and (max-width: 767px) {
      .top .products__prev, .top .products__next {
        bottom: 40px; } }
    .top .products__prev[data-disable="true"], .top .products__next[data-disable="true"] {
      opacity: 0.3;
      pointer-events: none; }
    .top .products__prev::before, .top .products__next::before {
      background: var(--c-gray);
      content: "";
      margin: auto;
      position: absolute;
      clip-path: url(#icon_sliderarrow);
      inset: 0px; }
  .top .products__prev {
    left: max(calc((100% - 1430px) * 0.5),5px);
    rotate: 180deg; }
    @media screen and (max-width: 767px) {
      .top .products__prev {
        left: 10px; } }
  .top .products__next {
    right: max(calc((100% - 1430px) * 0.5),5px); }
    @media screen and (max-width: 767px) {
      .top .products__next {
        right: 10px; } }
  .top .products__list {
    gap: 60px;
    margin: 0px auto;
    max-width: var(--width);
    padding: 0px var(--padding);
    transition: transform 500ms ease;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 1086px) {
      .top .products__list {
        gap: var(--padding); } }
    .top .products__list li {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      transition: all 500ms ease;
      width: calc((100% - 120px) / 3); }
      @media screen and (max-width: 1086px) {
        .top .products__list li {
          width: calc((100% - 60px) / 3); } }
      @media screen and (max-width: 767px) {
        .top .products__list li {
          width: 230px; } }
    .top .products__list[data-type="0"] li:nth-of-type(even) {
      margin-top: 70px; }
      @media screen and (max-width: 767px) {
        .top .products__list[data-type="0"] li:nth-of-type(even) {
          margin-top: 50px; } }
    .top .products__list[data-type="1"] li:nth-of-type(odd) {
      margin-top: 70px; }
      @media screen and (max-width: 767px) {
        .top .products__list[data-type="1"] li:nth-of-type(odd) {
          margin-top: 50px; } }
    .top .products__list a {
      display: block;
      text-align: left;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        .top .products__list a {
          transition: all 250ms ease; }
          .top .products__list a:hover span {
            color: var(--c-ultradarkblue); }
            .top .products__list a:hover span::after {
              translate: 0px 0px; }
            .top .products__list a:hover span::before {
              width: 100%; }
          .top .products__list a:hover img {
            scale: 1.05; } }
      .top .products__list a h3 {
        font-size: 1.8rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.444em;
        margin-bottom: 5px; }
        @media screen and (max-width: 767px) {
          .top .products__list a h3 {
            font-size: 1.5rem;
            line-height: 1.533em; } }
      .top .products__list a p {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.75em;
        margin-bottom: 25px; }
        @media screen and (max-width: 767px) {
          .top .products__list a p {
            font-size: 1.4rem;
            line-height: 1.571em; } }
      .top .products__list a figure {
        margin-bottom: 20px;
        overflow: hidden; }
        @media screen and (max-width: 767px) {
          .top .products__list a figure {
            margin-bottom: 10px; } }
        .top .products__list a figure img {
          width: 100%;
          transition: all 250ms ease; }
      .top .products__list a span {
        color: var(--c-bluegreen);
        font-size: 1.7rem;
        font-weight: 700;
        gap: 16px;
        margin-right: -21px;
        position: relative;
        text-decoration: none;
        line-height: 1.5em;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .top .products__list a span {
            font-size: 1.4rem;
            gap: 8px;
            margin-right: 0px; } }
        .top .products__list a span::before {
          background: var(--c-bluegreen);
          content: "";
          height: 1px;
          position: absolute;
          width: 0px;
          inset: auto auto -5px 0px;
          transition: all 250ms ease; }
        .top .products__list a span::after {
          background: var(--c-bluegreen);
          content: "";
          height: 8px;
          width: 21px;
          translate: -6px 0px;
          transition: all 250ms ease;
          clip-path: url(#icon_arrow); }
          @media screen and (max-width: 767px) {
            .top .products__list a span::after {
              scale: 0.75;
              translate: 0px 0px; } }

/*--

  brand top

====================================================== --*/
.top .brand {
  padding: 66px 0px 120px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .top .brand {
      padding-bottom: 45px; } }
  .top .brand::after {
    background: url(../images/top/brand_bg.webp) no-repeat center;
    background-size: cover;
    content: "";
    margin: auto 0px auto -222px;
    position: absolute;
    width: calc(50% + 222px);
    z-index: -1;
    inset: 0px auto 0px 50%; }
    @media screen and (max-width: 767px) {
      .top .brand::after {
        background: url(../images/top/brand_bg_sp.webp) no-repeat right top var(--c-bgcolor);
        background-size: contain;
        margin: auto;
        width: auto;
        inset: 0px 0px 0px 80px; } }
  .top .brand__list {
    gap: 60px;
    margin: 0px auto;
    max-width: 940px;
    padding: 0px var(--padding);
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .top .brand__list {
        display: block flow-root; } }
    .top .brand__list li {
      background: var(--c-white);
      border-radius: 20px;
      box-shadow: 0px 0px 4px 1px rgba(128, 147, 147, 0.2), 0px 8px 30px 0px rgba(128, 147, 147, 0.4);
      -ms-flex-preferred-size: 430px;
          flex-basis: 430px; }
      @media screen and (max-width: 767px) {
        .top .brand__list li {
          border-radius: 15px;
          margin-bottom: var(--padding); } }
    .top .brand__list a {
      border-radius: 20px;
      height: 200px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      text-decoration: none;
      transition: all 250ms ease; }
      @media screen and (max-width: 767px) {
        .top .brand__list a {
          height: 160px;
          border-radius: 15px; } }
      @media screen and (min-width: 768px) {
        .top .brand__list a:hover {
          opacity: 0.5; } }
    .top .brand__list--laforre a {
      background: var(--c-laforre); }
    .top .brand__list--laforre img {
      width: 213px; }
      @media screen and (max-width: 767px) {
        .top .brand__list--laforre img {
          width: 169.5px; } }
    .top .brand__list--maria a {
      background: var(--c-maria); }
    .top .brand__list--maria img {
      width: 267px; }
      @media screen and (max-width: 767px) {
        .top .brand__list--maria img {
          width: 212.5px; } }

/*--

  news top

====================================================== --*/
.top .news {
  background: var(--c-ultralightivory);
  margin: 0px 0px 120px;
  padding: 66px 0px 120px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .top .news {
      background: transparent;
      margin-bottom: 0px;
      padding: 50px 0px 40px; } }
  .top .news__body {
    margin: 0px auto 0px;
    max-width: var(--width);
    padding: 0px var(--padding); }
    .top .news__body ul {
      border-bottom: 1px solid var(--c-ultralightgray);
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-bottom: 45px;
      --v: 40px;
      display: block flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
      @media screen and (max-width: 1086px) {
        .top .news__body ul {
          --v: var(--padding); } }
      @media screen and (max-width: 767px) {
        .top .news__body ul {
          display: block flow-root;
          margin-bottom: 30px; } }
      .top .news__body ul li {
        border-top: 1px solid var(--c-ultralightgray);
        box-sizing: border-box;
        margin-bottom: 40px;
        padding: 40px 0px 0px var(--v);
        position: relative;
        width: 50%; }
        @media screen and (max-width: 767px) {
          .top .news__body ul li {
            margin-bottom: 20px;
            padding: 20px 0px 0px 0px;
            width: auto; } }
        .top .news__body ul li:nth-of-type(odd) {
          position: relative; }
          @media screen and (min-width: 768px) {
            .top .news__body ul li:nth-of-type(odd) {
              padding-inline: 0px var(--v); }
              .top .news__body ul li:nth-of-type(odd)::after {
                background: var(--c-ultralightgray);
                content: "";
                margin: auto;
                position: absolute;
                width: 1px;
                inset: 40px 0px 0px auto; } }
      .top .news__body ul a {
        font-size: 1.7rem;
        gap: 30px;
        line-height: 1.764em;
        text-align: left;
        text-decoration: none;
        display: block flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        text-decoration: none;
        transition: all 250ms ease; }
        @media screen and (max-width: 1086px) {
          .top .news__body ul a {
            gap: 15px; } }
        @media screen and (max-width: 767px) {
          .top .news__body ul a {
            font-size: 1.4rem;
            gap: 20px; } }
        @media screen and (min-width: 768px) {
          .top .news__body ul a:hover {
            color: var(--c-bluegreen); } }
        @media screen and (min-width: 768px) {
          .top .news__body ul a:hover img {
            scale: 1.1; } }
        .top .news__body ul a figure {
          -ms-flex-item-align: start;
              align-self: flex-start;
          -ms-flex-negative: 0;
              flex-shrink: 0;
          overflow: hidden;
          width: 140px; }
          @media screen and (max-width: 1086px) {
            .top .news__body ul a figure {
              width: 100px; } }
          @media screen and (max-width: 767px) {
            .top .news__body ul a figure {
              width: 90px; } }
          .top .news__body ul a figure img {
            width: 100%;
            aspect-ratio: 1/ 1;
            object-fit: cover;
            transition: all 250ms ease; }
        .top .news__body ul a div {
          -ms-flex-positive: 10;
              flex-grow: 10; }
        .top .news__body ul a time {
          color: var(--c-lightgray);
          letter-spacing: 0.02em; }
        .top .news__body ul a p {
          font-weight: 500;
          letter-spacing: 0.04em; }
    .top .news__body nav {
      margin-right: 15px;
      display: block flex;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .top .news__body nav {
          margin-right: 0px; } }
      .top .news__body nav a {
        color: var(--c-bluegreen);
        font-size: 1.7rem;
        font-weight: 700;
        gap: 16px;
        margin-right: -21px;
        position: relative;
        text-decoration: none;
        line-height: 1.5em;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .top .news__body nav a {
            font-size: 1.4rem;
            gap: 8px;
            margin-right: 0px; } }
        .top .news__body nav a::before {
          background: var(--c-bluegreen);
          content: "";
          height: 1px;
          position: absolute;
          width: 0px;
          inset: auto auto -5px 0px;
          transition: all 250ms ease; }
        .top .news__body nav a::after {
          background: var(--c-bluegreen);
          content: "";
          height: 8px;
          width: 21px;
          translate: -6px 0px;
          transition: all 250ms ease;
          clip-path: url(#icon_arrow); }
          @media screen and (max-width: 767px) {
            .top .news__body nav a::after {
              scale: 0.75;
              translate: 0px 0px; } }
        @media screen and (min-width: 768px) {
          .top .news__body nav a {
            transition: all 250ms ease; }
            .top .news__body nav a:hover {
              color: var(--c-ultradarkblue); }
              .top .news__body nav a:hover::after {
                translate: 0px 0px; }
              .top .news__body nav a:hover::before {
                width: 100%; } }

/*--

  seminar top

====================================================== --*/
.top .seminar {
  margin: 0px 0px 20px;
  padding: 167px 0px 120px;
  position: relative; }
  @media screen and (max-width: 1086px) {
    .top .seminar {
      padding-top: 120px; } }
  @media screen and (max-width: 767px) {
    .top .seminar {
      margin-bottom: 15px;
      padding-block: 55px 60px; } }
  .top .seminar::after {
    background: url(../images/top/seminar_bg.webp) no-repeat center;
    background-size: cover;
    content: "";
    margin: auto 0px auto -162px;
    position: absolute;
    width: calc(50% + 162px);
    z-index: -1;
    inset: 0px auto 0px 50%; }
    @media screen and (max-width: 767px) {
      .top .seminar::after {
        background: url(../images/top/seminar_bg_sp.webp) no-repeat right top var(--c-bgcolor);
        background-size: contain;
        margin: auto;
        width: auto;
        inset: 0px 80px 0px 0px; } }
  .top .seminar .top__title {
    margin-bottom: 0px; }
    @media screen and (max-width: 767px) {
      .top .seminar .top__title {
        text-align: right; } }
    .top .seminar .top__title h2 {
      font-size: 3.4rem;
      letter-spacing: 0px; }
      @media screen and (max-width: 767px) {
        .top .seminar .top__title h2 {
          font-size: 2.7rem; } }
      @media screen and (max-width: 767px) {
        .top .seminar .top__title h2::after {
          left: 0px;
          right: auto;
          rotate: 180deg; } }
  .top .seminar__body {
    gap: var(--padding);
    margin: -142px auto 0px;
    max-width: var(--width);
    padding: 0px var(--padding);
    display: block flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end; }
    @media screen and (max-width: 1086px) {
      .top .seminar__body {
        display: block flow-root;
        margin-top: 50px; } }
    @media screen and (max-width: 767px) {
      .top .seminar__body {
        margin-top: 40px; } }
    .top .seminar__body .c-btn {
      -ms-flex-preferred-size: 324px;
          flex-basis: 324px;
      margin: 0px 0px 50px;
      -ms-flex-order: 1;
          order: 1;
      width: auto; }
      @media screen and (max-width: 1086px) {
        .top .seminar__body .c-btn {
          margin: 50px auto 0px auto; } }
      @media screen and (max-width: 767px) {
        .top .seminar__body .c-btn {
          margin-top: 35px; } }
    @media screen and (min-width: 768px) {
      .top .seminar__body .seminar__list {
        min-height: 320px; } }

/*--

  製品情報

====================================================== --*/
/*--

  製品情報 詳細

====================================================== --*/
.products .mainvisual {
  margin: 0px auto 80px;
  max-width: var(--width);
  padding: 0px var(--padding);
  position: relative; }
  @media screen and (max-width: 767px) {
    .products .mainvisual {
      margin-bottom: 40px;
      padding: 0px; } }
  .products .mainvisual img {
    width: 100%; }
  .products .mainvisual__caption {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5em;
    margin: 0px auto;
    max-width: 960px;
    position: absolute;
    text-align: right;
    inset: calc(100% + 12px) 0px auto; }
    @media screen and (max-width: 767px) {
      .products .mainvisual__caption {
        font-size: 1.1rem;
        inset: calc(100% + 6px) var(--padding) auto auto; } }
  .products .mainvisual h1 a {
    display: block flow-root;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (min-width: 768px) {
      .products .mainvisual h1 a:hover {
        opacity: 0.5; } }
    @media screen and (max-width: 767px) {
      .products .mainvisual h1 a {
        pointer-events: none; } }
  @media screen and (max-width: 767px) {
    .products .mainvisual:has(nav) .mainvisual__caption {
      margin: 6px var(--padding) -10px;
      position: static; } }
  @media screen and (min-width: 768px) {
    .products .mainvisual nav {
      display: none; } }
  @media screen and (max-width: 767px) {
    .products .mainvisual nav {
      margin: var(--padding); } }

.products .copy {
  padding: 0px var(--padding) 80px; }
  @media screen and (max-width: 767px) {
    .products .copy {
      padding: 0px 0px 50px var(--padding); } }
  .products .copy__body {
    background: var(--c-bgcolor);
    border-radius: 0px 10px 0px 10px;
    box-sizing: border-box;
    margin: 0px auto 0px;
    max-width: 960px;
    padding: 65px var(--padding) 55px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .products .copy__body {
        border-radius: 0px 0px 0px 20px;
        padding: 30px 55px 32px 30px;
        text-align: left; } }
    .products .copy__body::before, .products .copy__body::after {
      content: "";
      height: 71px;
      position: absolute;
      width: 92px; }
      @media screen and (max-width: 767px) {
        .products .copy__body::before, .products .copy__body::after {
          height: 40px;
          width: 40px; } }
    .products .copy__body::before {
      background: url(../images/top/aboutus_bg01.webp) no-repeat left top;
      background-size: contain;
      inset: 20px auto auto 20px; }
      @media screen and (max-width: 767px) {
        .products .copy__body::before {
          inset: 10px auto auto 10px; } }
    .products .copy__body::after {
      background: url(../images/top/aboutus_bg02.webp) no-repeat left bottom;
      background-size: contain;
      inset: auto 20px 20px auto; }
      @media screen and (max-width: 767px) {
        .products .copy__body::after {
          inset: auto 35px 10px auto; } }
    .products .copy__body h2 {
      color: var(--c-ultradarkblue);
      font-family: "Noto Serif JP", serif;
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: 0.006em;
      line-height: 1.545em;
      margin-bottom: 15px; }
      @media screen and (max-width: 767px) {
        .products .copy__body h2 {
          font-size: 2rem;
          letter-spacing: 0px;
          margin-bottom: 12px;
          margin-right: -15px; } }
    .products .copy__body p {
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.002em;
      line-height: 1.75em;
      margin: 0px auto;
      max-width: 740px; }
      @media screen and (max-width: 767px) {
        .products .copy__body p {
          font-size: 1.5rem;
          line-height: 1.733em; } }
      .products .copy__body p + p {
        margin-top: 1lh; }
    .products .copy__body sup {
      font-size: 60%; }
    .products .copy__body div {
      font-size: 1.2rem;
      font-weight: 500;
      letter-spacing: 0.03em;
      line-height: 1.5em;
      margin: 10px auto 0px;
      max-width: 740px;
      text-align: right; }
      @media screen and (max-width: 767px) {
        .products .copy__body div {
          font-size: 1.1rem;
          margin-block: 5px 10px; } }

.products .features {
  background: #fefaf1;
  padding: 65px 0px 100px; }
  @media screen and (max-width: 767px) {
    .products .features {
      padding: 35px 0px 50px; } }
  .products .features__body {
    margin: 0px auto;
    max-width: 960px;
    padding: 0px var(--padding);
    text-align: left; }
    .products .features__body__column {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      gap: 50px var(--padding);
      display: block flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start; }
      @media screen and (max-width: 767px) {
        .products .features__body__column {
          display: block flow-root; } }
      @media screen and (min-width: 768px) {
        .products .features__body__column > li {
          max-width: 440px;
          width: calc((100% - var(--padding)) * 0.5); } }
      .products .features__body__column p strong {
        background: var(--c-white);
        border: 1px solid currentCOlor;
        color: var(--c-bluegreen);
        font-family: "Noto Serif JP", serif;
        font-size: 2.2rem;
        font-weight: 600;
        margin: 0px 5px;
        padding: 2px 8px;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .products .features__body__column p strong {
            font-size: 2.1rem; } }
    .products .features__body ol > li {
      position: relative; }
      @media screen and (max-width: 767px) {
        .products .features__body ol > li + li {
          margin-top: 30px; } }
      .products .features__body ol > li::before {
        background: #b2cecc;
        content: "";
        height: 1px;
        position: absolute;
        right: 0px;
        top: 13px;
        width: 100%; }
        @media screen and (max-width: 767px) {
          .products .features__body ol > li::before {
            top: 11px; } }
    .products .features__body ol p {
      text-align: justify;
      line-break: strict; }
    .products .features__body p {
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.004em;
      line-height: 1.666em;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .products .features__body p {
          font-size: 1.5rem;
          letter-spacing: 0px;
          line-height: 1.733em;
          margin-bottom: 15px; } }
      .products .features__body p sup {
        font-size: 66%;
        line-height: 1em;
        vertical-align: 0.5em; }
      .products .features__body p.features__body__caption {
        font-size: 1.2rem;
        margin-top: -15px; }
        @media screen and (max-width: 767px) {
          .products .features__body p.features__body__caption {
            font-size: 1rem;
            margin-top: 0px; } }
      .products .features__body p:last-child {
        margin-bottom: 0px; }
      .products .features__body p.features__body__copy {
        color: var(--c-ultradarkblue);
        font-family: "Noto Serif JP", serif;
        font-size: 2.8rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        line-height: 1.535em;
        margin-bottom: 42px; }
        @media screen and (max-width: 767px) {
          .products .features__body p.features__body__copy {
            font-size: 2rem;
            margin-bottom: 32px; } }
        @media screen and (max-width: 767px) {
          .products .features__body p.features__body__copy + p {
            margin-top: -15px; } }
        .products .features__body p.features__body__copy:is(li *) {
          margin-bottom: 20px; }
          @media screen and (max-width: 767px) {
            .products .features__body p.features__body__copy:is(li *) {
              margin-bottom: 15px; } }
      .products .features__body p.features__body__copy02 {
        color: var(--c-ultradarkblue);
        font-family: "Noto Serif JP", serif;
        font-size: 2.4rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        line-height: 1.416em;
        margin-bottom: 30px; }
        @media screen and (max-width: 767px) {
          .products .features__body p.features__body__copy02 {
            font-size: 1.8rem;
            margin-bottom: 15px; } }
    .products .features__body__number {
      background: var(--c-bluegreen);
      border-right: 10px solid #fefaf1;
      color: var(--c-white);
      font-size: 1.6rem;
      font-weight: 700;
      height: 26px;
      letter-spacing: 0.08em;
      margin-bottom: 12px;
      padding: 0px 10px;
      position: relative;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .products .features__body__number {
          font-size: 1.3rem;
          height: 22px;
          margin-bottom: 7px;
          padding-inline: 5px; } }

.products .specification {
  padding: 65px 0px 120px; }
  @media screen and (max-width: 767px) {
    .products .specification {
      padding: 40px 0px 60px; } }
  .products .specification__title {
    margin: 65px auto 70px;
    max-width: 960px;
    padding: 0px var(--padding); }
    @media screen and (max-width: 767px) {
      .products .specification__title {
        margin: 45px auto -10px; } }
    .products .specification__title p {
      background: #f5f8f7;
      color: var(--c-ultradarkblue);
      font-size: 3rem;
      font-weight: 700;
      height: 60px;
      padding: 0px 20px;
      display: block flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .products .specification__title p {
          font-size: 1.8rem;
          height: 45px;
          padding: 0px 15px; } }
  .products .specification sup {
    font-size: 60%;
    line-height: 1em; }
  .products .specification__body {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 55px var(--padding);
    margin: 65px auto 0px;
    max-width: 960px;
    padding: 0px var(--padding);
    text-align: left;
    display: block flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .products .specification__body {
        display: block;
        margin: 45px auto 0px; } }
    .products .specification__body + div {
      margin-top: 120px; }
      @media screen and (max-width: 767px) {
        .products .specification__body + div {
          margin-top: 60px; } }
    @media screen and (min-width: 768px) {
      .products .specification__body--border {
        padding-bottom: 90px;
        position: relative; }
        .products .specification__body--border::after {
          background: var(--c-ultralightgray);
          content: "";
          height: 1px;
          margin: 0px auto;
          position: absolute;
          inset: auto var(--padding) 0px; }
        .products .specification__body--border + div {
          margin-top: 90px; } }
    @media screen and (min-width: 768px) {
      .products .specification__body > * {
        max-width: 440px;
        width: calc((100% - var(--padding)) * 0.5); } }
  @media screen and (max-width: 767px) {
    .products .specification__photo {
      margin-bottom: 25px; } }
  .products .specification__photo img {
    width: 100%; }
  @media screen and (max-width: 767px) {
    .products .specification__photos {
      margin-bottom: 25px; } }
  .products .specification__photos__wrapper {
    margin-bottom: 10px;
    overflow: hidden; }
  .products .specification__photos__list {
    gap: 14px;
    transition: transform 500ms ease;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    .products .specification__photos__list li {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
  .products .specification__photos img {
    width: 100%; }
  .products .specification__photos figure {
    position: relative; }
    .products .specification__photos figure figcaption {
      border: 1px solid currentCOlor;
      color: var(--c-bluegreen);
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.2em;
      padding: 5px 5px;
      position: absolute;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      inset: 6px auto auto 6px; }
  .products .specification__detail {
    -ms-flex-item-align: center;
        align-self: center;
    box-sizing: border-box;
    color: var(--c-ultradarkblue);
    letter-spacing: 0.002em;
    max-width: 400px; }
    @media screen and (max-width: 767px) {
      .products .specification__detail {
        -ms-flex-line-pack: center;
            align-content: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 5px 15px;
        margin-bottom: 30px;
        max-width: none;
        text-align: center;
        display: block flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; } }
    .products .specification__detail--wide {
      max-width: 440px; }
    .products .specification__detail h3 {
      font-size: 2.2rem;
      font-weight: 700;
      line-height: 1.636em;
      margin-bottom: 24px; }
      @media screen and (max-width: 767px) {
        .products .specification__detail h3 {
          font-size: 1.7rem;
          line-height: 1.647em;
          margin-bottom: 7px;
          width: 100%; } }
    .products .specification__detail .specification__explain {
      margin-top: var(--padding); }
  .products .specification__text {
    margin-top: var(--padding);
    text-align: justify;
    line-break: strict;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .products .specification__text {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    .products .specification__text span {
      font-size: 87.5%; }
  .products .specification__label {
    gap: 20px;
    margin-bottom: 10px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .products .specification__label {
        gap: 5px;
        margin-bottom: 0px; } }
    .products .specification__label span {
      border: 1px solid currentCOlor;
      box-sizing: border-box;
      font-size: 1.4rem;
      font-weight: 500;
      height: 20px;
      padding: 0px 5px;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .products .specification__label span {
          font-size: 1.35rem;
          height: 18px;
          line-height: 1em; } }
  .products .specification__information {
    gap: 20px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: end;
        align-items: flex-end; }
    @media screen and (max-width: 767px) {
      .products .specification__information {
        display: contents; } }
    .products .specification__information__caption {
      font-size: 1.2rem; }
      @media screen and (max-width: 767px) {
        .products .specification__information__caption {
          font-size: 1rem; } }
  .products .specification__volume {
    font-size: 1.6rem;
    font-weight: 500; }
    @media screen and (max-width: 767px) {
      .products .specification__volume {
        font-size: 1.5rem; } }
  .products .specification__price {
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.153; }
    @media screen and (max-width: 767px) {
      .products .specification__price {
        font-size: 2.3rem;
        margin-top: 10px;
        width: 100%; } }
    .products .specification__price span {
      font-size: 1.4rem;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .products .specification__price span {
          font-size: 1.35rem; } }
  .products .specification__explain {
    position: relative;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .products .specification__explain {
        margin-bottom: 25px; }
        .products .specification__explain:last-child {
          margin-bottom: 0px; } }
    @media screen and (min-width: 768px) {
      .products .specification__explain--wide {
        max-width: none;
        width: 100%; } }
    .products .specification__explain::before {
      background: #b2cecc;
      content: "";
      height: 1px;
      position: absolute;
      right: 0px;
      top: 11px;
      width: calc(100% - 85px); }
      @media screen and (max-width: 767px) {
        .products .specification__explain::before {
          width: calc(100% - 75px); } }
    .products .specification__explain h4 {
      background: var(--c-bluegreen);
      color: var(--c-white);
      font-size: 1.4rem;
      font-weight: 700;
      height: 22px;
      letter-spacing: 0.08em;
      margin-bottom: 12px;
      min-width: 75px;
      padding: 0px 5px;
      position: relative;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .products .specification__explain h4 {
          font-size: 1.3rem;
          margin-bottom: 7px;
          min-width: 65px; } }
    .products .specification__explain p {
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.004em;
      line-height: 1.666em; }
      @media screen and (max-width: 767px) {
        .products .specification__explain p {
          font-size: 1.5rem;
          line-height: 1.733em; } }
      .products .specification__explain p + .c-dotlist {
        margin-top: 10px; }
        @media screen and (max-width: 767px) {
          .products .specification__explain p + .c-dotlist {
            margin-top: 5px; } }
      .products .specification__explain p.specification__explain__caption {
        font-size: 1.2rem;
        margin-top: 15px; }
        @media screen and (max-width: 767px) {
          .products .specification__explain p.specification__explain__caption {
            font-size: 1rem; } }
  .products .specification__flow {
    margin-top: 12px; }
    .products .specification__flow li {
      padding-left: 1.5em;
      text-indent: -1.5em;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.625em; }
      @media screen and (max-width: 767px) {
        .products .specification__flow li {
          font-size: 1.5rem;
          line-height: 1.733em; } }
      .products .specification__flow li::before {
        content: attr(data-num);
        display: inline flow-root;
        text-indent: 0px;
        width: 1.5em; }
  .products .specification__flow02 {
    counter-reset: num;
    margin-top: 12px; }
    .products .specification__flow02 li {
      counter-increment: num;
      padding-left: 35px;
      position: relative;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .products .specification__flow02 li {
          font-size: 1.5rem;
          line-height: 1.733em; } }
      .products .specification__flow02 li:not(:last-child) {
        margin-bottom: 10px; }
      .products .specification__flow02 li::before {
        background: var(--c-bluegreen);
        color: var(--c-white);
        content: counter(num);
        height: 25px;
        left: 0px;
        position: absolute;
        top: 3px;
        width: 25px;
        display: block flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
  .products .specification__caption {
    color: var(--c-ultradarkblue);
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.5em;
    margin-top: -5px;
    max-width: none;
    text-align: right;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .products .specification__caption {
        font-size: 1.1rem; } }

.products .features__body .calmerge-purvedew > li::before {
  content: none; }

.products .features__body .calmerge-purvedew > li h3 {
  color: var(--c-bluegreen);
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 900;
  gap: 1em;
  letter-spacing: 0.03em;
  margin-bottom: 40px;
  display: block flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products .features__body .calmerge-purvedew > li h3 {
      font-size: 1.5rem;
      margin-bottom: 20px; } }
  .products .features__body .calmerge-purvedew > li h3::after {
    color: #b2cecc;
    content: attr(data-eng);
    font-family: "Times New Roman", serif;
    font-weight: 400; }

.products .features__body .calmerge-purvedew > li p.features__body__copy {
  margin-bottom: 45px; }
  @media screen and (max-width: 767px) {
    .products .features__body .calmerge-purvedew > li p.features__body__copy {
      margin-bottom: 35px; } }

.products .specification__calmerge-purvedew {
  margin: 60px auto 80px;
  max-width: 960px;
  padding: 0px var(--padding); }
  @media screen and (max-width: 767px) {
    .products .specification__calmerge-purvedew {
      margin: 40px auto 30px; } }
  .products .specification__calmerge-purvedew div {
    font-size: 1.8rem;
    gap: 2em;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .products .specification__calmerge-purvedew div {
        gap: 1em; } }
    .products .specification__calmerge-purvedew div::before, .products .specification__calmerge-purvedew div::after {
      background: #b2cecc;
      content: "";
      -ms-flex-positive: 10;
          flex-grow: 10;
      height: 1px; }
  .products .specification__calmerge-purvedew p {
    color: var(--c-bluegreen);
    font-family: "Noto Serif JP", serif;
    font-weight: 900;
    gap: 1em;
    letter-spacing: 0.03em;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    .products .specification__calmerge-purvedew p span {
      color: #b2cecc;
      font-family: "Times New Roman", serif;
      font-weight: 400; }

.products .features__body .serum-640 > li dt {
  background: #fefaf1;
  border-right: 10px solid #fefaf1;
  color: var(--c-bluegreen);
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 900;
  height: 26px;
  letter-spacing: 0.03em;
  margin-bottom: 20px;
  position: relative;
  display: inline flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products .features__body .serum-640 > li dt {
      font-size: 1.6rem;
      height: 22px;
      margin-bottom: 7px; } }

.products .features__body .serum-640 > li dd {
  color: var(--c-ultradarkblue);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.875em; }
  @media screen and (max-width: 767px) {
    .products .features__body .serum-640 > li dd {
      font-size: 1.5rem;
      line-height: 1.733em; } }

.products .whiteblese figure {
  margin: 0px auto var(--padding);
  max-width: 315px; }
  @media screen and (max-width: 767px) {
    .products .whiteblese figure {
      max-width: 263px; } }
  .products .whiteblese figure img {
    width: 100%; }

.products .exfieta {
  counter-reset: exfieta;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--padding);
  display: block flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: start;
      align-items: flex-start; }
  .products .exfieta li {
    box-sizing: border-box;
    counter-increment: exfieta;
    gap: 15px;
    padding-left: 38px;
    position: relative;
    display: block flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (min-width: 768px) {
      .products .exfieta li {
        max-width: 440px;
        width: calc(50% - 15px); } }
    @media screen and (max-width: 767px) {
      .products .exfieta li {
        width: 100%; } }
    .products .exfieta li:has(figure) {
      padding-left: 0px; }
    .products .exfieta li::before {
      background: var(--c-bluegreen);
      color: var(--c-white);
      content: counter(exfieta);
      font-size: 1.2rem;
      font-weight: 700;
      height: 25px;
      position: absolute;
      width: 25px;
      inset: 0px auto auto 0px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
    .products .exfieta li figure {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      width: 161px; }
      @media screen and (max-width: 767px) {
        .products .exfieta li figure {
          width: 145px; } }
      .products .exfieta li figure img {
        width: 100%; }
    .products .exfieta li p {
      -ms-flex-positive: 10;
          flex-grow: 10;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .products .exfieta li p {
          font-size: 1.5rem;
          line-height: 1.733em; } }

.products .im dl {
  gap: 18px;
  margin-bottom: var(--padding);
  display: block flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products .im dl {
      margin: 10px auto 10px;
      max-width: 290px; } }
  .products .im dl dd {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .products .im dl dd {
        font-size: 1.5rem;
        line-height: 1.733em; } }
  .products .im dl dt {
    background: var(--c-white);
    border: 1px solid currentCOlor;
    border-radius: 100%;
    box-sizing: border-box;
    color: #519795;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-family: "Noto Serif JP", serif;
    font-size: 1.4rem;
    font-weight: 700;
    height: 85px;
    width: 85px;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .products .im dl dt {
        height: 70px;
        width: 70px; } }

.products .im figure {
  margin: 0px auto;
  max-width: 345px; }
  @media screen and (max-width: 767px) {
    .products .im figure {
      max-width: 290px; } }
  .products .im figure img {
    width: 100%; }

.products .bdxh {
  gap: 35px;
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products .bdxh {
      gap: 30px; } }
  .products .bdxh li {
    width: 109px; }
    @media screen and (max-width: 767px) {
      .products .bdxh li {
        width: 88px; } }
  .products .bdxh img {
    filter: drop-shadow(0px 0px 10px rgb(255 255 255 / 1));
    width: 100%; }

.products .professional-tool__list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 90px var(--padding);
  max-width: 960px;
  margin-block: 75px 120px;
  margin-inline: auto;
  padding-inline: var(--padding);
  display: block flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: start;
      align-items: flex-start; }
  @media screen and (max-width: 767px) {
    .products .professional-tool__list {
      display: block;
      margin-block: 45px 60px; } }
  @media screen and (min-width: 768px) {
    .products .professional-tool__list li {
      max-width: 440px;
      text-align: left;
      width: calc((100% - var(--padding)) *0000000000000000000000000000000000.5); } }
  @media screen and (max-width: 767px) {
    .products .professional-tool__list li:not(:last-child) {
      margin-bottom: 65px; } }
  .products .professional-tool__list img {
    width: 100%; }
  .products .professional-tool__list h3 {
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.636em;
    margin: 20px 0px 15px; }
    @media screen and (max-width: 767px) {
      .products .professional-tool__list h3 {
        font-size: 1.7rem;
        line-height: 1.647em;
        margin: 25px 0px 20px; } }
  .products .professional-tool__list p {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.625em; }
    @media screen and (max-width: 767px) {
      .products .professional-tool__list p {
        text-align: left; } }
    @media screen and (max-width: 767px) {
      .products .professional-tool__list p {
        font-size: 1.5rem;
        line-height: 1.733em; } }

.products .mille__01 {
  gap: 40px;
  margin: 0px auto 50px;
  max-width: 880px;
  display: block flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products .mille__01 {
      gap: 20px;
      margin: 0px 0px 30px 20px; } }
  .products .mille__01 img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 110px; }
    @media screen and (max-width: 767px) {
      .products .mille__01 img {
        width: 90px; } }
  .products .mille__01 figcaption {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .products .mille__01 figcaption {
        font-size: 1.5rem;
        line-height: 1.733em; } }

.products .mille__02 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px var(--padding);
  margin: 0px auto 0px;
  max-width: 880px;
  display: block flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products .mille__02 {
      -ms-flex-direction: column;
          flex-direction: column;
      gap: 15px;
      margin: 0px 0px 0px 20px; } }
  .products .mille__02 li {
    gap: 40px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (min-width: 768px) {
      .products .mille__02 li {
        -ms-flex-preferred-size: 400px;
            flex-basis: 400px; } }
    @media screen and (max-width: 767px) {
      .products .mille__02 li {
        gap: 20px; } }
    .products .mille__02 li dt {
      font-weight: 700;
      letter-spacing: 0.03em;
      margin-bottom: 2px; }
      @media screen and (max-width: 767px) {
        .products .mille__02 li dt {
          font-size: 1.6rem;
          margin-bottom: 0px; } }
    .products .mille__02 li dl {
      -ms-flex-positive: 10;
          flex-grow: 10;
      font-size: 1.8rem;
      line-height: 1.666em; }
    .products .mille__02 li dd {
      font-weight: 500;
      letter-spacing: 0.02em; }
      @media screen and (max-width: 767px) {
        .products .mille__02 li dd {
          font-size: 1.5rem;
          line-height: 1.733em; } }
  .products .mille__02 figure {
    -ms-flex-item-align: center;
        align-self: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 110px; }
    @media screen and (max-width: 767px) {
      .products .mille__02 figure {
        width: 90px; } }
  .products .mille__02 img {
    width: 100%; }

.products .mille__personal table {
  border-collapse: collapse;
  width: 100%; }
  .products .mille__personal table th,
  .products .mille__personal table td {
    border-bottom: 1px solid var(--c-gold);
    padding: 5px 0px;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .products .mille__personal table th,
      .products .mille__personal table td {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    .products .mille__personal table th span,
    .products .mille__personal table td span {
      font-size: 87.5%; }
  .products .mille__personal table thead th {
    font-weight: 700;
    text-align: center; }
  .products .mille__personal table tbody td {
    color: #a39565;
    text-align: center; }

@media screen and (max-width: 767px) {
  .products .mille__personal__03 {
    overflow: auto; }
    .products .mille__personal__03 table {
      width: 700px; } }

.products .mille__personal__01 {
  gap: 30px;
  margin: 0px auto 50px;
  display: block flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products .mille__personal__01 {
      gap: 15px;
      margin: 0px 0px 30px 0px; } }
  .products .mille__personal__01 img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 120px; }
    @media screen and (max-width: 767px) {
      .products .mille__personal__01 img {
        width: 75px; } }
  .products .mille__personal__01 figcaption {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .products .mille__personal__01 figcaption {
        font-size: 1.5rem;
        line-height: 1.733em; } }

.products .mille__personal__02 {
  -ms-flex-align: start;
      align-items: flex-start;
  display: block flex;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: 30px;
  margin: 0px auto 50px; }
  @media screen and (max-width: 767px) {
    .products .mille__personal__02 {
      gap: 20px;
      margin: 0px 0px 30px 0px; } }
  .products .mille__personal__02 li {
    gap: 30px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .products .mille__personal__02 li {
        gap: 15px; } }
    .products .mille__personal__02 li dt {
      font-weight: 700;
      letter-spacing: 0.03em;
      margin-bottom: 2px; }
      @media screen and (max-width: 767px) {
        .products .mille__personal__02 li dt {
          font-size: 1.6rem;
          margin-bottom: 0px; } }
    .products .mille__personal__02 li dl {
      -ms-flex-positive: 10;
          flex-grow: 10;
      font-size: 1.8rem;
      line-height: 1.666em; }
    .products .mille__personal__02 li dd {
      font-weight: 500;
      letter-spacing: 0.02em; }
      @media screen and (max-width: 767px) {
        .products .mille__personal__02 li dd {
          font-size: 1.5rem;
          line-height: 1.733em; } }
  .products .mille__personal__02 figure {
    -ms-flex-item-align: start;
        align-self: flex-start;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 120px; }
    @media screen and (max-width: 767px) {
      .products .mille__personal__02 figure {
        width: 75px; } }
  .products .mille__personal__02 img {
    width: 100%; }

.products__brand {
  gap: var(--padding);
  margin: 0px auto 120px;
  max-width: 940px;
  padding: 0px var(--padding);
  display: block flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .products__brand {
      display: block;
      margin-bottom: 60px;
      padding-inline: 35px; } }
  .products__brand figure {
    -ms-flex-preferred-size: 430px;
        flex-basis: 430px;
    height: 120px; }
    @media screen and (max-width: 767px) {
      .products__brand figure {
        height: 90px; } }
    .products__brand figure img {
      height: 36px; }
      @media screen and (max-width: 767px) {
        .products__brand figure img {
          height: 32px; } }
    .products__brand figure a {
      border-radius: 20px;
      box-shadow: 1px 1px 3px rgba(128, 147, 147, 0.4);
      height: 100%;
      position: relative;
      width: 100%;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      text-decoration: none;
      transition: all 250ms ease; }
      @media screen and (min-width: 768px) {
        .products__brand figure a:hover {
          opacity: 0.5; } }
      .products__brand figure a::after {
        background: var(--c-gold);
        content: "";
        height: 13px;
        margin: auto;
        position: absolute;
        width: 23px;
        clip-path: url(#icon_arrow_anchorlink);
        inset: auto 0px 15px; }
        @media screen and (max-width: 767px) {
          .products__brand figure a::after {
            bottom: 5px;
            scale: 0.75; } }
  @media screen and (max-width: 767px) {
    .products__brand--laforre {
      margin-bottom: 30px; } }
  .products__brand--laforre a {
    background: var(--c-laforre); }
  .products__brand--maria a {
    background: var(--c-maria); }

.products__body {
  padding: 120px 0px; }
  @media screen and (max-width: 767px) {
    .products__body {
      padding-block: 60px; } }
  .products__body__block:not(:last-child) {
    margin-bottom: 140px; }
    @media screen and (max-width: 767px) {
      .products__body__block:not(:last-child) {
        margin-bottom: 70px; } }
  @media screen and (max-width: 767px) {
    .products__body .c-btn--middle {
      max-width: 300px; } }
  .products__body--laforre {
    background: #f5f8f7; }
  .products__body--maria {
    background: #fffaf8; }
    @media screen and (min-width: 768px) {
      .products__body--maria {
        margin-bottom: 5px; } }
  .products__body__logo {
    margin-bottom: 95px; }
    @media screen and (max-width: 767px) {
      .products__body__logo {
        margin-bottom: 45px; } }
    .products__body__logo img {
      height: 72px; }
      @media screen and (max-width: 767px) {
        .products__body__logo img {
          height: 40px; } }
  .products__body .slider {
    position: relative; }
    .products__body .slider__prev, .products__body .slider__next {
      bottom: 0px;
      cursor: pointer;
      height: 44px;
      margin: auto;
      position: absolute;
      top: 0px;
      width: 25px;
      z-index: 5;
      text-decoration: none;
      transition: all 250ms ease; }
      @media screen and (min-width: 768px) {
        .products__body .slider__prev:hover, .products__body .slider__next:hover {
          opacity: 0.5; } }
      @media screen and (max-width: 767px) {
        .products__body .slider__prev, .products__body .slider__next {
          bottom: 40px; } }
      .products__body .slider__prev[data-disable="true"], .products__body .slider__next[data-disable="true"] {
        opacity: 0.3;
        pointer-events: none; }
      .products__body .slider__prev::before, .products__body .slider__next::before {
        background: var(--c-gold);
        content: "";
        margin: auto;
        position: absolute;
        clip-path: url(#icon_sliderarrow);
        inset: 0px; }
    .products__body .slider__prev {
      left: max(calc((100% - 1430px) * 0.5),5px);
      rotate: 180deg; }
      @media screen and (max-width: 767px) {
        .products__body .slider__prev {
          left: 10px; } }
    .products__body .slider__next {
      right: max(calc((100% - 1430px) * 0.5),5px); }
      @media screen and (max-width: 767px) {
        .products__body .slider__next {
          right: 10px; } }
    .products__body .slider__wrapper {
      margin: 50px auto 75px;
      max-width: var(--width);
      overflow: hidden;
      padding: 0px var(--padding); }
      @media screen and (max-width: 767px) {
        .products__body .slider__wrapper {
          margin-block: 45px 40px; } }
      .products__body .slider__wrapper ul {
        display: block flex;
        gap: 60px;
        -ms-flex-pack: start;
            justify-content: flex-start;
        padding-bottom: 5px;
        transition: transform 500ms ease; }
        @media screen and (max-width: 1086px) {
          .products__body .slider__wrapper ul {
            gap: var(--padding); } }
        @media screen and (max-width: 767px) {
          .products__body .slider__wrapper ul {
            margin: 0px auto;
            width: 230px; } }
        .products__body .slider__wrapper ul li {
          -ms-flex-negative: 0;
              flex-shrink: 0;
          width: calc((100% - 120px) / 3); }
          @media screen and (max-width: 1086px) {
            .products__body .slider__wrapper ul li {
              width: calc((100% - 60px) / 3); } }
          @media screen and (max-width: 767px) {
            .products__body .slider__wrapper ul li {
              width: 230px; } }
        .products__body .slider__wrapper ul a {
          display: block flow;
          text-align: left;
          text-decoration: none; }
          @media screen and (min-width: 768px) {
            .products__body .slider__wrapper ul a {
              transition: all 250ms ease; }
              .products__body .slider__wrapper ul a:hover span {
                color: var(--c-ultradarkblue); }
                .products__body .slider__wrapper ul a:hover span::after {
                  translate: 0px 0px; }
                .products__body .slider__wrapper ul a:hover span::before {
                  width: 100%; }
              .products__body .slider__wrapper ul a:hover img {
                scale: 1.05; } }
          .products__body .slider__wrapper ul a h3 {
            font-size: 1.8rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            line-height: 1.444em;
            margin-bottom: 5px; }
            @media screen and (max-width: 767px) {
              .products__body .slider__wrapper ul a h3 {
                font-size: 1.5rem;
                line-height: 1.533em; } }
          .products__body .slider__wrapper ul a p {
            font-size: 1.6rem;
            font-weight: 500;
            line-height: 1.75em;
            margin-bottom: 25px; }
            @media screen and (max-width: 767px) {
              .products__body .slider__wrapper ul a p {
                font-size: 1.4rem;
                line-height: 1.571em; } }
          .products__body .slider__wrapper ul a figure {
            margin-bottom: 20px;
            overflow: hidden; }
            @media screen and (max-width: 767px) {
              .products__body .slider__wrapper ul a figure {
                margin-bottom: 10px; } }
            .products__body .slider__wrapper ul a figure img {
              width: 100%;
              transition: all 250ms ease; }
          .products__body .slider__wrapper ul a span {
            color: var(--c-bluegreen);
            font-size: 1.7rem;
            font-weight: 700;
            gap: 16px;
            margin-right: -21px;
            position: relative;
            text-decoration: none;
            line-height: 1.5em;
            display: inline flex;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center; }
            @media screen and (max-width: 767px) {
              .products__body .slider__wrapper ul a span {
                font-size: 1.4rem;
                gap: 8px;
                margin-right: 0px; } }
            .products__body .slider__wrapper ul a span::before {
              background: var(--c-bluegreen);
              content: "";
              height: 1px;
              position: absolute;
              width: 0px;
              inset: auto auto -5px 0px;
              transition: all 250ms ease; }
            .products__body .slider__wrapper ul a span::after {
              background: var(--c-bluegreen);
              content: "";
              height: 8px;
              width: 21px;
              translate: -6px 0px;
              transition: all 250ms ease;
              clip-path: url(#icon_arrow); }
              @media screen and (max-width: 767px) {
                .products__body .slider__wrapper ul a span::after {
                  scale: 0.75;
                  translate: 0px 0px; } }

.products__items {
  padding: 120px var(--padding); }
  @media screen and (max-width: 767px) {
    .products__items {
      padding-block: 60px; } }
  .products__items nav {
    margin-top: 120px; }
    @media screen and (max-width: 767px) {
      .products__items nav {
        margin-top: 60px; } }
  .products__items--laforre {
    background: #f5f8f7;
    margin-top: -60px; }
    @media screen and (max-width: 767px) {
      .products__items--laforre {
        margin-top: -35px; } }
    .products__items--laforre .products__items__logo {
      max-width: 282px; }
      @media screen and (max-width: 767px) {
        .products__items--laforre .products__items__logo {
          max-width: 117.5px; } }
  .products__items--maria {
    background: #fffaf8; }
    .products__items--maria .products__items__logo {
      max-width: 400px; }
      @media screen and (max-width: 767px) {
        .products__items--maria .products__items__logo {
          max-width: 200px; } }
  .products__items__logo {
    margin: 0px auto 120px; }
    @media screen and (max-width: 767px) {
      .products__items__logo {
        margin-bottom: 50px; } }
    .products__items__logo img {
      width: 100%; }
  .products__items ul {
    display: block flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 85px 60px;
    -ms-flex-pack: start;
        justify-content: flex-start;
    max-width: var(--width);
    margin-inline: auto; }
    @media screen and (max-width: 1086px) {
      .products__items ul {
        gap: var(--padding); } }
    @media screen and (max-width: 767px) {
      .products__items ul {
        display: block; } }
    .products__items ul li {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      width: calc((100% - 120px) / 3); }
      @media screen and (max-width: 1086px) {
        .products__items ul li {
          width: calc((100% - 60px) / 3); } }
      @media screen and (max-width: 767px) {
        .products__items ul li {
          width: auto; }
          .products__items ul li:not(:last-child) {
            margin-bottom: 35px;
            padding-bottom: 35px;
            border-bottom: 1px solid var(--c-ultralightgray); } }
    .products__items ul a {
      display: block flow;
      text-align: left;
      text-decoration: none; }
      @media screen and (max-width: 767px) {
        .products__items ul a {
          display: block flex;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          gap: 20px; } }
      @media screen and (min-width: 768px) {
        .products__items ul a {
          transition: all 250ms ease; }
          .products__items ul a:hover span {
            color: var(--c-ultradarkblue); }
            .products__items ul a:hover span::after {
              translate: 0px 0px; }
            .products__items ul a:hover span::before {
              width: 100%; }
          .products__items ul a:hover img {
            scale: 1.05; } }
      .products__items ul a h2 {
        font-size: 1.8rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.444em;
        margin-bottom: 10px; }
        @media screen and (max-width: 767px) {
          .products__items ul a h2 {
            font-size: 1.5rem;
            line-height: 1.333em;
            margin-bottom: 15px; } }
      .products__items ul a p {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.75em;
        margin-bottom: 30px; }
        @media screen and (max-width: 767px) {
          .products__items ul a p {
            margin-bottom: 15px;
            font-size: 1.4rem;
            line-height: 1.428em; } }
      @media screen and (max-width: 767px) {
        .products__items ul a div {
          -ms-flex-preferred-size: 170px;
              flex-basis: 170px;
          -ms-flex-positive: 10;
              flex-grow: 10; } }
      .products__items ul a figure {
        margin-bottom: 35px;
        overflow: hidden; }
        @media screen and (max-width: 767px) {
          .products__items ul a figure {
            -ms-flex-item-align: start;
                align-self: flex-start;
            -ms-flex-preferred-size: 150px;
                flex-basis: 150px;
            margin-bottom: 0px; } }
        .products__items ul a figure img {
          width: 100%;
          transition: all 250ms ease; }
      .products__items ul a span {
        color: var(--c-bluegreen);
        font-size: 1.7rem;
        font-weight: 700;
        gap: 16px;
        margin-right: -21px;
        position: relative;
        text-decoration: none;
        line-height: 1.5em;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .products__items ul a span {
            font-size: 1.4rem;
            gap: 8px;
            margin-right: 0px; } }
        .products__items ul a span::before {
          background: var(--c-bluegreen);
          content: "";
          height: 1px;
          position: absolute;
          width: 0px;
          inset: auto auto -5px 0px;
          transition: all 250ms ease; }
        .products__items ul a span::after {
          background: var(--c-bluegreen);
          content: "";
          height: 8px;
          width: 21px;
          translate: -6px 0px;
          transition: all 250ms ease;
          clip-path: url(#icon_arrow); }
          @media screen and (max-width: 767px) {
            .products__items ul a span::after {
              scale: 0.75;
              translate: 0px 0px; } }

/*--;

  製品情報

====================================================== --*/
.news .articlelist {
  margin: 0px auto 55px;
  max-width: var(--width);
  padding: 10px var(--padding) 0px; }
  @media screen and (max-width: 767px) {
    .news .articlelist {
      padding-top: 5px;
      margin-bottom: 30px; } }
  .news .articlelist ul {
    border-bottom: 1px solid var(--c-ultralightgray);
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 45px;
    --v: 40px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 1086px) {
      .news .articlelist ul {
        --v: var(--padding); } }
    @media screen and (max-width: 767px) {
      .news .articlelist ul {
        display: block flow-root;
        margin-bottom: 30px; } }
    .news .articlelist ul li {
      border-top: 1px solid var(--c-ultralightgray);
      box-sizing: border-box;
      margin-bottom: 40px;
      padding: 40px 0px 0px var(--v);
      position: relative;
      width: 50%; }
      @media screen and (max-width: 767px) {
        .news .articlelist ul li {
          margin-bottom: 20px;
          padding: 20px 0px 0px 0px;
          width: auto; } }
      .news .articlelist ul li:nth-of-type(odd) {
        position: relative; }
        @media screen and (min-width: 768px) {
          .news .articlelist ul li:nth-of-type(odd) {
            padding-inline: 0px var(--v); }
            .news .articlelist ul li:nth-of-type(odd)::after {
              background: var(--c-ultralightgray);
              content: "";
              margin: auto;
              position: absolute;
              width: 1px;
              inset: 40px 0px 0px auto; } }
      .news .articlelist ul li:nth-of-type(1) {
        border-top: none;
        padding-top: 0px; }
        @media screen and (min-width: 768px) {
          .news .articlelist ul li:nth-of-type(1)::after {
            top: 0px; } }
      @media screen and (min-width: 768px) {
        .news .articlelist ul li:nth-of-type(2) {
          border-top: none;
          padding-top: 0px; } }
    .news .articlelist ul a {
      font-size: 1.7rem;
      gap: 30px;
      line-height: 1.764em;
      text-align: left;
      text-decoration: none;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      text-decoration: none;
      transition: all 250ms ease; }
      @media screen and (max-width: 1086px) {
        .news .articlelist ul a {
          gap: 15px; } }
      @media screen and (max-width: 767px) {
        .news .articlelist ul a {
          font-size: 1.4rem;
          gap: 20px; } }
      @media screen and (min-width: 768px) {
        .news .articlelist ul a:hover {
          color: var(--c-bluegreen); } }
      @media screen and (min-width: 768px) {
        .news .articlelist ul a:hover img {
          scale: 1.1; } }
      .news .articlelist ul a figure {
        -ms-flex-item-align: start;
            align-self: flex-start;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        overflow: hidden;
        width: 140px; }
        @media screen and (max-width: 1086px) {
          .news .articlelist ul a figure {
            width: 100px; } }
        @media screen and (max-width: 767px) {
          .news .articlelist ul a figure {
            width: 90px; } }
        .news .articlelist ul a figure img {
          width: 100%;
          aspect-ratio: 1/ 1;
          object-fit: cover;
          transition: all 250ms ease; }
      .news .articlelist ul a div {
        -ms-flex-positive: 10;
            flex-grow: 10; }
      .news .articlelist ul a time {
        color: var(--c-lightgray);
        letter-spacing: 0.02em; }
      .news .articlelist ul a p {
        font-weight: 500;
        letter-spacing: 0.04em; }

.news .wp-pagenavi {
  margin: 0px auto 150px;
  max-width: var(--width);
  min-height: 25px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .news .wp-pagenavi {
      margin: 0px var(--padding) 75px; } }
  .news .wp-pagenavi a {
    top: 0px;
    color: var(--c-bluegreen);
    font-size: 1.7rem;
    font-weight: 700;
    gap: 16px;
    margin-right: -21px;
    position: relative;
    text-decoration: none;
    line-height: 1.5em;
    display: inline flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .news .wp-pagenavi a {
        font-size: 1.4rem;
        gap: 8px;
        margin-right: 0px; } }
    .news .wp-pagenavi a::before {
      background: var(--c-bluegreen);
      content: "";
      height: 1px;
      position: absolute;
      width: 0px;
      inset: auto auto -5px 0px;
      transition: all 250ms ease; }
    .news .wp-pagenavi a::after {
      background: var(--c-bluegreen);
      content: "";
      height: 8px;
      width: 21px;
      translate: -6px 0px;
      transition: all 250ms ease;
      clip-path: url(#icon_arrow); }
      @media screen and (max-width: 767px) {
        .news .wp-pagenavi a::after {
          scale: 0.75;
          translate: 0px 0px; } }
    @media screen and (min-width: 768px) {
      .news .wp-pagenavi a {
        transition: all 250ms ease; }
        .news .wp-pagenavi a:hover {
          color: var(--c-ultradarkblue); }
          .news .wp-pagenavi a:hover::after {
            translate: 0px 0px; }
          .news .wp-pagenavi a:hover::before {
            width: 100%; } }
    .news .wp-pagenavi a.previouspostslink {
      left: -5px;
      padding-left: 39px; }
      .news .wp-pagenavi a.previouspostslink::after {
        left: 0px;
        margin-right: 0px;
        position: absolute;
        top: 8px;
        transform: scaleX(-1);
        translate: 6px 0px; }
      .news .wp-pagenavi a.previouspostslink::before {
        left: auto;
        right: 0px; }
      @media screen and (min-width: 768px) {
        .news .wp-pagenavi a.previouspostslink:hover::after {
          translate: 0px 0px; } }
    .news .wp-pagenavi a.nextpostslink {
      right: 16px; }
      @media screen and (max-width: 767px) {
        .news .wp-pagenavi a.nextpostslink {
          right: 0px; } }
  .news .wp-pagenavi a {
    position: absolute; }

.news .pager {
  margin: 0px auto 150px;
  max-width: var(--width);
  min-height: 25px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .news .pager {
      margin: 0px var(--padding) 75px; } }
  .news .pager a {
    top: 0px;
    color: var(--c-bluegreen);
    font-size: 1.7rem;
    font-weight: 700;
    gap: 16px;
    margin-right: -21px;
    position: relative;
    text-decoration: none;
    line-height: 1.5em;
    display: inline flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .news .pager a {
        font-size: 1.4rem;
        gap: 8px;
        margin-right: 0px; } }
    .news .pager a::before {
      background: var(--c-bluegreen);
      content: "";
      height: 1px;
      position: absolute;
      width: 0px;
      inset: auto auto -5px 0px;
      transition: all 250ms ease; }
    .news .pager a::after {
      background: var(--c-bluegreen);
      content: "";
      height: 8px;
      width: 21px;
      translate: -6px 0px;
      transition: all 250ms ease;
      clip-path: url(#icon_arrow); }
      @media screen and (max-width: 767px) {
        .news .pager a::after {
          scale: 0.75;
          translate: 0px 0px; } }
    @media screen and (min-width: 768px) {
      .news .pager a {
        transition: all 250ms ease; }
        .news .pager a:hover {
          color: var(--c-ultradarkblue); }
          .news .pager a:hover::after {
            translate: 0px 0px; }
          .news .pager a:hover::before {
            width: 100%; } }
    .news .pager a.pager--prev {
      left: -5px;
      padding-left: 39px; }
      .news .pager a.pager--prev::after {
        left: 0px;
        margin-right: 0px;
        position: absolute;
        top: 8px;
        transform: scaleX(-1);
        translate: 6px 0px; }
      .news .pager a.pager--prev::before {
        left: auto;
        right: 0px; }
      @media screen and (min-width: 768px) {
        .news .pager a.pager--prev:hover::after {
          translate: 0px 0px; } }
    .news .pager a.pager--next {
      right: 16px; }
      @media screen and (max-width: 767px) {
        .news .pager a.pager--next {
          right: 0px; } }
  .news .pager a {
    position: absolute; }

.news .detail {
  margin: 0px auto 160px;
  max-width: 960px;
  padding: 0px var(--padding);
  text-align: left; }
  @media screen and (max-width: 767px) {
    .news .detail {
      margin-bottom: 80px; } }
  .news .detail time {
    color: var(--c-lightgray);
    display: block flow;
    font-size: 1.7rem;
    letter-spacing: 0.02em;
    line-height: 1.8em;
    margin: 0px 0px 33px; }
    @media screen and (max-width: 767px) {
      .news .detail time {
        font-size: 1.4rem;
        margin: 0px 0px 3px; } }
  .news .detail h2 {
    color: var(--c-darkblue);
    font-family: "Noto Serif JP", serif;
    font-size: 2.6rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.538em;
    margin: 0px 0px 55px; }
    @media screen and (max-width: 767px) {
      .news .detail h2 {
        color: var(--c-ultradarkblue);
        font-size: 1.8rem;
        line-height: 1.611em;
        margin: 0px 0px 25px; } }
  .news .detail__mv {
    margin: 0px 0px 30px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .news .detail__mv {
        margin-bottom: 15px; } }
    .news .detail__mv img {
      max-width: 100%; }
  .news .detail__body {
    color: var(--c-darkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em;
    margin-bottom: 115px; }
    @media screen and (max-width: 767px) {
      .news .detail__body {
        color: var(--c-ultradarkblue);
        font-size: 1.5rem;
        line-height: 1.733em;
        margin-bottom: 50px; } }
    .news .detail__body img {
      max-width: 100%; }
    .news .detail__body > p:not(:last-child) {
      margin-bottom: 1lh; }
    .news .detail__body h3 {
      color: var(--c-orange);
      font-size: 2.4rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.5em;
      margin-bottom: 35px; }
      @media screen and (max-width: 767px) {
        .news .detail__body h3 {
          font-size: 1.6rem;
          line-height: 1.4375em;
          margin-bottom: 15px; } }
      .news .detail__body h3:is(p + *) {
        margin-top: 60px; }
    .news .detail__body h4 {
      color: var(--c-orange);
      font-size: 1.8rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      line-height: 1.666em;
      margin-bottom: 10px; }
      @media screen and (max-width: 767px) {
        .news .detail__body h4 {
          font-size: 1.6rem;
          font-weight: 500;
          line-height: 1.4375em;
          margin-bottom: 5px; } }
    .news .detail__body ul li {
      margin-left: 5px;
      padding-left: 20px;
      position: relative; }
      .news .detail__body ul li::before {
        background: #b2cecc;
        border-radius: 100%;
        content: "";
        height: 9px;
        position: absolute;
        width: 9px;
        inset: calc(0.5lh - 5px) auto auto 0px; }
        @media screen and (max-width: 767px) {
          .news .detail__body ul li::before {
            height: 8px;
            top: calc(0.5lh - 4px);
            width: 8px; } }
    .news .detail__body ul:not(:last-child) {
      margin-bottom: 1lh; }
    .news .detail__body ol {
      counter-reset: ol; }
      .news .detail__body ol li {
        counter-increment: ol;
        margin-left: 5px;
        padding-left: 20px;
        position: relative; }
        .news .detail__body ol li::before {
          content: counter(ol) ".";
          position: absolute;
          inset: 0px auto auto 0px; }
      .news .detail__body ol:not(:last-child) {
        margin-bottom: 1lh; }
  .news .detail__caption {
    font-size: 1.2rem;
    text-align: right; }
    @media screen and (max-width: 767px) {
      .news .detail__caption {
        font-size: 1rem; } }
  .news .detail__prize {
    gap: 0px var(--padding);
    margin-bottom: 50px;
    display: block flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .news .detail__prize {
        -ms-flex-align: stretch;
            align-items: stretch;
        border: 1px solid var(--c-ultralightgray);
        -ms-flex-direction: column;
            flex-direction: column;
        margin-bottom: 25px;
        padding: 13px var(--padding) 30px; } }
    .news .detail__prize p {
      margin-bottom: 5px; }
      @media screen and (max-width: 767px) {
        .news .detail__prize p {
          font-size: 1.4rem;
          line-height: 1.571em;
          -ms-flex-order: 5;
              order: 5; } }
    @media screen and (max-width: 767px) {
      .news .detail__prize h3 {
        -ms-flex-order: 1;
            order: 1; } }
    @media screen and (max-width: 767px) {
      .news .detail__prize h4 {
        -ms-flex-order: 4;
            order: 4; } }
    @media screen and (min-width: 768px) {
      .news .detail__prize figure {
        -ms-flex-preferred-size: 440px;
            flex-basis: 440px; } }
    @media screen and (max-width: 767px) {
      .news .detail__prize figure {
        margin-bottom: var(--padding);
        -ms-flex-order: 2;
            order: 2;
        margin-inline: calc(var(--padding) * -1); }
        .news .detail__prize figure img {
          width: 100%; } }
    @media screen and (min-width: 768px) {
      .news .detail__prize > div {
        -ms-flex-preferred-size: 440px;
            flex-basis: 440px; } }
    @media screen and (max-width: 767px) {
      .news .detail__prize > div {
        display: contents; } }
  .news .detail__tel {
    margin-top: 15px; }
    @media screen and (max-width: 767px) {
      .news .detail__tel {
        -ms-flex-order: 6;
            order: 6;
        text-align: center; } }
  .news .detail__voice {
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .news .detail__voice {
        margin-bottom: 5px;
        -ms-flex-order: 3;
            order: 3; } }
    .news .detail__voice p {
      font-size: 1.1rem;
      font-weight: 700;
      text-align: right; }
      @media screen and (max-width: 767px) {
        .news .detail__voice p {
          font-size: 9px; } }
      .news .detail__voice p span {
        font-size: 1.4rem;
        font-weight: inherit; }
        @media screen and (max-width: 767px) {
          .news .detail__voice p span {
            font-size: 1rem; } }
    .news .detail__voice dl {
      margin-bottom: 3px;
      padding: 20px 25px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .news .detail__voice dl {
          padding: 10px 15px; } }
      .news .detail__voice dl dt {
        color: var(--c-brown);
        font-family: "Noto Serif JP", serif;
        font-size: 1.4rem;
        font-weight: 900;
        line-height: 1.2em;
        position: absolute;
        inset: -0.5lh auto auto 55px; }
        @media screen and (max-width: 767px) {
          .news .detail__voice dl dt {
            font-size: 1rem; } }
      .news .detail__voice dl dd {
        color: var(--c-darkblue);
        font-family: "Noto Serif JP", serif;
        font-size: 2.1rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        line-height: 1.428em; }
        @media screen and (max-width: 767px) {
          .news .detail__voice dl dd {
            font-size: 1.5rem;
            letter-spacing: 0px; } }
      .news .detail__voice dl::after, .news .detail__voice dl::before {
        box-sizing: border-box;
        content: "";
        height: 42px;
        position: absolute;
        width: 42px; }
      .news .detail__voice dl::before {
        border-left: 2px solid var(--c-brown);
        border-top: 2px solid var(--c-brown);
        inset: 0px auto auto 0px; }
      .news .detail__voice dl::after {
        border-bottom: 2px solid var(--c-brown);
        border-right: 2px solid var(--c-brown);
        inset: auto 0px 0px auto; }

/*--;

  製品情報

====================================================== --*/
.login__form {
  margin: 45px auto 155px;
  max-width: 960px; }
  @media screen and (max-width: 767px) {
    .login__form {
      margin: 0px var(--padding) 50px; } }
  .login__form dl {
    margin-bottom: 90px; }
    @media screen and (max-width: 767px) {
      .login__form dl {
        margin-bottom: 50px; } }
  .login__form dt {
    margin-bottom: 15px;
    text-align: left;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .login__form dt {
        margin-bottom: 10px; } }
    @media screen and (max-width: 767px) {
      .login__form dt {
        font-size: 1.5rem;
        line-height: 1.733em; } }
  .login__form dd {
    position: relative; }
  .login__form p {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .login__form p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    @media screen and (max-width: 767px) {
      .login__form p {
        text-align: left; } }

.login__switch {
  background: url(../images/icon_eye.webp) no-repeat center;
  background-size: 38px auto;
  cursor: pointer;
  height: 50px;
  position: absolute;
  width: 50px;
  inset: 10px 20px auto auto; }
  @media screen and (max-width: 767px) {
    .login__switch {
      background-size: 32px auto;
      height: 40px;
      width: 40px;
      inset: 3px 10px auto auto; } }
  .login__switch[data-status="close"]::after, .login__switch[data-status="close"]::before {
    content: "";
    height: 35px;
    width: 1px;
    rotate: 45deg;
    margin: auto;
    position: absolute;
    inset: 0; }
    @media screen and (max-width: 767px) {
      .login__switch[data-status="close"]::after, .login__switch[data-status="close"]::before {
        height: 30px; } }
  .login__switch[data-status="close"]::after {
    background: var(--c-black); }
  .login__switch[data-status="close"]::before {
    background: var(--c-white);
    translate: -1px 0px; }

/*--;

  製品情報

====================================================== --*/
.form__login {
  border: 1px solid #707070;
  box-sizing: border-box;
  color: var(--c-ultradarkblue);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  height: 70px;
  line-height: 1.875em;
  padding: 10px var(--padding);
  width: 100%;
  border-radius: 0px;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none; }
  @media screen and (max-width: 767px) {
    .form__login {
      font-size: 1.6rem;
      height: 47px;
      padding: 5px 15px; } }

.form__textarea, .form__text {
  border: 1px solid var(--c-ultralightgray);
  box-sizing: border-box;
  color: var(--c-ultradarkblue);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  height: 50px;
  line-height: 1.875em;
  padding: 10px 20px;
  width: 100%;
  border-radius: 0px;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none; }
  @media screen and (max-width: 767px) {
    .form__textarea, .form__text {
      font-size: 1.6rem;
      height: 41.5px;
      padding: 5px 15px; } }
  .form__textarea:-ms-input-placeholder, .form__text:-ms-input-placeholder {
    color: #b6b6b6; }
  .form__textarea::placeholder, .form__text::placeholder {
    color: #b6b6b6; }

.form__textarea {
  height: 200px;
  resize: vertical; }

.form__radio > span,
.form__radio li {
  position: relative;
  margin: 0px; }
  .form__radio > span input,
  .form__radio li input {
    left: 0px;
    opacity: 0;
    position: absolute;
    top: 0px; }
  .form__radio > span label,
  .form__radio li label {
    cursor: pointer;
    font-size: 1.5rem;
    gap: 12px;
    line-height: 2em;
    position: relative;
    display: inline flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    .form__radio > span label span::before, .form__radio > span label span::after,
    .form__radio li label span::before,
    .form__radio li label span::after {
      content: none; }
    @media screen and (max-width: 767px) {
      .form__radio > span label,
      .form__radio li label {
        font-size: 1.3rem;
        gap: 8px;
        line-height: 1.5em; } }
    .form__radio > span label:is(:checked + *)::after,
    .form__radio li label:is(:checked + *)::after {
      scale: 1; }
    .form__radio > span label:has(input:checked)::after,
    .form__radio li label:has(input:checked)::after {
      scale: 1; }
    .form__radio > span label::before,
    .form__radio li label::before {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      background: var(--c-white);
      border: 1px solid var(--c-ultralightgray);
      border-radius: 100%;
      box-sizing: border-box;
      content: "";
      height: 22px;
      width: 22px; }
      @media screen and (max-width: 767px) {
        .form__radio > span label::before,
        .form__radio li label::before {
          height: 16px;
          width: 16px; } }
    .form__radio > span label::after,
    .form__radio li label::after {
      background: #7d8488;
      border-radius: 100%;
      content: "";
      height: 8px;
      margin: auto;
      position: absolute;
      width: 8px;
      scale: 0;
      transition: all 250ms ease;
      inset: 0px auto 0px 7px; }
      @media screen and (max-width: 767px) {
        .form__radio > span label::after,
        .form__radio li label::after {
          left: 4px; } }

.form__checkbox > span,
.form__checkbox li {
  position: relative; }
  .form__checkbox > span input,
  .form__checkbox li input {
    opacity: 0;
    position: absolute;
    inset: 0px; }
  .form__checkbox > span label,
  .form__checkbox li label {
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: 500;
    gap: 12px;
    letter-spacing: 0.06em;
    line-height: 1.666em;
    position: relative;
    display: inline flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .form__checkbox > span label,
      .form__checkbox li label {
        font-size: 1.5rem;
        gap: 8px; } }
    .form__checkbox > span label:has(input:checked)::after, .form__checkbox > span label:is(:checked + *)::after,
    .form__checkbox li label:has(input:checked)::after,
    .form__checkbox li label:is(:checked + *)::after {
      scale: 1; }
    .form__checkbox > span label::before,
    .form__checkbox li label::before {
      border: 2px solid #7d8488;
      box-sizing: border-box;
      content: "";
      height: 22px;
      width: 22px;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
      @media screen and (max-width: 767px) {
        .form__checkbox > span label::before,
        .form__checkbox li label::before {
          height: 16px;
          width: 16px; } }
    .form__checkbox > span label::after,
    .form__checkbox li label::after {
      background: #7d8488;
      content: "";
      height: 8px;
      margin: auto;
      position: absolute;
      width: 8px;
      scale: 0;
      transition: all 250ms ease;
      inset: 0px auto 0px 7px; }
      @media screen and (max-width: 767px) {
        .form__checkbox > span label::after,
        .form__checkbox li label::after {
          left: 4px; } }

.form__select {
  position: relative; }
  .form__select select {
    background: var(--c-white);
    border: 1px solid var(--c-ultralightgray);
    border-radius: 0px;
    box-sizing: border-box;
    color: var(--c-ultradarkblue);
    cursor: pointer;
    display: block flow;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    height: 50px;
    letter-spacing: 0.04em;
    padding: 0px 20px;
    position: relative;
    width: 100%;
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none; }
    @media screen and (max-width: 767px) {
      .form__select select {
        font-size: 1.3rem;
        height: 41.5px;
        padding: 0px 40px 0px 15px; } }
  .form__select::after {
    background: currentColor;
    content: "";
    display: block;
    height: 44px;
    margin: auto;
    position: absolute;
    width: 25px;
    inset: 0px 20px 0px auto;
    clip-path: url(#icon_sliderarrow);
    scale: 0.5;
    rotate: 90deg; }
    @media screen and (max-width: 767px) {
      .form__select::after {
        right: 10px;
        scale: 0.3; } }

.form__submit {
  background: url(../images/btn_bg.webp) no-repeat center;
  background-size: cover;
  border: none;
  color: var(--c-white);
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  height: 56px;
  margin-top: 40px;
  max-width: 444px;
  position: relative;
  text-decoration: none;
  width: 100%;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin-inline: auto;
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .form__submit {
      font-size: 1.5rem;
      height: 47px;
      letter-spacing: 0.2em;
      margin-top: 30px;
      max-width: 260px; } }
  @media screen and (max-width: 767px) {
    .form__submit--login {
      max-width: 192px; } }
  @media screen and (min-width: 768px) {
    .form__submit:hover i {
      right: 15px; }
    .form__submit:hover::after {
      border-width: 4px; } }
  .form__submit::after {
    border: 0px solid currentColor;
    content: "";
    margin: auto;
    opacity: 0.5;
    position: absolute;
    transition: all 250ms ease;
    inset: 0px; }
  .form__submit::before {
    background: url(../images/btn_bg02.webp) no-repeat center;
    background-size: 100% 100%;
    content: "";
    margin: auto;
    position: absolute;
    inset: 4px; }
  .form__submit i {
    background: currentColor;
    content: "";
    height: 8px;
    margin: auto;
    position: absolute;
    width: 21px;
    inset: 0px 20px 0px auto;
    transition: all 250ms ease;
    clip-path: url(#icon_arrow); }
    @media screen and (max-width: 767px) {
      .form__submit i {
        right: 10px;
        scale: 0.75; } }

/*--;

  会員サポート

====================================================== --*/
.member__lead {
  margin: 0px var(--padding) 70px;
  text-align: center;
  color: var(--c-ultradarkblue);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.875em; }
  @media screen and (max-width: 767px) {
    .member__lead {
      margin-bottom: 35px;
      text-align: left; } }
  @media screen and (max-width: 767px) {
    .member__lead {
      font-size: 1.5rem;
      line-height: 1.733em; } }

.member__back {
  margin: 100px var(--padding) 120px; }
  @media screen and (max-width: 767px) {
    .member__back {
      margin-block: 50px 60px; }
      .member__back .c-btn {
        max-width: 250px; } }

.member--laforre {
  background: var(--c-bgcolor);
  margin-top: -60px;
  padding: 100px var(--padding) 50px; }
  @media screen and (max-width: 767px) {
    .member--laforre {
      margin-top: -35px;
      padding-block: 50px 25px; } }
  .member--laforre h2 {
    margin-bottom: 70px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .member--laforre h2 {
        margin-bottom: 50px; } }
    .member--laforre h2 img {
      width: 261px; }
      @media screen and (max-width: 767px) {
        .member--laforre h2 img {
          width: 150px; } }

.member--mariagalland {
  background: #fffaf8;
  padding: 100px var(--padding) 50px; }
  @media screen and (max-width: 767px) {
    .member--mariagalland {
      padding-block: 50px 25px; } }
  .member--mariagalland h2 {
    margin-bottom: 70px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .member--mariagalland h2 {
        margin-bottom: 50px; } }
    .member--mariagalland h2 img {
      width: 341px; }
      @media screen and (max-width: 767px) {
        .member--mariagalland h2 img {
          width: 200px; } }

.member .slider {
  margin: 55px 0px 130px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .member .slider {
      margin-block: 35px 65px; }
      .member .slider .c-btn {
        max-width: 250px; } }
  .member .slider__wrapper {
    margin: 0px auto 80px;
    max-width: var(--width);
    padding: 0px var(--padding); }
    @media screen and (max-width: 767px) {
      .member .slider__wrapper {
        margin-bottom: 35px; } }
  .member .slider--movie .slider__list {
    transition: transform 500ms ease; }
    @media screen and (max-width: 767px) {
      .member .slider--movie .slider__list {
        gap: 30px;
        margin: 0px auto;
        width: 220px; } }
    .member .slider--movie .slider__list li {
      -ms-flex-preferred-size: 572px;
          flex-basis: 572px; }
      @media screen and (max-width: 767px) {
        .member .slider--movie .slider__list li {
          -ms-flex-preferred-size: 220px;
              flex-basis: 220px; } }
  @media screen and (min-width: 768px) {
    .member .slider--images .slider__list {
      transition: transform 500ms ease; } }
  @media screen and (max-width: 767px) {
    .member .slider--images .slider__list {
      display: block flow;
      transform: translateX(0px) !important; } }
  .member .slider--images .slider__list li {
    -ms-flex-preferred-size: 322px;
        flex-basis: 322px; }
    @media screen and (max-width: 767px) {
      .member .slider--images .slider__list li {
        margin-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .member .slider--images .slider__list a {
      display: block grid;
      gap: 3px var(--padding);
      grid-template-columns: 95px 1fr;
      grid-template-rows: auto 1fr; } }
  @media screen and (max-width: 767px) {
    .member .slider--images .slider__list figure {
      margin: 0px;
      grid-row: 1 / 3; } }
  @media screen and (max-width: 767px) {
    .member .slider--images .slider__list p {
      margin-top: -0.1lh; } }
  @media screen and (max-width: 767px) {
    .member .slider--images .slider__list span {
      -ms-flex-item-align: start;
          align-self: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; } }
  @media screen and (max-width: 767px) {
    .member .slider--images .slider__next,
    .member .slider--images .slider__prev {
      display: none; } }
  .member .slider__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 60px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    .member .slider__list li {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .member .slider__list a {
      display: block flow;
      text-align: left;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        .member .slider__list a {
          transition: all 250ms ease; }
          .member .slider__list a:hover span {
            color: var(--c-ultradarkblue); }
            .member .slider__list a:hover span::after {
              translate: 0px 0px; }
            .member .slider__list a:hover span::before {
              width: 100%; }
          .member .slider__list a:hover img {
            scale: 1.05; } }
    .member .slider__list figure {
      margin-bottom: 17px;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .member .slider__list figure {
          margin-bottom: 7px; } }
      .member .slider__list figure img {
        width: 100%;
        transition: all 250ms ease; }
    .member .slider__list p {
      margin-bottom: 12px;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .member .slider__list p {
          font-size: 1.5rem;
          line-height: 1.733em; } }
      @media screen and (max-width: 767px) {
        .member .slider__list p {
          font-size: 1.4rem;
          margin-bottom: 2px; } }
    .member .slider__list span {
      color: var(--c-bluegreen);
      font-size: 1.7rem;
      font-weight: 700;
      gap: 16px;
      margin-right: -21px;
      position: relative;
      text-decoration: none;
      line-height: 1.5em;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .member .slider__list span {
          font-size: 1.4rem;
          gap: 8px;
          margin-right: 0px; } }
      .member .slider__list span::before {
        background: var(--c-bluegreen);
        content: "";
        height: 1px;
        position: absolute;
        width: 0px;
        inset: auto auto -5px 0px;
        transition: all 250ms ease; }
      .member .slider__list span::after {
        background: var(--c-bluegreen);
        content: "";
        height: 8px;
        width: 21px;
        translate: -6px 0px;
        transition: all 250ms ease;
        clip-path: url(#icon_arrow); }
        @media screen and (max-width: 767px) {
          .member .slider__list span::after {
            scale: 0.75;
            translate: 0px 0px; } }
  .member .slider__prev, .member .slider__next {
    cursor: pointer;
    height: 44px;
    position: absolute;
    top: 140px;
    width: 25px;
    z-index: 5;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (min-width: 768px) {
      .member .slider__prev:hover, .member .slider__next:hover {
        opacity: 0.5; } }
    @media screen and (max-width: 767px) {
      .member .slider__prev, .member .slider__next {
        top: 42px; } }
    .member .slider__prev[data-disable="true"], .member .slider__next[data-disable="true"] {
      opacity: 0.3;
      pointer-events: none; }
    .member .slider__prev::before, .member .slider__next::before {
      background: var(--c-gray);
      content: "";
      margin: auto;
      position: absolute;
      clip-path: url(#icon_sliderarrow);
      inset: 0px; }
  .member .slider__prev {
    left: max(calc((100% - 1430px) * 0.5),5px);
    rotate: 180deg; }
    @media screen and (max-width: 767px) {
      .member .slider__prev {
        left: 10px; } }
  .member .slider__next {
    right: max(calc((100% - 1430px) * 0.5),5px); }
    @media screen and (max-width: 767px) {
      .member .slider__next {
        right: 10px; } }

.member__movie {
  margin: 0px auto;
  max-width: var(--width);
  text-align: left; }
  .member__movie h3 {
    background: url(../images/member/icon.webp) no-repeat left center;
    background-size: 24px auto;
    color: var(--c-ultradarkblue);
    font-family: "Noto Serif JP", serif;
    font-size: 2.6rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.669em;
    margin-bottom: 40px;
    padding: 0px 0px 0px 40px; }
    @media screen and (max-width: 767px) {
      .member__movie h3 {
        background-size: 14px auto;
        font-size: 1.8rem;
        line-height: 1.722em;
        margin-bottom: 20px;
        padding-left: 22px; } }

.member .slider02 {
  margin: 0px 0px 50px; }
  @media screen and (max-width: 767px) {
    .member .slider02 {
      margin-bottom: 30px; } }
  .member .slider02__wrapper {
    margin: 0px auto 35px;
    max-width: var(--width);
    padding: 0px var(--padding); }
    @media screen and (max-width: 767px) {
      .member .slider02__wrapper {
        margin-bottom: 20px; } }
  .member .slider02__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 60px;
    margin: 0px auto;
    transition: transform 500ms ease;
    width: 572px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .member .slider02__list {
        width: 220px; } }
    .member .slider02__list li {
      -ms-flex-preferred-size: 572px;
          flex-basis: 572px;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
      @media screen and (max-width: 767px) {
        .member .slider02__list li {
          -ms-flex-preferred-size: 220px;
              flex-basis: 220px; } }
    .member .slider02__list a {
      display: block flow;
      text-align: left;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        .member .slider02__list a {
          transition: all 250ms ease; }
          .member .slider02__list a:hover span {
            color: var(--c-ultradarkblue); }
            .member .slider02__list a:hover span::after {
              translate: 0px 0px; }
            .member .slider02__list a:hover span::before {
              width: 100%; }
          .member .slider02__list a:hover img {
            scale: 1.05; } }
    .member .slider02__list figure {
      margin-bottom: 17px;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .member .slider02__list figure {
          margin-bottom: 7px; } }
      .member .slider02__list figure img {
        width: 100%;
        transition: all 250ms ease; }
    .member .slider02__list p {
      margin-bottom: 12px;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .member .slider02__list p {
          font-size: 1.5rem;
          line-height: 1.733em; } }
      @media screen and (max-width: 767px) {
        .member .slider02__list p {
          font-size: 1.4rem;
          margin-bottom: 2px; } }
    .member .slider02__list span {
      color: var(--c-bluegreen);
      font-size: 1.7rem;
      font-weight: 700;
      gap: 16px;
      margin-right: -21px;
      position: relative;
      text-decoration: none;
      line-height: 1.5em;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .member .slider02__list span {
          font-size: 1.4rem;
          gap: 8px;
          margin-right: 0px; } }
      .member .slider02__list span::before {
        background: var(--c-bluegreen);
        content: "";
        height: 1px;
        position: absolute;
        width: 0px;
        inset: auto auto -5px 0px;
        transition: all 250ms ease; }
      .member .slider02__list span::after {
        background: var(--c-bluegreen);
        content: "";
        height: 8px;
        width: 21px;
        translate: -6px 0px;
        transition: all 250ms ease;
        clip-path: url(#icon_arrow); }
        @media screen and (max-width: 767px) {
          .member .slider02__list span::after {
            scale: 0.75;
            translate: 0px 0px; } }
  .member .slider02__prev, .member .slider02__next {
    cursor: pointer;
    height: 44px;
    position: absolute;
    top: 140px;
    width: 25px;
    z-index: 5;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (min-width: 768px) {
      .member .slider02__prev:hover, .member .slider02__next:hover {
        opacity: 0.5; } }
    @media screen and (max-width: 767px) {
      .member .slider02__prev, .member .slider02__next {
        top: 42px; } }
    .member .slider02__prev[data-disable="true"], .member .slider02__next[data-disable="true"] {
      opacity: 0.3;
      pointer-events: none; }
    .member .slider02__prev::before, .member .slider02__next::before {
      background: var(--c-gold);
      content: "";
      margin: auto;
      position: absolute;
      clip-path: url(#icon_sliderarrow);
      inset: 0px; }
  .member .slider02__prev {
    left: max(calc((100% - 1430px) * 0.5),5px);
    rotate: 180deg; }
    @media screen and (max-width: 767px) {
      .member .slider02__prev {
        left: 10px; } }
  .member .slider02__next {
    right: max(calc((100% - 1430px) * 0.5),5px); }
    @media screen and (max-width: 767px) {
      .member .slider02__next {
        right: 10px; } }

.member__download {
  margin: 100px auto 65px;
  max-width: var(--width);
  text-align: left; }
  @media screen and (max-width: 767px) {
    .member__download {
      margin-bottom: 30px;
      margin-top: 50px; } }
  .member__download ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 60px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .member__download ul {
        gap: 25px 20px;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
    .member__download ul li {
      width: calc((100% - 120px) / 3); }
      @media screen and (max-width: 767px) {
        .member__download ul li {
          width: calc(50% - 10px); } }
    .member__download ul a {
      display: block flow;
      text-align: left;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        .member__download ul a {
          transition: all 250ms ease; }
          .member__download ul a:hover span {
            color: var(--c-ultradarkblue); }
            .member__download ul a:hover span::after {
              translate: 0px 0px; }
            .member__download ul a:hover span::before {
              width: 100%; }
          .member__download ul a:hover img {
            scale: 1.05; } }
    .member__download ul figure {
      margin-bottom: 17px;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .member__download ul figure {
          margin-bottom: 10px; } }
      .member__download ul figure img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        transition: all 250ms ease; }
    .member__download ul p {
      font-size: 1.7rem;
      font-weight: 700;
      line-height: 1.529em;
      margin-bottom: 12px; }
      @media screen and (max-width: 767px) {
        .member__download ul p {
          font-size: 1.4rem;
          line-height: 1.5em;
          margin-bottom: 5px; } }
    .member__download ul span {
      color: var(--c-bluegreen);
      font-size: 1.7rem;
      font-weight: 700;
      gap: 16px;
      margin-right: -21px;
      position: relative;
      text-decoration: none;
      line-height: 1.5em;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .member__download ul span {
          font-size: 1.4rem;
          gap: 8px;
          margin-right: 0px; } }
      .member__download ul span::before {
        background: var(--c-bluegreen);
        content: "";
        height: 1px;
        position: absolute;
        width: 0px;
        inset: auto auto -5px 0px;
        transition: all 250ms ease; }
      .member__download ul span::after {
        background: var(--c-bluegreen);
        content: "";
        height: 8px;
        width: 21px;
        translate: -6px 0px;
        transition: all 250ms ease;
        clip-path: url(#icon_arrow); }
        @media screen and (max-width: 767px) {
          .member__download ul span::after {
            scale: 0.75;
            translate: 0px 0px; } }
  @media screen and (max-width: 767px) {
    .member__download--detail ul {
      display: block flow; } }
  .member__download--detail ul li p {
    font-weight: 400;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .member__download--detail ul li p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    @media screen and (max-width: 767px) {
      .member__download--detail ul li p {
        margin-top: -0.1lh; } }
  @media screen and (max-width: 767px) {
    .member__download--detail ul li {
      width: auto;
      margin-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .member__download--detail ul li a {
      display: block grid;
      gap: 3px var(--padding);
      grid-template-columns: 95px 1fr;
      grid-template-rows: auto 1fr; } }
  @media screen and (max-width: 767px) {
    .member__download--detail ul li figure {
      margin: 0px;
      grid-row: 1 / 3; } }
  @media screen and (max-width: 767px) {
    .member__download--detail ul li span {
      -ms-flex-item-align: start;
          align-self: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; } }

/*--;

  セミナー・体験会

====================================================== --*/
.seminar__wrapper {
  margin: 75px auto 110px;
  max-width: 828px;
  padding: 0px var(--padding); }
  @media screen and (max-width: 767px) {
    .seminar__wrapper {
      margin-block: 35px 70px; } }

.seminar__select {
  margin-bottom: 40px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .seminar__select {
      margin-bottom: 15px; } }
  .seminar__select select {
    background: var(--c-white);
    border: 1px solid var(--c-ultralightgray);
    border-radius: 0px;
    box-sizing: border-box;
    color: var(--c-ultradarkblue);
    cursor: pointer;
    display: block flow;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2rem;
    height: 60px;
    letter-spacing: 0.04em;
    padding: 0px 30px;
    position: relative;
    width: 100%;
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none; }
    @media screen and (max-width: 767px) {
      .seminar__select select {
        font-size: 1.5rem;
        height: 45px;
        padding: 0px 40px 0px 10px; } }
  .seminar__select::after {
    background: currentColor;
    content: "";
    display: block;
    height: 44px;
    margin: auto;
    position: absolute;
    width: 25px;
    inset: 0px 20px 0px auto;
    clip-path: url(#icon_sliderarrow);
    scale: 0.5;
    rotate: 90deg; }
    @media screen and (max-width: 767px) {
      .seminar__select::after {
        right: 10px;
        scale: 0.3; } }

.seminar__date {
  border: 1px solid var(--c-ultralightgray);
  color: var(--c-ultradarkblue);
  font-size: 2rem;
  font-weight: 500;
  height: 60px;
  letter-spacing: 0.04em;
  margin-bottom: 40px;
  position: relative;
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .seminar__date {
      font-size: 1.5rem;
      height: 45px;
      margin-bottom: 15px; } }
  .seminar__date a {
    bottom: 0px;
    display: block;
    font-size: 0px;
    height: 44px;
    margin: auto;
    position: absolute;
    text-decoration: none;
    top: 0px;
    width: 25px;
    text-decoration: none;
    transition: all 250ms ease; }
    @media screen and (min-width: 768px) {
      .seminar__date a:hover {
        opacity: 0.5; } }
    .seminar__date a::after {
      background: currentColor;
      content: "";
      display: block;
      height: 100%;
      width: 100%;
      clip-path: url(#icon_sliderarrow);
      scale: 0.5; }
      @media screen and (max-width: 767px) {
        .seminar__date a::after {
          scale: 0.3; } }
  .seminar__date--prev {
    left: 12px;
    transform: scaleX(-1); }
    @media screen and (max-width: 767px) {
      .seminar__date--prev {
        left: 5px; } }
  .seminar__date--next {
    right: 12px; }
    @media screen and (max-width: 767px) {
      .seminar__date--next {
        right: 5px; } }

.seminar__list {
  margin-top: 80px; }
  @media screen and (max-width: 767px) {
    .seminar__list {
      margin-top: 60px; } }
  .seminar__list:is(.top *) {
    -ms-flex-preferred-size: 644px;
        flex-basis: 644px;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 40px;
    margin-top: 0px;
    -ms-flex-order: 2;
        order: 2;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .seminar__list:is(.top *) {
        gap: 30px; } }
    .seminar__list:is(.top *) li {
      margin: 0px; }
  .seminar__list--seminar figcaption {
    --bg: #daabaa; }
  .seminar__list--experience figcaption {
    --bg: #aba6cb; }
  .seminar__list li {
    font-size: 1.8rem;
    gap: var(--padding);
    line-height: 1.666em;
    margin-bottom: 50px;
    text-align: left;
    text-decoration: none;
    width: 100%;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .seminar__list li {
        font-size: 1.4rem;
        line-height: 1.785em;
        margin-bottom: 35px; } }
    .seminar__list li figure {
      -ms-flex-item-align: start;
          align-self: flex-start;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      overflow: hidden;
      position: relative;
      width: 140px; }
      @media screen and (max-width: 767px) {
        .seminar__list li figure {
          width: 100px; } }
      .seminar__list li figure figcaption {
        background: var(--bg);
        color: var(--c-white);
        font-size: 1.6rem;
        height: 25px;
        position: absolute;
        width: 72px;
        z-index: 1;
        display: block flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .seminar__list li figure figcaption {
            font-size: 1.1rem;
            height: 18px;
            width: 50%; } }
      .seminar__list li figure img {
        width: 100%; }
    .seminar__list li div {
      -ms-flex-positive: 10;
          flex-grow: 10; }
      @media screen and (max-width: 767px) {
        .seminar__list li div {
          margin-top: -0.25lh; } }
    .seminar__list li time {
      color: var(--c-lightgray);
      letter-spacing: 0.02em; }
      @media screen and (max-width: 767px) {
        .seminar__list li time {
          display: inline flow-root; } }
    .seminar__list li span {
      background: var(--c-bluegreen);
      color: var(--c-white);
      font-size: 1.4rem;
      height: 18px;
      letter-spacing: 0.06em;
      line-height: 1em;
      margin-left: 10px;
      padding: 0px 10px;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .seminar__list li span {
          font-size: 1rem;
          height: 14px;
          margin-left: 10px; } }
    .seminar__list li p {
      font-size: 2rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      margin: 15px 0px; }
      @media screen and (max-width: 767px) {
        .seminar__list li p {
          font-size: 1.4rem;
          margin: 5px 0px 5px; } }
      .seminar__list li p a {
        border-bottom: 1px solid #e4e6e6;
        color: var(--c-ultradarkblue);
        position: relative;
        text-decoration: none;
        -webkit-text-decoration-color: red;
                text-decoration-color: red;
        transition: all 250ms ease; }
        @media screen and (max-width: 767px) {
          .seminar__list li p a {
            border-bottom-color: currentColor; } }
        .seminar__list li p a:hover {
          border-bottom-color: currentColor; }
    .seminar__list li nav a {
      color: var(--c-bluegreen);
      font-size: 1.7rem;
      font-weight: 700;
      gap: 16px;
      margin-right: -21px;
      position: relative;
      text-decoration: none;
      line-height: 1.5em;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .seminar__list li nav a {
          font-size: 1.4rem;
          gap: 8px;
          margin-right: 0px; } }
      .seminar__list li nav a::before {
        background: var(--c-bluegreen);
        content: "";
        height: 1px;
        position: absolute;
        width: 0px;
        inset: auto auto -5px 0px;
        transition: all 250ms ease; }
      .seminar__list li nav a::after {
        background: var(--c-bluegreen);
        content: "";
        height: 8px;
        width: 21px;
        translate: -6px 0px;
        transition: all 250ms ease;
        clip-path: url(#icon_arrow); }
        @media screen and (max-width: 767px) {
          .seminar__list li nav a::after {
            scale: 0.75;
            translate: 0px 0px; } }
      @media screen and (min-width: 768px) {
        .seminar__list li nav a {
          transition: all 250ms ease; }
          .seminar__list li nav a:hover {
            color: var(--c-ultradarkblue); }
            .seminar__list li nav a:hover::after {
              translate: 0px 0px; }
            .seminar__list li nav a:hover::before {
              width: 100%; } }

.seminar__none {
  color: var(--c-ultradarkblue);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.875em; }
  @media screen and (max-width: 767px) {
    .seminar__none {
      font-size: 1.5rem;
      line-height: 1.733em; } }

.seminar__none02 {
  color: var(--c-ultradarkblue);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.875em;
  margin-bottom: 120px; }
  @media screen and (max-width: 767px) {
    .seminar__none02 {
      font-size: 1.5rem;
      line-height: 1.733em; } }
  @media screen and (max-width: 767px) {
    .seminar__none02 {
      margin-bottom: 60px; } }

.seminar__place {
  gap: var(--padding);
  margin: 55px auto 120px;
  max-width: 960px;
  padding-inline: var(--padding);
  display: block flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 767px) {
    .seminar__place {
      display: block flow;
      margin-block: 35px 75px; } }
  .seminar__place dl {
    -ms-flex-preferred-size: 440px;
        flex-basis: 440px;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .seminar__place dl {
        margin-bottom: 50px; } }
    .seminar__place dl dt {
      gap: 11px;
      margin-bottom: 10px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .seminar__place dl dt {
          margin-bottom: 15px; } }
      .seminar__place dl dt::after {
        background: #b2cecc;
        content: "";
        -ms-flex-positive: 10;
            flex-grow: 10;
        height: 1px; }
      .seminar__place dl dt span {
        background: var(--c-bluegreen);
        height: 26px;
        padding: 0px 8px;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        color: var(--c-white);
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.875em; }
        @media screen and (max-width: 767px) {
          .seminar__place dl dt span {
            font-size: 1.5rem;
            line-height: 1.733em; } }
        @media screen and (max-width: 767px) {
          .seminar__place dl dt span {
            font-size: 1.3rem;
            height: 22px;
            padding: 0px 6px; } }
    .seminar__place dl p {
      margin-bottom: 30px;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .seminar__place dl p {
          margin-bottom: 15px; } }
      @media screen and (max-width: 767px) {
        .seminar__place dl p {
          font-size: 1.5rem;
          line-height: 1.733em; } }
    .seminar__place dl div {
      margin: 0px auto;
      max-width: 353px; }
      .seminar__place dl div iframe {
        display: block;
        width: 100%;
        aspect-ratio: 1 / 1; }

.seminar .detail {
  margin: 75px auto 150px;
  max-width: 960px;
  padding-inline: var(--padding); }
  @media screen and (max-width: 767px) {
    .seminar .detail {
      margin-block: 35px 75px; } }
  @media screen and (max-width: 767px) {
    .seminar .detail .c-btn {
      max-width: 260px; } }
  .seminar .detail__body {
    margin-bottom: 60px;
    display: block flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (min-width: 768px) {
      .seminar .detail__body {
        gap: var(--padding); } }
    @media screen and (max-width: 767px) {
      .seminar .detail__body {
        -ms-flex-direction: column;
            flex-direction: column; } }
    @media screen and (min-width: 768px) {
      .seminar .detail__body > div,
      .seminar .detail__body figure {
        -ms-flex-preferred-size: 450px;
            flex-basis: 450px; } }
    @media screen and (max-width: 767px) {
      .seminar .detail__body figure {
        margin-bottom: 20px;
        -ms-flex-order: 2;
            order: 2; } }
    .seminar .detail__body figure img {
      width: 100%; }
    .seminar .detail__body > div {
      margin-top: -10px;
      text-align: left; }
      @media screen and (max-width: 767px) {
        .seminar .detail__body > div {
          display: contents; } }
      .seminar .detail__body > div h3 {
        color: var(--c-ultradarkblue);
        font-family: "Noto Serif JP", serif;
        font-size: 2.6rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        line-height: 1.669em;
        margin-bottom: 15px; }
        @media screen and (max-width: 767px) {
          .seminar .detail__body > div h3 {
            font-size: 2rem;
            line-height: 1.55em;
            margin-bottom: 20px;
            -ms-flex-order: 1;
                order: 1; } }
      .seminar .detail__body > div p {
        margin-bottom: 30px;
        color: var(--c-ultradarkblue);
        font-size: 1.6rem;
        font-weight: 500;
        letter-spacing: 0.04em;
        line-height: 1.875em; }
        @media screen and (max-width: 767px) {
          .seminar .detail__body > div p {
            margin-bottom: 20px;
            -ms-flex-order: 3;
                order: 3; } }
        @media screen and (max-width: 767px) {
          .seminar .detail__body > div p {
            font-size: 1.5rem;
            line-height: 1.733em; } }
      .seminar .detail__body > div dl {
        font-size: 1.5rem;
        font-weight: 500;
        letter-spacing: 0.04em;
        line-height: 1.866em;
        position: relative; }
        @media screen and (max-width: 767px) {
          .seminar .detail__body > div dl {
            -ms-flex-order: 5;
                order: 5; } }
        .seminar .detail__body > div dl::before {
          background: var(--c-ultralightgray);
          content: "";
          margin: auto;
          position: absolute;
          width: 1px;
          inset: 5px auto 5px 105px; }
          @media screen and (max-width: 767px) {
            .seminar .detail__body > div dl::before {
              background: var(--c-ultradarkblue);
              left: 95px; } }
        .seminar .detail__body > div dl dt {
          font-weight: inherit; }
          @media screen and (max-width: 767px) {
            .seminar .detail__body > div dl dt {
              font-size: 700; } }
        .seminar .detail__body > div dl dd {
          margin: -1lh 0px 0px 135px; }
          @media screen and (max-width: 767px) {
            .seminar .detail__body > div dl dd {
              margin-left: 115px; } }
        @media screen and (min-width: 768px) {
          .seminar .detail__body > div dl ul {
            gap: 0em 1.5em;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            display: block flex;
            -ms-flex-pack: start;
                justify-content: flex-start;
            -ms-flex-align: center;
                align-items: center; } }
  .seminar .detail__message {
    border: 1px solid currentCOlor;
    color: var(--c-bluegreen);
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 2em;
    margin-bottom: 20px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .seminar .detail__message {
        box-sizing: border-box;
        letter-spacing: 0px;
        margin-bottom: 25px;
        -ms-flex-order: 4;
            order: 4;
        padding: 0px 5px;
        width: 100%; } }
  .seminar .detail__caution {
    margin-bottom: 95px; }
    @media screen and (max-width: 767px) {
      .seminar .detail__caution {
        margin-bottom: 60px; } }
    .seminar .detail__caution dt {
      gap: 11px;
      margin-bottom: 12px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .seminar .detail__caution dt {
          margin-bottom: 15px; } }
      .seminar .detail__caution dt::after {
        background: var(--c-ultralightgray);
        content: "";
        -ms-flex-positive: 10;
            flex-grow: 10;
        height: 1px; }
        @media screen and (max-width: 767px) {
          .seminar .detail__caution dt::after {
            background: #b2cecc; } }
      .seminar .detail__caution dt span {
        background: #acb1b1;
        color: var(--c-white);
        font-size: 1.4rem;
        font-weight: 700;
        height: 26px;
        letter-spacing: 0.04em;
        padding: 0px 8px;
        display: inline flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 767px) {
          .seminar .detail__caution dt span {
            background: var(--c-bluegreen);
            font-size: 1.3rem;
            height: 22px;
            padding: 0px 6px; } }
  .seminar .detail dd {
    text-align: left;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .seminar .detail dd {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    .seminar .detail dd li {
      padding-left: 1.4em;
      position: relative; }
      .seminar .detail dd li::before {
        content: "●";
        position: absolute;
        inset: 0px auto auto 0px; }

.seminar__entry {
  border: 1px solid var(--c-bluegreen);
  box-sizing: border-box;
  margin: 75px auto 50px;
  max-width: 708px; }
  @media screen and (max-width: 767px) {
    .seminar__entry {
      margin: 35px var(--padding) 35px; } }
  .seminar__entry h3 {
    background: var(--c-bluegreen);
    color: var(--c-white);
    font-size: 2rem;
    font-weight: 500;
    height: 45px;
    letter-spacing: 0.04em;
    line-height: 1.5em;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .seminar__entry h3 {
        font-size: 1.5rem;
        height: 38px; } }
  .seminar__entry dl {
    margin: 22px 50px;
    text-align: left;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .seminar__entry dl {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    @media screen and (max-width: 767px) {
      .seminar__entry dl {
        font-size: 1.4rem;
        margin: 10px 15px; } }
    @media screen and (max-width: 767px) {
      .seminar__entry dl dt {
        font-weight: 700; } }
    .seminar__entry dl dd {
      margin: -1lh 0px 0px 90px;
      padding-left: 1.2em;
      position: relative; }
      @media screen and (max-width: 767px) {
        .seminar__entry dl dd {
          margin-left: 65px; } }
      .seminar__entry dl dd::before {
        content: "：";
        left: 0px;
        position: absolute;
        top: 0px; }

.seminar__form {
  margin: 0px auto 120px;
  max-width: 960px; }
  @media screen and (max-width: 767px) {
    .seminar__form {
      margin-bottom: 75px; } }
  .seminar__form h3 {
    background: var(--c-bluegreen);
    box-sizing: border-box;
    color: var(--c-white);
    font-size: 2rem;
    font-weight: 500;
    height: 45px;
    letter-spacing: 0.04em;
    line-height: 1.5em;
    margin: 0px auto -23px;
    max-width: 708px;
    position: relative;
    z-index: 5;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .seminar__form h3 {
        font-size: 1.5rem;
        height: 38px;
        margin: 0px var(--padding) -19px; } }
  .seminar__form > p {
    color: var(--c-ultradarkblue);
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.666em;
    margin-bottom: 35px; }
    @media screen and (max-width: 767px) {
      .seminar__form > p {
        font-size: 1.5rem;
        margin-bottom: 20px;
        padding: 0px var(--padding);
        text-align: left; } }
  .seminar__form dl {
    margin: 0px auto 45px;
    max-width: 830px;
    text-align: left; }
    @media screen and (min-width: 768px) {
      .seminar__form dl {
        display: block grid;
        gap: 30px 10px;
        grid-template-columns: 180px 1fr; } }
    @media screen and (max-width: 767px) {
      .seminar__form dl {
        margin-bottom: 30px; } }
  .seminar__form dt {
    color: var(--c-bluegreen);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.466em; }
    @media screen and (min-width: 768px) {
      .seminar__form dt {
        -ms-flex-item-align: start;
            align-self: flex-start;
        height: 50px;
        display: block flex;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center; } }
    @media screen and (max-width: 767px) {
      .seminar__form dt {
        font-size: 1.2rem;
        margin-bottom: 7px; } }
    .seminar__form dt[data-status="hide"] {
      display: none; }
  .seminar__form dd[data-status="hide"] {
    display: none; }
  @media screen and (max-width: 767px) {
    .seminar__form dd {
      margin-bottom: 25px; } }
  .seminar__form dd p.seminar__form__caption {
    color: var(--c-ultradarkblue);
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.8em;
    margin: 10px 0px 0px;
    padding-left: 1.2em;
    position: relative; }
    @media screen and (max-width: 767px) {
      .seminar__form dd p.seminar__form__caption {
        font-size: 1.1rem;
        font-weight: 400;
        margin-top: 5px; } }
    .seminar__form dd p.seminar__form__caption::before {
      content: "※";
      left: 0px;
      position: absolute;
      top: 0px; }
  .seminar__form .wpcf7-not-valid-tip {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.8em;
    margin: 10px 0px 0px; }
  .seminar__form .wpcf7-response-output {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .seminar__form .wpcf7-response-output {
        font-size: 1.5rem;
        line-height: 1.733em; } }
  @media screen and (min-width: 768px) {
    .seminar__form .seminar__form__jobs .wpcf7-radio {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      gap: 10px 30px;
      display: block flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      margin-block: 10px; }
      .seminar__form .seminar__form__jobs .wpcf7-radio span.last {
        width: 100%; } }
  @media screen and (max-width: 767px) {
    .seminar__form .seminar__form__jobs .wpcf7-radio > span {
      display: block flow-root;
      margin-bottom: 5px; } }
  .seminar__form .seminar__form__contact .wpcf7-form-control,
  .seminar__form .seminar__form__customer .wpcf7-form-control {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (min-width: 768px) {
      .seminar__form .seminar__form__contact .wpcf7-form-control,
      .seminar__form .seminar__form__customer .wpcf7-form-control {
        gap: 10px 30px;
        margin-block: 10px; }
        .seminar__form .seminar__form__contact .wpcf7-form-control span,
        .seminar__form .seminar__form__customer .wpcf7-form-control span {
          -ms-flex-preferred-size: 270px;
              flex-basis: 270px; } }
    @media screen and (max-width: 767px) {
      .seminar__form .seminar__form__contact .wpcf7-form-control,
      .seminar__form .seminar__form__customer .wpcf7-form-control {
        gap: 10px 0px; }
        .seminar__form .seminar__form__contact .wpcf7-form-control span,
        .seminar__form .seminar__form__customer .wpcf7-form-control span {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
  .seminar__form__body {
    background: var(--c-bgcolor);
    margin-bottom: 80px;
    padding: 60px var(--padding); }
    @media screen and (max-width: 767px) {
      .seminar__form__body {
        margin-bottom: 40px;
        padding-block: var(--padding) 40px; } }
    .seminar__form__body--confirm {
      padding: 95px var(--padding) 40px; }
      @media screen and (max-width: 767px) {
        .seminar__form__body--confirm {
          padding: 44px 41px 40px; } }
      @media screen and (min-width: 768px) {
        .seminar__form__body--confirm dl {
          gap: 45px 10px;
          grid-template-columns: 190px 1fr; } }
      @media screen and (max-width: 767px) {
        .seminar__form__body--confirm dl {
          margin-bottom: 0px; } }
      .seminar__form__body--confirm dt {
        display: block flow;
        height: auto; }
      .seminar__form__body--confirm dd {
        color: var(--c-ultradarkblue);
        font-size: 1.5rem;
        font-weight: 500;
        letter-spacing: 0.04em;
        line-height: 1.466em; }
        @media screen and (max-width: 767px) {
          .seminar__form__body--confirm dd {
            font-size: 1.4rem;
            margin-bottom: 15px; } }
  @media screen and (min-width: 768px) {
    .seminar__form__job {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      gap: 10px 30px;
      display: block flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      margin-block: 10px; }
      .seminar__form__job li:last-child {
        width: 100%; } }
  @media screen and (max-width: 767px) {
    .seminar__form__job li {
      margin-bottom: 5px; } }
  .seminar__form__address ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px 40px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .seminar__form__address ul {
        gap: 10px 0px; } }
  .seminar__form__address--zipcode {
    min-width: 220px;
    width: calc(40% - 20px); }
    @media screen and (max-width: 1086px) {
      .seminar__form__address--zipcode {
        width: 100%; } }
    .seminar__form__address--zipcode div:first-child {
      width: 3em; }
      @media screen and (max-width: 1086px) {
        .seminar__form__address--zipcode div:first-child {
          width: 4.5em; } }
  .seminar__form__address--pref {
    width: calc(60% - 20px); }
    @media screen and (max-width: 1086px) {
      .seminar__form__address--pref {
        width: 100%; } }
    .seminar__form__address--pref div:first-child {
      width: 4.5em; }
  .seminar__form__address--01, .seminar__form__address--02 {
    width: 100%; }
    .seminar__form__address--01 div:first-child, .seminar__form__address--02 div:first-child {
      width: 3em; }
      @media screen and (max-width: 1086px) {
        .seminar__form__address--01 div:first-child, .seminar__form__address--02 div:first-child {
          width: 4.5em; } }
  .seminar__form__address li {
    gap: 15px;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .seminar__form__address li {
        gap: 12px; } }
    .seminar__form__address li div:first-child {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      font-size: 1.5rem;
      letter-spacing: 0.04em;
      line-height: 2em;
      text-align: right; }
      @media screen and (max-width: 767px) {
        .seminar__form__address li div:first-child {
          font-size: 1.3rem;
          text-align: left; } }
    .seminar__form__address li .form__select {
      -ms-flex-positive: 10;
          flex-grow: 10; }
  .seminar__form__deadline {
    color: var(--c-ultradarkblue);
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.8em;
    margin: 0px 0px 25px;
    position: relative;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .seminar__form__deadline {
        margin-bottom: 35px;
        padding-left: 1.2em;
        position: relative;
        text-align: left; } }
    .seminar__form__deadline::before {
      content: "※";
      margin-right: 0.2em; }
      @media screen and (max-width: 767px) {
        .seminar__form__deadline::before {
          left: 0px;
          position: absolute;
          top: 0px; } }
  .seminar__form__policy p {
    color: var(--c-ultradarkblue);
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.866em;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .seminar__form__policy p {
        text-align: left; } }
  .seminar__form__policy div {
    position: relative; }
    .seminar__form__policy div input {
      opacity: 0;
      position: absolute;
      inset: 0px; }
    .seminar__form__policy div label {
      cursor: pointer;
      font-size: 1.8rem;
      font-weight: 500;
      gap: 12px;
      letter-spacing: 0.06em;
      line-height: 1.666em;
      position: relative;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .seminar__form__policy div label {
          font-size: 1.5rem;
          gap: 8px; } }
      .seminar__form__policy div label:has(input:checked)::after, .seminar__form__policy div label:is(:checked + *)::after {
        scale: 1; }
      .seminar__form__policy div label::before {
        border: 2px solid #7d8488;
        box-sizing: border-box;
        content: "";
        height: 22px;
        width: 22px; }
        @media screen and (max-width: 767px) {
          .seminar__form__policy div label::before {
            height: 16px;
            width: 16px; } }
      .seminar__form__policy div label::after {
        background: #7d8488;
        content: "";
        height: 8px;
        margin: auto;
        position: absolute;
        width: 8px;
        scale: 0;
        transition: all 250ms ease;
        inset: 0px auto 0px 7px; }
        @media screen and (max-width: 767px) {
          .seminar__form__policy div label::after {
            left: 4px; } }
  .seminar__form__btns {
    position: relative; }
    .seminar__form__btns a {
      color: var(--c-bluegreen);
      font-size: 1.7rem;
      font-weight: 700;
      gap: 16px;
      margin-right: -21px;
      position: relative;
      text-decoration: none;
      line-height: 1.5em;
      display: inline flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 767px) {
        .seminar__form__btns a {
          font-size: 1.4rem;
          gap: 8px;
          margin-right: 0px; } }
      .seminar__form__btns a::before {
        background: var(--c-bluegreen);
        content: "";
        height: 1px;
        position: absolute;
        width: 0px;
        inset: auto auto -5px 0px;
        transition: all 250ms ease; }
      .seminar__form__btns a::after {
        background: var(--c-bluegreen);
        content: "";
        height: 8px;
        width: 21px;
        translate: -6px 0px;
        transition: all 250ms ease;
        clip-path: url(#icon_arrow); }
        @media screen and (max-width: 767px) {
          .seminar__form__btns a::after {
            scale: 0.75;
            translate: 0px 0px; } }
      @media screen and (min-width: 768px) {
        .seminar__form__btns a {
          transition: all 250ms ease; }
          .seminar__form__btns a:hover {
            color: var(--c-ultradarkblue); }
            .seminar__form__btns a:hover::after {
              translate: 0px 0px; }
            .seminar__form__btns a:hover::before {
              width: 100%; } }
    @media screen and (max-width: 767px) {
      .seminar__form__btns nav {
        margin-top: 35px; } }
    .seminar__form__btns a {
      padding-left: 39px; }
      @media screen and (min-width: 768px) {
        .seminar__form__btns a {
          height: 25.5px;
          margin: auto;
          position: absolute;
          inset: 0px auto 0px -5px; } }
      .seminar__form__btns a::after {
        left: 0px;
        margin-right: 0px;
        position: absolute;
        top: 8px;
        transform: scaleX(-1);
        translate: 6px 0px; }
      .seminar__form__btns a::before {
        left: auto;
        right: 0px; }
      @media screen and (min-width: 768px) {
        .seminar__form__btns a:hover::after {
          translate: 0px 0px; } }

.seminar__complete {
  margin: 45px var(--padding) 120px; }
  @media screen and (max-width: 767px) {
    .seminar__complete {
      text-align: left;
      margin-block: 35px 75px; } }
  .seminar__complete h3 {
    color: var(--c-ultradarkblue);
    font-family: "Noto Serif JP", serif;
    font-size: 2.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 35px;
    line-height: 1.6692em; }
    @media screen and (max-width: 767px) {
      .seminar__complete h3 {
        margin-bottom: 20px;
        line-height: 1.55em;
        font-size: 2rem; } }
  .seminar__complete p {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em;
    margin-bottom: 75px; }
    @media screen and (max-width: 767px) {
      .seminar__complete p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    @media screen and (max-width: 767px) {
      .seminar__complete p {
        margin-bottom: 60px; } }
  @media screen and (max-width: 767px) {
    .seminar__complete .c-btn {
      max-width: 260px; } }

/*--;

  会社概要

====================================================== --*/
.overview__body {
  padding: 10px var(--padding) 0px;
  max-width: var(--width);
  text-align: left; }
  @media screen and (min-width: 768px) {
    .overview__body {
      margin: 0px auto 120px;
      display: block grid;
      grid-template-columns: 22.6% 1fr; } }
  @media screen and (max-width: 767px) {
    .overview__body {
      margin-bottom: 60px; } }
  .overview__body dt {
    color: var(--c-bluegreen);
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.444em;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .overview__body dt {
        display: block;
        font-size: 1.7rem;
        padding: 23px 0px 4px; } }
    @media screen and (min-width: 768px) {
      .overview__body dt {
        border-bottom: 1px solid var(--c-ultralightgray);
        padding: 35px 0px; } }
    .overview__body dt.overview__body--ex {
      -ms-flex-align: start;
          align-items: flex-start; }
    .overview__body dt:first-of-type {
      border-top: 1px solid var(--c-ultralightgray); }
  .overview__body dd {
    border-bottom: 1px solid var(--c-ultralightgray);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.625em; }
    @media screen and (max-width: 767px) {
      .overview__body dd {
        font-size: 1.5rem;
        line-height: 1.733em;
        padding: 0px 0px 23px; } }
    @media screen and (min-width: 768px) {
      .overview__body dd {
        padding: 35px 0px; } }
    @media screen and (min-width: 768px) {
      .overview__body dd:first-of-type {
        border-top: 1px solid var(--c-ultralightgray); } }
    .overview__body dd p + p {
      margin-top: 1lh; }

/*--;

  特定商取引法に基づく表記

====================================================== --*/
.law__body {
  padding: 10px var(--padding) 0px;
  max-width: var(--width);
  text-align: left; }
  @media screen and (min-width: 768px) {
    .law__body {
      margin: 0px auto 120px;
      display: block grid;
      grid-template-columns: 22.6% 1fr; } }
  @media screen and (max-width: 767px) {
    .law__body {
      margin-bottom: 60px; } }
  .law__body dt {
    color: var(--c-bluegreen);
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.444em;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .law__body dt {
        display: block;
        font-size: 1.7rem;
        padding: 23px 0px 4px; } }
    @media screen and (min-width: 768px) {
      .law__body dt {
        border-bottom: 1px solid var(--c-ultralightgray);
        padding: 35px 0px; } }
    .law__body dt:first-of-type {
      border-top: 1px solid var(--c-ultralightgray); }
  .law__body dd {
    border-bottom: 1px solid var(--c-ultralightgray);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.625em; }
    @media screen and (max-width: 767px) {
      .law__body dd {
        font-size: 1.5rem;
        line-height: 1.733em;
        padding: 0px 0px 23px; } }
    @media screen and (min-width: 768px) {
      .law__body dd {
        padding: 35px 0px; } }
    @media screen and (min-width: 768px) {
      .law__body dd:first-of-type {
        border-top: 1px solid var(--c-ultralightgray); } }
    .law__body dd p + p {
      margin-top: 1lh; }
    .law__body dd li {
      text-indent: -1em;
      padding-left: 1em; }

/*--;

  プライバシーポリシー

====================================================== --*/
.privacy__body {
  counter-reset: h2;
  max-width: var(--width);
  padding: 0px var(--padding) 0px;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .privacy__body {
      margin: 0px auto 120px; } }
  @media screen and (max-width: 767px) {
    .privacy__body {
      margin-bottom: 60px; } }
  .privacy__body p {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.625em; }
    @media screen and (max-width: 767px) {
      .privacy__body p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    .privacy__body p.privacy__caption {
      font-size: 1.3rem;
      line-height: 1.615em;
      margin-top: 25px; }
      @media screen and (max-width: 767px) {
        .privacy__body p.privacy__caption {
          margin-top: 12px;
          font-size: 1.1rem;
          line-height: 1.363em; } }
    .privacy__body p.privacy__update {
      margin-top: 70px;
      text-align: right; }
      @media screen and (max-width: 767px) {
        .privacy__body p.privacy__update {
          margin-top: 35px;
          font-size: 1.1rem; } }
  .privacy__body ol,
  .privacy__body ul {
    margin-block: 10px; }
  .privacy__body li {
    margin-top: 10px;
    padding-left: 1em;
    text-indent: -1em;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .privacy__body li {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    @media screen and (max-width: 767px) {
      .privacy__body li {
        line-height: 1.266em;
        margin-top: 5px; } }
  .privacy__body dl {
    display: block grid;
    gap: 12px 2em;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.5em;
    margin-block: 20px;
    grid-template-columns: auto 1fr; }
    @media screen and (max-width: 767px) {
      .privacy__body dl {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    @media screen and (max-width: 767px) {
      .privacy__body dl {
        display: block flow; } }
    .privacy__body dl dt,
    .privacy__body dl dd {
      font-weight: inherit; }
  .privacy__body h2 {
    color: var(--c-bluegreen);
    counter-reset: h3;
    counter-increment: h2;
    font-size: 2.4rem;
    font-weight: 500;
    gap: 5px;
    letter-spacing: 0.03em;
    line-height: 1.416em;
    margin-block: 55px 13px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .privacy__body h2 {
        font-size: 1.9rem;
        margin-block: 25px 10px; } }
    .privacy__body h2::before {
      content: counter(h2) "."; }
  .privacy__body h3 {
    counter-increment: h3;
    font-size: 2rem;
    font-weight: 500;
    gap: 5px;
    letter-spacing: 0.03em;
    line-height: 1.7em;
    margin-block: 18px 10px;
    display: block flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .privacy__body h3 {
        margin-block: 10px 10px;
        font-size: 1.7rem; } }
    .privacy__body h3::before {
      content: counter(h2) "-" counter(h3) "."; }

/*--;

  サイトご利用条件

====================================================== --*/
.agreement__body {
  max-width: var(--width);
  padding: 0px var(--padding) 0px;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .agreement__body {
      margin: 0px auto 120px; } }
  @media screen and (max-width: 767px) {
    .agreement__body {
      margin-bottom: 60px; } }
  .agreement__body p {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.625em; }
    @media screen and (max-width: 767px) {
      .agreement__body p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
  .agreement__body h2 {
    color: var(--c-bluegreen);
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.416em;
    margin-block: 55px 13px; }
    @media screen and (max-width: 767px) {
      .agreement__body h2 {
        font-size: 1.9rem;
        margin-block: 25px 10px; } }

/*--;

  サイトマップ

====================================================== --*/
.sitemap__body {
  max-width: var(--width);
  padding: 0px var(--padding) 0px;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .sitemap__body {
      margin: 0px auto 120px; } }
  @media screen and (max-width: 767px) {
    .sitemap__body {
      margin-bottom: 60px; } }
  .sitemap__body > ul a,
  .sitemap__body > dl > dt a {
    color: var(--c-bluegreen);
    font-size: 2.2rem;
    font-weight: 700;
    gap: 16px;
    line-height: 1.5em;
    margin-right: -21px;
    position: relative;
    text-decoration: none;
    display: inline flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .sitemap__body > ul a,
      .sitemap__body > dl > dt a {
        font-size: 2rem;
        gap: 8px;
        margin-right: 0px; } }
    @media screen and (min-width: 768px) {
      .sitemap__body > ul a,
      .sitemap__body > dl > dt a {
        transition: all 250ms ease; }
        .sitemap__body > ul a:hover,
        .sitemap__body > dl > dt a:hover {
          color: var(--c-ultradarkblue); }
          .sitemap__body > ul a:hover::after,
          .sitemap__body > dl > dt a:hover::after {
            translate: 0px 0px; }
          .sitemap__body > ul a:hover::before,
          .sitemap__body > dl > dt a:hover::before {
            width: 100%; } }
    .sitemap__body > ul a::before,
    .sitemap__body > dl > dt a::before {
      background: var(--c-bluegreen);
      content: "";
      height: 1px;
      position: absolute;
      width: 0px;
      inset: auto auto -5px 0px;
      transition: all 250ms ease; }
    .sitemap__body > ul a::after,
    .sitemap__body > dl > dt a::after {
      background: var(--c-bluegreen);
      content: "";
      height: 8px;
      width: 21px;
      translate: -6px 0px;
      transition: all 250ms ease;
      clip-path: url(#icon_arrow); }
      @media screen and (max-width: 767px) {
        .sitemap__body > ul a::after,
        .sitemap__body > dl > dt a::after {
          scale: 0.75;
          translate: 0px 0px; } }
  @media screen and (min-width: 768px) {
    .sitemap__body > dl {
      display: block grid;
      gap: 50px 20px;
      grid-template-columns: 299px 1fr; } }
  @media screen and (max-width: 767px) {
    .sitemap__body > dl .sitemap__body--ex {
      display: block grid;
      grid-template-columns: auto auto;
      gap: 0px 30px; }
      .sitemap__body > dl .sitemap__body--ex dt:nth-of-type(1) {
        grid-row: 1 / 3; } }
  .sitemap__body > dl > dt {
    border-bottom: 2px solid var(--c-bluegreen);
    padding-bottom: 55px; }
    @media screen and (max-width: 767px) {
      .sitemap__body > dl > dt {
        margin-bottom: 20px;
        padding-bottom: 25px; } }
  .sitemap__body > dl > dd {
    border-bottom: 1px solid var(--c-ultralightgray);
    padding-bottom: 15px; }
    @media screen and (max-width: 767px) {
      .sitemap__body > dl > dd {
        padding-bottom: 30px; }
        .sitemap__body > dl > dd:not(:last-child) {
          margin-bottom: 20px; } }
    @media screen and (max-width: 767px) {
      .sitemap__body > dl > dd:empty {
        display: none; } }
    .sitemap__body > dl > dd a {
      font-weight: 500;
      letter-spacing: 0.02em;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        .sitemap__body > dl > dd a {
          transition: all 250ms ease; }
          .sitemap__body > dl > dd a:hover {
            color: var(--c-bluegreen); } }
    .sitemap__body > dl > dd dt {
      font-size: 1.8rem;
      margin-bottom: 5px; }
      @media screen and (max-width: 767px) {
        .sitemap__body > dl > dd dt {
          font-size: 1.6rem; } }
      .sitemap__body > dl > dd dt a {
        color: var(--c-ultradarkblue); }
        @media screen and (min-width: 768px) {
          .sitemap__body > dl > dd dt a {
            transition: all 250ms ease; }
            .sitemap__body > dl > dd dt a:hover {
              color: var(--c-bluegreen); } }
      @media screen and (min-width: 768px) {
        .sitemap__body > dl > dd dt + dt {
          margin-top: 20px; } }
    .sitemap__body > dl > dd dd {
      margin-bottom: 40px; }
      @media screen and (max-width: 767px) {
        .sitemap__body > dl > dd dd {
          margin-bottom: 20px; } }
    @media screen and (min-width: 768px) {
      .sitemap__body > dl > dd ul {
        display: block flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 2px 10px; } }
    .sitemap__body > dl > dd li {
      box-sizing: border-box;
      color: #889294;
      font-size: 1.6rem;
      position: relative; }
      @media screen and (min-width: 768px) {
        .sitemap__body > dl > dd li {
          -ms-flex-preferred-size: calc(50% - 16px);
              flex-basis: calc(50% - 16px);
          min-width: 320px;
          margin-left: 6px;
          padding-left: 14px; } }
      @media screen and (max-width: 767px) {
        .sitemap__body > dl > dd li {
          margin-left: 4px;
          padding-left: 12px;
          font-size: 1.4rem;
          margin-bottom: 5px; } }
      .sitemap__body > dl > dd li a {
        color: inherit; }
      .sitemap__body > dl > dd li::before {
        background: currentCOlor;
        border-radius: 100%;
        content: "";
        height: 7px;
        position: absolute;
        width: 7px;
        inset: 0.6em auto auto 0px; }
        @media screen and (max-width: 767px) {
          .sitemap__body > dl > dd li::before {
            height: 6px;
            width: 6px; } }
  @media screen and (min-width: 768px) {
    .sitemap__body > ul {
      border-bottom: 1px solid var(--c-ultralightgray);
      display: block flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      gap: 55px 20px;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 55px 0px; } }
  @media screen and (min-width: 768px) {
    .sitemap__body > ul li {
      padding-right: 15px; } }
  @media screen and (max-width: 767px) {
    .sitemap__body > ul li {
      padding-block: 25px;
      border-bottom: 2px solid var(--c-bluegreen); } }

/*--;

  ラフォーレについて

====================================================== --*/
.about .message {
  background: url(../images/about/message_bg.webp) no-repeat left bottom;
  background-size: 831px auto;
  padding: 60px var(--padding) 110px; }
  @media screen and (max-width: 767px) {
    .about .message {
      background-position: 0px 108%;
      background-size: 100% auto;
      padding-block: 0px 70px; } }
  .about .message__body {
    box-sizing: border-box;
    margin: 0px auto 0px;
    max-width: 970px;
    padding: 40px var(--padding) 50px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .about .message__body {
        padding: 30px 0px 32px; } }
    .about .message__body::before, .about .message__body::after {
      content: "";
      height: 70px;
      position: absolute;
      width: 90px; }
      @media screen and (max-width: 767px) {
        .about .message__body::before, .about .message__body::after {
          height: 35px;
          width: 45px; } }
    .about .message__body::before {
      background: url(../images/top/aboutus_bg01.webp) no-repeat left top;
      background-size: contain;
      inset: 0px auto auto 0px; }
    .about .message__body::after {
      background: url(../images/top/aboutus_bg02.webp) no-repeat left top;
      background-size: contain;
      inset: auto 0px 0px auto; }
    .about .message__body h2 {
      color: var(--c-ultradarkblue);
      font-family: "Noto Serif JP", serif;
      font-size: 2.8rem;
      font-weight: 600;
      letter-spacing: 0.006em;
      line-height: 1.428em;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .about .message__body h2 {
          font-size: 2rem;
          margin-bottom: 20px; } }
    .about .message__body p {
      margin-bottom: 50px;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .about .message__body p {
          margin: 0px auto 45px;
          max-width: 260px; } }
      @media screen and (max-width: 767px) {
        .about .message__body p {
          font-size: 1.5rem;
          line-height: 1.733em; } }

.about__brand {
  padding: 115px var(--padding) 120px; }
  @media screen and (max-width: 767px) {
    .about__brand {
      padding-block: 65px 70px; } }
  .about__brand--laforre {
    background: var(--c-bgcolor); }
    .about__brand--laforre figure {
      background: var(--c-laforre); }
      .about__brand--laforre figure img {
        height: 45px; }
        @media screen and (max-width: 767px) {
          .about__brand--laforre figure img {
            height: 22.5px; } }
  .about__brand--maria {
    background: #fcfbf7; }
    .about__brand--maria figure {
      background: var(--c-maria); }
      .about__brand--maria figure img {
        height: 45px; }
        @media screen and (max-width: 767px) {
          .about__brand--maria figure img {
            height: 22.5px; } }
  .about__brand h2 {
    color: var(--c-ultradarkblue);
    font-family: "Noto Serif JP", serif;
    font-size: 2.8rem;
    font-weight: 600;
    letter-spacing: 0.006em;
    line-height: 1.428em;
    margin-bottom: 33px; }
    @media screen and (max-width: 767px) {
      .about__brand h2 {
        font-size: 2rem;
        margin-bottom: 20px; } }
  .about__brand p {
    margin: 0px auto 1lh;
    max-width: 850px;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .about__brand p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
  .about__brand figure {
    border-radius: 18px;
    box-shadow: 0px 0px 5px rgb( 0 0 0 / 0.2);
    box-sizing: border-box;
    height: 130px;
    margin: 60px auto 0px;
    max-width: 542px;
    padding: var(--padding);
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .about__brand figure {
        height: 80px;
        margin-top: 30px;
        width: 271px; } }
  .about__brand nav {
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      .about__brand nav {
        margin-top: 30px; } }

.about .research__lead {
  padding: 50px var(--padding) 120px;
  color: var(--c-ultradarkblue);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.875em; }
  @media screen and (max-width: 767px) {
    .about .research__lead {
      padding-block: 20px 60px; } }
  @media screen and (max-width: 767px) {
    .about .research__lead {
      font-size: 1.5rem;
      line-height: 1.733em; } }

.about .research__title {
  margin: 0px auto 120px;
  max-width: var(--width);
  padding: 0px var(--padding); }
  @media screen and (max-width: 767px) {
    .about .research__title {
      margin-bottom: 80px; } }
  @media screen and (min-width: 768px) {
    .about .research__title {
      gap: var(--padding);
      display: block flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; } }
  .about .research__title div {
    -ms-flex-preferred-size: 600px;
        flex-basis: 600px;
    -ms-flex-order: 1;
        order: 1;
    text-align: left; }
    .about .research__title div h2 {
      font-family: "Noto Serif JP", serif;
      font-size: 2.8rem;
      font-weight: 600;
      line-height: 1.428em;
      margin-bottom: 40px; }
      @media screen and (max-width: 767px) {
        .about .research__title div h2 {
          font-size: 2rem;
          margin-bottom: 25px; } }
    .about .research__title div p {
      margin-top: 1lh;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .about .research__title div p {
          font-size: 1.5rem;
          line-height: 1.733em; } }
  .about .research__title figure {
    -ms-flex-preferred-size: 445px;
        flex-basis: 445px;
    -ms-flex-order: 2;
        order: 2; }
    @media screen and (max-width: 767px) {
      .about .research__title figure {
        margin-bottom: 45px; } }
    @media screen and (min-width: 768px) {
      .about .research__title figure {
        text-align: left; } }
    .about .research__title figure img {
      max-width: 405px;
      width: 100%; }
      @media screen and (max-width: 767px) {
        .about .research__title figure img {
          max-width: 300px; } }

.about .research__institute {
  padding: 120px 0px; }
  @media screen and (max-width: 767px) {
    .about .research__institute {
      padding: 55px 0px 60px; } }
  .about .research__institute--01 {
    background: var(--c-bgcolor); }
  .about .research__institute--02 p {
    max-width: var(--width);
    padding-inline: var(--padding);
    margin-inline: auto; }
  .about .research__institute p {
    text-align: left;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .about .research__institute p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
  .about .research__institute .block {
    max-width: var(--width);
    padding-inline: var(--padding);
    margin-inline: auto; }
    @media screen and (min-width: 768px) {
      .about .research__institute .block {
        gap: var(--padding);
        display: block flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: start;
            align-items: flex-start; } }
    .about .research__institute .block p {
      -ms-flex-preferred-size: 500px;
          flex-basis: 500px; }
      @media screen and (max-width: 767px) {
        .about .research__institute .block p {
          margin-bottom: 30px; } }
    .about .research__institute .block figure {
      -ms-flex-preferred-size: 500px;
          flex-basis: 500px; }
      .about .research__institute .block figure img {
        width: 100%; }
    .about .research__institute .block--01 {
      margin-top: -90px; }
      @media screen and (max-width: 1086px) {
        .about .research__institute .block--01 {
          margin-top: 0px; } }
      .about .research__institute .block--01 p {
        padding-top: 90px; }
        @media screen and (max-width: 1086px) {
          .about .research__institute .block--01 p {
            padding-top: 0px; } }
    .about .research__institute .block--02 {
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
      margin-top: 60px; }
      @media screen and (max-width: 767px) {
        .about .research__institute .block--02 {
          margin-top: 55px; } }

.about .support__body {
  max-width: 960px;
  padding: 0px var(--padding); }
  @media screen and (min-width: 768px) {
    .about .support__body {
      gap: var(--padding);
      margin: 40px auto 120px;
      display: block flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start; } }
  @media screen and (max-width: 767px) {
    .about .support__body {
      margin: 0px auto 60px; } }
  .about .support__body figure {
    -ms-flex-preferred-size: 440px;
        flex-basis: 440px; }
    @media screen and (max-width: 767px) {
      .about .support__body figure {
        margin-bottom: 20px; } }
    .about .support__body figure img {
      width: 100%; }
  .about .support__body div {
    -ms-flex-preferred-size: 440px;
        flex-basis: 440px; }
    .about .support__body div p {
      text-align: left;
      color: var(--c-ultradarkblue);
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      line-height: 1.875em; }
      @media screen and (max-width: 767px) {
        .about .support__body div p {
          font-size: 1.5rem;
          line-height: 1.733em; } }
      .about .support__body div p + p {
        margin-top: 1lh; }
    .about .support__body div nav {
      margin-top: 40px; }

.about .support__school {
  margin: -70px auto 120px;
  max-width: 960px;
  padding: 0px var(--padding); }
  @media screen and (max-width: 767px) {
    .about .support__school {
      margin: -15px auto 60px; } }
  .about .support__school div {
    background: var(--c-bgcolor);
    padding: 30px 40px 50px; }
    @media screen and (max-width: 767px) {
      .about .support__school div {
        padding: 20px 20px 35px; } }
  .about .support__school p {
    text-align: left;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .about .support__school p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    .about .support__school p + p {
      margin-top: 1lh; }
  .about .support__school nav {
    margin-top: 45px; }
    @media screen and (max-width: 767px) {
      .about .support__school nav {
        margin-top: 25px; } }

.about .school__title {
  position: relative;
  z-index: 2; }
  @media screen and (min-width: 768px) {
    .about .school__title {
      margin: -60px 0px 0px;
      padding: 100px var(--padding) 0px; } }
  @media screen and (max-width: 767px) {
    .about .school__title {
      margin: -35px 0px 0px;
      padding: 40px 0px 0px; } }
  .about .school__title::after, .about .school__title::before {
    bottom: 0px;
    content: "";
    height: 100%;
    position: absolute;
    width: 50%;
    z-index: -1;
    mix-blend-mode: multiply; }
    @media screen and (max-width: 767px) {
      .about .school__title::after, .about .school__title::before {
        width: 70%; } }
  .about .school__title::before {
    background: url(../images/about/support/school/title_bg_01.webp) no-repeat left bottom;
    background-size: contain;
    left: 0px;
    max-width: 684px; }
    @media screen and (max-width: 767px) {
      .about .school__title::before {
        max-width: 200px; } }
  .about .school__title::after {
    background: url(../images/about/support/school/title_bg_02.webp) no-repeat right bottom;
    background-size: contain;
    max-width: 629px;
    right: 0px; }
    @media screen and (max-width: 767px) {
      .about .school__title::after {
        max-width: 200px; } }
  .about .school__title h2 {
    font-family: "Noto Serif JP", serif;
    font-size: 3.6rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.333em;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .about .school__title h2 {
        font-size: 2rem;
        line-height: 1.6em;
        margin-bottom: 10px; } }
    .about .school__title h2:first-line {
      font-size: 2.8rem;
      font-weight: 500; }
      @media screen and (max-width: 767px) {
        .about .school__title h2:first-line {
          font-size: 1.8rem; } }
  .about .school__title > p {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2em;
    margin-bottom: 85px; }
    @media screen and (max-width: 767px) {
      .about .school__title > p {
        font-size: 1.4rem;
        line-height: 1.555em;
        margin-bottom: 95px; } }
  .about .school__title ul {
    bottom: -115px;
    gap: 10px;
    margin: -115px auto 0px;
    max-width: 770px;
    position: relative;
    display: block flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .about .school__title ul {
        background: url(../images/about/support/school/title_bg_sp.webp) no-repeat center;
        background-size: 100% 100%;
        bottom: -210px;
        display: block;
        margin: -210px auto 0px;
        width: 327px;
        aspect-ratio: 654 / 613; } }
    .about .school__title ul li {
      border-radius: 100%;
      box-sizing: border-box;
      -ms-flex-preferred-size: 230px;
          flex-basis: 230px;
      -ms-flex-direction: column;
          flex-direction: column;
      gap: 10px;
      padding: 35px 15px 15px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      aspect-ratio: 1 / 1; }
      @media screen and (max-width: 767px) {
        .about .school__title ul li {
          gap: 8px;
          padding: 10px 0px 0px;
          position: relative;
          width: 172.5px; } }
      .about .school__title ul li h3 {
        font-family: "Noto Serif JP", serif;
        font-size: 2.6rem;
        font-weight: 600;
        line-height: 1.2em; }
        @media screen and (max-width: 767px) {
          .about .school__title ul li h3 {
            font-size: 1.9rem; } }
      .about .school__title ul li p {
        margin: 0px auto;
        max-width: 191px;
        min-height: 3lh;
        color: var(--c-ultradarkblue);
        font-size: 1.6rem;
        font-weight: 500;
        letter-spacing: 0.04em;
        line-height: 1.5em; }
        @media screen and (max-width: 767px) {
          .about .school__title ul li p {
            font-size: 1.5rem;
            line-height: 1.733em; } }
        @media screen and (max-width: 767px) {
          .about .school__title ul li p {
            font-size: 1.2rem;
            line-height: 1.45em;
            max-width: 140px; } }
  .about .school__title--01 {
    -ms-flex-order: 1;
        order: 1; }
    @media screen and (min-width: 768px) {
      .about .school__title--01 {
        background: url(../images/about/support/school/title_01.webp) no-repeat center;
        background-size: 100% 100%; } }
    @media screen and (max-width: 767px) {
      .about .school__title--01 {
        float: left;
        margin-right: -18px; } }
    .about .school__title--01 h3 {
      color: #65a181;
      letter-spacing: 0.2em; }
  .about .school__title--02 {
    -ms-flex-order: 2;
        order: 2; }
    @media screen and (min-width: 768px) {
      .about .school__title--02 {
        background: url(../images/about/support/school/title_02.webp) no-repeat center;
        background-size: 100% 100%; } }
    @media screen and (max-width: 767px) {
      .about .school__title--02 {
        margin: 0px auto -40px;
        z-index: 5; } }
    .about .school__title--02 h3 {
      color: #438cae;
      letter-spacing: 0.2em; }
  .about .school__title--03 {
    -ms-flex-order: 3;
        order: 3; }
    @media screen and (min-width: 768px) {
      .about .school__title--03 {
        background: url(../images/about/support/school/title_03.webp) no-repeat center;
        background-size: 100% 100%; } }
    .about .school__title--03 h3 {
      color: #d88a5f; }

.about .school__message {
  background: var(--c-bgcolor);
  margin-bottom: 150px;
  padding: 200px var(--padding) 120px; }
  @media screen and (max-width: 767px) {
    .about .school__message {
      margin-bottom: 55px;
      padding-block: 265px 60px; } }
  .about .school__message p {
    box-sizing: border-box;
    font-family: "Noto Serif JP", serif;
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.666em;
    margin: 0px auto 0px;
    max-width: 850px;
    padding: 35px var(--padding) 50px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .about .school__message p {
        font-size: 1.5rem;
        font-weight: 600;
        letter-spacing: 0px;
        line-height: 1.8125em;
        padding: 20px 0px 22px; } }
    .about .school__message p::before, .about .school__message p::after {
      content: "";
      height: 70px;
      position: absolute;
      width: 90px; }
      @media screen and (max-width: 767px) {
        .about .school__message p::before, .about .school__message p::after {
          height: 35px;
          width: 45px; } }
    .about .school__message p::before {
      background: url(../images/top/aboutus_bg01.webp) no-repeat left top;
      background-size: contain;
      inset: 0px auto auto 0px; }
    .about .school__message p::after {
      background: url(../images/top/aboutus_bg02.webp) no-repeat left top;
      background-size: contain;
      inset: auto 0px 0px auto; }

.about .school__body {
  margin: 0px auto 120px;
  max-width: 980px;
  text-align: left;
  padding-inline: var(--padding); }
  @media screen and (max-width: 767px) {
    .about .school__body {
      margin-bottom: 65px; } }
  .about .school__body p {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .about .school__body p {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    .about .school__body p.school__body__copy {
      font-family: "Noto Serif JP", serif;
      font-size: 2.4rem;
      font-weight: 600;
      line-height: 1.416em;
      margin-bottom: 10px; }
      @media screen and (max-width: 767px) {
        .about .school__body p.school__body__copy {
          font-size: 1.8rem; } }
  .about .school__body h3 {
    background: var(--c-bgcolor);
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 40px;
    margin-bottom: 35px;
    padding: 10px 25px; }
    @media screen and (max-width: 767px) {
      .about .school__body h3 {
        font-size: 1.8rem;
        line-height: 25px;
        margin-bottom: 25px;
        padding-inline: 15px; } }
  .about .school__body dl {
    border-top: 1px solid var(--c-ultradarkblue);
    margin: 35px 0px 120px; }
    @media screen and (max-width: 767px) {
      .about .school__body dl {
        margin-block: 25px 65px; } }
    @media screen and (min-width: 768px) {
      .about .school__body dl {
        display: block grid;
        grid-template-columns: 200px 1fr; } }
  .about .school__body dt {
    background: var(--c-bgcolor);
    border-bottom: 1px solid var(--c-ultradarkblue);
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.666em;
    padding: 22px 20px;
    text-align: center;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 767px) {
      .about .school__body dt {
        font-size: 1.6rem;
        -ms-flex-pack: start;
            justify-content: flex-start;
        padding: 15px 15px; } }
  .about .school__body dd {
    border-bottom: 1px solid var(--c-ultradarkblue);
    padding: 25px 20px 25px 40px;
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em; }
    @media screen and (max-width: 767px) {
      .about .school__body dd {
        font-size: 1.5rem;
        line-height: 1.733em; } }
    @media screen and (max-width: 767px) {
      .about .school__body dd {
        font-size: 1.4rem;
        padding: 15px; }
        .about .school__body dd:last-child {
          border-bottom: 0px;
          padding-bottom: 0px; } }
    .about .school__body dd p {
      font-size: inherit; }
      .about .school__body dd p + p {
        margin-top: 1lh; }
    .about .school__body dd li {
      padding-left: 1.25em;
      text-indent: -1.25em; }
      .about .school__body dd li::before {
        content: "●";
        display: inline flow-root;
        text-indent: 0px;
        width: 1.25em; }

/*--;

  notfound

====================================================== --*/
.notfound__body {
  margin: 100px var(--padding); }
  .notfound__body p {
    color: var(--c-ultradarkblue);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.875em;
    margin-bottom: 2lh; }
    @media screen and (max-width: 767px) {
      .notfound__body p {
        font-size: 1.5rem;
        line-height: 1.733em; } }

