@charset "UTF-8";

/* http://meyerweb.com/eric/tools/css/reset/
  v2.0 | 20110126
  License: none (public domain)
*/

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

/* HTML5 display-role reset for older browsers */

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

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

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

body {
  font-size: 0.9375rem;
  line-height: 1.5;
  font-family: "Sawarabi Mincho", serif;
  background-color: #0e0e0e;
  color: #f3f3f3;
}

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

a:hover {
  text-decoration: none;
}

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

input {
  margin: 0;
  padding: 0;
  cursor: pointer;
}

textarea {
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

button {
  font: inherit;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
}

/* =========================================================================
  header
========================================================================= */

.l-header__inner--pc {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3fr 1fr;
  grid-template-columns: 1fr 3fr 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding: 8px 12px;
  background-color: #0e0e0e;
}

.l-header__left {
  border: 1px solid #f3f3f3;
}

.l-header__cta {
  display: block;
  padding: 4.91% 6.55% 3.27% 6.55%;
}

.l-header__cta-text {
  font-size: 1.0416666667vw;
}

.l-header__cta-tel {
  font-size: 1.6666666667vw;
}

.l-header__cta-icon {
  color: #e6b422;
  margin-right: 10px;
}

.l-header__center {
  text-align: center;
}

.l-header__logo {
  max-width: 320px;
  width: 37.03%;
  margin: 0 auto 8px auto;
}

.l-header__logo-img {
  width: 100%;
}

.l-header__menu {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [5];
  grid-template-columns: repeat(5, 1fr);
}

.l-header__list {
  text-align: center;
}

.l-header__list:last-child {
  margin-right: 0;
}

.l-header__list:hover .l-header__list-text {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-header__list-text {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-header__list-text--en {
  font-size: 1.1111111111vw;
  font-family: "Playfair Display", serif;
  font-weight: 700;
}

.l-header__list-text--jp {
  font-size: 1.3888888889vw;
}

.l-header__right {
  border: 1px solid #f3f3f3;
  pointer-events: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l-header__right:hover {
  border: 1px solid #e6b422;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
}

.l-header__right-link {
  display: block;
  padding: 4.1%;
  pointer-events: auto;
}

.l-header__right-text {
  font-size: 1.3888888889vw;
  position: relative;
}

.l-header__right-text::before {
  content: "";
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  border-top: 3px solid #e6b422;
  border-right: 3px solid #e6b422;
  position: absolute;
  top: 50%;
  right: 9%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.l-header__right-text::after {
  content: "";
  width: 3.3333333333vw;
  height: 3.3333333333vw;
  border: 1px solid #e6b422;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-header__inner--sp {
  display: none;
  width: 100%;
  height: 40px;
  padding-top: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.l-header__logo--sp {
  width: 30%;
  margin-left: 0.5em;
}

.l-header__hamburger-btn {
  position: fixed;
  top: 1em;
  right: 24px;
  display: inline-block;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  width: 32px;
  height: 32px;
  text-align: right;
  z-index: 100;
}

.l-header__hamburger-line {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 24px;
  height: 3px;
  border-radius: 3px;
  background-color: #f3f3f3;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-animation: closeAnimation 0.6s 1;
  animation: closeAnimation 0.6s 1;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
}

.l-header__hamburger-line::before {
  content: "";
  position: absolute;
  display: block;
  background-color: inherit;
  height: 100%;
  border-radius: 3px;
  width: 32px;
  top: -10px;
  right: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.l-header__hamburger-line.is-active {
  width: 24px;
  -webkit-transform: translateY(-5px) rotate(45deg);
  transform: translateY(-5px) rotate(45deg);
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  -webkit-animation: openAnimation 0.6s 1;
  animation: openAnimation 0.6s 1;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
}

.l-header__hamburger-line.is-active::before {
  width: 24px;
  -webkit-transform: translate(0, 10px) rotate(-90deg);
  transform: translate(0, 10px) rotate(-90deg);
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
}

.l-header__modal {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 90;
  background-color: #0e0e0e;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}

.l-header__modal.is-active {
  display: block;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
  -webkit-animation: openAnimation 0.6s 1;
  animation: openAnimation 0.6s 1;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
}

.l-header__modal-menu {
  margin-top: 64px;
  text-align: center;
}

.l-header__modal-list {
  font-size: 1.25rem;
  font-family: "Playfair Display", serif;
}

.l-header__modal-link,
.l-header__gallery-link {
  padding: 0.15em 1em;
  display: inline-block;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-header__modal-link:hover,
.l-header__gallery-link:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-header__gallery-list {
  font-size: 0.725em;
  font-family: "Sawarabi Mincho", serif;
}

.l-header__modal-info {
  position: absolute;
  bottom: 1em;
  left: 1em;
}

.l-header__modal-data {
  font-size: 0.75rem;
}

.l-header__modal-data:first-child {
  text-transform: uppercase;
  font-size: 1rem;
}

.l-header__modal-data + .l-header__modal-data {
  margin-top: 4px;
}

.l-header__modal-icon {
  color: #e6b422;
  margin-right: 0.5em;
}

@-webkit-keyframes openAnimation {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes openAnimation {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes closeAnimation {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes closeAnimation {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* =========================================================================
  inner
========================================================================= */

.l-inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 92%;
}

.l-inner__sidebar {
  max-width: 1200px;
  margin: 0 auto;
  width: 92%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 70% 32px 30%;
  grid-template-columns: 70% 30%;
  -webkit-column-gap: 32px;
  -moz-column-gap: 32px;
  column-gap: 32px;
}

/* =========================================================================
  footer
========================================================================= */

.l-footer {
  padding: 96px 0 40px;
  text-align: center;
}

.l-footer__nav {
  margin-bottom: 24px;
}

.l-footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-footer__list {
  margin-right: 40px;
}

.l-footer__list:last-child {
  margin-right: 0;
}

.l-footer__link {
  font-size: 1.5rem;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-footer__link:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-footer__cta {
  margin-bottom: 40px;
}

.l-footer__tel {
  font-size: 2rem;
  margin-right: 3vw;
}

.l-footer__tel:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-footer__mail {
  font-size: 2rem;
  margin-right: 3vw;
}

.l-footer__mail:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-footer__insta {
  font-size: 2rem;
}

.l-footer__insta:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.l-footer__logo {
  margin-bottom: 24px;
}

.l-footer__logo img {
  width: 320px;
}

.l-footer__copyright {
  font-size: 0.75rem;
}

.l-footer__copyright span {
  text-transform: uppercase;
}

/* =========================================================================
  共通 section
========================================================================= */

.c-section__title {
  font-size: 3rem;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  margin-bottom: 64px;
  display: inline-block;
  position: relative;
}

.c-section__title.is-scroll::first-letter {
  color: #e6b422;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

.c-section__title--jp {
  font-size: 0.5em;
  font-family: "Sawarabi Mincho", serif;
  letter-spacing: 0.03em;
  margin-left: 0.75em;
  font-weight: 400;
}

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

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

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

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

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

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

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

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

/* =========================================================================
  共通　post
========================================================================= */

.c-post__cat {
  padding: 0.15em 1.5em;
  background-color: #9a9a9a;
}

.c-post__cat--5 {
  background-color: #1d2c62;
}

.c-post__cat--6 {
  background-color: #5a1717;
}

.c-post__cat--7 {
  background-color: #937b5b;
}

/* =========================================================================
  共通　btn
========================================================================= */

.c-btn__primary {
  font-family: "Playfair Display", serif;
  font-size: 1.5rem;
  font-weight: 400;
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-btn__primary::before {
  content: "";
  position: absolute;
  width: 48px;
  height: 1px;
  background-color: #f3f3f3;
  right: -72px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}

.c-btn__primary::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border: 1px solid #f3f3f3;
  border-radius: 50%;
  right: -72px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-btn__primary:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-btn__primary:hover::before {
  -webkit-transform: translate(12px, -50%);
  transform: translate(12px, -50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  -webkit-animation: none;
  animation: none;
}

.c-btn__secondary {
  width: 100%;
  font-size: 1.5rem;
  font-family: "Sawarabi Mincho", serif;
  display: block;
  color: #f3f3f3;
  background-color: #0e0e0e;
  text-align: center;
  padding: 0.75em 0 !important;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  border: 1px solid #e6b422;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 0px !important;
}

.c-btn__secondary:hover {
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  opacity: 0.9;
  color: #e6b422;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/* =========================================================================
  共通 page-top
========================================================================= */

.c-page-top {
  max-width: 1980px;
  width: 100%;
  margin: 6vw auto 64px;
  position: relative;
}

.c-page-top__img {
  width: 100%;
  -webkit-mask-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(black),
    to(rgba(0, 0, 0, 0.7))
  );
  -webkit-mask-image: -webkit-linear-gradient(black, rgba(0, 0, 0, 0.7));
  mask-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(black),
    to(rgba(0, 0, 0, 0.7))
  );
  mask-image: linear-gradient(black, rgba(0, 0, 0, 0.7));
}

.c-page-top__title {
  position: absolute;
  left: 5%;
  bottom: 5%;
  font-size: 3.75rem;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-shadow: 3px 2px 4px #000;
}

.c-page-top__title--jp {
  font-size: 0.46em;
  margin-left: 0.75em;
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
}

/* =========================================================================
  共通　パンくず
========================================================================= */

.c-breadcrumb {
  max-width: 1200px;
  margin: 0 auto;
  width: 90%;
  margin-bottom: 32px;
}

.c-breadcrumb--car {
  margin-left: 0;
}

.c-breadcrumb__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-breadcrumb__item::after {
  content: "»";
  font-size: 0.875rem;
  margin-right: 4px;
}

.c-breadcrumb__item:last-child::after {
  content: none;
}

.c-breadcrumb__link {
  margin-right: 4px;
  text-decoration: underline;
  text-underline-offset: 2px;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-breadcrumb__link:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.c-breadcrumb--inner {
  width: 100%;
  margin-bottom: 32px;
}

/* =========================================================================
共通　ページネーション
========================================================================= */
.c-pagenation {
  padding-top: 48px;
  margin-bottom: 112px;
}

.c-pagenation__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-pagenation__item {
  margin-right: 2em;
  border: 2px solid #f3f3f3;
  border-radius: 50%;
  pointer-events: none;
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

.c-pagenation__item:last-child {
  margin-right: 0;
}

.c-pagenation__item:hover {
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
  border-color: #e6b422;
}

.c-pagenation__item--is-active {
  padding: 1.25em 1.5em;
  color: #e6b422;
  border-color: #e6b422;
}

.c-pagenation__link {
  padding: 1.25em 1.5em;
  display: block;
  pointer-events: auto;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-pagenation__link:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

/* =========================================================================
  共通　サイドバー
========================================================================= */

.c-sidebar-tag__title,
.c-sidebar-cat__title,
.c-sidebar-new__title {
  font-size: 2rem;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 0.75em;
}

.c-sidebar-tag__title::first-letter,
.c-sidebar-cat__title::first-letter,
.c-sidebar-new__title::first-letter {
  color: #e6b422;
}

.c-sidebar-tag__title--jp,
.c-sidebar-cat__title--jp,
.c-sidebar-new__title--jp {
  font-size: 0.5em;
  font-family: "Sawarabi Mincho", serif;
  margin-left: 1em;
  font-weight: 400;
  margin-left: 0;
  display: block;
}

.c-sidebar-new {
  margin-bottom: 40px;
}

.c-sidebar-new__item {
  margin-bottom: 1em;
  padding-left: 1em;
}

.c-sidebar-new__link:hover .c-sidebar-new__post-title {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-sidebar-new__link:hover .c-sidebar-new__img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  opacity: 0.8;
}

.c-sidebar-new__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 25% 1em 75%;
  grid-template-columns: 25% 75%;
  -webkit-column-gap: 1em;
  -moz-column-gap: 1em;
  column-gap: 1em;
}

.c-sidebar-new__detail {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}

.c-sidebar-new__post-title {
  font-size: 1rem;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-sidebar-new__thumbnail {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.c-sidebar-new__img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  height: 100%;
  object-fit: cover;
}

.c-sidebar-cat {
  margin-bottom: 40px;
}

.c-sidebar-cat__list {
  margin-left: 1em;
}

.c-sidebar-cat__item {
  margin-bottom: 0.5em;
}

.c-sidebar-cat__item::before {
  content: "-";
  margin-right: 0.25em;
}

.c-sidebar-cat__item:last-child {
  margin-bottom: 0;
}

.c-sidebar-cat__link {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-sidebar-cat__link:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-sidebar-tag {
  height: 200px;
  position: sticky;
  top: 3em;
}

.c-sidebar-tag__list {
  margin-left: 1em;
}

.c-sidebar-tag__item {
  display: inline-block;
  margin-right: 0.5em;
}

.c-sidebar-tag__link {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-sidebar-tag__link::before {
  content: "#";
  margin-right: 0.2em;
}

.c-sidebar-tag__link:hover {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-cta {
  padding-top: 48px;
  margin-bottom: 112px;
}

/* =========================================================================
  共通　cta
========================================================================= */

.c-cta {
  width: 100%;
  background-image: url(../img/common/cta_banner_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2.5em;
  position: relative;
}

.c-cta::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
}

.c-cta__wrap {
  width: 92%;
  margin: 0 auto;
  padding: 2.5em 0.75em;
  background-color: rgba(163, 163, 163, 0.5);
  position: relative;
  z-index: 1;
}

.c-cta__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 2em;
}

.c-cta__tel {
  margin-right: 2em;
}

.c-cta__text--top {
  font-size: min(2.5vw, 32px);
}

.c-cta__text--bottom {
  font-size: min(3.125vw, 40px);
}

.c-cta__icon {
  color: #e6b422;
  margin-right: 1em;
  -webkit-transform: translateY(6px);
  transform: translateY(6px);
}

.c-cta__btn {
  width: 360px;
  margin: 0 auto;
}

/* =========================================================================
  共通　fixed
========================================================================= */

.c-fixed__contents {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 50;
  width: 100%;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  text-align: center;
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  pointer-events: none;
}

.c-fixed__contents.is-active {
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 1;
  pointer-events: auto;
}

.c-fixed__text {
  width: 100%;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  background-color: rgba(230, 180, 34, 0.7);
}

.c-fixed__text:last-child {
  background-color: rgba(29, 44, 98, 0.7);
}

.c-fixed__link {
  display: block;
  padding: 16px 0;
}

.c-fixed__icon {
  display: block;
  width: 16px;
  margin: 0.25em auto 0;
}

.p-top-company,
.p-top-faq,
.p-top-voice,
.p-top-service,
.p-top-customer,
.p-top-gallery,
.p-top-news {
  padding-top: 48px;
  margin-bottom: 112px;
}

/* =========================================================================
  TOP-mv
========================================================================= */

.p-top-mv {
  max-width: 1980px;
  width: 100%;
  margin: 8vw auto 64px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40% 60%;
  grid-template-columns: 40% 60%;
  place-items: center;
}

.p-top-mv__slide {
  position: relative;
}

.p-top-mv__logo img {
  position: absolute;
  width: 90%;
  top: 75%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.p-top-mv__img--01,
.p-top-mv__img--02,
.p-top-mv__img--03 {
  -webkit-animation: fadeAnimation 30s infinite;
  animation: fadeAnimation 30s infinite;
  width: 60vw;
  height: 60vh;
  margin-left: auto;
  opacity: 0;
}

.p-top-mv__img--01 {
  display: block;
}

.p-top-mv__img--02 {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}

.p-top-mv__img--03 {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-delay: 20s;
  animation-delay: 20s;
}

.p-top-mv__catchcopy {
  font-size: 1.75rem;
  line-height: 2;
  letter-spacing: 0.125em;
}

@-webkit-keyframes fadeAnimation {
  0% {
    opacity: 0;
  }

  3% {
    opacity: 1;
  }

  30% {
    opacity: 1;
  }

  33% {
    opacity: 0;
  }
}

@keyframes fadeAnimation {
  0% {
    opacity: 0;
  }

  3% {
    opacity: 1;
  }

  30% {
    opacity: 1;
  }

  33% {
    opacity: 0;
  }
}

/* =========================================================================
  TOP-news
========================================================================= */

.p-top-news__contents {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 280px 1fr;
  grid-template-columns: 280px 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 1em;
  row-gap: 1.5em;
}

.p-top-news__contents > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-top-news__contents > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-top-news__date {
  letter-spacing: 0.03em;
}

.p-top-news__date span {
  margin-left: 1.5em;
}

.p-top-news__title {
  letter-spacing: 0.03em;
}

.p-top-news__link {
  display: block;
  padding: 8px 0;
}

.p-top-news__link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: #e6b422;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-top-news__btn {
  margin-top: 72px;
  text-align: center;
}

/* =========================================================================
  TOP-gallery
========================================================================= */

.p-top-gallery {
  margin-bottom: 160px;
}

.p-top-gallery__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [3];
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 72px;
}

.p-top-gallery__link {
  display: -ms-grid;
  display: grid;
}

.p-top-gallery__card {
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  aspect-ratio: 4 / 3;
}

.p-top-gallery__card.is-scroll {
  opacity: 1;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.p-top-gallery__card:hover .p-top-gallery__mask {
  opacity: 1;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.p-top-gallery__img {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-top-gallery__mask {
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.7);
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.p-top-gallery__text {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
}

.p-top-gallery__item {
  padding-left: 12%;
  margin-bottom: 0.25em;
  font-size: 1rem;
}

.p-top-gallery__more {
  text-align: center;
  color: #e6b422;
  margin-top: 1em;
  font-size: 1rem;
}

.p-top-gallery__btn {
  text-align: center;
}

.p-top-gallery__swiper {
  margin-bottom: 64px;
  display: none;
}

.p-top-gallery__slider-img {
  aspect-ratio: 4/3;
  height: auto;
  object-fit: cover;
}
/* =========================================================================
  TOP-customer
========================================================================= */

.p-top-customer {
  margin-bottom: 160px;
}

.p-top-customer__text {
  text-align: center;
  margin-bottom: 1em;
}

.p-top-customer__slider-img {
  aspect-ratio: 4 / 3;
  width: 100%;
  object-fit: cover;
}

/* =========================================================================
  TOP-values
========================================================================= */

.p-top-values {
  width: 100%;
  background-image: url(../img/top/top_values-bg.jpg);
  background-size: cover;
  background-position: 70% 50%;
  background-repeat: no-repeat;
  padding: 48px 0 112px;
}

.p-top-values__text {
  font-size: 1.125rem;
  position: relative;
  z-index: 10;
  text-align: center;
  letter-spacing: 0.125em;
  line-height: 2;
  margin-bottom: 1em;
  text-shadow:
    2px 4px 4px black,
    2px 4px 4px black,
    2px 4px 4px black;
}

.p-top-values__text span {
  display: inline-block;
}

.p-top-values__text:last-child {
  margin-bottom: 0;
}

/* =========================================================================
  TOP-service
========================================================================= */

.p-top-service__items {
  max-width: 1048px;
  width: 87.3%;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 16px 1fr 16px 1fr;
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -webkit-column-gap: 16px;
  -moz-column-gap: 16px;
  column-gap: 16px;
}

.p-top-service__items > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-top-service__items > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-top-service__items > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}

.p-top-service__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 10.8% 0.5em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #f3f3f3;
  -webkit-box-shadow: 1px 0px 6px 2px rgba(224, 189, 82, 0.6);
  box-shadow: 1px 0px 6px 2px rgba(224, 189, 82, 0.6);
}

.p-top-service__title {
  font-size: 1.5rem;
  margin: 24px 0 12px 0;
}

.p-top-service__text {
  letter-spacing: 0.03em;
}

.p-top-service__img {
  width: 96px;
  height: 96px;
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  fill: #e6b422;
}

/* =========================================================================
  TOP-voice
========================================================================= */

.p-top-voice__text {
  text-align: center;
  margin-bottom: 2em;
}

.p-top-voice__text span {
  display: inline-block;
}

.p-top-voice__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 10% 1fr;
  grid-template-columns: 10% 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 40px;
}

.p-top-voice__item > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-top-voice__item > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-top-voice__item:last-child {
  margin-bottom: 0;
}

.p-top-voice__name {
  font-size: 3rem;
}

.p-top-voice__name span {
  font-size: 1.5rem;
}

.p-top-voice__review-table {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 22.5% 1fr;
  grid-template-columns: 22.5% 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  margin-bottom: 16px;
}

.p-top-voice__review-table > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-top-voice__review-table > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-top-voice__review-all {
  font-size: 1.5rem;
  text-align: center;
  border-right: 1px solid #f3f3f3;
  padding: 0.5em 1em;
}

.p-top-voice__review-all span {
  display: block;
  color: #e6b422;
}

.p-top-voice__review-separate {
  padding: 0.5em 1em;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 3fr 1fr 3fr 1fr;
  grid-template-columns: 3fr 1fr 3fr 1fr;
  -ms-grid-rows: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-top-voice__review-separate > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-top-voice__review-separate > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-top-voice__review-separate > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-top-voice__review-separate > *:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 4;
}

.p-top-voice__review-separate > *:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.p-top-voice__review-separate > *:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}

.p-top-voice__review-separate > *:nth-child(7) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}

.p-top-voice__review-separate > *:nth-child(8) {
  -ms-grid-row: 2;
  -ms-grid-column: 4;
}

.p-top-voice__review-cat {
  font-size: 1rem;
}

.p-top-voice__review-score {
  font-size: 1.5rem;
}

.p-top-voice__review-comment {
  letter-spacing: 0.03em;
}

/* =========================================================================
  TOP-faq
========================================================================= */

.p-top-faq__items {
  margin-left: 2em;
}

.p-top-faq__question {
  font-size: 1rem;
  margin-bottom: 0.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.p-top-faq__question:nth-child(n + 2) {
  margin-top: 3em;
}

.p-top-faq__question.is-scroll {
  color: #e6b422;
  -webkit-transition: color 0.6s;
  transition: color 0.6s;
}

.p-top-faq__answer {
  font-size: 1rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding-bottom: 3em;
}

.p-top-faq__answer::after {
  content: "";
  width: 60%;
  height: 1px;
  background-color: #f3f3f3;
  position: absolute;
  left: 20%;
  bottom: 0;
}

.p-top-faq__answer:last-child::after {
  content: none;
}

.p-top-faq__text--first {
  font-size: 1.25rem;
  margin-right: 0.5em;
}

/* =========================================================================
  TOP-compnay
========================================================================= */

.p-top-company__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -webkit-column-gap: 2em;
  -moz-column-gap: 2em;
  column-gap: 2em;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-bottom: 40px;
}

.p-top-company__wrap > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-top-company__wrap > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-top-company__name {
  font-size: 1.5rem;
  margin-bottom: 1.5em;
}

.p-top-company__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  letter-spacing: 0.03em;
}

.p-top-company__info-cat {
  width: 20%;
  margin-bottom: 1em;
}

.p-top-company__info-cat:nth-of-type(4) {
  margin-bottom: 2em;
}

.p-top-company__info-cat:nth-of-type(n + 5) {
  font-size: 1.5rem;
}

.p-top-company__info-content {
  width: 80%;
  margin-bottom: 1em;
}

.p-top-company__info-content:nth-of-type(4) {
  margin-bottom: 2em;
}

.p-top-company__info-content:nth-of-type(n + 5) {
  font-size: 1.5rem;
}

.p-top-company__img {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
}

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

.p-top-company__service {
  margin-bottom: 120px;
}

.p-top-company__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [3];
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  margin-bottom: 40px;
}

.p-top-company__item {
  font-size: 1.25rem;
  position: relative;
}

.p-top-company__sub-list {
  margin-top: 0.25em;
}

.p-top-company__sub-item {
  padding-left: 0.5em;
  color: #f3f3f3;
  font-size: 0.75em;
}

.p-top-company__sub-item::before {
  content: "-";
  margin-right: 0.25em;
}

.p-top-company__map iframe {
  width: 100%;
  height: 300px;
}

.p-top-company__link {
  text-align: center;
  font-size: 1.25rem;
}

.p-top-company__link--accent {
  color: #e6b422;
  display: inline-block;
  margin: 0 0.25em;
}

.p-news-list {
  padding-top: 48px;
  margin-bottom: 112px;
}

/* =========================================================================
News-list
========================================================================= */

.p-news-list {
  padding-top: 48px;
  margin-bottom: 112px;
}

.p-news-list {
  margin-top: 0;
}

.p-news-list__item {
  margin-bottom: 1.25em;
}

.p-news-list__item:last-child {
  margin-bottom: 0;
}

.p-news-list__link {
  display: block;
}

.p-news-list__link:hover .p-news-list__title {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.p-news-list__link:hover .p-news-list__img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  opacity: 0.8;
}

.p-news-list__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 30% 70%;
  grid-template-columns: 30% 70%;
}

.p-news-list__detail {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  padding: 0 1em;
}

.p-news-list__date {
  margin-bottom: 1em;
}

.p-news-list__date span {
  margin-left: 1.5em;
}

.p-news-list__title {
  font-size: 1.5rem;
  margin-bottom: 1.2em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  height: 3em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.p-news-list__text {
  width: 100%;
  letter-spacing: 0.03em;
  line-height: 1.2;
  height: 3.6em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.p-news-list__thumbnail {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  overflow: hidden;
}

.p-news-list__img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  height: auto;
  width: 100%;
}

.p-about-company,
.p-about-intro {
  padding-top: 48px;
  margin-bottom: 112px;
}

/* =========================================================================
  About-intro
========================================================================= */

.p-about-intro__title {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 2em;
  letter-spacing: -0.125em;
}

.p-about-intro span {
  font-family: "Playfair Display", serif;
  font-size: 1.5em;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-right: 0.25em;
}

.p-about-intro__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [3];
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-rows: (1fr) [2];
  grid-template-rows: repeat(2, 1fr);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-about-intro__grid > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-about-intro__grid > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-about-intro__grid > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-about-intro__grid > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.p-about-intro__grid > *:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}

.p-about-intro__grid > *:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}

.p-about-intro__item--text {
  padding: 0.5em 1em;
}

.p-about-intro__img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
}

/* =========================================================================
  About-company
========================================================================= */

.p-about-company__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -webkit-column-gap: 2em;
  -moz-column-gap: 2em;
  column-gap: 2em;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-bottom: 40px;
}

.p-about-company__wrap > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-about-company__wrap > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-about-company__name {
  font-size: 1.5rem;
  margin-bottom: 1.5em;
}

.p-about-company__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  letter-spacing: 0.03em;
}

.p-about-company__info-cat {
  width: 20%;
  margin-bottom: 1em;
}

.p-about-company__info-cat:nth-of-type(4) {
  margin-bottom: 2em;
}

.p-about-company__info-cat:nth-of-type(n + 5) {
  font-size: 1.5rem;
}

.p-about-company__info-content {
  width: 80%;
  margin-bottom: 1em;
}

.p-about-company__info-content:nth-of-type(4) {
  margin-bottom: 2em;
}

.p-about-company__info-content:nth-of-type(n + 5) {
  font-size: 1.5rem;
}

.p-about-company__img {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
}

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

.p-about-company__service {
  margin-bottom: 120px;
}

.p-about-company__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [3];
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  margin-bottom: 40px;
}

.p-about-company__item {
  font-size: 1.25rem;
  position: relative;
}

.p-about-company__sub-list {
  margin-top: 0.25em;
}

.p-about-company__sub-item {
  padding-left: 0.5em;
  color: #f3f3f3;
  font-size: 0.75em;
}

.p-about-company__sub-item::before {
  content: "-";
  margin-right: 0.25em;
}

.p-about-company__map iframe {
  width: 100%;
  height: 300px;
}

.p-about-company__link {
  text-align: center;
  font-size: 1.25rem;
}

.p-about-company__link--accent {
  color: #e6b422;
  display: inline-block;
  margin: 0 0.25em;
}

.p-service-items {
  padding-top: 48px;
  margin-bottom: 112px;
}

/* =========================================================================
  Service-items
========================================================================= */

.p-service-items__item {
  margin-bottom: 64px;
}

.p-service-items__item:last-child {
  margin-bottom: 0;
}

.p-service-items__title {
  font-size: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  margin-bottom: 0.5em;
}

.p-service-items__title--sub {
  font-family: "Nothing You Could Do", cursive;
  display: block;
  font-size: 0.5em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.p-service-items__title--sub.is-scroll {
  color: #e6b422;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.p-service-items__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 1em;
}

.p-service-items__flex--reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}

.p-service-items__text {
  width: 50%;
}

.p-service-items__catch {
  font-size: 1.5rem;
  line-height: 2;
  margin-bottom: 0.75em;
}

.p-service-items__thumbnail {
  width: 48%;
}

.p-service-items__img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-mask-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0.8)),
    to(rgba(0, 0, 0, 0.8))
  );
  -webkit-mask-image: -webkit-linear-gradient(
    rgba(0, 0, 0, 0.8),
    rgba(0, 0, 0, 0.8)
  );
  mask-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0.8)),
    to(rgba(0, 0, 0, 0.8))
  );
  mask-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
}

.p-gallery-stock {
  padding-top: 48px;
  margin-bottom: 112px;
}

/* =========================================================================
  Gallery-stock
========================================================================= */

.p-gallery-stock__cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 32px;
}

.p-gallery-stock__cat-list {
  margin-right: 1em;
  font-size: 1.25rem;
  white-space: nowrap;
}

.p-gallery-stock__cat-list + .p-gallery-stock__cat-list::before {
  content: "/";
  margin-right: 1em;
  color: #f3f3f3;
}

.p-gallery-stock__cat-list--is-active {
  color: #e6b422;
}

.p-gallery-stock__cat-link {
  text-decoration: underline;
  text-underline-offset: 2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-gallery-stock__cat-link:hover {
  color: #e6b422;
  text-decoration: underline;
  text-underline-offset: 2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-gallery-stock__title {
  font-size: 2rem;
  margin-bottom: 1em;
}

.p-gallery-stock__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr 2em 1fr 2em 1fr;
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 2em;
  -moz-column-gap: 2em;
  column-gap: 2em;
  row-gap: 64px;
}

.p-gallery-stock__wrap > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-gallery-stock__wrap > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-gallery-stock__wrap > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}

.p-gallery-stock__wrap > *:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
}

.p-gallery-stock__wrap > *:nth-child(5) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

.p-gallery-stock__wrap > *:nth-child(6) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.p-gallery-stock__wrap > *:nth-child(7) {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
}

.p-gallery-stock__wrap > *:nth-child(8) {
  -ms-grid-row: 3;
  -ms-grid-column: 7;
}

.p-gallery-stock__wrap > *:nth-child(9) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}

.p-gallery-stock__wrap > *:nth-child(10) {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
}

.p-gallery-stock__wrap > *:nth-child(11) {
  -ms-grid-row: 5;
  -ms-grid-column: 5;
}

.p-gallery-stock__wrap > *:nth-child(12) {
  -ms-grid-row: 5;
  -ms-grid-column: 7;
}

.p-gallery-stock__link:hover .p-gallery-stock__mask {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}

.p-gallery-stock__card-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.p-gallery-stock__thumbnail {
  margin-bottom: 8px;
  display: -ms-grid;
  display: grid;
  overflow: hidden;
}

.p-gallery-stock__img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  aspect-ratio: 4 / 3;
  height: auto;
}

.p-gallery-stock__mask {
  width: 100%;
  height: 100%;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  background-color: rgba(0, 0, 0, 0.6);
  display: -ms-grid;
  display: grid;
  place-items: center;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}

.p-contact-form {
  padding-top: 48px;
  margin-bottom: 112px;
}

/* =========================================================================
  Contact-form
========================================================================= */

.p-contact-form__text {
  text-align: center;
  line-height: 2;
  margin-bottom: 2em;
}

.p-contact-form__text span {
  display: inline-block;
}

.p-contact-form__privacy-policy {
  width: 100%;
  margin-bottom: 80px;
  height: 250px;
  overflow: auto;
  padding: 0.5em 1em;
  background-color: #f3f3f3;
  color: #0e0e0e;
  font-size: 0.875rem;
}

.p-contact-form__form dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 20% 80%;
  grid-template-columns: 20% 80%;
}

.p-contact-form__form dl dt,
.p-contact-form__form dl dd {
  margin-bottom: 1.5em;
}

.p-contact-form__term {
  margin-top: 1em;
}

.p-contact-form__term span {
  margin-left: 1em;
  font-size: 0.75rem;
  color: #d43030;
}

.p-contact-form__desc input {
  border-radius: 5px;
}

.p-contact-form__desc span {
  font-size: 0.75rem;
}

.p-contact-form__name,
.p-contact-form__tel,
.p-contact-form__mail {
  width: 60%;
  padding: 0.25em 0.5em;
}

.p-contact-form__textfield {
  border-radius: 5px;
  width: 100%;
  padding: 0.25em 0.5em;
  color: #0e0e0e;
}

.p-contact-form__check {
  margin: 24px 0 64px;
}

.p-contact-form__btn {
  width: 250px;
  margin: 0 auto;
  color: #f3f3f3;
  font-family: "Sawarabi Mincho", serif;
}

/* =========================================================================
  single-news__thumbnail
========================================================================= */

.p-single-news__thumbnail {
  max-width: 900px;
  width: 90%;
  margin: 120px auto 72px;
}

.p-single-news__img {
  width: 100%;
  max-height: 400px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* =========================================================================
  single-news-contents
========================================================================= */

.p-single-news-contents__info {
  margin-bottom: 32px;
}

.p-single-news-contents__cat {
  display: inline-block;
  padding: 0.15em 1.5em;
  background-color: #1d2c62;
  margin-bottom: 1.5em;
}

.p-single-news-contents__date {
  margin-bottom: 0.5em;
}

.p-single-news-contents__title {
  font-size: 2rem;
}

.p-single-news-contents__text {
  margin-bottom: 64px;
}

.p-single-news-contents__tag {
  margin: 0 0 72px;
}

.p-single-news-contents__tag-item {
  display: inline-block;
}

.p-single-news-contents__tag-item + .p-single-news-contents__tag-item {
  margin-left: 1em;
}

.p-single-news-contents__tag-link {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-single-news-contents__tag-link::before {
  content: "#";
  margin-right: 0.2em;
}

.p-single-news-contents__tag-link:hover {
  color: #e6b422;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-single-news-contents__btn {
  width: 320px;
  margin-right: auto;
  position: relative;
}

.p-single-news-contents__btn::before {
  content: "«";
  font-size: 2em;
  position: absolute;
  top: 50%;
  left: 10%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* =========================================================================
single-gallery-contens
========================================================================= */

.p-single-gallery-contents {
  margin-bottom: 112px;
  margin-top: 120px;
}

.p-single-gallery-contents__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  margin-bottom: 32px;
}

.p-single-gallery-contents__info {
  width: calc(50% - 2em);
  margin-left: 2em;
}

.p-single-gallery-contents__car-name {
  font-size: 2rem;
  margin-bottom: 8px;
}

.p-single-gallery-contents__detail {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40% 60%;
  grid-template-columns: 40% 60%;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.p-single-gallery-contents__term {
  margin-bottom: 4px;
}

.p-single-gallery-contents__term--price {
  font-size: 1.5rem;
}

.p-single-gallery-contents__desc {
  margin-bottom: 4px;
}

.p-single-gallery-contents__desc--price {
  font-size: 1.5rem;
}

.p-single-gallery-contents__desc--large {
  font-size: 2.5rem;
}

.p-single-gallery-contents__slider {
  width: 50%;
}

.p-single-gallery-contents__img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-single-gallery-contents__thumb-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [4];
  grid-template-columns: repeat(4, 1fr);
  -ms-grid-rows: (1fr) [2];
  grid-template-rows: repeat(2, 1fr);
}

.p-single-gallery-contents__thumb-list > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-single-gallery-contents__thumb-list > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-single-gallery-contents__thumb-list > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-single-gallery-contents__thumb-list > *:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 4;
}

.p-single-gallery-contents__thumb-list > *:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.p-single-gallery-contents__thumb-list > *:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}

.p-single-gallery-contents__thumb-list > *:nth-child(7) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}

.p-single-gallery-contents__thumb-list > *:nth-child(8) {
  -ms-grid-row: 2;
  -ms-grid-column: 4;
}

.p-single-gallery-contents__thumb-img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-single-gallery-contents__caption {
  font-size: 0.75rem;
}

.p-single-gallery-contents__comment {
  margin-bottom: 72px;
}

.p-single-gallery-contents__heading {
  font-size: 1.5rem;
  margin-bottom: 0.75em;
}

.p-single-gallery-contents__btn {
  width: 320px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.p-single-gallery-contents__btn::before {
  content: "«";
  font-size: 2em;
  position: absolute;
  top: 50%;
  left: 10%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* =========================================================================
  utility hidden
========================================================================= */

.u-visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

@media screen and (max-width: 1024px) {
  .p-top-service__title {
    font-size: 1.25rem;
  }

  .p-top-voice__item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .p-top-voice__review-table {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    text-align: left;
  }

  .p-top-voice__review-all {
    font-size: 2rem;
    padding-bottom: 0;
    border: none;
  }

  .p-top-voice__review-separate {
    width: 80%;
    margin: 0 auto;
  }

  .p-top-voice__review-comment {
    text-align: left;
  }

  .p-top-company__name {
    font-size: 1.25rem;
  }

  .p-top-company__info-cat:nth-of-type(n + 5) {
    font-size: 1.25rem;
  }

  .p-top-company__info-content:nth-of-type(n + 5) {
    font-size: 1.25rem;
  }

  .p-about-company__name {
    font-size: 1.25rem;
  }

  .p-about-company__info-cat:nth-of-type(n + 5) {
    font-size: 1.25rem;
  }

  .p-about-company__info-content:nth-of-type(n + 5) {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  body {
    font-size: 0.75rem;
  }

  .l-header__inner--pc {
    display: none;
  }

  .l-header__inner--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .l-inner {
    width: 92%;
  }

  .l-inner__sidebar {
    width: 92%;
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    column-gap: 16px;
  }

  .l-footer {
    padding: 64px 0 32px;
  }

  .l-footer__link {
    font-size: 1rem;
  }

  .l-footer__cta {
    margin-bottom: 16px;
  }

  .c-section__title {
    font-size: 2.5rem;
  }

  .c-btn__primary {
    font-size: 1.25rem;
  }

  .c-btn__primary::before {
    width: 32px;
    right: -48px;
  }

  .c-btn__primary::after {
    width: 16px;
    height: 16px;
    right: -48px;
  }

  .c-btn__secondary {
    font-size: 1rem;
  }

  .c-page-top {
    margin: 0 0 32px;
  }

  .c-page-top__img {
    height: 30vh;
  }

  .c-breadcrumb {
    width: 92.5%;
  }

  .c-breadcrumb__items {
    font-size: 0.75rem;
  }

  .c-pagenation {
    padding-top: 32px;
    margin-bottom: 96px;
  }

  .c-sidebar-tag__title,
  .c-sidebar-cat__title,
  .c-sidebar-new__title {
    font-size: 1.5rem;
  }

  .c-sidebar-new {
    margin-bottom: 24px;
  }

  .c-sidebar-new__item {
    padding: 0;
  }

  .c-sidebar-new__wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .c-sidebar-new__detail {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }

  .c-sidebar-new__thumbnail {
    display: none;
  }

  .c-sidebar-cat {
    margin-bottom: 24px;
  }

  .c-cta {
    padding-top: 32px;
    margin-bottom: 96px;
  }

  .c-cta {
    padding: 1em;
  }

  .c-cta__wrap {
    padding: 1em;
  }

  .c-cta__btn {
    width: 240px;
  }

  .c-fixed__contents {
    display: -ms-grid;
    display: grid;
  }

  .p-top-company,
  .p-top-faq,
  .p-top-voice,
  .p-top-service,
  .p-top-gallery,
  .p-top-news {
    padding-top: 32px;
    margin-bottom: 96px;
  }

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

  .p-top-mv__img--01,
  .p-top-mv__img--02,
  .p-top-mv__img--03 {
    width: 100%;
    min-height: 75vh;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .p-top-mv__catchcopy {
    font-size: 1.25rem;
  }

  .p-top-news__contents {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 0.5em;
    padding-left: 0;
  }

  .p-top-news__btn {
    margin-top: 32px;
  }

  .p-top-gallery__item {
    font-size: 0.75rem;
  }

  .p-top-gallery__more {
    font-size: 0.75rem;
  }

  .p-top-values {
    background-position: 50% 30%;
  }

  .p-top-service__items {
    width: 100%;
  }

  .p-top-voice__review-separate {
    width: 100%;
  }

  .p-top-faq__items {
    margin-left: 0;
  }

  .p-top-faq__question {
    font-size: 0.75rem;
  }

  .p-top-faq__answer {
    font-size: 0.75rem;
  }

  .p-top-faq__text--first {
    font-size: 1rem;
  }

  .p-top-company__wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .p-top-company__data {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }

  .p-top-company__info-cat {
    margin-bottom: 0.2em;
  }

  .p-top-company__info-cat:nth-of-type(4) {
    margin-bottom: 0.5em;
  }

  .p-top-company__info-content:nth-of-type(4) {
    margin-bottom: 0.5em;
  }

  .p-top-company__service {
    margin-bottom: 64px;
  }

  .p-top-company__item {
    font-size: 1rem;
  }

  .p-news-list {
    padding-top: 32px;
    margin-bottom: 96px;
  }

  .p-news-list__detail {
    padding: 0 0.5em;
  }

  .p-news-list__date {
    margin-bottom: 0.5em;
  }

  .p-news-list__title {
    font-size: 1rem;
    margin-bottom: 0.25em;
  }

  .p-news-list__text {
    font-size: 0.75rem;
    height: 2.4em;
    -webkit-line-clamp: 2;
  }

  .p-about-intro__title {
    font-size: 1.25rem;
  }

  .p-about-company,
  .p-about-intro {
    padding-top: 32px;
    margin-bottom: 96px;
  }

  .p-about-company__wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .p-about-company__data {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }

  .p-about-company__info-cat {
    margin-bottom: 0.2em;
  }

  .p-about-company__info-cat:nth-of-type(4) {
    margin-bottom: 0.5em;
  }

  .p-about-company__info-content:nth-of-type(4) {
    margin-bottom: 0.5em;
  }

  .p-about-company__service {
    margin-bottom: 64px;
  }

  .p-about-company__item {
    font-size: 1rem;
  }

  .p-service-items {
    padding-top: 32px;
    margin-bottom: 96px;
  }

  .p-service-items__title {
    font-size: 2rem;
  }

  .p-service-items__catch {
    font-size: 1rem;
  }

  .p-service-items__img {
    height: auto;
  }

  .p-gallery-stock {
    padding-top: 32px;
    margin-bottom: 96px;
  }

  .p-gallery-stock__cat-list {
    font-size: 1rem;
  }

  .p-gallery-stock__title {
    font-size: 1.5rem;
  }

  .p-gallery-stock__wrap {
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
    row-gap: 48px;
  }

  .p-contact-form {
    padding-top: 32px;
    margin-bottom: 96px;
  }

  .p-contact-form__privacy-policy {
    height: 200px;
  }

  .p-single-news-contents__title {
    font-size: 1.5rem;
  }

  .p-single-news-contents__btn {
    width: 240px;
  }

  .p-single-gallery-contents {
    margin-top: 48px;
    margin-bottom: 96px;
  }

  .p-single-gallery-contents__car-name {
    font-size: 1.5rem;
  }

  .p-single-gallery-contents__term--price {
    font-size: 1rem;
  }

  .p-single-gallery-contents__desc--price {
    font-size: 1rem;
  }

  .p-single-gallery-contents__desc--large {
    font-size: 2rem;
  }

  .p-single-gallery-contents__btn {
    width: 240px;
  }
}

@media screen and (max-width: 576px) {
  .l-inner__sidebar {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    width: 92%;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }

  .l-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 48px 0 24px;
  }

  .l-footer__menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .l-footer__list {
    margin-right: 0;
  }

  .l-footer__logo img {
    width: 240px;
  }

  .l-footer__logo {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    margin-bottom: 8px;
  }

  .c-section__title {
    font-size: 2rem;
  }

  .c-btn__secondary {
    font-size: 0.75rem;
  }

  .c-page-top__title {
    font-size: 2rem;
  }

  .c-page-top__title--jp {
    font-size: 0.5em;
  }

  .c-pagenation__item {
    margin-right: 1em;
  }

  .c-sidebar-cat__list {
    margin-left: 0;
  }

  .c-sidebar-tag__list {
    margin-left: 0;
  }

  .c-cta {
    display: none;
  }

  .p-top-mv {
    width: 90%;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-right: 0;
    margin-left: auto;
  }

  .p-top-mv__slide {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }

  .p-top-mv__slide::before {
    font-size: 4rem;
  }

  .p-top-mv__slide::after {
    font-size: 4rem;
    bottom: -2rem;
  }

  .p-top-mv__catchcopy {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    position: relative;
    z-index: 10;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
    font-size: 1.5rem;
    -webkit-transform: translateX(-5%);
    transform: translateX(-5%);
  }

  .p-top-gallery__grid {
    display: none;
  }

  .p-top-gallery__swiper {
    display: block;
  }

  .p-top-values {
    padding-bottom: 32px 0 96px;
  }

  .p-top-service__items {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  .p-top-service__item {
    width: 100%;
    margin: 0 auto;
    padding: 16px 1em;
  }

  .p-top-voice__name span {
    font-size: 1rem;
  }

  .p-top-voice__name {
    font-size: 2rem;
  }

  .p-top-voice__review-all {
    font-size: 1.5rem;
  }

  .p-top-voice__review-separate {
    width: 80%;
    -ms-grid-columns: 2fr 1fr;
    grid-template-columns: 2fr 1fr;
  }

  .p-top-voice__review-cat {
    font-size: 0.75rem;
  }

  .p-top-voice__review-score {
    font-size: 1rem;
  }

  .p-top-company__name {
    font-size: 1rem;
  }

  .p-top-company__info-cat:nth-of-type(n + 5) {
    font-size: 1rem;
  }

  .p-top-company__info-content:nth-of-type(n + 5) {
    font-size: 1rem;
  }

  .p-top-company__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .p-top-company__item + .p-top-company__item {
    margin-top: 1em;
  }

  .p-top-company__link {
    font-size: 1rem;
  }

  .c-loading__text {
    font-size: 4rem;
  }

  .p-news-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 12px 1fr;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px;
    row-gap: 40px;
  }

  .p-news-list__wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .p-news-list__detail {
    display: contents;
  }

  .p-news-list__date span {
    margin-top: 0.5em;
    margin-left: 0;
    -ms-flex-item-align: start;
    -ms-grid-row-align: start;
    align-self: start;
    text-align: center;
  }

  .p-news-list__date {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-news-list__title {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
  }

  .p-news-list__text {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1/4;
  }

  .p-news-list__thumbnail {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }

  .p-news-list__img {
    aspect-ratio: 4/3;
  }

  .p-about-intro__grid {
    -ms-grid-columns: (1fr) [2];
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.5em;
  }

  .p-about-intro__item--img:nth-of-type(2) {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }

  .p-about-intro__item--text:nth-of-type(2) {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }

  .p-about-company__name {
    font-size: 1rem;
  }

  .p-about-company__info-cat:nth-of-type(n + 5) {
    font-size: 1rem;
  }

  .p-about-company__info-content:nth-of-type(n + 5) {
    font-size: 1rem;
  }

  .p-about-company__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .p-about-company__item + .p-about-company__item {
    margin-top: 1em;
  }

  .p-about-company__link {
    font-size: 1rem;
  }

  .p-service-items__title {
    font-size: 1.5rem;
  }

  .p-service-items__flex--reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-service-items__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-service-items__text {
    display: contents;
  }

  .p-service-items__caption {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }

  .p-service-items__thumbnail {
    width: 100%;
  }

  .p-gallery-stock__wrap {
    -ms-grid-columns: (1fr) [2];
    grid-template-columns: repeat(2, 1fr);
  }

  .p-contact-form__privacy-policy {
    font-size: 0.75rem;
    height: 160px;
  }

  .p-contact-form__form dl dt {
    margin-bottom: 0.25em;
  }

  .p-contact-form__form dl {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .p-contact-form__term span {
    display: inline;
    margin-left: 0.5em;
  }

  .p-single-news__thumbnail {
    width: 92.5%;
    margin: 40px auto;
  }

  .p-single-news__img {
    max-height: 300px;
  }

  .p-single-news-contents {
    margin-bottom: 64px;
  }

  .p-single-news-contents__info {
    margin-bottom: 16px;
  }

  .p-single-news-contents__title {
    font-size: 1.5rem;
  }

  .p-single-news-contents__text {
    margin-bottom: 40px;
  }

  .p-single-news-contents__tag {
    margin: 64px 0;
  }

  .p-single-gallery-contents__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-single-gallery-contents__info {
    width: 100%;
    margin-bottom: 24px;
    margin-left: 0;
  }

  .p-single-gallery-contents__slider {
    width: 100%;
    margin-bottom: 40px;
  }

  .p-single-gallery-contents__heading {
    font-size: 1.25rem;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* コンタクトフォームカスタマイズ */
/*
  ラジオボタン
*/
.wpcf7-list-item.first {
  margin: 0;
}
.wpcf7-list-item-label {
  cursor: pointer;
  display: flex;
  align-items: center;
}
/* デフォルトのボタン */
input[type="radio"] {
  opacity: 0;
  position: absolute;
}
/* チェック前のボタン */
.wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #333;
  border-radius: 100%;
  content: "";
  height: 1.2em;
  margin-bottom: auto;
  margin-right: 0.5em;
  margin-top: auto;
  transition: background-color 0.5s;
  width: 1.2em;
}
/* チェック後のボタン */
input[type="radio"]:checked + .wpcf7-list-item-label::before {
  background-color: #e6b422;
  box-shadow: inset 0 0 0 2px #fff;
}

/*
  チェックボックス
*/
.wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
}
.acceptance-671 span.wpcf7-list-item {
  position: relative;
  margin: 0 50px 0 0;
}
.wpcf7-list-item-label {
  cursor: pointer;
}
input[type="checkbox"] {
  position: absolute;
  opacity: 0; /*既存のチェックボックスを見えなくする*/
}
.acceptance-671 .wpcf7-list-item-label:before {
  /*チェックボックスの枠*/
  content: "";
  border: 1px solid #fefefe;
  background-color: #fefefe;
  display: inline-block;
  width: 16px;
  height: 16px;
  position: relative;
  top: -2px;
  left: 1px;
  margin-right: 12px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
}

input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
  /*チェックアイコン*/
  content: "";
  display: block;
  position: absolute;
  top: 5%;
  width: 16px;
  height: 16px;
  background: url("https://api.iconify.design/bi/check.svg") no-repeat center;
  background-size: contain;
}

.wpcf7-spinner {
  border-radius: 0 !important;
}

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