@charset "UTF-8";



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

html,
body {
  margin: 0;
  padding: 0;
}

body {
  -webkit-print-color-adjust: exact;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-underline-offset: .2em;
  background: #fff;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  color: #020617;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .02em;
  line-break: strict;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-break: normal;
  overflow-wrap: anywhere;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  vertical-align: baseline;
  margin: 0;
  border: 0;
  padding: 0;
  font: inherit;
  font-size: 100%;
}

a {
  display: inline-block;
  -webkit-transition: opacity .3s ease 0s;
  transition: opacity .3s ease 0s;
  color: inherit;
  text-decoration: none;
}

a[href='*'] {
  cursor: pointer;
}

a[href='*']:hover, a[href='*']:focus-visible {
  opacity: .7;
}

img,
svg {
  display: inline-block;
  vertical-align: top;
  border: none;
  width: 100%;
  max-width: 100%;
  height: auto;
}

video {
  width: 100%;
  height: auto;
}

code,
kbd,
pre,
samp {
  font-size: inherit;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
  content: '';
  content: none;
}

address {
  font-style: italic;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  margin: 0;
  border: none;
  background: transparent;
  padding: 0;
  font: inherit;
}

abbr,
acronym {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

cite {
  font-style: italic;
}

code,
kbd {
  background-color: #f1f5f9;
  padding: .25em .5em;
}

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

pre {
  display: block;
  background-color: #f1f5f9;
  padding: 1em 2em;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

var {
  background-color: #f1f5f9;
  padding: .25em .5em;
  font-style: italic;
}

/************************************************************************
* end reset
************************************************************************/
[data-target] {
  cursor: pointer;
}

html {
  scrollbar-gutter: stable;
  font-size: 100%;
}

button {
  color: #020617;
}

/************************************************************************
* layout
************************************************************************/
body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

footer {
  margin-top: auto;
}

/************************************************************************
* base
************************************************************************/
a[target=_blank]:not([class]) {
  -webkit-transition: color .3s;
  transition: color .3s;
}

a[target=_blank]:not([class])::after {
  display: inline-block;
  -webkit-mask-image: url('../img/common/icon_outerlink.svg');
  mask-image: url('../img/common/icon_outerlink.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  margin-left: .7647058824em;
  background-color: currentColor;
  width: .8529411765em;
  height: .7647058824em;
  font-weight: 900;
  content: '';
}

a:not([class]) {
  color: #03c;
}

a:not([class]):visited {
  color: #639;
}

a:not([class]):hover {
  text-decoration: underline;
}

table {
  margin-right: auto;
  margin-left: auto;
  border-collapse: collapse;
  border-spacing: 0;
  width: auto;
  min-width: 100%;
  table-layout: fixed;
}

th,
td {
  border: 1px solid;
}

address {
  font-style: normal;
}

details .icon {
  aspect-ratio: 1;
  display: block;
  position: relative;
  width: 24px;
  width: 1.5rem;
}

details .icon::before, details .icon::after {
  inset: 0;
  position: absolute;
  margin: auto;
  background-color: #020617;
  width: 13px;
  width: .8125rem;
  height: 1px;
  content: '';
}

details .icon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

details[open] > summary .icon::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}

details.is-closing[open] > summary .icon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

summary {

  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  cursor: pointer;
}

summary::-webkit-details-marker {

  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

/************************************************************************
* end base
************************************************************************/

/************************************************************************
* form
************************************************************************/
form {
  margin: 0;
  padding: 0;
}

form button[type=submit],
form input[type=submit],
form input[type=button] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  width: auto;
}

form button[type=submit]:hover, form button[type=submit]:focus-visible,
form input[type=submit]:hover,
form input[type=submit]:focus-visible,
form input[type=button]:hover,
form input[type=button]:focus-visible {
  outline: none;
}

form button[type=submit]:disabled,
form input[type=submit]:disabled,
form input[type=button]:disabled {
  cursor: default;
  border-color: transparent;
  background-color: #94a3b8;
  pointer-events: none;
  color: #fff;
}

form button[type=submit] ::-moz-focus-inner,
form input[type=submit] ::-moz-focus-inner,
form input[type=button] ::-moz-focus-inner {
  border: none;
  padding: 0;
}

label {
  cursor: pointer;
}

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #cbd5e1;
  border-radius: 0;
  background-image: none;
  padding: 8px;
  padding: .5rem;
  width: 100%;
  font-family: inherit;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}

textarea {
  resize: vertical;
}

textarea:hover {
  outline: none;
}

textarea:focus-visible {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #707070;
}

textarea ::-moz-focus-inner {
  border: none;
  padding: 0;
}

input:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #707070;
}

input[type=radio] {
  position: absolute;
  opacity: 0;
  margin: 0;
  padding: 0;
  width: auto;
  line-height: 1.5;
}

input[type=radio] + span {
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin: 0;
  padding: 0 0 0 calc(1.25em + .75rem);
  line-height: 1.5;
}

input[type=radio] + span::before {
  display: block;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #cbd5e1;
  border-radius: 50%;
  background: #fff;
  width: 1.25em;
  height: 1.25em;
  content: '';
}

input[type=radio] + span::after {
  display: block;
  position: absolute;
  top: .5lh;
  left: .275em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
  -webkit-transition: opacity .3s ease 0s;
  transition: opacity .3s ease 0s;
  border-radius: 50%;
  background: #004fa2;
  width: .7em;
  height: .7em;
  content: '';
}

input[type=radio]:focus-visible + span::before {
  outline: -webkit-focus-ring-color auto 5px;
}

input[type=radio]:checked + span::after {
  opacity: 1;
}

input[type=checkbox] {
  position: absolute;
  vertical-align: middle;
  opacity: 0;
  margin: 0;
  padding: 0;
  width: auto;
  line-height: 1.5;
}

input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
  padding-left: 1.875em;
  line-height: 1.5;
}

input[type=checkbox] + span::before {
  display: inline-block;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #cbd5e1;
  width: 1.625em;
  height: 1.625em;
  content: '';
}

input[type=checkbox] + span::after {
  display: inline-block;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-70%) translateX(.5em) rotate(45deg);
  transform: translateY(-70%) translateX(.5em) rotate(45deg);
  opacity: 0;
  -webkit-transition: opacity .3s ease 0s;
  transition: opacity .3s ease 0s;
  border-right: .25em solid #004fa2;
  border-bottom: .25em solid #004fa2;
  width: .8125em;
  height: 1.625em;
  content: '';
}

input[type=checkbox]:focus-visible + span::before {
  outline: -webkit-focus-ring-color auto 5px;
}

input[type=checkbox]:checked:focus-visible + span::before {
  outline: none;
}

input[type=checkbox]:checked + span::after {
  opacity: 1;
}

input[type=number], input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: textfield;
  margin: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #cbd5e1;
  border-radius: 0;
  padding: .4em 2.4em .4em .8em;
  color: inherit;
  font-size: 16px;
  font-size: 1rem;
}

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

select:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #707070;
}

select:focus-visible {
  outline: initial;
}

select:invalid {
  color: #94a3b8;
}

select:not(:disabled) {
  cursor: pointer;
}

:root {

  /* ウィンドウサイズ */
  --vw: 100vw;
  --vh: 100vh;

  /* 三角形 */
  --clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
  --clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
  --clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
  --clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
  --clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);

  /**
     * svgをbackgroundで使う
     * 色：#ffffff -> %23ffffff
     */
  --icon-btn-arrow: url('data:image/svg+xml;utf8,<svg width="37" height="6" viewBox="0 0 37 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 5H36L26.2703 1" stroke="%230C4A6E"/></svg>');

  /* ヘッダー高さ */
  --header-height: 72px;
}

/************************************************************************
* swiper
************************************************************************/
.swiper-button-prev,
.swiper-button-next {
  aspect-ratio: 1;
  z-index: 1;
  cursor: pointer;
  background: transparent no-repeat center center/contain;
  width: 30px;
  width: 1.875rem;
}

.swiper-button-prev {
  rotate: 180deg;
  background-image: url('../img/common/icon-slider-arrow.svg');
}

.swiper-button-next {
  background-image: url('../img/common/icon-slider-arrow.svg');
}

.swiper-pagination {
  font-size: 0;
}

.swiper-pagination-bullet {
  display: inline-block;
  cursor: pointer;
  border-radius: 50%;
  background-color: #D5D5D5;
  width: 5px;
  height: 5px;
}

.swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 5px;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #004fa2;
}

/* rtl ******************************************************************/
.swiper[dir=rtl] .swiper-button-prev {
  background-image: url('../img/common/icon-chevron-right.svg');
}

.swiper[dir=rtl] .swiper-button-next {
  background-image: url('../img/common/icon-chevron-left.svg');
}

.swiper[dir=rtl] .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-right: 5px;
  margin-left: 0;
}

/************************************************************************
* swiper end
************************************************************************/
.wpcf7-response-output {
  display: none;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7 br {
  display: none;
}

/************************************************************************
* l-container
************************************************************************/
.l-container {
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
  max-width: 600px;
}

.l-container.l-container--spsmall {
  padding-right: 16px;
  padding-left: 16px;
}

.l-footer {
  position: relative;
}

.l-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 20;
  width: 100%;
}

.u-overflowHidden .l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 42;
}

.l-main {
  padding: 64px 0;
  padding: 4rem 0;
}

.l-main.l-main--flush {
  padding-top: 0;
}

.l-main.l-main--serviceDetail {
  padding-top: 24px;
  padding-top: 1.5rem;
}

/* 2カラムレイアウト（メイン + サイドバー）
 ******************************************************************************/

.l-sidebar-layout__side {
  margin-top: 64px;
  margin-top: 4rem;
}

/************************************************************************
* c-btn
************************************************************************/
.c-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  position: relative;
  -webkit-transition: .3s ease;
  transition: .3s ease;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
  margin: 0;
  border: 1px solid #004fa2;
  border-radius: 6.25rem;
  background-color: #004fa2;
  padding: 10px 46px 10px 24px;
  padding: .625rem 2.875rem .625rem 1.5rem;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.8;
  text-align: center;
  text-decoration: none;
}

.c-btn::after {
  aspect-ratio: 6/9;
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;
  width: 6px;
  width: .375rem;
  content: '';
}

.c-btn:focus-visible {
  background-color: #fff;
  color: #004fa2;
}

.c-btn.c-btn--line {
  border-color: #06c755;
  background-color: #06c755;
}

.c-btn.c-btn--line:focus-visible {
  background-color: #fff;
  color: #06c755;
}

/* c-case-card
 ******************************************************************************/
.c-case-card {
  border-radius: .5rem;
  background-color: #f1f5f9;
  overflow: hidden;
}

.c-case-card__img {
  aspect-ratio: 432/267;
  display: block;
  overflow: hidden;
}

.c-case-card__img img {
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-case-card__img:focus-visible img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.c-case-card__body {
  padding: 24px;
  padding: 1.5rem;
}

.c-case-card__meta {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  border-bottom: 1px solid #cbd5e1;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  color: #004fa2;
  font-size: max(12px, 11px);
  font-size: max(12px, .6875rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.c-case-card__maker {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-transition: color .3s;
  transition: color .3s;
  min-width: 0;
  color: #004fa2;
  text-decoration: none;
}

.c-case-card__maker:focus-visible {
  color: #d0121b;
}

.c-case-card__car {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: color .3s;
  transition: color .3s;
  min-width: 4em;
  max-width: 7em;
  color: #004fa2;
  text-align: right;
  text-decoration: none;
}

.c-case-card__car:focus-visible {
  color: #d0121b;
}

.c-case-card__title {
  display: block;
  -webkit-transition: color .3s;
  transition: color .3s;
  margin-top: 16px;
  margin-top: 1rem;
  color: #004fa2;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.6;
  text-decoration: none;
}

.c-case-card__title:focus-visible {
  color: #d0121b;
}

.c-case-card__tags {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 16px;
  margin-top: 1rem;
}

/************************************************************************
* c-contact-box - お問い合わせボックス（共通パーツ）
************************************************************************/
.c-contact-box {
  -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, .05);
  box-shadow: 1px 1px 1px rgba(0, 0, 0, .05);
  border-radius: .5rem;
  background-color: #fff;
  padding: 12px;
  padding: .75rem;
  color: #020617;
}

.c-contact-box__info {
  padding: 24px 0;
  padding: 1.5rem 0;
  text-align: center;
}

.c-contact-box__phoneLink {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-contact-box__phoneLink::before {
  aspect-ratio: 1;
  background: url('../img/common/icon_tel.svg') no-repeat center/contain;
  width: 30px;
  width: 1.875rem;
  content: '';
}

.c-contact-box__phoneNumber {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1;
}

.c-contact-box__detail {
  margin-top: 4px;
  margin-top: .25rem;
}

.c-contact-box__hours {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.52;
}

.c-contact-box__hoursTime {
  font-family: 'Reddit Sans', sans-serif;
}

.c-contact-box__detailLink {
  gap: 6px;
  gap: .375rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #004fa2;
  font-size: 14px;
  font-weight: 500;
}

.c-contact-box__detailLink span {
  -webkit-transition: -webkit-text-decoration-color .3s;
  transition: -webkit-text-decoration-color .3s;
  transition: text-decoration-color .3s;
  transition: text-decoration-color .3s, -webkit-text-decoration-color .3s;
  text-decoration: underline;
}

.c-contact-box__detailLink::before {
  aspect-ratio: 6/9;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='9' viewBox='0 0 6 9' fill='none'%3E%3Cpath d='M0.707031 0.707031L4.24257 4.24257L0.707031 7.7781' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='9' viewBox='0 0 6 9' fill='none'%3E%3Cpath d='M0.707031 0.707031L4.24257 4.24257L0.707031 7.7781' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;
  width: .4em;
  content: '';
}

.c-contact-box__detailLink:focus-visible span {
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
}

.c-contact-box__btns {
  gap: 4px;
  gap: .25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.c-contact-box__btn {
  -webkit-transition: color .3s, background-color .3s;
  transition: color .3s, background-color .3s;
  border-radius: 4px;
  padding: 12px;
  padding: .75rem;
  color: #fff;
  font-size: 0;
  letter-spacing: .03em;
  line-height: 0;
  text-align: center;
}

.c-contact-box__btn.c-contact-box__btn--mail {
  border: 1px solid #004fa2;
  background-color: #004fa2;
}

.c-contact-box__btn.c-contact-box__btn--mail:focus-visible {
  background-color: #fff;
  color: #004fa2;
}

.c-contact-box__btn.c-contact-box__btn--line {
  border: 1px solid #06c755;
  background-color: #06c755;
}

.c-contact-box__btn.c-contact-box__btn--line:focus-visible {
  background-color: #fff;
  color: #06c755;
}

.c-contact-box__btnLarge {
  font-family: 'Reddit Sans', sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.4;
}

.c-contact-box__btnSub {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

/************************************************************************
* c-fixed-nav
************************************************************************/
.c-fixed-nav {
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px;
  padding: 1.5rem;
}

.c-fixed-nav__list {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.c-fixed-nav__link {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition: color .3s, background-color .3s;
  transition: color .3s, background-color .3s;
  color: #004fa2;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.8;
}

.c-fixed-nav__link::before {
  aspect-ratio: 6/9;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  margin-top: .65em;
  background: url('../img/common/icon_arrow.svg') no-repeat center/contain;
  width: 6px;
  width: .375rem;
  content: '';
}

.c-fixed-nav__link:focus-visible {
  color: #d0121b;
}

/************************************************************************
* c-lead
************************************************************************/
.c-lead {
  border-bottom: 1px solid #cbd5e1;
  padding: 32px 0;
  padding: 2rem 0;
}

.c-lead__text {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 22px);
  font-size: max(14px, 1.375rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.4;
  text-align: center;
}

.c-lead__text span {
  display: inline-block;
}

.c-lead__accent {
  color: #d0121b;
}

/* c-news-card
 ******************************************************************************/
.c-news-card {
  border-radius: .5rem;
  background-color: #f1f5f9;
  overflow: hidden;
}

.c-news-card__img {
  aspect-ratio: 432/267;
  display: block;
  overflow: hidden;
}

.c-news-card__img img {
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-news-card__img:focus-visible img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.c-news-card__body {
  padding: 24px;
  padding: 1.5rem;
}

.c-news-card__meta {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #cbd5e1;
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

.c-news-card__date {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #475569;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.c-news-card__title {
  display: block;
  -webkit-transition: color .3s;
  transition: color .3s;
  margin-top: 16px;
  margin-top: 1rem;
  color: #004fa2;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 900;
  letter-spacing: .05em;
  text-decoration: none;
}

.c-news-card__title:focus-visible {
  color: #d0121b;
}

/************************************************************************
* c-section-title - セクションタイトル（共通）
************************************************************************/
.c-section-title {
  text-align: center;
}

.c-section-title::after {
  display: block;
  margin: 16px auto 0;
  margin: 1rem auto 0;
  background-color: #d0121b;
  width: 32px;
  width: 2rem;
  height: 6px;
  height: .375rem;
  content: '';
}

.c-section-title__en {
  display: block;
  color: #004fa2;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 64px;
  font-size: 4rem;
  font-weight: 800;
  line-height: .9;
}

.c-section-title__ja {
  display: block;
  margin-top: 12px;
  margin-top: .75rem;
  color: #d0121b;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.c-section-title.c-section-title--left {
  text-align: left;
}

.c-section-title.c-section-title--left::after {
  margin-left: 0;
}

.c-section-title.c-section-title--simple {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 22px);
  font-size: max(14px, 1.375rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.c-section-title.c-section-title--simple::after {
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: .25rem;
}

/* c-tag
 ******************************************************************************/
.c-tag {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: background-color .3s, color .3s;
  transition: background-color .3s, color .3s;
  border-radius: 50vmax;
  background-color: #fff;
  padding: 6px 12px;
  padding: .375rem .75rem;
  color: #004fa2;
  font-size: max(14px, 11px);
  font-size: max(14px, .6875rem);
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.1;
  text-decoration: none;
}

a.c-tag:focus-visible {
  background-color: #004fa2;
  color: #fff;
}

.c-tag.c-tag--current {
  background-color: #004fa2;
  pointer-events: none;
  color: #fff;
}

.c-tag.c-tag--md {
  padding: 8px 16px;
  padding: .5rem 1rem;
  font-size: max(14px, 12px);
  font-size: max(14px, .75rem);
  letter-spacing: .05em;
}

.c-totop {
  display: block;
  position: fixed;
  right: 24px;
  right: 1.5rem;
  bottom: 8px;
  bottom: .5rem;
  visibility: hidden;
  opacity: 0;
  z-index: 60;
  -webkit-transition: opacity .4s, visibility .4s;
  transition: opacity .4s, visibility .4s;
  width: 68px;
  width: 4.25rem;
  pointer-events: none;
}

[data-scroll=true] .c-totop {
  visibility: visible;
  opacity: 1;
}

.c-totop__svg {
  display: block;
  width: 100%;
  height: auto;
}

.c-totop__btn {
  pointer-events: auto;
}

.c-totop__paw {
  fill: #004fa2;
  opacity: 0;
  -webkit-transition: opacity .6s ease-out;
  transition: opacity .6s ease-out;
}

.c-totop__paw--bottom {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.c-totop__paw--middle {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}

.c-totop__paw--top {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.c-totop:focus-visible .c-totop__paw {
  opacity: 1;
}

/************************************************************************
* p-article-author
************************************************************************/
.p-article-author {
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px 32px;
  padding: 1.5rem 2rem;
}

.p-article-author__heading {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.4;
}

.p-article-author__heading::after {
  aspect-ratio: 24/3;
  display: block;
  margin-top: 10px;
  margin-top: .625rem;
  background-color: #d0121b;
  width: 24px;
  width: 1.5rem;
  content: '';
}

.p-article-author__inner {
  margin-top: 16px;
  margin-top: 1rem;
}

.p-article-author__img {
  aspect-ratio: 1;
  margin-inline: auto;
  border-radius: 50%;
  width: 160px;
  width: 10rem;
  overflow: hidden;
}

.p-article-author__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-article-author__body {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-article-author__logo {
  aspect-ratio: 220/48;
  margin-inline: auto;
  width: 150px;
  width: 9.375rem;
}

.p-article-author__logo a {
  -webkit-transition: .2s;
  transition: .2s;
}

.p-article-author__logo a:hover {
  opacity: .7;
}

.p-article-author__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-article-author__text {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-article-author__actions {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-article-author__btn {
  margin-inline: auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-article-author__btn + .p-article-author__btn {
  margin-top: 12px;
  margin-top: .75rem;
}

/************************************************************************
* p-article-signature
************************************************************************/
.p-article-signature {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-article-signature__img {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  width: 60px;
  width: 3.75rem;
  overflow: hidden;
}

.p-article-signature__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-article-signature__label {
  font-size: 14px;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-article-signature__name {
  margin-top: 8px;
  margin-top: .5rem;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-article-signature__link {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #004fa2;
  text-decoration: underline;
}

.p-article-signature__link:focus-visible {
  color: #054587;
}

.p-article__2col .block-area {
  margin-top: 32px;
  margin-top: 2rem;
}

/************************************************************************
* p-breadcrumb
************************************************************************/
.p-breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding: 16px 24px;
  padding: 1rem 24px;
}

.p-breadcrumb > span {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 11px;
  letter-spacing: .02em;
  line-height: 1.3;
  white-space: nowrap;
}

.p-breadcrumb > span:last-child {
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-breadcrumb > span + span::before {
  aspect-ratio: 6/9;
  display: inline-block;
  vertical-align: middle;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='9' viewBox='0 0 6 9' fill='none'%3E%3Cpath d='M0.707031 0.707031L4.24257 4.24257L0.707031 7.7781' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='9' viewBox='0 0 6 9' fill='none'%3E%3Cpath d='M0.707031 0.707031L4.24257 4.24257L0.707031 7.7781' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin: 0 10px;
  margin: 0 .625rem;
  background-color: #cbd5e1;
  width: .45em;
  content: '';
}

.p-breadcrumb a {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #004fa2;
  text-decoration: none;
}

.p-breadcrumb a:focus-visible {
  color: #d0121b;
}

/* p-case-single
 ******************************************************************************/
.p-case-single {
  padding-bottom: 64px;
  padding-bottom: 4rem;
}

.p-case-single__title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 26px);
  font-size: max(14px, 1.625rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-case-single__meta {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 32px;
  margin-top: 2rem;
  border-top: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
  padding: 16px 0;
  padding: 1rem 0;
}

.p-case-single__metaItem {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
}

.p-case-single__metaItem::before {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  width: 1.25rem;
  content: '';
}

.p-case-single__metaItem.p-case-single__metaItem--maker::before {
  background-image: url('../img/common/icon_maker.svg');
}

.p-case-single__metaItem.p-case-single__metaItem--car::before {
  background-image: url('../img/common/icon_car.svg');
}

.p-case-single__metaItem.p-case-single__metaItem--symptom::before {
  background-image: url('../img/common/icon_symptom.svg');
}

a.p-case-single__metaItem:focus-visible .p-case-single__metaText {
  color: #d0121b;
}

.p-case-single__metaText {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #004fa2;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-case-single__metaSep {
  display: none;
}

.p-case-single__metaTags {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-case-single__metaTag {
  display: inline-block;
  -webkit-transition: color .3s;
  transition: color .3s;
  border-radius: 999px;
  background-color: #f1f5f9;
  padding: 6px 12px;
  padding: .375rem .75rem;
  color: #004fa2;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.1;
  text-decoration: none;
}

.p-case-single__metaTag:focus-visible {
  color: #d0121b;
}

.p-case-single__body {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-case-single__author {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-sidebar {
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px;
  padding: 1.5rem;
}

.p-sidebar__group {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-sidebar__label {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-sidebar__label--icon {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-sidebar__label--icon::before {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  width: 1.25rem;
  content: '';
}

.p-sidebar__label.p-sidebar__label--maker::before {
  background-image: url('../img/common/icon_maker.svg');
}

.p-sidebar__label.p-sidebar__label--car::before {
  background-image: url('../img/common/icon_car.svg');
}

.p-sidebar__label.p-sidebar__label--symptom::before {
  background-image: url('../img/common/icon_symptom.svg');
}

.p-sidebar__tags {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-sidebar__line {
  display: block;
  margin: 24px 0;
  margin: 1.5rem 0;
  border-top: 1px solid #e2e8f0;
}

/************************************************************************
* p-column
************************************************************************/
.p-column {
  background: #000 url('../img/column/bg_img_sp.jpg') no-repeat top center/100% auto;
  padding: 48px 0;
  padding: 3rem 0;
}

.p-column__heading {
  gap: 32px;
  gap: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-column__title {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
}

.p-column__title::after {
  display: block;
  margin-top: 8px;
  margin-top: .5rem;
  background-color: #d0121b;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  content: '';
}

.p-column__title-sub {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-font-feature-settings: 'kern' 0;
  font-feature-settings: 'kern' 0;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.33;
}

.p-column__title-sub::before, .p-column__title-sub::after {
  aspect-ratio: 14/21;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='21' viewBox='0 0 14 21' fill='none'%3E%3Cpath d='M9.5 1L4.5 20' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='21' viewBox='0 0 14 21' fill='none'%3E%3Cpath d='M9.5 1L4.5 20' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #fff;
  width: 14px;
  width: .875rem;
  content: '';
}

.p-column__title-sub::before {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.p-column__title-main {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.2;
}

.p-column__title-accent {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 900;
}

.p-column__car {
  aspect-ratio: 120/127;
  display: block;
  width: 70px;
  width: 4.375rem;
  min-height: 0;
  overflow: hidden;
}

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

.p-column__list {
  counter-reset: column-counter;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-column__item {
  counter-increment: column-counter;
}

.p-column__item + .p-column__item {
  margin-top: 16px;
  margin-top: 1rem;
}

.p-column__link {
  display: block;
  position: relative;
  -webkit-transition: background-color .3s, color .3s;
  transition: background-color .3s, color .3s;
  border-radius: .5rem;
  background-color: #fff;
  padding: 40px 48px 24px 24px;
  padding: 2.5rem 3rem 1.5rem 1.5rem;
  height: 100%;
}

.p-column__link::before {
  position: absolute;
  top: 8px;
  top: .5rem;
  left: 16px;
  left: 1rem;
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif, 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 1.7;
  content: '# ' counter(column-counter, decimal-leading-zero);
}

.p-column__link:focus-visible {
  background-color: #004fa2;
}

.p-column__link:focus-visible .p-column__link-title {
  color: #fff;
}

.p-column__link:focus-visible .p-column__arrow {
  background-color: #fff;
}

.p-column__link:focus-visible .p-column__arrow::before {
  background-color: #004fa2;
}

.p-column__link-title {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #054587;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
}

.p-column__arrow {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  right: 10px;
  right: .625rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  border-radius: 50%;
  background-color: #f1f5f9;
  width: 20px;
  width: 1.25rem;
}

.p-column__arrow::before {
  aspect-ratio: 6/9;
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  background-color: #004fa2;
  width: 6px;
  width: .375rem;
  content: '';
}

/************************************************************************
* p-contact
************************************************************************/
.p-contact__introInner {
  gap: 32px;
  gap: 2rem;
  display: grid;
}

.p-contact__introText {
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-contact__introMechanic {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-contact__introLabelRow {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-contact__introLabelRow::before, .p-contact__introLabelRow::after {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background: url('../img/contact/line.svg') no-repeat center/contain;
  width: 18px;
  width: 1.125rem;
  height: 21px;
  height: 1.3125rem;
  content: '';
}

.p-contact__introLabelRow::after {
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
}

.p-contact__introLabel {
  color: #004fa2;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.5;
  text-align: center;
}

.p-contact__introImg {
  aspect-ratio: 366/150;
  border-radius: .25rem;
  width: 100%;
  max-width: 240px;
  max-width: 15rem;
  overflow: hidden;
}

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

.p-contact__methodsGrid {
  gap: 24px;
  gap: 1.5rem;
  display: grid;
}

.p-contact__tel,
.p-contact__line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  border-radius: .5rem;
  overflow: hidden;
}

.p-contact__telHead,
.p-contact__lineHead {
  padding-block: 12px;
  padding-block: .75rem;
  position: relative;
  color: #fff;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
}

.p-contact__telHead::after,
.p-contact__lineHead::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
  transform: translate(-50%, 100%);
  border-right: 16px solid transparent;
  border-right: 1rem solid transparent;
  border-left: 16px solid transparent;
  border-left: 1rem solid transparent;
  width: 0;
  height: 0;
  content: '';
}

.p-contact__telHead {
  background-color: #d0121b;
}

.p-contact__telHead::after {
  border-top: 10px solid #d0121b;
  border-top: .625rem solid #d0121b;
}

.p-contact__lineHead {
  background-color: #06c755;
}

.p-contact__lineHead::after {
  border-top: 10px solid #06c755;
  border-top: .625rem solid #06c755;
}

.p-contact__telBody,
.p-contact__lineBody {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 24px;
  padding: 1.5rem;
  text-align: center;
}

.p-contact__telBody {
  gap: 16px;
  gap: 1rem;
  background-color: #fef2f2;
}

.p-contact__lineBody {
  gap: 32px;
  gap: 2rem;
  background-color: rgba(6, 199, 85, .1);
}

.p-contact__telLead {
  color: #d0121b;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.5;
  text-align: center;
}

.p-contact__phone {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-contact__phone::before {
  aspect-ratio: 1;
  background: url('../img/common/icon_tel.svg') no-repeat center/contain;
  width: 30px;
  width: 1.875rem;
  content: '';
}

.p-contact__phoneNumber {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1;
}

.p-contact__hours {
  margin-top: 10px;
  margin-top: .625rem;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.52;
  text-align: center;
}

.p-contact__hours span {
  display: inline-block;
}

.p-contact__detailLink {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 4px;
  margin-top: .25rem;
  color: #004fa2;
  font-size: 14px;
  font-weight: 500;
}

.p-contact__detailLink span {
  -webkit-transition: -webkit-text-decoration-color .3s;
  transition: -webkit-text-decoration-color .3s;
  transition: text-decoration-color .3s;
  transition: text-decoration-color .3s, -webkit-text-decoration-color .3s;
  text-decoration: underline;
}

.p-contact__detailLink::before {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M1 1L7 6L1 11' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M1 1L7 6L1 11' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;
  width: 4px;
  height: 8px;
  content: '';
}

.p-contact__detailLink:focus-visible span {
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
}

.p-contact__lineContent {
  gap: 32px;
  gap: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-contact__lineLeft {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-contact__lineLead {
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.5;
  text-align: center;
}

.p-contact__lineImg {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 140px;
}

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

.p-contact__lineBtn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: color .3s, background-color .3s;
  transition: color .3s, background-color .3s;
  border: 1px solid #06c755;
  border-radius: 100px;
  background-color: #06c755;
  padding: 10px 12px 10px 20px;
  padding: .625rem .75rem .625rem 1.25rem;
  color: #fff;
}

.p-contact__lineBtn:focus-visible {
  background-color: #fff;
  color: #06c755;
}

.p-contact__lineBtnText {
  padding-inline: 12px;
  padding-inline: .75rem;
  font-size: max(14px, 14px);
  font-size: max(14px, .875rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-contact__lineBtnText::after {
  display: inline-block;
  vertical-align: middle;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M1 1L7 6L1 11' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M1 1L7 6L1 11' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: .5rem .75rem;
  mask-size: .5rem .75rem;
  margin-left: 4px;
  margin-left: .25rem;
  background-color: currentColor;
  width: 30px;
  width: 1.875rem;
  height: 30px;
  height: 1.875rem;
  content: '';
}

.p-contact__formSection {
  padding-top: 48px;
  padding-top: 3rem;
}

.p-contact__formCard {
  border-radius: .5rem;
  overflow: hidden;
}

.p-contact__formHead {
  padding-block: 16px;
  padding-block: 1rem;
  position: relative;
  background-color: #004fa2;
  color: #fff;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
}

.p-contact__formHead::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
  transform: translate(-50%, 100%);
  border-top: 10px solid #004fa2;
  border-top: .625rem solid #004fa2;
  border-right: 16px solid transparent;
  border-right: 1rem solid transparent;
  border-left: 16px solid transparent;
  border-left: 1rem solid transparent;
  width: 0;
  height: 0;
  content: '';
}

.p-contact__formBody {
  background-color: #f1f5f9;
  padding: 32px 24px 48px;
  padding: 2rem 1.5rem 3rem;
}

.p-contact__formBody .p-form {
  padding: 0;
  width: 100%;
}

.p-contact__formBody .p-form__footer {
  gap: 16px;
  gap: 1rem;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-contact__formBody .p-form__privacy {
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
}

/************************************************************************
* p-cta - CTA共通セクション
************************************************************************/
.p-cta {
  position: relative;
  z-index: 1;
  background: url('../img/common/cta_bg_sp.jpg') no-repeat center/cover;
  padding-top: 48px;
  padding-top: 3rem;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  overflow: visible;
}

.p-cta__inner {
  position: relative;
  z-index: 1;
  color: #fff;
  text-align: center;
}

.p-cta__heading {
  position: relative;
}

.p-cta__brands {
  gap: 5px;
  gap: .3125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-bottom: 3px;
  padding-bottom: .1875rem;
}

.p-cta__brand {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 6.25rem;
  background-color: #fff;
  padding: 6px 11px;
  padding: .375rem .6875rem;
  color: #d0121b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1;
}

.p-cta__brandsText {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
}

.p-cta__title {
  display: block;
  margin-top: 12px;
  margin-top: .75rem;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.4;
}

.p-cta__titleSub {
  font-size: 22px;
  font-size: 1.375rem;
}

.p-cta__badge {
  aspect-ratio: 1;
  display: grid;
  position: absolute;
  bottom: -25px;
  bottom: -1.5625rem;
  left: calc(50% - 10rem);
  place-items: center;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  border-radius: 50%;
  background-color: #d0121b;
  width: 58px;
  width: 3.625rem;
  color: #fff;
  font-size: 10px;
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
}

.p-cta__sub {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-cta__subText {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.6;
}

.p-cta__subText::before, .p-cta__subText::after {
  aspect-ratio: 14/21;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='21' viewBox='0 0 14 21' fill='none'%3E%3Cpath d='M9.5 1L4.5 20' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='21' viewBox='0 0 14 21' fill='none'%3E%3Cpath d='M9.5 1L4.5 20' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #fff;
  width: 14px;
  width: .875rem;
  content: '';
}

.p-cta__subText::before {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.p-cta__staff {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 16px;
  margin-top: 1rem;
}

.p-cta__staffImg {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: -7px;
  margin-right: -.4375rem;
  border-radius: 50%;
  background-color: #fff;
  width: 85px;
  width: 5.3125rem;
  overflow: hidden;
}

.p-cta__staffImg:last-child {
  margin-right: 0;
}

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

.p-cta__box {
  position: relative;
  z-index: 2;
  margin-top: 32px;
  margin-top: 2rem;
  margin-bottom: -80px;
  margin-bottom: -5rem;
}

.p-cta__badge-text {
  font-size: 8px;
  font-size: .5rem;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.3;
  text-align: center;
}

.p-cta__badge-title {
  font-size: 13px;
  font-size: .8125rem;
}

.p-cta.p-cta--lp {
  background-color: #004fa2;
  padding-bottom: 32px;
  padding-bottom: 2rem;
}

.p-cta.p-cta--lp .p-cta__badge {
  top: auto;
  bottom: -25px;
  bottom: -1.5625rem;
  left: 0;
  width: 66px;
  width: 4.125rem;
}

.p-cta.p-cta--lp .p-cta__box {
  margin-bottom: 0;
}

.p-drawer__icon {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 41;
  cursor: pointer;
  padding: 5px 0;
  padding: .3125rem 0;
}

.p-drawer__bars {
  display: inline-block;
  vertical-align: bottom;
  width: 32px;
}

.p-drawer__bar {
  display: block;
  -webkit-transition: all .3s linear 0s;
  transition: all .3s linear 0s;
  margin-top: 7px;
  background: #004fa2;
  width: 100%;
  height: 2px;
}

.p-drawer__bar:first-child {
  margin-top: 0;
}

.is-opened .p-drawer__bar:nth-child(2) {
  background: transparent;
}

.is-opened .p-drawer__bar:first-child {
  -webkit-transform: translateY(9px) rotate(45deg);
  transform: translateY(9px) rotate(45deg);
  width: 100%;
}

.is-opened .p-drawer__bar:last-child {
  -webkit-transform: translateY(-9px) rotate(-45deg);
  transform: translateY(-9px) rotate(-45deg);
  width: 100%;
}

.p-drawer__bg {
  -webkit-transition: all .3s ease 0s;
  transition: all .3s ease 0s;
}

.p-drawer__bg.is-opened {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 39;
  background: #f1f5f9;
  width: 100vw;
  height: 100vh;
}

.p-drawer__content {
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: var(--header-height, 72px);
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
  z-index: 40;
  -webkit-transition: -webkit-transform .5s ease 0s;
  transition: -webkit-transform .5s ease 0s;
  transition: transform .5s ease 0s;
  transition: transform .5s ease 0s, -webkit-transform .5s ease 0s;
  background: #f1f5f9;
  overflow: auto;
}

.p-drawer__content.is-opened {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.p-drawer__inner {
  padding: 16px 24px 40px;
  padding: 1rem 1.5rem 2.5rem;
  width: 100%;
}

.p-drawer__phoneCard {
  margin-bottom: 32px;
  margin-bottom: 2rem;
  -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, .05);
  box-shadow: 1px 1px 1px rgba(0, 0, 0, .05);
  border-radius: .5rem;
  background-color: #fff;
  padding: 12px;
  padding: .75rem;
}

.p-drawer__phoneBody {
  padding: 24px 0;
  padding: 1.5rem 0;
  text-align: center;
}

.p-drawer__phoneLink {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-drawer__phoneLink::before {
  aspect-ratio: 1;
  background: url('../img/common/icon_tel.svg') no-repeat center/contain;
  width: 30px;
  content: '';
}

.p-drawer__phoneNumber {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1;
}

.p-drawer__phoneHours {
  display: block;
  margin-top: 10px;
  margin-top: .625rem;
  font-size: 14px;
  font-weight: 500;
}

.p-drawer__phoneDetail {
  gap: 4px;
  gap: .25rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 4px;
  margin-top: .25rem;
  color: #004fa2;
  font-size: 14px;
  font-weight: 500;
}

.p-drawer__phoneDetail span {
  text-decoration: underline;
}

.p-drawer__phoneDetail::before {
  font-size: 8px;
  line-height: 1;
  content: '>';
}

.p-drawer__phoneBtns {
  gap: 4px;
  gap: .25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.p-drawer__phoneBtn {
  border-radius: 4px;
  padding: 12px;
  padding: .75rem;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.p-drawer__phoneBtn.p-drawer__phoneBtn--mail {
  background-color: #004fa2;
}

.p-drawer__phoneBtn.p-drawer__phoneBtn--line {
  background-color: #06c755;
}

.p-drawer__phoneBtnLarge {
  font-family: 'Reddit Sans', sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.1;
  white-space: nowrap;
}

.p-drawer__phoneBtnSub {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

.p-drawer__navItem {
  border-bottom: 1px solid #e2e8f0;
}

.p-drawer__navLink {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-transition: color .3s;
  transition: color .3s;
  padding: 14px 0;
  padding: .875rem 0;
  color: #054587;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
}

.p-drawer__navLink:focus-visible {
  color: #004fa2;
}

.p-drawer__navLink::after {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 6px auto;
  mask-size: 6px auto;
  background-color: #054587;
  width: 24px;
  content: '';
}

.p-drawer__navLink.p-drawer__navLink--external::after {
  -webkit-mask-image: url('../img/common/icon_outerlink.svg');
  mask-image: url('../img/common/icon_outerlink.svg');
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

.p-drawer__navLink.p-drawer__navLink--accordion {
  cursor: pointer;
}

.p-drawer__navLink.p-drawer__navLink--accordion::after {
  display: none;
}

.p-drawer__accordionIcon {
  aspect-ratio: 1;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #004fa2;
  width: 24px;
}

.p-drawer__accordionIcon::before, .p-drawer__accordionIcon::after {
  inset: 0;
  position: absolute;
  margin: auto;
  background-color: #fff;
  width: 10px;
  height: 2px;
  content: '';
}

.p-drawer__accordionIcon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

details[open] > .p-drawer__navLink--accordion .p-drawer__accordionIcon::after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

details.is-closing[open] > .p-drawer__navLink--accordion .p-drawer__accordionIcon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.p-drawer__children {
  padding: 0 0 16px 20px;
  padding: 0 0 1rem 1.25rem;
}

.p-drawer__childItem {
  margin-top: 12px;
  margin-top: .75rem;
}

.p-drawer__childItem:first-child {
  margin-top: 0;
}

.p-drawer__childLink {
  display: block;
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #475569;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.64;
}

.p-drawer__childLink:focus-visible {
  color: #004fa2;
}

/************************************************************************
* p-faq
************************************************************************/
.p-faq {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 48px;
  padding-bottom: 3rem;
}

.p-service-detailPage .p-faq {
  padding-bottom: 0;
}

.p-faq__list {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-faq__item + .p-faq__item {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-faq__question {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-faq__question::before {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #004fa2;
  width: 30px;
  width: 1.875rem;
  color: #fff;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  content: 'Q';
}

.p-faq__question-text {
  color: #004fa2;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .02em;
}

.p-faq__answer {
  margin-top: 12px;
  margin-top: .75rem;
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 16px 24px;
  padding: 1rem 1.5rem;
}

.p-faq__answer-text {
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-faq__btn {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}

/************************************************************************
* p-fixed-banner - 固定CTAバナー（PC専用）
************************************************************************/
.p-fixed-banner {
  display: none;
  position: fixed;
  right: 24px;
  right: 1.5rem;
  bottom: 104px;
  bottom: 6.5rem;
  -webkit-transform: translateY(1.25rem);
  transform: translateY(1.25rem);
  visibility: hidden;
  opacity: 0;
  z-index: 50;
  -webkit-transition: opacity .4s, visibility .4s, -webkit-transform .4s;
  transition: opacity .4s, visibility .4s, -webkit-transform .4s;
  transition: opacity .4s, visibility .4s, transform .4s;
  transition: opacity .4s, visibility .4s, transform .4s, -webkit-transform .4s;
  border: 1px solid #e2e8f0;
  border-radius: .5rem;
  background-color: #fff;
  padding: 18px 12px 12px;
  padding: 1.125rem .75rem .75rem;
  max-width: max(230px, 304px);
  max-width: max(230px, 19rem);
}

.p-fixed-banner.is-visible {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}

.p-fixed-banner__close {
  aspect-ratio: 1;
  position: absolute;
  top: -9px;
  top: -.5625rem;
  right: -9px;
  right: -.5625rem;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  cursor: pointer;
  border: none;
  background: url('../img/common/icon_close.svg') no-repeat center/contain;
  padding: 0;
  width: 30px;
  width: 1.875rem;
}

.p-fixed-banner__close:focus-visible {
  opacity: .7;
}

.p-fixed-banner__headline {
  text-align: center;
}

.p-fixed-banner__headline img {
  aspect-ratio: 280/69;
  width: 280px;
  width: 17.5rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-fixed-banner__contact {
  margin-top: 8px;
  margin-top: .5rem;
  text-align: center;
}

.p-fixed-banner__phone {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-fixed-banner__phone::before {
  aspect-ratio: 1;
  background: url('../img/common/icon_tel.svg') no-repeat center/contain;
  width: 24px;
  width: 1.5rem;
  content: '';
}

.p-fixed-banner__phoneNumber {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
}

.p-fixed-banner__hours {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 8px;
  margin-top: .5rem;
}

.p-fixed-banner__hoursText {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
}

.p-fixed-banner__hoursHoliday {
  display: inline-block;
}

.p-fixed-banner__hoursLink {
  -webkit-transition: color .3s, -webkit-text-decoration-color .3s;
  transition: color .3s, -webkit-text-decoration-color .3s;
  transition: color .3s, text-decoration-color .3s;
  transition: color .3s, text-decoration-color .3s, -webkit-text-decoration-color .3s;
  color: #004fa2;
  font-size: 12px;
  text-decoration: underline;
}

.p-fixed-banner__hoursLink:focus-visible {
  color: #054587;
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
}

.p-fixed-banner__cta {
  gap: 4px;
  gap: .25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 12px;
  margin-top: .75rem;
}

.p-fixed-banner__btn {
  -webkit-transition: color .3s, background-color .3s;
  transition: color .3s, background-color .3s;
  border-radius: .25rem;
  padding: 4px 12px 8px;
  padding: .25rem .75rem .5rem;
  color: #fff;
  font-size: 0;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 0;
  text-align: center;
}

.p-fixed-banner__btn.p-fixed-banner__btn--mail {
  border: 1px solid #004fa2;
  background-color: #004fa2;
}

.p-fixed-banner__btn.p-fixed-banner__btn--mail:focus-visible {
  background-color: #fff;
  color: #004fa2;
}

.p-fixed-banner__btn.p-fixed-banner__btn--line {
  border: 1px solid #06c755;
  background-color: #06c755;
}

.p-fixed-banner__btn.p-fixed-banner__btn--line:focus-visible {
  background-color: #fff;
  color: #06c755;
}

.p-fixed-banner__btnEn {
  font-family: 'Reddit Sans', sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.4;
}

.p-fixed-banner__btnJa {
  font-size: 13px;
  line-height: 1.4;
}

/************************************************************************
* p-flow
************************************************************************/
.p-flow {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 48px;
  padding-bottom: 3rem;
}

.p-flow__lead {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
}

.p-flow__list {
  counter-reset: flow;
  margin-top: 40px;
  margin-top: 2.5rem;
  list-style: none;
}

.p-flow__item {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  counter-increment: flow;
}

.p-flow__item::before {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 1;
  border-radius: 50%;
  background-color: #d0121b;
  width: 35px;
  width: 2.1875rem;
  color: #fff;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1;
  content: counter(flow);
}

.p-flow__item::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 17.5px;
  left: 1.09375rem;
  background-color: #cbd5e1;
  width: 1px;
  content: '';
}

.p-flow__item.p-flow__item--last::after {
  display: none;
}

.p-flow__content {
  padding-bottom: 48px;
  padding-bottom: 3rem;
}

.p-flow__item.p-flow__item--last .p-flow__content {
  padding-bottom: 0;
}

.p-flow__title {
  color: #004fa2;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
}

.p-flow__text {
  margin-top: 12px;
  margin-top: .75rem;
  font-size: 14px;
  letter-spacing: .02em;
}

.p-flow__img {
  aspect-ratio: 320/198;
  margin-top: 24px;
  margin-top: 1.5rem;
  border-radius: .5rem;
  overflow: hidden;
}

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

.p-footer {
  background-color: #f1f5f9;
  padding: 80px 0 32px;
  padding: 5rem 0 2rem;
}

.p-footer__sitemapItem {
  border-bottom: 1px solid #e2e8f0;
}

.p-footer__sitemapParent {
  display: none;
}

.p-footer__sitemapLink {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-transition: color .3s;
  transition: color .3s;
  padding: 14px 0;
  padding: .875rem 0;
  color: #054587;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.6;
}

.p-footer__sitemapLink:focus-visible {
  color: #004fa2;
}

.p-footer__sitemapLink:focus-visible::after {
  -webkit-transform: translateX(4px);
  transform: translateX(4px);
}

.p-footer__sitemapLink::after {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 6px auto;
  mask-size: 6px auto;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  background-color: #054587;
  width: 24px;
  content: '';
}

.p-footer__sitemapLink.p-footer__sitemapLink--external::after {
  -webkit-mask-image: url('../img/common/icon_outerlink.svg');
  mask-image: url('../img/common/icon_outerlink.svg');
  -webkit-mask-size: 14px;
  mask-size: 14px;
}

.p-footer__sitemapLink.p-footer__sitemapLink--accordion {
  cursor: pointer;
}

.p-footer__sitemapLink.p-footer__sitemapLink--accordion::after {
  display: none;
}

.p-footer__accordionIcon {
  aspect-ratio: 1;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #004fa2;
  width: 24px;
}

.p-footer__accordionIcon::before, .p-footer__accordionIcon::after {
  inset: 0;
  position: absolute;
  margin: auto;
  background-color: #fff;
  width: 10px;
  height: 2px;
  content: '';
}

.p-footer__accordionIcon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

details[open] > .p-footer__sitemapLink--accordion .p-footer__accordionIcon::after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

details.is-closing[open] > .p-footer__sitemapLink--accordion .p-footer__accordionIcon::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.p-footer__accordion .p-footer__children {
  padding: 0 0 16px 20px;
  padding: 0 0 1rem 1.25rem;
}

.p-footer__sitemapParent .p-footer__children {
  padding: 16px 0 24px 20px;
  padding: 1rem 0 1.5rem 1.25rem;
}

.p-footer__childItem {
  margin-top: 12px;
  margin-top: .75rem;
}

.p-footer__childItem:first-child {
  margin-top: 0;
}

.p-footer__childLink {
  display: block;
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #475569;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.64;
}

.p-footer__childLink:focus-visible {
  color: #004fa2;
}

.p-footer__info {
  margin-top: 40px;
  margin-top: 2.5rem;
}

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

.p-footer__tagline {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-footer__taglineAccent {
  color: #d0121b;
}

.p-footer__logo {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-footer__logo img {
  aspect-ratio: 1133/253;
  width: 180px;
  width: 11.25rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-footer__cards {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-footer__card + .p-footer__card {
  margin-top: 8px;
  margin-top: .5rem;
}

.p-footer__card {
  border-radius: .5rem;
  background-color: #fff;
  padding: 20px 24px;
  padding: 1.25rem 1.5rem;
}

.p-footer__cardHead {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-footer__cardTitle {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.4;
}

.p-footer__cardBar {
  background-color: #d0121b;
  width: 24px;
  height: 3px;
}

.p-footer__cardBody {
  margin-top: 16px;
  margin-top: 1rem;
}

.p-footer__phone {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-footer__phone::before {
  aspect-ratio: 1;
  background: url('../img/common/icon_tel.svg') no-repeat center/contain;
  width: 28px;
  content: '';
}

.p-footer__phoneNumber {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1;
}

.p-footer__hours {
  margin-top: 10px;
  margin-top: .625rem;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.52;
  text-align: center;
}

.p-footer__hours span {
  display: inline-block;
}

.p-footer__detailLink {
  gap: 4px;
  gap: .25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 4px;
  margin-top: .25rem;
  color: #004fa2;
  font-size: 14px;
  font-weight: 500;
}

.p-footer__detailLink span {
  -webkit-transition: -webkit-text-decoration-color .3s;
  transition: -webkit-text-decoration-color .3s;
  transition: text-decoration-color .3s;
  transition: text-decoration-color .3s, -webkit-text-decoration-color .3s;
  text-decoration: underline;
}

.p-footer__detailLink::before {
  font-size: 8px;
  line-height: 1;
  content: '>';
}

.p-footer__detailLink:focus-visible span {
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
}

.p-footer__address {
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-footer__address span {
  display: inline-block;
}

.p-footer__map {
  aspect-ratio: 240/135;
  margin-top: 16px;
  margin-top: 1rem;
  border-radius: .5rem;
  overflow: hidden;
}

.p-footer__map iframe {
  border: 0;
  width: 100%;
  height: 100%;
}

.p-footer__cardBody.p-footer__cardBody--cert > * + * {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-footer__certText {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-footer__certLogos {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-footer__certLogo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-footer__certLogo:first-child {
  aspect-ratio: 283/120;
  width: 94px;
  width: 5.875rem;
}

.p-footer__certLogo:last-child {
  aspect-ratio: 106/120;
  width: 53px;
  width: 3.3125rem;
}

.p-footer__copy {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #94a3b8;
  font-size: 14px;
  text-align: center;
}

/************************************************************************
* p-form
************************************************************************/
.p-form {
  padding: 48px 0;
  padding: 3rem 0;
}

.p-form__item {
  padding-block: 20px;
  padding-block: 1.25rem;
  gap: 12px;
  gap: .75rem;
  display: grid;
  border-bottom: 1px solid #e2e8f0;
}

.p-form__label {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-form__label-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 0;
  -ms-flex: 1 0 0;
  flex: 1 0 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-form__required {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  border-radius: .25rem;
  background-color: #ef4444;
  padding: 1px 10px;
  padding: .0625rem .625rem;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.66;
}

.p-form__input {
  width: 100%;
}

.p-form__text,
.p-form__textarea {
  border: 1px solid #e2e8f0;
  background-color: #fff;
  padding: 15px 20px;
  padding: .9375rem 1.25rem;
  width: 100%;
  font-size: 16px;
  letter-spacing: .02em;
  line-height: 1.6;
}

.p-form__text::-webkit-input-placeholder,
.p-form__textarea::-webkit-input-placeholder {
  color: #94a3b8;
}

.p-form__text::-moz-placeholder,
.p-form__textarea::-moz-placeholder {
  color: #94a3b8;
}

.p-form__text::-ms-input-placeholder,
.p-form__textarea::-ms-input-placeholder {
  color: #94a3b8;
}

.p-form__text::placeholder,
.p-form__textarea::placeholder {
  color: #94a3b8;
}

.p-form__text:focus,
.p-form__textarea:focus {
  outline: none;
  border-color: #004fa2;
}

.p-form__textarea {
  resize: vertical;
}

.p-form__textarea--6rows {
  min-height: 160px;
}

.p-form__note {
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-form__fileList {
  gap: 8px;
  gap: .5rem;
  display: grid;
  margin-top: 12px;
  margin-top: .75rem;
}

.p-form__fileList br {
  display: none;
}

.p-form__file {
  border: 1px solid #e2e8f0;
  background-color: #fff;
  padding: 12px 20px;
  padding: .75rem 1.25rem;
  width: 100%;
  font-size: 14px;
  line-height: 1.6;
}

.p-form__file:focus {
  outline: none;
  border-color: #004fa2;
}

.p-form__footer {
  gap: 16px;
  gap: 1rem;
  display: grid;
  justify-items: center;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-form__privacy {
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  letter-spacing: .02em;
  line-height: 2;
}

.p-form__privacy-link {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #004fa2;
  text-decoration: underline;
}

.p-form__privacy-link:focus-visible {
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
}

.p-form__submit {
  -webkit-transition: background-color .3s, color .3s, opacity .3s;
  transition: background-color .3s, color .3s, opacity .3s;
  cursor: pointer;
  border: 2px solid #004fa2;
  border-radius: 100px;
  background-color: #004fa2;
  background-image: url('../img/common/icon_arrow_white.svg');
  background-position: right 20px center;
  background-position: right 1.25rem center;
  background-repeat: no-repeat;
  background-size: .375rem auto;
  padding: 16px 60px 16px 40px;
  padding: 1rem 3.75rem 1rem 2.5rem;
  color: #fff;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.8;
  text-align: center;
}

.p-form__submit:focus-visible {
  background-color: #fff;
  background-image: url('../img/common/icon_arrow.svg');
  color: #004fa2;
}

.p-form__submit:disabled {
  pointer-events: none;
}

.p-form .wpcf7-radio,
.p-form .wpcf7-checkbox {
  gap: 12px 24px;
  gap: .75rem 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-form .wpcf7-list-item {
  margin: 0;
}

.p-form .wpcf7-list-item label {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-form .wpcf7-list-item label input[type=radio],
.p-form .wpcf7-list-item label input[type=checkbox] {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  padding: 0;
}

.p-form .wpcf7-not-valid-tip {
  margin-top: 4px;
  margin-top: .25rem;
  color: #d0121b;
  font-size: 14px;
}

.p-form .wpcf7-response-output {
  margin-top: 24px;
  margin-top: 1.5rem;
  border: 1px solid #e2e8f0;
  border-radius: .5rem;
  padding: 16px;
  padding: 1rem;
  font-size: max(14px, 14px);
  font-size: max(14px, .875rem);
  text-align: center;
}

/************************************************************************
* p-garage
************************************************************************/
.p-garage {
  overflow: hidden;
}

.p-garage__gallery {
  gap: 8px;
  gap: .5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-left: -304px;
  width: calc(100% + 608px);
}

.p-garage__photo {
  aspect-ratio: 700/433;
  border-radius: .25rem;
  overflow: hidden;
}

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

.p-garage__body {
  position: relative;
  margin-top: -24px;
  margin-top: -1.5rem;
}

.p-garage__content {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-garage__info-row {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #e2e8f0;
  padding: 20px 0;
  padding: 1.25rem 0;
}

.p-garage__info-label {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 70px;
  color: #004fa2;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

.p-garage__info-value {
  font-size: 14px;
  line-height: 1.8;
}

.p-garage__link {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #004fa2;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  text-decoration: underline;
}

.p-garage__link:focus-visible {
  text-decoration: none;
}

.p-garage__map {
  aspect-ratio: 496/414;
  margin-top: 40px;
  margin-top: 2.5rem;
  border-radius: 8px;
  overflow: hidden;
}

.p-garage__map iframe {
  display: block;
  border: 0;
  border-radius: 8px;
  width: 100%;
  height: 100%;
}

.p-garage__action {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}

.p-header-announce {
  background-color: #f1f5f9;
  padding: 8px 20px;
  padding: .5rem 20px;
  text-align: center;
}

.p-header-announce__text {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.6;
}

.p-header-announce__accent {
  color: #d0121b;
}

.p-header {
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  border-bottom: 1px solid #e2e8f0;
  background-color: #fff;
  padding: 20px 20px;
  padding: 1.25rem 20px;
}

.u-overflowHidden .p-header {
  border-bottom-color: transparent;
  background-color: #f1f5f9;
}

.p-header__top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-header__left {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-header__catch {
  display: none;
}

.p-header__catchAccent {
  display: inline-block;
  color: #d0121b;
}

.p-header__logo {
  z-index: 41;
}

.p-header__logo a {
  display: block;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.p-header__logo a:focus-visible {
  opacity: .7;
}

.p-header__logo img {
  aspect-ratio: 220/48;
  width: 130px;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-header__right {
  display: none;
}

.p-header__info {
  gap: 24px 48px;
  gap: 1.5rem 3rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.p-header__subNav {
  gap: 32px;
  gap: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-header__subNavLink {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #475569;
  font-size: max(12px, 14px);
  font-size: max(12px, .875rem);
  font-weight: 500;
}

.p-header__subNavLink:focus-visible {
  color: #004fa2;
}

.p-header__contactWrap {
  gap: 32px;
  gap: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-header__contact {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.p-header__phone {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  pointer-events: none;
}

.p-header__phone::before {
  aspect-ratio: 1;
  background: url('../img/common/icon_tel.svg') no-repeat center/contain;
  width: 26px;
  width: 1.625rem;
  content: '';
}

.p-header__phoneNumber {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: max(14px, 28px);
  font-size: max(14px, 1.75rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
}

.p-header__hours {
  font-size: max(12px, 14px);
  font-size: max(12px, .875rem);
}

.p-header__hoursLink {
  display: block;
  -webkit-transition: color .3s, -webkit-text-decoration-color .3s;
  transition: color .3s, -webkit-text-decoration-color .3s;
  transition: color .3s, text-decoration-color .3s;
  transition: color .3s, text-decoration-color .3s, -webkit-text-decoration-color .3s;
  color: #004fa2;
  font-size: max(12px, 14px);
  font-size: max(12px, .875rem);
  text-decoration: underline;
}

.p-header__hoursLink:focus-visible {
  color: #054587;
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
}

.p-header__btns {
  gap: 4px;
  gap: .25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-header__btn {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: color .3s, background-color .3s;
  transition: color .3s, background-color .3s;
  border-radius: 4px;
  padding: 8px 24px;
  padding: .5rem 1.5rem;
  color: #fff;
  text-align: center;
}

.p-header__btn.p-header__btn--mail {
  border: 1px solid #004fa2;
  background-color: #004fa2;
}

.p-header__btn.p-header__btn--mail:focus-visible {
  background-color: #fff;
  color: #004fa2;
}

.p-header__btn.p-header__btn--line {
  border: 1px solid #06c755;
  background-color: #06c755;
}

.p-header__btn.p-header__btn--line:focus-visible {
  background-color: #fff;
  color: #06c755;
}

.p-header__btnLarge {
  font-family: 'Reddit Sans', sans-serif;
  font-size: max(14px, 22px);
  font-size: max(14px, 1.375rem);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.4;
}

.p-header__btnSub {
  font-size: max(12px, 14px);
  font-size: max(12px, .875rem);
  font-weight: 700;
  line-height: 1.4;
}

.p-header__spActions {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
}

.p-header__spIcon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-header__spIcon::before {
  aspect-ratio: 1;
  background: url('../img/common/icon_tel.svg') no-repeat center/contain;
  width: 30px;
  content: '';
}

.p-header__spIcon:nth-child(2)::before {
  background-image: url('../img/common/icon_line.svg');
  width: 32px;
}

.p-header__nav {
  display: none;
}

.p-header__navList {
  gap: 18px;
  gap: 1.125rem;
  display: grid;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
  -ms-flex-pack: end;
  justify-content: end;
}

.p-header__navItem:first-child .p-header__navLink {
  white-space: nowrap;
}

.p-header__navWrap {
  display: inline-block;
  white-space: nowrap;
}

.p-header__navLink {
  -webkit-transition: color .3s;
  transition: color .3s;
  font-size: max(12px, 15px);
  font-size: max(12px, .9375rem);
  font-weight: 700;
  word-break: keep-all;
}

.p-header__navLink:focus-visible {
  color: #004fa2;
}

.p-header__navLink.p-header__navLink--external::after {
  display: none;
}

/************************************************************************
* p-lowerFv - 下層ページ ファーストビュー
************************************************************************/
.p-lowerFv {
  padding-top: 48px;
  padding-top: 3rem;
}

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

.p-lowerFv__title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.2;
}

.p-lowerFv__subTitle {
  margin-top: 8px;
  margin-top: .5rem;
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.1;
}

.p-lowerFv__text {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  line-height: 2;
}

.p-lowerFv__img {
  margin-inline: -24px;
  aspect-ratio: 368/250;
  margin-top: 40px;
  margin-top: 2.5rem;
  overflow: hidden;
}

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

/************************************************************************
* p-lp-access
************************************************************************/
.p-lp-access {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-lp-access__item {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-lp-access__heading {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #004fa2;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
}

.p-lp-access__heading::before {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #d0121b;
  width: 8px;
  width: .5rem;
  content: '';
}

.p-lp-access__text {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

/************************************************************************
* p-lp-appeal
************************************************************************/
.p-lp-appeal__inner {
  padding: 40px 0;
  padding: 2.5rem 0;
  text-align: center;
}

.p-lp-appeal__head {
  margin-bottom: 32px;
  margin-bottom: 2rem;
}

.p-lp-appeal__tags {
  gap: 4px;
  gap: .25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-lp-appeal__tag {
  border-radius: .25rem;
  background-color: #fff1f2;
  padding: 4px 12px;
  padding: .25rem .75rem;
  color: #d0121b;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .02em;
}

.p-lp-appeal__title {
  margin-top: 16px;
  margin-top: 1rem;
}

.p-lp-appeal__brands {
  gap: 2px;
  gap: .125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-lp-appeal__brand {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-lp-appeal__brand-ruby {
  color: #d0121b;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-lp-appeal__brand-en {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: .05em;
  line-height: .9;
}

.p-lp-appeal__amp {
  color: #004fa2;
  font-family: 'Reddit Sans', sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 24px);
  font-size: max(14px, 1.5rem);
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 1;
}

.p-lp-appeal__brands-wrap {
  display: block;
}

.p-lp-appeal__brand-sub {
  gap: 2px;
  gap: .125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 8px;
  margin-top: .5rem;
}

.p-lp-appeal__brand-ja {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 24px);
  font-size: max(14px, 1.5rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.2;
}

.p-lp-appeal__catch {
  display: block;
  margin-top: 6px;
  margin-top: .375rem;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 24px);
  font-size: max(14px, 1.5rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-lp-appeal__logos {
  row-gap: 16px;
  row-gap: 1rem;
  padding-inline: 5px;
  padding-inline: .3125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
}

.p-lp-appeal__logo {
  height: 40px;
  height: 2.5rem;
}

.p-lp-appeal__logo img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-lp-appeal__logo.p-lp-appeal__logo--short {
  height: 30px;
  height: 1.875rem;
}

/************************************************************************
* p-lp-reason
************************************************************************/
.p-lp-reason {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
}

.p-lp-reason__list {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-lp-reason__item {
  display: grid;
}

.p-lp-reason__item + .p-lp-reason__item {
  margin-top: 32px;
  margin-top: 2rem;
  border-top: 1px solid #e2e8f0;
  padding-top: 32px;
  padding-top: 2rem;
}

.p-lp-reason__label {
  gap: 8px;
  gap: .5rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 3px solid #d0121b;
  padding-bottom: 10px;
  padding-bottom: .625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-lp-reason__num {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: max(14px, 24px);
  font-size: max(14px, 1.5rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: .8;
}

.p-lp-reason__sub {
  color: #d0121b;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.3;
}

.p-lp-reason__heading {
  margin-top: 16px;
  margin-top: 1rem;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: max(14px, 22px);
  font-size: max(14px, 1.375rem);
  font-weight: 900;
  letter-spacing: .05em;
}

.p-lp-reason__img {
  aspect-ratio: 3/2;
  margin-top: 24px;
  margin-top: 1.5rem;
  border-radius: .5rem;
  overflow: hidden;
}

.p-lp-reason__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-lp-reason__text {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

/************************************************************************
* p-lp-review
************************************************************************/
.p-lp-review {
  background-color: #f1f5f9;
  padding: 64px 0;
  padding: 4rem 0;
}

.p-lp-review__list {
  margin-top: 64px;
  margin-top: 4rem;
}

.p-lp-review__card {
  position: relative;
  margin-top: 40px;
  margin-top: 2.5rem;
  border-radius: .5rem;
  background-color: #fff;
  padding: 56px 24px 24px;
  padding: 3.5rem 1.5rem 1.5rem;
}

.p-lp-review__icon {
  aspect-ratio: 1;
  position: absolute;
  top: -26px;
  top: -1.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border: 1px solid #cbd5e1;
  border-radius: 50%;
  background-color: #fff;
  width: 60px;
  width: 3.75rem;
  overflow: hidden;
}

.p-lp-review__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-lp-review__head {
  text-align: center;
}

.p-lp-review__title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: max(14px, 20px);
  font-size: max(14px, 1.25rem);
  font-weight: 900;
  letter-spacing: .05em;
}

.p-lp-review__meta {
  row-gap: 5px;
  row-gap: .3125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 24px;
  margin-top: 1.5rem;
  border-top: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
  padding: 12px 0;
  padding: .75rem 0;
}

.p-lp-review__car {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #d0121b;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 14px;
  font-weight: 900;
}

.p-lp-review__car-icon {
  aspect-ratio: 1;
  width: 24px;
  width: 1.5rem;
}

.p-lp-review__info {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

.p-lp-review__divider {
  background-color: #cbd5e1;
  width: 1px;
  height: 18px;
  height: 1.125rem;
}

.p-lp-review__text {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-lp-review__source {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 14px;
  line-height: 1.8;
  text-align: right;
}

.p-lp-review__source-link {
  color: #004fa2;
  text-decoration: underline;
}

a.p-lp-review__source-link {
  -webkit-transition: -webkit-text-decoration .3s;
  transition: -webkit-text-decoration .3s;
  transition: text-decoration .3s;
  transition: text-decoration .3s, -webkit-text-decoration .3s;
}

a.p-lp-review__source-link:focus-visible {
  text-decoration: none;
}

/************************************************************************
* p-mv
************************************************************************/
.p-mv__bar {
  background-color: #004fa2;
  padding: 12px 0;
  padding: .75rem 0;
}

.p-mv__bar-text {
  color: #fff;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  font-weight: 900;
  letter-spacing: .02em;
  text-align: center;
}

.p-mv__bar-highlight {
  color: #ffec61;
  font-size: max(14px, 20px);
  font-size: max(14px, 1.25rem);
}

.p-mv__body {
  position: relative;
  overflow: hidden;
}

.p-mv__catch {
  position: relative;
  padding-top: 32px;
  padding-top: 2rem;
  text-align: center;
}

.p-mv__brand {
  gap: 4px;
  gap: .25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-mv__brand-name {
  position: relative;
  isolation: isolate;
  padding-bottom: 4px;
  padding-bottom: .25rem;
  color: #d0121b;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.2;
}

.p-mv__brand-name::after {
  position: absolute;
  right: 0;
  bottom: 4px;
  bottom: .25rem;
  left: 0;
  z-index: -1;
  background-color: #ffc6c9;
  height: 32%;
  content: '';
}

.p-mv__brand-amp {
  color: #054587;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.36;
}

.p-mv__hero-img {
  aspect-ratio: 367/128;
  margin-top: 5px;
  margin-top: .3125rem;
}

.p-mv__hero-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-mv__tagline {
  margin-top: 10px;
  margin-top: .625rem;
  color: #004fa2;
  font-size: max(14px, 17px);
  font-size: max(14px, 1.0625rem);
  font-weight: 900;
  letter-spacing: .02em;
}

.p-mv__tagline-accent {
  color: #d0121b;
}

.p-mv__badge {
  aspect-ratio: 1;
  display: grid;
  position: absolute;
  bottom: -48px;
  bottom: -3rem;
  left: calc(50% - 11.8125rem);
  place-items: center;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  z-index: 2;
  border-radius: 50%;
  background-color: #d0121b;
  width: 66px;
  width: 4.125rem;
  color: #fff;
}

.p-mv__badge-text {
  font-size: 8px;
  font-size: .5rem;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
}

.p-mv__badge--small .p-mv__badge-text {
  font-size: 11px;
  font-size: .6875rem;
  font-weight: 700;
}

.p-mv__badge-title {
  font-size: 13px;
  font-size: .8125rem;
}

.p-mv__photos {
  gap: 8px;
  gap: .5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 24px;
  margin-top: 1.5rem;
  margin-left: -304px;
  width: calc(100% + 608px);
}

.p-mv__photo {
  aspect-ratio: 1120/693;
  border-radius: .25rem;
  overflow: hidden;
}

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

.p-mv__cars {
  margin-top: -16px;
  margin-top: -1rem;
  width: 100%;
  overflow: hidden;
}

.p-mv__cars-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-animation: carscroll 60s linear infinite;
  animation: carScroll 60s linear infinite;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.p-mv__cars-track:focus-visible {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

.p-mv__cars-item {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
  margin-right: 20px;
  margin-right: 1.25rem;
  width: 60px;
  width: 3.75rem;
}

.p-mv__cars-item:focus-visible {
  -webkit-animation: carshake .1s infinite linear;
  animation: carShake .1s infinite linear;
}

.p-mv__cars-img {
  width: 100%;
}

.p-mv__cars-img img {
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

@-webkit-keyframes carScroll {

  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes carScroll {

  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes carShake {

  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-1px, -1px) rotate(-.2deg);
    transform: translate(-1px, -1px) rotate(-.2deg);
  }

  50% {
    -webkit-transform: translate(1px, 0) rotate(.2deg);
    transform: translate(1px, 0) rotate(.2deg);
  }

  75% {
    -webkit-transform: translate(-1px, 1px) rotate(-.1deg);
    transform: translate(-1px, 1px) rotate(-.1deg);
  }

  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes carShake {

  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }

  25% {
    -webkit-transform: translate(-1px, -1px) rotate(-.2deg);
    transform: translate(-1px, -1px) rotate(-.2deg);
  }

  50% {
    -webkit-transform: translate(1px, 0) rotate(.2deg);
    transform: translate(1px, 0) rotate(.2deg);
  }

  75% {
    -webkit-transform: translate(-1px, 1px) rotate(-.1deg);
    transform: translate(-1px, 1px) rotate(-.1deg);
  }

  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
}

/************************************************************************
* p-news-column
************************************************************************/
.p-news-column {
  padding: 0 0 48px;
  padding: 0 0 3rem;
}

.p-news-column__inner {
  gap: 40px;
  gap: 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-news-column__head .c-section-title__amp {
  display: inline-block;
  font-size: .625em;
}

.p-news-column__main {
  min-width: 0;
}

.p-news-column__list {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-news-column__item {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-news-column__item + .p-news-column__item {
  border-top: 1px solid #e2e8f0;
  padding-top: 24px;
  padding-top: 1.5rem;
}

.p-news-column__img {
  aspect-ratio: 1/1;
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: .5rem;
  width: 80px;
  width: 5rem;
  overflow: hidden;
}

.p-news-column__img figure,
.p-news-column__img picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-news-column__img img {
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-news-column__img:focus-visible img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.p-news-column__meta .c-tag {
  background-color: #f1f5f9;
}

a.p-news-column__title {
  display: block;
  text-decoration: none;
}

.p-news-column__body {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
}

.p-news-column__meta {
  gap: 12px;
  gap: .75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-news-column__date {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #94a3b8;
  font-family: 'Reddit Sans', sans-serif, 'Noto Sans JP', sans-serif;
  font-size: max(12px, 14px);
  font-size: max(12px, .875rem);
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-news-column__title {
  -webkit-transition: color .3s;
  transition: color .3s;
  color: #004fa2;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
}

.p-news-column__title:focus-visible {
  color: #d0121b;
}

.p-news-column__action {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-news-column__empty {
  color: #475569;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
}

/* p-news-single
 ******************************************************************************/
.p-news-single {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
}

.p-news-single__title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 26px);
  font-size: max(14px, 1.625rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-news-single__meta {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 32px;
  margin-top: 2rem;
  border-top: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
  padding: 16px 0;
  padding: 1rem 0;
}

.p-news-single__date {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #475569;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-news-single__thumbnail {
  aspect-ratio: 912/564;
  margin-top: 24px;
  margin-top: 1.5rem;
  border-radius: .5rem;
  overflow: hidden;
}

.p-news-single__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-news-single__body {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-news-single__author {
  margin-top: 32px;
  margin-top: 2rem;
}

/* p-news
 ******************************************************************************/
.p-news__heading {
  clip: rect(0, 0, 0, 0);
  position: absolute;
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.p-news__lead {
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .05em;
  line-height: 1.8;
}

.p-news__filter {
  margin-top: 40px;
  margin-top: 2.5rem;
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px;
  padding: 1.5rem;
}

.p-news__filter-label {
  color: #004fa2;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-news__filter-tags {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-news__list {
  gap: 24px;
  gap: 1.5rem;
  display: grid;
  margin-top: 40px;
  margin-top: 2.5rem;
  list-style: none;
}

.p-news__empty {
  margin-top: 40px;
  margin-top: 2.5rem;
  color: #475569;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  text-align: center;
}

/* p-pagination
 ******************************************************************************/
.p-pagination {
  margin-top: 48px;
  margin-top: 3rem;
}

.p-pagination__inner {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-pagination__arrow {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  border-radius: 50%;
  background-color: #004fa2;
  width: 35px;
  color: #fff;
  text-decoration: none;
}

.p-pagination__arrow svg {
  width: 6px;
  width: .375rem;
}

.p-pagination__arrow:focus-visible {
  background-color: #d0121b;
}

.p-pagination__numbers--sp {
  gap: 6px;
  gap: .375rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-pagination__numbers--pc {
  display: none;
}

.page-numbers {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  border-radius: 50%;
  background-color: #004fa2;
  width: 30px;
  color: #fff;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: .8;
  text-decoration: none;
}

.page-numbers:focus-visible {
  background-color: #d0121b;
}

.page-numbers.current {
  background-color: #d0121b;
  width: 35px;
}

.page-numbers.dots {
  aspect-ratio: auto;
  background-color: transparent;
  width: auto;
  color: #004fa2;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  letter-spacing: .05em;
}

/************************************************************************
* p-reason-list - 選ばれる理由セクション（共通）
************************************************************************/
.p-reason-list {
  padding-top: 64px;
  padding-top: 4rem;
}

.p-reason-list.p-reason-list--trimmed {
  padding-top: 0;
}

.p-reason-list.p-reason-list--trimmed .p-reason-list__lead {
  margin-top: 0;
}

.p-reason-list__lead {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
}

.p-reason-list__items {
  row-gap: 32px;
  row-gap: 2rem;
  display: grid;
  counter-reset: reason;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-reason-list__item {
  counter-increment: reason;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 32px;
  padding-bottom: 2rem;
}

.p-reason-list.p-reason-list--trimmed .p-reason-list__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.p-reason-list__img {
  aspect-ratio: 320/180;
  border-radius: .5rem;
  overflow: hidden;
}

.p-reason-list__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-reason-list__body {
  row-gap: 16px;
  row-gap: 1rem;
  display: grid;
  margin-top: 28px;
  margin-top: 1.75rem;
}

.p-reason-list__link {
  display: grid;
  grid-template-columns: 4.25rem 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: .5rem;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  color: inherit;
  text-decoration: none;
}

.p-reason-list__link::before {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 72px;
  font-size: 4.5rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: .8;
  text-align: center;
  content: counter(reason);
}

.p-reason-list__link .p-reason-list__main {
  -webkit-transition: color .3s;
  transition: color .3s;
}

.p-reason-list__link:focus-visible::before {
  -webkit-transform: translateX(.25rem);
  transform: translateX(.25rem);
}

.p-reason-list__link:focus-visible .p-reason-list__main {
  color: #d0121b;
}

.p-reason-list__sub {
  display: block;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-reason-list__main {
  display: block;
  color: #004fa2;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.2;
}

.p-reason-list__text {
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
}

.p-reason-list__action {
  margin-top: 16px;
  margin-top: 1rem;
  text-align: right;
}

.p-reason-list__btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: background-color .3s, color .3s;
  transition: background-color .3s, color .3s;
  border: 1px solid #004fa2;
  border-radius: 6.25rem;
  background-color: #004fa2;
  padding: 4px 8px 4px 24px;
  padding: .25rem .5rem .25rem 1.5rem;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.p-reason-list__btn::after {
  aspect-ratio: 1;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M1 1L5 5L1 9' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M1 1L5 5L1 9' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: .375rem auto;
  mask-size: .375rem auto;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  margin-left: 4px;
  margin-left: .25rem;
  background-color: #fff;
  width: 30px;
  width: 1.875rem;
  content: '';
}

.p-reason-list__btn:focus-visible {
  background-color: #fff;
  color: #004fa2;
}

.p-reason-list__btn:focus-visible::after {
  background-color: #004fa2;
}

/************************************************************************
* p-reason - 選ばれる理由ページ固有スタイル
************************************************************************/

/* p-repair-case
 ******************************************************************************/
.p-repair-case__heading {
  clip: rect(0, 0, 0, 0);
  position: absolute;
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.p-repair-case__lead {
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .05em;
  line-height: 1.8;
}

.p-repair-case__filter {
  margin-top: 40px;
  margin-top: 2.5rem;
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px;
  padding: 1.5rem;
}

.p-repair-case__filter-group {
  gap: 20px;
  gap: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-repair-case__filter-label {
  gap: 10px;
  gap: .625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #004fa2;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-repair-case__filter-label::before {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  width: 1.25rem;
  content: '';
}

.p-repair-case__filter-label.p-repair-case__filter-label--maker::before {
  background-image: url('../img/common/icon_maker.svg');
}

.p-repair-case__filter-label.p-repair-case__filter-label--car::before {
  background-image: url('../img/common/icon_car.svg');
}

.p-repair-case__filter-label.p-repair-case__filter-label--symptom::before {
  background-image: url('../img/common/icon_symptom.svg');
}

.p-repair-case__filter-tags {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-repair-case__filter-line {
  display: block;
  margin: 24px 0;
  margin: 1.5rem 0;
  border-top: 1px solid #e2e8f0;
}

.p-repair-case__list {
  gap: 24px;
  gap: 1.5rem;
  display: grid;
  margin-top: 40px;
  margin-top: 2.5rem;
  list-style: none;
}

.p-repair-case__empty {
  margin-top: 40px;
  margin-top: 2.5rem;
  color: #475569;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  text-align: center;
}

/************************************************************************
* p-service-cost
************************************************************************/
.p-service-cost {
  padding-top: 64px;
  padding-top: 4rem;
}

.p-service-cost__price {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-cost__merit,
.p-service-cost__documents {
  margin-top: 48px;
  margin-top: 3rem;
}

.p-service-cost__heading {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-service-cost__heading::before {
  aspect-ratio: 1;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #d0121b;
  width: 8px;
  width: .5rem;
  content: '';
}

.p-service-cost__heading-label {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
  letter-spacing: .05em;
}

.p-service-cost__catch {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 20px);
  font-size: max(14px, 1.25rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
}

.p-service-cost__desc {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-service-cost__voices {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-cost__voice-images {
  gap: 16px;
  gap: 1rem;
  display: grid;
}

.p-service-cost__voice-img {
  aspect-ratio: 776/716;
  border: 1px solid #cbd5e1;
  border-radius: .25rem;
  overflow: hidden;
}

.p-service-cost__voice-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-service-cost__voice-info {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-service-cost__voice-link {
  gap: 8px;
  gap: .5rem;
  text-underline-offset: .5em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #004fa2;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.8;
  text-decoration: underline;
}

.p-service-cost__voice-link::before {
  aspect-ratio: 6/9;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #004fa2;
  width: 6px;
  width: .375rem;
  content: '';
}

.p-service-cost__voice-note {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 12px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-service-cost__reasons {
  gap: 8px;
  gap: .5rem;
  display: grid;
  counter-reset: reason;
  margin-top: 48px;
  margin-top: 3rem;
  list-style: none;
}

.p-service-cost__reason {
  counter-increment: reason;
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px 32px;
  padding: 1.5rem 2rem;
}

.p-service-cost__reason-label {
  display: inline-block;
  border-bottom: 3px solid #d0121b;
  text-align: center;
}

.p-service-cost__reason-label::before {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: .8;
  content: 'Reason ' counter(reason);
}

.p-service-cost__reason-head {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-service-cost__reason-title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
}

.p-service-cost__reason-text {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

/************************************************************************
* p-service-cta
************************************************************************/
.p-service-cta {
  margin-inline: calc(50% - var(--vw) / 2);
  padding-block: 48px 40px;
  padding-block: 3rem 2.5rem;
  padding-inline: max(24px, (var(--vw) - 600px) / 2 + 24px);
  padding-inline: max(1.5rem, (var(--vw) - 600px) / 2 + 1.5rem);
  background: url('../img/common/cta_bg_sp.jpg') no-repeat center/cover;
  width: var(--vw);
  text-align: center;
}

.p-service-cta__title {
  color: #fff;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 20px);
  font-size: max(14px, 1.25rem);
  font-weight: 900;
  letter-spacing: .05em;
}

.p-service-cta__title-text {
  padding-inline: 30px;
  padding-inline: 1.875rem;
  display: inline-block;
  position: relative;
  font-size: max(14px, 28px);
  font-size: max(14px, 1.75rem);
}

.p-service-cta__title-text::before, .p-service-cta__title-text::after {
  aspect-ratio: 30/35;
  position: absolute;
  bottom: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='35' viewBox='0 0 30 35' fill='none'%3E%3Cline x1='19' y1='1' x2='3' y2='34' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='27' y1='20' x2='18' y2='34' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  width: 1.5rem;
  content: '';
}

.p-service-cta__title-text::before {
  left: 0;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.p-service-cta__title-text::after {
  right: 0;
}

.p-service-cta__body {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-cta__speech {
  gap: 20px;
  gap: 1.25rem;
  display: grid;
  grid-template-columns: 1fr 3.75rem;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
}

.p-service-cta__balloon {
  position: relative;
  border-radius: .625rem;
  background-color: #fff;
  padding: 20px 24px;
  padding: 1.25rem 1.5rem;
  text-align: left;
}

.p-service-cta__balloon::after {
  position: absolute;
  top: 24px;
  top: 1.5rem;
  right: -10px;
  right: -.625rem;
  border-top: 8px solid transparent;
  border-top: .5rem solid transparent;
  border-bottom: 8px solid transparent;
  border-bottom: .5rem solid transparent;
  border-left: 10px solid #fff;
  border-left: .625rem solid #fff;
  content: '';
}

.p-service-cta__balloon-text {
  color: #004fa2;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-service-cta__speaker {
  text-align: center;
}

.p-service-cta__speaker-img {
  aspect-ratio: 1;
  margin-inline: auto;
  border-radius: 50%;
  width: 60px;
  width: 3.75rem;
  overflow: hidden;
}

.p-service-cta__speaker-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-service-cta__speaker-role {
  margin-top: 12px;
  margin-top: .75rem;
  color: #fff;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.2;
}

.p-service-cta__speaker-name {
  margin-top: 2px;
  margin-top: .125rem;
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: .02em;
}

.p-service-cta__btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: .3s ease;
  transition: .3s ease;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
  margin-top: 24px;
  margin-top: 1.5rem;
  border: 1px solid #d0121b;
  border-radius: 6.25rem;
  background-color: #d0121b;
  padding: 12px 46px 12px 24px;
  padding: .75rem 2.875rem .75rem 1.5rem;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
}

.p-service-cta__btn::after {
  aspect-ratio: 6/9;
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;
  width: 6px;
  width: .375rem;
  content: '';
}

.p-service-cta__btn:focus-visible {
  background-color: #fff;
  color: #d0121b;
}

/************************************************************************
* p-service-detail
************************************************************************/
.p-service-detail {
  margin-inline: auto;
  max-width: 600px;
}

.p-service-detail__2col {
  padding: 0 24px;
}

.p-service-detail__body {
  min-width: 0;
}

/************************************************************************
* p-service-feature
************************************************************************/
.p-service-feature {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 48px;
  padding-bottom: 3rem;
}

.p-service-feature__group {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-feature__group + .p-service-feature__group {
  margin-top: 48px;
  margin-top: 3rem;
}

.p-service-feature__heading {
  position: relative;
  padding-left: 24px;
  padding-left: 1.5rem;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
  letter-spacing: .05em;
}

.p-service-feature__heading::before {
  aspect-ratio: 1;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #d0121b;
  width: 8px;
  width: .5rem;
  content: '';
}

.p-service-feature__stats {
  gap: 8px;
  gap: .5rem;
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-feature__stat {
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px 32px;
  padding: 1.5rem 2rem;
  overflow: hidden;
  text-align: center;
}

.p-service-feature__stat-label {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .05em;
}

.p-service-feature__stat-label::after {
  display: block;
  margin: 12px auto 0;
  margin: .75rem auto 0;
  background-color: #d0121b;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: .25rem;
  content: '';
}

.p-service-feature__stat-value {
  gap: 4px;
  gap: .25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 16px;
  margin-top: 1rem;
  color: #d0121b;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-service-feature__stat-value.p-service-feature__stat-value--text {
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 44px;
  font-size: 2.75rem;
  letter-spacing: .05em;
}

.p-service-feature__stat-number {
  font-family: 'Reddit Sans', sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 44px;
  font-size: 2.75rem;
  letter-spacing: .05em;
}

.p-service-feature__stat-unit {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  letter-spacing: .05em;
}

.p-service-feature__stat-text {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
  text-align: left;
}

.p-service-feature__cards {
  gap: 8px;
  gap: .5rem;
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-feature__card {
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 24px 32px;
  padding: 1.5rem 2rem;
  overflow: hidden;
}

.p-service-feature__card-img {
  aspect-ratio: 271/148;
  border-radius: .5rem;
  overflow: hidden;
}

.p-service-feature__card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-service-feature__card-body {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-service-feature__card-title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
}

.p-service-feature__card-text {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

/************************************************************************
* p-service-policy
************************************************************************/
.p-service-policy {
  margin-inline: calc(50% - var(--vw) / 2);
  background-color: #f1f5f9;
  padding-top: 24px;
  padding-top: 1.5rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
  width: var(--vw);
}

.p-service-policy__hero {
  position: relative;
  overflow: hidden;
}

.p-service-policy__hero-img {
  gap: 8px;
  gap: .5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-left: -304px;
  width: calc(100% + 608px);
}

.p-service-policy__hero-photo {
  aspect-ratio: 700/433;
  border-radius: .5rem;
  overflow: hidden;
}

.p-service-policy__hero-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-service-policy__hero-title {
  position: relative;
  margin-top: -32px;
  margin-top: -2rem;
  margin-right: 24px;
  margin-right: 1.5rem;
  border-top-right-radius: 8px;
  border-top-right-radius: .5rem;
  background-color: #f1f5f9;
  padding-top: 48px;
  padding-top: 3rem;
  padding-left: 24px;
  padding-left: 1.5rem;
}

.p-service-policy__content {
  padding-inline: max(24px, (var(--vw) - 600px) / 2 + 24px);
}

.p-service-policy__heading {
  position: relative;
  padding-left: 24px;
  padding-left: 1.5rem;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
  letter-spacing: .05em;
}

.p-service-policy__heading::before {
  aspect-ratio: 1;
  position: absolute;
  top: .5lh;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #d0121b;
  width: 8px;
  width: .5rem;
  content: '';
}

.p-service-policy__group {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-policy__group + .p-service-policy__group {
  margin-top: 48px;
  margin-top: 3rem;
}

.p-service-policy__promises {
  margin-top: 32px;
  margin-top: 2rem;
  border-radius: .5rem;
  background-color: #fff;
  padding: 24px 32px;
  padding: 1.5rem 2rem;
  overflow: hidden;
}

.p-service-policy__promise-line {
  display: block;
  margin: 24px 0;
  margin: 1.5rem 0;
  border-top: 1px solid #e2e8f0;
}

.p-service-policy__promise {
  text-align: center;
}

.p-service-policy__promise-number {
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.2;
}

.p-service-policy__promise-body {
  margin-top: 8px;
  margin-top: .5rem;
}

.p-service-policy__promise-title {
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.6;
}

.p-service-policy__promise-accent {
  color: #d0121b;
  font-weight: 700;
}

.p-service-policy__promise-text {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
  text-align: left;
}

.p-service-policy__speeches {
  gap: 24px;
  gap: 1.5rem;
  display: grid;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-policy__speech {
  gap: 0;
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
}

.p-service-policy__speech.p-service-policy__speech--reverse {
  grid-template-columns: 1fr 3.75rem;
}

.p-service-policy__speech.p-service-policy__speech--reverse .p-service-policy__speech-person {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}

.p-service-policy__speech.p-service-policy__speech--reverse .p-service-policy__speech-balloon {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.p-service-policy__speech.p-service-policy__speech--reverse .p-service-policy__speech-balloon::before {
  right: -10px;
  right: -.625rem;
  left: auto;
  border-right: none;
  border-left: 10px solid #fff;
  border-left: .625rem solid #fff;
}

.p-service-policy__speech-person {
  text-align: center;
}

.p-service-policy__speech-img {
  aspect-ratio: 1;
  margin-inline: auto;
  border-radius: 50%;
  width: 60px;
  width: 3.75rem;
  overflow: hidden;
}

.p-service-policy__speech-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-service-policy__speech-role {
  margin-top: 12px;
  margin-top: .75rem;
  font-size: 14px;
  letter-spacing: .02em;
}

.p-service-policy__speech-name {
  margin-top: 2px;
  margin-top: .125rem;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
}

.p-service-policy__speech-balloon {
  position: relative;
  margin-left: 20px;
  margin-left: 1.25rem;
  border-radius: .625rem;
  background-color: #fff;
  padding: 20px 24px;
  padding: 1.25rem 1.5rem;
}

.p-service-policy__speech-balloon::before {
  position: absolute;
  top: 24px;
  top: 1.5rem;
  left: -10px;
  left: -.625rem;
  border-top: 8px solid transparent;
  border-top: .5rem solid transparent;
  border-right: 10px solid #fff;
  border-right: .625rem solid #fff;
  border-bottom: 8px solid transparent;
  border-bottom: .5rem solid transparent;
  content: '';
}

.p-service-policy__speech.p-service-policy__speech--reverse .p-service-policy__speech-balloon {
  margin-right: 20px;
  margin-right: 1.25rem;
  margin-left: 0;
}

.p-service-policy__speech-title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 700;
  letter-spacing: .05em;
}

.p-service-policy__speech-text {
  margin-top: 8px;
  margin-top: .5rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

/************************************************************************
* p-service-trouble
************************************************************************/
.p-service-trouble {
  padding-top: 64px;
  padding-top: 4rem;
}

.p-service-trouble__lead {
  margin-top: 32px;
  margin-top: 2rem;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-service-trouble__list {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-trouble__card {
  border-radius: .5rem;
  background-color: #f1f5f9;
  padding: 16px 24px 24px;
  padding: 1rem 1.5rem 1.5rem;
}

.p-service-trouble__card + .p-service-trouble__card {
  margin-top: 8px;
  margin-top: .5rem;
}

.p-service-trouble__card-inner {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-service-trouble__card-icon {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
  width: 50px;
  width: 3.125rem;
}

.p-service-trouble__card-icon img {
  width: 25px;
  width: 1.5625rem;
  height: 100%;
}

.p-service-trouble__card-title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 17px);
  font-size: max(14px, 1.0625rem);
  font-weight: 700;
  letter-spacing: .05em;
}

.p-service-trouble__card-text {
  margin-top: 8px;
  margin-top: .5rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-service-trouble__connector-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-service-trouble__connector-wrap::before {
  aspect-ratio: 2/29;
  background-image: url('../img/service/connector_top.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 2px;
  width: .125rem;
  content: '';
}

.p-service-trouble__connector-wrap::after {
  aspect-ratio: 12/38;
  background-image: url('../img/service/connector_bottom.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  width: .75rem;
  content: '';
}

.p-service-trouble__connector {
  border-radius: 50vmax;
  background-color: #004fa2;
  padding: 8px 20px;
  padding: .5rem 1.25rem;
  color: #fff;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 16px);
  font-size: max(14px, 1rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
}

.p-service-trouble__catch {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 20px);
  font-size: max(14px, 1.25rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
  text-align: center;
}

.p-service-trouble__desc {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-service-trouble__desc-text {
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-service-trouble__desc-text + .p-service-trouble__desc-text {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-service-trouble__photos {
  gap: 8px;
  gap: .5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service-trouble__photo {
  aspect-ratio: 703/435;
  border-radius: .5rem;
  overflow: hidden;
}

.p-service-trouble__photo:first-child {
  grid-column: 1/-1;
}

.p-service-trouble__photo:nth-child(2) {
  grid-column: 1/3;
}

.p-service-trouble__photo:nth-child(3) {
  grid-column: 3/5;
}

.p-service-trouble__photo img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/************************************************************************
* p-service
************************************************************************/
.p-service {
  padding: 64px 0 48px;
  padding: 4rem 0 3rem;
}

.p-service.p-service--trimmed {
  padding-top: 0;
}

.p-service.p-service--trimmed .p-service__content {
  margin-top: 0;
}

.p-service__lead {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-service__content {
  margin-top: 48px;
  margin-top: 3rem;
}

.p-service__block + .p-service__block {
  margin-top: 64px;
  margin-top: 4rem;
}

/************************************************************************
* Sub-heading（作業内容から探す / 症状から探す）
************************************************************************/
.p-service__heading {
  text-align: center;
}

.p-service__heading::after {
  display: block;
  margin: 16px auto 0;
  margin: 1rem auto 0;
  background-color: #d0121b;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: .25rem;
  content: '';
}

.p-service__heading-title {
  line-height: 1.3;
}

.p-service__heading-accent {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: max(14px, 28px);
  font-size: max(14px, 1.75rem);
  font-weight: 900;
  letter-spacing: .05em;
}

.p-service__heading-sub {
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
  letter-spacing: .05em;
}

/************************************************************************
* 作業内容カード
************************************************************************/
.p-service__work {
  gap: 4px;
  gap: .25rem;
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service__work-link {
  aspect-ratio: 5/3;
  display: block;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}

.p-service__work-link::before {
  inset: 0;
  position: absolute;
  z-index: 1;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .3)), to(transparent));
  background: linear-gradient(to top, rgba(0, 0, 0, .3), transparent);
  pointer-events: none;
  content: '';
}

.p-service__work-link::after {
  aspect-ratio: 1;
  position: absolute;
  right: 8px;
  right: .5rem;
  bottom: 8px;
  bottom: .5rem;
  z-index: 2;
  border-radius: 50%;
  background-color: #fff;
  background-image: url('../img/common/icon_arrow.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: .25rem auto;
  width: 20px;
  width: 1.25rem;
  content: '';
}

.p-service__work-link:focus-visible .p-service__work-img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.p-service__work-img {
  inset: 0;
  position: absolute;
}

.p-service__work-img img {
  inset: 0;
  position: absolute;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-service__work-body {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 24px;
  padding: 1.5rem;
}

.p-service__work-en {
  display: block;
  color: #d0121b;
  font-family: 'Reddit Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.2;
}

.p-service__work-name {
  display: block;
  margin-top: 4px;
  margin-top: .25rem;
  color: #fff;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 32px;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.2;
}

/************************************************************************
* 症状カード
************************************************************************/
.p-service__symptom {
  gap: 4px;
  gap: .25rem;
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-service__symptom-link {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  border-radius: 8px;
  background-color: #f1f5f9;
  padding: 12px 40px 12px 16px;
  padding: .75rem 2.5rem .75rem 1rem;
  height: 100%;
}

.p-service__symptom-link::before, .p-service__symptom-link::after {
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 10px;
  right: .625rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  width: 1.25rem;
  content: '';
}

.p-service__symptom-link::before {
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  border-radius: 50%;
  background-color: #fff;
}

.p-service__symptom-link::after {
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-size: .25rem auto;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url('../img/common/icon_arrow.svg');
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: .25rem auto;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  background-color: #004fa2;
}

.p-service__symptom-link:focus-visible {
  background-color: #004fa2;
}

.p-service__symptom-link:focus-visible .p-service__symptom-name {
  color: #fff;
}

.p-service__symptom-link:focus-visible::after {
  background-color: #d0121b;
}

.p-service__symptom-icon {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  border-radius: 50%;
  background-color: #fff;
  width: 40px;
  width: 2.5rem;
}

.p-service__symptom-icon img {
  aspect-ratio: 1;
  -webkit-transition: -webkit-filter .3s;
  transition: -webkit-filter .3s;
  transition: filter .3s;
  transition: filter .3s, -webkit-filter .3s;
  width: 26px;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-service__symptom-name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: color .3s;
  transition: color .3s;
  min-height: 3em;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
}

.p-service__symptom-name br {
  display: none;
}

/************************************************************************
* p-top-appeal
************************************************************************/
.p-top-appeal {
  position: relative;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  overflow: hidden;
}

.p-top-appeal__symptoms {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 0 8px;
  padding: 0 0 .5rem;
}

.p-top-appeal__symptom-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
  list-style: none;
}

.p-top-appeal__symptom-item {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-top-appeal__symptom-item + .p-top-appeal__symptom-item {
  margin-left: -10px;
  margin-left: -.625rem;
}

.p-top-appeal__symptom-item.p-top-appeal__symptom-item--2, .p-top-appeal__symptom-item.p-top-appeal__symptom-item--4, .p-top-appeal__symptom-item.p-top-appeal__symptom-item--6, .p-top-appeal__symptom-item.p-top-appeal__symptom-item--8 {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-top-appeal__symptom-link {
  display: block;
  -webkit-transition: -webkit-transform .4s ease-out;
  transition: -webkit-transform .4s ease-out;
  transition: transform .4s ease-out;
  transition: transform .4s ease-out, -webkit-transform .4s ease-out;
  will-change: transform;
  text-decoration: none;
}

.p-top-appeal__symptom-link:focus-visible {
  -webkit-transform: translateY(-12px) scale(1.05);
  transform: translateY(-12px) scale(1.05);
}

.p-top-appeal__bubble {
  aspect-ratio: 1;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: #f1f5f9;
  padding: 6px;
  padding: .375rem;
  width: 90px;
  width: 5.625rem;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.6;
  text-align: center;
}

.p-top-appeal__bubble-text {
  display: inline-block;
  font-size: 12px;
}

.p-top-appeal__bubble-arrow {
  aspect-ratio: 16/10;
  margin-inline: auto;
  display: block;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin-top: -3px;
  margin-top: -.1875rem;
  background-color: #f1f5f9;
  width: 16px;
  width: 1rem;
}

.p-top-appeal__main {
  position: relative;
  padding: 24px 0 0;
  padding: 1.5rem 0 0;
}

.p-top-appeal__bg {
  inset: 0 0 0 0;
  position: absolute;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  text-align: center;
}

.p-top-appeal__bg-line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: appeal-marquee-left 40s linear infinite;
  animation: appeal-marquee-left 40s linear infinite;
  will-change: transform;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: #f1f5f9;
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(14px, 34px);
  font-size: max(14px, 2.125rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.p-top-appeal__bg-line + .p-top-appeal__bg-line {
  margin-top: 4px;
  margin-top: .25rem;
}

.p-top-appeal__bg-line:nth-child(even) {
  -webkit-animation-name: appeal-marquee-right;
  animation-name: appeal-marquee-right;
}

.p-top-appeal__bg-text {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
}

@-webkit-keyframes appeal-marquee-left {

  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes appeal-marquee-left {

  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@-webkit-keyframes appeal-marquee-right {

  from {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes appeal-marquee-right {

  from {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.p-top-appeal__head {
  position: relative;
  z-index: 1;
  text-align: center;
}

.p-top-appeal__sub {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #d0121b;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.5;
  text-align: center;
}

.p-top-appeal__sub-text {
  display: inline-block;
  position: relative;
}

.p-top-appeal__sub-text::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: #ffc6c9;
  height: .32em;
  content: '';
}

.p-top-appeal__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 16px;
  margin-top: 1rem;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
  text-align: center;
}

.p-top-appeal__title-text {
  display: inline-block;
}

.p-top-appeal__title-row {
  display: block;
}

.p-top-appeal__title-br {
  display: inline;
}

.p-top-appeal__title-em {
  color: #d0121b;
  font-style: normal;
}

.p-top-appeal__title-mark {
  aspect-ratio: 73/84;
  display: inline-block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 36px;
  width: 2.25rem;
}

.p-top-appeal__title-mark img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-top-appeal__title-mark.p-top-appeal__title-mark--right {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.p-top-appeal__media {
  position: relative;
  margin-top: 25px;
  margin-top: 1.5625rem;
  isolation: isolate;
}

.p-top-appeal__slider {
  position: relative;
  width: 100%;
  height: 185px;
  height: 11.5625rem;
  overflow: hidden;
}

.p-top-appeal__slide-list {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-top-appeal__slider .p-top-appeal__slide {
  aspect-ratio: 300/185;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  z-index: 1;
  width: 300px;
  width: 18.75rem;
  height: auto;
}

.p-top-appeal__slider .p-top-appeal__slide:has(~ .swiper-slide-active) {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.p-top-appeal__slider .p-top-appeal__slide.swiper-slide-active {
  z-index: 2;
}

.p-top-appeal__slide-img {
  aspect-ratio: 300/185;
  position: relative;
  -webkit-transition: width .5s ease-out;
  transition: width .5s ease-out;
  margin: 0;
  border-radius: .5rem;
  width: 188px;
  width: 11.75rem;
  overflow: hidden;
}

.p-top-appeal__slide.swiper-slide-active .p-top-appeal__slide-img {
  width: 300px;
  width: 18.75rem;
}

.p-top-appeal__controls {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-top-appeal__nav {
  aspect-ratio: 1;
  display: block;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  background-color: #004fa2;
  width: 30px;
  width: 1.875rem;
}

.p-top-appeal__nav::before {
  inset: 0;
  aspect-ratio: 4/8;
  position: absolute;
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin: auto;
  background-color: #fff;
  width: 4px;
  width: .25rem;
  content: '';
}

.p-top-appeal__nav:focus-visible {
  background-color: #054587;
}

.p-top-appeal__nav.swiper-button-disabled {
  opacity: .4;
  cursor: default;
  pointer-events: none;
}

.p-top-appeal__nav.p-top-appeal__nav--prev::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-top-appeal__controls .p-top-appeal__pagination {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: static;
  bottom: auto;
  left: auto;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: auto;
}

.p-top-appeal__controls .p-top-appeal__pagination .swiper-pagination-bullet {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  opacity: 1;
  -webkit-transition: background-color .3s, width .3s, height .3s;
  transition: background-color .3s, width .3s, height .3s;
  margin: 0;
  border-radius: 50%;
  background-color: #004fa2;
  width: 10px;
  width: .625rem;
  height: 10px;
  height: .625rem;
}

.p-top-appeal__controls .p-top-appeal__pagination .swiper-pagination-bullet-active {
  background-color: #d0121b;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
}

.p-top-appeal__chief {
  margin-inline: auto;
  padding-inline: 24px;
  padding-inline: 1.5rem;
  position: relative;
  z-index: 5;
  padding-top: 35px;
  padding-top: 2.1875rem;
}

.p-top-appeal__chief-name {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  z-index: 2;
  border-radius: .375rem;
  background-color: #004fa2;
  padding: 16px 32px;
  padding: 1rem 2rem;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
}

.p-top-appeal__chief-name-text {
  display: inline-block;
}

.p-top-appeal__chief-balloon {
  margin-inline: 16px;
  margin-inline: 1rem;
  display: grid;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: -8px;
  margin-top: -.5rem;
  border-radius: .5rem;
  background-color: #004fa2;
  padding: 24px 16px;
  padding: 1.5rem 1rem;
  color: #fff;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: max(12px, 14px);
  font-size: max(12px, .875rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6;
  text-align: center;
}

.p-top-appeal__chief-text {
  grid-area: 1/1;
  visibility: hidden;
  margin: 0;
}

.p-top-appeal__chief-text.is-current {
  visibility: visible;
}

.p-top-appeal__chief-text-block {
  display: inline-block;
}

.p-top-appeal__chief-arrow {
  aspect-ratio: 22/14;
  position: absolute;
  bottom: -12px;
  bottom: -.75rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #004fa2;
  width: 22px;
  width: 1.375rem;
}

/************************************************************************
* p-top-case
************************************************************************/
.p-top-case {
  padding: 64px 0;
  padding: 4rem 0;
  overflow: hidden;
}

.p-top-case__inner {
  row-gap: 32px;
  row-gap: 2rem;
  display: grid;
  grid-template-areas: 'head' 'slider' 'controls' 'staff' 'action';
}

.p-top-case__head {
  grid-area: head;
}

.p-top-case__head .c-section-title__en {
  font-size: 64px;
  font-size: 4rem;
}

.p-top-case__lead {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-top-case__staff {
  grid-area: staff;
  margin: 0 auto;
  width: 200px;
  width: 12.5rem;
}

.p-top-case__caption {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #004fa2;
  font-size: max(14px, 18px);
  font-size: max(14px, 1.125rem);
  font-weight: 700;
  line-height: 1.1;
}

.p-top-case__caption::before, .p-top-case__caption::after {
  background-color: #004fa2;
  width: 2px;
  width: .125rem;
  height: 16px;
  height: 1rem;
  content: '';
}

.p-top-case__caption::before {
  -webkit-transform: rotate(-22deg);
  transform: rotate(-22deg);
}

.p-top-case__caption::after {
  -webkit-transform: rotate(22deg);
  transform: rotate(22deg);
}

.p-top-case__staff-img {
  aspect-ratio: 366/225;
  margin-top: 8px;
  margin-top: .5rem;
}

.p-top-case__staff-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: bottom;
  object-position: bottom;
}

.p-top-case__slider {
  grid-area: slider;
  min-width: 0;
}

.p-top-case__slider .swiper {
  overflow: visible;
}

.p-top-case__slider .swiper-slide {
  width: 310px;
  width: 19.375rem;
  height: auto;
}

.p-top-case__list {
  list-style: none;
}

.p-top-case__empty {
  color: #475569;
  font-size: max(14px, 15px);
  font-size: max(14px, .9375rem);
  text-align: center;
}

.p-top-case__controls {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  grid-area: controls;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-top-case__nav {
  aspect-ratio: 1;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  background-color: #004fa2;
  width: 30px;
  width: 1.875rem;
}

.p-top-case__nav::before {
  inset: 0;
  aspect-ratio: 4/8;
  position: absolute;
  -webkit-mask-image: url('../img/common/icon_arrow.svg');
  mask-image: url('../img/common/icon_arrow.svg');
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin: auto;
  background-color: #fff;
  width: 4px;
  width: .25rem;
  content: '';
}

.p-top-case__nav:focus-visible {
  background-color: #054587;
}

.p-top-case__nav.swiper-button-disabled {
  opacity: .4;
  cursor: default;
  pointer-events: none;
}

.p-top-case__nav.p-top-case__nav--prev::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-top-case__controls .p-top-case__pagination {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: static;
  bottom: auto;
  left: auto;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: auto;
}

.p-top-case__controls .p-top-case__pagination .swiper-pagination-bullet {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  opacity: 1;
  -webkit-transition: background-color .3s, width .3s, height .3s;
  transition: background-color .3s, width .3s, height .3s;
  margin: 0;
  border-radius: 50%;
  background-color: #004fa2;
  width: 10px;
  width: .625rem;
  height: 10px;
  height: .625rem;
}

.p-top-case__controls .p-top-case__pagination .swiper-pagination-bullet-active {
  background-color: #d0121b;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
}

.p-top-case__action {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  grid-area: action;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: -32px;
  margin-top: -2rem;
}

.p-top-case__action .c-btn {
  width: 100%;
  max-width: 360px;
  max-width: 22.5rem;
}

/************************************************************************
* p-top-news
************************************************************************/
.p-top-news {
  padding: 32px 0;
  padding: 2rem 0;
}

.p-top-news__card {
  margin-inline: auto;
  padding: 4px 16px;
  padding: .25rem 1rem;
  max-width: 1216px;
  max-width: 76rem;
}

.p-top-news__label {
  padding-block: 8px;
  padding-block: .5rem;
  color: #004fa2;
  font-family: 'Reddit Sans', sans-serif;
  font-size: max(14px, 13px);
  font-size: max(14px, .8125rem);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.8;
  text-transform: uppercase;
}

.p-top-news__body {
  min-width: 0;
}

.p-top-news__item {
  padding-block: 8px;
  padding-block: .5rem;
}

.p-top-news__item + .p-top-news__item {
  border-top: 1px solid #e2e8f0;
}

.p-top-news__item .c-tag {
  justify-self: start;
  background-color: #f1f5f9;
}

.p-top-news__link {
  display: block;
  -webkit-transition: color .3s;
  transition: color .3s;
  margin-top: 4px;
  margin-top: .25rem;
  min-width: 0;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

.p-top-news__link:focus-visible {
  color: #004fa2;
}

.p-top-news__text {
  padding-block: 8px;
  padding-block: .5rem;
  font-size: 14px;
  letter-spacing: .02em;
  line-height: 1.8;
}

/************************************************************************
* p-top-worry
************************************************************************/
.p-top-worry {
  background-color: #f1f5f9;
  padding: 64px 0 0;
  padding: 4rem 0 0;
}

.p-top-worry__card {
  position: relative;
  border-radius: .5rem;
  background-color: #fff;
  padding: 40px 16px 0;
  padding: 2.5rem 1rem 0;
}

.p-top-worry__badge {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: absolute;
  top: -16px;
  top: -1rem;
  left: 50%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 31.25rem;
  background-color: #004fa2;
  padding: 8px 16px;
  padding: .5rem 1rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: calc(100% - 1rem);
  color: #fff;
  font-size: max(14px, 14px);
  font-size: max(14px, .875rem);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.33;
}

.p-top-worry__lead {
  text-align: center;
}

.p-top-worry__lead-title {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.4;
}

.p-top-worry__lead-row {
  display: block;
}

.p-top-worry__lead-row--small {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33;
}

.p-top-worry__lead-emphasis {
  padding-inline: .05em;
  display: inline-block;
  position: relative;
  isolation: isolate;
  color: #d0121b;
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1;
}

.p-top-worry__lead-emphasis::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: #ffc6c9;
  height: .31em;
  content: '';
}

.p-top-worry__bubbles {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.p-top-worry__bubble-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-top-worry__bubble-item + .p-top-worry__bubble-item {
  margin-top: -5px;
  margin-top: -.3125rem;
}

.p-top-worry__bubble-item--1 {
  z-index: 4;
  padding-right: 24px;
  padding-right: 1.5rem;
}

.p-top-worry__bubble-item--2 {
  z-index: 3;
  padding-left: 24px;
  padding-left: 1.5rem;
}

.p-top-worry__bubble-item--3 {
  z-index: 2;
  padding-right: 24px;
  padding-right: 1.5rem;
}

.p-top-worry__bubble-item--4 {
  z-index: 1;
  padding-left: 24px;
  padding-left: 1.5rem;
}

.p-top-worry__bubble {
  position: relative;
  border: 1px solid #cbd5e1;
  border-radius: .5rem;
  background-color: #fff;
  padding: 16px;
  padding: 1rem;
  width: 100%;
  font-size: max(14px, 13px);
  font-size: max(14px, .8125rem);
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
  text-align: center;
}

.p-top-worry__bubble::after {
  position: absolute;
  bottom: -7px;
  bottom: -.4375rem;
  left: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: -7px;
  margin-left: -.4375rem;
  border-right: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
  background-color: #fff;
  width: 14px;
  width: .875rem;
  height: 14px;
  height: .875rem;
  content: '';
}

.p-top-worry__bubble-em {
  color: #d0121b;
}

.p-top-worry__deco {
  margin-inline: auto;
  aspect-ratio: 120/72;
  margin-top: 24px;
  margin-top: 1.5rem;
  width: 120px;
  width: 7.5rem;
}

.p-top-worry__deco img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-top-worry__message {
  gap: 8px;
  gap: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.p-top-worry__photo {
  aspect-ratio: 360/223;
  width: 240px;
  width: 15rem;
}

.p-top-worry__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-top-worry__message-body {
  text-align: center;
}

.p-top-worry__message-lead {
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.4;
}

.p-top-worry__message-row {
  margin-top: 4px;
  margin-top: .25rem;
  color: #004fa2;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.4;
}

.p-top-worry__message-emphasis {
  padding-inline: .05em;
  display: inline-block;
  position: relative;
  isolation: isolate;
  color: #d0121b;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1;
}

.p-top-worry__message-emphasis::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: #ffc6c9;
  height: .31em;
  content: '';
}

.clearfix::after {
  display: block;
  clear: both;
  content: '';
}

/************************************************************************
* visible device
************************************************************************/
.u-onlyPc {
  display: none;
}

.u-onlyTab {
  display: none;
}

.u-onlySp {
  display: none;
}

.u-overflowHidden {
  overflow: hidden !important;
}

/************************************************************************
* u-display
************************************************************************/
.u-inlineBlock {
  display: inline-block;
}

.u-block {
  display: block;
}

.u-inline {
  display: inline;
}

.u-pc {
  display: none;
}

@media screen and (any-hover: hover) and (min-width: 768px) {

  .c-fixed-nav__link:hover::before {
    background-color: #d0121b;
  }
}

@media screen and (min-width: 768px) {

  html {
    font-size: 1.1904761905vw;
    font-size: calc(var(--vw-unitless) / 1344 * 100%);
  }

  :root {
    --header-height: 140px;
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 40px;
    width: 2.5rem;
  }

  .l-container {
    padding-right: 30px;
    padding-left: 30px;
    max-width: 1404px;
  }

  .l-container.l-container--wide {
    max-width: 1532px;
  }

  .l-container.l-container--spsmall {
    padding-right: 30px;
    padding-left: 30px;
  }

  .l-container.l-container--narrow {
    max-width: 860px;
  }

  .l-header {
    position: relative;
  }

  .l-main {
    padding: 128px 0;
    padding: 8rem 0;
  }

  .l-main.l-main--serviceDetail {
    padding-top: 128px;
    padding-top: 8rem;
  }

  .l-sidebar-layout {
    gap: 80px;
    gap: 5rem;
    display: grid;
    grid-template-columns: 1fr 22rem;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
  }

  .l-sidebar-layout__side {
    margin-top: 0;
  }

  .c-btn {
    padding: 16px 62px 16px 40px;
    padding: 1rem 3.875rem 1rem 2.5rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .c-btn::after {
    right: 20px;
    right: 1.25rem;
  }

  .c-case-card__body {
    padding: 40px 44px;
    padding: 2.5rem 2.75rem;
  }

  .c-case-card__meta {
    padding-bottom: 24px;
    padding-bottom: 1.5rem;
    font-size: max(12px, 15px);
    font-size: max(12px, .9375rem);
    letter-spacing: .05em;
  }

  .c-case-card__title {
    margin-top: 24px;
    margin-top: 1.5rem;
    font-size: max(14px, 24px);
    font-size: max(14px, 1.5rem);
    letter-spacing: .05em;
  }

  .c-case-card__tags {
    margin-top: 24px;
    margin-top: 1.5rem;
  }

  .c-contact-box {
    display: grid;
    grid-template-columns: 39rem 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 44px 48px;
    padding: 2.75rem 3rem;
  }

  .c-contact-box__info {
    padding: 0;
  }

  .c-contact-box__phoneLink {
    pointer-events: none;
  }

  .c-contact-box__phoneLink::before {
    width: 44px;
    width: 2.75rem;
  }

  .c-contact-box__phoneNumber {
    font-size: 48px;
    font-size: 3rem;
  }

  .c-contact-box__detail {
    gap: 24px;
    gap: 1.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 16px;
    margin-top: 1rem;
  }

  .c-contact-box__hours {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .c-contact-box__btn {
    padding: 16px 48px;
    padding: 1rem 3rem;
  }

  .c-contact-box__btnLarge {
    font-size: 40px;
    font-size: 2.5rem;
  }

  .c-contact-box__btnSub {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .c-fixed-nav {
    position: -webkit-sticky;
    position: sticky;
    top: 128px;
    top: 8rem;
    -webkit-align-self: start;
    -ms-flex-item-align: start;
    align-self: start;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
  }

  .c-fixed-nav__list {
    gap: 8px;
    gap: .5rem;
  }

  .c-fixed-nav__link {
    gap: 16px;
    gap: 1rem;
    border-radius: 31.25rem;
    padding: 6px 20px;
    padding: .375rem 1.25rem;
    font-size: max(14px, 15px);
    font-size: max(14px, .9375rem);
  }

  .c-fixed-nav__link::before {
    aspect-ratio: 1;
    -webkit-transform: none;
    transform: none;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
    margin-top: .7em;
    border-radius: 50%;
    background: none;
    background-color: #004fa2;
    width: 4px;
    width: .25rem;
  }

  .c-fixed-nav__link:focus-visible::before {
    background-color: #d0121b;
  }

  .c-fixed-nav__link.is-active {
    background-color: #fff1f2;
    color: #d0121b;
  }

  .c-fixed-nav__link.is-active::before {
    background-color: #d0121b;
    width: 6px;
    width: .375rem;
  }

  .c-lead {
    padding: 80px 0;
    padding: 5rem 0;
  }

  .c-lead__text {
    font-size: max(14px, 40px);
    font-size: max(14px, 2.5rem);
  }

  .c-news-card__body {
    padding: 40px 44px;
    padding: 2.5rem 2.75rem;
  }

  .c-news-card__meta {
    gap: 16px;
    gap: 1rem;
    padding-bottom: 24px;
    padding-bottom: 1.5rem;
  }

  .c-news-card__title {
    margin-top: 24px;
    margin-top: 1.5rem;
    font-size: max(14px, 24px);
    font-size: max(14px, 1.5rem);
  }

  .c-section-title::after {
    margin-top: 28px;
    margin-top: 1.75rem;
    width: 48px;
    width: 3rem;
    height: 8px;
    height: .5rem;
  }

  .c-section-title__en {
    font-size: 116px;
    font-size: 7.25rem;
  }

  .c-section-title__ja {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .c-section-title.c-section-title--simple {
    font-size: max(14px, 38px);
    font-size: max(14px, 2.375rem);
  }

  .c-section-title.c-section-title--simple::after {
    margin-top: 24px;
    margin-top: 1.5rem;
    width: 32px;
    width: 2rem;
    height: 6px;
    height: .375rem;
  }

  .c-tag {
    padding: 8px 16px;
    padding: .5rem 1rem;
    font-size: max(14px, 13px);
    font-size: max(14px, .8125rem);
  }

  .c-tag.c-tag--md {
    padding: 10px 20px;
    padding: .625rem 1.25rem;
    font-size: 14px;
    letter-spacing: .05em;
  }

  .c-totop {
    width: 92px;
    width: 5.75rem;
  }

  .p-article-author {
    padding: 32px 48px 40px;
    padding: 2rem 3rem 2.5rem;
  }

  .p-article-author__inner {
    gap: 64px;
    gap: 4rem;
    display: grid;
    grid-template-columns: 10rem 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    margin-top: 32px;
    margin-top: 2rem;
  }

  .p-article-author__img {
    margin-inline: 0;
  }

  .p-article-author__body {
    margin-top: 0;
  }

  .p-article-author__logo {
    margin-inline: 0;
    width: 180px;
    width: 11.25rem;
  }

  .p-article-author__actions {
    gap: 16px;
    gap: 1rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .p-article-author__btn {
    margin-inline: 0;
  }

  .p-article-author__btn + .p-article-author__btn {
    margin-top: 0;
  }

  .p-article__2col {
    gap: 40px;
    gap: 2.5rem;
    display: grid;
    grid-template-columns: 15rem 1fr;
  }

  .p-article__2col .block-area {
    margin-top: 0;
  }

  .p-breadcrumb {
    padding: 16px 30px;
    padding: 1rem 30px;
  }

  .p-breadcrumb > span {
    font-size: 13px;
  }

  .p-breadcrumb > span + span::before {
    margin: 0 16px;
    margin: 0 1rem;
  }

  .p-case-single {
    padding-bottom: 128px;
    padding-bottom: 8rem;
  }

  .p-case-single__title {
    font-size: max(14px, 44px);
    font-size: max(14px, 2.75rem);
  }

  .p-case-single__meta {
    gap: 32px;
    gap: 2rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-case-single__metaItem {
    gap: 12px;
    gap: .75rem;
  }

  .p-case-single__metaItem::before {
    width: 24px;
    width: 1.5rem;
  }

  .p-case-single__metaSep {
    display: block;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-color: #cbd5e1;
    width: 1px;
    height: 23px;
    height: 1.4375rem;
  }

  .p-case-single__body {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-case-single__author {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-sidebar {
    padding: 40px;
    padding: 2.5rem;
  }

  .p-sidebar__label {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-sidebar__label--icon::before {
    width: 24px;
    width: 1.5rem;
  }

  .p-sidebar__line {
    margin: 32px 0;
    margin: 2rem 0;
  }

  .p-column {
    background: url('../img/column/bg_img.jpg') no-repeat center/cover;
    padding: 96px 0;
    padding: 6rem 0;
  }

  .p-column__inner {
    gap: 64px;
    gap: 4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-column__heading {
    gap: 56px;
    gap: 3.5rem;
    padding-inline: 46px;
    padding-inline: 2.875rem;
  }

  .p-column__title::after {
    margin-top: 16px;
    margin-top: 1rem;
    width: 32px;
    width: 2rem;
    height: 6px;
  }

  .p-column__title-sub {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-column__title-sub::before, .p-column__title-sub::after {
    width: 18px;
    width: 1.125rem;
  }

  .p-column__title-main {
    font-size: 40px;
    font-size: 2.5rem;
  }

  .p-column__title-accent {
    font-size: 48px;
    font-size: 3rem;
  }

  .p-column__car {
    width: 120px;
    width: 7.5rem;
  }

  .p-column__list {
    gap: 24px;
    gap: 1.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
    padding-right: 64px;
    padding-right: 4rem;
  }

  .p-column__item + .p-column__item {
    margin-top: 0;
  }

  .p-column__item:nth-child(n+3) {
    margin-right: -64px;
    margin-right: -4rem;
    margin-left: 64px;
    margin-left: 4rem;
  }

  .p-column__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 72px 48px;
    padding: 4.5rem 3rem;
  }

  .p-column__link-title {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-column__arrow {
    top: auto;
    right: 16px;
    right: 1rem;
    bottom: 16px;
    bottom: 1rem;
    -webkit-transform: none;
    transform: none;
    width: 30px;
    width: 1.875rem;
  }

  .p-contact__introInner {
    gap: 64px;
    gap: 4rem;
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-contact__introText {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-contact__introMechanic {
    padding-inline: 80px;
    padding-inline: 5rem;
  }

  .p-contact__introLabelRow {
    gap: 16px;
    gap: 1rem;
  }

  .p-contact__introImg {
    max-width: 366px;
    max-width: 22.875rem;
  }

  .p-contact__methodsGrid {
    gap: 48px;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .p-contact__telHead,
  .p-contact__lineHead {
    padding-block: 14px;
    padding-block: .875rem;
    font-size: max(14px, 18px);
    font-size: max(14px, 1.125rem);
  }

  .p-contact__telBody,
  .p-contact__lineBody {
    padding: 48px;
    padding: 3rem;
  }

  .p-contact__phone {
    pointer-events: none;
  }

  .p-contact__phone::before {
    width: 44px;
    width: 2.75rem;
  }

  .p-contact__phoneNumber {
    font-size: 48px;
    font-size: 3rem;
  }

  .p-contact__hours {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-contact__detailLink {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-contact__lineContent {
    gap: 48px;
    gap: 3rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .p-contact__lineLeft {
    gap: 24px;
    gap: 1.5rem;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .p-contact__lineLead {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-contact__lineImg {
    width: 180px;
    width: 11.25rem;
  }

  .p-contact__formSection {
    padding-top: 96px;
    padding-top: 6rem;
  }

  .p-contact__formHead {
    padding-block: 14px;
    padding-block: .875rem;
    font-size: max(14px, 18px);
    font-size: max(14px, 1.125rem);
  }

  .p-contact__formBody {
    padding: 64px 80px 72px;
    padding: 4rem 5rem 4.5rem;
  }

  .p-contact__formBody .p-form__footer {
    gap: 24px;
    gap: 1.5rem;
    margin-top: 48px;
    margin-top: 3rem;
  }

  .p-cta {
    background-image: url('../img/common/cta_bg.jpg');
    padding-top: 96px;
    padding-top: 6rem;
    padding-bottom: 24px;
    padding-bottom: 1.5rem;
  }

  .p-cta__brands {
    gap: 8px;
    gap: .5rem;
    padding-bottom: 5px;
    padding-bottom: .3125rem;
  }

  .p-cta__brand {
    padding: 10px 20px;
    padding: .625rem 1.25rem;
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-cta__brandsText {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-cta__title {
    margin-top: 16px;
    margin-top: 1rem;
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.3;
  }

  .p-cta__titleLarge {
    font-size: 48px;
    font-size: 3rem;
  }

  .p-cta__titleSub {
    font-size: 40px;
    font-size: 2.5rem;
  }

  .p-cta__badge {
    top: 20px;
    top: 1.25rem;
    right: calc(50% + max(18.75rem, 185px));
    bottom: auto;
    left: auto;
    width: 96px;
    width: 6rem;
    font-size: 16px;
    font-size: 1rem;
  }

  .p-cta__subText {
    gap: 16px;
    gap: 1rem;
    font-size: max(14px, 18px);
    font-size: max(14px, 1.125rem);
  }

  .p-cta__staff {
    margin-top: 24px;
    margin-top: 1.5rem;
  }

  .p-cta__staffImg {
    margin-right: -8px;
    margin-right: -.5rem;
    width: 100px;
    width: 6.25rem;
  }

  .p-cta__staffImg:last-child {
    margin-right: 0;
  }

  .p-cta__box {
    margin-top: 64px;
    margin-top: 4rem;
    margin-bottom: -70px;
  }

  .p-cta__badge-text {
    font-size: 14px;
    font-size: .875rem;
  }

  .p-cta__badge-title {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-cta.p-cta--lp {
    padding-bottom: 64px;
    padding-bottom: 4rem;
  }

  .p-cta.p-cta--lp .p-cta__badge {
    top: -28px;
    top: -1.75rem;
    left: calc(50% - 25rem);
    width: 120px;
    width: 7.5rem;
  }

  .p-drawer__icon {
    display: none;
  }

  .p-faq {
    padding-top: 128px;
    padding-top: 8rem;
    padding-bottom: 128px;
    padding-bottom: 8rem;
  }

  .p-faq__list {
    margin-top: 48px;
    margin-top: 3rem;
  }

  .p-faq__item + .p-faq__item {
    margin-top: 48px;
    margin-top: 3rem;
  }

  .p-faq__question {
    gap: 20px;
    gap: 1.25rem;
  }

  .p-faq__question::before {
    width: 44px;
    width: 2.75rem;
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-faq__question-text {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-faq__answer {
    margin-top: 16px;
    margin-top: 1rem;
    padding: 32px 40px;
    padding: 2rem 2.5rem;
  }

  .p-faq__answer-text {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-faq__btn {
    margin-top: 48px;
    margin-top: 3rem;
  }

  .p-fixed-banner {
    display: block;
  }

  .p-flow {
    padding-top: 128px;
    padding-top: 8rem;
    padding-bottom: 128px;
    padding-bottom: 8rem;
  }

  .p-flow.p-flow--lp {
    padding-bottom: 0;
  }

  .p-flow__lead {
    margin-top: 64px;
    margin-top: 4rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
    text-align: center;
  }

  .p-flow__lead.p-flow__lead--left {
    text-align: left;
  }

  .p-flow__list {
    margin-top: 48px;
    margin-top: 3rem;
    max-width: 1216px;
    max-width: 76rem;
  }

  .p-flow__item {
    gap: 40px;
    gap: 2.5rem;
  }

  .p-flow__item::before {
    width: 50px;
    width: 3.125rem;
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-flow__item::after {
    left: 25px;
    left: 1.5625rem;
  }

  .p-flow__content {
    gap: 64px;
    gap: 4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .p-flow__body {
    min-width: 0;
  }

  .p-flow__title {
    font-size: max(14px, 24px);
    font-size: max(14px, 1.5rem);
  }

  .p-flow__text {
    margin-top: 24px;
    margin-top: 1.5rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
    line-height: 1.8;
  }

  .p-flow__img {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-top: 0;
    width: 320px;
    width: 20rem;
  }

  .p-footer {
    padding: 120px 0 48px;
    padding: 7.5rem 0 3rem;
  }

  .p-footer__sitemap {
    gap: 0 80px;
    gap: 0 5rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }

  .p-footer__sitemapParent {
    display: block;
  }

  .p-footer__accordion {
    display: none;
  }

  .p-footer__sitemapLink {
    padding: 24px 0;
    padding: 1.5rem 0;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-footer__sitemapParent > .p-footer__sitemapLink {
    padding-bottom: 0;
  }

  .p-footer__childLink {
    font-size: max(14px, 15px);
    font-size: max(14px, .9375rem);
  }

  .p-footer__info {
    margin-top: 88px;
    margin-top: 5.5rem;
  }

  .p-footer__logo img {
    width: 220px;
    width: 13.75rem;
  }

  .p-footer__cards {
    gap: 8px;
    gap: .5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .p-footer__card + .p-footer__card {
    margin-top: 0;
  }

  .p-footer__card {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 24px 32px;
    padding: 1.5rem 2rem;
  }

  .p-footer__cardBody {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .p-footer__map {
    aspect-ratio: unset;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .p-footer__copy {
    margin-top: 64px;
    margin-top: 4rem;
    text-align: left;
  }

  .p-form {
    padding: 96px 0;
    padding: 6rem 0;
  }

  .p-form__item {
    gap: 64px;
    gap: 4rem;
    padding-block: 24px;
    padding-block: 1.5rem;
    grid-template-columns: 15.0625rem 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
  }

  .p-form__label {
    gap: 20px;
    gap: 1.25rem;
    max-width: 211px;
  }

  .p-form__label-text {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
    line-height: 2;
  }

  .p-form__required {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    margin-left: auto;
  }

  .p-form__footer {
    gap: 32px;
    gap: 2rem;
    margin-top: 60px;
    margin-top: 3.75rem;
  }

  .p-form .wpcf7-list-item label {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-garage__gallery {
    gap: 24px;
    gap: 1.5rem;
    margin-left: -64px;
    margin-left: -4rem;
    width: calc(100% + 8rem);
  }

  .p-garage__photo {
    border-radius: .5rem;
  }

  .p-garage__body {
    margin-top: -43px;
    margin-top: -2.6875rem;
  }

  .p-garage__content {
    gap: 96px;
    gap: 6rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 64px;
    margin-top: 4rem;
    margin-left: auto;
    max-width: 1088px;
    max-width: 68rem;
  }

  .p-garage__info-row {
    gap: 24px;
    gap: 1.5rem;
    padding: 24px 0;
    padding: 1.5rem 0;
  }

  .p-garage__info-label {
    width: 100px;
    width: 6.25rem;
  }

  .p-garage__info-value {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

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

  .p-garage__action {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-header {
    padding: 24px 48px;
    padding: 1.5rem 3rem;
  }

  .p-header-announce {
      position: absolute;
      top: 30px;
      left: 3rem;
      z-index: 100;
      background: none;
      padding: 0;
  }

  .p-header-announce__text {
      font-size: max(12px, 14px);
      font-size: max(12px, .875rem);
      letter-spacing: .02em;
      line-height: 1.8;
      text-align: left;
  }

  .p-header__logo {
      padding-top: 4.2rem;
      padding-right: 9.4rem;
  }

  .p-header__top {
    gap: 40px;
    gap: 2.5rem;
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
  }

  .p-header__left {
    gap: 16px;
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-header__catch {
    display: block;
    font-size: max(12px, 14px);
    font-size: max(12px, .875rem);
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.8;
  }

  .p-header__logo img {
    width: 220px;
    width: 13.75rem;
  }

  .p-header__right {
    gap: 16px;
    gap: 1rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-header__btn {
    padding-inline: max(10px, 24px);
    padding-inline: max(10px, 1.5rem);
  }

  .p-header__spActions {
    display: none;
  }

  .p-header__nav {
    display: block;
  }

  .p-lowerFv {
    padding-top: 96px;
    padding-top: 6rem;
  }

  .p-lowerFv__title {
    font-size: 64px;
    font-size: 4rem;
  }

  .p-lowerFv__subTitle {
    margin-top: 16px;
    margin-top: 1rem;
    font-size: max(14px, 18px);
    font-size: max(14px, 1.125rem);
  }

  .p-lowerFv__text {
    margin-top: 40px;
    margin-top: 2.5rem;
    font-size: max(14px, 18px);
    font-size: max(14px, 1.125rem);
    text-align: center;
  }

  .p-lowerFv__img {
    aspect-ratio: 1216/500;
    margin-top: 64px;
    margin-top: 4rem;
    margin-left: calc(50% - 46vw);
    border-radius: .5rem;
    width: 92vw;
  }

  .p-lp-access {
    gap: 48px;
    gap: 3rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 64px;
    margin-top: 4rem;
    margin-left: auto;
    max-width: 1088px;
    max-width: 68rem;
  }

  .p-lp-access__item {
    margin-top: 0;
  }

  .p-lp-access__heading {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-lp-access__text {
    margin-top: 24px;
    margin-top: 1.5rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-lp-appeal__inner {
    padding: 80px 0;
    padding: 5rem 0;
  }

  .p-lp-appeal__head {
    margin-bottom: 56px;
    margin-bottom: 3.5rem;
  }

  .p-lp-appeal__tags {
    gap: 8px;
    gap: .5rem;
  }

  .p-lp-appeal__tag {
    border-radius: .5rem;
    padding: 4px 18px;
    padding: .25rem 1.125rem;
    font-size: max(14px, 32px);
    font-size: max(14px, 2rem);
  }

  .p-lp-appeal__title {
    margin-top: 24px;
    margin-top: 1.5rem;
  }

  .p-lp-appeal__brands {
    gap: 4px;
    gap: .25rem;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }

  .p-lp-appeal__brand-ruby {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-lp-appeal__brand-en {
    font-size: max(14px, 80px);
    font-size: max(14px, 5rem);
  }

  .p-lp-appeal__amp {
    font-size: max(14px, 48px);
    font-size: max(14px, 3rem);
  }

  .p-lp-appeal__brands-wrap {
    gap: 4px;
    gap: .25rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .p-lp-appeal__brand-sub {
    display: contents;
  }

  .p-lp-appeal__brand-ja {
    font-size: max(14px, 52px);
    font-size: max(14px, 3.25rem);
  }

  .p-lp-appeal__catch {
    margin-top: 16px;
    margin-top: 1rem;
    font-size: max(14px, 56px);
    font-size: max(14px, 3.5rem);
  }

  .p-lp-appeal__logos {
    gap: 40px;
    gap: 2.5rem;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }

  .p-lp-appeal__logo {
    height: 60px;
    height: 3.75rem;
  }

  .p-lp-appeal__logo.p-lp-appeal__logo--short {
    height: 40px;
    height: 2.5rem;
  }

  .p-lp-reason {
    padding-top: 128px;
    padding-top: 8rem;
    padding-bottom: 128px;
    padding-bottom: 8rem;
  }

  .p-lp-reason__list {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-lp-reason__item {
    gap: 0 80px;
    gap: 0 5rem;
    grid-template-columns: 1fr 48%;
    grid-template-rows: auto auto 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
  }

  .p-lp-reason__item + .p-lp-reason__item {
    margin-top: 64px;
    margin-top: 4rem;
    padding-top: 64px;
    padding-top: 4rem;
  }

  .p-lp-reason__item.p-lp-reason__item--reverse {
    grid-template-columns: 48% 1fr;
  }

  .p-lp-reason__item.p-lp-reason__item--reverse .p-lp-reason__label,
  .p-lp-reason__item.p-lp-reason__item--reverse .p-lp-reason__heading,
  .p-lp-reason__item.p-lp-reason__item--reverse .p-lp-reason__text {
    grid-column: 2;
  }

  .p-lp-reason__item.p-lp-reason__item--reverse .p-lp-reason__img {
    grid-column: 1;
  }

  .p-lp-reason__label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    grid-column: 1;
    grid-row: 1;
    border-bottom-width: 4px;
    padding-bottom: 12px;
    padding-bottom: .75rem;
  }

  .p-lp-reason__num {
    font-size: max(14px, 32px);
    font-size: max(14px, 2rem);
  }

  .p-lp-reason__sub {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-lp-reason__heading {
    grid-column: 1;
    grid-row: 2;
    margin-top: 24px;
    margin-top: 1.5rem;
    font-size: max(14px, 42px);
    font-size: max(14px, 2.625rem);
    line-height: 1.4;
  }

  .p-lp-reason__img {
    aspect-ratio: 640/430;
    grid-column: 2;
    grid-row: 1/-1;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
    margin-top: 0;
  }

  .p-lp-reason__text {
    grid-column: 1;
    grid-row: 3;
    margin-top: 32px;
    margin-top: 2rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-lp-review {
    padding: 128px 0;
    padding: 8rem 0;
  }

  .p-lp-review__list {
    gap: 24px;
    gap: 1.5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-lp-review__card {
    margin-top: 0;
    padding: 80px 48px 40px;
    padding: 5rem 3rem 2.5rem;
  }

  .p-lp-review__icon {
    top: -32px;
    top: -2rem;
    width: 80px;
    width: 5rem;
  }

  .p-lp-review__title {
    font-size: max(14px, 26px);
    font-size: max(14px, 1.625rem);
  }

  .p-lp-review__meta {
    margin-top: 32px;
    margin-top: 2rem;
    padding: 16px 0;
    padding: 1rem 0;
  }

  .p-lp-review__text {
    margin-top: 32px;
    margin-top: 2rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-lp-review__source {
    margin-top: 32px;
    margin-top: 2rem;
  }

  .p-mv__bar {
    padding: 16px 0;
    padding: 1rem 0;
  }

  .p-mv__bar-text {
    font-size: max(14px, 26px);
    font-size: max(14px, 1.625rem);
    line-height: 1;
  }

  .p-mv__bar-highlight {
    font-size: max(14px, 36px);
    font-size: max(14px, 2.25rem);
  }

  .p-mv__catch {
    padding: 72px 30px 0;
    padding: 4.5rem 30px 0;
  }

  .p-mv__brand {
    gap: 8px;
    gap: .5rem;
  }

  .p-mv__brand-name {
    font-size: max(14px, 28px);
    font-size: max(14px, 1.75rem);
  }

  .p-mv__brand-amp {
    font-size: max(14px, 26px);
    font-size: max(14px, 1.625rem);
  }

  .p-mv__hero-img {
    margin-inline: auto;
    aspect-ratio: 1206/408;
    margin-top: 0;
    max-width: 1206px;
    max-width: 75.375rem;
  }

  .p-mv__tagline {
    margin-top: -45px;
    margin-top: -2.8125rem;
    font-size: max(14px, 36px);
    font-size: max(14px, 2.25rem);
  }

  .p-mv__badge {
    bottom: 72px;
    bottom: 4.5rem;
    left: calc(50% - 21.875rem);
    width: 120px;
    width: 7.5rem;
  }

  .p-mv__badge.p-mv__badge--small {
    bottom: 72px;
    bottom: 4.5rem;
    left: calc(50% - 21.125rem);
    width: 96px;
    width: 6rem;
  }

  .p-mv__badge-text {
    font-size: 14px;
    font-size: .875rem;
  }

  .p-mv__badge--small .p-mv__badge-text {
    font-size: 16px;
    font-size: 1rem;
  }

  .p-mv__badge-title {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-mv__photos {
    gap: 24px;
    gap: 1.5rem;
    margin-top: 64px;
    margin-top: 4rem;
    margin-left: -64px;
    margin-left: -4rem;
    width: calc(100% + 8rem);
  }

  .p-mv__photo {
    border-radius: .5rem;
  }

  .p-mv__cars {
    margin-top: -48px;
    margin-top: -3rem;
    margin-left: -64px;
    margin-left: -4rem;
    width: calc(100% + 8rem);
  }

  .p-mv__cars-item {
    margin-right: 40px;
    margin-right: 2.5rem;
    width: 160px;
    width: 10rem;
  }

  .p-news-column {
    padding: 80px 0 160px;
    padding: 5rem 0 10rem;
  }

  .p-news-column__inner {
    row-gap: 80px;
    row-gap: 5rem;
    display: grid;
    grid-template-areas: 'head main' 'action main';
    grid-template-columns: 20rem 1fr;
    grid-template-rows: auto 1fr;
    -webkit-column-gap: 4rem;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }

  .p-news-column__head {
    grid-area: head;
  }

  .p-news-column__head .c-section-title__en {
    font-size: 64px;
    font-size: 4rem;
  }

  .p-news-column__main {
    grid-area: main;
  }

  .p-news-column__list {
    gap: 48px;
    gap: 3rem;
  }

  .p-news-column__item {
    gap: 48px;
    gap: 3rem;
  }

  .p-news-column__item + .p-news-column__item {
    padding-top: 48px;
    padding-top: 3rem;
  }

  .p-news-column__img {
    aspect-ratio: 240/135;
    width: 240px;
    width: 15rem;
  }

  .p-news-column__body {
    gap: 24px;
    gap: 1.5rem;
  }

  .p-news-column__meta {
    gap: 24px;
    gap: 1.5rem;
  }

  .p-news-column__title {
    font-size: max(14px, 22px);
    font-size: max(14px, 1.375rem);
  }

  .p-news-column__action {
    grid-area: action;
    -webkit-align-self: start;
    -ms-flex-item-align: start;
    align-self: start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .p-news-single {
    padding-top: 128px;
    padding-top: 8rem;
    padding-bottom: 128px;
    padding-bottom: 8rem;
  }

  .p-news-single__title {
    font-size: max(14px, 44px);
    font-size: max(14px, 2.75rem);
  }

  .p-news-single__body {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-news-single__author {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-news__lead {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-news__filter {
    margin-top: 77px;
    margin-top: 4.8125rem;
    padding: 40px 48px;
    padding: 2.5rem 3rem;
  }

  .p-news__filter-label {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-news__filter-tags {
    gap: 10px;
    gap: .625rem;
    margin-top: 24px;
    margin-top: 1.5rem;
  }

  .p-news__list {
    gap: 24px;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-pagination {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-pagination__inner {
    gap: 56px;
    gap: 3.5rem;
  }

  .p-pagination__arrow {
    width: 50px;
  }

  .p-pagination__numbers--sp {
    display: none;
  }

  .p-pagination__numbers--pc {
    gap: 24px;
    gap: 1.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .page-numbers {
    width: 40px;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .page-numbers.current {
    width: 50px;
  }

  .p-reason-list {
    padding-top: 128px;
    padding-top: 8rem;
  }

  .p-reason-list__lead {
    margin-inline: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
    text-align: center;
  }

  .p-reason-list__items {
    row-gap: 64px;
    row-gap: 4rem;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 6rem;
    -moz-column-gap: 6rem;
    column-gap: 6rem;
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-reason-list__item {
    padding-bottom: 40px;
    padding-bottom: 2.5rem;
  }

  .p-reason-list.p-reason-list--trimmed .p-reason-list__item:nth-last-child(-n+2) {
    border-bottom: none;
    padding-bottom: 0;
  }

  .p-reason-list__img {
    aspect-ratio: 624/351;
  }

  .p-reason-list__body {
    row-gap: 24px;
    row-gap: 1.5rem;
    grid-template-columns: 7.5rem 1fr;
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    margin-top: 40px;
    margin-top: 2.5rem;
  }

  .p-reason-list__link {
    grid-column: 1/-1;
    grid-template-columns: 7.5rem 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }

  .p-reason-list__link::before {
    font-size: 120px;
    font-size: 7.5rem;
  }

  .p-reason-list__sub {
    font-size: max(14px, 28px);
    font-size: max(14px, 1.75rem);
  }

  .p-reason-list__main {
    font-size: 52px;
    font-size: 3.25rem;
  }

  .p-reason-list__content {
    grid-column: 2;
  }

  .p-reason-list__text {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-reason-list__action {
    margin-top: 24px;
    margin-top: 1.5rem;
  }

  .p-repair-case__lead {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-repair-case__filter {
    margin-top: 77px;
    margin-top: 4.8125rem;
    padding: 40px 48px;
    padding: 2.5rem 3rem;
  }

  .p-repair-case__filter-group {
    gap: 40px;
    gap: 2.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-repair-case__filter-label {
    width: 160px;
    width: 10rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
    letter-spacing: .05em;
  }

  .p-repair-case__filter-label::before {
    width: 24px;
    width: 1.5rem;
  }

  .p-repair-case__filter-tags {
    gap: 10px;
    gap: .625rem;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
  }

  .p-repair-case__list {
    gap: 24px;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-service-cost {
    padding-top: 128px;
    padding-top: 8rem;
  }

  .p-service-cost__price {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-service-cost__merit,
  .p-service-cost__documents {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-service-cost__heading::before {
    width: 12px;
    width: .75rem;
  }

  .p-service-cost__heading-label {
    font-size: max(14px, 26px);
    font-size: max(14px, 1.625rem);
  }

  .p-service-cost__catch {
    font-size: max(14px, 30px);
    font-size: max(14px, 1.875rem);
  }

  .p-service-cost__desc {
    margin-top: 32px;
    margin-top: 2rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-service-cost__voices {
    gap: 48px;
    gap: 3rem;
    display: grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 48px;
    margin-top: 3rem;
  }

  .p-service-cost__voice-images {
    gap: 24px;
    gap: 1.5rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .p-service-cost__voice-info {
    margin-top: 0;
  }

  .p-service-cost__voice-link {
    gap: 12px;
    gap: .75rem;
    font-size: max(12px, 16px);
    font-size: max(12px, 1rem);
  }

  .p-service-cost__reasons {
    gap: 16px;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
  }

  .p-service-cost__reason {
    padding: 32px 40px;
    padding: 2rem 2.5rem;
  }

  .p-service-cost__reason-label::before {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-service-cost__reason-title {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-service-cost__reason-text {
    margin-top: 24px;
    margin-top: 1.5rem;
    font-size: max(14px, 15px);
    font-size: max(14px, .9375rem);
  }

  .p-service-cta {
    margin-inline: 0 calc(-1 * max(30px, 6vw));
    padding-block: 64px 56px;
    padding-block: 4rem 3.5rem;
    padding-inline: 80px;
    padding-inline: 5rem;
    background-image: url('../img/common/cta_bg.jpg');
    width: auto;
  }

  .p-service-cta__title {
    font-size: 28px;
    font-size: 1.75rem;
  }

  .p-service-cta__title-text {
    padding-inline: 50px;
    padding-inline: 3.125rem;
  }

  .p-service-cta__title-text::before, .p-service-cta__title-text::after {
    width: 30px;
    width: 1.875rem;
  }

  .p-service-cta__body {
    margin-top: 40px;
    margin-top: 2.5rem;
  }

  .p-service-cta__speech {
    gap: 24px;
    gap: 1.5rem;
    grid-template-columns: 1fr 7.5rem;
  }

  .p-service-cta__balloon {
    padding: 40px 64px;
    padding: 2.5rem 4rem;
  }

  .p-service-cta__balloon::after {
    top: 28px;
    top: 1.75rem;
  }

  .p-service-cta__balloon-text {
    font-size: max(14px, 15px);
    font-size: max(14px, .9375rem);
  }

  .p-service-cta__speaker-img {
    width: 100%;
  }

  .p-service-cta__btn {
    margin-top: 32px;
    margin-top: 2rem;
    padding: 16px 56px 16px 32px;
    padding: 1rem 3.5rem 1rem 2rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-service-cta__btn::after {
    right: 20px;
    right: 1.25rem;
  }

  .p-service-detail {
    max-width: 1600px;
    max-width: 100rem;
  }

  .p-service-detail__2col {
    gap: 40px;
    gap: 2.5rem;
    display: grid;
    grid-template-columns: 15rem 1fr;
    padding: 0;
    padding-left: 40px;
    padding-left: 2.5rem;
  }

  .p-service-detail__body {
    padding-right: max(30px, 6vw);
    padding-left: max(30px, 6vw);
  }

  .p-service-feature {
    padding-top: 128px;
    padding-top: 8rem;
    padding-bottom: 128px;
    padding-bottom: 8rem;
  }

  .p-service-feature__group {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-service-feature__group + .p-service-feature__group {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-service-feature__heading {
    padding-left: 28px;
    padding-left: 1.75rem;
    font-size: 26px;
    font-size: 1.625rem;
  }

  .p-service-feature__heading::before {
    width: 12px;
    width: .75rem;
  }

  .p-service-feature__stats {
    gap: 24px;
    gap: 1.5rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .p-service-feature__stat {
    display: grid;
    place-items: center;
    padding: 40px 48px;
    padding: 2.5rem 3rem;
  }

  .p-service-feature__stat-label {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-service-feature__stat-label::after {
    margin-top: 16px;
    margin-top: 1rem;
  }

  .p-service-feature__stat-value {
    font-size: 44px;
    font-size: 2.75rem;
  }

  .p-service-feature__stat-value.p-service-feature__stat-value--text {
    font-size: clamp(44px, 4.5vw, 72px);
    font-size: clamp(2.75rem, 4.5vw, 4.5rem);
  }

  .p-service-feature__stat-number {
    font-size: clamp(44px, 4.5vw, 72px);
    font-size: clamp(2.75rem, 4.5vw, 4.5rem);
  }

  .p-service-feature__stat-unit {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-service-feature__stat-text {
    font-size: max(14px, 15px);
    font-size: max(14px, .9375rem);
  }

  .p-service-feature__cards {
    gap: 16px;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
  }

  .p-service-feature__card {
    padding: 32px 40px;
    padding: 2rem 2.5rem;
  }

  .p-service-feature__card-body {
    margin-top: 32px;
    margin-top: 2rem;
  }

  .p-service-feature__card-title {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-service-feature__card-text {
    font-size: max(14px, 15px);
    font-size: max(14px, .9375rem);
  }

  .p-service-policy {
    margin-inline: 0 calc(-1 * max(30px, 6vw));
    padding-bottom: 128px;
    padding-bottom: 8rem;
    width: auto;
  }

  .p-service-policy__hero-img {
    gap: 16px;
    gap: 1rem;
    margin-left: calc((100% - 100vw - 8rem) / 2);
    width: calc(100vw + 8rem);
  }

  .p-service-policy__hero-title {
    margin-top: -64px;
    margin-top: -4rem;
    margin-right: 96px;
    margin-right: 6rem;
    padding-top: 96px;
    padding-top: 6rem;
    padding-left: 96px;
    padding-left: 6rem;
  }

  .p-service-policy__content {
    padding-inline: max(30px, 6vw);
  }

  .p-service-policy__heading {
    padding-left: 28px;
    padding-left: 1.75rem;
    font-size: 26px;
    font-size: 1.625rem;
  }

  .p-service-policy__heading::before {
    width: 12px;
    width: .75rem;
  }

  .p-service-policy__group {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-service-policy__group + .p-service-policy__group {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-service-policy__promises {
    padding: 64px 72px;
    padding: 4rem 4.5rem;
  }

  .p-service-policy__promise-line {
    margin: 40px 0;
    margin: 2.5rem 0;
  }

  .p-service-policy__promise {
    gap: 16px;
    gap: 1rem;
    display: grid;
    grid-template-columns: 6.25rem 1fr;
    text-align: left;
  }

  .p-service-policy__promise-number {
    font-size: 64px;
    font-size: 4rem;
  }

  .p-service-policy__promise-body {
    margin-top: 0;
  }

  .p-service-policy__promise-title {
    font-size: max(14px, 22px);
    font-size: max(14px, 1.375rem);
  }

  .p-service-policy__promise-accent {
    font-size: 28px;
    font-size: 1.75rem;
  }

  .p-service-policy__promise-text {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-service-policy__speeches {
    gap: 48px;
    gap: 3rem;
  }

  .p-service-policy__speech {
    gap: 20px;
    gap: 1.25rem;
    grid-template-columns: 7.5rem 1fr;
  }

  .p-service-policy__speech.p-service-policy__speech--reverse {
    grid-template-columns: 1fr 7.5rem;
  }

  .p-service-policy__speech-img {
    width: 100%;
  }

  .p-service-policy__speech-role {
    font-size: 14px;
  }

  .p-service-policy__speech-balloon {
    margin-left: 0;
    padding: 32px 48px;
    padding: 2rem 3rem;
  }

  .p-service-policy__speech-balloon::before {
    top: 32px;
    top: 2rem;
  }

  .p-service-policy__speech.p-service-policy__speech--reverse .p-service-policy__speech-balloon {
    margin-right: 0;
  }

  .p-service-policy__speech-title {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-service-policy__speech-text {
    margin-top: 10px;
    margin-top: .625rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-service-trouble {
    padding-top: 0;
  }

  .p-service-trouble__lead {
    margin-top: 64px;
    margin-top: 4rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-service-trouble__list {
    gap: 24px;
    gap: 1.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 48px;
    margin-top: 3rem;
  }

  .p-service-trouble__card {
    padding: 24px 32px 32px;
    padding: 1.5rem 2rem 2rem;
  }

  .p-service-trouble__card + .p-service-trouble__card {
    margin-top: 0;
  }

  .p-service-trouble__card-inner {
    gap: 24px;
    gap: 1.5rem;
  }

  .p-service-trouble__card-icon {
    width: 70px;
    width: 4.375rem;
  }

  .p-service-trouble__card-icon img {
    width: 40px;
    width: 2.5rem;
  }

  .p-service-trouble__card-title {
    font-size: max(14px, 22px);
    font-size: max(14px, 1.375rem);
  }

  .p-service-trouble__card-text {
    margin-top: 16px;
    margin-top: 1rem;
  }

  .p-service-trouble__connector-wrap {
    margin-top: 32px;
    margin-top: 2rem;
  }

  .p-service-trouble__connector {
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-service-trouble__catch {
    margin-top: 32px;
    margin-top: 2rem;
    font-size: max(14px, 30px);
    font-size: max(14px, 1.875rem);
  }

  .p-service-trouble__desc {
    margin-top: 32px;
    margin-top: 2rem;
  }

  .p-service-trouble__desc-text {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-service-trouble__desc-text + .p-service-trouble__desc-text {
    margin-top: 28px;
    margin-top: 1.75rem;
  }

  .p-service-trouble__photos {
    gap: 16px;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 48px;
    margin-top: 3rem;
  }

  .p-service-trouble__photo:first-child {
    grid-column: auto;
  }

  .p-service-trouble__photo:nth-child(2) {
    grid-column: auto;
  }

  .p-service-trouble__photo:nth-child(3) {
    grid-column: auto;
  }

  .p-service {
    padding: 128px 0;
    padding: 8rem 0;
  }

  .p-service__lead {
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
    text-align: center;
  }

  .p-service__content {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-service__block + .p-service__block {
    margin-top: 96px;
    margin-top: 6rem;
  }

  .p-service__heading::after {
    margin-top: 24px;
    margin-top: 1.5rem;
    width: 32px;
    width: 2rem;
    height: 6px;
    height: .375rem;
  }

  .p-service__heading-accent {
    font-size: 38px;
    font-size: 2.375rem;
  }

  .p-service__heading-sub {
    font-size: 32px;
    font-size: 2rem;
  }

  .p-service__work {
    gap: 8px;
    gap: .5rem;
    grid-template-columns: 920fr 544fr;
    grid-template-rows: repeat(2, 18.125rem);
    margin-top: 40px;
    margin-top: 2.5rem;
  }

  .p-service__work-item:first-child {
    grid-row: 1/-1;
  }

  .p-service__work-link {
    aspect-ratio: unset;
    height: 100%;
  }

  .p-service__work-link::after {
    right: 16px;
    right: 1rem;
    bottom: 16px;
    bottom: 1rem;
    background-size: .375rem auto;
    width: 30px;
    width: 1.875rem;
  }

  .p-service__work-body {
    padding: 40px 48px;
    padding: 2.5rem 3rem;
  }

  .p-service__work-name {
    margin-top: 8px;
    margin-top: .5rem;
    font-size: 48px;
    font-size: 3rem;
  }

  .p-service__work-item:first-child .p-service__work-name {
    font-size: 64px;
    font-size: 4rem;
  }

  .p-service__symptom {
    gap: 8px;
    gap: .5rem;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 40px;
    margin-top: 2.5rem;
  }

  .p-service__symptom-link {
    display: block;
    padding: 40px 32px 56px;
    padding: 2.5rem 2rem 3.5rem;
    text-align: center;
  }

  .p-service__symptom-link::before, .p-service__symptom-link::after {
    top: auto;
    right: 16px;
    right: 1rem;
    bottom: 16px;
    bottom: 1rem;
    -webkit-transform: none;
    transform: none;
    width: 30px;
    width: 1.875rem;
  }

  .p-service__symptom-link::after {
    -webkit-mask-size: .375rem auto;
    mask-size: .375rem auto;
  }

  .p-service__symptom-icon {
    margin: 0 auto;
    width: 80px;
    width: 5rem;
  }

  .p-service__symptom-icon img {
    width: 40px;
    width: 2.5rem;
  }

  .p-service__symptom-name {
    display: block;
    margin-top: 24px;
    margin-top: 1.5rem;
    min-height: 3em;
    font-size: max(14px, 18px);
    font-size: max(14px, 1.125rem);
  }

  .p-service__symptom-name br {
    display: block;
  }

  .p-top-appeal {
    padding-bottom: 48px;
    padding-bottom: 3rem;
  }

  .p-top-appeal__symptoms {
    padding: 24px 0 0;
    padding: 1.5rem 0 0;
  }

  .p-top-appeal__symptom-list {
    gap: 40px;
    gap: 2.5rem;
    padding: 0 24px;
    padding: 0 1.5rem;
  }

  .p-top-appeal__symptom-item + .p-top-appeal__symptom-item {
    margin-left: 0;
  }

  .p-top-appeal__symptom-item.p-top-appeal__symptom-item--2, .p-top-appeal__symptom-item.p-top-appeal__symptom-item--4, .p-top-appeal__symptom-item.p-top-appeal__symptom-item--6, .p-top-appeal__symptom-item.p-top-appeal__symptom-item--8 {
    margin-top: 30px;
    margin-top: 1.875rem;
  }

  .p-top-appeal__bubble {
    border: 0;
    width: 160px;
    width: 10rem;
    font-size: max(14px, 15px);
    font-size: max(14px, .9375rem);
    letter-spacing: .02em;
  }

  .p-top-appeal__bubble-text {
    font-size: max(12px, 15px);
    font-size: max(12px, .9375rem);
  }

  .p-top-appeal__bubble-arrow {
    aspect-ratio: 22/14;
    width: 22px;
    width: 1.375rem;
  }

  .p-top-appeal__main {
    padding: 48px 0 0;
    padding: 3rem 0 0;
  }

  .p-top-appeal__bg {
    padding-top: 10px;
    padding-top: .625rem;
  }

  .p-top-appeal__bg-line {
    -webkit-animation-duration: 60s;
    animation-duration: 60s;
    font-size: min(120px, 7.5vw);
    font-size: min(7.5rem, 7.5vw);
  }

  .p-top-appeal__bg-line + .p-top-appeal__bg-line {
    margin-top: 8px;
    margin-top: .5rem;
  }

  .p-top-appeal__sub {
    font-size: max(14px, 24px);
    font-size: max(14px, 1.5rem);
    letter-spacing: .05em;
  }

  .p-top-appeal__title {
    margin-top: 24px;
    margin-top: 1.5rem;
    font-size: 56px;
    font-size: 3.5rem;
  }

  .p-top-appeal__title-br {
    display: none;
  }

  .p-top-appeal__title-mark {
    width: 73px;
    width: 4.5625rem;
  }

  .p-top-appeal__media {
    margin-top: 80px;
    margin-top: 5rem;
  }

  .p-top-appeal__slider {
    margin-top: -88px;
    margin-top: -5.5rem;
    height: 519px;
    height: 32.4375rem;
  }

  .p-top-appeal__slider .p-top-appeal__slide {
    aspect-ratio: 840/519;
    width: 840px;
    width: 52.5rem;
  }

  .p-top-appeal__slide-img {
    aspect-ratio: 840/519;
    width: 599px;
    width: 37.4375rem;
  }

  .p-top-appeal__slide.swiper-slide-active .p-top-appeal__slide-img {
    width: 840px;
    width: 52.5rem;
  }

  .p-top-appeal__controls {
    gap: 40px;
    gap: 2.5rem;
    margin-top: 32px;
    margin-top: 2rem;
  }

  .p-top-appeal__controls .p-top-appeal__pagination {
    gap: 24px;
    gap: 1.5rem;
  }

  .p-top-appeal__controls .p-top-appeal__pagination .swiper-pagination-bullet {
    width: 12px;
    width: .75rem;
    height: 12px;
    height: .75rem;
  }

  .p-top-appeal__controls .p-top-appeal__pagination .swiper-pagination-bullet-active {
    width: 20px;
    width: 1.25rem;
    height: 20px;
    height: 1.25rem;
  }

  .p-top-appeal__chief {
    padding: 0 48px;
    padding: 0 3rem;
    padding-top: 0;
    width: min(100%, 840px);
    width: min(100%, 52.5rem);
  }

  .p-top-appeal__chief-name {
    border-radius: .5rem;
    padding: 24px 32px;
    padding: 1.5rem 2rem;
    font-size: max(14px, 20px);
    font-size: max(14px, 1.25rem);
  }

  .p-top-appeal__chief-balloon {
    margin-inline: 48px;
    margin-inline: 3rem;
    margin-top: -24px;
    margin-top: -1.5rem;
    padding: 32px 40px;
    padding: 2rem 2.5rem;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-size: max(14px, 18px);
    font-size: max(14px, 1.125rem);
    letter-spacing: .05em;
  }

  .p-top-case {
    padding: 128px 0;
    padding: 8rem 0;
  }

  .p-top-case__inner {
    row-gap: 80px;
    row-gap: 5rem;
    grid-template-areas: 'head    staff' 'slider  slider' 'controls controls' 'action  action';
    grid-template-columns: 1fr auto;
    -webkit-box-align: end;
    -webkit-align-items: end;
    -ms-flex-align: end;
    align-items: end;
    -webkit-column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
  }

  .p-top-case__head .c-section-title__en {
    font-size: 116px;
    font-size: 7.25rem;
  }

  .p-top-case__lead {
    margin-top: 40px;
    margin-top: 2.5rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-top-case__staff {
    margin: 0;
    width: 366px;
    width: 22.875rem;
  }

  .p-top-case__caption {
    gap: 24px;
    gap: 1.5rem;
    font-size: max(14px, 28px);
    font-size: max(14px, 1.75rem);
  }

  .p-top-case__caption::before, .p-top-case__caption::after {
    height: 20px;
    height: 1.25rem;
  }

  .p-top-case__slider {
    margin-right: calc(50% - var(--vw, 100vw) / 2);
    margin-left: calc(50% - var(--vw, 100vw) / 2);
  }

  .p-top-case__slider .swiper-slide {
    width: 380px;
    width: 23.75rem;
  }

  .p-top-case__controls {
    gap: 40px;
    gap: 2.5rem;
  }

  .p-top-case__controls .p-top-case__pagination {
    gap: 24px;
    gap: 1.5rem;
  }

  .p-top-case__controls .p-top-case__pagination .swiper-pagination-bullet {
    width: 12px;
    width: .75rem;
    height: 12px;
    height: .75rem;
  }

  .p-top-case__controls .p-top-case__pagination .swiper-pagination-bullet-active {
    width: 20px;
    width: 1.25rem;
    height: 20px;
    height: 1.25rem;
  }

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

  .p-top-case__action .c-btn {
    width: auto;
  }

  .p-top-news {
    padding: 48px 0 80px;
    padding: 3rem 0 5rem;
  }

  .p-top-news__card {
    gap: 48px;
    gap: 3rem;
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    padding: 4px 24px;
    padding: .25rem 1.5rem;
  }

  .p-top-news__label {
    padding-block: 16px;
    padding-block: 1rem;
    font-size: 18px;
  }

  .p-top-news__list {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    -webkit-column-gap: .75rem;
    -moz-column-gap: .75rem;
    column-gap: .75rem;
  }

  .p-top-news__item {
    padding-block: 16px;
    padding-block: 1rem;
    display: grid;
    grid-column: 1/-1;
    grid-template-columns: subgrid;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-top-news__link {
    margin-top: 0;
    overflow: hidden;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .p-top-worry {
    padding: 96px 0 0;
    padding: 6rem 0 0;
  }

  .p-top-worry__card {
    padding: 64px clamp(8px, 8px + (100vw - 768px) * .0865, 80px) 0;
    padding: 4rem clamp(8px, 8px + (100vw - 768px) * .0865, 5rem) 0;
  }

  .p-top-worry__badge {
    top: -25px;
    top: -1.5625rem;
    padding: 16px 29px;
    padding: 1rem 1.8125rem;
    font-size: max(14px, 16px);
    font-size: max(14px, 1rem);
  }

  .p-top-worry__inner {
    display: grid;
    grid-template-columns: 23rem 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    -webkit-column-gap: clamp(16px, 16px + (100vw - 768px) * .0577, 4rem);
    -moz-column-gap: clamp(16px, 16px + (100vw - 768px) * .0577, 4rem);
    column-gap: clamp(16px, 16px + (100vw - 768px) * .0577, 4rem);
  }

  .p-top-worry__lead {
    padding-top: 55px;
    padding-top: 3.4375rem;
  }

  .p-top-worry__lead-title {
    font-size: 36px;
    font-size: 2.25rem;
  }

  .p-top-worry__lead-row + .p-top-worry__lead-row {
    margin-top: 8px;
    margin-top: .5rem;
  }

  .p-top-worry__lead-row--small {
    font-size: 28px;
    font-size: 1.75rem;
  }

  .p-top-worry__lead-emphasis {
    font-size: 54px;
    font-size: 3.375rem;
  }

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

  .p-top-worry__bubble-list {
    aspect-ratio: 752/296;
    margin-inline: auto;
    position: relative;
    width: 100%;
  }

  .p-top-worry__bubble-item {
    position: absolute;
    margin-top: 0;
    padding: 0;
  }

  .p-top-worry__bubble-item--1 {
    top: 0;
    left: 0;
    z-index: 4;
    width: 48.9361702128%;
  }

  .p-top-worry__bubble-item--2 {
    top: 8.1081081081%;
    left: 45.7446808511%;
    z-index: 3;
    width: 48.9361702128%;
  }

  .p-top-worry__bubble-item--3 {
    top: 40.5405405405%;
    left: 5.3191489362%;
    z-index: 2;
    width: 43.085106383%;
  }

  .p-top-worry__bubble-item--4 {
    top: 48.6486486486%;
    left: 45.2127659574%;
    z-index: 1;
    width: 43.085106383%;
  }

  .p-top-worry__bubble {
    padding: 24px;
    padding: 1.5rem;
    font-size: max(10px, 18px);
    font-size: max(10px, 1.125rem);
  }

  .p-top-worry__deco {
    aspect-ratio: 166/100;
    margin-top: 8px;
    margin-top: .5rem;
    width: 166px;
    width: 10.375rem;
  }

  .p-top-worry__message {
    gap: 80px;
    gap: 5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .p-top-worry__photo {
    width: 360px;
    width: 22.5rem;
  }

  .p-top-worry__message-body {
    padding-top: 24px;
    padding-top: 1.5rem;
    padding-bottom: 42px;
    padding-bottom: 2.625rem;
  }

  .p-top-worry__message-lead {
    font-size: 28px;
    font-size: 1.75rem;
  }

  .p-top-worry__message-row {
    font-size: 36px;
    font-size: 2.25rem;
  }

  .p-top-worry__message-emphasis {
    font-size: 48px;
    font-size: 3rem;
  }

  .u-pc {
    display: inline;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .u-onlyTab {
    display: block;
  }
}

@media screen and (min-width: 1024px) {

  .p-footer__info {
    gap: 32px;
    gap: 2rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-footer__brand {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 300px;
    width: 18.75rem;
  }

  .p-footer__cards {
    margin-top: 0;
    width: calc(100% - 18.75rem - 2rem);
  }

  .u-onlyPc {
    display: block;
  }
}

@media (min-width: 1344px) {

  html {
    font-size: 100%;
  }
}

@media screen and (max-width: 767px) {

  .u-onlySp {
    display: block;
  }
}

@media (max-width: 368px) {

  html {
    font-size: 4.347826087vw;
    font-size: calc(var(--vw-unitless) / 368 * 100%);
  }
}

@media (any-hover: hover) {

  .c-btn:hover {
    background-color: #fff;
    color: #004fa2;
  }

  .c-btn.c-btn--line:hover {
    background-color: #fff;
    color: #06c755;
  }

  .c-case-card__img:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .c-case-card__maker:hover {
    color: #d0121b;
  }

  .c-case-card__car:hover {
    color: #d0121b;
  }

  .c-case-card__title:hover {
    color: #d0121b;
  }

  .c-contact-box__detailLink:hover span {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
  }

  .c-contact-box__btn.c-contact-box__btn--mail:hover {
    background-color: #fff;
    color: #004fa2;
  }

  .c-contact-box__btn.c-contact-box__btn--line:hover {
    background-color: #fff;
    color: #06c755;
  }

  .c-fixed-nav__link:hover {
    color: #d0121b;
  }

  .c-news-card__img:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .c-news-card__title:hover {
    color: #d0121b;
  }

  a.c-tag:hover {
    background-color: #004fa2;
    color: #fff;
  }

  .c-totop:hover .c-totop__paw {
    opacity: 1;
  }

  .p-article-signature__link:hover {
    color: #054587;
  }

  .p-breadcrumb a:hover {
    color: #d0121b;
  }

  a.p-case-single__metaItem:hover .p-case-single__metaText {
    color: #d0121b;
  }

  .p-case-single__metaTag:hover {
    color: #d0121b;
  }

  .p-column__link:hover {
    background-color: #004fa2;
  }

  .p-column__link:hover .p-column__link-title {
    color: #fff;
  }

  .p-column__link:hover .p-column__arrow {
    background-color: #fff;
  }

  .p-column__link:hover .p-column__arrow::before {
    background-color: #004fa2;
  }

  .p-contact__detailLink:hover span {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
  }

  .p-contact__lineBtn:hover {
    background-color: #fff;
    color: #06c755;
  }

  .p-drawer__navLink:hover {
    color: #004fa2;
  }

  .p-drawer__childLink:hover {
    color: #004fa2;
  }

  .p-fixed-banner__close:hover {
    opacity: .7;
  }

  .p-fixed-banner__hoursLink:hover {
    color: #054587;
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
  }

  .p-fixed-banner__btn.p-fixed-banner__btn--mail:hover {
    background-color: #fff;
    color: #004fa2;
  }

  .p-fixed-banner__btn.p-fixed-banner__btn--line:hover {
    background-color: #fff;
    color: #06c755;
  }

  .p-footer__sitemapLink:hover {
    color: #004fa2;
  }

  .p-footer__sitemapLink:hover::after {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }

  .p-footer__childLink:hover {
    color: #004fa2;
  }

  .p-footer__detailLink:hover span {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
  }

  .p-form__privacy-link:hover {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
  }

  .p-form__submit:hover {
    background-color: #fff;
    background-image: url('../img/common/icon_arrow.svg');
    color: #004fa2;
  }

  .p-garage__link:hover {
    text-decoration: none;
  }

  .p-header__logo a:hover {
    opacity: .7;
  }

  .p-header__subNavLink:hover {
    color: #004fa2;
  }

  .p-header__hoursLink:hover {
    color: #054587;
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
  }

  .p-header__btn.p-header__btn--mail:hover {
    background-color: #fff;
    color: #004fa2;
  }

  .p-header__btn.p-header__btn--line:hover {
    background-color: #fff;
    color: #06c755;
  }

  .p-header__navLink:hover {
    color: #004fa2;
  }

  a.p-lp-review__source-link:hover {
    text-decoration: none;
  }

  .p-mv__cars-track:hover {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
  }

  .p-mv__cars-item:hover {
    -webkit-animation: carshake .1s infinite linear;
    animation: carShake .1s infinite linear;
  }

  .p-news-column__img:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .p-news-column__title:hover {
    color: #d0121b;
  }

  .p-pagination__arrow:hover {
    background-color: #d0121b;
  }

  .page-numbers:hover {
    background-color: #d0121b;
  }

  .p-reason-list__link:hover::before {
    -webkit-transform: translateX(.25rem);
    transform: translateX(.25rem);
  }

  .p-reason-list__link:hover .p-reason-list__main {
    color: #d0121b;
  }

  .p-reason-list__btn:hover {
    background-color: #fff;
    color: #004fa2;
  }

  .p-reason-list__btn:hover::after {
    background-color: #004fa2;
  }

  .p-service-cta__btn:hover {
    background-color: #fff;
    color: #d0121b;
  }

  .p-service__work-link:hover .p-service__work-img img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .p-service__symptom-link:hover {
    background-color: #004fa2;
  }

  .p-service__symptom-link:hover .p-service__symptom-name {
    color: #fff;
  }

  .p-service__symptom-link:hover::after {
    background-color: #d0121b;
  }

  .p-top-appeal__symptom-link:hover {
    -webkit-transform: translateY(-12px) scale(1.05);
    transform: translateY(-12px) scale(1.05);
  }

  .p-top-appeal__nav:hover {
    background-color: #054587;
  }

  .p-top-case__nav:hover {
    background-color: #054587;
  }

  .p-top-news__link:hover {
    color: #004fa2;
  }
}op-news__link:hover {
    color: #004fa2;
  }
}