@charset "UTF-8";
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-weight: inherit;
}

*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg*, symbol*)) {
  all: unset;
  display: revert;
}

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

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

a, button {
  cursor: revert;
}

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

ol, ul, menu, summary {
  list-style: none;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: unset;
}

::-moz-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

button {
  background-color: transparent;
  border: 0;
  cursor: pointer;
}

/*********************************************
 * CSS Document
 * BASE
 *********************************************/
/*====================================
 * BASE *
====================================*/
html {
  height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: 21.3333333333vw;
  }
}

body {
  min-width: 320px;
  background: #FFFFFF;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 0.875rem;
  letter-spacing: 0.01em;
  color: #333333;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 769px) {
  body {
    min-width: 81.125rem;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 3.7333333333vw;
  }
}

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

p a {
  text-decoration: underline;
  color: #005EB8;
}
@media print, screen and (min-width: 769px) {
  p a:hover {
    text-decoration: none;
  }
}

/*********************************************
 * CSS Document
 * COMMON
 *********************************************/
/*====================================
 * TEXT *
====================================*/
/* font family */
.font-latin {
  font-family: "lato", "Noto Sans JP", sans-serif !important;
}

/* font weight */
.font-light {
  font-weight: lighter !important;
}

.font-bold {
  font-weight: bold !important;
}

/* text align */
.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

/* spacing */
.spacing-1 {
  letter-spacing: 0.01em !important;
}

.spacing-5 {
  letter-spacing: 0.05em !important;
}

.spacing-10 {
  letter-spacing: 0.1em !important;
}

/* color */
.color-brand {
  color: #003B65 !important;
}

.color-base {
  color: #333333 !important;
}

.color-yellow {
  color: #FFC022 !important;
}

.color-blue {
  color: #005EB8 !important;
}

.color-blue-light {
  color: #80C2D3 !important;
}

.color-bg-body {
  color: #FFFFFF !important;
}

.color-white {
  color: #FFFFFF !important;
}

.color-beige {
  color: #F8F7F4 !important;
}

.color-beige-line {
  color: #E5E1DB !important;
}

/*====================================
 * ITEM *
====================================*/
/* position */
.position-r {
  position: relative !important;
}

.position-a {
  position: absolute !important;
}

.position-f {
  position: fixed !important;
}

/*  */
/*====================================
 * SPACE *
====================================*/
.m-05 {
  margin: 0.25rem !important;
}

.m-auto {
  margin: auto !important;
}

@media (min-width: 769px) {
  .m-05-pc {
    margin: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .m-05-sp {
    margin: 0.25rem !important;
  }
}

.m-0 {
  margin: 0rem !important;
}

@media (min-width: 769px) {
  .m-0-pc {
    margin: 0rem !important;
  }
}

@media (max-width: 768px) {
  .m-0-sp {
    margin: 0rem !important;
  }
}

.m-1 {
  margin: 0.5rem !important;
}

@media (min-width: 769px) {
  .m-1-pc {
    margin: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .m-1-sp {
    margin: 0.5rem !important;
  }
}

.m-2 {
  margin: 1rem !important;
}

@media (min-width: 769px) {
  .m-2-pc {
    margin: 1rem !important;
  }
}

@media (max-width: 768px) {
  .m-2-sp {
    margin: 1rem !important;
  }
}

.m-3 {
  margin: 1.5rem !important;
}

@media (min-width: 769px) {
  .m-3-pc {
    margin: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .m-3-sp {
    margin: 1.5rem !important;
  }
}

.m-4 {
  margin: 2rem !important;
}

@media (min-width: 769px) {
  .m-4-pc {
    margin: 2rem !important;
  }
}

@media (max-width: 768px) {
  .m-4-sp {
    margin: 2rem !important;
  }
}

.m-5 {
  margin: 2.5rem !important;
}

@media (min-width: 769px) {
  .m-5-pc {
    margin: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .m-5-sp {
    margin: 2.5rem !important;
  }
}

.m-6 {
  margin: 3rem !important;
}

@media (min-width: 769px) {
  .m-6-pc {
    margin: 3rem !important;
  }
}

@media (max-width: 768px) {
  .m-6-sp {
    margin: 3rem !important;
  }
}

.m-7 {
  margin: 3.5rem !important;
}

@media (min-width: 769px) {
  .m-7-pc {
    margin: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .m-7-sp {
    margin: 3.5rem !important;
  }
}

.m-8 {
  margin: 4rem !important;
}

@media (min-width: 769px) {
  .m-8-pc {
    margin: 4rem !important;
  }
}

@media (max-width: 768px) {
  .m-8-sp {
    margin: 4rem !important;
  }
}

.m-9 {
  margin: 4.5rem !important;
}

@media (min-width: 769px) {
  .m-9-pc {
    margin: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .m-9-sp {
    margin: 4.5rem !important;
  }
}

.m-10 {
  margin: 5rem !important;
}

@media (min-width: 769px) {
  .m-10-pc {
    margin: 5rem !important;
  }
}

@media (max-width: 768px) {
  .m-10-sp {
    margin: 5rem !important;
  }
}

.mt-05 {
  margin-top: 0.25rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

@media (min-width: 769px) {
  .mt-05-pc {
    margin-top: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .mt-05-sp {
    margin-top: 0.25rem !important;
  }
}

.mt-0 {
  margin-top: 0rem !important;
}

@media (min-width: 769px) {
  .mt-0-pc {
    margin-top: 0rem !important;
  }
}

@media (max-width: 768px) {
  .mt-0-sp {
    margin-top: 0rem !important;
  }
}

.mt-1 {
  margin-top: 0.5rem !important;
}

@media (min-width: 769px) {
  .mt-1-pc {
    margin-top: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .mt-1-sp {
    margin-top: 0.5rem !important;
  }
}

.mt-2 {
  margin-top: 1rem !important;
}

@media (min-width: 769px) {
  .mt-2-pc {
    margin-top: 1rem !important;
  }
}

@media (max-width: 768px) {
  .mt-2-sp {
    margin-top: 1rem !important;
  }
}

.mt-3 {
  margin-top: 1.5rem !important;
}

@media (min-width: 769px) {
  .mt-3-pc {
    margin-top: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .mt-3-sp {
    margin-top: 1.5rem !important;
  }
}

.mt-4 {
  margin-top: 2rem !important;
}

@media (min-width: 769px) {
  .mt-4-pc {
    margin-top: 2rem !important;
  }
}

@media (max-width: 768px) {
  .mt-4-sp {
    margin-top: 2rem !important;
  }
}

.mt-5 {
  margin-top: 2.5rem !important;
}

@media (min-width: 769px) {
  .mt-5-pc {
    margin-top: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .mt-5-sp {
    margin-top: 2.5rem !important;
  }
}

.mt-6 {
  margin-top: 3rem !important;
}

@media (min-width: 769px) {
  .mt-6-pc {
    margin-top: 3rem !important;
  }
}

@media (max-width: 768px) {
  .mt-6-sp {
    margin-top: 3rem !important;
  }
}

.mt-7 {
  margin-top: 3.5rem !important;
}

@media (min-width: 769px) {
  .mt-7-pc {
    margin-top: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .mt-7-sp {
    margin-top: 3.5rem !important;
  }
}

.mt-8 {
  margin-top: 4rem !important;
}

@media (min-width: 769px) {
  .mt-8-pc {
    margin-top: 4rem !important;
  }
}

@media (max-width: 768px) {
  .mt-8-sp {
    margin-top: 4rem !important;
  }
}

.mt-9 {
  margin-top: 4.5rem !important;
}

@media (min-width: 769px) {
  .mt-9-pc {
    margin-top: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .mt-9-sp {
    margin-top: 4.5rem !important;
  }
}

.mt-10 {
  margin-top: 5rem !important;
}

@media (min-width: 769px) {
  .mt-10-pc {
    margin-top: 5rem !important;
  }
}

@media (max-width: 768px) {
  .mt-10-sp {
    margin-top: 5rem !important;
  }
}

.mb-05 {
  margin-bottom: 0.25rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

@media (min-width: 769px) {
  .mb-05-pc {
    margin-bottom: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .mb-05-sp {
    margin-bottom: 0.25rem !important;
  }
}

.mb-0 {
  margin-bottom: 0rem !important;
}

@media (min-width: 769px) {
  .mb-0-pc {
    margin-bottom: 0rem !important;
  }
}

@media (max-width: 768px) {
  .mb-0-sp {
    margin-bottom: 0rem !important;
  }
}

.mb-1 {
  margin-bottom: 0.5rem !important;
}

@media (min-width: 769px) {
  .mb-1-pc {
    margin-bottom: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .mb-1-sp {
    margin-bottom: 0.5rem !important;
  }
}

.mb-2 {
  margin-bottom: 1rem !important;
}

@media (min-width: 769px) {
  .mb-2-pc {
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 768px) {
  .mb-2-sp {
    margin-bottom: 1rem !important;
  }
}

.mb-3 {
  margin-bottom: 1.5rem !important;
}

@media (min-width: 769px) {
  .mb-3-pc {
    margin-bottom: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .mb-3-sp {
    margin-bottom: 1.5rem !important;
  }
}

.mb-4 {
  margin-bottom: 2rem !important;
}

@media (min-width: 769px) {
  .mb-4-pc {
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 768px) {
  .mb-4-sp {
    margin-bottom: 2rem !important;
  }
}

.mb-5 {
  margin-bottom: 2.5rem !important;
}

@media (min-width: 769px) {
  .mb-5-pc {
    margin-bottom: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .mb-5-sp {
    margin-bottom: 2.5rem !important;
  }
}

.mb-6 {
  margin-bottom: 3rem !important;
}

@media (min-width: 769px) {
  .mb-6-pc {
    margin-bottom: 3rem !important;
  }
}

@media (max-width: 768px) {
  .mb-6-sp {
    margin-bottom: 3rem !important;
  }
}

.mb-7 {
  margin-bottom: 3.5rem !important;
}

@media (min-width: 769px) {
  .mb-7-pc {
    margin-bottom: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .mb-7-sp {
    margin-bottom: 3.5rem !important;
  }
}

.mb-8 {
  margin-bottom: 4rem !important;
}

@media (min-width: 769px) {
  .mb-8-pc {
    margin-bottom: 4rem !important;
  }
}

@media (max-width: 768px) {
  .mb-8-sp {
    margin-bottom: 4rem !important;
  }
}

.mb-9 {
  margin-bottom: 4.5rem !important;
}

@media (min-width: 769px) {
  .mb-9-pc {
    margin-bottom: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .mb-9-sp {
    margin-bottom: 4.5rem !important;
  }
}

.mb-10 {
  margin-bottom: 5rem !important;
}

@media (min-width: 769px) {
  .mb-10-pc {
    margin-bottom: 5rem !important;
  }
}

@media (max-width: 768px) {
  .mb-10-sp {
    margin-bottom: 5rem !important;
  }
}

.ml-05 {
  margin-left: 0.25rem !important;
}

.ml-auto {
  margin-left: auto !important;
}

@media (min-width: 769px) {
  .ml-05-pc {
    margin-left: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .ml-05-sp {
    margin-left: 0.25rem !important;
  }
}

.ml-0 {
  margin-left: 0rem !important;
}

@media (min-width: 769px) {
  .ml-0-pc {
    margin-left: 0rem !important;
  }
}

@media (max-width: 768px) {
  .ml-0-sp {
    margin-left: 0rem !important;
  }
}

.ml-1 {
  margin-left: 0.5rem !important;
}

@media (min-width: 769px) {
  .ml-1-pc {
    margin-left: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .ml-1-sp {
    margin-left: 0.5rem !important;
  }
}

.ml-2 {
  margin-left: 1rem !important;
}

@media (min-width: 769px) {
  .ml-2-pc {
    margin-left: 1rem !important;
  }
}

@media (max-width: 768px) {
  .ml-2-sp {
    margin-left: 1rem !important;
  }
}

.ml-3 {
  margin-left: 1.5rem !important;
}

@media (min-width: 769px) {
  .ml-3-pc {
    margin-left: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .ml-3-sp {
    margin-left: 1.5rem !important;
  }
}

.ml-4 {
  margin-left: 2rem !important;
}

@media (min-width: 769px) {
  .ml-4-pc {
    margin-left: 2rem !important;
  }
}

@media (max-width: 768px) {
  .ml-4-sp {
    margin-left: 2rem !important;
  }
}

.ml-5 {
  margin-left: 2.5rem !important;
}

@media (min-width: 769px) {
  .ml-5-pc {
    margin-left: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .ml-5-sp {
    margin-left: 2.5rem !important;
  }
}

.ml-6 {
  margin-left: 3rem !important;
}

@media (min-width: 769px) {
  .ml-6-pc {
    margin-left: 3rem !important;
  }
}

@media (max-width: 768px) {
  .ml-6-sp {
    margin-left: 3rem !important;
  }
}

.ml-7 {
  margin-left: 3.5rem !important;
}

@media (min-width: 769px) {
  .ml-7-pc {
    margin-left: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .ml-7-sp {
    margin-left: 3.5rem !important;
  }
}

.ml-8 {
  margin-left: 4rem !important;
}

@media (min-width: 769px) {
  .ml-8-pc {
    margin-left: 4rem !important;
  }
}

@media (max-width: 768px) {
  .ml-8-sp {
    margin-left: 4rem !important;
  }
}

.ml-9 {
  margin-left: 4.5rem !important;
}

@media (min-width: 769px) {
  .ml-9-pc {
    margin-left: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .ml-9-sp {
    margin-left: 4.5rem !important;
  }
}

.ml-10 {
  margin-left: 5rem !important;
}

@media (min-width: 769px) {
  .ml-10-pc {
    margin-left: 5rem !important;
  }
}

@media (max-width: 768px) {
  .ml-10-sp {
    margin-left: 5rem !important;
  }
}

.mr-05 {
  margin-right: 0.25rem !important;
}

.mr-auto {
  margin-right: auto !important;
}

@media (min-width: 769px) {
  .mr-05-pc {
    margin-right: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .mr-05-sp {
    margin-right: 0.25rem !important;
  }
}

.mr-0 {
  margin-right: 0rem !important;
}

@media (min-width: 769px) {
  .mr-0-pc {
    margin-right: 0rem !important;
  }
}

@media (max-width: 768px) {
  .mr-0-sp {
    margin-right: 0rem !important;
  }
}

.mr-1 {
  margin-right: 0.5rem !important;
}

@media (min-width: 769px) {
  .mr-1-pc {
    margin-right: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .mr-1-sp {
    margin-right: 0.5rem !important;
  }
}

.mr-2 {
  margin-right: 1rem !important;
}

@media (min-width: 769px) {
  .mr-2-pc {
    margin-right: 1rem !important;
  }
}

@media (max-width: 768px) {
  .mr-2-sp {
    margin-right: 1rem !important;
  }
}

.mr-3 {
  margin-right: 1.5rem !important;
}

@media (min-width: 769px) {
  .mr-3-pc {
    margin-right: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .mr-3-sp {
    margin-right: 1.5rem !important;
  }
}

.mr-4 {
  margin-right: 2rem !important;
}

@media (min-width: 769px) {
  .mr-4-pc {
    margin-right: 2rem !important;
  }
}

@media (max-width: 768px) {
  .mr-4-sp {
    margin-right: 2rem !important;
  }
}

.mr-5 {
  margin-right: 2.5rem !important;
}

@media (min-width: 769px) {
  .mr-5-pc {
    margin-right: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .mr-5-sp {
    margin-right: 2.5rem !important;
  }
}

.mr-6 {
  margin-right: 3rem !important;
}

@media (min-width: 769px) {
  .mr-6-pc {
    margin-right: 3rem !important;
  }
}

@media (max-width: 768px) {
  .mr-6-sp {
    margin-right: 3rem !important;
  }
}

.mr-7 {
  margin-right: 3.5rem !important;
}

@media (min-width: 769px) {
  .mr-7-pc {
    margin-right: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .mr-7-sp {
    margin-right: 3.5rem !important;
  }
}

.mr-8 {
  margin-right: 4rem !important;
}

@media (min-width: 769px) {
  .mr-8-pc {
    margin-right: 4rem !important;
  }
}

@media (max-width: 768px) {
  .mr-8-sp {
    margin-right: 4rem !important;
  }
}

.mr-9 {
  margin-right: 4.5rem !important;
}

@media (min-width: 769px) {
  .mr-9-pc {
    margin-right: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .mr-9-sp {
    margin-right: 4.5rem !important;
  }
}

.mr-10 {
  margin-right: 5rem !important;
}

@media (min-width: 769px) {
  .mr-10-pc {
    margin-right: 5rem !important;
  }
}

@media (max-width: 768px) {
  .mr-10-sp {
    margin-right: 5rem !important;
  }
}

.p-05 {
  padding: 0.25rem !important;
}

.p-auto {
  padding: auto !important;
}

@media (min-width: 769px) {
  .p-05-pc {
    padding: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .p-05-sp {
    padding: 0.25rem !important;
  }
}

.p-0 {
  padding: 0rem !important;
}

@media (min-width: 769px) {
  .p-0-pc {
    padding: 0rem !important;
  }
}

@media (max-width: 768px) {
  .p-0-sp {
    padding: 0rem !important;
  }
}

.p-1 {
  padding: 0.5rem !important;
}

@media (min-width: 769px) {
  .p-1-pc {
    padding: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .p-1-sp {
    padding: 0.5rem !important;
  }
}

.p-2 {
  padding: 1rem !important;
}

@media (min-width: 769px) {
  .p-2-pc {
    padding: 1rem !important;
  }
}

@media (max-width: 768px) {
  .p-2-sp {
    padding: 1rem !important;
  }
}

.p-3 {
  padding: 1.5rem !important;
}

@media (min-width: 769px) {
  .p-3-pc {
    padding: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .p-3-sp {
    padding: 1.5rem !important;
  }
}

.p-4 {
  padding: 2rem !important;
}

@media (min-width: 769px) {
  .p-4-pc {
    padding: 2rem !important;
  }
}

@media (max-width: 768px) {
  .p-4-sp {
    padding: 2rem !important;
  }
}

.p-5 {
  padding: 2.5rem !important;
}

@media (min-width: 769px) {
  .p-5-pc {
    padding: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .p-5-sp {
    padding: 2.5rem !important;
  }
}

.p-6 {
  padding: 3rem !important;
}

@media (min-width: 769px) {
  .p-6-pc {
    padding: 3rem !important;
  }
}

@media (max-width: 768px) {
  .p-6-sp {
    padding: 3rem !important;
  }
}

.p-7 {
  padding: 3.5rem !important;
}

@media (min-width: 769px) {
  .p-7-pc {
    padding: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .p-7-sp {
    padding: 3.5rem !important;
  }
}

.p-8 {
  padding: 4rem !important;
}

@media (min-width: 769px) {
  .p-8-pc {
    padding: 4rem !important;
  }
}

@media (max-width: 768px) {
  .p-8-sp {
    padding: 4rem !important;
  }
}

.p-9 {
  padding: 4.5rem !important;
}

@media (min-width: 769px) {
  .p-9-pc {
    padding: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .p-9-sp {
    padding: 4.5rem !important;
  }
}

.p-10 {
  padding: 5rem !important;
}

@media (min-width: 769px) {
  .p-10-pc {
    padding: 5rem !important;
  }
}

@media (max-width: 768px) {
  .p-10-sp {
    padding: 5rem !important;
  }
}

.pt-05 {
  padding-top: 0.25rem !important;
}

.pt-auto {
  padding-top: auto !important;
}

@media (min-width: 769px) {
  .pt-05-pc {
    padding-top: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .pt-05-sp {
    padding-top: 0.25rem !important;
  }
}

.pt-0 {
  padding-top: 0rem !important;
}

@media (min-width: 769px) {
  .pt-0-pc {
    padding-top: 0rem !important;
  }
}

@media (max-width: 768px) {
  .pt-0-sp {
    padding-top: 0rem !important;
  }
}

.pt-1 {
  padding-top: 0.5rem !important;
}

@media (min-width: 769px) {
  .pt-1-pc {
    padding-top: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .pt-1-sp {
    padding-top: 0.5rem !important;
  }
}

.pt-2 {
  padding-top: 1rem !important;
}

@media (min-width: 769px) {
  .pt-2-pc {
    padding-top: 1rem !important;
  }
}

@media (max-width: 768px) {
  .pt-2-sp {
    padding-top: 1rem !important;
  }
}

.pt-3 {
  padding-top: 1.5rem !important;
}

@media (min-width: 769px) {
  .pt-3-pc {
    padding-top: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .pt-3-sp {
    padding-top: 1.5rem !important;
  }
}

.pt-4 {
  padding-top: 2rem !important;
}

@media (min-width: 769px) {
  .pt-4-pc {
    padding-top: 2rem !important;
  }
}

@media (max-width: 768px) {
  .pt-4-sp {
    padding-top: 2rem !important;
  }
}

.pt-5 {
  padding-top: 2.5rem !important;
}

@media (min-width: 769px) {
  .pt-5-pc {
    padding-top: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .pt-5-sp {
    padding-top: 2.5rem !important;
  }
}

.pt-6 {
  padding-top: 3rem !important;
}

@media (min-width: 769px) {
  .pt-6-pc {
    padding-top: 3rem !important;
  }
}

@media (max-width: 768px) {
  .pt-6-sp {
    padding-top: 3rem !important;
  }
}

.pt-7 {
  padding-top: 3.5rem !important;
}

@media (min-width: 769px) {
  .pt-7-pc {
    padding-top: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .pt-7-sp {
    padding-top: 3.5rem !important;
  }
}

.pt-8 {
  padding-top: 4rem !important;
}

@media (min-width: 769px) {
  .pt-8-pc {
    padding-top: 4rem !important;
  }
}

@media (max-width: 768px) {
  .pt-8-sp {
    padding-top: 4rem !important;
  }
}

.pt-9 {
  padding-top: 4.5rem !important;
}

@media (min-width: 769px) {
  .pt-9-pc {
    padding-top: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .pt-9-sp {
    padding-top: 4.5rem !important;
  }
}

.pt-10 {
  padding-top: 5rem !important;
}

@media (min-width: 769px) {
  .pt-10-pc {
    padding-top: 5rem !important;
  }
}

@media (max-width: 768px) {
  .pt-10-sp {
    padding-top: 5rem !important;
  }
}

.pb-05 {
  padding-bottom: 0.25rem !important;
}

.pb-auto {
  padding-bottom: auto !important;
}

@media (min-width: 769px) {
  .pb-05-pc {
    padding-bottom: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .pb-05-sp {
    padding-bottom: 0.25rem !important;
  }
}

.pb-0 {
  padding-bottom: 0rem !important;
}

@media (min-width: 769px) {
  .pb-0-pc {
    padding-bottom: 0rem !important;
  }
}

@media (max-width: 768px) {
  .pb-0-sp {
    padding-bottom: 0rem !important;
  }
}

.pb-1 {
  padding-bottom: 0.5rem !important;
}

@media (min-width: 769px) {
  .pb-1-pc {
    padding-bottom: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .pb-1-sp {
    padding-bottom: 0.5rem !important;
  }
}

.pb-2 {
  padding-bottom: 1rem !important;
}

@media (min-width: 769px) {
  .pb-2-pc {
    padding-bottom: 1rem !important;
  }
}

@media (max-width: 768px) {
  .pb-2-sp {
    padding-bottom: 1rem !important;
  }
}

.pb-3 {
  padding-bottom: 1.5rem !important;
}

@media (min-width: 769px) {
  .pb-3-pc {
    padding-bottom: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .pb-3-sp {
    padding-bottom: 1.5rem !important;
  }
}

.pb-4 {
  padding-bottom: 2rem !important;
}

@media (min-width: 769px) {
  .pb-4-pc {
    padding-bottom: 2rem !important;
  }
}

@media (max-width: 768px) {
  .pb-4-sp {
    padding-bottom: 2rem !important;
  }
}

.pb-5 {
  padding-bottom: 2.5rem !important;
}

@media (min-width: 769px) {
  .pb-5-pc {
    padding-bottom: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .pb-5-sp {
    padding-bottom: 2.5rem !important;
  }
}

.pb-6 {
  padding-bottom: 3rem !important;
}

@media (min-width: 769px) {
  .pb-6-pc {
    padding-bottom: 3rem !important;
  }
}

@media (max-width: 768px) {
  .pb-6-sp {
    padding-bottom: 3rem !important;
  }
}

.pb-7 {
  padding-bottom: 3.5rem !important;
}

@media (min-width: 769px) {
  .pb-7-pc {
    padding-bottom: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .pb-7-sp {
    padding-bottom: 3.5rem !important;
  }
}

.pb-8 {
  padding-bottom: 4rem !important;
}

@media (min-width: 769px) {
  .pb-8-pc {
    padding-bottom: 4rem !important;
  }
}

@media (max-width: 768px) {
  .pb-8-sp {
    padding-bottom: 4rem !important;
  }
}

.pb-9 {
  padding-bottom: 4.5rem !important;
}

@media (min-width: 769px) {
  .pb-9-pc {
    padding-bottom: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .pb-9-sp {
    padding-bottom: 4.5rem !important;
  }
}

.pb-10 {
  padding-bottom: 5rem !important;
}

@media (min-width: 769px) {
  .pb-10-pc {
    padding-bottom: 5rem !important;
  }
}

@media (max-width: 768px) {
  .pb-10-sp {
    padding-bottom: 5rem !important;
  }
}

.pl-05 {
  padding-left: 0.25rem !important;
}

.pl-auto {
  padding-left: auto !important;
}

@media (min-width: 769px) {
  .pl-05-pc {
    padding-left: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .pl-05-sp {
    padding-left: 0.25rem !important;
  }
}

.pl-0 {
  padding-left: 0rem !important;
}

@media (min-width: 769px) {
  .pl-0-pc {
    padding-left: 0rem !important;
  }
}

@media (max-width: 768px) {
  .pl-0-sp {
    padding-left: 0rem !important;
  }
}

.pl-1 {
  padding-left: 0.5rem !important;
}

@media (min-width: 769px) {
  .pl-1-pc {
    padding-left: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .pl-1-sp {
    padding-left: 0.5rem !important;
  }
}

.pl-2 {
  padding-left: 1rem !important;
}

@media (min-width: 769px) {
  .pl-2-pc {
    padding-left: 1rem !important;
  }
}

@media (max-width: 768px) {
  .pl-2-sp {
    padding-left: 1rem !important;
  }
}

.pl-3 {
  padding-left: 1.5rem !important;
}

@media (min-width: 769px) {
  .pl-3-pc {
    padding-left: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .pl-3-sp {
    padding-left: 1.5rem !important;
  }
}

.pl-4 {
  padding-left: 2rem !important;
}

@media (min-width: 769px) {
  .pl-4-pc {
    padding-left: 2rem !important;
  }
}

@media (max-width: 768px) {
  .pl-4-sp {
    padding-left: 2rem !important;
  }
}

.pl-5 {
  padding-left: 2.5rem !important;
}

@media (min-width: 769px) {
  .pl-5-pc {
    padding-left: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .pl-5-sp {
    padding-left: 2.5rem !important;
  }
}

.pl-6 {
  padding-left: 3rem !important;
}

@media (min-width: 769px) {
  .pl-6-pc {
    padding-left: 3rem !important;
  }
}

@media (max-width: 768px) {
  .pl-6-sp {
    padding-left: 3rem !important;
  }
}

.pl-7 {
  padding-left: 3.5rem !important;
}

@media (min-width: 769px) {
  .pl-7-pc {
    padding-left: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .pl-7-sp {
    padding-left: 3.5rem !important;
  }
}

.pl-8 {
  padding-left: 4rem !important;
}

@media (min-width: 769px) {
  .pl-8-pc {
    padding-left: 4rem !important;
  }
}

@media (max-width: 768px) {
  .pl-8-sp {
    padding-left: 4rem !important;
  }
}

.pl-9 {
  padding-left: 4.5rem !important;
}

@media (min-width: 769px) {
  .pl-9-pc {
    padding-left: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .pl-9-sp {
    padding-left: 4.5rem !important;
  }
}

.pl-10 {
  padding-left: 5rem !important;
}

@media (min-width: 769px) {
  .pl-10-pc {
    padding-left: 5rem !important;
  }
}

@media (max-width: 768px) {
  .pl-10-sp {
    padding-left: 5rem !important;
  }
}

.pr-05 {
  padding-right: 0.25rem !important;
}

.pr-auto {
  padding-right: auto !important;
}

@media (min-width: 769px) {
  .pr-05-pc {
    padding-right: 0.25rem !important;
  }
}

@media (max-width: 768px) {
  .pr-05-sp {
    padding-right: 0.25rem !important;
  }
}

.pr-0 {
  padding-right: 0rem !important;
}

@media (min-width: 769px) {
  .pr-0-pc {
    padding-right: 0rem !important;
  }
}

@media (max-width: 768px) {
  .pr-0-sp {
    padding-right: 0rem !important;
  }
}

.pr-1 {
  padding-right: 0.5rem !important;
}

@media (min-width: 769px) {
  .pr-1-pc {
    padding-right: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .pr-1-sp {
    padding-right: 0.5rem !important;
  }
}

.pr-2 {
  padding-right: 1rem !important;
}

@media (min-width: 769px) {
  .pr-2-pc {
    padding-right: 1rem !important;
  }
}

@media (max-width: 768px) {
  .pr-2-sp {
    padding-right: 1rem !important;
  }
}

.pr-3 {
  padding-right: 1.5rem !important;
}

@media (min-width: 769px) {
  .pr-3-pc {
    padding-right: 1.5rem !important;
  }
}

@media (max-width: 768px) {
  .pr-3-sp {
    padding-right: 1.5rem !important;
  }
}

.pr-4 {
  padding-right: 2rem !important;
}

@media (min-width: 769px) {
  .pr-4-pc {
    padding-right: 2rem !important;
  }
}

@media (max-width: 768px) {
  .pr-4-sp {
    padding-right: 2rem !important;
  }
}

.pr-5 {
  padding-right: 2.5rem !important;
}

@media (min-width: 769px) {
  .pr-5-pc {
    padding-right: 2.5rem !important;
  }
}

@media (max-width: 768px) {
  .pr-5-sp {
    padding-right: 2.5rem !important;
  }
}

.pr-6 {
  padding-right: 3rem !important;
}

@media (min-width: 769px) {
  .pr-6-pc {
    padding-right: 3rem !important;
  }
}

@media (max-width: 768px) {
  .pr-6-sp {
    padding-right: 3rem !important;
  }
}

.pr-7 {
  padding-right: 3.5rem !important;
}

@media (min-width: 769px) {
  .pr-7-pc {
    padding-right: 3.5rem !important;
  }
}

@media (max-width: 768px) {
  .pr-7-sp {
    padding-right: 3.5rem !important;
  }
}

.pr-8 {
  padding-right: 4rem !important;
}

@media (min-width: 769px) {
  .pr-8-pc {
    padding-right: 4rem !important;
  }
}

@media (max-width: 768px) {
  .pr-8-sp {
    padding-right: 4rem !important;
  }
}

.pr-9 {
  padding-right: 4.5rem !important;
}

@media (min-width: 769px) {
  .pr-9-pc {
    padding-right: 4.5rem !important;
  }
}

@media (max-width: 768px) {
  .pr-9-sp {
    padding-right: 4.5rem !important;
  }
}

.pr-10 {
  padding-right: 5rem !important;
}

@media (min-width: 769px) {
  .pr-10-pc {
    padding-right: 5rem !important;
  }
}

@media (max-width: 768px) {
  .pr-10-sp {
    padding-right: 5rem !important;
  }
}

/*====================================
 * TITLE *
====================================*/
/* title01 */
.section-title {
  margin-bottom: 2.75rem;
  line-height: 1;
}
.section-title--sub {
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .section-title--sub {
    font-size: 4.2666666667vw;
    letter-spacing: 0.01em;
  }
}
.section-title--main {
  font-size: 1.75rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-top: 0.75rem;
  color: #003B65;
}
@media screen and (max-width: 768px) {
  .section-title--main {
    margin-top: 4.2666666667vw;
    font-size: 7.4666666667vw;
  }
}

/* title02 */
.section-title02 {
  margin-bottom: 2.75rem;
  line-height: 1;
  font-family: "lato", "Noto Sans JP", sans-serif;
  color: #003B65;
}
.section-title02--sub {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .section-title02--sub {
    font-size: 4.8vw;
  }
}
.section-title02--main {
  font-size: 1.75rem;
  font-weight: normal;
  margin-top: 1rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .section-title02--main {
    margin-top: 5.3333333333vw;
    font-size: 7.4666666667vw;
  }
}

/* headline */
.section-headline {
  line-height: 2;
}

/*====================================
 * BUTTON *
====================================*/
/* MORE */
.button-more {
  font-size: 0.875rem;
  font-family: "lato", "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  cursor: pointer;
  color: #003B65;
}
@media screen and (max-width: 768px) {
  .button-more {
    font-size: 3.7333333333vw;
    gap: 4.2666666667vw;
  }
}
.button-more i {
  width: 3rem;
  height: 2rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 768px) {
  .button-more i {
    width: 12.8vw;
    height: 8.5333333333vw;
  }
}
.button-more i::after {
  content: "";
  width: 2rem;
  height: 2rem;
  border: 1px solid #003B65;
  display: block;
  border-radius: 6.25rem;
  position: absolute;
  top: 50%;
  right: 0.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (max-width: 768px) {
  .button-more i::after {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
    right: 3.7333333333vw;
    border-width: 0.2666666667vw;
  }
}
.button-more i::before {
  content: "";
  width: 2rem;
  height: 0.375rem;
  border-right: 0.125rem solid #003B65;
  border-bottom: 0.0625rem solid #003B65;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-80%) skewX(45deg);
          transform: translateY(-80%) skewX(45deg);
}
@media screen and (max-width: 768px) {
  .button-more i::before {
    width: 8.5333333333vw;
    height: 1.6vw;
    border-right-width: 0.5333333333vw;
    border-bottom-width: 0.2666666667vw;
  }
}
.button-more:hover i::after {
  -webkit-transform: translateY(-50%) scale(0.5);
          transform: translateY(-50%) scale(0.5);
  border-width: 0.125rem;
}

/* CIRCLE */
.button-circle {
  width: 8.75rem;
  height: 8.75rem;
  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;
  background-color: #003B65;
  border-radius: 100vh;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.78;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .button-circle {
    width: 37.3333333333vw;
    height: 37.3333333333vw;
  }
}

/* ARROW ICON */
i.button__arrow {
  width: 2.125rem;
  height: 0.5rem;
  margin: 0.875rem auto 0;
  overflow: hidden;
  position: relative;
  display: block;
}
i.button__arrow::before {
  content: "";
  width: 2rem;
  height: 0.375rem;
  border-right: 0.125rem solid #FFFFFF;
  border-bottom: 0.0625rem solid #FFFFFF;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
  display: block;
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: 0;
  left: 0;
}

@-webkit-keyframes arrow-move-right {
  0% {
    -webkit-transform: skewX(45deg) translateX(0);
            transform: skewX(45deg) translateX(0);
  }
  100% {
    -webkit-transform: skewX(45deg) translateX(110%);
            transform: skewX(45deg) translateX(110%);
  }
}

@keyframes arrow-move-right {
  0% {
    -webkit-transform: skewX(45deg) translateX(0);
            transform: skewX(45deg) translateX(0);
  }
  100% {
    -webkit-transform: skewX(45deg) translateX(110%);
            transform: skewX(45deg) translateX(110%);
  }
}
@-webkit-keyframes arrow-return-left {
  0% {
    -webkit-transform: skewX(45deg) translateX(-110%);
            transform: skewX(45deg) translateX(-110%);
  }
  100% {
    -webkit-transform: skewX(45deg) translateX(0);
            transform: skewX(45deg) translateX(0);
  }
}
@keyframes arrow-return-left {
  0% {
    -webkit-transform: skewX(45deg) translateX(-110%);
            transform: skewX(45deg) translateX(-110%);
  }
  100% {
    -webkit-transform: skewX(45deg) translateX(0);
            transform: skewX(45deg) translateX(0);
  }
}
@media print, screen and (min-width: 769px) {
  .button-circle, .button-submit {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .button-circle:hover .button__arrow::before, .button-submit:hover .button__arrow::before {
    -webkit-animation: arrow-move-right 0.4s ease-in-out forwards, arrow-return-left 0.4s 0.2s ease-in-out forwards;
            animation: arrow-move-right 0.4s ease-in-out forwards, arrow-return-left 0.4s 0.2s ease-in-out forwards;
  }
}

@media print, screen and (min-width: 769px) {
  .button-circle:hover {
    -webkit-box-shadow: 0px 0px 0px 8px #507B99;
            box-shadow: 0px 0px 0px 8px #507B99;
  }
}

/* NAVIGATION */
.button-navi {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #003B65;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 6.25rem;
  position: relative;
  cursor: pointer;
  display: block;
}
@media screen and (max-width: 768px) {
  .button-navi {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-width: 0.2666666667vw;
  }
}
.button-navi i {
  width: 0.5rem;
  height: 0.75rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .button-navi i {
    width: 2.1333333333vw;
    height: 3.2vw;
  }
}
.button-navi i::before, .button-navi i::after {
  content: "";
  width: 0.625rem;
  height: 0.0625rem;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  background-color: #003B65;
}
@media screen and (max-width: 768px) {
  .button-navi i::before, .button-navi i::after {
    width: 2.6666666667vw;
    height: 0.2666666667vw;
  }
}
.button-navi i::after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
}
.button-navi--prev {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media print, screen and (min-width: 769px) {
  .button-navi:hover i {
    left: calc(50% + 4px);
  }
}

/*====================================
 * COMMON *
====================================*/
body.is-menu--open {
  overflow: hidden;
}

.wrapper {
  overflow-x: hidden;
}

/*====================================
 * HEADER *
====================================*/
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2.5rem 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  background-color: #FFFFFF;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  header {
    width: 100%;
    height: 21.3333333333vw;
    padding: 3.2vw 3.2vw 3.2vw 6.4vw;
    position: fixed;
    top: 0;
    left: 0;
  }
}
@media print, screen and (min-width: 769px) {
  header {
    width: 80rem;
    margin: 0 auto;
  }
}
header .logo {
  width: 8.25rem;
  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;
}
@media print, screen and (min-width: 769px) {
  header .logo {
    margin-left: 8.75rem;
  }
}
@media screen and (max-width: 768px) {
  header .logo {
    width: 26.4vw;
  }
}
header .logo h1 {
  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;
}
@media screen and (max-width: 768px) {
  header .sideBtn {
    width: 14.9333333333vw;
    height: 14.9333333333vw;
    border-radius: 100px;
    background-color: #F8F7F4;
    position: fixed;
    top: 3.2vw;
    right: 3.2vw;
    z-index: 101;
    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-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    border: 0.2666666667vw solid transparent;
  }
  header .sideBtn__inner {
    width: 6.4vw;
    height: 3.2vw;
    position: relative;
  }
  header .sideBtn span {
    width: 100%;
    height: 0.5333333333vw;
    border-radius: 10px;
    background-color: #003B65;
    display: block;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  header .sideBtn span:nth-child(1) {
    top: 0;
  }
  header .sideBtn span:nth-child(2) {
    bottom: 0;
  }
  header .sideBtn.is-active {
    background-color: #003B65;
    border-color: #FFFFFF;
  }
  header .sideBtn.is-active span {
    width: 8.5333333333vw;
    background-color: #FFFFFF;
  }
  header .sideBtn.is-active span:nth-child(1) {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  header .sideBtn.is-active span:nth-child(2) {
    bottom: 50%;
    -webkit-transform: translate(-50%, 50%) rotate(-45deg);
            transform: translate(-50%, 50%) rotate(-45deg);
  }
}
header .sideNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  margin-right: -0.5rem;
}
@media screen and (max-width: 768px) {
  header .sideNav {
    gap: 10.6666666667vw;
    width: 100vw;
    height: 100vh;
    margin-right: -2.1333333333vw;
    overflow-y: scroll;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    background-color: #003B65;
    position: fixed;
    top: -100vh;
    left: 0;
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: 34.1333333333vw;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    padding-bottom: 10.6666666667vw;
    box-sizing: border-box;
  }
  header .sideNav.is-open {
    top: 0;
  }
  header .sideNav__logo {
    width: 35.2vw;
    position: absolute;
    top: 7.4666666667vw;
    left: 6.4vw;
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
  header .sideNav__logo img {
    opacity: 0.3;
  }
}
header .sideNav__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.375rem;
}
@media screen and (max-width: 768px) {
  header .sideNav__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 10.6666666667vw;
  }
}
header .sideNav__link {
  display: inline-block;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  header .sideNav__link {
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
    opacity: 0;
  }
}
header .sideNav__link:hover .sideNav__link--latin {
  font-weight: bold;
}
header .sideNav__link--latin {
  display: inline-block;
  font-weight: normal;
  color: #003B65;
  font-size: 0.875rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  header .sideNav__link--latin {
    color: #FFFFFF;
    font-size: 3.7333333333vw;
  }
}
header .sideNav__link--ja {
  display: block;
  font-size: 0.625rem;
  margin-top: 0.5rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  header .sideNav__link--ja {
    color: #FFFFFF;
    font-size: 2.6666666667vw;
    margin-top: 2.1333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  header .sideNav__link:nth-child(1) {
    min-width: 121px;
  }
}
@media print, screen and (min-width: 769px) {
  header .sideNav__link:nth-child(2) {
    min-width: 80px;
  }
}
@media print, screen and (min-width: 769px) {
  header .sideNav__link:nth-child(3) {
    min-width: 48px;
  }
}
@media print, screen and (min-width: 769px) {
  header .sideNav__link:nth-child(4) {
    min-width: 58px;
  }
}
@media print, screen and (min-width: 769px) {
  header .sideNav__link:nth-child(5) {
    min-width: 78px;
  }
}
header .sideNav__button {
  display: block;
  padding: 0.75rem 1.5rem;
  border-radius: 100px;
  background-color: #FFC022;
  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;
}
@media screen and (max-width: 768px) {
  header .sideNav__button {
    gap: 2.1333333333vw;
    padding: 3.2vw 6.4vw;
  }
}
@media print, screen and (min-width: 769px) {
  header .sideNav__button {
    gap: 0.5rem;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    margin: 0 0.5rem;
  }
  header .sideNav__button:hover {
    padding: 0.75rem 2rem;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  header .sideNav__button {
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
}
header .sideNav__button .icon {
  width: 1.5rem;
}
@media screen and (max-width: 768px) {
  header .sideNav__button .icon {
    width: 6.4vw;
  }
}
header .sideNav__button span {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.01em;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  header .sideNav__button span {
    font-size: 4.2666666667vw;
  }
}

/*====================================
 * FOOTER *
====================================*/
footer {
  background-color: #F8F7F4;
  padding: 2.5rem 0;
  color: #003B65;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 10.6666666667vw 0;
  }
}
footer .footer__head {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #E5E1DB;
  margin-bottom: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  footer .footer__head {
    padding-bottom: 6.4vw;
    margin-bottom: 10.6666666667vw;
    gap: 10.6666666667vw;
    border-block-width: 0.2666666667vw;
  }
}
footer .footer__link {
  font-size: 0.6875rem;
  letter-spacing: 0.014em;
  position: relative;
  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;
  gap: 0.5rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  footer .footer__link {
    font-size: 2.9333333333vw;
    gap: 2.1333333333vw;
  }
}
footer .footer__link:hover {
  font-weight: bold;
}
footer .footer__link i {
  width: 0.5rem;
  height: 0.5rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 768px) {
  footer .footer__link i {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
  }
}
footer .footer__link i::before, footer .footer__link i::after {
  content: "";
  width: 0.375rem;
  height: 0.0625rem;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  background-color: #003B65;
}
@media screen and (max-width: 768px) {
  footer .footer__link i::before, footer .footer__link i::after {
    width: 1.6vw;
    height: 0.2666666667vw;
  }
}
footer .footer__link i::after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
}
footer .footer__company {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  footer .footer__company {
    -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;
    gap: 4.2666666667vw;
  }
}
footer .footer__catch {
  font-size: 0.6875rem;
  line-height: 1.8;
  letter-spacing: 0.014em;
}
@media screen and (max-width: 768px) {
  footer .footer__catch {
    font-size: 2.9333333333vw;
  }
}
footer .footer__logo {
  width: 6.1875rem;
  display: block;
}
@media screen and (max-width: 768px) {
  footer .footer__logo {
    width: 26.4vw;
  }
}
footer .footer__body {
  position: relative;
}
footer .copyright {
  font-size: 0.625rem;
  letter-spacing: 0;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  footer .copyright {
    font-size: 2.6666666667vw;
    margin-top: 6.4vw;
  }
}
@media print, screen and (min-width: 769px) {
  footer .pagetop {
    width: 5rem;
    height: 5rem;
    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-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  footer .pagetop::before {
    content: "";
    width: 100%;
    height: 100%;
    border: 1px solid #003B65;
    border-radius: 6.25rem;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  footer .pagetop:hover::before {
    width: calc(100% + 0.5rem);
    height: calc(100% + 0.5rem);
  }
  footer .pagetop:hover i {
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem);
  }
  footer .pagetop i {
    width: 0.75rem;
    height: 0.5rem;
    display: block;
    position: relative;
    margin: 0 auto;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  footer .pagetop i::before, footer .pagetop i::after {
    content: "";
    width: 0.5rem;
    height: 0.0625rem;
    position: absolute;
    top: 0;
    background-color: #003B65;
  }
  footer .pagetop i::after {
    -webkit-transform: rotate(48deg);
            transform: rotate(48deg);
    right: -0.0625rem;
  }
  footer .pagetop i::before {
    -webkit-transform: rotate(-48deg);
            transform: rotate(-48deg);
    left: -0.0625rem;
  }
}

/*====================================
 * NEWS *
====================================*/
@media print, screen and (min-width: 769px) {
  .news__list-area {
    width: 46.5625rem;
  }
}
.news__item:not(:last-child) {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #E5E1DB;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .news__item:not(:last-child) {
    margin-bottom: 6.4vw;
    padding-bottom: 6.4vw;
    border-bottom-width: 0.2666666667vw;
  }
}
.news__link:hover .news__text {
  text-decoration: underline;
}
.news__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .news__head {
    gap: 4.2666666667vw;
    margin-bottom: 3.2vw;
  }
}
.news__date {
  font-weight: bold;
  color: #003B65;
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  .news__date {
    font-size: 3.7333333333vw;
  }
}
.news__category {
  font-size: 0.75rem;
  border-radius: 6.25rem;
  padding: 0.25rem 0.75rem 0.3125rem;
  display: inline-block;
  line-height: 1;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .news__category {
    font-size: 3.2vw;
    padding: 1.0666666667vw 3.2vw 1.3333333333vw;
    border-radius: 26.6666666667vw;
  }
}
.news__category--info {
  background-color: #80C2D3;
}
.news__category--important {
  background-color: #E87979;
}

/*********************************************
 * CSS Document
 * COMMON
 *********************************************/
/*====================================
 * DEVICE *
====================================*/
@media screen and (max-width: 768px) {
  .is-pc {
    display: none !important;
  }
}

@media print, screen and (min-width: 769px) {
  .is-sp {
    display: none !important;
  }
}

/*====================================
 * CONTENTS *
====================================*/
.container {
  width: 62.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .container {
    width: 91.4666666667vw;
  }
}

/*********************************************
 * CSS Document
 * ANIMATION
 *********************************************/
/*====================================
 * EFFECT *
====================================*/
.js-effect-item, .js-effect-chain-child {
  opacity: 0;
  -webkit-transform: translateY(1.25rem);
          transform: translateY(1.25rem);
  -webkit-transition-duration: 0.5s, 0.4s;
          transition-duration: 0.5s, 0.4s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: ease, cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: ease, cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (max-width: 768px) {
  .js-effect-item, .js-effect-chain-child {
    -webkit-transform: translateY(5.3333333333vw);
            transform: translateY(5.3333333333vw);
  }
}
.js-effect-item.is-fire, .js-effect-chain-child.is-fire {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media screen and (max-width: 768px) {
  .js-effect-hamburger-item {
    opacity: 0;
    -webkit-transform: translateY(5.3333333333vw);
            transform: translateY(5.3333333333vw);
    -webkit-transition-duration: 0.5s, 0.4s;
            transition-duration: 0.5s, 0.4s;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    -webkit-transition-timing-function: ease, cubic-bezier(0.215, 0.61, 0.355, 1);
            transition-timing-function: ease, cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .js-effect-hamburger-item.is-fire {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.is-delay-1 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.is-delay-2 {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.is-delay-3 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.is-delay-4 {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.is-delay-5 {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.is-delay-6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.is-delay-7 {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.is-delay-8 {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

.is-delay-9 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.is-delay-10 {
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}

/*********************************************
 * CSS Document
 * TOP
 *********************************************/
/*====================================
 * TOP *
====================================*/
#top {
  /* MESSAGE */
  /* PROJECT */
  /* PRODUCT */
  /* NEWS */
}
#top .hero {
  width: 100%;
  position: relative;
  background-color: #F8F7F4;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  #top .hero {
    height: 49.375rem;
  }
}
@media screen and (max-width: 768px) {
  #top .hero {
    padding-top: 5rem;
  }
}
#top .hero__inner {
  width: 100%;
  height: 100%;
  position: relative;
}
#top .hero__image01 {
  pointer-events: none;
}
@media print, screen and (min-width: 769px) {
  #top .hero__image01 {
    width: 87.6875rem;
    -webkit-transform: translateX(3.125rem);
            transform: translateX(3.125rem);
  }
}
@media screen and (max-width: 768px) {
  #top .hero__image01 {
    width: 100vw;
    padding-top: 42.6666666667vw;
    margin-left: calc((100vw - 100%) / -2);
  }
}
#top .hero__image02 {
  pointer-events: none;
}
@media print, screen and (min-width: 769px) {
  #top .hero__image02 {
    width: 12.5rem;
    position: absolute;
    top: 26.25rem;
    left: 0;
  }
}
#top .hero__catch {
  pointer-events: none;
  width: 25.5625rem;
  position: absolute;
  top: 5rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  #top .hero__catch {
    width: 73.6vw;
    top: 10.6666666667vw;
    left: 2.1333333333vw;
  }
}
#top .hero__button__outer {
  width: 8.75rem;
  height: 8.75rem;
  position: absolute;
  top: 24.0625rem;
  left: 8.4375rem;
}
@media screen and (max-width: 768px) {
  #top .hero__button__outer {
    width: 37.3333333333vw;
    height: 37.3333333333vw;
    top: 113.6vw;
    left: 2.1333333333vw;
  }
}
#top .hero__scroll {
  position: absolute;
  top: 32.8125rem;
  left: 0;
  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-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  #top .hero__scroll {
    top: 138vw;
    left: auto;
    right: -3.2vw;
    gap: 4.2666666667vw;
  }
}
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
#top .hero__scroll__text {
  color: #003B65;
  -webkit-transform: rotate(-90deg) translateX(1rem);
          transform: rotate(-90deg) translateX(1rem);
}
@media screen and (max-width: 768px) {
  #top .hero__scroll__text {
    -webkit-transform: rotate(-90deg) translateX(4.2666666667vw);
            transform: rotate(-90deg) translateX(4.2666666667vw);
  }
}
#top .hero__scroll__bar {
  width: 0.0625rem;
  height: 10rem;
  background-color: #003B65;
  -webkit-animation: scroll 2s infinite;
          animation: scroll 2s infinite;
}
@media screen and (max-width: 768px) {
  #top .hero__scroll__bar {
    height: 32vw;
    width: 0.2666666667vw;
  }
}
#top .message {
  padding: 0.625rem 0 5.9375rem;
  position: relative;
  background: url(../images/top/message-bg.png) no-repeat right bottom/contain;
  background-color: #F8F7F4;
}
@media screen and (max-width: 768px) {
  #top .message {
    width: 100vw;
    overflow-x: hidden;
    padding: 8.875rem 0 7.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media print, screen and (min-width: 769px) {
  #top .message__inner {
    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;
  }
}
#top .message__title {
  pointer-events: none;
  width: 30.5625rem;
  margin-left: -3rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  #top .message__title {
    width: 80vw;
    margin-left: -4.2666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  #top .message__text-area {
    width: 37.5rem;
  }
}
#top .message__text {
  line-height: 2.4;
}
#top .message__text:nth-child(2) {
  margin-top: 5rem;
  padding-left: 2.5rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #top .message__text:nth-child(2) {
    padding-left: 0;
  }
}
#top .message__text p:not(:last-child) {
  margin-bottom: 2em;
}
#top .message__image-area {
  pointer-events: none;
  margin-top: 7.0625rem;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  #top .message__image-area {
    width: 25rem;
  }
}
@media screen and (max-width: 768px) {
  #top .message__image-area {
    margin-top: 5rem;
    padding: 0 1.375rem;
  }
}
#top .message__deco01 {
  pointer-events: none;
  width: 21.25rem;
  position: absolute;
  top: -13.125rem;
  right: -10.0625rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #top .message__deco01 {
    width: 16rem;
    top: -10rem;
    right: -9rem;
  }
}
#top .message__deco02 {
  pointer-events: none;
  width: 6.3125rem;
  position: absolute;
  top: -1.875rem;
  left: 0.6875rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #top .message__deco02 {
    top: -2.8125rem;
    left: -2.0625rem;
  }
}
#top .project {
  padding: 3.75rem 0;
}
@media screen and (max-width: 768px) {
  #top .project {
    padding: 5rem 0;
  }
}
#top .project__anchor {
  padding-bottom: 5rem;
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  #top .project__anchor {
    padding-bottom: 10.9375rem;
  }
}
@media print, screen and (min-width: 769px) {
  #top .project__anchor {
    width: 62.5rem;
    margin: 0 auto;
  }
}
#top .project__anchor-button {
  display: inline-block;
  border: 1px solid #333333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0.25rem 2.5rem 0.1875rem 0.75rem;
  font-size: 0.875rem;
  color: #003B65;
  border-radius: 100px;
  position: relative;
}
#top .project__anchor-button:hover i {
  -webkit-transform: translateY(calc(-50% + 0.25rem));
          transform: translateY(calc(-50% + 0.25rem));
}
#top .project__anchor-button i {
  width: 0.75rem;
  height: 0.75rem;
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#top .project__anchor-button i::before, #top .project__anchor-button i::after {
  content: "";
  width: 0.5rem;
  height: 0.0625rem;
  position: absolute;
  top: 50%;
  background-color: #003B65;
}
#top .project__anchor-button i::after {
  -webkit-transform: translateY(-50%) rotate(-55deg);
          transform: translateY(-50%) rotate(-55deg);
  right: 0rem;
}
#top .project__anchor-button i::before {
  -webkit-transform: translateY(-50%) rotate(55deg);
          transform: translateY(-50%) rotate(55deg);
  left: 0rem;
}
#top .project__button {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  #top .project__button {
    text-align: right;
  }
}
@media print, screen and (min-width: 769px) {
  #top .project__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #top .project__inner:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    gap: 8.75rem;
  }
  #top .project__inner:nth-child(even) .project__text-area::before {
    width: 30.9375rem;
    height: 31.8125rem;
    background: url(../images/top/project-deco02.png) no-repeat center/contain;
    top: -8.0625rem;
    left: 5rem;
  }
  #top .project__inner:nth-child(even) .project__image-area {
    margin-right: 0;
    margin-left: calc((100vw - 100%) / -2);
    border-radius: 0 5rem 0 0;
  }
}
#top .project__inner:not(:last-child) {
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  #top .project__inner:not(:last-child) {
    margin-bottom: 8.125rem;
  }
}
#top .project__text-area {
  position: relative;
  z-index: 1;
}
#top .project__text-area::before {
  content: "";
  width: 27.5rem;
  height: 25.0625rem;
  display: block;
  background: url(../images/top/project-deco01.png) no-repeat center/contain;
  position: absolute;
  top: -9.375rem;
  left: -10.375rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #top .project__text-area::before {
    top: -8.4375rem;
    left: -11rem;
  }
}
#top .project__image-area {
  pointer-events: none;
  width: calc((100vw - 100%) / 2 + 31.25rem);
  margin-right: calc((100vw - 100%) / -2);
  border-top-left-radius: 5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #top .project__image-area {
    width: calc((100vw - 100%) / 2 + 100%);
    margin-top: 2.5rem;
    margin-left: 1rem;
  }
}
#top .product {
  padding: 0 0 2.5rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #top .product {
    padding: 5rem 0 2.5rem;
  }
}
#top .product::before {
  content: "";
  width: 100%;
  height: calc(100% - 7.5rem);
  display: block;
  background-color: #F8F7F4;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #top .product::before {
    height: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  #top .product__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media print, screen and (min-width: 769px) {
  #top .product__text-area {
    width: 22.5rem;
    margin-bottom: 7rem;
  }
}
@media print, screen and (min-width: 769px) {
  #top .product__slider {
    width: calc((100vw - 100%) / 2 + 37.5rem);
    margin-right: calc((100vw - 100%) / -2);
    overflow-x: hidden;
    padding-top: 2.5rem;
    padding-left: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  #top .product__slider {
    padding: 0 0.75rem;
    margin-top: 4rem;
  }
}
#top .product__slider .swiper-container, #top .product__slider .swiper-wrapper {
  overflow: visible !important;
}
@media print, screen and (min-width: 769px) {
  #top .product__slide {
    width: 20rem !important;
  }
  #top .product__slide.swiper-slide-prev {
    -webkit-transform: translateX(-2.5rem);
            transform: translateX(-2.5rem);
  }
}
#top .product__slide a {
  display: block;
  border-radius: 2.5rem 0 0 0;
  overflow: hidden;
  -webkit-box-shadow: 0 0 2.5rem 0 #EBEAE5;
          box-shadow: 0 0 2.5rem 0 #EBEAE5;
  -webkit-transition: all 0.3s ease-in-out !important;
  transition: all 0.3s ease-in-out !important;
}
@media screen and (max-width: 768px) {
  #top .product__slide a {
    border-radius: 10.6666666667vw 0 0 0;
  }
}
#top .product__slide a:hover {
  -webkit-box-shadow: 0 0 0.5rem 0 #EBEAE5;
          box-shadow: 0 0 0.5rem 0 #EBEAE5;
}
@media screen and (max-width: 768px) {
  #top .product__slide a:hover {
    -webkit-box-shadow: 0 0 2.1333333333vw 0 #EBEAE5;
            box-shadow: 0 0 2.1333333333vw 0 #EBEAE5;
  }
}
#top .product__slide a:hover .product__slide-image img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#top .product__slide-image {
  width: 100%;
  height: 13.75rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #top .product__slide-image {
    height: 58.6666666667vw;
  }
}
#top .product__slide-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#top .product__slide-text {
  height: 11.125rem;
  padding: 2.5rem;
  background: #FFFFFF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1rem;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  #top .product__slide-text {
    height: 47.4666666667vw;
    padding: 10.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#top .product__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 769px) {
  #top .product__navigation {
    margin-right: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #top .product__navigation {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
#top .product__navigation .sliderPagination {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}
@media screen and (max-width: 768px) {
  #top .product__navigation .sliderPagination {
    gap: 1.0666666667vw;
  }
}
#top .product__navigation .sliderPagination-slash {
  display: block;
  background: #003B65;
  width: 12px;
  height: 1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  #top .product__navigation .sliderPagination-slash {
    width: 3.2vw;
    height: 0.2666666667vw;
  }
}
#top .news {
  padding: 5rem 0 7.5rem;
}
@media screen and (max-width: 768px) {
  #top .news .section-title {
    margin-bottom: 4rem;
  }
}
@media print, screen and (min-width: 769px) {
  #top .news__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  #top .news__button {
    text-align: right;
    margin-top: 4rem;
  }
}

/* TOP End */
/*********************************************
 * CSS Document
 * LOWER
 *********************************************/
/*====================================
 * LOWER PAGE TITLE *
====================================*/
#lower-page .lower-page-title {
  width: 100%;
  height: 17.5rem;
  background: no-repeat center/cover;
}
@media screen and (max-width: 768px) {
  #lower-page .lower-page-title {
    height: 53.3333333333vw;
    margin-top: 21.3333333333vw;
    padding-left: 6.4vw;
  }
}
#lower-page .lower-page-title__inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#lower-page .lower-page-title--sub {
  font-size: 1.75rem;
  color: #003B65;
}
@media screen and (max-width: 768px) {
  #lower-page .lower-page-title--sub {
    font-size: 5.3333333333vw;
  }
}
#lower-page .lower-page-title--main {
  font-size: 2.5rem;
  font-weight: 500;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  #lower-page .lower-page-title--main {
    font-size: 8.5333333333vw;
    margin-top: 2.1333333333vw;
  }
}
#lower-page.lower-page--about .lower-page-title {
  background-image: url(../images/about/page-title-pc.jpg);
}
@media screen and (max-width: 768px) {
  #lower-page.lower-page--about .lower-page-title {
    background-image: url(../images/about/page-title-sp.jpg);
  }
}
#lower-page.lower-page--news .lower-page-title {
  background-image: url(../images/news/page-title-pc.jpg);
}
@media screen and (max-width: 768px) {
  #lower-page.lower-page--news .lower-page-title {
    background-image: url(../images/news/page-title-sp.jpg);
  }
}
#lower-page.lower-page--contact .lower-page-title {
  background-image: url(../images/contact/page-title-pc.jpg);
}
@media screen and (max-width: 768px) {
  #lower-page.lower-page--contact .lower-page-title {
    background-image: url(../images/contact/page-title-sp.jpg);
  }
}
#lower-page main {
  padding-top: 5rem;
}
@media screen and (max-width: 768px) {
  #lower-page main {
    padding-top: 17.0666666667vw;
  }
}

/*====================================
 * MAIN PROJECT *
====================================*/
/* HERO */
.mp-hero {
  position: relative;
  background-color: #F8F7F4;
  padding: 7.5rem 0 2.875rem;
  margin-bottom: 22.125rem;
}
@media screen and (max-width: 768px) {
  .mp-hero {
    padding: 40.8vw 0 98.9333333333vw;
    margin-bottom: 72.8vw;
  }
}
.mp-hero::before {
  content: "";
  width: 66.5rem;
  height: 11.0625rem;
  display: block;
  background: url(../images/main-project/hero-bg-pc.png) no-repeat left center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(calc(100% - 2rem));
          transform: translateY(calc(100% - 2rem));
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .mp-hero::before {
    width: 131.2vw;
    height: 45.3333333333vw;
    left: -17.0666666667vw;
    background-image: url(../images/main-project/hero-bg-sp.png);
  }
}
@media print, screen and (min-width: 769px) {
  .mp-hero__inner {
    position: relative;
  }
}
.mp-hero__title {
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .mp-hero__title {
    margin-left: -2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .mp-hero__title {
    margin-bottom: 10.6666666667vw;
  }
}
.mp-hero__title--sub {
  color: #003B65;
  font-size: 1.75rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .mp-hero__title--sub {
    font-size: 5.3333333333vw;
    margin-bottom: 6.4vw;
  }
}
.mp-hero__title--main {
  position: relative;
  pointer-events: none;
}
@media print, screen and (min-width: 769px) {
  .mp-hero__title--main {
    width: 30rem;
  }
}
.mp-hero__title--bubble {
  width: 7.5rem;
  position: absolute;
  top: -3.1875rem;
  right: -6.5rem;
}
@media screen and (max-width: 768px) {
  .mp-hero__title--bubble {
    width: 25.8666666667vw;
    top: -22.6666666667vw;
    right: 0;
  }
}
.mp-hero__text {
  line-height: 2;
  font-size: 1rem;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .mp-hero__text {
    width: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .mp-hero__text {
    font-size: 4.2666666667vw;
  }
}
.mp-hero__image {
  pointer-events: none;
  width: 45rem;
  position: absolute;
  top: -4rem;
  right: -18.75rem;
}
@media screen and (max-width: 768px) {
  .mp-hero__image {
    width: calc(100% + 16vw);
    top: auto;
    bottom: -34.4vw;
    right: -22.4vw;
  }
}
.mp-hero__button {
  position: absolute;
  left: 0;
  bottom: -13.75rem;
}
@media screen and (max-width: 768px) {
  .mp-hero__button {
    left: 6.4vw;
    bottom: -48.8vw;
  }
}

/* section */
.mp-section__title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .mp-section__title {
    margin-bottom: 10.6666666667vw;
  }
}
.mp-section__title--sub {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .mp-section__title--sub {
    font-size: 4.2666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}
.mp-section__title--main {
  font-size: 1.75rem;
  line-height: 1.6;
  color: #003B65;
}
@media screen and (max-width: 768px) {
  .mp-section__title--main {
    font-size: 7.4666666667vw;
  }
}
.mp-section__text {
  line-height: 2;
}
.mp-section__text p:not(:last-child) {
  margin-bottom: 2em;
}
.mp-section__inner {
  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;
  position: relative;
}
.mp-section--01 {
  position: relative;
}
@media screen and (max-width: 768px) {
  .mp-section--01 .mp-section__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.mp-section--01 .mp-section__text-area {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .mp-section--01 .mp-section__text-area {
    width: 35.3125rem;
  }
}
.mp-section--01 .mp-section__text-area::before {
  content: "";
  width: 27.5rem;
  height: 25.0625rem;
  display: block;
  background: url(../images/main-project/section01-deco.png) no-repeat center/contain;
  position: absolute;
  z-index: -1;
  top: -8rem;
  left: -10.375rem;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .mp-section--01 .mp-section__text-area::before {
    width: 117.3333333333vw;
    height: 106.9333333333vw;
    top: -38.4vw;
    left: -35.2vw;
  }
}
.mp-section--01 .mp-section__image-area {
  pointer-events: none;
  width: 35rem;
  margin-right: -8.75rem;
  margin-top: 5.875rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .mp-section--01 .mp-section__image-area {
    width: 100%;
    max-width: 91.4666666667vw;
    margin-top: 0;
    margin-bottom: 17.0666666667vw;
    margin-right: 0;
    margin-left: 4.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .mp-section--01 .mp-section__text {
    width: 26.25rem;
  }
}
.mp-section--02 {
  padding-top: 5rem;
}
@media screen and (max-width: 768px) {
  .mp-section--02 {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .mp-section--02 .mp-section__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.mp-section--02 .mp-section__text-area {
  margin-top: 7.5rem;
}
@media print, screen and (min-width: 769px) {
  .mp-section--02 .mp-section__text-area {
    width: 33.75rem;
  }
}
@media screen and (max-width: 768px) {
  .mp-section--02 .mp-section__text-area {
    margin-top: 17.0666666667vw;
  }
}
.mp-section--02 .mp-section__image-area {
  pointer-events: none;
  width: calc((100vw - 100%) / 2 + 23.75rem);
  margin-left: calc((100vw - 100%) / -2);
  position: relative;
  z-index: 1;
  border-radius: 0 2.5rem 0 0;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .mp-section--02 .mp-section__image-area {
    width: 100%;
    max-width: 91.4666666667vw;
    margin-left: calc((100vw - 100%) / -2);
    border-radius: 0 10.6666666667vw 0 0;
  }
}
.mp-section--03 {
  padding-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .mp-section--03 {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .mp-section--03 .mp-section__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.mp-section--03 .mp-section__text-area {
  position: relative;
  z-index: 1;
  margin-top: 5rem;
}
@media print, screen and (min-width: 769px) {
  .mp-section--03 .mp-section__text-area {
    width: 26.25rem;
  }
}
@media screen and (max-width: 768px) {
  .mp-section--03 .mp-section__text-area {
    margin-top: 17.0666666667vw;
  }
}
.mp-section--03 .mp-section__text-area::before {
  content: "";
  width: 32.0625rem;
  height: 32.0625rem;
  display: block;
  background: url(../images/main-project/section03-deco.png) no-repeat center/contain;
  position: absolute;
  z-index: -1;
  top: -11.0625rem;
  left: -12.6875rem;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .mp-section--03 .mp-section__text-area::before {
    width: 136.8vw;
    height: 136.8vw;
    top: -62.1333333333vw;
    left: -54.9333333333vw;
  }
}
.mp-section--03 .mp-section__image-area {
  pointer-events: none;
  width: calc((100vw - 100%) / 2 + 28.75rem);
  margin-right: calc((100vw - 100%) / -2);
  position: relative;
  z-index: 1;
  border-radius: 2.5rem 0 0 0;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .mp-section--03 .mp-section__image-area {
    width: 91.4666666667vw;
    margin-right: auto;
    margin-left: 4.2666666667vw;
  }
}
.mp-section--04 {
  margin-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .mp-section--04 {
    margin-top: 21.3333333333vw;
    padding-bottom: 32vw;
    background-color: #F8F7F4;
  }
}
@media print, screen and (min-width: 769px) {
  .mp-section--04 {
    position: relative;
  }
  .mp-section--04::before {
    content: "";
    width: 100%;
    height: calc(100% - 12.5rem);
    display: block;
    background-color: #F8F7F4;
    position: absolute;
    left: 0;
    bottom: 0;
    pointer-events: none;
  }
}
.mp-section--04 .mp-section__image {
  pointer-events: none;
  width: calc((100vw - 100%) / 2 + 60rem);
  margin-left: calc((100vw - 100%) / -2);
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .mp-section--04 .mp-section__image {
    border-radius: 0 2.5rem 0 0;
    overflow: hidden;
  }
}
@media screen and (max-width: 768px) {
  .mp-section--04 .mp-section__image {
    width: 100vw;
  }
}
.mp-section--04 .mp-section__text-area {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .mp-section--04 .mp-section__text-area {
    margin-top: 17.0666666667vw;
  }
}

.mp-pdp {
  padding: 5rem 0;
}
@media print, screen and (min-width: 769px) {
  .mp-pdp__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media print, screen and (min-width: 769px) {
  .mp-pdp__project {
    width: 22.5rem;
  }
}
.mp-pdp__project .button-circle {
  margin: 0 auto;
}
.mp-pdp__title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .mp-pdp__title {
    margin-bottom: 10.6666666667vw;
  }
}
.mp-pdp__title--main {
  pointer-events: none;
}
.mp-pdp__title--sub {
  color: #003B65;
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .mp-pdp__title--sub {
    font-size: 5.3333333333vw;
    margin-bottom: 6.4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .mp-pdp__info {
    width: 35rem;
  }
}
@media screen and (max-width: 768px) {
  .mp-pdp__info {
    margin-top: 10.6666666667vw;
  }
}
.mp-pdp__info dl:not(:last-child) {
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #E5E1DB;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .mp-pdp__info dl:not(:last-child) {
    padding-bottom: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
    border-bottom-width: 0.2666666667vw;
  }
}
.mp-pdp__info dl dt {
  color: #003B65;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .mp-pdp__info dl dt {
    margin-bottom: 2.1333333333vw;
  }
}
.mp-pdp__info dl dd {
  line-height: 2;
}
.mp-pdp__info dl dd p {
  text-indent: -5.4em;
  padding-left: 5.4em;
}
.mp-pdp__info dl dd p:not(:last-child) {
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .mp-pdp__info dl dd p:not(:last-child) {
    margin-bottom: 2.1333333333vw;
  }
}
.mp-pdp__info dl dd ul li {
  text-indent: -1.4em;
  padding-left: 1.4em;
  color: #333333;
}
.mp-pdp__info dl dd ul li:not(:last-child) {
  margin-bottom: 0.25em;
}
.mp-pdp__info dl dd ul li::before {
  content: "・";
  padding-right: 0.4em;
}

.mp-secrets {
  background-color: #F8F7F4;
  padding: 5rem 0 7.5rem;
  border-bottom: 0.25rem solid #FFFFFF;
}
@media screen and (max-width: 768px) {
  .mp-secrets {
    padding: 21.3333333333vw 0 32vw;
    border-bottom-width: 1.0666666667vw;
  }
}
.mp-secrets__title {
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .mp-secrets__title {
    margin-bottom: 17.0666666667vw;
  }
}
.mp-secrets__title--sub {
  font-size: 0.875rem;
  font-weight: bold;
  margin-bottom: 0.875rem;
}
@media screen and (max-width: 768px) {
  .mp-secrets__title--sub {
    font-size: 3.7333333333vw;
    margin-bottom: 3.7333333333vw;
  }
}
.mp-secrets__title--main {
  font-size: 1.75rem;
  line-height: 1.5;
  color: #003B65;
}
@media screen and (max-width: 768px) {
  .mp-secrets__title--main {
    font-size: 7.4666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .mp-secrets__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media print, screen and (min-width: 769px) {
  .mp-secrets__box {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mp-secrets__box:not(:last-child) {
    padding-right: 2.5rem;
    border-right: 1px solid #E5E1DB;
  }
  .mp-secrets__box:last-child {
    padding-left: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .mp-secrets__box:not(:last-child) {
    padding-bottom: 10.6666666667vw;
    border-bottom: 0.2666666667vw solid #E5E1DB;
    margin-bottom: 10.6666666667vw;
  }
}
.mp-secrets__box p {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .mp-secrets__box p {
    font-size: 4.2666666667vw;
  }
}
.mp-secrets__box p:not(:last-child) {
  margin-bottom: 2em;
}
.mp-secrets__label {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .mp-secrets__label {
    font-size: 4.8vw;
    margin-bottom: 4.2666666667vw;
  }
}

/*====================================
 * ABOUT *
====================================*/
@media print, screen and (min-width: 769px) {
  .lower-page--about .info__headline {
    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;
  }
}
.lower-page--about .info__headline p {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .lower-page--about .info__buttons {
    margin-top: 4.2666666667vw;
  }
}
.lower-page--about .info__button {
  text-align: right;
}
.lower-page--about .info__button:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .lower-page--about .info__button:not(:last-child) {
    margin-bottom: 4.2666666667vw;
  }
}
.lower-page--about .info__map {
  width: 100%;
  height: 25rem;
  margin-top: 2.5rem;
  border-radius: 2.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .lower-page--about .info__map {
    height: 85.3333333333vw;
    margin-top: 10.6666666667vw;
    bprder-radius: 10.6666666667vw;
  }
}
.lower-page--about .overview {
  padding: 2.5rem 0 3.75rem;
}
@media screen and (max-width: 768px) {
  .lower-page--about .overview {
    padding: 10.6666666667vw 0 32vw;
  }
}
.lower-page--about .overview__table {
  width: 100%;
}
.lower-page--about .overview__table tr:not(:last-child) th, .lower-page--about .overview__table tr:not(:last-child) td {
  border-bottom: 1px solid #E5E1DB;
}
@media screen and (max-width: 768px) {
  .lower-page--about .overview__table tr:not(:last-child) th, .lower-page--about .overview__table tr:not(:last-child) td {
    border-bottom-width: 0.2666666667vw;
  }
}
.lower-page--about .overview__table tr th, .lower-page--about .overview__table tr td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  line-height: 2;
  padding: 2.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--about .overview__table tr th, .lower-page--about .overview__table tr td {
    padding: 8.5333333333vw 0;
    vertical-align: top;
  }
}
.lower-page--about .overview__table tr th {
  width: 15rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .lower-page--about .overview__table tr th {
    width: 32vw;
    text-align: left;
  }
}
.lower-page--about .overview__table tr td {
  text-align: left;
}

/*====================================
 * NEWS *
====================================*/
.lower-page--news {
  /* archive */
  /* single */
}
.lower-page--news .archive {
  padding-bottom: 7.5rem;
}
@media print, screen and (min-width: 769px) {
  .lower-page--news .archive {
    display: grid;
    grid-template-columns: 13.4375rem 46.5625rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .lower-page--news .archive {
    padding-bottom: 32vw;
  }
}
@media screen and (max-width: 768px) {
  .lower-page--news .archive-sidebar {
    margin-bottom: 10.6666666667vw;
  }
}
.lower-page--news .archive-sidebar__title {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .archive-sidebar__title {
    font-size: 5.3333333333vw;
    margin-bottom: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .lower-page--news .archive-sidebar__box {
    display: grid;
    grid-template-columns: 1fr 57.3333333333vw;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.lower-page--news .archive-sidebar__box .select-box, .lower-page--news .archive-sidebar__box select {
  width: 100%;
}
.lower-page--news .archive-sidebar__label {
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .lower-page--news .archive-sidebar__label {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .lower-page--news .archive-sidebar__label {
    margin-bottom: 1rem;
  }
}
.lower-page--news .archive .news__item:first-child {
  border-top: 1px solid #E5E1DB;
  padding-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .archive .news__item:first-child {
    padding-top: 6.4vw;
    border-top-width: 0.2666666667vw;
  }
}
.lower-page--news .archive .news__item:last-child {
  border-bottom: 1px solid #E5E1DB;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .archive .news__item:last-child {
    padding-bottom: 6.4vw;
    border-bottom-width: 0.2666666667vw;
  }
}
.lower-page--news .wp-pagenavi {
  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;
  gap: 1rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .wp-pagenavi {
    gap: 4.2666666667vw;
    margin-top: 10.6666666667vw;
  }
}
.lower-page--news .wp-pagenavi .current, .lower-page--news .wp-pagenavi .page, .lower-page--news .wp-pagenavi span {
  width: 2.5rem;
  height: 2.5rem;
  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;
  border-radius: 6.25rem;
  border: 1px solid transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  color: #005EB8;
}
@media screen and (max-width: 768px) {
  .lower-page--news .wp-pagenavi .current, .lower-page--news .wp-pagenavi .page, .lower-page--news .wp-pagenavi span {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-width: 0.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .lower-page--news .wp-pagenavi .current:hover, .lower-page--news .wp-pagenavi .page:hover, .lower-page--news .wp-pagenavi span:hover {
    border-color: #003B65;
  }
}
.lower-page--news .wp-pagenavi .current {
  color: #003B65;
}
.lower-page--news .single {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single {
    padding-bottom: 32vw;
  }
}
.lower-page--news .single__title {
  color: #003B65;
  font-size: 1.75rem;
  line-height: 1.6;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #E5E1DB;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single__title {
    font-size: 7.4666666667vw;
    padding-bottom: 3.2vw;
    margin-bottom: 10.6666666667vw;
    border-bottom-width: 0.2666666667vw;
  }
}
.lower-page--news .single__contents h2 {
  font-size: 1.75rem;
  line-height: 1.6;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #E5E1DB;
  margin: 2.5rem 0;
  color: #003B65;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single__contents h2 {
    font-size: 7.4666666667vw;
    padding-bottom: 3.2vw;
    margin: 10.6666666667vw 0;
    border-bottom-width: 0.2666666667vw;
  }
}
.lower-page--news .single__contents p {
  line-height: 2;
  margin: 2.5rem 0;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single__contents p {
    margin: 10.6666666667vw 0;
  }
}
.lower-page--news .single__contents .wp-block-image {
  margin: 2.5rem 0;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single__contents .wp-block-image {
    margin: 10.6666666667vw 0;
  }
}
.lower-page--news .single__contents .wp-block-image .wp-element-caption {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single__contents .wp-block-image .wp-element-caption {
    margin-top: 4.2666666667vw;
  }
}
.lower-page--news .single__contents .wp-block-columns {
  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;
  gap: 2.5rem;
  margin: 2.5rem 0;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single__contents .wp-block-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.6666666667vw;
    margin: 10.6666666667vw 0;
  }
}
.lower-page--news .single__contents .wp-block-columns .wp-block-image {
  margin: 0;
}
.lower-page--news .single-contact {
  background-color: #F8F7F4;
  padding: 2rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single-contact {
    padding: 8.5333333333vw 6.4vw;
  }
}
.lower-page--news .single-contact__title {
  color: #003B65;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single-contact__title {
    font-size: 5.3333333333vw;
    margin-bottom: 4.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .lower-page--news .single-contact__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.lower-page--news .single-contact__box p {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .lower-page--news .single-contact__box p {
    margin-bottom: 6.4vw;
  }
}

/*====================================
 * CONTACT *
====================================*/
.lower-page--contact .contact {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact {
    padding-bottom: 32vw;
  }
}
.lower-page--contact .contact-head {
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #E5E1DB;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact-head {
    padding-bottom: 10.6666666667vw;
    border-bottom-width: 0.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .lower-page--contact .contact-head__inner {
    display: grid;
    grid-template-columns: 30rem 22.5625rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.lower-page--contact .contact-head__text p {
  line-height: 2;
}
.lower-page--contact .contact-head__text p:not(:last-child) {
  margin-bottom: 2em;
}
.lower-page--contact .contact-head__tels {
  border-radius: 0.5rem;
  border: 1px solid #E5E1DB;
  padding: 1.5rem 2.5rem;
  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;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact-head__tels {
    border-radius: 2.1333333333vw;
    padding: 6.4vw;
    margin-top: 6.4vw;
    border-width: 0.2666666667vw;
  }
}
.lower-page--contact .contact-head__tels dt {
  line-height: 2;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.014em;
  padding-right: 1.5rem;
  border-right: 1px solid #E5E1DB;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact-head__tels dt {
    font-size: 3.2vw;
    padding-right: 6.4vw;
    border-right-width: 0.2666666667vw;
  }
}
.lower-page--contact .contact-head__tels dd {
  font-family: "lato", "Noto Sans JP", sans-serif;
  font-size: 1rem;
  padding-left: 1.5rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact-head__tels dd {
    font-size: 4.2666666667vw;
    padding-left: 6.4vw;
  }
}
.lower-page--contact .contact-head__tels dd a {
  text-decoration: none;
}
@media print, screen and (min-width: 769px) {
  .lower-page--contact .contact-head__tels dd a {
    pointer-events: none;
  }
}
.lower-page--contact .contact-head__tels dd p:last-child {
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact-head__tels dd p:last-child {
    margin-top: 3.2vw;
  }
}
.lower-page--contact .contact .thanks__label {
  color: #003B65;
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact .thanks__label {
    font-size: 5.3333333333vw;
    margin-bottom: 6.4vw;
  }
}
.lower-page--contact .contact .thanks__text {
  line-height: 2;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--contact .contact .thanks__text {
    margin-bottom: 21.3333333333vw;
  }
}

/*====================================
 * 404 *
====================================*/
.lower-page--404 .lower-page-title {
  background: #F8F7F4 !important;
}
.lower-page--404 .section {
  padding: 0 0 5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--404 .section {
    padding: 0 0 21.3333333333vw;
  }
}
.lower-page--404 .section-h2 {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .lower-page--404 .section-h2 {
    margin-bottom: 6.4vw;
  }
}
.lower-page--404 .content p:not(:last-child) {
  margin-bottom: 2em;
}

/*====================================
 * MAIN PROJECT 02*
====================================*/
#main-project.page--project02 {
  /* HERO */
  /* section */
}
#main-project.page--project02 .mp-hero {
  background-color: #E1E6BE;
}
@media screen and (max-width: 768px) {
  #main-project.page--project02 .mp-hero {
    padding-top: 50.9333333333vw;
  }
}
#main-project.page--project02 .mp-hero::before {
  background-image: url(../images/main-project/project02/hero-bg-pc.png);
}
@media screen and (max-width: 768px) {
  #main-project.page--project02 .mp-hero::before {
    background-image: url(../images/main-project/project02/hero-bg-sp.png);
  }
}
#main-project.page--project02 .mp-hero__title--main {
  width: 20.5rem;
}
@media screen and (max-width: 768px) {
  #main-project.page--project02 .mp-hero__title--main {
    width: 82.6666666667vw;
    margin: 0 auto;
  }
}
#main-project.page--project02 .mp-hero__title--bubble {
  width: 9.6875rem;
  display: inline-block;
  top: auto;
  bottom: 0;
  right: -10.5rem;
}
@media screen and (max-width: 768px) {
  #main-project.page--project02 .mp-hero__title--bubble {
    width: 41.3333333333vw;
    top: -32.8vw;
    bottom: auto;
    right: -4.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  #main-project.page--project02 .mp-section--01 .mp-section__title--main {
    width: 70vw !important;
  }
}
#main-project.page--project02 .mp-section--01 .mp-section__text {
  line-break: strict;
}
#main-project.page--project02 .mp-section--01 .mp-section__text dl:not(:last-child) {
  margin-bottom: 2em;
}
#main-project.page--project02 .mp-section--01 .mp-section__text dl dt {
  font-weight: bold;
}
#main-project.page--project02 .mp-section--04 .mp-section__bubbles {
  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;
  gap: 1rem 5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#main-project.page--project02 .mp-section--04 .mp-section__bubbles .mp-section__bubble {
  width: auto;
  height: 5.3125rem;
}
#main-project.page--project02 .mp-section--04 .mp-section__bubbles .mp-section__bubble img {
  width: auto;
  height: 100%;
}
#main-project.page--project02 .mp-pdp {
  background-color: #E1E6BE;
}
@media print, screen and (min-width: 769px) {
  #main-project.page--project02 .mp-pdp__project {
    width: 17.5rem;
  }
}
@media screen and (max-width: 768px) {
  #main-project.page--project02 .mp-pdp__title--main {
    width: 74.6666666667vw;
    margin: 0 auto;
  }
}
#main-project.page--project02 .mp-pdp__info dl:not(:last-child) {
  border-bottom: 1px solid #FFFFFF;
}

/*********************************************
 * CSS Document
 * FORM
 *********************************************/
/*====================================
 * RESET *
====================================*/
select,
input[type=text],
input[type=tel],
input[type=email],
input[type=number],
textarea {
  max-width: 100%;
  padding: 0.75rem 1rem;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0.5rem;
  background: #fff;
  color: #333333;
  border: 1px solid #E5DACE;
  font-size: 1rem;
  outline: none;
}
@media print, screen and (min-width: 769px) {
  select,
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=number],
  textarea {
    width: 25rem;
  }
}
@media screen and (max-width: 768px) {
  select,
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=number],
  textarea {
    width: 100%;
    padding: 3.2vw 4.2666666667vw;
    border-radius: 2.1333333333vw;
    font-size: 4.2666666667vw;
    border-width: 0.2666666667vw;
  }
}
select:active, select:focus,
input[type=text]:active,
input[type=text]:focus,
input[type=tel]:active,
input[type=tel]:focus,
input[type=email]:active,
input[type=email]:focus,
input[type=number]:active,
input[type=number]:focus,
textarea:active,
textarea:focus {
  border: 1px solid #003B65 !important;
}
@media screen and (max-width: 768px) {
  select:active, select:focus,
  input[type=text]:active,
  input[type=text]:focus,
  input[type=tel]:active,
  input[type=tel]:focus,
  input[type=email]:active,
  input[type=email]:focus,
  input[type=number]:active,
  input[type=number]:focus,
  textarea:active,
  textarea:focus {
    border-width: 0.2666666667vw !important;
  }
}

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

/* select */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  cursor: pointer;
}
select::-ms-expand {
  display: none; /* デフォルトの矢印を非表示(IE用) */
}

.select-box {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
@media screen and (max-width: 768px) {
  .select-box {
    width: 100%;
  }
}
.select-box::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  position: absolute;
  right: 0.75rem;
  top: 0.625rem;
  background: url(../images/common/select-arrow.png) no-repeat center/contain;
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .select-box::before {
    width: 6.4vw;
    height: 6.4vw;
    right: 3.2vw;
    top: 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .select-box select {
    width: 100%;
  }
}

/*====================================
 * FORM *
====================================*/
.form {
  /* input */
  /* submit */
  /* placeholder */
}
.form-area {
  padding: 2.5rem 0;
  border-bottom: 1px solid #E5E1DB;
}
@media screen and (max-width: 768px) {
  .form-area {
    padding: 10.6666666667vw 0;
    border-width: 0.2666666667vw;
  }
}
.form__table {
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .form__table tr:not(:last-child) th, .form__table tr:not(:last-child) td {
    padding-bottom: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .form__table tr:not(:last-child) td {
    padding-bottom: 10.6666666667vw;
  }
}
.form__table tr th, .form__table tr td {
  vertical-align: text-top;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .form__table tr th, .form__table tr td {
    display: block;
  }
}
.form__table tr th {
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 768px) {
  .form__table tr th {
    margin-bottom: 4.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .form__table tr th {
    width: 18.75rem;
  }
}
.form__table tr th.th-textarea {
  vertical-align: middle;
}
.form__table tr th .th__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .form__table tr th .th__inner {
    gap: 3.2vw;
  }
}
.form__table tr th .th__inner p {
  text-align: left;
}
.form__table tr th .th__note {
  font-weight: lighter;
  font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
  .form__table tr th .th__note {
    font-size: 3.2vw;
  }
}
.form__table tr th .required {
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFFFFF;
  background-color: #E64949;
  border-radius: 6.25rem;
  padding: 0.125rem 0.75rem 0.25rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .form__table tr th .required {
    font-size: 3.2vw;
    padding: 0.5333333333vw 3.2vw 1.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .form__table tr td {
    padding-left: 1.25rem;
  }
}
.form textarea {
  width: 100%;
  height: 17.5rem;
  resize: vertical;
}
@media screen and (max-width: 768px) {
  .form textarea {
    height: 74.6666666667vw;
  }
}
.form label {
  display: block;
}
@media screen and (max-width: 768px) {
  .form label:not(:last-child) {
    margin-bottom: 2.1333333333vw;
  }
}
.form .submit-area {
  text-align: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .form .submit-area {
    text-align: left;
    line-height: 2;
    margin-top: 10.6666666667vw;
  }
}
.form .submits {
  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;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .form .submits {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 6.4vw;
    margin-top: 10.6666666667vw;
  }
}
.form .submits .submit {
  margin: 0;
}
.form .submit {
  width: 17.5rem;
  margin: 2.5rem auto 0;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media print, screen and (min-width: 769px) {
  .form .submit:hover {
    width: 18.5rem;
  }
}
@media screen and (max-width: 768px) {
  .form .submit {
    width: 74.6666666667vw;
    margin: 10.6666666667vw auto 0;
  }
}
.form .submit p {
  position: relative;
}
.form .submit i.button__arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.5rem;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .form .submit i.button__arrow {
    right: 6.4vw;
  }
}
.form .button-submit--back a.button-back {
  width: 100%;
  height: 100%;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1rem;
  border-radius: 100px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #fff;
  background-color: #003B65;
  border: none;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .form .button-submit--back a.button-back {
    padding: 4.2666666667vw;
    font-size: 5.3333333333vw;
  }
}
.form .button-submit--back .button-back {
  border: 0.125rem solid #003B65 !important;
  background-color: #FFFFFF !important;
  color: #003B65 !important;
}
@media screen and (max-width: 768px) {
  .form .button-submit--back .button-back {
    border-width: 0.5333333333vw !important;
  }
}
.form .button-submit--back i.button__arrow {
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
  left: 1.5rem;
  right: auto;
}
@media screen and (max-width: 768px) {
  .form .button-submit--back i.button__arrow {
    left: 6.4vw;
  }
}
.form .button-submit--back i.button__arrow::before {
  border-right-color: #003B65 !important;
  border-bottom-color: #003B65 !important;
}
.form input[type=submit], .form input[type=button] {
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1rem;
  border-radius: 100px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #fff;
  background-color: #003B65;
  border: none;
}
@media screen and (max-width: 768px) {
  .form input[type=submit], .form input[type=button] {
    padding: 4.2666666667vw;
    font-size: 5.3333333333vw;
    border-radius: 26.6666666667vw;
  }
}
.form input[type=submit]:disabled, .form input[type=button]:disabled {
  background-color: #AAAAAA;
  pointer-events: none;
}
.form ::-webkit-input-placeholder {
  color: #AAAAAA;
}
.form ::-moz-placeholder {
  color: #AAAAAA;
}
.form :-ms-input-placeholder {
  color: #AAAAAA;
}
.form ::-ms-input-placeholder {
  color: #AAAAAA;
}
.form ::placeholder {
  color: #AAAAAA;
}

/* error message */
.wpcf7-not-valid-tip {
  color: #E64949;
  margin-top: 0.25rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-not-valid-tip {
    font-size: 3.7333333333vw;
    margin-top: 1.0666666667vw;
  }
}

.wpcf7-response-output, .wpcf7-spinner {
  display: none !important;
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  display: none;
}
.wpcf7-form-control-wrap.is-show .wpcf7-not-valid-tip {
  display: block;
}
.wpcf7-form-control-wrap.is-show .wpcf7-not-valid {
  border-color: #E64949 !important;
}

/*====================================
 * RECAPTCHA *
====================================*/
.grecaptcha-badge {
  display: none !important;
}/*# sourceMappingURL=index.css.map */