@charset "UTF-8";
/* --------------------------------------------------
* top
*/
#top .section {
  padding-block: clamp(56px, 56px + (80 - 56) * (100vw - 375px) / (767 - 375), 80px);
}
#top .section-head {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
#top .section-head-en {
  font-size: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#top .section-head-ja {
  font-size: clamp(14px, 14px + (24 - 14) * (100vw - 375px) / (767 - 375), 24px);
}
#top .top-news {
  gap: clamp(10px, 10px + (18 - 10) * (100vw - 375px) / (767 - 375), 18px);
  padding: clamp(6px, 6px + (10 - 6) * (100vw - 375px) / (767 - 375), 10px) clamp(10px, 10px + (16 - 10) * (100vw - 375px) / (767 - 375), 16px);
  border-radius: 4px;
  padding-right: clamp(56px, 56px + (80 - 56) * (100vw - 375px) / (767 - 375), 80px);
  z-index: 1980;
}
#top .top-news::before {
  position: absolute;
  content: "";
  width: 36px;
  height: 100%;
  background-color: var(--primary-color);
  top: 0;
  right: 0;
  border-radius: 0 6px 6px 0;
  transition: background-color 0.3s ease-in-out, border-left 0.3s ease-in-out;
  border-left: 1px solid rgba(245, 245, 245, 0.8);
}
#top .top-news::after {
  position: absolute;
  content: "";
  width: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / (767 - 375), 18px);
  height: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / (767 - 375), 18px);
  background: url("/assets/img/common/icon_arrow_black.svg") no-repeat center;
  background-size: 100% auto;
  top: 50%;
  right: 4%;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
}
#top .top-news .news-cate {
  font-size: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / (767 - 375), 8px);
  color: var(--base-inverse);
  border-radius: 120px;
  background: var(--base-color);
  display: inline-block;
  padding: 4px clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (767 - 375), 12px);
  margin-left: 0;
  white-space: nowrap;
}
#top .top-news .news-date {
  font-size: clamp(7px, 7px + (10 - 7) * (100vw - 375px) / (767 - 375), 10px);
  display: inline-block;
  margin-left: 0;
  white-space: nowrap;
}
#top .top-news .news-title {
  font-size: clamp(11px, 11px + (13 - 11) * (100vw - 375px) / (767 - 375), 13px);
  font-weight: var(--font-weight-bold);
  margin-left: 0;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  margin-top: clamp(-1px, -1px + (-3 - -1) * (100vw - 375px) / (767 - 375), -3px);
}
@media screen and (min-width: 768px) {
  #top .top-news:hover {
    color: var(--base-inverse);
    background-color: var(--base-color);
  }
  #top .top-news:hover .news-cate {
    color: var(--base-color);
    background-color: var(--base-inverse);
  }
  #top .top-news:hover::before {
    background-color: var(--base-color);
    border-left: 1px solid var(--base-inverse);
  }
  #top .top-news:hover::after {
    background: url("/assets/img/common/icon_arrow_yellow.svg") no-repeat center;
    background-size: 100% auto;
  }
}
#top .fv-news {
  top: 24px;
  left: 24px;
}
#top .fv-news .button-text {
  padding-inline: 12px;
}
#top .fv-news .news-cate {
  font-size: 8px;
}
#top .fv-news .news-date {
  font-size: 10px;
  margin-left: 10px;
}
#top .fv-news .news-title {
  margin-left: 8px;
  font-size: 14px;
}
#top .fv-news .button-icon {
  width: 48px;
  height: 48px;
}
#top .fv-news .button-icon::before {
  left: 16px;
  width: 14.984px;
  height: 12.264px;
}
#top .fv picture img {
  object-position: right center;
}
#top .fv-logo {
  background: url("/assets/img/top/logo_bg_sp.png") no-repeat center;
  background-size: 100% auto;
}
#top .fv-logo-ja {
  width: 80%;
}
#top .fv-logo-inner {
  flex-direction: column-reverse;
}
#top .intro {
  padding-block: 64px;
  gap: clamp(48px, 48px + (64 - 48) * (100vw - 375px) / (767 - 375), 64px);
}
#top .intro-head {
  flex-direction: column;
  gap: clamp(48px, 48px + (64 - 48) * (100vw - 375px) / (767 - 375), 64px);
}
#top .intro-lead {
  font-size: 34px;
  width: 100%;
}
#top .intro-desc {
  width: 100%;
}
#top .intro-text {
  text-align: left;
  line-height: 2;
  font-size: clamp(13px, 13px + (16 - 13) * (100vw - 375px) / (767 - 375), 16px);
}
#top .slider-item {
  padding-block: 14px;
  padding-inline: 16px;
}
#top .slider-item img {
  height: 56px;
}
#top .slider-item-text {
  font-size: 28px;
}
#top .about-head {
  padding: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / (767 - 375), 48px);
  flex-direction: column-reverse;
}
#top .profile {
  width: 100%;
  padding-block: clamp(24px, 24px + (64 - 24) * (100vw - 375px) / (767 - 375), 64px);
  gap: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / (767 - 375), 32px);
}
#top .profile-label {
  font-size: 32px;
}
#top .profile-lead {
  font-size: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / (767 - 375), 32px);
}
#top .profile-img {
  width: 100%;
}
#top .works {
  grid-template-columns: repeat(1, 1fr);
}
#top .work {
  padding-block: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / (767 - 375), 48px);
}
#top .work:not(:last-child) {
  border-right: 0;
  border-bottom: 1px solid var(--base-color);
}
#top .work-head {
  width: 100%;
  padding-inline: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#top .work-title {
  font-size: clamp(18px, 18px + (22 - 18) * (100vw - 375px) / (767 - 375), 22px);
}
#top .work-desc {
  width: 100%;
  padding-inline: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
  font-size: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / (767 - 375), 16px);
}
#top .work-img {
  width: clamp(200px, 200px + (320 - 200) * (100vw - 375px) / (767 - 375), 320px);
}
#top .sponsor-list {
  grid-template-columns: repeat(1, 1fr);
  margin-top: clamp(48px, 48px + (56 - 48) * (100vw - 375px) / (767 - 375), 56px);
}
#top .sponsor-body {
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (767 - 375), 12px);
}
#top .sponsor-desc {
  line-height: 1.8;
  font-size: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / (767 - 375), 14px);
}
#top .news-item.is-notfound {
  font-size: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / (767 - 375), 20px);
}
#top .news-item a {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding-block: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
  padding-left: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#top .news-item a:before {
  width: clamp(64px, 64px + (100 - 64) * (100vw - 375px) / (767 - 375), 100px);
}
#top .news-item a::after {
  width: clamp(16.41px, 16.41px + (21.97 - 16.41) * (100vw - 375px) / (767 - 375), 21.97px);
  height: clamp(13.68px, 13.68px + (20.25 - 13.68) * (100vw - 375px) / (767 - 375), 20.25px);
  right: 5.4%;
}
#top .news-meta {
  gap: 8px;
}
#top .news-cate {
  margin-left: 0;
  padding-inline: clamp(12px, 12px + (20 - 12) * (100vw - 375px) / (767 - 375), 20px);
}
#top .news-date {
  margin-left: 0;
}
#top .news-title {
  margin-left: 0;
}
#top .brand-body {
  margin-top: clamp(56px, 56px + (80 - 56) * (100vw - 375px) / (767 - 375), 80px);
}
#top .brand-label {
  bottom: 0;
  transform: translateY(50%);
  padding-inline: 0;
}
#top .brand-logo {
  width: clamp(192px, 192px + (240 - 192) * (100vw - 375px) / (767 - 375), 240px);
}
#top .service.section {
  padding-bottom: clamp(56px, 56px + (80 - 56) * (100vw - 375px) / (767 - 375), 80px);
}
#top .service-head {
  font-size: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#top .service-content {
  margin-top: clamp(32px, 32px + (56 - 32) * (100vw - 375px) / (767 - 375), 56px);
}
#top .section-label.is-brand {
  left: 0;
  bottom: 0;
  transform: translate(0, 0);
}
#top .section-label-text {
  font-size: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / (767 - 375), 64px);
  padding-inline: 16px;
}
#top .section-label-text.is-brand {
  font-size: clamp(40px, 40px + (56 - 40) * (100vw - 375px) / (767 - 375), 56px);
}
#top .service-lead {
  padding-left: clamp(84px, 84px + (156 - 84) * (100vw - 375px) / (767 - 375), 156px);
}
#top .service-lead {
  padding-left: 84px;
}
#top .service-lead.is-community {
  left: 0;
  padding-left: 0;
}
#top .service-lead-num {
  position: absolute;
  transform: translateY(-50%);
  line-height: 1;
  top: 0;
  left: 20px;
  font-size: clamp(56px, 56px + (112 - 56) * (100vw - 375px) / (767 - 375), 112px);
}
#top .service-lead-num.is-community {
  right: 0;
  text-align: right;
}
#top .service-lead-text {
  font-size: clamp(24px, 24px + (28 - 24) * (100vw - 375px) / (767 - 375), 28px);
}
#top .service-label-text {
  font-size: 20px;
}
#top .service-list {
  flex-direction: column;
  margin-top: 64px;
}
#top .service-item {
  width: 100%;
}
#top .service-content:last-child {
  margin-top: clamp(80px, 80px + (120 - 80) * (100vw - 375px) / (767 - 375), 120px);
}
#top .brand-inner {
  flex-direction: column;
}
#top .brand-image {
  width: 100%;
}
#top .brand-body {
  width: 100%;
  padding-inline: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
  gap: 0;
  margin-top: 0;
}
#top .brand-body-inner {
  position: relative;
  top: 0;
  left: 0;
  transform: none;
  padding-block: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / (767 - 375), 64px);
}

.js-scroll-trigger {
  opacity: 0;
  transition: opacity 0.01s;
}

.js-scroll-trigger.is-animated {
  opacity: 1;
}

.anim-text-reveal .char-wrap span {
  display: inline-block;
  opacity: 0;
  transform: translateY(2px);
}

@keyframes slideUpIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.anim-text-reveal.is-animated .char-wrap span {
  animation: slideUpIn 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.anim-bg-fill {
  position: relative;
  background-color: transparent !important;
}
.anim-bg-fill::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.anim-bg-fill.is-kv::before {
  background-color: var(--accent-color-or);
  transform: translateX(-100%);
}
.anim-bg-fill.is-kv.is-animated::before {
  animation: BgRevisedRight 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.anim-bg-fill.is-method::before {
  background-color: var(--accent-color-bl);
  transform: translateX(100%);
}
.anim-bg-fill.is-method.is-animated::before {
  animation: BgRevisedLeft 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.anim-bg-fill.is-community::before {
  background-color: var(--accent-color-or);
  transform: translateX(-100%);
}
.anim-bg-fill.is-community.is-animated::before {
  animation: BgRevisedRight 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.anim-bg-fill .text-content {
  position: relative;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
}

@keyframes BgRevisedRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes BgRevisedLeft {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes fadeInText {
  to {
    opacity: 1;
    visibility: visible;
  }
}
.anim-bg-fill.is-animated::before {
  animation: BgRevisedRight 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.anim-bg-fill.is-animated::before {
  animation: BgRevisedLeft 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.anim-bg-fill.is-animated .text-content {
  animation: fadeInText 0.1s linear 0.4s forwards;
}

.anim-image-sweep {
  position: relative;
  overflow: hidden;
}

.anim-image-sweep img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
}

.anim-image-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--base-color);
  transform: translateX(0);
  z-index: 2;
  overflow: hidden;
}
.anim-image-mask.is-fv {
  background-color: var(--base-inverse);
}

@keyframes maskSweep {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(101%);
  }
}
@keyframes maskSweepReversed {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes imageSlideIn {
  to {
    opacity: 1;
  }
}
.anim-image-sweep.is-animated .anim-image-mask {
  animation: maskSweep 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.anim-image-sweep.is-animated .anim-image-mask.is-fv {
  animation: maskSweepReversed 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.anim-image-sweep.is-animated img {
  animation: imageSlideIn 0.3s ease-in-out 0.4s forwards;
}

.fv-logo-ja,
.fv-logo-en {
  position: relative;
  overflow: hidden;
}

.fv-logo-ja::before,
.fv-logo-en::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: var(--base-inverse);
  animation-name: slide-mask;
  animation-duration: 0.8s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: 0.4s;
}

@keyframes slide-mask {
  0% {
    transform: translateX(0);
    width: 100%;
  }
  99% {
    transform: translateX(0);
    width: 0;
  }
  100% {
    transform: translateX(0);
    width: 0;
    visibility: hidden;
  }
}
#training-session .page-header {
  padding-block: clamp(80px, 80px + (160 - 80) * (100vw - 375px) / (767 - 375), 160px) 64px;
}
#training-session .header-title {
  width: clamp(260px, 260px + (320 - 260) * (100vw - 375px) / (767 - 375), 320px);
}
#training-session .header-title-image {
  width: clamp(260px, 260px + (320 - 260) * (100vw - 375px) / (767 - 375), 320px);
}
#training-session .header-slider {
  margin-top: clamp(24px, 24px + (56 - 24) * (100vw - 375px) / (767 - 375), 56px);
}
#training-session .header-sns {
  margin-top: clamp(40px, 40px + (80 - 40) * (100vw - 375px) / (767 - 375), 80px);
}
#training-session .header-title-ja {
  font-size: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / (767 - 375), 18px);
  font-family: var(--font-weight-black);
  margin-top: 0;
}
#training-session .section {
  flex-direction: column;
  gap: 40px;
}
#training-session .section-head {
  width: 100%;
  padding-top: 56px;
  padding-inline: clamp(24px, 24px + (64 - 24) * (100vw - 375px) / (767 - 375), 64px);
}
#training-session .section-body {
  width: 100%;
}
#training-session .summary-body {
  border-top: 1px solid var(--base-color);
  border-left: none;
}
#training-session .cta.section {
  border-top: none;
}
#training-session .cta-body {
  padding-block: 0 100px;
  padding-inline: clamp(24px, 24px + (64 - 24) * (100vw - 375px) / (767 - 375), 64px);
  display: grid;
  row-gap: clamp(40px, 40px + (64 - 40) * (100vw - 375px) / (767 - 375), 64px);
}
#training-session .cta-text {
  font-size: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / (767 - 375), 16px);
}
#training-session .accordion-question {
  padding-right: 16px;
}
#training-session .accordion-block {
  padding-inline: 0;
}
#training-session .accordion-postscript {
  padding-inline: 0;
}
#training-session .trc-banner {
  padding-top: fluidSize(40, 56);
}

#trc .inner {
  padding-inline: clamp(20px, 20px + (40 - 20) * (100vw - 375px) / (767 - 375), 40px);
}
#trc .trc-hero {
  background: url("/assets/img/trc/hero_img_sp.webp") no-repeat center;
  background-size: 100% auto;
  aspect-ratio: 376/572;
}
#trc .trc-hero-logo {
  width: clamp(188px, 188px + (240 - 188) * (100vw - 375px) / (767 - 375), 240px);
  top: clamp(120px, 120px + (240 - 120) * (100vw - 375px) / (767 - 375), 240px);
  left: clamp(32px, 32px + (100 - 32) * (100vw - 375px) / (767 - 375), 100px);
}
@media screen and (max-width: 374px) {
  #trc .trc-hero-logo {
    width: 120px;
    top: 80px;
    left: 16px;
  }
}
#trc .trc-hero-lead {
  width: clamp(112px, 112px + (140 - 112) * (100vw - 375px) / (767 - 375), 140px);
  top: clamp(200px, 200px + (340 - 200) * (100vw - 375px) / (767 - 375), 340px);
  left: clamp(240px, 240px + (360 - 240) * (100vw - 375px) / (767 - 375), 360px);
}
@media screen and (max-width: 374px) {
  #trc .trc-hero-lead {
    width: 72px;
    top: 120px;
    left: 148px;
  }
}
#trc .trc-about {
  padding-block: clamp(24px, 24px + (80 - 24) * (100vw - 375px) / (767 - 375), 80px) clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#trc .about-title {
  text-align: center;
  font-size: clamp(44px, 44px + (64 - 44) * (100vw - 375px) / (767 - 375), 64px);
}
#trc .about-desc {
  font-size: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / (767 - 375), 16px);
  letter-spacing: 0.64px;
  margin-top: clamp(4px, 4px + (24 - 4) * (100vw - 375px) / (767 - 375), 24px);
}
#trc .about-body {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#trc .trc-benefit {
  padding-top: clamp(24px, 24px + (64 - 24) * (100vw - 375px) / (767 - 375), 64px);
}
#trc .trc-benefit-top::after {
  display: none;
}
#trc .trc-benefit-top .member-benefit {
  padding-block: clamp(48px, 48px + (64 - 48) * (100vw - 375px) / (767 - 375), 64px);
}
#trc .trc-benefit-top .member-benefit .member-benefit-content {
  width: 100%;
}
#trc .trc-benefit-top .member-benefit .member-benefit-image.is-pc {
  display: none;
}
#trc .trc-benefit-top .member-benefit .member-benefit-image.is-tab {
  display: block;
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#trc .member-benefit-label {
  font-weight: var(--font-weight-bold);
}
#trc .member-benefit-list {
  margin-top: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / (767 - 375), 48px);
}
#trc .member-benefit-item::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url("/assets/img/trc/icon_dot_orange.svg") no-repeat center;
  background-size: 100% auto;
}
#trc .member-benefit-item:first-child::before {
  top: 32%;
}
#trc .trc-benefit-bottom {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(1, auto);
  border: none;
}
#trc .trc-benefit-bottom .member-benefit .member-benefit-content {
  width: 100%;
}
#trc .trc-benefit-bottom .member-benefit .member-benefit-image {
  width: 100%;
}
#trc .trc-benefit-bottom .member-benefit .member-benefit-image.is-pc {
  display: none;
}
#trc .trc-benefit-bottom .member-benefit .member-benefit-image.is-tab {
  display: block;
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#trc .trc-benefit-bottom .member-benefit:nth-child(odd) {
  border-right: none;
}
#trc .member-benefit-title.is-top {
  flex-direction: column;
  padding-left: 0;
}
#trc .member-benefit-text {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / (767 - 375), 32px);
  font-size: 13px;
}
#trc .member-benefit-price {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / (767 - 375), 16px);
  width: 100%;
}
#trc .trc-highlight {
  flex-direction: column-reverse;
  padding-block: clamp(48px, 48px + (64 - 48) * (100vw - 375px) / (767 - 375), 64px);
}
#trc .trc-highlight-inner {
  display: block;
}
#trc .trc-highlight-body {
  position: relative;
  width: 100%;
}
#trc .trc-highlight-image {
  width: 100%;
  padding-block: 0;
}
#trc .trc-highlight-image.is-tab {
  display: block;
  width: 100%;
}
#trc .trc-highlight-image.is-pc {
  display: none;
}
#trc .trc-highlight-icon {
  padding-left: 64px;
}
#trc .trc-highlight-icon::before {
  width: 45.5px;
  height: 37.94px;
}
#trc .trc-highlight-title {
  font-size: clamp(18px, 18px + (21 - 18) * (100vw - 375px) / (767 - 375), 21px);
}
#trc .trc-banner-link {
  margin-bottom: 64px;
}
#trc .trc-cta {
  padding-block: clamp(48px, 48px + (64 - 48) * (100vw - 375px) / (767 - 375), 64px);
  padding-inline: clamp(20px, 20px + (40 - 20) * (100vw - 375px) / (767 - 375), 40px);
}
#trc .trc-cta-inner {
  flex-direction: column-reverse;
  padding: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / (767 - 375), 24px);
}
#trc .cta-content,
#trc .cta-image {
  width: 100%;
}
#trc .cta-content {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / (767 - 375), 40px);
}
#trc .cta-head {
  font-size: clamp(12px, 12px + (18 - 12) * (100vw - 375px) / (767 - 375), 18px);
}
#trc .cta-price {
  width: clamp(210px, 210px + (420 - 210) * (100vw - 375px) / (767 - 375), 420px);
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / (767 - 375), 8px);
}
#trc .cta-detail-item {
  font-size: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / (767 - 375), 16px);
}
#trc .cta-button {
  width: 100%;
}
#trc .cta-button .button-text {
  margin-inline: auto;
  padding-inline: clamp(8px, 8px + (20 - 8) * (100vw - 375px) / (767 - 375), 20px);
}
#trc .cta-button .button-icon {
  width: 56px;
  height: 56px;
}
#trc .cta-button .button-icon::before {
  left: 35%;
}
#trc .section {
  flex-direction: column;
  gap: 40px;
}
#trc .summary {
  border-bottom: none;
  margin-bottom: 0;
}
#trc .section-head {
  width: 100%;
  padding-top: 64px;
  padding-inline: clamp(24px, 24px + (64 - 24) * (100vw - 375px) / (767 - 375), 64px);
}
#trc .section-body {
  width: 100%;
}
#trc .summary-body {
  border-top: 1px solid #414141;
  border-left: none;
  padding-bottom: 64px;
}
#trc .accordion:last-child {
  border-bottom: 1px solid #414141;
}
#trc .accordion-question {
  padding-right: 16px;
}
#trc .contact {
  margin-top: -1.6px;
}

#news .page-subtitle {
  font-size: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / (767 - 375), 48px);
}
#news .page-title {
  font-size: clamp(16px, 16px + (22 - 16) * (100vw - 375px) / (767 - 375), 22px);
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / (767 - 375), 8px);
  margin-left: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / (767 - 375), 8px);
}
#news .news-wrap {
  flex-direction: column;
  gap: clamp(56px, 56px + (80 - 56) * (100vw - 375px) / (767 - 375), 80px);
  padding-block: clamp(120px, 120px + (180 - 120) * (100vw - 375px) / (767 - 375), 180px) clamp(96px, 96px + (180 - 96) * (100vw - 375px) / (767 - 375), 180px);
}
#news .news-article {
  grid-template-columns: repeat(1, 1fr);
  gap: 64px 24px;
}
#news .article-thumbnail {
  width: 100%;
}
#news .article-item a {
  flex-direction: column;
}

#contact .page-subtitle {
  font-size: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / (767 - 375), 48px);
}
#contact .page-title {
  font-size: clamp(16px, 16px + (22 - 16) * (100vw - 375px) / (767 - 375), 22px);
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / (767 - 375), 8px);
  margin-left: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / (767 - 375), 8px);
}
#contact .contact-wrap {
  flex-direction: column;
  padding-block: clamp(120px, 120px + (180 - 120) * (100vw - 375px) / (767 - 375), 180px) clamp(96px, 96px + (180 - 96) * (100vw - 375px) / (767 - 375), 180px);
  gap: clamp(48px, 48px + (80 - 48) * (100vw - 375px) / (767 - 375), 80px);
}
#contact .contact-container {
  max-width: 100%;
}
#contact .wpcf7-form-control {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 12px;
}
#contact .wpcf7-form-control .wpcf7-list-item {
  padding-inline: 0;
  padding-block: 16px;
}
#contact .wpcf7-form-control.wpcf7-radio {
  flex-direction: column;
}
#contact .wpcf7-submit {
  font-size: clamp(16px, 16px + (18 - 16) * (100vw - 375px) / (767 - 375), 18px);
  padding-block: 16px;
}
#contact .form-container {
  margin-top: clamp(24px, 24px + (50 - 24) * (100vw - 375px) / (767 - 375), 50px);
}
#contact .form-group:not(:first-child) {
  margin-top: clamp(40px, 40px + (56 - 40) * (100vw - 375px) / (767 - 375), 56px);
}
#contact .form-submit {
  margin-top: clamp(40px, 40px + (56 - 40) * (100vw - 375px) / (767 - 375), 56px);
}
#contact .form-notice {
  font-size: clamp(13px, 13px + (16 - 13) * (100vw - 375px) / (767 - 375), 16px);
  letter-spacing: -0.01em;
}
#contact .wpcf7-list-item-label {
  font-size: clamp(11px, 11px + (13 - 11) * (100vw - 375px) / (767 - 375), 13px);
}
#contact .wpcf7 input[type=checkbox] {
  margin-right: clamp(6px, 6px + (10 - 6) * (100vw - 375px) / (767 - 375), 10px);
}

#news.entry-single .article-label-en {
  font-size: clamp(18px, 18px + (28 - 18) * (100vw - 375px) / (767 - 375), 28px);
}
#news.entry-single .article-label-ja {
  font-size: clamp(14px, 14px + (20 - 14) * (100vw - 375px) / (767 - 375), 20px);
}
#news.entry-single .article-time {
  font-size: clamp(14px, 14px + (20 - 14) * (100vw - 375px) / (767 - 375), 20px);
  font-weight: var(--font-weight-bold);
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / (767 - 375), 24px);
}
#news.entry-single .article-title {
  font-size: clamp(18px, 18px + (24 - 18) * (100vw - 375px) / (767 - 375), 24px);
  font-weight: var(--font-weight-black);
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / (767 - 375), 12px);
}
#news.entry-single .article-content {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / (767 - 375), 40px);
  font-size: clamp(13px, 13px + (16 - 13) * (100vw - 375px) / (767 - 375), 16px);
  line-height: 1.7;
  letter-spacing: 0.48px;
}
#news.entry-single .article-button-back {
  text-align: center;
  margin-block: 80px 160px;
}
#news.entry-single .article-button-back a {
  display: block;
  font-size: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / (767 - 375), 18px);
  font-weight: var(--font-weight-black);
  color: var(--base-inverse);
  max-width: 200px;
  width: 100%;
  border-radius: 6px;
  margin-inline: auto;
  padding-block: 16px;
  background: var(--base-color);
}

#c-post-content {
  /* =====================
  　  エレメントスタイル
  ===================== */
}
#c-post-content p {
  margin-bottom: 6.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
}
#c-post-content code {
  font-size: 3.2vw;
}
#c-post-content img {
  height: auto !important;
}
#c-post-content {
  /* =======================
  　  見出し H2が標準
  ======================= */
}
#c-post-content h1,
#c-post-content h2,
#c-post-content h3,
#c-post-content h4,
#c-post-content h5,
#c-post-content h6 {
  margin-top: 10.6666666667vw;
  margin-bottom: 8vw;
}
#c-post-content h1 {
  font-size: 5.3333333333vw;
}
#c-post-content h2 {
  font-size: 4.2666666667vw;
}
#c-post-content h3 {
  font-size: 4.2666666667vw;
}
#c-post-content h4,
#c-post-content h5,
#c-post-content h6 {
  font-size: 3.7333333333vw;
}
#c-post-content {
  /* =====================
  　  引用
  ===================== */
}
#c-post-content .wp-block-quote {
  margin: 0 0 5.3333333333vw 0;
}
#c-post-content .wp-block-quote cite,
#c-post-content .wp-block-quote footer {
  font-size: 2.6666666667vw;
}
#c-post-content .wp-block-quote.is-style-plain {
  padding: 3.2vw 4vw 4vw;
}
#c-post-content .wp-block-quote.is-style-large,
#c-post-content .wp-block-quote.is-large {
  padding: 3.2vw 4vw 4vw;
}
#c-post-content {
  /* ================
  　  リスト
  ================ */
}
#c-post-content ul,
#c-post-content ol {
  margin-bottom: 6.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
}
#c-post-content {
  /* ================
  　  キャプション
  ================ */
}
#c-post-content .wp-element-caption {
  font-size: 3.2vw;
  text-align: center;
}
#c-post-content {
  /* ================
  　  テーブル
  ================ */
}
#c-post-content .wp-block-table td,
#c-post-content .wp-block-table th {
  font-size: 3.7333333333vw;
}
#c-post-content {
  /* ================
  　  ボタン
  ================ */
}
#c-post-content .wp-block-buttons {
  margin-bottom: 6.6666666667vw;
}
#c-post-content .wp-block-buttons > .wp-block-button {
  width: 100%;
  max-width: 80vw;
}
#c-post-content .wp-element-button {
  padding: 1.8666666667vw 0;
  font-size: 3.4666666667vw;
}
#c-post-content .wp-element-button:hover::after {
  transform: translateX(0);
}
#c-post-content .wp-element-button::after {
  width: 3.2vw;
  height: 2.9333333333vw;
  transition: none;
}

#privacy .page-subtitle {
  font-size: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / (767 - 375), 48px);
  line-height: 1.4;
}
#privacy .page-title {
  font-size: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / (767 - 375), 16px);
}
#privacy .privacy-title {
  font-size: clamp(16px, 16px + (18 - 16) * (100vw - 375px) / (767 - 375), 18px);
}
#privacy .privacy-text {
  font-size: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / (767 - 375), 14px);
}
#privacy .privacy-item {
  font-size: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / (767 - 375), 14px);
}
#privacy .privacy-item::before {
  top: 0.64em;
  transform: none;
}

/*# sourceMappingURL=smartphone.css.map */
