@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700&display=swap");
html {
  font-size: 100%;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3008130081vw;
  }
}
@media (min-width: 1230px) {
  html {
    font-size: 100%;
  }
}

body {
  font-family: "ryo-gothic-plusn", sans-serif;
  color: #161616;
  background: transparent url(../images/common/bg_page_wht.png) no-repeat center center/cover;
}

@media screen and (min-width: 768px) {
  a,
  button {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a:hover,
  button:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}

.js-fadeHead {
  opacity: 0;
  -webkit-transition: all 1.3s ease-in-out;
  transition: all 1.3s ease-in-out;
}

.js-fadein {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 1.3s;
  transition: all 1.3s;
}

.js-spAccord {
  position: relative;
}

.js-spAccord::after {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border-top: 2px solid #161616;
  border-right: 2px solid #161616;
  position: absolute;
  top: 50%;
  right: 0.625rem;
  transform: rotate(-45deg) translate(0, -50%);
  -webkit-transform: rotate(-45deg) translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .js-spAccord::after {
    display: none;
  }
}

.js-spAccord.active::after {
  top: 35%;
  right: 1.125rem;
  transform: rotate(135deg) translate(0, -50%);
  -webkit-transform: rotate(135deg) translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .js-spAccord.active::after {
    display: none;
  }
}

.st0 {
  fill: #484848;
}

.st1 {
  fill: none;
  stroke: #fff;
  stroke-width: 25;
  stroke-miterlimit: 10;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

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

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

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

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

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

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.l-body__wht .l-bg01 {
  background: transparent url(../images/top/bg_pagetop_wht.png) no-repeat center bottom/cover;
}

.l-body__blk .l-bg01 {
  background: transparent url(../images/top/bg_pagetop_blk.png) no-repeat center bottom/cover;
}

.l-bg02 {
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.l-body__wht .l-bg02 {
  background-image: url(../images/top/bg_service_black.png);
}

.l-body__blk .l-bg02 {
  background-image: url(../images/top/bg_service_wht.png);
}

.l-body__wht .l-bg03 {
  background: transparent url(../images/common/bg_pagebottom_wht.png) no-repeat center bottom/cover;
}

.l-body__blk .l-bg03 {
  background: transparent url(../images/common/bg_pagebottom_blk.png) no-repeat center bottom/cover;
}

.l-inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1230px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.c-btn01 {
  min-width: 13.75rem;
  height: 3.4375rem;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.l-body__wht .c-btn01 {
  color: #fff;
  background-color: #3C3C3C;
}

@media screen and (min-width: 768px) {
  .l-body__wht .c-btn01:hover {
    color: #161616;
  }
}

.l-body__blk .c-btn01 {
  color: #161616;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .l-body__blk .c-btn01:hover {
    color: #fff;
  }
}

.c-btn01::before {
  content: "";
  width: 100%;
  height: 100%;
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  /*アニメーション*/
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.l-body__wht .c-btn01::before {
  background: #fff;
  border: 1px solid #3C3C3C;
}

.l-body__blk .c-btn01::before {
  background: #3C3C3C;
  border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .c-btn01:hover::before {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

.c-btn01::after {
  content: "";
  width: 3.125rem;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  -webkit-transform: translate(50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.l-body__wht .c-btn01::after {
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #fff), color-stop(50%, #3C3C3C), to(#3C3C3C));
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #3C3C3C 50%, #3C3C3C 100%);
}

@media screen and (min-width: 768px) {
  .l-body__wht .c-btn01:hover::after {
    background: -webkit-gradient(linear, left top, right top, from(#3C3C3C), color-stop(50%, #3C3C3C), color-stop(50%, #fff), to(#fff));
    background: linear-gradient(90deg, #3C3C3C 0%, #3C3C3C 50%, #fff 50%, #fff 100%);
  }
}

.l-body__blk .c-btn01::after {
  background: -webkit-gradient(linear, left top, right top, from(#3C3C3C), color-stop(50%, #3C3C3C), color-stop(50%, #fff), to(#fff));
  background: linear-gradient(90deg, #3C3C3C 0%, #3C3C3C 50%, #fff 50%, #fff 100%);
}

@media screen and (min-width: 768px) {
  .l-body__blk .c-btn01:hover::after {
    background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #fff), color-stop(50%, #3C3C3C), to(#3C3C3C));
    background: linear-gradient(90deg, #fff 0%, #fff 50%, #3C3C3C 50%, #3C3C3C 100%);
  }
}

.c-btn01 span {
  display: block;
  position: relative;
  z-index: 2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .l-body__wht .c-btn01:hover span {
    color: #161616;
  }
}

@media screen and (min-width: 768px) {
  .l-body__blk .c-btn01:hover span {
    color: #fff;
  }
}

.c-btn02 {
  width: 7.5rem;
  height: 7.5rem;
  font-size: 1.125rem;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  border-radius: 50%;
  background-color: transparent;
  display: -webkit-box;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-btn02 {
    width: 10.1875rem;
    height: 10.1875rem;
    font-size: 1.375rem;
  }
}

.l-body__wht .c-btn02 {
  color: #fff;
  border: 1px solid #fff;
}

.l-body__blk .c-btn02 {
  color: #161616;
  border: 1px solid #161616;
}

.c-btn02::after {
  content: "";
  width: 1.875rem;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  -webkit-transform: translate(50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-btn02::after {
    width: 3.375rem;
  }
}

.l-body__wht .c-btn02::after {
  background-color: #fff;
}

.l-body__blk .c-btn02::after {
  background-color: #161616;
}

@media screen and (min-width: 768px) {
  .c-btn02:hover::after {
    transform: translate(100%, -50%);
    -webkit-transform: translate(100%, -50%);
  }
}

.c-card01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-card01 {
    cursor: pointer;
  }
}

.c-card01__img {
  mask-image: url("../images/common/mask_works01.svg"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/common/mask_works01.svg");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
}

.c-card01:nth-child(even) .c-card01__img {
  mask-image: url("../images/common/mask_works02.svg"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/common/mask_works02.svg");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  position: relative;
  overflow: hidden;
}

.c-card01__img img {
  width: 100%;
  aspect-ratio: 548/448;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  a:hover .c-card01__img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

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

.c-card01__text {
  font-size: 0.875rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-card01__text {
    font-size: max(10px, 1rem);
  }
}

.l-body__wht .c-card01__text {
  color: #fff;
}

.l-body__blk .c-card01__text {
  color: #161616;
}

.c-card02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-card02__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.c-card02__img img {
  height: auto;
}

.l-body__wht .c-card02__img--wht {
  display: block;
}

.l-body__wht .c-card02__img--blk {
  display: none;
}

.l-body__blk .c-card02__img--wht {
  display: none;
}

.l-body__blk .c-card02__img--blk {
  display: block;
}

.c-card02__body {
  margin-top: 1.375rem;
}

.c-card02__title {
  font-size: 1.25rem;
  text-align: center;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-card02__title {
    font-size: 1.125rem;
  }
}

.l-body__wht .c-card02__title {
  color: #fff;
}

.l-body__blk .c-card02__title {
  color: #161616;
}

.c-card02__text {
  margin-top: 0.625rem;
  font-size: max(10px, 0.9375rem);
  color: #fff;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-card02__text {
    margin-top: 1.25rem;
    font-size: max(10px, 1rem);
    line-height: 1.8;
  }
}

.l-body__wht .c-card02__text {
  color: #fff;
}

.l-body__blk .c-card02__text {
  color: #161616;
}

.c-card03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-card03 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .c-card03:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.c-card03__img {
  width: 90%;
  margin-right: auto;
  mask-image: url("../images/common/mask_message01.svg"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/common/mask_message01.svg");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-card03__img {
    width: 51.4783927218%;
    margin-right: 0;
  }
}

.c-card03:nth-child(even) .c-card03__img {
  margin-right: 0;
  margin-left: auto;
  mask-image: url("../images/common/mask_message02.svg"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/common/mask_message02.svg");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
}
@media screen and (min-width: 768px) {
  .c-card03:nth-child(even) .c-card03__img {
    margin-right: 0;
    margin-left: 0;
  }
}

.c-card03__img img {
  width: 100%;
  aspect-ratio: 679/448;
}

.c-card03__body {
  width: 90%;
  margin-left: auto;
  margin-top: -9%;
  padding-top: 1.875rem;
  padding-bottom: 2.5rem;
  -webkit-mask-size: 100% 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  mask-image: url("../images/top/message_text_sp_wht.png"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/top/message_text_sp_wht.png");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
  mask-size: 100% 100%;
}
@media screen and (min-width: 768px) {
  .c-card03__body {
    width: 53.8286580743%;
    margin-left: -4.625rem;
    margin-top: -0.625rem;
    padding-top: 1.875rem;
    padding-bottom: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    mask-image: url("../images/top/message_text_wht.png"); /*マスクレイヤーとして使用する画像*/
    -webkit-mask-image: url("../images/top/message_text_wht.png");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: 0 0;
    -webkit-mask-position: 0 0;
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
  }
}

.l-body__wht .c-card03__body {
  background: -webkit-gradient(linear, left top, left bottom, from(#E4EEF3), to(#E8EBEC));
  background: linear-gradient(180deg, #E4EEF3 0%, #E8EBEC 100%);
}

.l-body__blk .c-card03__body {
  background: -webkit-gradient(linear, left bottom, left top, from(#0D0D0D), to(#333));
  background: linear-gradient(0deg, #0D0D0D 0%, #333 100%);
}

.c-card03:nth-child(even) .c-card03__body {
  margin-left: 0;
  margin-right: auto;
  padding-top: 3.125rem;
  mask-image: url("../images/top/message_text02_sp_wht.png"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/top/message_text02_sp_wht.png");
}
@media screen and (min-width: 768px) {
  .c-card03:nth-child(even) .c-card03__body {
    margin-left: 0;
    margin-right: -4.625rem;
    padding-top: 1.875rem;
    mask-image: url("../images/top/message_text_wht.png"); /*マスクレイヤーとして使用する画像*/
    -webkit-mask-image: url("../images/top/message_text_wht.png");
    position: relative;
    top: -0.625rem;
  }
}

.c-card03__detail {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-card03__detail {
    width: 73.2394366197%;
    margin-right: 4.125rem;
    margin-top: -2.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .c-card03:nth-child(even) .c-card03__detail {
    margin-left: 4.125rem;
    margin-right: auto;
  }
}

.c-card03__title {
  font-size: 1.25rem;
  line-height: 1.6;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-card03__title {
    font-size: 1.5rem;
  }
}

.l-body__wht .c-card03__title {
  color: #161616;
}

.l-body__blk .c-card03__title {
  color: #fff;
}

.c-card03__text {
  margin-top: 0.9375rem;
  font-size: max(10px, 0.9375rem);
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .c-card03__text {
    margin-top: 1.25rem;
    font-size: max(10px, 1rem);
    line-height: 1.8;
  }
}

.l-body__wht .c-card03__text {
  color: #161616;
}

.l-body__blk .c-card03__text {
  color: #fff;
}

.c-section-head01__title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  max-width: 18.75rem;
  margin-right: auto;
  padding-left: 2.5rem;
  text-align: right;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-section-head01__title {
    width: 29.7222222222%;
    max-width: none;
    padding-left: 0;
  }
}

.c-section-head01__title::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0.5625rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-section-head01__title::before {
    bottom: 0.8125rem;
  }
}

.l-body__wht .c-section-head01__title::before {
  background-color: #161616;
}

.l-body__blk .c-section-head01__title::before {
  background-color: #fff;
}

.c-section-head01__title::after {
  content: "";
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  position: absolute;
  bottom: 0.375rem;
  right: 0;
}
@media screen and (min-width: 768px) {
  .c-section-head01__title::after {
    bottom: 0.625rem;
  }
}

.l-body__wht .c-section-head01__title::after {
  background-color: #161616;
}

.l-body__blk .c-section-head01__title::after {
  background-color: #fff;
}

.l-body__wht .c-section-head01--wht .c-section-head01__title::before,
.l-body__wht .c-section-head01--wht .c-section-head01__title::after {
  background-color: #fff;
}

.l-body__blk .c-section-head01--wht .c-section-head01__title::before,
.l-body__blk .c-section-head01--wht .c-section-head01__title::after {
  background-color: #161616;
}

.c-section-head01__title__ja {
  display: block;
  margin-right: 1.25rem;
  font-size: 1.125rem;
  line-height: 1.6;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-section-head01__title__ja {
    margin-right: 1.875rem;
    font-size: max(10px, 1rem);
  }
}

.l-body__wht .c-section-head01__title__ja {
  color: #161616;
}

.l-body__blk .c-section-head01__title__ja {
  color: #fff;
}

.c-section-head01__title__en {
  display: inline-block;
  padding-right: 1.25rem;
  font-size: 2.125rem;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-style: normal;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-section-head01__title__en {
    padding-right: 1.25rem;
    font-size: 2.5rem;
  }
}

.l-body__wht .c-section-head01__title__en {
  color: #161616;
}

.l-body__blk .c-section-head01__title__en {
  color: #fff;
}

.l-body__wht .c-section-head01--wht .c-section-head01__title__ja,
.l-body__wht .c-section-head01--wht .c-section-head01__title__en {
  color: #fff;
}

.l-body__blk .c-section-head01--wht .c-section-head01__title__ja,
.l-body__blk .c-section-head01--wht .c-section-head01__title__en {
  color: #161616;
}

.c-section-head02 {
  text-align: right;
}

.c-section-head02__title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  max-width: 21.875rem;
  margin-left: auto;
  padding-right: 1.875rem;
  text-align: left;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-section-head02__title {
    width: 48.9583333333%;
    max-width: none;
    padding-right: 0;
  }
}

.c-section-head02__title::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0.5625rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-section-head02__title::before {
    bottom: 0.8125rem;
  }
}

.l-body__wht .c-section-head02__title::before {
  background-color: #161616;
}

.l-body__blk .c-section-head02__title::before {
  background-color: #fff;
}

.c-section-head02__title::after {
  content: "";
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  position: absolute;
  bottom: 0.375rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-section-head02__title::after {
    bottom: 0.625rem;
  }
}

.l-body__wht .c-section-head02__title::after {
  background-color: #161616;
}

.l-body__blk .c-section-head02__title::after {
  background-color: #fff;
}

.l-body__wht .c-section-head02--wht .c-section-head02__title::before,
.l-body__wht .c-section-head02--wht .c-section-head02__title::after {
  background-color: #fff;
}

.l-body__blk .c-section-head02--wht .c-section-head02__title::before,
.l-body__blk .c-section-head02--wht .c-section-head02__title::after {
  background-color: #161616;
}

.c-section-head02__title__ja {
  display: block;
  margin-left: 1.25rem;
  font-size: 1.125rem;
  line-height: 1.6;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-section-head02__title__ja {
    margin-left: 1.875rem;
    font-size: max(10px, 1rem);
  }
}

.c-section-head02__title__en {
  display: inline-block;
  padding-left: 1.25rem;
  font-size: 2.125rem;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-style: normal;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-section-head02__title__en {
    padding-left: 1.25rem;
    font-size: 2.5rem;
  }
}

.l-body__wht .c-section-head02__title__ja,
.l-body__wht .c-section-head02__title__en {
  color: #161616;
}

.l-body__blk .c-section-head02__title__ja,
.l-body__blk .c-section-head02__title__en {
  color: #fff;
}

.l-body__wht .c-section-head02--wht .c-section-head02__title__ja,
.l-body__wht .c-section-head02--wht .c-section-head02__title__en {
  color: #fff;
}

.l-body__blk .c-section-head02--wht .c-section-head02__title__ja,
.l-body__blk .c-section-head02--wht .c-section-head02__title__en {
  color: #161616;
}

.p-about {
  padding-top: 6.25rem;
  padding-bottom: 8.75rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about {
    padding-top: 7.5rem;
    padding-top: 9.5%;
    padding-bottom: 8.75rem;
  }
}

.l-body__wht .p-about {
  background: transparent url(../images/common/logo_short_gray.svg) no-repeat right 100%/40%;
}
@media screen and (min-width: 768px) {
  .l-body__wht .p-about {
    background: transparent url(../images/common/logo_short_gray.svg) no-repeat 90% 98%/25.6944444444%;
  }
}

.l-body__blk .p-about {
  background: transparent url(../images/common/logo_short_darkgray.svg) no-repeat right 100%/40%;
}
@media screen and (min-width: 768px) {
  .l-body__blk .p-about {
    background: transparent url(../images/common/logo_short_darkgray.svg) no-repeat 90% 98%/25.6944444444%;
  }
}

.p-about__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-about__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-about__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-about__body {
    display: block;
    width: 48.6111111111%;
    margin-left: 11.25rem;
    padding-top: 8rem;
  }
}

.p-about__head {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

@media screen and (min-width: 768px) {
  .p-about__head .c-section-head02__title {
    width: 100%;
  }
}

.p-about__text {
  width: 90%;
  margin-top: 2.8125rem;
  margin-right: auto;
  margin-left: auto;
  font-size: max(10px, 1rem);
  line-height: 1.6;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-about__text {
    max-width: 34.375rem;
    width: 92.8571428571%;
    margin-right: auto;
    margin-top: 1.875rem;
    margin-left: 1.25rem;
    font-size: max(10px, 1rem);
    line-height: 1.8;
    font-weight: 500;
  }
}

.l-body__wht .p-about__text {
  color: #161616;
}

.l-body__blk .p-about__text {
  color: #fff;
}

.p-about__btn {
  width: 50%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 2.8125rem;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
@media screen and (min-width: 768px) {
  .p-about__btn {
    width: 13.75rem;
    margin-top: 2.8125rem;
    margin-left: 1.25rem;
  }
}

.p-about__img {
  margin-top: 1.875rem;
  width: 60%;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .p-about__img {
    margin-top: 0;
    width: 27.7777777778%;
    margin-right: 0;
    margin-left: 0;
  }
}

.p-about__img img {
  mask-image: url("../images/top/mask_about.svg"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/top/mask_about.svg");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
}

.p-about__img::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: -1.25rem;
  right: -1.25rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-about__img::after {
    bottom: -2rem;
    right: -2rem;
  }
}

.l-body__wht .p-about__img::after {
  background: transparent url(../images/top/bg_about.svg) no-repeat center center/cover;
}

.l-body__blk .p-about__img::after {
  background: transparent url(../images/top/bg_about.svg) no-repeat center center/cover;
}

.p-footer {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-footer {
    padding-bottom: 5.625rem;
  }
}

.p-footer__inner {
  max-width: 72.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-footer__inner {
    display: block;
  }
}

.p-footer__head {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-footer__head {
    display: block;
  }
}

.p-footer__logo {
  width: 15.625rem;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .p-footer__logo {
    margin-left: 0;
  }
}

.p-footer__logo img {
  margin-right: auto;
  margin-left: auto;
  aspect-ratio: 250/47;
}
@media screen and (min-width: 768px) {
  .p-footer__logo img {
    margin-right: 0;
    margin-left: 0;
  }
}

.l-body__wht .p-footer__logo--wht {
  display: none;
}

.l-body__wht .p-footer__logo--blk {
  display: block;
}

.l-body__blk .p-footer__logo--wht {
  display: block;
}

.l-body__blk .p-footer__logo--blk {
  display: none;
}

.p-footer__access {
  margin-top: 2.8125rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-footer__access {
    font-size: 0.875rem;
  }
}

.l-body__wht .p-footer__access {
  color: #161616;
}

.l-body__blk .p-footer__access {
  color: #fff;
}

.p-footer__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-footer__body {
    display: block;
    margin-top: 4.125rem;
  }
}

.p-footer__nav {
  max-width: 34.375rem;
  margin-top: 3.125rem;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .p-footer__nav {
    max-width: none;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
  }
}

.p-footer__nav-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
  row-gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list {
    grid-template-columns: repeat(auto-fit, minmax(6.25rem, 4fr));
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

.p-footer__nav-item {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-item {
    width: auto;
  }
}

.p-footer__nav-item a {
  font-size: 1.5rem;
  line-height: 1;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-item a {
    font-size: 2.25rem;
  }
}

.l-body__wht .p-footer__nav-item a {
  color: #161616;
}

.l-body__blk .p-footer__nav-item a {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-footer__nav-item a:hover {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-footer__nav-item a::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -0.125rem;
    left: 0;
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .l-body__wht .p-footer__nav-item a::after {
    background-color: #161616;
  }
}

@media screen and (min-width: 768px) {
  .l-body__blk .p-footer__nav-item a::after {
    background-color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .p-footer__nav-item a:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
}

.p-footer__copy {
  margin-top: 3.75rem;
  font-size: 0.75rem;
  text-align: center;
  line-height: 1;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
@media screen and (min-width: 768px) {
  .p-footer__copy {
    margin-top: 4.375rem;
  }
}

.l-body__wht .p-footer__copy {
  color: #161616;
}

.l-body__blk .p-footer__copy {
  color: #fff;
}

.p-form {
  padding-top: 4.6875rem;
  padding-bottom: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .p-form {
    padding-top: 9.375rem;
    padding-bottom: 13.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-form__inner {
    max-width: 59.375rem;
  }
}

.p-form__title {
  font-size: 2.25rem;
  text-align: center;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-form__title {
    font-size: 3.75rem;
  }
}

.l-body__wht .p-form__title {
  color: #161616;
}

.l-body__blk .p-form__title {
  color: #fff;
}

.p-form__read {
  margin-top: 1.5625rem;
  font-size: max(10px, 1rem);
  line-height: 1.8;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-form__read {
    font-size: max(10px, 0.9375rem);
    line-height: 2;
  }
}

.l-body__wht .p-form__read {
  color: #161616;
}

.l-body__blk .p-form__read {
  color: #fff;
}

.p-form__wrapper {
  margin-top: 1.25rem;
  padding-top: 2.8125rem;
  padding-bottom: 3.75rem;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-form__wrapper {
    margin-top: 1.25rem;
    padding-top: 3.75rem;
    padding-bottom: 5.625rem;
    padding-right: 3.125rem;
    padding-left: 3.125rem;
  }
}

.p-form__item:nth-child(n+2) {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-form__item:nth-child(n+2) {
    margin-top: 2.8125rem;
  }
}

.p-form__item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-form__item dl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-form__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-form__head {
    width: 31.25%;
    margin-top: 0.625rem;
  }
}

.p-form__head__title {
  width: 100%;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.08em;
  font-family: "Zen Old Mincho", serif;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-form__head__title {
    font-size: max(10px, 1rem);
  }
}

.p-form__head__title p {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-form span.required,
.p-form span.any {
  width: 2.0625rem;
  height: 1.1875rem;
  margin-left: 0.625rem;
  font-size: 0.75rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.07em;
  font-weight: bold;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-form span.required,
  .p-form span.any {
    font-size: 0.75rem;
  }
}

.p-form span.required {
  background-color: #EB0A0A;
}

.p-form span.any {
  background-color: #707070;
}

.p-form__body {
  width: 100%;
  margin-top: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-form__body {
    width: 81.25%;
    margin-top: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-form__body .mw_wp_form .error {
  margin-top: 0.3125rem;
}

/******************* form base *******************/
.p-form .wpcf7-form-control-wrap {
  width: 100%;
}

.p-form input,
.p-form textarea,
.p-form select {
  width: 100%;
  height: 2.8125rem;
  padding: 0.625rem 0.625rem 0.625rem;
  font-size: max(10px, 1rem);
  color: #161616;
  line-height: 1;
  letter-spacing: 0.07em;
  font-weight: 500;
  background-color: #EEEEEE;
  border: none;
}
@media screen and (min-width: 768px) {
  .p-form input,
  .p-form textarea,
  .p-form select {
    height: 3.125rem;
    padding: 0.625rem 0.9375rem 0.625rem;
  }
}

.p-form ::-webkit-input-placeholder {
  color: #ABABAB;
}

.p-form ::-moz-placeholder {
  color: #ABABAB;
}

.p-form ::-ms-input-placeholder {
  color: #ABABAB;
}

.p-form ::placeholder {
  color: #ABABAB;
}

.p-form input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  padding: 0;
  margin: 0;
  margin-right: 0.1875rem;
  border-radius: 0.125rem;
  border: 1px solid #CCCCCC;
  vertical-align: middle;
}

.p-form input.required,
.p-form textarea.required,
.p-form select.required {
  background-color: #F9D5D5;
}

@media screen and (min-width: 768px) {
  .wpcf7-checkbox {
    margin-top: 0.4375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-form span.wpcf7-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0;
}

.p-form span.wpcf7-list-item:nth-child(n+2) {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-form span.wpcf7-list-item:nth-child(n+2) {
    margin-top: 0;
    margin-left: 1.25rem;
  }
}

.p-form span.wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-form textarea {
  height: 10rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-form textarea {
    height: 15rem;
  }
}

.p-form input.form_name,
.p-form input.form_kana {
  width: 18.75rem;
}
@media screen and (min-width: 768px) {
  .p-form input.form_name,
  .p-form input.form_kana {
    width: 100%;
    margin-top: 0.625rem;
  }
}

.p-form input.form_company,
.p-form input.form_tel,
.p-form input.form_mail {
  width: 26.5625rem;
}
@media screen and (min-width: 768px) {
  .p-form input.form_company,
  .p-form input.form_tel,
  .p-form input.form_mail {
    width: 100%;
  }
}

.p-form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: url(../images/contact/arrow_select.svg) 96% 50% no-repeat;
  background-size: auto;
  background-size: 1.25rem;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.1em;
  cursor: pointer;
}
.p-form select::-webkit-calendar-picker-indicator {
  width: 100%;
  height: 100%;
  opacity: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  font-size: max(10px, 1rem);
  color: #161616;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-form select {
    width: 100%;
    line-height: 1;
    background: url(../images/contact/arrow_select.svg) 94% 50% no-repeat;
    background-size: 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-form select {
    font-size: 0.875rem;
  }
}

.mw_wp_form .error {
  width: 100%;
}

/******************* END./form base *******************/
.p-form__head__text {
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.07em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-form__head__text {
    margin-top: 0.625rem;
    font-size: max(10px, 1rem);
    line-height: 1.875;
    letter-spacing: 0.08em;
  }
}

.p-form__detail {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-form__detail {
    display: block;
  }
}

.p-form__detail:nth-of-type(n+2) {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-form__detail:nth-of-type(n+2) {
    margin-top: 1.25rem;
  }
}

.p-form__detail p {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.form-hope__title {
  width: 5rem;
  margin-right: 1.875rem;
  margin-left: 0.3125rem;
  font-size: max(10px, 1rem);
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .form-hope__title {
    margin-right: 0.9375rem;
    margin-left: 0;
    font-size: 0.875rem;
  }
}

.p-form__body__text {
  width: 100%;
  margin-top: 0.625rem;
  font-size: max(10px, 1rem);
  color: #161616;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-form__body__text {
    margin-top: 0.9375rem;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-form__detail_name {
  width: 22.0625rem;
  font-size: max(10px, 1rem);
  line-height: 2;
  letter-spacing: 0.005em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-form__detail_name {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .p-form__detail_name:nth-child(n+2) {
    margin-top: 0.625rem;
  }
}

.form-name__title {
  margin-right: auto;
  font-size: max(10px, 1rem);
  color: #161616;
  line-height: 2;
  letter-spacing: 0.005em;
}
@media screen and (min-width: 768px) {
  .form-name__title {
    font-size: 0.875rem;
  }
}

.p-form__item.form_name .form-name__title {
  margin-right: 2.1875rem;
}

.p-form__item.form_kana .form-name__title {
  margin-right: 1.25rem;
}

.p-form__policy {
  margin-top: 1.875rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-form__policy {
    margin-top: 2.8125rem;
    text-align: center;
  }
}

.p-form__policy p {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.07em;
  font-weight: 500;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-form__policy p {
    font-size: max(10px, 1rem);
    line-height: 1.875;
    letter-spacing: 0.08em;
  }
}

.p-form .p-form__policy span.wpcf7-list-item {
  display: inline-block;
  position: relative;
  top: 0.125rem;
}

.p-form__policy p span.wpcf7-form-control-wrap {
  width: auto;
  display: inline-block;
}

.p-form__policy p span.wpcf7-list-item-label {
  display: none;
}

.p-form__policy .wpcf7-form-control {
  height: 1rem;
  display: block;
  margin-top: 0;
}

.p-form__policy a {
  display: inline-block;
  margin-left: 0.3125rem;
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.07em;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, from(#161616), to(#161616)) 100% 100%/0 1px no-repeat;
  background: linear-gradient(#161616, #161616) 100% 100%/0 1px no-repeat;
  background-size: 100% 1px;
  -webkit-transition: background 0.5s;
  transition: background 0.5s;
}
@media screen and (min-width: 768px) {
  .p-form__policy a {
    font-size: max(10px, 1rem);
    line-height: 1.4;
    letter-spacing: 0.08em;
  }
}

@media screen and (min-width: 768px) {
  .p-form__policy a:hover {
    background-size: 0 1px;
  }
}

.p-form__policy .wpcf7-not-valid-tip {
  width: 15.625rem;
  position: absolute;
  bottom: -3.4375rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-form__policy .wpcf7-not-valid-tip {
    bottom: -2.5rem;
    left: -1.875rem;
  }
}

.form-btn {
  margin-top: 3.125rem;
  width: 15.625rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .form-btn {
    margin-top: 4.6875rem;
    width: 37.5%;
  }
}

.form-btn p {
  height: 3.125rem;
  font-size: 1.125rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.07em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  background-color: #3C3C3C;
  position: relative;
}
@media screen and (min-width: 768px) {
  .form-btn p {
    height: 3.4375rem;
    font-size: 1.25rem;
    cursor: pointer;
  }
}

@media screen and (min-width: 768px) {
  .form-btn p:hover {
    color: #161616;
  }
}

@media screen and (min-width: 768px) {
  .form-btn p::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #3C3C3C;
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    /*アニメーション*/
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: -webkit-transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
  }
}

@media screen and (min-width: 768px) {
  .form-btn p:hover::before {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

.form-btn p input {
  height: 100%;
  position: relative;
  z-index: 1;
  color: #fff;
  background-color: transparent;
}
@media screen and (min-width: 768px) {
  .form-btn p input {
    cursor: pointer;
  }
}

@media screen and (min-width: 768px) {
  .form-btn p:hover input {
    color: #161616;
  }
}

.p-header {
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
}

.l-body__wht .p-header {
  background: #fff;
}

.l-body__blk .p-header {
  background: transparent url(../images/top/bg_pagetop_blk.png) no-repeat center top/100%;
  background: #3C3C3C;
}

.p-header__inner {
  max-width: 87.5rem;
  height: 5rem;
}

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

.p-header__logo {
  width: 11.25rem;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    width: 15.625rem;
  }
}

.l-body__wht .p-header__img--wht {
  display: none;
}

.l-body__wht .p-header__img--blk {
  display: block;
}

.l-body__blk .p-header__img--wht {
  display: block;
}

.l-body__blk .p-header__img--blk {
  display: none;
}

.p-header__detail {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  right: -120%;
  z-index: 10;
  -webkit-transition: right 0.5s;
  transition: right 0.5s;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-header__detail {
    width: auto;
    height: auto;
    position: static;
  }
}

.l-body__wht .p-header__detail {
  background: transparent url(../images/common/bg_pagebottom_wht.png) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .l-body__wht .p-header__detail {
    background: transparent;
  }
}

.l-body__blk .p-header__detail {
  background: transparent url(../images/common/bg_pagebottom_blk.png) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .l-body__blk .p-header__detail {
    background: transparent;
  }
}

.p-header__detail.active {
  right: 0;
}
@media screen and (min-width: 768px) {
  .p-header__detail.active {
    right: auto;
  }
}

.p-header__hamburger {
  margin-left: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 100;
}

.p-header__hamburger .line {
  width: 1.5rem;
  height: 2px;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.l-body__wht .p-header__hamburger .line {
  background-color: #161616;
}

.l-body__blk .p-header__hamburger .line {
  background-color: #CECECE;
}

.p-header__hamburger .text {
  margin-top: 0.3125rem;
  font-size: 12px;
}

.l-body__wht .p-header__hamburger .text {
  color: #161616;
}

.l-body__blk .p-header__hamburger .text {
  color: #CECECE;
}

.p-header__hamburger .line:nth-child(2) {
  margin-top: 0.5rem;
}

.p-header__hamburger.active .line:nth-child(1) {
  -webkit-transform: translateY(0.3125rem) rotate(45deg);
          transform: translateY(0.3125rem) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .p-header__hamburger.active .line:nth-child(1) {
    -webkit-transform: translateY(0.3125rem) rotate(45deg);
            transform: translateY(0.3125rem) rotate(45deg);
  }
}

.p-header__hamburger.active .line:nth-child(2) {
  -webkit-transform: translateY(-0.3125rem) rotate(-45deg);
          transform: translateY(-0.3125rem) rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .p-header__hamburger.active .line:nth-child(2) {
    -webkit-transform: translateY(-0.3125rem) rotate(-45deg);
            transform: translateY(-0.3125rem) rotate(-45deg);
  }
}

.p-header__nav {
  margin-top: 6.25rem;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav {
    margin-top: 0;
    padding-right: 0;
    padding-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .p-header__navList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-header__navItem {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-header__navItem {
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-header__navItem:nth-child(n+2) {
    margin-left: 3.125rem;
  }
}

.p-header__navItem a {
  width: 100%;
  display: block;
  font-size: 1.875rem;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-header__navItem a {
    width: auto;
    font-size: 1.25rem;
  }
}

.l-body__blk .p-header__navItem a {
  color: #CECECE;
}

@media screen and (min-width: 768px) {
  .p-header__navItem a::after {
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    margin: auto;
    position: absolute;
    bottom: -0.125rem;
    left: 0;
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .l-body__wht .p-header__navItem a::after {
    background-color: #161616;
  }
}

@media screen and (min-width: 768px) {
  .l-body__blk .p-header__navItem a::after {
    background-color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .p-header__navItem a:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
}

.p-header__navItem--ja {
  display: block;
  padding-left: 0.9375rem;
  font-size: max(10px, 1rem);
  position: relative;
}

.p-header__navItem--ja::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 9px solid #161616;
  border-right: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}

.p-header__contact {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-header__contact {
    width: 9.375rem;
    margin-left: 3.125rem;
  }
}

.p-header__contact-btn {
  min-width: 15.625rem;
  height: 3.4375rem;
  margin-top: 1.875rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5rem;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  border-radius: 30px;
}
@media screen and (min-width: 768px) {
  .p-header__contact-btn {
    width: 100%;
    min-width: auto;
    height: 2.375rem;
    margin-top: 0;
    font-size: 1.125rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}

.l-body__wht .p-header__contact-btn {
  color: #fff;
  background: #3C3C3C;
  border: 1px solid #3C3C3C;
}

.l-body__blk .p-header__contact-btn {
  color: #161616;
  background: #fff;
  border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .l-body__wht .p-header__contact-btn:hover {
    color: #161616;
    background: #fff;
  }
}

@media screen and (min-width: 768px) {
  .l-body__blk .p-header__contact-btn:hover {
    color: #fff;
    background: #3C3C3C;
  }
}

.p-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999999;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.3125rem;
  -webkit-animation: fadeOutWrapper 1.5s 2s forwards;
          animation: fadeOutWrapper 1.5s 2s forwards; /* フェードアウトをカウントアップの後に設定 */
}

@-webkit-keyframes fadeOutWrapper {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes fadeOutWrapper {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.p-loading__text {
  width: 10rem;
  font-size: 1.125rem;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-loading__text {
    width: 12.5rem;
    font-size: 1rem;
  }
}

.p-message {
  padding-top: 6.25rem;
  padding-bottom: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .p-message {
    padding-top: 11.875rem;
    padding-bottom: 3.125rem;
  }
}

.p-message__list {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-message__list {
    margin-top: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-message__item {
    width: 91.1111111111%;
  }
}

@media screen and (min-width: 768px) {
  .p-message__item:nth-child(odd) {
    margin-right: auto;
  }
}

@media screen and (min-width: 768px) {
  .p-message__item:nth-child(even) {
    margin-left: auto;
  }
}

.p-message__item:nth-child(n+2) {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-message__item:nth-child(n+2) {
    margin-top: 5rem;
  }
}

.p-modal {
  width: 100%;
  height: 100%;
  background-color: rgba(239, 243, 244, .8);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 10vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 110;
}
@media screen and (min-width: 768px) {
  .p-modal {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 0;
  }
}
.p-modal:focus {
  outline: none;
}

.p-modal.active {
  opacity: 1;
  visibility: visible;
}

.p-modal__wrap {
  width: 86.6666666667%;
  height: 80vh;
  position: relative;
  overflow-y: scroll;
}
@media screen and (min-width: 768px) {
  .p-modal__wrap {
    max-width: 56.25rem;
    height: auto;
    max-height: 80vh;
  }
}

.p-modal__body {
  width: 100%;
  padding-top: 3.75rem;
  padding-bottom: 2.8125rem;
  display: inline-block;
  vertical-align: middle;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-modal__body {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.p-modal__img {
  width: 73.8461538462%;
  margin-right: auto;
  margin-left: auto;
  height: 15.625rem;
  overflow-y: scroll;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
          box-shadow: 0 0 5px rgba(0, 0, 0, .3);
}
@media screen and (min-width: 768px) {
  .p-modal__img {
    width: 72.2222222222%;
    height: 18.75rem;
  }
}

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

.p-modal__bottom {
  margin-top: 1.25rem;
  width: 86.1538461538%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-modal__bottom {
    margin-top: 1.875rem;
    width: 72.2222222222%;
  }
}

.p-modal__text p {
  font-size: max(10px, 0.8125rem);
}
@media screen and (min-width: 768px) {
  .p-modal__text p {
    font-size: max(10px, 0.9375rem);
    line-height: 1.6;
  }
}

.p-modal__text p:nth-child(n+2) {
  margin-top: 1.25rem;
}

.p-modal__btn {
  width: 1.5625rem;
  height: 1.5625rem;
  position: absolute;
  top: 0.9375rem;
  right: 0.9375rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-modal__btn {
    cursor: pointer;
    top: 1.25rem;
    right: 1.25rem;
  }
}

.p-modal__btn--line {
  width: 1.5rem;
  height: 2px;
  display: block;
  background-color: #161616;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-modal__btn--line:nth-child(n+2) {
  margin-top: 0.5rem;
}

.p-modal__btn--line:nth-child(1) {
  -webkit-transform: translateY(0.3125rem) rotate(45deg);
          transform: translateY(0.3125rem) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .p-modal__btn--line:nth-child(1) {
    -webkit-transform: translateY(0.3125rem) rotate(45deg);
            transform: translateY(0.3125rem) rotate(45deg);
  }
}

.p-modal__btn--line:nth-child(2) {
  -webkit-transform: translateY(-0.3125rem) rotate(-45deg);
          transform: translateY(-0.3125rem) rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .p-modal__btn--line:nth-child(2) {
    -webkit-transform: translateY(-0.3125rem) rotate(-45deg);
            transform: translateY(-0.3125rem) rotate(-45deg);
  }
}

.p-modal__link {
  margin-top: 3.125rem;
  display: block;
  text-decoration: underline;
}

.p-mv {
  margin-top: 5rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-mv__inner {
    max-width: 90rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.p-mv__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-mv__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-mv__slider {
  width: 80%;
  max-width: 30rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-mv__slider {
    width: 55%;
    max-width: 65.625rem;
  }
}

.p-mv__swiper .swiper-wrapper {
  mask-image: url("../images/top/mask_mv.svg"); /*マスクレイヤーとして使用する画像*/
  -webkit-mask-image: url("../images/top/mask_mv.svg");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 0 0;
  -webkit-mask-position: 0 0;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
}

.p-mv__img {
  overflow: hidden;
}

.p-mv__img img {
  width: 100%;
  aspect-ratio: 766/620;
  -o-object-fit: cover;
     object-fit: cover;
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
.swiper-slide-active .p-mv__img img,
.swiper-slide-duplicate-active .p-mv__img img,
.swiper-slide-prev .p-mv__img img {
  -webkit-animation: zoomUp 8s linear 0s normal both;
          animation: zoomUp 8s linear 0s normal both;
}

.p-mv__body {
  width: 84%;
  margin-top: -6.25rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-mv__body {
    width: 67.8571428571%;
    max-width: 59.375rem;
    margin-top: 12%;
  }
}

@media screen and (min-width: 768px) {
  .p-mv__box {
    width: 53.125rem;
    margin-left: 11.25rem;
  }
}

.p-mv__read {
  margin-left: 1.25rem;
  font-size: 1.375rem;
  line-height: 1.5;
  letter-spacing: 1.26px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-mv__read {
    margin-left: 9.375rem;
    font-size: 2.625rem;
  }
}

.l-body__wht .p-mv__read {
  color: #5A5A5A;
  text-shadow: 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 3px rgba(255, 255, 255, .25);
}
@media screen and (min-width: 768px) {
  .l-body__wht .p-mv__read {
    text-shadow: 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25);
  }
}

.l-body__blk .p-mv__read {
  color: #CECECE;
  text-shadow: 0px 0px 3px rgba(22, 22, 22, .25), 0px 0px 3px rgba(22, 22, 22, .25), 0px 0px 3px rgba(22, 22, 22, .25), 0px 0px 3px rgba(22, 22, 22, .25), 0px 0px 3px rgba(22, 22, 22, .25), 0px 0px 3px rgba(22, 22, 22, .25), 0px 0px 3px rgba(22, 22, 22, .25), 0px 0px 3px rgba(22, 22, 22, .25);
}
@media screen and (min-width: 768px) {
  .l-body__blk .p-mv__read {
    text-shadow: 0px 0px 5px rgba(22, 22, 22, .25), 0px 0px 5px rgba(22, 22, 22, .25), 0px 0px 5px rgba(22, 22, 22, .25), 0px 0px 5px rgba(22, 22, 22, .25), 0px 0px 5px rgba(22, 22, 22, .25), 0px 0px 5px rgba(22, 22, 22, .25), 0px 0px 5px rgba(22, 22, 22, .25), 0px 0px 5px rgba(22, 22, 22, .25);
  }
}

.p-mv__detail {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-mv__detail {
    margin-top: 7.8125rem;
    margin-top: 5.625rem;
  }
}

.p-mv__title {
  padding-left: 1.25rem;
  font-size: 3rem;
  line-height: 1;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 300;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .p-mv__title {
    padding-left: 9.375rem;
    font-size: 8.125rem;
  }
}

.l-body__wht .p-mv__title {
  color: #5A5A5A;
  text-shadow: 0px 0px 3px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25), 0px 0px 5px rgba(255, 255, 255, .25);
  border-bottom: 1px solid #5C5C5C;
}

.l-body__blk .p-mv__title {
  color: #CECECE;
  border-bottom: 1px solid #CECECE;
}

.p-mv__name {
  margin-left: 1.25rem;
  margin-top: 0.75rem;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (min-width: 768px) {
  .p-mv__name {
    padding-left: 9.375rem;
    font-size: 1.875rem;
  }
}

.l-body__wht .p-mv__name {
  color: #5A5A5A;
}

.l-body__blk .p-mv__name {
  color: #CECECE;
}

.p-news {
  padding-top: 3.75rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-news {
    padding-top: 7.5rem;
    padding-bottom: 3.125rem;
  }
}

.p-news__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-news__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .p-news__head {
    width: 29.7222222222%;
  }
}

@media screen and (min-width: 768px) {
  .p-news__head .c-section-head01__title {
    width: 100%;
  }
}

.p-news__list {
  margin-top: 1.875rem;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media screen and (min-width: 768px) {
  .p-news__list {
    margin-top: 0;
    width: 50.6944444444%;
    margin-left: 7.5rem;
    padding-right: 0;
    padding-left: 0;
  }
}

.p-news__item {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #161616;
}
@media screen and (min-width: 768px) {
  .p-news__item {
    padding-bottom: 1.875rem;
  }
}

.l-body__blk .p-news__item {
  border-bottom: 1px solid #fff;
}

.p-news__item:nth-child(n+2) {
  padding-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-news__item:nth-child(n+2) {
    padding-bottom: 1.875rem;
  }
}

.p-news__top {
  padding-right: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-news__top {
    padding-right: 0;
  }
}

.p-news__date {
  font-size: 12px;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-news__date {
    font-size: max(10px, 0.875rem);
  }
}

.l-body__blk .p-news__date {
  color: #fff;
}

.p-news__newsTitle {
  margin-top: 0.3125rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-news__newsTitle {
    margin-top: 0;
    font-size: 1.25rem;
  }
}

.l-body__blk .p-news__newsTitle {
  color: #fff;
}

.p-news__bottom {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-news__bottom {
    margin-top: 1.25rem;
  }
}

.p-news__newsText,
.p-news__newsText p {
  font-size: max(10px, 0.9375rem);
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-news__newsText,
  .p-news__newsText p {
    font-size: max(10px, 1rem);
    line-height: 1.8;
  }
}

.l-body__blk .p-news__newsText,
.l-body__blk .p-news__newsText p {
  color: #fff;
}

.p-news__newsText p:nth-child(n+2) {
  margin-top: 0.9375rem;
}

.p-service {
  padding-top: 5rem;
  padding-bottom: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-service {
    padding-top: 7.5rem;
    padding-bottom: 12.5rem;
  }
}

.p-service__list {
  margin-top: 3.75rem;
  width: 84%;
  max-width: 55.5rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-service__list {
    width: auto;
    margin-top: 4.0625rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 18.125rem;
       -moz-column-gap: 18.125rem;
            column-gap: 18.125rem;
    row-gap: 5.625rem;
  }
}

.p-service__item:nth-child(n+2) {
  margin-top: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .p-service__item:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-sub-mv {
  padding-top: 7.5rem;
}
@media screen and (min-width: 768px) {
  .p-sub-mv {
    padding-top: 10.625rem;
  }
}

.p-sub-mv__title--en {
  font-size: 3rem;
  color: #5A5A5A;
  line-height: 1.38;
  line-height: 1;
  font-family: "le-monde-livre-classic-byol", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-sub-mv__title--en {
    font-size: 6.25rem;
  }
}

.p-sub-mv__title--ja {
  font-size: 1.125rem;
  color: #5A5A5A;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (min-width: 768px) {
  .p-sub-mv__title--ja {
    font-size: 1.5rem;
  }
}

.p-thanks {
  padding-top: 3.75rem;
  padding-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .p-thanks {
    padding-top: 11.25rem;
    padding-bottom: 11.25rem;
  }
}

.p-thanks__text {
  font-size: max(10px, 1rem);
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-thanks__text {
    font-size: max(10px, 1.125rem);
    text-align: center;
    line-height: 1.8;
  }
}

.p-thanks__button {
  margin-top: 3.75rem;
  max-width: 18.75rem;
  width: 83.5820895522%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-thanks__button {
    margin-top: 5rem;
    width: 25.4237288136%;
  }
}

.p-works {
  padding-top: 6.25rem;
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-works {
    padding-top: 6.25rem;
    padding-bottom: 7.5rem;
  }
}

.p-works__slider {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-works__slider {
    margin-top: 4.375rem;
  }
}

.p-works__wrapper--flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-works__wrapper--flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-works__wrapper--flex .p-works__slide {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-works__wrapper--flex .p-works__slide {
    width: 21.875rem;
    margin-right: 1.25rem;
    margin-left: 1.25rem;
  }
}

.p-works__wrapper--flex .p-works__slide:nth-child(n+2) {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-works__wrapper--flex .p-works__slide:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-works__btn {
  text-align: center;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-works__btn {
    margin-top: 4.0625rem;
  }
}

.u-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-pc {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
/*# sourceMappingURL=styles.css.map */
