@charset "UTF-8";
/* =================================================================
 base
================================================================= */
*::before, *::after {
  box-sizing: border-box;
}

html {
  height: 100%;
}
html.lity-active body {
  overflow: hidden;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  min-width: 320px;
  background: #FFF;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  font-feature-settings: "palt";
  line-height: 1.75;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  word-break: break-word;
  overflow-x: hidden;
}
@media print, screen and (max-width: 1180px) {
  body {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  body.non-scroll {
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  body:has(.fixed-box).top #main {
    padding-bottom: 150px;
  }
}
body:has(.fixed-box):not(.top) .fixed-box:has(.guide-btn) {
  display: none;
}

body:has(#menu.logged-in).non-scroll {
  overflow: hidden;
}

body.init-hide,
section.init-hide {
  opacity: 0;
}

/* 共通スタイル
-------------------------------------------------------------*/
p {
  margin: 1.8333333333em 0 0;
}
p.lead {
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  p.lead {
    margin-left: auto;
    margin-right: auto;
    width: -moz-fit-content;
    width: fit-content;
    text-align: left;
  }
}

a {
  text-decoration: underline;
  text-underline-offset: 0.4444444444em;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}
a[href^="tel:"] {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
a.text-link {
  text-decoration: none;
}
a.text-link.back {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.4444444444em;
}
a.text-link.back::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.2222222222em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_back.png);
  position: relative;
  top: 0.0325em;
}
a.inline-link {
  display: inline-block;
  color: #f28e00;
  position: relative;
}
a.inline-link.link::after, a.inline-link.next::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-left: 0.2em;
  aspect-ratio: 54/52;
  width: 1em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_text_link_next.png);
  position: relative;
  top: 0.125em;
}
a.inline-link.external::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-left: 0.2em;
  aspect-ratio: 1;
  width: 1em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_text_link_external.png);
  position: relative;
  top: 0.125em;
}
a.inline-link.pdf::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-left: 0.4em;
  aspect-ratio: 36/44;
  width: 1.29em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_text_link_pdf.png);
  position: relative;
  top: 0.5em;
}

button.text-link {
  text-decoration: none;
}
button.text-link.back {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.4444444444em;
}
button.text-link.back::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.2222222222em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_back.png);
  position: relative;
  top: 0.0325em;
}

ol.number {
  margin: 1.7777777778em 0 0;
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
}
ol.number li {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.4444444444em;
}
ol.number li .no {
  white-space: nowrap;
}

dl.description {
  margin: 1.7777777778em 0 0;
}
dl.description dt {
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  dl.description dt {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  dl.description dt {
    font-size: 16px;
  }
}
dl.description dd {
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  dl.description dd {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  dl.description dd {
    font-size: 16px;
  }
}
dl.description + .description {
  margin-top: 0.4444444444em !important;
}

button,
input[type=submit] {
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  button:hover,
  input[type=submit]:hover {
    opacity: 0.8;
  }
}

em {
  font-style: normal;
  font-weight: 700;
}

.anchor {
  scroll-padding-top: 90px;
}
@media print, screen and (max-width: 1180px) {
  .anchor {
    scroll-padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .anchor {
    scroll-padding-top: 70px;
  }
}

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

.inner-only {
  display: none;
}
@media print, screen and (max-width: 1180px) {
  .inner-only {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .inner-only {
    display: none;
  }
}

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

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

.inner-only-inline {
  display: none;
}
@media print, screen and (max-width: 1180px) {
  .inner-only-inline {
    display: inline;
  }
}
@media screen and (max-width: 767px) {
  .inner-only-inline {
    display: none;
  }
}

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

@media screen and (min-width: 768px) {
  .pc-br::before {
    content: "\a";
    white-space: pre;
  }
}

.inner-over-br::before {
  content: "\a";
  white-space: pre;
}
@media print, screen and (max-width: 1180px) {
  .inner-over-br::before {
    content: none;
  }
}

@media print, screen and (max-width: 1180px) {
  .inner-br {
    content: "\a";
    white-space: pre;
  }
}
@media screen and (max-width: 767px) {
  .inner-br {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .sp-br::before {
    content: "\a";
    white-space: pre;
  }
}

.hide {
  display: none !important;
}

.first {
  margin-top: 0 !important;
}

.last {
  margin-bottom: 0 !important;
}

.txt-left {
  text-align: left;
}

.txt-right {
  text-align: right;
}

.txt-center {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sp-txt-left {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .sp-txt-right {
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .sp-txt-center {
    text-align: center;
  }
}

.bold {
  font-weight: 700;
}

.error {
  color: #c6161e;
}

.attention {
  color: #c6161e;
}

.indent {
  display: inline-block;
  padding-left: 1em;
  width: -moz-fit-content;
  width: fit-content;
  text-indent: -1em;
  text-align: left;
}
.indent.en {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.notice {
  font-size: 0.9em;
  letter-spacing: 0.03em;
}
@media print, screen and (max-width: 1180px) {
  .notice {
    font-size: 0.9375em;
  }
}
@media screen and (max-width: 767px) {
  .notice {
    font-size: 0.9375em;
  }
}
.notice .sub {
  font-size: 0.875em;
}

.narrow {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
}

.emphasis {
  font-size: 1.5em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .emphasis {
    font-size: 1.1em;
  }
}
.emphasis em {
  font-size: 1.5em;
}

.emphasis-x {
  font-size: 2em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .emphasis-x {
    font-size: 1.5em;
  }
}

.emphasis-s {
  font-size: 1.3em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .emphasis-s {
    font-size: 1.18em;
  }
}

.subdued {
  font-size: 0.75em;
}

.marker {
  display: inline;
  padding: 0 0.1em;
  background: linear-gradient(transparent 0%, #ffe813 0%);
}

.with-dots {
  background-image: radial-gradient(circle at center, #ffe813 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.25em;
  padding-top: 0.125em;
  letter-spacing: 0.1em;
}

.enclosed-text {
  position: relative;
  z-index: 1;
}
.enclosed-text span {
  display: inline-block;
  letter-spacing: 0.15em;
  position: relative;
}
.enclosed-text span::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 1.425em;
  height: auto;
  background: #ffe813;
  border-radius: 50%;
  position: absolute;
  top: calc(50% + 0.05em);
  left: calc(50% - 0.075em);
  transform: translate(-50%, -50%);
  z-index: -1;
}

.message {
  font-size: 24px;
  font-weight: 700;
}
@media print, screen and (max-width: 1180px) {
  .message {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .message {
    font-size: 19px;
  }
}

/* コメントスタイル */
.comment {
  margin: 2.2222222222em auto 0;
  padding: 0 2.6111111111em;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  position: relative;
}
.comment::before, .comment::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 74/126;
  width: 2.0555555556em;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .comment::before, .comment::after {
    width: 32px;
  }
}
.comment::before {
  background-image: url(../media/images/2025/lp/icon_comment_l.png);
  left: 0;
}
@media screen and (max-width: 767px) {
  .comment::before {
    background-image: url(../media/images/2025/lp/icon_comment_l_sp.png);
  }
}
.comment::after {
  background-image: url(../media/images/2025/lp/icon_comment_r.png);
  right: 0;
}
@media screen and (max-width: 767px) {
  .comment::after {
    background-image: url(../media/images/2025/lp/icon_comment_r_sp.png);
  }
}
.comment.large {
  padding: 0 1.8333333333em;
}
@media screen and (max-width: 767px) {
  .comment.large {
    padding: 0 30px;
  }
}
.comment.large .text {
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .comment.large .text {
    font-size: 29px;
  }
}
@media screen and (max-width: 767px) {
  .comment.large .text {
    font-size: 21px;
  }
}
.comment.large::before, .comment.large::after {
  width: 1.2777777778em;
  top: calc(50% + 0.25em);
}
@media screen and (max-width: 767px) {
  .comment.large::before, .comment.large::after {
    width: 26px;
  }
}
.comment.medium {
  padding: 0 2em;
}
@media screen and (max-width: 767px) {
  .comment.medium {
    padding: 0 26px;
  }
}
.comment.medium .text {
  font-size: 24px;
}
@media print, screen and (max-width: 1180px) {
  .comment.medium .text {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .comment.medium .text {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .comment.medium .text {
    font-size: 16px;
  }
}
.comment.medium .text em {
  margin: 0 0.4117647059em;
  font-size: 1.4em;
}
.comment.medium .text .enclosed-text {
  margin: 0 0.3076923077em;
  font-size: 1.08em;
}
.comment.medium .text *:last-child {
  margin-right: 0;
}
.comment.medium::before, .comment.medium::after {
  width: 1.2777777778em;
  top: calc(50% + 0.25em);
}
.comment.small {
  margin-top: 1.3333333333em;
  padding: 0 1.1111111111em;
}
@media screen and (max-width: 767px) {
  .comment.small {
    padding: 0 16px;
  }
}
.comment.small::before, .comment.small::after {
  width: 12px;
  top: calc(50% + 0.15em);
}
.comment.small em {
  font-size: 1.3em;
}

/* 吹き出しスタイル */
.callout {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 0 auto;
  padding: 0.05em 0.75em 0.15em;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 2.125em;
  background: #FFF;
  border: solid 1px #000;
  font-size: 40px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  white-space: nowrap;
  border-radius: 15px;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .callout {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .callout {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .callout {
    border-radius: 7px;
  }
}
@media screen and (max-width: 767px) {
  .callout {
    font-size: 23px;
  }
}
.callout::before, .callout::after {
  content: "";
  display: block;
  aspect-ratio: 12/16;
  width: 0.3em;
  height: auto;
  background: #000;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
  transform: translate(-50%, 100%);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
.callout::after {
  background: #FFF;
  bottom: 2px;
}
.callout.medium {
  padding: 0.6470588235em 1.3235294118em 0.8823529412em;
  min-height: 1.1764705882em;
  background: #ffe813;
  font-size: 34px;
  letter-spacing: 0.1em;
}
@media print, screen and (max-width: 1180px) {
  .callout.medium {
    font-size: 27px;
  }
}
@media screen and (max-width: 767px) {
  .callout.medium {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .callout.medium {
    padding: 9px 20px 7px;
    width: 100%;
    font-size: 17px;
  }
}
.callout.medium::before {
  width: 0.4117647059em;
  background: #000;
}
.callout.medium::after {
  width: 0.4117647059em;
  background: #ffe813;
}
.callout.medium em {
  display: inline-block;
  padding: 0.0588235294em 0.3529411765em 0.0882352941em;
  background: #FFF;
  font-weight: 400;
  line-height: 1.3;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .callout.medium em {
    border-radius: 2px;
  }
}
.callout.medium em .sub {
  font-size: 0.82em;
}
@media screen and (max-width: 767px) {
  .callout.medium em .sub {
    font-size: 0.88em;
  }
}
.callout.medium.reverse::before, .callout.medium.reverse::after {
  top: 0;
  bottom: auto;
  transform: translate(-50%, -100%);
  -webkit-clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}
.callout.medium.reverse::after {
  top: 2px;
}
.callout.x-medium {
  padding: 0.45em 1em;
  background: #ffe813;
  font-size: 24px;
  border-radius: 10px;
}
@media print, screen and (max-width: 1180px) {
  .callout.x-medium {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .callout.x-medium {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .callout.x-medium {
    border-radius: 5px;
  }
}
.callout.x-medium::before, .callout.x-medium::after {
  width: 0.4166666667em;
}
.callout.x-medium::after {
  background: #ffe813;
}
.callout.x-medium .enclosed-text {
  margin: 0 0.4166666667em;
}
.callout.x-medium .enclosed-text span::before {
  background: #FFF;
  top: 50%;
}
.callout.small {
  padding: 0.5em 1.25em;
  min-height: 2.5em;
  border: 0;
  background: #59c3e2;
  color: #FFF;
  font-size: 16px;
  letter-spacing: 0.05em;
  border-radius: 4px;
}
@media print, screen and (max-width: 1180px) {
  .callout.small {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .callout.small {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .callout.small {
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .callout.small {
    width: 100%;
  }
}
.callout.small::before {
  width: 0.6875em;
  background: #59c3e2;
  bottom: 1px;
}
@media screen and (max-width: 767px) {
  .callout.small::before {
    width: 7px;
  }
}
.callout.small::after {
  content: none;
}
.callout.small + p {
  margin-top: 1.2222222222em;
}
@media screen and (max-width: 767px) {
  .callout.small + p {
    margin-top: 18px;
  }
}
.callout .text {
  text-align: center;
}

.callout-other {
  margin: 1.5em auto 0;
  padding: 0.625em 1.5em 0.875em;
  border: solid 1px #000;
  background: #ffe813;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  border-radius: 999px;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .callout-other {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .callout-other {
    font-size: 15px;
  }
}
.callout-other::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 32/13;
  width: 2em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_callout.png);
  position: absolute;
  top: 1px;
  right: 5.5em;
  transform: translate(0, -100%);
}
.callout-other em {
  font-size: 1.25em;
  font-weight: 400;
}

/* ブロック
-------------------------------------------------------------*/
#wholeWrapper,
#main {
  margin: auto;
  padding-bottom: 8.3333333333em;
  width: 100%;
  flex: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  #wholeWrapper,
  #main {
    padding-bottom: 100px;
  }
}

.inner {
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  max-width: 1180px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 1180px) {
  .inner {
    padding: 0 40px;
    max-width: 1180px;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
}

.inner-x-wide {
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  max-width: 1180px;
  max-width: 1580px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 1180px) {
  .inner-x-wide {
    padding: 0 40px;
    max-width: 1180px;
  }
}
@media screen and (max-width: 767px) {
  .inner-x-wide {
    padding: 0 20px;
  }
}
@media print, screen and (max-width: 1180px) {
  .inner-x-wide {
    max-width: 1580px;
  }
}
@media screen and (max-width: 767px) {
  .inner-x-wide {
    padding: 0 20px;
  }
}

.inner-wide {
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  max-width: 1180px;
  max-width: 1380px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 1180px) {
  .inner-wide {
    padding: 0 40px;
    max-width: 1180px;
  }
}
@media screen and (max-width: 767px) {
  .inner-wide {
    padding: 0 20px;
  }
}
@media print, screen and (max-width: 1180px) {
  .inner-wide {
    max-width: 1380px;
  }
}
@media screen and (max-width: 767px) {
  .inner-wide {
    padding: 0 20px;
  }
}

.inner-narrow-l {
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  max-width: 1180px;
  max-width: 1080px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 1180px) {
  .inner-narrow-l {
    padding: 0 40px;
    max-width: 1180px;
  }
}
@media screen and (max-width: 767px) {
  .inner-narrow-l {
    padding: 0 20px;
  }
}
@media print, screen and (max-width: 1180px) {
  .inner-narrow-l {
    max-width: 1080px;
  }
}
@media screen and (max-width: 767px) {
  .inner-narrow-l {
    padding: 0 20px;
  }
}

.inner-narrow {
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  max-width: 1180px;
  max-width: 980px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 1180px) {
  .inner-narrow {
    padding: 0 40px;
    max-width: 1180px;
  }
}
@media screen and (max-width: 767px) {
  .inner-narrow {
    padding: 0 20px;
  }
}
@media print, screen and (max-width: 1180px) {
  .inner-narrow {
    max-width: 980px;
  }
}
@media screen and (max-width: 767px) {
  .inner-narrow {
    padding: 0 20px;
  }
}

.content-narrow {
  margin: 0 auto;
  max-width: 900px;
}

.content-box {
  margin: 2.7777777778em 0 0;
  padding: 4em 5.5555555556em 5.5555555556em;
  border: solid 1px #000;
  background: #f2f2f2;
  border-radius: 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .content-box {
    border-radius: 5px;
  }
}
@media print, screen and (max-width: 1180px) {
  .content-box {
    padding-right: 72px;
    padding-left: 72px;
  }
}
@media screen and (max-width: 767px) {
  .content-box {
    margin: 28px 0 0 -20px;
    padding: 35px 20px 72px;
    width: calc(100% + 40px);
    border: 0;
    border-radius: 0;
  }
}
.content-box.with-illust {
  margin-top: 6.8888888889em;
}
@media screen and (max-width: 767px) {
  .content-box.with-illust {
    margin-top: 28px;
  }
}
.content-box.with-illust::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 75/199;
  width: 4.1666666667em;
  height: auto;
  background-image: url(../media/images/2025/common/img_illust_001.png);
  position: absolute;
  top: -5.1666666667em;
  left: 2.7777777778em;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .content-box.with-illust::before {
    top: auto;
    bottom: -54px;
    left: calc(50% - 12px);
    width: 38px;
    transform: translate(-100%, 0);
  }
}
.content-box.with-illust::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 82/203;
  width: 4.5555555556em;
  height: auto;
  background-image: url(../media/images/2025/common/img_illust_002.png);
  position: absolute;
  right: 2.0555555556em;
  bottom: -2.6111111111em;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .content-box.with-illust::after {
    right: auto;
    bottom: -54px;
    left: calc(50% + 12px);
    width: 41px;
    transform: translate(0, 0);
  }
}
.content-box .content-box-title {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 0 0.4166666667em;
  padding: 0.25em 1.1666666667em 0.3333333333em;
  background: #000;
  color: #FFF;
  font-size: 24px;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  border-radius: 999px;
  position: absolute;
  top: -0.3333333333em;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media print, screen and (max-width: 1180px) {
  .content-box .content-box-title {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .content-box .content-box-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .content-box .content-box-title {
    font-size: 17px;
  }
}
.content-box .content-box-title em {
  font-size: 1.16em;
}
.content-box .inner-content-box {
  margin-top: 2.2222222222em;
  padding: 1.3333333333em;
  background: #FFF;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .content-box .inner-content-box {
    border-radius: 5px;
  }
}
.content-box .small-content-box {
  margin-top: 1.1111111111em;
  border: solid 1px #000;
}
.content-box .small-content-box .small-content-title {
  padding: 0.2em 1.25em 0.25em;
  border-bottom: solid 1px #000;
  background: #fcf9cf;
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
}
@media print, screen and (max-width: 1180px) {
  .content-box .small-content-box .small-content-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .content-box .small-content-box .small-content-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .content-box .small-content-box .small-content-title {
    padding: 5px 12px;
  }
}
.content-box .small-content-box + .small-content-box {
  margin-top: 1.3888888889em;
}
.content-box .small-content-box .small-content-detail {
  padding: 0.6666666667em 1.3888888889em 1.2222222222em;
}
@media screen and (max-width: 767px) {
  .content-box .small-content-box .small-content-detail {
    padding: 12px 12px 15px;
  }
}

.message-box {
  margin: 1.3333333333em auto 0;
  padding: 1.8888888889em 2.2222222222em;
  background: #FFF;
  border: solid 1px #000;
}
@media screen and (max-width: 767px) {
  .message-box {
    padding: 20px;
  }
}
.message-box ol {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.8888888889em;
}
.message-box ol li {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.5em;
  font-size: 16px;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .message-box ol li {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .message-box ol li {
    font-size: 15px;
  }
}
.message-box ol li .no {
  padding: 0.125em 0.3125em 0.25em 0.4375em;
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  background: #000;
  color: #FFF;
  font-weight: 700;
  line-height: 1;
  border-radius: 4px;
  position: relative;
  top: 0.2em;
}
@media screen and (max-width: 767px) {
  .message-box ol li .no {
    border-radius: 2px;
  }
}
.message-box + .button-area {
  margin-top: 2.7777777778em;
}

.inner-message-box {
  margin: 2.7777777778em auto 0;
  padding: 1.7777777778em 2.2222222222em;
  width: 100%;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .inner-message-box {
    padding: 14px 20px 16px;
  }
}
.inner-message-box p {
  margin-top: 0.2777777778em;
}
.inner-message-box.narrow-space {
  padding: 0.5555555556em 0.8888888889em;
}

.information-box {
  margin-top: 3.5555555556em;
  padding: 4.8888888889em 2.7777777778em 3.3333333333em;
  background: #FFF;
  border: solid 1px #000;
  border-radius: 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .information-box {
    border-radius: 5px;
  }
}
@media screen and (max-width: 767px) {
  .information-box {
    padding: 86px 20px 38px;
  }
}
.information-box .information-title {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 0 auto;
  padding: 0.08em 1.2727272727em 0.32em;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 2.5em;
  background: #000;
  color: #FFF;
  font-size: 22px;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
  border-radius: 999px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: 0;
  transform: translate(-50%, -50%);
}
@media print, screen and (max-width: 1180px) {
  .information-box .information-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .information-box .information-title {
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .information-box .information-title {
    padding: 4px 20px 12px;
    font-size: 15px;
  }
}
.information-box .information-title em {
  font-size: 1.63em;
}
@media print, screen and (max-width: 1180px) {
  .information-box .information-title em {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 1180px) and (max-width: 767px) {
  .information-box .information-title em {
    font-size: 1.66em;
  }
}
.information-box .information-title em .sub {
  font-size: 0.61em;
}
.information-box .information-title em.small {
  font-size: 1.27em;
}
@media screen and (max-width: 767px) {
  .information-box .information-title em.small {
    font-size: 1.4em;
  }
}

/* 動画 */
.movie {
  margin: 3.8888888889em auto 0;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  border: solid 1px #000;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .movie {
    border-radius: 5px;
  }
}
.movie iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.movie img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

/* QR */
.qr {
  margin: 2.7777777778em auto 0;
  aspect-ratio: 1;
  width: 11.1111111111em;
  height: auto;
}
@media screen and (max-width: 767px) {
  .qr {
    margin: 1.3888888889em auto 0;
    width: 175px;
  }
}
.qr img {
  display: block;
  width: 100%;
  height: 100%;
}
.qr + .member-id {
  margin: 0.25em auto 0;
  font-size: 16px;
  text-align: center;
}
@media print, screen and (max-width: 1180px) {
  .qr + .member-id {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .qr + .member-id {
    font-size: 15px;
  }
}

/* QR */
.map {
  margin: 0.7777777778em auto 0;
  aspect-ratio: 670/400;
  width: 100%;
  border: solid 1px #000;
  overflow: hidden;
  position: relative;
}
.map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* 規約 */
.terms-box {
  width: 100%;
  height: auto;
  max-height: min(36.36vw, 400px);
  border: solid 1px #000;
  overflow-y: auto;
}
@-moz-document url-prefix() {
  .terms-box {
    scrollbar-width: 0.3333333333em;
    scrollbar-color: #aaa #f2f2f2;
  }
}
.terms-box::-webkit-scrollbar {
  background: #f2f2f2;
  width: 0.3333333333em;
  border-radius: 999px;
}
.terms-box::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 999px;
}
@media screen and (max-width: 767px) {
  .terms-box {
    max-height: min(106.67vw, 400px);
  }
}
.terms-box .terms-inner {
  padding: 1.7777777778em;
}
@media screen and (max-width: 767px) {
  .terms-box .terms-inner {
    padding: 20px;
  }
}
.terms-box .terms-inner > *:first-child {
  margin-top: 0;
}
.terms-box p,
.terms-box ul li,
.terms-box ol li,
.terms-box dl dt,
.terms-box dl dd {
  font-size: 0.9em;
}
.terms-box dl.description dt {
  font-weight: 400;
}
.terms-box + .agree-box {
  margin: 0;
  padding: 0.5555555556em 0.8888888889em;
  width: 100%;
  border: solid 1px #000;
  border-top-width: 0;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .terms-box + .agree-box {
    font-size: 0.9375em;
  }
}

/* モーダル
-------------------------------------------------------------*/
.lity {
  background: rgba(0, 0, 0, 0.2);
}
.lity:has(.non-border) {
  background: rgba(0, 0, 0, 0.5);
}

.lity-inline .lity-container .lity-content::after {
  content: none;
}
.lity-inline .lity-container .lity-close {
  display: none;
}

.lity-iframe .lity-container {
  max-width: 1100px;
}
@media print, screen and (max-width: 1180px) {
  .lity-iframe .lity-container {
    max-width: 1098px;
  }
}
.lity-iframe .lity-content::after {
  content: none;
}
.lity-iframe .lity-iframe-container {
  margin: 0 auto;
  max-width: calc(100vw - 80px);
  height: calc(100vh - 180px);
  padding-top: 0;
  background: transparent;
}
@media screen and (max-width: 767px) {
  .lity-iframe .lity-iframe-container {
    max-width: calc(100vw - 40px);
    height: calc(100vh - 280px);
  }
}
.lity-iframe .lity-close {
  display: none;
}
.lity-iframe iframe {
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .lity-iframe iframe {
    border-radius: 5px;
  }
}

body.modal-page {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  min-width: auto;
  background: transparent;
}
@-moz-document url-prefix() {
  body.modal-page {
    scrollbar-width: 0;
  }
}
body.modal-page::-webkit-scrollbar {
  display: none;
}
body.modal-page .modal {
  width: 100%;
}
body.modal-page .modal .modal-content {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}
body.modal-page .modal .modal-title {
  font-size: 26px;
}
@media print, screen and (max-width: 1098px) {
  body.modal-page .modal .modal-title {
    font-size: 21px;
  }
}
@media screen and (max-width: 727px) {
  body.modal-page .modal .modal-title {
    font-size: 18px;
  }
}

.modal.content-modal {
  position: relative;
}
.modal.content-modal .modal-content {
  width: 1000px;
  max-width: calc(100vw - 80px);
  max-height: calc(100vh - 180px);
  background: #FFF;
  border: solid 1px #000;
  overflow-y: auto;
  position: relative;
}
@-moz-document url-prefix() {
  .modal.content-modal .modal-content {
    scrollbar-width: 0.3333333333em;
    scrollbar-color: #aaa #f2f2f2;
  }
}
.modal.content-modal .modal-content::-webkit-scrollbar {
  background: #f2f2f2;
  width: 0.3333333333em;
  border-radius: 999px;
}
.modal.content-modal .modal-content::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 999px;
}
@media screen and (max-width: 767px) {
  .modal.content-modal .modal-content {
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 280px);
  }
}
.modal.content-modal .modal-content-inner {
  padding: 2.2222222222em 5.5555555556em;
}
@media screen and (max-width: 767px) {
  .modal.content-modal .modal-content-inner {
    padding: 20px;
  }
}
.modal .close-btn {
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  aspect-ratio: 1;
  width: 2.2222222222em;
  height: auto;
  background: #000;
  position: absolute;
  top: -0.5555555556em;
  right: 0;
  z-index: 1;
  transform: translate(0, -100%);
}
.modal .close-btn::before, .modal .close-btn::after {
  content: "";
  display: block;
  width: 1.1111111111em;
  height: 2px;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.modal .close-btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal .close-btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal.non-border .modal-content {
  width: 1100px;
  border: 0;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .modal.non-border .modal-content {
    border-radius: 5px;
  }
}
@-moz-document url-prefix() {
  .modal.non-border .modal-content {
    scrollbar-width: 0;
  }
}
.modal.non-border .modal-content::-webkit-scrollbar {
  display: none;
}
.modal.non-border .modal-content-inner {
  padding: 2.8888888889em 5.5555555556em 3.6111111111em;
}
@media screen and (max-width: 767px) {
  .modal.non-border .modal-content-inner {
    padding: 48px 20px 56px;
  }
}
.modal.non-border .modal-content-inner:has(.modal-title.faq) {
  padding: 2.2222222222em 5.5555555556em;
}
@media screen and (max-width: 767px) {
  .modal.non-border .modal-content-inner:has(.modal-title.faq) {
    padding: 20px;
  }
}
.modal.non-border .modal-title {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.6153846154em;
  margin-bottom: 1.5384615385em;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .modal.non-border .modal-title {
    font-size: 21px;
  }
}
@media screen and (max-width: 767px) {
  .modal.non-border .modal-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .modal.non-border .modal-title {
    font-size: 18px;
  }
}
.modal.non-border .modal-title.faq {
  margin-bottom: 1.1538461538em;
  transform: translate(-1.0384615385em, 0);
}
.modal.non-border .modal-title.faq::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 2.0769230769em;
  background-image: url(../media/images/2025/lp/img_lp_illust_faq.png);
}
@media screen and (max-width: 767px) {
  .modal.non-border .modal-title.faq::before {
    width: 48px;
  }
}
.modal.non-border .modal-title.purpose {
  gap: 0.3076923077em;
}
.modal.non-border .modal-title.purpose::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 78/72;
  width: 1.5em;
  background-image: url(../media/images/2025/common/icon_purpose.png);
  position: relative;
  top: 0.125em;
}
.modal.non-border .modal-title.speaker {
  gap: 0.3076923077em;
}
.modal.non-border .modal-title.speaker::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 94/78;
  width: 1.8076923077em;
  background-image: url(../media/images/2025/common/icon_speaker.png);
  position: relative;
  top: 0.125em;
}
.modal.non-border .modal-title.company {
  gap: 0.3076923077em;
}
.modal.non-border .modal-title.company::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 90/70;
  width: 1.7307692308em;
  background-image: url(../media/images/2025/common/icon_company.png);
  position: relative;
  top: 0.125em;
}
@media screen and (max-width: 767px) {
  .modal.non-border .button-area {
    margin-top: 36px;
  }
}
@media screen and (max-width: 767px) {
  .modal.non-border .button-area .button.medium {
    max-width: 295px;
    min-height: 50px;
  }
}
.modal.non-border .close-btn {
  width: 1.7777777778em;
  border-radius: 50%;
  top: 15px;
  right: 15px;
  transform: translate(0, 0);
}
.modal.non-border.with-bg-color .modal-content {
  background: #f2f2f2;
}
.modal:has(.keyword-list) .modal-content-inner {
  padding-left: 3.3333333333em;
  padding-right: 3.3333333333em;
}
@media screen and (max-width: 767px) {
  .modal:has(.keyword-list) .modal-content-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.modal .keyword-list {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: center;
  gap: 0.8333333333em;
  margin-top: 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .modal .keyword-list {
    margin-top: 24px;
    gap: 8px;
  }
}
.modal .keyword-list .keyword {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.4444444444em;
  padding: 0.6em 1.6666666667em;
  min-height: 2.7777777778em;
  border: solid 2px #f28e00;
  background: #FFF;
  color: #f28e00;
  font-weight: 700;
  line-height: 1.3;
  border-radius: 4px;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .modal .keyword-list .keyword {
    border-radius: 2px;
  }
}
@media screen and (min-width: 768px) {
  .modal .keyword-list .keyword:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .modal .keyword-list .keyword {
    padding-left: 17px;
    padding-right: 17px;
    font-size: 14px;
  }
}
.modal .keyword-list .keyword.selected {
  padding-left: 0.9444444444em;
  padding-right: 0.9444444444em;
  background: #f28e00;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .modal .keyword-list .keyword.selected {
    padding-left: 7px;
    padding-right: 7px;
  }
}
.modal .keyword-list .keyword.selected::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 36/26;
  width: 1em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_check.png);
}
.modal .search-box {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: flex-start;
  margin-top: 1.1111111111em;
  border: solid 1px #000;
  border-radius: 4px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .modal .search-box {
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .modal .search-box {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: flex-start;
  }
}
.modal .search-box .search-title {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 1.2em 1.5em;
  min-width: 12.1em;
  background: #fcf9cf;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .modal .search-box .search-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .modal .search-box .search-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .modal .search-box .search-title {
    padding: 12px;
    width: 100%;
    font-size: 15px;
  }
}
.modal .search-box .search-detail {
  flex: 1;
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.75em 0.9em 0.75em 0.75em;
}
@media screen and (max-width: 767px) {
  .modal .search-box .search-detail {
    padding: 12px;
    width: 100%;
  }
}
.modal .search-box .search-detail:has(.search-links) {
  padding: 1.25em 1.5em;
}
@media screen and (max-width: 767px) {
  .modal .search-box .search-detail:has(.search-links) {
    padding: 16px;
  }
}
.modal .search-box .search-links {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.5555555556em 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .modal .search-box .search-links {
    gap: 10px 24px;
  }
}
.modal .search-box .search-links .search-link a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.6666666667em;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .modal .search-box .search-links .search-link a {
    font-size: 14px;
  }
}
.modal .search-box .search-links .search-link.next a::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.6666666667em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
}
.modal .search-box input[type=text],
.modal .search-box input[type=email],
.modal .search-box input[type=password],
.modal .search-box input[type=tel],
.modal .search-box input[type=number],
.modal .search-box textarea {
  width: 100%;
}
.modal .search-box .select-wrap {
  width: 100%;
}
.modal .search-box .select-wrap select {
  width: 100%;
  min-width: auto;
}
.modal .search-box .input-wrap {
  border: solid 1px #000;
}
.modal .search-box .input-wrap.search {
  width: 100%;
  position: relative;
}
.modal .search-box .input-wrap.search input {
  padding: 0.4444444444em 3.3333333333em 0.4444444444em 0.6em;
  border: 0;
}
.modal .search-box .input-wrap.search button {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: auto;
  height: 100%;
  border-left: solid 1px #000;
  background: #f2f2f2;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.modal .search-box .input-wrap.search button::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 44%;
  height: auto;
  background-image: url(../media/images/2025/common/icon_search.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.modal#search-by-company .search-box .search-title {
  min-width: 14.5em;
}
.modal .navi-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.1111111111em;
}
.modal .navi-list .navi-box {
  width: 100%;
}
.modal .navi-list .navi-box .box-inner {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0.6em calc(1.3888888889em + 1.6666666667em + 0.6em);
  min-height: 4em;
  border: solid 1px #000;
  background: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  border-radius: 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal .navi-list .navi-box .box-inner {
    border-radius: 5px;
  }
}
@media print, screen and (max-width: 1098px) {
  .modal .navi-list .navi-box .box-inner {
    font-size: 18px;
  }
}
@media screen and (max-width: 727px) {
  .modal .navi-list .navi-box .box-inner {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: flex-start;
    padding: 0.6em calc(39px + 0.6em) 0.6em 20px;
    font-size: 16px;
    text-align: left;
  }
}
.modal .navi-list .navi-box .box-inner::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.5em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
  position: absolute;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 1.25em;
}
@media screen and (max-width: 727px) {
  .modal .navi-list .navi-box .box-inner::after {
    right: 14px;
  }
}
.modal .navi-list + .button-area {
  margin-top: 2.2222222222em;
}
@media screen and (max-width: 727px) {
  .modal .navi-list + .button-area {
    margin-top: 24px;
  }
}
.modal .navi-list + .button-area .back {
  margin: 0;
  font-size: 18px;
}
@media print, screen and (max-width: 1098px) {
  .modal .navi-list + .button-area .back {
    font-size: 16px;
  }
}
@media screen and (max-width: 727px) {
  .modal .navi-list + .button-area .back {
    font-size: 16px;
  }
}
.modal .navi-list-top {
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1.6666666667em;
}
@media print, screen and (max-width: 1098px) {
  .modal .navi-list-top {
    grid-gap: 27px;
  }
}
@media screen and (max-width: 727px) {
  .modal .navi-list-top {
    grid-template-rows: auto;
    grid-template-columns: auto;
    grid-gap: 21px;
  }
}
.modal .navi-list-top .navi-box {
  width: 100%;
}
.modal .navi-list-top .navi-box .box-inner {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0.6em calc(0.8333333333em + 1.6666666667em + 0.6em);
  width: 100%;
  height: 100%;
  min-height: 6.5em;
  border: solid 1px #000;
  background: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  border-radius: 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal .navi-list-top .navi-box .box-inner {
    border-radius: 5px;
  }
}
@media print, screen and (max-width: 1098px) {
  .modal .navi-list-top .navi-box .box-inner {
    font-size: 18px;
  }
}
@media screen and (max-width: 727px) {
  .modal .navi-list-top .navi-box .box-inner {
    font-size: 16px;
  }
}
.modal .navi-list-top .navi-box .box-inner::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.5em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
  position: absolute;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.75em;
}
@media screen and (max-width: 727px) {
  .modal .navi-list-top .navi-box .box-inner::after {
    right: 14px;
  }
}
.modal .navi-list-top .navi-box.freely .box-inner::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 86/224;
  width: 2.15em;
  height: auto;
  background-image: url(../media/images/2025/common/img_illust_005.png);
  position: absolute;
  left: 0.6em;
  bottom: 0;
}
.modal .navi-list-top .navi-box.join-seminar .box-inner::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 102/214;
  width: 2.55em;
  height: auto;
  background-image: url(../media/images/2025/common/img_illust_006.png);
  position: absolute;
  left: 0.35em;
  bottom: 0;
}
.modal .navi-list-top .navi-box.diagnosis {
  grid-column: 2/span 1;
  grid-row: 1/span 2;
}
@media screen and (max-width: 727px) {
  .modal .navi-list-top .navi-box.diagnosis {
    grid-column: auto;
    grid-row: auto;
  }
}
.modal .navi-list-top .navi-box.diagnosis .box-inner {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.9em;
  padding: 1.2em 1.25em;
}
.modal .navi-list-top .navi-box.diagnosis .box-inner::after {
  content: none;
}
.modal .navi-list-top .navi-box.diagnosis .box-inner .title {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 1em;
}
.modal .navi-list-top .navi-box.diagnosis .box-inner .title::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.5em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
}
.modal .navi-list-top .navi-box.diagnosis .box-inner .explanation {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 1.125em;
  font-size: 16px;
  font-weight: 400;
  text-align: left;
}
@media print, screen and (max-width: 1098px) {
  .modal .navi-list-top .navi-box.diagnosis .box-inner .explanation {
    font-size: 15px;
  }
}
@media screen and (max-width: 727px) {
  .modal .navi-list-top .navi-box.diagnosis .box-inner .explanation {
    font-size: 15px;
  }
}
.modal .navi-list-top .navi-box.diagnosis .box-inner .explanation::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 471/244;
  width: 14.6875em;
  height: auto;
  background-image: url(../media/images/2025/common/img_illust_007.png);
}
@media screen and (max-width: 727px) {
  .modal .navi-list-top .navi-box.diagnosis .box-inner .explanation::before {
    width: 188px;
  }
}

/* スライダー
-------------------------------------------------------------*/
.slider {
  opacity: 0;
  transition: all 0.2s;
  position: relative;
}
.slider:has(.swiper-container-initialized) {
  opacity: 1;
}
.slider .slider-inner {
  position: relative;
}
.slider .slide-box img {
  width: 100%;
  height: auto;
}
.slider .slide-prev,
.slider .slide-next {
  aspect-ratio: 1;
  width: 2.2222222222em;
  height: auto;
  border: solid 1px #000;
  background: #f28e00;
  color: #FFF;
  border-radius: 50%;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .slider .slide-prev:hover,
  .slider .slide-next:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .slider .slide-prev,
  .slider .slide-next {
    width: 25px;
  }
}
.slider .slide-prev::before,
.slider .slide-next::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.1111111111em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_next_x_positive.png);
}
@media screen and (max-width: 767px) {
  .slider .slide-prev::before,
  .slider .slide-next::before {
    width: 13px;
  }
}
.slider .slide-prev::after,
.slider .slide-next::after {
  content: none;
}
.slider .slide-prev {
  top: 50%;
  left: -0.5555555556em;
  transform: translate(-100%, -50%);
}
.slider .slide-prev::before {
  transform: scale(-1, 1);
}
.slider .slide-next {
  top: 50%;
  right: -0.5555555556em;
  transform: translate(100%, -50%);
}
.slider .slide-pagination {
  margin-top: 0.8333333333em;
  line-height: 0;
  position: relative;
  bottom: auto;
}
.slider .slide-pagination .swiper-pagination-bullet {
  margin: 0 5px;
  background: #ccc;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .slider .slide-pagination .swiper-pagination-bullet {
    margin: 0 4px;
    width: 6px;
    height: 6px;
  }
}
.slider .slide-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #f28e00;
}

.slider.default {
  width: 100%;
}
.slider.default .slider-inner {
  padding-right: 1px;
}
.slider.default .slide-box {
  border: solid 1px #000;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .slider.default .slide-box {
    border-radius: 5px;
  }
}
@media screen and (max-width: 767px) {
  .slider.default .slide-prev,
  .slider.default .slide-next {
    width: 30px;
  }
}
@media screen and (max-width: 767px) {
  .slider.default .slide-prev::before,
  .slider.default .slide-next::before {
    width: 16px;
  }
}
.slider.default .slide-prev {
  left: 0;
  transform: translate(-50%, 0);
}
.slider.default .slide-next {
  right: 0;
  transform: translate(50%, 0);
}
.slider.default:not(:has(.slide-box)) {
  display: none;
}
.slider.default:not(:has(.slide-box)) .slide-prev,
.slider.default:not(:has(.slide-box)) .slide-next {
  display: none;
}
.slider.default.with-caption .slide-box {
  border-width: 0;
}
.slider.default.with-caption .slide-box .img-box {
  aspect-ratio: 420/242;
  width: 100%;
  height: auto;
  border: solid 1px #000;
  border-radius: 10px;
  overflow: hidden;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .slider.default.with-caption .slide-box .img-box {
    border-radius: 5px;
  }
}
.slider.default.with-caption .slide-box .img-box img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.slider.default.with-caption .slide-box .img-box.logo {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  background: #FFF;
  overflow: hidden;
}
.slider.default.with-caption .slide-box .img-box.logo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 80%;
  max-height: 70%;
  -o-object-fit: contain;
     object-fit: contain;
}

.slider.caption {
  width: 100%;
}
.slider.caption .caption-title {
  margin: 1em 0 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .slider.caption .caption-title {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .slider.caption .caption-title {
    font-size: 15px;
  }
}
.slider.caption .caption {
  margin: 0.625em 0 0;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .slider.caption .caption {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .slider.caption .caption {
    font-size: 15px;
  }
}

.slider.banner-slider {
  margin: 3.3333333333em auto 0;
  padding: 2.2222222222em 0 1.1111111111em;
  border: solid 1px #000;
  background: #f2f2f2;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .slider.banner-slider {
    border-radius: 5px;
  }
}
@media screen and (max-width: 767px) {
  .slider.banner-slider {
    margin: 38px 0 0 -20px;
    padding: 30px 0 15px;
    width: calc(100% + 40px);
    border-width: 1px 0;
    border-radius: 0;
  }
}
.slider.banner-slider .slider-inner {
  margin: 0 auto;
  max-width: 52%;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .slider.banner-slider .slider-inner {
    max-width: 69.33%;
  }
}
.slider.banner-slider .slide-box {
  border: solid 1px #000;
  border-width: 1.08px;
  border-radius: 10px;
  overflow: hidden;
  transform: scale(0.925);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .slider.banner-slider .slide-box {
    border-radius: 5px;
  }
}
.slider.banner-slider .slide-box.swiper-slide-active {
  border-width: 0.93px;
  transform: scale(1.075);
}
.slider.banner-slider .slide-prev {
  left: -1.6666666667em;
  transform: translate(-100%, -50%);
}
@media screen and (max-width: 767px) {
  .slider.banner-slider .slide-prev {
    left: -18px;
  }
}
.slider.banner-slider .slide-next {
  right: -1.6666666667em;
  transform: translate(100%, -50%);
}
@media screen and (max-width: 767px) {
  .slider.banner-slider .slide-next {
    right: -18px;
  }
}
.slider.banner-slider .slide-pagination {
  margin-top: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .slider.banner-slider .slide-pagination {
    margin-top: 18px;
  }
}

/* パンくず
-------------------------------------------------------------*/
#breadcrambs {
  margin: 3.125em 0 5.75em auto;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  #breadcrambs {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  #breadcrambs {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  #breadcrambs {
    margin: 30px auto 25px 0;
    font-size: 12px;
  }
}
#breadcrambs li {
  display: inline;
  padding-right: 1.125em;
  position: relative;
}
#breadcrambs li::after {
  content: "";
  display: inline-block;
  width: 0.875em;
  height: 1px;
  background: #000;
  position: relative;
  right: -0.625em;
  top: -0.3125em;
}
#breadcrambs li a {
  text-decoration: none;
}
#breadcrambs li.current {
  padding-right: 0;
  font-weight: 700;
}
#breadcrambs li.current::after {
  content: none;
}
#breadcrambs + .content-nav {
  margin-top: 0;
}

/* ボタン
-------------------------------------------------------------*/
.button-area {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.1111111111em;
  margin: 2.7777777778em auto 0;
}
.button-area.small-buttons {
  margin-top: 1.3333333333em;
}
.button-area .back {
  margin-top: 0.7777777778em;
}
.button-area.button-area-end {
  margin-top: 5.5555555556em;
}
@media screen and (max-width: 767px) {
  .button-area.button-area-end {
    margin-top: 75px;
  }
}
.button-area.sideby {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 1.6666666667em 1.1111111111em;
}
@media screen and (max-width: 767px) {
  .button-area.sideby {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 12px;
  }
}
.button-area.bottom-nav {
  margin-top: 5.5555555556em;
  gap: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .button-area.bottom-nav {
    margin-top: 60px;
    gap: 15px;
  }
}
.button-area.bottom-nav .button-unique {
  width: 15em;
}
.button-area.align-light {
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .button-area.align-light {
    align-items: center;
  }
}

.button {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0.1em 1em;
  border: solid 2px #f28e00;
  background: #FFF;
  color: #f28e00;
  font-size: 20px;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  border-radius: 999px;
  box-shadow: -0.3em 0.3em 0 #f28e00;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .button {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .button {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .button {
    box-shadow: -3px 3px 0 #f28e00;
  }
}
.button.x-positive {
  border-color: #FFF;
  background: #f28e00;
  color: #FFF;
  box-shadow: -0.2307692308em 0.2307692308em 0 #f28e00;
}
@media screen and (max-width: 767px) {
  .button.x-positive {
    box-shadow: -3px 3px 0 #f28e00;
  }
}
.button.positive {
  border-color: #f28e00;
  background: #FFF;
  color: #f28e00;
  box-shadow: -0.3em 0.3em 0 #f28e00;
}
@media screen and (max-width: 767px) {
  .button.positive {
    box-shadow: -3px 3px 0 #f28e00;
  }
}
.button.negative {
  border-color: #aaa;
  background: none;
  color: #aaa;
  box-shadow: -0.2307692308em 0.2307692308em 0 #aaa;
}
@media screen and (max-width: 767px) {
  .button.negative {
    box-shadow: -3px 3px 0 #aaa;
  }
}
.button.disabled, .button[disabled]:not([disabled=false]), .button.invalid {
  border: solid 1px #aaa;
  background: none;
  color: #aaa;
  box-shadow: none;
  cursor: default !important;
}
@media screen and (min-width: 768px) {
  .button.disabled:hover, .button[disabled]:not([disabled=false]):hover, .button.invalid:hover {
    opacity: 1;
  }
}
.button.large {
  width: 17.3076923077em;
  max-width: 100%;
  min-height: 100px;
  font-size: 26px;
  font-weight: 700;
}
@media print, screen and (max-width: 1180px) {
  .button.large {
    font-size: 21px;
  }
}
@media screen and (max-width: 767px) {
  .button.large {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 1180px) {
  .button.large {
    min-height: 80px;
  }
}
@media screen and (max-width: 767px) {
  .button.large {
    width: 100%;
    min-height: 60px;
    font-size: 1.06em;
  }
}
.button.medium {
  width: 20em;
  max-width: 100%;
  min-height: 60px;
  font-size: 20px;
  font-weight: 700;
}
@media print, screen and (max-width: 1180px) {
  .button.medium {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .button.medium {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .button.medium {
    width: 100%;
    font-size: 1.06em;
  }
}
.button.small {
  width: 16.6666666667em;
  max-width: 100%;
  min-height: 50px;
  font-size: 18px;
  font-weight: 700;
}
@media print, screen and (max-width: 1180px) {
  .button.small {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .button.small {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .button.small {
    min-width: 255px;
    font-size: 0.875em;
  }
}
.button.x-small {
  width: -moz-fit-content;
  width: fit-content;
}
.button.link, .button.next {
  padding-left: calc(1em + 0.95em + 0.5em);
  padding-right: calc(1em + 0.95em + 0.5em);
}
.button.link::after, .button.next::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.2em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_next_positive.png);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.95em;
}
.button.link.large, .button.next.large {
  padding-left: calc(1em + 0.9230769231em + 0.5em);
  padding-right: calc(1em + 0.9230769231em + 0.5em);
}
.button.link.large::after, .button.next.large::after {
  width: 0.9230769231em;
  right: 0.9230769231em;
}
@media screen and (max-width: 767px) {
  .button.link.large::after, .button.next.large::after {
    width: 20px;
    right: 17px;
  }
}
.button.link.small, .button.next.small {
  padding-left: calc(1em + 0.8888888889em + 0.5em);
  padding-right: calc(1em + 0.8888888889em + 0.5em);
}
.button.link.small::after, .button.next.small::after {
  width: 0.8888888889em;
  background-image: url(../media/images/2025/common/icon_btn_next_positive_s.png);
  right: 0.8888888889em;
}
.button.link.x-positive::after, .button.next.x-positive::after {
  background-image: url(../media/images/2025/common/icon_btn_next_x_positive.png);
}
.button.link.invalid::after, .button.next.invalid::after {
  background-image: url(../media/images/2025/common/icon_btn_next_disabled.png);
}
.button.entry {
  padding-left: calc(1em + 1.6em + 0.5em);
  padding-right: calc(1em + 1.6em + 0.5em);
}
.button.entry::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.6em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_entry.png);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 1.2em;
}
.button.entry.large {
  padding-left: calc(1em + 1.5384615385em + 0.5em);
  padding-right: calc(1em + 1.5384615385em + 0.5em);
}
.button.entry.large::before {
  width: 1.5384615385em;
  left: 1.1538461538em;
}
@media screen and (max-width: 767px) {
  .button.entry.large::before {
    width: 30px;
    left: 18px;
  }
}
.button.question::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-right: 0.2777777778em;
  aspect-ratio: 1;
  width: 1.3333333333em;
  height: atuo;
  background-image: url(../media/images/2025/lp/icon_btn_question.png);
  position: relative;
  top: 0.01em;
}
.button.mail::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-right: 0.2777777778em;
  aspect-ratio: 25/18;
  width: 1.3888888889em;
  height: atuo;
  background-image: url(../media/images/2025/common/icon_mail.png);
  position: relative;
  top: 0.04em;
}
.button.mail.invalid::before, .button.mail.disabled::before {
  background-image: url(../media/images/2025/common/icon_mail_disabled.png);
}
.button.delete {
  padding-left: calc(1em + 1.0555555556em + 0.5em);
  padding-right: calc(1em + 1.0555555556em + 0.5em);
}
.button.delete::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 0.8333333333em;
  height: atuo;
  background-image: url(../media/images/2025/common/icon_delete.png);
  position: relative;
  top: 0.01em;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 1.0555555556em;
}

/* 特殊ボタン */
.button-unique {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding: 0.1em 0.9em 0.1em 1.5em;
  width: 17em;
  max-width: 100%;
  min-height: 90px;
  border: solid 2px #000;
  background: #FFF;
  color: #000;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  border-radius: 15px;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .button-unique {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .button-unique {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .button-unique {
    border-radius: 7px;
  }
}
@media screen and (max-width: 767px) {
  .button-unique {
    width: 295px;
    min-height: 60px;
    border-width: 1px;
    font-size: 15px;
  }
}
.button-unique.current {
  border-color: #aaa;
  color: #aaa;
  pointer-events: none;
}
.button-unique.current.next::after, .button-unique.current.link::after {
  content: none;
}
.button-unique.next::after, .button-unique.link::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 2em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
}
.button-unique.external::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 2em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_external.png);
}

.button-unique-s {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0 0.8em 0.1em;
  min-height: 2.2727272727em;
  border: solid 2px #f28e00;
  background: #FFF;
  color: #f28e00;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  border-radius: 10px;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .button-unique-s {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .button-unique-s {
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .button-unique-s {
    border-radius: 5px;
  }
}
@media screen and (max-width: 767px) {
  .button-unique-s {
    border-width: 1px;
  }
}
.button-unique-s.positive {
  background: #f28e00;
  color: #FFF;
}
.button-unique-s.link, .button-unique-s.next {
  padding-left: calc(0.6em + 1.0909090909em + 0.4545454545em);
  padding-right: calc(0.6em + 1.0909090909em + 0.4545454545em);
}
.button-unique-s.link::after, .button-unique-s.next::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.0909090909em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_next_positive.png);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.4545454545em;
}
.button-unique-s.link.positive::after, .button-unique-s.next.positive::after {
  background-image: url(../media/images/2025/common/icon_btn_next_x_positive.png);
}
.button-unique-s.questionnaire {
  padding-left: calc(0.6em + 1.0909090909em + 0.4545454545em);
  padding-right: calc(0.6em + 1.0909090909em + 0.4545454545em);
}
.button-unique-s.questionnaire::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 25/33;
  width: 1.1363636364em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_questionnaire.png);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0.4545454545em;
}
.button-unique-s.mypage {
  padding-left: calc(0.6em + 1.0909090909em + 0.4545454545em);
  padding-right: calc(0.6em + 1.0909090909em + 0.4545454545em);
}
.button-unique-s.mypage::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.5em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_user.png);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0.4545454545em;
}

/* 特別仕様ボタン */
/* 見出し
-------------------------------------------------------------*/
.page-title-wrap {
  padding-top: 11.89vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-title-wrap {
    padding-top: 32vw;
  }
}
.page-title-wrap::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1900/400;
  width: 100%;
  height: auto;
  background-image: url(../media/images/2025/common/img_keyvisual.jpg);
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -1.6666666667em;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .page-title-wrap::before {
    aspect-ratio: 750/230;
    background-image: url(../media/images/2025/common/img_keyvisual_sp.jpg);
    top: -12px;
  }
}
.page-title-wrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 70px;
  background: #d0eaea;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translate(0, -100%);
}
.page-title-wrap .page-title {
  margin-top: 0;
}

.page-title {
  margin: 1.0869565217em 0;
  padding: 0.2608695652em 40px 0.347826087em;
  color: #59c3e2;
  font-size: 46px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .page-title {
    font-size: 35px;
  }
}
@media screen and (max-width: 767px) {
  .page-title {
    font-size: 22px;
  }
}
@media print, screen and (max-width: 1180px) {
  .page-title {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .page-title {
    margin: 30px 0;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.page-title::before, .page-title::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 87/5;
  width: 1.8913043478em;
  background-image: url(../media/images/2025/common/border_title.png);
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .page-title::before, .page-title::after {
    width: 44px;
  }
}
.page-title::before {
  top: 0;
}
.page-title::after {
  bottom: 0;
}
.page-title:has(.callout-title) {
  padding-top: 0.5652173913em;
}
.page-title:has(.callout-title) .text {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.0869565217em;
}
.page-title .callout-title {
  padding: 0.6111111111em 1em 0.6666666667em;
  max-width: 600px;
  background: #59c3e2;
  color: #FFF;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 999px;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .page-title .callout-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .page-title .callout-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .page-title .callout-title {
    padding: 0.6em 1.2em;
    font-size: 12px;
  }
}
.page-title .callout-title::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 42/23;
  width: 1.1666666667em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_callout_title.png);
  position: absolute;
  bottom: 1px;
  left: calc(50% + 6.1111111111em);
  transform: translate(-50%, 100%);
}

.large-title {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 0.2941176471em;
  margin: 4.1176470588em auto 1.4705882353em;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 34px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media print, screen and (max-width: 1180px) {
  .large-title {
    font-size: 27px;
  }
}
@media screen and (max-width: 767px) {
  .large-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .large-title {
    margin: 65px auto 25px;
    max-width: calc(100% - 10px);
  }
}
.large-title::before, .large-title::after {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 10px;
  min-width: 10px;
  height: auto;
  border: solid 1px #000;
  background: #ffff10;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .large-title::before, .large-title::after {
    width: 6px;
    min-width: 6px;
  }
}
.large-title .sub {
  margin-left: -0.5em;
  font-size: 0.5882em;
}

.medium-title {
  margin: 1.5454545455em auto 1.0909090909em;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media print, screen and (max-width: 1180px) {
  .medium-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .medium-title {
    font-size: 17px;
  }
}

.small-title {
  margin: 1.5em auto 1em;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .small-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .small-title {
    font-size: 16px;
  }
}
.small-title + * {
  margin-top: 1em !important;
}

.x-small-title {
  margin: 1.3em auto 0.8em;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .x-small-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .x-small-title {
    font-size: 16px;
  }
}
.x-small-title + * {
  margin-top: 0.8em !important;
}

.xx-small-title {
  margin: 1.1em auto 0.6em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .xx-small-title {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .xx-small-title {
    font-size: 15px;
  }
}
.xx-small-title + * {
  margin-top: 0.6em !important;
}

/* テーブル */
.common-table {
  width: 100%;
}
.common-table thead tr {
  border: solid 1px #000;
}
.common-table thead th {
  padding: 0.3333333333em 1em;
  background: #f2f2f2;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  vertical-align: middle;
}
@media print, screen and (max-width: 1180px) {
  .common-table thead th {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .common-table thead th {
    font-size: 15px;
  }
}
.common-table thead th + th {
  padding-left: 0;
}
.common-table tbody tr {
  border: solid 1px #000;
  border-width: 0 0 1px;
}
.common-table tbody td {
  padding: 1.5em 1.125em 1.5em 0;
  font-size: 16px;
  vertical-align: middle;
}
@media print, screen and (max-width: 1180px) {
  .common-table tbody td {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .common-table tbody td {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .common-table tbody td {
    font-size: 14px;
  }
}
.common-table tbody td:last-child {
  padding-right: 0;
}
.common-table tbody td em {
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  .common-table tbody td em {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .common-table tbody td em {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .common-table tbody td em {
    font-size: 15px;
  }
}
.common-table tbody td .button {
  width: 13.8888888889em;
}
@media screen and (max-width: 767px) {
  .common-table tbody td .button {
    max-width: 100%;
    min-width: 220px;
    min-height: 40px;
    font-size: 14.4px;
  }
}
.common-table tbody td .button.mail {
  padding-left: 1.3333333333em;
  text-align: left;
}
.common-table.low-table tbody td {
  padding-top: 0.625em;
  padding-bottom: 0.625em;
}
@media screen and (max-width: 767px) {
  .common-table.responsive {
    display: block;
    border-top: solid 1px #000;
  }
  .common-table.responsive thead {
    display: none;
  }
  .common-table.responsive tbody {
    display: block;
  }
  .common-table.responsive tbody tr {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: flex-start;
  }
  .common-table.responsive tbody td {
    display: flex;
    align-items: stretch;
    flex-flow: row nowrap;
    justify-content: flex-start;
    padding: 0;
    width: 100%;
    border-top: solid 1px #ccc;
  }
  .common-table.responsive tbody td::before {
    content: attr(data-title);
    display: block;
    padding: 15px 10px;
    max-width: 30%;
    min-width: 30%;
    background: #f2f2f2;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
  }
  .common-table.responsive tbody td .data-inner {
    flex: 1;
    padding: 10px 0 10px 12px;
  }
}

/* タブ
-------------------------------------------------------------*/
.tabs {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 1.1111111111em;
  margin-top: 5em;
  padding: 0.8333333333em 1.1111111111em;
  background: #f2f2f2;
  border: solid 1px #000;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .tabs {
    border-radius: 5px;
  }
}
@media print, screen and (max-width: 1180px) {
  .tabs {
    gap: 10px;
    margin-top: 50px;
    padding: 10px;
  }
}

.tab {
  flex: 1;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.7em;
  padding: 0.1em 0.8em;
  min-height: 3.5em;
  color: #f28e00;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  border: solid 2px #f28e00;
  background: #FFF;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s;
}
@media print, screen and (max-width: 1180px) {
  .tab {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .tab {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .tab {
    border-radius: 5px;
  }
}
@media screen and (min-width: 768px) {
  .tab:not(.current):hover {
    opacity: 0.8;
  }
}
.tab .sub {
  font-size: 0.75em;
  font-weight: 400;
}
.tab::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 0.9em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_arrow_down.png);
  position: relative;
  top: 0.1em;
}
.tab.current {
  border-color: transparent;
  background: none;
  color: #000;
  cursor: default;
  pointer-events: none;
}
.tab.current::after {
  display: none;
}

/* フォーム
-------------------------------------------------------------*/
.icon-required {
  display: inline-block;
  padding: 0.3125em 0.625em 0.375em;
  border: solid 1px #000;
  background: #000;
  color: #FFF;
  font-size: 16px;
  line-height: 1;
  border-radius: 4px;
  white-space: nowrap;
  position: relative;
  border: solid 1px #000;
  background: #ffe813;
  color: #000;
}
@media print, screen and (max-width: 1180px) {
  .icon-required {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .icon-required {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .icon-required {
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .icon-required {
    padding: 2px 5px 3px 5px;
    font-size: 13px;
    top: 0.1em;
  }
}

/* テキスト入力 */
input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
textarea {
  padding: 0.4444444444em 0.6em;
  background: #FFF;
  border: solid 1px #000;
  font-family: YuGothicM, "游ゴシック Medium", YuGothic, "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  width: 100%;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=number]:focus,
textarea:focus {
  box-shadow: 0 0 0.3333333333em #59c3e2;
  transition: all 0.3s;
}
input[type=text] + .radio-group, input[type=text] + .checkbox-group,
input[type=email] + .radio-group,
input[type=email] + .checkbox-group,
input[type=password] + .radio-group,
input[type=password] + .checkbox-group,
input[type=tel] + .radio-group,
input[type=tel] + .checkbox-group,
input[type=number] + .radio-group,
input[type=number] + .checkbox-group,
textarea + .radio-group,
textarea + .checkbox-group {
  margin-top: 0.4444444444em;
}

/* セレクトボックス */
.select-wrap {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  border: solid 1px #000;
  background: #FFF;
  position: relative;
}
.select-wrap::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: auto;
  height: 100%;
  border-left: solid 1px #000;
  background: #f2f2f2;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.select-wrap::after {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 1em;
  height: auto;
  border: solid 1px #000;
  border-width: 0 0 1px 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: rotate(-45deg) translate(0, -110%);
  z-index: 2;
}
.select-wrap select {
  padding: 0.4444444444em 3.3333333333em 0.4444444444em 0.6em;
  max-width: 100%;
  background-color: transparent;
  cursor: pointer;
  position: relative;
  z-index: 3;
}
.select-wrap select:focus {
  box-shadow: 0 0 0.3333333333em #59c3e2;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .select-wrap {
    width: 100%;
  }
}
.select-wrap select {
  min-width: 25em;
}
@media screen and (max-width: 767px) {
  .select-wrap select {
    width: 100%;
    min-width: auto;
  }
}
.select-wrap + .radio-group, .select-wrap + .checkbox-group {
  margin-top: 0.4444444444em;
}

/* ラジオボタン */
input[type=radio] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}
input[type=radio] + label {
  display: inline-block;
  margin: 0;
  padding-left: 1.4444444444em;
  position: relative;
}
@media screen and (max-width: 767px) {
  input[type=radio] + label {
    padding-left: 20px;
  }
}
input[type=radio] + label::before {
  content: "";
  display: block;
  width: 0.8888888889em;
  height: 0.8888888889em;
  border: solid 1px #000;
  background: #FFF;
  border-radius: 50%;
  position: absolute;
  top: calc(50% + 0.05em);
  left: 0;
  transform: translate(0, -50%);
}
@media print, screen and (max-width: 1180px) {
  input[type=radio] + label::before {
    width: 0.9444444444em;
    height: 0.9444444444em;
  }
}
input[type=radio]:checked + label::before {
  border-color: #000;
}
input[type=radio]:checked + label::after {
  content: "";
  display: block;
  width: 0.4444444444em;
  height: 0.4444444444em;
  background: #f28e00;
  border-radius: 50%;
  position: absolute;
  top: calc(50% + 0.05em);
  left: 0.2222222222em;
  transform: translate(0, -50%);
}
input[type=radio]:focus + label::before {
  box-shadow: 0 0 0.3333333333em #59c3e2;
  transition: all 0.3s;
}
input[type=radio] + label {
  display: block;
}

.radio-group {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.4444444444em 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .radio-group {
    gap: 18px 25px;
  }
}
@media screen and (max-width: 767px) {
  .radio-group.sp-column {
    margin-top: 4px;
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 12px;
  }
}

/* チェックボックス */
input[type=checkbox] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}
input[type=checkbox] + label {
  display: inline-block;
  margin: 0;
  padding-left: 1.9444444444em;
  position: relative;
}
@media screen and (max-width: 767px) {
  input[type=checkbox] + label {
    padding-left: 26px;
  }
}
input[type=checkbox] + label::before {
  content: "";
  display: block;
  width: 1.1111111111em;
  height: 1.1111111111em;
  border: solid 1px #000;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  left: 0;
  transform: translate(0, -50%);
}
input[type=checkbox]:checked + label::before {
  border-color: #000;
  background: #f28e00;
}
input[type=checkbox]:checked + label::after {
  content: "";
  display: block;
  width: 0.6666666667em;
  height: 0.3888888889em;
  border-style: solid;
  border-width: 0 0 0.1111111111em 0.1111111111em;
  border-color: #FFF;
  background: #f28e00;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  left: 0.2222222222em;
  transform: translate(0, -75%) rotate(-45deg);
}
input[type=checkbox]:focus + label::before {
  box-shadow: 0 0 0.3333333333em #59c3e2;
  transition: all 0.3s;
}
input[type=checkbox] + label {
  display: block;
}

.checkbox-group {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.4444444444em 2.7777777778em;
}
@media screen and (max-width: 767px) {
  .checkbox-group {
    gap: 18px 25px;
  }
}
.checkbox-group.sub input[type=checkbox] + label {
  font-size: 0.8888em;
}
.checkbox-group.sub input[type=checkbox] + label::before {
  width: 1.2345679012em;
  height: 1.2345679012em;
}
.checkbox-group.sub input[type=checkbox] + label::after {
  width: 0.7407407407em;
  height: 0.4320987654em;
  left: 0.2469135802em;
}
@media screen and (max-width: 767px) {
  .checkbox-group.sp-column {
    margin-top: 4px;
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 12px;
  }
}
.checkbox-group.regular-intervals {
  gap: 0.8888888889em 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .checkbox-group.regular-intervals {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 18px 25px;
  }
}
.checkbox-group.regular-intervals input[type=checkbox] + label {
  width: calc(33.3333333333% - 2 * 1.6666666667em / 3);
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .checkbox-group.regular-intervals input[type=checkbox] + label {
    width: auto;
  }
}
.checkbox-group.regular-intervals input[type=checkbox] + label::before {
  top: 0.1666666667em;
  transform: translate(0, 0);
}
.checkbox-group.regular-intervals input[type=checkbox]:checked + label::after {
  top: 0.4444444444em;
  transform: translate(0, 0) rotate(-45deg);
}

/* フォーム入力 */
.form-input {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  margin-top: 2.7777777778em;
}
@media screen and (max-width: 767px) {
  .form-input {
    margin-top: 25px;
  }
}
.form-input .input-title {
  margin-top: 2.7777777778em;
  font-weight: 400;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form-input .input-title {
    margin-top: 28px;
    font-size: 17px;
  }
}
.form-input .input-title .req {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.8333333333em;
}
@media screen and (max-width: 767px) {
  .form-input .input-title .req {
    gap: 10px;
  }
}
.form-input .input-title .sub {
  font-size: 0.7777em;
}
.form-input .input-title:first-child {
  margin-top: 0;
}
.form-input .input-data {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.7777777778em;
  margin-top: 0.8333333333em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form-input .input-data {
    margin-top: 8px;
  }
}
.form-input .input-data .input-wrap {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.2222222222em;
  width: 100%;
}
.form-input .input-data .input-wrap.terms-wrap {
  gap: 0;
}
.form-input .input-data .multi-input {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.5555555556em;
}
.form-input .input-data .multi-input.tel-input {
  gap: 0.3888888889em;
}
@media screen and (max-width: 767px) {
  .form-input .input-data .multi-input.tel-input {
    width: 100%;
  }
}
.form-input .input-data .multi-input.tel-input input {
  max-width: 6.6666666667em;
}
@media screen and (max-width: 767px) {
  .form-input .input-data .multi-input.tel-input input {
    max-width: 100%;
  }
}
.form-input .input-data .input-label {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  white-space: nowrap;
}
.form-input .input-data .input-label.hyphen {
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  min-width: 0.5555555556em;
  height: 1px;
  position: relative;
}
.form-input .input-data .input-label.hyphen::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  position: absolute;
}
.form-input .input-data label .sub {
  font-size: 0.7777em;
}
.form-input .msg {
  font-size: 0.9em;
  color: #c6161e;
}
.form-input .caption {
  font-size: 0.9em;
}
@media screen and (max-width: 767px) {
  .form-input .caption {
    font-size: 0.9375em;
  }
}
.form-input.confirm {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  border-top: solid 1px #000;
}
.form-input.confirm .input-title {
  margin: 0;
  padding: 1.2222222222em 3.4444444444em 1.1111111111em 0;
  width: 21.2222222222em;
  border-bottom: solid 1px #000;
}
@media print, screen and (max-width: 1180px) {
  .form-input.confirm .input-title {
    padding-right: 20px;
    width: 240px;
  }
}
@media screen and (max-width: 767px) {
  .form-input.confirm .input-title {
    padding: 14px 0 0;
    width: 100%;
    border: 0;
  }
}
.form-input.confirm .input-data {
  margin: 0;
  padding: 1.2222222222em 0 1.1111111111em;
  width: calc(100% - 21.2222222222em);
  border-bottom: solid 1px #000;
}
@media print, screen and (max-width: 1180px) {
  .form-input.confirm .input-data {
    width: calc(100% - 240px);
  }
}
@media screen and (max-width: 767px) {
  .form-input.confirm .input-data {
    padding: 8px 0 14px;
    width: 100%;
    font-size: 0.9375em;
  }
}
.form-input.questionnaire-input .input-title label {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.8333333333em;
}
@media screen and (max-width: 767px) {
  .form-input.questionnaire-input .input-title label {
    gap: 10px;
  }
}
.form-input.questionnaire-input .input-title .no {
  display: inline-block;
  padding: 0.3125em 0.625em 0.375em;
  border: solid 1px #000;
  background: #000;
  color: #FFF;
  font-size: 16px;
  line-height: 1;
  border-radius: 4px;
  white-space: nowrap;
  position: relative;
  white-space: nowrap;
  position: relative;
  top: 0.05em;
}
@media print, screen and (max-width: 1180px) {
  .form-input.questionnaire-input .input-title .no {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .form-input.questionnaire-input .input-title .no {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .form-input.questionnaire-input .input-title .no {
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .form-input.questionnaire-input .input-title .no {
    padding: 2px 5px 3px 5px;
    font-size: 13px;
    top: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  .form-input.questionnaire-input .input-title .no {
    top: 0.4em;
  }
}
.form-input.questionnaire-input .input-title .text .icon-required {
  margin-left: 0.9375em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .form-input.questionnaire-input .input-title .text .icon-required {
    margin-left: 10px;
    top: -0.1em;
  }
}
.form-input .input-data.visit-schedule .checkbox-group {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
}
@media screen and (max-width: 767px) {
  .form-input .input-data.visit-schedule .checkbox-group {
    grid-template-rows: auto;
    grid-auto-flow: row;
  }
}

.agree-box {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.8333333333em;
  margin: 2.7777777778em auto 0;
  width: -moz-fit-content;
  width: fit-content;
}

/* セミナー情報
-------------------------------------------------------------*/
.seminar-list-wrap {
  display: flex;
  align-items: stretch;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.6666666667em;
  margin-top: 2.7777777778em;
}
@media screen and (max-width: 767px) {
  .seminar-list-wrap {
    margin-top: 30px;
  }
}

.seminar-list {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.6666666667em 0;
}
.seminar-list .seminar-box {
  width: 33.3%;
}
@media print, screen and (max-width: 900px) {
  .seminar-list .seminar-box {
    width: 100% !important;
  }
}
.seminar-list .seminar-box.full {
  width: 100%;
}
@media print, screen and (max-width: 900px) {
  .seminar-list .seminar-box + .seminar-box {
    border-left-width: 1px !important;
  }
}
.seminar-list .seminar-box + .seminar-box:not(.full) {
  border-left-width: 0;
}
.seminar-list .seminar-box + .seminar-box:nth-child(3n+1) {
  border-left-width: 1px;
}
@media print, screen and (max-width: 900px) {
  .seminar-list:not(:has(.seminar-box.show)) {
    display: none;
  }
}

.seminar-box {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  border: solid 1px #000;
}
.seminar-box .box-header {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: flex-start;
  width: 100%;
  min-height: 2.7777777778em;
}
.seminar-box .box-detail {
  flex: 1;
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 2.2222222222em;
  padding: 1.6666666667em 1.6666666667em 1.8888888889em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .seminar-box .box-detail {
    display: flex;
    align-items: stretch;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 16px;
    padding: 20px;
  }
}
.seminar-box .img-box {
  max-width: 100%;
  height: auto;
  border: solid 1px #000;
  border-radius: 4px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .seminar-box .img-box {
    border-radius: 2px;
  }
}
.seminar-box .img-box img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.seminar-box .text-box {
  display: flex;
  align-items: stretch;
  flex-flow: column nowrap;
  justify-content: flex-start;
  height: 100%;
}
.seminar-box .text-box .seminar-information {
  flex: 1;
  width: 100%;
}
.seminar-box .text-box .button-area {
  width: 100%;
}
.seminar-box .time {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.3125em;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
  gap: 0.5em;
  padding: 0 0.2em 0 0.7em;
  min-height: 2em;
  background: #000;
  color: #FFF;
  font-size: 20px;
  line-height: 1;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .time {
    font-size: 14px;
  }
}
.seminar-box .time::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.125em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_time.png);
  position: relative;
  top: 0.05em;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .time {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .time {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .time {
    font-size: 14px;
  }
}
@media print, screen and (max-width: 900px) {
  .seminar-box .time {
    width: auto;
  }
}
.seminar-box .time::before {
  min-width: 0.9em;
}
.seminar-box .time::after {
  content: "";
  display: block;
  width: 1.1111111111em;
  height: calc(100% + 1px);
  background: #000;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  position: absolute;
  top: -1px;
  right: 0.5px;
  transform: translate(100%, 0);
  width: 1em;
}
.seminar-box .kind {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: space-between;
  flex: 1;
  margin: 0;
  padding: 0.1em 0.625em 0.1em 1.875em;
  min-height: 2.5em;
  background: #d0eaea;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .kind {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .kind {
    font-size: 15px;
  }
}
.seminar-box .kind.keynote {
  background: #fcf9cf;
}
.seminar-box .kind.exhibitor {
  background: #d0eaea;
}
.seminar-box .kind.insurance {
  background: #d4edbc;
}
.seminar-box .kind.investment {
  background: #fee3bc;
}
.seminar-box .kind.guest {
  background: #ffe813;
}
.seminar-box .kind.newyear {
  background: #fedee6;
}
@media screen and (max-width: 767px) {
  .seminar-box .kind {
    padding-left: 25px;
    padding-right: 10px;
    font-size: 14px;
  }
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .kind {
    padding-left: 15px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .kind {
    padding-left: 15px;
  }
}
.seminar-box .company-name {
  margin: 0 0 0.625em;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .company-name {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .company-name {
    font-size: 15px;
  }
}
.seminar-box .seminar-title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .seminar-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .seminar-title {
    font-size: 17px;
  }
}
.seminar-box .speaker-list {
  margin-top: 0.8333333333em;
}
.seminar-box .speaker-list .speaker-box {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
}
.seminar-box .explanation-wrap {
  position: relative;
}
.seminar-box .explanation {
  margin-top: 0.75em;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .explanation {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .explanation {
    font-size: 15px;
  }
}
.seminar-box .explanation.ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.seminar-box .more {
  display: none;
  margin: 0.75em auto;
  padding-left: 1.25em;
  width: -moz-fit-content;
  width: fit-content;
  color: #f28e00;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .more {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .more {
    font-size: 15px;
  }
}
.seminar-box .more::before, .seminar-box .more::after {
  content: "";
  display: block;
  width: 0.9375em;
  height: 2px;
  background: #f28e00;
  position: absolute;
  top: calc(50% + 0.05em);
  left: 0;
  transform: translate(0, -50%);
}
.seminar-box .more::after {
  transform: translate(0, -50%) rotate(90deg);
}
.seminar-box .more.open::after {
  opacity: 0;
}
.seminar-box .button-area {
  margin-top: 2.3333333333em;
}
@media screen and (max-width: 767px) {
  .seminar-box .button-area {
    margin-top: 16px;
  }
}
.seminar-box .button-area .button {
  width: 100%;
  max-width: 17.2222222222em;
  min-height: 2.7777777778em;
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box .button-area .button {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .button-area .button {
    font-size: 16px;
  }
}
.seminar-box .button-area .button.next::after {
  width: 1em;
}
.seminar-box .button-area.view {
  margin-top: 1.4444444444em;
}
@media screen and (max-width: 767px) {
  .seminar-box .button-area.view {
    margin-top: 16px;
  }
}
.seminar-box .button-area.view .button.medium {
  max-width: 19.4444444444em;
}
.seminar-box .wish {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.3333333333em;
  margin-top: 0.4444444444em;
  color: #f28e00;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.3;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .seminar-box .wish {
    margin-top: 0;
  }
}
.seminar-box .wish::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 19/16;
  width: 1.1111111111em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_wish.png);
  position: relative;
  top: 0.05em;
}
.seminar-box .wish.negative {
  color: #aaa;
}
.seminar-box .wish.negative::before {
  background-image: url(../media/images/2025/common/icon_wish_cancel.png);
}
.seminar-box.full .box-detail {
  margin: 0 auto;
  max-width: 45.5555555556em;
}
@media print, screen and (max-width: 900px) {
  .seminar-box.full .box-detail {
    max-width: 100%;
  }
}
.seminar-box.full .img-box {
  max-width: 20em;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .seminar-box.full .img-box {
    max-width: 100%;
    width: 100%;
  }
}
.seminar-box.full .text-box {
  flex: 1;
}
.seminar-box:not(.full) .box-detail {
  display: flex;
  align-items: stretch;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.3333333333em;
}
@media print, screen and (max-width: 900px) {
  .seminar-box:not(.full) .box-detail {
    display: flex;
    align-items: flex-start;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: 2.2222222222em;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box:not(.full) .box-detail {
    display: flex;
    align-items: stretch;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 16px;
  }
}
.seminar-box:not(.full) .img-box {
  max-width: 100%;
  width: 100%;
}
@media print, screen and (max-width: 900px) {
  .seminar-box:not(.full) .img-box {
    max-width: 20em;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box:not(.full) .img-box {
    max-width: 100%;
    width: 100%;
  }
}
.seminar-box:not(.full) .text-box {
  flex: 1;
}

/* セミナー情報（ピックアップ）
-------------------------------------------------------------*/
.pickup-seminar-list-wrap {
  display: flex;
  align-items: stretch;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.6666666667em;
}

.pickup-seminar-list {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.6666666667em 0;
}
.pickup-seminar-list .pickup-seminar-box {
  width: 33.3%;
}
@media screen and (max-width: 767px) {
  .pickup-seminar-list .pickup-seminar-box {
    width: 100%;
  }
}
.pickup-seminar-list .pickup-seminar-box.full {
  width: 100%;
}
.pickup-seminar-list .pickup-seminar-box + .pickup-seminar-box:not(.full) {
  border-left-width: 0;
}
@media screen and (max-width: 767px) {
  .pickup-seminar-list .pickup-seminar-box + .pickup-seminar-box:not(.full) {
    border-left-width: 1px;
  }
}
.pickup-seminar-list .pickup-seminar-box + .pickup-seminar-box:nth-child(3n+1) {
  border-left-width: 1px;
}

.pickup-seminar-box {
  border: solid 1px #000;
}
.pickup-seminar-box a {
  text-decoration: none;
}
.pickup-seminar-box .img-box {
  width: 100%;
  height: auto;
  overflow: hidden;
}
.pickup-seminar-box .img-box img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pickup-seminar-box .datetime {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0 0.8333333333em;
  min-height: 2.2222222222em;
  padding: 0.5em 0.7777777778em;
  background: #000;
  color: #FFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .datetime {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 5px 0;
    min-height: 60px;
  }
}
@media print, screen and (max-width: 1180px) {
  .pickup-seminar-box .datetime {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 5px 0;
    min-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .datetime {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: 0 0.8333333333em;
    min-height: 2.2222222222em;
  }
}
.pickup-seminar-box .datetime .date {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .pickup-seminar-box .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .datetime .date {
    font-size: 14px;
  }
}
.pickup-seminar-box .datetime .date .sub {
  font-size: 0.9em;
}
@media print, screen and (max-width: 1180px) {
  .pickup-seminar-box .datetime .date {
    font-size: 14px;
  }
}
.pickup-seminar-box .datetime .time {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.3125em;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .pickup-seminar-box .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .datetime .time {
    font-size: 14px;
  }
}
.pickup-seminar-box .datetime .time::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.125em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_time.png);
  position: relative;
  top: 0.05em;
}
@media print, screen and (max-width: 1180px) {
  .pickup-seminar-box .datetime .time {
    font-size: 14px;
  }
}
.pickup-seminar-box .seminar-information {
  padding: 1.1111111111em;
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .seminar-information {
    padding: 15px;
  }
}
.pickup-seminar-box .icon-list {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.4444444444em 0.8333333333em;
  margin-bottom: 0.6666666667em;
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .icon-list {
    margin-bottom: 8px;
  }
}
.pickup-seminar-box .icon {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0.1em 0.625em;
  min-height: 2.1875em;
  border: solid 1px #000;
  background: #fcf9cf;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  border-radius: 999px;
}
@media print, screen and (max-width: 1180px) {
  .pickup-seminar-box .icon {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .icon {
    font-size: 15px;
  }
}
.pickup-seminar-box .icon.keynote {
  background: #fcf9cf;
}
.pickup-seminar-box .icon.exhibitor {
  background: #d0eaea;
}
.pickup-seminar-box .icon.insurance {
  background: #d4edbc;
}
.pickup-seminar-box .icon.investment {
  background: #fee3bc;
}
.pickup-seminar-box .icon.guest {
  background: #ffe813;
}
.pickup-seminar-box .icon.newyear {
  background: #fedee6;
}
@media screen and (max-width: 767px) {
  .pickup-seminar-box .icon {
    font-size: 14px;
  }
}
.pickup-seminar-box .seminar-title {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2777777778em;
}

/* セミナー情報（詳細）
-------------------------------------------------------------*/
.seminar-detail .seminar-detail-header {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: flex-start;
  width: 100%;
  min-height: 2.7777777778em;
}
.seminar-detail .datetime {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0 0.8333333333em;
  min-height: 2.2222222222em;
  padding: 0.5em 0.7777777778em;
  background: #000;
  color: #FFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 5px 0;
    min-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime {
    padding: 0 0 0 10px;
  }
}
.seminar-detail .datetime .date {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .seminar-detail .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .date {
    font-size: 14px;
  }
}
.seminar-detail .datetime .date .sub {
  font-size: 0.9em;
}
.seminar-detail .datetime .time {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.3125em;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .seminar-detail .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .time {
    font-size: 14px;
  }
}
.seminar-detail .datetime .time::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.125em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_time.png);
  position: relative;
  top: 0.05em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .time {
    font-size: 13px;
  }
}
.seminar-detail .datetime::after {
  content: "";
  display: block;
  width: 1.1111111111em;
  height: calc(100% + 1px);
  background: #000;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  position: absolute;
  top: -1px;
  right: 0.5px;
  transform: translate(100%, 0);
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime::after {
    width: 25px;
  }
}
.seminar-detail .kind {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: space-between;
  flex: 1;
  margin: 0;
  padding: 0.1em 0.625em 0.1em 1.875em;
  min-height: 2.5em;
  background: #d0eaea;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .seminar-detail .kind {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .kind {
    font-size: 15px;
  }
}
.seminar-detail .kind.keynote {
  background: #fcf9cf;
}
.seminar-detail .kind.exhibitor {
  background: #d0eaea;
}
.seminar-detail .kind.insurance {
  background: #d4edbc;
}
.seminar-detail .kind.investment {
  background: #fee3bc;
}
.seminar-detail .kind.guest {
  background: #ffe813;
}
.seminar-detail .kind.newyear {
  background: #fedee6;
}
@media screen and (max-width: 767px) {
  .seminar-detail .kind {
    padding-left: 25px;
    padding-right: 10px;
    font-size: 14px;
  }
}
.seminar-detail .seminar-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.75;
}
@media print, screen and (max-width: 1180px) {
  .seminar-detail .seminar-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-title {
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-title {
    font-size: 16px;
  }
}
.seminar-detail .speaker-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.7777777778em;
  margin-top: 1.5555555556em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-list {
    gap: 20px;
    margin-top: 20px;
  }
}
.seminar-detail .speaker-box dl {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.5555555556em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box dl {
    gap: 5px;
  }
}
.seminar-detail .speaker-box .company-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .seminar-detail .speaker-box .company-name {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box .company-name {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box .company-name {
    font-size: 14px;
  }
}
.seminar-detail .speaker-box .name {
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box .name {
    font-size: 15px;
  }
}
.seminar-detail .explanation {
  margin-top: 2.125em;
  padding-top: 2.125em;
  border-top: solid 1px #000;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .seminar-detail .explanation {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .explanation {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .explanation {
    margin-top: 24px;
    padding-top: 24px;
  }
}
.seminar-detail.content-modal .modal-content-inner {
  padding-top: 1.7777777778em;
  padding-bottom: 1.8888888889em;
}
@media screen and (max-width: 767px) {
  .seminar-detail.content-modal .modal-content-inner {
    padding-top: 15px;
    padding-bottom: 20px;
  }
}

/* お気に入りセミナー情報
-------------------------------------------------------------*/
.favorite-seminar-list {
  display: flex;
  align-items: stretch;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.7777777778em 0;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-list {
    gap: 20px;
  }
}
.favorite-seminar-list .favorite-seminar-box {
  width: 100%;
}

.favorite-seminar-box {
  border: solid 1px #000;
}
.favorite-seminar-box .box-header {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: flex-start;
  width: 100%;
  min-height: 2.7777777778em;
}
.favorite-seminar-box .box-detail {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: flex-start;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .box-detail {
    display: flex;
    align-items: stretch;
    flex-flow: column nowrap;
    justify-content: flex-start;
  }
}
.favorite-seminar-box .box-detail .seminar-information {
  flex: 1;
  padding: 1.7777777778em 2.2222222222em 1.8888888889em;
  background: #f2f2f2;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .box-detail .seminar-information {
    padding: 14px 14px 16px;
  }
}
.favorite-seminar-box .box-detail .button-area {
  justify-content: center;
  margin: 0;
  padding: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .box-detail .button-area {
    padding: 18px 18px 20px;
  }
}
.favorite-seminar-box .box-detail .button-area .button {
  min-height: 2.7777777778em;
  cursor: pointer;
}
.favorite-seminar-box .datetime {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0 0.8333333333em;
  min-height: 2.2222222222em;
  padding: 0.5em 0.7777777778em;
  background: #000;
  color: #FFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .datetime {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 5px 0;
    min-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .datetime {
    padding: 0 0 0 10px;
  }
}
.favorite-seminar-box .datetime::after {
  content: "";
  display: block;
  width: 1.1111111111em;
  height: calc(100% + 1px);
  background: #000;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  position: absolute;
  top: -1px;
  right: 0.5px;
  transform: translate(100%, 0);
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .datetime::after {
    width: 25px;
  }
}
.favorite-seminar-box .datetime .date {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .favorite-seminar-box .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .datetime .date {
    font-size: 14px;
  }
}
.favorite-seminar-box .datetime .date .sub {
  font-size: 0.9em;
}
.favorite-seminar-box .datetime .time {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.3125em;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .favorite-seminar-box .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .datetime .time {
    font-size: 14px;
  }
}
.favorite-seminar-box .datetime .time::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.125em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_time.png);
  position: relative;
  top: 0.05em;
}
.favorite-seminar-box .kind {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: space-between;
  flex: 1;
  margin: 0;
  padding: 0.1em 0.625em 0.1em 1.875em;
  min-height: 2.5em;
  background: #d0eaea;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .favorite-seminar-box .kind {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .kind {
    font-size: 15px;
  }
}
.favorite-seminar-box .kind.keynote {
  background: #fcf9cf;
}
.favorite-seminar-box .kind.exhibitor {
  background: #d0eaea;
}
.favorite-seminar-box .kind.insurance {
  background: #d4edbc;
}
.favorite-seminar-box .kind.investment {
  background: #fee3bc;
}
.favorite-seminar-box .kind.guest {
  background: #ffe813;
}
.favorite-seminar-box .kind.newyear {
  background: #fedee6;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .kind {
    padding-left: 25px;
    padding-right: 10px;
    font-size: 14px;
  }
}
.favorite-seminar-box .seminar-title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .favorite-seminar-box .seminar-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .seminar-title {
    font-size: 17px;
  }
}
.favorite-seminar-box .speaker-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.8888888889em;
  margin-top: 1.4444444444em;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .speaker-list {
    gap: 8px;
    margin-top: 14px;
  }
}
.favorite-seminar-box .speaker-list .speaker-box {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.2777777778em;
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .speaker-list .speaker-box {
    gap: 0;
  }
}
.favorite-seminar-box .speaker-list .speaker-box .company {
  font-size: 16px;
  font-weight: 700;
}
@media print, screen and (max-width: 1180px) {
  .favorite-seminar-box .speaker-list .speaker-box .company {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .favorite-seminar-box .speaker-list .speaker-box .company {
    font-size: 15px;
  }
}

/* セミナー情報（簡易）
-------------------------------------------------------------*/
.seminar-list-simple {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.7777777778em 0;
}
@media screen and (max-width: 767px) {
  .seminar-list-simple {
    gap: 20px;
  }
}
.seminar-list-simple .seminar-box-simple {
  width: 100%;
}

.seminar-box-simple {
  border: solid 1px #000;
}
.seminar-box-simple .box-header {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: flex-start;
  width: 100%;
  min-height: 2.7777777778em;
}
.seminar-box-simple .box-detail {
  padding: 1em 1.3333333333em;
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .box-detail {
    padding: 14px 20px;
  }
}
.seminar-box-simple .datetime {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0 0.8333333333em;
  min-height: 2.2222222222em;
  padding: 0.5em 0.7777777778em;
  background: #000;
  color: #FFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .datetime {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 5px 0;
    min-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .datetime {
    padding: 0 0 0 10px;
  }
}
.seminar-box-simple .datetime::after {
  content: "";
  display: block;
  width: 1.1111111111em;
  height: calc(100% + 1px);
  background: #000;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
  position: absolute;
  top: -1px;
  right: 0.5px;
  transform: translate(100%, 0);
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .datetime::after {
    width: 25px;
  }
}
.seminar-box-simple .datetime .date {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box-simple .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .datetime .date {
    font-size: 14px;
  }
}
.seminar-box-simple .datetime .date .sub {
  font-size: 0.9em;
}
.seminar-box-simple .datetime .time {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.3125em;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box-simple .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .datetime .time {
    font-size: 14px;
  }
}
.seminar-box-simple .datetime .time::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.125em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_time.png);
  position: relative;
  top: 0.05em;
}
.seminar-box-simple .kind {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: space-between;
  flex: 1;
  margin: 0;
  padding: 0.1em 0.625em 0.1em 1.875em;
  min-height: 2.5em;
  background: #d0eaea;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box-simple .kind {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .kind {
    font-size: 15px;
  }
}
.seminar-box-simple .kind.keynote {
  background: #fcf9cf;
}
.seminar-box-simple .kind.exhibitor {
  background: #d0eaea;
}
.seminar-box-simple .kind.insurance {
  background: #d4edbc;
}
.seminar-box-simple .kind.investment {
  background: #fee3bc;
}
.seminar-box-simple .kind.guest {
  background: #ffe813;
}
.seminar-box-simple .kind.newyear {
  background: #fedee6;
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .kind {
    padding-left: 25px;
    padding-right: 10px;
    font-size: 14px;
  }
}
.seminar-box-simple .kind .room {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.1em 0.7142857143em;
  min-height: 1.8571428571em;
  background: #FFF;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  border-radius: 999px;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box-simple .kind .room {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .kind .room {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .kind .room {
    padding: 0.1em 5px;
  }
}
.seminar-box-simple .seminar-title {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
}
@media print, screen and (max-width: 1180px) {
  .seminar-box-simple .seminar-title {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box-simple .seminar-title {
    font-size: 15px;
  }
}

/* セミナー情報（特殊（基調・ゲスト講演）） */
.seminar-list.special {
  display: flex !important;
}
@media print, screen and (max-width: 900px) {
  .seminar-list.special .seminar-box {
    width: 50% !important;
  }
}
@media screen and (max-width: 560px) {
  .seminar-list.special .seminar-box {
    width: 100% !important;
  }
}
@media print, screen and (max-width: 900px) {
  .seminar-list.special .seminar-box + .seminar-box {
    border-left-width: 0 !important;
  }
}
@media screen and (max-width: 560px) {
  .seminar-list.special .seminar-box + .seminar-box {
    border-left-width: 1px !important;
  }
}
@media print, screen and (max-width: 900px) {
  .seminar-list.special .seminar-box:nth-child(2n+1) {
    border-left-width: 1px !important;
  }
}
.seminar-list.special .seminar-box .img-box {
  width: 100%;
  max-width: 100%;
  border: 0;
}
.seminar-list.special .seminar-box .img-box img {
  width: 100%;
  height: auto;
}
.seminar-list.special .seminar-box .text {
  width: 100%;
}
.seminar-list.special .seminar-box .datetime {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0 0.8333333333em;
  min-height: 2.2222222222em;
  padding: 0.5em 0.7777777778em;
  background: #000;
  color: #FFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .datetime {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 5px 0;
    min-height: 60px;
  }
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .datetime {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 5px 0;
    min-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .datetime {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    justify-content: flex-start;
    gap: 0 0.8333333333em;
    min-height: 2.2222222222em;
  }
}
.seminar-list.special .seminar-box .datetime .date {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .datetime .date {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .datetime .date {
    font-size: 14px;
  }
}
.seminar-list.special .seminar-box .datetime .date .sub {
  font-size: 0.9em;
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .datetime .date {
    font-size: 14px;
  }
}
.seminar-list.special .seminar-box .datetime .time {
  padding: 0;
  min-height: auto;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.3125em;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .datetime .time {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .datetime .time {
    font-size: 14px;
  }
}
.seminar-list.special .seminar-box .datetime .time::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.125em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_time.png);
  position: relative;
  top: 0.05em;
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .datetime .time {
    font-size: 14px;
  }
}
.seminar-list.special .seminar-box .seminar-information {
  padding: 1.1111111111em 1.1111111111em;
}
.seminar-list.special .seminar-box .seminar-title {
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .seminar-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .seminar-title {
    font-size: 16px;
  }
}
.seminar-list.special .seminar-box .button-area {
  margin-top: 1.9444444444em;
  padding: 0 0.5555555556em;
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .button-area {
    margin-top: 24px;
    padding: 0;
  }
}
.seminar-list.special .seminar-box .button-area:not(:has(.button)) {
  margin: 0;
}
.seminar-list.special .seminar-box .button-area + .explanation-wrap .explanation {
  margin-top: 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .button-area + .explanation-wrap .explanation {
    margin-top: 28px;
  }
}
.seminar-list.special .seminar-box .speaker-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  margin-top: 2.2222222222em;
  padding: 0 0.5555555556em;
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .speaker-list {
    margin-top: 28px;
    padding: 0;
  }
}
.seminar-list.special .seminar-box .speaker-list .speaker-box {
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .speaker-list .speaker-box {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .speaker-list .speaker-box {
    font-size: 15px;
  }
}
.seminar-list.special .seminar-box .speaker-list .speaker-box + .speaker-box {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .speaker-list .speaker-box + .speaker-box {
    margin-top: 12px;
  }
}
.seminar-list.special .seminar-box .speaker-list .speaker-box + .speaker-box:not(:has(.name)) {
  margin-top: 0;
}
.seminar-list.special .seminar-box .speaker-list:not(:has(.name)) {
  margin: 0;
  gap: 0;
}
.seminar-list.special .seminar-box .speaker-list:not(:has(.name)) + .explanation-wrap .explanation {
  margin-top: 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .speaker-list:not(:has(.name)) + .explanation-wrap .explanation {
    margin-top: 28px;
  }
}
.seminar-list.special .seminar-box .explanation-wrap {
  padding: 0 0.5555555556em;
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .explanation-wrap {
    padding: 0;
  }
}
.seminar-list.special .seminar-box .explanation-wrap .explanation {
  margin-top: 1.125em;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .seminar-list.special .seminar-box .explanation-wrap .explanation {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .explanation-wrap .explanation {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-list.special .seminar-box .explanation-wrap .explanation {
    margin-top: 16px;
  }
}

/* 会社情報
-------------------------------------------------------------*/
.company-list {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.6666666667em 0;
}
.company-list .company-box {
  width: 20%;
}
@media print, screen and (max-width: 1180px) {
  .company-list .company-box {
    width: 25%;
  }
}
@media screen and (max-width: 767px) {
  .company-list .company-box {
    width: 33.3%;
  }
}
@media screen and (max-width: 560px) {
  .company-list .company-box {
    width: 50%;
  }
}
.company-list .company-box + .company-box {
  border-left-width: 0;
}
.company-list .company-box + .company-box:nth-child(5n+1) {
  border-left-width: 1px;
}
@media print, screen and (max-width: 1180px) {
  .company-list .company-box + .company-box:nth-child(5n+1) {
    border-left-width: 0;
  }
}
@media print, screen and (max-width: 1180px) {
  .company-list .company-box + .company-box:nth-child(4n+1) {
    border-left-width: 1px;
  }
}
@media screen and (max-width: 767px) {
  .company-list .company-box + .company-box:nth-child(4n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .company-list .company-box + .company-box:nth-child(3n+1) {
    border-left-width: 1px;
  }
}
@media screen and (max-width: 560px) {
  .company-list .company-box + .company-box:nth-child(3n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 560px) {
  .company-list .company-box + .company-box:nth-child(2n+1) {
    border-left-width: 1px;
  }
}
.company-list.wide-box .company-box {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .company-list.wide-box .company-box {
    width: 33.3%;
  }
}
@media screen and (max-width: 560px) {
  .company-list.wide-box .company-box {
    width: 50%;
  }
}
.company-list.wide-box .company-box .img-box {
  aspect-ratio: 275/120;
}
.company-list.wide-box .company-box .company-name {
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  .company-list.wide-box .company-box .company-name {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .company-list.wide-box .company-box .company-name {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .company-list.wide-box .company-box .company-name {
    font-size: 15px;
  }
}
.company-list.wide-box .company-box + .company-box {
  border-left-width: 0;
}
.company-list.wide-box .company-box + .company-box:nth-child(4n+1) {
  border-left-width: 1px;
}
@media screen and (max-width: 767px) {
  .company-list.wide-box .company-box + .company-box:nth-child(4n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 560px) {
  .company-list.wide-box .company-box + .company-box:nth-child(3n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 560px) {
  .company-list.wide-box .company-box + .company-box:nth-child(2n+1) {
    border-left-width: 1px;
  }
}

.company-box {
  border: solid 1px #000;
}
.company-box a {
  text-decoration: none;
}
.company-box .company-box-innner {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  height: 100%;
}
.company-box .img-box {
  aspect-ratio: 220/120;
  width: 100%;
  height: auto;
  background: #FFF;
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  background: #FFF;
  overflow: hidden;
}
.company-box .img-box img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 80%;
  max-height: 70%;
  -o-object-fit: contain;
     object-fit: contain;
}
.company-box .text-box {
  flex: 1;
  padding: 15px 15px 10px;
  width: 100%;
  background: #f2f2f2;
}
.company-box .company-no {
  margin: 0;
  font-size: 14px;
}
@media print, screen and (max-width: 1180px) {
  .company-box .company-no {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .company-box .company-no {
    font-size: 13px;
  }
}
.company-box .company-name {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .company-box .company-name {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .company-box .company-name {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .company-box .company-name {
    font-size: 14px;
  }
}
.company-box .company-outline {
  margin: 0.625em 0 0;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .company-box .company-outline {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .company-box .company-outline {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .company-box .company-outline {
    font-size: 14px;
  }
}
.company-box .notice {
  margin: 0.2857142857em 0 0;
  font-size: 14px;
}
@media print, screen and (max-width: 1180px) {
  .company-box .notice {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .company-box .notice {
    font-size: 13px;
  }
}

.company-slider {
  border-left: solid 1px #000;
}
@media screen and (max-width: 767px) {
  .company-slider {
    border-left-width: 0;
  }
}
.company-slider .company-box {
  width: 25%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .company-slider .company-box {
    width: 33.3333%;
  }
}
@media screen and (max-width: 560px) {
  .company-slider .company-box {
    width: 50%;
  }
}
.company-slider .company-box + .company-box {
  border-left-width: 0;
}

/* コンテンツナビ
-------------------------------------------------------------*/
.content-nav {
  margin: 9.1111111111em auto 0;
}
@media screen and (max-width: 767px) {
  .content-nav {
    margin: 5.6944444444em auto 0;
  }
}
.content-nav .navi-list {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 1.1111111111em 0;
}
@media print, screen and (max-width: 1180px) {
  .content-nav .navi-box {
    width: 33.3333%;
  }
  .content-nav .navi-box:nth-child(3n+1) {
    border-left: dotted 5px #f28e00;
  }
}
@media screen and (max-width: 767px) {
  .content-nav .navi-box {
    width: 50%;
  }
  .content-nav .navi-box:nth-child(3n+1) {
    border-left-width: 0;
  }
  .content-nav .navi-box:nth-child(2n+1) {
    border-left: dotted 4px #f28e00;
  }
}
.content-nav .navi-box a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.4em;
  padding: 0.4em 0.9em;
  border-right: dotted 5px #f28e00;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .content-nav .navi-box a {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .content-nav .navi-box a {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .content-nav .navi-box a {
    border-right-width: 4px;
    font-size: 13px;
  }
}
.content-nav .navi-box a::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.5em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
}
.content-nav .navi-box:first-child {
  border-left: dotted 5px #f28e00;
}
@media screen and (max-width: 767px) {
  .content-nav .navi-box:first-child {
    border-left-width: 4px;
  }
}
.content-nav .navi-box.current a {
  color: #aaa;
  pointer-events: none;
}
.content-nav .navi-box.current a::after {
  content: none;
}
.content-nav .navi-list.multiple-line {
  margin: 0 auto;
  max-width: 920px;
}
@media print, screen and (max-width: 900px) {
  .content-nav .navi-list.multiple-line {
    max-width: 800px;
  }
}
@media print, screen and (max-width: 1180px) {
  .content-nav .navi-list.multiple-line .navi-box {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .content-nav .navi-list.multiple-line .navi-box {
    width: 50%;
  }
}
@media print, screen and (max-width: 1180px) {
  .content-nav .navi-list.multiple-line .navi-box:nth-child(n+3) {
    border-left: 0;
  }
}
@media print, screen and (max-width: 900px) {
  .content-nav .navi-list.multiple-line .navi-box:nth-child(5) {
    border-left: dotted 5px #f28e00;
  }
}
.content-nav .navi-list.multiple-line .navi-box:nth-child(6) {
  border-left: dotted 5px #f28e00;
}
@media print, screen and (max-width: 900px) {
  .content-nav .navi-list.multiple-line .navi-box:nth-child(6) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .content-nav .navi-list.multiple-line .navi-box:nth-child(2n+1) {
    border-left: dotted 4px #f28e00;
  }
}

/* バナー
-------------------------------------------------------------*/
.banner-list {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.1111111111em;
  margin: 1.2222222222em auto 0;
}
@media screen and (max-width: 767px) {
  .banner-list .banner-box {
    width: 100%;
  }
}
.banner-list .banner-box img {
  width: 100%;
  max-width: 900px;
  height: auto;
}

/* FAQ
-------------------------------------------------------------*/
.faq-list .question {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.5555555556em;
  padding: 0.4444444444em 0.5em;
  border: solid 1px #000;
  border-bottom-width: 0;
  background: #fcf9cf;
  font-weight: 700;
  line-height: 1.5;
  border-radius: 4px 4px 0 0;
}
@media screen and (max-width: 767px) {
  .faq-list .question {
    border-radius: 2px 2px 0 0;
  }
}
.faq-list .question .no {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0 0.3333333333em 0.1em;
  min-height: 1.6666666667em;
  border: solid 1px #000;
  background: #ffe813;
  line-height: 1.3;
  white-space: nowrap;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .faq-list .question .no {
    border-radius: 2px;
  }
}
.faq-list .answer {
  padding: 1em 1.1111111111em;
  border: solid 1px #000;
  border-radius: 0 0 4px 4px;
}
@media screen and (max-width: 767px) {
  .faq-list .answer {
    border-radius: 0 0 2px 2px;
  }
}
.faq-list .answer + .question {
  margin-top: 1.25em;
}
.faq-list .answer p {
  margin-top: 0.5em;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .faq-list .answer p {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .faq-list .answer p {
    font-size: 15px;
  }
}
.faq-list .answer p.notice {
  font-size: 14px;
}
@media print, screen and (max-width: 1180px) {
  .faq-list .answer p.notice {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .faq-list .answer p.notice {
    font-size: 13px;
  }
}

/* 補足リスト
-------------------------------------------------------------*/
.supplementary-list {
  margin: 0.7777777778em auto 0;
  padding: 0.7777777778em 1.1111111111em 0.8888888889em;
  background: #f2f2f2;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .supplementary-list {
    border-radius: 2px;
  }
}
.supplementary-list dt {
  padding-left: calc(10px + 0.375em);
  font-size: 16px;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .supplementary-list dt {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .supplementary-list dt {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .supplementary-list dt {
    padding-left: calc(6px + 0.375em);
  }
}
.supplementary-list dt::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 10px;
  min-width: 10px;
  height: auto;
  border: solid 1px #000;
  background: #ffff10;
  border-radius: 50%;
  position: absolute;
  top: 0.55em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .supplementary-list dt::before {
    width: 6px;
    min-width: 6px;
  }
}
@media screen and (max-width: 767px) {
  .supplementary-list dt::before {
    top: 0.65em;
  }
}
.supplementary-list dd {
  margin-top: 0.1428571429em;
  font-size: 14px;
}
@media print, screen and (max-width: 1180px) {
  .supplementary-list dd {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .supplementary-list dd {
    font-size: 13px;
  }
}
.supplementary-list dd + dt {
  margin-top: 1em;
}

/* 簡易コンテンツリスト */
.simple-content-list {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .simple-content-list {
    gap: 20px;
  }
}
.simple-content-list .simple-content-box {
  width: calc(50% - 1 * 1.6666666667em / 2);
}
@media screen and (max-width: 767px) {
  .simple-content-list .simple-content-box {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 560px) {
  .simple-content-list .simple-content-box {
    width: 100%;
  }
}

.simple-content-box {
  border: solid 1px #000;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .simple-content-box {
    border-radius: 5px;
  }
}
.simple-content-box .box-inner {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.simple-content-box .img-box img {
  display: block;
  width: 100%;
  height: auto;
}
.simple-content-box .text-box {
  flex: 1;
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.7222222222em 1.1111111111em 0.7777777778em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .simple-content-box .text-box {
    padding: 11px 15px 12px;
  }
}
.simple-content-box .content-title {
  width: 100%;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .simple-content-box .content-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .simple-content-box .content-title {
    font-size: 17px;
  }
}
.simple-content-box.next .content-title {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 0.5555555556em;
  position: relative;
}
.simple-content-box.next .content-title::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.3636363636em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
}

/* プログラムリスト */
.program-list {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.6666666667em 0;
}
@media screen and (max-width: 767px) {
  .program-list {
    gap: 20px;
  }
}
.program-list .program-box {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .program-list .program-box {
    width: 100%;
  }
}
.program-list .program-box:nth-child(2n) {
  border-left-width: 0;
}
@media screen and (max-width: 767px) {
  .program-list .program-box:nth-child(2n) {
    border-left-width: 1px;
  }
}

.program-box {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  border: solid 1px #000;
}
.program-box .box-inner {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.program-box .program-header {
  padding: 0.8333333333em 1.1111111111em 0.9444444444em;
  width: 100%;
  border-bottom: solid 1px #000;
}
@media screen and (max-width: 767px) {
  .program-box .program-header {
    padding: 12px 15px 13px;
  }
}
.program-box .program-detail {
  flex: 1;
  padding: 1.6666666667em;
  width: 100%;
  background: #f2f2f2;
}
@media screen and (max-width: 767px) {
  .program-box .program-detail {
    padding: 20px;
  }
}
.program-box .program-detail .detail-inner {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.1111111111em;
}
.program-box .program-detail .img-box {
  aspect-ratio: 1;
  width: 8.3333333333em;
  border: solid 1px #000;
  overflow: hidden;
}
.program-box .program-detail .img-box img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .program-box .program-detail .img-box {
    width: 120px;
  }
}
.program-box .program-detail .text-box {
  flex: 1;
  width: calc(100% - 8em);
}
.program-box .full-img-box {
  border-top: solid 1px #000;
}
.program-box .full-img-box img {
  display: block;
  width: 100%;
  height: auto;
}
.program-box .program-title {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.3em;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .program-box .program-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .program-box .program-title {
    font-size: 17px;
  }
}
.program-box .program-title .sub {
  display: block;
  font-size: 0.81em;
}
.program-box .name {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media print, screen and (max-width: 1180px) {
  .program-box .name {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .program-box .name {
    font-size: 17px;
  }
}
.program-box .job {
  margin: 0.3333333333em 0 0;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .program-box .job {
    font-size: 15px;
  }
}
.program-box .profile {
  margin: 1.6666666667em 0 0;
  padding-top: 1.3333333333em;
  width: 100%;
  border-top: solid 1px #000;
  font-size: 16px;
}
@media print, screen and (max-width: 1180px) {
  .program-box .profile {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .program-box .profile {
    font-size: 15px;
  }
}

/* スタンプリスト */
.stamp-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 5em);
  grid-gap: 0.5555555556em;
  justify-content: center;
  margin: 1.1111111111em auto 0;
}
@media screen and (max-width: 767px) {
  .stamp-list {
    grid-template-columns: repeat(auto-fit, 76px);
    grid-gap: 6px;
  }
}
.stamp-list .stamp-box {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  background: #f2f2f2;
  position: relative;
}
.stamp-list .stamp-box .no {
  color: #ddd;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
@media print, screen and (max-width: 1180px) {
  .stamp-list .stamp-box .no {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .stamp-list .stamp-box .no {
    font-size: 19px;
  }
}
.stamp-list .stamp-box .point {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.25em;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  color: #ddd;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  .stamp-list .stamp-box .point {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .stamp-list .stamp-box .point {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .stamp-list .stamp-box .point {
    font-size: 13px;
  }
}
.stamp-list .stamp-box .point .smile {
  font-size: 14px;
}
@media print, screen and (max-width: 1180px) {
  .stamp-list .stamp-box .point .smile {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .stamp-list .stamp-box .point .smile {
    font-size: 13px;
  }
}
.stamp-list .stamp-box .point::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 2.0625em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_goal.png);
}
.stamp-list .stamp-box:not(.goal).get::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 3.6111111111em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_stamp.png);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.stamp-list .stamp-box.goal {
  background: #fcf9cf;
}
.stamp-list .stamp-box.goal.get .point {
  gap: 0.125em;
  width: calc(100% - 0.625em);
  border: solid 1px #000;
  background: #FFF;
  color: #000;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .stamp-list .stamp-box.goal.get .point {
    border-radius: 2px;
  }
}
.stamp-list .stamp-box.goal.get .point::before {
  width: 3.125em;
  background-image: url(../media/images/2025/common/icon_smile.svg);
}
.stamp-list .stamp-box.goal.get .point .smile {
  display: none;
}
.stamp-list.complete-list {
  padding: 0;
  border: 0;
}
.stamp-list.complete-list .stamp-box {
  background: #fcf9cf;
}
.stamp-list.complete-list .stamp-box:not(.goal).get::after {
  aspect-ratio: 216/200;
  width: 3.8888888889em;
  background-image: url(../media/images/2025/common/icon_completed_with_text.png);
}

/* =================================================================
 ヘッダー
================================================================= */
header {
  min-height: 5em;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  header {
    min-height: 70px;
  }
}
header .header-inner {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 0.6666666667em;
  padding: 0.9444444444em 1em 0.9444444444em 1.6666666667em;
  width: 100%;
  min-height: 5em;
  border-bottom: solid 1px #000;
  background: #FFF;
  position: relative;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  header .header-inner {
    padding: 12px 14px 12px 20px;
    min-height: 70px;
    background: transparent;
    border-color: transparent;
  }
}
header .header-inner:has(#menu.open) {
  border-bottom-color: transparent;
}
@media screen and (max-width: 767px) {
  header .header-inner:has(#menu.open) {
    background: #cfeaea !important;
  }
}
header .logo {
  margin: 0;
  position: relative;
  z-index: 10;
}
header .logo img {
  display: block;
  aspect-ratio: 364/24;
  width: 20.2222222222em;
  height: auto;
}
@media screen and (max-width: 767px) {
  header .logo img {
    width: 260px;
  }
}
header .site-menus {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.6666666667em;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  header .site-menus.pc .site-menu-button {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  header .site-menus.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  header .site-menus .site-menu-button {
    padding-left: 0.4em;
    padding-right: 0.4em;
    min-height: 40px;
    font-size: 11px;
    letter-spacing: 0.03em;
  }
}
header .menu-button {
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  margin-left: 0.2222222222em;
  width: 3.0555555556em;
  min-width: 3.0555555556em;
  height: 3.0555555556em;
  border: solid 1px #000;
  background: #d0eaea;
  border-radius: 50%;
  position: relative;
}
@media screen and (max-width: 767px) {
  header .menu-button {
    width: 45px;
    min-width: 45px;
    height: 45px;
  }
}
header .menu-button .bars {
  display: block;
  width: 1.3888888889em;
  height: 2px;
  background: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  header .menu-button .bars {
    width: 20px;
  }
}
header .menu-button .bars::before, header .menu-button .bars::after {
  content: "";
  display: block;
  width: 1.3888888889em;
  height: 2px;
  background: #000;
  position: absolute;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  header .menu-button .bars::before, header .menu-button .bars::after {
    width: 20px;
  }
}
header .menu-button .bars::before {
  top: calc(50% - 0.5555555556em);
  left: 50%;
}
header .menu-button .bars::after {
  top: calc(50% + 0.5555555556em);
  left: 50%;
}
header .menu-button.open {
  background: #FFF;
}
header .menu-button.open .bars {
  background: transparent;
}
header .menu-button.open .bars::before {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
header .menu-button.open .bars::after {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
header .site-menu-button {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0.1em 1em;
  min-height: 2.7777777778em;
  border: solid 2px #f28e00;
  background: #FFF;
  color: #f28e00;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  text-align: center;
  position: relative;
  border-radius: 4px;
}
@media print, screen and (max-width: 1180px) {
  header .site-menu-button {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  header .site-menu-button {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  header .site-menu-button {
    border-radius: 2px;
  }
}
header .site-menu-button.positive {
  border-color: #f28e00;
  background: #f28e00;
  color: #FFF;
}
header .site-menu-button.normal {
  border-color: #f28e00;
  background: #FFF;
  color: #f28e00;
}
header .site-menu-button.negative {
  border-color: #f28e00;
  background: #FFF;
  color: #f28e00;
}
header .site-menu-button.link, header .site-menu-button.next {
  gap: 0.75em;
}
header .site-menu-button.link::after, header .site-menu-button.next::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_next_positive_s.png);
}
header .site-menu-button.entry {
  gap: 0.6666666667em;
  padding-left: 0.3333333333em;
  padding-right: 0.6666666667em;
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  header .site-menu-button.entry {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  header .site-menu-button.entry {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  header .site-menu-button.entry {
    width: 100%;
    min-height: 60px;
    border: 0;
    font-size: 18px;
    position: fixed;
    left: 0;
    bottom: 0;
  }
  header .site-menu-button.entry::before {
    width: 35px;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 12px;
  }
  header .site-menu-button.entry:after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    aspect-ratio: 144/148;
    width: 72px;
    height: auto;
    background-image: url(../media/images/2025/common/img_illust_003_sp.png);
    position: absolute;
    right: 3px;
    bottom: 0;
  }
  header .site-menu-button.entry .text {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: center;
    gap: 12px;
  }
  header .site-menu-button.entry .text::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    aspect-ratio: 1;
    width: 25px;
    height: auto;
    background-image: url(../media/images/2025/common/icon_link_next_wht.png);
  }
}
header .site-menu-button.entry::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 2.2222222222em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_entry.png);
}
header .site-menu-button.login {
  font-size: 18px;
}
@media print, screen and (max-width: 1180px) {
  header .site-menu-button.login {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  header .site-menu-button.login {
    font-size: 16px;
  }
}
header .site-menu-button.login.link, header .site-menu-button.login.next {
  gap: 0.6666666667em;
}
header .site-menu-button.login.link::after, header .site-menu-button.login.next::after {
  width: 0.8888888889em;
}
header #menu {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.3333333333em;
  padding: 0 1.6666666667em 1.7777777778em 1.6666666667em;
  width: 100%;
  background: #FFF;
  border-radius: 0 0 30px 30px;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translate(0, -100%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  header #menu {
    border-radius: 0 0 15px 15px;
  }
}
@media screen and (max-width: 767px) {
  header #menu {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: flex-start;
    height: 100vh;
    padding: 70px 20px 100px;
    background: #cfeaea;
    overflow-y: auto;
    overscroll-behavior: none;
    border-radius: 0;
    transform: none;
    z-index: 1;
  }
}
header #menu.open {
  opacity: 1;
  visibility: visible;
  top: 90px;
  transform: translate(0, 0);
}
@media print, screen and (max-width: 1180px) {
  header #menu.open {
    top: 80px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.open {
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  header #menu .site-menus {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: flex-start;
    margin-top: 32px;
  }
}
@media screen and (max-width: 767px) {
  header #menu .site-menu-button:not(.entry) {
    width: 295px;
    min-height: 50px;
    padding: 0.5em 1.5em;
    border-width: 1px;
    font-size: 14px;
  }
}
header .gnav {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.8888888889em;
}
@media screen and (max-width: 767px) {
  header .gnav {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 0;
    padding: 0 20px;
    width: 100%;
    background: #FFF;
    border-radius: 15px;
  }
}
@media screen and (max-width: 767px) {
  header .gnav .menu-link {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  header .gnav .menu-link:first-child a {
    border: 0;
  }
}
header .gnav .menu-link a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.4444444444em;
  padding: 0.1em 0.8888em;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 2.7777777778em;
  border: solid 2px #f28e00;
  background: #FFF;
  color: #f28e00;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  border-radius: 999px;
  position: relative;
}
@media screen and (max-width: 767px) {
  header .gnav .menu-link a {
    border: 0;
    border-top: solid 1px #f28e00;
    width: 100%;
    min-height: 55px;
    font-size: 15px;
    border-radius: 0;
  }
}
header .gnav .menu-link a.link::after, header .gnav .menu-link a.next::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  margin-left: 0.1111111111em;
  width: 0.8888888889em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_next_positive_s.png);
}
@media screen and (max-width: 767px) {
  header .gnav .menu-link a.link::after, header .gnav .menu-link a.next::after {
    content: none;
  }
}
header .gnav .menu-link a.inpage::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 17/10;
  width: 0.9444444444em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_btn_inpage_s.png);
}
@media screen and (max-width: 767px) {
  header .gnav .menu-link a.inpage::after {
    content: none;
  }
}
header.fixed .header-inner {
  position: fixed;
  top: 0;
  left: 0;
  animation: slideDown 0.5s ease-in-out;
}
@media screen and (max-width: 767px) {
  header.fixed .header-inner {
    border-color: #000;
    background: #FFF;
  }
}
header .header-inner:has(#menu.open.logged-in) {
  background: #d0eaea;
}
header #menu.logged-in {
  display: block;
  padding: 1.1111111111em 40px 3.3333333333em;
  width: 100%;
  height: calc(100% - 90px);
  background: #d0eaea;
  border-radius: 0;
  position: fixed;
  top: 90px;
  left: 0;
  transform: none;
  overflow-y: auto;
}
@-moz-document url-prefix() {
  header #menu.logged-in {
    scrollbar-width: 0.3333333333em;
    scrollbar-color: #aaa #f2f2f2;
  }
}
header #menu.logged-in::-webkit-scrollbar {
  background: #f2f2f2;
  width: 0.3333333333em;
  border-radius: 999px;
}
header #menu.logged-in::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 999px;
}
@media print, screen and (max-width: 1180px) {
  header #menu.logged-in {
    padding-left: 40px;
    padding-right: 40px;
    height: calc(100% - 80px);
    top: 80px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.logged-in {
    padding-left: 20px;
    padding-right: 20px;
    height: calc(100% - 70px + 1px);
    top: 69px;
  }
}
header #menu.logged-in .menu-list-wrap {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 1.1111111111em;
  margin: 0 auto;
  max-width: 1060px;
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .menu-list-wrap {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: flex-start;
  }
}
header #menu.logged-in .menu-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.1111111111em;
  width: 100%;
}
header #menu.logged-in .menu-list .menu-box {
  width: 100%;
}
header #menu.logged-in .menu-list-button {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 0.8333333333em;
  padding: 0.8333333333em 1.1111111111em;
  min-height: 3.3333333333em;
  background: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  border: solid 1px #000;
  border-radius: 10px;
}
@media print, screen and (max-width: 1180px) {
  header #menu.logged-in .menu-list-button {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .menu-list-button {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .menu-list-button {
    border-radius: 5px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .menu-list-button {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 15px;
  }
}
header #menu.logged-in .menu-list-button.next::after, header #menu.logged-in .menu-list-button.link::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.6em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next.png);
}
header #menu.logged-in .menu-list-button.external::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.6em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_external.png);
}
header #menu.logged-in .menu-list-button.modal::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  min-width: 1.6em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_modal.png);
}
header #menu.logged-in .link-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.3333333333em;
}
header #menu.logged-in .menu-link {
  display: inline-block;
  padding-left: calc(0.625em + 0.4375em);
  font-size: 16px;
  text-decoration: none;
  position: relative;
}
@media print, screen and (max-width: 1180px) {
  header #menu.logged-in .menu-link {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .menu-link {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .menu-link {
    font-size: 14px;
  }
}
header #menu.logged-in .menu-link::before {
  content: "";
  display: block;
  width: 0.625em;
  height: 2px;
  background: #ccc;
  position: absolute;
  top: calc(1em - 2px);
  left: 0;
}
header #menu.logged-in .menu-link.next::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-left: 0.5em;
  aspect-ratio: 14/25;
  width: 0.4375em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_text_link_default.png);
}
header #menu.logged-in .menu-link.external::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-left: 0.5em;
  aspect-ratio: 1;
  width: 0.8125em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_text_link_external.png);
  position: relative;
  top: 0.01em;
}
header #menu.logged-in .menu-link.modal::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  margin-left: 0.5em;
  aspect-ratio: 30/26;
  width: 0.9375em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_text_link_modal.png);
}
header #menu.logged-in .hierarchical-menu .menu-list-button {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
header #menu.logged-in .hierarchical-menu dd {
  padding: 0.7777777778em 1.3888888889em 0.8888888889em;
  border: solid 1px #000;
  border-top-width: 0;
  background: #f2f2f2;
  border-radius: 0 0 10px 10px;
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .hierarchical-menu dd {
    border-radius: 0 0 5px 5px;
  }
}
@media screen and (max-width: 767px) {
  header #menu.logged-in .hierarchical-menu dd {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 18px;
  }
}

@keyframes slideUp {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@media screen and (max-width: 767px) {
  body:not(:has(.page-title-wrap)) header .header-inner {
    background: #d0eaea;
  }
}
@media screen and (max-width: 767px) {
  body:not(:has(.page-title-wrap)) header.fixed .header-inner {
    background: #FFF;
  }
}

/* =================================================================
 フッター
================================================================= */
footer {
  padding: 2em 0 1.5555555556em;
  background: #fcf9cf;
  border: solid 1px #000;
  border-width: 1px 0 0 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  footer {
    padding: 15px 0;
  }
}
footer .footer-inner {
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  max-width: 1180px;
}
@media print, screen and (max-width: 1180px) {
  footer .footer-inner {
    padding: 0 40px;
    max-width: 1180px;
  }
}
@media screen and (max-width: 767px) {
  footer .footer-inner {
    padding: 0 20px;
  }
}
footer .company {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.8333333333em;
  text-align: center;
}
footer .company dt img {
  display: block;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  footer .company dt img {
    max-width: 295px;
  }
}
footer .company dd {
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  footer .company dd {
    font-size: 0.75em;
    line-height: 1.75;
    letter-spacing: 0;
  }
}
footer .copyright {
  margin-top: 1.9166666667em;
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
}
@media print, screen and (max-width: 1180px) {
  footer .copyright {
    font-size: 11px;
  }
}
@media screen and (max-width: 767px) {
  footer .copyright {
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  footer .copyright {
    font-size: 9px;
    letter-spacing: 0.03em;
  }
}

/* スクロール追従ブロック
-------------------------------------------------------------*/
.fixed-box {
  position: fixed;
  right: 1.1111111111em;
  bottom: 2.2222222222em;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .fixed-box {
    right: 0;
    bottom: 20px;
  }
}
.fixed-box.un-fixed {
  position: absolute;
  top: -2.2222222222em;
  right: 1.1111111111em;
  bottom: auto;
  transform: translate(0, -100%);
}
@media screen and (max-width: 767px) {
  .fixed-box.un-fixed {
    right: 0;
    top: -20px;
  }
}
.fixed-box .entry-btn {
  display: block;
  display: flex;
  align-items: stretch;
  flex-flow: column nowrap;
  justify-content: flex-start;
  aspect-ratio: 1;
  width: 8.8888888889em;
  height: auto;
  border: solid 2px #000;
  background: #FFF;
  text-decoration: none;
  border-radius: 4px;
  box-shadow: -0.3333333333em 0.3333333333em 0 #f28e00;
}
@media screen and (max-width: 767px) {
  .fixed-box .entry-btn {
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-box .entry-btn {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 6px;
    width: 110px;
    height: auto;
    border: 0;
    background: #f28e00;
    border-radius: 7px 0 0 7px;
    box-shadow: none;
  }
  .fixed-box .entry-btn::before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    aspect-ratio: 1;
    width: 37px;
    height: auto;
    background-image: url(../media/images/2025/common/icon_btn_entry.png);
  }
}
.fixed-box .entry-btn .illust {
  flex: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .fixed-box .entry-btn .illust {
    display: none;
  }
}
.fixed-box .entry-btn .illust::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 3.7222222222em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_fixed_btn_entry.png);
  position: absolute;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.7777777778em;
}
.fixed-box .entry-btn .illust::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 99/108;
  width: 5.5em;
  height: auto;
  background-image: url(../media/images/2025/common/img_illust_003.png);
  position: absolute;
  bottom: 0;
  left: 0.3333333333em;
}
.fixed-box .entry-btn .text {
  padding: 0.3888888889em 0;
  background: #f28e00;
  color: #FFF;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .fixed-box .entry-btn .text {
    padding: 0;
    background: none;
    font-size: 15px;
  }
}
.fixed-box .entry-btn .text::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: inline-block;
  aspect-ratio: 1;
  width: 1.1666666667em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_fixed_btn_next.png);
  position: relative;
  top: 0.2222222222em;
}
@media screen and (max-width: 767px) {
  .fixed-box .entry-btn .text::after {
    content: none;
  }
}
.fixed-box:has(.guide-btn) {
  right: 0;
}
.fixed-box .guide-btn {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: flex-start;
  aspect-ratio: 1;
  width: 8.3333333333em;
  border: solid 1px #000;
  border-width: 2px 0 2px 2px;
  background: #f28e00;
  text-decoration: none;
  border-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .fixed-box .guide-btn {
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-box .guide-btn {
    aspect-ratio: 112/106;
    width: 112px;
    border-width: 1px 0 1px 1px;
  }
}
.fixed-box .guide-btn .page-name {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.2em;
  width: 100%;
  min-height: 2.5em;
  font-size: 20px;
  font-weight: 700;
  background: #FFF;
  text-align: center;
  line-height: 1;
}
@media print, screen and (max-width: 1180px) {
  .fixed-box .guide-btn .page-name {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-box .guide-btn .page-name {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-box .guide-btn .page-name {
    min-height: 36px;
    font-size: 15px;
  }
}
.fixed-box .guide-btn .page-name::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.05em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_link_next_blk.png);
  position: relative;
  top: 0.05em;
}
@media print, screen and (max-width: 1180px) {
  .fixed-box .guide-btn .page-name::after {
    top: 0.1em;
  }
}
.fixed-box .guide-btn .page-info {
  flex: 1;
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.5em;
  padding-bottom: 0.25em;
  font-size: 16px;
  font-weight: 700;
  color: #FFF;
  line-height: 1.3;
}
@media print, screen and (max-width: 1180px) {
  .fixed-box .guide-btn .page-info {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-box .guide-btn .page-info {
    font-size: 15px;
  }
}
@media print, screen and (max-width: 1180px) {
  .fixed-box .guide-btn .page-info {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-box .guide-btn .page-info {
    padding-bottom: 0;
    font-size: 12px;
  }
}
.fixed-box .guide-btn .page-info::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 3.0625em;
  height: auto;
  background-image: url(../media/images/2025/common/icon_qr.png);
}
@media screen and (max-width: 767px) {
  .fixed-box .guide-btn .page-info::after {
    width: 32px;
  }
}