@charset "UTF-8";
html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.4;
  overflow-x: hidden;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Set core body defaults */
body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Make images easier to work with */
img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
/* ===== Layout ===== */
.l-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-left: 25px;
  padding-right: 25px;
  width: 75rem;
}

.p-contact-banner {
  min-height: 21.25rem;
  overflow: visible;
  padding: 0;
  position: relative;
}

.p-contact-banner.p-contact-banner--bg2 {
  background-color: #f9f6e9;
}

.p-contact-banner.p-contact-banner--bg3 {
  background-color: #f5f5f5;
}

.p-contact-banner__bg {
  inset: 0;
  position: absolute;
  z-index: 2;
}

.p-contact-banner__bg2 {
  display: none;
}

.p-contact-banner__bg-sp {
  display: none;
}

.p-contact-banner__bg img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-contact-banner__person {
  bottom: 0;
  max-width: 19.375rem;
  position: absolute;
  right: 3.125rem;
  z-index: 4;
}
.p-contact-banner__person img {
  display: block;
  height: auto;
}

.p-contact-banner__inner {
  background-color: #fff;
  border-radius: 1.5625rem;
  left: 50%;
  max-width: 68.75rem;
  padding: 2rem 7.625rem 4.125rem;
  position: relative;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.p-contact-banner__title {
  color: #02b16c;
  display: inline-block;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.4090909091;
}

.p-contact-banner__buttons {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

.c-button {
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: inline-flex;
  justify-content: center;
  min-height: 5rem;
  min-width: 26.3125rem;
  transition: all 0.3s ease;
}
.c-button:hover {
  opacity: 0.7;
  transform: translateY(-1px);
}

.c-button + .c-button {
  margin-left: 1.5rem;
}

.c-button__text {
  color: #ffffff;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.21875;
  margin-left: 3.125rem;
}

.c-button--tel {
  background-image: url("../img/button-tel.png");
}

.c-button--form {
  background-image: url("../img/button-form.png");
}

.p-contact-banner--bottom {
  background-color: #f9f6e9;
}

/* ===== p-faq レイアウト ===== */
.p-faq {
  padding-bottom: 3.875rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 3.75rem;
}

.p-faq__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-faq__title {
  color: #000000;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4166666667;
  text-align: center;
}

.p-faq__item + .p-faq__item {
  margin-top: 3.625rem;
}

.p-faq__q-head {
  background-color: #02b16c;
  border-radius: 0.625rem;
  padding: 1.3125rem 1.375rem 1.0625rem;
  position: relative;
}

.p-faq__q-badge {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  height: 2.4375rem;
  justify-content: center;
  left: 1.375rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4375rem;
}

.p-faq__q-text {
  align-items: center;
  color: #ffffff;
  display: flex;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4166666667;
  padding-left: 3.9375rem;
}

.p-faq__answer {
  background-color: #e6f5ef;
  border-radius: 0.625rem;
  margin-top: 2.3125rem;
}

.p-faq__panel {
  padding: 1.1875rem 5rem 6.875rem 5rem;
}

.p-faq__lead {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: left;
}

.p-faq__reason {
  margin-top: 2.375rem;
  position: relative;
}

.p-faq__reason-label {
  background-color: #d9d9d9;
  border-radius: 1.125rem;
  color: #000000;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  left: 50%;
  letter-spacing: 0;
  line-height: 1.125;
  padding: 0.375rem 0.75rem 0.4375rem;
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
}

.p-faq__reason-label--green {
  background-color: #02b16c;
  color: #ffffff;
}

.p-faq__reason-bar {
  align-items: center;
  background-color: #ffffff;
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 54.5625rem;
  padding: 1.5rem 2.375rem 0.9375rem;
}

.p-faq__reason--grid .p-faq__reason-bar {
  display: grid;
  gap: 0.5rem 0;
  grid-template-columns: repeat(2, 1fr);
  max-width: 63%;
  padding: 1.75rem 1.125rem 1.5rem 1.5rem;
}

.p-faq__item06 .p-faq__reason--grid .p-faq__reason-bar,
.p-faq__item07 .p-faq__reason--grid .p-faq__reason-bar {
  display: grid;
  gap: 0.5rem 0;
  grid-template-columns: repeat(2, 1fr);
  max-width: 85%;
}

.p-faq__reason--block .p-faq__reason-bar {
  display: block;
  max-width: 63%;
  padding: 1.75rem 1.125rem 1.0625rem 3.75rem;
}

.p-faq__reason--flex .p-faq__reason-bar {
  display: flex;
  flex-wrap: wrap;
  max-width: 63%;
}

.p-faq__reason-item {
  align-items: baseline;
  display: inline-flex;
  gap: 0.375rem;
}

.p-faq__reason-item + .p-faq__reason-item {
  margin-top: 0.5rem;
}

.p-faq__reason-icon {
  flex-shrink: 0;
  height: auto;
  margin-right: 0.5rem;
  width: 1.0625rem;
}

.p-faq__reason-text {
  color: #000000;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.125;
}

.p-faq__reason-text--green {
  color: #02b16c;
  margin-right: 0.125rem;
}

.p-faq__reason-text + .p-faq__reason-text {
  margin-top: 0.5rem;
}

.p-faq__point {
  background-color: #ffffff;
  border: 0.1875rem solid #02b16c;
  border-radius: 0.625rem;
  display: flex;
  gap: 1rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: -4.375rem;
  padding: 1.125rem 1.125rem 1.125rem 1.125rem;
  width: 80%;
}

.p-faq__point-avatar {
  flex-shrink: 0;
  height: 6.25rem;
  width: 6.25rem;
}

.p-faq__point-label {
  color: #02b16c;
  display: inline-block;
  font-family: "DM Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.p-faq__point-text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  margin-top: 0.125rem;
}

/* ===== ラベル（中央ピル） ===== */
.p-faq__compare-label {
  background-color: #02b16c;
  border-radius: 1.125rem;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.125;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  padding: 0.375rem 0.75rem 0.4375rem;
  width: 15.875rem;
}

.p-faq__compare {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  justify-content: center;
  margin-top: 1.125rem;
  width: 100%;
}

.p-faq__bubble-title {
  color: #000000;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2857142857;
  text-align: center;
}

.p-faq__bubble-title.p-faq__bubble-title--accent {
  color: #e87800;
}

.p-faq__bubble-list {
  margin-top: 0.75rem;
}

.p-faq__bubble-item {
  align-items: center;
  display: flex;
}

.p-faq__bubble-item + .p-faq__bubble-item {
  margin-top: 0.5rem;
}

.p-faq__bubble-mark {
  flex-shrink: 0;
  height: auto;
  margin-top: 0.125rem;
  width: 1.0625rem;
}

.p-faq__bubble-text {
  color: #000000;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.125;
  margin-left: 0.5rem;
}

.p-faq__bubble-text--accent {
  color: #e87800;
}

.p-faq__bubble--right .p-faq__bubble-text {
  color: #434343;
}

.p-faq__bubble--diagonal,
.p-faq__bubble--right {
  background-color: #ffffff;
  border-radius: 2.625rem;
  padding: 1.1875rem 0.875rem 1.875rem 2.375rem;
  position: relative;
  width: 17.875rem;
}

.p-faq__bubble--diagonal::after {
  background-image: url("../img/bubble-left.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0.3125rem;
  content: "";
  height: 1.5625rem;
  left: -0.9375rem;
  position: absolute;
  width: 1.875rem;
}

.p-faq__bubble--diagonal-right::after {
  background-image: url("../img/bubble-right.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0.3125rem;
  content: "";
  height: 1.5625rem;
  position: absolute;
  right: -0.9375rem;
  width: 1.875rem;
}

.p-footer {
  background-color: #02b16c;
}

.p-footer__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-bottom: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
}

.p-footer__copy {
  align-items: center;
  display: flex;
  justify-content: center;
}

.p-footer__copy-text {
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
}

/* ===== Hero ===== */
.p-hero {
  background-image: url("../img/hero-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 35rem;
  overflow: hidden;
  position: relative;
}

.p-hero__bg {
  inset: 0;
  overflow: hidden;
  position: absolute;
}

.p-hero__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 67.5rem;
  padding-bottom: 3.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 5rem;
  position: relative;
  text-align: center;
}

.p-hero__notice {
  background-color: #02b16c;
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-hero__notice-text {
  color: #ffffff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  padding: 0.5rem 0;
}

.p-hero__lead-main {
  color: #000000;
  font-size: 3.4375rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-hero__lead-strong {
  color: #e87800;
  font-size: 5.125rem;
  font-weight: 700;
  line-height: 1;
}

.p-hero__lead-strong.color-black {
  color: #000000;
}

.p-hero__lead-accent {
  color: #e87800;
  font-size: 5.125rem;
  font-weight: 900;
  line-height: 1.5;
}

.c-highlight {
  display: inline-block;
  position: relative;
}

.c-highlight::after {
  aspect-ratio: 1111/55;
  background-image: url("../img/under-border.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -1.25rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 100%;
}

.p-hero__lead-accent .p-hero__lead-accent--small {
  font-size: 3.75rem;
}

.p-hero__card {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.125rem;
  max-width: 48.75rem;
}

.p-hero__sub {
  color: #000000;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 2.75rem;
}

/* ===== Card (参考: カード型) ===== */
.p-hero-card {
  background-color: #ffffff;
}

.p-hero-card__body {
  box-shadow: 0 0.3125rem 1.25rem rgba(0, 0, 0, 0.09);
  padding: 0.625rem 1.5rem 1.25rem 1.5rem;
}

.p-hero-card__title-img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 25rem;
  width: 100%;
}

.p-hero-card__list {
  margin-top: 0.75rem;
}

.p-hero-card__item {
  align-items: flex-start;
  display: flex;
}

.p-hero-card__item + .p-hero-card__item {
  margin-top: 0.5rem;
}

.p-hero-card__icon {
  background-color: #02b16c;
  border-radius: 50%;
  flex: 0 0 auto;
  height: 1.625rem;
  margin-right: 0;
  position: relative;
  width: 1.625rem;
}

.p-hero-card__text {
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.347826087;
  margin-left: 0.625rem;
}

.p-hero-card__emphasis {
  color: #02b16c;
}

.p-hero-card__icon::before {
  border-bottom: 0.1875rem solid #ffffff;
  border-left: 0.1875rem solid #ffffff;
  content: "";
  height: 0.5rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -60%) rotate(-45deg);
  width: 1rem;
}

/* ===== Offer ===== */
.p-offer {
  position: relative;
}

.p-offer__top {
  padding-bottom: 2.25rem;
  padding-top: 5rem;
}

.p-offer__title {
  color: #000000;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.5666666667;
  text-align: center;
}

.p-offer__title-em {
  color: #02b16c;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.2368421053;
}

.p-offer__title-em.color-theme {
  color: #e87800;
}

.p-offer__description {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 2.4375rem;
  text-align: center;
}

/* ===== Feature ===== */
/* spacing */
/* block */
.p-feature-nav {
  margin-left: auto;
  margin-right: auto;
  max-width: 78.125rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
}

/* list: 4列 → 3列 → 2列 → 1列、下段は中央寄せ */
.p-feature-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: calc(-1 * 1rem);
  margin-top: calc(-1 * 1.25rem);
  padding-top: 3.375rem;
}

/* card */
.p-feature-nav__card {
  background-color: #ffffff;
  border: 2px solid #02b16c;
  border-radius: 0.375rem;
  display: flex;
  flex: 0 0 calc(25% - 1rem); /* 4列 */
  flex-direction: column;
  justify-content: end;
  margin-left: 1rem;
  margin-top: 1.25rem;
  overflow: hidden;
  text-align: center;
}

/* media */
.p-feature-nav__media {
  background-color: #ffffff;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

.p-feature-nav__media img {
  height: auto;
  width: 100%;
}

/* panel */
.p-feature-nav__panel {
  align-items: center;
  background-color: #02b16c;
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  justify-content: center;
  min-height: 8.75rem;
  padding: 1rem 0.1875rem;
}

/* label（テキスト必須5プロパティ） */
.p-feature-nav__label {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2916666667;
  margin-left: 0;
  max-width: 100%;
}

.p-feature-nav__label span {
  color: #ffe261;
}

/* icon: 下向き矢印 */
.p-feature-nav__icon {
  color: #fff;
  display: inline-flex;
  height: 1.875rem;
  width: 1.875rem;
}

.p-feature-nav__svg {
  stroke: currentColor;
  stroke-width: 0.21875rem;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  height: 100%;
  width: 100%;
}

/* hover */
.p-feature-nav__card:hover .p-feature-nav__panel {
  opacity: 0.8;
}

/* ===== Reason ===== */
.p-reason {
  padding-bottom: 6.25rem;
  padding-top: 6.8125rem;
}

.p-reason__head {
  text-align: center;
}

.p-reason__kicker {
  color: #000000;
  font-size: 2.0625rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-reason__kicker span {
  color: #02b16c;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-reason__title {
  color: #000000;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 0.25rem;
}

.p-reason__title .p-reason__accent-small {
  font-size: 2.5rem;
}

.p-reason__accent {
  display: inline-block;
  position: relative;
}
.p-reason__accent::after {
  aspect-ratio: 1111/55;
  background-image: url("../img/under-border.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -1.25rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 95%;
}

.p-reason__em {
  color: #e87800;
  font-size: 3.875rem;
  font-weight: 700;
  line-height: 1.0967741935;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.p-reason__items {
  margin-top: 5.625rem;
}

.p-reason__item {
  margin-top: 0;
}

.p-reason__item + .p-reason__item {
  margin-top: 1.5rem;
}

.c-media {
  align-items: flex-start;
  display: flex;
}

.c-media__thumb {
  aspect-ratio: 426/268;
  overflow: hidden;
  width: 38%;
}

.c-media__thumb img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.c-media__content {
  margin-left: 2.3125rem;
  width: 62%;
}

.c-media__title-wrap {
  display: flex;
}

.c-media__label {
  display: inline-flex;
  flex: 0 0 auto;
  height: 3.25rem;
  margin-right: 0.625rem;
  overflow: hidden;
  width: 2.9375rem;
}

.c-media__title {
  color: #000000;
  display: inline-block;
  font-size: 2.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2941176471;
}

.c-media__text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-top: 0.75rem;
}

/* ===== Issues ===== */
/* block */
.p-issues {
  background-color: #afafaf;
}

.p-issues__container {
  background: #717171;
  clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%);
  padding: 2.5rem 1.25rem 3.75rem 1.25rem;
  text-align: center;
  text-align: center;
}
.p-issues__title {
  color: #ffffff;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.3863636364;
  margin-left: 0;
  margin-top: -1.125rem;
  text-align: center;
  text-shadow: 0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), -0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), 0rem 0.0625rem 0 rgba(112, 112, 112, 0.5), 0rem -0.0625rem 0 rgba(112, 112, 112, 0.5), 0.0625rem 0.0625rem 0 rgba(112, 112, 112, 0.5), -0.0625rem 0.0625rem 0 rgba(112, 112, 112, 0.5), 0.0625rem -0.0625rem 0 rgba(112, 112, 112, 0.5), -0.0625rem -0.0625rem 0 rgba(112, 112, 112, 0.5), 0.125rem 0rem 0 rgba(112, 112, 112, 0.5), -0.125rem 0rem 0 rgba(112, 112, 112, 0.5), 0rem 0.125rem 0 rgba(112, 112, 112, 0.5), 0rem -0.125rem 0 rgba(112, 112, 112, 0.5), 0.125rem 0.125rem 0 rgba(112, 112, 112, 0.5), -0.125rem 0.125rem 0 rgba(112, 112, 112, 0.5), 0.125rem -0.125rem 0 rgba(112, 112, 112, 0.5), -0.125rem -0.125rem 0 rgba(112, 112, 112, 0.5), 0.25rem 0.25rem 0.125rem rgba(0, 0, 0, 0.55);
}

.p-issues__accent {
  color: #e87800;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.3863636364;
  text-shadow: 0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), -0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), 0rem 0.0625rem 0 rgba(112, 112, 112, 0.5), 0rem -0.0625rem 0 rgba(112, 112, 112, 0.5), 0.125rem 0.125rem 0 rgba(112, 112, 112, 0.5), 0.25rem 0.25rem 0.125rem rgba(0, 0, 0, 0.55);
}

.p-issues__subtitle {
  color: #ffffff;
  font-size: 2.4375rem;
  font-weight: 700;
  line-height: 1.3846153846;
  text-align: center;
  text-shadow: 0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), -0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), 0rem 0.0625rem 0 rgba(112, 112, 112, 0.5), 0rem -0.0625rem 0 rgba(112, 112, 112, 0.5), 0.125rem 0.125rem 0 rgba(112, 112, 112, 0.5), 0.25rem 0.25rem 0.125rem rgba(0, 0, 0, 0.55);
}

.p-issues__subtitle span {
  display: inline-block;
  font-size: 1.875rem;
}

.p-issues__note {
  color: #ffffff;
  display: inline-block;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4166666667;
  text-align: center;
  text-shadow: 0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), -0.0625rem 0rem 0 rgba(112, 112, 112, 0.5), 0rem 0.0625rem 0 rgba(112, 112, 112, 0.5), 0rem -0.0625rem 0 rgba(112, 112, 112, 0.5), 0.125rem 0.125rem 0 rgba(112, 112, 112, 0.5), 0.25rem 0.25rem 0.125rem rgba(0, 0, 0, 0.55);
}

.p-issues__bottom-title {
  color: #000000;
  font-size: 2.9375rem;
  font-weight: 700;
  line-height: 1.4042553191;
  padding-bottom: 1.25rem;
  padding-top: 1.875rem;
  text-align: center;
}

.p-issues__bottom-title-accent {
  display: inline-block;
  position: relative;
}
.p-issues__bottom-title-accent::after {
  aspect-ratio: 1111/135;
  background-image: url("../img/issues-vector.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -0.375rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 100%;
}

/* grid (zigzag layout) */
.p-issues__grid-wrap {
  background-color: #afafaf;
  background-image: url("../img/issues-hero-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  inset: 0;
  min-height: 38.625rem;
  opacity: 1;
  pointer-events: none;
  position: relative;
  z-index: 1;
}

.p-issues__grid {
  margin-left: auto;
  margin-right: auto;
  max-width: 58.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 3.75rem;
  position: relative;
}

.p-issues__col {
  max-width: 32.5rem;
  width: 100%;
}

.p-issues__col--right {
  margin-left: auto;
}

.p-issues__col--left {
  margin-top: 3.75rem;
}

/* card */
.c-card {
  background-color: #ffffff;
  padding: 1.0625rem 0.125rem 1.4375rem 1.5rem;
}

/* checklist */
.c-list-check {
  list-style: none;
  margin-left: 0;
  margin-top: 0;
  padding: 0;
}

.c-list-check__item {
  color: #000000;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.347826087;
  margin-top: 0.75rem;
  padding-left: 1.875rem;
  position: relative;
}

.c-list-check__item:first-child {
  margin-top: 0;
}

.c-list-check__item::before {
  background-color: #02b16c;
  border-radius: 50%;
  content: "";
  height: 1.625rem;
  left: 0;
  position: absolute;
  top: 0.375rem;
  width: 1.625rem;
}

.c-list-check__item::after {
  border-bottom: 0.1875rem solid #ffffff;
  border-left: 0.1875rem solid #ffffff;
  content: "";
  height: 0.5rem;
  left: 0.375rem;
  position: absolute;
  top: 0.875rem;
  transform: rotate(-45deg);
  width: 0.875rem;
}

/* ===== Assurance ===== */
/* block */
.p-assurance {
  background: url("../img/bg-texture.jpg") repeat;
  padding-bottom: 6.9375rem;
  padding-top: 6.9375rem;
}

.p-assurance__container {
  background-color: #ffffff;
  margin-left: auto;
  margin-right: auto;
  max-width: 82.125rem;
  padding-bottom: 10rem;
  padding-left: 6.1%;
  padding-right: 6.1%;
  padding-top: 5rem;
  width: 82.125%;
}

.p-assurance__head {
  text-align: center;
}

.p-assurance__kicker {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-assurance__kicker-green {
  color: #02b16c;
}

.p-assurance__kicker-small {
  font-size: 2.0625rem;
}

.p-assurance__title {
  color: #000000;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 0.25rem;
}

.p-assurance__title-em {
  color: #e87800;
  font-size: 3.875rem;
  font-weight: 700;
  line-height: 1.0967741935;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.p-assurance__title-small {
  font-size: 2.5rem;
}

.p-assurance__accent {
  display: inline-block;
  position: relative;
}
.p-assurance__accent::after {
  aspect-ratio: 1111/55;
  background-image: url("../img/under-border.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -0.625rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 95%;
}

.p-assurance__list {
  margin-top: 8.125rem;
}

.p-assurance__item + .p-assurance__item {
  margin-top: 5.3125rem;
}

/* component: feature */
.c-feature {
  align-items: flex-start;
  display: flex;
}

.c-feature__figure {
  width: 44%;
}

.c-feature__body {
  margin-left: 3.75rem;
  width: 56%;
}

.c-feature.c-feature--reverse .c-feature__body {
  margin-left: 0;
  width: 56%;
}

.c-feature.c-feature--reverse .c-feature__figure {
  margin-left: 3.75rem;
  width: 44%;
}

.c-feature__num {
  color: #e7f5ec;
  font-size: 4.75rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4078947368;
  margin-left: -1.25rem;
}

.c-feature__heading {
  color: #000000;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.40625;
  margin-bottom: 1.125rem;
  margin-top: -1.875rem;
}

.c-feature__em {
  color: #02b16c;
  font-size: 2.3125rem;
  font-weight: 700;
  line-height: 1.2162162162;
}

.c-feature__text-wrap {
  /* ノート風横線（1行目は除外） */
  background-image: linear-gradient(to bottom, #c4c4c4 1px, transparent 1px);
  background-position: left 3rem;
  background-position-y: -0.0625rem;
  background-repeat: repeat-y;
  background-size: 100% 2.75rem;
  margin-top: 1.875rem;
}

.c-feature__text {
  color: #000000;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 2;
}

.c-feature__note {
  color: #e87800;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 2;
}

/* ===== Compare ===== */
.p-compare__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 78.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  width: 100%;
}

.p-compare {
  padding-bottom: 6.25rem;
  padding-top: 5.375rem;
  position: relative;
}

.p-compare__title {
  margin-top: 0rem;
  text-align: center;
}

.p-compare__title-text {
  color: #000000;
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-compare__title-accent {
  color: #02b16c;
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-compare__table-wrap {
  margin-top: 1.5rem;
}

.p-compare__lead {
  margin-top: 1.5rem;
  text-align: center;
}

.p-compare__lead-text {
  color: #000000;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-compare__lead-em {
  color: #e87800;
  display: inline-block;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
}

.p-compare__lead-em::after {
  aspect-ratio: 1111/55;
  background-image: url("../img/under-border.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -0.875rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 100%;
}

.p-compare__features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2.375rem;
}

.c-compare-feature {
  margin-left: 1.5rem;
  text-align: center;
  width: calc(33.333% - 1rem);
}

.c-compare-feature:nth-child(3n+1) {
  margin-left: 0rem;
}

.c-compare-feature:nth-child(n+4) {
  margin-top: 2rem;
}

.c-compare-feature__media {
  aspect-ratio: 1/1;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  width: 15rem;
}

.c-compare-feature__text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  margin-top: 1.5rem;
}

.p-compare__feature-bg {
  align-items: center;
  aspect-ratio: 441/264;
  display: flex;
  height: auto;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: -4.875rem;
  max-width: 27.5625rem;
  position: relative;
  width: 100%;
  z-index: -1;
}

.p-compare__feature-bg img {
  -o-object-fit: cover;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-compare__feature-bg-text {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: -6.5rem;
  text-align: center;
}

/* ===== hero-block ===== */
/* ヒーロー */
.p-hero-block {
  background-color: #fff7ef;
  /* 上に白のフェードを重ねる（左右だけ白→中央は透明） */
  background-image: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 12%, rgba(255, 255, 255, 0) 88%, rgb(255, 255, 255) 100%);
  padding-bottom: 4.25rem;
  padding-top: 3.5rem;
}

.p-hero-block__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 72.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  text-align: center;
}
.p-hero-block__eyebrow {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.u-text-emphasis {
  color: #e87800;
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1.4038461538;
}

.p-hero-block__desc {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 2rem;
}

.p-hero-block__catch {
  color: #02b16c;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.3947368421;
  margin-top: 1.125rem;
}

.p-hero-block__sub {
  margin-top: 1.125rem;
}

.c-chip-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  justify-content: center;
  list-style: none;
  margin-top: 0.75rem;
  padding: 0;
}

.c-chip-list__item {
  display: inline-block;
}

.c-chip {
  align-items: center;
  background-color: #fff;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
  color: #e87800;
  display: inline-flex;
  padding: 0.5rem 1rem 0.5rem 0.5rem;
  text-align: center;
  white-space: nowrap;
}

.c-chip__icon {
  align-items: center;
  background-color: #ffe1c0;
  border-radius: 50%;
  color: #e87800;
  display: inline-flex;
  font-size: 1rem;
  height: 1.5rem;
  justify-content: center;
  margin-right: 0.5rem;
  width: 1.5rem;
}

/* ===== Intro ===== */
/* intro */
.p-intro {
  background-image: url("../img/intro-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 8.3125rem;
  padding-top: 6rem;
  position: relative;
}

.p-intro__inner {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 2.625rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 68.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-intro__visual {
  height: auto;
  left: 1.25rem;
  max-width: 27.1875rem;
  position: absolute;
  top: 0rem;
  width: 25%;
  z-index: 1;
}

.p-intro__visual img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.p-intro__content {
  text-align: center;
}

.p-intro__catch {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-intro__em {
  display: inline-block;
  vertical-align: middle;
}
.p-intro__em img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 5rem;
}

.p-intro__lead {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 1.875rem;
}

.p-intro__highlight {
  color: #02b16c;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-intro__underline {
  color: #e87800;
  display: inline-block;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
}

.p-intro__underline::after {
  aspect-ratio: 1111/55;
  background-image: url("../img/under-border.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -0.625rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 90%;
}

.p-intro__note {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 0.75rem;
}

/* step block */
.p-step-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 78.125rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
}

.p-step {
  background-color: #ffffff;
  margin: 2.5rem auto 0;
  max-width: 75rem;
  padding-left: 1.875rem;
}

.p-step + .p-step {
  margin-top: 5rem;
}

.p-step__container {
  align-items: stretch;
  display: flex;
  gap: 1.25rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  position: relative;
}

.p-step__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 1.25rem;
  padding-top: 2.5rem;
}

.p-step__num {
  color: #02b16c;
  font-family: "Oswald", sans-serif;
  font-size: 5.25rem;
  font-weight: 700;
  left: -0.9375rem;
  line-height: 1.4047619048;
  position: absolute;
  top: -5rem;
  z-index: 2;
}

.p-step__headline {
  color: #000000;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.3947368421;
}

.p-step__body {
  margin-top: 1.625rem;
}

.p-step__main {
  width: 100%;
}

.p-step__list {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}

.p-step__item {
  align-items: baseline;
  color: #000000;
  display: flex;
  font-size: 1.625rem;
  font-weight: 700;
  gap: 0.75rem;
  line-height: 1.3846153846;
}

.p-step__check {
  flex-shrink: 0;
  height: 1.625rem;
  margin-top: 0.6875rem;
  width: 2rem;
}

.p-step__theme-color {
  color: #e87800;
}

.p-step__theme-color2 {
  color: #e87800;
  display: inline-block;
}

.p-step__theme-color2 span {
  color: #000000;
}

.p-step__flex {
  color: #000000;
  display: inline-block;
}

.p-step__flex span {
  color: #e87800;
}

.p-step__visual {
  flex: 0 0 28.5rem;
}

.p-step__visual img {
  -o-object-fit: cover;
  aspect-ratio: 456/500;
  height: auto;
  height: auto;
  object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.p-price-table {
  background-color: #fff7ef;
  padding: 3.75rem 1.25rem 1.25rem;
  text-align: center;
}

.p-price-table__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 74.375rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
}

.p-price-table__office {
  color: #e87800;
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.40625;
  position: relative;
}

.p-price-table__office::after {
  aspect-ratio: 1111/55;
  background-image: url("../img/price-vector.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -1.125rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 100%;
}

.p-price-table__title {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 0.625rem;
}

.p-price-table__note {
  color: #000000;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.375;
  margin-top: 2.5rem;
  text-align: right;
}

.p-price-table__table {
  border: 1px solid #d7d7d7;
  border-collapse: collapse;
  margin-top: 0.625rem;
}

.p-price-table__head {
  background-color: #00472b;
  padding: 1rem;
}

.p-price-table__head-text {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-price-table__row {
  background-color: #f5f5f5;
  border-top: 0.0625rem solid #d7d7d7;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.p-price-table__row--header {
  background-color: #dcf2e1;
}

.p-price-table__cell {
  border-left: 1px solid #d7d7d7;
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 1rem;
}

.p-price-table__row .p-price-table__cell {
  border-left: 1px solid #d7d7d7;
  color: #000000;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4166666667;
  padding: 1rem;
}

.p-price-table__cell:first-child {
  border-left: none;
}

.p-price-table__footer {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 3.75rem;
}

/* price-structure */
.p-price-structure {
  background-color: #f5f5f5;
  padding-top: 6.25rem;
  text-align: center;
}

.p-price-structure__heading {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-price-structure__text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 3.5rem;
}

.p-price-structure__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1rem;
}

.p-price-structure__item {
  background-color: #e87800;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0.4375rem 1rem;
}

.p-price-structure__plus {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-top: 0.375rem;
}

/* basic-fee */
.p-basic-fee-section {
  background-color: #f5f5f5;
  padding: 3.75rem 1.5625rem 11.0625rem 1.5625rem;
}

.p-basic-fee {
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  max-width: 75rem;
  padding: 1.875rem 1.875rem;
}

.p-basic-fee + .p-basic-fee {
  margin-top: 3.75rem;
}

.p-basic-fee__title {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
}

.p-basic-fee__subtitle {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 1.25rem;
  text-indent: -1.25rem;
}

.p-basic-fee__dot {
  color: #000000;
  font-size: 1rem;
  margin-right: 0.3125rem;
}

.p-basic-fee__table {
  border: 1px solid #d7d7d7;
  border-collapse: collapse;
  margin-top: 1.4375rem;
  text-align: center;
}

.p-basic-fee__row {
  border-top: 1px solid #d7d7d7;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.p-basic-fee__row.p-basic-fee__row--header.u-sp-only {
  display: none;
}

.p-basic-fee__row.p-basic-fee__row--header.u-sp .p-basic-fee__cell {
  display: none;
}

.p-basic-fee__row--header {
  background-color: #dcf2e1;
}

.p-basic-fee__cell {
  align-items: center;
  border-left: 1px solid #d7d7d7;
  color: #000000;
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  font-weight: 500;
  height: 4.625rem;
  justify-content: center;
  line-height: 1;
}

.p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell {
  background-color: #00472b;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.25rem 0.0625rem;
}

.p-basic-fee__cell.p-basic-fee__cell--description {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0.625rem 0.25rem;
}

.p-basic-fee__cell:first-child {
  border-left: none;
}

.p-basic-fee__row:nth-child(even) {
  background-color: #dcf2e1;
}

.p-basic-fee__row:nth-child(odd) {
  background-color: #dcf2e1;
}

.p-basic-fee__table--other .p-basic-fee__row:nth-child(odd) {
  background-color: #f2fef5;
}
.p-basic-fee__table--other .p-basic-fee__row:nth-child(even) {
  background-color: #dcf2e1;
}

.p-basic-fee__note {
  color: #e93600;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.375;
  margin-top: 0.375rem;
  text-align: right;
}

/* flow */
.p-flow {
  margin-left: auto;
  margin-right: auto;
  max-width: 78.125rem;
  padding: 4.375rem 1.5625rem 7.8125rem;
}

.p-flow__title {
  color: #000000;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.5555555556;
  margin-bottom: 3.125rem;
  text-align: center;
}

.p-flow__title-emphasis {
  color: #02b16c;
  font-size: 2.875rem;
  font-weight: 700;
  line-height: 1.2173913043;
}

.p-flow__box {
  -moz-column-gap: 2.875rem;
  align-items: center;
  background-color: #dcf2e1;
  column-gap: 2.875rem;
  display: grid;
  grid-template-columns: 10.625rem 1fr;
  height: 8.75rem;
  padding: 1.25rem 2.5rem;
}

.p-flow__left {
  align-items: center;
  display: flex;
  gap: 2.5rem;
  justify-content: center;
}

.p-flow__step {
  color: #02b16c;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375;
}

.p-flow__step span {
  font-size: 1.25rem;
  margin-left: 0.125rem;
}

.p-flow__icon {
  align-items: center;
  display: flex;
  height: 4.375rem;
  justify-content: center;
  width: 4.375rem;
}

.p-flow__right {
  align-items: center;
  display: flex;
  gap: 1.875rem;
}

.p-flow__heading {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  width: 31%;
}

.p-flow__text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  width: 68%;
}

.p-flow__arrow {
  margin-bottom: 1.4375rem;
  margin-top: 1.4375rem;
  text-align: center;
}

.p-flow__arrow img {
  height: auto;
  margin-left: auto;
  margin-right: auto;
  width: 1.875rem;
}

/* profile */
.p-profile {
  background-image: url("../img/profile-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 5.875rem 0 6.25rem;
}

.p-profile__inner {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.75rem;
  max-width: 78.125rem;
  padding: 0 1.5625rem;
}

.p-profile__header {
  text-align: center;
}

.p-profile__title {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4;
  text-align: center;
}

.p-profile__content {
  background-color: #ffffff;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 25rem 1fr;
  overflow: visible;
  padding-bottom: 3.75rem;
  padding-left: 2.5rem;
  padding-right: 3.125rem;
  padding-top: 2.625rem;
}

.p-profile__sidebar {
  margin-bottom: 0rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
}
.p-profile__image {
  aspect-ratio: 400/450;
  margin-bottom: 1.875rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.p-profile__role {
  background-color: #ffffff;
  bottom: 0rem;
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  left: 0rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin-bottom: 0rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
  padding: 0.375rem 0.625rem;
  position: absolute;
}

.p-profile__name {
  color: #000000;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.028em;
  line-height: 1.2857142857;
  margin-left: 0.5rem;
}

.p-profile__career {
  display: block;
  margin-bottom: 0rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 1.875rem;
}

.p-profile__career-item {
  align-items: center;
  background-color: #dcf2e1;
  border: 1px solid #d7d7d7;
  border-top: none;
  border-top: 1px solid #d7d7d7;
  display: grid;
  grid-template-columns: 7.1875rem 1fr;
}

.p-profile__career-date,
.p-profile__career-text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  padding: 0.625rem 0.25rem;
}

.p-profile__career-date {
  background-color: #dcf2e1;
}

.p-profile__career-text {
  background-color: #f5f5f5;
}

.p-profile__main {
  margin-bottom: 0rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
  overflow: visible;
}

.p-profile__greeting {
  margin-bottom: 2.375rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
}

.p-profile__thought {
  margin-bottom: 0rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
}

.p-profile__heading {
  color: #000000;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.028em;
  line-height: 1.3571428571;
  margin-bottom: 1.25rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 0rem;
  padding-bottom: 0.625rem;
  position: relative;
}

.p-profile__heading-decor {
  bottom: -0.375rem;
  display: block;
  height: auto;
  left: 0rem;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.p-profile__heading-decor img {
  -o-object-fit: contain;
  height: 100%;
  object-fit: contain;
}

.p-profile__text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-bottom: 0rem;
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 1rem;
}

/* performance */
.p-performance {
  background-color: #f5f5f5;
  padding: 3.75rem 1.25rem 6.25rem;
  text-align: center;
}
.p-performance .p-performance__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 74.375rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
}
.p-performance .p-performance__office {
  color: #e87800;
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.40625;
  position: relative;
}
.p-performance .p-performance__office::after {
  aspect-ratio: 1111/55;
  background-image: url("../img/price-vector.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -1.125rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 100%;
}
.p-performance .p-performance__title {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 0.625rem;
}
.p-performance .p-performance__container {
  margin-top: 2.5rem;
}
.p-performance .p-performance__table {
  border: 1px solid #d7d7d7;
  border-collapse: collapse;
}
.p-performance .p-performance__row {
  background-color: #ffffff;
  border-top: 1px solid #d7d7d7;
  display: grid;
  grid-template-columns: 1fr 2fr;
}
.p-performance .p-performance__cell {
  align-items: center;
  border-left: 1px solid #d7d7d7;
  color: #000000;
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
  justify-content: flex-start;
  letter-spacing: 0;
  line-height: 1.4;
  min-height: 6.75rem;
  padding: 1rem 2.5rem;
  text-align: left;
}
.p-performance .p-performance__cell--head {
  align-items: center;
  background-color: #00472b;
  border-left: none;
  color: #ffffff;
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.4;
  min-height: 6.75rem;
}

.p-performance__cell.sp-cell-font-small.u-sp-only {
  display: none;
}

/* ========= case-study ========= */
.p-case-study {
  background-image: url("../img/case-study-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 11.125rem;
  padding-top: 5.625rem;
  position: relative;
}

.p-case-study__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 92rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-case-study__title {
  color: #000000;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4166666667;
  text-align: center;
}

.p-case-study__container {
  background-color: #fbf9f6;
  margin-top: 2.5rem;
  padding: 1.6875rem;
  padding-bottom: 3.125rem;
  padding-left: 9.2%;
  padding-right: 9.2%;
  padding-top: 1.6875rem;
}

.p-case-study__headline {
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.40625;
  margin-left: auto;
  margin-right: auto;
  width: -moz-max-content;
  width: max-content;
}

.c-badge.c-badge--case {
  align-items: center;
  background-color: #ffffff;
  border: 0.1875rem solid #02b16c;
}

.c-badge__label {
  background-color: #02b16c;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.40625;
  padding: 0.25rem 0.5rem;
}

.c-badge__text {
  color: #000000;
  flex: 1;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.40625;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  word-break: break-word;
}

.p-case-study__board {
  padding-top: 9.375rem;
  position: relative;
}

.p-case-study__company-name {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4166666667;
  margin-bottom: 0.375rem;
}

.p-case-study__illust {
  left: 49%;
  position: absolute;
  top: 20%;
  transform: translate(-50%, -30%);
  width: 9.375rem;
  z-index: 2;
}

.p-case-study__illust.illust01 {
  top: 13.2%;
  width: 12.5rem;
}

.p-case-study__illust.illust02 {
  top: 15.2%;
  width: 14.375rem;
}

.p-case-study__illust.illust03 {
  top: 18%;
  width: 13.125rem;
}

.p-case-study__illust.illust04 {
  top: 16%;
  width: 9.375rem;
}

.p-case-study__illust.illust05 {
  top: 16%;
  width: 10.375rem;
}

.p-case-study__arrow {
  left: 50%;
  position: absolute;
  top: 77%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
  width: 2.25rem;
  z-index: 2;
}

.l-grid {
  display: grid;
  gap: 1.25rem;
}

.l-grid.l-grid--two {
  grid-template-columns: 1fr 1fr;
}

.p-case-study__columns {
  position: relative;
  z-index: 1;
}

.p-case-study__panel {
  background-color: #fff;
  box-shadow: 0 0.25rem 1rem rgba(48, 34, 6, 0.1);
  overflow: hidden;
}

/* Panel */
.c-panel {
  display: flex;
  flex-direction: column;
  min-height: auto;
}

.c-panel__header {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4166666667;
  padding: 0.75rem 1rem;
  text-align: center;
}

.c-panel__header.header-white {
  color: #ffffff;
}

.p-case-study__panel.c-panel.c-panel--before {
  background-color: #efefef;
}

.p-case-study__panel.c-panel.c-panel--after {
  background-color: #fff4e9;
}

.c-panel.c-panel--before .c-panel__header {
  background-color: #c0c0c0;
}

.c-panel.c-panel--after .c-panel__header {
  background-color: #e87800;
}

.c-panel__body {
  padding: 0.625rem 1.125rem 1.625rem;
}

/* List */
.c-list {
  list-style: none;
}

.c-list__item {
  color: #000000;
  font-size: 1.4375rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3913043478;
  padding-left: 1.125rem;
  position: relative;
}

.c-list__item + .c-list__item {
  margin-top: 1rem;
}

.c-list__item::before {
  background-color: #000000;
  border-radius: 50%;
  content: "";
  height: 0.375rem;
  left: 0;
  position: absolute;
  top: 0.875rem;
  width: 0.375rem;
}

/* Emphasis */
.c-emphasis {
  color: #f11c1c;
}

/* Callout */
.c-callout {
  background-color: #ffffff;
  box-shadow: 0 0.25rem 0.9375rem rgba(196, 181, 151, 0.1);
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
  max-width: 71.875rem;
  padding: 3.125rem 2.6875rem;
  position: relative;
}

.c-callout__title {
  align-items: center;
  background-color: #e87800;
  color: #ffffff;
  display: flex;
  font-size: 1.625rem;
  font-weight: 700;
  gap: 0.625rem;
  left: 13%;
  letter-spacing: 0.05em;
  line-height: 1.3846153846;
  padding: 0.625rem 1.125rem;
  position: absolute;
  top: -1.375rem;
  transform: translateX(-50%);
}

.c-callout__title img {
  -o-object-fit: contain;
  height: 2.0625rem;
  object-fit: contain;
  width: 1.25rem;
}

.c-callout__body {
  margin-top: 0.75rem;
}

.c-callout__list {
  display: grid;
  gap: 1.25rem;
}

.c-callout__item {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  padding-left: 1.125rem;
  position: relative;
}

.c-callout__item::before {
  background: #000000;
  border-radius: 50%;
  content: "";
  height: 0.375rem;
  left: 0;
  position: absolute;
  top: 0.875rem;
  width: 0.375rem;
}

/* ---- 荒い点線（破線タイプ：太め+間隔広め） ---- */
.c-callout__item::after {
  background: radial-gradient(circle, rgba(122, 89, 39, 0.3) 0.125rem, transparent 0.125rem) left bottom/0.5rem 0.1875rem repeat-x; /* 粒の大きさ・間隔を調整 */
  bottom: -0.25rem;
  content: "";
  height: 0.1875rem; /* 粒の直径に合わせて高さを確保 */
  left: -0.375rem;
  position: absolute;
  right: 0;
}

/* tax-guide */
/* ===== tax-guide ===== */
.p-tax-guide__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 70rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-tax-guide {
  background-image: url("../img/tax-guide-bg.png");
  background-position: center;
  background-size: cover;
  padding-bottom: 12.5rem;
  padding-top: 5.875rem;
}

.p-tax-guide__title {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.p-tax-guide__compare {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 8.125rem;
}

.p-tax-guide__side {
  max-width: 38.75rem;
  padding-bottom: 1.75rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.75rem;
  position: relative;
  text-align: center;
  width: 100%;
}

/* 背景の白丸（side と同じ幅で中央配置） */
.p-tax-guide__side.p-tax-guide__side--voluntary::before {
  background-color: #fff;
  border-radius: 50%;
  content: "";
  height: min(92vw, 38.75rem);
  left: 55%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 38.75rem);
  z-index: 0;
}

.p-tax-guide__side.p-tax-guide__side--compulsory::before {
  background-color: #fff;
  border-radius: 50%;
  content: "";
  height: min(92vw, 38.75rem);
  left: 45%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 38.75rem);
  z-index: 0;
}

/* 丸の上に中身を出す */
.p-tax-guide__side * {
  position: relative;
  z-index: 1;
}

.p-tax-guide__side.p-tax-guide__side--voluntary * {
  transform: translateX(5%);
}

/* ピル（ラベル） */
.p-tax-guide__chip {
  background-color: #dcf2e1;
  border-radius: 62.4375rem;
  display: inline-block;
  margin-left: 0;
  margin-right: 0;
  padding: 0.25rem 1rem;
  position: relative;
  text-align: center;
}
.p-tax-guide__chip.color-orange {
  background-color: #ffe6c9;
}

.p-tax-guide__chip::after {
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  border-top: 0.625rem solid #dcf2e1;
  bottom: -0.625rem;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
}

.p-tax-guide__chip.color-orange::after {
  border-top: 0.625rem solid #ffe6c9;
}

.p-tax-guide__chip-text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.p-tax-guide__side-title {
  color: #02b16c;
  font-size: 4.375rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 1rem;
}

.p-tax-guide__side-title.p-tax-guide__side-title--compulsory {
  color: #e87800;
  padding-bottom: 3.125rem;
  padding-top: 0.625rem;
}

.p-tax-guide__note {
  color: #02b16c;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.375;
  margin-top: 1rem;
}

.p-tax-guide__list {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
  max-width: 20.5rem;
  text-align: left;
}

.p-tax-guide__side.p-tax-guide__side--compulsory .p-tax-guide__list {
  padding-left: 2.5rem;
}

.p-tax-guide__item {
  align-items: flex-start;
  color: #000000;
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
  gap: 0.3125rem;
  line-height: 1.4;
  position: relative;
}

.p-tax-guide__check {
  flex-shrink: 0;
  height: 1.0625rem;
  margin-top: 0.375rem;
  width: 1.25rem;
}

/* ========= tax-process ========= */
.p-tax-process {
  background-image: url("../img/tax-process-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 16.5rem;
  padding-top: 5.875rem;
}

.p-tax-process__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-tax-process__title {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.p-tax-process__list {
  align-items: flex-start;
  display: flex;
  gap: 0.625rem;
  margin-top: 2.75rem;
}

.p-tax-process__item {
  align-items: center;
  display: flex;
  flex: 1 1 0; /* ← 均等幅 */
  flex-direction: column;
  min-width: 0;
  text-align: center;
}

.p-tax-process__item + .p-tax-process__item {
  /* 縦並びのときの余白 */
  margin-top: 0.5rem;
}

.p-tax-process__arrow {
  margin-top: 4.375rem;
}

.p-tax-process__arrow img {
  height: 1.25rem;
}

/* Stepカード */
.c-step {
  align-items: center;
  background-color: #eaf6ef;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  height: 100%;
  justify-content: center;
  min-height: 9.375rem;
  padding: 1rem;
  text-align: center;
  width: 100%;
}

.c-step__eyebrow {
  color: #02b16c;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375;
}

.c-step__eyebrow span {
  font-size: 1.25rem;
  margin-left: 0.125rem;
}

.c-step__icon {
  align-items: center;
  display: flex;
  height: 4.375rem;
  justify-content: center;
  width: 4.375rem;
}

.c-step__title {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 0.75rem;
}

.c-step__caption {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.625rem;
}

/* ===== tax-step ===== */
.p-tax-step {
  margin-top: -12.5rem;
  padding-bottom: 6.25rem;
}

.p-tax-step__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-tax-step__container + .p-tax-step__container {
  margin-top: 5rem;
}

.p-tax-step__panel {
  background-color: #ffffff;
  border: 0.25rem solid #dcf2e1;
  padding: 3.25rem 5rem 2.25rem;
  position: relative;
}

.p-tax-step__badge {
  align-items: center;
  background-color: #02b16c;
  border-radius: 50%;
  display: flex;
  height: 5rem;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: -2.25rem;
  transform: translateX(-50%);
  width: 5rem;
}

.p-tax-step__badge-text {
  align-items: center;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  font-family: "Oswald", sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.3076923077;
}

.p-tax-step__badge-text .p-flow__step-number {
  font-size: 1.5rem;
}

.p-tax-step__title {
  color: #02b16c;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1rem;
  text-align: center;
}

/* grid */
.p-tax-step__grid {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
  width: 100%;
}

.p-tax-step__aside {
  flex: 0 0 15.875rem; /* 左カラム固定幅 */
  width: 15.875rem;
}

.p-tax-step__aside-icon {
  height: auto;
  margin-left: auto;
  margin-right: auto;
  width: 7.5rem;
}

.p-tax-step__aside-icon.p-tax-step__aside-icon--wide {
  width: 13.125rem;
}

.p-tax-step__aside-caption {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1.25rem;
  text-align: center;
}

.p-tax-step__content {
  flex: 0 1 calc(100% - 15.875rem); /* 右カラム可変 */
  margin-left: 0.75rem;
  max-width: 50rem;
}

/* block */
.p-tax-step__block {
  background-color: #dcf2e1;
  overflow: hidden;
}

.p-tax-step__block + .p-tax-step__block {
  margin-top: 0.75rem;
}

.p-tax-step__block-head {
  background-color: #00472b;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  padding: 0.6875rem 1rem;
}

.p-tax-step__block-body {
  background-color: #dcf2e1;
  padding: 0.875rem 1rem 1.5rem;
}

/* list */
.p-tax-step__item {
  align-items: center;
  display: flex;
  gap: 0.25rem;
}

.p-tax-step__item + .p-tax-step__item {
  margin-top: 0.5rem;
}

.p-tax-step__item.p-tax-step__item--check .p-tax-step__check {
  height: 1.25rem;
  margin-right: 0.25rem;
  width: 1.25rem;
}

/* text */
.p-tax-step__text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-tax-step__text .color-theme {
  color: #e87800;
}

/* note */
.p-tax-step__note {
  align-items: center;
  display: flex;
  margin-top: 0.125rem;
}

.p-tax-step__note-icon {
  height: 1.375rem;
  margin-right: 0.25rem;
  width: 1.375rem;
}

.p-tax-step__text.p-tax-step__note-title {
  font-weight: 700;
}

.p-tax-step__note-text.p-tax-step__text {
  font-weight: 500;
  margin-left: 1em;
}

/* 準備期間の範囲 */
.p-tax-step__range-item {
  align-items: center;
  display: flex;
}

.p-tax-step__range-item + .p-tax-step__range-item {
  margin-top: 0.625rem;
}

.p-tax-step__range-chip {
  background-color: #ffffff;
  border-radius: 62.4375rem;
  color: #e87800;
  display: inline-block;
  position: relative;
  text-align: center;
  width: 11.375rem;
}

.p-tax-step__range-chip + .p-tax-step__text {
  margin-left: 0.875rem;
}

.p-tax-step__emph {
  color: #e87800;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

/* ========= tax-process ========= */
.p-tax-process {
  background-image: url("../img/tax-process-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 16.5rem;
  padding-top: 5.875rem;
}

.p-tax-process__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-tax-process__title {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.p-tax-process__list {
  align-items: flex-start;
  display: flex;
  gap: 0.625rem;
  margin-top: 2.75rem;
}

.p-tax-process__item {
  align-items: center;
  display: flex;
  flex: 1 1 0; /* ← 均等幅 */
  flex-direction: column;
  min-width: 0;
  text-align: center;
}

.p-tax-process__item + .p-tax-process__item {
  /* 縦並びのときの余白 */
  margin-top: 0.5rem;
}

.p-tax-process__arrow {
  margin-top: 4.375rem;
}

.p-tax-process__arrow img {
  height: 1.25rem;
}

/* Stepカード */
.c-step {
  align-items: center;
  background-color: #eaf6ef;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  height: 100%;
  justify-content: center;
  min-height: 9.375rem;
  padding: 1rem;
  text-align: center;
  width: 100%;
}

.c-step__eyebrow {
  color: #02b16c;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375;
}

.c-step__eyebrow span {
  font-size: 1.25rem;
  margin-left: 0.125rem;
}

.c-step__icon {
  align-items: center;
  display: flex;
  height: 4.375rem;
  justify-content: center;
  width: 4.375rem;
}

.c-step__title {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 0.75rem;
}

.c-step__caption {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.625rem;
}

/* ===== tax-step ===== */
.p-tax-step {
  margin-top: -12.5rem;
  padding-bottom: 6.25rem;
}

.p-tax-step__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-tax-step__container + .p-tax-step__container {
  margin-top: 5rem;
}

.p-tax-step__panel {
  background-color: #ffffff;
  border: 0.25rem solid #dcf2e1;
  padding: 3.25rem 5rem 2.25rem;
  position: relative;
}

.p-tax-step__badge {
  align-items: center;
  background-color: #02b16c;
  border-radius: 50%;
  display: flex;
  height: 5rem;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: -2.25rem;
  transform: translateX(-50%);
  width: 5rem;
}

.p-tax-step__badge-text {
  align-items: center;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  font-family: "Oswald", sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.3076923077;
}

.p-tax-step__badge-text .p-flow__step-number {
  font-size: 1.5rem;
}

.p-tax-step__title {
  color: #02b16c;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-top: 1rem;
  text-align: center;
}

/* grid */
.p-tax-step__grid {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
  width: 100%;
}

.p-tax-step__aside {
  flex: 0 0 15.875rem; /* 左カラム固定幅 */
  width: 15.875rem;
}

.p-tax-step__aside-icon {
  height: auto;
  margin-left: auto;
  margin-right: auto;
  width: 7.5rem;
}

.p-tax-step__aside-icon.p-tax-step__aside-icon--wide {
  width: 13.125rem;
}

.p-tax-step__aside-caption {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1.25rem;
  text-align: center;
}

.p-tax-step__content {
  flex: 0 1 calc(100% - 15.875rem); /* 右カラム可変 */
  margin-left: 0.75rem;
  max-width: 50rem;
}

.p-tax-step__block {
  background-color: #dcf2e1;
  overflow: hidden;
}

.p-tax-step__block + .p-tax-step__block {
  margin-top: 0.75rem;
}

.p-tax-step__block-head {
  background-color: #00472b;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  padding: 0.6875rem 1rem;
}

.p-tax-step__block-body {
  background-color: #dcf2e1;
  padding: 0.875rem 1rem 1.5rem;
}

.p-tax-step__item {
  align-items: baseline;
  display: flex;
  gap: 0.25rem;
}

.p-tax-step__item + .p-tax-step__item {
  margin-top: 0.5rem;
}

.p-tax-step__item.p-tax-step__item--check .p-tax-step__check {
  height: 1.25rem;
  margin-right: 0.25rem;
  width: 1.25rem;
}

/* text */
.p-tax-step__text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-tax-step__text .color-theme {
  color: #e87800;
}

.p-tax-step__note {
  align-items: center;
  display: flex;
  margin-top: 0.125rem;
}

.p-tax-step__note-icon {
  flex-shrink: 0;
  height: 1.375rem;
  margin-right: 0.25rem;
  width: 1.375rem;
}

.p-tax-step__text.p-tax-step__note-title {
  font-weight: 700;
}

.p-tax-step__note-text.p-tax-step__text {
  font-weight: 500;
  margin-left: 1em;
}

/* 準備期間の範囲（スクショ仕様） */
.p-tax-step__range-item {
  align-items: center;
  display: flex;
}

.p-tax-step__range-item + .p-tax-step__range-item {
  margin-top: 0.625rem;
}

.p-tax-step__range-chip {
  background-color: #ffffff;
  border-radius: 62.4375rem;
  color: #e87800;
  display: inline-block;
  flex-shrink: 0;
  position: relative;
  text-align: center;
  width: 11.375rem;
}

.p-tax-step__range-chip + .p-tax-step__text {
  margin-left: 0.875rem;
}

.p-tax-step__emph {
  color: #e87800;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

/* ===== unannounced ===== */
.p-unannounced {
  background-image: url("../img/unannounced-bg.jpg");
  background-position: center;
  background-size: cover;
  padding-bottom: 6.25rem;
  padding-top: 5.875rem;
  position: relative;
}

.p-unannounced__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-unannounced__title {
  color: #ffffff;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
}

.p-unannounced__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr 1fr;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.75rem;
  max-width: 75rem;
}

.p-unannounced__card {
  background-color: #ffffff;
  width: 100%;
}

.c-info-card__head {
  background-color: #02b16c;
  padding: 1.125rem 1.125rem;
  position: relative;
  text-align: center;
}

.c-info-card__head-text {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
}

.c-info-card__head::after {
  border-left: 0.625rem solid transparent;
  border-right: 0.625rem solid transparent;
  border-top: 0.625rem solid #02b16c;
  bottom: -0.625rem;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
}

.c-info-card__body {
  padding: 1.125rem 2.5rem 2.75rem;
}

.c-info-card__lead {
  font-weight: 700;
}

.c-info-card__text {
  margin-top: 0.625rem;
}

.c-info-card__list {
  margin-top: 0.625rem;
}

.c-info-card__item {
  align-items: baseline;
  display: flex;
  gap: 0.25rem;
}

.c-info-card__item + .c-info-card__item {
  margin-top: 0.625rem;
}

/* 一般的な画像設定は削除（チェックマーク専用設定に統一） */
/* チェックマークのサイズ統一（リセットCSS上書き） */
.c-info-card__list .p-tax-step__item .p-tax-step__check,
.c-info-card__item .p-tax-step__check {
  -o-object-fit: contain !important;
  flex-shrink: 0 !important;
  height: 1.25rem !important;
  margin-right: 0.25rem !important;
  margin-top: 0 !important;
  max-height: 1.25rem !important;
  max-width: 1.25rem !important;
  min-height: 1.25rem !important;
  min-width: 1.25rem !important;
  object-fit: contain !important;
  width: 1.25rem !important;
}

/* その他の画像設定 */
.c-info-card__item img:not(.p-tax-step__check) {
  flex-shrink: 1;
  margin-top: 0.125rem;
}

/* ========= tax-support ========= */
.p-tax-support {
  background-color: #f5f5f5;
  padding-bottom: 6.25rem;
  padding-top: 5.875rem;
}

.p-tax-support__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-tax-support__head {
  text-align: center;
}

.p-tax-support__kicker {
  color: #000000;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.40625;
}

.p-tax-support__kicker span {
  color: #02b16c;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-tax-support__title {
  color: #000000;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-tax-support__accent {
  display: inline-block;
  position: relative;
}
.p-tax-support__accent::after {
  aspect-ratio: 1111/95;
  background-image: url("../img/tax-support-under-border.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -1.25rem;
  content: "";
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 100%;
}

.p-tax-support__em {
  color: #e87800;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-tax-support__lead {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 1.875rem;
  text-align: center;
}

/* 丸カードの並び */
.p-tax-support__circles {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  margin-top: 5.5625rem;
}

.p-tax-support__unit {
  padding-bottom: 1.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 8.75rem;
  position: relative;
  text-align: center;
  width: 26.25rem;
}

.p-tax-support__unit + .p-tax-support__unit {
  margin-left: -1.875rem;
}

.p-tax-support__unit::before {
  background-color: #ffffff;
  border-radius: 50%;
  content: "";
  height: 26.5625rem;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translate(-50%, -10%);
  width: 26.5625rem;
  z-index: 0;
}

.p-tax-support__icon,
.p-tax-support__unit-title,
.p-tax-support__list {
  position: relative;
  z-index: 1;
}

.p-tax-support__icon {
  height: auto;
  left: 50%;
  position: absolute;
  top: 0rem;
  transform: translateX(-50%);
  width: 4.8125rem;
}

.p-tax-support__unit-title {
  color: #000000;
  font-size: 2.625rem;
  font-weight: 700;
  line-height: 1.1904761905;
  margin-top: -1.875rem;
}

.p-tax-support__list {
  margin-top: 0.625rem;
}

.p-tax-support__item {
  align-items: flex-start;
  color: #000000;
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  margin-left: auto;
  margin-right: auto;
  max-width: 70%;
}

.p-tax-support__item + .p-tax-support__item {
  margin-top: 0.5rem;
}

.p-tax-support__check {
  flex-shrink: 0;
  height: 1.125rem;
  margin-right: 0.5rem;
  margin-top: 0.1875rem;
  width: 1.125rem;
}

/* ===== 下段導入文 ===== */
.p-tax-support__message-wrap {
  margin-top: 4.375rem;
  padding-bottom: 1.4375rem;
}

.p-tax-support__message-wrap img {
  -o-object-fit: contain;
  -o-object-position: center;
  flex-shrink: 0;
  height: 3.125rem;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
  object-position: center;
  width: 18.375rem;
}

.p-tax-support__message {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 2.25rem;
  text-align: center;
}

.p-tax-support__detail-container {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.6875rem;
  max-width: 77.5rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.p-tax-support__detail {
  margin-top: 3.9375rem;
  position: relative;
}

.p-tax-support__detail + .p-tax-support__detail {
  margin-top: 2.5rem;
}

.p-tax-support__tab {
  align-items: center;
  background: #02b16c;
  display: flex;
  flex-direction: column;
  height: 6.4375rem;
  justify-content: center;
  margin-left: -0.625rem;
  margin-right: -0.625rem;
  padding: 1rem 1.5rem 1rem;
  position: relative;
  width: calc(100% + 1.25rem);
  z-index: 1;
}

.p-tax-support__tab::before,
.p-tax-support__tab::after {
  border-top: 0.625rem solid #007f4d;
  bottom: -0.5625rem;
  content: "";
  height: 0;
  position: absolute;
  width: 0;
}

.p-tax-support__tab::before {
  border-left: 0.625rem solid transparent;
  left: 0rem;
}

.p-tax-support__tab::after {
  border-right: 0.625rem solid transparent;
  right: 0rem;
}

.p-tax-support__tab-title {
  color: #ffffff;
  font-size: 2.375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-tax-support__tab-sub {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  position: relative;
  text-align: center;
  z-index: 1;
}

/* ===== 白ボード ===== */
.p-tax-support__board-wrap {
  background-color: #ffffff;
  padding-bottom: 3rem;
  position: relative;
  z-index: 0;
}

.p-tax-support__board {
  align-items: flex-start;
  border-top: none;
  display: flex;
  justify-content: center;
  margin-top: -8rem;
  padding: 11.25rem 1.25rem 2.25rem;
  position: relative;
  z-index: 1;
}

.p-tax-support__board-left {
  background-color: #eafff3;
  flex: 0 1 38.75rem;
  padding: 1rem 0.9375rem 1.25rem;
}

.p-tax-support__board-right {
  align-items: center;
  display: flex;
  flex: 0 1 22.5rem;
  justify-content: center;
}

.p-tax-support__section-head {
  color: #000000;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  position: relative;
}

.p-tax-support__section-head-decor {
  bottom: -0.5rem;
  display: block;
  height: auto;
  left: 0rem;
  pointer-events: none;
  position: absolute;
  right: -5rem;
  z-index: 1;
}

.p-tax-support__section-head-decor img {
  -o-object-fit: contain;
  height: 100%;
  object-fit: contain;
}

.p-tax-support__feature-list {
  margin-top: 0.875rem;
}

.p-tax-support__feature-item {
  align-items: flex-start;
  display: flex;
}

.p-tax-support__feature-item + .p-tax-support__feature-item {
  margin-top: 0.75rem;
}

.p-tax-support__feature-text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-tax-support__feature-text .font-weight-medium {
  font-weight: 500;
}

.p-tax-support__check {
  flex-shrink: 0;
  height: 1rem;
  margin-right: 0.5rem;
  margin-top: 0.5rem;
  width: 1.25rem;
}

.p-tax-support__note {
  align-items: center;
  background-color: #f7fff9;
  display: flex;
  margin-top: 0.875rem;
  padding: 0.75rem 0.5rem;
}

.p-tax-support__note-icon {
  -o-object-fit: contain;
  -o-object-position: center;
  flex-shrink: 0;
  height: 1.5rem;
  object-fit: contain;
  object-position: center;
  width: 1.5rem;
}

.p-tax-support__note-text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  padding-left: 0.625rem;
}

.p-tax-support__triad {
  height: 20.25rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
  position: relative;
  width: 22.5rem;
}

.p-tax-support__triad-center {
  align-items: center;
  background-color: #ffffff;
  border: 2px solid #02b16c;
  border-radius: 50%;
  color: #02b16c;
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  height: 15rem;
  justify-content: center;
  left: calc(50% - 5rem);
  line-height: 1.2;
  position: absolute;
  text-align: center;
  top: calc(50% - 6.25rem);
  width: 15rem;
  z-index: 1;
}

.p-tax-support__triad-item {
  align-items: center;
  background-color: #f1f1f1;
  border-radius: 50%;
  color: #000000;
  display: flex;
  flex-direction: column;
  font-size: 1.25rem;
  font-weight: 700;
  height: 8.75rem;
  justify-content: center;
  line-height: 1.2;
  position: absolute;
  text-align: center;
  width: 8.75rem;
  z-index: 2;
}

.p-tax-support__triad-item.p-tax-support__triad-item--top {
  left: calc(50% - 1.875rem);
  top: 0rem;
}

.p-tax-support__triad-item.p-tax-support__triad-item--top img {
  -o-object-fit: contain;
  -o-object-position: center;
  height: 2.5rem;
  margin-bottom: 0.625rem;
  object-fit: contain;
  object-position: center;
  width: 2.125rem;
}

.p-tax-support__triad-item.p-tax-support__triad-item--left {
  bottom: -0.625rem;
  left: 1.875rem;
}

.p-tax-support__triad-item.p-tax-support__triad-item--left img {
  -o-object-fit: contain;
  -o-object-position: center;
  height: 2.375rem;
  margin-bottom: 0.625rem;
  object-fit: contain;
  object-position: center;
  width: 2.375rem;
}

.p-tax-support__triad-item.p-tax-support__triad-item--right {
  bottom: -0.625rem;
  right: -1.875rem;
}

.p-tax-support__triad-item.p-tax-support__triad-item--right img {
  -o-object-fit: contain;
  -o-object-position: center;
  height: 2.5rem;
  margin-bottom: 0.625rem;
  object-fit: contain;
  object-position: center;
  width: 2.0625rem;
}

.p-tax-support__ribbon {
  background-color: #ffffff;
  border: 1px solid #e87800;
  color: #000000;
  display: table;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2083333333;
  margin-left: auto;
  margin-right: auto;
  padding: 0.125rem 0.125rem 0.25rem;
}

/* ===== 右：調査後の対応・メリット ===== */
.p-tax-support__board.p-tax-support__merit {
  flex-direction: column;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.p-tax-support__flow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-top: 1.875rem;
}

.p-tax-support__flow-step {
  background-color: #dcf2e1;
  flex: 1 1 auto;
  padding: 1rem 1.25rem 1.75rem;
}

.p-tax-support__flow-badge {
  color: #02b16c;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375;
  text-align: center;
}

.p-tax-support__flow-badge span {
  font-size: 1.25rem;
  margin-left: 0.0625rem;
}

.p-tax-support__flow-title {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 0.25rem;
  text-align: center;
}

.p-tax-support__flow-text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.375rem;
}

.p-tax-support__flow-arrow {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-top: 4.375rem;
}

.p-tax-support__flow-arrow img {
  -o-object-fit: contain;
  -o-object-position: center;
  flex-shrink: 1;
  height: auto;
  object-fit: contain;
  object-position: center;
  width: 2.5rem;
}

.p-tax-support__merit-right {
  margin-top: 2.25rem;
}

.p-tax-support__merit-list {
  -moz-column-gap: 3.125rem;
  column-gap: 3.125rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 2.1875rem;
  row-gap: 1.125rem;
}

.p-tax-support__merit-item {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.p-tax-support__merit-icon {
  height: 3.75rem;
  width: 3.75rem;
}

.p-tax-support__merit-title {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 0.625rem;
}

.p-tax-support__merit-text {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.375rem;
}

.u-mt10 {
  margin-top: 10px !important;
  margin-top: 0.625rem !important;
}

.u-mt20 {
  margin-top: 20px !important;
  margin-top: 1.25rem !important;
}

.u-mt30 {
  margin-top: 30px !important;
  margin-top: 1.875rem !important;
}

.u-mt40 {
  margin-top: 40px !important;
  margin-top: 2.5rem !important;
}

.u-mt50 {
  margin-top: 50px !important;
  margin-top: 3.125rem !important;
}

.u-mt60 {
  margin-top: 60px !important;
  margin-top: 3.75rem !important;
}

.u-mt70 {
  margin-top: 70px !important;
  margin-top: 4.375rem !important;
}

.u-mt80 {
  margin-top: 80px !important;
  margin-top: 5rem !important;
}

.u-mt90 {
  margin-top: 90px !important;
  margin-top: 5.625rem !important;
}

.u-mt100 {
  margin-top: 100px !important;
  margin-top: 6.25rem !important;
}

.u-mt110 {
  margin-top: 110px !important;
  margin-top: 6.875rem !important;
}

.u-mt120 {
  margin-top: 120px !important;
  margin-top: 7.5rem !important;
}

.u-mt130 {
  margin-top: 130px !important;
  margin-top: 8.125rem !important;
}

.u-mt140 {
  margin-top: 140px !important;
  margin-top: 8.75rem !important;
}

.u-mt150 {
  margin-top: 150px !important;
  margin-top: 9.375rem !important;
}

.u-mt160 {
  margin-top: 160px !important;
  margin-top: 10rem !important;
}

.u-mt170 {
  margin-top: 170px !important;
  margin-top: 10.625rem !important;
}

.u-mt180 {
  margin-top: 180px !important;
  margin-top: 11.25rem !important;
}

.u-mt190 {
  margin-top: 190px !important;
  margin-top: 11.875rem !important;
}

.u-mt200 {
  margin-top: 200px !important;
  margin-top: 12.5rem !important;
}

.u-sp-only {
  display: none;
}

.u-md2-only {
  display: none;
}

.u-md5-only {
  display: none;
}

.u-lg-only {
  display: none;
}

.u-textLeft {
  text-align: Left !important;
}

.u-textCenter {
  text-align: Center !important;
}

.u-textRight {
  text-align: Right !important;
}

.u-textJustify {
  text-align: Justify !important;
}

.fixed-footer{
  display: none;
}
@media screen and (min-width: 1601px) {
  .p-intro__visual {
    transform: translateY(0px);
  }
  .p-profile__heading-decor {
    right: -5rem;
  }
}

@media screen and (max-width: 1600px) {
  .p-intro__visual {
    transform: translateY(0px);
  }
  .p-profile__heading-decor {
    right: -5rem;
  }
}

@media screen and (max-width: 1440px) {
  .p-contact-banner__person {
    max-width: 17.5rem;
    right: 0rem;
  }
  .p-intro__visual {
    transform: translateY(-10px);
  }
  .p-profile__heading-decor {
    right: -5rem;
  }
  .c-list__item {
    font-size: 1.25rem;
  }
  .c-callout__item {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 1300px) {
  .p-contact-banner {
    padding: 0;
  }
  .p-contact-banner__bg {
    display: none;
  }
  .p-contact-banner__bg2 {
    display: block;
    position: relative;
    z-index: 2;
  }
  .p-contact-banner__person {
    display: none;
  }
  .p-contact-banner__inner {
    background-color: transparent;
    padding: 0;
    top: 60%;
    width: 40rem;
  }
  .p-contact-banner__buttons {
    margin-top: 1.25rem;
  }
  .c-button {
    max-width: 20.625rem;
    min-height: 4rem;
    min-width: 15rem;
    width: 100%;
  }
  .c-button + .c-button {
    margin-left: 0.875rem;
  }
  .c-button__text {
    font-size: 1.375rem;
  }
  .p-feature-nav__label {
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .p-basic-fee-section {
    padding-bottom: 6.25rem;
  }
  .p-profile__heading-decor {
    right: -4.375rem;
  }
  .c-list__item {
    font-size: 1.125rem;
  }
  .c-callout__item {
    font-size: 1.125rem;
  }
  .p-tax-support__section-head-decor {
    right: -3.75rem;
  }
  .u-lg-only {
    display: block;
  }
}

@media screen and (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
  .c-button + .c-button {
    margin-left: 0.625rem;
  }
  .c-button__text {
    font-size: 1.375rem;
  }
  .p-intro__visual {
    transform: translateY(-20px);
  }
  .p-profile__heading-decor {
    right: -3.9375rem;
  }
  .p-tax-step__panel {
    padding: 3.25rem 2.5rem 2.25rem;
  }
  .p-tax-step__panel {
    padding: 3.25rem 2.5rem 2.25rem;
  }
  .p-unannounced__grid {
    max-width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .p-tax-step__panel {
    padding: 3.25rem 1.25rem 2.25rem 0;
  }
  .p-tax-step__panel {
    padding: 3.25rem 1.25rem 2.25rem 0;
  }
}

@media screen and (max-width: 700px) {
  html {
    font-size: 16px;
  }
  a[href^="tel:"] {
    pointer-events: auto;
  }
  .l-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .p-contact-banner__bg2 {
    display: none;
  }
  .p-contact-banner__bg-sp {
    display: block;
    position: relative;
    z-index: 2;
  }
  .p-contact-banner__inner {
    max-width: 37.5rem;
    top: 44%;
    width: 100%;
  }
  .p-contact-banner__title {
    font-size: 2.25rem;
    line-height: 1.3888888889;
  }
  .p-contact-banner__buttons {
    align-items: center;
    flex-direction: column;
  }
  .c-button {
    max-width: 25rem;
    min-height: 4.375rem;
  }
  .c-button + .c-button {
    margin-left: 0rem;
  }
  .c-button__text {
    font-size: 1.875rem;
    line-height: 1.5;
    margin-left: 2.5rem;
  }
  .c-button__text.text-tell {
    font-size: 1.875rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-left: 2.5rem;
  }
  .p-faq {
    padding-bottom: 10.375rem;
  }
  .p-faq__inner {
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .p-faq__q-head {
    padding: 1.125rem 1.125rem 0.9375rem;
  }
  .p-faq__q-badge {
    height: 4rem;
    width: 4rem;
  }
  .p-faq__q-text {
    font-size: 2rem;
    line-height: 1.40625;
    padding-left: 5rem;
  }
  .p-faq__answer {
    margin-top: 6.25rem;
  }
  .p-faq__panel {
    padding: 1.1875rem 1.875rem 6.875rem 1.875rem;
  }
  .p-faq__lead {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-faq__reason {
    margin-top: 4.375rem;
  }
  .p-faq__reason-label {
    font-size: 1.75rem;
    max-width: 100%;
    padding: 0.25rem 0.75rem 0.25rem;
    width: -moz-max-content;
    width: max-content;
  }
  .p-faq__reason-bar {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
    padding: 2.25rem 0.875rem 1.8125rem 1.375rem;
  }
  .p-faq__reason--grid .p-faq__reason-bar {
    grid-template-columns: repeat(1, 1fr);
    max-width: 100%;
  }
  .p-faq__item06 .p-faq__reason--grid .p-faq__reason-bar,
  .p-faq__item07 .p-faq__reason--grid .p-faq__reason-bar {
    grid-template-columns: repeat(1, 1fr);
    max-width: 100%;
    padding-top: 2.5rem;
  }
  .p-faq__reason--block .p-faq__reason-bar {
    max-width: 100%;
  }
  .p-faq__item10 .p-faq__reason--block .p-faq__reason-bar {
    max-width: 100%;
    padding: 2rem 1.75rem 1.6875rem;
  }
  .p-faq__reason--flex .p-faq__reason-bar {
    max-width: 100%;
  }
  .p-faq__reason-item + .p-faq__reason-item {
    margin-top: 0.75rem;
  }
  .p-faq__reason-icon {
    width: 1.5rem;
  }
  .p-faq__reason-text {
    font-size: 1.875rem;
    line-height: 1.3333333333;
  }
  .p-faq__reason-text + .p-faq__reason-text {
    margin-top: 0.375rem;
  }
  .p-faq__point {
    align-items: center;
    flex-direction: column;
    gap: 0.375rem;
    padding: 0.9375rem 0.9375rem 1.875rem 0.9375rem;
    width: 92%;
  }
  .p-faq__point-content {
    text-align: center;
  }
  .p-faq__point-label {
    font-size: 2rem;
    line-height: 1.3571428571;
  }
  .p-faq__point-text {
    font-size: 2rem;
    line-height: 1.40625;
    text-align: left;
  }
  .p-faq__compare-label {
    font-size: 1.75rem;
    line-height: 1;
    max-width: 28.75rem;
    width: -moz-max-content;
    width: max-content;
  }
  .p-faq__compare {
    align-items: center;
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-faq__bubble-title {
    font-size: 1.875rem;
  }
  .p-faq__bubble-list {
    margin-left: 10%;
  }
  .p-faq__bubble-mark {
    width: 1.5rem;
  }
  .p-faq__bubble-text {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-faq__bubble--diagonal,
  .p-faq__bubble--right {
    padding: 1.1875rem 0.875rem 1.875rem;
    width: 100%;
  }
  .p-footer__copy-text {
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .p-hero {
    background-image: url("../img/hero-bg_sp.jpg");
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 30rem;
  }
  .p-hero__inner {
    padding-bottom: 4rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2.875rem;
  }
  .p-hero__notice-text {
    font-size: 2rem;
    line-height: 1.375;
    padding: 1.75rem;
  }
  .p-hero__lead-main {
    font-size: 3.25rem;
    line-height: 1.75;
    text-align: center;
  }
  .p-hero__lead-strong {
    font-size: 4.8125rem;
    line-height: 2;
  }
  .p-hero__lead-accent {
    font-size: 4.9375rem;
    line-height: 1.1518987342;
  }
  .c-highlight::after {
    margin-bottom: 1.25rem;
  }
  .p-hero__lead-accent .p-hero__lead-accent--small {
    font-size: 3.25rem;
  }
  .p-hero__card {
    margin-top: 5rem;
    max-width: 41.1875rem;
  }
  .p-hero__sub {
    font-size: 1.75rem;
    line-height: 1.3928571429;
    margin-top: 1.875rem;
  }
  .p-hero-card__body {
    padding: 1.5rem 1.375rem 2.75rem 1.375rem;
  }
  .p-hero-card__title-img {
    max-width: 23.75rem;
  }
  .p-hero-card__list {
    margin-top: 1rem;
  }
  .p-hero-card__item + .p-hero-card__item {
    margin-top: 0.875rem;
  }
  .p-hero-card__text {
    font-size: 1.75rem;
    line-height: 1.3928571429;
    text-align: left;
  }
  .p-feature-nav__list {
    justify-content: left;
  }
  .p-feature-nav__card {
    flex: 0 0 calc(50% - 1rem);
  }
  .p-feature-nav__panel {
    height: 8.125rem;
    min-height: auto;
  }
  .p-feature-nav__label {
    font-size: 1.375rem;
    line-height: 1.4;
  }
  .p-reason {
    padding-top: 5.625rem;
  }
  .p-reason__kicker span {
    font-size: 2.875rem;
    line-height: 1.3913043478;
  }
  .p-reason__title {
    font-size: 3.0625rem;
    line-height: 1.4693877551;
  }
  .p-reason__accent::after {
    bottom: -0.9375rem;
  }
  .p-reason__items {
    margin-left: auto;
    margin-right: auto;
    max-width: 37.5rem;
  }
  .c-media {
    flex-direction: column;
    justify-content: center;
  }
  .c-media + .c-media {
    margin-top: 6.25rem;
  }
  .c-media__thumb {
    width: 100%;
  }
  .c-media__content {
    margin-left: 0;
    margin-top: 1.25rem;
    width: 100%;
  }
  .c-media__label {
    height: 4.375rem;
    margin-top: 0.625rem;
    width: 3.75rem;
  }
  .c-media__title {
    font-size: 2.5rem;
    letter-spacing: 0.03em;
    line-height: 1.4;
    margin-left: 0.625rem;
  }
  .c-media__text {
    font-size: 1.75rem;
    line-height: 1.3571428571;
  }
  .p-issues {
    padding-bottom: 5rem;
  }
  .p-issues__title {
    font-size: 2.625rem;
  }
  .p-issues__accent {
    font-size: 2.625rem;
    line-height: 1.3333333333;
  }
  .p-issues__subtitle {
    font-size: 2.25rem;
    line-height: 1.3333333333;
  }
  .p-issues__note {
    font-size: 1.75rem;
    line-height: 1.3571428571;
    margin-top: 0.625rem;
  }
  .p-issues__bottom-title {
    padding-bottom: 0;
  }
  .p-issues__grid-wrap {
    background-image: url("../img/issues-hero-bg_sp.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 56.25rem;
  }
  .p-issues__grid {
    padding-top: 4.375rem;
  }
  .p-issues__col {
    max-width: 78%;
  }
  .p-issues__col--left {
    margin-top: 6.25rem;
  }
  .c-card {
    padding: 1.0625rem 1.25rem 1.875rem 1.5rem;
  }
  .c-list-check__item {
    font-size: 1.75rem;
    padding-left: 2.5rem;
  }
  .p-assurance__container {
    max-width: 41.25rem;
    padding-bottom: 5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2.375rem;
    width: 100%;
  }
  .p-assurance__kicker {
    font-size: 3.3125rem;
    line-height: 1.4545454545;
  }
  .p-assurance__kicker-small {
    font-size: 2.875rem;
  }
  .p-assurance__title {
    font-size: 3.75rem;
  }
  .p-assurance__title-em {
    font-size: 5.375rem;
  }
  .p-assurance__list {
    margin-top: 4.125rem;
  }
  .p-assurance__item + .p-assurance__item {
    margin-top: 4.5rem;
  }
  .c-feature {
    align-items: center;
    flex-direction: column;
  }
  .c-feature__figure {
    margin-top: 2.8125rem;
    width: 100%;
  }
  .c-feature__body {
    margin-left: 0;
    width: 100%;
  }
  .c-feature.c-feature--reverse .c-feature__body {
    width: 100%;
  }
  .c-feature.c-feature--reverse .c-feature__figure {
    margin-left: 0;
    margin-top: 2.8125rem;
    width: 100%;
  }
  .c-feature__num {
    font-size: 5.1875rem;
    margin-left: 0;
  }
  .c-feature__heading {
    font-size: 2.5rem;
  }
  .c-feature__em {
    font-size: 2.9375rem;
  }
  .c-feature__text-wrap {
    background-image: linear-gradient(to bottom, #c4c4c4 1px, transparent 1px);
    background-size: 100% 3.125rem;
  }
  .c-feature__text {
    font-size: 1.75rem;
    line-height: 1.8;
  }
  .c-feature__note {
    font-size: 1.75rem;
    line-height: 1.8;
  }
  .p-compare__container {
    max-width: 41.25rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .p-compare {
    padding-bottom: 12.5rem;
    padding-top: 6.25rem;
  }
  .p-compare__title-text {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-compare__title-accent {
    font-size: 4.75rem;
    line-height: 1.3947368421;
  }
  .p-compare__table-wrap {
    margin-top: 5rem;
  }
  .p-compare__table-wrap img + img {
    margin-top: 2.5rem;
  }
  .p-compare__lead {
    margin-top: 6.25rem;
  }
  .p-compare__lead-text {
    font-size: 2.25rem;
    line-height: 1.3888888889;
  }
  .p-compare__lead-em {
    font-size: 2.25rem;
    line-height: 1.3888888889;
  }
  .p-compare__features {
    align-items: center;
    flex-direction: column;
    margin-top: 4.125rem;
  }
  .c-compare-feature {
    margin-left: 0;
    width: 100%;
  }
  .c-compare-feature + .c-compare-feature {
    margin-top: 6.25rem;
  }
  .c-compare-feature__media {
    width: 21.25rem;
  }
  .c-compare-feature__text {
    font-size: 2rem;
  }
  .p-compare__feature-bg {
    margin-top: 1.125rem;
    max-width: 33.75rem;
  }
  .p-compare__feature-bg-text {
    font-size: 2.25rem;
    line-height: 1.3888888889;
    margin-top: -14.5rem;
  }
  .p-hero-block__eyebrow {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .u-text-emphasis {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-hero-block__desc {
    font-size: 2rem;
    line-height: 1.4;
  }
  .p-hero-block__desc span.u-sp-only {
    line-height: 2;
  }
  .p-hero-block__catch {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-hero-block__sub {
    margin-top: 0.5rem;
  }
  .c-chip-list {
    gap: 0.75rem;
    margin-top: 0.5rem;
  }
  .c-chip {
    font-size: 2.25rem;
    padding: 0.375rem 0.75rem 0.375rem 0.375rem;
  }
  .c-chip__icon {
    font-size: 1.75rem;
    height: 2.875rem;
    margin-right: 0.5rem;
    width: 2.875rem;
  }
  .p-intro {
    margin-top: -1.25rem;
  }
  .p-intro__inner {
    margin-bottom: 6.25rem;
  }
  .p-intro__visual {
    display: block;
    height: auto;
    left: -0.625rem;
    width: 13.125rem;
  }
  .p-intro__catch {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-intro__em {
    position: relative;
    z-index: 2;
  }
  .p-intro__em img {
    width: 10rem;
  }
  .p-intro__lead {
    font-size: 2.25rem;
    line-height: 1.3888888889;
  }
  .p-intro__highlight {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .p-intro__underline {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .p-intro__note {
    font-size: 1.875rem;
    line-height: 1.5;
    margin-top: 1.875rem;
    max-width: 39.375rem;
    text-align: left;
  }
  .p-step-inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .p-step {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .p-step__container {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-step__content {
    padding-top: 5.125rem;
  }
  .p-step__num {
    font-size: 6.25rem;
  }
  .p-step__headline {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-step__body {
    margin-top: 2.5625rem;
  }
  .p-step__item {
    font-size: 2rem;
    gap: 1.5625rem;
    line-height: 1.40625;
  }
  .p-step__check {
    margin-top: 0.375rem;
  }
  .p-step__visual {
    flex: none;
    margin-left: auto;
    margin-left: -1.25rem;
    margin-right: auto;
    margin-top: 2.5rem;
    width: calc(100% + 2.5rem);
  }
  .p-price-table {
    padding: 2.5rem 1.25rem 1.25rem;
  }
  .p-price-table__inner {
    padding: 0;
  }
  .p-price-table__office {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-price-table__office::after {
    bottom: -1.375rem;
  }
  .p-price-table__title {
    font-size: 3.75rem;
    line-height: 1.4;
    margin-top: 0.625rem;
  }
  .p-price-table__container {
    background-color: #ffffff;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3.75rem;
    max-width: 41.25rem;
    padding-bottom: 0.9375rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    padding-top: 0.9375rem;
  }
  .p-price-table__note {
    font-size: 1.625rem;
    line-height: 1.3846153846;
    margin-top: 0rem;
  }
  .p-price-table__head-text {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-price-table__cell {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-price-table__row .p-price-table__cell {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-price-table__footer {
    font-size: 1.75rem;
    line-height: 1.40625;
  }
  .p-price-structure {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    padding-top: 3.75rem;
  }
  .p-price-structure__heading {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-price-structure__text {
    font-size: 1.875rem;
    line-height: 1.5;
  }
  .p-price-structure__item {
    font-size: 1.875rem;
    line-height: 1.5;
    margin-bottom: 0.625rem;
    padding: 0.375rem 0.375rem;
  }
  .p-price-structure__plus {
    font-size: 1.875rem;
    line-height: 1.5;
    padding-bottom: 1rem;
    padding-top: 0rem;
  }
  .p-basic-fee-section {
    padding: 3.75rem 0.9375rem 6.25rem 0.9375rem;
  }
  .p-basic-fee {
    padding: 1.25rem 0.9375rem;
  }
  .p-basic-fee + .p-basic-fee {
    margin-top: 2.5rem;
  }
  .p-basic-fee__title {
    font-size: 2.25rem;
    line-height: 1.3888888889;
  }
  .p-basic-fee__subtitle {
    font-size: 1.875rem;
    line-height: 1.5;
    margin-left: 1em;
    padding-left: 1.875rem;
    text-indent: -4.125rem;
  }
  .p-basic-fee__dot {
    font-size: 0.875rem;
    line-height: 2;
  }
  .p-basic-fee__row {
    display: grid;
    grid-template-columns: 6.25rem 1fr 1fr;
  }
  .p-basic-fee__row.row-wide {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .p-basic-fee__row.p-basic-fee__row--header.u-sp-only {
    display: grid;
    grid-template-columns: 6.25rem 1fr 1fr;
  }
  .p-basic-fee__row.p-basic-fee__row--header.u-sp .p-basic-fee__cell {
    font-size: 1.5rem;
  }
  .p-basic-fee__cell {
    font-size: 2rem;
    height: auto;
    line-height: 1.40625;
    min-height: 5.25rem;
    padding: 0.625rem 0.375rem;
  }
  .cell-font-small {
    font-size: 1.25rem;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell .cell-font-small2 {
    font-size: 1.5rem;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell {
    font-size: 2rem;
    height: auto;
    min-height: auto;
    padding: 0.625rem 0.25rem;
  }
  .p-basic-fee__cell.p-basic-fee__cell--description {
    font-size: 2rem;
    height: auto;
    min-height: 5.25rem;
  }
  .p-basic-fee__cell.p-basic-fee__cell--description.align-left {
    text-align: left;
  }
  .p-basic-fee__note {
    font-size: 1.625rem;
    line-height: 1.3846153846;
    padding-left: 0.9375rem;
    text-align: left;
    text-indent: -0.9375rem;
  }
  .p-flow {
    padding: 4.375rem 1.25rem 5.3125rem;
  }
  .p-flow__title {
    font-size: 3.25rem;
    line-height: 2.1538461538;
  }
  .p-flow__title-emphasis {
    font-size: 3.75rem;
    line-height: 1.8666666667;
  }
  .p-flow__box {
    background-color: #dcf2e1;
    display: block;
    height: auto;
    padding: 0.625rem 1.25rem 1.25rem;
  }
  .p-flow__box-content {
    -moz-column-gap: 1.625rem;
    align-items: center;
    background-color: #dcf2e1;
    column-gap: 1.625rem;
    display: grid;
    grid-template-columns: 6.25rem 1fr;
    height: auto;
    padding: 1.25rem 0rem;
  }
  .p-flow__left {
    gap: 0.625rem;
    justify-content: flex-start;
  }
  .p-flow__step {
    font-size: 1.625rem;
    line-height: 1.2307692308;
  }
  .p-flow__step span {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-flow__right {
    display: block;
  }
  .p-flow__heading {
    font-size: 2.5rem;
    line-height: 1.4;
    width: 100%;
  }
  .p-flow__text {
    font-size: 2rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
    width: 100%;
  }
  .p-profile {
    padding: 6.625rem 0 5rem;
  }
  .p-profile__inner {
    margin-top: 4.375rem;
    max-width: 41.25rem;
    padding: 0 1.25rem;
  }
  .p-profile__title {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-profile__content {
    gap: 2.5rem;
    grid-template-columns: 1fr;
    padding-bottom: 3.75rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2.5rem;
  }
  .p-profile__role {
    font-size: 2rem;
    letter-spacing: 0.01em;
    line-height: 1.40625;
    padding: 0.75rem 1.25rem;
  }
  .p-profile__name {
    font-size: 2.75rem;
    letter-spacing: 0.01em;
    line-height: 1.4090909091;
    margin-left: 1rem;
  }
  .p-profile__career-item {
    grid-template-columns: 12rem 1fr;
  }
  .p-profile__career-date,
  .p-profile__career-text {
    font-size: 2rem;
    letter-spacing: 0.01em;
    line-height: 1.40625;
    padding: 0.75rem 0.625rem;
  }
  .p-profile__greeting {
    margin-bottom: 5rem;
  }
  .p-profile__heading {
    font-size: 2.5rem;
    letter-spacing: 0.01em;
    line-height: 1.4;
    margin-bottom: 1.875rem;
  }
  .p-profile__heading-decor {
    right: -0.9375rem;
  }
  .p-profile__text {
    font-size: 2rem;
    letter-spacing: 0.01em;
    line-height: 1.59375;
    margin-top: 1.875rem;
  }
  .p-performance {
    padding: 2.5rem 1.25rem 5rem;
  }
  .p-performance .p-performance__inner {
    padding: 0;
  }
  .p-performance .p-performance__office {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-performance .p-performance__office::after {
    bottom: -1.75rem;
  }
  .p-performance .p-performance__title {
    font-size: 3.75rem;
    line-height: 1.4;
    margin-top: 0.625rem;
  }
  .p-performance .p-performance__container {
    margin: 3.75rem auto 0;
    max-width: 41.25rem;
  }
  .p-performance .p-performance__row {
    grid-template-columns: 1fr 1fr;
  }
  .p-performance .p-performance__cell {
    font-size: 1.875rem;
    line-height: 1.5;
    padding: 1rem 1rem;
  }
  .p-performance .p-performance__cell--head {
    font-size: 1.875rem;
    line-height: 1.5;
    min-height: 11.25rem;
  }
  .p-performance__cell.sp-cell-font-small {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  .p-performance__cell.sp-cell-font-small .sp-small {
    font-size: 1.375rem;
  }
  .p-performance__cell.sp-cell-font-small .sp-large {
    font-size: 1.875rem;
    line-height: 1.5;
    margin-top: -2.25rem;
  }
  .p-performance__cell.sp-cell-font-small.u-sp-only {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  .p-performance__cell.sp-cell-font-small.u-pc-only {
    display: none;
  }
  .p-case-study {
    padding-bottom: 7.5rem;
    padding-top: 3.75rem;
  }
  .p-case-study__title {
    font-size: 2.25rem;
    line-height: 1.3888888889;
  }
  .p-case-study__container {
    margin-top: 1.875rem;
    padding: 1.25rem;
    padding-bottom: 2.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 1.25rem;
  }
  .p-case-study__headline {
    flex-wrap: wrap;
    font-size: 1.75rem;
    justify-content: center;
    line-height: 1.4285714286;
    max-width: 100%;
    width: 100%;
  }
  .c-badge.c-badge--case {
    align-items: stretch;
    flex-wrap: wrap;
  }
  .c-badge__label {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    font-size: 1.75rem;
    justify-content: center;
    line-height: 1.4285714286;
  }
  .c-badge__text {
    font-size: 2rem;
    line-height: 1.4285714286;
    padding-bottom: 0.25rem;
    padding-top: 0.5rem;
    text-align: center;
    width: 100%;
  }
  .p-case-study__board {
    padding-top: 7.5rem;
  }
  .p-case-study__company-name {
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .p-case-study__illust {
    left: 75%;
    top: 19%;
    width: 8.125rem;
  }
  .p-case-study__illust.illust01 {
    top: 12%;
    width: 7.5rem;
  }
  .p-case-study__illust.illust02 {
    top: 12.7%;
    width: 8.75rem;
  }
  .p-case-study__illust.illust03 {
    top: 12%;
    width: 8.75rem;
  }
  .p-case-study__illust.illust04 {
    top: 11.5%;
    width: 6.25rem;
  }
  .p-case-study__illust.illust05 {
    top: 11%;
    width: 6.875rem;
  }
  .p-case-study__arrow {
    top: 72%;
    transform: translate(-50%, -50%) rotate(90deg);
    width: 1.875rem;
  }
  .p-case-study__container.p-case-study01 .p-case-study__arrow {
    top: 67%;
  }
  .p-case-study__container.p-case-study02 .p-case-study__arrow {
    top: 65%;
  }
  .p-case-study__container.p-case-study03 .p-case-study__arrow {
    top: 65%;
  }
  .p-case-study__container.p-case-study04 .p-case-study__arrow {
    top: 65%;
  }
  .p-case-study__container.p-case-study05 .p-case-study__arrow {
    top: 62%;
  }
  .l-grid.l-grid--two {
    gap: 2.8125rem;
    grid-template-columns: 1fr;
  }
  .c-panel__header {
    font-size: 1.25rem;
    line-height: 1.4;
    padding: 0.625rem 0.75rem;
  }
  .c-panel__body {
    padding: 0.5rem 0.9375rem 1.25rem;
  }
  .c-list__item {
    font-size: 1.625rem;
    padding-left: 0.9375rem;
  }
  .c-callout {
    margin-top: 2.1875rem;
    padding: 2.1875rem 1.875rem;
  }
  .c-callout__title {
    font-size: 1.375rem;
    gap: 0.5rem;
    left: 15%;
    line-height: 1.3636363636;
    padding: 0.5rem 0.9375rem;
    top: -1.125rem;
  }
  .c-callout__title img {
    height: 1.625rem;
    width: 1rem;
  }
  .c-callout__item {
    font-size: 1.625rem;
    line-height: 1.5;
  }
  .p-tax-guide {
    background-image: url("../img/tax-guide-bg_sp.png");
    padding-bottom: 11.875rem;
    padding-top: 5rem;
  }
  .p-tax-guide__title {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-tax-guide__compare {
    align-items: center;
    flex-direction: column;
    margin-top: 10rem;
  }
  .p-tax-guide__side.p-tax-guide__side--voluntary::before {
    left: 50%;
  }
  .p-tax-guide__side.p-tax-guide__side--compulsory::before {
    left: 50%;
    top: 55%;
  }
  .p-tax-guide__side + .p-tax-guide__side {
    margin-top: 10rem;
  }
  .p-tax-guide__side.p-tax-guide__side--voluntary * {
    transform: translateX(0);
  }
  .p-tax-guide__chip-text {
    font-size: 1.625rem;
    line-height: 1.3846153846;
  }
  .p-tax-guide__side-title {
    font-size: 5rem;
    line-height: 1;
  }
  .p-tax-guide__note {
    font-size: 1.625rem;
    line-height: 1.3846153846;
  }
  .p-tax-guide__list {
    font-size: 2rem;
    line-height: 1.40625;
    max-width: 21.875rem;
  }
  .p-tax-guide__side.p-tax-guide__side--compulsory .p-tax-guide__list {
    padding-left: 0rem;
  }
  .p-tax-guide__item {
    align-items: baseline;
    font-size: 1.5rem;
    line-height: 1.40625;
  }
  .p-tax-process {
    background-image: url("../img/tax-process-bg_sp.jpg");
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    padding-bottom: 6.25rem;
    padding-top: 6.875rem;
  }
  .p-tax-process__title {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-tax-process__list {
    align-items: center;
    flex-direction: column;
    margin-top: 4.1875rem;
  }
  .p-tax-process__item {
    flex: none;
    width: 100%;
  }
  .p-tax-process__arrow {
    margin-bottom: 1.875rem;
    margin-top: 1.875rem;
  }
  .p-tax-process__arrow img {
    height: 2.5rem;
  }
  .c-step {
    flex-direction: row;
    gap: 3.125rem;
    min-height: 7.5rem;
  }
  .c-step__eyebrow {
    font-size: 2rem;
    line-height: 1;
  }
  .c-step__eyebrow span {
    font-size: 2.5rem;
    line-height: 1;
  }
  .c-step__title {
    font-size: 2.5rem;
    line-height: 1.4;
    margin-top: 1.25rem;
  }
  .c-step__caption {
    font-size: 2rem;
    line-height: 1.5;
    margin-top: 0;
  }
  .p-tax-step {
    margin-top: 0;
    padding-bottom: 6.75rem;
    padding-top: 2.5rem;
  }
  .p-tax-step__container + .p-tax-step__container {
    margin-top: 10rem;
  }
  .p-tax-step__panel {
    padding: 5.625rem 1.25rem 4.875rem;
  }
  .p-tax-step__badge {
    height: 7.5rem;
    top: -3.75rem;
    width: 7.5rem;
  }
  .p-tax-step__badge-text {
    font-size: 1.25rem;
    line-height: 1;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 2.25rem;
    line-height: 1.25;
  }
  .p-tax-step__title {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-tax-step__grid {
    flex-direction: column;
  }
  .p-tax-step__aside {
    flex: none;
    margin-top: 1.25rem;
    width: 100%;
  }
  .p-tax-step__aside-caption {
    font-size: 2rem;
    line-height: 1.5;
  }
  .p-tax-step__content {
    flex: none;
    margin-left: 0;
    margin-top: 3.75rem;
    max-width: 100%;
    width: 100%;
  }
  .p-tax-step__block + .p-tax-step__block {
    margin-top: 2rem;
  }
  .p-tax-step__block-head {
    font-size: 2.5rem;
    line-height: 1.4;
    padding: 1rem 1.375rem;
  }
  .p-tax-step__block-body {
    padding: 0.9375rem 1.25rem 2.125rem;
  }
  .p-tax-step__item.p-tax-step__item--check .p-tax-step__check {
    height: 1.875rem;
    width: 1.875rem;
  }
  .p-tax-step__text {
    font-size: 2rem;
    line-height: 1.5625;
  }
  .p-tax-step__text.p-tax-step__note-title {
    line-height: 1.3125;
    padding-bottom: 0.375rem;
  }
  .p-tax-step__range-chip {
    width: 16.625rem;
  }
  .p-tax-step__emph {
    font-size: 2.5rem;
  }
  .p-tax-process {
    background-image: url("../img/tax-process-bg_sp.jpg");
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    padding-bottom: 6.25rem;
    padding-top: 6.875rem;
  }
  .p-tax-process__title {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-tax-process__list {
    align-items: center;
    flex-direction: column;
    margin-top: 4.1875rem;
  }
  .p-tax-process__item {
    flex: none;
    width: 100%;
  }
  .p-tax-process__arrow {
    margin-bottom: 1.875rem;
    margin-top: 1.875rem;
  }
  .p-tax-process__arrow img {
    height: 2.5rem;
  }
  .c-step {
    flex-direction: row;
    gap: 3.125rem;
    min-height: 7.5rem;
  }
  .c-step__eyebrow {
    font-size: 2rem;
    line-height: 1;
  }
  .c-step__eyebrow span {
    font-size: 2.5rem;
    line-height: 1;
  }
  .c-step__title {
    font-size: 2.5rem;
    line-height: 1.4;
    margin-top: 1.25rem;
  }
  .c-step__caption {
    font-size: 2rem;
    line-height: 1.5;
    margin-top: 0;
  }
  .p-tax-step {
    margin-top: 0;
    padding-bottom: 6.75rem;
    padding-top: 2.5rem;
  }
  .p-tax-step__container + .p-tax-step__container {
    margin-top: 10rem;
  }
  .p-tax-step__panel {
    padding: 5.625rem 1.25rem 4.875rem;
  }
  .p-tax-step__badge {
    height: 7.5rem;
    top: -3.75rem;
    width: 7.5rem;
  }
  .p-tax-step__badge-text {
    font-size: 1.25rem;
    line-height: 1;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 2.25rem;
    line-height: 1.25;
  }
  .p-tax-step__title {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-tax-step__grid {
    flex-direction: column;
  }
  .p-tax-step__aside {
    flex: none;
    margin-top: 1.25rem;
    width: 100%;
  }
  .p-tax-step__aside-caption {
    font-size: 2rem;
    line-height: 1.5;
  }
  .p-tax-step__content {
    flex: none;
    margin-left: 0;
    margin-top: 3.75rem;
    max-width: 100%;
    width: 100%;
  }
  .p-tax-step__block + .p-tax-step__block {
    margin-top: 2rem;
  }
  .p-tax-step__block-head {
    font-size: 2.5rem;
    line-height: 1.4;
    padding: 1rem 1.375rem;
  }
  .p-tax-step__block-body {
    padding: 0.9375rem 1.25rem 2.125rem;
  }
  .p-tax-step__item.p-tax-step__item--check .p-tax-step__check {
    height: 1.875rem;
    width: 1.875rem;
  }
  .p-tax-step__text {
    font-size: 2rem;
    line-height: 1.5625;
    margin-top: 0.625rem;
  }
  .c-info-card__note .p-tax-step__text.indent {
    padding-left: 2em;
    text-indent: -1em;
  }
  .p-tax-step__note-icon {
    height: 3rem;
    width: 3rem;
  }
  .p-tax-step__text.p-tax-step__note-title {
    line-height: 1.3125;
    padding-bottom: 0.375rem;
  }
  .p-tax-step__range-chip {
    width: 16.625rem;
  }
  .p-tax-step__emph {
    font-size: 2.5rem;
  }
  .p-unannounced {
    background-image: url("../img/unannounced-bg_sp.jpg");
    padding-bottom: 6.25rem;
    padding-top: 6.875rem;
  }
  .p-unannounced__title {
    font-size: 3.75rem;
    line-height: 1.4;
  }
  .p-unannounced__grid {
    gap: 2.5rem;
    grid-template-columns: 1fr;
  }
  .c-info-card__head-text {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .c-info-card__head::after {
    border-left: 0.9375rem solid transparent;
    border-right: 0.9375rem solid transparent;
    border-top: 0.9375rem solid #02b16c;
    bottom: -0.875rem;
  }
  .c-info-card__body {
    padding: 1.125rem 1.5rem 2.75rem;
  }
  .c-info-card__list {
    margin-top: 1rem;
  }
  .c-info-card__list .p-tax-step__item .p-tax-step__check,
  .c-info-card__item .p-tax-step__check {
    height: 1.875rem !important;
    max-height: 1.875rem !important;
    max-width: 1.875rem !important;
    min-height: 1.875rem !important;
    min-width: 1.875rem !important;
    width: 1.875rem !important;
  }
  .p-tax-support {
    padding-bottom: 6.25rem;
    padding-top: 6.875rem;
  }
  .p-tax-support__kicker {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-tax-support__kicker span {
    font-size: 3.5rem;
    line-height: 1.3928571429;
  }
  .p-tax-support__title {
    font-size: 3.5rem;
    line-height: 1.3928571429;
  }
  .p-tax-support__title .p-tax-support__accent-small {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-tax-support__accent::after {
    bottom: -1.875rem;
  }
  .p-tax-support__em {
    font-size: 3.5rem;
    line-height: 1.3928571429;
    text-align: left;
  }
  .p-tax-support__lead {
    font-size: 2rem;
    line-height: 1.40625;
    margin-top: 3.4375rem;
  }
  .p-tax-support__circles {
    align-items: center;
    flex-direction: column;
    margin-top: 6.25rem;
  }
  .p-tax-support__unit {
    margin-left: auto;
    margin-right: auto;
    max-width: 41.25rem;
    width: 100%;
  }
  .p-tax-support__unit + .p-tax-support__unit {
    margin-left: 0;
    margin-top: 6.25rem;
  }
  .p-tax-support__unit::before {
    height: 34.375rem;
    width: 34.375rem;
  }
  .p-tax-support__unit-title {
    font-size: 3.5rem;
    line-height: 1.1964285714;
  }
  .p-tax-support__list {
    margin-top: 1rem;
  }
  .p-tax-support__item {
    align-items: baseline;
    font-size: 2rem;
    line-height: 1.40625;
    max-width: 80%;
    padding-left: 3.75rem;
  }
  .p-tax-support__check {
    height: 1.875rem;
    width: 1.875rem;
  }
  .p-tax-support__message-wrap {
    margin-top: 6.25rem;
  }
  .p-tax-support__message {
    font-size: 2.25rem;
    line-height: 1.3888888889;
    margin-top: 3.375rem;
  }
  .p-tax-support__detail-container {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
  .p-tax-support__tab {
    height: 9.0625rem;
  }
  .p-tax-support__tab-title {
    font-size: 2.5rem;
    line-height: 1.2;
  }
  .p-tax-support__tab-sub {
    font-size: 2rem;
  }
  .p-tax-support__board {
    display: block;
  }
  .p-tax-support__board-left {
    flex: none;
    margin-left: auto;
    margin-right: auto;
    margin-top: 6.875rem;
    width: 100%;
  }
  .p-tax-support__board-right {
    flex: none;
    margin-top: 6.25rem;
  }
  .p-tax-support__section-head {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .p-tax-support__section-head-decor {
    right: -1.875rem;
  }
  .p-tax-support__feature-text {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-tax-support__check {
    height: 1.875rem;
    width: 1.875rem;
  }
  .p-tax-support__note {
    padding: 0.75rem 1.125rem;
  }
  .p-tax-support__note-icon {
    height: 3rem;
    width: 3rem;
  }
  .p-tax-support__note-text {
    font-size: 2rem;
    line-height: 1.40625;
    padding-left: 1rem;
  }
  .p-tax-support__triad {
    height: 25rem;
    width: 30rem;
  }
  .p-tax-support__triad-center {
    font-size: 2rem;
    height: 22.5rem;
    left: 50%;
    line-height: 1.1875;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 22.5rem;
  }
  .p-tax-support__triad-item {
    font-size: 2rem;
    height: 13.125rem;
    line-height: 1.1875;
    width: 13.125rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--top {
    left: 50%;
    top: 1.875rem;
    transform: translate(-50%, -50%);
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--left {
    bottom: 5rem;
    left: 5rem;
    transform: translate(-50%, 50%);
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--left img {
    height: auto;
    width: 3.125rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--right {
    bottom: 5rem;
    right: 5rem;
    transform: translate(50%, 50%);
  }
  .p-tax-support__ribbon-wrap {
    background-color: #ffffff;
    border: 1px solid #e87800;
    margin-left: auto;
    margin-right: auto;
    max-width: 90%;
    padding: 1.25rem 1rem 1.5rem;
    text-align: center;
  }
  .p-tax-support__ribbon {
    border: none;
    font-size: 2.5rem;
    line-height: 1.2;
    padding: 0;
  }
  .p-tax-support__board.p-tax-support__merit {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .p-tax-support__flow {
    display: block;
  }
  .p-tax-support__flow-badge {
    font-size: 1.625rem;
    line-height: 1.2307692308;
  }
  .p-tax-support__flow-badge span {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-tax-support__flow-title {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .p-tax-support__flow-text {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-tax-support__flow-arrow {
    margin-bottom: 1.25rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.25rem;
    max-width: 2.5rem;
  }
  .p-tax-support__merit-right {
    margin-top: 3.125rem;
  }
  .p-tax-support__merit-list {
    grid-template-columns: 1fr;
    margin-top: 3.125rem;
  }
  .p-tax-support__merit-item {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
  .p-tax-support__merit-item + .p-tax-support__merit-item {
    margin-top: 2.1875rem;
  }
  .p-tax-support__merit-title {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .p-tax-support__merit-text {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .u-mt100 {
    margin-top: 1.875rem;
  }
  .u-mtSp10 {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .u-mtSp20 {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .u-mtSp30 {
    margin-top: 30px !important;
    margin-top: 1.875rem !important;
  }
  .u-mtSp40 {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .u-mtSp50 {
    margin-top: 50px !important;
    margin-top: 3.125rem !important;
  }
  .u-mtSp60 {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .u-mtSp70 {
    margin-top: 70px !important;
    margin-top: 4.375rem !important;
  }
  .u-mtSp80 {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .u-mtSp90 {
    margin-top: 90px !important;
    margin-top: 5.625rem !important;
  }
  .u-mtSp100 {
    margin-top: 100px !important;
    margin-top: 6.25rem !important;
  }
  .u-mtSp110 {
    margin-top: 110px !important;
    margin-top: 6.875rem !important;
  }
  .u-mtSp120 {
    margin-top: 120px !important;
    margin-top: 7.5rem !important;
  }
  .u-mtSp130 {
    margin-top: 130px !important;
    margin-top: 8.125rem !important;
  }
  .u-mtSp140 {
    margin-top: 140px !important;
    margin-top: 8.75rem !important;
  }
  .u-mtSp150 {
    margin-top: 150px !important;
    margin-top: 9.375rem !important;
  }
  .u-mtSp160 {
    margin-top: 160px !important;
    margin-top: 10rem !important;
  }
  .u-mtSp170 {
    margin-top: 170px !important;
    margin-top: 10.625rem !important;
  }
  .u-mtSp180 {
    margin-top: 180px !important;
    margin-top: 11.25rem !important;
  }
  .u-mtSp190 {
    margin-top: 190px !important;
    margin-top: 11.875rem !important;
  }
  .u-mtSp200 {
    margin-top: 200px !important;
    margin-top: 12.5rem !important;
  }
  .mt10 {
    margin-top: 0.625rem !important;
  }
  .u-pc-only {
    display: none;
  }
  .u-sp-only {
    display: block;
  }
  .u-textMdLeft {
    text-align: Left !important;
  }
  .u-textMdCenter {
    text-align: Center !important;
  }
  .u-textMdRight {
    text-align: Right !important;
  }
  .u-textMdJustify {
    text-align: Justify !important;
  }
  .fixed-footer{
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    display: block;
    background: #fff;
    padding: 2.5vw;
    z-index: 999;
    box-shadow: 0 0 15px 0 rgba(0,0,0,0.6);
  }
  .fixed-footer ul{
    display: flex;
    justify-content: space-between;
    column-gap: 2.5%;
  }
  .fixed-footer li{
    width: 48.75%;
  }
  .fixed-footer li a{
    display: flex;
    align-items: center;
    border-radius: 5px;
    position: relative;
    height: 16vw;
    width: 100%;
    color: #fff;
    font-weight: bold;
    padding-left: 8vw;
  }
  .fixed-footer .tel a{
    background: #02b16c;
  }
  .fixed-footer .tel a::before{
    content: "";
    background: url(../img/icon-tel.png);
    left: 2vw;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    aspect-ratio: 1/1;
    width: 18px;
  }
  .fixed-footer .mail a{
    background: #e87800;
  }
  .fixed-footer .mail a::before{
    content: "";
    background: url(../img/icon-mail.png);
    left: 2vw;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    aspect-ratio: 1/1;
    width: 16px;
  }
  .fixed-footer li span{
    display: block;
  }
  .fixed-footer-txt-t{
    font-size: 3vw;
  }
  .fixed-footer-txt-t.yellow{
    color: #faee99;
  }
  .fixed-footer-txt-b{
    font-size: 3.5vw;
  }
}

@media screen and (max-width: 660px) {
  .p-tax-support__em {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-tax-support__unit-title {
    font-size: 3rem;
    line-height: 1.3958333333;
  }
  .p-tax-support__item {
    font-size: 1.625rem;
    line-height: 1.3846153846;
  }
  .p-tax-support__item + .p-tax-support__item {
    margin-top: 0.25rem;
  }
}

@media screen and (max-width: 600px) {
  .p-contact-banner__inner {
    top: 40%;
  }
  .p-contact-banner__title {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-contact-banner__buttons {
    margin-top: 0.625rem;
  }
  .c-button {
    max-width: 21.875rem;
    min-height: 3.75rem;
  }
  .c-button__text {
    font-size: 1.625rem;
    margin-left: 1.875rem;
  }
  .c-button__text.text-tell {
    font-size: 1.625rem;
    margin-left: 1.875rem;
  }
  .p-faq {
    padding-bottom: 6.25rem;
  }
  .p-faq__q-badge {
    height: 2.4375rem;
    left: 0.625rem;
    width: 2.4375rem;
  }
  .p-faq__q-text {
    font-size: 1.5rem;
    line-height: 1.4166666667;
    padding-left: 3.9375rem;
  }
  .p-faq__answer {
    margin-top: 3.75rem;
  }
  .p-faq__lead {
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .p-faq__reason {
    margin-top: 3.75rem;
  }
  .p-faq__reason-label {
    font-size: 1rem;
  }
  .p-faq__reason--block .p-faq__reason-bar {
    padding: 1.75rem 1.125rem 1.0625rem 2.5rem;
  }
  .p-faq__reason-icon {
    width: 1.0625rem;
  }
  .p-faq__reason-text {
    font-size: 1.125rem;
  }
  .p-faq__point-label {
    font-size: 1.25rem;
  }
  .p-faq__point-text {
    font-size: 1.25rem;
  }
  .p-faq__compare-label {
    font-size: 1rem;
    line-height: 1.125;
  }
  .p-faq__bubble-title {
    font-size: 0.875rem;
    line-height: 1.2857142857;
  }
  .p-faq__bubble-mark {
    width: 1.0625rem;
  }
  .p-faq__bubble-text {
    font-size: 1.125rem;
  }
  .p-footer__copy-text {
    font-size: 1rem;
  }
  .p-hero__inner {
    padding-bottom: 3.125rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    padding-top: 2.25rem;
  }
  .p-hero__notice-text {
    font-size: 1.5rem;
    line-height: 1.4166666667;
    padding: 1.25rem;
  }
  .p-hero__lead-main {
    font-size: 2.5rem;
  }
  .p-hero__lead-strong {
    font-size: 3.75rem;
  }
  .p-hero__lead-accent {
    font-size: 3.75rem;
  }
  .p-hero__lead-accent .p-hero__lead-accent--small {
    font-size: 2.5rem;
  }
  .p-hero__card {
    margin-top: 2.5rem;
    max-width: 37.5rem;
  }
  .p-hero__sub {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-top: 1.25rem;
  }
  .p-hero-card__body {
    padding: 1rem 1rem;
  }
  .p-hero-card__title-img {
    max-width: 18.75rem;
  }
  .p-hero-card__text {
    font-size: 1.25rem;
    line-height: 1.4;
    margin-left: 0.5rem;
  }
  .p-feature-nav__list {
    padding-top: 1.875rem;
  }
  .p-feature-nav__label {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
  .p-reason__kicker span {
    font-size: 2.25rem;
    line-height: 1.4444444444;
  }
  .p-reason__title {
    font-size: 2.75rem;
  }
  .p-reason__em {
    font-size: 3.125rem;
  }
  .c-media__label {
    height: 3.75rem;
    width: 3.125rem;
  }
  .c-media__title {
    font-size: 1.875rem;
  }
  .c-media__text {
    font-size: 1.25rem;
  }
  .p-issues {
    padding-bottom: 0;
  }
  .p-issues__title {
    font-size: 2.375rem;
  }
  .p-issues__accent {
    font-size: 2.375rem;
  }
  .p-issues__subtitle {
    font-size: 2rem;
  }
  .p-issues__subtitle span {
    font-size: 1.75rem;
  }
  .p-issues__note {
    font-size: 1.625rem;
  }
  .p-issues__col {
    max-width: 88%;
  }
  .c-list-check__item {
    font-size: 1.375rem;
  }
  .p-assurance__kicker {
    font-size: 2.5rem;
  }
  .p-assurance__kicker-small {
    font-size: 2.0625rem;
  }
  .p-assurance__title {
    font-size: 3rem;
  }
  .p-assurance__title-em {
    font-size: 3.875rem;
  }
  .c-feature__num {
    font-size: 4.75rem;
  }
  .c-feature__heading {
    font-size: 2rem;
  }
  .c-feature__em {
    font-size: 2.3125rem;
  }
  .c-feature__text-wrap {
    background-image: linear-gradient(to bottom, #c4c4c4 1px, transparent 1px);
    background-size: 100% 2.6875rem;
  }
  .c-feature__text {
    font-size: 1.5rem;
  }
  .c-feature__note {
    font-size: 1.5625rem;
  }
  .p-compare {
    padding-bottom: 9.375rem;
  }
  .p-compare__title-text {
    font-size: 2.5rem;
  }
  .p-compare__title-accent {
    font-size: 3.75rem;
  }
  .p-compare__lead-text {
    font-size: 1.875rem;
  }
  .p-compare__lead-em {
    font-size: 1.875rem;
  }
  .c-compare-feature__text {
    font-size: 1.5rem;
  }
  .p-compare__feature-bg {
    max-width: 27.5rem;
  }
  .p-compare__feature-bg-text {
    font-size: 1.5rem;
    margin-top: -11.25rem;
  }
  .p-hero-block__eyebrow {
    font-size: 2.5rem;
  }
  .u-text-emphasis {
    font-size: 3.25rem;
  }
  .p-hero-block__desc {
    font-size: 1.625rem;
  }
  .p-hero-block__catch {
    font-size: 2.5rem;
  }
  .c-chip {
    font-size: 2rem;
  }
  .c-chip__icon {
    font-size: 1rem;
    height: 1.5rem;
    margin-right: 0.5rem;
    width: 1.5rem;
  }
  .p-intro {
    margin-top: -3.75rem;
  }
  .p-intro__visual {
    width: 12.8125rem;
  }
  .p-intro__catch {
    font-size: 2.5rem;
  }
  .p-intro__em img {
    width: 7.5rem;
  }
  .p-intro__lead {
    font-size: 1.5rem;
  }
  .p-intro__highlight {
    font-size: 1.5rem;
  }
  .p-intro__underline {
    font-size: 1.5rem;
  }
  .p-intro__note {
    font-size: 1.25rem;
  }
  .p-step__content {
    padding-top: 4.375rem;
  }
  .p-step__num {
    font-size: 5.625rem;
  }
  .p-step__headline {
    font-size: 2.375rem;
  }
  .p-step__item {
    font-size: 1.625rem;
    gap: 1.25rem;
  }
  .p-step__check {
    margin-top: 0.375rem;
  }
  .p-price-table__office {
    font-size: 2rem;
  }
  .p-price-table__office::after {
    bottom: -0.9375rem;
  }
  .p-price-table__title {
    font-size: 2.5rem;
  }
  .p-price-table__note {
    font-size: 1rem;
  }
  .p-price-table__head-text {
    font-size: 1.25rem;
  }
  .p-price-table__cell {
    font-size: 1.25rem;
  }
  .p-price-table__row .p-price-table__cell {
    font-size: 1.25rem;
  }
  .p-price-table__footer {
    font-size: 1.0625rem;
  }
  .p-price-structure {
    padding-top: 0.625rem;
  }
  .p-price-structure {
    padding-top: 0.0625rem;
  }
  .p-price-structure__heading {
    font-size: 2.5rem;
  }
  .p-price-structure__text {
    font-size: 1.25rem;
  }
  .p-price-structure__item {
    font-size: 1.5rem;
  }
  .p-price-structure__plus {
    font-size: 1.25rem;
  }
  .p-basic-fee__title {
    font-size: 1.5rem;
  }
  .p-basic-fee__subtitle {
    font-size: 1.25rem;
    padding-left: 1.25rem;
    text-indent: -2.75rem;
  }
  .p-basic-fee__row {
    grid-template-columns: 5rem 1fr 1fr;
  }
  .p-basic-fee__row.p-basic-fee__row--header.u-sp-only {
    grid-template-columns: 5rem 1fr 1fr;
  }
  .p-basic-fee__cell {
    font-size: 1.5rem;
  }
  .cell-font-small {
    font-size: 1rem;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell .cell-font-small2 {
    font-size: 1.25rem;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell {
    font-size: 1.5rem;
  }
  .p-basic-fee__cell.p-basic-fee__cell--description {
    font-size: 1.5rem;
  }
  .p-basic-fee__note {
    font-size: 1rem;
  }
  .p-flow__title {
    font-size: 2.25rem;
  }
  .p-flow__title-emphasis {
    font-size: 2.875rem;
  }
  .p-flow__step {
    font-size: 1rem;
  }
  .p-flow__step span {
    font-size: 1.25rem;
  }
  .p-flow__heading {
    font-size: 2rem;
  }
  .p-flow__text {
    font-size: 1.5rem;
  }
  .p-profile {
    padding: 5.625rem 0 5rem;
  }
  .p-profile__title {
    font-size: 2.5rem;
  }
  .p-profile__role {
    font-size: 1.25rem;
  }
  .p-profile__name {
    font-size: 1.75rem;
  }
  .p-profile__career-item {
    grid-template-columns: 7.8125rem 1fr;
  }
  .p-profile__career-date,
  .p-profile__career-text {
    font-size: 1.25rem;
  }
  .p-profile__heading {
    font-size: 1.75rem;
  }
  .p-profile__text {
    font-size: 1.25rem;
  }
  .p-performance .p-performance__office {
    font-size: 2rem;
  }
  .p-performance .p-performance__office::after {
    bottom: -0.9375rem;
  }
  .p-performance .p-performance__title {
    font-size: 2.5rem;
  }
  .p-performance .p-performance__cell {
    font-size: 1.25rem;
  }
  .p-performance .p-performance__cell--head {
    font-size: 1.25rem;
    min-height: 6.75rem;
  }
  .p-performance__cell.sp-cell-font-small .sp-small {
    font-size: 1rem;
  }
  .p-performance__cell.sp-cell-font-small .sp-large {
    font-size: 1.25rem;
    margin-top: -1.75rem;
  }
  .p-case-study {
    padding-bottom: 6.25rem;
    padding-top: 3.125rem;
  }
  .p-case-study__title {
    font-size: 2rem;
    line-height: 1.40625;
  }
  .p-case-study__container {
    margin-top: 1.5625rem;
    padding: 1rem;
    padding-bottom: 1.875rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 1rem;
  }
  .p-case-study__headline {
    font-size: 1.5rem;
    line-height: 1.4166666667;
  }
  .c-badge__label {
    font-size: 1.5rem;
    line-height: 1.4166666667;
  }
  .c-badge__text {
    font-size: 2rem;
    line-height: 1.4166666667;
  }
  .p-case-study__board {
    padding-top: 6.25rem;
  }
  .p-case-study__company-name {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
  .p-case-study__illust.illust01 {
    top: 12%;
    width: 7.5rem;
  }
  .p-case-study__illust.illust03 {
    top: 10%;
    width: 8.125rem;
  }
  .p-case-study__container.p-case-study01 .p-case-study__arrow {
    top: 66%;
  }
  .p-case-study__container.p-case-study02 .p-case-study__arrow {
    top: 63%;
  }
  .p-case-study__container.p-case-study03 .p-case-study__arrow {
    top: 60%;
  }
  .p-case-study__container.p-case-study04 .p-case-study__arrow {
    top: 61%;
  }
  .p-case-study__container.p-case-study05 .p-case-study__arrow {
    top: 61%;
  }
  .c-panel__header {
    font-size: 1.125rem;
    line-height: 1.4444444444;
    padding: 0.5rem 0.625rem;
  }
  .c-panel__body {
    padding: 0.375rem 0.75rem 1rem;
  }
  .c-list__item {
    font-size: 1.4375rem;
    line-height: 1.5714285714;
    padding-left: 0.75rem;
  }
  .c-callout {
    margin-top: 1.875rem;
    padding: 1.5625rem 1.25rem;
  }
  .c-callout__title {
    font-size: 1.125rem;
    gap: 0.375rem;
    left: 20%;
    line-height: 1.4444444444;
    padding: 0.375rem 0.75rem;
    top: -0.9375rem;
  }
  .c-callout__title img {
    height: 1.375rem;
    width: 0.875rem;
  }
  .c-callout__item {
    font-size: 1.5rem;
  }
  .p-tax-guide__title {
    font-size: 2.5rem;
  }
  .p-tax-guide__chip-text {
    font-size: 1.25rem;
  }
  .p-tax-guide__side-title {
    font-size: 3.75rem;
  }
  .p-tax-guide__note {
    font-size: 1.125rem;
  }
  .p-tax-guide__list {
    font-size: 1.125rem;
    max-width: 21.875rem;
  }
  .p-tax-guide__side.p-tax-guide__side--voluntary .p-tax-guide__list {
    margin-left: 7.5rem;
  }
  .p-tax-guide__item {
    font-size: 1.375rem;
  }
  .p-tax-guide__check {
    margin-top: 0.125rem;
  }
  .p-tax-process__title {
    font-size: 2.5rem;
  }
  .p-tax-process__arrow {
    margin-bottom: 1.25rem;
    margin-top: 1.25rem;
  }
  .p-tax-process__arrow img {
    height: 1.875rem;
  }
  .c-step__eyebrow {
    font-size: 1rem;
  }
  .c-step__eyebrow span {
    font-size: 1.25rem;
  }
  .c-step__title {
    font-size: 1.5rem;
  }
  .c-step__caption {
    font-size: 1.25rem;
  }
  .p-tax-step__badge-text {
    font-size: 0.8125rem;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 1.5rem;
  }
  .p-tax-step__title {
    font-size: 1.875rem;
  }
  .p-tax-step__aside-caption {
    font-size: 1.25rem;
  }
  .p-tax-step__block + .p-tax-step__block {
    margin-top: 1.25rem;
  }
  .p-tax-step__block-head {
    font-size: 1.5rem;
    padding: 0.6875rem 1rem;
  }
  .p-tax-step__block-body {
    padding: 0.875rem 1rem 1.5rem;
  }
  .p-tax-step__item.p-tax-step__item--check .p-tax-step__check {
    height: 1.25rem;
    width: 1.25rem;
  }
  .p-tax-step__text {
    font-size: 1.25rem;
  }
  .p-tax-step__emph {
    font-size: 1.625rem;
  }
  .p-tax-process__title {
    font-size: 2.5rem;
  }
  .p-tax-process__arrow {
    margin-bottom: 1.25rem;
    margin-top: 1.25rem;
  }
  .p-tax-process__arrow img {
    height: 1.875rem;
  }
  .c-step__eyebrow {
    font-size: 1rem;
  }
  .c-step__eyebrow span {
    font-size: 1.25rem;
  }
  .c-step__title {
    font-size: 1.5rem;
  }
  .c-step__caption {
    font-size: 1.25rem;
  }
  .p-tax-step__container + .p-tax-step__container {
    margin-top: 6.25rem;
  }
  .p-tax-step__panel {
    padding: 3.25rem 1.25rem 2.25rem;
  }
  .p-tax-step__badge {
    height: 5rem;
    top: -2.5rem;
    width: 5rem;
  }
  .p-tax-step__badge-text {
    font-size: 0.8125rem;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 1.5rem;
  }
  .p-tax-step__title {
    font-size: 1.875rem;
  }
  .p-tax-step__aside-caption {
    font-size: 1.25rem;
  }
  .p-tax-step__block + .p-tax-step__block {
    margin-top: 1.25rem;
  }
  .p-tax-step__block-head {
    font-size: 1.5rem;
    padding: 0.6875rem 1rem;
  }
  .p-tax-step__block-body {
    padding: 0.875rem 1rem 1.5rem;
  }
  .p-tax-step__item.p-tax-step__item--check .p-tax-step__check {
    height: 1.25rem;
    width: 1.25rem;
  }
  .p-tax-step__text {
    font-size: 1.25rem;
  }
  .p-tax-step__note-icon {
    height: 1.375rem;
    width: 1.375rem;
  }
  .p-tax-step__range-chip {
    width: 10.75rem;
  }
  .p-tax-step__emph {
    font-size: 1.625rem;
  }
  .p-unannounced {
    padding-bottom: 6.25rem;
    padding-top: 5.875rem;
  }
  .p-unannounced__title {
    font-size: 2.5rem;
  }
  .c-info-card__head-text {
    font-size: 1.5rem;
  }
  .c-info-card__list .p-tax-step__item .p-tax-step__check,
  .c-info-card__item .p-tax-step__check {
    height: 1.25rem !important;
    max-height: 1.25rem !important;
    max-width: 1.25rem !important;
    min-height: 1.25rem !important;
    min-width: 1.25rem !important;
    width: 1.25rem !important;
  }
  .p-tax-support {
    padding-bottom: 6.25rem;
    padding-top: 5.875rem;
  }
  .p-tax-support__kicker {
    font-size: 2rem;
  }
  .p-tax-support__kicker span {
    font-size: 2.5rem;
  }
  .p-tax-support__title {
    font-size: 2.5rem;
  }
  .p-tax-support__title .p-tax-support__accent-small {
    font-size: 2rem;
  }
  .p-tax-support__accent::after {
    bottom: -1.25rem;
  }
  .p-tax-support__em {
    font-size: 2.5rem;
  }
  .p-tax-support__lead {
    font-size: 1.25rem;
    margin-top: 2.5rem;
  }
  .p-tax-support__unit + .p-tax-support__unit {
    margin-top: 4.625rem;
  }
  .p-tax-support__unit::before {
    height: 26.5625rem;
    width: 26.5625rem;
  }
  .p-tax-support__icon {
    width: 3.75rem;
  }
  .p-tax-support__unit-title {
    font-size: 2.625rem;
    margin-top: -3.125rem;
  }
  .p-tax-support__item {
    font-size: 1.25rem;
    padding-left: 4.375rem;
  }
  .p-tax-support__check {
    height: 1.125rem;
    width: 1.125rem;
  }
  .p-tax-support__message-wrap {
    margin-top: 4.375rem;
  }
  .p-tax-support__message {
    font-size: 1.5rem;
  }
  .p-tax-support__tab {
    height: 6.4375rem;
  }
  .p-tax-support__tab-title {
    font-size: 2.375rem;
    line-height: 1.1842105263;
  }
  .p-tax-support__tab-sub {
    font-size: 1.25rem;
  }
  .p-tax-support__board-wrap {
    padding-bottom: 1.5rem;
  }
  .p-tax-support__board-left {
    margin-top: 10%;
  }
  .p-tax-support__board-right {
    margin-top: 10%;
  }
  .p-tax-support__section-head {
    font-size: 1.5rem;
  }
  .p-tax-support__feature-text {
    font-size: 1.25rem;
  }
  .p-tax-support__check {
    height: 1.25rem;
    width: 1.25rem;
  }
  .p-tax-support__note {
    padding: 0.75rem 0.75rem;
  }
  .p-tax-support__note-icon {
    height: 1.5rem;
    width: 1.5rem;
  }
  .p-tax-support__note-text {
    font-size: 1.25rem;
    padding-left: 0.625rem;
  }
  .p-tax-support__triad {
    height: 18.75rem;
    width: 20rem;
  }
  .p-tax-support__triad-center {
    font-size: 1.25rem;
    height: 15rem;
    top: 45%;
    width: 15rem;
  }
  .p-tax-support__triad-item {
    font-size: 1.25rem;
    height: 8.75rem;
    width: 8.75rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--top {
    top: 1.5625rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--left {
    bottom: 4.375rem;
    left: 4.375rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--left img {
    height: 2.375rem;
    width: 2.375rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--right {
    bottom: 4.375rem;
    right: 4.375rem;
  }
  .p-tax-support__ribbon {
    font-size: 1.5rem;
  }
  .p-tax-support__flow-badge {
    font-size: 1rem;
  }
  .p-tax-support__flow-badge span {
    font-size: 1.25rem;
  }
  .p-tax-support__flow-title {
    font-size: 1.5rem;
  }
  .p-tax-support__flow-text {
    font-size: 1.25rem;
  }
  .p-tax-support__merit-title {
    font-size: 1.5rem;
  }
  .p-tax-support__merit-text {
    font-size: 1.25rem;
  }
  .u-md2-only {
    display: block;
  }
}

@media screen and (max-width: 550px) {
  .p-contact-banner__inner {
    top: 35%;
  }
  .p-contact-banner__title {
    font-size: 1.75rem;
    line-height: 1.5;
  }
  .p-contact-banner__buttons {
    margin-top: 0.3125rem;
  }
  .c-button {
    max-width: 20.625rem;
    min-height: 3.75rem;
  }
  .c-button__text {
    font-size: 1.4375rem;
    margin-left: 1.25rem;
  }
  .c-button__text.text-tell {
    font-size: 1.4375rem;
  }
  .p-faq__reason--block .p-faq__reason-bar {
    padding: 1.75rem 1.125rem 1.0625rem 1.25rem;
  }
  .p-hero__notice-text {
    font-size: 1.25rem;
    padding: 1rem;
  }
  .p-hero__lead-main {
    font-size: 1.75rem;
  }
  .p-hero__lead-strong {
    font-size: 2.875rem;
  }
  .p-hero__lead-accent {
    font-size: 3.125rem;
  }
  .p-hero__lead-accent .p-hero__lead-accent--small {
    font-size: 2.25rem;
  }
  .p-hero__card {
    margin-top: 2.5rem;
    max-width: 37.5rem;
  }
  .p-hero__sub {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-top: 1.25rem;
  }
  .p-hero-card__body {
    padding: 1rem 1rem;
  }
  .p-hero-card__title-img {
    max-width: 18.75rem;
  }
  .p-hero-card__item + .p-hero-card__item {
    font-size: 1.25rem;
    line-height: 1.4;
    margin-top: 0.5rem;
  }
  .p-hero-card__text {
    font-size: 1.125rem;
    line-height: 1.3928571429;
    text-align: left;
  }
  .p-feature-nav {
    margin-top: -3.75rem;
  }
  .p-feature-nav__list {
    padding-top: 0;
  }
  .p-reason__items {
    margin-top: 2.5rem;
  }
  .p-issues__title {
    font-size: 2.125rem;
  }
  .p-issues__accent {
    font-size: 2.125rem;
  }
  .p-issues__subtitle span {
    font-size: 1.625rem;
  }
  .p-issues__note {
    font-size: 1.375rem;
  }
  .p-issues__bottom-title {
    font-size: 2.625rem;
  }
  .p-issues__bottom-title {
    font-size: 2.375rem;
  }
  .c-compare-feature__media {
    width: 15rem;
  }
  .p-intro__visual {
    width: 11.5625rem;
  }
  .p-step__container {
    gap: 0.625rem;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell .cell-font-small2 {
    font-size: 1.125rem;
  }
  .p-flow__title-emphasis {
    font-size: 2.5rem;
  }
  .p-flow__text {
    font-size: 1.125rem;
  }
  .p-profile__inner {
    margin-top: 1.875rem;
  }
  .p-tax-guide {
    padding-bottom: 10rem;
  }
  .p-tax-guide__compare {
    margin-top: 6.25rem;
  }
  .p-tax-guide__side + .p-tax-guide__side {
    margin-top: 6.25rem;
  }
  .p-tax-guide__side.p-tax-guide__side--voluntary .p-tax-guide__list {
    margin-left: 6.25rem;
  }
  .c-info-card__body {
    padding: 1.125rem 0.9375rem 2.125rem;
  }
  .p-tax-support__triad-item {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 500px) {
  .p-contact-banner__inner {
    top: 33%;
  }
  .p-contact-banner__title {
    font-size: 1.5rem;
    line-height: 1.4166666667;
  }
  .c-button {
    max-width: 18.75rem;
    min-height: 3.4375rem;
  }
  .c-button__text {
    font-size: 1.3125rem;
    margin-left: 1.25rem;
  }
  .c-button__text.text-tell {
    font-size: 1.3125rem;
  }
  .p-faq__q-head {
    padding-right: 0.625rem;
  }
  .p-faq__reason-bar {
    padding: 1.75rem 0.75rem 1.0625rem;
  }
  .p-faq__reason--block .p-faq__reason-bar {
    padding: 1.75rem 0.875rem 1.0625rem 0.875rem;
  }
  .p-faq__reason--block .p-faq__reason-bar {
    padding: 1.75rem 0.625rem 1.0625rem 0.875rem;
  }
  .p-faq__reason-item {
    gap: 0.25rem;
  }
  .p-hero__sub {
    font-size: 1.125rem;
  }
  .p-feature-nav__label {
    font-size: 1rem;
  }
  .p-reason__kicker {
    font-size: 1.5rem;
    white-space: nowrap;
  }
  .p-reason__kicker span {
    font-size: 2rem;
  }
  .p-issues__title {
    font-size: 1.875rem;
  }
  .p-issues__accent {
    font-size: 1.875rem;
  }
  .p-issues__subtitle {
    font-size: 1.75rem;
  }
  .p-issues__note {
    font-size: 1.25rem;
  }
  .p-issues__col {
    max-width: 100%;
  }
  .p-issues__col--left {
    margin-top: 4.375rem;
  }
  .p-assurance__kicker {
    font-size: 2.25rem;
  }
  .p-assurance__title {
    font-size: 2.625rem;
  }
  .p-assurance__title-em {
    font-size: 3.5rem;
    line-height: 1.5;
  }
  .c-feature__figure {
    margin-top: 1.875rem;
  }
  .p-compare__title-text {
    font-size: 2.1875rem;
  }
  .p-compare__lead-text {
    font-size: 1.625rem;
    line-height: 1.5384615385;
  }
  .p-compare__lead-em::after {
    bottom: -0.75rem;
  }
  .p-compare__feature-bg-text {
    font-size: 1.375rem;
  }
  .p-hero-block__eyebrow {
    font-size: 2.1875rem;
  }
  .p-hero-block__desc {
    font-size: 1.375rem;
    margin-top: 1.25rem;
  }
  .p-hero-block__catch {
    font-size: 2.1875rem;
    margin-top: 0.875rem;
  }
  .p-intro {
    margin-top: -6.25rem;
  }
  .p-intro__visual {
    margin-top: -0.625rem;
    width: 11.25rem;
  }
  .p-step__container {
    gap: 0rem;
  }
  .p-step__content {
    padding-top: 3.75rem;
  }
  .p-step__num {
    font-size: 5.25rem;
  }
  .p-step__headline {
    font-size: 1.875rem;
  }
  .p-step__item {
    font-size: 1.5rem;
    gap: 0.9375rem;
  }
  .p-step__check {
    height: 1.375rem;
    width: 1.75rem;
  }
  .p-price-table__footer {
    font-size: 0.875rem;
    margin-top: 2.5rem;
  }
  .p-price-structure {
    margin-top: -1.875rem;
    position: relative;
    z-index: 1;
  }
  .p-price-structure__item {
    font-size: 1.25rem;
  }
  .p-basic-fee-section {
    padding-top: 2.5rem;
  }
  .p-basic-fee__table {
    margin-top: 0.625rem;
  }
  .p-basic-fee__cell {
    font-size: 1.25rem;
    min-height: auto;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell {
    font-size: 1.25rem;
  }
  .p-basic-fee__cell.p-basic-fee__cell--description {
    font-size: 1.25rem;
  }
  .p-flow {
    padding: 0.0625rem 0.9375rem 3.75rem;
  }
  .p-flow__title {
    font-size: 2rem;
  }
  .p-flow__title-emphasis {
    font-size: 2.25rem;
  }
  .p-flow__heading {
    font-size: 1.625rem;
  }
  .p-profile {
    padding: 5rem 0 2.5rem;
  }
  .p-profile__inner {
    margin-top: 1.25rem;
  }
  .p-case-study__illust {
    left: 82%;
  }
  .p-case-study__illust.illust02 {
    left: 86%;
    top: 10%;
    width: 6.875rem;
  }
  .p-case-study__illust.illust03 {
    top: 9%;
    width: 7.5rem;
  }
  .p-case-study__illust.illust05 {
    left: 87%;
    top: 9%;
    width: 6.25rem;
  }
  .c-callout {
    margin-top: 1.875rem;
    padding: 1.5625rem 0.75rem;
  }
  .p-tax-guide {
    padding-bottom: 8.75rem;
  }
  .p-tax-guide__side + .p-tax-guide__side {
    margin-top: 5.625rem;
  }
  .p-tax-guide__side-title {
    font-size: 2.5rem;
  }
  .p-tax-guide__side-title.p-tax-guide__side-title--compulsory {
    padding-bottom: 1.875rem;
  }
  .p-tax-guide__note {
    font-size: 1rem;
  }
  .p-tax-guide__list {
    gap: 0.75rem;
  }
  .p-tax-guide__side.p-tax-guide__side--voluntary .p-tax-guide__list {
    margin-left: 3.125rem;
  }
  .p-tax-guide__side.p-tax-guide__side--compulsory .p-tax-guide__list {
    padding-left: 2.3125rem;
  }
  .c-step {
    min-height: 6.25rem;
  }
  .c-step__icon {
    height: 3.5rem;
    width: 3.5rem;
  }
  .p-tax-step__aside-icon {
    width: 6.25rem;
  }
  .p-tax-step__aside-icon.p-tax-step__aside-icon--wide {
    width: 11.25rem;
  }
  .p-tax-step__block-head {
    font-size: 1.25rem;
  }
  .c-step {
    min-height: 6.25rem;
  }
  .c-step__icon {
    height: 3.5rem;
    width: 3.5rem;
  }
  .p-tax-step__aside-icon {
    width: 6.25rem;
  }
  .p-tax-step__aside-icon.p-tax-step__aside-icon--wide {
    width: 11.25rem;
  }
  .p-tax-step__block-head {
    font-size: 1.25rem;
  }
  .p-tax-step__block-body {
    padding: 0.875rem 0.375rem 1.5rem 0.5rem;
  }
  .p-tax-support__em {
    font-size: 2.125rem;
  }
  .p-tax-support__unit-title {
    font-size: 2.25rem;
  }
  .p-tax-support__item {
    font-size: 1.125rem;
    max-width: 86%;
    padding-left: 2.5rem;
  }
  .p-tax-support__triad {
    height: 16.25rem;
    width: 17.5rem;
  }
  .p-tax-support__triad-center {
    font-size: 1.125rem;
    height: 12.5rem;
    width: 12.5rem;
  }
  .p-tax-support__triad-item {
    font-size: 1rem;
    height: 6.875rem;
    width: 6.875rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--top {
    top: 0.9375rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--left {
    bottom: 3.125rem;
    left: 3.125rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--left img {
    height: 2.0625rem;
    width: 2.0625rem;
  }
  .p-tax-support__triad-item.p-tax-support__triad-item--right {
    bottom: 3.125rem;
    right: 3.125rem;
  }
}

@media screen and (max-width: 425px) {
  .p-contact-banner__inner {
    top: 28%;
  }
  .c-button {
    max-width: 16.875rem;
    min-height: 3.125rem;
  }
  .c-button__text {
    font-size: 1.1875rem;
    margin-left: 1.25rem;
  }
  .c-button__text.text-tell {
    font-size: 1.25rem;
    margin-left: 1.875rem;
  }
  .p-faq {
    padding-bottom: 5.125rem;
  }
  .p-faq__title {
    font-size: 2.5rem;
    line-height: 1.7;
  }
  .p-faq__q-badge {
    height: 2rem;
    width: 2rem;
  }
  .p-faq__q-text {
    font-size: 1.1875rem;
    line-height: 1.4;
    padding-left: 1.875rem;
  }
  .p-faq__answer {
    margin-top: 2.5rem;
  }
  .p-faq__lead {
    font-size: 1rem;
  }
  .p-faq__reason {
    margin-top: 3.125rem;
  }
  .p-faq__reason-label {
    font-size: 0.875rem;
  }
  .p-faq__reason--grid .p-faq__reason-bar {
    padding: 1.75rem 0.5rem 1.5rem 0.5rem;
  }
  .p-faq__reason-item {
    gap: 0.125rem;
  }
  .p-faq__reason-icon {
    width: 1rem;
  }
  .p-faq__reason-text {
    font-size: 1rem;
  }
  .p-faq__point-label {
    font-size: 1rem;
    line-height: 1.5;
  }
  .p-faq__point-text {
    font-size: 1rem;
  }
  .p-faq__compare-label {
    font-size: 0.875rem;
    line-height: 1.2857142857;
  }
  .p-faq__bubble-list {
    margin-left: 5%;
  }
  .p-faq__bubble-mark {
    width: 1rem;
  }
  .p-faq__bubble-text {
    font-size: 1rem;
  }
  .p-faq__bubble--diagonal,
  .p-faq__bubble--right {
    padding: 1.1875rem 0.625rem 1.875rem;
    width: 100%;
  }
  .p-footer__copy-text {
    font-size: 0.75rem;
    line-height: 1.2;
  }
  .p-hero__notice-text {
    font-size: 1.1875rem;
  }
  .p-hero__lead-strong {
    font-size: 2.625rem;
  }
  .p-hero__lead-accent {
    font-size: 2.875rem;
  }
  .p-hero__sub {
    font-size: 0.9375rem;
    margin-top: 1.625rem;
  }
  .p-feature-nav {
    margin-top: -6.25rem;
  }
  .p-feature-nav__panel {
    gap: 0.625rem;
    height: 7.5rem;
  }
  .p-reason {
    padding-top: 4.375rem;
  }
  .p-reason__accent::after {
    bottom: -0.625rem;
  }
  .c-media__label {
    height: 3.125rem;
    width: 2.5rem;
  }
  .c-media__title {
    font-size: 1.75rem;
    margin-left: 0.3125rem;
  }
  .p-issues__title {
    font-size: 1.625rem;
  }
  .p-issues__accent {
    font-size: 1.75rem;
  }
  .p-issues__subtitle {
    font-size: 1.5rem;
  }
  .p-issues__subtitle span {
    font-size: 1.375rem;
  }
  .p-issues__note {
    font-size: 1.125rem;
  }
  .c-card {
    padding: 1.0625rem 0.375rem 1.875rem 0.625rem;
  }
  .c-list-check__item {
    font-size: 1.25rem;
  }
  .p-assurance__kicker {
    font-size: 2rem;
  }
  .p-assurance__title {
    font-size: 2.25rem;
  }
  .p-assurance__title-em {
    font-size: 3.125rem;
  }
  .p-assurance__list {
    margin-top: 2.5rem;
  }
  .p-assurance__item + .p-assurance__item {
    margin-top: 3.125rem;
  }
  .c-feature__figure {
    margin-top: 1.25rem;
  }
  .c-feature__num {
    font-size: 3.75rem;
  }
  .c-feature__heading {
    font-size: 1.875rem;
  }
  .c-feature__em {
    font-size: 1.875rem;
  }
  .c-feature__text-wrap {
    /* ノート風横線（1行目は除外） */
    background-image: linear-gradient(to bottom, #c4c4c4 1px, transparent 1px);
    background-size: 100% 2rem;
  }
  .c-feature__text {
    font-size: 1rem;
    line-height: 2;
  }
  .c-feature__note {
    font-size: 1rem;
  }
  .p-compare {
    padding-bottom: 7.5rem;
    padding-top: 3.75rem;
  }
  .p-compare__title-text {
    font-size: 1.875rem;
  }
  .p-compare__title-accent {
    font-size: 2.875rem;
  }
  .p-compare__table-wrap {
    margin-top: 3.75rem;
  }
  .p-compare__table-wrap img + img {
    margin-top: 1.875rem;
  }
  .p-compare__lead {
    margin-top: 3.75rem;
  }
  .p-compare__lead-text {
    font-size: 1.5rem;
  }
  .p-compare__lead-em {
    font-size: 1.5rem;
  }
  .p-compare__features {
    margin-top: 2.875rem;
  }
  .c-compare-feature + .c-compare-feature {
    margin-top: 3.75rem;
  }
  .c-compare-feature__text {
    font-size: 1.25rem;
  }
  .p-compare__feature-bg {
    max-width: 21.25rem;
  }
  .p-compare__feature-bg-text {
    font-size: 1.1875rem;
    margin-top: -8.75rem;
  }
  .p-hero-block__eyebrow {
    font-size: 1.875rem;
  }
  .u-text-emphasis {
    font-size: 2.5rem;
  }
  .p-hero-block__desc {
    font-size: 1.25rem;
    margin-top: 1.25rem;
  }
  .p-hero-block__catch {
    font-size: 2rem;
    margin-top: 0.875rem;
  }
  .c-chip {
    font-size: 1.375rem;
  }
  .c-chip__icon {
    font-size: 0.875rem;
    height: 1.125rem;
    margin-right: 0.375rem;
    width: 1.125rem;
  }
  .p-intro {
    margin-top: -8.75rem;
  }
  .p-intro__visual {
    width: 10.625rem;
  }
  .p-intro__catch {
    font-size: 2rem;
  }
  .p-intro__em img {
    width: 5rem;
  }
  .p-intro__lead {
    font-size: 1.375rem;
  }
  .p-intro__highlight {
    font-size: 1.375rem;
  }
  .p-intro__underline {
    font-size: 1.375rem;
  }
  .p-intro__note {
    font-size: 1.125rem;
  }
  .p-step__content {
    padding-bottom: 0rem;
    padding-top: 3.125rem;
  }
  .p-step__num {
    font-size: 5.25rem;
  }
  .p-step__headline {
    font-size: 1.625rem;
  }
  .p-step__item {
    font-size: 1.375rem;
    gap: 0.625rem;
  }
  .p-step__check {
    height: 1.25rem;
    width: 1.625rem;
  }
  .p-step__check {
    height: 1.25rem;
    width: 1.625rem;
  }
  .p-price-table__office {
    font-size: 1.75rem;
  }
  .p-price-table__title {
    font-size: 2rem;
  }
  .p-price-table__container {
    margin-top: 2.5rem;
  }
  .p-price-table__note {
    font-size: 0.875rem;
  }
  .p-price-table__head-text {
    font-size: 1rem;
  }
  .p-price-table__cell {
    font-size: 1rem;
  }
  .p-price-table__row .p-price-table__cell {
    font-size: 1rem;
    padding: 0.75rem 0.625rem;
  }
  .p-price-table__footer {
    font-size: 0.75rem;
  }
  .p-price-structure {
    margin-top: -5rem;
  }
  .p-price-structure__heading {
    font-size: 2rem;
  }
  .p-price-structure__text {
    font-size: 1rem;
  }
  .p-price-structure__item {
    font-size: 1rem;
  }
  .p-price-structure__plus {
    font-size: 1rem;
  }
  .p-basic-fee__title {
    font-size: 1.25rem;
  }
  .p-basic-fee__subtitle {
    font-size: 1rem;
    padding-left: 1rem;
    text-indent: -2.1875rem;
  }
  .p-basic-fee__row {
    grid-template-columns: 3.75rem 1fr 1fr;
  }
  .p-basic-fee__row.p-basic-fee__row--header.u-sp-only {
    grid-template-columns: 3.75rem 1fr 1fr;
  }
  .p-basic-fee__cell {
    font-size: 1rem;
  }
  .cell-font-small {
    font-size: 0.875rem;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell .cell-font-small2 {
    font-size: 1rem;
  }
  .p-basic-fee__row.p-basic-fee__row--header .p-basic-fee__cell {
    font-size: 1rem;
  }
  .p-basic-fee__cell.p-basic-fee__cell--description {
    font-size: 1rem;
  }
  .p-flow {
    margin-top: -1.875rem;
  }
  .p-flow__title {
    font-size: 1.75rem;
  }
  .p-flow__title-emphasis {
    font-size: 1.875rem;
  }
  .p-flow__box {
    padding: 0.625rem 0.875rem 0.875rem;
  }
  .p-flow__box-content {
    padding: 0.625rem 0rem 0.625rem;
  }
  .p-flow__step {
    font-size: 0.875rem;
  }
  .p-flow__step span {
    font-size: 1.125rem;
  }
  .p-flow__icon {
    height: 3.5rem;
    width: 3.5rem;
  }
  .p-flow__heading {
    font-size: 1.4375rem;
  }
  .p-flow__text {
    font-size: 1rem;
  }
  .p-flow__arrow {
    margin-bottom: 1.25rem;
    margin-top: 1.25rem;
  }
  .p-flow__arrow img {
    width: 1.625rem;
  }
  .p-profile {
    padding: 5rem 0 0rem;
  }
  .p-profile__inner {
    margin-top: 0rem;
  }
  .p-profile__title {
    font-size: 2rem;
  }
  .p-profile__role {
    font-size: 1.125rem;
  }
  .p-profile__name {
    font-size: 1.5rem;
  }
  .p-profile__career-item {
    grid-template-columns: 6.25rem 1fr;
  }
  .p-profile__career-date,
  .p-profile__career-text {
    font-size: 1rem;
  }
  .p-profile__heading {
    font-size: 1.5625rem;
  }
  .p-profile__text {
    font-size: 1rem;
  }
  .p-performance .p-performance__office {
    font-size: 1.75rem;
  }
  .p-performance .p-performance__title {
    font-size: 2rem;
  }
  .p-performance .p-performance__container {
    margin-top: 2.5rem;
  }
  .p-performance .p-performance__cell {
    font-size: 1rem;
  }
  .p-performance .p-performance__cell--head {
    font-size: 1rem;
  }
  .p-performance__cell.sp-cell-font-small .sp-small {
    font-size: 0.75rem;
  }
  .p-performance__cell.sp-cell-font-small .sp-large {
    font-size: 1rem;
    margin-top: -1.25rem;
  }
  .c-badge__text {
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .p-case-study__company-name {
    font-size: 1rem;
    line-height: 1.5;
  }
  .p-case-study__illust {
    left: 85%;
  }
  .p-case-study__illust.illust01 {
    top: 13%;
    width: 6.25rem;
  }
  .p-case-study__illust.illust02 {
    top: 13%;
  }
  .p-case-study__illust.illust03 {
    top: 11.5%;
    width: 7.5rem;
  }
  .p-case-study__illust.illust04 {
    top: 10.5%;
    width: 5.625rem;
  }
  .p-case-study__illust.illust05 {
    top: 10.5%;
    width: 5.625rem;
  }
  .p-case-study__container.p-case-study01 .p-case-study__arrow {
    top: 66%;
  }
  .p-case-study__container.p-case-study02 .p-case-study__arrow {
    top: 66%;
  }
  .p-case-study__container.p-case-study03 .p-case-study__arrow {
    top: 62%;
  }
  .p-case-study__container.p-case-study04 .p-case-study__arrow {
    top: 62%;
  }
  .p-case-study__container.p-case-study05 .p-case-study__arrow {
    top: 62%;
  }
  .c-list__item {
    font-size: 1rem;
    line-height: 1.5384615385;
    padding-left: 0.625rem;
  }
  .c-callout__item {
    font-size: 1.25rem;
  }
  .p-tax-guide {
    padding-bottom: 7.5rem;
  }
  .p-tax-guide__title {
    font-size: 2rem;
  }
  .p-tax-guide__compare {
    margin-top: 3.75rem;
  }
  .p-tax-guide__side + .p-tax-guide__side {
    margin-top: 3.125rem;
  }
  .p-tax-guide__chip-text {
    font-size: 1rem;
  }
  .p-tax-guide__side-title {
    font-size: 2rem;
  }
  .p-tax-guide__list {
    font-size: 1rem;
  }
  .p-tax-guide__side.p-tax-guide__side--compulsory .p-tax-guide__list {
    padding-left: 3.75rem;
  }
  .p-tax-guide__item {
    font-size: 1.125rem;
  }
  .p-tax-process__title {
    font-size: 2rem;
  }
  .p-tax-process__arrow img {
    height: 1.25rem;
  }
  .c-step {
    min-height: 5.625rem;
  }
  .c-step__eyebrow {
    font-size: 0.875rem;
  }
  .c-step__eyebrow span {
    font-size: 1.125rem;
  }
  .c-step__icon {
    height: 3.125rem;
    width: 3.125rem;
  }
  .c-step__title {
    font-size: 1.25rem;
  }
  .c-step__caption {
    font-size: 1.125rem;
  }
  .p-tax-step__badge-text {
    font-size: 0.75rem;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 1.25rem;
  }
  .p-tax-step__title {
    font-size: 1.5rem;
  }
  .p-tax-step__aside-caption {
    font-size: 1.125rem;
  }
  .p-tax-step__content {
    margin-top: 1.875rem;
  }
  .p-tax-step__block-head {
    font-size: 1.125rem;
  }
  .p-tax-step__text {
    font-size: 1.125rem;
  }
  .p-tax-step__note-text.p-tax-step__text {
    margin-left: 0.9em;
  }
  .p-tax-step__emph {
    font-size: 1.5rem;
  }
  .p-tax-process__title {
    font-size: 2rem;
  }
  .p-tax-process__arrow img {
    height: 1.25rem;
  }
  .c-step {
    min-height: 5.625rem;
  }
  .c-step__eyebrow {
    font-size: 0.875rem;
  }
  .c-step__eyebrow span {
    font-size: 1.125rem;
  }
  .c-step__icon {
    height: 3.125rem;
    width: 3.125rem;
  }
  .c-step__title {
    font-size: 1.25rem;
  }
  .c-step__caption {
    font-size: 1.125rem;
  }
  .p-tax-step__container + .p-tax-step__container {
    margin-top: 5rem;
  }
  .p-tax-step__badge {
    height: 4.375rem;
    top: -2.5rem;
    width: 4.375rem;
  }
  .p-tax-step__badge-text {
    font-size: 0.75rem;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 1.25rem;
  }
  .p-tax-step__title {
    font-size: 1.5rem;
    margin-top: 0;
  }
  .p-tax-step__grid {
    margin-top: 0.625rem;
  }
  .p-tax-step__aside-icon {
    width: 5.625rem;
  }
  .p-tax-step__aside-caption {
    font-size: 1.125rem;
  }
  .p-tax-step__content {
    margin-top: 1.875rem;
  }
  .p-tax-step__block-head {
    font-size: 1.125rem;
  }
  .p-tax-step__item {
    gap: 0;
  }
  .p-tax-step__text {
    font-size: 1.125rem;
  }
  .p-tax-step__range-chip {
    width: 8.875rem;
  }
  .p-tax-step__emph {
    font-size: 1.5rem;
  }
  .p-unannounced__title {
    font-size: 2rem;
  }
  .c-info-card__head-text {
    font-size: 1.25rem;
  }
  .p-tax-support__kicker {
    font-size: 1.5rem;
  }
  .p-tax-support__kicker span {
    font-size: 2rem;
  }
  .p-tax-support__title {
    font-size: 2rem;
  }
  .p-tax-support__title .p-tax-support__accent-small {
    font-size: 1.5rem;
  }
  .p-tax-support__accent::after {
    bottom: -1rem;
  }
  .p-tax-support__em {
    font-size: 1.875rem;
  }
  .p-tax-support__lead {
    font-size: 1.125rem;
    line-height: 1.6666666667;
    margin-top: 1.875rem;
  }
  .p-tax-support__unit::before {
    height: 20rem;
    width: 20rem;
  }
  .p-tax-support__icon {
    width: 3.125rem;
  }
  .p-tax-support__unit-title {
    font-size: 1.75rem;
    margin-top: -5rem;
  }
  .p-tax-support__item {
    font-size: 1.125rem;
    line-height: 1.5;
    padding-left: 1.6875rem;
  }
  .p-tax-support__message {
    font-size: 1.25rem;
  }
  .p-tax-support__tab-title {
    font-size: 2rem;
  }
  .p-tax-support__tab-sub {
    font-size: 1.125rem;
  }
  .p-tax-support__board-left {
    margin-top: 16%;
  }
  .p-tax-support__section-head {
    font-size: 1.25rem;
  }
  .p-tax-support__feature-text {
    font-size: 1.125rem;
  }
  .p-tax-support__check {
    height: 1.125rem;
    margin-right: 0.25rem;
    margin-top: 0.25rem;
    width: 1.125rem;
  }
  .p-tax-support__note-text {
    font-size: 1.125rem;
  }
  .p-tax-support__triad {
    height: 13.75rem;
    width: 15rem;
  }
  .p-tax-support__triad-center {
    font-size: 1rem;
    height: 11.25rem;
    width: 11.25rem;
  }
  .p-tax-support__ribbon {
    font-size: 1.25rem;
  }
  .p-tax-support__flow-step {
    padding: 1rem 0.875rem 1.75rem;
  }
  .p-tax-support__flow-badge {
    font-size: 0.875rem;
  }
  .p-tax-support__flow-badge span {
    font-size: 1.125rem;
  }
  .p-tax-support__flow-title {
    font-size: 1.25rem;
  }
  .p-tax-support__flow-text {
    font-size: 1.125rem;
  }
  .p-tax-support__flow-arrow {
    max-width: 1.875rem;
  }
  .p-tax-support__flow-arrow img {
    width: 1.875rem;
  }
  .p-tax-support__merit-icon {
    height: 3.125rem;
    width: 3.125rem;
  }
  .p-tax-support__merit-title {
    font-size: 1.25rem;
  }
  .p-tax-support__merit-text {
    font-size: 1.125rem;
  }
  .u-md5-only {
    display: block;
  }
}

@media screen and (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
  .c-button {
    max-width: 16.25rem;
    min-height: 2.8125rem;
  }
  .p-hero__notice-text {
    font-size: 1.125rem;
  }
  .p-hero__lead-strong {
    font-size: 2.5rem;
  }
  .p-hero__lead-accent {
    font-size: 2.75rem;
  }
  .p-hero__lead-accent .p-hero__lead-accent--small {
    font-size: 1.875rem;
  }
  .p-hero__sub {
    font-size: 0.875rem;
    margin-top: 1.875rem;
  }
  .p-reason__kicker {
    font-size: 1.25rem;
  }
  .p-reason__kicker span {
    font-size: 1.875rem;
  }
  .p-reason__title {
    font-size: 2.375rem;
  }
  .c-media__label {
    height: 2.5rem;
    width: 1.875rem;
  }
  .c-media__title {
    font-size: 1.625rem;
  }
  .p-issues__title {
    font-size: 1.5625rem;
  }
  .p-issues__accent {
    font-size: 1.5625rem;
  }
  .p-issues__subtitle {
    font-size: 1.4375rem;
  }
  .p-compare__lead-text {
    font-size: 1.375rem;
  }
  .c-compare-feature__text {
    font-size: 1.125rem;
  }
  .p-hero-block__desc {
    font-size: 1.125rem;
    margin-top: 1.25rem;
  }
  .p-flow {
    margin-top: -3.75rem;
  }
  .p-flow__step {
    font-size: 0.75rem;
  }
  .p-flow__step span {
    font-size: 1rem;
  }
  .p-flow__heading {
    font-size: 1.375rem;
  }
  .p-case-study {
    padding-bottom: 5rem;
    padding-top: 2.5rem;
  }
  .p-case-study__title {
    font-size: 1.75rem;
    line-height: 1.4285714286;
  }
  .p-case-study__container {
    margin-top: 1.25rem;
    padding: 0.75rem;
    padding-bottom: 1.5625rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.75rem;
  }
  .p-case-study__headline {
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .c-badge__label {
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .p-case-study__board {
    padding-top: 5rem;
  }
  .p-case-study__illust.illust01 {
    top: 10.5%;
    width: 5.625rem;
  }
  .p-case-study__illust.illust02 {
    top: 10.5%;
    width: 6.25rem;
  }
  .p-case-study__illust.illust03 {
    top: 10.5%;
    width: 6.875rem;
  }
  .p-case-study__illust.illust04 {
    top: 9.5%;
    width: 5rem;
  }
  .p-case-study__illust.illust05 {
    top: 9.5%;
    width: 5.625rem;
  }
  .c-panel__header {
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.375rem 0.5rem;
  }
  .c-panel__body {
    padding: 0.3125rem 0.625rem 0.75rem;
  }
  .c-callout {
    margin-top: 1.5625rem;
    padding: 1.25rem 0.75rem;
  }
  .c-callout__title {
    font-size: 1rem;
    gap: 0.3125rem;
    left: 25%;
    line-height: 1.5;
    padding: 0.3125rem 0.625rem;
    top: -0.75rem;
  }
  .c-callout__title img {
    height: 1.25rem;
    width: 0.75rem;
  }
  .p-tax-guide__side.p-tax-guide__side--voluntary::before {
    top: 54%;
  }
  .p-tax-guide__side + .p-tax-guide__side {
    margin-top: 2.5rem;
  }
  .p-tax-guide__chip-text {
    font-size: 0.875rem;
    line-height: 1;
  }
  .p-tax-guide__side-title.p-tax-guide__side-title--compulsory {
    padding-bottom: 1.875rem;
    padding-top: 0.25rem;
  }
  .p-tax-guide__side.p-tax-guide__side--voluntary .p-tax-guide__list {
    margin-left: 1.875rem;
  }
  .p-tax-guide__side.p-tax-guide__side--compulsory .p-tax-guide__list {
    padding-left: 3.125rem;
  }
  .p-tax-guide__item {
    font-size: 1rem;
  }
  .c-step__eyebrow {
    font-size: 0.75rem;
  }
  .c-step__eyebrow span {
    font-size: 1rem;
  }
  .c-step__title {
    font-size: 1.125rem;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 1.125rem;
  }
  .c-step__eyebrow {
    font-size: 0.75rem;
  }
  .c-step__eyebrow span {
    font-size: 1rem;
  }
  .c-step__title {
    font-size: 1.125rem;
  }
  .p-tax-step__badge-text .p-flow__step-number {
    font-size: 1.125rem;
  }
  .p-tax-support__lead {
    font-size: 1.0625rem;
  }
  .p-tax-support__unit {
    margin-left: auto;
    margin-right: auto;
    max-width: 21.875rem;
    width: calc(100vw - 40px);
  }
  .p-tax-support__unit::before {
    height: min(90vw, 17.5rem);
    width: min(90vw, 17.5rem);
  }
  .p-tax-support__item {
    font-size: 1.125rem;
    padding-left: 1.875rem;
  }
  .p-tax-support__tab {
    padding-left: 0.3125rem;
    padding-right: 0.3125rem;
  }
  .p-tax-support__triad {
    height: 12.5rem;
    width: min(95vw, 13.75rem);
  }
  .p-tax-support__flow-badge {
    font-size: 0.75rem;
  }
  .p-tax-support__flow-badge span {
    font-size: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */