@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

:root {
  --z-index-base: 1;
  --z-index-header: 10;
  --z-index-modal: 100;
  --color-black: #343434;
  --color-scarlet: #c3002f;
  --font-noto: "Noto Sans JP", sans-serif;
  --font-geologica: "Geologica", sans-serif;
  --font-mont: "Montserrat", sans-serif;
}

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

html {
  background: #fff;
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw / 40);
  }
}

body {
  min-width: 1200px;
  color: #343434;
  font-weight: 400;
  font-size: 16px;
  font-family: "メイリオ", "Meiryo", "ＭＳ ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  body {
    min-width: 100%;
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  body.-mobile-menu-open {
    overflow-y: hidden;
  }
}

@media screen and (max-width: 767px) {
  body.-mobile-menu-open {
    position: fixed;
    width: 100%;
  }
}

body.is-fixed {
  overflow-y: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

ul,
ol {
  list-style: none;
  list-style-type: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
          user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-slider {
  visibility: hidden;
}

.slick-slider.slick-initialized {
  visibility: visible;
}

.c-footer {
  background: #333;
  color: #fff;
  line-height: normal;
  font-family: var(--font-noto);
}

@media screen and (max-width: 767px) {
  .c-footer {
    background: #262626;
  }
}

.c-footer__inner {
  position: relative;
  padding: 80px 0 24px;
}

@media screen and (max-width: 767px) {
  .c-footer__inner {
    padding: 10vw 0 4vw;
  }
}

.c-footer-toPageTop {
  position: absolute;
  top: -43px;
  right: 10px;
  width: 86px;
  height: 86px;
}

@media screen and (max-width: 767px) {
  .c-footer-toPageTop {
    top: -10.75vw;
    right: 2.5vw;
    width: 21.5vw;
    height: 21.5vw;
  }
}

.c-footer-toPageTop__background {
  position: relative;
  width: 100%;
  height: 100%;
}

.c-footer-toPageTop__background::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .c-footer-toPageTop__background::before {
    width: 14.5vw;
    height: 14.5vw;
  }
}

.c-footer-toPageTop__link {
  display: block;
  position: relative;
  z-index: var(--z-index-base);
  width: 100%;
  height: 100%;
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .c-footer-toPageTop__link:hover {
    opacity: 0.5;
    transition: opacity 0.3s;
  }
}

.c-footer-toPageTop__link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-footer-columns {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .c-footer-columns {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .c-footer-columns__column {
    width: 18.421%;
  }
}

@media screen and (min-width: 768px) {
  .c-footer-block + .c-footer-block {
    margin-top: 40px;
  }
}

.c-footer-block__title {
  padding-bottom: 8px;
  border-bottom: 1px solid #595959;
  font-weight: normal;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .c-footer-block__title {
    position: relative;
    padding: 4.25vw 0 4.5vw;
    border-color: #4b4b4b;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .c-footer-block__title::before, .c-footer-block__title::after {
    position: absolute;
    top: 50%;
    right: 0;
    translate: -50% 0;
    width: 3vw;
    height: 1px;
    background: #fff;
    content: "";
  }
}

@media screen and (max-width: 767px) {
  .c-footer-block__title::after {
    rotate: 90deg;
    transition: rotate 0.3s;
  }
}

@media screen and (max-width: 767px) {
  .c-footer-block__title.is-open::after {
    rotate: 0deg;
    transition: rotate 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .c-footer-block__lower {
    margin-top: 14px;
  }
}

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

@media screen and (max-width: 767px) {
  .c-footer-block__list {
    padding: 3.5vw 2.75vw;
    border-bottom: 1px solid #4b4b4b;
  }
}

.c-footer-block__item {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .c-footer-block__item {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .c-footer-block__item + .c-footer-block__item {
    margin-top: 8px;
  }
}

.c-footer-block__link {
  color: #aaa;
  transition: color, 0.3s;
}

@media screen and (max-width: 767px) {
  .c-footer-block__link {
    display: block;
    padding: 2vw 0;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .c-footer-block__link:hover {
    color: #fff;
    transition: color, 0.3s;
  }
}

.c-footer-block__externalIcon {
  display: inline-block;
  position: relative;
  padding-right: 18px;
}

@media screen and (max-width: 767px) {
  .c-footer-block__externalIcon {
    padding-right: 4.5vw;
  }
}

.c-footer-block__externalIcon::after {
  position: absolute;
  top: 6px;
  right: 0;
  width: 10px;
  height: 10px;
  background: url(/assets/images/common/icon-external.svg) no-repeat center/contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .c-footer-block__externalIcon::after {
    top: 1.5vw;
    width: 2.5vw;
    height: 2.5vw;
  }
}

.c-footer__others {
  margin-top: 52px;
}

@media screen and (max-width: 767px) {
  .c-footer__others {
    margin-top: 16vw;
  }
}

.c-footer-others {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .c-footer-others {
    flex-wrap: wrap;
  }
}

.c-footer-others__item {
  padding: 0 10px;
}

@media screen and (max-width: 767px) {
  .c-footer-others__item {
    padding: 0 2.5vw;
  }
}

@media screen and (max-width: 767px) {
  .c-footer-others__item:nth-of-type(n + 3) {
    margin-top: 1.5vw;
  }
}

.c-footer-others__item:not(:last-of-type) {
  border-right: 1px solid #4b4b4b;
}

.c-footer-others__link {
  display: block;
  padding-bottom: 2px;
  color: inherit;
  font-size: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  transition: border-color, 0.3s;
}

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

@media (min-width: 768px) and (hover: hover) {
  .c-footer-others__link:hover {
    opacity: 1;
    border-color: #fff;
    transition: border-color, 0.3s;
  }
}

.c-footer-others__copyright {
  margin-top: 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-footer-others__copyright {
    margin-top: 8vw;
  }
}

.c-footer-others__copyright small {
  color: #aaa;
  font-size: 12px;
}

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

.c-header {
  position: relative;
  z-index: var(--z-index-header);
  padding: 16px 0 19px;
  line-height: normal;
  font-family: var(--font-noto);
}

@media screen and (max-width: 767px) {
  .c-header {
    padding: 3vw 0;
  }
}

.c-header__inner {
  display: flex;
  padding: 0 3.333%;
  justify-content: space-between;
}

@media (max-width: 1680px) and (min-width: 1201px) {
  .c-header__inner {
    padding: 0 1.25%;
  }
}

@media screen and (max-width: 767px) {
  .c-header__inner {
    padding: 0 5vw;
  }
}

.c-header__main {
  display: flex;
  align-items: center;
  column-gap: 24px;
}

@media (max-width: 1680px) and (min-width: 1201px) {
  .c-header__main {
    column-gap: 12px;
  }
}

@media screen and (max-width: 767px) {
  .c-header__main {
    column-gap: 3vw;
  }
}

@media screen and (max-width: 767px) {
  .c-header-logo img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.c-header-logo--nissan {
  width: 62px;
  height: 49px;
}

@media screen and (max-width: 767px) {
  .c-header-logo--nissan {
    width: 12vw;
    height: 9.5vw;
  }
}

.c-header-logo--nissantokyo {
  width: 104px;
  height: 25px;
}

@media screen and (max-width: 767px) {
  .c-header-logo--nissantokyo {
    width: 21.5vw;
    height: 6.5vw;
  }
}

.c-header-logo__link {
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .c-header-logo__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.c-header__sub {
  display: flex;
  align-items: center;
  column-gap: 28px;
}

@media (max-width: 1680px) and (min-width: 1201px) {
  .c-header__sub {
    column-gap: 16px;
  }
}

@media screen and (max-width: 767px) {
  .c-header__sub {
    column-gap: 2vw;
  }
}

@media (max-width: 1400px) {
  .c-header-nav {
    display: none;
  }
}

.c-header-nav__list {
  display: flex;
  column-gap: 28px;
}

@media (max-width: 1680px) and (min-width: 1401px) {
  .c-header-nav__list {
    column-gap: 16px;
  }
}

.c-header-nav__item {
  position: relative;
}

.c-header-nav__button {
  color: inherit;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.6;
  transition: color 0.3s;
}

@media (max-width: 1680px) and (min-width: 1401px) {
  .c-header-nav__button {
    font-size: 14px;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .c-header-nav__button:hover {
    color: var(--color-scarlet);
    transition: color 0.3s;
  }
}

.c-header-nav__button--hasLower {
  position: relative;
  padding-right: 14px;
  cursor: pointer;
}

.c-header-nav__button--hasLower::after {
  position: absolute;
  top: 5px;
  right: 0;
  width: 10px;
  height: 10px;
  background: url(/assets/images/common/icon-header-arrow.svg) no-repeat center/contain;
  content: "";
}

.c-header-dropdown {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 36px;
  left: 0;
  z-index: var(--z-index-header);
  width: 240px;
  padding: 30px 34px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 25.3px 4px rgba(0, 0, 0, 0.1);
  transition: opacity 0.3s;
}

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

.c-header-dropdown.is-show {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s;
}

.c-header-dropdown__item {
  line-height: 1.25;
}

.c-header-dropdown__item + .c-header-dropdown__item {
  margin-top: 12px;
}

.c-header-dropdown__link {
  display: inline-block;
  color: inherit;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.4;
  transition: color 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .c-header-dropdown__link:hover {
    color: var(--color-scarlet);
    transition: color 0.3s;
  }
}

.c-header-dropdown__externalIcon {
  position: relative;
}

@media screen and (max-width: 767px) {
  .c-header-dropdown__externalIcon {
    padding-right: 4.5vw;
  }
}

.c-header-dropdown__externalIcon::after {
  position: absolute;
  bottom: 5px;
  right: -18px;
  width: 10px;
  height: 10px;
  background: url(/assets/images/common/icon-external-black.svg) no-repeat center/contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .c-header-dropdown__externalIcon::after {
    top: 1.5vw;
    width: 2.5vw;
    height: 2.5vw;
  }
}

.c-header-cal__link {
  display: flex;
  padding: 6px 10px;
  border: 2px solid var(--color-scarlet);
  border-radius: 35px;
  color: inherit;
  align-items: center;
  column-gap: 6px;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .c-header-cal__link {
    padding: 1.5vw 2.5vw;
    border-radius: 9vw;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .c-header-cal__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.c-header-cal__icon {
  display: block;
  width: 22px;
  height: 22px;
  margin-top: -1px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c-header-cal__icon {
    width: 5.5vw;
    height: 5.5vw;
  }
}

.c-header-cal__icon img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.c-header-cal__text {
  display: block;
  font-weight: bold;
  font-size: 10px;
  line-height: 1.2;
}

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

.c-header-hamMenu {
  position: relative;
  width: 10vw;
  height: 10vw;
  border-radius: 50%;
  background: var(--color-scarlet);
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .c-header-hamMenu {
    width: 40px;
    height: 40px;
  }
}

@media (min-width: 1401px) {
  .c-header-hamMenu {
    display: none;
  }
}

.c-header-hamMenu.is-on .c-header-hamMenu__line:nth-of-type(1) {
  top: 1.25vw;
  rotate: 45deg;
  transition: rotate 0.3s;
}

@media screen and (min-width: 768px) {
  .c-header-hamMenu.is-on .c-header-hamMenu__line:nth-of-type(1) {
    top: 5px;
  }
}

.c-header-hamMenu.is-on .c-header-hamMenu__line:nth-of-type(2) {
  display: none;
}

.c-header-hamMenu.is-on .c-header-hamMenu__line:nth-of-type(3) {
  bottom: 1.25vw;
  rotate: -45deg;
  transition: rotate 0.3s;
}

@media screen and (min-width: 768px) {
  .c-header-hamMenu.is-on .c-header-hamMenu__line:nth-of-type(3) {
    bottom: 5px;
  }
}

.c-header-hamMenu__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 3.5vw;
  height: 3vw;
}

@media screen and (min-width: 768px) {
  .c-header-hamMenu__inner {
    width: 14px;
    height: 12px;
  }
}

.c-header-hamMenu__line {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: rotate 0.3s;
}

.c-header-hamMenu__line:nth-of-type(1) {
  top: 0;
}

.c-header-hamMenu__line:nth-of-type(2) {
  top: 50%;
  translate: 0 -50%;
}

.c-header-hamMenu__line:nth-of-type(3) {
  bottom: 0;
}

.c-ham {
  position: fixed;
  right: 0;
  z-index: var(--z-index-header);
  translate: 100% 0;
  width: 100%;
  background: #fff;
  line-height: normal;
  font-family: var(--font-noto);
  transition: translate 0.4s;
}

@media screen and (min-width: 768px) {
  .c-ham {
    width: 400px;
  }
}

@media (min-width: 1401px) {
  .c-ham {
    display: none;
  }
}

.c-ham.is-show {
  translate: 0 0;
  transition: translate 0.4s;
}

.c-ham__inner {
  overflow-y: auto;
  height: 100dvh;
  padding: 1.5vw 0 20vw;
}

@media screen and (min-width: 768px) {
  .c-ham__inner {
    padding: 5px 0 100px;
  }
}

.c-ham-list__line {
  padding: 0 5vw;
}

@media screen and (min-width: 768px) {
  .c-ham-list__line {
    padding: 0 20px;
  }
}

.c-ham-list__line--gray {
  background: #f6f6f6;
}

.c-ham-list__title {
  position: relative;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  font-size: 1.5rem;
}

@media screen and (min-width: 768px) {
  .c-ham-list__title {
    font-size: 18px;
  }
}

.c-ham-list__title::before, .c-ham-list__title::after {
  position: absolute;
  top: 50%;
  right: 1.75vw;
  translate: -50% 0;
  width: 2.75vw;
  height: 2px;
  background: var(--color-scarlet);
  content: "";
}

@media screen and (min-width: 768px) {
  .c-ham-list__title::before, .c-ham-list__title::after {
    right: 7px;
    width: 11px;
  }
}

.c-ham-list__title::after {
  rotate: 90deg;
  transition: rotate 0.3s;
}

.c-ham-list__title--arrow::before {
  right: 3vw;
  translate: 0 -50%;
  width: 1.75vw;
  height: 2.75vw;
  background-image: url(/assets/images/common/icon-ham-arrow-bold.svg);
  background-color: rgba(255, 255, 255, 0);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .c-ham-list__title--arrow::before {
    right: 12px;
    width: 7px;
    height: 11px;
  }
}

.c-ham-list__title--arrow::after {
  display: none;
}

.c-ham-list__title.is-open::after {
  rotate: 0deg;
  transition: rotate 0.3s;
}

.c-ham-list__details {
  display: none;
}

.c-ham-list__icon {
  display: block;
  position: relative;
  padding: 4.5vw 0 4.5vw 13vw;
  color: inherit;
}

@media screen and (min-width: 768px) {
  .c-ham-list__icon {
    padding: 18px 0 18px 52px;
  }
}

.c-ham-list__icon::before {
  position: absolute;
  top: 50%;
  left: 3.5vw;
  translate: 0 -50%;
  width: 6vw;
  height: 6vw;
  margin-top: -1px;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-ham-list__icon::before {
    left: 14px;
    width: 26px;
    height: 26px;
  }
}

.c-ham-list__icon--shop::before {
  background-image: url(/assets/images/common/icon-showroom.svg);
}

.c-ham-list__icon--newcar::before {
  background-image: url(/assets/images/common/icon-newcar.svg);
}

.c-ham-list__icon--usedcar::before {
  background-image: url(/assets/images/common/icon-usedcar.svg);
}

.c-ham-list__icon--after::before {
  background-image: url(/assets/images/common/icon-afterservice.svg);
}

.c-ham-list__icon--recommend::before {
  background-image: url(/assets/images/common/icon-pickup.svg);
}

.c-ham-list__icon--connect::before {
  background-image: url(/assets/images/common/icon-connect.svg);
}

.c-ham-list__icon--inquiry::before {
  background-image: url(/assets/images/common/icon-inquiry.svg);
}

.c-ham-list__icon--none {
  padding-left: 3.5vw;
}

@media screen and (min-width: 768px) {
  .c-ham-list__icon--none {
    padding-left: 14px;
  }
}

.c-ham-list__icon--none::before {
  display: none;
}

.c-ham-links {
  padding: 2vw 0 3.5vw;
}

@media screen and (min-width: 768px) {
  .c-ham-links {
    padding: 8px 0 14px;
  }
}

.c-ham-links__link {
  display: block;
  position: relative;
  padding: 2vw 8vw 2vw 7vw;
  color: inherit;
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
  .c-ham-links__link {
    padding: 8px 32px 8px 28px;
    font-size: 16px;
  }
}

.c-ham-links__link::after {
  position: absolute;
  top: 50%;
  right: 3.5vw;
  translate: 0 -50%;
  width: 1.5vw;
  height: 2.75vw;
  background: url(/assets/images/common/icon-ham-arrow.svg) no-repeat center/contain;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-ham-links__link::after {
    right: 14px;
    width: 6px;
    height: 11px;
  }
}

.c-ham-links__externalIcon::after {
  right: 3vw;
  width: 2.5vw;
  height: 2.5vw;
  background-image: url(/assets/images/common/icon-external-red.svg);
}

.c-ham-toTop {
  margin-top: 5vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-ham-toTop {
    margin-top: 20px;
  }
}

.c-ham-toTop__link {
  display: inline-block;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.l-inner, .l-inner--pattern-f, .l-inner--pattern-h {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .l-inner, .l-inner--pattern-f, .l-inner--pattern-h {
    max-width: 100%;
    padding: 0 5vw;
  }
}

.l-inner--pattern-f {
  max-width: 1040px;
}

@media screen and (max-width: 767px) {
  .l-inner--pattern-f {
    max-width: 100%;
    padding: 0 5vw;
  }
}

.l-inner--pattern-h {
  max-width: 1020px;
}

@media screen and (max-width: 767px) {
  .l-inner--pattern-h {
    max-width: 100%;
    padding: 0 5vw;
  }
}

.lower {
  padding: 48px 0 96px;
}

@media screen and (max-width: 767px) {
  .lower {
    padding: 10vw 0;
  }
}

.lower-heading {
  font-weight: bold;
  font-size: 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .lower-heading {
    font-size: 2.4rem;
  }
}

.c-button {
  display: inline-block;
  position: relative;
  padding: 10px 16px;
  background-color: #c3002f;
  color: #fff;
  transition: background-color 0.3s;
}

@media screen and (min-width: 768px) {
  .c-button:hover {
    background-color: #920023;
  }
}

.c-buttonLink__button {
  position: relative;
}

@media screen and (min-width: 768px) {
  .c-buttonLink__button {
    width: 312px;
  }
}

@media screen and (max-width: 767px) {
  .c-buttonLink__button {
    width: 70vw;
  }
}

.c-buttonLink__button::after {
  position: absolute;
  top: 50%;
  right: 24px;
  translate: 0 -50%;
  width: 11px;
  height: 10px;
  background: url(/assets/images/common/icon-arrow.svg) no-repeat center/contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .c-buttonLink__button::after {
    right: 6.5vw;
    width: 2.75vw;
    height: 2.5vw;
  }
}

.c-buttonLink__link {
  display: block;
  padding: 22px 32px;
  border-radius: 67px;
  background: var(--color-scarlet);
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .c-buttonLink__link {
    padding: 5.75vw 9.5vw 5.75vw 8vw;
    border-radius: 16.75vw;
    font-size: 1.5rem;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .c-buttonLink__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.c-cal {
  display: flex;
  justify-content: space-between;
  column-gap: 120px;
}

@media (max-width: 1366px) and (min-width: 768px) {
  .c-cal {
    column-gap: 32px;
  }
}

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

@media screen and (min-width: 768px) {
  .c-cal__textArea {
    width: 296px;
    flex-shrink: 0;
  }
}

.c-cal-time {
  display: flex;
  margin-top: 36px;
  column-gap: 10px;
}

@media screen and (max-width: 767px) {
  .c-cal-time {
    margin-top: 8vw;
  }
}

.c-cal-time + .c-cal-time {
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .c-cal-time + .c-cal-time {
    margin-top: 1.5vw;
  }
}

.c-cal-time__label {
  display: inline-grid;
  width: 80px;
  padding: 6px 0 8px;
  border-radius: 44px;
  background: #f6f6f6;
  font-size: 14px;
  line-height: 1;
  place-content: center;
}

@media screen and (max-width: 767px) {
  .c-cal-time__label {
    width: 17vw;
    padding: 2vw 0;
    border-radius: 13vw;
    font-size: 1.2rem;
  }
}

.c-cal-time__text {
  display: inline-block;
  font-weight: bold;
  font-size: 20px;
  line-height: normal;
  vertical-align: bottom;
}

@media screen and (max-width: 767px) {
  .c-cal-time__text {
    font-size: 1.6rem;
  }
}

.c-cal-time__caution {
  display: inline-block;
  margin-bottom: 3px;
  font-size: 10px;
  vertical-align: bottom;
}

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

.c-cal__note {
  display: flex;
  margin-top: 26px;
  font-size: 12px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .c-cal__note {
    margin-top: 3.5vw;
    font-size: 1.2rem;
  }
}

.c-cal__note span {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 3px;
  background: #ffe9ee;
}

@media screen and (max-width: 767px) {
  .c-cal__note span {
    width: 5vw;
    height: 5vw;
  }
}

.c-cal-list {
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .c-cal-list {
    margin-top: 1vw;
  }
}

.c-cal-list__item {
  padding-left: 1.7em;
  font-size: 12px;
  text-indent: -1.7em;
}

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

@media screen and (min-width: 768px) {
  .c-cal-list__item + .c-cal-list__item {
    margin-top: 6px;
  }
}

.c-cal-months {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 32px;
}

@media screen and (max-width: 767px) {
  .c-cal-months {
    display: block;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .c-cal-months__item:nth-of-type(2) {
    display: none;
  }
}

.c-cal-months__month {
  font-weight: bold;
  font-size: 22px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-cal-months__month {
    font-size: 1.8rem;
  }
}

.c-cal-months__calendar {
  margin-top: 8px;
}

.c-calendar {
  border-collapse: separate;
  border-right: 2px solid var(--color-scarlet);
  border-bottom: 2px solid var(--color-scarlet);
  background: #fff;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c-calendar {
    width: 100%;
  }
}

.c-calendar th,
.c-calendar td {
  width: 76px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-calendar th,
  .c-calendar td {
    width: calc(100% / 7 - 10px);
  }
}

.c-calendar th {
  min-height: 50px;
  padding: 14px 0;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .c-calendar th {
    min-height: 9vw;
    padding: 2vw 1.25vw 1.25vw;
    font-size: 1.4rem;
  }
}

.c-calendar td {
  min-height: 92px;
  padding: 22px 0;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .c-calendar td {
    min-height: 12.5vw;
    padding: 3.75vw 1.25vw 3.5vw;
    font-size: 1.4rem;
  }
}

.c-calendar th:first-child {
  border-top: 2px solid var(--color-scarlet);
  border-left: 2px solid var(--color-scarlet);
}

.c-calendar th:not(:first-child) {
  border-top: 2px solid var(--color-scarlet);
  border-left: 1px solid #dbdbdb;
}

.c-calendar td:first-child {
  border-top: 1px solid #dbdbdb;
  border-left: 2px solid var(--color-scarlet);
}

.c-calendar td:not(:first-child) {
  border-top: 1px solid #dbdbdb;
  border-left: 1px solid #dbdbdb;
}

.c-calendar td:nth-child(3) {
  background-color: #ffe9ee;
}

.c-calendar th:first-child,
.c-calendar td:first-child {
  color: var(--color-scarlet) !important;
}

.c-calendar th:last-child,
.c-calendar td:last-child {
  color: #3381cf;
}

.c-calendar td.disabled {
  background-color: #f3f3f3 !important;
  color: transparent !important;
}

.c-calendar td.holiday-bizHoliday {
  background-color: #ffe9ee;
  color: var(--color-scarlet);
}

.c-calendar td.is-business {
  background-color: #fff;
  color: var(--color-scarlet);
}

.c-calendar td.is-bizHoliday {
  background-color: #ffe9ee;
  color: #343434;
}

.c-chatArea {
  position: fixed;
  bottom: 0;
  z-index: calc(var(--z-index-header) + 1);
  translate: 0 calc(100% + 32px);
  width: 420px;
  height: 95%;
  border-radius: 8px 8px 0 0;
  transition: translate 0.3s;
}

@media screen and (min-width: 768px) {
  .c-chatArea {
    right: 12px;
  }
}

@media screen and (max-width: 767px) {
  .c-chatArea {
    left: 0;
    width: 100%;
    height: 80%;
  }
}

.c-chatArea.is-show {
  translate: 0 0;
  transition: translate 0.3s;
}

.c-chatArea__inner {
  position: relative;
  width: inherit;
  height: 100%;
}

.c-chatArea-button {
  position: absolute;
  top: -24px;
  right: 0;
  z-index: calc(var(--z-index-header));
  width: 24px;
  height: 16px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .c-chatArea-button {
    right: 3vw;
  }
}

.c-chatArea-button__inner {
  width: 100%;
  height: 100%;
}

.c-chatArea-button__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--color-black);
}

.c-chatArea-button__bar:nth-of-type(1) {
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
  margin-top: -1px;
}

.c-chatArea-button__bar:nth-of-type(2) {
  bottom: 50%;
  translate: 0 -50%;
  rotate: -45deg;
  margin-bottom: -1px;
}

.c-chatArea__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px 8px 0 0;
}

.c-fixed__btnsArea {
  display: none;
}

.c-fixed__btns {
  display: flex;
  position: fixed;
  right: 0;
  bottom: 20px;
  z-index: 1;
}

@media only screen and (max-width: 900px) {
  .c-fixed__btns {
    width: 100%;
    bottom: 0;
    justify-content: flex-end;
  }
}

.c-fixed__btns._bottom230 {
  bottom: 230px;
}

@media screen and (max-width: 767px) {
  .c-fixed__btns._bottom230 {
    bottom: 0;
  }
}

.c-fixed__btn {
  display: block;
  width: 283px;
  padding: 20px 0;
  background: #c4092f;
  color: #fff;
  font-size: 17px;
  line-height: 1.75;
  text-align: center;
  white-space: nowrap;
  /* iphone 11 proで文字が改行されてしまう為 */
}

@media only screen and (max-width: 900px) {
  .c-fixed__btn {
    width: 33%;
  }
}

@media screen and (max-width: 767px) {
  .c-fixed__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3vw 0;
    font-size: 1.1rem;
  }
}

.c-fixed__btn + .c-fixed__btn {
  margin-left: 2px;
}

@media only screen and (max-width: 900px) {
  .c-fixed__btn + .c-fixed__btn {
    margin-left: 0.5%;
  }
}

.c-fixed__btn .pc {
  display: inline-block;
}

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

.c-fixed__btn._pattern-2 {
  width: 290px;
  padding: 24px 0 20px;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .c-fixed__btn._pattern-2 {
    padding: 7vw 0 6vw;
    width: 100%;
  }
}

.c-fixed__btn._pattern-2:hover {
  opacity: 0.7;
}

.c-fixed__btn-text {
  position: relative;
  display: inline-block;
  text-align: left;
  padding-left: 67px;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .c-fixed__btn-text {
    padding-left: 15vw;
    font-weight: bold;
    font-size: 1.5rem;
  }
}

.c-fixed__btn-text::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 52px;
  height: 49px;
  background-image: url(../images/common/icon_web_reserve.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .c-fixed__btn-text::after {
    width: 10.75vw;
    height: 10.25vw;
  }
}

.c-fixedMenu {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  bottom: 80px;
  z-index: var(--z-index-header);
  transition: 0.3s;
  transition-property: visibility, opacity;
}

@media screen and (min-width: 768px) {
  .c-fixedMenu {
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  .c-fixedMenu {
    bottom: 0;
    left: 0;
    width: 100%;
  }
}

.c-fixedMenu.is-show {
  visibility: visible;
  opacity: 1;
  transition: 0.3s;
  transition-property: visibility, opacity, translate;
}

.c-fixedMenu.is-closed {
  translate: 78px 0;
  transition: translate 0.3s;
}

.c-fixedMenu__inner {
  position: relative;
  border-radius: 14px 0 0 14px;
  background: var(--color-scarlet);
}

@media screen and (max-width: 767px) {
  .c-fixedMenu__inner {
    border-radius: 4vw 4vw 0 0;
  }
}

.c-fixedMenu__button {
  position: absolute;
  top: -36px;
  left: 5px;
  z-index: var(--z-index-header);
  width: 36px;
  height: 37px;
  padding: 0;
  border: none;
  background: none;
  transition: rotate 0.3s;
  cursor: pointer;
}

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

.is-closed .c-fixedMenu__button {
  rotate: 180deg;
  transition: rotate 0.3s;
}

.c-fixedMenu__button img {
  width: 100%;
  object-fit: cover;
}

.c-fixedMenu__list {
  width: 120px;
  padding: 0 12px;
}

@media screen and (max-width: 767px) {
  .c-fixedMenu__list {
    display: grid;
    width: auto;
    padding: 3.75vw 0;
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .c-fixedMenu-line + .c-fixedMenu-line {
    border-top: 1px solid #ea9898;
  }
}

@media screen and (max-width: 767px) {
  .c-fixedMenu-line + .c-fixedMenu-line {
    border-left: 1px solid #ea9898;
  }
}

.is-closed .c-fixedMenu-line {
  width: 24px;
}

.c-fixedMenu-line__link {
  display: flex;
  column-gap: 6px;
  align-items: center;
  transition: opacity 0.3s;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .c-fixedMenu-line__link {
    padding: 12px 0;
  }
}

@media screen and (max-width: 767px) {
  .c-fixedMenu-line__link {
    margin: -7px 0;
    flex-direction: column;
  }
}

.c-fixedMenu-line__link:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.c-fixedMenu-line__link.is-disabled:hover {
  opacity: 1;
}

.c-fixedMenu-line__icon {
  width: 24px;
  height: 24px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c-fixedMenu-line__icon {
    width: 27px;
    height: 26px;
  }
}

.c-fixedMenu-line__icon img {
  width: 100%;
  object-fit: cover;
}

.c-fixedMenu-line__text {
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  line-height: 12px;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .c-fixedMenu-line__text {
    margin-top: 1vw;
    font-size: 1.1rem;
    text-align: center;
  }
}

.is-closed .c-fixedMenu-line__text {
  display: none;
}

.c-inner {
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding: 0 60px;
}

@media screen and (max-width: 767px) {
  .c-inner {
    padding: 0 5vw;
  }
}

.c-link {
  color: var(--color-scarlet);
  text-decoration: underline;
}

@media (min-width: 768px) and (hover: hover) {
  .c-link:hover {
    text-decoration: none;
  }
}

.noscroll {
  overflow: hidden;
}

.modalArea {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -54%);
  width: 65%;
}

@media screen and (max-width: 767px) {
  .modalWrapper {
    width: 100%;
  }
}

.antivirus-modal-item1 {
  display: none;
  position: relative;
  padding-bottom: 56.25%;
  /* アスペクト比 16:9の場合の縦幅 */
  height: 0;
  overflow: hidden;
}

.antivirus-modal-item1 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.closeModal {
  position: absolute;
  display: inline-block;
  left: 50%;
  bottom: -10%;
  transform: translateX(-50%);
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  border: 0;
}

@media screen and (max-width: 767px) {
  .closeModal {
    bottom: -12vw;
  }
}

.closeModal-line {
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
}

@media screen and (max-width: 767px) {
  .closeModal-line {
    width: 7.5vw;
    height: 7.5vw;
  }
}

.closeModal-line::before, .closeModal-line::after {
  /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  /* 棒の幅（太さ） */
  height: 30px;
  /* 棒の高さ */
  background: #fff;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .closeModal-line::before, .closeModal-line::after {
    width: 0.75vw;
    height: 7.5vw;
    border-radius: 2.5vw;
  }
}

.closeModal-line::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.closeModal-line::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-panel, .c-panel--pattern-b {
  display: block;
  width: 360px;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.c-panel--pattern-b {
  width: 274px;
}

.c-panel:hover, .c-panel--pattern-b:hover {
  opacity: 0.6;
}

.c-panel__image {
  width: 100%;
}

.c-title {
  position: relative;
  padding-top: 20px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c-title {
    padding-top: 5vw;
    font-size: 2rem;
  }
}

.c-title::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
  height: 6px;
  background-color: #c3002f;
  content: '';
}

@media screen and (max-width: 767px) {
  .c-title::before {
    width: 13.5vw;
    height: 1.5vw;
  }
}

.c-title--underline {
  padding-bottom: 16px;
  border-bottom: 1px dotted #C1C1C1;
}

@media screen and (max-width: 767px) {
  .c-title--underline {
    margin-bottom: 7vw;
    padding-bottom: 2.5vw;
  }
}

.p-cv {
  width: 530px;
}

@media screen and (max-width: 767px) {
  .p-cv {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-cv + .p-cv {
    margin-top: 7.5vw;
  }
}

.p-cv-list {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

@media screen and (max-width: 767px) {
  .p-cv-list {
    display: block;
  }
}

.p-cv-title {
  padding: 8px 24px;
  background-color: #343434;
  color: #fff;
  font-weight: 700;
  font-size: 22px;
}

@media screen and (max-width: 767px) {
  .p-cv-title {
    font-size: 1.8rem;
    padding: 2vw 6vw;
  }
}

.p-cv-body {
  min-height: 220px;
  padding: 14px 40px 20px;
  border: 1px solid #919191;
}

@media screen and (max-width: 767px) {
  .p-cv-body {
    min-height: auto;
    padding: 3vw 3vw 5vw;
  }
}

.p-cv-tel {
  display: inline-block;
  position: relative;
  left: -15px;
  margin-bottom: 16px;
  padding-left: 60px;
  color: #c3002f;
  font-weight: 700;
  font-size: 38px;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .p-cv-tel {
    left: -3vw;
    z-index: -1;
    margin-bottom: 3vw;
    padding-left: 15vw;
    font-size: 2.6rem;
    pointer-events: initial;
  }
}

.p-cv-tel::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 61px;
  height: 57px;
  background-image: url(../images/common/icon_tel.svg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  content: '';
}

@media screen and (max-width: 767px) {
  .p-cv-tel::before {
    width: 15.25vw;
    height: 14.25vw;
  }
}

.p-cv-unit {
  display: flex;
  align-items: flex-start;
}

.p-cv-unit + .p-cv-unit {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-cv-unit + .p-cv-unit {
    margin-top: 3vw;
  }
}

.p-cv-unit__title {
  width: 100px;
  padding: 3px 0 1px;
  background-color: #eee;
  color: #464646;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-cv-unit__title {
    width: 25vw;
    padding: 0.8vw 0 0.1vw;
    font-size: 1.5rem;
  }
}

.p-cv-unit__text {
  width: calc(100% - 112px);
  margin-left: 12px;
  font-size: 15px;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .p-cv-unit__text {
    width: 54.5vw;
    margin-left: 3vw;
    font-size: 1.5rem;
  }
}

.p-cv-unit__textNote {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}

.p-event {
  letter-spacing: normal;
  font-family: var(--font-noto);
}

.p-event-section {
  margin-top: 56px;
}

@media screen and (max-width: 767px) {
  .p-event-section {
    margin-top: 10vw;
  }
}

.p-event-section__content:nth-of-type(n + 2) {
  margin-top: 68px;
}

@media screen and (max-width: 767px) {
  .p-event-section__content:nth-of-type(n + 2) {
    margin-top: 15vw;
  }
}

.p-event__list {
  display: grid;
  margin-top: 40px;
  grid-template-columns: repeat(4, 1fr);
  gap: 34px 40px;
}

@media screen and (max-width: 767px) {
  .p-event__list {
    margin-top: 7vw;
    grid-template-columns: repeat(2, 1fr);
    gap: 8vw 4vw;
  }
}

.p-event-card__link {
  display: block;
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .p-event-card__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-event-card__image img {
  border-radius: 6px;
}

@media screen and (max-width: 767px) {
  .p-event-card__image img {
    height: auto;
    border-radius: 1.5vw;
    aspect-ratio: 172 / 190;
  }
}

.p-event-card__text {
  margin-top: 10px;
  color: var(--color-black);
  font-weight: bold;
  font-size: 15px;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .p-event-card__text {
    margin-top: 2.5vw;
    font-size: 1.4rem;
  }
}

.p-carMaint {
  font-family: var(--font-noto);
}

.p-carMaint .c-fixed__btnsArea.hasTransition {
  transition: opacity 0.5s;
}

.p-carMaint .c-fixed__btnsArea.is-hidden {
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
  transition-property: opacity, visibility;
}

.p-carMaint .c-fixed__btns {
  z-index: 9999;
}

@media screen and (min-width: 768px) {
  .p-carMaint .c-fixed__btns {
    bottom: 150px;
  }
}

.p-carMaint__mv img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-carMaint__mv img {
    aspect-ratio: 8 / 9;
  }
}

.p-carMaint__contents {
  padding: 74px 0 124px;
  background: #E2F2C6;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-carMaint__contents {
    padding: 9vw 0 20vw;
  }
}

.p-carMaint__heading {
  width: 922px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-carMaint__heading {
    width: 76.25vw;
  }
}

.p-carMaint__heading img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-carMaint-tire {
  margin-top: 60px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire {
    margin-top: 20vw;
  }
}

.p-carMaint-tire__heading img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-carMaint-tire__box {
  padding: 64px 100px 40px;
  background: #fff;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire__box {
    padding: 7vw 2.5vw 8vw;
  }
}

.p-carMaint-tire-list__line + .p-carMaint-tire-list__line {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire-list__line + .p-carMaint-tire-list__line {
    margin-top: 8vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire-list__term {
    width: 100%;
    height: 12.75vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire-list__term img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-carMaint-tire-list__content {
  padding: 40px 50px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire-list__content {
    padding: 8vw 3vw 2.5vw;
  }
}

.p-carMaint-tire-list__content--seasons {
  background: #ebf6f9;
}

.p-carMaint-tire-list__content--studless {
  background: #e8f3fe;
}

.p-carMaint-tire__subTitle {
  width: 574px;
  margin: 40px auto 0;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire__subTitle {
    width: 60vw;
    height: 14.75vw;
    margin-top: 14vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire__subTitle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-carMaint-tire__table {
  width: 766px;
  margin: 20px auto 0;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire__table {
    width: 100%;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire__table img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-carMaint-tire-notes {
  width: 766px;
  margin: 12px auto 0;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire-notes {
    width: 100%;
    margin-top: 3vw;
  }
}

.p-carMaint-tire-notes__note {
  padding-left: 1.5em;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.33;
  text-indent: -1.5em;
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire-notes__note {
    font-size: 1.2rem;
  }
}

.p-carMaint-tire-notes__note + .p-carMaint-tire-notes__note {
  margin-top: 2px;
}

.p-carMaint-tire__strong {
  margin-top: 12px;
  padding-left: 1em;
  color: #e60012;
  font-weight: 500;
  line-height: 1.63;
  text-indent: -1em;
  font-family: var(--font-noto);
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire__strong {
    margin-top: 2.5vw;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

.p-carMaint-tire__text {
  margin-top: 6px;
  padding-left: 1em;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.33;
  text-indent: -1em;
  font-family: var(--font-noto);
}

@media screen and (max-width: 767px) {
  .p-carMaint-tire__text {
    margin-top: 1vw;
    font-size: 1.2rem;
  }
}

.p-carMaint-productList {
  display: flex;
  column-gap: 14px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-productList {
    display: block;
  }
}

.p-carMaint-productList + .p-carMaint-productList {
  margin-top: 14px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-productList + .p-carMaint-productList {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-productList__item {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-productList__item + .p-carMaint-productList__item {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-productList__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-carMaint-inside {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside {
    margin-top: 20vw;
  }
}

.p-carMaint-inside__heading img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-carMaint-inside__box {
  padding: 40px 58px 56px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__box {
    padding: 8vw 5vw;
  }
}

.p-carMaint-inside__text {
  width: 702px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__text {
    width: 60vw;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__text img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-carMaint-inside-list {
  display: flex;
  width: 960px;
  margin: 40px auto 0;
  column-gap: 15px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside-list {
    display: block;
    width: 100%;
    margin-top: 8vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside-list__item + .p-carMaint-inside-list__item {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside-list__item img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-carMaint-inside__pinkBox {
  margin-top: 64px;
  padding: 52px 42px 48px;
  background: #ffeff6;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__pinkBox {
    margin-top: 10vw;
    padding: 6vw 5vw 10vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__pinkBox h3 img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-carMaint-inside__list {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__list {
    margin-top: 6vw;
  }
}

.p-carMaint-inside__list li + li {
  margin-top: 26px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__list li + li {
    margin-top: 6vw;
  }
}

.p-carMaint-inside__list li img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-carMaint-inside__addition {
  display: flex;
  margin-top: 40px;
  column-gap: 48px;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__addition {
    display: block;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__addition li + li {
    margin-top: 6.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-inside__addition img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-carMaint-inside__lower-part {
  margin-top: 40px;
  margin-bottom: 40px;
}

.p-carMaint-coat {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-coat {
    margin-top: 20vw;
  }
}

.p-carMaint-coat__heading img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-carMaint-coat__box {
  padding: 28px 65px 32px 64px;
  background: #fff1eb;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-carMaint-coat__box {
    padding: 5vw 5vw 6vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-coat__box img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-carMaint__banner {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-carMaint__banner {
    margin-top: 8vw;
  }
}

.p-carMaint-cta {
  margin-top: 56px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-cta {
    margin-top: 8vw;
  }
}

.p-carMaint-cta__buttons {
  display: flex;
  justify-content: center;
  column-gap: 36px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-cta__buttons {
    display: block;
  }
}

.p-carMaint-cta__button {
  display: flex;
  position: relative;
  width: 372px;
  height: 80px;
  background: #434343;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  font-family: var(--font-noto);
  text-align: center;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-carMaint-cta__button {
    width: 88.889%;
    height: 17vw;
    margin: 0 auto;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-carMaint-cta__button:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-carMaint-cta__button::after {
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-carMaint-cta__button::after {
    right: 5.5vw;
    width: 2.5vw;
    height: 2.5vw;
    border-width: 0.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-carMaint-cta__button + .p-carMaint-cta__button {
    margin-top: 4vw;
  }
}

.p-carMaint-vision {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-vision {
    margin-top: 6vw;
  }
}

.p-carMaint-vision__heading img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-carMaint-vision__box {
  padding: 44px 58px 56px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-carMaint-vision__box {
    padding: 5vw 2.25vw;
    padding-bottom: 8vw;
  }
}

.p-carMaint-vision__box li img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-carMaint-vision__item + .p-carMaint-vision__item {
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .p-carMaint-vision__item + .p-carMaint-vision__item {
    margin-top: 16px;
  }
}

.p-news {
  display: block;
}

.p-news__heading {
  padding: 57px 0 55px;
}

@media screen and (max-width: 767px) {
  .p-news__heading {
    padding: 10.5vw 0 7.25vw;
  }
}

.p-news__title {
  font-weight: 700;
  font-size: 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-news__title {
    font-size: 2.4rem;
  }
}

.p-news__wrapper {
  background-color: #f6f6f6;
  padding: 51px 0 100px;
}

@media screen and (max-width: 767px) {
  .p-news__wrapper {
    padding: 7.5vw 0 10vw;
  }
}

.p-news__inner {
  background-color: #fff;
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .p-news__inner {
    padding: 0 4vw;
  }
}

.p-news__item + .p-news__item {
  border-top: 2px solid #f6f6f6;
}

.p-news__item._text-only {
  display: flex;
  width: 100%;
  color: #343434;
  padding: 30px 62px 32px 0;
  font-size: 14px;
  line-height: 1.71;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-news__item._text-only {
    display: block;
    font-size: 1.4rem;
    padding: 3.75vw 10vw 3vw 0;
  }
}

.p-news__date {
  display: inline-block;
  width: 101px;
  color: #343434;
  font-weight: 700;
  font-size: 15px;
  font-family: "Lato", sans-serif;
}

@media screen and (max-width: 767px) {
  .p-news__date {
    width: auto;
    margin-right: 1vw;
    font-size: 1.3rem;
  }
}

.p-news__label-text {
  display: inline-block;
  width: 90px;
  font-size: 12px;
  font-weight: bold;
  line-height: 23px;
  letter-spacing: 0.72px;
  background-color: #c3002f;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-news__label-text {
    width: 100%;
    font-size: 1.2rem;
    line-height: 5.75vw;
  }
}

.p-news__label-text._ochre {
  background-color: #d58000;
}

.p-news__label-text._green {
  background-color: #347f01;
}

.p-news__label-text._navy {
  background-color: #011c7e;
}

.p-news__label-text._blue {
  background-color: #005fb2;
}

.p-news__label-text._orange {
  background-color: #e65d18;
}

.p-news__text--only {
  color: #343434;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-news__text--only {
    margin-top: 1.25vw;
    font-size: 1.4rem;
  }
}

.p-news__label {
  display: inline-block;
  width: 110px;
}

@media screen and (max-width: 767px) {
  .p-news__label {
    width: 22vw;
    margin-right: 0;
  }
}

.p-news__link--inner {
  display: inline-block;
  width: calc(100% - (101px + 110px));
}

@media screen and (max-width: 767px) {
  .p-news__link--inner {
    display: block;
    width: 100%;
    margin-top: 1vw;
  }
}

.p-news__item--external-link,
.p-news__item--internal-link,
.p-news__item--pdf-link {
  position: relative;
}

.p-news__item--external-link::after,
.p-news__item--internal-link::after,
.p-news__item--pdf-link::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  cursor: pointer;
}

.p-news__item--external-link::after {
  right: 8px;
  width: 16px;
  height: 16px;
  background-image: url(../images/news/external-link-icon.svg);
}

@media screen and (max-width: 767px) {
  .p-news__item--external-link::after {
    right: 0;
    width: 3vw;
    height: 3vw;
  }
}

.p-news__item--internal-link::after {
  right: 7px;
  width: 16px;
  height: 16px;
  background-image: url(../images/news/Internal-link-icon2.svg);
}

@media screen and (max-width: 767px) {
  .p-news__item--internal-link::after {
    right: -0.5vw;
    width: 4.5vw;
    height: 4.5vw;
  }
}

.p-news__item--pdf-link::after {
  right: 0;
  width: 32px;
  height: 19px;
  background-image: url(../images/news/pdf-icon.svg);
}

@media screen and (max-width: 767px) {
  .p-news__item--pdf-link::after {
    right: 0;
    width: 6.3vw;
    height: 3.75vw;
  }
}

.p-news__link {
  display: flex;
  width: 100%;
  padding: 30px 62px 32px 0;
  font-weight: bold;
  font-size: 14px;
  color: #343434;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-news__link {
    display: block;
    font-size: 1.4rem;
    padding: 4.75vw 10vw 3vw 0;
  }
}

@media screen and (min-width: 768px) {
  .p-news__link:hover .p-news__link--text {
    border-color: #c3002f;
    color: #c3002f;
  }
}

.p-news__link--text {
  font-weight: normal;
  font-size: 14px;
  line-height: 1.71;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}

@media screen and (max-width: 767px) {
  .p-news__link--text {
    margin-top: 1.25vw;
    font-size: 1.4rem;
  }
}

.wp-pagenavi {
  margin-top: 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin-top: 7.25vw;
  }
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  color: #343434;
  padding: 7px 12px 8px 11px;
  line-height: 1;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-align: left;
  white-space: nowrap;
  border-radius: 50%;
  transition: 0.2s ease-in-out;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 1.75vw 3vw 2vw 2.75vw;
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .wp-pagenavi a {
    transition: color 0.2s;
  }
  .wp-pagenavi a:hover {
    color: #c3002f;
    transition: color 0.2s;
  }
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  font-size: 20px;
  padding: 3px 12px 8px 11px;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    padding: 0.75vw 3vw 2vw 2.75vw;
    font-size: 2rem;
  }
}

.wp-pagenavi .current {
  color: #FFF;
  background-color: #c3002f;
}

.wp-pagenavi .extend {
  padding: 2px 12px 13px 11px;
  font-weight: bold;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi .extend {
    padding: 0.5vw 3vw 3.25vw 2.75vw;
  }
}

.wp-pagenavi .first,
.wp-pagenavi .extend,
.wp-pagenavi .current,
.wp-pagenavi .page {
  margin-right: 9px;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi .first,
  .wp-pagenavi .extend,
  .wp-pagenavi .current,
  .wp-pagenavi .page {
    margin-right: 2.25vw;
  }
}

.wp-pagenavi .previouspostslink {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi .previouspostslink {
    margin-right: 5vw;
  }
}

.wp-pagenavi .nextpostslink {
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi .nextpostslink {
    margin-left: 5vw;
  }
}

.wp-pagenavi .first,
.wp-pagenavi .last {
  position: relative;
  width: 32px;
  height: 32px;
  padding: 0;
  color: transparent;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi .first,
  .wp-pagenavi .last {
    width: 8vw;
    height: 8vw;
  }
}

.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover {
  color: transparent;
}

.wp-pagenavi .first::before,
.wp-pagenavi .last::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -70%);
  content: "";
  width: 9px;
  height: 9px;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi .first::before,
  .wp-pagenavi .last::before {
    width: 2.25vw;
    height: 2.25vw;
  }
}

.wp-pagenavi .first::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDggOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgOCA4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO30NCgkuc3Qxe2ZpbGw6IzQ2NDY0Njt9DQo8L3N0eWxlPg0KPGc+DQoJPHJlY3QgY2xhc3M9InN0MCIgd2lkdGg9IjgiIGhlaWdodD0iOCIvPg0KCTxnIGlkPSLjgrDjg6vjg7zjg5dfMjE5Ml8wMDAwMDA3NzMxNTIwMTg2NTg0MTk5NzQ2MDAwMDAxNjY2OTI0NzUwODc5NDg4MzUwMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMzU0IDAuMzU0KSI+DQoJCTxwYXRoIGlkPSLjg5HjgrlfNTM0XzAwMDAwMTI3MDEzMjA2MTc2OTg4ODUxNTQwMDAwMDEwMDIxMDkwNTc0MzY2MjkwODUyXyIgY2xhc3M9InN0MSIgZD0iTTMuMSwzLjZMNi43LDBsMC43LDAuN0w0LjUsMy42DQoJCQlsMi45LDIuOUw2LjcsNy4zTDMuMSwzLjZ6Ii8+DQoJCTxwYXRoIGlkPSLjg5HjgrlfNTM1XzAwMDAwMTMxMzU3OTM5NDg2OTQ0ODU4MzcwMDAwMDA3NTI4MDM0NzU3MjA1ODY3NjY0XyIgY2xhc3M9InN0MSIgZD0iTS0wLjEsMy42TDMuNSwwbDAuNywwLjdMMS4zLDMuNg0KCQkJbDIuOSwyLjlMMy41LDcuM0wtMC4xLDMuNnoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4=");
}

.wp-pagenavi .last::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDggOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgOCA4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO30NCgkuc3Qxe2ZpbGw6IzQ2NDY0Njt9DQo8L3N0eWxlPg0KPGc+DQoJPHJlY3QgY2xhc3M9InN0MCIgd2lkdGg9IjgiIGhlaWdodD0iOCIvPg0KCTxnIGlkPSLjgrDjg6vjg7zjg5dfMjE5MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4zNTQgMC4zNTQpIj4NCgkJPHBhdGggaWQ9IuODkeOCuV81MzQiIGNsYXNzPSJzdDEiIGQ9Ik0wLjYsNy4zbC0wLjctMC43bDIuOS0yLjlsLTIuOS0yLjlMMC42LDBsMy42LDMuNkwwLjYsNy4zeiIvPg0KCQk8cGF0aCBpZD0i44OR44K5XzUzNSIgY2xhc3M9InN0MSIgZD0iTTMuOCw3LjNMMy4xLDYuNUw2LDMuNkwzLjEsMC43TDMuOCwwbDMuNiwzLjZMMy44LDcuM3oiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4=");
}

.p-service {
  font-family: var(--font-noto);
}

.p-service__background {
  padding-top: 56px;
}

@media screen and (max-width: 767px) {
  .p-service__background {
    padding-top: 14vw;
  }
}

.p-service__background--season {
  background-image: url(/assets/images/maintenance/service/background-mainvisual.png?ver=2);
  background-size: 100% auto;
  background-position: top;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-service__background--season {
    background-image: url(/assets/images/maintenance/service/background-mainvisual-sp.png);
  }
}

.p-service .is-nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .p-service__inner.l-inner, .p-service__inner.l-inner--pattern-f, .p-service__inner.l-inner--pattern-h,
  .p-service__inner.l-inner--pattern-f {
    padding: 0px 4.75vw;
  }
}

.p-service__mv {
  padding-top: 57px;
  padding-bottom: 34px;
}

@media screen and (max-width: 767px) {
  .p-service__mv {
    padding-top: calc(57 * 0.25 * 1vw);
    padding-bottom: calc(34 * 0.25 * 1vw);
  }
}

.p-service__mv-heading {
  font-weight: bold;
  font-size: 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__mv-heading {
    font-size: 3.4rem;
  }
}

.p-service__mv-text {
  margin-block: 57px;
  font-size: 24px;
  line-height: calc(42 / 24);
  letter-spacing: 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__mv-text {
    margin-block: calc(39 * 0.25 * 1vw);
    font-size: 1.9rem;
    line-height: calc(34 / 19);
  }
}

.p-service__mv.is-interior {
  padding-bottom: 0;
}

.p-service__mv.is-interior .p-service__mv-text {
  margin-block: initial;
  margin-top: 39px;
}

@media screen and (max-width: 767px) {
  .p-service__mv.is-interior .p-service__mv-text {
    margin-top: calc(39 * 0.25 * 1vw);
  }
}

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

@media screen and (max-width: 767px) {
  .p-service-intro {
    margin: 0 2vw;
  }
}

.p-service-intro__heading {
  font-weight: bold;
  font-size: 34px;
}

.p-service-intro__text {
  margin-top: 56px;
  font-size: 24px;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-service-intro__text {
    margin-block: 10vw;
    font-size: 19px;
    line-height: calc(34 / 19);
  }
}

.p-service-anchor {
  display: flex;
  margin-top: 48px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-service-anchor {
    padding-block: 28px;
  }
}

@media screen and (max-width: 767px) {
  .p-service-anchor {
    display: grid;
    margin-top: 10vw;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 6vw;
  }
}

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

.p-service-anchor__item:not(:first-child)::before {
  display: inline-block;
  width: 1px;
  height: 42px;
  background-color: #cacaca;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-service-anchor__item:not(:first-child)::before {
    display: none;
    height: 10.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-service-anchor__item:nth-child(odd)::after {
    display: inline-block;
    width: 1px;
    height: 10.5vw;
    background-color: #cacaca;
    content: "";
  }
}

.p-service-anchor__link {
  display: flex;
  width: 100%;
  min-width: 272px;
  padding: 10px 28px;
  color: #343434;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.48;
  letter-spacing: 0.08em;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-service-anchor__link {
    min-width: initial;
    padding: 2.5vw;
    font-size: 1.4rem;
  }
}

.p-service-anchor__link:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.p-service-anchor__arrow {
  display: flex;
  align-items: center;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .p-service-anchor__arrow {
    gap: 4.5vw;
  }
}

.p-service-anchor__arrow::after {
  display: inline-block;
  transform: translateY(-2px);
  width: 10px;
  height: auto;
  background-image: url(/assets/images/maintenance/service/icon-arrow-down.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  aspect-ratio: 1 / 1;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-service-anchor__arrow::after {
    width: 2.5vw;
  }
}

.p-service__contents {
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .p-service__contents {
    padding-bottom: calc(100 * 0.25 * 1vw);
  }
}

.p-service__contents.is-interior {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-service__contents.is-interior {
    margin-top: calc(40 * 0.25 * 1vw);
  }
}

.p-service__contents.is-season {
  position: relative;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-service__contents.is-season {
    margin-top: 7.5vw;
  }
}

.p-service__contents.is-season::after {
  position: absolute;
  top: 276px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url(/assets/images/maintenance/service/background-contents.png?update=0625);
  background-repeat: repeat-y;
  background-size: 100%;
  background-position: center top;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-service__contents.is-season::after {
    top: 20vw;
    background-image: url(/assets/images/maintenance/service/background-contents-sp.png?update=0625);
    background-position: top center;
  }
}

.p-service__large-section + .p-service__large-section {
  margin-top: 160px;
}

@media screen and (max-width: 767px) {
  .p-service__large-section + .p-service__large-section {
    margin-top: calc(80 * 0.25 * 1vw);
  }
}

.p-service__section {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-service__section {
    margin-top: calc(40 * 0.25 * 1vw);
  }
}

.p-service__section + .p-service__section {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__section + .p-service__section {
    margin-top: calc(30 * 0.25 * 1vw);
  }
}

.p-service__interior-section + .p-service__interior-section {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__interior-section + .p-service__interior-section {
    margin-top: calc(32 * 0.25 * 1vw);
  }
}

.p-service__content {
  padding: 60px 90px 68px;
  background-color: #f4f4f4;
}

@media screen and (max-width: 767px) {
  .p-service__content {
    padding: calc(24 * 0.25 * 1vw) calc(20 * 0.25 * 1vw) calc(42 * 0.25 * 1vw);
  }
}

.p-service__content.is-set {
  padding: 40px 90px 72px;
}

@media screen and (max-width: 767px) {
  .p-service__content.is-set {
    padding: calc(24 * 0.25 * 1vw) calc(20 * 0.25 * 1vw) calc(42 * 0.25 * 1vw);
  }
}

.p-service__content.is-battery {
  padding: 60px 90px 60px;
}

@media screen and (max-width: 767px) {
  .p-service__content.is-battery {
    padding: calc(24 * 0.25 * 1vw) calc(20 * 0.25 * 1vw) calc(42 * 0.25 * 1vw);
  }
}

.p-service__content.is-aircon {
  padding: 40px 90px 30px;
}

@media screen and (max-width: 767px) {
  .p-service__content.is-aircon {
    padding: calc(24 * 0.25 * 1vw) calc(20 * 0.25 * 1vw) calc(32 * 0.25 * 1vw);
  }
}

.p-service__content.is-coating {
  padding: 40px 90px 60px;
}

@media screen and (max-width: 767px) {
  .p-service__content.is-coating {
    padding: calc(24 * 0.25 * 1vw) calc(20 * 0.25 * 1vw) calc(32 * 0.25 * 1vw);
  }
}

.p-service-box {
  display: flex;
  padding: 60px 88px;
  background: #f4f4f4;
  column-gap: 56px;
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .p-service-box {
    display: block;
    padding: 6vw 4.5vw;
  }
}

@media screen and (min-width: 768px) {
  .p-service-box__image {
    max-width: 460px;
    flex-shrink: 0;
  }
}

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

@media screen and (max-width: 767px) {
  .p-service-box__textarea {
    margin-top: 6vw;
  }
}

.p-service-box__text {
  font-weight: bold;
  font-size: 21px;
  line-height: calc(35 / 21);
}

@media screen and (max-width: 767px) {
  .p-service-box__text {
    font-size: 17px;
    line-height: calc(28 / 17);
    text-align: justify;
  }
}

.p-service-box__price {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid #bebebe;
  font-weight: bold;
  font-size: 42px;
  line-height: 1;
  font-family: "Arial", sans-serif;
}

@media screen and (max-width: 767px) {
  .p-service-box__price {
    margin-top: 6vw;
    padding-top: 8vw;
  }
}

.p-service-box__price span {
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  .p-service-box__textarea-small {
    font-size: 14px;
  }
}

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

.p-service__small {
  margin-top: 6px;
  display: inline-block;
  font-weight: 400;
  font-size: 15px;
  line-height: calc(35 / 15);
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-service__small {
    margin-top: calc(16 * 0.25 * 1vw);
    font-size: 1.2rem;
    line-height: calc(20 / 12);
  }
}

.p-service__small.is-aircon {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .p-service__small.is-aircon {
    margin-top: calc(16 * 0.25 * 1vw);
  }
}

.p-service__small.is-filter {
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .p-service__small.is-filter {
    margin-top: calc(10 * 0.25 * 1vw);
  }
}

.p-service__set-list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 24px;
}

@media screen and (max-width: 767px) {
  .p-service__set-list {
    margin-top: calc(24 * 0.25 * 1vw);
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: calc(24 * 0.25 * 1vw);
  }
}

.p-service__set-item-content {
  background-color: #fff;
  height: 100%;
}

.p-service__set-item-head {
  padding: 9px 9px 13px;
  background-color: #c3002f;
  font-weight: 700;
  font-size: 14px;
  line-height: calc(24 / 14);
  letter-spacing: -0.06em;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-head {
    padding: calc(16 * 0.25 * 1vw) calc(9 * 0.25 * 1vw) calc(14 * 0.25 * 1vw);
    font-size: 1.4rem;
  }
}

.p-service__set-item-head .is-large {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  font-size: 23px;
  line-height: calc(32 / 23);
  letter-spacing: -0.06em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-head .is-large {
    min-height: calc(50 * 0.25 * 1vw);
    font-size: 2.3rem;
  }
}

.p-service__set-item-head .is-medium {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  font-size: 20px;
  line-height: calc(25 / 20);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-head .is-medium {
    min-height: calc(50 * 0.25 * 1vw);
    font-size: 2rem;
  }
}

.p-service__set-item-body {
  padding: 17px 27px 24px;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-body {
    padding: calc(17 * 0.25 * 1vw) calc(27 * 0.25 * 1vw) calc(24 * 0.25 * 1vw);
  }
}

.p-service__set-item-image {
  width: 100%;
  height: auto;
  aspect-ratio: 258 / 140;
}

.p-service__set-item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-service__set-item-image.is-filter {
  width: 100%;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-image.is-filter {
    height: calc(140 * 0.25 * 1vw);
  }
}

.p-service__set-item-image.is-filter img {
  max-height: 120px;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-image.is-filter img {
    max-height: calc(120 * 0.25 * 1vw);
  }
}

.p-service__set-item-price {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-price {
    margin-top: calc(24 * 0.25 * 1vw);
  }
}

.p-service__set-item-border {
  margin-top: 12px;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #bebebe;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-border {
    margin-top: calc(12 * 0.25 * 1vw);
  }
}

.p-service__set-item-text {
  margin-top: 14px;
  font-weight: 500;
  font-size: 15px;
  line-height: calc(24 / 15);
  letter-spacing: 0;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .p-service__set-item-text {
    margin-top: calc(14 * 0.25 * 1vw);
    font-size: 1.5rem;
  }
}

.p-service__stack-list {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__stack-list {
    margin-top: calc(32 * 0.25 * 1vw);
  }
}

.p-service__stack-item:not(:first-child) {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-service__stack-item:not(:first-child) {
    margin-top: calc(24 * 0.25 * 1vw);
  }
}

.p-service__stack-item-image img {
  width: 100%;
  height: auto;
}

.p-service-addition {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-service-addition {
    margin-top: calc(48 * 0.25 * 1vw);
  }
}

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

.p-service__battery-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__battery-wrapper {
    display: flex;
    flex-direction: column-reverse;
    gap: calc(24 * 0.25 * 1vw);
  }
}

.p-service__battery-heighlight {
  margin-top: 30px;
  padding: 12px;
  background-color: #c3002f;
  font-weight: 700;
  font-size: 24px;
  line-height: calc(25 / 24);
  letter-spacing: 0;
  color: #ff0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__battery-heighlight {
    margin-top: calc(24 * 0.25 * 1vw);
    padding: calc(8 * 0.25 * 1vw);
    font-size: 2rem;
    line-height: calc(25 / 20);
  }
}

.p-service__aircon-wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .p-service__aircon-wrapper {
    flex-direction: column-reverse;
    gap: calc(24 * 0.25 * 1vw);
  }
}

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

.p-service__aircon-cards {
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__aircon-cards {
    margin-top: calc(24 * 0.25 * 1vw);
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: calc(30 * 0.25 * 1vw);
  }
}

.p-service__bodycare {
  margin-top: 160px;
}

@media screen and (max-width: 767px) {
  .p-service__bodycare {
    margin-top: calc(80 * 0.25 * 1vw);
  }
}

.p-service__coating-wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .p-service__coating-wrapper {
    flex-direction: column-reverse;
    gap: calc(24 * 0.25 * 1vw);
  }
}

.p-service__coating-cards {
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__coating-cards {
    margin-top: calc(24 * 0.25 * 1vw);
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: calc(30 * 0.25 * 1vw);
  }
}

.p-service__banner {
  margin-top: 160px;
}

@media screen and (max-width: 767px) {
  .p-service__banner {
    margin-top: calc(64 * 0.25 * 1vw);
  }
}

.p-service__banner.is-interior {
  margin-top: 135px;
}

@media screen and (max-width: 767px) {
  .p-service__banner.is-interior {
    margin-top: calc(40 * 0.25 * 1vw);
  }
}

.p-service__banner-link {
  display: block;
  transition: opacity 0.3s;
}

.p-service__banner-link:hover {
  opacity: 0.7;
}

.p-service__filter-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__filter-wrapper {
    display: flex;
    flex-direction: column-reverse;
    gap: calc(24 * 0.25 * 1vw);
  }
}

.p-service__filter-border {
  margin-top: 30px;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #bebebe;
}

@media screen and (max-width: 767px) {
  .p-service__filter-border {
    margin-top: calc(24 * 0.25 * 1vw);
  }
}

.p-service__filter-price {
  margin-top: 26px;
}

@media screen and (max-width: 767px) {
  .p-service__filter-price {
    margin-top: calc(22 * 0.25 * 1vw);
  }
}

.p-service__section-list {
  margin-block: 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px;
  row-gap: 60px;
}

@media screen and (max-width: 767px) {
  .p-service__section-list {
    margin-block: calc(32 * 0.25 * 1vw);
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: calc(32 * 0.25 * 1vw);
  }
}

.p-service__section-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 0;
}

.p-service__section-content {
  padding: 40px 50px 50px;
  display: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
  background-color: #f4f4f4;
}

@media screen and (max-width: 767px) {
  .p-service__section-content {
    padding: calc(20 * 0.25 * 1vw) calc(20 * 0.25 * 1vw) calc(30 * 0.25 * 1vw);
  }
}

.p-service__section-image {
  text-align: center;
}

.p-service__section-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-service__section-image img {
    max-width: 352px;
    height: 191px;
  }
}

.p-service__section-text-block {
  margin-top: 32px;
  display: grid;
  grid-template-rows: 1fr auto auto;
  grid-row: span 3;
}

@media screen and (max-width: 767px) {
  .p-service__section-text-block {
    margin-top: calc(24 * 0.25 * 1vw);
  }
}

.p-service__section-border {
  margin-top: 30px;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #bebebe;
}

@media screen and (max-width: 767px) {
  .p-service__section-border {
    margin-top: calc(24 * 0.25 * 1vw);
  }
}

.p-service__section-price {
  margin-top: 26px;
}

@media screen and (max-width: 767px) {
  .p-service__section-price {
    margin-top: calc(26 * 0.25 * 1vw);
  }
}

.p-service__recommend {
  margin-top: 134px;
}

@media screen and (max-width: 767px) {
  .p-service__recommend {
    margin-top: calc(64 * 0.25 * 1vw);
  }
}

.p-service__recommend-heading {
  font-weight: 700;
  font-size: 26px;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-service__recommend-heading {
    font-size: 2rem;
  }
}

.p-service__recommend-list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 27px;
  row-gap: 34px;
}

@media screen and (max-width: 767px) {
  .p-service__recommend-list {
    margin-top: calc(24 * 0.25 * 1vw);
    grid-template-columns: 1fr 1fr;
    column-gap: calc(16 * 0.25 * 1vw);
    row-gap: calc(24 * 0.25 * 1vw);
  }
}

.p-service__recommend-link {
  display: block;
  transition: opacity 0.3s;
}

.p-service__recommend-link:hover {
  opacity: 0.7;
}

.p-service__recommend-image {
  width: 100%;
  height: auto;
  aspect-ratio: 272 / 160;
}

.p-service__recommend-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-service__recommend-text {
  margin-top: 16px;
  font-weight: 700;
  font-size: 17px;
  line-height: calc(32 / 17);
  letter-spacing: 0;
  color: #343434;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .p-service__recommend-text {
    margin-top: calc(8 * 0.25 * 1vw);
    font-size: 1.5rem;
    text-align: left;
  }
}

.p-service__button-wrapper {
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(2, 400px);
  align-items: center;
  justify-content: center;
  gap: 30px;
}

@media screen and (max-width: 767px) {
  .p-service__button-wrapper {
    margin-top: calc(40 * 0.25 * 1vw);
    grid-template-columns: calc(330 * 0.25 * 1vw);
    grid-auto-flow: row;
    gap: calc(16 * 0.25 * 1vw);
  }
}

.p-service__card {
  background-color: #fff;
}

.p-service__card-heading {
  padding: 12px;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #c3002f;
  color: #fff;
  font-weight: 700;
  font-size: 23px;
  line-height: calc(32 / 23);
  letter-spacing: 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__card-heading {
    padding: calc(16 * 0.25 * 1vw) calc(8 * 0.25 * 1vw);
    min-height: calc(64 * 0.25 * 1vw);
    font-size: 1.8rem;
  }
}

.p-service__card-heading .is-small {
  font-size: 17px;
  line-height: calc(32 / 17);
}

@media screen and (max-width: 767px) {
  .p-service__card-heading .is-small {
    font-size: 1.4rem;
    line-height: calc(32 / 14);
  }
}

.p-service__card-body {
  padding: 24px 16px 24px 30px;
}

@media screen and (max-width: 767px) {
  .p-service__card-body {
    padding: calc(24 * 0.25 * 1vw) calc(30 * 0.25 * 1vw);
  }
}

.p-service__card-list {
  display: flex;
  flex-direction: column;
  row-gap: 14px;
}

@media screen and (max-width: 767px) {
  .p-service__card-list {
    row-gap: calc(26 * 0.25 * 1vw);
  }
}

.p-service__card-item {
  display: grid;
  grid-template-columns: 146px 1fr;
  align-items: center;
  gap: 18px;
}

@media screen and (max-width: 767px) {
  .p-service__card-item {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: calc(12 * 0.25 * 1vw);
  }
}

.p-service__card-title {
  padding: 9px 2px;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c3002f;
  font-weight: 700;
  font-size: 16px;
  line-height: calc(22 / 16);
  letter-spacing: 0;
  color: #c3002f;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__card-title {
    padding: calc(9 * 0.25 * 1vw) calc(2 * 0.25 * 1vw);
    min-height: calc(62 * 0.25 * 1vw);
    font-size: 1.6rem;
  }
}

/* ========
   card-02
===========*/
.p-service__card02 {
  background-color: #fff;
  margin-top: 30px;
}

.p-service__card02-heading {
  padding: 12px;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #c3002f;
  color: #fff;
  font-weight: 700;
  font-size: 23px;
  line-height: calc(32 / 23);
  letter-spacing: 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service__card02-heading {
    flex-direction: column;
    padding: calc(16 * 0.25 * 1vw) calc(8 * 0.25 * 1vw);
    min-height: calc(64 * 0.25 * 1vw);
    font-size: 1.8rem;
  }
}

.p-service__card02-heading .is-small {
  font-size: 17px;
  line-height: calc(32 / 17);
  align-self: flex-end;
}

@media screen and (max-width: 767px) {
  .p-service__card02-heading .is-small {
    align-self: center;
    font-size: 1.4rem;
    line-height: calc(32 / 14);
  }
}

.p-service__card02-body {
  padding: 24px 16px;
  padding-left: 23.47%;
}

@media screen and (max-width: 767px) {
  .p-service__card02-body {
    padding: calc(24 * 0.25 * 1vw) calc(30 * 0.25 * 1vw);
  }
}

.p-service__card02-price {
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-service__card02-price {
    font-size: 1.3rem;
  }
}

.p-service__card02-price.is-center {
  text-align: center;
}

.p-service__card02-price .is-number {
  font-family: arial, "Noto Sans JP", sans-serif;
  font-size: 42px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-service__card02-price .is-number {
    font-size: 4.2rem;
  }
}

/*card02 END*/
.p-service__notice {
  margin-top: 24px;
  font-size: 15px;
}

.p-service-box__notice {
  margin-top: 6px;
  font-size: 15px;
  line-height: 2.33;
}

@media screen and (max-width: 767px) {
  .p-service-box__notice {
    font-size: 1.4rem;
  }
}

.p-service-large-title {
  padding-bottom: 16px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.4;
  border-bottom: 1px dotted #c1c1c1;
}

@media screen and (max-width: 767px) {
  .p-service-large-title {
    padding-bottom: calc(10 * 0.25 * 1vw);
    font-size: 2rem;
  }
}

.p-service-large-title::before {
  margin-bottom: 14px;
  content: "";
  display: block;
  width: 70px;
  height: 6px;
  background-color: #c3002f;
}

@media screen and (max-width: 767px) {
  .p-service-large-title::before {
    margin-bottom: calc(14 * 0.25 * 1vw);
    width: calc(54 * 0.25 * 1vw);
    height: calc(6 * 0.25 * 1vw);
  }
}

.p-service-title {
  padding: 18px 30px;
  background-color: #5b5b5b;
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-service-title {
    padding: calc(10 * 0.25 * 1vw) calc(16 * 0.25 * 1vw) calc(10 * 0.25 * 1vw);
    font-size: 2rem;
    line-height: 1.4;
  }
}

.p-service-large-text {
  font-weight: 700;
  font-size: 21px;
  line-height: calc(35 / 21);
  letter-spacing: 0;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .p-service-large-text {
    font-size: 1.7rem;
    line-height: calc(28 / 17);
  }
}

.p-service-large-text.is-center {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-service-large-text.is-center {
    text-align: justify;
  }
}

.p-service-price {
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-service-price {
    font-size: 1.3rem;
  }
}

.p-service-price.is-center {
  text-align: center;
}

.p-service-price .is-number {
  font-family: arial, "Noto Sans JP", sans-serif;
  font-size: 42px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-service-price .is-number {
    font-size: 4.2rem;
  }
}

.p-service-button {
  padding: 16px 12px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 96px;
  min-width: 400px;
  background-color: #c3002f;
  border-radius: 100vw;
  font-weight: 700;
  font-size: 20px;
  line-height: calc(32 / 20);
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-service-button {
    padding: calc(8 * 0.25 * 1vw) calc(12 * 0.25 * 1vw);
    min-height: calc(76 * 0.25 * 1vw);
    min-width: calc(330 * 0.25 * 1vw);
    font-size: 1.7rem;
    line-height: calc(25 / 17);
  }
}

.p-service-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  display: inline-block;
  width: 16px;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(/assets/images/maintenance/service/icon-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media screen and (max-width: 767px) {
  .p-service-button::after {
    right: calc(20 * 0.25 * 1vw);
    width: calc(13 * 0.25 * 1vw);
  }
}

.p-service-button:hover {
  opacity: 0.7;
}

.p-shop {
  padding-bottom: 136px;
  letter-spacing: 0.08em;
  font-family: var(--font-noto);
}

@media screen and (max-width: 767px) {
  .p-shop {
    padding-bottom: 0;
  }
}

.p-shop__inner {
  max-width: 1650px;
}

.p-shop__heading {
  display: inline-block;
  padding-top: 26px;
  padding-bottom: 16px;
  border-bottom: 1px dotted #c1c1c1;
}

@media screen and (max-width: 767px) {
  .p-shop__heading {
    padding-top: 5vw;
    padding-bottom: 2.5vw;
  }
}

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

@media screen and (min-width: 768px) {
  .p-shop__heading--pc {
    display: inline-block;
  }
}

.p-shop__heading--sp {
  display: none;
}

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

@media screen and (min-width: 768px) {
  .p-shop__heading::before {
    width: 78px;
  }
}

.p-shop__fadein {
  opacity: 0;
  transform: translateY(40px);
}

.p-shop__fadein.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 1s;
  transition-property: opacity, transform;
}

.p-shop__button {
  display: block;
  position: relative;
  width: 260px;
  padding: 12px 0 11px 40px;
  border: 1px solid var(--color-black);
  border-radius: 59px;
  background: #fff;
  color: var(--color-black);
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-shop__button {
    width: 65vw;
    max-width: 260px;
    margin-inline: auto;
    padding-block: 13px;
    border-radius: 14.75vw;
    font-size: 14px;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop__button:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-shop__button::after {
  position: absolute;
  top: 50%;
  right: 24px;
  translate: 0 -50%;
  width: 14px;
  height: 10px;
  background: url(/assets/images/common/icon-arrow-black.svg) no-repeat center/contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-shop__button::after {
    height: 11px;
  }
}

.p-shop__button svg {
  position: absolute;
  top: 50%;
  right: 24px;
  translate: 0 -50%;
  width: 16px;
  height: 16px;
  pointer-events: none;
}

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

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

.p-shop__infoList {
  margin-top: 8px;
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-shop__infoList {
    margin-top: 7vw;
  }
}

.p-shop-anchors {
  margin-top: 28px;
}

@media screen and (max-width: 767px) {
  .p-shop-anchors {
    margin-top: 4vw;
  }
}

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

@media screen and (max-width: 767px) {
  .p-shop-anchors__inner {
    display: block;
  }
}

.p-shop-anchors__link {
  display: block;
  padding-block: 10px;
  color: var(--color-black);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.48;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-shop-anchors__link {
    padding-block: 4vw;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-anchors__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .p-shop-anchors__link:nth-of-type(n + 2) {
    margin-right: 12px;
    margin-left: 32px;
    padding-left: 48px;
    border-left: 1px solid #cacaca;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-anchors__link:nth-of-type(n + 2) {
    border-top: 1px solid #cacaca;
  }
}

.p-shop-anchors__arrow {
  position: relative;
  padding-right: 26px;
}

@media screen and (max-width: 767px) {
  .p-shop-anchors__arrow {
    display: block;
  }
}

.p-shop-anchors__arrow::after {
  position: absolute;
  top: 5px;
  right: 0;
  width: 10px;
  height: 10px;
  background: url(/assets/images/common/icon-header-arrow.svg) no-repeat center/contain;
  content: "";
}

.p-shop-map {
  position: relative;
  width: 100%;
  margin-top: 28px;
  background-color: #e6ecce;
  background-image: url(/assets/images/shop/map.png?update=2505);
  background-repeat: no-repeat;
  background-position: center;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

@media screen and (min-width: 768px) {
  .p-shop-map {
    height: 568px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-map {
    margin-top: 2vw;
    background-image: none;
  }
}

.p-shop-map__toExternal {
  display: block;
  border-radius: 59px;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .p-shop-map__toExternal {
    position: absolute;
    top: 64px;
    left: 40px;
    z-index: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-map__toExternal {
    position: relative;
    width: 65vw;
    max-width: 260px;
    margin: 6vw auto 0;
    border-radius: 19.75vw;
  }
}

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

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

.p-shop-map__toExternal span {
  display: block;
  padding: 12px 90px 12px 40px;
  border: 2px solid var(--color-scarlet);
  border-radius: 59px;
  background: #fff;
  color: var(--color-scarlet);
  font-weight: bold;
  font-size: 15px;
  line-height: 1.6;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-shop-map__toExternal span {
    padding: 3vw 0 3vw 10vw;
  }
}

.p-shop-map__toExternal span:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.p-shop-map__toExternal svg {
  position: absolute;
  top: 50%;
  right: 24px;
  translate: 0 -50%;
  width: 14px;
  height: 10px;
}

.p-shop-map__foundation {
  position: relative;
  width: 1160px;
  height: inherit;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-shop-map__foundation {
    display: none;
  }
}

.p-shop-map__numbers {
  position: absolute;
  bottom: 90px;
  width: 100%;
  max-width: 1360px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
  letter-spacing: normal;
}

@media screen and (min-width: 768px) {
  .p-shop-map__numbers {
    left: 50%;
    translate: -50% 0;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-map__numbers {
    bottom: 1vw;
    font-size: 12px;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .p-shop-map__numbers > div {
    margin: 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-map__numbers > div {
    display: flex;
    column-gap: 4vw;
    justify-content: center;
    align-items: center;
  }
}

.p-shop-map__numbers p:nth-of-type(1) {
  color: #d60010;
}

.p-shop-map__numbers p:nth-of-type(2) {
  color: #0000b5;
}

@media screen and (min-width: 768px) {
  .p-shop-map__numbers p:nth-of-type(2) {
    margin-top: 14px;
  }
}

.p-shop-map__numbers span {
  display: block;
  position: relative;
  padding-left: calc(1em + 6px);
}

.p-shop-map__numbers span::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  font-size: 14px;
  content: "●";
}

@media screen and (max-width: 767px) {
  .p-shop-map__numbers span::before {
    font-size: 12px;
  }
}

.p-shop-spMap {
  height: 66.5vw;
}

@media screen and (min-width: 768px) {
  .p-shop-spMap {
    display: none;
  }
}

.p-shop-mapButton {
  position: absolute;
  width: 120px;
  height: 36px;
  border: 2px solid var(--color-scarlet);
  border-radius: 30px;
  background-color: #fff;
  color: var(--color-scarlet);
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-shop-mapButton {
    display: none;
  }
}

.p-shop-mapButton--01 {
  top: 244px;
  left: 1034px;
}

.p-shop-mapButton--02 {
  top: 122px;
  left: 988px;
}

.p-shop-mapButton--03 {
  top: 172px;
  left: 785px;
}

.p-shop-mapButton--04 {
  top: 298px;
  left: 764px;
}

.p-shop-mapButton--05 {
  top: 384px;
  left: 912px;
}

.p-shop-mapButton--06 {
  top: 193px;
  left: 567px;
}

.p-shop-mapButton--07 {
  top: 323px;
  left: 481px;
}

.p-shop-mapButton--08 {
  top: 158px;
  left: 380px;
}

.p-shop-mapButton__link {
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
}

.p-shop-mapButton__text {
  display: inline-block;
  position: relative;
  margin-left: -22%;
  font-weight: bold;
  font-size: 14px;
  color: var(--color-scarlet);
  text-align: center;
}

.p-shop-mapButton__content {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  translate: 0 -50%;
  margin-top: 1px;
}

.p-shop-mapButton__plusMark {
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
  background: var(--color-scarlet);
  border-radius: 50%;
}

.p-shop-mapButton__plusMark::before, .p-shop-mapButton__plusMark::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 2px;
  background: #fff;
  content: "";
}

.p-shop-mapButton__plusMark::before {
  translate: -50% -50%;
}

.p-shop-mapButton__plusMark::after {
  translate: -50% -50%;
  rotate: 90deg;
}

.p-shop-search {
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px 40px 10px 42px;
  background: #f4f9e1;
}

@media screen and (max-width: 767px) {
  .p-shop-search {
    position: relative;
    padding: 4vw 10vw 4vw 5vw;
  }
}

.p-shop-search__hgroup {
  display: flex;
  column-gap: 32px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-shop-search__hgroup {
    display: block;
  }
}

.p-shop-search__hgroup h2 {
  font-weight: bold;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .p-shop-search__hgroup h2 {
    font-size: 14px;
  }
}

.p-shop-search__hgroup h2 span {
  position: relative;
  padding-left: 26px;
}

.p-shop-search__hgroup h2 span::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 18px;
  height: 19px;
  margin-top: 1px;
  background: url(/assets/images/shop/icon-search.svg) no-repeat center/contain;
  content: "";
}

.p-shop-search__hgroup p {
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  .p-shop-search__hgroup p {
    margin-top: 2vw;
  }
}

.p-shop-triggers {
  margin-top: 6vw;
}

@media screen and (min-width: 768px) {
  .p-shop-triggers {
    display: none;
  }
}

.p-shop-triggers__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.5vw;
  row-gap: 2.5vw;
}

.p-shop-triggers__link {
  display: flex;
  padding: 9px 0;
  border: 2px solid #545454;
  border-radius: 7px;
  background: #fff;
  color: var(--color-black);
  font-size: 13px;
  flex-direction: column;
  align-items: center;
}

.p-shop-triggers__link svg {
  width: 17px;
  height: 17px;
  margin-top: 3px;
  pointer-events: none;
}

.p-shop-modal {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  z-index: var(--z-index-modal);
  font-family: var(--font-noto);
  transition: 0.3s;
  transition-property: visibility, opacity;
}

.p-shop-modal.is-open {
  visibility: visible;
  opacity: 1;
  transition: 0.3s;
  transition-property: visibility, opacity;
}

.p-shop-modal--zInfinity {
  z-index: calc(infinity);
}

.p-shop-modal__overlay {
  display: flex;
  position: fixed;
  inset: 0;
  background: rgba(56, 62, 68, 0.34);
  place-content: center;
}

.p-shop-modal__dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: calc(var(--z-index-modal) + 1);
  translate: -50% -50%;
  width: 100%;
  max-width: 90vw;
}

.p-shop-modal__dialog--notice {
  width: 100%;
  max-width: 1128px;
  padding: 0 24px;
}

.p-shop-modal__inner {
  overflow-y: auto;
  height: 100%;
}

.p-shop-modal__inner--notice {
  max-height: 80vh;
  border-radius: 6px;
}

.p-shop-modal__content {
  padding: 12vw 0;
  border-radius: 1.5vw;
  background: #fff;
}

.p-shop-modal__content .c-inner {
  padding-inline: 12vw;
}

.p-shop-modal__content h3 {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
}

.p-shop-modal__content p {
  margin-top: 2vw;
  font-size: 15px;
  line-height: 1.6;
}

.p-shop-modal__button {
  display: block;
  position: relative;
  width: 100%;
  max-width: 260px;
  margin: 6vw auto 0;
  border-radius: 19.75vw;
  background: #fff;
}

.p-shop-modal__button span {
  display: block;
  padding: 3vw 2vw 3vw 0;
  border: 2px solid var(--color-scarlet);
  border-radius: 19.75vw;
  background: #fff;
  color: var(--color-scarlet);
  font-weight: bold;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}

.p-shop-modal__button svg {
  position: absolute;
  top: 50%;
  right: 24px;
  translate: 0 -50%;
  width: 14px;
  height: 10px;
}

.p-shop-modal__close {
  display: block;
  position: relative;
  width: 100%;
  max-width: 260px;
  margin: 56px auto 0;
  padding: 15px 0;
  border: 2px solid #8c8c8c;
  border-radius: 59px;
  background: rgba(255, 255, 255, 0.96);
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .p-shop-modal__close {
    margin-top: 4vw;
    padding: 3.75vw 0;
    border-radius: 19.75vw;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-modal__close--notice {
    margin-top: 6vw;
  }
}

.p-shop-modal__close span {
  position: relative;
  padding-left: 26px;
  color: #8c8c8c;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}

.p-shop-modal__close svg {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 13px;
  height: 12px;
}

.p-shop-tooltip {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  bottom: 33px;
  left: 50%;
  z-index: 2;
  translate: -50% 0;
  width: 198px;
  border-radius: 6px;
  text-align: left;
  transition: 0.3s;
  transition-property: visibility, opacity;
}

.p-shop-tooltip__block {
  display: block;
  padding-bottom: 10px;
}

.p-shop-tooltip__inner {
  position: relative;
  padding: 16px 12px 10px;
  border: solid 2px var(--color-black);
  border-radius: 6px;
  background: #fff;
}

.p-shop-tooltip__inner::after {
  position: absolute;
  top: 101%;
  left: 50%;
  width: 16px;
  border: 8px solid transparent;
  border-top: 10px solid var(--color-black);
  translate: -50% 0;
  content: "";
}

.p-shop-tooltip__heading {
  display: inline-block;
  position: relative;
  color: var(--color-black);
  font-size: 16px;
  letter-spacing: normal;
}

.p-shop-tooltip__text {
  margin-top: 6px;
  color: #777;
  font-weight: normal;
  font-size: 12px;
  line-height: 1.75;
  letter-spacing: normal;
}

.p-shop-concept {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-shop-concept__inner {
    margin-top: 7vw;
  }
}

.p-shop-concept__image {
  position: relative;
}

@media (max-width: 1440px) and (min-width: 768px) {
  .p-shop-concept__image {
    width: 100%;
    height: 864px;
    background: url(/assets/images/shop/concept-background.jpg) no-repeat center;
  }
}

@media (max-width: 1440px) and (min-width: 768px) {
  .p-shop-concept__image > picture img {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-concept__image > picture img {
    width: 100%;
    height: 75vw;
    object-fit: cover;
  }
}

.p-shop-concept__content {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-shop-concept__content {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-concept__content {
    position: relative;
    z-index: 1;
    margin-top: -15vw;
  }
}

@media (max-width: 1650px) and (min-width: 768px) {
  .p-shop-concept__content .p-shop__inner {
    max-width: 100%;
  }
}

@media (max-width: 1440px) and (min-width: 768px) {
  .p-shop-concept__content .p-shop__inner {
    padding-inline: 40px;
  }
}

.p-shop-concept__textArea {
  max-width: 900px;
  margin-left: auto;
  padding: 72px 120px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 2px 2px 14px 0 rgba(0, 0, 0, 0.1);
}

@media (max-width: 1650px) and (min-width: 768px) {
  .p-shop-concept__textArea {
    max-width: 712px;
    padding: 64px 72px;
  }
}

@media (max-width: 1440px) and (min-width: 768px) {
  .p-shop-concept__textArea {
    max-width: 600px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-concept__textArea {
    padding: 10vw 7vw;
  }
}

.p-shop-concept__text {
  font-size: 15px;
}

@media screen and (min-width: 768px) {
  .p-shop-concept__text {
    margin-top: 28px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-concept__text {
    font-size: 14px;
  }
}

.p-shop-concept__text + .p-shop-concept__text {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-shop-concept__text + .p-shop-concept__text {
    margin-top: 2.5vw;
  }
}

.p-shop-concept__bold {
  font-weight: bold;
}

.p-shop-concept__blockText {
  display: inline-block;
}

.p-shop-concept__note {
  margin-top: 6px;
  padding-left: 1em;
  font-size: 13px;
  text-indent: -1em;
}

.p-shop-concept__list {
  display: grid;
  margin-top: 32px;
  font-size: 13px;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  text-align: center;
}

@media (max-width: 1440px) and (min-width: 768px) {
  .p-shop-concept__list {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-concept__list {
    margin-top: 6vw;
    grid-template-columns: repeat(2, 1fr);
    font-size: 11px;
    line-height: 1.4;
    gap: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-concept__list li {
    min-width: calc((100% - 4vw) / 2);
  }
}

.p-shop-concept__list img {
  width: 100%;
  border-radius: 6px;
  object-fit: cover;
}

.p-shop-concept__list figcaption {
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .p-shop-concept__list figcaption {
    white-space: nowrap;
  }
}

.p-shop-concept__break {
  display: none;
}

@media (max-width: 1440px) and (min-width: 768px) {
  .p-shop-concept__break {
    display: inline;
  }
}

@media (max-width: 1440px) and (min-width: 768px) {
  .p-shop-concept__fixTracking {
    line-height: 1.4;
    letter-spacing: 0.07em;
  }
}

.p-shop-open {
  padding-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-shop-open {
    padding-top: 12vw;
  }
}

.p-shop-open__heading {
  font-weight: bold;
  font-size: 24px;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-shop-open__heading {
    font-size: 18px;
  }
}

.p-shop-open__slider {
  position: relative;
  margin-top: 32px;
  padding-bottom: 54px;
}

@media screen and (max-width: 767px) {
  .p-shop-open__slider {
    margin-top: 5vw;
    padding-bottom: 12vw;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-open__sliderMain {
    height: 170vw;
  }
}

.p-shop-open__button {
  top: revert;
  bottom: -10px;
  z-index: 11;
  width: 40px;
  height: 40px;
  background: url(/assets/images/shop/icon-slider-arrow.svg) no-repeat center/contain;
  transition: 0.3s;
  transition-property: visibility, opacity;
}

.p-shop-open__button--prev {
  rotate: 180deg;
}

@media screen and (min-width: 768px) {
  .p-shop-open__button--prev {
    left: calc(50% - 88px);
    translate: -50% 0;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-open__button--prev {
    left: 16vw;
  }
}

@media screen and (min-width: 768px) {
  .p-shop-open__button--next {
    right: calc(50% - 88px);
    translate: 50% 0;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-open__button--next {
    right: 16vw;
  }
}

.p-shop-open__button.swiper-button-disabled {
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
  transition-property: visibility, opacity;
}

.p-shop-open__button::after {
  display: none;
}

.p-shop-open__pagination {
  bottom: 0 !important;
}

.p-shop-open__pagination .swiper-pagination-bullet-active {
  background: var(--color-scarlet);
}

.p-shop-open__pagination .swiper-pagination-bullet {
  margin: 0 5px !important;
}

.p-shop-slide {
  background: #fff;
}

.p-shop-slide__link {
  position: relative;
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-slide__link:hover .p-shop-slide__image {
    opacity: 0.85;
    transition: opacity 0.3s;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-slide__link:hover .p-shop-slide__decoration {
    background-color: var(--color-scarlet);
  }
}

.p-shop-slide__image {
  position: relative;
  transition: opacity 0.3s;
}

.p-shop-slide__image img {
  width: 100%;
  border-radius: 6px;
  object-fit: cover;
}

.p-shop-slide__decoration {
  display: flex;
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 96px;
  height: 26px;
  padding: 2px 0 3px 12px;
  border-radius: 33px;
  background: rgba(52, 52, 52, 0.9);
  color: #fff;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
  justify-content: center;
  align-items: center;
  column-gap: 6px;
  transition: background-color 0.3s;
}

@media screen and (max-width: 767px) {
  .p-shop-slide__decoration {
    border-radius: 6.5vw;
  }
}

.p-shop-slide__decoration img {
  width: 12px;
  height: 9px;
  margin-top: 2px;
}

.p-shop-slide__info {
  padding-left: 4px;
}

@media screen and (max-width: 767px) {
  .p-shop-slide__info {
    padding-left: 1vw;
  }
}

.p-shop-slide__name {
  margin-top: 24px;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-shop-slide__name {
    margin-top: 4vw;
    font-size: 14px;
  }
}

.p-shop-slide__location {
  margin-top: 8px;
  color: #8c8c8c;
  font-size: 15px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-shop-slide__location {
    margin-top: 1.5vw;
    font-size: 12px;
  }
}

.p-shop-slide__text {
  position: relative;
  margin-top: 8px;
  padding-left: 16px;
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  .p-shop-slide__text {
    margin-top: 2vw;
    padding-left: 3.5vw;
    font-size: 12px;
  }
}

.p-shop-slide__text::before {
  position: absolute;
  top: 5px;
  left: 0;
  color: var(--color-scarlet);
  font-weight: 500;
  font-size: 10px;
  line-height: 1;
  content: "●";
}

@media (min-width: 768px) {
  .iPadOS .p-shop-slide__text::before {
    top: 8px;
  }
}

.p-shop-slide__movie {
  display: inline-block;
  margin-top: 16px;
  padding: 3px 16px 5px 15px;
  border: 1px solid var(--color-scarlet);
  border-radius: 39px;
  color: var(--color-scarlet);
  font-size: 14px;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-shop-slide__movie {
    margin-top: 3vw;
    border-radius: 9.75vw;
    font-size: 12px;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-slide__movie:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-shop-slide__movie span {
  position: relative;
  padding-left: 29px;
}

.p-shop-slide__movie span::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 21px;
  height: 21px;
  background: url(/assets/images/shop/icon-youtube.svg) no-repeat center/contain;
  content: "";
}

.p-shop-notice {
  padding-top: 106px;
}

@media screen and (max-width: 767px) {
  .p-shop-notice {
    padding-top: 15vw;
  }
}

.p-shop-notice__flex {
  display: flex;
  column-gap: 76px;
}

@media (max-width: 1650px) and (min-width: 1367px) {
  .p-shop-notice__flex {
    column-gap: 64px;
  }
}

@media (max-width: 1366px) and (min-width: 768px) {
  .p-shop-notice__flex {
    column-gap: 40px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-notice__flex {
    display: block;
  }
}

.p-shop-notice__flex > div {
  flex-shrink: 0;
}

.p-shop-notice__button {
  margin-top: 28px;
  letter-spacing: 0.08em;
  font-family: var(--font-noto);
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .p-shop-notice__button {
    margin-top: 6vw;
  }
}

.p-shop-notice__button::after {
  display: none;
}

.p-shop-info {
  display: flex;
  padding: 24px 32px;
  border-radius: 8px;
  background: #f6f6f6;
  font-weight: 500;
  justify-content: space-between;
  align-items: center;
  column-gap: 32px;
}

@media (max-width: 1366px) and (min-width: 768px) {
  .p-shop-info {
    column-gap: 24px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-info {
    display: block;
    padding: 6vw 5vw;
    border-radius: 2vw;
  }
}

.p-shop-info + .p-shop-info {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .p-shop-info + .p-shop-info {
    margin-top: 4vw;
  }
}

.p-shop-info__details {
  display: flex;
  align-items: flex-start;
  column-gap: 16px;
}

@media (max-width: 1366px) and (min-width: 768px) {
  .p-shop-info__details {
    column-gap: 8px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-info__details {
    display: block;
  }
}

.p-shop-info__head {
  display: flex;
  column-gap: 32px;
  align-items: center;
}

@media (max-width: 1366px) and (min-width: 768px) {
  .p-shop-info__head {
    column-gap: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-info__head {
    margin-bottom: 2vw;
    column-gap: 3vw;
  }
}

.p-shop-info__headLabel {
  display: inline-block;
  width: 88px;
  padding: 3px 0 4px;
  border: 1px solid var(--color-black);
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
  flex-shrink: 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-shop-info__headLabel {
    width: 72px;
    padding: 2px 0 3px;
    font-size: 10px;
  }
}

.p-shop-info__day {
  font-size: 14px;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-shop-info__day {
    width: 88px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-info__day {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-info__reason {
    font-size: 15px;
    line-height: 1.4;
  }
}

.p-shop-info__reason span {
  display: inline-block;
}

.p-shop-info__addition {
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-shop-info__addition {
    margin-top: 2vw;
    font-size: 13px;
  }
}

.p-shop-info__addition a {
  color: var(--color-scarlet);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-info__addition a:hover {
    text-decoration: none;
  }
}

.p-shop-info__pdf {
  display: grid;
  padding: 5px 30px 5px 32px;
  border: 1px solid var(--color-scarlet);
  border-radius: 40px;
  background: #fff;
  color: var(--color-scarlet);
  font-size: 14px;
  place-content: center;
  flex-shrink: 0;
  transition: 0.3s;
  transition-property: background-color, color;
}

@media (max-width: 1366px) and (min-width: 768px) {
  .p-shop-info__pdf {
    padding-inline: 22px 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-info__pdf {
    margin-top: 5vw;
    padding: 2vw 0;
    border-radius: 10vw;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-info__pdf:hover {
    background: var(--color-scarlet);
    color: #fff;
    transition: 0.3s;
    transition-property: background-color, color;
  }
}

.p-shop-noticeModal {
  position: relative;
  padding: 96px 0 100px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-shop-noticeModal {
    padding: 12vw 0;
  }
}

.p-shop-noticeModal__close {
  position: fixed;
  top: 20px;
  right: 60px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: none;
  background: rgba(255, 255, 255, 0);
  transition: opacity 0.3s;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .p-shop-noticeModal__close {
    top: 4vw;
    right: 10vw;
    width: 8vw;
    height: 8vw;
    max-width: 32px;
    max-height: 32px;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-noticeModal__close:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-shop-noticeModal__close svg {
  pointer-events: none;
}

.p-shop-noticeModal__inner {
  padding-inline: 8.148%;
}

@media screen and (max-width: 767px) {
  .p-shop-noticeModal__inner {
    padding-inline: 4vw;
  }
}

.p-shop-noticeModal__heading {
  margin-bottom: 56px;
  font-weight: bold;
  line-height: 1;
  font-size: 28px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-shop-noticeModal__heading {
    margin-bottom: 6vw;
    font-size: 20px;
    line-height: 1.6;
  }
}

.p-shop-noticeModal__list:first-of-type {
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .p-shop-noticeModal__list:first-of-type {
    margin-bottom: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-noticeModal__list--accordion {
    overflow: hidden;
    max-height: 0;
    transition: max-height 2s;
  }
}

.p-shop-noticeModal__more {
  display: block;
  margin-top: 1vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-shop-noticeModal__more {
    display: none;
  }
}

.p-shop-noticeModal__more.is-hidden {
  display: none;
}

.p-shop-noticeModal__more span {
  display: inline-block;
  position: relative;
  padding-right: 22px;
  padding-bottom: 10px;
  border-bottom: 1px solid #8c8c8c;
  color: #8c8c8c;
  font-weight: bold;
  font-size: 15px;
  line-height: 1;
}

.p-shop-noticeModal__more svg {
  position: absolute;
  top: 5px;
  right: 0;
  width: 11px;
  height: 7px;
  pointer-events: none;
}

.p-shop-cal {
  padding-top: 96px;
}

@media screen and (max-width: 767px) {
  .p-shop-cal {
    padding-top: 16vw;
  }
}

.p-shop-cal .c-cal-time {
  letter-spacing: normal;
}

.p-shop-cal .c-cal-list__item {
  padding-left: 2.1em;
  text-indent: -2.1em;
}

.p-shop-cal__button {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .p-shop-cal__button {
    margin-top: 6vw;
  }
}

.p-shop-menus {
  padding-top: 88px;
}

@media screen and (max-width: 767px) {
  .p-shop-menus {
    padding-top: 16vw;
  }
}

.p-shop-menus__box {
  margin-top: 28px;
  padding: 48px 64px;
  background: #f6f6f6;
}

@media screen and (min-width: 768px) {
  .p-shop-menus__box {
    border-radius: 6px;
  }
}

@media screen and (max-width: 767px) {
  .p-shop-menus__box {
    margin: 7vw -5vw 0;
    padding: 8vw 5vw 14vw;
  }
}

.p-shop-menuList + .p-shop-menuList {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-shop-menuList + .p-shop-menuList {
    margin-top: 6vw;
  }
}

.p-shop-menuList__terms {
  display: flex;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  column-gap: 20px;
}

@media screen and (max-width: 767px) {
  .p-shop-menuList__terms {
    font-size: 15px;
    line-height: 1.3;
    column-gap: 3vw;
  }
}

.p-shop-menuList__terms span {
  width: calc((100% - 80px) / 5);
}

@media screen and (max-width: 767px) {
  .p-shop-menuList__terms span {
    width: calc((100% - 6vw) / 3);
  }
}

.p-shop-menuList__terms ._red {
  color: var(--color-scarlet);
}

.p-shop-menuList__terms ._navy {
  color: #3a3a99;
}

.p-shop-menuList__terms ._yellow {
  color: #a69400;
  white-space: nowrap;
}

.p-shop-menuList__data {
  display: grid;
  margin-top: 16px;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 20px;
}

@media screen and (max-width: 767px) {
  .p-shop-menuList__data {
    margin-top: 3vw;
    grid-template-columns: repeat(3, 1fr);
    gap: 4vw;
  }
}

.p-shop-menu {
  padding: 12px 8px 26px;
  border-radius: 6px;
  background: #fff;
  box-shadow: 1px 1px 20px 0 rgba(0, 0, 0, 0.05);
  text-align: center;
  transition: opacity, 0.3s;
}

@media screen and (max-width: 767px) {
  .p-shop-menu {
    display: flex;
    padding: 2vw 0 5.5vw;
    flex-direction: column;
    align-items: center;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-shop-menu:hover {
    opacity: 0.7;
    transition: opacity, 0.3s;
  }
}

.p-shop-menu__icon {
  display: inline-block;
  width: 64px;
  height: 64px;
}

@media screen and (max-width: 767px) {
  .p-shop-menu__icon {
    width: 16vw;
    height: 16vw;
    flex-shrink: 0;
  }
}

.p-shop-menu__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-shop-menu__name {
  color: var(--color-black);
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-shop-menu__name {
    display: grid;
    height: 8.5vw;
    font-size: 13px;
    line-height: 1.3;
    flex-shrink: 0;
    place-content: center;
  }
}

.p-shop-menu__name span {
  display: inline-block;
}

.p-story {
  overflow-x: hidden;
  min-width: revert;
  letter-spacing: normal;
  font-family: var(--font-noto);
}

.p-story main {
  position: relative;
}

.p-story__background {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  max-height: 863px;
  background: url(/assets/images/event/nissan-car-stories/background.png?ver=2) no-repeat center top;
}

@media screen and (max-width: 767px) {
  .p-story__background {
    background-image: url(/assets/images/event/nissan-car-stories/background-sp.png);
    background-size: cover;
  }
}

.p-story__inner {
  max-width: 1204px;
}

@media screen and (min-width: 768px) {
  .p-story__inner {
    padding-inline: 40px;
  }
}

.p-story-fadein {
  opacity: 0;
  transform: translateY(40px);
}

.p-story-fadein--slow.is-show {
  transition-delay: 0.4s;
}

.p-story-fadein--slowest.is-show {
  transition-delay: 0.6s;
}

.p-story-fadein.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.6s;
  transition-property: opacity, transform;
}

.p-story__nostalgia {
  margin-top: 100px;
  padding: 0 24px;
  font-weight: bold;
  font-size: 20px;
  line-height: 2.6;
  letter-spacing: 0.08em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-story__nostalgia {
    margin-top: 9vw;
    padding: 0 7.5vw;
    font-size: 16px;
    line-height: 2.2;
  }
}

.p-story__bgColor--ev {
  background-color: #ffebeb;
}

.p-story__bgColor--evDark {
  background-color: #eb4b4b;
}

.p-story__bgColor--kei {
  background-color: #fef1cf;
}

.p-story__bgColor--keiDark {
  background-color: #e25f00;
}

.p-story__bgColor--mini {
  background-color: #e2f8be;
}

.p-story__bgColor--miniDark {
  background-color: #5fa900;
}

.p-story__bgColor--suv {
  background-color: #d9ecf4;
}

.p-story__bgColor--suvDark {
  background-color: #177acc;
}

.p-story__bgColor--speciality {
  background-color: #f6daef;
}

.p-story__bgColor--specialityDark {
  background-color: #cf4cac;
}

.p-story__fontColor--evDark {
  color: #eb4b4b;
}

.p-story__fontColor--keiDark {
  color: #e25f00;
}

.p-story__fontColor--miniDark {
  color: #5fa900;
}

.p-story__fontColor--suvDark {
  color: #177acc;
}

.p-story__fontColor--specialityDark {
  color: #cf4cac;
}

.p-story__episodes {
  display: grid;
  margin-top: 36px;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 16px;
  row-gap: 20px;
}

@media screen and (max-width: 767px) {
  .p-story__episodes {
    display: block;
    margin-top: 6vw;
  }
}

.p-story__episodes--ev .p-story-episode {
  border-color: #ffb2b2;
  background-color: #ffebeb;
  box-shadow: 0 6px 0 0 #ffb2b2;
}

.p-story__episodes--ev .p-story-episode__phrase span {
  color: #e72e2e;
}

.p-story__episodes--ev .p-story-episode__phrase path {
  fill: #f07c7c;
}

.p-story__episodes--kei .p-story-episode {
  border-color: #ffb784;
  background-color: #fef1cf;
  box-shadow: 0 6px 0 0 #ffb784;
}

.p-story__episodes--kei .p-story-episode__phrase span {
  color: #e25f00;
}

.p-story__episodes--kei .p-story-episode__phrase path {
  fill: #ffb784;
}

.p-story__episodes--mini .p-story-episode {
  border-color: #acdc6a;
  background-color: #e2f8be;
  box-shadow: 0 6px 0 0 #acdc6a;
}

.p-story__episodes--mini .p-story-episode__phrase span {
  color: #5fa900;
}

.p-story__episodes--mini .p-story-episode__phrase path {
  fill: #88b848;
}

.p-story__episodes--suv .p-story-episode {
  border-color: #78baf0;
  background-color: #d9ecf4;
  box-shadow: 0 6px 0 0 #78baf0;
}

.p-story__episodes--suv .p-story-episode__phrase span {
  color: #177acc;
}

.p-story__episodes--suv .p-story-episode__phrase path {
  fill: #78baf0;
}

.p-story__episodes--speciality .p-story-episode {
  border-color: #f494dd;
  background-color: #f6daef;
  box-shadow: 0 6px 0 0 #f494dd;
}

.p-story__episodes--speciality .p-story-episode__phrase span {
  color: #cf4cac;
}

.p-story__episodes--speciality .p-story-episode__phrase path {
  fill: #f494dd;
}

.p-story__note {
  margin-top: 46px;
  padding-left: 1em;
  font-weight: normal;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .p-story__note {
    margin-top: 9vw;
    font-size: 12px;
  }
}

.p-story__note + .p-story__note {
  margin-top: 6px;
}

.p-story-topButton {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 54px;
  right: 72px;
  z-index: var(--z-index-header);
  transition: 0.3s;
  transition-property: visibility, opacity;
}

@media screen and (max-width: 767px) {
  .p-story-topButton {
    top: 3vw;
    right: 4vw;
  }
}

.p-story-topButton.is-show {
  visibility: visible;
  opacity: 1;
  transition: 0.3s;
  transition-property: visibility, opacity;
}

.p-story-topButton__button {
  display: block;
  position: relative;
  padding: 22px 27px;
  border: none;
  border-radius: 47px;
  background: #232323;
  transition: opacity 0.3s;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .p-story-topButton__button {
    padding: 4.5vw 4.8vw;
    border-radius: 11.75vw;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-story-topButton__button:hover {
    opacity: 0.8;
    transition: opacity 0.3s;
  }
}

.p-story-topButton__ham {
  display: block;
  position: relative;
  padding-left: 36px;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .p-story-topButton__ham {
    padding-left: 7vw;
    font-size: 13px;
  }
}

.p-story-topButton__ham svg {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 22px;
  height: 16px;
}

@media screen and (max-width: 767px) {
  .p-story-topButton__ham svg {
    width: 15px;
    height: 12px;
  }
}

.p-story-dropdown {
  position: fixed;
  top: 0;
  z-index: calc(var(--z-index-header) + 1);
  translate: 0 -100%;
  width: 100%;
  padding: 40px 0 44px;
  background: #ededed;
  transition: translate 0.5s;
}

@media screen and (max-width: 767px) {
  .p-story-dropdown {
    padding: 8vw 0 9vw;
  }
}

.p-story-dropdown.is-show {
  translate: 0 0;
  transition: translate 0.5s;
}

.p-story-dropdown__close {
  position: fixed;
  top: 10px;
  right: 8px;
  cursor: pointer;
}

.p-story-dropdown__close svg {
  width: 40px;
  height: 40px;
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__close svg {
    width: 14.5vw;
    height: 14.5vw;
  }
}

.p-story-dropdown__inner {
  max-width: 1048px;
  padding-inline: 24px;
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__inner {
    padding-inline: 9vw;
  }
}

.p-story-dropdown__heading {
  display: inline-block;
  margin-bottom: 4vw;
  padding: 2.5vw 4vw;
  border-top: 2px dashed #000;
  border-bottom: 2px dashed #000;
  background: #fff;
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-story-dropdown__heading {
    display: none;
  }
}

.p-story-dropdown__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 8px;
  row-gap: 12px;
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__list {
    display: block;
  }
}

.p-story-dropdown__button {
  overflow: hidden;
  padding: 0;
  border: 3px solid #000;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 4px 0 0 #000;
  transition: opacity 0.3s;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__button {
    width: 100%;
    border-radius: 4.5vw;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-story-dropdown__button:hover {
    opacity: 0.8;
    transition: opacity 0.3s;
  }
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__button + .p-story-dropdown__button {
    margin-top: 3vw;
  }
}

.p-story-dropdown__buttonInner {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 21px 28px 20px;
  column-gap: 18px;
  align-items: center;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .p-story-dropdown__buttonInner {
    padding-inline: 20px;
    column-gap: 12px;
  }
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__buttonInner {
    padding: 5vw 0 5vw 7vw;
    column-gap: 4.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__image {
    width: 13.5vw;
    height: 10.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__image img {
    width: 100%;
    object-fit: cover;
  }
}

.p-story-dropdown__name {
  color: var(--color-black);
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: var(--font-mont);
}

.p-story-dropdown__icon {
  display: grid;
  position: absolute;
  top: 50%;
  right: -16px;
  translate: 0 -50%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  place-content: center;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-story-dropdown__icon {
    width: 10vw;
    height: 10vw;
  }
}

.p-story-dropdown__icon--pink {
  background: #ef8282;
}

.p-story-dropdown__icon--yellow {
  background: #efaf50;
}

.p-story-dropdown__icon--green {
  background: #9abe4d;
}

.p-story-dropdown__icon--blue {
  background: #43a0c8;
}

.p-story-dropdown__icon--purple {
  background: #da75bf;
}

.p-story-dropdown__icon img {
  rotate: -90deg;
  width: 12px;
  height: 9px;
  margin-top: 1px;
  margin-right: 6px;
}

.p-story-catch {
  padding-top: 130px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-story-catch {
    padding-top: 80px;
  }
}

.p-story-catch__copy {
  display: inline-block;
  padding: 10px 15px 11px;
  border-top: 2px dashed #000;
  border-bottom: 2px dashed #000;
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-story-catch__copy {
    font-size: 16px;
  }
}

.p-story-catch__title {
  margin-top: 36px;
}

@media screen and (max-width: 767px) {
  .p-story-catch__title {
    margin-top: 6vw;
  }
}

@media screen and (max-width: 767px) {
  .p-story-catch__title h1 {
    width: 70vw;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .p-story-catch__title h1 img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-story-catch__title p {
  margin-top: 40px;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: var(--font-mont);
}

@media screen and (max-width: 767px) {
  .p-story-catch__title p {
    display: none;
  }
}

.p-story-slider {
  margin-top: 54px;
}

@media screen and (max-width: 767px) {
  .p-story-slider {
    margin-top: 9vw;
  }
}

.p-story-slider__slide--01 {
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .p-story-slider__slide--01 {
    width: 85.5vw;
  }
}

.p-story-slider__slide--02 {
  margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .p-story-slider__slide--02 {
    width: 59.75vw;
  }
}

.p-story-slider__slide--03 {
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .p-story-slider__slide--03 {
    width: 55.25vw;
  }
}

.p-story-slider__slide--04 {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .p-story-slider__slide--04 {
    width: 89.75vw;
    margin-top: 4vw;
  }
}

.p-story-slider__slide--05 {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-story-slider__slide--05 {
    width: 51.75vw;
    margin-top: 12vw;
  }
}

@media screen and (max-width: 767px) {
  .p-story-slider__slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-story-tabs {
  margin: 70px 0 124px;
}

@media screen and (max-width: 767px) {
  .p-story-tabs {
    margin: 10vw 0 16vw;
  }
}

@media screen and (max-width: 767px) {
  .p-story-tabs .p-story__inner {
    padding-inline: 9vw;
  }
}

.p-story-tabs__list {
  display: flex;
  column-gap: 14px;
}

@media screen and (min-width: 768px) {
  .p-story-tabs__list {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .p-story-tabs__list {
    column-gap: 2vw;
    row-gap: 3.5vw;
    flex-wrap: wrap;
  }
}

.p-story-tabs__tab {
  overflow: hidden;
  width: calc(17.438% - 6px);
  padding: 0;
  border: none;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 20px 0 rgba(58, 58, 58, 0.16);
  transition: outline-color 0.2s;
  cursor: pointer;
  outline-width: 3px;
  outline-style: solid;
  outline-color: transparent;
}

@media screen and (max-width: 767px) {
  .p-story-tabs__tab {
    width: calc((100% - 2vw) / 2);
  }
}

.p-story-tabs__tab--pink {
  color: #ef8282;
}

.p-story-tabs__tab--yellow {
  color: #efaf50;
}

.p-story-tabs__tab--green {
  color: #9abe4d;
}

.p-story-tabs__tab--blue {
  color: #43a0c8;
}

.p-story-tabs__tab--purple {
  color: #da75bf;
}

@media (min-width: 768px) and (hover: hover) {
  .p-story-tabs__tab:hover {
    outline-color: currentColor;
    transition: outline-color 0.2s;
  }
}

.p-story-tabs__tab.is-active {
  outline-color: currentColor;
}

.p-story-tabs__tabInner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 44px 0 56px;
}

@media screen and (max-width: 767px) {
  .p-story-tabs__tabInner {
    padding: 7vw 0 11vw;
  }
}

.p-story-tabs__name {
  margin-top: 24px;
  color: var(--color-black);
  font-weight: bold;
  font-size: 19px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: var(--font-mont);
}

@media (max-width: 1024px) and (min-width: 768px) {
  .p-story-tabs__name {
    font-size: 15px;
  }
}

@media screen and (max-width: 767px) {
  .p-story-tabs__name {
    margin-top: 4vw;
    font-size: 16px;
  }
}

.p-story-tabs__icon {
  position: absolute;
  bottom: -20px;
  left: 50%;
  translate: -50% 0;
  width: 47px;
  height: 47px;
  padding-top: 6px;
  border-radius: 50%;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-story-tabs__icon {
    bottom: -17px;
    width: 41px;
    height: 41px;
  }
}

.p-story-tabs__icon--pink {
  background: #ef8282;
}

.p-story-tabs__icon--yellow {
  background: #efaf50;
}

.p-story-tabs__icon--green {
  background: #9abe4d;
}

.p-story-tabs__icon--blue {
  background: #43a0c8;
}

.p-story-tabs__icon--purple {
  background: #da75bf;
}

.p-story-tabs__icon img {
  width: 16px;
  height: 11px;
}

.p-story-main {
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  position: relative;
  height: 0;
  translate: 0 40px;
  transition: 0.3s visibility, 0.3s opacity, 1s translate;
  pointer-events: none;
}

.p-story-main.is-show {
  visibility: visible;
  opacity: 1;
  height: auto;
  translate: 0 0;
  transition: 0.3s visibility, 0.3s opacity, 1s translate;
  pointer-events: auto;
}

.p-story-main--ev {
  background: linear-gradient(transparent 0, transparent 20%, #ffebeb 20%, #ffebeb 100%);
}

@media screen and (max-width: 767px) {
  .p-story-main--ev {
    background: linear-gradient(transparent 0, transparent 48vw, #ffebeb 48vw, #ffebeb 100%);
  }
}

.p-story-main--kei {
  background: linear-gradient(transparent 0, transparent 10%, #fef1cf 10%, #fef1cf 100%);
}

@media screen and (max-width: 767px) {
  .p-story-main--kei {
    background: linear-gradient(transparent 0, transparent 48vw, #fef1cf 48vw, #fef1cf 100%);
  }
}

.p-story-main--mini {
  background: linear-gradient(transparent 0, transparent 15%, #e2f8be 15%, #e2f8be 100%);
}

@media screen and (max-width: 767px) {
  .p-story-main--mini {
    background: linear-gradient(transparent 0, transparent 48vw, #e2f8be 48vw, #e2f8be 100%);
  }
}

.p-story-main--suv {
  background: linear-gradient(transparent 0, transparent 25%, #d9ecf4 25%, #d9ecf4 100%);
}

@media screen and (max-width: 767px) {
  .p-story-main--suv {
    background: linear-gradient(transparent 0, transparent 48vw, #d9ecf4 48vw, #d9ecf4 100%);
  }
}

.p-story-main--speciality {
  background: linear-gradient(transparent 0, transparent 25%, #f6daef 25%, #f6daef 100%);
}

@media screen and (max-width: 767px) {
  .p-story-main--speciality {
    background: linear-gradient(transparent 0, transparent 48vw, #f6daef 48vw, #f6daef 100%);
  }
}

.p-story-main__content {
  padding: 160px 0 80px;
}

@media screen and (max-width: 767px) {
  .p-story-main__content {
    padding: 34vw 0 17vw;
  }
}

.p-story-main__ellipse {
  overflow-y: hidden;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  translate: -50% 0;
  width: 2360px;
  height: 1470px;
  border-radius: 100% 100% 0 0;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-story-main__ellipse {
    width: 144.5vw;
    height: 108vw;
  }
}

.p-story-main__decoration {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 796px;
  aspect-ratio: 2.412 / 1;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .p-story-main__decoration {
    max-height: 48vw;
    aspect-ratio: 25 / 12;
  }
}

.p-story-main__decoration::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  max-height: 796px;
  aspect-ratio: 2.412 / 1;
  background: url(/assets/images/event/nissan-car-stories/dots-decoration.png) no-repeat center top/contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-story-main__decoration::after {
    background-image: url(/assets/images/event/nissan-car-stories/dots-decoration-sp.png);
    background-size: cover;
  }
}

.p-story-main__hgroup {
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.p-story-main__hgroup h2 {
  font-size: 70px;
  letter-spacing: 0.04em;
  font-family: var(--font-mont);
}

@media screen and (max-width: 767px) {
  .p-story-main__hgroup h2 {
    font-size: 41px;
    line-height: 1.1;
  }
}

.p-story-main__hgroup p {
  margin-top: 20px;
  font-size: 20px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .p-story-main__hgroup p {
    margin-top: 3vw;
    font-size: 15px;
  }
}

.p-story-main__phrase {
  margin-top: 54px;
}

@media screen and (min-width: 768px) {
  .p-story-main__phrase {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .p-story-main__phrase {
    margin-top: 11.5vw;
  }
}

.p-story-main__phrase span {
  display: inline-block;
  position: relative;
  padding: 14px 22px;
  color: #fff;
  font-weight: bold;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .p-story-main__phrase span {
    padding: 2.5vw 4.5vw;
    font-size: 18px;
    line-height: 1.3;
  }
}

.p-story-main__phrase svg {
  position: absolute;
  top: -25px;
  left: 4px;
  width: 30px;
  height: 21px;
}

@media screen and (max-width: 767px) {
  .p-story-main__phrase svg {
    top: -18px;
    left: 0;
    width: 20px;
    height: 14px;
  }
}

.p-story-main__introduction {
  margin-top: 24px;
  font-weight: bold;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.04em;
}

@media screen and (min-width: 768px) {
  .p-story-main__introduction {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .p-story-main__introduction {
    margin-top: 5vw;
    line-height: 1.9;
  }
}

.p-story-main__fukidashi {
  position: relative;
  z-index: 2;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-story-main__fukidashi {
    margin-top: 5.5vw;
  }
}

.p-story-main__fukidashi span {
  display: inline-block;
}

.p-story-main__fukidashi span:nth-of-type(1) {
  margin-left: 86px;
}

@media screen and (max-width: 767px) {
  .p-story-main__fukidashi span:nth-of-type(1) {
    display: none;
  }
}

@media (max-width: 1040px) and (min-width: 768px) {
  .p-story-main__fukidashi span img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .p-story-main__fukidashi span:nth-of-type(2) img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-story-main__loop {
  display: flex;
  position: relative;
  margin-top: -80px;
  column-gap: 1em;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .p-story-main__loop {
    display: none;
  }
}

.p-story-main__loop li {
  opacity: 0.8;
  font-weight: bold;
  font-size: 124px;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  line-height: 1;
  letter-spacing: 0.06em;
  font-family: var(--font-mont);
}

.p-story-main__loop--ev li {
  color: #ffebeb;
}

.p-story-main__loop--kei li {
  color: #fef1cf;
}

.p-story-main__loop--mini li {
  color: #e2f8be;
}

.p-story-main__loop--suv li {
  color: #d9ecf4;
}

.p-story-main__loop--speciality li {
  color: #f6daef;
}

.p-story-dotsArea {
  overflow: hidden;
  position: relative;
  max-width: 100%;
  margin: 56px 3.125vw 0;
  padding: 36px 40px 72px;
  border-radius: 85px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-story-dotsArea {
    margin: 8vw 5vw 0;
    padding: 5vw 4vw 13.5vw;
    border-radius: 7.5vw;
  }
}

.p-story-dotsArea > * {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-story-dotsArea > .p-story__inner {
    padding-inline: 0;
  }
}

.p-story-dotsArea::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: repeat;
  background-size: 170px;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-story-dotsArea::before {
    background-size: 42.5vw;
  }
}

.p-story-dotsArea--ev::before {
  background-image: url(/assets/images/event/nissan-car-stories/dots-ev.png);
}

.p-story-dotsArea--kei::before {
  background-image: url(/assets/images/event/nissan-car-stories/dots-kei.png);
}

.p-story-dotsArea--mini::before {
  background-image: url(/assets/images/event/nissan-car-stories/dots-mini.png);
}

.p-story-dotsArea--suv::before {
  background-image: url(/assets/images/event/nissan-car-stories/dots-suv.png);
}

.p-story-dotsArea--speciality::before {
  background-image: url(/assets/images/event/nissan-car-stories/dots-speciality.png);
}

.p-story-dotsArea__decoration {
  display: flex;
  overflow: hidden;
  position: absolute;
  list-style: none;
  column-gap: 1em;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

@media (max-width: 1366px) {
  .p-story-dotsArea__decoration {
    display: none;
  }
}

.p-story-dotsArea__decoration--left {
  bottom: 0;
  left: -24px;
  rotate: 180deg;
}

.p-story-dotsArea__decoration--right {
  top: 0;
  right: -24px;
}

.p-story-dotsArea__decoration li {
  font-weight: bold;
  font-size: 92px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-family: var(--font-mont);
}

.p-story-dotsArea__decoration--ev li {
  color: #fff2f2;
}

.p-story-dotsArea__decoration--kei li {
  color: #fff7e2;
}

.p-story-dotsArea__decoration--mini li {
  color: #f0fae0;
}

.p-story-dotsArea__decoration--suv li {
  color: #e9f8fe;
}

.p-story-dotsArea__decoration--speciality li {
  color: #fdebf8;
}

.p-story-car__line {
  padding-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-story-car__line {
    padding-top: 14vw;
  }
}

.p-story-car__line + .p-story-car__line {
  padding-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-story-car__line + .p-story-car__line {
    padding-top: 17vw;
  }
}

.p-story-carTabs {
  display: flex;
  column-gap: 4px;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-story-carTabs {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .p-story-carTabs {
    margin: 0 2.5vw;
    flex-wrap: wrap;
    gap: 2vw;
  }
}

.p-story-carTabs__tab {
  width: 100%;
  max-width: 220px;
}

@media screen and (max-width: 767px) {
  .p-story-carTabs__tab {
    width: calc((100% - 2vw) / 2);
  }
}

.p-story-carTabs__link {
  display: grid;
  position: relative;
  height: 58px;
  padding-right: 10px;
  border: 3px solid #232323;
  border-radius: 50px;
  background: #fff;
  color: #232323;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  transition: opacity 0.3s;
  place-content: center;
}

@media (max-width: 1040px) and (min-width: 768px) {
  .p-story-carTabs__link {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .p-story-carTabs__link {
    height: 48px;
    border-radius: 12.5vw;
    font-size: 14px;
    line-height: 1;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-story-carTabs__link:hover {
    opacity: 0.6;
    transition: opacity 0.3s;
  }
}

.p-story-carTabs__link::after {
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
  width: 14px;
  height: 10px;
  margin-top: 1px;
  background: url(/assets/images/event/nissan-car-stories/icon-arrow-black.svg) no-repeat center/contain;
  content: "";
}

@media (max-width: 1040px) and (min-width: 768px) {
  .p-story-carTabs__link::after {
    right: 8px;
  }
}

@media screen and (max-width: 767px) {
  .p-story-carTabs__link::after {
    right: 3vw;
    width: 2vw;
    height: 1.5vw;
  }
}

.p-story-carTabs__break {
  display: none;
}

@media (max-width: 1300px) {
  .p-story-carTabs__break {
    display: inline;
  }
}

.p-story-carHead {
  font-weight: bold;
  line-height: 1;
  font-family: var(--font-mont);
  text-align: center;
}

.p-story-carHead__icon {
  display: inline-block;
  width: 86px;
  height: 86px;
}

@media screen and (max-width: 767px) {
  .p-story-carHead__icon {
    width: 21.5vw;
    height: 21.5vw;
  }
}

.p-story-carHead__icon img {
  width: 100%;
  object-fit: cover;
}

.p-story-carHead__heading {
  margin-top: 8px;
  font-size: 46px;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .p-story-carHead__heading {
    margin-top: 1.5vw;
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-story-carHead__heading span {
    padding-bottom: 2px;
  }
}

.p-story-carHead__heading--ev span {
  background: linear-gradient(transparent 0, transparent 60%, #ffebeb 60%, #ffebeb 100%);
}

.p-story-carHead__heading--kei span {
  background: linear-gradient(transparent 0, transparent 60%, #fff4d7 60%, #fff4d7 100%);
}

.p-story-carHead__heading--mini span {
  background: linear-gradient(transparent 0, transparent 60%, #e2f8be 60%, #e2f8be 100%);
}

.p-story-carHead__heading--suv span {
  background: linear-gradient(transparent 0, transparent 60%, #d9ecf4 60%, #d9ecf4 100%);
}

.p-story-carHead__heading--speciality span {
  background: linear-gradient(transparent 0, transparent 60%, #f6daef 60%, #f6daef 100%);
}

.p-story-carHead__text {
  margin-top: 20px;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-story-carHead__text {
    margin-top: 4vw;
    font-size: 14px;
  }
}

.p-story-episode {
  padding: 36px 32px 32px;
  border-width: 3px;
  border-style: solid;
  border-radius: 24px;
}

@media screen and (max-width: 767px) {
  .p-story-episode {
    padding: 12vw 4vw 8vw;
    border-radius: 6vw;
  }
}

@media screen and (max-width: 767px) {
  .p-story-episode + .p-story-episode {
    margin-top: 6vw;
  }
}

.p-story-episode__flex {
  display: flex;
  column-gap: 24px;
}

@media screen and (min-width: 768px) {
  .p-story-episode__flex {
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .p-story-episode__flex {
    column-gap: 5.5vw;
  }
}

.p-story-episode__icon {
  width: 62px;
  height: 62px;
  margin-top: -20px;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-story-episode__icon {
    width: 15.5vw;
    height: 15.5vw;
    margin-top: -2vw;
  }
}

.p-story-episode__phrase span {
  display: inline-block;
  position: relative;
  padding: 8px 5px;
  background: #fff;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .p-story-episode__phrase span {
    max-width: 45vw;
    padding: 2vw;
    font-size: 16px;
  }
}

.p-story-episode__phrase svg {
  position: absolute;
  top: -18px;
  left: 4px;
  width: 17px;
  height: 12px;
}

.p-story-episode__name {
  margin-top: 8px;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .p-story-episode__name {
    margin-top: 2vw;
  }
}

.p-story-episode__text {
  margin-top: 20px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-story-episode__text {
    margin-top: 4vw;
  }
}

.p-story-bannerArea {
  padding: 86px 0;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-story-bannerArea {
    padding: 13.5vw 0;
  }
}

.p-story-bannerArea__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 32px;
}

@media screen and (max-width: 767px) {
  .p-story-bannerArea__list {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-story-bannerArea__item + .p-story-bannerArea__item {
    margin-top: 4vw;
  }
}

.p-story-bannerArea__link {
  display: block;
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .p-story-bannerArea__link:hover {
    opacity: 0.8;
    transition: opacity 0.3s;
  }
}

.p-story-bannerArea__link img {
  width: 100%;
  object-fit: cover;
}

.c-top-hgroup__en {
  color: var(--color-scarlet);
  font-weight: 500;
  font-size: 16px;
  line-height: normal;
  font-family: var(--font-geologica);
}

@media screen and (min-width: 768px) {
  .c-top-hgroup__en {
    text-indent: 3px;
  }
}

@media screen and (max-width: 767px) {
  .c-top-hgroup__en {
    font-size: 1.4rem;
    line-height: 1;
  }
}

.c-top-hgroup__icon {
  position: relative;
  padding-left: 18px;
}

@media screen and (max-width: 767px) {
  .c-top-hgroup__icon {
    padding-left: 4.5vw;
  }
}

.c-top-hgroup__icon::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 12px;
  height: 12px;
  background: url(/assets/images/common/icon-hgroup-decoration.svg) no-repeat center/contain;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-top-hgroup__icon::before {
    margin-top: 1px;
  }
}

@media screen and (max-width: 767px) {
  .c-top-hgroup__icon::before {
    width: 3vw;
    height: 3vw;
  }
}

.c-top-hgroup__heading {
  margin-top: 10px;
  font-weight: bold;
  font-size: 36px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c-top-hgroup__heading {
    margin-top: 3vw;
    font-size: 2.8rem;
  }
}

.c-top-hgroup__text {
  margin-top: 24px;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .c-top-hgroup__text {
    margin-top: 4vw;
    font-size: 1.5rem;
    line-height: 1.8;
  }
}

.c-top-arrowLink {
  display: inline-block;
  color: #c3002f;
  font-weight: bold;
  line-height: 40px;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .c-top-arrowLink {
    line-height: 9.5vw;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .c-top-arrowLink:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.c-top-arrowLink__text {
  display: block;
  position: relative;
  padding-right: 52px;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .c-top-arrowLink__text {
    padding-right: 12.5vw;
    font-size: 1.4rem;
  }
}

.c-top-arrowLink__icon {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: url(/assets/images/common/icon-arrowLink.svg) no-repeat center/cover;
}

@media screen and (max-width: 767px) {
  .c-top-arrowLink__icon {
    width: 9.5vw;
    height: 9.5vw;
  }
}

.c-top-fadeIn {
  opacity: 0;
  transform: translateY(40px);
  transition-duration: 1s;
  transition-property: opacity, transform;
}

.c-top-fadeIn.is-on {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 1s;
  transition-property: opacity, transform;
}

.c-top-fadeIn--delayed.is-on {
  transition-delay: 0.3s;
}

.c-top-fadeIn--slowDelayed.is-on {
  transition-delay: 0.6s;
}

.c-top-fadeIn--slowestDelayed.is-on {
  transition-delay: 1.2s;
}

.p-top {
  letter-spacing: normal;
  font-family: var(--font-noto);
}

.p-top:has(.p-top-topics) .p-top-bannerList {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-top:has(.p-top-topics) .p-top-bannerList {
    margin-top: 16vw;
  }
}

.p-top-fv {
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-top-fv {
    padding-top: 3.5vw;
  }
}

.p-top-fv__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(/assets/images/top/background-firstview.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-top-fv__background {
    background-image: url(/assets/images/top/background-firstview-sp.png);
    background-position: 100% 3.5vw;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  .p-top-fv__inner {
    padding: 0;
  }
}

.p-top-fv__flex {
  display: flex;
  padding-bottom: 60px;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-end;
  column-gap: 80px;
}

@media screen and (max-width: 767px) {
  .p-top-fv__flex {
    display: block;
    padding-bottom: 16vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-fv__flex.is-only-child {
    padding-bottom: 120px;
  }
}

.p-top-fv__textArea {
  position: relative;
  z-index: var(--z-index-base);
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-top-fv__textArea {
    margin-bottom: 58px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-fv__textArea {
    margin-top: 6vw;
    padding: 0 5vw;
  }
}

.p-top-fv__heading {
  width: 587px;
}

@media screen and (max-width: 767px) {
  .p-top-fv__heading {
    width: 81vw;
  }
}

.p-top-fv__heading img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-top-fv__text {
  margin-top: 12px;
  font-size: 18px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-top-fv__text {
    margin-top: 5vw;
    font-size: 1.3rem;
  }
}

.p-top-fv__text + .p-top-fv__text {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-top-fv__text + .p-top-fv__text {
    margin-top: 4vw;
  }
}

.p-top-fv-list {
  display: grid;
  margin: 40px 30px 0 0;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 12px;
  row-gap: 16px;
}

@media screen and (max-width: 767px) {
  .p-top-fv-list {
    display: block;
    margin: 8vw 4.25vw 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-fv-list__item + .p-top-fv-list__item {
    margin-top: 3.5vw;
  }
}

.p-top-fv-list__link {
  display: block;
  position: relative;
  padding: 17px 36px;
  border: 2px solid var(--color-scarlet);
  border-radius: 80px;
  background: #fff;
  color: inherit;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-top-fv-list__link {
    padding: 4.25vw 14vw 4.25vw 8vw;
  }
}

.p-top-fv-list__link:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.p-top-fv-list__link::after {
  position: absolute;
  top: 50%;
  right: 28px;
  translate: 0 -50%;
  width: 12px;
  height: 8px;
  background-image: url(/assets/images/common/icon-news-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-top-fv-list__link::after {
    right: 6vw;
    width: 3vw;
    height: 2vw;
  }
}

.p-top-fv-list__icon {
  position: relative;
  padding-left: 48px;
  font-weight: bold;
  font-size: 16px;
  line-height: 34px;
}

@media screen and (max-width: 767px) {
  .p-top-fv-list__icon {
    padding-left: 12.5vw;
    font-size: 1.6rem;
    line-height: 8.5vw;
  }
}

.p-top-fv-list__icon img {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 34px;
  height: 34px;
}

@media screen and (max-width: 767px) {
  .p-top-fv-list__icon img {
    width: 8.5vw;
    height: 8.5vw;
  }
}

.p-top-fixedBanner {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .p-top-fixedBanner {
    display: none;
  }
}

.p-top-fixedBanner__link {
  display: block;
  margin-right: 30px;
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-fixedBanner__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-fixedBanner__link img {
  width: 100%;
  max-width: 556px;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
}

.p-top-floatBanner {
  position: fixed;
  bottom: 64px;
  z-index: calc(var(--z-index-header));
  transition: 0.3s;
  transition-property: visibility, opacity;
}

@media screen and (min-width: 768px) {
  .p-top-floatBanner {
    left: 64px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-floatBanner {
    bottom: 5vw;
    right: 5vw;
  }
}

.p-top-floatBanner--pc {
  opacity: 0;
  transform: translateY(40px);
  transition-duration: 1s;
  transition-property: opacity, transform;
}

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

.p-top-floatBanner--pc.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 1s;
  transition-property: opacity, transform;
}

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

.p-top-floatBanner.is-hidden {
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
  transition-property: visibility, opacity;
}

.p-top-floatBanner.is-adjusted {
  bottom: 22vw;
}

.p-top-floatBanner__inner {
  position: relative;
}

.p-top-floatBanner__close {
  position: absolute;
  top: -36px;
  right: -6px;
  width: 36px;
  height: 36px;
  cursor: pointer;
}

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

.p-top-floatBanner__link {
  display: block;
  padding: 6px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 4px 15.7px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-top-floatBanner__link {
    padding: 1vw;
    border-radius: 2.5vw;
  }
}

.p-top-floatBanner__link img {
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-floatBanner__link:hover img {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-floatBanner__image {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-top-floatBanner__image {
    width: 55.5vw;
  }
}

.p-top-floatBanner__image img {
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .p-top-floatBanner__image img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-top-slider {
  height: 820px;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .p-top-slider {
    height: 70vw;
  }
}

.p-top-slider__wrapper {
  transition-timing-function: linear;
}

.p-top-slider__slide {
  pointer-events: none;
}

.p-top-slider__slide img {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-top-slider__slide img {
    border-radius: 4vw;
  }
}

.p-top-topics {
  position: relative;
  z-index: var(--z-index-base);
  width: 100%;
  max-width: 1240px;
  margin: 48px auto 0;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-top-topics {
    margin-top: 8vw;
    padding: 0 5vw;
  }
}

.p-top-topics__flex {
  display: flex;
  padding: 24px 36px 24px 42px;
  border-radius: 8px;
  background: #f6f6f6;
  justify-content: space-between;
  align-items: center;
  column-gap: 42px;
}

@media screen and (max-width: 767px) {
  .p-top-topics__flex {
    display: block;
    padding: 6vw 5vw;
    border-radius: 2vw;
  }
}

.p-top-topics__heading {
  position: relative;
  padding-left: 24px;
  font-weight: bold;
  font-size: 16px;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-top-topics__heading {
    padding-bottom: 2vw;
    padding-left: 6vw;
    border-bottom: 1px solid #ddd;
    font-size: 1.4rem;
  }
}

.p-top-topics__icon {
  display: flex;
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
}

@media screen and (min-width: 768px) {
  .p-top-topics__icon {
    translate: 0 -50%;
  }
}

@media screen and (max-width: 767px) {
  .p-top-topics__icon {
    top: 1vw;
  }
}

.p-top-topics-list {
  font-size: 14px;
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-top-topics-list {
    margin-top: 4vw;
    font-size: 1.4rem;
  }
}

.p-top-topics-list__item + .p-top-topics-list__item {
  margin-top: 4px;
}

@media screen and (max-width: 767px) {
  .p-top-topics-list__item + .p-top-topics-list__item {
    margin-top: 2vw;
  }
}

.p-top-topics-list__link {
  color: inherit;
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-topics-list__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-topics-list__date {
  color: #b1b1b1;
  font-family: var(--font-geologica);
}

.p-top-topics-list__text {
  line-height: 1.6;
}

.p-top-bannerList {
  display: flex;
  justify-content: center;
  column-gap: 32px;
}

@media screen and (max-width: 767px) {
  .p-top-bannerList {
    display: block;
  }
}

.p-top-bannerList__item {
  width: 528px;
}

@media screen and (max-width: 767px) {
  .p-top-bannerList__item {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-top-bannerList__item + .p-top-bannerList__item {
    margin-top: 6vw;
  }
}

.p-top-bannerList__link {
  display: block;
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-bannerList__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-bannerList__link img {
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-top-bannerList__link img {
    height: 46vw;
    max-height: 184px;
    border-radius: 3vw;
  }
}

.p-top-cal {
  position: relative;
  z-index: var(--z-index-base);
  padding: 128px 0 200px;
}

@media screen and (max-width: 767px) {
  .p-top-cal {
    padding: 18vw 0;
  }
}

.p-top-cal::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 1920px;
  height: 810px;
  background-image: url(/assets/images/top/background-calendar.png);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: cover;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-top-cal::before {
    width: 100%;
    height: 100%;
    background-image: url(/assets/images/top/background-calendar-sp.png);
  }
}

.p-top-cal__arrowLink {
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .p-top-cal__arrowLink {
    margin-top: 6vw;
  }
}

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

.p-top-cal__arrowLink--sp {
  width: 47.5vw;
  margin-left: auto;
}

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

.p-top-pickup {
  padding: 80px 0 140px;
}

@media screen and (max-width: 767px) {
  .p-top-pickup {
    padding: 18vw 0;
    border-radius: 6vw;
  }
}

.p-top-pickup__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

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

.p-top-pickup__arrowLink--sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-top-pickup__arrowLink--sp {
    display: block;
    width: 54.5vw;
    margin: 8vw 0 0 auto;
  }
}

.p-top-pickup-list {
  display: grid;
  margin-top: 40px;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 40px;
}

@media screen and (max-width: 767px) {
  .p-top-pickup-list {
    margin-top: 8vw;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4vw;
    row-gap: 6vw;
  }
}

.p-top-pickup-list__link {
  color: inherit;
  transition: opacity 0.3s;
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-pickup-list__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-pickup-list__image {
  width: 100%;
}

.p-top-pickup-list__image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-top-pickup-list__image img {
    border-radius: 1.5vw;
  }
}

.p-top-pickup-list__label {
  display: inline-block;
  margin-top: 12px;
  padding: 4px 13px;
  border-radius: 38px;
  background: #e9e9e9;
  font-size: 12px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-top-pickup-list__label {
    margin-top: 2.5vw;
    padding: 1vw 3.25vw;
    border-radius: 9.5vw;
    font-size: 1.2rem;
  }
}

.p-top-pickup-list__text {
  margin-top: 4px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .p-top-pickup-list__text {
    margin-top: 1vw;
    font-size: 1.4rem;
  }
}

.p-top-connect {
  position: relative;
  padding: 120px 0 140px;
  border-radius: 40px;
  background: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .p-top-connect {
    padding: 18vw 0;
    border-radius: 6vw;
  }
}

.p-top-connect .c-top-hgroup {
  position: relative;
  z-index: var(--z-index-base);
}

.p-top-connect-list {
  display: grid;
  position: relative;
  z-index: var(--z-index-base);
  margin-top: 40px;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 24px;
}

@media screen and (max-width: 767px) {
  .p-top-connect-list {
    display: block;
    margin: 7vw 5vw 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__item {
    height: 47.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__item + .p-top-connect-list__item {
    margin-top: 6vw;
  }
}

.p-top-connect-list__item--line .p-top-connect-list__title {
  color: #5a0;
}

.p-top-connect-list__item--line .p-top-connect-list__link {
  background: #cdf0a9;
}

.p-top-connect-list__item--line .p-top-connect-list__link svg {
  fill: #5a0;
}

.p-top-connect-list__item--youtube .p-top-connect-list__title {
  color: #f00;
}

.p-top-connect-list__item--youtube .p-top-connect-list__link {
  background: #ffccc5;
}

.p-top-connect-list__item--youtube .p-top-connect-list__link svg {
  fill: #f00;
}

.p-top-connect-list__item--blog .p-top-connect-list__title {
  color: #ff7200;
}

.p-top-connect-list__item--blog .p-top-connect-list__link {
  background: #fff0a0;
}

.p-top-connect-list__item--blog .p-top-connect-list__link svg {
  fill: #ff7200;
}

.p-top-connect-list__item--column .p-top-connect-list__title {
  color: #e44f31;
}

.p-top-connect-list__item--column .p-top-connect-list__link {
  background: #ffd39e;
}

.p-top-connect-list__item--column .p-top-connect-list__link svg {
  fill: #e44f31;
}

.p-top-connect-list__link {
  display: flex;
  position: relative;
  height: 100%;
  padding: 6.63%;
  border-radius: 15px;
  color: inherit;
  column-gap: 6px;
  align-items: center;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__link {
    padding: 0 5vw 0 0;
    border-radius: 4vw;
    column-gap: 2vw;
    justify-content: flex-end;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-connect-list__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-connect-list__link svg {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 30px;
  height: 30px;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__link svg {
    right: 3.5vw;
    bottom: 3.5vw;
    width: 6.5vw;
    height: 6.5vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-connect-list__image {
    width: 136px;
    flex-shrink: 0;
  }
}

@media (max-width: 1480px) and (min-width: 768px) {
  .p-top-connect-list__image {
    width: 43.31%;
    flex-shrink: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__image {
    width: 30.5vw;
    height: 34vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__image--blog {
    width: 32.25vw;
  }
}

.p-top-connect-list__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-top-connect-list__textArea {
    flex-grow: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__textArea {
    width: 40vw;
    flex-shrink: 0;
  }
}

.p-top-connect-list__title {
  font-weight: bold;
  font-size: 26px;
  line-height: normal;
  font-family: var(--font-geologica);
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__title {
    font-size: 2.6rem;
  }
}

.p-top-connect-list__text {
  font-size: 15px;
  line-height: normal;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-top-connect-list__text {
    font-size: 1.5rem;
  }
}

.p-top-news {
  position: relative;
  padding: 120px 0;
  border-radius: 59px 65px 0 0;
  background: #f6f6f6;
}

@media screen and (min-width: 768px) {
  .p-top-news {
    margin-top: -62px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-news {
    padding: 18vw 0 16vw;
    border-radius: 6vw 6vw 0 0;
  }
}

.p-top-news__inner {
  max-width: 1248px;
}

.p-top-news__flex {
  display: flex;
  column-gap: 94px;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-top-news__flex {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .p-top-news__headArea {
    width: 178px;
    flex-shrink: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-news__headArea {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}

@media screen and (max-width: 767px) {
  .p-top-news__hgroup {
    margin-bottom: 1.5vw;
  }
}

@media screen and (min-width: 768px) {
  .p-top-news__arrowLink {
    margin-top: 42px;
  }
}

.p-top-news-list {
  border-top: 1px solid #ddd;
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-top-news-list {
    margin-top: 6vw;
  }
}

.p-top-news-list__line {
  position: relative;
  border-bottom: 1px solid #ddd;
}

.p-top-news-list__link {
  display: flex;
  position: relative;
  padding: 22px 66px 22px 10px;
  color: inherit;
  column-gap: 18px;
  align-items: center;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-top-news-list__link {
    display: block;
    padding: 3.5vw 14vw 3.5vw 0;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-news-list__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-news-list__link::after {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}

.p-top-news-list__link--pdf::after {
  right: 10px;
  width: 31px;
  height: 16px;
  background-image: url(/assets/images/common/icon-news-pdf.svg);
}

@media screen and (max-width: 767px) {
  .p-top-news-list__link--pdf::after {
    right: 0;
    width: 7.75vw;
    height: 4vw;
  }
}

.p-top-news-list__link--external::after {
  right: 17px;
  width: 14px;
  height: 14px;
  background-image: url(/assets/images/common/icon-news-external.svg);
}

@media screen and (max-width: 767px) {
  .p-top-news-list__link--external::after {
    right: 1.5vw;
    width: 3.5vw;
    height: 3.5vw;
  }
}

.p-top-news-list__link--arrow::after {
  right: 20px;
  width: 12px;
  height: 8px;
  background-image: url(/assets/images/common/icon-news-arrow.svg);
}

@media screen and (max-width: 767px) {
  .p-top-news-list__link--arrow::after {
    right: 2vw;
    width: 3vw;
    height: 2vw;
  }
}

.p-top-news-list__info {
  flex-shrink: 0;
}

.p-top-news-list__date {
  display: inline-block;
  color: #aaa;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .p-top-news-list__date {
    font-size: 1.4rem;
  }
}

.p-top-news-list__genre {
  display: inline-block;
  width: 88px;
  margin-left: 10px;
  padding: 5px 8px;
  border-radius: 36px;
  background: #c3002f;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-top-news-list__genre {
    width: 22vw;
    padding: 1vw 1.5vw 1.25vw;
    font-size: 1rem;
  }
}

.p-top-news-list__text {
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-top-news-list__text {
    margin-top: 2px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

.p-top-showroom {
  background: #f6f6f6;
}

.p-top-showroom__inner {
  max-width: 1048px;
}

.p-top-showroom__box {
  position: relative;
  z-index: var(--z-index-base);
  padding: 56px 16px 48px;
  border-radius: 28px;
  background: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-top-showroom__box {
    padding: 12vw 9vw 11vw;
    border-radius: 5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-showroom__text {
    line-height: normal;
  }
}

.p-top-showroom__buttons {
  display: flex;
  margin-top: 28px;
  justify-content: center;
  column-gap: 24px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-top-showroom__buttons {
    display: block;
    margin-top: 6vw;
  }
}

.p-top-showroom__buttons .c-buttonLink__button {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-top-showroom__buttons .c-buttonLink__button {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-top-showroom__buttons .c-buttonLink + .c-buttonLink {
    margin-top: 4vw;
  }
}

.p-top-showroom-list {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-top-showroom-list {
    margin-top: 4vw;
  }
}

.p-top-showroom-list__item {
  line-height: 1;
}

.p-top-showroom-list__item + .p-top-showroom-list__item {
  margin-top: 14px;
}

@media screen and (max-width: 767px) {
  .p-top-showroom-list__item + .p-top-showroom-list__item {
    margin-top: 2.5vw;
  }
}

.p-top-showroom-list__link {
  color: #343434;
  font-size: 12px;
  font-family: "メイリオ", system-ui, sans-serif;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-top-showroom-list__link {
    font-size: 1.2rem;
  }
}

@media (min-width: 768px) and (hover: hover) {
  .p-top-showroom-list__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.p-top-showroom__coverImage {
  margin-top: -186px;
}

@media screen and (max-width: 767px) {
  .p-top-showroom__coverImage {
    height: 73vw;
    margin: -46vw auto 0;
  }
}

.p-top-showroom__coverImage img {
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-top-showroom__coverImage img {
    height: auto;
  }
}

.p-top-service {
  padding: 140px 0 70px;
}

@media screen and (max-width: 767px) {
  .p-top-service {
    padding: 18vw 0 9vw;
  }
}

.p-top-service__image img {
  border-radius: 20px;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-top-service__image img {
    height: auto;
    border-radius: 4vw;
  }
}

.p-top-service__flex {
  display: flex;
  column-gap: 4.737%;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-top-service__flex {
    display: block;
  }
}

.p-top-service__buttons {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-top-service__buttons {
    margin-top: 7vw;
  }
}

.p-top-service__buttons * + * {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .p-top-service__buttons * + * {
    margin-top: 4vw;
  }
}

.p-top-service__texts {
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-top-service__texts {
    margin-top: 8.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-top-service__text {
    margin-top: 3vw;
    font-size: 1.6rem;
    line-height: normal;
  }
}

.p-top-recruit {
  padding: 70px 0 150px;
}

@media screen and (max-width: 767px) {
  .p-top-recruit {
    padding: 9vw 0 21vw;
  }
}

.p-top-recruit__box {
  position: relative;
  padding: 88px 16.974%;
  border-radius: 28px;
  background: linear-gradient(95deg, #ffefef 0%, #ffcece 69.38%);
}

@media screen and (max-width: 767px) {
  .p-top-recruit__box {
    padding: 13vw 6vw 11vw;
    border-radius: 3vw;
    background: linear-gradient(137deg, #ffefef 2.23%, #ffcece 95.12%);
  }
}

.p-top-recruit__box::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url(/assets/images/top/background-recruit.png);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: cover;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-top-recruit__box::after {
    background-image: url(/assets/images/top/background-recruit-sp.png);
  }
}

.p-top-recruit__flex {
  display: flex;
  position: relative;
  z-index: var(--z-index-base);
  column-gap: 44px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-top-recruit__flex {
    display: block;
  }
}

.p-top-recruit__hgroup {
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .p-top-recruit__button {
    margin-top: 11vw;
  }
}

span.p-top-news-list__link:hover {
  opacity: 1;
  transition: none;
}

.p-chat ._section-typeA {
  padding: 80px 0 110px;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeA {
    padding: 9.5vw 0 12.8vw;
  }
}

.p-chat ._section-typeA__heading {
  font-size: 46px;
  line-height: 1.2;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeA__heading {
    font-size: 2.7rem;
  }
}

.p-chat ._section-typeA__heading ._section-typeA__comment {
  display: block;
}

.p-chat ._section-typeA__heading ._section-typeA__comment img {
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeA__heading ._section-typeA__comment img {
    margin-bottom: 3vw;
  }
}

.p-chat ._section-typeA__heading ._section-typeA__comment img._about {
  width: 376px;
  margin-left: -34px;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeA__heading ._section-typeA__comment img._about {
    width: 62.75vw;
    margin-left: -5.25vw;
  }
}

.p-chat ._section-typeA__heading ._section-typeA__comment img._voice {
  width: 406px;
  margin-left: -42px;
  margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeA__heading ._section-typeA__comment img._voice {
    width: 69.85vw;
    margin-left: -6.55vw;
    margin-bottom: 0.4vw;
  }
}

.p-chat ._section-typeA__heading ._section-typeA__comment img._use {
  width: 429px;
  margin-left: -34px;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeA__heading ._section-typeA__comment img._use {
    width: 70.25vw;
    margin-left: -5.25vw;
  }
}

.p-chat ._section-typeB {
  padding: 100px 0 110px;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeB {
    padding: 10vw 0 12.5vw;
  }
}

.p-chat ._section-typeB__heading {
  position: relative;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 1.44px;
  text-align: center;
  line-height: 1.2;
  padding-bottom: 12px;
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeB__heading {
    font-size: 2.4rem;
    padding-bottom: 2.5vw;
    letter-spacing: 0.96px;
  }
}

.p-chat ._section-typeB__heading::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 2px;
  background-color: #c3002f;
  content: '';
}

@media screen and (max-width: 767px) {
  .p-chat ._section-typeB__heading::after {
    width: 15vw;
    height: 0.5vw;
  }
}

.p-chat img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.p-chat-kv {
  padding: 142px 0 144px;
  background-image: url(../images/info/chat/pc/bg_hero_pc.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-chat-kv {
    background-image: url(../images/info/chat/sp/bg_hero_sp.jpg);
    padding: 23.5vw 0;
  }
}

.p-chat-kv__inner {
  width: 840px;
  padding: 0 40px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__inner {
    width: 100%;
    padding: 0 5vw;
  }
}

.p-chat-kv__copy {
  color: #c3002f;
  font-size: 60px;
  line-height: 1.2;
  text-align: center;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__copy {
    font-size: 4.4rem;
    letter-spacing: 0;
  }
}

.p-chat-kv__text {
  margin-top: 10px;
  padding-left: 24px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.35;
  letter-spacing: normal;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__text {
    margin-top: 1.2vw;
    padding-left: 2vw;
    font-size: 1.6rem;
    line-height: 1.69;
  }
}

.p-chat-kv__time {
  display: flex;
  margin-top: 45px;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__time {
    flex-direction: column;
    align-items: center;
    margin-top: 7vw;
  }
}

.p-chat-kv__support {
  width: 228px;
  background-color: #c3002f;
  padding: 18px 10px 14px;
  border-radius: 5px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__support {
    width: 100%;
    padding: 2.3vw 2.5vw 1.9vw;
  }
}

.p-chat-kv__supportImage {
  width: 84px;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__supportImage {
    display: none;
  }
}

.p-chat-kv__supportText {
  margin-top: 18px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.28;
  letter-spacing: normal;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__supportText {
    margin-top: 0;
    font-size: 1.6rem;
  }
}

.p-chat-kv__details {
  width: 524px;
  margin-left: 8px;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__details {
    width: 100%;
    margin-top: 1.25vw;
    margin-left: 0;
  }
}

.p-chat-kv__list {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 76px;
  line-height: 56px;
  padding: 10px 0;
  border-radius: 5px;
  background-color: #fff;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__list {
    height: 13vw;
    padding: 1.5vw 0;
    border-radius: 1.25vw;
    line-height: 9.75vw;
  }
}

.p-chat-kv__list + .p-chat-kv__list {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__list + .p-chat-kv__list {
    margin-top: 1.25vw;
  }
}

.p-chat-kv__term {
  width: 283px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-chat-kv__term {
    padding-top: 0.6vw;
    width: 48.75vw;
    font-size: 1.2rem;
  }
}

.p-chat-kv_description {
  border-left: 3px solid #e1e1e1;
  color: #c3002f;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  width: 238px;
}

@media screen and (max-width: 767px) {
  .p-chat-kv_description {
    width: 41.25vw;
    padding-top: 0.6vw;
    border-left: 0.5vw solid #e1e1e1;
    font-size: 2rem;
  }
}

.p-chat-about {
  background-color: #f5f5f5;
}

.p-chat-about__list {
  display: flex;
  margin-top: 48px;
}

@media screen and (max-width: 767px) {
  .p-chat-about__list {
    margin-top: 5.8vw;
    flex-direction: column;
    align-items: center;
  }
}

.p-chat-about__item {
  width: 365px;
  padding: 26px 30px 65px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 767px) {
  .p-chat-about__item {
    width: 100%;
    padding: 10vw 6.75vw 11.75vw;
    border-radius: 2.5vw;
    box-shadow: 0 0 3.75vw rgba(0, 0, 0, 0.05);
  }
}

.p-chat-about__item figcaption {
  margin-top: 40px;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.08;
  letter-spacing: -0.4px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-chat-about__item figcaption {
    margin-top: 7.5vw;
    font-size: 2rem;
  }
}

.p-chat-about__item + .p-chat-about__item {
  margin-left: 32px;
}

@media screen and (max-width: 767px) {
  .p-chat-about__item + .p-chat-about__item {
    margin-top: 8vw;
    margin-left: 0;
  }
}

.p-chat-about__image {
  display: block;
  width: 200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-chat-about__image._item-01 {
    width: 26vw;
  }
}

@media screen and (max-width: 767px) {
  .p-chat-about__image._item-02 {
    width: 20.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-chat-about__image._item-03 {
    width: 16vw;
  }
}

.p-chat-about__image img {
  width: 100%;
}

.p-chat-about__text {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.88;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-chat-about__text {
    margin-top: 4.5vw;
    font-size: 1.6rem;
  }
}

.p-chat-about__text ._small {
  display: block;
  margin-top: 4px;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .p-chat-about__text ._small {
    font-size: 1.4rem;
    margin-top: 1vw;
  }
}

.p-chat-voice._section-typeA {
  padding-top: 62px;
  padding-bottom: 125px;
  background-image: url(../images/info/chat/pc/sec_voice_bg_pc.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-chat-voice._section-typeA {
    padding-top: 5.8vw;
    padding-bottom: 16.25vw;
    background-image: url(../images/info/chat/sp/sec_voice_bg_sp.jpg);
  }
}

.p-chat-voice._section-typeA ._section-typeA__heading {
  color: #fff;
}

.p-chat-voice__inner {
  max-width: 978px;
  padding: 0 40px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-chat-voice__inner {
    max-width: 100%;
    padding: 0 5vw;
  }
}

.p-chat-voice__list {
  display: flex;
  flex-wrap: wrap;
  margin: 40px -18px -25px 0;
}

@media screen and (max-width: 767px) {
  .p-chat-voice__list {
    flex-direction: column;
    align-items: center;
    margin: 5.8vw 0 -6.25vw;
  }
}

.p-chat-voice__item {
  position: relative;
  background-color: #fff;
  width: 440px;
  height: 100px;
  margin: 0 18px 25px 0;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .p-chat-voice__item {
    width: 80vw;
    height: 25vw;
  }
}

@media screen and (max-width: 767px) {
  .p-chat-voice__item:nth-child(odd) {
    margin: 0 0 6.25vw -10vw;
  }
}

@media screen and (max-width: 767px) {
  .p-chat-voice__item:nth-child(even) {
    margin: 0 -10vw 6.25vw 0;
  }
}

.p-chat-voice__item::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 3%;
  width: 30px;
  height: 30px;
  margin-bottom: -15px;
  background-image: url(../images/info/chat/pc/sec_voice_triangle.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-chat-voice__item::after {
    right: 35.3vw;
    width: 7.5vw;
    height: 7.5vw;
    margin-bottom: -3.75vw;
  }
}

.p-chat-voice__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  min-width: 400px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: normal;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-chat-voice__text {
    min-width: 74vw;
    font-size: 1.6rem;
  }
}

.p-chat-use {
  background-color: #f5f5f5;
}

.p-chat-use__list {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-chat-use__list {
    margin-top: 6.2vw;
  }
}

.p-chat-use__item {
  padding: 70px 70px 0 30px;
}

@media screen and (max-width: 767px) {
  .p-chat-use__item {
    padding: 5.5vw 0 0 2.75vw;
  }
}

.p-chat-use__item + .p-chat-use__item {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-chat-use__item + .p-chat-use__item {
    margin-top: 7.5vw;
  }
}

.p-chat-use__itemInner {
  position: relative;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  width: 1060px;
  height: 260px;
  padding: 60px 228px 60px 48px;
  border-radius: 10px;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-chat-use__itemInner {
    width: 100%;
    height: auto;
    padding: 10.75vw 6.25vw 10vw;
    box-shadow: 0 0 3.75vw rgba(0, 0, 0, 0.05);
  }
}

.p-chat-use__step {
  display: inline-block;
  position: absolute;
  top: -36px;
  left: -30px;
  border-radius: 10px;
  background-color: #c3002f;
  padding: 18px 23px;
  width: 150px;
}

@media screen and (max-width: 767px) {
  .p-chat-use__step {
    top: -5.5vw;
    left: -2.75vw;
    width: 23.5vw;
    border-radius: 2.5vw;
    padding: 3vw 4.25vw 3vw 3.75vw;
  }
}

.p-chat-use__step img {
  display: block;
  height: 34px;
}

@media screen and (max-width: 767px) {
  .p-chat-use__step img {
    height: 5vw;
  }
}

.p-chat-use__image img {
  position: absolute;
  top: -70px;
  right: -70px;
  width: 250px;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 767px) {
  .p-chat-use__image img {
    display: block;
    position: static;
    width: 62.5vw;
    margin: 7.2vw auto 0;
    box-shadow: 0 0 3.75vw rgba(0, 0, 0, 0.1);
  }
}

.p-chat-use__title {
  font-size: 26px;
  line-height: 1;
  padding-bottom: 25px;
  border-bottom: 2px solid #c3002f;
}

@media screen and (max-width: 767px) {
  .p-chat-use__title {
    padding-bottom: 4.5vw;
    font-size: 2rem;
    text-align: center;
  }
}

.p-chat-use__text {
  margin-top: 24px;
  line-height: 1.88;
}

@media screen and (max-width: 767px) {
  .p-chat-use__text {
    font-size: 1.6rem;
    margin-top: 4vw;
    text-align: justify;
  }
}

.p-chat-environment {
  background-color: #e1e1e1;
}

.p-chat-environment__list {
  margin-top: 40px;
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__list {
    flex-direction: column;
    align-items: center;
    margin-top: 6.25vw;
  }
}

.p-chat-environment__item {
  width: 573px;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__item {
    width: 100%;
  }
}

.p-chat-environment__item + .p-chat-environment__item {
  margin-left: 14px;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__item + .p-chat-environment__item {
    margin-left: 0;
    margin-top: 5vw;
  }
}

.p-chat-environment__table {
  border-radius: 5px;
  width: 100%;
  text-align: center;
  border-collapse: separate;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__table {
    border-radius: 1.25vw;
  }
}

.p-chat-environment__table th, .p-chat-environment__table td {
  vertical-align: middle;
  padding: 12px 16px 10px;
}

.p-chat-environment__table th {
  border: none;
  background-color: #a8a8a8;
  color: #fff;
  border-radius: 5px 5px 0 0;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__table th {
    padding: 2vw 2.4vw 0.8vw;
    font-size: 1.8rem;
    border-radius: 1.25vw 1.25vw 0 0;
  }
}

.p-chat-environment__table td {
  border-color: #e1e1e1;
  border-style: solid;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__table td {
    padding-top: 4.6vw;
    padding-bottom: 3.5vw;
    font-size: 1.4rem;
  }
}

.p-chat-environment__table ._left {
  width: 163px;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__table ._left {
    width: 21vw;
    padding-right: 2vw;
    padding-left: 2vw;
  }
}

.p-chat-environment__table ._right {
  width: 410px;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__table ._right {
    padding-right: 7.45vw;
    padding-left: 7.45vw;
    text-align: left;
    width: 68.5vw;
  }
}

.p-chat-environment__table ._os ._left {
  border-width: 0 1px 1px 0;
}

.p-chat-environment__table ._os ._right {
  border-width: 0 0 1px 1px;
}

.p-chat-environment__table ._browser ._left {
  border-width: 1px 1px 0 0;
  border-radius: 0 0 0 5px;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__table ._browser ._left {
    border-radius: 0 0 0 1.25vw;
  }
}

.p-chat-environment__table ._browser ._right {
  border-width: 1px 0 0 1px;
  border-radius: 0 0 5px;
}

@media screen and (max-width: 767px) {
  .p-chat-environment__table ._browser ._right {
    border-radius: 0 0 1.25vw;
  }
}

.p-chat-notes {
  font-size: 14px;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-chat-notes {
    font-size: 1.4rem;
  }
}

.p-chat-notes__inner {
  width: 880px;
  padding: 0 40px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-chat-notes__inner {
    width: 100%;
    padding: 0 5vw;
  }
}

.p-chat-notes__list {
  margin-top: 43px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-chat-notes__list {
    margin-top: 4.25vw;
  }
}

.p-chat-notes__item {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
}

@media screen and (max-width: 767px) {
  .p-chat-notes__item {
    font-size: 1.4rem;
  }
}

.p-chat-notes__subItem {
  text-indent: -1em;
  padding-left: 1em;
}

.p-chat-notes__disclaimer {
  margin-top: 40px;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .p-chat-notes__disclaimer {
    margin-top: 10vw;
    font-size: 1.8rem;
  }
}

.p-chat-notes__disclaimerText {
  margin-top: 4px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-chat-notes__disclaimerText {
    margin-top: 1vw;
  }
}

.p-chat-notes__disclaimerList {
  line-height: 2;
}

.p-chat-notes__disclaimerItem {
  text-indent: -1em;
  padding-left: 1em;
}

.p-line-hero {
  background-image: url(/assets/images/line/bg_hero_pc.jpg?update=2404);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-line-hero {
    background-image: none;
  }
}

.p-line-hero__catch {
  max-width: 1160px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-line-hero__catch {
    margin: 0;
  }
}

.p-line-hero__catch img {
  width: 100%;
}

.p-line-point {
  padding-bottom: 100px;
  background-color: #f5f9fa;
}

@media screen and (max-width: 767px) {
  .p-line-point {
    padding-bottom: 15vw;
  }
}

.p-line-point__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 40px;
  row-gap: 50px;
}

@media screen and (max-width: 767px) {
  .p-line-point__list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 11vw;
  }
}

.p-line-point__item {
  position: relative;
  width: 560px;
  padding: 41px 0 47px;
  background-color: #fff;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0 5px 18.4px 1.6px rgba(0, 0, 0, 0.08);
}

@media screen and (max-width: 767px) {
  .p-line-point__item {
    width: 100%;
    padding: 7.75vw 0 9.5vw;
    border-radius: 2.5vw;
    box-shadow: 0 1.25vw 2.3vw 0.2vw rgba(0, 0, 0, 0.08);
  }
}

.p-line-point__item::before {
  position: absolute;
  top: -22px;
  left: 40px;
  z-index: 1;
  content: "";
  width: 100px;
  height: 100px;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-line-point__item::before {
    top: -3.75vw;
    left: 5vw;
    width: 18.75vw;
    height: 18.75vw;
  }
}

.p-line-point__item--1::before {
  background-image: url(/assets/images/line/point_01_1.png);
}

.p-line-point__item--2::before {
  background-image: url(/assets/images/line/point_02_1.png);
}

.p-line-point__item--3::before {
  background-image: url(/assets/images/line/point_03_1.png);
}

.p-line-point__item--4::before {
  background-image: url(/assets/images/line/point_04_1.png);
}

.p-line-point__image {
  width: 140px;
}

@media screen and (max-width: 767px) {
  .p-line-point__image {
    width: 26.25vw;
  }
}

.p-line-point__title {
  margin-top: 30px;
  color: #07b53b;
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 2.08px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-point__title {
    margin-top: 6.25vw;
    font-size: 1.8rem;
    letter-spacing: 1.44px;
  }
}

.p-line-point__text {
  margin-top: 20px;
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 1.6px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-point__text {
    margin-top: 5.25vw;
    font-size: 1.5rem;
    letter-spacing: 1.2px;
  }
}

.p-line-add {
  padding: 100px 0;
  background-color: #07b53b;
}

@media screen and (max-width: 767px) {
  .p-line-add {
    padding: 7.5vw 0 15vw;
  }
}

.p-line-add__inner {
  padding: 62px 60px 60px;
  background-color: #fff;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .p-line-add__inner {
    padding: 7.5vw 5vw;
  }
}

.p-line-add__title {
  padding: 17px 0;
  background-color: #ecf9f0;
  color: #07b53b;
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 1.25px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-add__title {
    padding: 4.25vw 0;
    font-size: 1.8rem;
    letter-spacing: 0.86px;
  }
}

.p-line-add__qr-code {
  display: flex;
  justify-content: space-between;
  margin-top: 39px;
}

@media screen and (max-width: 767px) {
  .p-line-add__qr-code {
    flex-direction: column;
    align-items: center;
    margin-top: 7.5vw;
  }
}

.p-line-add__left {
  width: 622px;
}

@media screen and (max-width: 767px) {
  .p-line-add__left {
    width: 100%;
  }
}

.p-line-add__sub-title {
  position: relative;
  padding-left: 16px;
  font-size: 24px;
  font-weight: bold;
  line-height: 40px;
  letter-spacing: 1.92px;
  border-left: 6px solid #07b53b;
}

@media screen and (max-width: 767px) {
  .p-line-add__sub-title {
    padding-left: 3.25vw;
    font-size: 1.6rem;
    line-height: 8vw;
    letter-spacing: 1.28px;
    border-left: 4px solid #07b53b;
  }
}

.p-line-add__text {
  margin-top: 22px;
  letter-spacing: 1.28px;
}

@media screen and (max-width: 767px) {
  .p-line-add__text {
    font-size: 1.5rem;
    margin-top: 4.75vw;
  }
}

.p-line-add__text--green {
  font-weight: bold;
  color: #07b53b;
}

.p-line-add__image--right {
  width: 380px;
  padding: 20px 0;
  text-align: center;
  border: 1px solid #ddd;
}

@media screen and (max-width: 767px) {
  .p-line-add__image--right {
    width: 100%;
    margin-top: 6vw;
    padding: 4.4vw 0;
  }
}

.p-line-add__image--right img {
  width: 180px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-add__image--right img {
    width: 37vw;
  }
}

.p-line-add__id-search {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-line-add__id-search {
    margin-top: 7.5vw;
  }
}

.p-line-add__image--bottom {
  margin-top: 46px;
}

@media screen and (max-width: 767px) {
  .p-line-add__image--bottom {
    margin-top: 6vw;
  }
}

.p-line-add__guidance {
  margin-top: 45px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 1.92px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-add__guidance {
    margin-top: 7.5vw;
    font-size: 1.5rem;
    letter-spacing: 0;
  }
}

.p-line-add__guidance--decoration {
  background-image: url(/assets/images/line/line.png);
  background-position: bottom;
  background-repeat: repeat-x;
  background-size: auto 11px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-add__guidance--decoration {
    padding-bottom: 1vw;
    background-size: auto 2vw;
  }
}

.p-line-add__button-area {
  margin-top: 43px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-add__button-area {
    margin-top: 7.5vw;
  }
}

.p-line__intro {
  padding: 100px 0 90px;
  background: #f5f9fa;
}

@media screen and (max-width: 767px) {
  .p-line__intro {
    padding: 17.5vw 0 16.25vw;
  }
}

.p-line-service {
  position: relative;
  padding: 60px 0 100px;
  background: #fafcdd;
}

@media screen and (max-width: 767px) {
  .p-line-service {
    padding: 10vw 0 17.5vw;
  }
}

.p-line-service::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.125vw 5.365vw 0;
  border-color: #07b53b transparent transparent transparent;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-line-service::before {
    border-width: 6.5vw 11vw 0;
  }
}

.p-line-service__inner {
  padding-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-line-service__inner {
    padding-top: 5vw;
  }
}

.p-line-service__accompany {
  display: block;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-service__accompany {
    font-size: 1.6rem;
  }
}

.p-line-service__accompany span {
  display: inline-block;
  position: relative;
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .p-line-service__accompany span {
    padding: 0 4.5vw;
  }
}

.p-line-service__accompany span::before,
.p-line-service__accompany span::after {
  position: absolute;
  top: 0;
  font-weight: bold;
  font-size: 26px;
}

@media screen and (max-width: 767px) {
  .p-line-service__accompany span::before,
  .p-line-service__accompany span::after {
    font-size: 1.6rem;
  }
}

.p-line-service__accompany span::before {
  left: 0;
  font-family: arial;
  font-size: 36px;
  line-height: 1.3;
  content: "\\";
}

@media screen and (max-width: 767px) {
  .p-line-service__accompany span::before {
    font-size: 2.2rem;
  }
}

.p-line-service__accompany span::after {
  right: 0;
  content: "\/";
}

.p-line-service__title {
  margin-bottom: 54px;
  color: #07b53b;
  font-weight: bold;
  font-size: 50px;
  letter-spacing: 3px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-service__title {
    margin-bottom: 4vw;
    font-size: 3.4rem;
    letter-spacing: 2px;
  }
}

.p-line-service__title span {
  background-image: url(/assets/images/line/line.png);
  background-position: left 80%;
  background-repeat: repeat-x;
  background-size: auto 11px;
}

.p-line-service__heading {
  padding: 14px 50px;
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-weight: bold;
  font-size: 28px;
}

@media screen and (max-width: 767px) {
  .p-line-service__heading {
    display: flex;
    padding: 4vw 5vw;
    border-radius: 2.5vw 2.5vw 0 0;
    font-size: 2.2rem;
    line-height: 1.3;
  }
}

.p-line-service__heading:nth-of-type(n+2) {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .p-line-service__heading:nth-of-type(n+2) {
    margin-top: 10vw;
  }
}

.p-line-service__heading span {
  display: inline-block;
  margin-right: 20px;
  font-size: 32px;
}

@media screen and (max-width: 767px) {
  .p-line-service__heading span {
    margin-right: 3vw;
    font-size: 2.4rem;
    line-height: 1.2;
  }
}

.p-line-service__heading._red {
  background: #ad1c2f;
}

.p-line-service__heading._green {
  background: #07b53b;
}

.p-line-service__addition {
  margin-top: 92px;
}

@media screen and (max-width: 767px) {
  .p-line-service__addition {
    margin-top: 21vw;
  }
}

.p-line-box {
  padding: 30px 50px 50px;
  border-radius: 0 0 10px 10px;
  background: #fff;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-line-box {
    padding: 4vw 5vw 10vw;
    border-radius: 0 0 2.5vw 2.5vw;
  }
}

.p-line-box__heading {
  padding: 10px 0 8px;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-box__heading {
    padding: 2.5vw 0 2vw;
    font-size: 1.8rem;
  }
}

.p-line-box__grid {
  display: grid;
  column-gap: 2.26%;
}

.p-line-box__grid--four {
  grid-template-columns: repeat(4, 1fr);
}

@media screen and (max-width: 767px) {
  .p-line-box__grid--four {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-line-box__grid--five {
  grid-template-columns: repeat(5, 1fr);
}

@media screen and (max-width: 767px) {
  .p-line-box__grid--five {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-line-box__gridItem {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-line-box__gridItem {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-line-box__gridItem:nth-of-type(n+2) {
    margin-top: 10vw;
  }
}

.p-line-box__gridItem ._num {
  display: grid;
  width: 44px;
  height: 44px;
  margin: 0 auto;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.02em;
  place-content: center;
}

@media screen and (max-width: 767px) {
  .p-line-box__gridItem ._num {
    width: 11vw;
    height: 11vw;
    margin: 0 3.5vw 0 0;
    font-size: 2rem;
    flex-shrink: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-line-box__gridItem ._info {
    display: flex;
    align-items: center;
  }
}

.p-line-box__gridItem ._image {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .p-line-box__gridItem ._image {
    width: 70vw;
    margin: 2vw auto 0;
  }
}

.p-line-box__gridItem ._text {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .p-line-box__gridItem ._text {
    margin-top: 0;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .p-line-box__gridItem ._text._pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-line-box__gridItem ._text._sp {
    display: none;
  }
}

.p-line-box--red .p-line-box__heading {
  background: #fce4e4;
  color: #bb182a;
  text-align: center;
}

.p-line-box--red .p-line-box__gridItem ._num {
  background: #ad1c2f;
}

.p-line-box--green .p-line-box__heading {
  background: #ecf9f0;
  color: #07b53b;
}

.p-line-box--green .p-line-box__gridItem ._num {
  background: #07b53b;
}

.p-line-addition {
  text-align: center;
}

.p-line-addition__text {
  display: inline-block;
  position: relative;
  margin: 0 auto;
  padding: 0 48px;
}

@media screen and (max-width: 767px) {
  .p-line-addition__text {
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px) {
  .p-line-addition__text--broad {
    padding: 0 72px;
  }
}

.p-line-addition__text::before, .p-line-addition__text::after {
  position: absolute;
  top: 50%;
  width: 4px;
  height: 118px;
  background-color: #07b53b;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-line-addition__text::before, .p-line-addition__text::after {
    width: 0.8vw;
    height: 20vw;
  }
}

.p-line-addition__text::before {
  left: 0;
  transform: translateY(-47%) rotate(-25deg);
}

@media screen and (max-width: 767px) {
  .p-line-addition__text::before {
    transform: translateY(-47%) rotate(-21deg);
  }
}

.p-line-addition__text::after {
  right: 0;
  transform: translateY(-47%) rotate(25deg);
}

@media screen and (max-width: 767px) {
  .p-line-addition__text::after {
    transform: translateY(-47%) rotate(21deg);
  }
}

.p-line-addition__text span {
  background-image: url(/assets/images/line/line.png);
  background-position: bottom;
  background-repeat: repeat-x;
  background-size: auto 11px;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 1.92px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-line-addition__text span {
    padding-bottom: 1vw;
    background-size: auto 2vw;
    font-size: 1.6rem;
    line-height: 1.84;
    letter-spacing: 1.28px;
  }
}

.p-line-addition__button {
  margin-top: 44px;
}

@media screen and (max-width: 767px) {
  .p-line-addition__button {
    margin-top: 8vw;
  }
}

.p-line-addition__link {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-line-addition__link {
    width: 50vw;
  }
}

.p-lv {
  color: #333;
  line-height: 1.8;
  letter-spacing: normal;
}

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

.p-lv-about {
  padding: 84px 0 70px;
}

@media screen and (max-width: 767px) {
  .p-lv-about {
    padding: 7.5vw 0 12.5vw;
  }
}

.p-lv-about__introInner {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introInner {
    flex-direction: column-reverse;
    align-items: center;
  }
}

.p-lv-about__introLeft {
  width: 594px;
  margin-right: 24px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introLeft {
    width: 100%;
    margin-right: 0;
  }
}

.p-lv-about__introTitle {
  position: relative;
  font-size: 36px;
  font-weight: bold;
  color: #f07f00;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introTitle {
    margin-top: 4vw;
    font-size: 2.2rem;
  }
}

.p-lv-about__introTitle::after {
  position: absolute;
  bottom: -20px;
  right: -18px;
  width: 172px;
  height: 50px;
  content: "";
  background-image: url(/assets/images/lv/img_title_01.png);
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introTitle::after {
    right: 0;
    bottom: -4vw;
    width: 24.75vw;
    height: 7.25vw;
  }
}

.p-lv-about__introText {
  font-size: 18px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introText {
    font-size: 1.4rem;
  }
}

.p-lv-about__introText + .p-lv-about__introText {
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introText + .p-lv-about__introText {
    margin-top: 5vw;
  }
}

.p-lv-about__introText:first-of-type {
  margin-top: 28px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introText:first-of-type {
    margin-top: 5vw;
  }
}

.p-lv-about__introImage {
  width: 362px;
  margin-top: 92px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__introImage {
    width: 100%;
    margin-top: 0;
  }
}

.p-lv-about__imagesInner {
  display: flex;
  position: relative;
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__imagesInner {
    flex-direction: column;
    margin-top: 7.5vw;
  }
}

.p-lv-about__imagesInner::before, .p-lv-about__imagesInner::after {
  position: absolute;
  z-index: -1;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
}

.p-lv-about__imagesInner::before {
  left: -88px;
  bottom: 0;
  width: 229px;
  height: 234px;
  background-image: url(/assets/images/lv/pc_left.png);
}

@media screen and (max-width: 767px) {
  .p-lv-about__imagesInner::before {
    left: -5vw;
    bottom: 18vw;
    width: 28.5vw;
    height: 35.75vw;
    background-image: url(/assets/images/lv/sp_left.png);
  }
}

.p-lv-about__imagesInner::after {
  top: 0;
  right: 0;
  width: 196px;
  height: 196px;
  background-image: url(/assets/images/lv/pc_right.png);
}

@media screen and (max-width: 767px) {
  .p-lv-about__imagesInner::after {
    top: -2vw;
    right: -5vw;
    width: 16.5vw;
    height: 21.5vw;
    background-image: url(/assets/images/lv/sp_right.png);
  }
}

.p-lv-about__imagesLeft {
  width: 520px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__imagesLeft {
    width: 70vw;
  }
}

.p-lv-about__imagesRight {
  width: 400px;
  margin: 236px 0 0 60px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__imagesRight {
    width: 50vw;
    margin: 4vw 0 0 40vw;
  }
}

.p-lv-about__buttonArea {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__buttonArea {
    margin-top: 7.5vw;
  }
}

.p-lv-about__buttonList {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-lv-about__buttonList {
    flex-direction: column;
    align-items: center;
  }
}

.p-lv-about__buttonItem {
  width: 371px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__buttonItem {
    width: 100%;
  }
}

.p-lv-about__buttonItem + .p-lv-about__buttonItem {
  margin-left: 50px;
}

@media screen and (max-width: 767px) {
  .p-lv-about__buttonItem + .p-lv-about__buttonItem {
    margin-top: 3.5vw;
    margin-left: 0;
  }
}

.p-lv-about__buttonLink {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 22px 40px 22px 114px;
  color: #fff;
  background-color: #f07f00;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  border-radius: 5px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-lv-about__buttonLink {
    padding: 5vw 10vw 5vw 28.5vw;
    font-size: 1.6rem;
    border-radius: 1.25vw;
  }
}

.p-lv-about__buttonLink::after {
  position: absolute;
  top: 50%;
  right: 34px;
  transform: translateY(-50%) rotate(45deg);
  width: 18px;
  height: 18px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-lv-about__buttonLink::after {
    right: 8vw;
    width: 4vw;
    height: 4vw;
    border-right: 0.5vw solid #fff;
    border-bottom: 0.5vw solid #fff;
  }
}

.p-lv-about__buttonLink._iconA::before, .p-lv-about__buttonLink._iconB::before {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  width: 54px;
  height: 39px;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.p-lv-about__buttonLink._iconA::before {
  background-image: url(/assets/images/lv/car.png);
}

.p-lv-about__buttonLink._iconB::before {
  background-image: url(/assets/images/lv/fukidasi.png);
}

@media screen and (min-width: 768px) {
  .p-lv-about__buttonLink:hover {
    opacity: 0.6;
  }
}

.p-lv-anchor {
  padding: 100px 0 120px;
  background-color: #f7f6f2;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor {
    padding: 12.5vw 0;
  }
}

.p-lv-anchor__title {
  text-align: center;
}

.p-lv-anchor__title > span {
  font-size: 36px;
  font-weight: 500;
  display: inline-block;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__title > span {
    font-size: 2.2rem;
  }
}

.p-lv-anchor__title > span::after {
  position: absolute;
  bottom: -20px;
  right: -18px;
  width: 79px;
  height: 30px;
  content: "";
  background-image: url(/assets/images/lv/img_title_02.png);
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__title > span::after {
    right: -30px;
    bottom: 0;
    width: 11.75vw;
    height: 4.5vw;
  }
}

.p-lv-anchor__panelList {
  margin-top: 48px;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__panelList {
    margin-top: 8vw;
  }
}

.p-lv-anchor__panelTitle {
  position: relative;
  margin-bottom: 24px;
  font-size: 28px;
  line-height: normal;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__panelTitle {
    margin-bottom: 6vw;
    font-size: 2rem;
  }
}

.p-lv-anchor__panelTitle::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #f07f00;
  content: "";
}

.p-lv-anchor__panelTitle:nth-of-type(n+2) {
  margin-top: 48px;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__panelTitle:nth-of-type(n+2) {
    margin-top: 8vw;
  }
}

.p-lv-anchor__carList {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -35px;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carList {
    margin: 0 -3vw -6vw 0;
  }
}

.p-lv-anchor__carItem {
  width: 310px;
  height: 367px;
  margin: 0 25px 35px 0;
  padding-right: 10px;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carItem {
    width: 43.5vw;
    min-height: 51.25vw;
    height: auto;
    margin: 0 3vw 6vw 0;
    padding-right: 2vw;
  }
}

.p-lv-anchor__carItem:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carItem:nth-child(3n) {
    margin-right: 3vw;
  }
}

.p-lv-anchor__carLink {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 30px 20px 42px;
  border-radius: 15px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carLink {
    padding: 4vw 2.5vw 7.5vw;
    border-radius: 3.75vw;
    box-shadow: 0 0.75vw 1.5vw 0 rgba(0, 0, 0, 0.16);
  }
}

.p-lv-anchor__carLink::after {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-color: #bbb transparent transparent;
  border-style: solid;
  border-width: 10px 9px 0;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carLink::after {
    bottom: 2vw;
    border-width: 2.4vw 2vw 0;
  }
}

@media screen and (min-width: 768px) {
  .p-lv-anchor__carLink:hover {
    opacity: 0.6;
  }
}

.p-lv-anchor__carLink figure img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carLink figure img {
    display: block;
    width: 34vw;
    margin: 0 auto;
  }
}

.p-lv-anchor__carLink figcaption {
  color: #000;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carLink figcaption {
    margin-top: 1vw;
    font-size: 2rem;
    line-height: 1.1;
  }
}

.p-lv-anchor__note {
  display: inline-block;
  position: absolute;
  top: -10px;
  right: -10px;
  width: 60px;
  height: 60px;
  background-color: #fee609;
  color: #222;
  line-height: 1.2;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  border-radius: 100vmax;
  padding-top: 14px;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__note {
    top: -2.5vw;
    right: -2.5vw;
    width: 10vw;
    height: 10vw;
    padding-top: 2.2vw;
    font-size: 1rem;
  }
}

.p-lv-anchor__carTagList {
  display: flex;
  margin: 0 -6px -4px 0;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carTagList {
    margin: 2.5vw -0.5vw -0.5vw 0;
  }
}

.p-lv-anchor__carTagItem {
  display: inline-block;
  background-color: #00a0df;
  color: #fff;
  padding: 2px 10px 1px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 6px 4px 0;
}

@media screen and (max-width: 767px) {
  .p-lv-anchor__carTagItem {
    font-size: 1rem;
    padding: 0.5vw 0.75vw;
    margin: 0 0.5vw 0.5vw 0;
  }
}

@media screen and (min-width: 768px) {
  .p-lv-anchor__carTagItem--sm {
    font-size: 12px;
  }
}

.p-lv-details {
  padding: 100px 0;
  background: #f3eee7;
}

@media screen and (max-width: 767px) {
  .p-lv-details {
    padding: 12.5vw 0;
  }
}

.p-lv-details:nth-of-type(even) {
  background: #f7f6f2;
}

.p-lv-details__title {
  font-size: 52px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-lv-details__title {
    font-size: 3rem;
  }
}

.p-lv-details__titleNote {
  display: block;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 4px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleNote {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 0;
  }
}

.p-lv-details__titleInner {
  position: relative;
  z-index: 1;
}

.p-lv-details__titleInner::after {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  z-index: -1;
}

.p-lv-details__titleInner._aura::after, .p-lv-details__titleInner._roox::after {
  right: -42px;
  bottom: 2px;
  width: 67px;
  height: 37px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleInner._aura::after, .p-lv-details__titleInner._roox::after {
    width: 9.5vw;
    height: 5.25vw;
    right: -5.5vw;
    bottom: 1.2vw;
  }
}

.p-lv-details__titleInner._aura::after {
  background-image: url(/assets/images/lv/img_title_aura.png);
}

.p-lv-details__titleInner._roox::after {
  background-image: url(/assets/images/lv/img_title_roox.png);
}

.p-lv-details__titleInner._elgrand::after {
  right: -48px;
  bottom: -4px;
  width: 96px;
  height: 39px;
  background-image: url(/assets/images/lv/img_title_elgrand.png);
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleInner._elgrand::after {
    width: 14.33vw;
    height: 5.82vw;
    right: -6.8vw;
    bottom: -1.8vw;
  }
}

.p-lv-details__titleInner._nv100::after {
  right: -71px;
  bottom: -15px;
  width: 181px;
  height: 53px;
  background-image: url(/assets/images/lv/img_title_nv100.png);
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleInner._nv100::after {
    width: 27vw;
    height: 10.25vw;
    right: -6.8vw;
    bottom: -4.5vw;
  }
}

.p-lv-details__titleInner._note::after {
  right: -42px;
  bottom: 2px;
  width: 66px;
  height: 38px;
  background-image: url(/assets/images/lv/img_title_note.png);
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleInner._note::after {
    width: 23.5vw;
    height: 6vw;
    right: -19vw;
    bottom: -0.2vw;
  }
}

.p-lv-details__titleInner._nv200::after {
  right: -50px;
  bottom: -20px;
  width: 156px;
  height: 59px;
  background-image: url(/assets/images/lv/img_title_nv200.png);
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleInner._nv200::after {
    width: 23.5vw;
    height: 9vw;
    right: -10vw;
    bottom: -3.2vw;
  }
}

.p-lv-details__titleInner._serena::after {
  right: -60px;
  bottom: -9px;
  width: 95px;
  height: 46px;
  background-image: url(/assets/images/lv/img_title_serena.png);
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleInner._serena::after {
    width: 14vw;
    height: 6.75vw;
    right: -8.5vw;
    bottom: -1.1vw;
  }
}

.p-lv-details__titleInner._caravan::after {
  right: -51px;
  bottom: -8px;
  width: 113px;
  height: 48px;
  background-image: url(/assets/images/lv/img_title_caravan.png);
}

@media screen and (max-width: 767px) {
  .p-lv-details__titleInner._caravan::after {
    width: 16.5vw;
    height: 7vw;
    right: -7.9vw;
    bottom: -1.2vw;
  }
}

.p-lv-details__inner {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__inner {
    margin-top: 7.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-lv-details__list {
    margin: 0 -5vw;
  }
}

.p-lv-details__item {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-lv-details__item {
    flex-direction: column;
  }
}

.p-lv-details__item + .p-lv-details__item {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__item + .p-lv-details__item {
    margin-top: 10vw;
  }
}

.p-lv-details__item:nth-of-type(2n) {
  flex-direction: row;
}

@media screen and (max-width: 767px) {
  .p-lv-details__item:nth-of-type(2n) {
    flex-direction: column;
  }
}

.p-lv-details__item:nth-of-type(2n) .p-lv-details__textArea {
  margin: 0 0 0 -30px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__item:nth-of-type(2n) .p-lv-details__textArea {
    margin: -3.75vw 0 0;
  }
}

.p-lv-details__item:nth-of-type(2n) .p-lv-details__textArea._negative-ml100 {
  margin-left: -100px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__item:nth-of-type(2n) .p-lv-details__textArea._negative-ml100 {
    margin-left: 0;
  }
}

.p-lv-details__video {
  position: relative;
  z-index: 0;
  width: 700px;
  height: 394px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__video {
    width: 100%;
    height: 56.25vw;
  }
}

.p-lv-details__video video {
  width: 100%;
}

.p-lv-details__image {
  width: 630px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__image {
    width: 100%;
    margin: 0 -5vw;
  }
}

.p-lv-details__textArea {
  position: relative;
  z-index: 1;
  width: 560px;
  background-color: #fff;
  padding: 40px;
  margin-right: -100px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__textArea {
    width: 90vw;
    padding: 5.5vw 5vw 7.5vw;
    margin-right: 0;
    margin-top: -5vw;
  }
}

.p-lv-details__textArea._negative-mr30 {
  margin-right: -30px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__textArea._negative-mr30 {
    margin-right: 0;
  }
}

.p-lv-details__tag {
  font-size: 14px;
  font-weight: bold;
  background-color: #f07f00;
  color: #fff;
  padding: 3px 14px 2px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__tag {
    font-size: 1.2rem;
    padding: 1vw 2.5vw;
  }
}

.p-lv-details__tag._blue {
  background-color: #00a0df;
}

.p-lv-details__point {
  margin-top: 14px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .p-lv-details__point {
    margin-top: 4.5vw;
    font-size: 2rem;
    line-height: 1.4;
  }
}

.p-lv-details__text {
  margin-top: 14px;
  font-weight: normal;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .p-lv-details__text {
    margin-top: 3vw;
    line-height: 1.4;
    font-size: 1.4rem;
  }
}

.p-lv-details__textNote {
  display: block;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__textNote {
    font-size: 1.4rem;
  }
}

.p-lv-details__button {
  margin-top: 16px;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .p-lv-details__button {
    margin-top: 6vw;
    text-align: center;
  }
}

.p-lv-details__button a {
  display: inline-block;
  margin-left: auto;
  font-size: 16px;
  padding: 10px 22px 9px 32px;
  color: #222;
  border: solid 1px #222;
  text-align: center;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-lv-details__button a {
    font-size: 1.4rem;
    margin: 0 auto;
    padding: 3.5vw 7vw;
    border: solid 0.25vw #222;
  }
}

.p-lv-details__button a:hover {
  opacity: 0.6;
}

.p-lv-details__button span {
  display: block;
  position: relative;
  padding-right: 14px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-lv-details__button span {
    padding-right: 7.25vw;
  }
}

.p-lv-details__button span::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-60%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #222;
  border-right: 2px solid #222;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-lv-details__button span::after {
    width: 1.75vw;
    height: 1.75vw;
    border-top: 0.5vw solid #222;
    border-right: 0.5vw solid #222;
  }
}

.p-lv-details__ctaArea {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaArea {
    margin-top: 10vw;
  }
}

.p-lv-details__ctaTitle {
  color: #fff;
  background-color: #828282;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.78;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaTitle {
    font-size: 1.4rem;
  }
}

.p-lv-details__ctaInner {
  padding: 18px;
  background-color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaInner {
    padding: 2.5vw 2.5vw 3.5vw;
    padding: 2.5vw 0 3.5vw;
  }
}

.p-lv-details__ctaList {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-right: -20px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaList {
    display: flex;
    flex-wrap: wrap;
    align-items: normal;
    margin: 0 -2vw -2vw 0;
  }
}

.p-lv-details__ctaItem {
  margin-right: 20px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaItem {
    margin: 0 2vw 2vw 0;
  }
}

.p-lv-details__ctaLink {
  display: inline-block;
  position: relative;
  width: 242px;
  min-height: 85px;
  height: auto;
  background-color: #f07f00;
  padding: 8px 20px 10px;
  border-radius: 10px;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaLink {
    width: 41.5vw;
    min-height: 16.25vw;
    height: 100%;
    padding: 3.4vw 4vw 3vw 2vw;
    border-radius: 2.5vw;
  }
}

.p-lv-details__ctaLink::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-60%) rotate(45deg);
  width: 7px;
  height: 7px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaLink::after {
    width: 1.5vw;
    height: 1.5vw;
    border-right: 0.5vw solid #fff;
    border-bottom: 0.5vw solid #fff;
  }
}

.p-lv-details__ctaLink:hover {
  opacity: 0.6;
}

.p-lv-details__ctaShop {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaShop {
    font-size: 1.4rem;
    line-height: 1.2;
  }
}

.p-lv-details__ctaTag {
  display: inline-block;
  padding: 3px 5px 1px;
  background-color: #fff;
  color: #f07f00;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.1;
  margin-top: 4px;
}

@media screen and (max-width: 767px) {
  .p-lv-details__ctaTag {
    font-size: 1rem;
    padding: 0.8vw 0.75vw 0.5vw;
    margin-top: 1vw;
  }
}

@media screen and (min-width: 768px) {
  .p-lv-details__ctaTag--sm {
    font-size: 13px;
  }
}

.p-lv-shop {
  padding: 120px 0;
}

@media screen and (max-width: 767px) {
  .p-lv-shop {
    padding: 12.5vw 0 0;
  }
}

.p-lv-shop__title {
  position: relative;
  color: #f07f00;
  font-weight: bold;
  font-size: 36px;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__title {
    font-size: 2.2rem;
    line-height: 1.6;
  }
}

.p-lv-shop__title::before, .p-lv-shop__title::after {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.p-lv-shop__title::before {
  bottom: -70px;
  left: 0;
  width: 174px;
  height: 178px;
  background-image: url(/assets/images/lv/pc_left.png);
}

@media screen and (max-width: 767px) {
  .p-lv-shop__title::before {
    bottom: -40vw;
    left: -5vw;
    width: 28.5vw;
    height: 35.75vw;
    background-image: url(/assets/images/lv/sp_left.png);
    z-index: -1;
  }
}

.p-lv-shop__title::after {
  top: -28px;
  right: 0;
  width: 160px;
  height: 144px;
  background-image: url(/assets/images/lv/pc_right.png);
}

@media screen and (max-width: 767px) {
  .p-lv-shop__title::after {
    top: -7vw;
    right: -5vw;
    width: 16.5vw;
    height: 21.5vw;
    background-image: url(/assets/images/lv/sp_right.png);
    z-index: -1;
  }
}

.p-lv-shop__text {
  margin-top: 20px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__text {
    font-size: 1.4rem;
    line-height: 1.6;
    text-align: left;
  }
}

.p-lv-shop__list {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__list {
    margin: 12.5vw -5vw 0;
  }
}

.p-lv-shop__item {
  padding: 30px 36px;
  background-color: #f3eee7;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__item {
    padding: 0 0 12.5vw;
  }
}

.p-lv-shop__item + .p-lv-shop__item {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__item + .p-lv-shop__item {
    margin-top: 0;
  }
}

.p-lv-shop__topContainer {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__topContainer {
    flex-direction: column;
    align-items: center;
  }
}

.p-lv-shop__image {
  width: 320px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__image {
    width: 100%;
  }
}

.p-lv-shop__detailsInner {
  display: flex;
  margin-top: 10px;
}

.p-lv-shop__detailsContainer {
  width: 582px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__detailsContainer {
    width: 64.75vw;
  }
}

.p-lv-shop__details {
  margin-left: 20px;
  width: 748px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__details {
    margin-left: 0;
    padding: 3.5vw 5vw 0;
    width: 100%;
  }
}

.p-lv-shop__detailsTitle {
  position: relative;
  font-size: 28px;
  font-weight: bold;
  padding-bottom: 4px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__detailsTitle {
    font-size: 2.2rem;
    padding-bottom: 1.5vw;
  }
}

.p-lv-shop__detailsTitle::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #f07f00;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-lv-shop__detailsTitle::after {
    height: 0.5vw;
  }
}

.p-lv-shop__address {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__address {
    font-size: 1.4rem;
  }
}

.p-lv-shop__address::before {
  background-image: url(/assets/images/lv/icon1.png);
}

@media screen and (max-width: 767px) {
  .p-lv-shop__address._negative-mr-sp {
    margin-right: -8vw;
  }
}

.p-lv-shop__address--map {
  display: inline-block;
  position: relative;
  padding: 0 8px;
  margin-left: 12px;
  border-radius: 5px;
  color: #fff;
  background-color: #f07f00;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__address--map {
    margin-left: 2.5vw;
    padding: 0.5vw 2vw 0;
    border-radius: 1.25vw;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

.p-lv-shop__address--map span {
  padding-right: 12px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__address--map span {
    padding-right: 2.5vw;
  }
}

.p-lv-shop__address--map:hover {
  opacity: 0.6;
}

.p-lv-shop__time {
  font-size: 14px;
}

.p-lv-shop__time::before {
  background-image: url(/assets/images/lv/icon2.png);
}

.p-lv-shop__time--bold {
  display: inline-block;
  font-weight: bold;
  margin-left: 6px;
}

.p-lv-shop__staff {
  width: 140px;
  margin-left: 26px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__staff {
    width: 25vw;
    margin-top: 14vw;
    margin-left: 0;
  }
}

.p-lv-shop__staff._twoLayout {
  margin-top: 40px;
  margin-left: 6px;
  width: 100px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__staff._twoLayout {
    display: block;
    margin-top: 2vw;
    margin-left: 2vw;
  }
}

.p-lv-shop__staff._twoLayout figcaption {
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__staff._twoLayout figcaption {
    font-size: 1.2rem;
  }
}

.p-lv-shop__staff figcaption {
  margin-top: 4px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__staff figcaption {
    margin-top: 1.5vw;
    font-size: 1.3rem;
  }
}

.p-lv-shop__bottomContainer {
  margin-top: 32px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__bottomContainer {
    margin: 5vw 5vw 0;
  }
}

.p-lv-shop__carHandling {
  display: inline-block;
  padding: 5px 20px;
  background-color: #828282;
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__carHandling {
    display: block;
    padding: 1.25vw;
    text-align: center;
  }
}

.p-lv-shop__carList {
  display: flex;
  justify-content: center;
  padding-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__carList {
    padding: 3vw 2.5vw 4.5vw;
    flex-direction: column;
  }
}

.p-lv-shop__carItem {
  display: flex;
  width: 342px;
  padding-bottom: 28px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__carItem {
    width: 100%;
    padding-bottom: 0;
  }
}

.p-lv-shop__carItem._inline-flex {
  display: inline-flex;
  width: auto;
}

.p-lv-shop__carItem img {
  width: 167px;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__carItem img {
    width: 41.75vw;
  }
}

.p-lv-shop__carInfo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: 8px;
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__carInfo {
    margin-left: 1.25vw;
    padding-top: 4vw;
  }
}

.p-lv-shop__carName {
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__carName {
    font-size: 1.6rem;
    line-height: 1.2;
  }
}

.p-lv-shop__carTag {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  padding: 4px 6px 1px;
  line-height: 1.2;
  background-color: #00a0df;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__carTag {
    margin-top: 1.25vw;
    font-size: 1.4rem;
    padding: 0.75vw 1.5vw;
  }
}

.p-lv-shop__buttonArea {
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__buttonArea {
    margin-top: 5vw;
  }
}

.p-lv-shop__button {
  position: relative;
  display: inline-block;
  padding: 16px 45px 16px 42px;
  background-color: #fff;
  color: #222;
  border: 1px solid #222;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-lv-shop__button {
    padding: 3.5vw 4.5vw;
    width: 78.75vw;
    margin: 0 auto;
    font-size: 1.4rem;
    border: 0.45vw solid #222;
  }
}

.p-lv-shop__button::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-60%) rotate(-45deg);
  width: 8px;
  height: 8px;
  border-right: 2px solid #222;
  border-bottom: 2px solid #222;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-lv-shop__button::after {
    right: 5vw;
    width: 2vw;
    height: 2vw;
    border-right: 0.5vw solid #222;
    border-bottom: 0.5vw solid #222;
  }
}

.p-lv-shop__button:hover {
  opacity: 0.6;
}

.p-lv-shop-contact {
  display: flex;
  margin-top: 6px;
  padding: 11px 0 9px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact {
    flex-direction: column;
    align-items: center;
    width: 59.25vw;
    padding: 4.5vw 3.75vw 5vw;
    text-align: center;
  }
}

.p-lv-shop-contact._short {
  padding: 11px 0 9px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact._short {
    margin-top: 10vw;
    padding: 4.5vw 3.75vw 5vw;
    width: 59.25vw;
  }
}

.p-lv-shop-contact__inner {
  width: 48.8%;
  padding: 12px 6px 2px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__inner {
    width: 100%;
    padding: 0;
  }
}

.p-lv-shop-contact__inner._short-pr {
  width: 49.3%;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__inner._short-pr {
    width: 100%;
    padding: 0;
  }
}

.p-lv-shop-contact__inner + .p-lv-shop-contact__inner {
  width: 51.2%;
  padding: 12px 6px;
  border-left: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__inner + .p-lv-shop-contact__inner {
    width: 100%;
    margin-top: 2vw;
    padding: 0;
    border-top: 1px solid #ccc;
    border-left: 0;
  }
}

.p-lv-shop-contact__inner + .p-lv-shop-contact__inner._short-pl {
  width: 50.7%;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__inner + .p-lv-shop-contact__inner._short-pl {
    width: 100%;
    padding: 0;
  }
}

.p-lv-shop-contact__tel {
  display: inline-block;
  margin-bottom: 6px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__tel {
    display: inline-block;
    margin-bottom: 0;
    font-size: 1.4rem;
  }
}

.p-lv-shop-contact__tel::before {
  background-image: url(/assets/images/lv/icon3.png);
}

.p-lv-shop-contact__telLink {
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  color: #222;
  transition: 0.3s opacity;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-lv-shop-contact__telLink {
    pointer-events: none;
  }
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__telLink {
    font-size: 2.4rem;
  }
}

.p-lv-shop-contact__telLink:hover {
  opacity: 0.6;
}

.p-lv-shop-contact__web {
  display: inline-block;
  margin-bottom: 4px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__web {
    display: inline-block;
    margin: 2.5vw 0 0.5vw;
    font-size: 1.4rem;
  }
}

.p-lv-shop-contact__web::before {
  background-image: url(/assets/images/lv/icon4.png);
}

.p-lv-shop-contact__webButton {
  display: inline-block;
  padding: 8px 20px 6px;
  background-color: #f07f00;
  color: #fff;
  border-radius: 10px;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__webButton {
    border-radius: 2.5vw;
    padding: 1vw 3vw;
  }
}

.p-lv-shop-contact__webButton:hover {
  opacity: 0.6;
}

.p-lv-shop-contact__webButtonText {
  display: inline-block;
  padding-right: 20px;
}

@media screen and (max-width: 767px) {
  .p-lv-shop-contact__webButtonText {
    font-size: 1.4rem;
    padding-right: 3.75vw;
  }
}

.lv-icon {
  position: relative;
  padding-left: 19px;
}

@media screen and (max-width: 767px) {
  .lv-icon {
    padding-left: 4.75vw;
  }
}

.lv-icon::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  width: 15px;
  height: 15px;
  content: "";
}

@media screen and (max-width: 767px) {
  .lv-icon::before {
    width: 3.75vw;
    height: 3.75vw;
  }
}

.lv-arrow {
  display: inline-block;
  position: relative;
}

.lv-arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-60%) rotate(-45deg);
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .lv-arrow::after {
    width: 1.75vw;
    height: 1.75vw;
    border-right: 0.5vw solid #fff;
    border-bottom: 0.5vw solid #fff;
  }
}

.p-notfound {
  padding: 50px 0 100px;
}

@media screen and (max-width: 767px) {
  .p-notfound {
    padding: 10vw 0;
  }
}

.p-notfound__heading {
  font-weight: bold;
  font-size: 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-notfound__heading {
    font-size: 2.4rem;
  }
}

.p-notfound__text {
  margin-top: 56px;
  font-size: 15px;
  letter-spacing: normal;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-notfound__text {
    margin-top: 10vw;
    font-size: 1.5rem;
    text-align: left;
  }
}

.p-notfound__text + .p-notfound__text {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .p-notfound__text + .p-notfound__text {
    margin-top: 4vw;
  }
}

.p-notfound__button {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-notfound__button {
    margin-top: 12.5vw;
  }
}

.p-notfound__button .c-button {
  display: block;
  width: 240px;
  margin: 0 auto;
  padding: 16px 32px;
}

@media screen and (max-width: 767px) {
  .p-notfound__button .c-button {
    width: 60vw;
    padding: 4vw 8vw;
  }
}

.p-notfound__button .c-button::after {
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-notfound__button .c-button::after {
    right: 5vw;
    width: 2.5vw;
    height: 2.5vw;
    border-top: 0.5vw solid #fff;
    border-right: 0.5vw solid #fff;
  }
}

@media screen and (min-width: 768px) {
  .p-philosophy {
    padding-bottom: 88px;
  }
}

@media screen and (max-width: 767px) {
  .p-philosophy {
    padding-top: 8vw;
  }
}

@media screen and (max-width: 767px) {
  .p-philosophy__heading {
    font-size: 2.5rem;
  }
}

.p-philosophy__text {
  margin-top: 48px;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: normal;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-philosophy__text {
    margin-top: 10vw;
    font-size: 2.2rem;
    line-height: normal;
  }
}

.p-philosophy-values {
  margin-top: 96px;
}

@media screen and (max-width: 767px) {
  .p-philosophy-values {
    margin-top: 16vw;
  }
}

.p-philosophy-values__heading {
  padding: 24px 0;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-philosophy-values__heading {
    padding: 6vw 0 2vw;
  }
}

.p-philosophy-values__list {
  margin-top: 40px;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-philosophy-values__list {
    margin-top: 8vw;
  }
}

.p-philosophy-values__term {
  padding: 12px 20px;
  background: #f6f6f6;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .p-philosophy-values__term {
    padding: 2vw 2.5vw;
    font-size: 1.8rem;
  }
}

.p-philosophy-values__term:nth-of-type(n+2) {
  margin-top: 14px;
}

@media screen and (max-width: 767px) {
  .p-philosophy-values__term:nth-of-type(n+2) {
    margin-top: 4vw;
  }
}

.p-philosophy-values__desc {
  padding: 16px 20px;
  font-size: 15px;
  line-height: 1.53;
}

@media screen and (max-width: 767px) {
  .p-philosophy-values__desc {
    padding: 3vw 2.5vw;
    font-size: 1.4rem;
    line-height: normal;
  }
}

.p-sdgs {
  display: block;
  padding: 50px 0 100px;
}

@media screen and (max-width: 767px) {
  .p-sdgs {
    padding: 10vw 0;
  }
}

.p-sdgs-info__text {
  font-size: 15px;
  text-align: center;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-sdgs-info__text {
    font-size: 1.5rem;
    text-align: left;
  }
}

.p-sdgs-info__text + .p-sdgs-info__text {
  margin-top: 18px;
}

@media screen and (max-width: 767px) {
  .p-sdgs-info__text + .p-sdgs-info__text {
    margin-top: 4.75vw;
  }
}

.p-sdgs-info__image {
  margin-top: 70px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-sdgs-info__image {
    margin-top: 10.5vw;
  }
}

.p-sdgs-info__image img {
  width: 900px;
}

@media screen and (max-width: 767px) {
  .p-sdgs-info__image img {
    width: 79vw;
  }
}

.p-sdgs-effort__environment {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__environment {
    margin-top: 7.5vw;
  }
}

.p-sdgs-effort__heading {
  width: 100%;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__heading {
    width: 89.5vw;
    margin: 0 5vw;
  }
}

.p-sdgs-effort__title {
  padding: 14px 20px;
  font-weight: normal;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__title {
    padding: 2vw 3.75vw 1.25vw;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__list {
    padding: 0 0 0 5vw;
  }
}

.p-sdgs-effort__list--pattern-b {
  flex-wrap: wrap;
  margin: 0 -21px -24px 0;
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__list--pattern-b {
    margin: 0;
    padding: 0 0 0 5vw;
  }
}

.p-sdgs-effort__item:hover {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .p-sdgs-effort__item + .p-sdgs-effort__item {
    margin-left: 21px;
  }
}

.p-sdgs-effort__item--pattern-b {
  margin: 0 21px 24px 0;
}

.p-sdgs-effort__item--pattern-b:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__item--pattern-b {
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__inner {
    padding-right: 5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__image {
    display: inline-block;
    margin-right: 5vw;
  }
}

.p-sdgs-effort__item-title {
  margin-top: 15px;
  color: #343434;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__item-title {
    font-size: 1.6rem;
    margin-top: 2.5vw;
  }
}

.p-sdgs-effort__item-text {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.53;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .p-sdgs-effort__item-text {
    margin-top: 1.5vw;
    font-size: 1.5rem;
  }
}

.lp-single {
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .lp-single {
    font-size: 1.5rem;
  }
}

.lp-single h1 {
  margin-bottom: 48px;
  font-weight: bold;
  font-size: 34px;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .lp-single h1 {
    margin-bottom: 6vw;
    font-size: 2.4rem;
  }
}

.lp-single h1 + * {
  margin-top: 0 !important;
}

.lp-single h2 {
  position: relative;
  margin-top: 64px;
  margin-bottom: 32px;
  padding-top: 28px;
  padding-bottom: 20px;
  border-bottom: 1px dotted #c1c1c1;
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .lp-single h2 {
    margin-top: 9vw;
    margin-bottom: 7vw;
    padding-top: 6vw;
    padding-bottom: 2.5vw;
    font-size: 2rem;
  }
}

.lp-single h2::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
  height: 6px;
  background-color: #c3002f;
  content: "";
}

@media screen and (max-width: 767px) {
  .lp-single h2::before {
    width: 13.5vw;
    height: 1.5vw;
  }
}

.lp-single h3 {
  margin: 40px 0 28px;
  padding: 16px 20px 15px;
  background: #f6f6f6;
  font-weight: normal;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .lp-single h3 {
    margin: 7vw 0 5vw;
    padding: 3vw 4vw;
    font-size: 1.7rem;
  }
}

.lp-single h3 + h4 {
  margin-top: 0;
}

.lp-single h3 + img {
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .lp-single h3 + img {
    margin-top: 6vw;
  }
}

.lp-single h4 {
  margin-top: 34px;
  margin-bottom: 12px;
  font-weight: bold;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .lp-single h4 {
    margin-top: 6vw;
    margin-bottom: 3vw;
    font-size: 1.6rem;
  }
}

.lp-single h4 + ol,
.lp-single h4 + ul {
  margin-top: 0;
}

.lp-single p {
  margin-top: 16px;
  margin-bottom: 16px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .lp-single p {
    margin-top: 4vw;
    margin-bottom: 3vw;
    font-size: 1.5rem;
    line-height: 1.6;
  }
}

.lp-single a {
  color: #c3002f;
  text-decoration: underline;
}

.lp-single a:hover {
  text-decoration: none;
}

.lp-single ul,
.lp-single ol {
  margin-top: 16px;
  margin-bottom: 16px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .lp-single ul,
  .lp-single ol {
    margin-top: 3vw;
    margin-bottom: 3vw;
  }
}

.lp-single ul li {
  position: relative;
  padding-left: 1em;
}

.lp-single ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
}

.lp-single ol {
  list-style-type: decimal;
}

.lp-single ol li {
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .lp-single ol li {
    margin-left: 5vw;
  }
}

.lp-single img {
  display: block;
  margin-top: 40px;
  margin-bottom: 34px;
}

@media screen and (max-width: 767px) {
  .lp-single img {
    margin-top: 7vw;
    margin-bottom: 5vw;
  }
}

.lp-single img.alignleft {
  margin-right: auto;
}

.lp-single img.aligncenter {
  margin-right: auto;
  margin-left: auto;
}

.lp-single img.alignright {
  margin-left: auto;
}

.lp-single img + * {
  margin-top: 0;
}

.lp-single blockquote {
  margin: 16px 0;
  padding: 13px 20px 12px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .lp-single blockquote {
    margin: 3vw 0;
    padding: 2vw 3vw;
    border-radius: 1.25vw;
    font-size: 1.4rem;
  }
}

.lp-single blockquote p {
  margin-top: 0;
  margin-bottom: 0;
  quotes: '”' '”';
}

.lp-single blockquote p::before {
  content: open-quote;
}

.lp-single blockquote p::after {
  content: close-quote;
}

.lp-single .text-10 {
  font-size: 10px;
}

@media screen and (max-width: 767px) {
  .lp-single .text-10 {
    font-size: 1rem;
  }
}

.lp-single .text-12 {
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .lp-single .text-12 {
    font-size: 1.2rem;
  }
}

.lp-single .text-14 {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .lp-single .text-14 {
    font-size: 1.4rem;
  }
}

.lp-single .text-16 {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .lp-single .text-16 {
    font-size: 1.6rem;
  }
}

.lp-single .text-18 {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .lp-single .text-18 {
    font-size: 1.8rem;
  }
}

.lp-single .text-20 {
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .lp-single .text-20 {
    font-size: 2rem;
  }
}

.lp-single .text-24 {
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .lp-single .text-24 {
    font-size: 2.4rem;
  }
}

.lp-single .single-button {
  display: grid;
  position: relative;
  width: 372px;
  height: 80px;
  margin: 52px auto 72px;
  padding: 0 60px;
  background: #c3002f;
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  text-decoration: none;
  text-align: center;
  place-content: center;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .lp-single .single-button {
    width: 89.1%;
    height: 17vw;
    margin: 6vw auto 15vw;
    font-size: 1.4rem;
  }
}

.lp-single .single-button:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.lp-single .single-button::after {
  position: absolute;
  top: 50%;
  content: "";
}

.lp-single .single-button--arrow::after {
  right: 30px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

@media screen and (max-width: 767px) {
  .lp-single .single-button--arrow::after {
    right: 8.5vw;
    width: 2.5vw;
    height: 2.5vw;
  }
}

.lp-single .single-button--window::after {
  right: 24px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(/assets/images/common/external-icon.svg) no-repeat center/contain;
}

@media screen and (max-width: 767px) {
  .lp-single .single-button--window::after {
    right: 8.5vw;
    width: 5vw;
    height: 5vw;
  }
}

.lp-single .l-inner > *:last-child, .lp-single .l-inner--pattern-f > *:last-child, .lp-single .l-inner--pattern-h > *:last-child {
  margin-bottom: 0;
}

.lp-single .l-inner > *:last-child > *, .lp-single .l-inner--pattern-f > *:last-child > *, .lp-single .l-inner--pattern-h > *:last-child > * {
  margin-bottom: 0;
}

.top-section {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .top-section {
    margin-top: 10vw;
  }
}

@media screen and (max-width: 767px) {
  .top-section-inner {
    padding: 0;
    overflow: hidden;
  }
}

.top-section-title {
  padding-bottom: 16px;
  border-bottom: 1px dotted #C1C1C1;
}

@media screen and (max-width: 767px) {
  .top-section-title {
    padding-bottom: 2.5vw;
  }
}

@media screen and (max-width: 767px) {
  .top-recommend__title {
    width: 90vw;
    margin-left: 5vw;
  }
}

@media screen and (max-width: 767px) {
  .top-list-wrapper {
    overflow-x: scroll;
  }
}

.top-list {
  display: flex;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .top-list {
    margin-top: 5vw;
    padding: 0 0 0 5vw;
  }
}

.p-contact {
  display: block;
  padding: 50px 0 100px;
  letter-spacing: normal;
}

.p-contact__section + .p-contact__section {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-contact__section + .p-contact__section {
    margin-top: 10vw;
  }
}

.p-contact__title {
  position: relative;
  padding-left: 62px;
  padding-bottom: 5px;
  font-size: 28px;
  border-bottom: 1px dotted #C1C1C1;
}

@media screen and (max-width: 767px) {
  .p-contact__title {
    padding-left: 10.75vw;
    padding-bottom: 1.6vw;
    font-size: 2rem;
    border-bottom: 0.25vw dotted #C1C1C1;
  }
}

.p-contact__title::before {
  position: absolute;
  top: -0.14em;
  left: 0;
  width: 50px;
  height: 48px;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-contact__title::before {
    width: 8.25vw;
    height: 7.75vw;
  }
}

.p-contact__title._menu::before {
  background-image: url(../images/contact/icon_title_contact-menu.svg);
}

.p-contact__title._counter::before {
  background-image: url(../images/contact/icon_title_contact-counter.svg);
}

.p-contact__title._faq::before {
  background-image: url(../images/contact/icon_title_contact-faq.svg);
}

.p-contact__menu-list {
  display: flex;
  flex-wrap: wrap;
  margin: 15px -15px -15px;
}

@media screen and (max-width: 767px) {
  .p-contact__menu-list {
    margin: 2.5vw -1.25vw -1.25vw;
  }
}

.p-contact__menu-item {
  width: calc(100% / 3 - 30px);
  margin: calc(30px / 2);
  border-radius: 5px;
  box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.08);
  border: solid 1px #ddd;
}

@media screen and (max-width: 767px) {
  .p-contact__menu-item {
    width: calc(100% / 2 - 2.5vw);
    margin: 1.25vw;
    border-radius: 1.25vw;
    box-shadow: 0.5vw 0.5vw 1.5vw 0 rgba(0, 0, 0, 0.08);
    border: solid 0.25vw #ddd;
  }
}

.p-contact__menu-link {
  display: inline-block;
  padding: 30px 35px 50px;
  text-align: center;
  width: 100%;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-contact__menu-link {
    padding: 3vw 4vw 7.5vw;
  }
}

@media screen and (min-width: 768px) {
  .p-contact__menu-link:hover {
    opacity: 0.6;
  }
}

.p-contact__menu-icon {
  width: 80px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-contact__menu-icon {
    width: 20vw;
  }
}

.p-contact__menu-title {
  margin-top: 6px;
  font-size: 22px;
  color: #343434;
}

@media screen and (max-width: 767px) {
  .p-contact__menu-title {
    margin-top: 0;
    font-size: 1.5rem;
  }
}

.p-contact__menu-text {
  margin-top: 12px;
  color: #343434;
}

@media screen and (max-width: 767px) {
  .p-contact__menu-text {
    margin-top: 1.5vw;
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.5;
  }
}

.p-contact__counter-list {
  display: flex;
  flex-wrap: wrap;
  margin: 15px -15px -15px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-list {
    margin: 0;
  }
}

.p-contact__counter-item {
  width: calc(100% / 2 - 30px);
  min-height: 239px;
  padding: 36px 40px;
  margin: 15px;
  background-color: #fcf3f5;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-item {
    width: 100%;
    min-height: auto;
    padding: 5vw;
    margin: 5vw 0 0;
  }
}

.p-contact__counter-title {
  position: relative;
  font-size: 24px;
  padding-bottom: 4px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-title {
    font-size: 1.8rem;
    padding-bottom: 0.8vw;
  }
}

.p-contact__counter-title::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #343434;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-contact__counter-title::after {
    height: 0.25vw;
  }
}

.p-contact__counter-title--small {
  display: inline-block;
  font-size: 15px;
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-title--small {
    font-size: 1.2rem;
    margin-left: 1.5vw;
  }
}

.p-contact__counter-inner {
  margin-top: 14px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-inner {
    margin-top: 4vw;
  }
}

.p-contact__counter-text {
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-text {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-contact__counter-text._chat {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-text._chat {
    margin-top: 2.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__counter-text._tel {
    margin-top: 0.6vw;
  }
}

.p-contact__counter-emphasis {
  font-size: 18px;
  font-weight: bold;
  color: #c3002f;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-emphasis {
    font-size: 1.6rem;
  }
}

.p-contact__counter-chat {
  display: flex;
  margin-top: 14px;
  padding: 16px 20px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-chat {
    flex-direction: column;
    align-items: center;
    margin-top: 2.5vw;
    padding: 3vw 5vw;
  }
}

.p-contact__counter-chat-text {
  width: 250px;
  margin-right: 10px;
  padding-top: 10px;
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-chat-text {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    padding-top: 0;
    line-height: 1.5;
  }
}

.p-contact__counter-chat-image {
  width: 190px;
  height: 68px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-chat-image {
    width: 47.5vw;
    height: 17vw;
  }
}

.p-contact__counter-button-area {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-button-area {
    margin-top: 2.5vw;
    text-align: center;
  }
}

.p-contact__counter-button {
  padding: 16px 66px 16px 40px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-button {
    padding: 4vw 14vw 4vw 6.5vw;
    font-size: 1.5rem;
  }
}

.p-contact__counter-button::after {
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-contact__counter-button::after {
    right: 5vw;
    width: 2.5vw;
    height: 2.5vw;
    border-top: 0.5vw solid #fff;
    border-right: 0.5vw solid #fff;
  }
}

.p-contact__counter-form-text {
  margin-top: 22px;
  padding-left: 1em;
  font-size: 14px;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-form-text {
    margin-top: 4vw;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-contact__counter-form-text ._underline {
  text-decoration: underline;
}

.p-contact__counter-tel {
  display: inline-block;
  font-size: 38px;
  font-weight: bold;
  color: #c3002f;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-tel {
    font-size: 3rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px) {
  .p-contact__counter-tel {
    pointer-events: none;
  }
}

.p-contact__counter-tel img {
  width: 46px;
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-tel img {
    width: 8vw;
  }
}

.p-contact__counter-tel span {
  margin-left: 10px;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-tel span {
    margin-left: 2.5vw;
  }
}

.p-contact__counter-cancel-text {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .p-contact__counter-cancel-text {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-contact__fap-list {
  margin-top: 30px;
  border-bottom: 1px solid #343434;
}

@media screen and (max-width: 767px) {
  .p-contact__fap-list {
    margin-top: 5vw;
    border-bottom: 0.25vw solid #343434;
  }
}

.p-contact__faq-term {
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .p-contact__faq-term {
    font-size: 1.6rem;
  }
}

.p-contact__faq-term::before {
  position: absolute;
  background-color: #c3002f;
  content: "Q";
}

.p-contact__faq-term::after {
  position: absolute;
  top: 12px;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #343434;
  border-bottom: 2px solid #343434;
  transform: rotate(45deg);
  transition: transform 0.3s;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-contact__faq-term::after {
    top: 5vw;
    right: 2.25vw;
    width: 2.5vw;
    height: 2.5vw;
    border-right: 0.75vw solid #343434;
    border-bottom: 0.75vw solid #343434;
  }
}

.p-contact__faq-term.open::after {
  transform: rotate(-135deg);
}

.p-contact__faq-description {
  display: none;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .p-contact__faq-description {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-contact__faq-description::before {
  position: absolute;
  background-color: #343434;
  content: "A";
}

.p-contact__faq-term, .p-contact__faq-description {
  position: relative;
  padding: 6px 0 30px 59px;
}

@media screen and (max-width: 767px) {
  .p-contact__faq-term, .p-contact__faq-description {
    padding: 0 8vw 4vw 14.75vw;
  }
}

.p-contact__faq-term::before, .p-contact__faq-description::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  padding-top: 7px;
  border-radius: 100vmax;
  color: #fff;
  font-size: 18px;
  font-weight: normal;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-contact__faq-term::before, .p-contact__faq-description::before {
    width: 10vw;
    height: 10vw;
    padding-top: 1.5vw;
    font-size: 1.8rem;
  }
}

.p-contact__faq-link {
  display: inline-block;
  color: #c3002f;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .p-contact__faq-link:hover {
    text-decoration: none;
  }
}

.p-antivirus {
  line-height: 1.5;
  letter-spacing: normal;
}

.p-antivirus img {
  height: auto;
}

.p-antivirus .c-fixed__btnsArea.hasTransition {
  transition: opacity 0.5s;
}

.p-antivirus .c-fixed__btnsArea.is-hidden {
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
  transition-property: opacity, visibility;
}

.p-antivirus .c-fixed__btns {
  bottom: 150px;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .p-antivirus .c-fixed__btns {
    bottom: 0;
  }
}

.p-antivirus-mv {
  height: 400px;
  padding-top: 68px;
  background-image: url(../images/event/2302service-antivirus/mv_bg_pc.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .p-antivirus-mv {
    height: 91.25vw;
    padding-top: 12vw;
    background-image: url(../images/event/2302service-antivirus/mv_bg_sp.jpg);
  }
}

@media screen and (max-width: 767px) {
  .p-antivirus-mv__inner {
    padding: 0;
  }
}

.p-antivirus-mv__title {
  max-width: 1126px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-mv__title {
    max-width: auto;
    width: 92.25vw;
    margin: 0 auto;
  }
}

.p-antivirus-contents {
  padding: 40px 0 80px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-contents {
    padding: 6.25vw 0 12vw;
  }
}

.p-antivirus-contents__inner {
  padding: 48px 50px 80px;
  background-image: url(../images/event/2302service-antivirus/bg_blue_pc.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .p-antivirus-contents__inner {
    padding: 7.25vw 5vw 9vw;
    background-image: url(../images/event/2302service-antivirus/bg_blue_sp.png);
  }
}

.p-antivirus-introduction {
  margin-top: 64px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-introduction {
    margin-top: 12vw;
  }
}

.p-antivirus-introduction__title {
  margin: 0 auto;
  max-width: 510px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-antivirus-introduction__title {
    max-width: auto;
    width: 76.5vw;
  }
}

.p-antivirus-introduction__wrapper {
  margin: 24px auto 0;
  max-width: 815px;
  padding: 24px 29px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-antivirus-introduction__wrapper {
    margin: 4vw auto 0;
    max-width: auto;
    width: 80vw;
    padding: 2vw;
  }
}

.p-antivirus-feature {
  margin-top: 80px;
  padding: 40px 45px;
  background-color: #0055c5;
}

@media screen and (max-width: 767px) {
  .p-antivirus-feature {
    margin-top: 12vw;
    padding: 4vw 2vw 2vw;
  }
}

.p-antivirus-feature__title {
  font-size: 40px;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-antivirus-feature__title {
    font-size: 2.4rem;
  }
}

.p-antivirus-feature__list {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-feature__list {
    margin-top: 2.5vw;
  }
}

.p-antivirus-feature__item + .p-antivirus-feature__item {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-feature__item + .p-antivirus-feature__item {
    margin-top: 2vw;
  }
}

.p-antivirus-proof {
  max-width: 900px;
  margin: 80px auto 0;
}

@media screen and (max-width: 767px) {
  .p-antivirus-proof {
    max-width: auto;
    width: 100%;
    margin: 12vw auto 0;
  }
}

.p-antivirus-price {
  max-width: 895px;
  margin: 64px auto 0;
}

@media screen and (max-width: 767px) {
  .p-antivirus-price {
    max-width: auto;
    margin: 10.25vw auto 0;
  }
}

.p-antivirus-price__title {
  width: 124px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-antivirus-price__title {
    width: 20vw;
  }
}

.p-antivirus-price__table {
  max-width: 895px;
  margin: 26px auto 0;
}

@media screen and (max-width: 767px) {
  .p-antivirus-price__table {
    overflow-x: scroll;
    max-width: auto;
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-antivirus-price__table-inner {
    display: block;
    width: 209.25vw;
    padding-bottom: 2vw;
  }
}

.p-antivirus-price__note {
  margin-top: 10px;
  font-size: 11px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-price__note {
    margin-top: 2.5vw;
    font-size: 1.1rem;
  }
}

.p-antivirus-consultation {
  margin-top: 64px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-consultation {
    margin-top: 12vw;
  }
}

.p-antivirus-consultation__title {
  width: 542px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-antivirus-consultation__title {
    width: 80.25vw;
  }
}

.p-antivirus-consultation__button-area {
  display: flex;
  justify-content: center;
  margin-top: 13px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-consultation__button-area {
    flex-direction: column;
    align-items: center;
    margin-top: 5.5vw;
  }
}

.p-antivirus-consultation__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 372px;
  height: 80px;
  background-color: #434343;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  transition: 0.3s opacity;
}

@media screen and (max-width: 767px) {
  .p-antivirus-consultation__button {
    width: 80vw;
    height: 17vw;
    font-size: 1.4rem;
  }
}

.p-antivirus-consultation__button::after {
  position: absolute;
  top: 50%;
  right: 22px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  content: "";
}

@media screen and (max-width: 767px) {
  .p-antivirus-consultation__button::after {
    right: 5.5vw;
    width: 2.5vw;
    height: 2.5vw;
    border-width: 0.5vw;
  }
}

@media screen and (min-width: 768px) {
  .p-antivirus-consultation__button:hover {
    opacity: 0.7;
  }
}

.p-antivirus-consultation__button + .p-antivirus-consultation__button {
  margin-left: 36px;
}

@media screen and (max-width: 767px) {
  .p-antivirus-consultation__button + .p-antivirus-consultation__button {
    margin-top: 4vw;
    margin-left: 0;
  }
}

.p-customize {
  font-family: "メイリオ", "Meiryo", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
  font-weight: 400;
  letter-spacing: normal;
}

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

.p-customize-mv {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-mv {
    flex-direction: column;
  }
}

.p-customize-mv__image {
  width: 58.54%;
}

@media screen and (max-width: 767px) {
  .p-customize-mv__image {
    width: 100%;
  }
}

.p-customize-mv__inner {
  position: relative;
  width: 41.46%;
}

@media screen and (max-width: 767px) {
  .p-customize-mv__inner {
    position: static;
    width: 100%;
  }
}

.p-customize-mv__container {
  position: absolute;
  top: 50%;
  left: 12%;
  transform: translateY(-31%);
  max-width: 578px;
  padding-right: 40px;
}

@media screen and (max-width: 1660px) {
  .p-customize-mv__container {
    left: 10%;
    transform: translateY(-43%);
    max-width: 516px;
  }
}

@media screen and (max-width: 767px) {
  .p-customize-mv__container {
    position: static;
    transform: none;
    max-width: 100%;
    margin-top: 8vw;
    padding-right: 5vw;
    padding-left: 5vw;
  }
}

.p-customize-mv__catch {
  font-size: 44px;
  line-height: 1.59;
  letter-spacing: 2.64px;
}

@media screen and (max-width: 1660px) {
  .p-customize-mv__catch {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .p-customize-mv__catch {
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: 1.56px;
  }
}

.p-customize-mv__text {
  margin-top: 32px;
  font-size: 18px;
  line-height: 2;
}

@media screen and (max-width: 1660px) {
  .p-customize-mv__text {
    font-size: 16px;
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-customize-mv__text {
    margin-top: 2.5vw;
    font-size: 1.5rem;
    line-height: 1.8;
  }
}

.p-customize-anchor {
  padding: 90px 0 70px;
}

@media screen and (max-width: 767px) {
  .p-customize-anchor {
    padding: 17.5vw 0 15vw;
  }
}

.p-customize-anchor__list {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-customize-anchor__list {
    flex-direction: column;
    align-items: center;
  }
}

.p-customize-anchor__item {
  width: 378px;
  min-height: 98px;
}

@media screen and (max-width: 767px) {
  .p-customize-anchor__item {
    width: 94.5vw;
    min-height: auto;
  }
}

.p-customize-anchor__link {
  display: block;
  position: relative;
  padding: 30px 10px 26px 0;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.96px;
  transition: 0.5s opacity;
}

@media screen and (max-width: 767px) {
  .p-customize-anchor__link {
    padding: 8vw 0 8.4vw;
    font-size: 1.6rem;
  }
}

.p-customize-anchor__link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 378px;
  height: 98px;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-customize-anchor__link::before {
    width: 94.5vw;
    height: 24.5vw;
  }
}

.p-customize-anchor__link._enjoy {
  color: #4b2f21;
}

.p-customize-anchor__link._enjoy::before {
  background-image: url(../images/event/customize/anchor_enjoy_bg.png);
}

.p-customize-anchor__link._custom {
  color: #fff;
}

.p-customize-anchor__link._custom::before {
  background-image: url(../images/event/customize/anchor_custom_bg.png);
}

.p-customize-anchor__link._business {
  color: #fff;
}

.p-customize-anchor__link._business::before {
  background-image: url(../images/event/customize/anchor_business_bg.png);
}

.p-customize-anchor__link--green {
  color: #5d8e49;
}

.p-customize-anchor__link--red {
  color: #c72100;
}

.p-customize-anchor__link--orange {
  color: #e57235;
}

@media screen and (min-width: 768px) {
  .p-customize-anchor__link:hover {
    opacity: 0.7;
  }
}

.p-customize-section {
  padding: 190px 0 120px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-customize-section {
    padding: 25vw 0 20vw;
  }
}

.p-customize-section._enjoy {
  background-color: #e3d2ac;
  background-image: url(../images/event/customize/enjoy-title-en.png);
  background-position: 51% -22px;
  background-size: 461px;
}

@media screen and (max-width: 767px) {
  .p-customize-section._enjoy {
    background-position: 51% -12vw;
    background-size: 77.5vw;
  }
}

.p-customize-section._custom {
  background-color: #484848;
  background-image: url(../images/event/customize/custom-title-en.png);
  background-position: 52% -33px;
  background-size: 470px;
}

@media screen and (max-width: 767px) {
  .p-customize-section._custom {
    background-position: 51% -12vw;
    background-size: 77.5vw;
  }
}

.p-customize-section._business {
  background-color: #1aa1dc;
  background-image: url(../images/event/customize/business-title-en.png);
  background-position: 51% -32px;
  background-size: 538px;
}

@media screen and (max-width: 767px) {
  .p-customize-section._business {
    background-size: 88.75vw;
  }
}

.p-customize-section__title {
  font-size: 50px;
  letter-spacing: 3px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-customize-section__title {
    font-size: 3rem;
    letter-spacing: 1.8px;
  }
}

.p-customize-section__title._brown {
  color: #4b2f21;
}

.p-customize-section__title._white {
  color: #fff;
}

.p-customize-section__title--green {
  color: #5d8e49;
}

.p-customize-section__title--red {
  color: #c72100;
}

.p-customize-section__title--orange {
  color: #e57235;
}

.p-customize-section__text {
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.89;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-customize-section__text {
    margin-top: 2vw;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

.p-customize-section__text._white {
  color: #fff;
}

.p-customize-enjoy {
  margin-top: 76px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy {
    margin-top: 9vw;
  }
}

.p-customize-enjoy__item {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__item {
    flex-direction: column;
    align-items: center;
  }
}

.p-customize-enjoy__item:nth-child(2n) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__item:nth-child(2n) {
    flex-direction: column;
  }
}

.p-customize-enjoy__item:nth-child(2n) .p-customize-enjoy__image {
  margin-right: -14px;
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__item:nth-child(2n) .p-customize-enjoy__image {
    margin-right: 0;
  }
}

.p-customize-enjoy__item:nth-child(2n) .p-customize-enjoy__container {
  margin-right: 40px;
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__item:nth-child(2n) .p-customize-enjoy__container {
    margin-right: 0;
  }
}

.p-customize-enjoy__item + .p-customize-enjoy__item {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__item + .p-customize-enjoy__item {
    margin-top: 5vw;
  }
}

.p-customize-enjoy__container {
  padding-top: 45px;
  margin-left: 40px;
  max-width: 499px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__container {
    padding-top: 0;
    margin-left: 0;
    max-width: 100%;
  }
}

.p-customize-enjoy__image {
  width: 100%;
}

.p-customize-enjoy__image._01 {
  max-width: 634px;
  margin-left: -13px;
  margin-top: -18px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__image._01 {
    max-width: none;
    width: 100vw;
    margin: -7vw -5vw 0;
  }
}

.p-customize-enjoy__image._02 {
  max-width: 635px;
  margin-left: -13px;
  margin-top: -26px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__image._02 {
    max-width: none;
    width: 100vw;
    margin: 1vw -5vw 0;
  }
}

.p-customize-enjoy__image._03 {
  max-width: 629px;
  margin-left: -13px;
  margin-top: -18px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__image._03 {
    max-width: none;
    width: 100vw;
    margin: 1vw -5vw 0;
  }
}

.p-customize-enjoy__image._04 {
  max-width: 635px;
  margin-top: -26px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__image._04 {
    max-width: none;
    width: 100vw;
    margin: 1vw -5vw 0;
  }
}

.p-customize-enjoy__comment._01 {
  width: 382px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__comment._01 {
    width: 87.5vw;
  }
}

.p-customize-enjoy__comment._02 {
  width: 434px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__comment._02 {
    width: 79.5vw;
  }
}

.p-customize-enjoy__comment._03 {
  width: 161px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__comment._03 {
    width: 36.5vw;
  }
}

.p-customize-enjoy__comment._04 {
  width: 316px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__comment._04 {
    width: 71.64vw;
  }
}

.p-customize-enjoy__title {
  width: 486px;
  min-height: 86px;
  margin-left: -7px;
  padding: 26px 0 15px;
  background-image: url(../images/event/customize/enjoy-section-title-bg_pc.png);
  color: #fff;
  font-size: 28px;
  text-align: center;
  line-height: 1.18;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__title {
    width: 89.5vw;
    min-height: 17.5vw;
    margin-left: -2vw;
    padding: 5.25vw 0;
    background-image: url(../images/event/customize/enjoy-section-title-bg_sp.png);
    font-size: 2.1rem;
  }
}

.p-customize-enjoy__text {
  margin-top: 8px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__text {
    margin-top: 1.5vw;
  }
}

.p-customize-enjoy__thumnail-wrapper {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__thumnail-wrapper {
    overflow-x: scroll;
    margin-top: 3.5vw;
    margin-right: -5vw;
  }
}

.p-customize-enjoy__thumnail-list {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__thumnail-list {
    width: 118.5vw;
    margin-right: 5vw;
  }
}

.p-customize-enjoy__thumnail-item {
  width: 150px;
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__thumnail-item {
    width: 37.5vw;
  }
}

.p-customize-enjoy__thumnail-item + .p-customize-enjoy__thumnail-item {
  margin-left: 24px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__thumnail-item + .p-customize-enjoy__thumnail-item {
    margin-left: 3vw;
    box-shadow: 0 0.75vw 3vw 0 rgba(0, 0, 0, 0.16);
  }
}

@media screen and (min-width: 768px) {
  .p-customize-enjoy__thumnail-item:hover {
    cursor: pointer;
  }
  .p-customize-enjoy__thumnail-item:hover img {
    filter: brightness(80%);
  }
}

.p-customize-enjoy__thumnail-item img {
  transition: 0.3s filter;
}

.p-customize-enjoy__thumnail-note-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__thumnail-note-sp {
    display: block;
    margin-top: 2vw;
    font-size: 1rem;
  }
}

.p-customize-enjoy__button-area {
  margin-top: 36px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__button-area {
    margin-top: 4vw;
  }
}

.p-customize-enjoy__button {
  display: inline-block;
  width: 194px;
  color: #5d8e49;
  background-color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  padding: 10px 0 8px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__button {
    width: 48.5vw;
    font-size: 1.6rem;
    padding: 2.25vw 0 2vw;
  }
}

.p-customize-enjoy__button:hover {
  color: #fff;
  background-color: #5d8e49;
}

.p-customize-enjoy__button:hover .p-customize-enjoy__button-text::after {
  background-image: url(../images/event/customize/icon-detail-white.svg);
}

.p-customize-enjoy__button-text {
  position: relative;
  display: inline-block;
}

.p-customize-enjoy__button-text::after {
  display: inline-block;
  position: absolute;
  top: 2px;
  right: -14px;
  width: 9px;
  height: 9px;
  content: "";
  background-image: url(../images/event/customize/icon-detail-green.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__button-text::after {
    width: 2.25vw;
    height: 2.25vw;
    top: 0.1em;
    right: -2.8vw;
  }
}

.p-customize-enjoy__note {
  font-size: 10px;
  display: inline-block;
  margin-left: 8px;
  vertical-align: bottom;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__note {
    display: block;
    margin-top: 2vw;
    margin-left: 0;
    font-size: 1rem;
  }
}

.p-customize-enjoy__others {
  margin-top: 100px;
  padding-top: 54px;
  background-image: url(../images/event/customize/enjoy-others-bg_pc.png);
  background-repeat: no-repeat;
  background-size: contain;
  min-height: 464px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__others {
    margin-top: 18vw;
    padding-top: 18vw;
    background-image: url(../images/event/customize/enjoy-others-bg_sp.png);
    min-height: 240.75vw;
  }
}

.p-customize-enjoy__others-title {
  text-align: center;
}

.p-customize-enjoy__others-decoration {
  display: inline-block;
  position: relative;
  padding: 0 34px;
  font-size: 24px;
  color: #4b2f21;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__others-decoration {
    font-size: 1.8rem;
    padding: 0 5vw;
  }
}

.p-customize-enjoy__others-decoration::before, .p-customize-enjoy__others-decoration::after {
  position: absolute;
  top: -0.2em;
  width: 27px;
  height: 42px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__others-decoration::before, .p-customize-enjoy__others-decoration::after {
    top: 0;
    width: 4vw;
    height: 6.25vw;
  }
}

.p-customize-enjoy__others-decoration::before {
  left: 0;
  background-image: url(../images/event/customize/decoration-left.png);
}

.p-customize-enjoy__others-decoration::after {
  right: 0;
  background-image: url(../images/event/customize/decoration-right.png);
}

.p-customize-enjoy__others-image {
  margin: 22px auto 0;
  max-width: 1084px;
}

@media screen and (max-width: 767px) {
  .p-customize-enjoy__others-image {
    margin: 0 auto;
    max-width: 100%;
    width: 88vw;
  }
}

.p-customize-search {
  margin-top: 85px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-customize-search {
    margin-top: 14vw;
  }
}

.p-customize-search__text {
  display: inline-block;
  position: relative;
  margin-bottom: 16px;
  padding: 0 30px;
  font-size: 22px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-customize-search__text {
    margin-bottom: 2.8vw;
    padding: 0 8vw;
    font-size: 1.8rem;
    line-height: 1.5;
  }
}

.p-customize-search__text._white {
  color: #fff;
}

.p-customize-search__text._white::before {
  background-image: url(../images/event/customize/decoration-left-white-small.png);
}

.p-customize-search__text._white::after {
  background-image: url(../images/event/customize/decoration-right-white-small.png);
}

.p-customize-search__text._brown {
  color: #4b2f21;
}

.p-customize-search__text::before, .p-customize-search__text::after {
  position: absolute;
  top: -0.2em;
  width: 23.5px;
  height: 36px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .p-customize-search__text::before, .p-customize-search__text::after {
    width: 5.88vw;
    height: 9vw;
    top: 0.7em;
  }
}

.p-customize-search__text::before {
  left: 0;
  background-image: url(../images/event/customize/decoration-left-small.png);
}

.p-customize-search__text::after {
  right: 0;
  background-image: url(../images/event/customize/decoration-right-small.png);
}

.p-customize-search__button {
  display: inline-block;
  position: relative;
}

.p-customize-search__button::before {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  z-index: 3;
  width: 17px;
  height: 25px;
  background-image: url(../images/event/customize/customize-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  transition: 0.3s transform;
}

@media screen and (max-width: 767px) {
  .p-customize-search__button::before {
    right: 5vw;
    width: 3vw;
    height: 4vw;
  }
}

.p-customize-search__button::after {
  position: absolute;
  bottom: -6px;
  right: -5px;
  z-index: 1;
  width: 638px;
  height: 83px;
  background-image: url(../images/event/customize/button-bg-border_pc.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-customize-search__button::after {
    bottom: -1.5vw;
    right: -1vw;
    width: 87vw;
    height: 16.25vw;
    background-image: url(../images/event/customize/button-bg-border_sp.jpg);
  }
}

@media screen and (min-width: 768px) {
  .p-customize-search__button:hover .p-customize-search__button--text {
    transform: translate(6px, 6px);
  }
}

@media screen and (min-width: 768px) {
  .p-customize-search__button:hover::before {
    transform: translate(6px, calc(-50% + 6px));
  }
}

.p-customize-search__button--text {
  display: inline-block;
  position: relative;
  z-index: 2;
  padding: 26px 0 28px;
  width: 645px;
  text-align: center;
  background-color: #ef9732;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  transition: transform 0.3s;
}

@media screen and (max-width: 767px) {
  .p-customize-search__button--text {
    font-size: 2.1rem;
    padding: 5vw 0 3.5vw;
    width: 89vw;
  }
}

.p-customize-maker {
  position: relative;
  margin-top: 70px;
  color: #4b2f21;
}

@media screen and (max-width: 767px) {
  .p-customize-maker {
    margin-top: 15vw;
  }
}

@media screen and (max-width: 767px) {
  .p-customize-maker._custom {
    margin-top: 11vw;
  }
}

.p-customize-maker__container {
  display: block;
  position: relative;
  padding: 25px 26px 24px 30px;
  border-radius: 9px;
  background-color: #f6f0e4;
  margin-left: auto;
  width: 300px;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__container {
    width: 59.5vw;
    padding: 4vw;
    border-radius: 2.25vw;
  }
}

.p-customize-maker__container._custom-maker {
  position: relative;
  background-color: #706c6c;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__container._custom-maker {
    width: 59.5vw;
  }
}

.p-customize-maker__list {
  display: flex;
  position: relative;
  justify-content: center;
  padding: 30px 0;
  background-color: #363636;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__list {
    flex-direction: column;
    align-items: center;
    width: 67.5vw;
    padding: 6vw 0;
    margin-left: auto;
  }
}

.p-customize-maker__list::before {
  position: absolute;
  top: -16px;
  left: 16px;
  z-index: 1;
  width: 80px;
  height: 38px;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-customize-maker__list::before {
    width: 11.5vw;
    height: 5.5vw;
    top: -2vw;
    left: 0;
  }
}

.p-customize-maker__list._enjoy {
  background-color: #cfbb97;
}

.p-customize-maker__list._enjoy::before {
  background-image: url(../images/event/customize/maker-green.png);
}

.p-customize-maker__list._custom {
  background-color: #363636;
}

.p-customize-maker__list._custom::before {
  background-image: url(../images/event/customize/maker-white.png);
}

.p-customize-maker__item + .p-customize-maker__item {
  margin-left: 16px;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__item + .p-customize-maker__item {
    margin-left: 0;
    margin-top: 2vw;
  }
}

.p-customize-maker__text {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__text {
    font-size: 1.2rem;
  }
}

.p-customize-maker__text._match-height {
  height: 3.2em;
}

.p-customize-maker__bottom {
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__bottom {
    margin-top: 1vw;
  }
}

.p-customize-maker__name {
  display: inline-block;
  margin-right: 30px;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__name {
    margin-right: 1.4vw;
    font-size: 1.4rem;
  }
}

.p-customize-maker__button {
  display: inline-block;
  padding: 7px 14px 5px;
}

@media screen and (max-width: 767px) {
  .p-customize-maker__button {
    font-size: 1.3rem;
    padding: 1vw 4.25vw;
  }
}

.p-customize-maker__button._green {
  background-color: #5d8e49;
  color: #fff;
}

.p-customize-maker__button._green:hover {
  background-color: #fff;
  color: #5d8e49;
}

.p-customize-maker__button._white {
  background-color: #fff;
  color: #c72100;
}

.p-customize-maker__button._white:hover {
  background-color: #c72100;
  color: #fff;
}

.p-customize-custom {
  margin-top: 176px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom {
    margin-top: 10vw;
  }
}

.p-customize-custom__item._01 {
  position: relative;
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__item._01 {
    flex-direction: column;
  }
}

.p-customize-custom__item._01::after {
  position: absolute;
  top: -100px;
  right: 0;
  z-index: 0;
  width: 351px;
  height: 152px;
  content: "";
  background-image: url(../images/event/customize/custom-01-title-en.png);
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__item._01::after {
    background-image: none;
  }
}

.p-customize-custom__item._02 {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__item._02 {
    margin-top: 10.75vw;
  }
}

.p-customize-custom__item._03 {
  margin-top: 48px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__item._03 {
    margin-top: 7.5vw;
  }
}

.p-customize-custom__main-image {
  width: 484px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__main-image {
    width: 100vw;
    margin-right: -5vw;
    margin-left: -5vw;
  }
}

.p-customize-custom__main-image--wide {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__main-image--wide {
    width: 100vw;
    margin-left: -5vw;
    margin-right: -5vw;
  }
}

.p-customize-custom__main-image--wide._02 {
  width: calc(100% + 17px);
  margin-right: -17px;
}

.p-customize-custom__main-image--wide._03 {
  width: calc(100% + 19px);
  margin-left: -19px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__main-image--wide._02, .p-customize-custom__main-image--wide._03 {
    width: 100vw;
    margin-left: -5vw;
    margin-right: -5vw;
  }
}

.p-customize-custom__container {
  margin-left: 39px;
  padding-top: 12px;
  max-width: 477px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__container {
    margin-left: 0;
    max-width: 100%;
    padding-top: 0;
  }
}

.p-customize-custom__container--wide {
  max-width: 100%;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__container--wide {
    flex-direction: column;
  }
}

.p-customize-custom__container--wide._mt8 {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__container--wide._mt8 {
    margin-top: 0;
  }
}

.p-customize-custom__container--wide._end {
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__container--wide._end {
    justify-content: flex-start;
  }
}

.p-customize-custom__title {
  position: relative;
  z-index: 1;
  margin-left: -7px;
  width: 412px;
  min-height: 86px;
  height: auto;
  font-size: 28px;
  line-height: 1.04;
  padding: 30px 0 14px;
  text-align: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/event/customize/custom-title-bg_pc.png);
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__title {
    width: 89.5vw;
    min-height: 17.5vw;
    padding: 5.5vw 0;
    background-image: url(../images/event/customize/custom-title-bg_sp.png);
    font-size: 2.1rem;
  }
}

.p-customize-custom__title--small {
  position: relative;
  z-index: 1;
  margin-left: -7px;
  font-size: 18px;
  width: 284px;
  min-height: 70px;
  padding: 24px 0 14px;
  text-align: center;
  line-height: 1.04;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/event/customize/custom-title-bg-small_pc.png);
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__title--small {
    margin-left: -2vw;
    padding: 6vw 0;
    width: 71vw;
    min-height: 17.5vw;
    background-image: url(../images/event/customize/custom-title-bg-small_sp.png);
    font-size: 1.8rem;
  }
}

.p-customize-custom__text {
  color: #fff;
  margin-top: 4px;
}

.p-customize-custom__text--middle {
  color: #fff;
  width: calc(100% - 284px);
}

@media screen and (max-width: 767px) {
  .p-customize-custom__text--middle {
    width: 100%;
  }
}

.p-customize-custom__text--middle._illeguler {
  width: calc(100% - 327px);
}

@media screen and (max-width: 767px) {
  .p-customize-custom__text--middle._illeguler {
    width: 100%;
  }
}

.p-customize-custom__thumnail {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__thumnail {
    overflow-x: scroll;
    margin-right: -5vw;
    margin-top: 4vw;
  }
}

.p-customize-custom__thumnail-list {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__thumnail-list {
    width: 113vw;
    margin-right: 5vw;
  }
}

.p-customize-custom__thumnail-item {
  width: 220px;
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-customize-custom__thumnail-item {
    width: 55vw;
    box-shadow: 0 0.75vw 3vw 0 rgba(0, 0, 0, 0.16);
  }
}

.p-customize-custom__thumnail-item + .p-customize-custom__thumnail-item {
  margin-left: 37px;
}

@media screen and (max-width: 767px) {
  .p-customize-custom__thumnail-item + .p-customize-custom__thumnail-item {
    margin-left: 3vw;
  }
}

.p-customize-business {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-customize-business {
    margin-top: 10vw;
  }
}

.p-customize-business__main-content {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-business__main-content {
    flex-direction: column;
  }
}

.p-customize-business__main-image {
  width: 484px;
}

@media screen and (max-width: 767px) {
  .p-customize-business__main-image {
    width: 100%;
  }
}

.p-customize-business__main-image img {
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-customize-business__main-image img {
    box-shadow: 0 0.75vw 3vw 0 rgba(0, 0, 0, 0.16);
  }
}

@media screen and (max-width: 767px) {
  .p-customize-business__main-image {
    width: 100%;
  }
}

.p-customize-business__container {
  margin-left: 39px;
  max-width: 477px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-customize-business__container {
    margin-top: 2vw;
    margin-left: 0;
    max-width: 100%;
  }
}

.p-customize-business__title {
  position: relative;
  z-index: 1;
  margin-left: -7px;
  width: 494px;
  min-height: 86px;
  height: auto;
  font-size: 28px;
  line-height: 1.04;
  padding: 30px 0 14px;
  text-align: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/event/customize/business-title-bg_pc.png);
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-customize-business__title {
    width: 89.5vw;
    min-height: 17.5vw;
    padding: 5.5vw 0;
    background-image: url(../images/event/customize/business-title-bg_sp.png);
    font-size: 2.1rem;
  }
}

.p-customize-business__sub-title {
  position: relative;
  z-index: 1;
  margin-left: -20px;
  margin-bottom: -42px;
  padding: 20px 0 12px;
  width: 264px;
  min-height: 62px;
  height: auto;
  font-size: 20px;
  line-height: 1.04;
  text-align: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/event/customize/business-bg-white_pc.png);
  color: #e57235;
}

@media screen and (max-width: 767px) {
  .p-customize-business__sub-title {
    padding: 5vw 0;
    width: 66vw;
    min-height: 15.5vw;
    background-image: url(../images/event/customize/business-bg-white_sp.png);
    font-size: 2rem;
  }
}

.p-customize-business__text {
  color: #fff;
}

.p-customize-business__text._center {
  text-align: center;
}

.p-customize-business__thumnail {
  margin-top: 18px;
}

@media screen and (max-width: 767px) {
  .p-customize-business__thumnail {
    overflow-x: scroll;
    margin-right: -5vw;
    margin-top: 4vw;
  }
}

.p-customize-business__thumnail-list {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-business__thumnail-list {
    width: 113vw;
    margin-right: 5vw;
  }
}

.p-customize-business__thumnail-item {
  width: 220px;
}

@media screen and (max-width: 767px) {
  .p-customize-business__thumnail-item {
    width: 55vw;
  }
}

.p-customize-business__thumnail-item img {
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-customize-business__thumnail-item img {
    box-shadow: 0 0.75vw 3vw 0 rgba(0, 0, 0, 0.16);
  }
}

.p-customize-business__thumnail-item + .p-customize-business__thumnail-item {
  margin-left: 37px;
}

@media screen and (max-width: 767px) {
  .p-customize-business__thumnail-item + .p-customize-business__thumnail-item {
    margin-left: 3vw;
  }
}

.p-customize-business__thumnail-text {
  color: #fff;
  font-size: 13px;
  line-height: 1.54;
  margin-top: 2px;
}

@media screen and (max-width: 767px) {
  .p-customize-business__thumnail-text {
    font-size: 1.3rem;
  }
}

.p-customize-business__bottom-wrapper {
  margin-top: 66px;
}

@media screen and (max-width: 767px) {
  .p-customize-business__bottom-wrapper {
    margin-top: 10vw;
  }
}

.p-customize-business__list {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -10px 0;
}

@media screen and (max-width: 767px) {
  .p-customize-business__list {
    margin: 0;
    flex-direction: column;
    align-items: center;
  }
}

.p-customize-business__item {
  width: 320px;
  padding: 0 0 0 10px;
  margin: 10px 10px 0;
}

@media screen and (max-width: 767px) {
  .p-customize-business__item {
    width: 80vw;
    padding: 0 0 0 2.5vw;
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-customize-business__item + .p-customize-business__item {
    margin-top: 2vw;
  }
}

.p-customize-business__item img {
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-customize-business__item img {
    box-shadow: 0 0.75vw 3vw 0 rgba(0, 0, 0, 0.16);
  }
}

.p-customize-business__sub-text {
  color: #fff;
  margin-top: 6px;
}

.p-customize-nta {
  padding: 40px 0 42px;
  background-color: #ebe5dc;
}

@media screen and (max-width: 767px) {
  .p-customize-nta {
    padding: 6vw 0 8vw;
  }
}

.p-customize-nta__inner {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-customize-nta__inner {
    flex-direction: column;
  }
}

.p-customize-nta__fukidashi-wrapper {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .p-customize-nta__fukidashi-wrapper {
    margin-right: 0;
  }
}

.p-customize-nta__fukidashi {
  position: relative;
  color: #343434;
  font-size: 14px;
  font-weight: bold;
  background-image: url(../images/event/customize/nta-fukidashi-bg_pc.png);
  width: 178px;
  padding: 12px 0 10px;
  text-align: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .p-customize-nta__fukidashi {
    background-image: url(../images/event/customize/nta-fukidashi-bg_sp.png);
    width: 42.5vw;
    height: 14.25vw;
    font-size: 1.4rem;
    padding: 3vw 2vw 5vw 0;
  }
}

.p-customize-nta__container {
  display: flex;
  width: calc(100% - 194px);
}

@media screen and (max-width: 767px) {
  .p-customize-nta__container {
    margin-top: 2vw;
    width: 100%;
  }
}

.p-customize-nta__image {
  width: 114px;
}

@media screen and (max-width: 767px) {
  .p-customize-nta__image {
    width: 22.25vw;
  }
}

.p-customize-nta__text {
  width: calc(100% - 142px);
  line-height: 1.5;
  margin-left: 28px;
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .p-customize-nta__text {
    width: 62vw;
    margin-left: 5vw;
    font-size: 1.5rem;
  }
}

/* Modal Area */
.noscroll {
  overflow: hidden;
}

.customize-modalArea {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.customize-modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}

.customize-modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%);
  width: 100%;
  max-width: calc(800px + 120px);
  padding: 0 60px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

@media screen and (max-width: 767px) {
  .customize-modalWrapper {
    max-width: 100%;
    height: auto;
    padding: 0;
    transform: translate(-50%, -60%);
  }
}

.customize-modalWrapper::-webkit-scrollbar {
  display: none;
}

.customize-modalInner {
  position: relative;
  margin-top: 60px;
  cursor: default;
}

@media screen and (max-width: 767px) {
  .customize-modalInner {
    margin-top: 15vw;
    cursor: default;
  }
}

.c-customizeModal {
  display: none;
  max-width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .c-customizeModal {
    max-width: 100%;
    width: 100vw;
  }
}

/* Modal Area : Close Button */
.customize-closeModalTop {
  position: absolute;
  display: inline-block;
  top: -60px;
  right: 0;
  width: 60px;
  height: 60px;
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

@media screen and (max-width: 767px) {
  .customize-closeModalTop {
    top: -10vw;
    right: 1vw;
    width: 10vw;
    height: 10vw;
  }
}

.customize-closeModalTop--line {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.customize-closeModalTop--line::before,
.customize-closeModalTop--line::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 58px;
  background-color: #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .customize-closeModalTop--line::before,
  .customize-closeModalTop--line::after {
    width: 1vw;
    height: 10vw;
  }
}

.customize-closeModalTop--line::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.customize-closeModalTop--line::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.customize-arrow {
  pointer-events: auto;
  display: block !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .customize-arrow {
    width: 8vw;
    height: 8vw;
    background-color: rgba(30, 30, 30, 0.8);
    border-radius: 100vmax;
  }
}

.customize-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  content: '';
}

@media screen and (max-width: 767px) {
  .customize-arrow::before {
    width: 3vw;
    height: 3vw;
    border-top: 1vw solid #fff;
    border-right: 1vw solid #fff;
  }
}

.customize-prevArrow {
  left: -40px;
}

@media screen and (max-width: 767px) {
  .customize-prevArrow {
    left: 2vw;
  }
}

.customize-prevArrow::before {
  transform: translate(-50%, -50%) rotate(225deg);
}

@media screen and (max-width: 767px) {
  .customize-prevArrow::before {
    transform: translate(-35%, -50%) rotate(225deg);
  }
}

.customize-nextArrow {
  right: -40px;
}

@media screen and (max-width: 767px) {
  .customize-nextArrow {
    right: 2vw;
  }
}

.customize-nextArrow::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .customize-nextArrow::before {
    transform: translate(-65%, -50%) rotate(45deg);
  }
}

.p-tire {
  color: #000;
  letter-spacing: normal;
}

.p-tire__section {
  padding: 90px 0 110px;
}

@media screen and (max-width: 767px) {
  .p-tire__section {
    padding: 16vw 0;
  }
}

.p-tire__section--blue {
  background: #eaf6fb;
}

.p-tire__section--lightBlue {
  background: #f5fcff;
}

.p-tire__heading {
  font-weight: bold;
  font-size: 42px;
  line-height: normal;
  letter-spacing: 0.06em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire__heading {
    font-size: 3.2rem;
  }
}

.p-tire__fukidashi {
  display: inline-block;
  position: relative;
  border-radius: 40px;
  background: #fff;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi {
    border-radius: 10vw;
  }
}

.p-tire__fukidashi::before, .p-tire__fukidashi::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}

.p-tire__fukidashi::before {
  z-index: 2;
}

.p-tire__fukidashi::after {
  z-index: 1;
}

.p-tire__fukidashi--gray {
  width: 100%;
  margin-bottom: 24px;
  padding-top: 2px;
  border: 2px solid #7d7d7d;
  font-size: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--gray {
    margin-bottom: 4vw;
    font-size: 1.2rem;
  }
}

.p-tire__fukidashi--gray::before, .p-tire__fukidashi--gray::after {
  width: 14px;
  height: 10px;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--gray::before, .p-tire__fukidashi--gray::after {
    width: 3.5vw;
    height: 2.5vw;
  }
}

.p-tire__fukidashi--gray::before {
  bottom: -10px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--gray::before {
    bottom: -2.2vw;
  }
}

.p-tire__fukidashi--gray::after {
  bottom: -14px;
  width: 16px;
  height: 12px;
  background: #7d7d7d;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--gray::after {
    bottom: -3.2vw;
    width: 4vw;
    height: 3vw;
  }
}

.p-tire__fukidashi--blue {
  width: 680px;
  margin-bottom: 24px;
  padding: 12px 0 10px;
  border: 3px solid #1165af;
  color: #1165af;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--blue {
    width: 100%;
    margin-bottom: 6vw;
    padding: 2.5vw 0;
    font-size: 1.8rem;
  }
}

.p-tire__fukidashi--blue .text-sm {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--blue .text-sm {
    font-size: 1.3rem;
  }
}

.p-tire__fukidashi--blue::before, .p-tire__fukidashi--blue::after {
  width: 20px;
  height: 16px;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--blue::before, .p-tire__fukidashi--blue::after {
    width: 4vw;
    height: 3vw;
  }
}

.p-tire__fukidashi--blue::before {
  bottom: -14px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--blue::before {
    bottom: -2.5vw;
  }
}

.p-tire__fukidashi--blue::after {
  bottom: -19px;
  background: #1165af;
}

@media screen and (max-width: 767px) {
  .p-tire__fukidashi--blue::after {
    bottom: -3.5vw;
  }
}

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

.p-tire__voice span {
  display: inline-block;
  position: relative;
  padding: 0 26px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-tire__voice span {
    padding: 0 7.5vw;
    font-size: 1.5rem;
  }
}

.p-tire__voice span::before,
.p-tire__voice span::after {
  position: absolute;
  top: 10px;
  width: 20px;
  height: 2px;
  border-top: 2px solid #000;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-tire__voice span::before,
  .p-tire__voice span::after {
    top: 2.25vw;
    width: 4vw;
  }
}

.p-tire__voice span::before {
  left: 0;
  transform: rotate(62deg);
}

.p-tire__voice span::after {
  right: 0;
  transform: rotate(-62deg);
}

.p-tire-buttons {
  display: flex;
  margin-top: 18px;
  justify-content: center;
  column-gap: 36px;
}

@media screen and (max-width: 767px) {
  .p-tire-buttons {
    display: block;
    margin-top: 5vw;
  }
}

.p-tire-buttons__link {
  display: grid;
  position: relative;
  width: 372px;
  height: 80px;
  background: #f3a200;
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  text-align: center;
  place-content: center;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  .p-tire-buttons__link {
    width: 80vw;
    height: 17.25vw;
    margin: 0 auto;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-buttons__link + .p-tire-buttons__link {
    margin-top: 4vw;
  }
}

.p-tire-buttons__link:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

.p-tire-buttons__link::after {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-tire-buttons__link::after {
    right: 8.5vw;
  }
}

.p-tire__mv img {
  width: 100%;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-tire__mv img {
    height: auto;
    aspect-ratio: 1 / 1.2;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-problem {
    padding-top: 9vw;
  }
}

.p-tire-problem__box {
  position: relative;
  padding: 56px 72px;
  border-radius: 40px;
  background: #fff;
  filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.1));
}

@media screen and (max-width: 767px) {
  .p-tire-problem__box {
    padding: 10vw 5vw;
    border-radius: 10vw;
  }
}

.p-tire-problem__box::after {
  position: absolute;
  bottom: -44px;
  left: 50%;
  transform: translateX(-50%);
  width: 108px;
  height: 44px;
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}

@media screen and (max-width: 767px) {
  .p-tire-problem__box::after {
    bottom: -5vw;
    width: 7.5vw;
    height: 5vw;
  }
}

.p-tire-problem__heading {
  font-weight: bold;
  font-size: 42px;
  letter-spacing: 0.06em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire-problem__heading {
    font-size: 2rem;
  }
}

.p-tire-problem__heading .text-yellow {
  color: #f3a200;
}

.p-tire-problem__worries {
  display: grid;
  margin-top: 36px;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 28px;
}

@media screen and (max-width: 767px) {
  .p-tire-problem__worries {
    margin-top: 5vw;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 6vw;
  }
}

.p-tire-problem__caution {
  margin-top: 80px;
  color: #004f95;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.95;
  letter-spacing: 0.06em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire-problem__caution {
    margin-top: 10vw;
    font-size: 2.2rem;
    line-height: 1.82;
    letter-spacing: 0.04em;
  }
}

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

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

.p-tire-problem__caution .underline {
  display: inline-block;
  position: relative;
}

.p-tire-problem__caution .underline::after {
  position: absolute;
  bottom: 12px;
  left: 0;
  width: 100%;
  height: 2px;
  background-image: linear-gradient(to right, #004f95 3px, rgba(255, 255, 255, 0) 2px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 5px 2px;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-tire-problem__caution .underline::after {
    bottom: 5px;
  }
}

.p-tire-problem__caution .underline--overflowHide::after {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 18px;
  height: 100%;
  background: #f5fcff;
  content: "";
}

.p-tire-problem__caution .text-yellow {
  color: #f3a200;
}

.p-tire-problem__links {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-tire-problem__links {
    margin-top: 11vw;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-problem__links .p-tire__voice span {
    display: block;
  }
}

.p-tire-problem__links .p-tire__voice span::before,
.p-tire-problem__links .p-tire__voice span::after {
  top: 30px;
  width: 35px;
}

@media screen and (max-width: 767px) {
  .p-tire-problem__links .p-tire__voice span::before,
  .p-tire-problem__links .p-tire__voice span::after {
    top: 12vw;
    width: 13vw;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-problem__links .p-tire-buttons {
    margin-top: 7vw;
  }
}

.p-tire-worry {
  display: flex;
  flex-direction: column;
}

.p-tire-worry__fukidashi {
  display: grid;
  height: 90px;
  border-radius: 12px;
  place-content: center;
}

@media screen and (max-width: 767px) {
  .p-tire-worry__fukidashi {
    height: 15vw;
    border-radius: 3vw;
    font-size: 1.2rem;
  }
}

.p-tire-worry__fukidashi .underline {
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #ffefb9 50%, #ffefb9 80%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0) 100%);
}

.p-tire-worry__fukidashi .text-sm {
  font-size: 17px;
}

@media screen and (max-width: 767px) {
  .p-tire-worry__fukidashi .text-sm {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-worry__image {
    width: 100%;
    height: 29vw;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-worry__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-tire-flow__steps {
  display: grid;
  margin-top: 40px;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 28px;
}

@media screen and (max-width: 767px) {
  .p-tire-flow__steps {
    margin-top: 7.5vw;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 8vw;
  }
}

.p-tire-step {
  position: relative;
  padding: 60px 32px 24px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 767px) {
  .p-tire-step {
    padding: 15.5vw 5vw 8vw;
    border-radius: 5vw;
  }
}

.p-tire-step:not(:last-of-type)::after {
  position: absolute;
  width: 11px;
  height: 22px;
  background: #004f95;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
}

@media screen and (min-width: 768px) {
  .p-tire-step:not(:last-of-type)::after {
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
  }
}

@media screen and (max-width: 767px) {
  .p-tire-step:not(:last-of-type)::after {
    bottom: -5vw;
    left: 50%;
    transform: translateX(-50%);
    width: 5.5vw;
    height: 2.75vw;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
            clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}

.p-tire-step__number {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 124px;
  padding: 8px 0 7px;
  border-radius: 20px 0;
  background: #1165af;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire-step__number {
    width: 31vw;
    border-radius: 5vw 0;
    font-size: 1.8rem;
  }
}

.p-tire-step__number .text-lg {
  font-size: 21px;
}

@media screen and (max-width: 767px) {
  .p-tire-step__number .text-lg {
    font-size: 2.1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-step__image {
    width: 80.3125%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-step__image img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.p-tire-step__title {
  margin-top: 20px;
  font-weight: bold;
  color: #1165af;
  font-size: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire-step__title {
    margin-top: 4vw;
    font-size: 2rem;
  }
}

.p-tire-step__text {
  margin-top: 2px;
  line-height: normal;
}

.p-tire-period__intro {
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire-period__intro {
    margin-top: 2vw;
  }
}

.p-tire-period__box {
  margin: 40px 100px 0;
  padding: 54px 70px 18px;
  border-radius: 27px;
  background: #fff;
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 767px) {
  .p-tire-period__box {
    margin: 6vw 0 0;
    padding: 8vw 5vw;
    border-radius: 6.75vw;
  }
}

.p-tire-period__list {
  display: flex;
  justify-content: space-between;
  column-gap: 80px;
}

@media screen and (max-width: 767px) {
  .p-tire-period__list {
    display: block;
  }
}

.p-tire-period__note {
  margin-top: 28px;
}

@media screen and (max-width: 767px) {
  .p-tire-period__note {
    margin-top: 7vw;
  }
}

.p-tire-period__note li {
  padding-left: 1em;
  font-size: 12px;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .p-tire-period__note li {
    font-size: 1.2rem;
    line-height: 1.8;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-period__note span {
    display: block;
  }
}

.p-tire-contract {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-tire-contract + .p-tire-contract {
    margin-top: 6vw;
  }
}

.p-tire-contract__period {
  margin-bottom: 16px;
  padding: 7px 0 6px;
  border-radius: 24px;
  background: #1165af;
  color: #fff;
  font-weight: bold;
  font-size: 22px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire-contract__period {
    margin-bottom: 4vw;
    padding: 1vw 0;
    border-radius: 5vw;
    font-size: 2rem;
  }
}

.p-tire-contract__storage {
  display: flex;
  font-size: 20px;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-tire-contract__storage {
    font-size: 1.7rem;
  }
}

.p-tire-contract__storage span {
  display: inline-block;
  position: relative;
  z-index: 2;
  padding: 0 5px;
  background: #fff;
}

.p-tire-contract__storage .margin {
  padding-top: 8px;
}

@media screen and (max-width: 767px) {
  .p-tire-contract__storage .margin {
    padding-top: 1.5vw;
  }
}

.p-tire-contract__storage .text-sm {
  display: block;
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  .p-tire-contract__storage .text-sm {
    font-size: 1.3rem;
  }
}

.p-tire-contract__storage .text-lg {
  color: #1165af;
  font-weight: bold;
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .p-tire-contract__storage .text-lg {
    font-size: 2.3rem;
  }
}

.p-tire-contract__storage .whitespace--lg {
  padding-left: calc(1em + 5px);
}

.p-tire-contract__dots {
  position: relative;
}

.p-tire-contract__dots::before {
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  height: 2px;
  z-index: 1;
  border-top: 2px dotted #1165af;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-tire-contract__dots::before {
    top: 4vw;
  }
}

.p-tire-contract__dots--low {
  align-items: flex-start;
}

.p-tire-price__voice {
  width: 139px;
  margin: 0 auto 8px;
}

@media screen and (max-width: 767px) {
  .p-tire-price__voice {
    width: 33.75vw;
    height: 6.5vw;
    margin-bottom: 2vw;
  }
}

.p-tire-price__voice img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-tire-price__note {
  margin-top: 28px;
  padding-left: 1em;
  font-size: 12px;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .p-tire-price__note {
    margin-top: 5vw;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-price__note span {
    display: block;
  }
}

.p-tire-price__caution {
  margin-top: 70px;
  color: #1165af;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-tire-price__caution {
    margin-top: 5vw;
    font-size: 1.7rem;
    line-height: 2;
  }
}

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

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

.p-tire-price__caution .underline {
  display: inline-block;
  position: relative;
}

.p-tire-price__caution .underline::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-image: linear-gradient(to right, #1165af 4px, rgba(255, 255, 255, 0) 3px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 7px 3px;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-tire-price__caution .underline::after {
    bottom: 5px;
  }
}

.p-tire-price__caution .text-red {
  color: #af1111;
}

.p-tire-price__links {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .p-tire-price__links {
    margin-top: 8vw;
  }
}

.p-tire-details {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-tire-details {
    margin-top: 6vw;
  }
}

.p-tire-details--02 {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-tire-details--02 {
    margin-top: 12.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-details--02 .p-tire__fukidashi {
    padding: 5.5vw 0;
  }
}

.p-tire-details__term {
  text-align: center;
}

.p-tire-details__table {
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 767px) {
  .p-tire-details__table {
    overflow: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-details__tableImage img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-details__tableImage--01 {
    width: 103.25vw;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-tire-details__tableImage--02 {
    width: 225vw;
    height: auto;
  }
}

.p-tire-qa__heading {
  font-family: "Hiragino Kaku Gothic W7";
}

.p-tire-qa__line {
  margin-top: 40px;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .p-tire-qa__line {
    margin-top: 8vw;
    font-size: 1.6rem;
  }
}

.p-tire-qa__line + .p-tire-qa__line {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-tire-qa__line + .p-tire-qa__line {
    margin-top: 4vw;
  }
}

.p-tire-qa__q, .p-tire-qa__a {
  position: relative;
  padding: 18px 42px 17px 76px;
}

.p-tire-qa__q::before, .p-tire-qa__a::before {
  display: grid;
  position: absolute;
  top: 14px;
  left: 28px;
  width: 32px;
  height: 32px;
  padding-top: 3px;
  padding-left: 1px;
  border-radius: 50%;
  font-weight: 600;
  font-size: 17px;
  line-height: 1;
  font-family: "Hiragino Kaku Gothic W7";
  place-content: center;
}

@media screen and (max-width: 767px) {
  .p-tire-qa__q::before, .p-tire-qa__a::before {
    top: 4.5vw;
    left: 5vw;
    width: 7vw;
    height: 7vw;
    padding-top: 0;
    padding-left: 0;
    font-size: 1.6rem;
  }
}

.p-tire-qa__q {
  border-radius: 10px 10px 0 0;
  background: #1165af;
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-tire-qa__q {
    padding: 4vw 5vw 4vw 14.5vw;
    border-radius: 2.5vw 2.5vw 0 0;
  }
}

.p-tire-qa__q::before {
  background: #fff;
  color: #1165af;
  content: "Q";
}

.p-tire-qa__a {
  border-radius: 0 0 10px 10px;
  background: #fff;
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .p-tire-qa__a {
    padding: 5vw 5vw 5vw 14.5vw;
    border-radius: 0 0 2.5vw 2.5vw;
  }
}

.p-tire-qa__a::before {
  background: #1165af;
  color: #fff;
  content: "A";
}

.p-tire-qa__links {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-tire-qa__links {
    margin-top: 11vw;
  }
}

.p-fd {
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-fd__heading {
    font-size: 2.5rem;
  }
}

.p-fd__introText {
  margin-top: 48px;
  font-size: 22px;
  line-height: 1.8;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-fd__introText {
    margin-top: 10vw;
    font-size: 2.2rem;
    line-height: 1.5;
  }
}

.p-fd__section {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-fd__section {
    margin-top: 17.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-fd__section + .p-fd__section {
    margin-top: 15vw;
  }
}

.p-fd__sectionTitle {
  padding-top: 28px;
}

@media screen and (max-width: 767px) {
  .p-fd__sectionTitle {
    padding-top: 6vw;
  }
}

.p-fd-policy__block {
  margin-top: 48px;
  padding: 12px 20px;
  background: #f6f6f6;
  font-size: 20px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-fd-policy__block {
    margin-top: 8vw;
    padding: 2vw 2.5vw;
    font-size: 1.8rem;
    line-height: 1.53;
  }
}

.p-fd-attempt {
  margin-top: 28px;
}

@media screen and (min-width: 768px) {
  .p-fd-attempt {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-fd-attempt {
    margin-top: 10vw;
  }
}

.p-fd-attempt__heading {
  display: inline-block;
  font-weight: bold;
  font-size: 18px;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media screen and (max-width: 767px) {
  .p-fd-attempt__heading {
    font-family: 1.8rem;
  }
}

.p-fd-attempt__term {
  margin-top: 28px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-fd-attempt__term {
    margin-top: 6vw;
  }
}

.p-fd-attempt__desc {
  margin-top: 6px;
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .p-fd-attempt__desc {
    margin-top: 1.5vw;
    font-size: 1.5rem;
  }
}

.p-solicitation {
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .p-solicitation__heading {
    font-size: 2.5rem;
  }
}

.p-solicitation__section {
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .p-solicitation__section {
    margin-top: 17.5vw;
  }
}

@media screen and (max-width: 767px) {
  .p-solicitation__section + .p-solicitation__section {
    margin-top: 10vw;
  }
}

@media screen and (min-width: 768px) {
  .p-solicitation__sectionTitle {
    padding-top: 28px;
  }
}

@media screen and (max-width: 767px) {
  .p-solicitation__sectionTitle {
    margin-bottom: 5vw;
    line-height: 1.3;
  }
}

.p-solicitation__tertiary {
  display: inline-block;
  font-weight: bold;
  font-size: 18px;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media screen and (min-width: 768px) {
  .p-solicitation__tertiary {
    margin-top: 28px;
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-solicitation__tertiary {
    font-size: 1.8rem;
  }
}

.p-solicitation-policy {
  margin-top: 16px;
}

@media screen and (min-width: 768px) {
  .p-solicitation-policy {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-solicitation-policy {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .p-solicitation-policy + .p-solicitation__tertiary {
    margin-top: 6vw;
  }
}

.p-solicitation-policy__item {
  padding-left: 1em;
  font-size: 15px;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .p-solicitation-policy__item {
    font-size: 1.5rem;
  }
}

.p-solicitation-policy__item + .p-solicitation-policy__item {
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .p-solicitation-policy__item + .p-solicitation-policy__item {
    margin-top: 1.5vw;
  }
}

.p-solicitation__note {
  margin-top: 72px;
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .p-solicitation__note {
    margin-top: 12vw;
    font-size: 1.5rem;
  }
}

.pb00 {
  padding-bottom: 0 !important;
}

.pt00 {
  padding-top: 0 !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt60 {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .mt60 {
    margin-top: 10vw;
  }
}

.clearfix::after {
  clear: both;
  display: block;
  content: "";
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .inner {
    padding-right: 3.33vw;
    padding-left: 3.33vw;
  }
}

svg {
  max-width: 100%;
  vertical-align: middle;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.maint__smTabText {
  display: block;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .maint__smTabText {
    margin-top: 2px;
    font-size: 1.2rem;
    line-height: 1.2;
  }
}

.ttl-lower {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 50px 0 57px;
  font-size: 34px;
  font-weight: 500;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .ttl-lower {
    padding: 10vw 0;
    font-size: 2.4rem;
  }
}

.ttl-lower--lg {
  background-size: cover;
}

.ttl-lower--mainte {
  color: #343434;
  font-weight: bold;
}

.ttl-border {
  position: relative;
  margin-bottom: 35px;
  padding-bottom: 34px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .ttl-border {
    margin-bottom: 6vw;
    padding-bottom: 6.53vw;
    font-size: 2.2rem;
  }
}

.ttl-border::before, .ttl-border::after {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  content: "";
}

@media screen and (max-width: 767px) {
  .ttl-border::before, .ttl-border::after {
    height: 0.53vw;
  }
}

.ttl-border::before {
  width: 100%;
  background: #f3f3f3;
}

.ttl-border::after {
  width: 30%;
  background: #c3002f;
}

@media screen and (max-width: 767px) {
  .ttl-border--double {
    margin-top: -0.3em;
    line-height: 1.6;
  }
}

.ttl-border__sm {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .ttl-border__sm {
    font-size: 3rem;
  }
}

.ttl-border__label {
  position: absolute;
  bottom: 24px;
  right: 0;
  padding: 5px 28px;
  color: #fff;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .ttl-border__label {
    padding: 1.2vw 2vw;
    font-size: 2.4rem;
  }
}

.ttl-border__label--red {
  background: #c3002f;
}

.ttl-border__label--blue {
  background: #037292;
}

.txt-link, .txt-link--blue, .txt-link--red {
  text-decoration: underline;
  color: inherit;
}

.txt-link:hover, .txt-link--blue:hover, .txt-link--red:hover,
.txt-link:hover span,
.txt-link--blue:hover span,
.txt-link--red:hover span {
  color: #c3002f;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .txt-link[href^="tel:"], .txt-link--blue[href^="tel:"], .txt-link--red[href^="tel:"] {
    pointer-events: none;
  }
}

.txt-link--blue {
  color: #1361ba;
}

.txt-link--red {
  color: #c3002f;
}

.txt-link--disabled {
  cursor: text;
}

.txt-link--disabled:hover {
  text-decoration: none;
}

.txt-underline {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 25px;
  font-size: 3rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .txt-underline {
    font-size: 4.2rem;
  }
}

.section-cmn {
  padding-top: 40px;
  padding-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .section-cmn {
    padding-top: 8vw;
    padding-bottom: 16vw;
  }
}

.bread-list {
  display: flex;
  justify-content: flex-end;
  margin-top: 5px;
  font-size: 14px;
  list-style-type: none;
}

@media screen and (max-width: 767px) {
  .bread-list {
    font-size: 1.4rem;
    display: none;
  }
}

.bread-list li + li::before {
  margin: 0 7px;
  content: ">";
}

.bread-list a {
  color: #8c8c8c;
}

.bread-list__item .txt-underline {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .bread-list__item .txt-underline {
    font-size: 1.4rem;
  }
}

.btn-radius, .btn-cmn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 362px;
  margin-left: auto;
  margin-right: auto;
  padding: 18px 0;
  border: 2px solid;
  border-radius: 35px;
  transition: 0.3s;
  font-size: 1.6rem;
  text-align: center;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .btn-radius, .btn-cmn {
    width: 84vw;
    max-width: 100%;
    padding: 2.6vw 0;
    border-radius: 20vw;
    font-size: 1.8rem;
  }
}

.btn-radius__ico {
  position: absolute;
  top: 50%;
  right: 20px;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .btn-radius__ico {
    width: 2.5vw;
    height: 3vw;
  }
}

.btn-radius__ico-zoom {
  margin-top: -11px;
}

@media screen and (max-width: 767px) {
  .btn-radius__ico-zoom {
    width: 5.6vw;
    height: 5.6vw;
    margin-top: -2.8vw;
  }
}

.btn-radius__ico-window {
  margin-top: -5px;
}

@media screen and (max-width: 767px) {
  .btn-radius__ico-window {
    margin-top: -1.7vw;
    width: 3.4vw;
    height: 3.4vw;
  }
}

.btn-radius__ico-pdf {
  margin-top: -14px;
}

@media screen and (max-width: 767px) {
  .btn-radius__ico-pdf {
    width: 5vw;
    height: 5.8vw;
    margin-top: -3.5vw;
  }
}

.btn-radius__arrow-right {
  margin-top: -6px;
}

.btn-radius:hover .btn-radius__arrow-right, .btn-cmn:hover .btn-radius__arrow-right {
  transform: translateX(5px);
}

.btn-radius__arrow-left {
  right: auto;
  left: 20px;
  transform: rotate(180deg);
  margin-top: -6px;
}

.btn-radius:hover .btn-radius__arrow-left, .btn-cmn:hover .btn-radius__arrow-left {
  transform: translateX(-5px) rotate(180deg);
}

.btn-radius__arrow-under {
  margin-top: -4px;
}

.btn-radius:hover .btn-radius__arrow-under, .btn-cmn:hover .btn-radius__arrow-under {
  transform: translateY(0);
}

.btn-radius--bg-red {
  background: #c3002f;
  border-color: #c3002f;
  color: #fff;
}

.btn-radius--bg-red svg {
  fill: #fff;
}

.btn-radius--bg-red:hover {
  background: #fff;
  border-color: #c3002f;
  color: #c3002f;
}

.btn-radius--bg-red:hover svg {
  fill: #c3002f;
}

.btn-radius--bg-white {
  background: #fff;
  border-color: #fff;
  color: #2f2f2f;
}

.btn-radius--bg-white svg {
  fill: #2f2f2f;
}

.btn-radius--bg-white:hover {
  background: #c3002f;
  border-color: #c3002f;
  color: #fff;
}

.btn-radius--bg-white:hover svg {
  fill: #fff;
}

.btn-radius--bg-black {
  background: #2f2f2f;
  border-color: #2f2f2f;
  color: #fff;
}

.btn-radius--bg-black svg {
  fill: #fff;
}

.btn-radius--bg-black:hover {
  background: #fff;
  border-color: #2f2f2f;
  color: #2f2f2f;
}

.btn-radius--bg-black:hover svg {
  fill: #2f2f2f;
}

.btn-radius--border-gray {
  background: #fff;
  border-color: #999;
  color: #2f2f2f;
}

.btn-radius--border-gray svg {
  fill: #999;
}

.btn-radius--border-gray:hover {
  background: #3f3f3f;
  border-color: #3f3f3f;
  color: #fff;
}

.btn-radius--border-gray:hover svg {
  fill: #fff;
}

.btn-radius--border-white {
  background: #004fa3;
  border-color: #fff;
  color: #fff;
}

.btn-radius--border-white svg {
  fill: #fff;
}

.btn-radius--border-white:hover {
  background: #fff;
  border-color: #fff;
  color: #004fa3;
}

.btn-radius--border-white:hover svg {
  fill: #004fa3;
}

.btn-radius--bg-gray {
  background: #aaa;
  border-color: #aaa;
  color: #fff;
}

.btn-radius--bg-gray svg {
  fill: #aaa;
}

.btn-radius--bg-gray:hover {
  background: #fff;
  border-color: #aaa;
  color: #aaa;
}

.btn-radius--bg-gray:hover svg {
  fill: #fff;
}

.btn-radius--border-red {
  background: #fff;
  border-color: #c3002f;
  color: #c3002f;
}

.btn-radius--border-red svg {
  fill: #c3002f;
}

.btn-radius--border-red:hover {
  background: #c3002f;
  border-color: #c3002f;
  color: #fff;
}

.btn-radius--border-red:hover svg {
  fill: #fff;
}

.btn-radius--border-blue {
  background: #fff;
  border-color: #004fa3;
  color: #004fa3;
}

.btn-radius--border-blue svg {
  fill: #004fa3;
}

.btn-radius--border-blue:hover {
  background: #004fa3;
  border-color: #004fa3;
  color: #fff;
}

.btn-radius--border-blue:hover svg {
  fill: #fff;
}

.btn-radius--gray {
  background: #fff;
  border-color: #7f7f7f;
  color: #7f7f7f;
}

.btn-radius--gray svg {
  fill: #7f7f7f;
}

.btn-radius--gray:hover {
  background: #fff;
  border-color: #c3002f;
  color: #c3002f;
}

.btn-radius--gray:hover svg {
  fill: #c3002f;
}

.btn-radius--deep-gray {
  background: #3f3f3f;
  border-color: #3f3f3f;
  color: #fff;
}

.btn-radius--deep-gray svg {
  fill: #fff;
}

.btn-radius--deep-gray:hover {
  background: #fff;
  border-color: #3f3f3f;
  color: #3f3f3f;
}

.btn-radius--deep-gray:hover svg {
  fill: #3f3f3f;
}

@media screen and (min-width: 768px) {
  .btn-radius--sm {
    max-width: 262px;
    padding: 10px 0;
    font-size: 15px;
  }
}

@media screen and (max-width: 767px) {
  .btn-radius--sm {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .btn-radius--md {
    max-width: 270px;
    padding: 10px 0;
    font-size: 15px;
  }
}

@media screen and (max-width: 767px) {
  .btn-radius--md {
    font-size: 1.5rem;
  }
}

.btn-radius--strong {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .btn-radius--strong {
    font-size: 3.1rem;
  }
}

.btn-cmn {
  padding: 14px 0;
  border-radius: 3px;
  font-size: 16px;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .btn-cmn {
    padding: 4.8vw 0;
    font-size: 1.6rem;
  }
}

.btn-cmn--lg {
  padding: 28px 30px 27px;
}

@media screen and (min-width: 768px) {
  .btn-cmn--xs {
    height: 38px;
    padding: 0;
  }
}

.btn-cmn--half-radius {
  border-radius: 5px;
}

.btn-cmn--no-radius {
  border-radius: 0;
}

.safety-targets__img {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .safety-targets__img {
    float: right;
    margin-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  .safety-targets__img--3 {
    width: 42.34%;
  }
}

@media screen and (max-width: 767px) {
  .safety-targets__img--3 {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .safety-targets__txt {
    flex-basis: 57%;
    max-width: 57%;
    order: 0;
  }
}

@media screen and (max-width: 767px) {
  .safety-targets__txt {
    margin-top: 3vw;
  }
}

.safety-targets-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .safety-targets-list {
    font-size: 1.8rem;
  }
}

.safety-targets-list__item {
  position: relative;
  margin-right: 40px;
  padding-left: 17px;
}

@media screen and (max-width: 767px) {
  .safety-targets-list__item {
    margin-right: 5.33vw;
    padding-left: 3.7vw;
  }
}

.safety-targets-list__item::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: #d2c622;
  transform: translateY(-50%);
  content: "";
}

.contact-box {
  margin-top: 56px;
  margin-bottom: 80px;
  padding: 25px 20px 35px;
  background: #3f3f3f;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .contact-box {
    padding: 7.33vw 2.66vw 8vw;
    margin-top: 10.6vw;
    margin-bottom: 16vw;
  }
}

.contact-box__ttl {
  margin-bottom: 18px;
  font-size: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .contact-box__ttl {
    font-size: 1.6rem;
  }
}

.contact-box__ttl-sm {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .contact-box__ttl-sm {
    font-size: 2.6rem;
  }
}

.contact-box__ttl--lg {
  font-size: 2.4rem;
}

@media screen and (max-width: 767px) {
  .contact-box__ttl--lg {
    font-size: 3.4rem;
  }
}

.contact-box-inner {
  max-width: 810px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .contact-box-inner {
    display: flex;
  }
  .contact-box-inner--single {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .contact-box-inner__item {
    flex-basis: 47%;
    max-width: 47%;
  }
  .contact-box-inner__item--single {
    max-width: none;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .contact-box-inner__item {
    padding: 0 4vw;
  }
}

@media screen and (min-width: 768px) {
  .contact-box-inner__item + .contact-box-inner__item {
    margin-left: 6%;
  }
}

@media screen and (max-width: 767px) {
  .contact-box-inner__item + .contact-box-inner__item {
    margin-top: 6.66vw;
    padding-top: 8vw;
    border-top: 1px solid #a0a0a0;
  }
}

@media screen and (max-width: 767px) {
  .contact-box-inner__item--sp-no-border + .contact-box-inner__item--sp-no-border {
    margin-top: 4.8vw;
    padding-top: 0;
    border-top: 0;
  }
}

.contact-box-inner__btn {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .contact-box-inner__btn {
    width: 100%;
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .contact-box-inner__btn {
    width: 78.7vw;
  }
}

.list-btn {
  display: flex;
  max-width: 850px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .list-btn {
    justify-content: center;
  }
}

.list-btn__item {
  flex-basis: 31.8%;
  max-width: 31.8%;
}

.list-btn__item + .list-btn__item {
  margin-left: 2.3%;
}

@media screen and (min-width: 768px) {
  .list-btn__item--lg {
    flex-basis: 22.07%;
    max-width: 22.07%;
  }
}

@media screen and (max-width: 1024px) {
  .list-btn__item--lg {
    flex-basis: 23.5%;
    max-width: 23.5%;
  }
}

@media screen and (min-width: 768px) {
  .list-btn__item--lg + .list-btn__item--lg {
    margin-left: 3.9%;
  }
}

@media screen and (max-width: 1024px) {
  .list-btn__item--lg + .list-btn__item--lg {
    margin-left: 2%;
  }
}

@media screen and (max-width: 767px) {
  .list-btn__item--lg {
    flex-basis: 48.6%;
    max-width: 48.6%;
    margin-right: 2.8%;
  }
  .list-btn__item--lg + .list-btn__item--lg {
    margin-left: 0;
  }
  .list-btn__item--lg:nth-child(2n) {
    margin-right: 0;
  }
  .list-btn__item--lg:nth-child(n + 3) {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .list-btn__col2 {
    flex-basis: 48%;
    max-width: 48%;
  }
}

.list-btn__btn {
  width: 100%;
  border-width: 1px;
}

@media screen and (max-width: 767px) {
  .list-btn__btn {
    padding: 2vw 0;
    font-size: 1.2rem;
  }
  .list-btn__btn svg {
    right: 2vw;
  }
}

.list-btn--lg {
  max-width: none;
}

@media screen and (max-width: 767px) {
  .list-btn--lg {
    flex-wrap: wrap;
  }
}

.list-anchor {
  display: flex;
  flex-wrap: wrap;
  max-width: 905px;
  margin: 25px auto 0;
}

@media screen and (max-width: 767px) {
  .list-anchor {
    margin-top: 3.2vw;
  }
}

.list-anchor__item {
  border-left: 1px solid #ccc;
}

@media screen and (min-width: 768px) {
  .list-anchor__item {
    flex-basis: 12.5%;
    max-width: 12.5%;
    margin-top: 15px;
  }
}

@media screen and (max-width: 1024px) {
  .list-anchor__item {
    flex-basis: 25%;
    margin-top: 4.2vw;
  }
}

.list-anchor__btn {
  position: relative;
  display: block;
  width: calc(100% + 1px);
  padding-right: 18px;
  border-right: 1px solid #ccc;
  color: #2f2f2f;
  font-size: 1.4rem;
  text-align: center;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .list-anchor__btn {
    padding: 0 0 1.86vw;
    font-size: 2.6rem;
  }
  .list-anchor__btn svg {
    top: auto;
    left: 50%;
    bottom: 0;
    right: auto;
    transform: translate(-50%, 0);
  }
}

.list-anchor__btn:hover {
  color: #c3002f;
}

.list-anchor__ico {
  position: absolute;
  top: 50%;
  right: 10px;
  fill: #c3002f;
  transform: translateY(-50%);
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .list-anchor__btn:hover .list-anchor__ico {
    transform: translateY(0);
  }
}

.list-style--none {
  list-style-type: none;
}

.btn-radius:hover .btn-arrow::before, .btn-cmn:hover .btn-arrow::before, .btn-radius:hover .btn-arrow--grey::before, .btn-cmn:hover .btn-arrow--grey::before,
.btn-radius:hover .btn-arrow::after,
.btn-cmn:hover .btn-arrow::after,
.btn-radius:hover .btn-arrow--grey::after,
.btn-cmn:hover .btn-arrow--grey::after {
  background-color: #c3002f;
}

.btn-radius:hover .btn-arrowWrapper, .btn-cmn:hover .btn-arrowWrapper {
  transform: translate(5px, -65%);
}

.btn-radius:hover .btn-arrow--grey::before, .btn-cmn:hover .btn-arrow--grey::before,
.btn-radius:hover .btn-arrow--grey::after,
.btn-cmn:hover .btn-arrow--grey::after {
  background-color: #2f2f2f;
}

.btn-radius:hover .btn-arrow--under._white, .btn-cmn:hover .btn-arrow--under._white,
.btn-radius:hover .btn-arrow--under._grey,
.btn-cmn:hover .btn-arrow--under._grey {
  border-right: 2px solid #c3002f;
  border-bottom: 2px solid #c3002f;
}

.btn-arrowWrapper {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 20px;
  transform: translateY(-65%);
  transition: transform 0.3s;
}

@media screen and (max-width: 767px) {
  .btn-arrowWrapper {
    width: 3vw;
    height: 2.5vw;
  }
}

.btn-arrow, .btn-arrow--grey {
  display: block;
  position: relative;
  transition: background-color 0.3s;
  padding-left: 10px;
  width: 10px;
  height: 20px;
}

@media screen and (max-width: 767px) {
  .btn-arrow, .btn-arrow--grey {
    width: 3vw;
    height: 2.5vw;
  }
}

.btn-arrow::before, .btn-arrow--grey::before,
.btn-arrow::after,
.btn-arrow--grey::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 10px;
  /* 線の長さ */
  height: 2px;
  /* 線の太さ */
  content: "";
  background-color: #fff;
  /* 線の色 */
  transform-origin: calc(100% - 0.5px) 50%;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .btn-arrow::before, .btn-arrow--grey::before,
  .btn-arrow::after,
  .btn-arrow--grey::after {
    width: 2.6vw;
    height: 0.4vw;
    transform-origin: calc(100% - 0.2vw) 50%;
  }
}

.btn-arrow::before, .btn-arrow--grey::before {
  transform: rotate(34deg);
}


.btn-arrow::after,
.btn-arrow--grey::after {
  transform: rotate(-34deg);
}

.btn-arrow--under {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 9px;
  height: 9px;
  transform: translateY(-65%) rotate(45deg);
  transition: border 0.3s;
}

@media screen and (max-width: 767px) {
  .btn-arrow--under {
    width: 2vw;
    height: 2vw;
    right: 3vw;
  }
}

.btn-arrow--under._white {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

@media screen and (max-width: 767px) {
  .btn-arrow--under._white {
    border-right: 0.5vw solid #fff;
    border-bottom: 0.5vw solid #fff;
  }
}

.btn-arrow--under._grey {
  border-right: 2px solid #7f7f7f;
  border-bottom: 2px solid #7f7f7f;
}

@media screen and (max-width: 767px) {
  .btn-arrow--under._grey {
    border-right: 0.5vw solid #7f7f7f;
    border-bottom: 0.5vw solid #7f7f7f;
  }
}

.mainte img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.mainte-section-title {
  margin-bottom: 35px;
  padding-bottom: 16px;
  border-bottom: 1px dotted #C1C1C1;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .mainte-section-title {
    width: 90vw;
    margin-left: 0;
    margin-bottom: 6vw;
    padding-bottom: 2.5vw;
  }
}

@media screen and (min-width: 768px) {
  .mainte-menu {
    display: flex;
    flex-wrap: wrap;
    margin-top: -38px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-menu {
    margin-top: -8vw;
  }
}

.mainte-menu__item {
  background: #efefef;
  transition: 0.3s;
}

.mainte-menu__item:hover {
  background: #F9F9F9;
}

@media screen and (min-width: 768px) {
  .mainte-menu__item {
    flex-basis: 47.3%;
    max-width: 47.3%;
    margin-top: 38px;
  }
  .mainte-menu__item:nth-child(2n) {
    margin-left: 5.4%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-menu__item {
    margin-top: 8vw;
  }
}

.mainte-menu__img {
  position: relative;
  overflow: hidden;
}

.mainte-menu__img img {
  transition: 0.3s;
}

.mainte-menu__item:hover .mainte-menu__img img {
  transform: scale(1.1) rotate(5deg);
}

.mainte-menu__img::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: 0.3s;
  content: '';
  transition: 0.3s;
}

.mainte-menu__item:hover .mainte-menu__img::after {
  opacity: 1;
}

.mainte-menu__link {
  color: #2f2f2f;
}

.mainte-menu__box {
  padding: 15px 20px 23px;
}

@media screen and (max-width: 767px) {
  .mainte-menu__box {
    padding: 3.6vw 4vw;
  }
}

.mainte-menu__ttl {
  margin-bottom: 5px;
  color: #c3002f;
  font-size: 2.6rem;
}

@media screen and (max-width: 767px) {
  .mainte-menu__ttl {
    margin-bottom: 1.33vw;
    font-size: 4rem;
  }
}

.mainte-menu__ico {
  margin-left: 15px;
  margin-top: -5px;
  fill: #c3002f;
  vertical-align: middle;
  transition: 0.3s;
}

.mainte-menu__item:hover .mainte-menu__ico {
  margin-left: 20px;
}

.mainte-service-menu {
  margin-top: -45px;
}

@media screen and (max-width: 767px) {
  .mainte-service-menu {
    margin-top: -6vw;
  }
}

.mainte-service-menu__item {
  margin-top: 45px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mainte-service-menu__item {
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-service-menu__item {
    margin-top: 6vw;
  }
}

.mainte-txt-recommend {
  margin-left: 15px;
  color: #ff0;
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .mainte-txt-recommend {
    margin-left: 2vw;
    font-size: 2.6rem;
  }
}

.mainte-discount {
  background: #fce7ed;
  text-align: center;
}

.mainte-discount__ttl {
  padding: 7px 0;
  background: #c3002f;
  color: #FFF;
  font-size: 3rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .mainte-discount__ttl {
    padding: 1.2vw 0.66vw;
    font-size: 4rem;
    line-height: 1.4;
  }
}

.mainte-discount__ttl-yellow {
  color: #ffff7f;
}

@media screen and (max-width: 767px) {
  .mainte-discount__ttl-yellow {
    display: block;
  }
}

.mainte-discount__box {
  padding: 45px 50px 30px;
}

@media screen and (max-width: 1024px) {
  .mainte-discount__box {
    padding: 45px 25px 30px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount__box {
    padding: 10.66vw 10.66vw 5.33vw;
  }
}

.mainte-discount-list {
  list-style-type: none;
}

@media screen and (min-width: 768px) {
  .mainte-discount-list {
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-list {
    margin-top: -9.33vw;
  }
}

.mainte-discount-list__item {
  position: relative;
  background: #FFF;
  border: 3px solid #c3002f;
  font-weight: bold;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .mainte-discount-list__item {
    flex-basis: 30%;
    max-width: 30%;
    height: 218px;
    margin-right: 5%;
    padding: 60px 0 36px;
  }
  .mainte-discount-list__item:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 1024px) {
  .mainte-discount-list__item {
    height: 250px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__item {
    height: auto;
    margin-top: 9.33vw;
    padding: 7.33vw 0 6vw;
    border-width: 0.4vw;
  }
}

.mainte-discount-list__ico {
  position: absolute;
  top: -20px;
  left: -10px;
  width: 100px;
  background: #FFF;
  border: 3px solid #c3002f;
  border-radius: 100%;
  font-size: 2.4rem;
  line-height: 40px;
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__ico {
    top: -5.7vw;
    left: -4vw;
    width: 21.33vw;
    border-width: 0.4vw;
    font-size: 3.8rem;
    line-height: 9.9vw;
  }
}

.mainte-discount-list__ico-num {
  font-size: 3.2rem;
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__ico-num {
    font-size: 5.6rem;
  }
}

.mainte-discount-list__txt {
  color: #ea547d;
  font-size: 3.4rem;
}

@media screen and (max-width: 1024px) {
  .mainte-discount-list__txt {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__txt {
    font-size: 5.5rem;
  }
}

.mainte-discount-list__txt-sm {
  display: block;
  margin-bottom: 10px;
  font-size: 2.2rem;
}

@media screen and (max-width: 1024px) {
  .mainte-discount-list__txt-sm {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__txt-sm {
    margin-bottom: 2vw;
    font-size: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .mainte-discount-list__txt--double {
    margin-top: -15px;
  }
}

.mainte-discount-list__price {
  padding: 0 10px;
  color: #c3002f;
  font-size: 5rem;
}

@media screen and (min-width: 768px) {
  .mainte-discount-list__price {
    position: absolute;
    left: 0;
    bottom: 33px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__price {
    margin-top: 4.66vw;
    font-size: 8rem;
  }
}

.mainte-discount-list__price small {
  font-size: 3rem;
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__price small {
    font-size: 5.5rem;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-list__price span {
    display: inline-block;
  }
}

.mainte-discount-summary {
  margin-top: 39px;
  color: #35a5ca;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .mainte-discount-summary {
    margin-top: 4.66vw;
  }
}

.mainte-discount-summary__max {
  font-size: 5rem;
}

@media screen and (max-width: 1024px) {
  .mainte-discount-summary__max {
    font-size: 3.5rem;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-summary__max {
    font-size: 7rem;
  }
}

.mainte-discount-summary__price {
  color: #c3002f;
  font-size: 8rem;
}

@media screen and (max-width: 1024px) {
  .mainte-discount-summary__price {
    font-size: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount-summary__price {
    display: inline-block;
    margin: 1.5vw 0 3vw;
    font-size: 10rem;
  }
}

.mainte-discount-summary__price small {
  font-size: 4rem;
}

@media screen and (max-width: 767px) {
  .mainte-discount-summary__price small {
    font-size: 6.5rem;
  }
}

.mainte-discount-summary__sub {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .mainte-discount-summary__sub {
    font-size: 4rem;
  }
}

.mainte-discount__attention th,
.mainte-discount__attention td {
  vertical-align: top;
}

@media screen and (max-width: 1024px) {
  .mainte-discount__attention th {
    width: 50px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-discount__attention th {
    width: 12%;
  }
}

.mainte-plan {
  margin-top: -43px;
}

@media screen and (max-width: 767px) {
  .mainte-plan {
    margin-top: -4.66vw;
  }
}

.mainte-plan__item {
  margin-top: 43px;
}

@media screen and (min-width: 768px) {
  .mainte-plan__item {
    flex-basis: 47.3%;
    max-width: 47.3%;
  }
  .mainte-plan__item:nth-child(2n) {
    margin-left: 5.4%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-plan__item {
    margin-top: 10.66vw;
  }
}

.mainte-plan__item._irregular {
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .mainte-plan__item._irregular {
    padding-top: 5.66vw;
    padding-bottom: 8vw;
  }
}

.mainte-plan__box {
  border: 1px solid #cfcfcf;
}

.mainte-plan__ttl {
  background: #3f3f3f;
  color: #FFF;
  font-size: 26px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mainte-plan__ttl {
    padding: 0.8vw 0;
    font-size: 2rem;
  }
}

.mainte-plan__ttl small {
  font-size: 77%;
}

.mainte-plan__target {
  padding: 6px 0;
  background: #efefef;
  border: 1px solid #cfcfcf;
  border-right: 0;
  border-left: 0;
  text-align: center;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .mainte-plan__target {
    padding: 2vw 0;
  }
}

.mainte-plan__list {
  padding: 6px 20px;
}

@media screen and (max-width: 767px) {
  .mainte-plan__list {
    font-size: 1.5rem;
    padding: 1.33vw 2.66vw;
  }
}

.mainte-plan__btn {
  margin-top: 20px;
  text-align: center;
}

.mainte-plan__table {
  width: 100%;
}

.mainte-plan__table th + *,
.mainte-plan__table td + * {
  border-left: 1px solid #cfcfcf;
}

@media screen and (min-width: 768px) {
  .mainte-feature {
    display: flex;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .mainte-feature {
    width: 84vw;
    margin: -0.66vw auto 0;
  }
}

.mainte-feature__item {
  border: 1px solid #cfcfcf;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .mainte-feature__item {
    flex-basis: 36%;
    max-width: 36%;
    margin: 0 2.7%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-feature__item {
    margin-top: 6.66vw;
  }
}

.mainte-feature__ttl {
  background: #c3002f;
  color: #FFF;
}

@media screen and (min-width: 768px) {
  .mainte-feature__ttl {
    padding: 8px;
    font-size: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .mainte-feature__ttl {
    padding: 3.3vw 0;
    font-size: 4.2rem;
  }
}

@media screen and (min-width: 768px) {
  .mainte-feature__inner {
    padding: 30px 25px 15px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-feature__inner {
    padding: 8vw 5.7vw 4.66vw;
  }
}

.mainte-feature__ico {
  margin-bottom: 22px;
}

@media screen and (max-width: 767px) {
  .mainte-feature__ico {
    margin-bottom: 6.66vw;
  }
}

.mainte-box-blue {
  margin-top: 35px;
  padding: 25px 50px 18px;
  border: 3px solid #35a5ca;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .mainte-box-blue {
    display: flex;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .mainte-box-blue {
    margin-top: 14.66vw;
    padding: 4vw 6vw 6vw;
    font-size: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .mainte-box-blue__txt {
    flex-basis: 77.8%;
    max-width: 77.8%;
    padding-left: 53px;
    padding-top: 10px;
    order: 1;
  }
}

.mainte-box-blue__ttl {
  margin-bottom: 12px;
  color: #35a5ca;
  font-size: 2.6rem;
}

@media screen and (max-width: 767px) {
  .mainte-box-blue__ttl {
    margin-bottom: 2.66vw;
    font-size: 3.8rem;
  }
}

@media screen and (min-width: 768px) {
  .mainte-box-blue__img {
    flex-basis: 22.2%;
    max-width: 22.2%;
    order: 0;
  }
}

@media screen and (max-width: 767px) {
  .mainte-box-blue__img {
    width: 75%;
    margin: 6vw auto 0;
  }
}

@media screen and (max-width: 767px) {
  .mainte-box-blue__img img {
    width: 100%;
  }
}

.mainte-attention {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .mainte-attention {
    margin-top: 11vw;
  }
}

@media screen and (max-width: 767px) {
  .mainte-tire-intro {
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .mainte-tire__txt {
    flex-basis: 74.1%;
    max-width: 74.1%;
    padding-left: 36px;
  }
}

@media screen and (min-width: 768px) {
  .mainte-tire__img {
    flex-basis: 25.9%;
    max-width: 25.9%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-tire__img {
    margin-top: 3.33vw;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .mainte-tire-list {
    margin-top: 4px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-tire-list {
    margin-top: -0.66vw;
  }
}

.mainte-tire-list__item {
  border: 1px solid #cfcfcf;
}

@media screen and (min-width: 768px) {
  .mainte-tire-list__item {
    display: flex;
    align-items: center;
    margin-top: 30px;
    padding: 28px 40px 25px 0;
  }
}

@media screen and (max-width: 767px) {
  .mainte-tire-list__item {
    margin-top: 6vw;
    padding: 6.66vw 5.33vw 6vw;
  }
}

.mainte-tire-list__ico {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .mainte-tire-list__ico {
    flex-basis: 14.9%;
    max-width: 14.9%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-tire-list__ico img {
    width: auto;
    height: 16vw;
  }
}

@media screen and (min-width: 768px) {
  .mainte-tire-list__txt {
    flex-basis: 85.1%;
    max-width: 85.1%;
  }
}

@media screen and (max-width: 767px) {
  .mainte-tire-list__txt {
    margin-top: 5.33vw;
  }
}

.mainte-tire-list__ttl {
  margin-bottom: 12px;
  padding-bottom: 19px;
  border-bottom: 1px solid #cfcfcf;
  color: #c3002f;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .mainte-tire-list__ttl {
    margin-bottom: 3.33vw;
    padding-bottom: 5.33vw;
    font-size: 3.8rem;
    font-weight: bold;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .mainte-brake-recommend {
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .mainte-brake-recommend__img {
    flex-basis: 36%;
    max-width: 36%;
  }
}

@media screen and (min-width: 768px) {
  .mainte-brake-recommend__txt {
    flex-basis: 64%;
    max-width: 64%;
    padding-top: 5px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-recommend__txt {
    margin-top: 1vw;
  }
}

.mainte-brake-recommend__ttl {
  margin-bottom: 12px;
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .mainte-brake-recommend__ttl {
    margin-bottom: 2vw;
    font-size: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .mainte-brake-list {
    display: flex;
    margin-top: 30px;
    margin-bottom: 35px;
    padding: 0 50px;
  }
}

@media screen and (max-width: 1024px) {
  .mainte-brake-list {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-list {
    margin-bottom: 14vw;
  }
}

.mainte-brake-list__item {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 3px solid #35a5ca;
  border-radius: 100%;
}

@media screen and (min-width: 768px) {
  .mainte-brake-list__item {
    flex-basis: 22.8%;
    max-width: 22.8%;
    height: 230px;
    margin-right: 2.9%;
  }
  .mainte-brake-list__item:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 1024px) {
  .mainte-brake-list__item {
    width: 200px;
    height: 200px;
    margin: 10px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-list__item {
    width: 61.3vw;
    height: 61.3vw;
    margin: 6.66vw auto 0;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-list__ico {
    width: 20.1vw;
  }
}

.mainte-brake-list__txt {
  margin-top: 23px;
}

@media screen and (max-width: 767px) {
  .mainte-brake-list__txt {
    margin-top: 5vw;
  }
}

.mainte-brake-price {
  border: 1px solid #cfcfcf;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .mainte-brake-price {
    display: flex;
    margin-top: 8px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-price {
    margin-top: 2.4vw;
  }
}

@media screen and (min-width: 768px) {
  .mainte-brake-price + .mainte-brake-price {
    border-top: 0;
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-price + .mainte-brake-price {
    margin-top: 4vw;
  }
}

@media screen and (min-width: 768px) {
  .mainte-brake-price__item {
    flex-basis: 50%;
    max-width: 50%;
    padding: 10px;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-price__item {
    padding: 1.6vw;
  }
}

.mainte-brake-price__ttl {
  background: #f3f3f3;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .mainte-brake-price__txt {
    border-left: 1px solid #cfcfcf;
  }
}

@media screen and (max-width: 767px) {
  .mainte-brake-price__txt {
    border-top: 1px solid #cfcfcf;
  }
}

.mainte-about-condition {
  text-align: left;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .mainte-about-condition {
    margin-top: 5vw;
  }
}

.mainte-about-condition p {
  font-size: 1.6rem;
}

.mainte-about-condition__list {
  margin-top: 20px;
  font-size: 1.4rem;
}

.mainte-about-condition__list p {
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .mainte-about-condition__list {
    margin-top: 3vw;
  }
}

.font-red {
  color: #c3002f;
}

.font-bold {
  font-weight: bold;
}

.font-gray {
  color: #7f7f7f;
}

.font-normal-sm, .font-normal-sm--spSmall {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .font-normal-sm, .font-normal-sm--spSmall {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .font-normal-sm--spSmall {
    font-size: 1.2rem;
  }
}

.txt-ico {
  position: relative;
  padding-left: 1em;
}

.txt-ico::before {
  position: absolute;
  left: 0;
  top: 0;
}

.txt-ico::before {
  top: 0;
  content: attr(data-txt);
}

.txt-ico--red::before {
  color: #c3002f;
}

.mp-list {
  display: flex;
  justify-content: space-between;
}

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

.mp-list__item {
  flex-basis: 31.53%;
  max-width: 31.53%;
  margin-top: 34px;
  border: 5px solid #c3002f;
}

@media screen and (max-width: 767px) {
  .mp-list__item {
    max-width: 88.73%;
    margin: 8.66vw auto 0;
  }
  .mp-list__item + .mp-list__item {
    margin-top: 6.66vw;
  }
}

.mp-list__ttl {
  padding: 7px 0 13px;
  background: #c3002f;
  color: #fff;
  font-size: 26px;
  text-align: center;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .mp-list__ttl {
    padding: 1.26vw 0 1.4vw;
    font-size: 2.2rem;
  }
}

.mp-list__txt {
  padding: 20px 15px;
}

@media screen and (max-width: 767px) {
  .mp-list__txt {
    padding: 3.7vw 5vw 5vw;
  }
}

.mp-list__read {
  margin-bottom: 5px;
  color: #c3002f;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mp-list__read {
    margin-bottom: 2vw;
    font-size: 2.6rem;
  }
}

.mp-attention + .mp-attention {
  margin-top: 47px;
}

@media screen and (max-width: 767px) {
  .mp-attention + .mp-attention {
    margin-top: 6.66vw;
  }
}

.mp-attention__ttl {
  margin-bottom: 13px;
  color: #c3002f;
  font-size: 26px;
}

@media screen and (max-width: 767px) {
  .mp-attention__ttl {
    margin-bottom: 1.33vw;
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .mp-attention__txt {
    font-size: 1.5rem;
  }
}

.mp-plans {
  display: table;
  width: 100%;
  opacity: 0;
  transition: 0.3s;
}

.mp-plans.is-visible {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .mp-plans.col3 {
    max-width: 727px;
    margin: 0 auto;
  }
}

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

@media screen and (min-width: 768px) {
  .mp-plans__item {
    display: table-cell;
    border-left: 1px solid #cfcfcf;
    border-right: 1px solid #cfcfcf;
    line-height: 1.25;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .mp-plans__item {
    width: 94.36%;
    margin: 0 auto;
    padding-bottom: 2.66vw;
    padding-left: 1.33vw;
    border-bottom: 1px solid #cfcfcf;
  }
}

.mp-plans__item + .mp-plans__item {
  border-left: 0;
}

@media screen and (max-width: 767px) {
  .mp-plans__item + .mp-plans__item {
    margin-top: 2.66vw;
  }
}

.mp-plans__link {
  color: #2f2f2f;
}

@media screen and (max-width: 767px) {
  .mp-plans__link {
    position: relative;
    display: block;
    font-weight: bold;
  }
}

.mp-plans__link:hover {
  text-decoration: underline;
}

.mp-plans__arrow {
  position: relative;
  top: 0;
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-right: 2px solid #c3002f;
  border-bottom: 2px solid #c3002f;
  transform-origin: right;
  transform: rotate(45deg);
  vertical-align: middle;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  a:hover .mp-plans__arrow {
    position: relative;
    top: 3px;
  }
}

@media screen and (max-width: 767px) {
  .mp-plans__arrow {
    position: absolute;
    top: 50%;
    right: 2.66vw;
  }
}

.mp-ttl-primary {
  margin-bottom: 28px;
  color: #c3002f;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mp-ttl-primary {
    margin-bottom: 5.33vw;
    font-size: 2rem;
  }
}

.mp-ttl-decoration {
  position: relative;
  display: inline-block;
  padding: 0 0.6em;
}

.mp-ttl-decoration::before, .mp-ttl-decoration::after {
  position: absolute;
  top: 50%;
  width: 0.1em;
  height: 1.1em;
  background-color: #fff;
  content: "";
}

.mp-ttl-decoration::before {
  left: 0;
  transform: translateY(-58%) rotate(-20deg);
}

.mp-ttl-decoration::after {
  right: 0;
  transform: translateY(-58%) rotate(20deg);
}

.mp-ttl-decoration._white::before, .mp-ttl-decoration._white::after {
  background-color: #fff;
}

.mp-ttl-decoration._red::before, .mp-ttl-decoration._red::after {
  background-color: #c3002f;
}

.mp-box {
  padding: 40px 40px 50px;
  background: #fcf3f5;
}

@media screen and (max-width: 767px) {
  .mp-box {
    width: 100vw;
    margin-left: -3.33vw;
    padding: 8.66vw 4vw 10.66vw;
  }
}

.mp-box__ttl {
  position: relative;
  padding: 10px;
  background: #fff;
  color: #999;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
  transition: 0.3s;
}

.mp-box__ttl::after {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 15px solid #fff;
  transition: 0.3s;
  z-index: 5;
  content: "";
}

@media screen and (max-width: 767px) {
  .mp-box__ttl::after {
    margin-left: -2vw;
    border-left-width: 2vw;
    border-right-width: 2vw;
    border-top-width: 3.066vw;
  }
}

.mp-box__ttl.is-active::after {
  border-top-color: #c3002f;
}

@media screen and (max-width: 767px) {
  .mp-box__ttl {
    padding: 2.4vw 2.4vw 1.86vw;
    font-size: 1.6rem;
  }
}

.mp-box__ttl.is-active {
  background: #c3002f;
  color: #fff;
}

.mp-box__read {
  margin: 45px 0 30px;
  font-size: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mp-box__read {
    margin: 8vw 0 6vw;
    font-size: 1.6rem;
    text-align: left;
  }
}

.mp-box__leadText {
  margin-top: 48px;
  font-size: 20px;
}

@media screen and (min-width: 768px) {
  .mp-box__leadText {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .mp-box__leadText {
    margin-top: 8vw;
    font-size: 1.6rem;
  }
}

.mp-box__leadText + .mp-box__leadText {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .mp-box__leadText + .mp-box__leadText {
    margin-top: 3vw;
  }
}

.mp-box__img {
  margin-top: 32px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mp-box__img {
    margin-top: 6vw;
  }
}

.mp-box__note {
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  .mp-box__note {
    margin-left: 24px;
  }
}

@media screen and (min-width: 768px) {
  .mp-box__note + p {
    margin-left: 24px;
  }
}

.mp-box__btn {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .mp-box__btn {
    width: 78.66vw;
    margin: 6.66vw auto 0;
  }
}

.mp-summary {
  max-width: 990px;
  margin: 65px auto 0;
}

@media screen and (max-width: 767px) {
  .mp-summary {
    margin-top: 12vw;
  }
}

.mp-summary__inner {
  padding: 50px 60px 40px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .mp-summary__inner {
    padding: 12vw 4vw 6.66vw;
  }
}

@media screen and (min-width: 768px) {
  .mp-summary__main {
    display: table;
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
  }
  .mp-summary__main > div {
    display: table-cell;
    vertical-align: middle;
  }
}

.mp-summary__discount {
  width: 430px;
  padding: 28px 10px 24px;
  background: #c3002f;
  color: #fff;
  font-size: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mp-summary__discount {
    width: 100%;
    padding: 2.4vw 0 2.66vw;
    font-size: 1.6rem;
  }
}

.mp-summary__price {
  font-size: 48px;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .mp-summary__price {
    font-size: 3rem;
  }
}

.mp-summary__price::after {
  font-size: 26px;
  content: "円";
}

.mp-summary__note {
  max-width: 845px;
  margin: 3px auto 0;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .mp-summary__note {
    margin-top: 2vw;
    padding-top: 1.5vw;
    border-top: 1px solid #eee;
    font-size: 1rem;
    text-align: center;
  }
}

.mp-summary__detail {
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .mp-summary__detail {
    padding: 4vw 3vw 0;
    font-size: 1.5rem;
  }
}

.mp-summary__list {
  padding-left: 26px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .mp-summary__list {
    margin-top: 2vw;
    padding-left: 0;
    font-size: 1.5rem;
  }
}

.mp-summary__list dd.discount-dd {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list dd.discount-dd {
    margin-top: 0;
    padding-top: 2vw;
  }
}

.mp-summary__list dd span.bold--price {
  display: inline-block;
  font-size: 30px;
  margin-right: 5px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list dd span.bold--price {
    font-size: 2.6rem;
    margin-right: 1.25vw;
  }
}

.mp-summary__list dt.nomal-dt {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list dt.nomal-dt {
    margin-top: 4vw;
  }
}

.mp-summary__list dd.nomal-dd {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list dd.nomal-dd {
    margin-top: 2vw;
  }
}

.mp-summary__list.anshinPremium {
  padding-left: 26px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .mp-summary__list.anshinPremium {
    margin-top: 2vw;
    padding-left: 0;
    font-size: 1.5rem;
  }
}

.mp-summary__list.anshinPremium dd.discount-dd {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list.anshinPremium dd.discount-dd {
    margin-top: 0;
    padding-top: 2vw;
  }
}

.mp-summary__list.anshinPremium dd span.bold--price {
  display: inline-block;
  font-size: 30px;
  margin-right: 5px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list.anshinPremium dd span.bold--price {
    font-size: 2.6rem;
    margin-right: 1.25vw;
  }
}

.mp-summary__list.anshinPremium dd span.discount--subText {
  display: block;
  margin-top: 6px;
  color: #7f7f7f;
  font-size: 14px;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .mp-summary__list.anshinPremium dd span.discount--subText {
    margin-top: 2vw;
    font-size: 1.4rem;
    line-height: 1.2;
  }
}

.mp-summary__list.anshinPremium dt.nomal-dt {
  margin-top: 18px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list.anshinPremium dt.nomal-dt {
    margin-top: 4vw;
  }
}

.mp-summary__list.anshinPremium dd.nomal-dd {
  margin-top: 4px;
}

@media screen and (max-width: 767px) {
  .mp-summary__list.anshinPremium dd.nomal-dd {
    margin-top: 2vw;
  }
}

.mp-content {
  margin-top: 50px;
  background-color: #eaf3f6;
}

@media screen and (max-width: 767px) {
  .mp-content {
    margin-top: 6.66vw;
  }
}

.mp-content__ttl {
  padding: 7px;
  background: #35a5ca;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mp-content__ttl {
    padding: 1.73vw;
    font-size: 1.6rem;
  }
}

.mp-content__ttl.special-bg-color {
  background-color: #037292;
}

.mp-content__inner {
  padding: 8px 30px 34px;
}

@media screen and (max-width: 767px) {
  .mp-content__inner {
    padding: 4vw;
  }
}

.mp-content--mt25 {
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .mp-content--mt25 {
    margin-top: 3.33vw;
  }
}

.mp-content-list {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .mp-content-list {
    display: block;
  }
}

.mp-content-list__item {
  position: relative;
  padding-left: 15px;
  margin-top: 18px;
  margin-right: 40px;
  font-size: 18px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .mp-content-list__item {
    margin: 0;
    padding-left: 2.26vw;
    font-size: 1.5rem;
  }
  .mp-content-list__item + .mp-content-list__item {
    margin-top: 2.66vw;
  }
}

.mp-content-list__item::before {
  position: absolute;
  display: block;
  left: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  background: #d2c622;
  border-radius: 100%;
  content: "";
}

@media screen and (max-width: 767px) {
  .mp-content-list__item::before {
    width: 4px;
    height: 4px;
    margin-top: -2px;
  }
}

.mp-content-list__count {
  display: inline-block;
  width: 60px;
  margin-left: 14px;
  padding: 4px 0 3px;
  background: #037292;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .mp-content-list__count {
    width: 9.33vw;
    margin-left: 2.4vw;
    border-radius: 0.66vw;
    padding: 1vw 0 0.8vw;
    font-size: 1.2rem;
    vertical-align: middle;
  }
}

.mp-ttl-tab {
  display: flex;
  justify-content: space-between;
}

.mp-ttl-tab__item {
  flex-basis: 49.5%;
  max-width: 49.5%;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .mp-ttl-tab__item {
    display: grid;
    flex-basis: 48.55%;
    max-width: 48.55%;
    line-height: 1.4;
    place-content: center;
  }
}

.mp-price-tab {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .mp-price-tab {
    justify-content: space-between;
  }
}

.mp-price-tab__item {
  position: relative;
  padding: 8px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background: #ddd;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  transition: 0.3s;
  cursor: pointer;
}

.mp-price-tab__item::after {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 15px solid #fff;
  transition: 0.3s;
  z-index: 5;
  content: "";
}

@media screen and (max-width: 767px) {
  .mp-price-tab__item::after {
    margin-left: -2vw;
    border-left-width: 2vw;
    border-right-width: 2vw;
    border-top-width: 3.066vw;
  }
}

.mp-price-tab__item.is-active::after {
  border-top-color: #c3002f;
}

@media screen and (max-width: 767px) {
  .mp-price-tab__item {
    padding: 2.66vw;
    border-top-left-radius: 1.33vw;
    border-top-right-radius: 1.33vw;
    font-size: 1.6rem;
  }
  .mp-price-tab__item::after {
    margin-left: -1.33vw;
    border-left-width: 1.33vw;
    border-right-width: 1.33vw;
    border-top-width: 2vw;
  }
}

.mp-price-tab__item + .mp-price-tab__item {
  margin-left: 1%;
}

.mp-price-tab__item.is-active {
  background: #c3002f;
  color: #fff;
}

.mp-price-tab__col2 {
  flex-basis: 41.41%;
  max-width: 41.41%;
}

@media screen and (max-width: 767px) {
  .mp-price-tab__col2 {
    flex-basis: 49.27%;
    max-width: 49.27%;
  }
}

.mp-price-tab__col3 {
  flex-basis: 27.27%;
  max-width: 27.27%;
}

@media screen and (max-width: 767px) {
  .mp-price-tab__col3 {
    flex-basis: 32.17%;
    max-width: 32.17%;
  }
}

.mp-pager {
  margin: 70px 0 0;
}

@media screen and (max-width: 767px) {
  .mp-pager {
    margin: 10.66vw 0 0;
  }
}

.mp-pager-list {
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: none;
  margin-top: -20px;
}

@media screen and (max-width: 767px) {
  .mp-pager-list {
    margin-top: -4vw;
  }
}

@media screen and (min-width: 768px) {
  .mp-pager-list__item {
    flex-basis: 22.07%;
    max-width: 22.07%;
    margin-right: 3.9%;
    margin-top: 20px;
  }
  .mp-pager-list__item:nth-child(4n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .mp-pager-list__item {
    flex-basis: 48%;
    margin-right: 4%;
    margin-top: 4vw;
  }
  .mp-pager-list__item:nth-child(2n) {
    margin-right: 0;
  }
}

.p-calendar {
  display: block;
  padding: 50px 0 100px;
}

@media screen and (max-width: 767px) {
  .p-calendar {
    padding: 10vw 0;
  }
}

.p-calendar__inner {
  max-width: 1140px;
  padding: 0 20px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-calendar__inner {
    max-width: 100%;
    padding: 0 5vw;
  }
}

.p-calendar__date {
  display: flex;
  justify-content: center;
  margin-bottom: 64px;
}

@media screen and (max-width: 767px) {
  .p-calendar__date {
    flex-direction: column;
    margin-bottom: 10vw;
  }
}

.p-calendar__date-list {
  display: flex;
  font-size: 20px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-calendar__date-list {
    font-size: 1.6rem;
  }
}

.p-calendar__date-list > dt {
  background-color: #eee;
  min-width: 110px;
  padding: 4px 4px 0;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-calendar__date-list > dt {
    min-width: 25vw;
    padding: 1vw 1vw 0;
  }
}

.p-calendar__date-list > dd {
  margin-left: 16px;
}

@media screen and (max-width: 767px) {
  .p-calendar__date-list > dd {
    margin-left: 2vw;
  }
}

.p-calendar__date-list + .p-calendar__date-list {
  margin-left: 32px;
}

@media screen and (max-width: 767px) {
  .p-calendar__date-list + .p-calendar__date-list {
    margin-left: 0;
    margin-top: 2.5vw;
  }
}

.p-calendar__notice {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .p-calendar__notice {
    margin-bottom: 10vw;
  }
}

.p-calendar-tabs {
  display: grid;
  width: 920px;
  margin: 0 auto 60px;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 14px;
}

@media screen and (max-width: 767px) {
  .p-calendar-tabs {
    width: 100%;
    margin-bottom: 8vw;
    column-gap: 1.5vw;
  }
}

.p-calendar-tabs__item {
  align-self: flex-end;
  text-align: center;
  cursor: pointer;
}

.p-calendar-tabs__item ._year {
  display: block;
  color: #8c8c8c;
  font-size: 20px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p-calendar-tabs__item ._year {
    font-size: 14px;
  }
}

.p-calendar-tabs__item ._month {
  display: block;
  margin-top: 8px;
  padding-bottom: 8px;
  border-bottom: 3px solid #8c8c8c;
  color: #8c8c8c;
  font-weight: bold;
  font-size: 18px;
  transition: 0.3s;
  transition-property: border-color, color;
}

@media screen and (max-width: 767px) {
  .p-calendar-tabs__item ._month {
    font-size: 16px;
  }
}

.p-calendar-tabs__item:hover ._month {
  border-bottom: 3px solid #c3002f;
  color: #c3002f;
  transition: 0.3s;
  transition-property: border-color, color;
}

.p-calendar-tabs__item.is-active ._month {
  border-bottom: 3px solid #c3002f;
  color: #c3002f;
}

.p-calendar-tabs__item ._month > span {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .p-calendar-tabs__item ._month > span {
    font-size: 20px;
  }
}

.p-calendar-contents {
  max-width: 920px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents {
    max-width: 100%;
  }
}

.p-calendar-contents__head {
  text-align: center;
}

.p-calendar-contents__title {
  font-size: 28px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__title {
    font-size: 2rem;
  }
}

.p-calendar-contents__regular-holiday dl {
  display: flex;
  align-items: center;
}

.p-calendar-contents__regular-holiday-color {
  width: 64px;
  height: 45px;
  background-color: #ffe9ee;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__regular-holiday-color {
    width: 6vw;
    height: 6vw;
  }
}

.p-calendar-contents__regular-holiday-text {
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__regular-holiday-text {
    font-size: 1.2rem;
    margin-left: 2vw;
  }
}

.p-calendar-contents__main {
  margin-top: 15px;
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__main {
    margin-top: 2vw;
    font-size: 1.4rem;
  }
}

.p-calendar-contents__table {
  width: 920px;
  border-collapse: separate;
  border-bottom: 2px solid #c3002f;
  border-right: 2px solid #c3002f;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__table {
    width: 100%;
  }
}

.p-calendar-contents__table th {
  font-size: 18px;
  padding: 14px 4px;
  min-height: 50px;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__table th {
    font-size: 1.4rem;
    padding: 2vw 1.25vw 1.25vw;
    min-height: 9vw;
  }
}

.p-calendar-contents__table td {
  padding: 31px 4px;
  min-height: 92px;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__table td {
    padding: 3.75vw 1.25vw 3.5vw;
    min-height: 12.5vw;
  }
}

.p-calendar-contents__table th, .p-calendar-contents__table td {
  width: 130px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__table th, .p-calendar-contents__table td {
    width: calc(100% / 7 - 10px);
  }
}

.p-calendar-contents__table th:first-child {
  border-top: 2px solid #c3002f;
  border-left: 2px solid #c3002f;
}

.p-calendar-contents__table th:not(:first-child) {
  border-top: 2px solid #c3002f;
  border-left: 1px solid #dbdbdb;
}

.p-calendar-contents__table td:first-child {
  border-top: 1px solid #dbdbdb;
  border-left: 2px solid #c3002f;
}

.p-calendar-contents__table td:not(:first-child) {
  border-top: 1px solid #dbdbdb;
  border-left: 1px solid #dbdbdb;
}

.p-calendar-contents__table td:nth-child(3) {
  background-color: #ffe9ee;
}

.p-calendar-contents__table th:first-child,
.p-calendar-contents__table td:first-child {
  color: #c3002f !important;
}

.p-calendar-contents__table th:last-child,
.p-calendar-contents__table td:last-child {
  color: #3381cf;
}

.p-calendar-contents__table td.disabled {
  background-color: #f3f3f3 !important;
  color: transparent !important;
}

.p-calendar-contents__table td.holiday-bizHoliday {
  background-color: #ffe9ee;
  color: #c3002f;
}

.p-calendar-contents__table td.is-business {
  background-color: #fff;
  color: #c3002f;
}

.p-calendar-contents__table td.is-bizHoliday {
  background-color: #ffe9ee;
  color: #343434;
}

.p-calendar-contents__note-list {
  margin-top: 15px;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .p-calendar-contents__note-list {
    margin-top: 3.75vw;
    font-size: 1.4rem;
  }
}

.p-calendar-contents__note-item {
  display: none;
  position: relative;
  padding-left: 1em;
  font-weight: 400;
}

.p-calendar-contents__note-item.is-show {
  display: block;
}

.p-calendar-contents__note-item._note-ico::before {
  position: absolute;
  top: 0;
  left: 0;
  content: attr(data-txt);
  color: #c90c41;
}

.p-calendar-contents__inner {
  position: relative;
}

.p-calendar-info {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-calendar-info {
    margin-top: 10vw;
  }
}

.p-calendar-info__wrapper {
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-calendar-info__wrapper {
    flex-direction: column;
  }
}

.p-calendar-info__shop {
  width: 530px;
}

@media screen and (max-width: 767px) {
  .p-calendar-info__shop {
    width: 100%;
  }
}

.p-calendar-info__shop + .p-calendar-info__shop {
  margin-left: 40px;
}

@media screen and (max-width: 767px) {
  .p-calendar-info__shop + .p-calendar-info__shop {
    margin-left: 0;
    margin-top: 10vw;
  }
}

.p-calendar-info__list {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .p-calendar-info__list {
    margin-top: 7.5vw;
  }
}

.p-calendar-info__item + .p-calendar-info__item {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .p-calendar-info__item + .p-calendar-info__item {
    margin-top: 5vw;
  }
}

.p-calendar-info__link {
  width: 100%;
  padding: 25px 30px 25px 67px;
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-calendar-info__link {
    font-size: 1.6rem;
    padding: 6vw 12vw 5.5vw 16.75vw;
  }
}

.p-calendar-info__link::before {
  position: absolute;
  top: 50%;
  right: 27px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #c3002f;
  border-right: 2px solid #c3002f;
  transform: translateY(-50%) rotate(-45deg);
  content: "";
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-calendar-info__link::before {
    right: 6.75vw;
    width: 2vw;
    height: 2vw;
  }
}

.p-calendar-info__link::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  transform: translateY(-50%);
  background-color: #fff;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-calendar-info__link::after {
    right: 5vw;
    width: 5vw;
    height: 5vw;
  }
}

.p-calendar-info__text {
  position: relative;
  display: inline-block;
}

.p-calendar-info__text::before {
  position: absolute;
  top: 50%;
  left: -39px;
  width: 27px;
  height: 40px;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

@media screen and (max-width: 767px) {
  .p-calendar-info__text::before {
    left: -10.75vw;
    width: 6.75vw;
    height: 10vw;
  }
}

.p-calendar-info__text._pin::before {
  background-image: url(../images/common/icon_pin.svg);
}

.p-calendar-info__text._list::before {
  background-image: url(../images/common/icon_list.svg);
}

.p-calendar-info__text._renewal::before {
  background-image: url(../images/common/icon_renewal.svg);
}

.p-calendar-info__text._integration::before {
  background-image: url(../images/common/icon_integration.svg);
}

.shop-cv {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .shop-cv {
    margin-top: 10vw;
  }
}

@media screen and (max-width: 767px) {
  .shop-cv__title {
    line-height: 1.3;
  }
}

.shop-cv-list {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .shop-cv-list {
    margin-top: 7vw;
  }
}

.shop-title {
  margin-bottom: 56px;
  font-weight: 700;
  font-size: 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .shop-title {
    margin-bottom: 10vw;
    font-size: 2.4rem;
  }
}

.shop-title--sub {
  padding-bottom: 16px;
  border-bottom: 1px dotted #C1C1C1;
}

@media screen and (max-width: 767px) {
  .shop-title--sub {
    padding-bottom: 2.5vw;
    margin-bottom: 7vw;
  }
}

.u-mt24 {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .u-mt24 {
    margin-top: 5vw;
  }
}

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

@media screen and (min-width: 768px) {
  .only-sp {
    display: none;
  }
}
/*# sourceMappingURL=app.css.map */
