@charset "UTF-8";
/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
html {
  font-size: 1.1111111111vw;
}

body {
  font-size: 1rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  color: #002a7d;
  line-height: 1.6;
  background-color: white;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  line-height: 1.3;
}

a {
  text-decoration: none !important;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}

picture,
img,
a,
span {
  display: inline-block;
}

video,
img,
svg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  button:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}

input,
textarea,
select {
  font: inherit;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.l-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
}

.l-header__spacer {
  padding-top: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
}
@media screen and (max-width: 767px) {
  .l-header__spacer {
    padding-top: clamp(51.2px, 16vw, 307.2px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.l-section {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-bottom: clamp(32.8888888889px, 10.2777777778vw, 197.3333333333px);
}
@media screen and (max-width: 767px) {
  .l-section {
    padding-bottom: clamp(126.2933333333px, 39.4666666667vw, 757.76px);
  }
}

.l-section__inner {
  max-width: 1920px;
  margin-inline: auto;
  padding-inline: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
}
@media screen and (max-width: 767px) {
  .l-section__inner {
    padding-inline: clamp(12.8px, 4vw, 76.8px);
  }
}

.l-section__inner-narrow {
  padding-inline: clamp(55.5555555556px, 17.3611111111vw, 333.3333333333px);
}
@media screen and (max-width: 767px) {
  .l-section__inner-narrow {
    padding-inline: clamp(12.8px, 4vw, 76.8px);
  }
}

.l-section__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(19.1111111111px, 5.9722222222vw, 114.6666666667px);
}
@media screen and (max-width: 767px) {
  .l-section__head {
    display: block;
    text-align: center;
  }
}

.l-section__titles {
  width: clamp(117.7777777778px, 36.8055555556vw, 706.6666666667px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  padding-bottom: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .l-section__titles {
    width: revert;
    padding-bottom: clamp(15.36px, 4.8vw, 92.16px);
  }
}

.l-section__title--en {
  font-family: "Tsukushi A Round Gothic", "Noto Sans JP", "Yu Gothic", sans-serif;
  font-size: clamp(4.2222222222px, 1.3194444444vw, 25.3333333333px);
  line-height: clamp(8px, 2.5vw, 48px);
  letter-spacing: clamp(0.6666666667px, 0.2083333333vw, 4px);
  font-weight: bold;
  display: inline-block;
  padding-bottom: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-section__title--en {
    font-size: clamp(11.0933333333px, 3.4666666667vw, 66.56px);
    padding-bottom: clamp(6.8266666667px, 2.1333333333vw, 40.96px);
  }
}

.l-section__title--en::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(22.2222222222px, 6.9444444444vw, 133.3333333333px);
  height: clamp(1.3333333333px, 0.4166666667vw, 8px);
  background-color: currentColor;
}
@media screen and (max-width: 767px) {
  .l-section__title--en::before {
    width: clamp(55.4666666667px, 17.3333333333vw, 332.8px);
    height: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
  }
}

.l-section__title--ja {
  font-size: clamp(15.5555555556px, 4.8611111111vw, 93.3333333333px);
  font-weight: 600;
  line-height: clamp(8px, 2.5vw, 48px);
  letter-spacing: clamp(1.2444444444px, 0.3888888889vw, 7.4666666667px);
  margin-top: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
}
@media screen and (max-width: 767px) {
  .l-section__title--ja {
    font-size: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    line-height: clamp(30.72px, 9.6vw, 184.32px);
    letter-spacing: clamp(2.1845333333px, 0.6826666667vw, 13.1072px);
    margin-top: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
  }
}

.l-section__title--ja-sub {
  font-size: clamp(5.3333333333px, 1.6666666667vw, 32px);
  font-weight: 600;
  line-height: clamp(8px, 2.5vw, 48px);
  letter-spacing: clamp(0.4266666667px, 0.1333333333vw, 2.56px);
  margin-top: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
}
@media screen and (max-width: 767px) {
  .l-section__title--ja-sub {
    font-size: 18px;
    line-height: 26px; /* 144.444% */
    letter-spacing: 1.44px;
  }
}

.l-section__message {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 400;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-section__message {
    font-size: 16px;
    line-height: 24px; /* 150% */
    letter-spacing: 1.28px;
    white-space: revert;
    text-align: left;
    margin-right: -0.5em;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.l-footer {
  margin-top: -1px;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.l-pages-hero {
  padding-top: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
}
@media screen and (max-width: 767px) {
  .l-pages-hero {
    padding-top: 0;
  }
}

.l-pages-hero__inner {
  max-width: 1920px;
  margin-inline: auto;
}

.l-pages-hero__contents {
  position: relative;
  padding-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .l-pages-hero__contents {
    padding-top: clamp(29.0133333333px, 9.0666666667vw, 174.08px);
  }
}

.l-pages-hero__top-image {
  width: clamp(229.1111111111px, 71.5972222222vw, 1374.6666666667px);
  height: clamp(110px, 34.375vw, 660px);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-pages-hero__top-image {
    left: 0;
    width: clamp(320px, 100vw, 1920px);
    height: clamp(217.6px, 68vw, 1305.6px);
  }
}

.l-pages-hero__title--texts {
  position: relative;
  background: rgba(255, 255, 255, 0.8);
  z-index: 1;
  margin-left: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-inline: clamp(16.8888888889px, 5.2777777778vw, 101.3333333333px);
  width: clamp(213.5555555556px, 66.7361111111vw, 1281.3333333333px);
  height: clamp(111.1111111111px, 34.7222222222vw, 666.6666666667px);
  -webkit-clip-path: polygon(50% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
          clip-path: polygon(50% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
}
@media screen and (max-width: 767px) {
  .l-pages-hero__title--texts {
    height: auto;
    width: clamp(294.4px, 92vw, 1766.4px);
    margin-inline: auto;
    padding-inline: clamp(25.6px, 8vw, 153.6px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-clip-path: polygon(50% 0%, 100% 10%, 100% 100%, 0% 100%, 0% 10%);
            clip-path: polygon(50% 0%, 100% 10%, 100% 100%, 0% 100%, 0% 10%);
  }
}

.p-pages-hero__title--texts-concept {
  padding-top: clamp(31.7777777778px, 9.9305555556vw, 190.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--texts-concept {
    padding-top: clamp(61.44px, 19.2vw, 368.64px);
  }
}

.p-pages-hero__title--texts-project {
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--texts-project {
    padding-top: clamp(77.6533333333px, 24.2666666667vw, 465.92px);
    -webkit-clip-path: polygon(50% 0%, 100% 12%, 100% 100%, 0% 100%, 0% 12%);
            clip-path: polygon(50% 0%, 100% 12%, 100% 100%, 0% 100%, 0% 12%);
  }
}

.p-pages-hero__title--texts-about {
  padding-top: clamp(45.7777777778px, 14.3055555556vw, 274.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--texts-about {
    padding-top: clamp(77.6533333333px, 24.2666666667vw, 465.92px);
    position: relative;
    -webkit-clip-path: polygon(50% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
            clip-path: polygon(50% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
  }
}
.p-pages-hero__title--texts-about .l-pages-hero__title--main {
  font-size: clamp(9.1111111111px, 2.8472222222vw, 54.6666666667px);
  font-weight: 600;
  line-height: clamp(12.6666666667px, 3.9583333333vw, 76px);
  letter-spacing: clamp(0.7288888889px, 0.2277777778vw, 4.3733333333px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--texts-about .l-pages-hero__title--main {
    font-size: clamp(20.48px, 6.4vw, 122.88px);
    line-height: clamp(28.16px, 8.8vw, 168.96px);
    letter-spacing: clamp(1.6384px, 0.512vw, 9.8304px);
  }
}

.p-pages-hero__title--texts-contact {
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--texts-contact {
    padding-top: clamp(77.6533333333px, 24.2666666667vw, 465.92px);
  }
}

.l-pages-hero__title--main {
  text-align: left;
  font-size: clamp(10.6666666667px, 3.3333333333vw, 64px);
  font-weight: 600;
  line-height: clamp(14.2222222222px, 4.4444444444vw, 85.3333333333px);
  letter-spacing: clamp(0.8533333333px, 0.2666666667vw, 5.12px);
}
@media screen and (max-width: 767px) {
  .l-pages-hero__title--main {
    font-size: clamp(20.48px, 6.4vw, 122.88px);
    line-height: clamp(28.16px, 8.8vw, 168.96px);
    letter-spacing: clamp(1.6384px, 0.512vw, 9.8304px);
    white-space: nowrap;
  }
}

.l-pages-hero__title--sub {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  margin-top: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
}
@media screen and (max-width: 767px) {
  .l-pages-hero__title--sub {
    font-size: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(0.9557333333px, 0.2986666667vw, 5.7344px);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    text-align: center;
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .p-pages-hero__title--sub-concept {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    margin-inline: -30px;
  }
}

@media screen and (max-width: 767px) {
  .p-pages-hero__title--sub-project {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    margin-inline: clamp(-153.6px, -8vw, -25.6px);
  }
}

@media screen and (max-width: 767px) {
  .p-pages-hero__title--sub-about {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    margin-inline: clamp(-153.6px, -8vw, -25.6px);
  }
}

@media screen and (max-width: 767px) {
  .p-pages-hero__title--sub-contact {
    margin-top: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
    margin-left: clamp(-163.84px, -8.5333333333vw, -27.3066666667px);
    margin-right: clamp(-235.52px, -12.2666666667vw, -39.2533333333px);
  }
}

.l-pages-hero__title--image {
  position: absolute;
  top: clamp(30.6666666667px, 9.5833333333vw, 184px);
  right: clamp(23.1111111111px, 7.2222222222vw, 138.6666666667px);
}
@media screen and (max-width: 767px) {
  .l-pages-hero__title--image {
    position: static;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.p-pages-hero__title--image-concept {
  width: clamp(59.3333333333px, 18.5416666667vw, 356px);
  height: clamp(38px, 11.875vw, 228px);
  top: clamp(39.1111111111px, 12.2222222222vw, 234.6666666667px);
  right: clamp(32.4444444444px, 10.1388888889vw, 194.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--image-concept {
    margin-left: clamp(129.7066666667px, 40.5333333333vw, 778.24px);
    margin-top: clamp(-112.64px, -5.8666666667vw, -18.7733333333px);
    width: clamp(124.5866666667px, 38.9333333333vw, 747.52px);
    height: clamp(79.36px, 24.8vw, 476.16px);
  }
}

.p-pages-hero__title--image-project {
  width: clamp(49.3333333333px, 15.4166666667vw, 296px);
  height: clamp(29.7777777778px, 9.3055555556vw, 178.6666666667px);
  top: clamp(35.7777777778px, 11.1805555556vw, 214.6666666667px);
  right: clamp(26.6666666667px, 8.3333333333vw, 160px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--image-project {
    margin-left: clamp(131.4133333333px, 41.0666666667vw, 788.48px);
    margin-top: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
    width: clamp(115.2px, 36vw, 691.2px);
    height: clamp(69.12px, 21.6vw, 414.72px);
  }
}

.p-pages-hero__title--image-about {
  width: clamp(34.8888888889px, 10.9027777778vw, 209.3333333333px);
  height: clamp(45.1111111111px, 14.0972222222vw, 270.6666666667px);
  top: clamp(26.4444444444px, 8.2638888889vw, 158.6666666667px);
  right: clamp(22px, 6.875vw, 132px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--image-about {
    position: absolute;
    right: clamp(19.6266666667px, 6.1333333333vw, 117.76px);
    top: clamp(47.7866666667px, 14.9333333333vw, 286.72px);
    width: clamp(68.2666666667px, 21.3333333333vw, 409.6px);
    height: clamp(78.5066666667px, 24.5333333333vw, 471.04px);
  }
}

.p-pages-hero__title--image-contact {
  width: clamp(36.4444444444px, 11.3888888889vw, 218.6666666667px);
  height: clamp(36.4444444444px, 11.3888888889vw, 218.6666666667px);
  top: clamp(30.6666666667px, 9.5833333333vw, 184px);
  right: clamp(23.1111111111px, 7.2222222222vw, 138.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-pages-hero__title--image-contact {
    margin-left: clamp(163.84px, 51.2vw, 983.04px);
    margin-top: clamp(-40.96px, -2.1333333333vw, -6.8266666667px);
    width: clamp(93.0133333333px, 29.0666666667vw, 558.08px);
    height: clamp(93.0133333333px, 29.0666666667vw, 558.08px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.l-page-section__titles {
  position: relative;
  text-align: center;
}

.l-page-section__title--en {
  font-size: clamp(4.6666666667px, 1.4583333333vw, 28px);
  line-height: clamp(8px, 2.5vw, 48px);
  letter-spacing: clamp(0.56px, 0.175vw, 3.36px);
  padding-top: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  font-family: "Montserrat", "Arial", sans-serif;
  font-weight: 600;
  letter-spacing: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px);
}
@media screen and (max-width: 767px) {
  .l-page-section__title--en {
    font-size: clamp(11.0933333333px, 3.4666666667vw, 66.56px);
    line-height: clamp(30.72px, 9.6vw, 184.32px);
    letter-spacing: clamp(1.3312px, 0.416vw, 7.9872px);
  }
}

.l-page-section__title--img {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(30.4444444444px, 9.5138888889vw, 182.6666666667px);
  height: clamp(12.6666666667px, 3.9583333333vw, 76px);
}
@media screen and (max-width: 767px) {
  .l-page-section__title--img {
    width: clamp(68.2666666667px, 21.3333333333vw, 409.6px);
    height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
  }
}

.l-page-section__title--ja {
  font-size: clamp(13.3333333333px, 4.1666666667vw, 80px);
  font-weight: 600;
  line-height: clamp(8px, 2.5vw, 48px);
  letter-spacing: clamp(1.0666666667px, 0.3333333333vw, 6.4px);
  margin-top: clamp(4.2222222222px, 1.3194444444vw, 25.3333333333px);
}
@media screen and (max-width: 767px) {
  .l-page-section__title--ja {
    font-size: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    line-height: clamp(30.72px, 9.6vw, 184.32px);
    letter-spacing: clamp(1.9114666667px, 0.5973333333vw, 11.4688px);
    margin-top: clamp(-10.24px, -0.5333333333vw, -1.7066666667px);
  }
}

.l-page-section__message {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  margin-top: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  .l-page-section__message {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    padding-inline: 1.5em;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.c-btn {
  margin-inline: auto;
  width: clamp(57.7777777778px, 18.0555555556vw, 346.6666666667px);
  height: clamp(13.3333333333px, 4.1666666667vw, 80px);
  background-color: #002a7d;
  color: white;
  border: clamp(0.4444444444px, 0.1388888889vw, 2.6666666667px) solid #002a7d;
  display: grid;
  place-items: center;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .c-btn {
    width: clamp(238.9333333333px, 74.6666666667vw, 1433.6px);
    height: clamp(51.2px, 16vw, 307.2px);
    font-size: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
    border: clamp(1.7066666667px, 0.5333333333vw, 10.24px) solid #002a7d;
  }
}
@media (any-hover: hover) {
  .c-btn:hover {
    background-color: white;
    color: #002a7d;
  }
}
.c-btn.white {
  width: clamp(58.6666666667px, 18.3333333333vw, 352px);
  height: clamp(14.2222222222px, 4.4444444444vw, 85.3333333333px);
  background-color: white;
  color: #002a7d;
}
@media (any-hover: hover) {
  .c-btn.white:hover {
    background-color: #002a7d;
    color: white;
  }
}
@media screen and (max-width: 767px) {
  .c-btn.white {
    width: clamp(242.3466666667px, 75.7333333333vw, 1454.08px);
    height: clamp(54.6133333333px, 17.0666666667vw, 327.68px);
  }
}

.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  width: 0;
  height: 0;
  border-top: clamp(0.7777777778px, 0.2430555556vw, 4.6666666667px) solid transparent;
  border-bottom: clamp(0.7777777778px, 0.2430555556vw, 4.6666666667px) solid transparent;
  border-left: clamp(1.3333333333px, 0.4166666667vw, 8px) solid currentColor;
}
@media screen and (max-width: 767px) {
  .c-btn::after {
    left: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    border-top: clamp(2.9866666667px, 0.9333333333vw, 17.92px) solid transparent;
    border-bottom: clamp(2.9866666667px, 0.9333333333vw, 17.92px) solid transparent;
    border-left: clamp(5.12px, 1.6vw, 30.72px) solid currentColor;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.c-to-top {
  /* position: relative; */
  position: fixed;
  z-index: 9999;
  top: clamp(44.4444444444px, 13.8888888889vw, 266.6666666667px);
  left: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  width: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
  height: clamp(44.4444444444px, 13.8888888889vw, 266.6666666667px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: black;
}
@media screen and (max-width: 767px) {
  .c-to-top {
    display: none;
    left: clamp(0.8533333333px, 0.2666666667vw, 5.12px);
  }
}

.c-to-top__text {
  position: relative;
  margin-bottom: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  rotate: 90deg;
  white-space: nowrap;
}

.c-to-top__container {
  position: relative;
  margin-top: clamp(4px, 1.25vw, 24px);
}

.c-to-top__line {
  display: inline-block;
  width: clamp(0.4444444444px, 0.1388888889vw, 2.6666666667px);
  height: clamp(15.5555555556px, 4.8611111111vw, 93.3333333333px);
  background: #000;
}
@media screen and (max-width: 767px) {
  .c-to-top__line {
    margin-left: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
  }
}

.c-to-top__circle {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% -50%;
  width: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  height: auto;
  aspect-ratio: 1;
  background: #000;
  border-radius: 50%;
  -webkit-animation: toTop 2s ease-in-out backwards infinite;
          animation: toTop 2s ease-in-out backwards infinite;
}
@media screen and (max-width: 767px) {
  .c-to-top__circle {
    margin-left: clamp(1.1093333333px, 0.3466666667vw, 6.656px);
    -webkit-animation: toTopSp 2s ease-in-out backwards infinite;
            animation: toTopSp 2s ease-in-out backwards infinite;
  }
}

@-webkit-keyframes toTop {
  0% {
    bottom: 0;
  }
  80% {
    bottom: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
  100% {
    bottom: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
}

@keyframes toTop {
  0% {
    bottom: 0;
  }
  80% {
    bottom: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
  100% {
    bottom: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
}
@-webkit-keyframes toTopSp {
  0% {
    bottom: 0;
  }
  80% {
    bottom: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
  100% {
    bottom: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
}
@keyframes toTopSp {
  0% {
    bottom: 0;
  }
  80% {
    bottom: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
  100% {
    bottom: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
}
/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.c-scroll-down {
  /* position: relative; */
  position: fixed;
  z-index: 9999;
  top: clamp(44.4444444444px, 13.8888888889vw, 266.6666666667px);
  left: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  width: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
  height: clamp(44.4444444444px, 13.8888888889vw, 266.6666666667px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: black;
}
@media screen and (max-width: 767px) {
  .c-scroll-down {
    display: none;
    left: clamp(0.8533333333px, 0.2666666667vw, 5.12px);
  }
}

.c-scroll-down__text {
  position: relative;
  margin-bottom: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  rotate: 90deg;
  white-space: nowrap;
}

.c-scroll-down__container {
  position: relative;
  margin-top: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
}

.c-scroll-down__line {
  display: inline-block;
  width: clamp(0.4444444444px, 0.1388888889vw, 2.6666666667px);
  height: clamp(15.5555555556px, 4.8611111111vw, 93.3333333333px);
  background: #000;
}
@media screen and (max-width: 767px) {
  .c-scroll-down__line {
    margin-left: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
  }
}

.c-scroll-down__circle {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
  width: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  height: auto;
  aspect-ratio: 1;
  background: #000;
  border-radius: 50%;
  -webkit-animation: scrollDown 2s ease-in-out backwards infinite;
          animation: scrollDown 2s ease-in-out backwards infinite;
}
@media screen and (max-width: 767px) {
  .c-scroll-down__circle {
    margin-left: clamp(1.1093333333px, 0.3466666667vw, 6.656px);
    -webkit-animation: scrollDownSp 2s ease-in-out backwards infinite;
            animation: scrollDownSp 2s ease-in-out backwards infinite;
  }
}

@-webkit-keyframes scrollDown {
  0% {
    top: 0;
  }
  80% {
    top: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
  100% {
    top: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
}

@keyframes scrollDown {
  0% {
    top: 0;
  }
  80% {
    top: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
  100% {
    top: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  }
}
@-webkit-keyframes scrollDownSp {
  0% {
    top: 0;
  }
  80% {
    top: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
  100% {
    top: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
}
@keyframes scrollDownSp {
  0% {
    top: 0;
  }
  80% {
    top: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
  100% {
    top: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
}
/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-header {
  background: white;
}

.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1920px;
  margin-inline: auto;
}

@media screen and (min-width: 1025px) {
  .p-header__logo a {
    padding-left: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
    padding-top: clamp(5.3333333333px, 1.6666666667vw, 32px);
    padding-bottom: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
    padding-right: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
  }
}
@media screen and (max-width: 767px) {
  .p-header__logo a {
    width: clamp(137.3866666667px, 42.9333333333vw, 824.32px);
    height: clamp(51.2px, 16vw, 307.2px);
    padding-left: clamp(12.8px, 4vw, 76.8px);
    padding-top: clamp(12.8px, 4vw, 76.8px);
    padding-bottom: clamp(11.0933333333px, 3.4666666667vw, 66.56px);
    padding-right: clamp(12.8px, 4vw, 76.8px);
  }
}

.p-header__logo--img {
  width: clamp(44.8888888889px, 14.0277777778vw, 269.3333333333px);
  height: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-header__logo--img {
    width: clamp(137.3866666667px, 42.9333333333vw, 824.32px);
    height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
  }
}

.p-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: clamp(6.6666666667px, 2.0833333333vw, 40px);
  margin-left: auto;
}

.p-header__nav--list {
  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;
}
.p-header__nav--list .p-header__nav--item {
  position: relative;
}
.p-header__nav--list .p-header__nav--link {
  display: inline-block;
  height: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  color: #002a7d;
  text-align: center;
  font-size: clamp(3.1111111111px, 0.9722222222vw, 18.6666666667px);
  font-weight: 600;
  letter-spacing: clamp(0.2488888889px, 0.0777777778vw, 1.4933333333px);
  padding-top: clamp(7.3333333333px, 2.2916666667vw, 44px);
  padding-inline: clamp(6.5555555556px, 2.0486111111vw, 39.3333333333px);
  padding-bottom: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  position: relative;
}
.p-header__nav--list .p-header__nav--link.is-current::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
  width: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  height: clamp(1.3333333333px, 0.4166666667vw, 8px);
  background: #002a7d;
}

.p-header__nav--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  height: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  background: #002a7d;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-left: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-header__nav--btn {
    width: clamp(51.2px, 16vw, 307.2px);
    height: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-header__nav--btn:hover {
  background: white;
}

.p-header__icon-mail {
  width: clamp(6.6666666667px, 2.0833333333vw, 40px);
  height: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  fill: white;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-header__icon-mail {
    width: clamp(19.6266666667px, 6.1333333333vw, 117.76px);
    height: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
  }
}

.p-header__nav--btn:hover .p-header__icon-mail {
  fill: #002a7d;
  -webkit-animation: bounce 0.6s ease-in-out;
          animation: bounce 0.6s ease-in-out;
}

@-webkit-keyframes bounce {
  0%, 20%, 60%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  80% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
}

@keyframes bounce {
  0%, 20%, 60%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  80% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
}
.p-header__nav--item:hover .p-header__nav--submenu {
  opacity: 1;
  top: 100%;
}

.p-header__nav--submenu {
  translate: 0 clamp(-53.3333333333px, -2.7777777778vw, -8.8888888889px);
  opacity: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: absolute;
  top: 80%;
  left: 50%;
  translate: -50%;
  width: clamp(35.5555555556px, 11.1111111111vw, 213.3333333333px);
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
}

.p-header__nav--subitem {
  width: 100%;
}

.p-header__nav--sublink {
  display: block;
  color: #fff;
  text-align: center;
  font-size: clamp(3.1111111111px, 0.9722222222vw, 18.6666666667px);
  font-weight: 600;
  letter-spacing: clamp(0.2488888889px, 0.0777777778vw, 1.4933333333px);
  background: #aea58c;
  padding-block: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .p-header__nav--sublink:hover {
    background: #002a7d;
    opacity: 1;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-drawer__icon {
  width: clamp(51.2px, 16vw, 307.2px);
  height: clamp(51.2px, 16vw, 307.2px);
  padding-block: clamp(16.2133333333px, 5.0666666667vw, 97.28px);
  padding-inline: clamp(12.8px, 4vw, 76.8px);
  background-color: #aea58c;
}
.p-drawer__icon__wrapper {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-drawer__icon__bar {
  width: 100%;
  height: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
  background-color: white;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  position: absolute;
}
.p-drawer__icon__bar:nth-child(1) {
  top: 0;
  left: 50%;
  translate: -50%;
}
.p-drawer__icon__bar:nth-child(2) {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.p-drawer__icon__bar:nth-child(3) {
  bottom: 0;
  left: 50%;
  translate: -50%;
}
.drawer-open .p-drawer__icon__bar {
  /* 中央寄せにして回転 */
}
.drawer-open .p-drawer__icon__bar:nth-child(1) {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: clamp(30.72px, 9.6vw, 184.32px);
  rotate: 34deg;
}
.drawer-open .p-drawer__icon__bar:nth-child(2) {
  opacity: 0;
}
.drawer-open .p-drawer__icon__bar:nth-child(3) {
  bottom: 50%;
  left: 50%;
  translate: -50% 50%;
  width: clamp(30.72px, 9.6vw, 184.32px);
  rotate: -34deg;
}

.p-drawer__nav {
  position: fixed;
  top: clamp(51.2px, 16vw, 307.2px);
  right: 0;
  width: 100%;
  height: calc(100vh - clamp(51.2px, 16vw, 307.2px));
  background: url(./assets/img/drawer-bg.webp) repeat center top;
  z-index: 101;
  overflow-y: auto;
  translate: 101%;
  -webkit-transition: translate 0.7s ease;
  transition: translate 0.7s ease;
  padding-bottom: 60px;
}
.drawer-open .p-drawer__nav {
  translate: 0;
}

.p-drawer__nav--menu-main {
  margin-top: clamp(29.8666666667px, 9.3333333333vw, 179.2px);
  padding-inline: clamp(25.6px, 8vw, 153.6px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
  font-size: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  font-weight: 600;
}

.p-drawer__nav--item {
  padding-top: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
  padding-bottom: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
}
.p-drawer__nav--item:not(:last-child) {
  border-bottom: 1px solid #fff;
}

.p-drawer__nav--title {
  display: block;
}

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

.p-drawer__nav--menu-sub--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  overflow: hidden;
}
.p-drawer__nav--menu-sub--list li {
  line-height: 1;
}
.p-drawer__nav--menu-sub--list li a {
  color: #fff;
  font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
  font-weight: 400;
  line-height: clamp(25.6px, 8vw, 153.6px);
  padding-block: 0px;
}

.p-drawer__btns {
  margin-top: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
  padding-inline: clamp(12.8px, 4vw, 76.8px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
}
.p-drawer__btns .p-drawer__btn {
  background: #fff;
  width: 100%;
  padding-block: clamp(5.9733333333px, 1.8666666667vw, 35.84px);
  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: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
}
.p-drawer__btns .p-drawer__btn--icon path {
  fill: #5e553d;
}
.p-drawer__btns .p-drawer__btn--icon-form {
  width: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  height: clamp(12.8px, 4vw, 76.8px);
}
.p-drawer__btns .p-drawer__btn--icon-tel {
  width: clamp(16.2133333333px, 5.0666666667vw, 97.28px);
  height: clamp(21.3333333333px, 6.6666666667vw, 128px);
}
.p-drawer__btns .p-drawer__btn--text {
  color: #5e553d;
  font-size: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
  font-weight: 600;
  line-height: clamp(56.32px, 17.6vw, 337.92px);
}
.p-drawer__btns .p-drawer__btn--text-form {
  letter-spacing: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
}
.p-drawer__btns .p-drawer__btn--text-tel {
  letter-spacing: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
}

.p-drawer__nav--accordion-btn {
  width: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
  height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.p-drawer__nav--accordion-btn::before, .p-drawer__nav--accordion-btn::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  width: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  height: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
  background-color: white;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.p-drawer__nav--accordion-btn::after {
  rotate: 90deg;
}
.p-drawer__nav--accordion-btn.is-open::after {
  rotate: 0deg;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-hero {
  margin-bottom: clamp(-8px, -0.4166666667vw, -1.3333333333px);
  padding-bottom: clamp(10px, 3.125vw, 60px);
}
@media screen and (max-width: 767px) {
  .p-hero {
    padding-bottom: 288px;
    padding-bottom: clamp(245.76px, 76.8vw, 1474.56px);
  }
}

.p-hero__inner {
  max-width: 1920px;
  margin-inline: auto;
}

.p-hero__message {
  text-align: right;
  margin-right: clamp(17.5555555556px, 5.4861111111vw, 105.3333333333px);
  margin-top: clamp(-137.3333333333px, -7.1527777778vw, -22.8888888889px);
  position: relative;
}
.p-hero__message span {
  text-align: left;
  color: #fff;
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  background-color: rgba(0, 42, 125, 0.8);
  padding: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px) clamp(13.3333333333px, 4.1666666667vw, 80px);
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-hero__message {
    margin-top: clamp(-92.16px, -4.8vw, -15.36px);
    width: 100%;
    margin-right: revert;
  }
  .p-hero__message span {
    text-align: center;
    font-size: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
    font-weight: 600;
    line-height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    letter-spacing: clamp(0.9557333333px, 0.2986666667vw, 5.7344px);
    padding-block: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
    display: block;
    background-color: #002a7d;
    padding-left: clamp(20.48px, 6.4vw, 122.88px);
    padding-right: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-hero__img-1 {
  width: clamp(57.1111111111px, 17.8472222222vw, 342.6666666667px);
  height: clamp(54.2222222222px, 16.9444444444vw, 325.3333333333px);
  margin-left: clamp(73.3333333333px, 22.9166666667vw, 440px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-hero__img-1 {
    width: 94px;
    height: 90px;
    margin-left: 18px;
  }
}

.p-hero__img-2 {
  width: clamp(154.8888888889px, 48.4027777778vw, 929.3333333333px);
  height: clamp(107.5555555556px, 33.6111111111vw, 645.3333333333px);
  margin-left: auto;
  margin-top: clamp(-138.6666666667px, -7.2222222222vw, -23.1111111111px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-hero__img-2 {
    width: clamp(165.5466666667px, 51.7333333333vw, 993.28px);
    height: clamp(226.9866666667px, 70.9333333333vw, 1361.92px);
    margin-top: clamp(-337.92px, -17.6vw, -56.32px);
  }
}

.p-hero__img-3 {
  width: clamp(69.7777777778px, 21.8055555556vw, 418.6666666667px);
  height: clamp(35.3333333333px, 11.0416666667vw, 212px);
  margin-right: auto;
  margin-top: clamp(-568px, -29.5833333333vw, -94.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-hero__img-3 {
    width: clamp(116.85376px, 36.5168vw, 701.12256px);
    height: clamp(59.17184px, 18.4912vw, 355.03104px);
    margin-top: clamp(-1100.8px, -57.3333333333vw, -183.4666666667px);
    margin-left: clamp(49.4933333333px, 15.4666666667vw, 296.96px);
  }
}

.p-hero__title {
  width: clamp(186.8888888889px, 58.4027777778vw, 1121.3333333333px);
  height: clamp(59.5555555556px, 18.6111111111vw, 357.3333333333px);
  margin-top: clamp(-66.6666666667px, -3.4722222222vw, -11.1111111111px);
  margin-left: clamp(14.2222222222px, 4.4444444444vw, 85.3333333333px);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-hero__title {
    width: clamp(270.5066666667px, 84.5333333333vw, 1623.04px);
    height: clamp(86.1866666667px, 26.9333333333vw, 517.12px);
    margin-top: clamp(12.8px, 4vw, 76.8px);
    margin-left: clamp(5.12px, 1.6vw, 30.72px);
  }
}

.p-hero__img-4 {
  width: clamp(74.6666666667px, 23.3333333333vw, 448px);
  height: clamp(49.1111111111px, 15.3472222222vw, 294.6666666667px);
  margin-top: clamp(-90.6666666667px, -4.7222222222vw, -15.1111111111px);
  margin-left: clamp(86px, 26.875vw, 516px);
}
@media screen and (max-width: 767px) {
  .p-hero__img-4 {
    width: clamp(125.0414933333px, 39.0754666667vw, 750.24896px);
    height: clamp(82.24512px, 25.7016vw, 493.47072px);
    margin-left: 0;
    margin-top: clamp(-138.24px, -7.2vw, -23.04px);
  }
}

.p-hero__img-5 {
  width: clamp(42.6666666667px, 13.3333333333vw, 256px);
  height: clamp(42px, 13.125vw, 252px);
  margin-top: clamp(-174.6666666667px, -9.0972222222vw, -29.1111111111px);
  margin-left: clamp(38.8888888889px, 12.1527777778vw, 233.3333333333px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-hero__img-5 {
    width: clamp(116.9066666667px, 36.5333333333vw, 701.44px);
    height: clamp(53.76px, 16.8vw, 322.56px);
    margin-top: clamp(12.8px, 4vw, 76.8px);
    margin-left: clamp(69.12px, 21.6vw, 414.72px);
    opacity: 0.7;
  }
}

.p-hero__img-6 {
  width: clamp(41.5555555556px, 12.9861111111vw, 249.3333333333px);
  height: clamp(35.7777777778px, 11.1805555556vw, 214.6666666667px);
  margin-top: clamp(-121.3333333333px, -6.3194444444vw, -20.2222222222px);
  margin-left: clamp(72.2222222222px, 22.5694444444vw, 433.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-hero__img-6 {
    width: clamp(81.92px, 25.6vw, 491.52px);
    height: clamp(70.8266666667px, 22.1333333333vw, 424.96px);
    margin-top: clamp(-1576.96px, -82.1333333333vw, -262.8266666667px);
    margin-left: clamp(179.2px, 56vw, 1075.2px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-concept {
  padding-bottom: clamp(33.3333333333px, 10.4166666667vw, 200px);
}
@media screen and (max-width: 767px) {
  .p-concept {
    padding-bottom: clamp(63.1466666667px, 19.7333333333vw, 378.88px);
  }
}

.p-concept__contents {
  background: url(./assets/img/bg-tree-1.webp) no-repeat center center/cover;
  -webkit-clip-path: polygon(50% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
          clip-path: polygon(50% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
  padding-top: clamp(44.4444444444px, 13.8888888889vw, 266.6666666667px);
  padding-bottom: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-concept__contents {
    -webkit-clip-path: polygon(50% 0%, 100% 21%, 100% 100%, 0% 100%, 0% 21%);
            clip-path: polygon(50% 0%, 100% 21%, 100% 100%, 0% 100%, 0% 21%);
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-concept__image {
  margin-top: clamp(-26.6666666667px, -1.3888888889vw, -4.4444444444px);
  width: clamp(36.8888888889px, 11.5277777778vw, 221.3333333333px);
  height: clamp(35.5555555556px, 11.1111111111vw, 213.3333333333px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 166/160;
  margin-inline: auto;
  margin-top: clamp(-141.3333333333px, -7.3611111111vw, -23.5555555556px);
}
@media screen and (max-width: 767px) {
  .p-concept__image {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    width: clamp(75.9466666667px, 23.7333333333vw, 455.68px);
    height: clamp(73.3866666667px, 22.9333333333vw, 440.32px);
  }
}

.p-concept__message {
  font-size: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  font-weight: 600;
  line-height: clamp(8.4444444444px, 2.6388888889vw, 50.6666666667px);
  letter-spacing: clamp(0.3555555556px, 0.1111111111vw, 2.1333333333px);
  margin-top: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  text-align: center;
  margin-left: clamp(1.5555555556px, 0.4861111111vw, 9.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-concept__message {
    margin-top: 21px;
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
  }
}

.p-concept__link {
  margin-top: clamp(11.1111111111px, 3.4722222222vw, 66.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-concept__link {
    margin-top: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-project::before {
  content: "";
  position: absolute;
  top: clamp(21.3333333333px, 6.6666666667vw, 128px);
  left: 0;
  width: 100%;
  height: calc(100% - clamp(21.3333333333px, 6.6666666667vw, 128px));
  background: #f9f7f3;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-project {
    padding-bottom: clamp(243.2px, 76vw, 1459.2px);
  }
  .p-project::before {
    top: clamp(71.68px, 22.4vw, 430.08px);
    height: calc(100% - clamp(205.6533333333px, 64.2666666667vw, 1233.92px));
  }
}

.p-project__message {
  padding-left: 8px;
}
@media screen and (max-width: 767px) {
  .p-project__message {
    padding-left: revert;
  }
}

.p-project__cards--list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
     -moz-column-gap: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
          column-gap: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
  row-gap: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-project__cards--list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
    margin-top: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    row-gap: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-project__card {
  width: 100%;
}
@media (any-hover: hover) {
  .p-project__card:hover .p-project__image img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .p-project__card:hover .p-project__cards--texts::before {
    background: #002a7d;
  }
}

.p-project__card--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-project__image {
  width: clamp(88.8888888889px, 27.7777777778vw, 533.3333333333px);
  height: clamp(63.3333333333px, 19.7916666667vw, 380px);
  overflow: hidden;
}
.p-project__image img {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-project__image {
    width: clamp(294.4px, 92vw, 1766.4px);
    height: clamp(209.0666666667px, 65.3333333333vw, 1254.4px);
  }
}

.p-project__cards--texts {
  padding-top: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  width: 100%;
  padding-bottom: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
  background: #fff;
  position: relative;
}
.p-project__cards--texts::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-project__cards--texts {
    padding-top: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    padding-left: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
    padding-bottom: clamp(17.92px, 5.6vw, 107.52px);
  }
}

.p-project__cards--title {
  color: #313131;
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  padding-left: clamp(8px, 2.5vw, 48px);
  position: relative;
}
.p-project__cards--title::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  width: clamp(1.3333333333px, 0.4166666667vw, 8px);
  height: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  background: currentColor;
}
@media screen and (max-width: 767px) {
  .p-project__cards--title {
    font-size: clamp(15.36px, 4.8vw, 92.16px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    padding-left: clamp(15.36px, 4.8vw, 92.16px);
  }
  .p-project__cards--title::before {
    width: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
    height: clamp(15.36px, 4.8vw, 92.16px);
  }
}

.p-project__cards--info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: clamp(1.5555555556px, 0.4861111111vw, 9.3333333333px);
}
.p-project__cards--info span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-project__cards--info {
    margin-top: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
  }
}

.p-project__cards--period {
  margin-left: clamp(4.2222222222px, 1.3194444444vw, 25.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-project__cards--period {
    margin-left: clamp(5.9733333333px, 1.8666666667vw, 35.84px);
  }
}

.p-project__cards--title-info {
  width: clamp(19.1111111111px, 5.9722222222vw, 114.6666666667px);
  text-align: center;
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  color: #9c9c9c;
  line-height: clamp(5.3333333333px, 1.6666666667vw, 32px);
  border: 1px solid currentColor;
}
@media screen and (max-width: 767px) {
  .p-project__cards--title-info {
    width: clamp(69.9733333333px, 21.8666666667vw, 419.84px);
    height: clamp(19.6266666667px, 6.1333333333vw, 117.76px);
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(19.6266666667px, 6.1333333333vw, 117.76px);
  }
}

.p-project__cards--text-info {
  color: #313131;
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  margin-left: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-project__cards--text-info {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    margin-left: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
  }
}

.p-project__cards--area {
  margin-left: clamp(4.6666666667px, 1.4583333333vw, 28px);
}
@media screen and (max-width: 767px) {
  .p-project__cards--area {
    margin-left: clamp(10.24px, 3.2vw, 61.44px);
  }
}

.p-project__link {
  text-align: center;
  margin-top: clamp(12.8888888889px, 4.0277777778vw, 77.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-project__link {
    margin-top: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
  }
}

.p-project__image-bottom {
  position: absolute;
  bottom: clamp(-266.6666666667px, -13.8888888889vw, -44.4444444444px);
  left: calc(50% + clamp(50.4444444444px, 15.7638888889vw, 302.6666666667px));
  width: clamp(62.8888888889px, 19.6527777778vw, 377.3333333333px);
  height: clamp(77.5555555556px, 24.2361111111vw, 465.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-project__image-bottom {
    width: clamp(146.7733333333px, 45.8666666667vw, 880.64px);
    height: clamp(180.9066666667px, 56.5333333333vw, 1085.44px);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: clamp(30.72px, 9.6vw, 184.32px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-reform {
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-reform {
    padding-bottom: 86px;
  }
}

.p-reform__message {
  margin-top: clamp(-42.6666666667px, -2.2222222222vw, -7.1111111111px);
}
@media screen and (max-width: 767px) {
  .p-reform__message {
    margin-top: -1px;
  }
}

.p-reform__wrapper--before-after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% + clamp(35.5555555556px, 11.1111111111vw, 213.3333333333px));
  width: 100vw;
  margin-left: clamp(-106.6666666667px, -5.5555555556vw, -17.7777777778px);
  gap: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-reform__wrapper--before-after {
    margin-top: 30px;
    margin-left: clamp(-76.8px, -4vw, -12.8px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(7.68px, 2.4vw, 46.08px);
  }
}

.p-reform__images,
.p-reform__images2 {
  width: clamp(159.5555555556px, 49.8611111111vw, 957.3333333333px) !important;
  height: clamp(120px, 37.5vw, 720px) !important;
}
@media screen and (max-width: 767px) {
  .p-reform__images,
  .p-reform__images2 {
    width: clamp(320px, 100vw, 1920px) !important;
    height: clamp(290.1333333333px, 90.6666666667vw, 1740.8px) !important;
  }
}

.p-reform__link {
  text-align: center;
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-reform__link {
    margin-top: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
  }
}

.p-reform__image-bottom {
  position: absolute;
  bottom: 0px;
  right: calc(50% + clamp(81.3333333333px, 25.4166666667vw, 488px));
  width: clamp(41.5555555556px, 12.9861111111vw, 249.3333333333px);
  height: clamp(34.2222222222px, 10.6944444444vw, 205.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-reform__image-bottom {
    width: 149px;
    height: 112px;
    right: 35px;
    bottom: -81px;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-about {
  padding-bottom: clamp(33.3333333333px, 10.4166666667vw, 200px);
  position: relative;
  z-index: 1;
}

.p-about__contents {
  background: url(./assets/img/bg-tree-1.webp) no-repeat center center/cover;
  -webkit-clip-path: polygon(27% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
          clip-path: polygon(27% 0%, 100% 20%, 100% 100%, 0% 100%, 0% 20%);
  padding-top: clamp(44.4444444444px, 13.8888888889vw, 266.6666666667px);
  padding-bottom: clamp(17.3333333333px, 5.4166666667vw, 104px);
}
@media screen and (max-width: 767px) {
  .p-about__contents {
    padding-top: clamp(111.7866666667px, 34.9333333333vw, 670.72px);
    padding-inline: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    padding-bottom: clamp(48.64px, 15.2vw, 291.84px);
    -webkit-clip-path: polygon(27% 0%, 100% 13%, 100% 100%, 0% 100%, 0% 13%);
            clip-path: polygon(27% 0%, 100% 13%, 100% 100%, 0% 100%, 0% 13%);
  }
}

.p-about__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: clamp(7.3333333333px, 2.2916666667vw, 44px);
  margin-left: clamp(3.1111111111px, 0.9722222222vw, 18.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-about__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: revert;
        -ms-flex-pack: revert;
            justify-content: revert;
    -webkit-box-align: revert;
        -ms-flex-align: revert;
            align-items: revert;
  }
}

.p-about__title--ja {
  font-size: clamp(10px, 3.125vw, 60px);
  font-weight: 600;
  line-height: clamp(14.6666666667px, 4.5833333333vw, 88px);
  letter-spacing: clamp(0.8px, 0.25vw, 4.8px);
}
@media screen and (max-width: 767px) {
  .p-about__title--ja {
    font-size: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    line-height: clamp(30.72px, 9.6vw, 184.32px);
    letter-spacing: clamp(1.7749333333px, 0.5546666667vw, 10.6496px);
  }
}

.p-about__message {
  font-size: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  font-weight: 600;
  line-height: clamp(8.4444444444px, 2.6388888889vw, 50.6666666667px);
  letter-spacing: clamp(0.3555555556px, 0.1111111111vw, 2.1333333333px);
  margin-top: clamp(5.3333333333px, 1.6666666667vw, 32px);
}
@media screen and (max-width: 767px) {
  .p-about__message {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
    margin-right: 0.5em;
  }
}

.p-page-about-message__license-images {
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
  width: 100%;
  max-width: clamp(254.8888888889px, 79.6527777778vw, 1529.3333333333px);
  margin-inline: auto;
  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: clamp(12.2222222222px, 3.8194444444vw, 73.3333333333px);
  /* margin: 0 auto; */
}
@media screen and (max-width: 767px) {
  .p-page-about-message__license-images {
    padding-top: clamp(51.2px, 16vw, 307.2px);
    max-width: revert;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: revert;
        -ms-flex-pack: revert;
            justify-content: revert;
    gap: clamp(25.6px, 8vw, 153.6px);
    padding-bottom: clamp(20.48px, 6.4vw, 122.88px);
  }
}

.p-page-about-message__license-image {
  /* width: 100%;
        height: auto; */
  width: clamp(121.3333333333px, 37.9166666667vw, 728px);
  height: clamp(169.7777777778px, 53.0555555556vw, 1018.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__license-image {
    width: clamp(226.1333333333px, 70.6666666667vw, 1356.8px);
    height: clamp(316.5866666667px, 98.9333333333vw, 1899.52px);
  }
}

.p-about__image {
  width: clamp(74.8888888889px, 23.4027777778vw, 449.3333333333px);
  height: clamp(55.1111111111px, 17.2222222222vw, 330.6666666667px);
  margin-bottom: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-about__image {
    width: clamp(193.7066666667px, 60.5333333333vw, 1162.24px);
    height: clamp(141.6533333333px, 44.2666666667vw, 849.92px);
    margin-left: clamp(23.04px, 7.2vw, 138.24px);
    margin-top: clamp(6.8266666667px, 2.1333333333vw, 40.96px);
  }
}

.p-about__link {
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
  margin-left: clamp(10.6666666667px, 3.3333333333vw, 64px);
}
@media screen and (max-width: 767px) {
  .p-about__link {
    margin-top: clamp(25.6px, 8vw, 153.6px);
    margin-left: 0px;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-cta {
  padding-bottom: clamp(45.5555555556px, 14.2361111111vw, 273.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-cta {
    margin-top: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-cta__wrapper {
  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: url(./assets/img/bg-tree-2.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-cta__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: revert;
        -ms-flex-pack: revert;
            justify-content: revert;
  }
}

.p-cta__img {
  width: clamp(122.2222222222px, 38.1944444444vw, 733.3333333333px);
  height: clamp(69.7777777778px, 21.8055555556vw, 418.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-cta__img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: clamp(294.4px, 92vw, 1766.4px);
    height: clamp(167.2533333333px, 52.2666666667vw, 1003.52px);
    margin-top: clamp(-640px, -33.3333333333vw, -106.6666666667px);
    position: relative;
    z-index: 1;
  }
  .p-cta__img img {
    -o-object-fit: revert;
       object-fit: revert;
  }
}

.p-cta__text {
  width: clamp(86.6666666667px, 27.0833333333vw, 520px);
  height: clamp(69.7777777778px, 21.8055555556vw, 418.6666666667px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-cta__text {
    display: contents;
  }
}

.p-cta__text--img {
  display: block;
  margin-top: clamp(7.7777777778px, 2.4305555556vw, 46.6666666667px);
  width: clamp(77.1111111111px, 24.0972222222vw, 462.6666666667px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-cta__text--img {
    width: clamp(260.2666666667px, 81.3333333333vw, 1561.6px);
    height: clamp(215.8933333333px, 67.4666666667vw, 1295.36px);
    margin-top: clamp(32.4266666667px, 10.1333333333vw, 194.56px);
    margin-inline: auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.p-cta__text--btn {
  border-radius: 2px;
  background: #534741;
  width: clamp(48.6666666667px, 15.2083333333vw, 292px);
  color: #fff;
  text-align: center;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
  font-family: "Tsukushi A Round Gothic", "Noto Sans JP", "Yu Gothic", sans-serif;
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 700;
  position: absolute;
  bottom: clamp(10.2222222222px, 3.1944444444vw, 61.3333333333px);
  left: 50%;
  translate: -50%;
  z-index: 1;
  padding-top: clamp(1.7777777778px, 0.5555555556vw, 10.6666666667px);
  padding-bottom: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  padding-left: clamp(9.1111111111px, 2.8472222222vw, 54.6666666667px);
  padding-right: clamp(7.3333333333px, 2.2916666667vw, 44px);
}
.p-cta__text--btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  width: clamp(1.1111111111px, 0.3472222222vw, 6.6666666667px);
  height: clamp(1.1111111111px, 0.3472222222vw, 6.6666666667px);
  translate: 0 -50%;
  rotate: 45deg;
  border-top: 1px solid white;
  border-right: 1px solid white;
  z-index: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.p-cta__text--btn:hover::after {
  right: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-cta__text--btn {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: clamp(163.84px, 51.2vw, 983.04px);
    font-size: clamp(15.36px, 4.8vw, 92.16px);
    position: relative;
    left: revert;
    translate: revert;
    margin-top: clamp(31.5733333333px, 9.8666666667vw, 189.44px);
    margin-bottom: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    padding-top: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
    padding-bottom: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
  }
  .p-cta__text--btn::after {
    right: clamp(10.24px, 3.2vw, 61.44px);
    width: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
    height: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
  }
  .p-cta__text--btn:hover::after {
    right: clamp(5.12px, 1.6vw, 30.72px);
  }
}

.p-cta__text--shadow {
  content: "";
  position: absolute;
  bottom: clamp(9.5555555556px, 2.9861111111vw, 57.3333333333px);
  left: 50%;
  translate: -50%;
  z-index: 0;
  width: clamp(50.4444444444px, 15.7638888889vw, 302.6666666667px);
  height: clamp(11.7777777778px, 3.6805555556vw, 70.6666666667px);
  background: #fff;
  border-radius: 2px;
  -webkit-filter: blur(5px);
          filter: blur(5px);
}
@media screen and (max-width: 767px) {
  .p-cta__text--shadow {
    width: clamp(170.6666666667px, 53.3333333333vw, 1024px);
    height: clamp(35.84px, 11.2vw, 215.04px);
    bottom: clamp(83.6266666667px, 26.1333333333vw, 501.76px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-contact {
  background: #002a7d;
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
  padding-bottom: clamp(32px, 10vw, 192px);
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-top: clamp(52.9066666667px, 16.5333333333vw, 317.44px);
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-contact__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(11.1111111111px, 3.4722222222vw, 66.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-contact__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-contact__head {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-contact__head {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-contact__title--ja {
  color: #fff;
  font-size: clamp(10px, 3.125vw, 60px);
  font-weight: 600;
  line-height: clamp(14.6666666667px, 4.5833333333vw, 88px);
  letter-spacing: clamp(0.8px, 0.25vw, 4.8px);
  padding-bottom: clamp(4.6666666667px, 1.4583333333vw, 28px);
  position: relative;
}
.p-contact__title--ja::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: clamp(90.4444444444px, 28.2638888889vw, 542.6666666667px);
  height: clamp(1.3333333333px, 0.4166666667vw, 8px);
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-contact__title--ja {
    font-size: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    line-height: clamp(56.32px, 17.6vw, 337.92px);
    letter-spacing: clamp(2.1845333333px, 0.6826666667vw, 13.1072px);
    padding-bottom: clamp(0px, 0vw, 0px);
  }
  .p-contact__title--ja::before {
    width: 100%;
    height: clamp(5.12px, 1.6vw, 30.72px);
  }
}

.p-contact__title--ja-sub {
  color: #fff;
  font-family: "Open Sans";
  font-size: clamp(5.3333333333px, 1.6666666667vw, 32px);
  font-style: normal;
  font-weight: 600;
  line-height: clamp(8px, 2.5vw, 48px);
  letter-spacing: clamp(0.4266666667px, 0.1333333333vw, 2.56px);
  margin-top: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-contact__title--ja-sub {
    font-size: clamp(15.36px, 4.8vw, 92.16px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    letter-spacing: clamp(1.2288px, 0.384vw, 7.3728px);
    margin-top: clamp(16.2133333333px, 5.0666666667vw, 97.28px);
    margin-left: 0.5em;
  }
}

.p-contact__message {
  color: #fff;
  font-family: "Open Sans";
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 400;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px);
  margin-top: clamp(3.3333333333px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-contact__message {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-contact__links {
  width: clamp(93.3333333333px, 29.1666666667vw, 560px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(4.6666666667px, 1.4583333333vw, 28px);
}
@media screen and (max-width: 767px) {
  .p-contact__links {
    width: 100%;
    margin-top: clamp(15.36px, 4.8vw, 92.16px);
    gap: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  }
}

.p-contact__link {
  background: white;
  height: clamp(33.3333333333px, 10.4166666667vw, 200px);
  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: clamp(3.3333333333px, 1.0416666667vw, 20px);
  border: clamp(0.4444444444px, 0.1388888889vw, 2.6666666667px) solid #fff;
}
@media (any-hover: hover) {
  .p-contact__link:hover {
    opacity: 1;
    background: #002a7d;
    color: #fff;
  }
  .p-contact__link:hover .p-contact__icon-mail {
    fill: #fff;
  }
  .p-contact__link:hover .p-contact__icon-tel {
    fill: #fff;
  }
}
@media screen and (min-width: 1025px) and (any-hover: hover) {
  .p-contact__link--tel:hover {
    opacity: 1;
    background: white;
    color: #002a7d;
    cursor: text;
  }
  .p-contact__link--tel:hover .p-contact__icon-tel {
    fill: #002a7d;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__link {
    height: clamp(85.3333333333px, 26.6666666667vw, 512px);
    gap: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  }
}

.p-contact__link--text-form {
  font-size: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  font-weight: 600;
  line-height: clamp(14.6666666667px, 4.5833333333vw, 88px);
  letter-spacing: clamp(0.4622222222px, 0.1444444444vw, 2.7733333333px);
}
@media screen and (max-width: 767px) {
  .p-contact__link--text-form {
    font-size: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    line-height: clamp(56.32px, 17.6vw, 337.92px);
    letter-spacing: clamp(1.5018666667px, 0.4693333333vw, 9.0112px);
  }
}

.p-contact__link--text-tel {
  font-family: "Montserrat", "Arial", sans-serif;
  font-weight: bold;
  font-size: clamp(6.6666666667px, 2.0833333333vw, 40px);
  line-height: clamp(14.6666666667px, 4.5833333333vw, 88px);
  letter-spacing: clamp(0.7555555556px, 0.2361111111vw, 4.5333333333px);
}
@media screen and (max-width: 767px) {
  .p-contact__link--text-tel {
    font-size: clamp(20.48px, 6.4vw, 122.88px);
    line-height: clamp(56.32px, 17.6vw, 337.92px);
    letter-spacing: clamp(1.6384px, 0.512vw, 9.8304px);
  }
}

.p-contact__icon {
  fill: #002a7d;
}

.p-contact__icon-mail {
  width: clamp(6.6666666667px, 2.0833333333vw, 40px);
  height: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-contact__icon-mail {
    width: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    height: clamp(12.8px, 4vw, 76.8px);
  }
}

.p-contact__icon-tel {
  width: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px);
}
@media screen and (min-width: 1025px) and (any-hover: hover) {
  .p-contact__icon-tel:hover {
    opacity: 1;
    cursor: text;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__icon-tel {
    width: clamp(16.2133333333px, 5.0666666667vw, 97.28px);
    height: clamp(21.3333333333px, 6.6666666667vw, 128px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-footer {
  background: url(./assets/img/bg-tree-3.webp) repeat center top;
  padding-top: clamp(21.7777777778px, 6.8055555556vw, 130.6666666667px);
  padding-bottom: clamp(6.2222222222px, 1.9444444444vw, 37.3333333333px);
  text-align: left;
  color: white;
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-top: clamp(26.4533333333px, 8.2666666667vw, 158.72px);
    padding-bottom: clamp(25.6px, 8vw, 153.6px);
  }
}

.p-footer__inner {
  padding-inline: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  max-width: 1920px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    padding-inline: 30px;
  }
}

.p-footer__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-footer__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-footer__wrapper--info {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: clamp(-5.3333333333px, -0.2777777778vw, -0.8888888889px);
}
.p-footer__wrapper--info .p-footer__logo {
  padding-block: clamp(1.1111111111px, 0.3472222222vw, 6.6666666667px);
}
.p-footer__wrapper--info .p-footer__logo .p-footer__logo--img {
  display: inline-block;
  width: clamp(44.8888888889px, 14.0277777778vw, 269.3333333333px);
  height: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-footer__wrapper--info .p-footer__logo .p-footer__logo--img {
    width: clamp(172.3733333333px, 53.8666666667vw, 1034.24px);
    height: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
  }
}
@media screen and (max-width: 767px) {
  .p-footer__wrapper--info {
    margin-top: clamp(31.5733333333px, 9.8666666667vw, 189.44px);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: center;
  }
}

.p-footer__texts {
  margin-top: clamp(3.3333333333px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-footer__texts {
    margin-top: 18px;
    margin-inline: -30px;
  }
}
.p-footer__texts .p-footer__text {
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  line-height: clamp(4.8px, 1.5vw, 28.8px);
  font-family: "Open Sans", sans-serif;
  padding-left: clamp(0.6666666667px, 0.2083333333vw, 4px);
}
@media screen and (max-width: 767px) {
  .p-footer__texts .p-footer__text {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(21.3333333333px, 6.6666666667vw, 128px);
  }
}
.p-footer__texts .p-footer__text .underline {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(255, 255, 255, 0.5);
}
.p-footer__texts .p-footer__text-bottom {
  margin-top: clamp(5.3333333333px, 1.6666666667vw, 32px);
}
@media screen and (max-width: 767px) {
  .p-footer__texts .p-footer__text-bottom {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-footer__nav--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(7.7777777778px, 2.4305555556vw, 46.6666666667px);
  margin-left: clamp(44.4444444444px, 13.8888888889vw, 266.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-footer__nav--list {
    margin-left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.p-footer__nav--item:nth-child(1) {
  padding-right: clamp(10.8888888889px, 3.4027777778vw, 65.3333333333px);
}
.p-footer__nav--item:nth-child(2) {
  padding-right: clamp(4px, 1.25vw, 24px);
}
.p-footer__nav--item:last-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-footer__nav--item {
    padding-right: 0 !important;
    width: 100%;
    position: relative;
  }
  .p-footer__nav--item::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: white;
  }
  .p-footer__nav--item.p-footer__nav--item-accordion {
    padding-top: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    padding-bottom: clamp(23.04px, 7.2vw, 138.24px);
  }
  .p-footer__nav--item.p-footer__nav--item-contact {
    padding-top: clamp(12.8px, 4vw, 76.8px);
    padding-bottom: clamp(15.36px, 4.8vw, 92.16px);
  }
  .p-footer__nav--item.p-footer__nav--item-contact::before {
    display: none;
  }
  .p-footer__nav--item:last-child {
    display: block;
  }
}

.p-footer__nav--link {
  font-size: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  font-weight: 600;
  white-space: nowrap;
  display: block;
}
.p-footer__nav--link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-footer__nav--link {
    font-size: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
  .p-footer__nav--link:hover {
    opacity: 1;
  }
}

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

@media screen and (max-width: 767px) {
  .p-footer__nav--accordion-btn {
    width: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-right: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
  }
  .p-footer__nav--accordion-btn::before, .p-footer__nav--accordion-btn::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    width: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    height: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
    background-color: white;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-footer__nav--accordion-btn::after {
    rotate: 90deg;
  }
  .p-footer__nav--accordion-btn.is-open::after {
    rotate: 0deg;
  }
}

.p-footer__nav--submenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-footer__nav--submenu {
    margin-top: clamp(6.8266666667px, 2.1333333333vw, 40.96px);
  }
}

.p-footer__nav--sublink {
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  white-space: nowrap;
}
.p-footer__nav--sublink:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-footer__nav--sublink {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(25.6px, 8vw, 153.6px);
  }
}

.p-footer__nav--list-contact {
  margin-left: clamp(8px, 2.5vw, 48px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(2px, 0.625vw, 12px);
}
@media screen and (max-width: 767px) {
  .p-footer__nav--list-contact {
    margin-left: 0;
    margin-top: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
    gap: 0;
  }
}

.p-footer__copy {
  text-align: center;
  display: block;
  margin-top: clamp(14.6666666667px, 4.5833333333vw, 88px);
  font-family: Inter;
  font-size: clamp(2.6666666667px, 0.8333333333vw, 16px);
  letter-spacing: -0.35px;
}
.p-footer__copy span {
  font-family: "Open Sans", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-footer__copy {
    margin-top: clamp(49.4933333333px, 15.4666666667vw, 296.96px);
    font-size: clamp(10.24px, 3.2vw, 61.44px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-contact-form {
  padding-bottom: clamp(55.5555555556px, 17.3611111111vw, 333.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-contact-form {
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-contact-form__button {
  margin-top: clamp(22.2222222222px, 6.9444444444vw, 133.3333333333px);
  background: #002a7d;
  padding-inline: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-top: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-bottom: clamp(18px, 5.625vw, 108px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(2.8888888889px, 0.9027777778vw, 17.3333333333px);
}
.p-contact-form__button span {
  color: #fff;
  font-size: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  font-weight: 600;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px);
  padding-top: clamp(2.4444444444px, 0.7638888889vw, 14.6666666667px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
}
.p-contact-form__button a {
  color: #fff;
  font-family: "Montserrat", "Arial", sans-serif;
  line-height: clamp(14.6666666667px, 4.5833333333vw, 88px);
  letter-spacing: clamp(1.0488888889px, 0.3277777778vw, 6.2933333333px);
  font-size: clamp(13.1111111111px, 4.0972222222vw, 78.6666666667px);
  padding-bottom: clamp(1.1111111111px, 0.3472222222vw, 6.6666666667px);
  position: relative;
  font-weight: bold;
  letter-spacing: clamp(1.3333333333px, 0.4166666667vw, 8px);
  margin-left: clamp(6px, 1.875vw, 36px);
  padding-bottom: clamp(2.6666666667px, 0.8333333333vw, 16px);
  white-space: nowrap;
}
.p-contact-form__button a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: clamp(1.3333333333px, 0.4166666667vw, 8px);
  background: #fff;
}
@media screen and (min-width: 1025px) and (any-hover: hover) {
  .p-contact-form__button a:hover {
    opacity: 1;
    cursor: text;
  }
}
.p-contact-form__button .p-contact-form__icon-phone {
  width: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  height: clamp(9.3333333333px, 2.9166666667vw, 56px);
  margin-bottom: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__button .p-contact-form__icon-phone {
    width: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    margin-right: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  }
}
@media screen and (max-width: 767px) {
  .p-contact-form__button {
    margin-top: clamp(51.2px, 16vw, 307.2px);
    padding-top: clamp(49.4933333333px, 15.4666666667vw, 296.96px);
    padding-bottom: clamp(48.64px, 15.2vw, 291.84px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
  .p-contact-form__button span {
    color: #fff;
    font-size: clamp(15.36px, 4.8vw, 92.16px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    letter-spacing: clamp(1.2288px, 0.384vw, 7.3728px);
  }
  .p-contact-form__button a {
    font-size: clamp(28.16px, 8.8vw, 168.96px);
    line-height: clamp(28.16px, 8.8vw, 168.96px);
    letter-spacing: clamp(3.072px, 0.96vw, 18.432px);
    margin-top: clamp(12.8px, 4vw, 76.8px);
    padding-top: clamp(21.3333333333px, 6.6666666667vw, 128px);
    margin-left: 0;
  }
  .p-contact-form__button a::before {
    top: 0;
    bottom: revert;
    height: clamp(5.12px, 1.6vw, 30.72px);
  }
}

.p-contact-form__contents {
  margin-top: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__contents {
    margin-top: clamp(49.4933333333px, 15.4666666667vw, 296.96px);
  }
}

.p-contact-form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: clamp(15.36px, 4.8vw, 92.16px);
  }
}

.p-contact-form__title {
  padding-top: clamp(3.3333333333px, 1.0416666667vw, 20px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: clamp(53.3333333333px, 16.6666666667vw, 320px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-contact-form__title {
    width: 100%;
    padding-top: 0;
  }
}
.p-contact-form__title label,
.p-contact-form__title span {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__title label,
  .p-contact-form__title span {
    font-size: 16px;
    line-height: 32px; /* 200% */
    letter-spacing: 1.28px;
  }
}
.p-contact-form__title span {
  font-size: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  color: #f00;
  margin-top: clamp(-4px, -0.2083333333vw, -0.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__title span {
    font-size: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  }
}

.p-contact-form__input {
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .p-contact-form__input {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
  }
}
.p-contact-form__input:not(:has(input[type=radio])) span {
  display: block;
}
.p-contact-form__input input,
.p-contact-form__input textarea {
  text-align: left;
  width: 100%;
  padding-block: clamp(3.1111111111px, 0.9722222222vw, 18.6666666667px);
  padding-inline: 1em;
  background: #eee;
  min-height: clamp(13.5555555556px, 4.2361111111vw, 81.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__input input,
  .p-contact-form__input textarea {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    padding-block: clamp(5.12px, 1.6vw, 30.72px);
  }
}
.p-contact-form__input textarea {
  padding-block: clamp(4px, 1.25vw, 24px);
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .p-contact-form__input textarea {
    padding-block: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  }
}

.p-contact-form__input-radio--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: clamp(13.5555555556px, 4.2361111111vw, 81.3333333333px);
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  gap: clamp(2.4444444444px, 0.7638888889vw, 14.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__input-radio--item {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(5.9733333333px, 1.8666666667vw, 35.84px);
  }
}
.p-contact-form__input-radio--item input[type=radio] {
  opacity: 0;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}
.p-contact-form__input-radio--item label {
  padding-left: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-contact-form__input-radio--item label {
    padding-left: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
  }
}
.p-contact-form__input-radio--item label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(6.6666666667px, 2.0833333333vw, 40px);
  height: clamp(6.6666666667px, 2.0833333333vw, 40px);
  border: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px) solid #9f9f9f;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  .p-contact-form__input-radio--item label::before {
    width: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    height: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}
.p-contact-form__input-radio--item label:has(input[type=radio]:checked):before {
  border-color: #002a7d;
}
.p-contact-form__input-radio--item label:hover::before {
  border-color: #002a7d;
}
.p-contact-form__input-radio--item label:has(input[type=radio]:checked):after {
  content: "";
  position: absolute;
  left: clamp(1.5555555556px, 0.4861111111vw, 9.3333333333px);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  height: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  border-radius: 50%;
  background-color: #002a7d;
}
@media screen and (max-width: 767px) {
  .p-contact-form__input-radio--item label:has(input[type=radio]:checked):after {
    width: clamp(10.24px, 3.2vw, 61.44px);
    height: clamp(10.24px, 3.2vw, 61.44px);
    left: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
  }
}
.p-contact-form__input-radio--item .wpcf7-list-item:first-child {
  margin: 0;
}

.p-contact-form__item-policy {
  margin-right: clamp(4px, 1.25vw, 24px);
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
  text-align: center;
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__item-policy {
    margin-right: clamp(12.8px, 4vw, 76.8px);
    margin-top: clamp(25.6px, 8vw, 153.6px);
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
  }
}
.p-contact-form__item-policy input[type=checkbox] {
  opacity: 0;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}
.p-contact-form__item-policy label {
  padding-left: clamp(11.1111111111px, 3.4722222222vw, 66.6666666667px);
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-contact-form__item-policy label {
    padding-left: clamp(33.28px, 10.4vw, 199.68px);
  }
}
.p-contact-form__item-policy label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(6.6666666667px, 2.0833333333vw, 40px);
  height: clamp(6.6666666667px, 2.0833333333vw, 40px);
  background: #eee;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border: 1px solid transparent;
}
@media screen and (max-width: 767px) {
  .p-contact-form__item-policy label::before {
    width: clamp(20.48px, 6.4vw, 122.88px);
    height: clamp(20.48px, 6.4vw, 122.88px);
  }
}
.p-contact-form__item-policy label:hover::before,
.p-contact-form__item-policy label:has(input[type=checkbox]:focus)::before,
.p-contact-form__item-policy label:has(input[type=checkbox]:checked):before {
  border-color: #002a7d;
}
.p-contact-form__item-policy label:has(input[type=checkbox]:checked):after {
  content: "";
  position: absolute;
  border-bottom: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px) solid #002a7d;
  border-right: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px) solid #002a7d;
  rotate: 50deg;
  width: clamp(1.5555555556px, 0.4861111111vw, 9.3333333333px);
  height: clamp(2.8888888889px, 0.9027777778vw, 17.3333333333px);
  top: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
  left: clamp(2.6666666667px, 0.8333333333vw, 16px);
}
@media screen and (max-width: 767px) {
  .p-contact-form__item-policy label:has(input[type=checkbox]:checked):after {
    width: clamp(5.12px, 1.6vw, 30.72px);
    height: clamp(10.24px, 3.2vw, 61.44px);
    rotate: 50deg;
    top: clamp(2.56px, 0.8vw, 15.36px);
    left: clamp(7.68px, 2.4vw, 46.08px);
  }
}

/* .form-error {
display: none;
position: absolute;
left: 0;
bottom: -1.5rem;
color: #dc2626;
font-size: 0.875rem;
}

.form-error.is-visible {
display: block;
} */
/* .radio-group.vertical {
flex-direction: column;
gap: 0.75rem;
} */
.p-contact-form__submit {
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
.p-contact-form__submit input {
  width: 100%;
  height: 100%;
  text-align: center;
}
.p-contact-form__submit:has(input:disabled), .p-contact-form__submit:has(input.disabled) {
  cursor: not-allowed;
  background: #a1a1a1;
  color: black;
  border-color: #a1a1a1;
}
.p-contact-form__submit:has(input:disabled)::after, .p-contact-form__submit:has(input.disabled)::after {
  border-left: clamp(1.3333333333px, 0.4166666667vw, 8px) solid black;
}
@media screen and (max-width: 767px) {
  .p-contact-form__submit:has(input:disabled)::after, .p-contact-form__submit:has(input.disabled)::after {
    border-left: clamp(5.12px, 1.6vw, 30.72px) solid black;
  }
}
@media screen and (max-width: 767px) {
  .p-contact-form__submit {
    margin-top: clamp(25.6px, 8vw, 153.6px);
  }
}

.wpcf7-spinner {
  display: none;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-policy {
  margin-top: clamp(22.2222222222px, 6.9444444444vw, 133.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-policy {
    margin-top: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-page-policy__title {
  text-align: center;
  font-size: clamp(10.6666666667px, 3.3333333333vw, 64px);
  font-weight: 600;
  line-height: clamp(14.2222222222px, 4.4444444444vw, 85.3333333333px);
  letter-spacing: clamp(0.8533333333px, 0.2666666667vw, 5.12px);
}
@media screen and (max-width: 767px) {
  .p-page-policy__title {
    font-size: 24px;
    line-height: 24px; /* 100% */
    letter-spacing: 1.92px;
  }
}

.p-page-policy__contents {
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
  padding-bottom: clamp(33.3333333333px, 10.4166666667vw, 200px);
}
@media screen and (max-width: 767px) {
  .p-page-policy__contents {
    margin-top: clamp(25.6px, 8vw, 153.6px);
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}
.p-page-policy__contents h2,
.p-page-policy__contents p {
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
}
@media screen and (max-width: 767px) {
  .p-page-policy__contents h2,
  .p-page-policy__contents p {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
  }
}
.p-page-policy__contents h2 {
  margin-top: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-page-policy__contents h2 {
    margin-top: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
  }
}
/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-project__btns {
  margin-top: clamp(22.2222222222px, 6.9444444444vw, 133.3333333333px);
  background: #002a7d;
  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: 1px;
}
@media screen and (max-width: 767px) {
  .p-page-project__btns {
    position: relative;
    padding-inline: clamp(12.8px, 4vw, 76.8px);
    background: #f9f7f3;
    gap: clamp(7.68px, 2.4vw, 46.08px);
    margin-top: clamp(34.9866666667px, 10.9333333333vw, 209.92px);
    padding-top: clamp(25.6px, 8vw, 153.6px);
    padding-bottom: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-page-project__btns::after {
    position: absolute;
    content: "";
    left: 50%;
    translate: -50%;
    bottom: 0;
    width: clamp(294.4px, 92vw, 1766.4px);
    height: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
    background: #002a7d;
  }
}

.p-page-project__btn {
  padding-block: clamp(2.8888888889px, 0.9027777778vw, 17.3333333333px);
  padding-inline: clamp(13.3333333333px, 4.1666666667vw, 80px);
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  font-size: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  font-weight: 600;
  line-height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px);
  letter-spacing: clamp(0.3555555556px, 0.1111111111vw, 2.1333333333px);
  position: relative;
}
.p-page-project__btn:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 100%;
  width: 1px;
  height: clamp(6.6666666667px, 2.0833333333vw, 40px);
  background: #fff;
}
.p-page-project__btn::before {
  content: "";
  position: absolute;
  width: 0px;
  height: clamp(0.4444444444px, 0.1388888889vw, 2.6666666667px);
  background: #fff;
  left: 0;
  bottom: clamp(2.8888888889px, 0.9027777778vw, 17.3333333333px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.p-page-project__btn.active {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-page-project__btn.active {
    color: #fff;
    background: #002a7d;
  }
}
@media (any-hover: hover) {
  .p-page-project__btn:not(.active):hover {
    opacity: 1;
  }
  .p-page-project__btn:not(.active):hover::before {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-page-project__btn {
    background: #fff;
    border-radius: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
    border: clamp(1.7066666667px, 0.5333333333vw, 10.24px) solid #002a7d;
    color: #002a7d;
    font-size: clamp(15.36px, 4.8vw, 92.16px);
    line-height: clamp(29.0133333333px, 9.0666666667vw, 174.08px);
    letter-spacing: clamp(1.2288px, 0.384vw, 7.3728px);
    width: clamp(143.36px, 44.8vw, 860.16px);
    height: clamp(38.4px, 12vw, 230.4px);
  }
  .p-page-project__btn:first-child {
    width: clamp(294.4px, 92vw, 1766.4px);
    height: clamp(38.4px, 12vw, 230.4px);
  }
  .p-page-project__btn::after {
    display: none;
  }
}
@media screen and (max-width: 767px) and (any-hover: hover) {
  .p-page-project__btn.active:hover, .p-page-project__btn:not(.active):hover {
    opacity: 0.7;
  }
}

.p-page-project__contents {
  padding-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
  background: #f9f7f3;
  padding-bottom: clamp(32.2222222222px, 10.0694444444vw, 193.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-project__contents {
    padding-top: clamp(6.8266666667px, 2.1333333333vw, 40.96px);
    padding-bottom: clamp(45.2266666667px, 14.1333333333vw, 271.36px);
  }
}

/* ページネーションスタイル */
.p-page-project__pagination {
  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;
  margin-top: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  gap: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-page-project__pagination {
    margin-top: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    gap: clamp(24.7466666667px, 7.7333333333vw, 148.48px);
  }
}

.p-page-project__pagination .page-numbers {
  color: #bababa;
  font-size: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  font-weight: 600;
  line-height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px);
  letter-spacing: clamp(0.3555555556px, 0.1111111111vw, 2.1333333333px);
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-page-project__pagination .page-numbers {
    font-size: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    line-height: clamp(29.0133333333px, 9.0666666667vw, 174.08px);
    letter-spacing: clamp(1.3653333333px, 0.4266666667vw, 8.192px);
  }
}

/* 現在のページは青色 */
.p-page-project__pagination .page-numbers.current {
  color: #002a7d;
}

/* 数字のホバー効果 */
.p-page-project__pagination .page-numbers:hover {
  color: #002a7d;
}

/* 矢印のスタイル */
.p-page-project__pagination .page-numbers.prev,
.p-page-project__pagination .page-numbers.next {
  font-size: clamp(5.3333333333px, 1.6666666667vw, 32px);
  color: #002a7d;
  /* 有効な矢印は青色 */
  text-decoration: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-page-project__pagination .page-numbers.prev,
  .p-page-project__pagination .page-numbers.next {
    font-size: clamp(20.48px, 6.4vw, 122.88px);
  }
}

.p-page-project__pagination .page-numbers.prev {
  margin-right: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-page-project__pagination .page-numbers.prev {
    margin-right: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-page-project__pagination .page-numbers.next {
  margin-left: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-page-project__pagination .page-numbers.next {
    margin-left: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

/* 無効な矢印は灰色 */
.p-page-project__pagination .page-numbers.disabled {
  color: #bababa !important;
  cursor: not-allowed;
  pointer-events: none;
}

/* 有効な矢印のホバー効果 */
.p-page-project__pagination .page-numbers.prev:not(.disabled):hover,
.p-page-project__pagination .page-numbers.next:not(.disabled):hover {
  color: #001a5c;
}

/* dots（...）のスタイル */
.p-page-project__pagination .dots {
  color: #bababa;
  font-weight: bold;
  margin-inline: clamp(-2.6666666667px, -0.1388888889vw, -0.4444444444px);
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
/* 施工事例 詳細 */
/* メインビジュアル */
.p-single-project__hero {
  width: 100%;
  height: clamp(142.2222222222px, 44.4444444444vw, 853.3333333333px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-single-project__hero {
    height: clamp(170.6666666667px, 53.3333333333vw, 1024px);
  }
}
.p-single-project__hero .p-single-project__hero-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* プロジェクト情報 */
.p-single-project__info {
  margin-top: clamp(-320px, -16.6666666667vw, -53.3333333333px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-single-project__info {
    margin-top: 0;
  }
  .p-single-project__info .l-section__inner {
    padding-inline: 0;
  }
}
.p-single-project__info .p-single-project__info-contents {
  background: rgba(0, 42, 125, 0.9);
  padding-top: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-bottom: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-inline: clamp(37.7777777778px, 11.8055555556vw, 226.6666666667px);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__info-contents {
    padding-inline: clamp(12.8px, 4vw, 76.8px);
    padding-top: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
    padding-bottom: clamp(33.28px, 10.4vw, 199.68px);
  }
}
.p-single-project__info .p-single-project__category {
  width: clamp(25.7777777778px, 8.0555555556vw, 154.6666666667px);
  height: clamp(13.3333333333px, 4.1666666667vw, 80px);
  background: #fff;
  color: #002a7d;
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  display: block;
  text-align: center;
  padding-top: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  -webkit-clip-path: polygon(0 35%, 50% 0, 100% 35%, 100% 100%, 0 100%);
          clip-path: polygon(0 35%, 50% 0, 100% 35%, 100% 100%, 0 100%);
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__category {
    width: clamp(74.24px, 23.2vw, 445.44px);
    height: clamp(38.4px, 12vw, 230.4px);
    font-size: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    padding-top: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
  }
}
.p-single-project__info .p-single-project__title {
  font-size: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  font-weight: 600;
  color: #fff;
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  margin-top: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__title {
    font-size: clamp(20.48px, 6.4vw, 122.88px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}
.p-single-project__info .p-single-project__description {
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  margin-top: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  padding-bottom: clamp(6.6666666667px, 2.0833333333vw, 40px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__description {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    padding-bottom: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
  }
}
.p-single-project__info .p-single-project__description::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
}
.p-single-project__info .p-single-project__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
.p-single-project__info .p-single-project__info span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__info {
    margin-top: clamp(17.92px, 5.6vw, 107.52px);
  }
}
.p-single-project__info .p-single-project__title-info {
  width: clamp(19.1111111111px, 5.9722222222vw, 114.6666666667px);
  text-align: center;
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  border: 1px solid currentColor;
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__title-info {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    width: clamp(68.2666666667px, 21.3333333333vw, 409.6px);
  }
}
.p-single-project__info .p-single-project__text-info {
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  margin-left: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__text-info {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    margin-left: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
  }
}
.p-single-project__info .p-single-project__area {
  margin-left: clamp(4.6666666667px, 1.4583333333vw, 28px);
}
@media screen and (max-width: 767px) {
  .p-single-project__info .p-single-project__area {
    margin-left: clamp(12.8px, 4vw, 76.8px);
  }
}

/* プロジェクト画像,ボタン */
.p-single-project__body {
  margin-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
  margin-bottom: clamp(32.4444444444px, 10.1388888889vw, 194.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-single-project__body {
    margin-top: clamp(51.2px, 16vw, 307.2px);
    margin-bottom: clamp(49.4933333333px, 15.4666666667vw, 296.96px);
  }
}

/* プロジェクト画像 */
.p-single-project__image-blocks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(22.2222222222px, 6.9444444444vw, 133.3333333333px);
  margin-bottom: clamp(33.3333333333px, 10.4166666667vw, 200px);
}
@media screen and (max-width: 767px) {
  .p-single-project__image-blocks {
    gap: clamp(46.08px, 14.4vw, 276.48px);
  }
}
.p-single-project__image-blocks .p-single-project__image-block {
  width: 100%;
}
.p-single-project__image-blocks .p-single-project__image-block--image {
  width: 100%;
  height: clamp(115.5555555556px, 36.1111111111vw, 693.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-single-project__image-blocks .p-single-project__image-block--image {
    width: clamp(294.4px, 92vw, 1766.4px);
    height: clamp(162.1333333333px, 50.6666666667vw, 972.8px);
  }
}
.p-single-project__image-blocks .p-single-project__image-block--title {
  margin-top: clamp(6.6666666667px, 2.0833333333vw, 40px);
  padding-left: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-single-project__image-blocks .p-single-project__image-block--title {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    padding-left: clamp(11.0933333333px, 3.4666666667vw, 66.56px);
  }
}
.p-single-project__image-blocks .p-single-project__image-block--title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(1.3333333333px, 0.4166666667vw, 8px);
  height: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  background: #313131;
}
@media screen and (max-width: 767px) {
  .p-single-project__image-blocks .p-single-project__image-block--title::before {
    width: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
    height: clamp(15.36px, 4.8vw, 92.16px);
  }
}
.p-single-project__image-blocks .p-single-project__image-block--title-text {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  color: #313131;
}
@media screen and (max-width: 767px) {
  .p-single-project__image-blocks .p-single-project__image-block--title-text {
    font-size: clamp(15.36px, 4.8vw, 92.16px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
  }
}
.p-single-project__image-blocks .p-single-project__image-block--description {
  margin-top: clamp(3.7777777778px, 1.1805555556vw, 22.6666666667px);
  font-size: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  color: #313131;
}
@media screen and (max-width: 767px) {
  .p-single-project__image-blocks .p-single-project__image-block--description {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    margin-top: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  }
}

/* ボタン */
.p-single-project__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-single-project__buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    margin-top: clamp(44.3733333333px, 13.8666666667vw, 266.24px);
    margin-inline: clamp(25.6px, 8vw, 153.6px);
  }
}

.p-single-project__buttons--link {
  margin-inline: revert;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-concept-about {
  padding-top: clamp(21.5555555556px, 6.7361111111vw, 129.3333333333px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-concept-about {
    padding-top: clamp(46.08px, 14.4vw, 276.48px);
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}
.p-page-concept-about::after {
  content: "";
  position: absolute;
  position: absolute;
  top: clamp(48.2222222222px, 15.0694444444vw, 289.3333333333px);
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: url(./assets/img/bg-tree-4.webp) no-repeat center center/cover;
}

.p-page-concept-about__contents {
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__contents {
    margin-top: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
  }
}

.p-page-concept-about__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-page-concept-about__card {
  width: calc((100% - 1 * clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px)) / 2);
  background: #002a7d;
  color: #fff;
  text-align: center;
  padding-top: clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px);
  padding-inline: clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px);
  padding-bottom: clamp(6px, 1.875vw, 36px);
}
.p-page-concept-about__card:nth-child(-n+6) {
  width: calc((100% - 2 * clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px)) / 3);
}
.p-page-concept-about__card:nth-child(n+7) {
  width: calc((100% - 1 * clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px)) / 2);
}
.p-page-concept-about__card:nth-child(n+7) .p-page-concept-about__card--img {
  width: clamp(128.2222222222px, 40.0694444444vw, 769.3333333333px);
  height: clamp(43.5555555556px, 13.6111111111vw, 261.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__card {
    width: 100% !important;
  }
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__card {
    padding-top: clamp(21.3333333333px, 6.6666666667vw, 128px);
    padding-inline: clamp(21.3333333333px, 6.6666666667vw, 128px);
    padding-bottom: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}
.p-page-concept-about__card:nth-child(even) {
  background: #002265;
}
.p-page-concept-about__card h3 {
  font-size: clamp(5.3333333333px, 1.6666666667vw, 32px);
  font-weight: 600;
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  margin-top: clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px);
  padding-left: clamp(6.6666666667px, 2.0833333333vw, 40px);
  display: inline-block;
  position: relative;
  white-space: nowrap;
  margin-left: clamp(-4px, -0.2083333333vw, -0.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__card h3 {
    font-size: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    line-height: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    padding-left: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    margin-inline: clamp(-76.8px, -4vw, -12.8px);
    text-align: left;
  }
}
.p-page-concept-about__card h3::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  height: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  background: url(./assets/img/concept-about-check.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__card h3::before {
    top: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
    translate: revert;
    width: clamp(15.36px, 4.8vw, 92.16px);
    height: clamp(15.36px, 4.8vw, 92.16px);
  }
}
.p-page-concept-about__card .title-line {
  width: clamp(35.5555555556px, 11.1111111111vw, 213.3333333333px);
  height: clamp(0.6666666667px, 0.2083333333vw, 4px);
  background: #fff;
  display: block;
  margin-inline: auto;
  margin-top: clamp(2.8888888889px, 0.9027777778vw, 17.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__card .title-line {
    width: clamp(136.5333333333px, 42.6666666667vw, 819.2px);
    height: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
    margin-top: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
  }
}
.p-page-concept-about__card p {
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  margin-top: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  margin-inline: clamp(-33.3333333333px, -1.7361111111vw, -5.5555555556px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__card p {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(12.8px, 4vw, 76.8px);
    margin-inline: clamp(-128px, -6.6666666667vw, -21.3333333333px);
  }
}

.p-page-concept-about__card--img {
  width: clamp(80px, 25vw, 480px);
  height: clamp(43.5555555556px, 13.6111111111vw, 261.3333333333px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-page-concept-about__card--img {
    width: clamp(251.7333333333px, 78.6666666667vw, 1510.4px) !important;
    height: clamp(167.2533333333px, 52.2666666667vw, 1003.52px) !important;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-concept-point {
  background: #e9e8e4;
  padding-top: clamp(32.2222222222px, 10.0694444444vw, 193.3333333333px);
  padding-bottom: clamp(32.8888888889px, 10.2777777778vw, 197.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-point {
    padding-top: clamp(51.2px, 16vw, 307.2px);
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-page-concept-point__contents {
  margin-top: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__contents {
    margin-top: clamp(36.6933333333px, 11.4666666667vw, 220.16px);
  }
}

.p-page-concept-point__item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}
.p-page-concept-point__item-wrapper .p-page-concept-point__item {
  padding-top: clamp(37.5555555556px, 11.7361111111vw, 225.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item-wrapper .p-page-concept-point__item {
    width: 100%;
    padding-top: clamp(93.8666666667px, 29.3333333333vw, 563.2px);
  }
}
.p-page-concept-point__item-wrapper:nth-child(2) {
  margin-top: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
}
.p-page-concept-point__item-wrapper:nth-child(2) .p-page-concept-point__item {
  padding-top: clamp(32.8888888889px, 10.2777777778vw, 197.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item-wrapper:nth-child(2) .p-page-concept-point__item {
    padding-top: clamp(83.6266666667px, 26.1333333333vw, 501.76px);
  }
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item-wrapper:nth-child(2) {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-page-concept-point__item {
  position: relative;
  width: clamp(85.7777777778px, 26.8055555556vw, 514.6666666667px);
  height: clamp(82.1111111111px, 25.6597222222vw, 492.6666666667px);
  padding-inline: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  padding-bottom: clamp(11.1111111111px, 3.4722222222vw, 66.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item {
    width: clamp(294.4px, 92vw, 1766.4px);
    height: clamp(243.2px, 76vw, 1459.2px);
    padding-bottom: 0;
    padding-top: clamp(92.16px, 28.8vw, 552.96px);
  }
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item:nth-child(2) {
    padding-top: clamp(99.84px, 31.2vw, 599.04px);
  }
}

.p-page-concept-point__item--img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item--img {
    height: 100%;
  }
  .p-page-concept-point__item--img img {
    -o-object-fit: revert;
       object-fit: revert;
  }
}

.p-page-concept-point__item h3,
.p-page-concept-point__item p {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
}

.p-page-concept-point__item h3 {
  font-size: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  font-weight: 600;
  line-height: clamp(9.3333333333px, 2.9166666667vw, 56px);
  /* 131.25% */
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item h3 {
    font-size: clamp(22.1866666667px, 6.9333333333vw, 133.12px);
    line-height: clamp(29.0133333333px, 9.0666666667vw, 174.08px);
  }
}

.p-page-concept-point__item p {
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  /* 144.444% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  margin-top: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-point__item p {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(5.12px, 1.6vw, 30.72px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-concept-flow {
  background: white;
  padding-top: clamp(41.7777777778px, 13.0555555556vw, 250.6666666667px);
  padding-bottom: clamp(45.7777777778px, 14.3055555556vw, 274.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow {
    padding-top: clamp(51.2px, 16vw, 307.2px);
    padding-bottom: clamp(89.6px, 28vw, 537.6px);
  }
}

.p-page-concept-flow__inner {
  padding-inline: clamp(37.7777777778px, 11.8055555556vw, 226.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__inner {
    padding-inline: clamp(12.8px, 4vw, 76.8px);
  }
}

@media screen and (max-width: 767px) {
  .p-page-concept-flow__contents {
    margin-inline: clamp(-76.8px, -4vw, -12.8px);
  }
}

@media screen and (max-width: 767px) {
  .p-page-section__message--concept-flow {
    text-align: left;
  }
}

.p-page-concept-flow__head {
  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: clamp(9.7777777778px, 3.0555555556vw, 58.6666666667px);
  margin-inline: auto;
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    margin-top: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
  }
}

.p-page-concept-flow__item {
  width: clamp(39.1111111111px, 12.2222222222vw, 234.6666666667px);
  height: clamp(39.1111111111px, 12.2222222222vw, 234.6666666667px);
  background: #002a7d;
  border-radius: 50%;
  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;
  color: #fff;
  text-align: center;
  font-size: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  font-weight: 600;
  line-height: clamp(9.3333333333px, 2.9166666667vw, 56px);
  padding-top: clamp(2.6666666667px, 0.8333333333vw, 16px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__item {
    width: 100%;
    height: clamp(93.0133333333px, 29.0666666667vw, 558.08px);
    border-radius: 0;
    font-size: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    line-height: clamp(35.84px, 11.2vw, 215.04px);
  }
}
.p-page-concept-flow__item:nth-child(1) {
  background: #4d74c0;
  padding-top: clamp(0.8888888889px, 0.2777777778vw, 5.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__item:nth-child(1) {
    padding-top: clamp(5.12px, 1.6vw, 30.72px);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 58%, 50% 100%, 0 58%);
            clip-path: polygon(0 0, 100% 0, 100% 58%, 50% 100%, 0 58%);
  }
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__item:nth-child(2), .p-page-concept-flow__item:nth-child(3), .p-page-concept-flow__item:nth-child(4) {
    -webkit-clip-path: polygon(0 0, 50% 32%, 100% 0, 100% 68%, 50% 100%, 0 68%);
            clip-path: polygon(0 0, 50% 32%, 100% 0, 100% 68%, 50% 100%, 0 68%);
    height: clamp(117.76px, 36.8vw, 706.56px);
    padding-top: clamp(26.4533333333px, 8.2666666667vw, 158.72px);
    margin-top: clamp(-235.52px, -12.2666666667vw, -39.2533333333px);
  }
}
.p-page-concept-flow__item:nth-child(2) {
  background: #325caf;
}
.p-page-concept-flow__item:nth-child(3) {
  background: #18449e;
}
.p-page-concept-flow__item:nth-child(4) {
  background: #002a7d;
}
.p-page-concept-flow__item:nth-child(5) {
  background: white;
  border: clamp(1.3333333333px, 0.4166666667vw, 8px) solid #002a7d;
  width: clamp(47.5555555556px, 14.8611111111vw, 285.3333333333px);
  height: clamp(47.5555555556px, 14.8611111111vw, 285.3333333333px);
  color: #002a7d;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__item:nth-child(5) {
    padding-top: clamp(10.24px, 3.2vw, 61.44px);
    border: none;
    width: 100%;
    height: auto;
    font-size: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    line-height: clamp(35.84px, 11.2vw, 215.04px);
  }
  .p-page-concept-flow__item:nth-child(5) .p-page-concept-flow__item__wrapper {
    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: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
    margin-left: clamp(-71.68px, -3.7333333333vw, -11.9466666667px);
  }
  .p-page-concept-flow__item:nth-child(5) .p-page-concept-flow__item__wrapper span {
    position: relative;
    padding-bottom: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
  }
  .p-page-concept-flow__item:nth-child(5) .p-page-concept-flow__item__wrapper span::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
    background: #002a7d;
  }
}
.p-page-concept-flow__item:nth-child(5)::after {
  display: none;
}
.p-page-concept-flow__item .dot {
  display: block;
  line-height: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
}
.p-page-concept-flow__item .house-img {
  width: clamp(14.0708888889px, 4.3971527778vw, 84.4253333333px);
  height: clamp(13.7777777778px, 4.3055555556vw, 82.6666666667px);
  margin-inline: auto;
  margin-top: clamp(1.3333333333px, 0.4166666667vw, 8px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__item .house-img {
    margin-top: 0px;
    width: clamp(44.3733333333px, 13.8666666667vw, 266.24px);
    height: clamp(43.52px, 13.6vw, 261.12px);
  }
}
.p-page-concept-flow__item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px));
  translate: 0 -50%;
  width: clamp(4px, 1.25vw, 24px);
  height: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #002a7d;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__item::after {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-page-concept-flow__item__wrapper {
    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;
  }
}

.p-page-concept-flow__step-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(13.3333333333px, 4.1666666667vw, 80px);
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step-contents {
    margin-top: clamp(51.2px, 16vw, 307.2px);
    gap: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-page-concept-flow__step {
  background: url(./assets/img/bg-tree-1.webp) no-repeat center center/cover;
  padding-top: clamp(15.5555555556px, 4.8611111111vw, 93.3333333333px);
  padding-inline: clamp(13.3333333333px, 4.1666666667vw, 80px);
  padding-bottom: clamp(13.3333333333px, 4.1666666667vw, 80px);
  border-bottom: clamp(1.3333333333px, 0.4166666667vw, 8px) solid #002a7d;
  height: clamp(66.6666666667px, 20.8333333333vw, 400px);
  /* 適切な高さを指定 */
  width: 100%;
  /* 幅も必要に応じて */
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step {
    height: clamp(278.1866666667px, 86.9333333333vw, 1669.12px);
    padding-inline: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    padding-block: clamp(25.6px, 8vw, 153.6px);
    border-bottom-width: clamp(5.12px, 1.6vw, 30.72px);
  }
}
.p-page-concept-flow__step:nth-child(1) h3 {
  padding-left: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step:nth-child(1) h3 {
    font-size: clamp(25.6px, 8vw, 153.6px);
    padding-left: 0px;
  }
}
.p-page-concept-flow__step:nth-child(5) {
  height: clamp(72.4444444444px, 22.6388888889vw, 434.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step:nth-child(5) {
    height: clamp(298.6666666667px, 93.3333333333vw, 1792px);
  }
}
.p-page-concept-flow__step::before {
  content: "";
  position: absolute;
  left: 50%;
  translate: -50%;
  top: calc(100% + clamp(2px, 0.625vw, 12px));
  width: clamp(0.6666666667px, 0.2083333333vw, 4px);
  height: clamp(13.3333333333px, 4.1666666667vw, 80px);
  background: url(./assets/img/concept-flow-dots.svg) no-repeat top center/cover;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step::before {
    width: clamp(2.56px, 0.8vw, 15.36px);
    height: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    top: calc(100% + clamp(5.12px, 1.6vw, 30.72px));
  }
}

.p-page-concept-flow__step--head {
  display: inline-block;
  padding-bottom: clamp(3.5555555556px, 1.1111111111vw, 21.3333333333px);
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-page-concept-flow__step--head::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: clamp(1.3333333333px, 0.4166666667vw, 8px);
  background: #002a7d;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step--head {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
  }
  .p-page-concept-flow__step--head::after {
    height: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
  }
}

.p-page-concept-flow__step--text {
  font-family: "Montserrat", "Arial", sans-serif;
  font-weight: 600;
  font-size: clamp(4.6666666667px, 1.4583333333vw, 28px);
  letter-spacing: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px);
  line-height: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step--text {
    font-size: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
    line-height: clamp(30.72px, 9.6vw, 184.32px);
    letter-spacing: 0px;
  }
}

.p-page-concept-flow__step--num {
  font-family: "Montserrat", "Arial", sans-serif;
  font-weight: 600;
  font-size: clamp(9.5555555556px, 2.9861111111vw, 57.3333333333px);
  line-height: clamp(8px, 2.5vw, 48px);
  /* 83.721% */
  padding-left: clamp(1.1111111111px, 0.3472222222vw, 6.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step--num {
    font-size: clamp(29.0133333333px, 9.0666666667vw, 174.08px);
    line-height: clamp(30.72px, 9.6vw, 184.32px);
    letter-spacing: clamp(3.4816px, 1.088vw, 20.8896px);
    padding-bottom: clamp(5.12px, 1.6vw, 30.72px);
  }
}

.p-page-concept-flow__step h3 {
  font-size: clamp(9.3333333333px, 2.9166666667vw, 56px);
  font-weight: 600;
  line-height: clamp(9.3333333333px, 2.9166666667vw, 56px);
  /* 100% */
  padding-left: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  padding-left: clamp(4px, 1.25vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step h3 {
    font-size: clamp(20.48px, 6.4vw, 122.88px);
    line-height: clamp(35.84px, 11.2vw, 215.04px);
    width: 100%;
    padding-left: 0;
    margin-top: clamp(-25.6px, -1.3333333333vw, -4.2666666667px);
    white-space: nowrap;
  }
}

.p-page-concept-flow__step p {
  margin-top: clamp(6.8888888889px, 2.1527777778vw, 41.3333333333px);
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  /* 144.444% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__step p {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(17.92px, 5.6vw, 107.52px);
    margin-right: clamp(-25.6px, -1.3333333333vw, -4.2666666667px);
  }
}

.p-page-concept-flow__contents-support {
  margin-top: clamp(13.3333333333px, 4.1666666667vw, 80px);
  background: #002a7d;
  -webkit-clip-path: polygon(0 22%, 50% 0, 100% 22%, 100% 100%, 0 100%);
          clip-path: polygon(0 22%, 50% 0, 100% 22%, 100% 100%, 0 100%);
  padding-top: clamp(44.6666666667px, 13.9583333333vw, 268px);
  padding-inline: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-bottom: clamp(17.5555555556px, 5.4861111111vw, 105.3333333333px);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__contents-support {
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    margin-inline: clamp(12.8px, 4vw, 76.8px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    padding-top: clamp(83.6266666667px, 26.1333333333vw, 501.76px);
    gap: 0;
    padding-inline: clamp(12.8px, 4vw, 76.8px);
    padding-bottom: clamp(46.08px, 14.4vw, 276.48px);
    -webkit-clip-path: polygon(0 11%, 50% 0, 100% 11%, 100% 100%, 0 100%);
            clip-path: polygon(0 11%, 50% 0, 100% 11%, 100% 100%, 0 100%);
  }
}

.p-page-concept-flow__texts {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__texts {
    display: contents;
  }
}

.p-page-concept-flow__title--sub {
  font-family: "Montserrat", "Arial", sans-serif;
  font-size: clamp(4.6666666667px, 1.4583333333vw, 28px);
  line-height: clamp(8px, 2.5vw, 48px); /* 171.429% */
  letter-spacing: clamp(0.3777777778px, 0.1180555556vw, 2.2666666667px);
  padding-bottom: clamp(1.3333333333px, 0.4166666667vw, 8px);
  position: relative;
}
.p-page-concept-flow__title--sub::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: clamp(1.3333333333px, 0.4166666667vw, 8px);
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__title--sub {
    font-size: clamp(14.5066666667px, 4.5333333333vw, 87.04px);
    line-height: clamp(30.72px, 9.6vw, 184.32px);
    letter-spacing: clamp(1.7408px, 0.544vw, 10.4448px);
    letter-spacing: clamp(1.28px, 0.4vw, 7.68px);
    padding-bottom: 0px;
  }
  .p-page-concept-flow__title--sub::before {
    height: clamp(3.4133333333px, 1.0666666667vw, 20.48px);
  }
}

.p-page-concept-flow__title--main {
  margin-top: clamp(6.8888888889px, 2.1527777778vw, 41.3333333333px);
  font-size: clamp(9.3333333333px, 2.9166666667vw, 56px);
  font-weight: 600;
  line-height: clamp(9.3333333333px, 2.9166666667vw, 56px); /* 100% */
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__title--main {
    font-size: clamp(25.6px, 8vw, 153.6px);
    line-height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    margin-top: clamp(12.8px, 4vw, 76.8px);
    padding-inline: clamp(8.5333333333px, 2.6666666667vw, 51.2px);
  }
}

.p-page-concept-flow__message {
  margin-top: clamp(6.6666666667px, 2.0833333333vw, 40px);
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px); /* 144.444% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__message {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    text-align: left;
  }
}
.p-page-concept-flow__message .space {
  width: clamp(1.3333333333px, 0.4166666667vw, 8px);
  display: inline-block;
}

.p-page-concept-flow__img {
  width: clamp(92.4444444444px, 28.8888888889vw, 554.6666666667px);
  height: 100%;
  margin-top: clamp(0.6666666667px, 0.2083333333vw, 4px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-flow__img {
    width: clamp(268.8px, 84vw, 1612.8px);
    height: clamp(153.6px, 48vw, 921.6px);
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-concept-faq {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: clamp(33.3333333333px, 10.4166666667vw, 200px);
  position: relative;
  z-index: 1;
}
.p-page-concept-faq::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url(./assets/img/bg-tree-1.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-page-concept-faq {
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-page-concept-faq__img {
  width: clamp(42px, 13.125vw, 252px);
  height: clamp(40px, 12.5vw, 240px);
  margin-top: clamp(-74.6666666667px, -3.8888888889vw, -12.4444444444px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-page-concept-faq__img {
    width: clamp(125.44px, 39.2vw, 752.64px);
    height: clamp(119.4666666667px, 37.3333333333vw, 716.8px);
    margin-top: clamp(-230.4px, -12vw, -38.4px);
  }
}

.p-page-concept-faq__message {
  text-align: center;
  font-size: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  font-weight: 600;
  line-height: clamp(9.3333333333px, 2.9166666667vw, 56px);
  /* 161.538% */
  margin-top: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-concept-faq__message {
    font-size: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    line-height: clamp(35.84px, 11.2vw, 215.04px);
    margin-top: clamp(15.36px, 4.8vw, 92.16px);
  }
}

.p-page-concept-faq__link {
  margin-top: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-concept-faq__link {
    margin-top: clamp(25.6px, 8vw, 153.6px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-about-about {
  padding-top: clamp(32.6666666667px, 10.2083333333vw, 196px);
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-page-about-about {
    padding-top: 55px;
  }
  .p-page-about-about .l-page-section__titles {
    margin-left: clamp(-76.8px, -4vw, -12.8px);
  }
}

.p-page-about-about__contents {
  margin-top: clamp(8.4444444444px, 2.6388888889vw, 50.6666666667px);
}

.p-page-about-about__inner {
  padding-inline: clamp(37.7777777778px, 11.8055555556vw, 226.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-about__inner {
    padding-inline: 0px;
  }
}

.p-page-about-about__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-page-about-about__info-item {
  border-bottom: 1px solid #c9c9c9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px);
  padding-bottom: clamp(5.3333333333px, 1.6666666667vw, 32px);
}
.p-page-about-about__info-item.pb-small {
  padding-bottom: clamp(3.1111111111px, 0.9722222222vw, 18.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-about__info-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    padding-bottom: clamp(16.2133333333px, 5.0666666667vw, 97.28px);
  }
}

.p-page-about-about__info-title {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  /* 177.778% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: clamp(40px, 12.5vw, 240px);
}
@media screen and (max-width: 767px) {
  .p-page-about-about__info-title {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    width: 100%;
  }
}

.p-page-about-about__info-text {
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px);
  /* 177.778% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: clamp(15.5555555556px, 4.8611111111vw, 93.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-about-about__info-text {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(20.48px, 6.4vw, 122.88px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-about-access {
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
  position: relative;
}
.p-page-about-access::before {
  content: "";
  position: absolute;
  top: clamp(56.4444444444px, 17.6388888889vw, 338.6666666667px);
  bottom: 0;
  left: 0;
  right: 0;
  background: #f9f7f3;
}
@media screen and (max-width: 767px) {
  .p-page-about-access {
    padding-top: clamp(49.4933333333px, 15.4666666667vw, 296.96px);
    padding-bottom: clamp(66.56px, 20.8vw, 399.36px);
  }
  .p-page-about-access .l-page-section__titles {
    margin-left: clamp(-76.8px, -4vw, -12.8px);
  }
  .p-page-about-access::before {
    top: clamp(99.84px, 31.2vw, 599.04px);
  }
}

.p-page-about-access__contents {
  margin-top: clamp(17.5555555556px, 5.4861111111vw, 105.3333333333px);
  background: white;
  position: relative;
  width: clamp(284.4444444444px, 88.8888888889vw, 1706.6666666667px);
  height: clamp(145.1111111111px, 45.3472222222vw, 870.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-access__contents {
    width: clamp(294.4px, 92vw, 1766.4px);
    height: clamp(512px, 160vw, 3072px);
  }
}

.p-page-about-access__map {
  position: absolute;
  top: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  left: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  right: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  bottom: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
}
.p-page-about-access__map iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-page-about-access__map {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-about-office {
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-page-about-office {
    padding-top: clamp(49.4933333333px, 15.4666666667vw, 296.96px);
  }
  .p-page-about-office .l-page-section__titles {
    margin-left: clamp(-76.8px, -4vw, -12.8px);
  }
}

.p-page-about-office__img-1 {
  width: clamp(128.2222222222px, 40.0694444444vw, 769.3333333333px);
  height: clamp(63.5555555556px, 19.8611111111vw, 381.3333333333px);
  margin-top: clamp(42px, 13.125vw, 252px);
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-1 {
    width: clamp(109.2266666667px, 34.1333333333vw, 655.36px);
    height: clamp(169.8133333333px, 53.0666666667vw, 1018.88px);
    margin-top: clamp(101.5466666667px, 31.7333333333vw, 609.28px);
  }
}

.p-page-about-office__img-2 {
  width: clamp(78.8888888889px, 24.6527777778vw, 473.3333333333px);
  height: clamp(101.1111111111px, 31.5972222222vw, 606.6666666667px);
  margin-top: clamp(-526.6666666667px, -27.4305555556vw, -87.7777777778px);
  margin-left: clamp(132.6666666667px, 41.4583333333vw, 796px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-2 {
    width: clamp(168.1066666667px, 52.5333333333vw, 1008.64px);
    height: clamp(215.04px, 67.2vw, 1290.24px);
    margin-top: clamp(-1479.68px, -77.0666666667vw, -246.6133333333px);
    margin-left: clamp(126.2933333333px, 39.4666666667vw, 757.76px);
  }
}

.p-page-about-office__img-3 {
  width: clamp(41.7777777778px, 13.0555555556vw, 250.6666666667px);
  height: clamp(40.4444444444px, 12.6388888889vw, 242.6666666667px);
  margin-top: clamp(-472px, -24.5833333333vw, -78.6666666667px);
  margin-left: clamp(218.6666666667px, 68.3333333333vw, 1312px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-3 {
    width: clamp(88.7466666667px, 27.7333333333vw, 532.48px);
    height: clamp(83.6266666667px, 26.1333333333vw, 501.76px);
    margin-top: clamp(189.44px, 59.2vw, 1136.64px);
    margin-left: clamp(54.6133333333px, 17.0666666667vw, 327.68px);
  }
}

.p-page-about-office__img-4 {
  width: clamp(90px, 28.125vw, 540px);
  height: clamp(76.2222222222px, 23.8194444444vw, 457.3333333333px);
  margin-left: clamp(194.4444444444px, 60.7638888889vw, 1166.6666666667px);
  margin-top: clamp(5.1111111111px, 1.5972222222vw, 30.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-4 {
    width: clamp(110.08px, 34.4vw, 660.48px);
    height: clamp(93.0133333333px, 29.0666666667vw, 558.08px);
    margin-top: clamp(-1571.84px, -81.8666666667vw, -261.9733333333px);
    margin-left: clamp(197.12px, 61.6vw, 1182.72px);
  }
}

.p-page-about-office__img-5 {
  width: clamp(45.7777777778px, 14.3055555556vw, 274.6666666667px);
  height: clamp(45.7777777778px, 14.3055555556vw, 274.6666666667px);
  margin-top: clamp(-205.3333333333px, -10.6944444444vw, -34.2222222222px);
  margin-left: clamp(16px, 5vw, 96px);
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-5 {
    display: none;
  }
}

.p-page-about-office__img-6 {
  width: clamp(42.8888888889px, 13.4027777778vw, 257.3333333333px);
  height: clamp(54.6666666667px, 17.0833333333vw, 328px);
  margin-top: clamp(-116px, -6.0416666667vw, -19.3333333333px);
  margin-left: clamp(50.6666666667px, 15.8333333333vw, 304px);
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-6 {
    width: 102px;
    height: 136px;
    margin-top: -4px;
    margin-left: -15px;
  }
}

.p-page-about-office__img-7 {
  width: clamp(45.7777777778px, 14.3055555556vw, 274.6666666667px);
  height: clamp(45.7777777778px, 14.3055555556vw, 274.6666666667px);
  margin-top: clamp(-593.3333333333px, -30.9027777778vw, -98.8888888889px);
  margin-left: clamp(66.2222222222px, 20.6944444444vw, 397.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-7 {
    width: clamp(97.28px, 30.4vw, 583.68px);
    height: clamp(97.28px, 30.4vw, 583.68px);
    margin-top: clamp(-1049.6px, -54.6666666667vw, -174.9333333333px);
    margin-left: clamp(69.12px, 21.6vw, 414.72px);
  }
}

.p-page-about-office__img-8 {
  width: clamp(73.5555555556px, 22.9861111111vw, 441.3333333333px);
  height: clamp(99.1111111111px, 30.9722222222vw, 594.6666666667px);
  margin-top: clamp(-194.6666666667px, -10.1388888889vw, -32.4444444444px);
  margin-left: clamp(116.4444444444px, 36.3888888889vw, 698.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-office__img-8 {
    width: clamp(140.8px, 44vw, 844.8px);
    height: clamp(190.2933333333px, 59.4666666667vw, 1141.76px);
    margin-top: clamp(-107.52px, -5.6vw, -17.92px);
    margin-left: clamp(147.6266666667px, 46.1333333333vw, 885.76px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-about-faq {
  padding-top: clamp(32.2222222222px, 10.0694444444vw, 193.3333333333px);
}
.p-page-about-faq .l-page-section__title--ja {
  padding-top: clamp(2.4444444444px, 0.7638888889vw, 14.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-faq {
    padding-top: clamp(47.7866666667px, 14.9333333333vw, 286.72px);
    padding-bottom: clamp(50.3466666667px, 15.7333333333vw, 302.08px);
  }
  .p-page-about-faq .l-page-section__titles {
    margin-left: clamp(-76.8px, -4vw, -12.8px);
  }
  .p-page-about-faq .l-section__inner {
    padding-inline: 0px;
  }
}

.p-page-about-faq__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(6px, 1.875vw, 36px);
  margin-top: clamp(12.6666666667px, 3.9583333333vw, 76px);
  padding-bottom: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-about-faq__list {
    margin-top: clamp(25.6px, 8vw, 153.6px);
    gap: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
  }
}

.p-page-about-faq__item {
  padding-top: clamp(7.3333333333px, 2.2916666667vw, 44px);
  padding-inline: clamp(6.6666666667px, 2.0833333333vw, 40px);
  padding-bottom: clamp(6.6666666667px, 2.0833333333vw, 40px);
  background: #f9f7f3;
}
@media screen and (max-width: 767px) {
  .p-page-about-faq__item {
    padding-top: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    padding-inline: clamp(12.8px, 4vw, 76.8px);
    padding-bottom: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
  }
  .p-page-about-faq__item:nth-child(1), .p-page-about-faq__item:nth-child(4), .p-page-about-faq__item:nth-child(5), .p-page-about-faq__item:nth-child(6) {
    padding-top: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
  }
}
.p-page-about-faq__item:nth-child(even) {
  background: #edede7;
}
.p-page-about-faq__item dt,
.p-page-about-faq__item dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-page-about-faq__item dt {
  padding-bottom: clamp(6.6666666667px, 2.0833333333vw, 40px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-about-faq__item dt {
    padding-bottom: clamp(11.0933333333px, 3.4666666667vw, 66.56px);
    padding-left: clamp(5.12px, 1.6vw, 30.72px);
    padding-right: clamp(0px, 0vw, 0px);
  }
}
.p-page-about-faq__item dt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #c9c9c9;
}
.p-page-about-faq__item dd {
  padding-top: clamp(6.6666666667px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-page-about-faq__item dd {
    padding-inline: clamp(5.12px, 1.6vw, 30.72px);
    padding-top: clamp(11.9466666667px, 3.7333333333vw, 71.68px);
  }
}

.question-text {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.1111111111px, 2.2222222222vw, 42.6666666667px); /* 177.778% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  padding-top: clamp(0.6666666667px, 0.2083333333vw, 4px);
}
@media screen and (max-width: 767px) {
  .question-text {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
  }
}

.answer-text {
  font-size: clamp(4px, 1.25vw, 24px);
  line-height: clamp(5.7777777778px, 1.8055555556vw, 34.6666666667px); /* 144.444% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  padding-top: clamp(1.3333333333px, 0.4166666667vw, 8px);
}
@media screen and (max-width: 767px) {
  .answer-text {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    padding-top: 0px;
  }
}
.answer-text .space {
  display: inline-block;
  width: 0;
}

.question-title,
.answer-title {
  display: inline-block;
  width: clamp(14px, 4.375vw, 84px);
  font-family: "Montserrat", "Arial", sans-serif;
  line-height: clamp(8px, 2.5vw, 48px); /* 171.429% */
  letter-spacing: clamp(1.1111111111px, 0.3472222222vw, 6.6666666667px);
  font-size: clamp(4.6666666667px, 1.4583333333vw, 28px);
  font-weight: 600;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .question-title,
  .answer-title {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(18.7733333333px, 5.8666666667vw, 112.64px);
    letter-spacing: clamp(1.6384px, 0.512vw, 9.8304px);
    width: clamp(35.84px, 11.2vw, 215.04px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-about-message {
  padding-top: clamp(22.2222222222px, 6.9444444444vw, 133.3333333333px);
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-page-about-message {
    padding-top: clamp(51.2px, 16vw, 307.2px);
  }
}

.p-page-about-message__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(9.1111111111px, 2.8472222222vw, 54.6666666667px);
  z-index: -1;
  background: url(./assets/img/bg-tree-4.webp) no-repeat center center/cover;
  -webkit-clip-path: polygon(0 20%, 50% 0, 100% 20%, 100% 100%, 0 100%);
          clip-path: polygon(0 20%, 50% 0, 100% 20%, 100% 100%, 0 100%);
  padding-top: clamp(46.2222222222px, 14.4444444444vw, 277.3333333333px);
  padding-inline: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-bottom: clamp(16.8888888889px, 5.2777777778vw, 101.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__contents {
    padding-top: clamp(75.0933333333px, 23.4666666667vw, 450.56px);
    padding-inline: clamp(38.4px, 12vw, 230.4px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: clamp(51.2px, 16vw, 307.2px);
    -webkit-clip-path: polygon(0 7%, 50% 0, 100% 7%, 100% 100%, 0 100%);
            clip-path: polygon(0 7%, 50% 0, 100% 7%, 100% 100%, 0 100%);
  }
}

.p-page-about-message__image {
  margin-top: clamp(0.6666666667px, 0.2083333333vw, 4px);
  width: clamp(55.5555555556px, 17.3611111111vw, 333.3333333333px);
  height: clamp(70.2222222222px, 21.9444444444vw, 421.3333333333px);
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-page-about-message__image {
    width: clamp(217.6px, 68vw, 1305.6px);
    height: clamp(213.3333333333px, 66.6666666667vw, 1280px);
  }
  .p-page-about-message__image img {
    -o-object-fit: revert;
       object-fit: revert;
  }
}

.p-page-about-message__image-kuma {
  position: absolute;
  width: clamp(35.5555555556px, 11.1111111111vw, 213.3333333333px);
  height: clamp(40.8888888889px, 12.7777777778vw, 245.3333333333px);
  right: clamp(-60px, -3.125vw, -10px);
  bottom: clamp(-84px, -4.375vw, -14px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__image-kuma {
    bottom: clamp(-143.36px, -7.4666666667vw, -23.8933333333px);
    right: clamp(-281.6px, -14.6666666667vw, -46.9333333333px);
    width: clamp(124.5866666667px, 38.9333333333vw, 747.52px);
    height: clamp(141.6533333333px, 44.2666666667vw, 849.92px);
  }
}

@media screen and (max-width: 767px) {
  .p-page-about-message__texts {
    margin-top: clamp(23.04px, 7.2vw, 138.24px);
    text-align: center;
  }
}

.p-page-about-message__title {
  font-size: clamp(10px, 3.125vw, 60px);
  font-weight: 600;
  line-height: clamp(14.6666666667px, 4.5833333333vw, 88px); /* 146.667% */
  letter-spacing: clamp(0.8px, 0.25vw, 4.8px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__title {
    font-size: clamp(20.48px, 6.4vw, 122.88px);
    line-height: clamp(27.3066666667px, 8.5333333333vw, 163.84px);
    letter-spacing: clamp(1.6384px, 0.512vw, 9.8304px);
  }
}

.p-page-about-message__message {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px); /* 188.889% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  margin-top: clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px);
  white-space: nowrap;
}
.p-page-about-message__message .space {
  display: inline-block;
  width: clamp(1.1111111111px, 0.3472222222vw, 6.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__message {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    white-space: revert;
    margin-top: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    margin-inline: clamp(-128px, -6.6666666667vw, -21.3333333333px);
    text-align: left;
  }
}

.p-page-about-message__signature {
  font-size: clamp(4.4444444444px, 1.3888888889vw, 26.6666666667px);
  font-weight: 600;
  line-height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px); /* 170% */
  letter-spacing: clamp(0.3555555556px, 0.1111111111vw, 2.1333333333px);
  text-align: right;
  margin-top: clamp(5.5555555556px, 1.7361111111vw, 33.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__signature {
    font-size: clamp(12.8px, 4vw, 76.8px);
    line-height: clamp(29.0133333333px, 9.0666666667vw, 174.08px);
    letter-spacing: clamp(1.024px, 0.32vw, 6.144px);
    margin-top: clamp(19.6266666667px, 6.1333333333vw, 117.76px);
    text-align: center;
  }
}

.p-page-about-message__signature .name {
  font-size: clamp(6.6666666667px, 2.0833333333vw, 40px);
  letter-spacing: clamp(0.5333333333px, 0.1666666667vw, 3.2px);
  padding-left: clamp(4.6666666667px, 1.4583333333vw, 28px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__signature .name {
    font-size: clamp(21.3333333333px, 6.6666666667vw, 128px);
    line-height: clamp(29.0133333333px, 9.0666666667vw, 174.08px);
    letter-spacing: clamp(1.7066666667px, 0.5333333333vw, 10.24px);
    padding-left: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
  }
}

.p-page-about-message__license-images {
  padding-top: clamp(33.3333333333px, 10.4166666667vw, 200px);
  width: 100%;
  max-width: clamp(254.8888888889px, 79.6527777778vw, 1529.3333333333px);
  margin-inline: auto;
  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: clamp(12.2222222222px, 3.8194444444vw, 73.3333333333px);
  /* margin: 0 auto; */
}
@media screen and (max-width: 767px) {
  .p-page-about-message__license-images {
    padding-top: clamp(51.2px, 16vw, 307.2px);
    max-width: revert;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: revert;
        -ms-flex-pack: revert;
            justify-content: revert;
    gap: clamp(25.6px, 8vw, 153.6px);
    padding-bottom: clamp(20.48px, 6.4vw, 122.88px);
  }
}

.p-page-about-message__license-image {
  /* width: 100%;
        height: auto; */
  width: clamp(121.3333333333px, 37.9166666667vw, 728px);
  height: clamp(169.7777777778px, 53.0555555556vw, 1018.6666666667px);
}
@media screen and (max-width: 767px) {
  .p-page-about-message__license-image {
    width: clamp(226.1333333333px, 70.6666666667vw, 1356.8px);
    height: clamp(316.5866666667px, 98.9333333333vw, 1899.52px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.p-page-about-concept {
  padding-top: clamp(21.7777777778px, 6.8055555556vw, 130.6666666667px);
  padding-bottom: clamp(10.6666666667px, 3.3333333333vw, 64px);
}
@media screen and (max-width: 767px) {
  .p-page-about-concept {
    padding-top: clamp(48.64px, 15.2vw, 291.84px);
    padding-bottom: 0px;
  }
  .p-page-about-concept .l-page-section__title--en {
    letter-spacing: 0;
  }
}

.p-page-about-concept__circles {
  position: relative;
  width: clamp(144.2222222222px, 45.0694444444vw, 865.3333333333px);
  height: clamp(144.2222222222px, 45.0694444444vw, 865.3333333333px);
  border-radius: 50%;
  margin-inline: auto;
  margin-top: clamp(47.5555555556px, 14.8611111111vw, 285.3333333333px);
  --circumference-pc: clamp(453.0870911111px, 141.5897159722vw, 2718.5225466667px);
  --circumference-sp: clamp(697.0141013333px, 217.8169066667vw, 4182.084608px);
}
@media screen and (max-width: 767px) {
  .p-page-about-concept__circles {
    width: clamp(221.8666666667px, 69.3333333333vw, 1331.2px);
    height: clamp(221.8666666667px, 69.3333333333vw, 1331.2px);
    border-size: clamp(0.8533333333px, 0.2666666667vw, 5.12px);
    margin-top: clamp(75.0933333333px, 23.4666666667vw, 450.56px);
  }
}
.p-page-about-concept__circles svg {
  width: 100%;
  height: 100%;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  position: relative;
  z-index: -1;
}
.p-page-about-concept__circles circle {
  stroke: black;
  fill: none;
  stroke-width: 1px;
  stroke-dasharray: 0 var(--circumference-pc);
  -webkit-transition: stroke-dasharray 1.5s ease-in-out;
  transition: stroke-dasharray 1.5s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-page-about-concept__circles circle {
    stroke-dasharray: 0 var(--circumference-sp);
  }
}
.p-page-about-concept__circles.is-appear circle {
  stroke-dasharray: var(--circumference-pc) var(--circumference-pc);
}
@media screen and (max-width: 767px) {
  .p-page-about-concept__circles.is-appear circle {
    stroke-dasharray: var(--circumference-sp) var(--circumference-sp);
  }
}
.p-page-about-concept__circles.is-appear .p-page-about-concept__circle {
  scale: 1;
}

.p-page-about-concept__circle {
  width: clamp(78.8888888889px, 24.6527777778vw, 473.3333333333px);
  height: clamp(78.8888888889px, 24.6527777778vw, 473.3333333333px);
  border-radius: 50%;
  position: absolute;
  content: "";
  display: grid;
  place-items: center;
  -webkit-transition: all 1s;
  transition: all 1s;
  scale: 0;
}
.p-page-about-concept__circle:nth-child(1) {
  background: #235dd1;
  position: absolute;
  bottom: calc(100% + clamp(-277.3333333333px, -14.4444444444vw, -46.2222222222px));
  left: 50%;
  translate: -50% 0;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.p-page-about-concept__circle:nth-child(2) {
  bottom: clamp(8.4444444444px, 2.6388888889vw, 50.6666666667px);
  right: clamp(-144px, -7.5vw, -24px);
  background: #033497;
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.p-page-about-concept__circle:nth-child(3) {
  bottom: clamp(8.4444444444px, 2.6388888889vw, 50.6666666667px);
  left: clamp(-144px, -7.5vw, -24px);
  background: #062054;
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
@media screen and (max-width: 767px) {
  .p-page-about-concept__circle {
    width: clamp(121.1733333333px, 37.8666666667vw, 727.04px);
    height: clamp(121.1733333333px, 37.8666666667vw, 727.04px);
  }
  .p-page-about-concept__circle:nth-child(1) {
    bottom: calc(100% + clamp(-419.84px, -21.8666666667vw, -69.9733333333px));
  }
  .p-page-about-concept__circle:nth-child(2) {
    bottom: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    right: clamp(-225.28px, -11.7333333333vw, -37.5466666667px);
  }
  .p-page-about-concept__circle:nth-child(3) {
    bottom: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    left: clamp(-225.28px, -11.7333333333vw, -37.5466666667px);
  }
}

.p-page-about-concept__circle--texts {
  color: #fff;
  text-align: center;
}

.p-page-about-concept__title {
  font-size: clamp(10px, 3.125vw, 60px);
  font-weight: 600;
  line-height: clamp(12.2222222222px, 3.8194444444vw, 73.3333333333px);
  letter-spacing: clamp(0.8px, 0.25vw, 4.8px);
  padding-top: clamp(8px, 2.5vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-page-about-concept__title {
    font-size: clamp(17.0666666667px, 5.3333333333vw, 102.4px);
    line-height: clamp(21.3333333333px, 6.6666666667vw, 128px);
    letter-spacing: clamp(1.3653333333px, 0.4266666667vw, 8.192px);
    padding-top: clamp(10.24px, 3.2vw, 61.44px);
  }
}

.p-page-about-concept__sub-title {
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(4.6666666667px, 1.4583333333vw, 28px);
  font-weight: 600;
  line-height: clamp(8px, 2.5vw, 48px);
  /* 171.429% */
  letter-spacing: clamp(0.56px, 0.175vw, 3.36px);
  margin-top: clamp(3.3333333333px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-page-about-concept__sub-title {
    font-size: clamp(12.8px, 4vw, 76.8px);
    line-height: clamp(12.8px, 4vw, 76.8px);
    letter-spacing: clamp(1.536px, 0.48vw, 9.216px);
    margin-top: clamp(7.68px, 2.4vw, 46.08px);
  }
}

.p-page-about-concept__message {
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: 600;
  line-height: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px);
  /* 188.889% */
  letter-spacing: clamp(0.32px, 0.1vw, 1.92px);
  margin-top: clamp(17.7777777778px, 5.5555555556vw, 106.6666666667px);
  padding-block: clamp(8.8888888889px, 2.7777777778vw, 53.3333333333px);
  padding-inline: clamp(2.2222222222px, 0.6944444444vw, 13.3333333333px);
  border-block: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px) solid #c9c9c9;
}
.p-page-about-concept__message span + span {
  margin-top: clamp(7.5555555556px, 2.3611111111vw, 45.3333333333px);
}
@media screen and (max-width: 767px) {
  .p-page-about-concept__message {
    font-size: clamp(13.6533333333px, 4.2666666667vw, 81.92px);
    line-height: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
    letter-spacing: clamp(1.0922666667px, 0.3413333333vw, 6.5536px);
    margin-top: clamp(34.1333333333px, 10.6666666667vw, 204.8px);
    padding-block: clamp(21.3333333333px, 6.6666666667vw, 128px);
    padding-inline: clamp(4.2666666667px, 1.3333333333vw, 25.6px);
  }
  .p-page-about-concept__message span + span {
    margin-top: clamp(23.8933333333px, 7.4666666667vw, 143.36px);
  }
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .is-sp {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .is-tab {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .is-tab {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .is-pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .is-pc {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .hidden-sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hidden-tab {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .hidden-pc {
    display: none !important;
  }
}

.display-none {
  display: none !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.display-inline-block {
  display: inline-block;
}

.animated__fadeIn {
  opacity: 0;
  translate: 0 40px;
  -webkit-transition: opacity 1s ease, translate 1s ease;
  transition: opacity 1s ease, translate 1s ease;
}
.animated__fadeIn.is-show {
  opacity: 1;
  translate: 0 0;
}

.js-scroll-down {
  opacity: 1;
  translate: 0 0;
  -webkit-transition: opacity 1s ease, translate 1s ease;
  transition: opacity 1s ease, translate 1s ease;
}
.js-scroll-down.is-hidden {
  opacity: 0;
  translate: 0 20px;
}

.js-to-top {
  opacity: 0;
  translate: 0 20px;
  -webkit-transition: opacity 1s ease, translate 1s ease;
  transition: opacity 1s ease, translate 1s ease;
  pointer-events: none;
}
.js-to-top.is-appear {
  opacity: 1;
  translate: 0 0;
  pointer-events: auto;
}

/******************************************************************
Theme Name: Original
Theme URI: 本テーマはオリジナルテーマです。
Description: 
Author: 
Author URI: 
Version: 1.0
******************************************************************/
.twentytwenty-handle {
  background: white;
  width: clamp(20px, 6.25vw, 120px);
  height: clamp(20.8888888889px, 6.5277777778vw, 125.3333333333px);
  margin-top: clamp(-66.6666666667px, -3.4722222222vw, -11.1111111111px);
  margin-left: clamp(-66.6666666667px, -3.4722222222vw, -11.1111111111px);
}
@media screen and (max-width: 767px) {
  .twentytwenty-handle {
    width: clamp(80.2133333333px, 25.0666666667vw, 481.28px);
    height: clamp(80.2133333333px, 25.0666666667vw, 481.28px);
    margin-top: clamp(-256px, -13.3333333333vw, -42.6666666667px);
    margin-left: clamp(-256px, -13.3333333333vw, -42.6666666667px);
  }
}

.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-horizontal .twentytwenty-handle:after {
  width: 2px;
}

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
  border: clamp(1.3333333333px, 0.4166666667vw, 8px) inset transparent;
  margin-top: clamp(-12px, -0.625vw, -2px);
}

.twentytwenty-left-arrow {
  margin-left: clamp(-60px, -3.125vw, -10px);
  border-top: solid transparent clamp(2px, 0.625vw, 12px);
  border-bottom: solid transparent clamp(2px, 0.625vw, 12px);
  border-right: #002a7d solid clamp(3.1111111111px, 0.9722222222vw, 18.6666666667px);
}

.twentytwenty-right-arrow {
  margin-right: clamp(-60px, -3.125vw, -10px);
  border-top: solid transparent clamp(2px, 0.625vw, 12px);
  border-bottom: solid transparent clamp(2px, 0.625vw, 12px);
  border-left: #002a7d solid clamp(3.1111111111px, 0.9722222222vw, 18.6666666667px);
}

@media screen and (max-width: 767px) {
  .twentytwenty-up-arrow,
  .twentytwenty-down-arrow {
    border: clamp(7.68px, 2.4vw, 46.08px) inset transparent;
  }
  .twentytwenty-up-arrow {
    border-bottom: 15px solid #002a7d;
    top: 50%;
    margin-top: clamp(-245.76px, -12.8vw, -40.96px);
    margin-left: clamp(-46.08px, -2.4vw, -7.68px);
  }
  .twentytwenty-down-arrow {
    border-top: 15px solid #002a7d;
    bottom: 50%;
    margin-bottom: clamp(-245.76px, -12.8vw, -40.96px);
    margin-left: clamp(-46.08px, -2.4vw, -7.68px);
  }
}
.twentytwenty-before-label:before,
.twentytwenty-after-label:before {
  color: white;
  background: transparent;
  font-family: "Tsukushi A Round Gothic", "Noto Sans JP", "Yu Gothic", sans-serif;
  font-size: clamp(4px, 1.25vw, 24px);
  font-weight: bold;
  letter-spacing: clamp(0.2222222222px, 0.0694444444vw, 1.3333333333px);
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .twentytwenty-before-label:before,
  .twentytwenty-after-label:before {
    font-size: clamp(15.36px, 4.8vw, 92.16px);
  }
}

.twentytwenty-horizontal .twentytwenty-before-label::before {
  left: 25%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.twentytwenty-horizontal .twentytwenty-after-label::before {
  right: 25%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

@media screen and (max-width: 767px) {
  .twentytwenty-vertical .twentytwenty-before-label:before {
    top: 25%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .twentytwenty-vertical .twentytwenty-after-label:before {
    bottom: 25%;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  .twentytwenty-vertical .twentytwenty-before-label:before,
  .twentytwenty-vertical .twentytwenty-after-label:before {
    translate: -50%;
    margin-left: revert;
    width: 100%;
  }
}
.twentytwenty-horizontal .twentytwenty-handle:before {
  margin-bottom: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  width: clamp(0.4444444444px, 0.1388888889vw, 2.6666666667px);
}

.twentytwenty-horizontal .twentytwenty-handle:after {
  margin-top: clamp(4.8888888889px, 1.5277777778vw, 29.3333333333px);
  width: clamp(0.4444444444px, 0.1388888889vw, 2.6666666667px);
}

@media screen and (max-width: 767px) {
  .twentytwenty-vertical .twentytwenty-handle:before {
    margin-left: clamp(40.96px, 12.8vw, 245.76px);
    height: clamp(2.56px, 0.8vw, 15.36px);
  }
  .twentytwenty-vertical .twentytwenty-handle:after {
    margin-right: clamp(40.96px, 12.8vw, 245.76px);
    height: clamp(2.56px, 0.8vw, 15.36px);
  }
}