@charset "UTF-8";
/* ======================================================================
 common style index
・reset
・setting
・base
・utility
・component
・layout
====================================================================== */
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/* 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 {
  -webkit-text-size-adjust: 100%; /* 2 */
  line-height: 1.15; /* 1 */
  -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 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* 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 {
  clear: both;
  overflow: visible; /* 2 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  margin: 0;
  height: 0; /* 1 */
  border: 0;
  border-top: 1px solid;
  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-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -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-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/**
 * 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 {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  text-align: inherit;
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

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

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

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  display: table; /* 1 */
  padding: 0; /* 3 */
  max-width: 100%; /* 1 */
  color: inherit; /* 2 */
  white-space: normal; /* 1 */
}

/**
 * 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;
}

/**
 * 1. 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. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  font: inherit; /* 2 */
  -webkit-appearance: button; /* 1 */
}

/**
 * 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] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-spacing: 0;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*
px -> vw
（SP時のみ使用）
*/
/* ======================================================================
 base
====================================================================== */
html {
  font-size: 62.5%;
}

body {
  color: #06190d;
  overflow-wrap: break-word;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-rendering: optimizeLegibility;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, sans-serif;
}

html,
body {
  width: 100%;
  height: 100%;
}

* {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* h1 - h6 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
}

/* a */
a {
  text-decoration: none;
}
a:link {
  color: #06190d;
  cursor: pointer;
}
a:visited {
  color: #06190d;
}
a:hover {
  color: #06190d;
}
a:active {
  color: #06190d;
}

a[href^=tel] {
  color: #06190d;
}

/* Text Highlight */
/* button */
button {
  display: block;
}

textarea {
  resize: vertical;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #06190d;
}

/* placeholder */
input:-moz-placeholder-shown, textarea:-moz-placeholder-shown {
  color: #06190d;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #06190d;
}
input:placeholder-shown,
textarea:placeholder-shown {
  color: #06190d;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #06190d;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #06190d;
  opacity: 1;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #06190d;
  opacity: 1;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #06190d;
}
input:focus:-moz-placeholder-shown, textarea:focus:-moz-placeholder-shown {
  color: #06190d;
}
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  color: #06190d;
}
input:focus:placeholder-shown,
textarea:focus:placeholder-shown {
  color: #06190d;
}
input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: #06190d;
}
input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: #06190d;
  opacity: 1;
}
input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: #06190d;
  opacity: 1;
}
input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: #06190d;
}

img {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* ======================================================================
 utility
====================================================================== */
/* =================================
 layout
================================= */
.u_cf:after {
  display: block;
  clear: both;
  content: "";
}

@media screen and (min-width: 769px) {
  .u_pc {
    display: block;
  }
  .u_pc_i {
    display: inline;
  }
  .u_pc_ib {
    display: inline-block;
  }
  .u_pc_f {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .u_pc_if {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  .u_sp {
    display: none;
  }
  .u_sp_i, .u_sp_ib, .u_sp_f, .u_sp_if {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .u_pc {
    display: none;
  }
  .u_pc_i, .u_pc_ib, .u_pc_f, .u_pc_if {
    display: none;
  }
  .u_sp {
    display: block;
  }
  .u_sp_i {
    display: inline;
  }
  .u_sp_ib {
    display: inline-block;
  }
  .u_sp_f {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .u_sp_if {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
/* =================================
 content_size
================================= */
.u_content_size {
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .u_content_size {
    margin: 0 auto;
    padding: 0;
    width: 1200px;
  }
}

/* =================================
 text
================================= */
.u-zen-kaku-font {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.u-zen-maru-font {
  font-family: "Zen Maru Gothic", sans-serif;
}

/* =================================
 text weight
================================= */
.u_lighter {
  font-weight: lighter;
}

.u_bold {
  font-weight: bold;
}

/* =================================
 text align
================================= */
.u_ta_c {
  text-align: center;
}

.u_ta_r {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .u_ta_cl {
    text-align: center;
  }
}

@media screen and (min-width: 769px) {
  .u_ta_lc {
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .u_ta_cr {
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .u_ta_cr {
    text-align: right;
  }
}

@media screen and (max-width: 768px) {
  .u_ta_rc {
    text-align: right;
  }
}
@media screen and (min-width: 769px) {
  .u_ta_rc {
    text-align: center;
  }
}

/* =================================
 paragraph margin
================================= */
.u_paragraph + .u_paragraph {
  margin: 15px 0 0;
}

/* =================================
 hover animation
================================= */
.u_hover_1 {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 769px) {
  .u_hover_1:hover {
    opacity: 0.7;
  }
}

/* =================================
 hoge
================================= */
/* ======================================================================
 component
====================================================================== */
/* =================================
 title
================================= */
.c_title_1 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .c_title_1 {
    margin-bottom: 5.3333333333vw;
  }
}
.c_title_1__en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  gap: 20px;
  color: #039c39;
  font-weight: 900;
  font-size: 4.1666666667vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .c_title_1__en {
    gap: 2.6666666667vw;
    font-size: 8vw;
  }
}
.c_title_1__en--wh {
  color: #fff;
}
.c_title_1__en--bk {
  color: #06190d;
}
.c_title_1__en_sup {
  color: #06190d;
  font-weight: 500;
  font-size: 0.8333333333vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .c_title_1__en_sup {
    font-size: 2.6666666667vw;
  }
}
.c_title_1__ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5208333333vw;
  font-weight: 700;
  font-size: 1.3020833333vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.44;
}
@media screen and (max-width: 768px) {
  .c_title_1__ja {
    gap: 1.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.c_title_1__ja:before {
  aspect-ratio: 1/1;
  width: 0.5208333333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  .c_title_1__ja:before {
    width: 1.3333333333vw;
  }
}
.c_title_1__ja--wh {
  color: #fff;
}
.c_title_1__ja--bk {
  color: #06190d;
}
.c_title_1__ja--circle_yellow:before {
  background: #fbd100;
}

.c_title_2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-bottom: 3.125vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c_title_2 {
    margin-bottom: 5.3333333333vw;
  }
}
.c_title_2__en {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  color: #039c39;
  font-weight: 900;
  font-size: 4.1666666667vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .c_title_2__en {
    gap: 2.6666666667vw;
    font-size: 8vw;
  }
}
.c_title_2__ja {
  font-weight: 700;
  font-size: 1.3020833333vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.44;
}
@media screen and (max-width: 768px) {
  .c_title_2__ja {
    font-size: 3.7333333333vw;
  }
}

.c_title_3 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-bottom: 3.125vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c_title_3 {
    margin-bottom: 5.3333333333vw;
  }
}
.c_title_3__en {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  color: #039c39;
  font-weight: 900;
  font-size: 3.125vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .c_title_3__en {
    font-size: 6.6666666667vw;
  }
}
.c_title_3__en--obj {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 0 1.8229166667vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .c_title_3__en--obj {
    padding: 0 5.3333333333vw;
  }
}
.c_title_3__en--obj:before, .c_title_3__en--obj:after {
  position: absolute;
  top: calc(50% - 15px);
  width: 0.15625vw;
  height: 2.34375vw;
  border-radius: 0.1041666667vw;
  background: #039c39;
  content: "";
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
@media screen and (max-width: 768px) {
  .c_title_3__en--obj:before, .c_title_3__en--obj:after {
    top: calc(50% - 1.3333333333vw);
    width: 0.5333333333vw;
    height: 5.3333333333vw;
  }
}
.c_title_3__en--obj:before {
  left: 0;
  -webkit-transform: scale(-1, 1) rotate(25deg);
          transform: scale(-1, 1) rotate(25deg);
}
.c_title_3__en--obj:after {
  right: 0;
}
.c_title_3__ja {
  font-weight: 700;
  font-size: 1.0416666667vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .c_title_3__ja {
    font-size: 3.7333333333vw;
  }
}

.c_title_4 {
  position: relative;
  z-index: 0;
  margin: 0 0 1.5625vw;
  padding: 2.6041666667vw 0 0 0;
}
@media screen and (max-width: 768px) {
  .c_title_4 {
    margin: 0 0 5.3333333333vw;
    padding: 5.3333333333vw 0 0 0;
  }
}
.c_title_4__en {
  position: absolute;
  top: 0;
  left: 1.5625vw;
  z-index: -1;
  color: rgba(125, 125, 125, 0.06);
  font-weight: 900;
  font-size: 3.6458333333vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.4428571429;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .c_title_4__en {
    left: 5.3333333333vw;
    font-size: 8vw;
  }
}
.c_title_4__ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6770833333vw;
  font-weight: 700;
  font-size: 1.0416666667vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.44;
}
@media screen and (max-width: 768px) {
  .c_title_4__ja {
    gap: 1.8666666667vw;
    font-size: 4.2666666667vw;
  }
}

.c_title_5 {
  margin: 0 0 1.8229166667vw;
  padding: 0 0 1.3020833333vw;
  border-bottom: 1px solid #039c39;
  font-weight: 700;
  font-size: 1.3020833333vw;
}
@media screen and (max-width: 768px) {
  .c_title_5 {
    margin: 0 0 5.3333333333vw;
    padding: 0 0 4vw;
    font-size: 5.3333333333vw;
  }
}

.c_title_6 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-bottom: 2.6041666667vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c_title_6 {
    margin-bottom: 5.3333333333vw;
  }
}
.c_title_6__en {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  color: #06190d;
  font-weight: 900;
  font-size: 2.6041666667vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.44;
}
@media screen and (max-width: 768px) {
  .c_title_6__en {
    font-size: 6.6666666667vw;
  }
}
.c_title_6__ja {
  font-weight: 700;
  font-size: 1.0416666667vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .c_title_6__ja {
    font-size: 3.7333333333vw;
  }
}

/* =================================
 buttons
================================= */
.c_button_1 {
  position: relative;
  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;
  margin: 0 auto;
  max-width: 36.9791666667vw;
  width: 100%;
  height: 5.9895833333vw;
  border: 1px solid #039c39;
  background: #fff;
  -webkit-box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.08);
  font-weight: 500;
  font-size: 1.0416666667vw;
  font-family: "Zen Maru Gothic", sans-serif;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .c_button_1 {
    max-width: 100%;
    height: 13.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.c_button_1:hover {
  background: #e6f5ec;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  color: #039c39;
}
.c_button_1:hover .c_icon_btn_arw:before {
  background: #fff;
}
.c_button_1 .c_icon_btn_arw {
  top: 50%;
  right: 8.59375vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c_button_1 .c_icon_btn_arw {
    right: 5.3333333333vw;
  }
}

.c_button_2 {
  position: relative;
  display: block;
  padding: 0.8854166667vw 0 0.7291666667vw 2.6041666667vw;
  width: 13.8020833333vw;
  height: 2.8645833333vw;
  border: 1px solid #039c39;
  border-radius: 1.4583333333vw;
  background: #fff;
  -webkit-box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.08);
  font-weight: 500;
  font-size: 0.8333333333vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.5;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .c_button_2 {
    padding: 2.6666666667vw 0 2.6666666667vw 5.3333333333vw;
    width: 53.3333333333vw;
    height: 10.6666666667vw;
    border-radius: 5.3333333333vw;
    -webkit-box-shadow: 0.8vw 0.8vw 2.1333333333vw rgba(0, 0, 0, 0.08);
            box-shadow: 0.8vw 0.8vw 2.1333333333vw rgba(0, 0, 0, 0.08);
    font-size: 3.7333333333vw;
  }
}
.c_button_2:hover {
  background: #e6f5ec;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  color: #039c39;
}
.c_button_2:hover .c_icon_btn_arw:before {
  background: #fff;
}
.c_button_2 .c_icon_btn_arw {
  top: 50%;
  right: 1.5625vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c_button_2 .c_icon_btn_arw {
    right: 2.6666666667vw;
  }
}
.c_button_2--ver2 {
  background: #e6f5ec;
  color: #039c39 !important;
}
.c_button_2--ver2 .c_icon_btn_arw:before {
  background: #fff;
}
.c_button_2--ver2:hover {
  background: #fff;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  color: #06190d !important;
}
.c_button_2--ver2:hover .c_icon_btn_arw:before {
  background: #e6f5ec;
}

/* =================================
 link
================================= */
.c_link_target {
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
.c_link_target:after {
  display: inline-block;
  margin: 0 0 0 0.5208333333vw;
  width: 0.625vw;
  height: 0.625vw;
  background: #039c39;
  content: "";
  -webkit-mask: url(../img/common/ico-external.svg) no-repeat center/contain;
          mask: url(../img/common/ico-external.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .c_link_target:after {
    margin: 0 0 0 1.3333333333vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.c_link_target:hover {
  color: #039c39 !important;
}

.c_link_chevron {
  position: relative;
  z-index: 0;
  padding-right: 1.3541666667vw;
  font-weight: 500;
  font-size: 0.8333333333vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .c_link_chevron {
    padding-right: 6.9333333333vw;
    font-size: 3.7333333333vw;
  }
}
.c_link_chevron:before {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -1;
  aspect-ratio: 1/1;
  width: 0.8333333333vw;
  border-radius: 50%;
  background: #fff;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c_link_chevron:before {
    width: 4.2666666667vw;
  }
}
.c_link_chevron .c_icon_chevron {
  position: absolute;
  top: 50%;
  right: 0.2083333333vw;
  width: 0.3645833333vw;
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}
@media screen and (max-width: 768px) {
  .c_link_chevron .c_icon_chevron {
    right: 1.0666666667vw;
    width: 1.8666666667vw;
  }
}

/* =================================
 icon
================================= */
.c_icon_btn_arw {
  position: absolute;
  z-index: 0;
  width: 3.0208333333vw;
  height: 1.875vw;
}
@media screen and (max-width: 768px) {
  .c_icon_btn_arw {
    width: 12.8vw;
    height: 6.6666666667vw;
  }
}
.c_icon_btn_arw:before, .c_icon_btn_arw:after {
  position: absolute;
  content: "";
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
.c_icon_btn_arw:before {
  top: 0;
  right: 0;
  z-index: -1;
  aspect-ratio: 1/1;
  width: 1.875vw;
  border-radius: 50%;
  background: #e6f5ec;
}
@media screen and (max-width: 768px) {
  .c_icon_btn_arw:before {
    width: 6.6666666667vw;
  }
}
.c_icon_btn_arw:after {
  top: 50%;
  left: 0;
  aspect-ratio: 44/6;
  width: 2.2916666667vw;
  background: #039c39;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-mask: url(../img/common/icon-arw.svg) no-repeat center/contain;
          mask: url(../img/common/icon-arw.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .c_icon_btn_arw:after {
    width: 9.0666666667vw;
  }
}

.c_icon_chevron {
  display: block;
  aspect-ratio: 13/10;
  width: 0.7291666667vw;
  background: #06190d;
  -webkit-mask: url(../img/common/ico-chevron.svg) no-repeat center/contain;
          mask: url(../img/common/ico-chevron.svg) no-repeat center/contain;
}

/* =================================
 tag
================================= */
.c_tag_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.2604166667vw 0.5208333333vw;
}
@media screen and (max-width: 768px) {
  .c_tag_list {
    gap: 1.3333333333vw;
  }
}
.c_tag_list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
  padding: 0.5208333333vw 1.0416666667vw;
  border-radius: 1.25vw;
  background: #f8f8f8;
  font-weight: 500;
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 768px) {
  .c_tag_list__item {
    gap: 0.5333333333vw;
    padding: 1.3333333333vw 4vw;
    border-radius: 6.4vw;
    font-size: 3.7333333333vw;
  }
}
.c_tag_list__item--wh {
  background: #fff;
}
.c_tag_list__item--gray {
  background: #e5e5e5;
}
.c_tag_list__item:before {
  content: "#";
}

a.c_tag_list__item {
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
a.c_tag_list__item:hover {
  background-color: #039c39;
  color: #fff;
}

/* =================================
 works
================================= */
.c_works_item__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-column: 1;
  grid-column: 1fr;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
.c_works_item__link:hover {
  opacity: 0.7;
}
.c_works_item__thumb {
  margin: 0 0 0.78125vw;
  aspect-ratio: 398/249;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c_works_item__thumb {
    margin: 0 0 2.6666666667vw;
  }
}
.c_works_item__thumb .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c_works_item__time {
  color: #8e8e8e;
  text-align: right;
  letter-spacing: 0.1em;
  font-size: 0.6770833333vw;
  line-height: 2.1538461538;
}
@media screen and (max-width: 768px) {
  .c_works_item__time {
    font-size: 3.2vw;
  }
}
.c_works_item__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5208333333vw;
  margin-top: 0.5208333333vw;
  height: 1.8229166667vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.9375vw;
  line-height: 1.4444444444;
}
@media screen and (max-width: 768px) {
  .c_works_item__title {
    gap: 2.6666666667vw;
    margin-top: 2.6666666667vw;
    height: auto;
    font-size: 4.2666666667vw;
  }
}
.c_works_item__title--pickup {
  padding: 0 0 0.78125vw;
  height: auto;
  border-bottom: 1px solid #039c39;
}
.c_works_item__txt {
  margin-top: 0.5208333333vw;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .c_works_item__txt {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c_works_item__new_ico {
  padding: 0.4166666667vw 0.78125vw;
  background: #039c39;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.6428571429;
}
@media screen and (max-width: 768px) {
  .c_works_item__new_ico {
    padding: 1.3333333333vw 2.6666666667vw;
    font-size: 3.2vw;
  }
}
.c_works_item__tbl {
  margin: 0.78125vw 0 0;
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .c_works_item__tbl {
    margin: 4vw 0 0;
    font-size: 3.7333333333vw;
  }
}
.c_works_item__tbl_item {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 3.3854166667vw 1fr;
  grid-template-columns: 3.3854166667vw 1fr;
  padding-top: 0.8333333333vw;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .c_works_item__tbl_item {
    -ms-grid-columns: 17.3333333333vw 1fr;
    grid-template-columns: 17.3333333333vw 1fr;
    padding-top: 4vw;
  }
}
.c_works_item__tbl_item + .c_works_item__tbl_item {
  margin-top: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .c_works_item__tbl_item + .c_works_item__tbl_item {
    margin-top: 4vw;
  }
}
.c_works_item__tbl_item:last-of-type {
  padding-bottom: 0.78125vw;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .c_works_item__tbl_item:last-of-type {
    padding-bottom: 4vw;
  }
}
.c_works_item__tbl_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3645833333vw;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .c_works_item__tbl_title {
    gap: 1.3333333333vw;
  }
}
.c_works_item__tbl_title:before {
  aspect-ratio: 1/1;
  width: 0.3645833333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  .c_works_item__tbl_title:before {
    width: 1.8666666667vw;
  }
}

/* =================================
 blog
================================= */
.c_blog_item__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-column: 1;
  grid-column: 1fr;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
.c_blog_item__link:hover {
  opacity: 0.7;
}
.c_blog_item__thumb {
  margin: 0 0 0.5208333333vw;
  aspect-ratio: 337/211;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c_blog_item__thumb {
    margin: 0 0 2.6666666667vw;
  }
}
.c_blog_item__thumb .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c_blog_item__time {
  color: #8e8e8e;
  text-align: right;
  letter-spacing: 0.1em;
  font-size: 0.6770833333vw;
  line-height: 2.1538461538;
}
@media screen and (max-width: 768px) {
  .c_blog_item__time {
    font-size: 3.2vw;
  }
}
.c_blog_item__tags {
  margin: 0 0 0.78125vw;
}
@media screen and (max-width: 768px) {
  .c_blog_item__tags {
    margin: 0 0 4vw;
  }
}
.c_blog_item__title {
  margin-bottom: 1.0416666667vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.7291666667vw;
  line-height: 1.75;
  margin-top: 0.5208333333vw;
}
@media screen and (max-width: 768px) {
  .c_blog_item__title {
    font-size: 3.7333333333vw;
  }
}
.c_blog_item__txt {
  letter-spacing: 0.1em;
  font-size: 0.7291666667vw;
  line-height: 1.7142857143;
}
@media screen and (max-width: 768px) {
  .c_blog_item__txt {
    font-size: 3.7333333333vw;
  }
}

/* =================================
 news
================================= */
.c_news_list__item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.8229166667vw 5.9895833333vw 1.8229166667vw 0;
  border-top: 1px solid #ccc;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .c_news_list__item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 5.3333333333vw 13.3333333333vw 5.3333333333vw 0;
  }
}
.c_news_list__item:hover .c_news_list__title {
  color: #039c39;
}
.c_news_list__item:last-of-type {
  border-bottom: 1px solid #ccc;
}
.c_news_list__time {
  margin: 0 1.3020833333vw 0 0;
  letter-spacing: 0.1em;
  font-size: 0.7291666667vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .c_news_list__time {
    margin: 0 2.6666666667vw 0 0;
    font-size: 3.2vw;
  }
}
.c_news_list__cat {
  margin: 0 1.8229166667vw 0 0;
  padding: 0.1041666667vw 1.3020833333vw;
  border-radius: 0.8854166667vw;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .c_news_list__cat {
    margin: 0 5.3333333333vw 0 0;
    padding: 0.5333333333vw 4vw;
    font-size: 3.2vw;
  }
}
.c_news_list__cat--ver0, .c_news_list__cat--ver1 {
  background: #f8f8f8;
}
.c_news_list__cat--ver2 {
  background: #e6f5ec;
}
.c_news_list__title {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.75;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
  margin-top: 0.5208333333vw;
}
@media screen and (max-width: 768px) {
  .c_news_list__title {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 100%;
    font-size: 3.7333333333vw;
  }
}
.c_news_list__new_ico {
  position: absolute;
  top: 50%;
  right: 0;
  padding: 0.3645833333vw 0.78125vw;
  background: #039c39;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.6428571429;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c_news_list__new_ico {
    padding: 0.5333333333vw 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
}

.c_news_feature__link {
  position: relative;
  z-index: 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
.c_news_feature__link:hover .c_news_feature__title {
  color: #039c39;
}
.c_news_feature__thumb {
  margin: 0 0 0.78125vw;
  aspect-ratio: 460/280;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c_news_feature__thumb {
    margin: 0 0 2.6666666667vw;
  }
}
.c_news_feature__thumb .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c_news_feature__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c_news_feature__time {
  margin: 0 1.0416666667vw 0 0;
  letter-spacing: 0.1em;
  font-size: 0.7291666667vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .c_news_feature__time {
    margin: 0 2.6666666667vw 0 0;
    font-size: 3.2vw;
  }
}
.c_news_feature__cat {
  padding: 0.1041666667vw 1.3020833333vw;
  border-radius: 0.8854166667vw;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .c_news_feature__cat {
    padding: 0.5333333333vw 4vw;
    border-radius: 4vw;
    font-size: 3.2vw;
  }
}
.c_news_feature__cat--ver1 {
  background: #f8f8f8;
}
.c_news_feature__cat--ver2 {
  background: #e6f5ec;
}
.c_news_feature__new_ico {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  padding: 0.3645833333vw 0.78125vw;
  background: #039c39;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.6428571429;
}
@media screen and (max-width: 768px) {
  .c_news_feature__new_ico {
    padding: 0.5333333333vw 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
}
.c_news_feature__title {
  margin: 0.5208333333vw 0 0;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.75;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .c_news_feature__title {
    margin: 2.6666666667vw 0 0;
    font-size: 3.7333333333vw;
  }
}

/* =================================
 filter
================================= */
.c_filter {
  width: 66.1458333333vw;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c_filter {
    width: 100%;
    margin-inline: auto;
  }
}
.c_filter__header {
  padding: 1.5625vw 3.125vw;
  width: 100%;
  background: #039c39;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  .c_filter__header {
    padding: 4vw 5.3333333333vw;
  }
}
.c_filter__label {
  position: relative;
  z-index: 0;
  padding: 0 2.9166666667vw 0 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  font-weight: 500;
  font-size: 1.1458333333vw;
  line-height: 1.4545454545;
}
@media screen and (max-width: 768px) {
  .c_filter__label {
    padding: 0 8vw 0 0;
    font-size: 4.8vw;
  }
}
.c_filter__label:before {
  position: absolute;
  top: 50%;
  right: 0;
  aspect-ratio: 1/1;
  width: 1.25vw;
  border-radius: 50%;
  background: #fff;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c_filter__label:before {
    width: 5.3333333333vw;
  }
}
.c_filter__label .c_icon_chevron {
  position: absolute;
  top: 52%;
  right: 0.3385416667vw;
  width: 0.625vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c_filter__label .c_icon_chevron {
    right: 1.3333333333vw;
    width: 2.6666666667vw;
  }
}
.c_filter__content {
  padding: 1.8229166667vw 3.6458333333vw;
  background: #e6f5ec;
}
@media screen and (max-width: 768px) {
  .c_filter__content {
    padding: 4vw 5.3333333333vw;
  }
}
.c_filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.78125vw 1.8229166667vw;
}
@media screen and (max-width: 768px) {
  .c_filter__list {
    gap: 2.6666666667vw 5.3333333333vw;
  }
}

/* =================================
 pager
================================= */
.c_pagination {
  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;
  margin: 7.2916666667vw 0 0;
}
@media screen and (max-width: 768px) {
  .c_pagination {
    margin: 16vw 0 0;
  }
}
.c_pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 5.2083333333vw;
}
@media screen and (max-width: 768px) {
  .c_pagination__list {
    margin: 0 10.6666666667vw;
  }
}
.c_pagination__list li a {
  display: block;
  padding: 0 0.78125vw;
  border-left: 1px solid #ccc;
  color: #6e6e6e;
  font-weight: 500;
  font-size: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .c_pagination__list li a {
    padding: 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c_pagination__list li span {
  display: block;
  padding: 0 0.78125vw;
  border-left: 1px solid #ccc;
  color: #6e6e6e;
  font-weight: 500;
  font-size: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .c_pagination__list li span {
    padding: 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c_pagination__list li span.is-current {
  color: #039c39;
}
.c_pagination__list li:has(> a.prev), .c_pagination__list li:has(> a.next) {
  display: none;
}
.c_pagination__list li > .page-numbers.is-last-visible {
  border-right: 1px solid #ccc;
}
.c_pagination__prev, .c_pagination__next {
  position: relative;
  z-index: 0;
  display: block;
  color: #039c39 !important;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .c_pagination__prev, .c_pagination__next {
    font-size: 3.7333333333vw;
  }
}
.c_pagination__prev:after, .c_pagination__next:after {
  position: absolute;
  top: 45%;
  aspect-ratio: 44/6;
  width: 2.3958333333vw;
  background: #039c39;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-mask: url(../img/common/icon-arw.svg) no-repeat center/contain;
          mask: url(../img/common/icon-arw.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .c_pagination__prev:after, .c_pagination__next:after {
    top: 100%;
    width: 10.6666666667vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.c_pagination__prev.is-disabled, .c_pagination__next.is-disabled {
  color: #6e6e6e !important;
}
.c_pagination__prev.is-disabled:before, .c_pagination__prev.is-disabled:after, .c_pagination__next.is-disabled:before, .c_pagination__next.is-disabled:after {
  background-color: #6e6e6e;
}
.c_pagination__prev {
  padding-left: 2.9166666667vw;
}
.c_pagination__prev:after {
  left: 0;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.c_pagination__next {
  padding-right: 2.9166666667vw;
}
.c_pagination__next:after {
  right: 0;
}

.c-nav-ui {
  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;
  gap: 20.5729166667vw;
  margin: 3.3854166667vw 0 0;
}
@media screen and (max-width: 768px) {
  .c-nav-ui {
    gap: 16vw;
    margin: 16vw 0 0;
  }
}
.c-nav-ui * {
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
.c-nav-ui__grid {
  aspect-ratio: 1/1;
  width: 1.1458333333vw;
  background: #039c39;
  -webkit-mask: url(../img/common/ico-grid.svg) no-repeat center/contain;
          mask: url(../img/common/ico-grid.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .c-nav-ui__grid {
    width: 4vw;
  }
}
.c-nav-ui__grid:hover {
  background: #06190d;
}
.c-nav-ui__prev, .c-nav-ui__next {
  position: relative;
  z-index: 0;
  display: block;
  color: #039c39 !important;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .c-nav-ui__prev, .c-nav-ui__next {
    font-size: 3.7333333333vw;
  }
}
.c-nav-ui__prev:hover, .c-nav-ui__next:hover {
  color: #06190d !important;
}
.c-nav-ui__prev:hover:after, .c-nav-ui__next:hover:after {
  background: #06190d;
}
.c-nav-ui__prev:after, .c-nav-ui__next:after {
  position: absolute;
  top: 45%;
  aspect-ratio: 44/6;
  width: 2.3958333333vw;
  background: #039c39;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-mask: url(../img/common/icon-arw.svg) no-repeat center/contain;
          mask: url(../img/common/icon-arw.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .c-nav-ui__prev:after, .c-nav-ui__next:after {
    top: 100%;
    width: 10.6666666667vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.c-nav-ui__prev {
  padding-left: 2.9166666667vw;
}
.c-nav-ui__prev:after {
  left: 0;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.c-nav-ui__next {
  padding-right: 2.9166666667vw;
}
.c-nav-ui__next:after {
  right: 0;
}
.c-nav-ui span.is-disabled {
  color: #6e6e6e !important;
}
.c-nav-ui span.is-disabled:after {
  background-color: #6e6e6e;
}

/* =================================
 form
================================= */
.c-form__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 14.6875vw 1fr;
  grid-template-columns: 14.6875vw 1fr;
  border-top: 0.0520833333vw solid rgba(168, 168, 168, 0.6);
}
@media screen and (max-width: 768px) {
  .c-form__item {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    border-top: 0.2666666667vw solid rgba(168, 168, 168, 0.6);
  }
}
.c-form__item:last-of-type {
  border-bottom: 0.0520833333vw solid rgba(168, 168, 168, 0.6);
}
@media screen and (max-width: 768px) {
  .c-form__item:last-of-type {
    border-bottom: 0.2666666667vw solid rgba(168, 168, 168, 0.6);
  }
}
.c-form__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.3020833333vw 0.78125vw;
  background: #f8f8f8;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.9375vw;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-form__title {
    padding: 4vw 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c-form__title:after {
  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;
  aspect-ratio: 40/20;
  width: 2.0833333333vw;
  border: 0.0520833333vw solid #06190d;
  border-radius: 0.15625vw;
  background: none;
  color: #06190d;
  content: "任意";
  letter-spacing: 0.1em;
  font-size: 0.5729166667vw;
}
@media screen and (max-width: 768px) {
  .c-form__title:after {
    width: 8vw;
    font-size: 2.6666666667vw;
  }
}
.c-form__title--require:after {
  border: 0.0520833333vw solid #06190d;
  background: #06190d;
  color: #fff;
  content: "必須";
}
.c-form__title--none:after {
  content: none;
}
.c-form__title--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-form__title--confirm {
  background: #e6f5ec;
}
.c-form__detail {
  padding: 1.3020833333vw 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .c-form__detail {
    padding: 4vw 0 5.3333333333vw;
  }
}
.c-form__detail-item:not(:first-of-type) {
  margin-top: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .c-form__detail-item:not(:first-of-type) {
    margin: 2.6666666667vw 0 0;
  }
}
.c-form__detail--confirm-field {
  font-weight: 500;
  font-size: 0.9375vw;
  line-height: 1.4444444444;
}
@media screen and (max-width: 768px) {
  .c-form__detail--confirm-field {
    font-size: 3.7333333333vw;
  }
}
.c-form__detail--confirm-field p:not(:first-of-type) {
  margin-top: 0.5208333333vw;
}
@media screen and (max-width: 768px) {
  .c-form__detail--confirm-field p:not(:first-of-type) {
    margin-top: 2.6666666667vw;
  }
}
.c-form__business-type {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 8.0729166667vw 1.5625vw 1fr;
  grid-template-columns: 8.0729166667vw 1fr;
  gap: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .c-form__business-type {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.6666666667vw;
  }
}
.c-form__business-type_text {
  margin-top: 0.78125vw;
}
@media screen and (max-width: 768px) {
  .c-form__business-type_text {
    margin: 2.6666666667vw 0 0;
  }
}
.c-form__name {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.9791666667vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.9791666667vw;
}
@media screen and (max-width: 768px) {
  .c-form__name {
    gap: 2.6666666667vw;
  }
}
.c-form__name-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .c-form__name-item {
    gap: 1.3333333333vw;
  }
}
.c-form__name-label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-weight: 500;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .c-form__name-label {
    font-size: 3.7333333333vw;
  }
}
.c-form__add {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .c-form__add {
    gap: 2.6666666667vw;
  }
}
.c-form__add-zip-btn {
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .c-form__add-zip-btn {
    font-size: 3.7333333333vw;
  }
}
.c-form__submit {
  position: relative;
  z-index: 0;
  margin: 2.0833333333vw auto 0;
  aspect-ratio: 260/61;
  width: 13.5416666667vw;
}
@media screen and (max-width: 768px) {
  .c-form__submit {
    margin: 5.3333333333vw auto 0;
    width: 69.3333333333vw;
  }
}
.c-form__submit:after {
  position: absolute;
  top: 50%;
  right: 0.5208333333vw;
  aspect-ratio: 31/5;
  width: 1.6145833333vw;
  background: #fff;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-mask: url(../img/contact/submit-arw.svg) no-repeat center/contain;
          mask: url(../img/contact/submit-arw.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .c-form__submit:after {
    right: 2.6666666667vw;
    width: 10.6666666667vw;
  }
}
.c-form__submit-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 0 2.34375vw;
  width: 100%;
  height: 100%;
  background: #039c39;
  color: #fff !important;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 1.0416666667vw;
  line-height: 1.45;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  .c-form__submit-btn {
    padding: 0 0 0 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.c-form__submit-btn:hover {
  background: #06190d;
}

.c-select {
  position: relative;
  z-index: 0;
  height: 1.6666666667vw;
}
@media screen and (max-width: 768px) {
  .c-select {
    height: 9.3333333333vw;
  }
}
.c-select select {
  padding: 0 0.5208333333vw;
  width: 100%;
  height: 100%;
  background-color: #039c39;
  color: #fff;
  font-weight: 500;
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 768px) {
  .c-select select {
    padding: 0 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.c-select:after {
  position: absolute;
  top: 50%;
  right: 0.4166666667vw;
  aspect-ratio: 11/9;
  width: 0.5729166667vw;
  background: #fff;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media screen and (max-width: 768px) {
  .c-select:after {
    right: 2.6666666667vw;
    width: 2.6666666667vw;
  }
}

.c-input {
  padding: 0.5208333333vw;
  height: 2.5vw;
  border: 0.0520833333vw solid #e5e5e5;
  border-radius: 0.4166666667vw;
  background: #fff;
  -webkit-box-shadow: 0.0520833333vw 0.0520833333vw 0.1041666667vw rgba(0, 0, 0, 0.08);
          box-shadow: 0.0520833333vw 0.0520833333vw 0.1041666667vw rgba(0, 0, 0, 0.08);
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .c-input {
    padding: 1.3333333333vw;
    height: 10.6666666667vw;
    border: 0.2666666667vw solid #e5e5e5;
    border-radius: 1.6vw;
    -webkit-box-shadow: 0.2666666667vw 0.2666666667vw 0.5333333333vw rgba(0, 0, 0, 0.08);
            box-shadow: 0.2666666667vw 0.2666666667vw 0.5333333333vw rgba(0, 0, 0, 0.08);
    font-size: 3.7333333333vw;
  }
}
.c-input::-webkit-input-placeholder {
  color: #a8a8a8;
  font-weight: 400;
}
.c-input::-moz-placeholder {
  color: #a8a8a8;
  font-weight: 400;
}
.c-input:-ms-input-placeholder {
  color: #a8a8a8;
  font-weight: 400;
}
.c-input::-ms-input-placeholder {
  color: #a8a8a8;
  font-weight: 400;
}
.c-input::placeholder {
  color: #a8a8a8;
  font-weight: 400;
}
.c-input--full {
  width: 100%;
}
.c-input--min {
  width: 7.96875vw;
}
@media screen and (max-width: 768px) {
  .c-input--min {
    width: 40.8vw;
  }
}
.c-input--textarea {
  height: 9.6354166667vw;
}
@media screen and (max-width: 768px) {
  .c-input--textarea {
    height: 53.3333333333vw;
  }
}

.c-check-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5208333333vw 1.5625vw;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .c-check-list {
    gap: 2.6666666667vw 6.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c-check-list__item {
  cursor: pointer;
}
.c-check-list__item input {
  display: none;
}
.c-check-list__item input:checked + .c-check-list__item-txt:after {
  opacity: 1;
}
.c-check-list__item-txt {
  position: relative;
  z-index: 0;
  padding-left: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .c-check-list__item-txt {
    padding-left: 5.3333333333vw;
  }
}
.c-check-list__item-txt:before, .c-check-list__item-txt:after {
  position: absolute;
  top: 55%;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-check-list__item-txt:before {
  left: 0;
  z-index: 0;
  aspect-ratio: 1/1;
  width: 0.625vw;
  border: 0.0520833333vw solid #039c39;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .c-check-list__item-txt:before {
    width: 4vw;
    border: 0.2666666667vw solid #039c39;
  }
}
.c-check-list__item-txt:after {
  top: 48%;
  left: 0.15625vw;
  width: 0.3125vw;
  height: 0.15625vw;
  border-bottom: 0.0520833333vw solid #039c39;
  border-left: 0.0520833333vw solid #039c39;
  opacity: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .c-check-list__item-txt:after {
    top: 40%;
    left: 1.0666666667vw;
    width: 2.1333333333vw;
    height: 1.3333333333vw;
    border-bottom: 0.2666666667vw solid #039c39;
    border-left: 0.2666666667vw solid #039c39;
  }
}

.c-privacy-checkbox {
  display: table;
  margin: 4.1666666667vw auto 0;
  font-size: 0.8333333333vw;
  line-height: 1.5;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-privacy-checkbox {
    margin: 10.6666666667vw auto 0;
    font-size: 3.7333333333vw;
  }
}
.c-privacy-checkbox input {
  display: none;
}
.c-privacy-checkbox input:checked + .c-privacy-checkbox__txt:after {
  opacity: 1;
}
.c-privacy-checkbox__link {
  border-bottom: 1px solid #039c39;
  color: #039c39 !important;
}
.c-privacy-checkbox__link:hover {
  border: none;
}
.c-privacy-checkbox__txt {
  position: relative;
  z-index: 0;
  padding-left: 1.8229166667vw;
}
@media screen and (max-width: 768px) {
  .c-privacy-checkbox__txt {
    padding-left: 6.6666666667vw;
  }
}
.c-privacy-checkbox__txt:before, .c-privacy-checkbox__txt:after {
  position: absolute;
  top: 55%;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-privacy-checkbox__txt:before {
  left: 0;
  z-index: 0;
  aspect-ratio: 1/1;
  width: 0.9895833333vw;
  border: 0.0520833333vw solid #707070;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .c-privacy-checkbox__txt:before {
    top: 1.3333333333vw;
    width: 4vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.c-privacy-checkbox__txt:after {
  top: 45%;
  left: 0.2604166667vw;
  width: 0.5208333333vw;
  height: 0.2604166667vw;
  border-bottom: 0.0520833333vw solid #039c39;
  border-left: 0.0520833333vw solid #039c39;
  opacity: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .c-privacy-checkbox__txt:after {
    top: 2.1333333333vw;
    left: 0.8vw;
    width: 2.6666666667vw;
    height: 1.3333333333vw;
    border-bottom: 0.2666666667vw solid #039c39;
    border-left: 0.2666666667vw solid #039c39;
  }
}

/* ======================================================================
 layout
====================================================================== */
/* =================================
 l_header
================================= */
.l_header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  padding: 0 0 0 1.6666666667vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l_header {
    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;
    padding: 0 5.3333333333vw;
    height: 16vw;
  }
}
.l_header__inr {
  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;
}
.l_header__logo {
  width: 11.3020833333vw;
}
@media screen and (max-width: 768px) {
  .l_header__logo {
    width: 26.6666666667vw;
  }
}
.l_header__logo img {
  display: block;
  width: 100%;
}
.l_header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .l_header__nav {
    display: none;
  }
}
.l_header__nav_link {
  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;
  padding: 0 2.0833333333vw;
  height: 5.46875vw;
  color: #fff !important;
  letter-spacing: 0.2em;
  font-weight: 500;
  font-size: 0.9375vw;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
.l_header__nav_link:hover {
  background: #fff;
  color: #06190d !important;
}
.l_header--scroll {
  position: fixed;
  top: -5.46875vw;
  background: #e6f5ec;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .l_header--scroll {
    top: -16vw;
  }
}
.l_header--scroll.is-show {
  top: 0;
}
.l_header--scroll .l_header__nav_link {
  color: #000 !important;
}
.l_header--scroll .l_header__nav_link:hover {
  background: #039c39;
  color: #fff !important;
}
.l_header__hum_ico {
  display: none;
}
@media screen and (max-width: 768px) {
  .l_header__hum_ico {
    position: relative;
    z-index: 0;
    display: block;
    width: 8vw;
    height: 5.3333333333vw;
  }
}
.l_header__hum_ico:before, .l_header__hum_ico:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.5333333333vw;
  background: #06190d;
  content: "";
}
.l_header__hum_ico:before {
  top: 0;
}
.l_header__hum_ico:after {
  bottom: 0;
}
.l_header__hum_ico span {
  position: absolute;
  top: 50%;
  display: block;
  width: 100%;
  height: 0.5333333333vw;
  background: #06190d;
  opacity: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l_header__hum_ico.is-active span {
  opacity: 0;
}
.l_header__hum_ico.is-active:before {
  top: 2.1333333333vw;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l_header__hum_ico.is-active:after {
  bottom: 2.6666666667vw;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.l_header_hamburger {
  display: none;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .l_header_hamburger {
    position: fixed;
    top: 16vw;
    left: 0;
    z-index: 100;
    display: block;
    visibility: hidden;
    padding: 5.3333333333vw;
    width: 100%;
    height: calc(100lvh - 16vw);
    background: #fff;
    opacity: 0;
  }
}
.l_header_hamburger.is-open {
  visibility: visible;
  opacity: 1;
}
.l_header_hamburger__link {
  display: block;
  padding: 5.3333333333vw 0;
  border-bottom: 1px solid #039c39;
  color: #039c39 !important;
  font-size: 3.7333333333vw;
}

/* =================================
 l_main_visual
================================= */
.l_main_visual {
  position: relative;
  z-index: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 38.1770833333vw;
}
@media screen and (max-width: 768px) {
  .l_main_visual {
    padding: 5.3333333333vw;
    height: 86.6666666667vw;
  }
}
.l_main_visual--min {
  height: 18.2291666667vw;
}
@media screen and (max-width: 768px) {
  .l_main_visual--min {
    height: 53.3333333333vw;
  }
}
.l_main_visual:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #06190d;
  content: "";
  opacity: 0.25;
}
.l_main_visual__inr {
  position: relative;
  z-index: 1;
  margin: 5.46875vw auto 0;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  .l_main_visual__inr {
    margin: 16vw auto 0;
    width: 100%;
  }
}
.l_main_visual__img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 769px) {
  .l_main_visual__title .c_title_1__en {
    font-size: 3.125vw;
    line-height: 1.3333333333;
  }
  .l_main_visual__title .c_title_1__ja {
    font-size: 1.0416666667vw;
    line-height: 1.45;
  }
  .l_main_visual__title .c_title_1__ja:before {
    width: 0.3645833333vw;
  }
}

.l_main_visual_top {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100lvh;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top {
    width: 100%;
    height: auto;
  }
}
.l_main_visual_top__inr {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top__inr {
    width: 100%;
    height: 100lvh;
  }
}
.l_main_visual_top__inr:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(6, 25, 13, 0.41);
  content: "";
}
.l_main_visual_top__txtbox {
  position: absolute;
  bottom: 4.1666666667vw;
  left: 7.8125vw;
  color: #fff;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top__txtbox {
    bottom: 5.3333333333vw;
    left: 5.3333333333vw;
  }
}
.l_main_visual_top__title {
  margin: 0 0 1.0416666667vw;
  font-weight: 900;
  font-size: 3.125vw;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top__title {
    font-size: 5.3333333333vw;
  }
}
.l_main_visual_top__txt {
  letter-spacing: 0.1em;
  font-weight: 600;
  font-size: 1.3020833333vw;
  line-height: 1.44;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top__txt {
    font-size: 3.2vw;
  }
}
.l_main_visual_top__assets {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.l_main_visual_top__assets img,
.l_main_visual_top__assets video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l_main_visual_top_topic {
  position: absolute;
  right: 0;
  bottom: 2.0833333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.78125vw 1.0416666667vw;
  width: 35.4166666667vw;
  background: #fff;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top_topic {
    position: static;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 5.3333333333vw auto 0;
    padding: 0;
    width: calc(100% - 10.6666666667vw);
  }
}
.l_main_visual_top_topic:hover {
  opacity: 0.7;
}
.l_main_visual_top_topic__heading {
  margin: 0 0.78125vw 0 0;
  color: #039c39;
  letter-spacing: 0.01em;
  font-size: 0.7291666667vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top_topic__heading {
    margin: 0 0 2.6666666667vw;
    width: 100%;
    font-size: 3.7333333333vw;
  }
}
.l_main_visual_top_topic__thumb {
  margin: 0 1.8229166667vw 0 0;
  aspect-ratio: 188/101;
  width: 9.7916666667vw;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top_topic__thumb {
    margin: 0 2.6666666667vw 0 0;
    width: 40vw;
  }
}
.l_main_visual_top_topic__thumb .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l_main_visual_top_topic__cont {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
}
.l_main_visual_top_topic__cat {
  margin: 0 0 0.4166666667vw;
  padding: 0.1041666667vw 0.78125vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #06190d;
  color: #fff;
  letter-spacing: 0.1em;
  font-size: 0.625vw;
  line-height: 1.4166666667;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top_topic__cat {
    margin: 0 0 1.3333333333vw;
    padding: 0.5333333333vw 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
}
.l_main_visual_top_topic__title {
  letter-spacing: 0.01em;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .l_main_visual_top_topic__title {
    font-size: 3.7333333333vw;
  }
}

/* =================================
 l_fixed_menu
================================= */
.l_fixed_menu {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 1;
  padding: 1.5625vw 1.0416666667vw;
  width: 3.125vw;
  border: 1px solid #039c39;
  background: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 768px) {
  .l_fixed_menu {
    padding: 5.3333333333vw 2.6666666667vw;
    width: 10.6666666667vw;
  }
}
.l_fixed_menu__link {
  font-size: 0.7291666667vw;
  line-height: 1.4285714286;
  line-height: 1.3541666667vw;
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .l_fixed_menu__link {
    display: block;
    font-size: 3.2vw;
    line-height: 5.3333333333vw;
  }
}
.l_fixed_menu__link:hover {
  color: #039c39;
}
.l_fixed_menu__link:not(:last-of-type) {
  margin-bottom: 1.3020833333vw;
  padding-bottom: 1.3020833333vw;
  border-bottom: 1px solid #039c39;
}
@media screen and (max-width: 768px) {
  .l_fixed_menu__link:not(:last-of-type) {
    margin-bottom: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}

/* =================================
 l_page_top
================================= */
.l_page_top {
  position: absolute;
  top: -9.375vw;
  right: 4.1666666667vw;
  aspect-ratio: 12/148;
  width: 0.625vw;
}
@media screen and (max-width: 768px) {
  .l_page_top {
    top: -45.3333333333vw;
    width: 3.2vw;
  }
}
.l_page_top .img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* =================================
 l_contact
================================= */
.l_contact {
  padding: 7.8125vw 1.0416666667vw 0;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .l_contact {
    padding: 16vw 5.3333333333vw 0;
  }
}
.l_contact__inr {
  margin: 0 auto;
  padding: 2.0833333333vw 1.0416666667vw 4.1666666667vw;
  max-width: 68.75vw;
  width: 100%;
  background: #f8f8f8;
}
@media screen and (max-width: 768px) {
  .l_contact__inr {
    padding: 5.3333333333vw 5.3333333333vw;
    max-width: 100%;
  }
}
.l_contact__cont {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.8645833333vw 1fr 2.8645833333vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.8645833333vw;
  margin: 0 auto;
  max-width: 56.4583333333vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l_contact__cont {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    max-width: 100%;
  }
}
.l_contact__item {
  position: relative;
  z-index: 0;
  border: 1px solid #039c39;
  background: #fff;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
}
.l_contact__item .title {
  text-align: center;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 1.1458333333vw;
  line-height: 1.4545454545;
}
@media screen and (max-width: 768px) {
  .l_contact__item .title {
    font-size: 4.8vw;
  }
}
.l_contact__estimate {
  padding: 1.8229166667vw 0.5208333333vw 0;
}
@media screen and (max-width: 768px) {
  .l_contact__estimate {
    padding: 5.3333333333vw 2.6666666667vw;
  }
}
.l_contact__estimate .imgbox {
  margin: 0.78125vw auto 0;
  aspect-ratio: 1/1;
  width: 6.6145833333vw;
}
@media screen and (max-width: 768px) {
  .l_contact__estimate .imgbox {
    margin: 2.6666666667vw auto 0;
    width: 26.6666666667vw;
  }
}
.l_contact__estimate .imgbox .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.l_contact__inquiry {
  padding: 2.0833333333vw 0.5208333333vw 0;
}
@media screen and (max-width: 768px) {
  .l_contact__inquiry {
    padding: 5.3333333333vw 2.6666666667vw;
  }
}
.l_contact__inquiry .imgbox {
  margin: -0.5208333333vw auto 0;
  aspect-ratio: 1/1;
  width: 5.9375vw;
}
@media screen and (max-width: 768px) {
  .l_contact__inquiry .imgbox {
    margin: -2.6666666667vw auto 0;
    width: 30.4vw;
  }
}
.l_contact__inquiry .imgbox .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.l_contact__tel {
  padding: 1.3020833333vw 0.5208333333vw 0;
}
@media screen and (max-width: 768px) {
  .l_contact__tel {
    padding: 5.3333333333vw 2.6666666667vw;
  }
}
.l_contact__tel .title {
  margin: 0 0 0.4166666667vw;
}
@media screen and (max-width: 768px) {
  .l_contact__tel .title {
    margin: 0 0 2.6666666667vw;
  }
}
.l_contact__tel .imgbox {
  position: absolute;
  bottom: 1.3020833333vw;
  left: 1.0416666667vw;
  margin: -0.5208333333vw auto 0;
  aspect-ratio: 47/92;
  width: 2.4479166667vw;
}
@media screen and (max-width: 768px) {
  .l_contact__tel .imgbox {
    width: 13.3333333333vw;
  }
}
.l_contact__tel .imgbox .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.l_contact__tel .telwrap {
  padding: 0 0 0 4.1666666667vw;
}
@media screen and (max-width: 768px) {
  .l_contact__tel .telwrap {
    padding: 0 0 0 16vw;
  }
}
.l_contact__tel .telbox + .l_contact__tel .telbox {
  margin-top: 0.2604166667vw;
}
@media screen and (max-width: 768px) {
  .l_contact__tel .telbox + .l_contact__tel .telbox {
    margin-top: 1.3333333333vw;
  }
}
.l_contact__tel .tel_ttl {
  margin: 0 0 -0.2604166667vw;
  font-size: 0.625vw;
  line-height: 1.4166666667;
}
@media screen and (max-width: 768px) {
  .l_contact__tel .tel_ttl {
    margin: 0 0 -1.3333333333vw;
    font-size: 3.2vw;
  }
}
.l_contact__tel .tel {
  font-weight: 700;
  font-size: 1.40625vw;
  line-height: 1.4444444444;
}
@media screen and (max-width: 768px) {
  .l_contact__tel .tel {
    font-size: 7.2vw;
  }
}
.l_contact__tel .open {
  margin-top: 0.2604166667vw;
  margin-left: -0.5em;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  .l_contact__tel .open {
    margin-top: 1.3333333333vw;
    font-size: 3.7333333333vw;
  }
}

a.l_contact__item {
  -webkit-transition: 0.4s all ease;
  transition: 0.4s all ease;
}
a.l_contact__item:hover {
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 0 rgba(0, 0, 0, 0.08);
}

/* =================================
 l_footer
================================= */
.l_footer {
  position: relative;
  z-index: 0;
  margin-top: 10.4166666667vw;
  padding: 8.3333333333vw 1.0416666667vw 0.5208333333vw;
  background: #e6f5ec;
}
@media screen and (max-width: 768px) {
  .l_footer {
    margin-top: 42.6666666667vw;
    padding: 16vw 5.3333333333vw 5.3333333333vw;
  }
}
.l_footer__inr {
  position: relative;
  margin: 0 auto;
  max-width: 84.375vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l_footer__inr {
    max-width: 100%;
  }
}
.l_footer__obj {
  position: absolute;
  top: 0;
  right: 0;
  width: 8.8541666667vw;
}
@media screen and (max-width: 768px) {
  .l_footer__obj {
    width: 13.3333333333vw;
  }
}
.l_footer__obj img {
  width: 100%;
}
.l_footer__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7.2916666667vw;
  margin-bottom: 8.0729166667vw;
}
@media screen and (max-width: 768px) {
  .l_footer__contents {
    display: block;
    margin-bottom: 13.3333333333vw;
  }
}
.l_footer__logo {
  width: 14.0625vw;
}
@media screen and (max-width: 768px) {
  .l_footer__logo {
    margin: 0 auto 2.6666666667vw;
    width: 53.3333333333vw;
  }
}
.l_footer__logo img {
  width: 100%;
}
.l_footer__menu_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .l_footer__menu_wrap {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .l_footer__menu_col + .l_footer__menu_col {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .l_footer__menu_col--second {
    margin-left: 4.1666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .l_footer__menu_col--third {
    margin-left: 8.0729166667vw;
  }
}
.l_footer__menu_row + .l_footer__menu_row {
  margin-top: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .l_footer__menu_row + .l_footer__menu_row {
    margin-top: 5.3333333333vw;
  }
}
.l_footer__menu_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4166666667vw;
  font-weight: 700;
  font-size: 0.9375vw;
  line-height: 1.4444444444;
}
@media screen and (max-width: 768px) {
  .l_footer__menu_ttl {
    gap: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}
.l_footer__menu_ttl:before {
  aspect-ratio: 1/1;
  width: 0.4166666667vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  .l_footer__menu_ttl:before {
    width: 2.1333333333vw;
  }
}
.l_footer__menu_items {
  margin: 0.5208333333vw 0 0;
  padding-left: 1.3020833333vw;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  .l_footer__menu_items {
    padding-left: 4vw;
    font-size: 3.7333333333vw;
  }
}
.l_footer__menu_item + .l_footer__menu_item {
  margin-top: 0.4166666667vw;
}
@media screen and (max-width: 768px) {
  .l_footer__menu_item + .l_footer__menu_item {
    margin-top: 1.3333333333vw;
  }
}
.l_footer__menu_link:hover {
  color: #039c39;
  text-decoration: underline;
}
.l_footer__privacy_link {
  text-align: right;
  font-size: 0.7291666667vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  .l_footer__privacy_link {
    text-align: left;
    font-size: 3.7333333333vw;
  }
}
.l_footer__privacy_link a:hover {
  color: #039c39;
}
.l_footer__copyright {
  margin-top: 2.6041666667vw;
  color: #039c39;
  text-align: right;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  .l_footer__copyright {
    margin-top: 5.3333333333vw;
    text-align: center;
    font-size: 3.7333333333vw;
  }
}

/* ======================================================================
 TOP
====================================================================== */
#p_top .screen_sec {
  margin: 0 auto;
  padding: 4.6875vw 0 0;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .screen_sec {
    padding: 16vw 5.3333333333vw 0 5.3333333333vw;
    max-width: 100%;
  }
}
#p_top .screen_sec__figbox {
  margin-right: calc(50% - 50vw + 8px);
  aspect-ratio: 1620/911;
}
#p_top .screen_sec__figbox .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#p_top .service_sec {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 5.2083333333vw 0 22.65625vw;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec {
    padding: 16vw 5.3333333333vw 21.3333333333vw;
    max-width: 100%;
  }
}
#p_top .service_sec__obj {
  position: absolute;
}
#p_top .service_sec__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#p_top .service_sec__obj--01 {
  bottom: 4.9479166667vw;
  left: 0;
  aspect-ratio: 300/245;
  width: 15.625vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec__obj--01 {
    bottom: 2.6666666667vw;
    left: 1.3333333333vw;
    width: 26.6666666667vw;
  }
}
#p_top .service_sec__obj--02 {
  right: 0;
  bottom: 4.1666666667vw;
  aspect-ratio: 264/204;
  width: 13.75vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec__obj--02 {
    right: 8vw;
    bottom: 0;
    width: 21.3333333333vw;
  }
}
#p_top .service_sec__obj--03 {
  right: -5.9375vw;
  bottom: 10.15625vw;
  aspect-ratio: 114/183;
  width: 5.9375vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec__obj--03 {
    right: 0;
    bottom: 8vw;
    width: 10.6666666667vw;
  }
}
#p_top .service_sec_contents {
  margin-right: calc(50% - 50vw + 8px);
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents {
    margin: 0 calc(50% - 50vw);
  }
}
#p_top .service_sec_contents__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
#p_top .service_sec_contents__item--odd .service_sec_contents__imgbox {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
#p_top .service_sec_contents__item--odd .service_sec_contents__txtbox {
  padding: 5.2083333333vw 1.0416666667vw 1.0416666667vw 7.2916666667vw;
  background: #f8f8f8;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__item--odd .service_sec_contents__txtbox {
    padding: 8vw 10.6666666667vw;
    padding-bottom: 30vw;
  }
}
#p_top .service_sec_contents__txtbox {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3.3854166667vw;
  padding: 5.2083333333vw 1.0416666667vw 1.0416666667vw 6.25vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__txtbox {
    gap: 5.3333333333vw;
    padding: 8vw 10.6666666667vw;
    padding-bottom: 30vw;
  }
}
#p_top .service_sec_contents__txtbox .c_button_2 {
  margin-top: 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__txtbox .c_button_2 {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__imgbox {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
#p_top .service_sec_contents__imgbox .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#p_top .service_sec_contents__ttl_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.4166666667vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__ttl_col {
    gap: 1.3333333333vw;
  }
}
#p_top .service_sec_contents__ttl_txt {
  letter-spacing: 0.45em;
  font-weight: bold;
  font-size: 1.3020833333vw;
  line-height: 1.3020833333vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__ttl_txt {
    font-size: 4.8vw;
    line-height: 4.8vw;
  }
}
#p_top .service_sec_contents__ttl_num {
  position: relative;
  z-index: 0;
  margin-top: 0.15625vw;
  padding-bottom: 2.2395833333vw;
  color: #039c39;
  font-size: 0.78125vw;
  line-height: 1.09375vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__ttl_num {
    padding-bottom: 8vw;
    font-size: 3.2vw;
    line-height: 5.3333333333vw;
  }
}
#p_top .service_sec_contents__ttl_num:after {
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  width: 1px;
  height: 1.71875vw;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__ttl_num:after {
    height: 5.3333333333vw;
  }
}
#p_top .service_sec_contents__nav_title {
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.9375vw;
  line-height: 2.2222222222;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__nav_title {
    font-size: 3.7333333333vw;
  }
}
#p_top .service_sec_contents__nav_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 1.0416666667vw;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.9375vw;
  line-height: 2.2222222222;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__nav_item {
    font-size: 3.7333333333vw;
  }
}
#p_top .service_sec_contents__nav_item--large {
  font-size: 1.25vw;
  line-height: 2.0833333333;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__nav_item--large {
    font-size: 4.2666666667vw;
  }
}
#p_top .service_sec_contents__nav_item:before {
  content: "・";
  font-size: 0.9375vw;
  line-height: 2.2222222222;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__nav_item:before {
    font-size: 3.7333333333vw;
  }
}
#p_top .service_sec_contents__nav_link {
  position: relative;
  z-index: 0;
}
#p_top .service_sec_contents__nav_link:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #039c39;
  content: "";
  opacity: 0;
}
#p_top .service_sec_contents__nav_link:hover:after {
  opacity: 1;
}
#p_top .service_sec_contents__obj {
  position: absolute;
  z-index: -1;
}
#p_top .service_sec_contents__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__obj .img {
    opacity: 0.7;
  }
}
#p_top .service_sec_contents__obj--01 {
  right: 3.3854166667vw;
  bottom: 3.90625vw;
  aspect-ratio: 208/153;
  width: 10.8333333333vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__obj--01 {
    right: 1.3333333333vw;
    bottom: 9.6666666667vw;
    width: 19.6666666667vw;
  }
}
#p_top .service_sec_contents__obj--02 {
  right: 5.2083333333vw;
  bottom: 5.46875vw;
  aspect-ratio: 116/183;
  width: 6.0416666667vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__obj--02 {
    right: 2.6666666667vw;
    bottom: 9.6666666667vw;
    width: 14.6666666667vw;
  }
}
#p_top .service_sec_contents__obj--03 {
  right: 6.5104166667vw;
  bottom: 1.5625vw;
  aspect-ratio: 102/308;
  width: 5.3125vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__obj--03 {
    right: 2.6666666667vw;
    bottom: 9.6666666667vw;
    width: 9.6666666667vw;
  }
}
#p_top .service_sec_contents__obj--04 {
  right: 2.34375vw;
  bottom: 2.8645833333vw;
  aspect-ratio: 160/180;
  width: 8.3333333333vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_sec_contents__obj--04 {
    right: 2.6666666667vw;
    bottom: 9.6666666667vw;
    width: 17.6666666667vw;
  }
}
#p_top .service_mov {
  position: relative;
  z-index: 0;
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5625vw;
  width: 100%;
  height: 28.90625vw;
  background: url(../img/p-top/service_mov_bg.jpg) no-repeat center/cover;
}
@media screen and (max-width: 768px) {
  #p_top .service_mov {
    gap: 2.6666666667vw;
    height: 80vw;
  }
}
#p_top .service_mov:before {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(6, 25, 13, 0.41);
  content: "";
}
#p_top .service_mov__title {
  color: #fff;
  font-weight: 900;
  font-size: 2.6041666667vw;
}
@media screen and (max-width: 768px) {
  #p_top .service_mov__title {
    font-size: 5.3333333333vw;
  }
}
#p_top .service_mov__btn {
  aspect-ratio: 1/1;
  width: 3.90625vw;
  background: #fff;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-mask: url(../img/common/ico-play.svg) no-repeat center/contain;
          mask: url(../img/common/ico-play.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  #p_top .service_mov__btn {
    width: 13.3333333333vw;
  }
}
#p_top .service_mov__btn:hover {
  background: #039c39;
}
#p_top .about_sec {
  position: relative;
  z-index: 0;
  padding: 8.59375vw 1.0416666667vw 0;
  background: #e6f5ec;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec {
    padding: 16vw 5.3333333333vw 0;
  }
}
#p_top .about_sec__inr {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding-bottom: 10.15625vw;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__inr {
    padding-bottom: 0;
    max-width: 100%;
  }
}
#p_top .about_sec__obj {
  position: absolute;
  bottom: -2.6041666667vw;
  left: 0;
  aspect-ratio: 105/243;
  width: 5.46875vw;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__obj {
    left: -5.3333333333vw;
    width: 13.3333333333vw;
  }
}
#p_top .about_sec__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#p_top .about_sec__cont {
  position: relative;
  z-index: 0;
  height: 35.6770833333vw;
  background: url(../img/p-top/about_sec_img.jpg) no-repeat center/cover;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cont {
    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: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5.3333333333vw;
    padding: 5.3333333333vw;
    height: 66.6666666667vw;
  }
}
#p_top .about_sec__cont:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 17.4479166667vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(6, 25, 13, 0)), to(#000));
  background: linear-gradient(0deg, rgba(6, 25, 13, 0) 0%, #000 100%);
  content: "";
  opacity: 0.42;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cont:before {
    height: 66.6666666667vw;
    background: rgba(0, 0, 0, 0.42);
    opacity: 1;
  }
}
#p_top .about_sec__cont_title {
  position: absolute;
  top: 50%;
  right: 3.6458333333vw;
  margin: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cont_title {
    position: static;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
#p_top .about_sec__cont_txt {
  position: absolute;
  top: 3.6458333333vw;
  left: 3.125vw;
  color: #fff;
  font-weight: 700;
  font-size: 1.5625vw;
  line-height: 1.4666666667;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cont_txt {
    position: static;
    font-size: 3.2vw;
  }
}
#p_top .about_sec__cta {
  position: absolute;
  right: -7.8125vw;
  bottom: 5.7291666667vw;
  padding: 2.0833333333vw 3.3854166667vw 1.8229166667vw;
  width: 37.8125vw;
  background: #fff;
  -webkit-box-shadow: 3px 3px 1.0416666667vw rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 1.0416666667vw rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cta {
    position: relative;
    right: -5.3333333333vw;
    bottom: 5.3333333333vw;
    padding: 4vw 5.3333333333vw;
    width: 100%;
  }
}
#p_top .about_sec__cta_title {
  margin: 0 0 0.5208333333vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 1.1458333333vw;
  line-height: 1.4545454545;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cta_title {
    margin: 0 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
#p_top .about_sec__cta_txt {
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cta_txt {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  #p_top .about_sec__cta .c_button_2 {
    margin: 2.6666666667vw 0 0;
  }
}
@media screen and (min-width: 769px) {
  #p_top .about_sec__cta .c_button_2 {
    position: absolute;
    right: 3.6458333333vw;
    bottom: 1.0416666667vw;
    padding: 0.46875vw 1.5625vw;
    width: 8.8541666667vw;
    height: 1.8229166667vw;
    font-size: 0.625vw;
  }
  #p_top .about_sec__cta .c_button_2 .c_icon_btn_arw {
    width: 1.875vw;
    height: 1.1979166667vw;
  }
  #p_top .about_sec__cta .c_button_2 .c_icon_btn_arw:before {
    width: 1.1458333333vw;
  }
  #p_top .about_sec__cta .c_button_2 .c_icon_btn_arw:after {
    width: 1.4583333333vw;
  }
}
#p_top .works_sec {
  overflow: hidden;
  padding: 7.2916666667vw 1.0416666667vw 5.7291666667vw;
}
@media screen and (max-width: 768px) {
  #p_top .works_sec {
    padding: 16vw 5.3333333333vw;
  }
}
#p_top .works_sec__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3.3854166667vw;
  margin: 0 auto 3.6458333333vw;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .works_sec__heading {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
    margin: 0 auto 5.3333333333vw;
    max-width: 100%;
  }
}
#p_top .works_sec__content {
  margin: 0 auto;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .works_sec__content {
    max-width: 100%;
  }
}
#p_top .works_sec__title {
  margin: 0;
}
#p_top .works_sec__tags {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  margin-top: 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  #p_top .works_sec__tags {
    margin-top: 0vw;
  }
}
#p_top .works_sec__item {
  width: 20.7291666667vw;
}
@media screen and (max-width: 768px) {
  #p_top .works_sec__item {
    margin-right: 5.3333333333vw;
    width: 85.3333333333vw;
  }
}
#p_top .works_sec .c_button_1 {
  margin-top: 9.375vw;
}
@media screen and (max-width: 768px) {
  #p_top .works_sec .c_button_1 {
    margin-top: 13.3333333333vw;
  }
}
#p_top .blog_sec {
  padding: 5.46875vw 1.0416666667vw 7.2916666667vw;
  background: #f8f8f8;
}
@media screen and (max-width: 768px) {
  #p_top .blog_sec {
    padding: 16vw 5.3333333333vw;
  }
}
#p_top .blog_sec__heading {
  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;
  margin: 0 auto 3.3854166667vw;
  aspect-ratio: 540/178;
  width: 28.125vw;
  background: url(../img/p-top/blog_sec_title_bg.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  #p_top .blog_sec__heading {
    margin: 0 auto 8vw;
    width: 66.6666666667vw;
  }
}
#p_top .blog_sec__title {
  margin: 0;
}
#p_top .blog_sec__contents {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 7.8125vw 1fr 7.8125vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.125vw 7.8125vw;
  margin: 0 auto;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .blog_sec__contents {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
    max-width: 100%;
  }
}
#p_top .blog_sec .c_button_1 {
  margin-top: 3.3854166667vw;
}
@media screen and (max-width: 768px) {
  #p_top .blog_sec .c_button_1 {
    margin-top: 10.6666666667vw;
  }
}
#p_top .news_sec {
  padding: 5.7291666667vw 1.0416666667vw 4.9479166667vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #p_top .news_sec {
    padding: 16vw 5.3333333333vw;
  }
}
#p_top .news_sec__inr {
  margin: 0 auto;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .news_sec__inr {
    max-width: 100%;
  }
}
#p_top .news_sec__cont {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 38.0208333333vw 5.2083333333vw 1fr;
  grid-template-columns: 38.0208333333vw 1fr;
  gap: 5.2083333333vw;
}
@media screen and (max-width: 768px) {
  #p_top .news_sec__cont {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #p_top .news_sec__feature {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
#p_top .news_sec .c_button_1 {
  margin-top: 5.2083333333vw;
}
@media screen and (max-width: 768px) {
  #p_top .news_sec .c_button_1 {
    margin-top: 10.6666666667vw;
  }
}
#p_top .recruit_sec {
  position: relative;
  z-index: 0;
  padding: 8.59375vw 1.0416666667vw 0;
  background: #039c39;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec {
    padding: 16vw 5.3333333333vw 0;
  }
}
#p_top .recruit_sec__inr {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding-bottom: 9.8958333333vw;
  max-width: 68.75vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__inr {
    padding-bottom: 0;
    max-width: 100%;
  }
}
#p_top .recruit_sec__obj {
  position: absolute;
  bottom: 2.8645833333vw;
  left: 0;
  aspect-ratio: 362/304;
  width: 18.8541666667vw;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__obj {
    left: -5.3333333333vw;
    width: 26.6666666667vw;
  }
}
#p_top .recruit_sec__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#p_top .recruit_sec__cont {
  position: relative;
  z-index: 0;
  height: 35.6770833333vw;
  background: url(../img/p-top/recruit_sec_img.jpg) no-repeat center/cover;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cont {
    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: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5.3333333333vw;
    padding: 5.3333333333vw;
    height: 66.6666666667vw;
  }
}
#p_top .recruit_sec__cont:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 50%;
  height: 100%;
  background: -webkit-gradient(linear, right top, left top, from(rgba(6, 25, 13, 0)), to(#000));
  background: linear-gradient(-90deg, rgba(6, 25, 13, 0) 0%, #000 100%);
  content: "";
  opacity: 0.42;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cont:before {
    height: 66.6666666667vw;
    background: rgba(0, 0, 0, 0.42);
    opacity: 1;
  }
}
#p_top .recruit_sec__cont_title {
  position: absolute;
  top: 50%;
  left: 4.9479166667vw;
  margin: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cont_title {
    position: static;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
#p_top .recruit_sec__cont_txt {
  position: absolute;
  top: 3.6458333333vw;
  right: 1.5625vw;
  color: #fff;
  font-weight: 700;
  font-size: 1.5625vw;
  line-height: 1.4666666667;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cont_txt {
    position: static;
    font-size: 3.2vw;
  }
}
#p_top .recruit_sec__cta {
  position: absolute;
  right: -7.8125vw;
  bottom: 5.7291666667vw;
  padding: 2.0833333333vw 2.34375vw 1.8229166667vw;
  width: 37.8125vw;
  background: #fff;
  -webkit-box-shadow: 3px 3px 1.0416666667vw rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 1.0416666667vw rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cta {
    position: relative;
    right: -5.3333333333vw;
    bottom: 5.3333333333vw;
    padding: 4vw 5.3333333333vw;
    width: 100%;
  }
}
#p_top .recruit_sec__cta_title {
  margin: 0 0 0.5208333333vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 1.1458333333vw;
  line-height: 1.4545454545;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cta_title {
    margin: 0 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
#p_top .recruit_sec__cta_txt {
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cta_txt {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  #p_top .recruit_sec__cta .c_button_2 {
    margin: 2.6666666667vw 0 0;
  }
}
@media screen and (min-width: 769px) {
  #p_top .recruit_sec__cta .c_button_2 {
    position: absolute;
    right: 3.6458333333vw;
    bottom: 1.0416666667vw;
    padding: 0.46875vw 1.5625vw;
    width: 8.8541666667vw;
    height: 1.8229166667vw;
    font-size: 0.625vw;
  }
  #p_top .recruit_sec__cta .c_button_2 .c_icon_btn_arw {
    width: 1.875vw;
    height: 1.1979166667vw;
  }
  #p_top .recruit_sec__cta .c_button_2 .c_icon_btn_arw:before {
    width: 1.1458333333vw;
  }
  #p_top .recruit_sec__cta .c_button_2 .c_icon_btn_arw:after {
    width: 1.4583333333vw;
  }
}

/* ======================================================================
 ABOUT US
====================================================================== */
#p_about .about_wrap {
  margin: 0 auto;
  padding: 4.6875vw 0 0;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_wrap {
    padding: 16vw 5.3333333333vw 0;
    width: 100%;
  }
}
#p_about .about_wrap__title {
  margin-bottom: 5.7291666667vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_wrap__title {
    margin-bottom: 10.6666666667vw;
  }
}
#p_about .about_sec__thumb {
  margin: 0 0 6.25vw;
  width: 100%;
  height: 21.6145833333vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec__thumb {
    margin: 0 0 5.3333333333vw;
    height: 66.6666666667vw;
  }
}
#p_about .about_sec__thumb .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#p_about .about_sec__content_width {
  margin: 0 auto;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec__content_width {
    width: 100%;
  }
}
#p_about .about_sec--full {
  margin-inline: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  #p_about .about_sec--full {
    padding-inline: 5.3333333333vw;
  }
}
#p_about .about_sec--gray {
  background: #f8f8f8;
}
#p_about .about_sec--company {
  padding-bottom: 7.03125vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec--company {
    padding-bottom: 16vw;
  }
}
#p_about .about_sec--message {
  padding-top: 5.2083333333vw;
  padding-bottom: 7.03125vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec--message {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
}
#p_about .about_sec--overview {
  padding-top: 5.2083333333vw;
  padding-bottom: 10.9375vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec--overview {
    padding-top: 16vw;
    padding-bottom: 10.6666666667vw;
  }
}
#p_about .about_sec--overview .about_sec__thumb {
  margin-bottom: 6.5104166667vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec--overview .about_sec__thumb {
    margin-bottom: 10.6666666667vw;
  }
}
#p_about .about_sec_contents {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 20.7291666667vw 6.25vw 1fr;
  grid-template-columns: 20.7291666667vw 1fr;
  gap: 6.25vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}
#p_about .about_sec_contents__thumb {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__thumb {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
#p_about .about_sec_contents__thumb .img {
  width: 100%;
}
#p_about .about_sec_contents__title {
  margin: 0 0 0.78125vw;
  color: #039c39;
  font-weight: 900;
  font-size: 2.0833333333vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__title {
    margin: 0 0 4vw;
    font-size: 5.3333333333vw;
  }
}
#p_about .about_sec_contents__subtitle {
  position: relative;
  z-index: 0;
  margin: 0 0 0.78125vw;
  color: #039c39;
  font-weight: 900;
  font-size: 1.1458333333vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__subtitle {
    margin: 0 0 4vw;
    font-size: 4.2666666667vw;
  }
}
#p_about .about_sec_contents__subtitle:before {
  position: absolute;
  top: 55%;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 2px;
  background: #039c39;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#p_about .about_sec_contents__subtitle .inr {
  padding: 0 1.0416666667vw 0 0;
  background: #fff;
}
#p_about .about_sec_contents__subtitle .large {
  font-size: 1.5625vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__subtitle .large {
    font-size: 5.3333333333vw;
  }
}
#p_about .about_sec_contents__ceo {
  margin-top: 0.5208333333vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__ceo {
    margin-top: 2.6666666667vw;
  }
}
#p_about .about_sec_contents__ceo .comp {
  font-weight: 700;
  font-size: 1.25vw;
  line-height: 1.4583333333;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__ceo .comp {
    font-size: 4.2666666667vw;
  }
}
#p_about .about_sec_contents__ceo .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1.8229166667vw;
  margin-top: 0.2604166667vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__ceo .info {
    gap: 2.6666666667vw;
    margin-top: 1.3333333333vw;
  }
}
#p_about .about_sec_contents__ceo .info .position {
  font-size: 0.9375vw;
  line-height: 1.3888888889;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__ceo .info .position {
    font-size: 3.7333333333vw;
  }
}
#p_about .about_sec_contents__ceo .info .name {
  font-size: 1.25vw;
  line-height: 1.4583333333;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents__ceo .info .name {
    font-size: 4.8vw;
  }
}
#p_about .about_sec_contents_value_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5208333333vw 2.0833333333vw;
  margin: 0 0 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_value_list {
    gap: 2.6666666667vw 5.3333333333vw;
    margin: 0 0 5.3333333333vw;
  }
}
#p_about .about_sec_contents_value_list__item {
  color: #039c39;
  font-weight: 900;
  font-size: 1.5625vw;
  line-height: 1.4666666667;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_value_list__item {
    font-size: 4.2666666667vw;
  }
}
#p_about .about_sec_contents_desc__title {
  margin: 0 0 1.0416666667vw;
  color: #039c39;
  font-weight: 900;
  font-size: 1.1458333333vw;
  line-height: 1.4545454545;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_desc__title {
    margin: 0 0 2.6666666667vw;
    font-size: 4.8vw;
  }
}
#p_about .about_sec_contents_desc__txt {
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 2.25;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_desc__txt {
    font-size: 3.7333333333vw;
  }
}
#p_about .about_sec_contents_desc .about_sec_contents_desc__item + .about_sec_contents_desc__item {
  margin-top: 3.3854166667vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_desc .about_sec_contents_desc__item + .about_sec_contents_desc__item {
    margin-top: 5.3333333333vw;
  }
}
#p_about .about_sec_contents_desc--border .about_sec_contents_desc__item {
  padding-top: 2.0833333333vw;
  border-top: 1px solid #b4b4b4;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_desc--border .about_sec_contents_desc__item {
    padding-top: 5.3333333333vw;
  }
}
#p_about .about_sec_contents_desc--border .about_sec_contents_desc__item:last-of-type {
  padding-bottom: 2.0833333333vw;
  border-bottom: 1px solid #b4b4b4;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_desc--border .about_sec_contents_desc__item:last-of-type {
    padding-bottom: 5.3333333333vw;
  }
}
#p_about .about_sec_contents_desc--border .about_sec_contents_desc__item + .about_sec_contents_desc__item {
  margin-top: 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_contents_desc--border .about_sec_contents_desc__item + .about_sec_contents_desc__item {
    margin-top: 5.3333333333vw;
  }
}
#p_about .about_sec_tbl {
  margin: 0 auto;
  width: 51.0416666667vw;
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_tbl {
    width: 100%;
    font-size: 3.7333333333vw;
  }
}
#p_about .about_sec_tbl__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 12.5vw 1fr;
  grid-template-columns: 12.5vw 1fr;
  padding: 1.5625vw 0;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_tbl__item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
    padding: 5.3333333333vw 0;
  }
}
#p_about .about_sec_tbl__item:last-of-type {
  border-bottom: 1px solid #ccc;
}
#p_about .about_sec_tbl__ttl {
  font-weight: 400;
}
#p_about .about_sec_tbl .tel {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.8645833333vw 1fr;
  grid-template-columns: 2.8645833333vw 1fr;
}
@media screen and (max-width: 768px) {
  #p_about .about_sec_tbl .tel {
    -ms-grid-columns: 10.6666666667vw 1fr;
    grid-template-columns: 10.6666666667vw 1fr;
  }
}
#p_about .about_gallery {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.9375vw 1fr 0.9375vw 1fr 0.9375vw 1fr 0.9375vw 1fr;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.9375vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 0.9375vw;
}
@media screen and (max-width: 768px) {
  #p_about .about_gallery {
    gap: 1.3333333333vw;
    padding: 0 1.3333333333vw;
  }
}
#p_about .about_gallery .img {
  width: 100%;
}

/* ======================================================================
 SERVICE
====================================================================== */
#p_service .service_head {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 5.46875vw 1.0416666667vw 4.4270833333vw;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_head {
    padding: 10.6666666667vw 8vw 39vw;
    width: 100%;
  }
}
#p_service .service_head__title {
  margin: 0 0 3.90625vw;
  color: #039c39;
  text-align: center;
  letter-spacing: 0;
  font-weight: 900;
  font-size: 3.125vw;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  #p_service .service_head__title {
    margin: 0 0 5.3333333333vw;
    font-size: 5.8666666667vw;
  }
}
#p_service .service_head__txtbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.4270833333vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_head__txtbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.6666666667vw;
  }
}
#p_service .service_head__txtbox p {
  letter-spacing: 0.25em;
  font-size: 1.0416666667vw;
  line-height: 50px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  #p_service .service_head__txtbox p {
    font-size: 3.7333333333vw;
    line-height: 1.75;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
#p_service .service_head__obj {
  position: absolute;
}
#p_service .service_head__obj--01 {
  bottom: 6.5104166667vw;
  left: 2.0833333333vw;
  aspect-ratio: 114/184;
  width: 5.9375vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_head__obj--01 {
    bottom: 2.6666666667vw;
    left: 2.6666666667vw;
    width: 13.3333333333vw;
  }
}
#p_service .service_head__obj--02 {
  right: -7.2916666667vw;
  bottom: 10.9375vw;
  aspect-ratio: 300/313;
  width: 15.625vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_head__obj--02 {
    right: 0;
    width: 23.6666666667vw;
  }
}
#p_service .service_head__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#p_service .service_sec {
  padding: 3.3854166667vw 0 0;
  background: #f8f8f8;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec {
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}
#p_service .service_sec__inr {
  margin: 0 auto;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec__inr {
    width: 100%;
  }
}
#p_service .service_sec__title {
  margin-bottom: 0;
}
#p_service .service_sec_item {
  margin: 0 calc(50% - 50vw);
  padding: 5.2083333333vw calc(50vw - 50%);
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_item {
    padding: 16vw calc(50vw - 50%);
  }
}
#p_service .service_sec_item--wh {
  background: #fff;
}
#p_service .service_sec_item__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.4166666667vw;
  margin: 0 0 4.1666666667vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_item__ttl {
    gap: 1.3333333333vw;
    margin: 0 0 5.3333333333vw;
  }
}
#p_service .service_sec_item__ttl_txt {
  letter-spacing: 0.45em;
  font-weight: bold;
  font-size: 1.6666666667vw;
  line-height: 1.6666666667vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_item__ttl_txt {
    font-size: 7.2vw;
    line-height: 4.8vw;
  }
}
#p_service .service_sec_item__ttl_num {
  position: relative;
  z-index: 0;
  margin-top: 0.15625vw;
  color: #039c39;
  font-size: 0.9375vw;
  line-height: 1.09375vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_item__ttl_num {
    padding-bottom: 8vw;
    font-size: 4.8vw;
    line-height: 5.3333333333vw;
  }
}
#p_service .service_sec_item__ttl_num:after {
  position: absolute;
  bottom: 0.78125vw;
  left: calc(50% - 1px);
  width: 1px;
  height: 2.2916666667vw;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_item__ttl_num:after {
    height: 5.3333333333vw;
  }
}
#p_service .service_sec_item__thumb {
  margin: 0 0 5.2083333333vw;
  height: 21.6145833333vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_item__thumb {
    margin: 0 0 10.6666666667vw;
    height: 40vw;
  }
}
#p_service .service_sec_item__thumb .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#p_service .service_sec_item .service_sec_contents + .service_sec_contents {
  margin-top: 3.125vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_item .service_sec_contents + .service_sec_contents {
    margin-top: 8vw;
  }
}
#p_service .service_sec_contents {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 17.0833333333vw 3.90625vw 1fr;
  grid-template-columns: 17.0833333333vw 1fr;
  gap: 3.90625vw;
  padding-bottom: 3.125vw;
  border-bottom: 1px solid #b4b4b4;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_contents {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 8vw;
    padding-bottom: 8vw;
  }
}
#p_service .service_sec_contents__thumb .img {
  width: 100%;
}
#p_service .service_sec_contents__titlebox {
  position: relative;
  z-index: 0;
}
#p_service .service_sec_contents__title {
  display: -ms-grid;
  display: grid;
  overflow: hidden;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 0.5208333333vw 1.0416666667vw 1fr;
  grid-template-columns: 0.5208333333vw 1fr;
  gap: 1.0416666667vw;
  margin: -0.78125vw 0 1.0416666667vw;
  font-weight: 700;
  font-size: 1.4583333333vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_contents__title {
    -ms-grid-columns: 1.3333333333vw 2.6666666667vw 1fr;
    grid-template-columns: 1.3333333333vw 1fr;
    gap: 2.6666666667vw;
    margin: 0 0 4vw;
    font-size: 5.3333333333vw;
  }
}
#p_service .service_sec_contents__title:before {
  aspect-ratio: 1/1;
  width: 0.5208333333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_contents__title:before {
    width: 1.3333333333vw;
  }
}
#p_service .service_sec_contents__title_en {
  position: absolute;
  top: -2.6041666667vw;
  left: 1.5625vw;
  z-index: -1;
  color: #7d7d7d;
  white-space: nowrap;
  font-weight: 900;
  font-size: 3.6458333333vw;
  line-height: 1.4428571429;
  opacity: 0.06;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_contents__title_en {
    top: -5.3333333333vw;
    left: 4vw;
    font-size: 9.3333333333vw;
  }
}
#p_service .service_sec_contents__desc_title {
  margin: 0 0 0.78125vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 1.1458333333vw;
  line-height: 1.4545454545;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_contents__desc_title {
    margin: 0 0 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#p_service .service_sec_contents__desc_txt {
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 2.25;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_contents__desc_txt {
    font-size: 3.7333333333vw;
  }
}
#p_service .service_sec_contents .c_button_2 {
  margin-top: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  #p_service .service_sec_contents .c_button_2 {
    margin-top: 5.3333333333vw;
  }
}

/* ======================================================================
 TOP
====================================================================== */
#p_works .works_wrap {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 4.6875vw 0 0;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_works .works_wrap {
    padding: 16vw 5.3333333333vw 0;
    width: 100%;
  }
}
#p_works .works_wrap__obj {
  position: absolute;
  top: 7.03125vw;
  right: -1.5625vw;
  aspect-ratio: 265/315;
  width: 13.8020833333vw;
}
@media screen and (max-width: 768px) {
  #p_works .works_wrap__obj {
    top: 21.3333333333vw;
    right: 2.6666666667vw;
    width: 21.3333333333vw;
  }
}
#p_works .works_wrap__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#p_works .works_wrap__title {
  margin-bottom: 4.6875vw;
}
@media screen and (max-width: 768px) {
  #p_works .works_wrap__title {
    margin-bottom: 10.6666666667vw;
  }
}
#p_works .pickup_sec__content {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 3.3854166667vw 1.8229166667vw;
  background: #e6f5ec;
}
@media screen and (max-width: 768px) {
  #p_works .pickup_sec__content {
    padding: 5.3333333333vw;
  }
}
#p_works .pickup_sec .prev,
#p_works .pickup_sec .next {
  position: absolute;
  top: 50%;
  right: 0.78125vw;
  z-index: 10;
  aspect-ratio: 1/1;
  width: 2.2916666667vw;
  background: url(../img/common/ico-slider-arw.jpg) no-repeat center/contain;
  cursor: pointer;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #p_works .pickup_sec .prev,
  #p_works .pickup_sec .next {
    right: 4vw;
    width: 8vw;
  }
}
#p_works .pickup_sec .prev {
  right: auto;
  left: 0.78125vw;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
@media screen and (max-width: 768px) {
  #p_works .pickup_sec .prev {
    left: 4vw;
  }
}
#p_works .works_tag {
  margin: 1.5625vw auto 0;
}
@media screen and (max-width: 768px) {
  #p_works .works_tag {
    margin: 10.6666666667vw auto 0;
  }
}
#p_works .works_list_sec {
  padding: 7.2916666667vw 0 0;
}
@media screen and (max-width: 768px) {
  #p_works .works_list_sec {
    padding: 16vw 0 0;
  }
}
#p_works .works_list_sec__content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.0833333333vw 1fr 2.0833333333vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.7291666667vw 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  #p_works .works_list_sec__content {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
  }
}

/* ======================================================================
 Works Single
====================================================================== */
#p_works_single {
  background: #f8f8f8;
}
#p_works_single .works_single_wrap {
  margin: 0 auto;
  padding: 5.46875vw 0 0;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_wrap {
    padding: 10.6666666667vw 5.3333333333vw 0;
    width: 100%;
  }
}
#p_works_single .works_single_contents {
  margin-top: 2.0833333333vw;
  padding: 4.1666666667vw 6.5104166667vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents {
    margin-top: 5.3333333333vw;
    padding: 5.3333333333vw;
  }
}
#p_works_single .works_single_contents__time {
  display: block;
  margin: 0 0 1.0416666667vw;
  text-align: right;
  letter-spacing: 0.1em;
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents__time {
    margin: 0 0 8vw;
    font-size: 3.2vw;
  }
}
#p_works_single .works_single_contents__label_dot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.78125vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.8333333333vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents__label_dot {
    gap: 1.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
#p_works_single .works_single_contents__label_dot:before {
  aspect-ratio: 1/1;
  width: 0.3645833333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents__label_dot:before {
    width: 1.3333333333vw;
  }
}
#p_works_single .works_single_contents > *:last-child {
  padding-bottom: 3.3854166667vw;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents > *:last-child {
    padding-bottom: 5.3333333333vw;
  }
}
#p_works_single .works_single_contents_compare {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.5625vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5625vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_compare {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}
#p_works_single .works_single_contents_compare__thumb {
  aspect-ratio: 525/327;
  width: 100%;
}
#p_works_single .works_single_contents_compare__thumb .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#p_works_single .works_single_contents_compare__label {
  padding: 0.6770833333vw 0.5208333333vw;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_compare__label {
    padding: 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#p_works_single .works_single_contents_compare__label--before {
  background: #e2e2e2;
}
#p_works_single .works_single_contents_compare__label--after {
  background: #e6f5ec;
}
#p_works_single .works_single_contents_info_list {
  margin-top: 2.6041666667vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_info_list {
    margin-top: 5.3333333333vw;
  }
}
#p_works_single .works_single_contents_info_list__row {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-grid-columns: 12.7604166667vw 1fr;
  grid-template-columns: 12.7604166667vw 1fr;
  padding: 1.5625vw 0;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_info_list__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.3333333333vw;
    padding: 5.3333333333vw 0;
  }
}
#p_works_single .works_single_contents_info_list__row:last-of-type {
  border-bottom: 1px solid #ccc;
}
#p_works_single .works_single_contents_info_list__content {
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_info_list__content {
    font-size: 3.7333333333vw;
  }
}
#p_works_single .works_single_contents_photo_table {
  margin-top: 1.8229166667vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table {
    margin-top: 5.3333333333vw;
  }
}
#p_works_single .works_single_contents_photo_table__title {
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table__title {
    margin-bottom: 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table__table_wrap {
    overflow: auto;
  }
}
#p_works_single .works_single_contents_photo_table__table_wrap + .works_single_contents_photo_table__table_wrap {
  margin-top: 2.8645833333vw;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table__table_wrap + .works_single_contents_photo_table__table_wrap {
    margin-top: 5.3333333333vw;
  }
}
#p_works_single .works_single_contents_photo_table__table {
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table__table {
    width: 170.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
#p_works_single .works_single_contents_photo_table__table th,
#p_works_single .works_single_contents_photo_table__table td {
  border: 1px solid #ccc;
}
#p_works_single .works_single_contents_photo_table__table td {
  padding: 1.0416666667vw;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table__table td {
    padding: 2.6666666667vw;
  }
}
#p_works_single .works_single_contents_photo_table__table th {
  padding: 0.7291666667vw 0.2604166667vw;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table__table th {
    padding: 2.6666666667vw;
  }
}
#p_works_single .works_single_contents_photo_table__table th.first {
  width: 9.375vw;
  background: #f1f1f1;
}
@media screen and (max-width: 768px) {
  #p_works_single .works_single_contents_photo_table__table th.first {
    width: 37.3333333333vw;
  }
}
#p_works_single .works_single_contents_photo_table__table th.before {
  background: #e2e2e2;
}
#p_works_single .works_single_contents_photo_table__table th.after {
  background: #e6f5ec;
}
#p_works_single .works_single_contents_photo_table__table th.now {
  background: #f4f5d5;
}
#p_works_single .works_single_contents_photo_table__table .img {
  width: 100%;
}

/* ======================================================================
 TOP
====================================================================== */
#p_voice {
  background: #eaf3ee;
}
#p_voice .voice_sec {
  margin: 0 auto;
  padding: 5.46875vw 0 0;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec {
    padding: 16vw 5.3333333333vw 0;
    width: 100%;
  }
}
#p_voice .voice_sec__title {
  margin-bottom: 6.7708333333vw;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec__title {
    margin-bottom: 10.6666666667vw;
  }
}
#p_voice .voice_sec_list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5.7291666667vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.7708333333vw 5.7291666667vw;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
  }
}
#p_voice .voice_sec_list__item {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -ms-grid-columns: 5.3125vw 1.3020833333vw 1fr;
  grid-template-columns: 5.3125vw 1fr;
  gap: 1.3020833333vw;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__item {
    position: relative;
    z-index: 0;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding: 16vw 0 0 8vw;
  }
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__fig {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 26.6666666667vw;
  }
}
#p_voice .voice_sec_list__fig .img {
  width: 100%;
  height: auto;
}
#p_voice .voice_sec_list__cont {
  padding: 3.125vw 3.3854166667vw 4.6875vw;
  height: 100%;
  border-top: 0.4166666667vw solid #039c39;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__cont {
    padding: 5.3333333333vw 2.6666666667vw 8vw;
  }
}
#p_voice .voice_sec_list__dot {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 0.3645833333vw 0.5208333333vw 1fr;
  grid-template-columns: 0.3645833333vw 1fr;
  gap: 0.5208333333vw;
  padding: 0 0 0.5208333333vw;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__dot {
    -ms-grid-columns: 1.3333333333vw 1.3333333333vw 1fr;
    grid-template-columns: 1.3333333333vw 1fr;
    gap: 1.3333333333vw;
    padding: 0 0 1.3333333333vw;
  }
}
#p_voice .voice_sec_list__dot:nth-child(n+2) {
  margin-top: 0.5208333333vw;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__dot:nth-child(n+2) {
    margin-top: 2.6666666667vw;
  }
}
#p_voice .voice_sec_list__dot:before {
  aspect-ratio: 1/1;
  width: 0.3645833333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__dot:before {
    width: 1.3333333333vw;
  }
}
#p_voice .voice_sec_list__category {
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__category {
    font-size: 3.7333333333vw;
  }
}
#p_voice .voice_sec_list__meta {
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__meta {
    font-size: 3.7333333333vw;
  }
}
#p_voice .voice_sec_list__txt {
  margin-top: 1.0416666667vw;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_voice .voice_sec_list__txt {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}

/* ======================================================================
 Blog archive
====================================================================== */
#p_blog .blog_heading {
  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;
  aspect-ratio: 540/178;
  width: 20.3125vw;
  background: url(../img/p-top/blog_sec_title_bg.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  #p_blog .blog_heading {
    margin: 0 auto 8vw;
    width: 66.6666666667vw;
  }
}
#p_blog .blog_heading__title {
  margin: 0;
}
#p_blog .blog_heading__title .c_title_1__en {
  font-size: 2.96875vw;
}
@media screen and (max-width: 768px) {
  #p_blog .blog_heading__title .c_title_1__en {
    font-size: 9.3333333333vw;
  }
}
#p_blog .blog_heading__title .c_title_1__ja {
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  #p_blog .blog_heading__title .c_title_1__ja {
    font-size: 3.2vw;
  }
}
#p_blog .blog_sec {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 5.7291666667vw 0 0;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_blog .blog_sec {
    padding: 16vw 5.3333333333vw 0;
    width: 100%;
  }
}
#p_blog .blog_sec__obj {
  position: absolute;
  top: 1.5625vw;
  right: 1.5625vw;
  aspect-ratio: 217/191;
  width: 11.3020833333vw;
}
@media screen and (max-width: 768px) {
  #p_blog .blog_sec__obj {
    top: 5.3333333333vw;
    right: 5.3333333333vw;
    width: 26.6666666667vw;
  }
}
#p_blog .blog_sec__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#p_blog .blog_sec__lists {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3.6458333333vw 1fr 3.6458333333vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.8645833333vw 3.6458333333vw;
  margin: 3.3854166667vw auto 0;
  width: 60.2083333333vw;
}
@media screen and (max-width: 768px) {
  #p_blog .blog_sec__lists {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
    margin: 10.6666666667vw auto 0;
    width: 100%;
  }
}

/* ======================================================================
 Blog archive
====================================================================== */
#p_news .news_sec {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 5.7291666667vw 0 0;
  width: 68.75vw;
}
@media screen and (max-width: 768px) {
  #p_news .news_sec {
    padding: 16vw 5.3333333333vw 0;
    width: 100%;
  }
}
#p_news .news_sec__obj {
  position: absolute;
  top: 1.3020833333vw;
  right: -1.0416666667vw;
  aspect-ratio: 168/219;
  width: 8.75vw;
}
@media screen and (max-width: 768px) {
  #p_news .news_sec__obj {
    top: 5.3333333333vw;
    right: 5.3333333333vw;
    width: 26.6666666667vw;
  }
}
#p_news .news_sec__obj .img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#p_news .news_sec__lists {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5.7291666667vw 1fr 5.7291666667vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.90625vw 5.7291666667vw;
  margin: 3.3854166667vw auto 0;
  width: 64.0625vw;
}
@media screen and (max-width: 768px) {
  #p_news .news_sec__lists {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
    margin: 10.6666666667vw auto 0;
    width: 100%;
  }
}
#p_news .news_sec__lists .c_news_list__cat {
  margin-right: 0;
}

/* ======================================================================
 Blog archive
====================================================================== */
#p_blog_single .l_main_visual__inr {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #p_blog_single .l_main_visual__inr {
    margin: 16vw auto 0;
  }
}
#p_blog_single .blog_heading {
  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;
  aspect-ratio: 540/178;
  width: 20.3125vw;
  background: url(../img/p-top/blog_sec_title_bg.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  #p_blog_single .blog_heading {
    margin: 0 auto 8vw;
    width: 66.6666666667vw;
  }
}
#p_blog_single .blog_heading__title {
  margin: 0;
}
#p_blog_single .blog_heading__title .c_title_1__en {
  font-size: 2.96875vw;
}
@media screen and (max-width: 768px) {
  #p_blog_single .blog_heading__title .c_title_1__en {
    font-size: 9.3333333333vw;
  }
}
#p_blog_single .blog_heading__title .c_title_1__ja {
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  #p_blog_single .blog_heading__title .c_title_1__ja {
    font-size: 3.2vw;
  }
}

/* ======================================================================
 Blog archive
====================================================================== */
.post_single_wrap {
  padding: 6.25vw 1.0416666667vw 0;
}
@media screen and (max-width: 768px) {
  .post_single_wrap {
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}

.post_single {
  margin: 0 auto;
  padding: 0 0 4.9479166667vw;
  width: 56.25vw;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .post_single {
    padding: 0 0 10.6666666667vw;
    width: 100%;
  }
}
.post_single .time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.5208333333vw;
  margin: 0 0 2.0833333333vw;
  color: #8e8e8e;
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  .post_single .time {
    gap: 1.3333333333vw;
    margin: 0 0 5.3333333333vw;
    font-size: 3.2vw;
  }
}
.post_single .time:before {
  aspect-ratio: 1/1;
  width: 0.3645833333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  .post_single .time:before {
    width: 1.3333333333vw;
  }
}
.post_single .c_tag_list {
  margin: 0 0 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  .post_single .c_tag_list {
    margin: 0 0 5.3333333333vw;
  }
}
.post_single .thumb {
  margin-bottom: 2.0833333333vw;
  padding: 0 0 2.0833333333vw;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .post_single .thumb {
    margin-bottom: 5.3333333333vw;
    padding: 0 0 5.3333333333vw;
  }
}
.post_single .thumb .img {
  width: 100%;
  height: auto;
}
.post_single p {
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .post_single p {
    font-size: 3.7333333333vw;
  }
}
.post_single p + p {
  margin-top: 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  .post_single p + p {
    margin-top: 5.3333333333vw;
  }
}
.post_single .gallery {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.5625vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5625vw;
  margin-top: 2.0833333333vw;
}
@media screen and (max-width: 768px) {
  .post_single .gallery {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}
.post_single .gallery .img,
.post_single .gallery img {
  width: 100%;
}

/* ======================================================================
 TOP
====================================================================== */
#p_privacy_policy {
  background: #f8f8f8;
}
#p_privacy_policy .privacy_sec_wrap {
  padding: 4.1666666667vw 0 0;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec_wrap {
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}
#p_privacy_policy .privacy_sec {
  margin: 0 auto;
  padding: 5.2083333333vw 6.5104166667vw;
  width: 68.75vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec {
    padding: 10.6666666667vw 5.3333333333vw;
    width: 100%;
  }
}
#p_privacy_policy .privacy_sec__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.78125vw;
  margin: 0 0 2.34375vw;
  padding: 0 0 1.5625vw;
  border-bottom: 0.0520833333vw solid #039c39;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 1.0416666667vw;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__title {
    gap: 2.6666666667vw;
    margin: 0 0 5.3333333333vw;
    padding: 0 0 4vw;
    border-bottom: 0.2666666667vw solid #039c39;
    font-size: 4.8vw;
  }
}
#p_privacy_policy .privacy_sec__title:before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  aspect-ratio: 1/1;
  width: 0.3645833333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__title:before {
    width: 1.3333333333vw;
  }
}
#p_privacy_policy .privacy_sec__lead {
  margin: 0 0 1.8229166667vw;
  padding: 0 0 1.5625vw;
  border-bottom: 0.0520833333vw solid #ccc;
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__lead {
    margin: 0 0 5.3333333333vw;
    padding: 0 0 5.3333333333vw;
    border-bottom: 0.2666666667vw solid #ccc;
    font-size: 3.7333333333vw;
  }
}
#p_privacy_policy .privacy_sec__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2.34375vw;
  counter-reset: privacy-item;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__item {
    gap: 5.3333333333vw;
  }
}
#p_privacy_policy .privacy_sec__item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3020833333vw;
  counter-increment: privacy-item;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__item-list {
    gap: 2.6666666667vw;
  }
}
#p_privacy_policy .privacy_sec__item-list:before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: #039c39;
  content: "0" counter(privacy-item);
  font-weight: 900;
  font-size: 1.5625vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__item-list:before {
    font-size: 5.3333333333vw;
  }
}
#p_privacy_policy .privacy_sec__item-list-title {
  margin-bottom: 0.5208333333vw;
  color: #019c39;
  letter-spacing: 0.1em;
  font-weight: 600;
  font-size: 0.9375vw;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__item-list-title {
    margin-bottom: 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#p_privacy_policy .privacy_sec__item-list-detail {
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__item-list-detail {
    font-size: 3.7333333333vw;
  }
}
#p_privacy_policy .privacy_sec__info {
  margin: 2.34375vw 0 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__info {
    margin: 5.3333333333vw 0 0 auto;
    font-size: 3.7333333333vw;
  }
}
#p_privacy_policy .privacy_sec__cta {
  margin: 2.6041666667vw 0 0;
  padding: 1.8229166667vw 3.90625vw 2.6041666667vw;
  background: #e6f5ec;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__cta {
    margin: 10.6666666667vw 0 0;
    padding: 5.3333333333vw 2.6666666667vw;
  }
}
#p_privacy_policy .privacy_sec__cta-title {
  margin: 0 0 1.8229166667vw;
  text-align: center;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 1.0416666667vw;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__cta-title {
    margin: 0 0 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
#p_privacy_policy .privacy_sec__cta-box {
  padding: 2.0833333333vw 1.0416666667vw;
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__cta-box {
    padding: 4vw;
  }
}
#p_privacy_policy .privacy_sec__cta-add {
  letter-spacing: 0.1em;
  font-size: 0.9375vw;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__cta-add {
    font-size: 3.7333333333vw;
  }
}
#p_privacy_policy .privacy_sec__cta-tel {
  margin: 0.78125vw 0 0;
  font-weight: 700;
  font-size: 2.0833333333vw;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__cta-tel {
    margin: 1.3333333333vw 0 0;
    font-size: 8vw;
  }
}
#p_privacy_policy .privacy_sec__cta-tel a {
  -webkit-transition: 0.3s color;
  transition: 0.3s color;
}
#p_privacy_policy .privacy_sec__cta-tel a:hover {
  color: #019c39;
}
#p_privacy_policy .privacy_sec__cta-open {
  margin: 0.2604166667vw 0 0;
  font-weight: 500;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__cta-open {
    margin: 1.3333333333vw 0 0;
    font-size: 3.2vw;
  }
}
#p_privacy_policy .privacy_sec__pdf {
  margin-top: 5.2083333333vw;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__pdf {
    margin-top: 10.6666666667vw;
  }
}
#p_privacy_policy .privacy_sec__pdf-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.0416666667vw 1fr 1.0416666667vw 1fr 1.0416666667vw 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__pdf-item {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 5.3333333333vw;
  }
}
#p_privacy_policy .privacy_sec__pdf-link {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  gap: 0 0;
  -ms-grid-row-span: 2;
  grid-row: span 2;
  padding: 1.3020833333vw 0.5208333333vw;
  border: 1px solid #707070;
  background: #fff;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__pdf-link {
    padding: 4vw 2.6666666667vw;
  }
}
#p_privacy_policy .privacy_sec__pdf-link:hover {
  border-color: #039c39;
  background-color: #039c39;
}
#p_privacy_policy .privacy_sec__pdf-link:hover:after {
  background: #fff;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
#p_privacy_policy .privacy_sec__pdf-link:hover .privacy_sec__pdf-link-title {
  color: #fff;
}
#p_privacy_policy .privacy_sec__pdf-link:after {
  margin: 0.5208333333vw auto 0;
  aspect-ratio: 22/18;
  width: 1.1458333333vw;
  background: #1a1411;
  content: "";
  -webkit-mask: url(../img/common/ico-install.svg) no-repeat center/contain;
          mask: url(../img/common/ico-install.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__pdf-link:after {
    margin: 2.6666666667vw auto 0;
    width: 5.3333333333vw;
  }
}
#p_privacy_policy .privacy_sec__pdf-link-title {
  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;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.5;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  #p_privacy_policy .privacy_sec__pdf-link-title {
    font-size: 3.7333333333vw;
  }
}

/* ======================================================================
 PRICE
====================================================================== */
#p_price .price_sec {
  padding: 3.125vw 0 0;
}
@media screen and (max-width: 768px) {
  #p_price .price_sec {
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}
#p_price .price_sec__content {
  margin: 0 auto;
  width: 69.2708333333vw;
}
@media screen and (max-width: 768px) {
  #p_price .price_sec__content {
    width: 100%;
  }
}
#p_price .price_sec__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
#p_price .price_sec__tab-btn {
  position: relative;
  z-index: 0;
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  padding: 1.1979166667vw 3.8020833333vw;
  width: 100%;
  border: 0.0520833333vw solid #039c39;
  background: #fff;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  #p_price .price_sec__tab-btn {
    padding: 2.6666666667vw 4vw;
    -webkit-box-shadow: 0.8vw 0.8vw 1.6vw rgba(0, 0, 0, 0.08);
            box-shadow: 0.8vw 0.8vw 1.6vw rgba(0, 0, 0, 0.08);
  }
}
#p_price .price_sec__tab-btn.is-active {
  background: #039c39;
  color: #fff;
}
#p_price .price_sec__tab-btn.is-active .price_sec__tab-btn-txt:before {
  background: #fff;
}
#p_price .price_sec__tab-btn.is-active .price_sec__tab-btn-arw {
  background: #fff;
}
#p_price .price_sec__tab-btn:not(:first-of-type) {
  border-left: 0;
}
#p_price .price_sec__tab-btn-txt {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 0.3645833333vw 0.5208333333vw 1fr;
  grid-template-columns: 0.3645833333vw 1fr;
  gap: 0.5208333333vw;
  font-weight: 700;
  font-size: 1.0416666667vw;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  #p_price .price_sec__tab-btn-txt {
    -ms-grid-columns: 1.3333333333vw 1.3333333333vw 1fr;
    grid-template-columns: 1.3333333333vw 1fr;
    gap: 1.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
#p_price .price_sec__tab-btn-txt:before {
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
#p_price .price_sec__tab-btn-arw {
  position: absolute;
  top: 50%;
  right: 3.8020833333vw;
  background: #039c39;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #p_price .price_sec__tab-btn-arw {
    right: 4vw;
    width: 1.8666666667vw;
  }
}
#p_price .price_sec__tab-tbl {
  overflow: auto;
}
#p_price .price_sec__tab-tbl-img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  #p_price .price_sec__tab-tbl-img {
    width: 186.6666666667vw;
  }
}
#p_price .price_sec__tab-panel {
  padding: 4.1666666667vw 4.1666666667vw 5.2083333333vw;
  border: 0.0520833333vw solid #039c39;
  border-top: none;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #p_price .price_sec__tab-panel {
    padding: 5.3333333333vw 4vw;
  }
}
#p_price .price_sec__tab-note {
  margin: 1.0416666667vw 0 0;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-size: 0.9375vw;
  line-height: 2.2222222222;
}
@media screen and (max-width: 768px) {
  #p_price .price_sec__tab-note {
    margin: 2.6666666667vw 0 0;
    font-size: 3.2vw;
    line-height: 1.5;
  }
}
#p_price .flow_sec {
  padding: 5.2083333333vw 0 0;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec {
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}
#p_price .flow_sec__item {
  margin: 0 auto;
  width: 69.2708333333vw;
  counter-reset: flow-item;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item {
    width: 100%;
  }
}
#p_price .flow_sec__item-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.34375vw 1fr 18.2291666667vw;
  grid-template-columns: 2.34375vw 1fr 18.2291666667vw;
  padding: 0 0 2.6041666667vw;
  border-bottom: 0.0520833333vw solid #b4b4b4;
  counter-increment: flow-item;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list {
    position: relative;
    z-index: 0;
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    padding: 0 0 5.3333333333vw 8vw;
  }
}
#p_price .flow_sec__item-list:not(:first-of-type) {
  margin-top: 2.6041666667vw;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list:not(:first-of-type) {
    margin-top: 5.3333333333vw;
  }
}
#p_price .flow_sec__item-list-num {
  position: relative;
  z-index: 0;
  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;
  color: #039c39;
  font-weight: 500;
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-num {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    font-size: 2.1333333333vw;
  }
}
#p_price .flow_sec__item-list-num:after {
  content: "0" counter(flow-item);
  font-weight: 700;
  font-size: 2.34375vw;
  line-height: 0.75;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-num:after {
    font-size: 5.3333333333vw;
  }
}
#p_price .flow_sec__item-list-num:before {
  position: absolute;
  bottom: 0;
  left: 1.0416666667vw;
  aspect-ratio: 14/140;
  width: 0.7291666667vw;
  background: #039c39;
  content: "";
  -webkit-mask: url(../img/price/flow-arw.svg) no-repeat center/contain;
          mask: url(../img/price/flow-arw.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-num:before {
    top: 13.3333333333vw;
    bottom: auto;
    left: 2.6666666667vw;
    width: 2.6666666667vw;
  }
}
#p_price .flow_sec__item-list-title {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 0.5208333333vw 1.0416666667vw 1fr;
  grid-template-columns: 0.5208333333vw 1fr;
  gap: 1.0416666667vw;
  margin: 0 0 1.0416666667vw;
  font-weight: 700;
  font-size: 1.4583333333vw;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-title {
    -ms-grid-columns: 1.3333333333vw 1.3333333333vw 1fr;
    grid-template-columns: 1.3333333333vw 1fr;
    gap: 1.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
#p_price .flow_sec__item-list-title:before {
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
#p_price .flow_sec__item-list-txt {
  padding: 0 0 0 1.5625vw;
  letter-spacing: 0.1em;
  font-size: 1.1458333333vw;
  line-height: 1.4545454545;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-txt {
    padding: 0 0 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
#p_price .flow_sec__item-list-btn {
  margin: auto 0 0 auto;
  padding-left: 1.8229166667vw;
  width: 18.2291666667vw;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-btn {
    margin: 4vw 0 0;
    width: 66.6666666667vw;
  }
}
#p_price .flow_sec__item-list-cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 2.8645833333vw 0 4.4270833333vw;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-cont {
    margin: 0;
  }
}
#p_price .flow_sec__item-list-pic {
  aspect-ratio: 350/224;
}
@media screen and (max-width: 768px) {
  #p_price .flow_sec__item-list-pic {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin: 0 0 2.6666666667vw;
  }
}
#p_price .flow_sec__item-list-pic-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ======================================================================
 FAQ
====================================================================== */
#p_faq .faq-wrap {
  margin: 0 auto;
  padding: 4.1666666667vw 0 0;
  width: 69.2708333333vw;
}
@media screen and (max-width: 768px) {
  #p_faq .faq-wrap {
    padding: 10.6666666667vw 5.3333333333vw 0;
    width: 100%;
  }
}
#p_faq .faq-nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  -webkit-box-shadow: 0.15625vw 0.15625vw 0.3125vw rgba(0, 0, 0, 0.08);
          box-shadow: 0.15625vw 0.15625vw 0.3125vw rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  #p_faq .faq-nav {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    -webkit-box-shadow: 0.8vw 0.8vw 1.6vw rgba(0, 0, 0, 0.08);
            box-shadow: 0.8vw 0.8vw 1.6vw rgba(0, 0, 0, 0.08);
  }
}
#p_faq .faq-nav__link {
  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;
  gap: 1.3020833333vw;
  padding: 1.1979166667vw 0 1.0416666667vw;
  border: 0.0520833333vw solid #039c39;
  font-weight: 700;
  font-size: 1.0416666667vw;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  #p_faq .faq-nav__link {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 2.6666666667vw 4vw;
    font-size: 3.7333333333vw;
  }
}
#p_faq .faq-nav__link:hover {
  background: #039c39;
}
#p_faq .faq-nav__link:hover .faq-nav__link-arw {
  background: #fff;
}
#p_faq .faq-nav__link:hover .faq-nav__link-txt {
  color: #fff;
}
#p_faq .faq-nav__link:hover .faq-nav__link-txt:before {
  background: #fff;
}
@media screen and (min-width: 769px) {
  #p_faq .faq-nav__link:not(:first-of-type) {
    border-left: none;
  }
}
@media screen and (max-width: 768px) {
  #p_faq .faq-nav__link:not(:first-of-type) {
    border-top: none;
  }
}
#p_faq .faq-nav__link-txt {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 0.3645833333vw 0.5208333333vw 1fr;
  grid-template-columns: 0.3645833333vw 1fr;
  gap: 0.5208333333vw;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  #p_faq .faq-nav__link-txt {
    -ms-grid-columns: 1.3333333333vw 1.3333333333vw 1fr;
    grid-template-columns: 1.3333333333vw 1fr;
    gap: 1.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
#p_faq .faq-nav__link-txt:before {
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #039c39;
  content: "";
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
#p_faq .faq-nav__link-arw {
  width: 0.625vw;
  background: #039c39;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  #p_faq .faq-nav__link-arw {
    width: 2.6666666667vw;
  }
}

.faq-content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  gap: 9.6354166667vw;
  padding: 5.2083333333vw 6.25vw 7.5520833333vw;
  border: 0.0520833333vw solid #039c39;
  border-top: none;
}
@media screen and (max-width: 768px) {
  .faq-content {
    gap: 10.6666666667vw;
    padding: 10.6666666667vw 4vw;
    border: 0.2666666667vw solid #039c39;
  }
}

.faq-sec__title {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 0.3645833333vw 0.5208333333vw 1fr;
  grid-template-columns: 0.3645833333vw 1fr;
  gap: 0.5208333333vw;
  margin: 0 0 1.5625vw;
  padding: 0 0 1.5625vw;
  border-bottom: 0.0520833333vw solid #ccc;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 1.0416666667vw;
  line-height: 1.45;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  .faq-sec__title {
    -ms-grid-columns: 1.3333333333vw 1.3333333333vw 1fr;
    grid-template-columns: 1.3333333333vw 1fr;
    gap: 1.3333333333vw;
    margin: 0 0 5.3333333333vw;
    padding: 0 0 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
.faq-sec__title:before {
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #039c39;
  content: "";
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.faq-sec__item {
  border-bottom: 0.0520833333vw solid #ccc;
}
@media screen and (max-width: 768px) {
  .faq-sec__item {
    border-bottom: 0.2666666667vw solid #ccc;
  }
}
.faq-sec__item-btn {
  position: relative;
  z-index: 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.2916666667vw 1.5625vw 1fr;
  grid-template-columns: 2.2916666667vw 1fr;
  gap: 1.5625vw;
  padding: 1.5625vw 2.0833333333vw 1.5625vw 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .faq-sec__item-btn {
    -ms-grid-columns: 6.6666666667vw 2.6666666667vw 1fr;
    grid-template-columns: 6.6666666667vw 1fr;
    gap: 2.6666666667vw;
    padding: 4vw 8vw 4vw 0;
  }
}
.faq-sec__item-btn:before {
  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;
  aspect-ratio: 1/1;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #039c39;
  color: #fff;
  content: "Q";
  font-weight: 500;
  font-size: 1.3541666667vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .faq-sec__item-btn:before {
    font-size: 3.7333333333vw;
  }
}
.faq-sec__item-btn-txt {
  margin: 0.5208333333vw 0 0;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.9375vw;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  .faq-sec__item-btn-txt {
    font-size: 3.7333333333vw;
  }
}
.faq-sec__item-btn-arw {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.625vw;
  background: #039c39;
  -webkit-transition: 0.4s all;
  transition: 0.4s all;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .faq-sec__item-btn-arw {
    width: 2.6666666667vw;
  }
}
.faq-sec__item-btn[aria-expanded=true] .faq-sec__item-btn-arw {
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
}
.faq-sec__item-content {
  padding: 0.5208333333vw 5.2083333333vw 1.5625vw 0;
}
@media screen and (max-width: 768px) {
  .faq-sec__item-content {
    padding: 0 0 5.3333333333vw;
  }
}
.faq-sec__item-content-inr {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.2916666667vw 1.5625vw 1fr;
  grid-template-columns: 2.2916666667vw 1fr;
  gap: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .faq-sec__item-content-inr {
    -ms-grid-columns: 6.6666666667vw 2.6666666667vw 1fr;
    grid-template-columns: 6.6666666667vw 1fr;
    gap: 2.6666666667vw;
  }
}
.faq-sec__item-content-inr:before {
  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;
  aspect-ratio: 1/1;
  border: 0.0520833333vw solid #039c39;
  border-radius: 50%;
  background: #fff;
  color: #039c39;
  content: "A";
  font-weight: 500;
  font-size: 1.3541666667vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .faq-sec__item-content-inr:before {
    border: 0.2666666667vw solid #039c39;
    font-size: 3.7333333333vw;
  }
}
.faq-sec__item-content-inr-txt {
  margin: 0.2604166667vw 0 0;
  letter-spacing: 0.1em;
  font-size: 0.8333333333vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .faq-sec__item-content-inr-txt {
    font-size: 3.7333333333vw;
  }
}

/* ======================================================================
 CONTACT
====================================================================== */
.contact_sec {
  padding: 4.1666666667vw 0 0;
}
@media screen and (max-width: 768px) {
  .contact_sec {
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}
.contact_sec__content {
  margin: 0 auto;
  width: 69.2708333333vw;
}
@media screen and (max-width: 768px) {
  .contact_sec__content {
    width: 100%;
  }
}
.contact_sec__content-title {
  position: relative;
  z-index: 0;
  margin: 0 0 0.78125vw;
  padding: 0 0 0 1.3020833333vw;
  font-weight: 700;
  font-size: 1.6666666667vw;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 768px) {
  .contact_sec__content-title {
    margin: 0 0 5.3333333333vw;
    padding: 0 0 0 2.6666666667vw;
    font-size: 4.8vw;
  }
}
.contact_sec__content-title:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 0.4166666667vw;
  height: 2.0833333333vw;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  .contact_sec__content-title:after {
    width: 0.8vw;
    height: 5.3333333333vw;
  }
}
.contact_sec__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.contact_sec__tab-btn {
  position: relative;
  z-index: 0;
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  padding: 1.1979166667vw 3.8020833333vw;
  width: 100%;
  border: 0.0520833333vw solid #039c39;
  background: #fff;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
          box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  .contact_sec__tab-btn {
    padding: 2.6666666667vw 4vw;
    -webkit-box-shadow: 0.8vw 0.8vw 1.6vw rgba(0, 0, 0, 0.08);
            box-shadow: 0.8vw 0.8vw 1.6vw rgba(0, 0, 0, 0.08);
  }
}
.contact_sec__tab-btn.is-active {
  background: #039c39;
  color: #fff;
}
.contact_sec__tab-btn.is-active .contact_sec__tab-btn-txt:before {
  background: #fff;
}
.contact_sec__tab-btn.is-active .contact_sec__tab-btn-arw {
  background: #fff;
}
.contact_sec__tab-btn:not(:first-of-type) {
  border-left: 0;
}
.contact_sec__tab-btn-txt {
  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;
  -ms-grid-columns: 0.3645833333vw 0.5208333333vw 1fr;
  grid-template-columns: 0.3645833333vw 1fr;
  gap: 0.5208333333vw;
  font-weight: 700;
  font-size: 1.0416666667vw;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .contact_sec__tab-btn-txt {
    -ms-grid-columns: 1.3333333333vw 2.6666666667vw 1fr;
    grid-template-columns: 1.3333333333vw 1fr;
    gap: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.contact_sec__tab-btn-txt:before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  aspect-ratio: 1/1;
  width: 0.3645833333vw;
  border-radius: 50%;
  background: #039c39;
  content: "";
}
@media screen and (max-width: 768px) {
  .contact_sec__tab-btn-txt:before {
    width: 1.8666666667vw;
  }
}
.contact_sec__tab-btn-arw {
  position: absolute;
  top: 50%;
  right: 3.8020833333vw;
  background: #039c39;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .contact_sec__tab-btn-arw {
    right: 4vw;
    width: 2.4vw;
  }
}
.contact_sec__tab-panel {
  padding: 4.1666666667vw 2.34375vw 3.3854166667vw;
  border: 0.0520833333vw solid #039c39;
  border-top: none;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .contact_sec__tab-panel {
    padding: 5.3333333333vw 4vw;
    border: 0.2666666667vw solid #039c39;
  }
}
.contact_sec__tab-panel-txt {
  margin: 0 0 2.34375vw;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 0.7291666667vw;
  line-height: 1.7142857143;
}
@media screen and (max-width: 768px) {
  .contact_sec__tab-panel-txt {
    margin: 0 0 5.3333333333vw;
    font-size: 3.2vw;
  }
}
.contact_sec__form {
  margin: 0 auto;
  width: 52.0833333333vw;
}
@media screen and (max-width: 768px) {
  .contact_sec__form {
    width: 100%;
  }
}
.contact_sec__form:not(:first-of-type) {
  margin-top: 5.46875vw;
}
@media screen and (max-width: 768px) {
  .contact_sec__form:not(:first-of-type) {
    margin-top: 10.6666666667vw;
  }
}

#p_confirm {
  background: #f8f8f8;
}
@media screen and (max-width: 768px) {
  #p_confirm {
    background: #fff;
  }
}

.confirm-sec {
  margin: 7.8125vw auto 0;
  padding: 3.90625vw 0 5.2083333333vw;
  width: 69.2708333333vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .confirm-sec {
    margin: 0;
    padding: 10.6666666667vw 5.3333333333vw 0;
    width: 100%;
  }
}
.confirm-sec__title {
  margin: 0 0 3.90625vw;
  text-align: center;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 1.8229166667vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .confirm-sec__title {
    margin: 0 0 5.3333333333vw;
    font-size: 4.8vw;
  }
}
.confirm-sec__inr {
  margin: 0 auto;
  width: 52.0833333333vw;
}
@media screen and (max-width: 768px) {
  .confirm-sec__inr {
    width: 100%;
  }
}

#p_complete {
  background: #f8f8f8;
}
#p_complete .l_header.js-clone-header {
  display: none;
}
#p_complete .l_header__hum_ico:before,
#p_complete .l_header__hum_ico:after {
  background: #fff;
}
#p_complete .l_header__hum_ico span {
  background: #fff;
}

.complete-wrap {
  padding: 10.9375vw 0 0;
}
@media screen and (max-width: 768px) {
  .complete-wrap {
    padding: 10.6666666667vw 5.3333333333vw 0;
  }
}

.complete-sec {
  margin: 0 auto;
  padding: 3.6458333333vw 0 3.3854166667vw;
  width: 69.2708333333vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .complete-sec {
    padding: 5.3333333333vw;
    width: 100%;
  }
}
.complete-sec__title {
  margin: 0 0 2.0833333333vw;
  text-align: center;
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 1.8229166667vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .complete-sec__title {
    margin: 0 0 5.3333333333vw;
    font-size: 4.8vw;
  }
}
.complete-sec__txt-box {
  margin: 0 auto;
  width: 43.2291666667vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 0.7291666667vw;
  line-height: 1.7142857143;
}
@media screen and (max-width: 768px) {
  .complete-sec__txt-box {
    width: 100%;
    font-size: 3.2vw;
  }
}
.complete-sec__txt-box ul {
  padding-left: 2em;
  text-indent: -1em;
}
.complete-sec__txt-row:not(:first-of-type) {
  margin-top: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .complete-sec__txt-row:not(:first-of-type) {
    margin-top: 5.3333333333vw;
  }
}