@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap");
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

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

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

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

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

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

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

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

dd {
  margin-left: 0;
}

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

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

address {
  font-style: inherit;
}

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

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

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

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

/**
 * 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. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

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

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

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

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

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

caption {
  text-align: left;
}

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

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

/* ==============================

Common

============================== */
/* ==============================

SP Setting

============================== */
html {
  font-size: 62.5%;
}

body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: clamp(1.2rem, 3.2vw, 2.5rem);
  line-height: 1;
  letter-spacing: 0.1em;
  color: #000;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

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

p, dl, ul {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  p, dl, ul {
    line-height: 1.625;
  }
}

img {
  width: 100%;
  height: auto;
}

a,
button {
  color: #000;
  text-decoration: none;
  transition: opacity 0.2s ease-in, color 0.2s ease-in, background-color 0.2s ease-in;
}

/* ==============================

Module

============================== */
.spOnly {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .spOnly {
    display: none;
  }
}

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

.pcMaxOnly {
  display: none;
}
@media screen and (min-width: 1541px) {
  .pcMaxOnly {
    display: inline-block;
  }
}

.listDisc {
  margin: 2em 0 2em 1.6em;
  list-style: disc;
}
.listDisc li {
  margin-bottom: 0.5em;
}

.displayBlock {
  display: block;
}

.underlineLink {
  position: relative;
}
.underlineLink::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: 1px solid;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .underlineLink:hover::after {
    opacity: 0;
  }
}

.arrowLink {
  position: relative;
  padding-right: 9.6vw;
  background-image: url(../img/arrow_right_black.svg);
  background-repeat: no-repeat;
  background-position: right 2.3111111111vw top 50%;
  background-size: 5.4222222222vw 1.5111111111vw;
}
@media screen and (min-width: 768px) {
  .arrowLink {
    padding-right: 50px;
    background-position: right 15px top 50%;
    background-size: 30px 7px;
  }
  .arrowLink::after {
    opacity: 0;
    position: absolute;
    top: 50%;
    right: 15px;
    content: "";
    width: 30px;
    height: 7px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: url(../img/arrow_right_black.svg) no-repeat 50% 50%/contain;
  }
  .arrowLink:hover {
    background: none;
  }
  .arrowLink:hover::after {
    -webkit-animation-name: arrowAnimationRight;
            animation-name: arrowAnimationRight;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}

/* ==============================

Text

============================== */
.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.txtRight {
  text-align: right;
}

.letterSpacing0 {
  letter-spacing: 0;
}

/* ==============================

Margin / Padding

============================== */
.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

.pl1em {
  padding-left: 1em;
}

.pl1hem {
  padding-left: 1.5em;
}

.flKakko {
  display: inline-block;
  margin-left: -0.5em;
}

.flMaru {
  display: inline-block;
  margin-right: -0.5em;
}

.underlineHeding {
  padding: 0 5.3333333333vw;
  margin-bottom: 1.6em;
  font-size: 4vw;
}
.lowSec .underlineHeding, .lowSecWide .underlineHeding {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .underlineHeding {
    padding: 0;
    font-size: 2.2rem;
  }
}

.underline {
  padding-bottom: 0.25em;
  border-bottom: 2px solid #000;
}
@media screen and (min-width: 768px) {
  .underline {
    border-bottom-width: 3px;
  }
}

.fig_note {
  text-align: right;
}

/* ==============================

loding

============================== */
.loding {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  z-index: 100;
  background: #fff;
}

.loding_logo {
  display: inline-block;
  width: 40.8888888889vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .loding_logo {
    width: 173px;
  }
}
@media screen and (min-width: 1261px) {
  .loding_logo {
    width: 12.987012987vw;
  }
}
@media screen and (min-width: 1541px) {
  .loding_logo {
    width: 200px;
  }
}

/* ==============================

Block

============================== */
.wrapper {
  width: 100%;
  min-width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .wrapper {
    min-width: 1260px;
    padding: 0 30px;
  }
}
@media screen and (min-width: 1541px) {
  .wrapper {
    padding: 0;
  }
}
.wrapper.js-op-wrapper {
  visibility: hidden;
}

.inner {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

/* ==============================

ICON

============================== */
.icon-about::before {
  background-image: url(../img/ico_about.svg);
}

.icon-business::before {
  background-image: url(../img/ico_business.svg);
}

.icon-product::before {
  background-image: url(../img/ico_product.svg);
}

.icon-style::before {
  background-image: url(../img/ico_style.svg);
}

.icon-company::before {
  background-image: url(../img/ico_company.svg);
}

.icon-group_maple::before {
  background-image: url(../img/ico_company.svg);
}

.icon-group_taisei::before {
  background-image: url(../img/ico_company.svg);
}

.icon-group_excel::before {
  background-image: url(../img/ico_company.svg);
}

.icon-recruit::before {
  background-image: url(../img/ico_recruit.svg);
}

.icon-news::before,
.icon-privacy::before,
.icon-404::before,
.icon-customer-harassment::before,
.icon-recruit01::before,
.icon-adi02::before,
.icon-adi01::before,
.icon-estate01::before,
.icon-pm01::before {
  background-image: url(../img/ico_news.svg);
}

.icon-project::before {
  background-image: url(../img/ico_project.svg);
}

.icon-contact::before {
  background-image: url(../img/ico_contact.svg);
}

/* fade in */
.u-fadein {
  opacity: 0;
}
.u-fadein.is-active {
  -webkit-animation: anime-fadein 0.6s ease-in-out 0s 1 forwards;
          animation: anime-fadein 0.6s ease-in-out 0s 1 forwards;
}

@-webkit-keyframes anime-fadein {
  0% {
    opacity: 0;
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
  }
  60% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes anime-fadein {
  0% {
    opacity: 0;
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
  }
  60% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ==============================

Header

============================== */
.header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 15.5555555556vw;
  z-index: 1000;
}
.header::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  content: "";
  background: #fff;
}
.header.-border::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100vw;
  height: 1px;
  background: #e6e6e6;
}
.header.-open::before {
  height: 100vh;
}
@media screen and (min-width: 768px) {
  .header {
    width: calc(100% - 30px * 2);
    height: 90px;
  }
  .header::before {
    left: -30px;
  }
  .header.-border::after {
    content: none;
  }
}
@media screen and (min-width: 1541px) {
  .header {
    width: 100%;
  }
  .header::before {
    left: 0;
  }
}

.header_inner {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100%;
  max-width: 1440px;
  height: 100%;
  margin: 0 auto;
  padding-right: 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .header_inner {
    align-items: center;
    padding-right: 22px;
  }
}
@media screen and (min-width: 1349px) {
  .header_inner {
    padding-right: 38px;
  }
}
@media screen and (min-width: 1541px) {
  .header_inner {
    padding-right: 24px;
    background-position: 50% 20px;
  }
}

.header_logo {
  position: absolute;
  left: 3.5555555556vw;
  bottom: 2.6666666667vw;
  display: flex;
  align-items: flex-end;
  width: 28.8vw;
  height: 9.7777777778vw;
  padding-right: 0.2em;
  background-color: #fff;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .header_logo {
    left: 0;
    bottom: 16px;
    width: 200px;
    height: 54px;
    padding-right: 10px;
  }
}

/*
Header Menu（ボタン）
------------------------------ */
.header_menu {
  display: flex;
  align-items: flex-end;
  padding-bottom: 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .header_menu {
    padding-bottom: 0;
  }
}

.header_menuText {
  display: none;
}
@media screen and (min-width: 768px) {
  .header_menuText {
    position: relative;
    display: block;
    margin-right: 20px;
  }
}

.header_menuButton {
  position: relative;
  display: inline-block;
  width: 8.4444444444vw;
  height: 8.1777777778vw;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
}
@media screen and (min-width: 768px) {
  .header_menuButton {
    width: 50px;
    height: 50px;
    cursor: pointer;
  }
}
.header_menuButtonfocus:not(:focus-visible) {
  outline: none;
}
.header_menuButton::before {
  position: absolute;
  content: "";
  top: 3.9111111111vw;
  left: 0;
  -webkit-transform: rotate(45deg) scaleX(0);
          transform: rotate(45deg) scaleX(0);
  width: 100%;
  height: 2px;
  background: #000;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .header_menuButton::before {
    top: 24px;
  }
}
.header_menuButton::after {
  position: absolute;
  content: "";
  top: 3.9111111111vw;
  right: 0;
  -webkit-transform: rotate(-45deg) scaleX(0);
          transform: rotate(-45deg) scaleX(0);
  width: 100%;
  height: 2px;
  background: #000;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .header_menuButton::after {
    top: 24px;
  }
}
.header_menuButton.-active::before {
  -webkit-transform: rotate(45deg) scaleX(1.4);
          transform: rotate(45deg) scaleX(1.4);
  transition-delay: 0.2s;
}
.header_menuButton.-active::after {
  -webkit-transform: rotate(-45deg) scaleX(1.4);
          transform: rotate(-45deg) scaleX(1.4);
  transition-delay: 0.2s;
}

.menuButton_line {
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 2px;
  background: #000;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  transition: 0.2s;
}
.menuButton_line:nth-of-type(1) {
  top: -0.2666666667vw;
  left: 0;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  transition-delay: 0.2s;
}
@media screen and (min-width: 768px) {
  .menuButton_line:nth-of-type(1) {
    top: 1px;
  }
}
.menuButton_line:nth-of-type(2) {
  top: 3.7333333333vw;
  left: 0;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  transition-delay: 0.2s;
}
@media screen and (min-width: 768px) {
  .menuButton_line:nth-of-type(2) {
    top: 24px;
  }
}
.menuButton_line:nth-of-type(3) {
  bottom: -0.0888888889vw;
  left: 0;
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
  transition-delay: 0.2s;
}
@media screen and (min-width: 768px) {
  .menuButton_line:nth-of-type(3) {
    bottom: 1px;
  }
}
.-active .menuButton_line {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  transition-delay: 0s;
}

/*
Header Nav（メニュー）
------------------------------ */
.header_nav {
  position: absolute;
  top: 200%;
  left: 0;
  visibility: hidden;
  opacity: 0;
  width: 100%;
  height: calc(100vh - 19.5555555556vw);
  padding-top: 8.8888888889vw;
  overflow-y: auto;
  background: #fff;
  transition: top 0.6s, opacity 0.3s;
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  box-shadow: 0px 0px 0px 5px white;
}
.header_nav.-open {
  top: 99%;
  display: flex;
  visibility: visible;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .header_nav {
    height: calc(100vh - 90px);
    padding-top: 40px;
  }
}

.navList {
  width: 100%;
  padding: 8.8888888889vw;
}
@media screen and (min-width: 768px) {
  .navList {
    display: inline-grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(5, auto);
    grid-template-areas: "navAbout navBusiness navProduct" "navStyle navCompany navRecruit" "navNews navProject navContact" "navPrivacy navSNS navSNS" "navOutside navOutside navOutside";
    gap: 50px 30px;
    align-content: start;
    padding: 0;
  }
}
@media screen and (min-width: 1261px) {
  .navList {
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-template-areas: "navAbout navBusiness navProduct navStyle navCompany navRecruit" "navNews navProject navContact navPrivacy navSNS navSNS" "navOutside navOutside navOutside navOutside navOutside navOutside";
  }
}

.navList_item {
  position: relative;
  margin: -1px 0 0;
  font-size: 3.2vw;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
.navList_item::before, .navList_item::after {
  position: absolute;
  right: 0;
  content: "";
  width: 14.2222222222vw;
  height: 1px;
  background: #949494;
}
.navList_item::before {
  top: -1px;
}
.navList_item::after {
  bottom: -1px;
}
@media screen and (min-width: 768px) {
  .navList_item {
    width: 100%;
    height: 100%;
    font-size: 1.3rem;
    border: none;
  }
  .navList_item::before, .navList_item::after {
    content: none;
  }
  .navList_item.navAbout {
    grid-area: navAbout;
  }
  .navList_item.navBusiness {
    grid-area: navBusiness;
  }
  .navList_item.navProduct {
    grid-area: navProduct;
  }
  .navList_item.navStyle {
    grid-area: navStyle;
  }
  .navList_item.navCompany {
    grid-area: navCompany;
  }
  .navList_item.navRecruit {
    grid-area: navRecruit;
  }
  .navList_item.navNews {
    grid-area: navNews;
  }
  .navList_item.navProject {
    grid-area: navProject;
  }
  .navList_item.navContact {
    grid-area: navContact;
  }
  .navList_item.navPrivacy {
    grid-area: navPrivacy;
  }
  .navList_item.navSNS {
    grid-area: navSNS;
  }
  .navList_item.navOutside {
    grid-area: navOutside;
  }
  .navList_item .-iconPrivacy {
    letter-spacing: -0.12em;
  }
  .navList_item .lspacingNarrow {
    letter-spacing: -0.01em;
  }
}
@media screen and (min-width: 1541px) {
  .navList_item {
    font-size: 1.4rem;
  }
  .navList_item .-iconPrivacy {
    letter-spacing: 0;
  }
}

/*
Header NavList Ctegory（メニューカテゴリー）
------------------------------ */
.navList_category {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .navList_category {
    border-bottom: 1px solid #949494;
  }
}
.navList_category::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 15px;
  background-position: 50% 50%;
  background-color: #000;
}
.navList_category.js-sp-accordion .navList_categoryLink {
  background: none;
}
.navList_category.js-sp-accordion .navList_categoryLink::before, .navList_category.js-sp-accordion .navList_categoryLink::after {
  position: absolute;
  top: 50%;
  content: "";
  background: #000;
  opacity: 1;
  -webkit-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
}
.-open .navList_category.js-sp-accordion .navList_categoryLink::before, .-open .navList_category.js-sp-accordion .navList_categoryLink::after {
  transition: 0.3s;
}
.navList_category.js-sp-accordion .navList_categoryLink::before {
  right: 4.9777777778vw;
  width: 4.0888888889vw;
  height: 1px;
}
.navList_category.js-sp-accordion .navList_categoryLink::after {
  right: 6.8444444444vw;
  width: 1px;
  height: 4.0888888889vw;
}
.navList_category.js-sp-accordion .navList_categoryLink.-open::before {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .navList_category.js-sp-accordion .navList_categoryLink.-open::before {
    -webkit-transform: translateY(-50%) rotate(0);
            transform: translateY(-50%) rotate(0);
  }
}
.navList_category.js-sp-accordion .navList_categoryLink.-open::after {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}
@media screen and (min-width: 768px) {
  .navList_category.js-sp-accordion .navList_categoryLink::before {
    display: none;
  }
  .navList_category.js-sp-accordion .navList_categoryLink::after {
    content: none;
  }
  .navList_category.js-sp-accordion .navList_categoryLink:hover {
    background: none;
  }
  .navList_category.js-sp-accordion .navList_categoryLink:hover::before {
    -webkit-animation-name: arrowAnimationRight;
            animation-name: arrowAnimationRight;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}

.navList_categoryLink {
  position: relative;
  width: 100%;
  padding: 1em 12.4444444444vw 1em 0.8em;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .navList_categoryLink {
    padding: 15px 35px 15px 14px;
  }
  .navList_categoryLink:hover {
    background: none;
  }
  .navList_categoryLink:hover::before {
    -webkit-animation-name: arrowAnimationRight;
            animation-name: arrowAnimationRight;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}

/* 矢印の繰り返しアニメーション */
@-webkit-keyframes arrowAnimationRight {
  0% {
    opacity: 1;
    right: 15px;
  }
  100% {
    opacity: 0;
    right: 0;
  }
}
@keyframes arrowAnimationRight {
  0% {
    opacity: 1;
    right: 15px;
  }
  100% {
    opacity: 0;
    right: 0;
  }
}
@-webkit-keyframes arrowAnimationRight2 {
  0% {
    opacity: 1;
    right: -20px;
  }
  100% {
    opacity: 0;
    right: -30px;
  }
}
@keyframes arrowAnimationRight2 {
  0% {
    opacity: 1;
    right: -20px;
  }
  100% {
    opacity: 0;
    right: -30px;
  }
}
@-webkit-keyframes arrowAnimationRightS {
  0% {
    opacity: 1;
    right: 10px;
  }
  100% {
    opacity: 0;
    right: 0px;
  }
}
@keyframes arrowAnimationRightS {
  0% {
    opacity: 1;
    right: 10px;
  }
  100% {
    opacity: 0;
    right: 0px;
  }
}
@-webkit-keyframes arrowAnimationLeft {
  0% {
    opacity: 1;
    left: 15px;
  }
  100% {
    opacity: 0;
    left: 0;
  }
}
@keyframes arrowAnimationLeft {
  0% {
    opacity: 1;
    left: 15px;
  }
  100% {
    opacity: 0;
    left: 0;
  }
}
@-webkit-keyframes arrowAnimationDown {
  0% {
    opacity: 1;
    top: -10%;
  }
  100% {
    opacity: 0;
    top: 30%;
  }
}
@keyframes arrowAnimationDown {
  0% {
    opacity: 1;
    top: -10%;
  }
  100% {
    opacity: 0;
    top: 30%;
  }
}
/*
Header NavList Contents（ページ内メニュー）
------------------------------ */
.navList_contents {
  display: none;
  margin-top: -1px;
  border-top: 1px solid #e6e6e6;
}
.navList_contents.-open {
  display: block;
}
@media screen and (min-width: 768px) {
  .navList_contents {
    display: block;
    margin: 0;
    border-top: none;
  }
}

.navList_content {
  position: relative;
  display: block;
  margin-left: 7.2888888889vw;
  border-bottom: 1px solid #e6e6e6;
}
.navList_content::before {
  position: absolute;
  top: -1px;
  right: 0;
  content: "";
  width: 14.2222222222vw;
  height: 1px;
  background: #949494;
  opacity: 1;
}
.navList_content:last-of-type {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.navList_content:last-of-type::before {
  top: -2px;
}
@media screen and (min-width: 768px) {
  .navList_content {
    font-size: 1.3rem;
    margin-left: 0;
  }
  .navList_content:last-of-type {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .navList_content.spOnly {
    display: none;
  }
  .navList_content::before, .navList_content::after {
    content: none;
  }
}

.navList_contentLink {
  position: relative;
  display: block;
  width: 100%;
  padding: 15px 35px 15px 0;
  line-height: 1.2;
  background-image: url(../img/arrow_right_black.svg);
  background-repeat: no-repeat;
  background-position: right 4.4444444444vw top 50%;
  background-size: 5.4222222222vw 1.5111111111vw;
}
.navList_contentLink span {
  display: inline-block;
}
.navList_contentLink:last-of-type {
  top: -1px;
}
@media screen and (min-width: 768px) {
  .navList_contentLink {
    background: none;
    padding-right: 0;
    padding-left: 25px;
  }
  .navList_contentLink:last-of-type {
    top: inherit;
  }
  .navList_contentLink:hover {
    background-color: rgba(230, 230, 230, 0.3);
  }
}

/*
Header NavList Outside（関連サイト）
------------------------------ */
.navList_itemOutside {
  margin-top: 10vw;
  padding: 1.5em 1.5em 2em;
  border: 1px solid #e6e6e6;
}
.navList_itemOutside::after {
  content: none;
}
@media screen and (min-width: 768px) {
  .navList_itemOutside {
    grid-area: navOutside;
    display: grid;
    grid-template-columns: calc(33.3333333333% - 20px) auto;
    grid-template-areas: "outside_heding outside_links";
    gap: 0 30px;
    margin-top: 0;
    padding: 0;
    border: none;
  }
}
@media screen and (min-width: 1261px) {
  .navList_itemOutside {
    grid-template-columns: calc(16.6666666667% - 25px) auto;
  }
}
.navList_itemOutside .outside_heding {
  position: relative;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #e6e6e6;
}
.navList_itemOutside .outside_heding::after {
  position: absolute;
  bottom: -1px;
  right: 0;
  content: "";
  display: block;
  width: 14.2222222222vw;
  height: 1px;
  background-color: #949494;
}
@media screen and (min-width: 768px) {
  .navList_itemOutside .outside_heding {
    grid-area: outside_heding;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
    margin-bottom: 0;
    padding-bottom: 0;
    border: 1px solid #000;
  }
  .navList_itemOutside .outside_heding::after {
    content: none;
  }
}

.outside_links {
  line-height: 1;
}
.outside_links li {
  position: relative;
  margin-top: 2px;
  padding: 0.5em 0;
  border-bottom: 1px solid #e6e6e6;
}
.outside_links li::before {
  position: absolute;
  top: 50%;
  right: 4.8888888889vw;
  content: "";
  display: inline-block;
  width: 4.4444444444vw;
  height: 2.8444444444vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/ico_blank.svg) no-repeat 0 0/contain;
}
.outside_links li::after {
  position: absolute;
  bottom: -1px;
  right: 0;
  content: "";
  display: block;
  width: 14.2222222222vw;
  height: 1px;
  background-color: #949494;
}
@media screen and (min-width: 768px) {
  .outside_links {
    grid-area: outside_links;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
  .outside_links li {
    margin-top: 0;
    padding: 0;
  }
  .outside_links li::before {
    top: inherit;
    bottom: 5px;
    right: 5px;
    width: 20px;
    height: 10px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .outside_links li::after {
    content: none;
  }
  .outside_links li:hover::before {
    background: url(../img/ico_blank_white.svg) no-repeat 0 0/contain;
  }
}
@media screen and (min-width: 1261px) {
  .outside_links {
    grid-template-columns: repeat(5, 1fr);
  }
}

.outside_link {
  display: block;
}
@media screen and (min-width: 768px) {
  .outside_link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 56px;
    padding: 0 0 0 0.5em;
    border: 1px solid #000;
  }
  .outside_link:hover {
    color: #fff;
    background-color: #000;
  }
}

.outside_name {
  display: inline-block;
  margin-bottom: 0.25em;
}
@media screen and (min-width: 768px) {
  .outside_name {
    margin-bottom: 0.5em;
  }
  .outside_name.pcSmall {
    font-size: 1.2rem;
  }
  .outside_name::after {
    margin-left: 8px;
    width: 16px;
    height: 9px;
  }
}
@media screen and (min-width: 1261px) {
  .outside_name {
    letter-spacing: 0;
  }
}
@media screen and (min-width: 1541px) {
  .outside_name.pcSmall {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
}

.outside_service {
  display: block;
  font-size: 70%;
}

/*
Header NavList SNS（SNSメニュー）
------------------------------ */
.navList_itemSNS {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 6vw;
  border-top: none;
  border-bottom: none;
}
.navList_itemSNS::before, .navList_itemSNS::after {
  content: none;
}
@media screen and (min-width: 768px) {
  .navList_itemSNS {
    grid-area: navSNS;
    flex-direction: row;
    margin-top: 0;
    border-bottom: 1px solid #949494;
  }
}

@media screen and (min-width: 768px) {
  .sns_heding {
    padding-right: 13px;
  }
}

.sns_items {
  display: flex;
  align-items: center;
}

.sns_item {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .sns_item {
    margin: 10px 13px;
  }
}

.sns_link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.2222222222vw;
  height: 6.2222222222vw;
  margin: 3.1111111111vw 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  .sns_link {
    width: 20px;
    height: auto;
    margin: 0;
  }
  .sns_link:hover {
    opacity: 0.6;
  }
}

/* ==============================

footer

============================== */
.footer {
  margin-top: 8.8888888889vw;
  padding: 40px 0 50px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1541px) {
  .footer {
    background-position: 50% 0;
  }
}

.footer_group {
  padding: 40px 0 50px;
  text-align: center;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 0/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .footer_group {
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 0/1440px 1.4px;
  }
}
@media screen and (min-width: 1541px) {
  .footer_group {
    background-position: 50% 0;
  }
}

.contents-only {
  display: none;
}

.footer_logo {
  width: 35.5555555556vw;
  margin: 0 auto 3.2vw;
}
@media screen and (min-width: 768px) {
  .footer_logo {
    width: 200px;
    margin-bottom: 20px;
  }
}

.footer_copyright {
  font-size: 2.4vw;
}
@media screen and (min-width: 768px) {
  .footer_copyright {
    font-size: 1.2rem;
  }
}

.footer_pageTop {
  position: absolute;
  right: 3.5555555556vw;
  bottom: 0;
  width: 40px;
  height: 40px;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  border: 1px solid #000;
  background: #fff url(../img/arrow_top_black.svg) no-repeat 50% 50%/8px 20px;
  transition: 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .footer_pageTop {
    right: 0;
  }
  .footer_pageTop:hover {
    background: #000 url(../img/arrow_top_white.svg) no-repeat 50% 50%/8px 20px;
  }
}

/* ==============================

TOP

============================== */
/*
TOP KV
------------------------------ */
.kv {
  position: relative;
  width: 100vw;
  height: 164.4444444444vw;
  max-width: 1440px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  background-image: url(../img/top/kv_sp.jpg);
}
@media screen and (min-width: 768px) {
  .kv {
    width: 1200px;
    height: 787px;
    max-height: 100vh;
    background-image: url(../img/top/kv_pc.jpg);
    background-position: 50% 65%;
  }
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .kv {
    background-image: url(../img/top/kv_pc@2x.jpg);
  }
}
@media screen and (min-width: 1261px) {
  .kv {
    width: 100%;
    height: 62.3376623377vw;
  }
}
@media screen and (min-width: 1541px) {
  .kv {
    width: 100%;
    height: 960px;
  }
}

.kv_item {
  position: absolute;
  width: 100%;
  height: 100%;
}

.kvMessage_textContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.kvMessage_text {
  opacity: 0;
}
.kvMessage_text img {
  max-height: 90vh;
  transition: 0.3s;
}
.kvMessage01 .kvMessage_text img {
  width: 53.1555555556vw;
}
.kvMessage02 .kvMessage_text img {
  width: 67.2888888889vw;
}
.kvMessage03 .kvMessage_text img {
  width: 61.3333333333vw;
}
@media screen and (min-width: 768px) {
  .kvMessage01 .kvMessage_text img, .kvMessage02 .kvMessage_text img, .kvMessage03 .kvMessage_text img {
    width: auto;
    height: 154px;
  }
}
@media screen and (min-width: 1541px) {
  .kvMessage01 .kvMessage_text img, .kvMessage02 .kvMessage_text img, .kvMessage03 .kvMessage_text img {
    height: 190px;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}

.kv_title {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.logoSet img {
  width: 30.6666666667vw;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .logoSet img {
    width: 280px;
  }
}
@media screen and (min-width: 1541px) {
  .logoSet img {
    width: 300px;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}

.kv_skip {
  position: absolute;
  right: 0;
  bottom: 0;
}
.kv_skip .button {
  justify-content: center;
  width: 4em;
  height: 4em;
  padding: 0;
  color: #fff;
  background-color: #000;
}

/*
TOP NEWS TICKER
------------------------------ */
.newsIndex {
  position: relative;
  margin-bottom: 11.1111111111vw;
}
@media screen and (min-width: 768px) {
  .newsIndex {
    margin-bottom: 80px;
  }
}

.newsIndex_item {
  width: 100%;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
  padding-bottom: 0.9vw;
}
@media screen and (min-width: 768px) {
  .newsIndex_item {
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
    padding-bottom: 3px;
  }
}

.newsIndex_link {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  padding: 1em 5.0666666667vw;
}
@media screen and (min-width: 768px) {
  .newsIndex_link {
    display: grid;
    gap: 40px;
    grid-template-columns: 110px 128px auto;
    align-items: center;
    padding: 30px 0;
  }
  .newsIndex_link:hover {
    background: rgba(229, 232, 234, 0.3);
  }
}

.newsIndex_date {
  width: 7em;
  font-size: 3.4666666vw;
}
@media screen and (min-width: 768px) {
  .newsIndex_date {
    padding-left: 25px;
    font-size: 1.7rem;
  }
}

.newsIndex_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 8em;
  height: 5.2vw;
  font-size: 2.8444444444vw;
  letter-spacing: normal;
  text-align: center;
  color: #fff;
  background: #000;
}
@media screen and (min-width: 768px) {
  .newsIndex_category {
    min-width: 128px;
    font-size: 1.4rem;
    height: 24px;
    padding-bottom: 0.05em;
  }
}

.newsIndex_text {
  width: 100%;
  padding-top: 0.6em;
}
@media screen and (min-width: 768px) {
  .newsIndex_text {
    padding-top: 0;
    padding-right: 25px;
  }
}

.newsIndex_noItem {
  padding: 1em 5.0666666667vw;
}
@media screen and (min-width: 768px) {
  .newsIndex_noItem {
    padding: 30px 0 30px 25px;
  }
}

/*
TOP PHILOSOPHY
------------------------------ */
.topPhilosophy {
  position: relative;
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .topPhilosophy {
    margin-bottom: 160px;
  }
}

.philosophy {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .philosophy {
    display: grid;
    gap: 50px;
    grid-template-columns: 640px 540px;
    align-items: center;
  }
}
@media screen and (min-width: 1261px) {
  .philosophy {
    gap: 3.2467532468vw;
    grid-template-columns: auto 40.5844155844vw;
  }
}
@media screen and (min-width: 1541px) {
  .philosophy {
    gap: 80px;
    grid-template-columns: auto 625px;
  }
}

.philosophy_text {
  order: 2;
  width: 100%;
  margin-left: 7.6444444444vw;
  padding-bottom: 16vw;
}
@media screen and (min-width: 768px) {
  .philosophy_text {
    margin-left: 0;
    padding-bottom: 60px;
  }
}

.philosophy_image {
  order: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 113.3333333333vw;
  margin-bottom: 8.8888888889vw;
  background-repeat: repeat;
  background-position: 50% 0;
  background-size: 100vw auto;
  padding: 0 7.6444444444vw;
}
.philosophy_image img {
  width: 100%;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .philosophy_image {
    height: 760px;
    margin-bottom: 0;
    padding: 50px 48px;
  }
  .philosophy_image img {
    width: 543px;
    height: auto;
  }
}
@media screen and (min-width: 1261px) {
  .philosophy_image {
    height: 805px;
  }
  .philosophy_image img {
    width: 41.3636363636vw;
  }
}
@media screen and (min-width: 1541px) {
  .philosophy_image {
    height: 855px;
  }
  .philosophy_image img {
    width: 637px;
  }
}

.philosophy_heding {
  margin-bottom: 1em;
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .philosophy_heding {
    margin-bottom: 1.125em;
    font-size: 3.2rem;
    line-height: 1.5;
  }
}

.philosophy_message {
  line-height: 1.9;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .philosophy_message {
    line-height: 2.25;
  }
}

.philosophy_more {
  position: absolute;
  left: 5.3333333333vw;
  bottom: -8vw;
}
.philosophy_more .button {
  width: 116%;
}
@media screen and (min-width: 768px) {
  .philosophy_more {
    left: 690px;
    bottom: 0;
  }
  .philosophy_more .button {
    width: 310px;
  }
}
@media screen and (min-width: 1261px) {
  .philosophy_more {
    left: calc(100% - 40.5844155844vw);
  }
}
@media screen and (min-width: 1541px) {
  .philosophy_more {
    left: 815px;
  }
}

.button {
  position: relative;
  display: flex;
  align-items: center;
  width: 40vw;
  height: 7.1111111111vw;
  padding: 0 15px;
  line-height: 1;
  border: 1px solid #000;
}
.button.-black {
  color: #fff;
  background-color: #000;
}
.button.button_s {
  width: 32vw;
  height: 6.2222222222vw;
  padding: 0 10px 1px 10px;
  font-size: 2.9333333vw;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .button {
    width: 200px;
    height: 40px;
    padding: 0 15px 1px 15px;
  }
  .button:hover {
    color: #fff;
    background-color: #000;
  }
  .button.-black:hover {
    color: #000;
    background-color: #fff;
  }
  .button.button_s {
    margin-top: 25px;
    width: 150px;
    height: 30px;
    font-size: 1.3rem;
  }
}
.button.itemMore, .button.button_zoom {
  margin: 0 auto;
  background: none;
  cursor: pointer;
}
.button.itemMore::after, .button.button_zoom::after {
  position: absolute;
  content: "+";
  opacity: 1;
  right: 15px;
  width: auto;
  height: auto;
  font-size: 120%;
  background: none;
}
@media screen and (min-width: 768px) {
  .button.itemMore:hover, .button.button_zoom:hover {
    background: #000;
  }
}

.button_arrow {
  background-image: url(../img/arrow_right_black.svg);
  background-repeat: no-repeat;
  background-position: right 2.3111111111vw top 50%;
  background-size: 5.4222222222vw 1.5111111111vw;
}
@media screen and (min-width: 768px) {
  .button_arrow {
    padding: 0 55px 1px 15px;
    background-position: right 15px top 50%;
    background-size: 30px 7px;
  }
  .button_arrow::after {
    opacity: 0;
    position: absolute;
    top: 50%;
    right: 15px;
    content: "";
    width: 30px;
    height: 7px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: url(../img/arrow_right_black.svg) no-repeat 50% 50%/contain;
  }
  .button_arrow:hover::after {
    background-image: url(../img/arrow_right_white.svg);
    -webkit-animation-name: arrowAnimationRight;
            animation-name: arrowAnimationRight;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
  .button_arrow.button_s {
    background-position: right 8px top 50%;
  }
  .button_arrow.button_s::after {
    right: 10px;
  }
  .button_arrow.button_s:hover::after {
    -webkit-animation-name: arrowAnimationRightS;
            animation-name: arrowAnimationRightS;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}

/*
TOP CONTENTS
------------------------------ */
.topContents {
  margin-bottom: 12vw;
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .topContents {
    margin-bottom: 10rem;
    padding: 0;
  }
}

.topContents_first {
  display: flex;
  flex-direction: column;
  gap: 12vw 0;
  margin-bottom: 12vw;
}
@media screen and (min-width: 768px) {
  .topContents_first {
    gap: 100px 0;
    margin-bottom: 100px;
  }
}

.topContents_second {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 12vw 4.4444444444vw;
}
@media screen and (min-width: 768px) {
  .topContents_second {
    grid-template-columns: repeat(4, 1fr);
    gap: 0 40px;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1541px) {
  .topContents_second {
    gap: 0 50px;
  }
}

.topContents_item {
  --imageWidth: 640px;
  --textWidth: 480px;
  --textPading: 0;
}
@media screen and (min-width: 768px) {
  .topContents_first .topContents_item {
    display: grid;
    gap: 0 50px;
    align-items: center;
  }
  .topContents_first .topContents_item:nth-child(odd) {
    grid-template-columns: var(--imageWidth) var(--textWidth);
    grid-template-areas: "topContents_img topContents_text";
  }
  .topContents_first .topContents_item:nth-child(odd) .topContents_itemText {
    padding-right: var(--textPading);
  }
  .topContents_first .topContents_item:nth-child(even) {
    grid-template-columns: var(--textWidth) var(--imageWidth);
    grid-template-areas: "topContents_text topContents_img";
    justify-content: flex-end;
  }
  .topContents_first .topContents_item:nth-child(even) .topContents_itemText {
    padding-left: var(--textPading);
  }
}
@media screen and (min-width: 1261px) {
  .topContents_item {
    --imageWidth: auto;
    --textWidth: 40.5844155vw;
    --textPading: 9.4155844vw;
  }
  .topContents_first .topContents_item {
    gap: 0 6.4935064935vw;
  }
}
@media screen and (min-width: 1541px) {
  .topContents_item {
    --imageWidth: 690px;
    --textWidth: 480px;
    --textPading: 0;
  }
  .topContents_first .topContents_item {
    gap: 0 125px;
  }
}

.topContents_itemImage {
  margin-bottom: 1.6em;
}
@media screen and (min-width: 768px) {
  .topContents_itemImage {
    grid-area: topContents_img;
  }
}

@media screen and (min-width: 768px) {
  .topContents_itemText {
    grid-area: topContents_text;
  }
}

.topContents_itemHeding {
  display: flex;
  align-items: center;
  margin-bottom: 1.2em;
  font-size: 3.4666666vw;
}
@media screen and (min-width: 768px) {
  .topContents_first .topContents_itemHeding {
    font-size: 2.2rem;
  }
  .topContents_second .topContents_itemHeding {
    font-size: 1.8rem;
  }
}

.topContents_itemSentence {
  margin-bottom: 1.5em;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .topContents_itemSentence {
    max-width: 480px;
  }
}

/*
TOP NEWS
------------------------------ */
.topNews {
  position: relative;
}
.topNews .underlineHeding {
  position: relative;
  top: inherit;
  left: inherit;
}
.topNews .button {
  display: none;
}
@media screen and (min-width: 768px) {
  .topNews .underlineHeding {
    position: absolute;
    top: 0;
    left: 0;
  }
  .topNews .button {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
  }
}

.news_container {
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 0/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .news_container {
    background: none;
  }
}

.selectCategory {
  display: none;
}
@media screen and (min-width: 768px) {
  .selectCategory {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
  }
  .main_body .selectCategory {
    margin: 60px 0;
  }
}

.selectCategory_tab {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 140px;
  height: 40px;
  margin-left: -1px;
  letter-spacing: 0.1em;
  border: 1px solid #000;
  cursor: pointer;
  transition: 0.3s;
}
.selectCategory_tab.-tabActive, .selectCategory_tab:hover {
  color: #fff;
  background-color: #000;
}

.selectCategory_content {
  display: none;
}
.main_body .selectCategory_content {
  display: block;
}
@media screen and (min-width: 768px) {
  .selectCategory_content {
    padding-top: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 0/1440px 1.4px;
  }
}

/*
TOP PROJECT
------------------------------ */
.topProject {
  position: relative;
}
.topProject .button {
  display: none;
}
@media screen and (min-width: 768px) {
  .topProject .button {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    width: auto;
  }
}

.projectList {
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .projectList {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr;
    padding: 0;
  }
}
@media screen and (min-width: 1261px) {
  .projectList {
    gap: 2.5974025974vw;
  }
}
@media screen and (min-width: 1541px) {
  .projectList {
    gap: 60px;
  }
}

.projectList_item {
  width: 100%;
  margin-bottom: 4.4444444444vw;
  border: 1px solid #ccc;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .projectList_item {
    margin-bottom: 0;
  }
}
.projectList_item.-itemHidden {
  opacity: 0;
  display: none;
}
.projectList_item.-noItem {
  position: relative;
  top: 0;
  left: 0;
  padding: 1em 5.0666666667vw;
  text-align: center;
  border: none;
}
@media screen and (min-width: 768px) {
  .projectList_item.-noItem {
    left: calc(50% + 15px);
    width: 100%;
    padding: 30px 30px 25px;
  }
}
@media screen and (min-width: 1261px) {
  .projectList_item.-noItem {
    left: calc(50% + 1.2987012987vw);
  }
}
@media screen and (min-width: 1541px) {
  .projectList_item.-noItem {
    left: calc(50% + 30px);
  }
}

.project_link {
  position: relative;
  display: flex;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .project_link:hover {
    background-color: rgba(229, 232, 234, 0.3);
  }
  .project_link:hover .project_figure img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}

.project_figure {
  display: block;
  width: 47%;
  height: 35.5555555556vw;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  background: #e6e6e6;
}
@media screen and (min-width: 768px) {
  .project_figure {
    width: 290px;
    height: 280px;
  }
}
@media screen and (min-width: 1261px) {
  .project_figure {
    width: calc(100% - 285px);
  }
}
@media screen and (min-width: 1541px) {
  .project_figure {
    width: calc(100% - 350px);
  }
}
.project_figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  transition: 1.2s;
}

.project_meta {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 53%;
}
@media screen and (min-width: 768px) {
  .project_meta {
    width: 285px;
  }
}
@media screen and (min-width: 1261px) {
  .project_meta {
    width: 350px;
  }
}
.project_metaContainer {
  width: 82%;
  max-height: 80%;
}
@media screen and (min-width: 768px) {
  .project_metaContainer {
    width: 80%;
  }
}

.project_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 8em;
  height: 5.2vw;
  font-size: 2.8444444444vw;
  letter-spacing: normal;
  text-align: center;
  color: #fff;
  background: #000;
  margin-bottom: 0.5em;
  width: auto;
  min-width: 19.4805194805vw;
}
@media screen and (min-width: 768px) {
  .project_category {
    font-size: 1.4rem;
    min-width: 150px;
    margin-bottom: 1em;
    font-size: 1.4rem;
    height: 24px;
    padding-bottom: 0.05em;
  }
}

.project_heding {
  margin-bottom: 0.2em;
  font-size: 3.2vw;
  line-height: 1.5;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  .project_heding {
    margin-bottom: 0.5em;
    font-size: 1.6rem;
    line-height: 1.625;
  }
}

/*
slick slider custom
------------------------------ */
.js-ticker,
.js-slider {
  max-width: 1440px;
  overflow: hidden;
}

/* ==============================

Lower Page Common

============================== */
.main {
  max-width: 1440px;
  margin: 0 auto;
  padding-top: 19.5555555556vw;
}
@media screen and (min-width: 768px) {
  .main {
    padding-top: 90px;
  }
}

.main-group {
  max-width: 1440px;
  margin: 0 auto;
  padding-top: 19.5555555556vw;
}
@media screen and (min-width: 768px) {
  .main-group {
    padding-top: 90px;
  }
}

.main_title {
  margin: 3vw 0 6vw;
  padding: 0 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .main_title {
    margin: 10px 0 40px;
    padding: 0;
  }
}
.company .main_title::after, .group_maple .main_title::after, .group_taisei .main_title::after, .group_excel .main_title::after, .news .main_title::after, .project .main_title::after, .contact .main_title::after, .privacy .main_title::after, .styleTagIndex .main_title::after, .customer-harassment .main_title::after, .recruit01 .main_title::after, .adi02 .main_title::after, .adi01 .main_title::after, .estate01 .main_title::after, .pm01 .main_title::after {
  position: relative;
  content: "";
  width: 107.1111111111vw;
  -webkit-transform: translateX(-3.5555555556vw);
          transform: translateX(-3.5555555556vw);
  height: 22.4vw;
  display: block;
  margin-top: 6vw;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .company .main_title::after, .group_maple .main_title::after, .group_taisei .main_title::after, .group_excel .main_title::after, .news .main_title::after, .project .main_title::after, .contact .main_title::after, .privacy .main_title::after, .styleTagIndex .main_title::after, .customer-harassment .main_title::after, .recruit01 .main_title::after, .adi02 .main_title::after, .adi01 .main_title::after, .estate01 .main_title::after, .pm01 .main_title::after {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    height: 200px;
    margin-top: 38px;
  }
}
.company .main_title::after {
  background-image: url(../img/company/company_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .company .main_title::after {
    background-image: url(../img/company/company_title_img@2x.jpg);
  }
}
.group_maple .main_title::after {
  background-image: url(../img/company/company_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .group_maple .main_title::after {
    background-image: url(../img/company/company_title_img@2x.jpg);
  }
}
.group_taisei .main_title::after {
  background-image: url(../img/company/company_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .group_taisei .main_title::after {
    background-image: url(../img/company/company_title_img@2x.jpg);
  }
}
.group_excel .main_title::after {
  background-image: url(../img/company/company_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .group_excel .main_title::after {
    background-image: url(../img/company/company_title_img@2x.jpg);
  }
}
.news .main_title::after {
  background-image: url(../img/news/news_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .news .main_title::after {
    background-image: url(../img/news/news_title_img@2x.jpg);
  }
}
.project .main_title::after {
  background-image: url(../img/project/project_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .project .main_title::after {
    background-image: url(../img/project/project_title_img@2x.jpg);
  }
}
.contact .main_title::after {
  background-image: url(../img/contact/contact_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .contact .main_title::after {
    background-image: url(../img/contact/contact_title_img@2x.jpg);
  }
}
.privacy .main_title::after {
  background-image: url(../img/privacy/privacy_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .privacy .main_title::after {
    background-image: url(../img/privacy/privacy_title_img@2x.jpg);
  }
}
.customer-harassment .main_title::after {
  background-image: url(../img/customer-harassment/customer-harassment_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .customer-harassment .main_title::after {
    background-image: url(../img/customer-harassment/customer-harassment_title_img@2x.jpg);
  }
}
.recruit01 .main_title::after {
  background-image: url(../img/privacy/privacy_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .recruit01 .main_title::after {
    background-image: url(../img/privacy/privacy_title_img@2x.jpg);
  }
}
.adi02 .main_title::after {
  background-image: url(../img/privacy/privacy_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .adi02 .main_title::after {
    background-image: url(../img/privacy/privacy_title_img@2x.jpg);
  }
}
.adi01 .main_title::after {
  background-image: url(../img/privacy/privacy_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .adi01 .main_title::after {
    background-image: url(../img/privacy/privacy_title_img@2x.jpg);
  }
}
.estate01 .main_title::after {
  background-image: url(../img/privacy/privacy_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .estate01 .main_title::after {
    background-image: url(../img/privacy/privacy_title_img@2x.jpg);
  }
}
.pm01 .main_title::after {
  background-image: url(../img/privacy/privacy_title_img.jpg);
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .pm01 .main_title::after {
    background-image: url(../img/privacy/privacy_title_img@2x.jpg);
  }
}
.styleTagIndex .main_title::after {
  height: 0.9vw;
  margin-bottom: 8vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .styleTagIndex .main_title::after {
    bottom: -3px;
    height: 3px;
    margin-bottom: 80px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}
.main_title.single {
  margin-bottom: 6vw;
  padding: 0 5.3333333333vw 6.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
.main_title.single::after {
  content: none;
}
@media screen and (min-width: 768px) {
  .main_title.single {
    margin-bottom: 40px;
    padding: 0 0 40px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}
.main_title.not404::after {
  content: none;
}

.title {
  display: flex;
  align-items: center;
}
.not404 .title {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  .not404 .title {
    justify-content: center;
    margin-top: 100px;
    margin-bottom: -40px;
  }
}
.title::before {
  content: "";
  display: inline-block;
  width: 4.8vw;
  height: 4.4444444444vw;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .title::before {
    width: 40px;
    height: 40px;
  }
}

.title_text {
  font-size: 4vw;
  padding: 0 0.6em 0.05em;
}
@media screen and (min-width: 768px) {
  .title_text {
    padding: 0 15px;
    font-size: 2.2rem;
    line-height: 40px;
  }
}

.lowSec {
  position: relative;
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .lowSec {
    padding: 0;
  }
}
.lowSec.dotunderline:not(:last-of-type) {
  margin-bottom: 12vw;
  padding-bottom: 12vw;
}
@media screen and (min-width: 768px) {
  .lowSec.dotunderline:not(:last-of-type) {
    margin-bottom: 100px;
    padding-bottom: 100px;
  }
}
.lowSec.dotunderline:not(:last-of-type)::before {
  position: absolute;
  bottom: -0.9vw;
  left: 0;
  content: "";
  width: 100%;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .lowSec.dotunderline:not(:last-of-type)::before {
    bottom: -3px;
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}

.lowSecWide {
  position: relative;
  padding: 0 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .lowSecWide {
    padding: 0;
  }
}

.lowSec_inBlock {
  position: relative;
  margin-bottom: 14.2222222222vw;
}
@media screen and (min-width: 768px) {
  .lowSec_inBlock {
    margin-bottom: 160px;
  }
  .lowSec_inBlock:last-of-type {
    margin-bottom: 100px;
  }
}
.lowSec_inBlock.dotunderline:not(:last-of-type) {
  margin-bottom: 12vw;
  padding-bottom: 12vw;
}
@media screen and (min-width: 768px) {
  .lowSec_inBlock.dotunderline:not(:last-of-type) {
    margin-bottom: 100px;
    padding-bottom: 100px;
  }
}
.lowSec_inBlock.dotunderline:not(:last-of-type)::before {
  position: absolute;
  left: -5.3333333333vw;
  bottom: -3px;
  content: "";
  width: 100vw;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .lowSec_inBlock.dotunderline:not(:last-of-type)::before {
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}

.mainLead {
  height: 152vw;
  margin-bottom: 3.5555555556vw;
  padding-left: calc(8.3555555556vw + 0.6em);
  background-repeat: no-repeat;
  background-position: left 50% top 0;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .mainLead {
    display: flex;
    justify-content: flex-end;
    height: 1000px;
    margin-bottom: 80px;
    padding-left: 0;
    background-position: right 0 top 0;
    background-size: 1440px 1000px;
  }
}

.mainLead_inner {
  display: inline-block;
  padding-top: 14vw;
}
@media screen and (min-width: 768px) {
  .mainLead_inner {
    padding-top: 230px;
  }
}

.mainLeadHeding {
  position: relative;
  margin-bottom: 2em;
  font-size: 4.5333333vw;
  line-height: 2;
  letter-spacing: normal;
  z-index: 1;
}
.mainLeadHeding .spBG {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.mainLeadHeding .spBG::before {
  position: absolute;
  top: -0.2em;
  left: -0.4em;
  content: "";
  width: calc(100% + 0.8em);
  height: calc(100% + 0.5em);
  background-color: rgba(255, 255, 255, 0.8);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .mainLeadHeding {
    margin-bottom: 1.2em;
    font-size: 3.2rem;
  }
  .mainLeadHeding .spBG {
    display: inline;
  }
  .mainLeadHeding .spBG::before {
    content: none;
  }
}

.mainLead_sentence {
  margin-bottom: 3em;
}
.mainLead_sentence p {
  position: relative;
  z-index: 1;
  line-height: 1.9;
}
.mainLead_sentence p:not(:last-of-type) {
  margin-bottom: 2em;
}
.mainLead_sentence p .spBG {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.mainLead_sentence p .spBG::before {
  position: absolute;
  top: -0.3em;
  left: -0.4em;
  content: "";
  width: calc(100% + 0.8em);
  height: calc(100% + 0.5em);
  background-color: rgba(255, 255, 255, 0.8);
  z-index: -1;
}
@media screen and (max-width: 320px) {
  .mainLead_sentence p {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .mainLead_sentence {
    font-size: 2rem;
    letter-spacing: 0.13em;
    line-height: 2.25;
  }
  .mainLead_sentence p .spBG {
    display: inline;
  }
  .mainLead_sentence p .spBG::before {
    content: none;
  }
}

/* ==============================

ABOUT

============================== */
/*
ABOUT READ
------------------------------ */
.aboutLead {
  display: flex;
  justify-content: center;
  margin-bottom: 14.2222222222vw;
  background: url(../img/about/lead_img.jpg) no-repeat 50% 0;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .aboutLead {
    height: 1400px;
    margin-bottom: 140px;
    background-size: 1440px 1400px;
  }
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .aboutLead {
    background-image: url(../img/about/lead_img@2x.jpg);
  }
}

.aboutLead_inner {
  display: inline-block;
  padding: 14vw 0 34vw;
}
@media screen and (min-width: 768px) {
  .aboutLead_inner {
    padding: 210px 0 0;
  }
}

.aboutLead_sentence {
  margin-bottom: 3em;
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .aboutLead_sentence {
    font-size: 2rem;
    line-height: 2.25;
  }
}

.aboutLead_tagline {
  width: 64vw;
}
@media screen and (min-width: 768px) {
  .aboutLead_tagline {
    width: 502px;
  }
}

/*
ABOUT PHILOSOPHY
------------------------------ */
.about_philosophy {
  position: relative;
  margin: 12vw 0;
  padding: 4vw 0;
}
.about_philosophy::before {
  position: absolute;
  bottom: -0.9vw;
  left: 0;
  content: "";
  width: 100%;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .about_philosophy {
    margin: 160px 0;
    padding: 0;
    background: none;
  }
  .about_philosophy::before {
    content: none;
  }
}

/*
ABOUT 企業理念（CI）
------------------------------ */
@media screen and (min-width: 768px) {
  .gridHedingBody {
    display: grid;
    grid-template-columns: 180px auto;
  }
}

.gridHedingBody_body .strongHeding {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .gridHedingBody_body .strongHeding {
    margin-top: -0.3em;
  }
}

/*
ABOUT 経営理念（MP）
------------------------------ */
.about_mpList {
  font-size: 3.7333333vw;
}
.about_mpList li {
  padding-left: 2.2em;
  text-indent: -2.2em;
}
.about_mpList li:not(:last-of-type) {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .about_mpList {
    font-size: 2.2rem;
  }
  .about_mpList li {
    padding-left: 2em;
    text-indent: -2em;
  }
}

/*
ABOUT 行動指針
------------------------------ */
.about_guidelinesItem {
  display: grid;
  grid-template-columns: 6em auto;
  align-items: center;
  margin-bottom: 1em;
}
.about_guidelinesItem dt {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 6em;
  font-weight: 500;
  letter-spacing: 0;
  border: 1px solid #000;
  border-radius: 50%;
}
.about_guidelinesItem dd {
  padding-left: 1em;
}
@media screen and (min-width: 768px) {
  .about_guidelinesItem {
    grid-template-columns: 8em auto;
  }
  .about_guidelinesItem dt {
    height: 8em;
    letter-spacing: 0.1em;
    padding-left: 0.25em;
  }
  .about_guidelinesItem dd {
    padding-left: 2em;
    font-size: 2.2rem;
  }
}

/*
ABOUT 代表メッセージ
------------------------------ */
.about_repMessageBlock {
  padding: 1.5em;
  border: 1px solid rgba(148, 148, 148, 0.5);
}
.about_repMessageBlock:first-of-type {
  margin: 2em 0;
}
@media screen and (min-width: 768px) {
  .about_repMessageBlock {
    display: grid;
    gap: 30px;
    grid-template-columns: auto 210px;
    padding: 30px;
  }
  .about_repMessageBlock:first-of-type {
    margin: 3em 0;
  }
}

.about_repMessageText p {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .about_repMessageText p span {
    display: inline-block;
  }
}

.about_repMessagePhoto {
  max-width: 210px;
  margin: 20px auto 0;
  text-align: center;
}
.about_repMessagePhoto img {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .about_repMessagePhoto {
    width: auto;
    margin: 0;
  }
  .about_repMessagePhoto figcaption {
    line-height: 1.3;
  }
}

/*
ABOUT ADVANTAGE
------------------------------ */
.strongHeding {
  margin-bottom: 1em;
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .strongHeding {
    font-size: 3.2rem;
  }
}

.gridTextImage p:not(:last-of-type) {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .gridTextImage {
    display: grid;
    gap: 50px;
    grid-template-columns: 725px auto;
    align-items: center;
  }
  .gridTextImage p:not(:last-of-type) {
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 1261px) {
  .gridTextImage {
    gap: 100px;
  }
}

.gridTextImage_image {
  margin: 6vw 0 0;
}
@media screen and (min-width: 768px) {
  .gridTextImage_image {
    margin: 0;
  }
  .gridTextImage_image.detabese img {
    width: calc(100% + 190px);
    -webkit-transform: translateX(-190px);
            transform: translateX(-190px);
  }
  .gridTextImage_image.imageSlide {
    width: 425px;
  }
}
@media screen and (min-width: 1261px) {
  .gridTextImage_image.imageSlide {
    width: calc(100vw - 885px);
  }
}
@media screen and (min-width: 1541px) {
  .gridTextImage_image.imageSlide {
    width: 615px;
  }
}

.advantageResult {
  position: relative;
}

.advantageResult_text {
  display: inline-block;
  padding: 0.8em;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  border: solid 1px #949494;
}
@media screen and (min-width: 768px) {
  .advantageResult_text {
    position: absolute;
    top: 30px;
    left: 0;
    padding: 1em;
    font-size: 3.3rem;
  }
}
@media screen and (min-width: 1541px) {
  .advantageResult_text {
    top: 60px;
  }
}

.advantageResult_note {
  display: block;
  margin-top: 0.5em;
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .advantageResult_note {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .advantageResult_graph {
    width: 100%;
    max-width: 700px;
    margin: 0 0 0 auto;
    transition: 0.5s;
  }
}
@media screen and (min-width: 1541px) {
  .advantageResult_graph {
    width: 100%;
    max-width: 800px;
    margin: 0 0 0 auto;
  }
}

/* プロダクツ*/
@media screen and (min-width: 768px) {
  .about_products {
    display: grid;
    gap: 60px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
}
@media screen and (min-width: 768px) {
  .about_products {
    gap: 80px;
  }
}

.productsItem {
  position: relative;
  display: flex;
  flex-direction: column;
}
.productsItem:not(:last-of-type) {
  margin-bottom: 6vw;
  padding-bottom: 6vw;
}
@media screen and (min-width: 768px) {
  .productsItem:not(:last-of-type) {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.productsItem:not(:last-of-type)::before {
  position: absolute;
  left: -5.3333333333vw;
  bottom: -3px;
  content: "";
  width: 100vw;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .productsItem:not(:last-of-type)::before {
    content: none;
  }
}
@media screen and (min-width: 768px) {
  .productsItem {
    display: grid;
    gap: 20px;
    grid-template-columns: 46% auto;
    align-items: center;
  }
  .productsItem:not(:last-of-type) {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1541px) {
  .productsItem {
    grid-template-columns: 340px auto;
  }
}

.productsText {
  order: 2;
}
@media screen and (min-width: 768px) {
  .productsText {
    order: 1;
  }
}

.productLogo {
  width: 200px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .productLogo {
    margin-bottom: 1em;
  }
}

.productsImage {
  order: 1;
}
@media screen and (min-width: 768px) {
  .productsImage {
    order: 2;
  }
}

/* トータルサポート */
@media screen and (min-width: 768px) {
  .supportFlow {
    display: grid;
    gap: 35px;
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (min-width: 1261px) {
  .supportFlow {
    gap: 2.5974025974vw;
  }
}
@media screen and (min-width: 1541px) {
  .supportFlow {
    gap: 45px;
  }
}

.supportFlow_item {
  position: relative;
  display: grid;
  gap: 3.3777777778vw;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .supportFlow_item {
    display: block;
    min-width: 208px;
  }
}
@media screen and (min-width: 1261px) {
  .supportFlow_item {
    width: 16.3636363636vw;
  }
}
@media screen and (min-width: 1541px) {
  .supportFlow_item {
    width: 252px;
  }
}
.supportFlow_item:not(:last-of-type) {
  margin-bottom: 14.2222222222vw;
}
.supportFlow_item:not(:last-of-type):after {
  position: absolute;
  bottom: -8.8888888889vw;
  left: 50%;
  content: "";
  width: 0;
  height: 0;
  -webkit-transform: translateX(-50%) translateY(50%);
          transform: translateX(-50%) translateY(50%);
  border-style: solid;
  border-width: 4vw 3vw 0 3vw;
  border-color: #000000 transparent transparent transparent;
}
@media screen and (min-width: 768px) {
  .supportFlow_item:not(:last-of-type) {
    margin-bottom: 0;
  }
  .supportFlow_item:not(:last-of-type):after {
    bottom: auto;
    left: auto;
    top: 180px;
    right: -35px;
    border-width: 13px 0 13px 16px;
    border-color: transparent transparent transparent #000000;
  }
  .supportFlow_item:not(:last-of-type):nth-of-type(5):after {
    content: none;
  }
}
@media screen and (min-width: 1261px) {
  .supportFlow_item:not(:last-of-type):after {
    top: 11.6883116883vw;
    right: -2.5974025974vw;
    border-width: 0.8441558442vw 0 0.8441558442vw 1.038961039vw;
  }
}
@media screen and (min-width: 1541px) {
  .supportFlow_item:not(:last-of-type):after {
    top: 180px;
    right: -40px;
    border-width: 13px 0 13px 16px;
  }
}

.supportFlow_itemNmber {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .supportFlow_itemNmber {
    font-size: 3.2rem;
  }
}

@media screen and (min-width: 768px) {
  .supportFlow_itemImage {
    margin-bottom: 30px;
    padding-top: 30px;
  }
}

.supportFlow_itemHeding {
  margin-bottom: 0.8em;
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .supportFlow_itemHeding {
    font-size: 2.2rem;
  }
}

.supportFlowMemo {
  margin-top: 1em;
  padding: 0.5em 1em;
  color: #fff;
  background-color: #46b2e6;
}
@media screen and (min-width: 768px) {
  .supportFlowMemo {
    --gapWidth: 35px;
    position: absolute;
    right: var(--gapWidth);
    bottom: -70px;
    width: 200%;
  }
  .supportFlowMemo::after {
    position: absolute;
    top: 0;
    right: calc(-1 * var(--gapWidth));
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.3em 0 1.3em var(--gapWidth);
    border-color: transparent transparent transparent #46b2e6;
  }
}
@media screen and (min-width: 1261px) {
  .supportFlowMemo {
    --gatWidth: 40px;
  }
}
@media screen and (min-width: 1541px) {
  .supportFlowMemo {
    --gapWidth: 45px;
  }
}

/* ==============================

COMPANY

============================== */
/*
COMPANY OUTLINE
------------------------------ */
.company_outline {
  margin: 12vw 0;
}
@media screen and (min-width: 768px) {
  .company_outline {
    margin: 80px 0 100px;
  }
}

.company_outline02 {
  margin: 12vw 0 0;
}
@media screen and (min-width: 768px) {
  .company_outline02 {
    margin: 80px 0 0;
  }
}

.dotlineItem {
  position: relative;
  display: flex;
  width: 100%;
  padding: 1em 5.0666666667vw 1.3em;
}
@media screen and (min-width: 768px) {
  .dotlineItem {
    padding: 30px 0;
  }
}
.dotlineItem::before {
  position: absolute;
  top: -3px;
  left: 0;
  content: "";
  width: 100%;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .dotlineItem::before {
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}
.dotlineItem:last-of-type::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: "";
  width: 100%;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .dotlineItem:last-of-type::after {
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}
.dotlineItem dt {
  width: 7em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .dotlineItem dt {
    width: 8.8em;
  }
}
.dotlineItem dd {
  width: calc(100% - 7em);
}
@media screen and (min-width: 768px) {
  .dotlineItem dd {
    width: calc(100% - 8.8em);
  }
}

.dotlineItem02 {
  position: relative;
  display: flex;
  width: 100%;
  padding: 1em 5.0666666667vw 1.3em;
}
@media screen and (max-width: 767px) {
  .dotlineItem02 {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 136%;
    padding: 1em 0 0 0;
  }
}

.dotlineItem .dotlineItem02 dt {
  width: 9em;
}
@media screen and (max-width: 767px) {
  .dotlineItem dt {
    width: 7em;
    font-weight: 400;
  }
}

@media screen and (min-width: 768px) {
  .dotlineItem02 {
    padding: 30px 0;
  }
}
.dotlineItem02::before {
  position: absolute;
  top: -3px;
  left: 0;
  content: "";
  width: 100%;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .dotlineItem02::before {
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}
@media screen and (max-width: 767px) {
  .dotlineItem02::before {
    left: -11px;
    position: absolute;
    top: -3px;
    content: "";
    width: calc(100% - 18.844444vw);
    height: 0.9vw;
    background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/100vw 0.2vw;
  }
}

.dotlineItem03 {
  position: relative;
  display: flex;
  width: 100%;
  padding: 1em 5.0666666667vw 1.3em;
}
@media screen and (min-width: 768px) {
  .dotlineItem03 {
    padding: 30px 0;
  }
}
.dotlineItem03::before {
  position: absolute;
  top: -3px;
  left: 0;
  content: "";
  width: 100%;
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .dotlineItem03::before {
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}
.dotlineItem03:last-of-type::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 0.9vw;
}
@media screen and (min-width: 768px) {
  .dotlineItem03:last-of-type::after {
    height: 0px;
  }
}
.dotlineItem03 dt {
  width: 7em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .dotlineItem03 dt {
    width: 8.8em;
  }
}
.dotlineItem03 dd {
  width: calc(100% - 7em);
}
@media screen and (min-width: 768px) {
  .dotlineItem03 dd {
    width: calc(100% - 8.8em);
  }
}

.buttonMap {
  display: block;
  width: 200px;
  margin: 1em 0;
}
@media screen and (max-width: 320px) {
  .buttonMap {
    width: 180px;
  }
}
@media screen and (min-width: 768px) {
  .buttonMap {
    height: 40px;
    transition: opacity 0.2s ease-in;
  }
  .buttonMap:hover img {
    opacity: 0;
  }
}

.outline_rate {
  display: flex;
  flex-wrap: wrap;
}
.outline_rate .rate01 {
  padding-right: 0.8em;
}
.outline_rate .rate03 {
  display: inline-block;
  width: 100%;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .outline_rate {
    display: grid;
    grid-template-columns: auto auto 1fr;
    margin-top: 0.75em;
  }
  .outline_rate .rate01 {
    padding-right: 0;
    text-align: right;
  }
  .outline_rate .rate02 {
    padding-left: 1em;
    text-align: right;
  }
  .outline_rate .rate03 {
    margin-bottom: 0;
    padding-left: 1em;
  }
}

.outline_sales {
  display: grid;
  grid-template-columns: auto 1fr;
}
.outline_sales .sales01 {
  text-align: right;
}
.outline_sales .sales02 {
  -moz-text-align-last: left;
       text-align-last: left;
}

.officeItem {
  position: relative;
}
.officeItem:not(:first-of-type) {
  padding-top: 1em;
}
@media screen and (min-width: 768px) {
  .officeItem:not(:first-of-type) {
    padding-top: 30px;
  }
}
.officeItem:not(:last-of-type) {
  padding-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .officeItem:not(:last-of-type) {
    padding-bottom: 30px;
  }
}
.officeItem:not(:last-of-type)::before {
  position: absolute;
  bottom: -0.9vw;
  left: 0;
  content: "";
  width: calc(100% + 2.1555555556vw);
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 100% 100%/100vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .officeItem:not(:last-of-type)::before {
    left: 2px;
    bottom: -3px;
    width: 100%;
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}

.officeItem02 {
  position: relative;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .officeItem02 {
    padding-top: 1em;
  }
}
.officeItem02:not(:first-of-type) {
  padding-top: 1em;
}
@media screen and (min-width: 768px) {
  .officeItem02:not(:first-of-type) {
    padding-top: 30px;
  }
}
.officeItem02:not(:last-of-type) {
  padding-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .officeItem02:not(:last-of-type) {
    padding-bottom: 30px;
  }
}
.officeItem02:not(:last-of-type)::before {
  position: absolute;
  bottom: -0.9vw;
  left: 0;
  content: "";
  width: calc(100% + 1.1555555556vw);
  height: 0.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 100% 100%/100vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .officeItem02:not(:last-of-type)::before {
    left: 2px;
    bottom: -3px;
    width: 100%;
    height: 3px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}

.officer:not(:last-of-type) {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .officer:not(:last-of-type) {
    margin-bottom: 0;
  }
}

.officer_link {
  position: relative;
}
.officer_link::after {
  content: "";
  display: inline-block;
  width: 4vw;
  height: 4vw;
  border: 1px solid #000;
  -webkit-transform: translateX(-0.5em) translateY(0.1em);
          transform: translateX(-0.5em) translateY(0.1em);
  background-image: url(../img/arrow_down_black.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 1.6vw auto;
}
@media screen and (min-width: 768px) {
  .officer_link::before {
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    opacity: 0;
    width: 22px;
    height: 22px;
    background-image: url(../img/arrow_down_white.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 7px auto;
  }
  .officer_link::after {
    width: 22px;
    height: 22px;
    -webkit-transform: translateX(0) translateY(0.2em);
            transform: translateX(0) translateY(0.2em);
    background-size: 7px auto;
  }
  .officer_link:hover::before {
    background-image: url(../img/arrow_down_white.svg);
    -webkit-animation-name: arrowAnimationDown;
            animation-name: arrowAnimationDown;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    z-index: 2;
  }
  .officer_link:hover::after {
    background-color: #000;
    background-image: none;
  }
}

.officer_post {
  display: block;
}
@media screen and (min-width: 768px) {
  .officer_post {
    display: inline-block;
  }
  .officers01 .officer_post {
    width: 12.25em;
  }
  .officers02 .officer_post {
    width: 4em;
  }
  .officers03 .officer_post {
    width: 5.8em;
  }
}

@media screen and (min-width: 768px) {
  .officer_name {
    display: inline-block;
  }
  .officers01 .officer_name {
    width: 6.2em;
  }
  .officers02 .officer_name {
    width: 3.7em;
  }
  .officers03 .officer_name {
    width: 5em;
  }
}

@media screen and (min-width: 768px) {
  .officer_kana {
    display: inline-block;
  }
  .officers01 .officer_kana {
    width: 11.4em;
  }
  .officers02 .officer_kana {
    width: 9.1em;
  }
  .officers03 .officer_kana {
    width: 11.2em;
  }
}

.office:not(:last-of-type) {
  margin-bottom: 1em;
}

.office_name::before {
  content: "■";
  padding-right: 0.2em;
}

@media screen and (min-width: 768px) {
  .office_tel {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  .office_fax {
    display: inline-block;
    padding-left: 1em;
  }
}

.office_pm {
  margin-top: 1em;
}

.office_pm02 {
  margin-top: 1em;
  margin-bottom: 2em;
}

@media screen and (min-width: 768px) {
  .licence {
    display: grid;
    grid-template-columns: 13em auto;
    text-indent: 0.2em;
  }
  .licence:not(:last-of-type) {
    margin-bottom: 0.5em;
  }
}

.licence_name {
  display: block;
  white-space: nowrap;
  background-color: rgba(230, 230, 230, 0.5);
}
@media screen and (min-width: 768px) {
  .licence_name {
    text-align: center;
  }
}

.licence_no {
  display: inline-block;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .licence_no {
    margin-bottom: 0;
    padding-left: 0.8em;
  }
}

.csr_items {
  margin-top: 1em;
}

.csr_item {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .csr_item {
    display: flex;
  }
}

.csr_itemMainHeding {
  display: flex;
  align-items: center;
  padding: 0.4em 0;
  border-bottom: 1px solid #949494;
}
@media screen and (min-width: 768px) {
  .csr_itemMainHeding {
    justify-content: center;
    width: 10em;
    border: 1px solid #949494;
    padding: 0 0 0 0.5em;
  }
}

.csr_itemBody {
  padding: 1em 0;
}
@media screen and (min-width: 768px) {
  .csr_itemBody {
    padding: 0.2em 1em;
  }
}

.csr_itemSubBlock:not(:last-of-type) {
  margin-bottom: 1em;
}

.csr_itemSubHeding {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.2em 1em;
  background-color: rgba(230, 230, 230, 0.5);
}
@media screen and (min-width: 768px) {
  .csr_itemSubHeding {
    margin: -0.2em 0 0.3em;
    padding: 0.2em 0.6em;
  }
}

/*
COMPANY & BUSSINESS gridImageText
------------------------------ */
@media screen and (min-width: 768px) {
  .gridImageText {
    display: grid;
    grid-template-columns: auto 730px;
    gap: 50px;
    align-items: center;
  }
}
@media screen and (min-width: 1261px) {
  .gridImageText {
    gap: 100px;
  }
}

.gridImageText_text {
  order: 2;
  margin-bottom: 6vw;
}
@media screen and (min-width: 768px) {
  .gridImageText_text {
    margin-bottom: 0;
  }
}

.gridImageText_textHeding {
  word-break: break-all;
}

.gridImageText_textHedingSub {
  display: block;
}

.gridImageText_textHedingMain {
  display: block;
  margin: 1em 0;
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .gridImageText_textHedingMain {
    font-size: 3.2rem;
  }
}

.gridImageText_textBody {
  word-break: break-all;
}
.gridImageText_textBody p:not(:last-of-type) {
  margin-bottom: 1em;
}

.gridImageText_image {
  order: 1;
}

/* ==============================

BUSINESS

============================== */
/*
BUSINESS READ
------------------------------ */
.businessLead {
  background-image: url(../img/business/lead_img_sp.webp);
}
@media screen and (min-width: 768px) {
  .businessLead {
    justify-content: center;
    background-image: url(../img/business/lead_img_pc.webp);
  }
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .businessLead {
    background-image: url(../img/business/lead_img_pc@2x.webp);
  }
}

@media screen and (min-width: 768px) {
  .businessLead_inner {
    padding: 120px 0 0;
  }
}

.businessContents {
  padding-top: 7.1111111111vw;
  padding-bottom: 8.8888888889vw;
}
@media screen and (min-width: 768px) {
  .businessContents {
    display: grid;
    gap: 35px;
    grid-template-columns: repeat(4, 1fr);
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 1541px) {
  .businessContents {
    gap: 45px;
  }
}

.businessContents_item {
  display: grid;
  gap: 4.4444444444vw;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 0 5.3333333333vw;
}
.businessContents_item:not(:last-of-type) {
  margin-bottom: 8.8888888889vw;
}
@media screen and (min-width: 768px) {
  .businessContents_item {
    display: block;
    padding: 0;
  }
  .businessContents_item:not(:last-of-type) {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .businessContents_itemImage {
    margin-bottom: 40px;
  }
}

.businessContents_itemTextBox {
  margin-bottom: 1em;
}
.businessContents_itemTextSub {
  margin-bottom: 0.8em;
}
.businessContents_itemTextSub span {
  display: inline-block;
}
.businessContents_itemTextMain {
  margin-bottom: 1em;
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .businessContents_itemTextMain {
    font-size: 2rem;
    line-height: 1.3125;
  }
  .businessContents_itemTextMain span {
    display: inline-block;
  }
}
@media screen and (min-width: 1541px) {
  .businessContents_itemTextMain {
    font-size: 2.2rem;
    line-height: 1.3125;
  }
}

/*
BUSINESS DETAIL
------------------------------ */
.businessDetailContainer .underlineHeding {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .businessDetailContainer .underlineHeding {
    text-align: left;
  }
  .businessDetailContainer .relatedStyle {
    margin-top: 0;
    padding-top: 0;
  }
}

.businessType {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 3.5555555556vw 2em;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .businessType {
    margin: 0 0 50px;
  }
}

.businessType_tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 14.2222222222vw;
  text-align: center;
  margin-right: -1px;
  border: 1px solid #ccc;
  border-bottom-color: #000;
}
.businessType_tab:nth-of-type(3) .businessType_name, .businessType_tab:nth-of-type(4) .businessType_name {
  letter-spacing: -0.1em;
}
.businessType_tab.-tabActive {
  border: 1px solid #000;
  border-bottom-color: #fff;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .businessType_tab {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 80px;
    text-align: center;
  }
  .businessType_tab:nth-of-type(3) .businessType_name, .businessType_tab:nth-of-type(4) .businessType_name {
    letter-spacing: -0.05em;
  }
  .businessType_tab:hover {
    background-color: rgba(229, 232, 234, 0.3);
  }
  .businessType_tab.-tabActive:hover {
    background-color: #fff;
  }
}

.businessType_tagline {
  display: none;
}
@media screen and (min-width: 768px) {
  .businessType_tagline {
    display: block;
    font-size: 1.2rem;
    margin-bottom: 0.6em;
  }
}

.businessType_name {
  font-size: 2.6666666vw;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .businessType_name {
    font-size: 2rem;
    line-height: 1;
  }
}

.businessDetail_heding {
  margin-bottom: 1em;
  font-size: 3.7333333vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .businessDetail_heding {
    font-size: 2rem;
  }
}

.businessDetail_text {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .businessDetail_text {
    margin-bottom: 60px;
  }
}

.businessDetail_fig + .businessDetail_text,
.figuresBlock + .businessDetail_text {
  margin-top: 4em;
}
@media screen and (min-width: 768px) {
  .businessDetail_fig + .businessDetail_text,
.figuresBlock + .businessDetail_text {
    margin-top: 120px;
  }
}

/* 土地活用事業 */
.businessModel_flow {
  margin-bottom: 4em;
}
@media screen and (min-width: 768px) {
  .businessModel_flow {
    margin-bottom: 120px;
  }
}

/* 不動産開発事業 */
.businessModel_items {
  --itemPadding: 40px;
  border-top: 1px solid #e5e5e5;
  margin-top: var(--itemPadding);
  padding-top: var(--itemPadding);
}
@media screen and (min-width: 768px) {
  .businessModel_items {
    --itemPadding: 50px;
  }
}

.businessModel_items li {
  --numberSize: 7vw;
  position: relative;
  counter-increment: number;
}
.businessModel_items li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number 0;
  content: counter(number) "";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: var(--numberSize);
  height: var(--numberSize);
  font-size: 3.7333333vw;
  font-weight: 700;
  color: #fff;
}
.businessModel_items li::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: var(--numberSize);
  height: var(--numberSize);
  background-color: #46b2e6;
  z-index: -1;
}
@media screen and (max-width: 320px) {
  .businessModel_items li {
    --numberSize: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .businessModel_items li {
    --numberSize: 50px;
  }
  .businessModel_items li::before {
    font-size: 2.4rem;
  }
}

.businessModel_item {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: var(--itemPadding);
  padding-bottom: var(--itemPadding);
}
.businessModel_item.-borderNone {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .businessModel_item {
    display: grid;
    grid-template-columns: auto 700px;
    gap: 0 70px;
  }
}

.businessModel_itemHeding {
  display: flex;
  align-items: center;
  height: var(--numberSize);
  margin-bottom: 1em;
  padding-left: calc(var(--numberSize) + 0.8em);
  font-size: 4vw;
  font-weight: 500;
}
@media screen and (max-width: 320px) {
  .businessModel_itemHeding {
    font-size: 3.4666666vw;
  }
}
@media screen and (min-width: 768px) {
  .businessModel_itemHeding {
    font-size: 2rem;
    padding-left: calc(var(--numberSize) + 25px);
  }
}

.businessModel_itemFig {
  padding-top: 30px;
}

/* リブランディング事業 */
.businessModel_rebranding01 {
  margin: 2em 0 4em;
}
@media screen and (min-width: 768px) {
  .businessModel_rebranding01 {
    display: grid;
    grid-template-columns: 800px auto;
    margin: 60px 0 120px;
    gap: 0 40px;
    align-items: center;
  }
}

.businessModel_rebranding01_fig {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .businessModel_rebranding01_fig {
    margin-bottom: 0;
  }
}

.businessModel_rebranding01_item {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .businessModel_rebranding01_item {
    display: grid;
    grid-template-columns: 9em 1fr;
    gap: 0 1em;
    align-items: center;
  }
}

.businessModel_rebranding01_heding {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 0.4em 0;
  font-weight: 700;
  border-bottom: 1px solid #949494;
}
@media screen and (min-width: 768px) {
  .businessModel_rebranding01_heding {
    min-height: 110px;
    padding: 1em;
    border: 1px solid #949494;
  }
}

.businessModel_rebranding02 {
  margin: 2em 0 4em;
}
@media screen and (min-width: 768px) {
  .businessModel_rebranding02 {
    display: grid;
    grid-template-columns: auto 48%;
    margin: 60px 0 120px;
    gap: 0 80px;
  }
}

.businessModel_rebranding02_fig {
  margin-top: 2em;
}
@media screen and (min-width: 768px) {
  .businessModel_rebranding02_fig {
    margin-top: 0;
  }
}

/* プロパティマネジメント事業 */
@media screen and (min-width: 768px) {
  .figuresBlock {
    display: flex;
    justify-content: space-between;
  }
}

.figuresBlock_fig:not(:last-of-type) {
  margin: 8vw 0;
}
@media screen and (min-width: 768px) {
  .figuresBlock_fig {
    width: 47.6%;
  }
  .figuresBlock_fig:not(:last-of-type) {
    margin: 0;
  }
}

.pmLinks_items {
  display: flex;
  justify-content: space-between;
  text-align: center;
  margin-top: 6vw;
  padding-top: 8vw;
  border-top: 1px solid rgba(148, 148, 148, 0.5);
}
@media screen and (min-width: 768px) {
  .pmLinks_items {
    gap: 60px;
    justify-content: center;
    align-items: flex-end;
    margin-top: 80px;
    padding-top: 80px;
  }
}

.pmLinks_item .button {
  justify-content: center;
  width: 42.5vw;
  margin: 0 auto;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .pmLinks_item .button {
    width: 280px;
    padding: 0 10px;
  }
}

.pmLinks_itemText {
  margin-bottom: 0.8em;
  font-size: 2.4vw;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .pmLinks_itemText {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}

/* 事業紹介の詳細共通（実例紹介） */
.hedingRightButtons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4vw;
  margin-bottom: 10vw;
}
.hedingRightButtons .button {
  width: auto;
  padding-left: 1.7777777778vw;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .hedingRightButtons {
    position: absolute;
    top: 0;
    right: 0;
    gap: 60px;
    margin-bottom: 0;
  }
}

.voiceContainer {
  margin-bottom: 12vw;
}
@media screen and (min-width: 768px) {
  .voiceContainer {
    margin-bottom: 0;
    padding: 40px 40px 30px;
  }
}

.voiceBalloon {
  display: grid;
  margin-bottom: 4vw;
}
.voiceBalloon.-balloonLeft {
  grid-template-columns: 14.2222222222vw auto;
  grid-template-areas: "voiceBalloon_avatar voiceBalloon_text";
}
.voiceBalloon.-balloonRight {
  grid-template-columns: auto 14.2222222222vw;
  grid-template-areas: "voiceBalloon_text voiceBalloon_avatar";
}
@media screen and (min-width: 768px) {
  .voiceBalloon {
    margin-bottom: 30px;
  }
  .voiceBalloon.-balloonLeft {
    grid-template-columns: 100px auto;
  }
  .voiceBalloon.-balloonRight {
    grid-template-columns: auto 100px;
  }
}

.voiceBalloon_avatar {
  grid-area: voiceBalloon_avatar;
  padding-top: calc(9.9555555556vw + 1em);
  font-size: 2.6666666vw;
  text-align: center;
}
.-balloonLeft .voiceBalloon_avatar {
  background: url(../img/business/avatar_left.png) no-repeat left top/contain;
}
.-balloonRight .voiceBalloon_avatar {
  background: url(../img/business/avatar_right.png) no-repeat left top/contain;
}
@media screen and (min-width: 768px) {
  .voiceBalloon_avatar {
    padding-top: calc(70px + 1em);
    font-size: 1.4rem;
  }
}

.voiceBalloon_text {
  position: relative;
  --arrowSize: 1.8em;
  grid-area: voiceBalloon_text;
  padding: var(--arrowSize);
  font-size: 2.9333333vw;
  border-radius: 8px;
  background-color: #f1f1f1;
}
.voiceBalloon_text::before {
  position: absolute;
  top: calc(var(--arrowSize) / 2);
  content: "";
}
.-balloonLeft .voiceBalloon_text {
  margin-left: var(--arrowSize);
}
.-balloonLeft .voiceBalloon_text::before {
  left: calc(-1 * var(--arrowSize));
  border-width: calc(var(--arrowSize) / 2) var(--arrowSize) calc(var(--arrowSize) / 2) 0;
  border-color: transparent #f1f1f1 transparent transparent;
}
.-balloonRight .voiceBalloon_text {
  margin-right: var(--arrowSize);
}
.-balloonRight .voiceBalloon_text::before {
  right: calc(-1 * var(--arrowSize));
  border-width: calc(var(--arrowSize) / 2) 0 calc(var(--arrowSize) / 2) var(--arrowSize);
  border-color: transparent transparent transparent #f1f1f1;
}
@media screen and (min-width: 768px) {
  .voiceBalloon_text {
    font-size: 1.6rem;
  }
}

/*
COMPANY GOVERNANCE
------------------------------ */
.governance_desc dt {
  font-weight: 400;
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .governance_desc dt {
    font-size: 2.2rem;
  }
}
.governance_desc dd:not(:last-of-type) {
  margin-bottom: 1.5em;
}

.governance_figures_sp .governance_fig {
  margin: 8vw 0;
}
@media screen and (min-width: 768px) {
  .governance_figures_sp {
    display: none;
  }
}

.governance_figures_pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .governance_figures_pc {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
  }
  .governance_figures_pc .governance_fig {
    width: 47.6%;
  }
}

.modalBox {
  position: relative;
  padding: 4vw 4vw 10.2vw;
  border: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .modalBox {
    padding: 40px 40px 80px;
  }
}

.modalBox_heding {
  margin-bottom: 1em;
}

.button_zoom {
  position: absolute;
  bottom: -1px;
  right: -1px;
}

/*
COMPANY MEMBER
------------------------------ */
@media screen and (min-width: 768px) {
  .membersProfile {
    display: grid;
    gap: 45px;
    grid-template-columns: repeat(3, 1fr);
  }
}

.profile {
  margin-bottom: 12vw;
}
@media screen and (min-width: 768px) {
  .profile {
    margin-bottom: 0;
  }
}

.profile_photo {
  margin-bottom: 4vw;
}
@media screen and (min-width: 768px) {
  .profile_photo {
    margin-bottom: 20px;
  }
}

.profile_post {
  margin-bottom: 0.3em;
  font-size: 2.6666666vw;
}
@media screen and (min-width: 768px) {
  .profile_post {
    font-size: 1.4rem;
  }
}

.profile_name {
  margin-bottom: 0.3em;
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .profile_name {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 768px) {
  .profile_career {
    margin-bottom: 10px;
  }
}

/* ==============================

RECRUIT

============================== */
/*
RECRUIT READ
------------------------------ */
@media screen and (min-width: 768px) {
  .recruitLead {
    margin-bottom: 10px;
  }
}

.rectuitLinks {
  margin-bottom: 16vw;
}
@media screen and (min-width: 768px) {
  .rectuitLinks {
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 767px) {
  .rectuitLinks {
    margin-bottom: 30px;
  }
}

.contentsLinksList {
  display: grid;
  gap: 8.8888888889vw;
  grid-template-columns: 1fr 1fr;
  padding: 8.8888888889vw 5.3333333333vw 7.1111111111vw;
  background-image: url(../img/line_vertical_sp.svg), url(../img/line_horizontal_sp.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center top;
  background-size: 0.8px 61.2666666667vw, 100vw 1vw;
}
.contentsLinksList .underlineHeding {
  margin-bottom: 43.5555555556vw;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .contentsLinksList {
    gap: 160px;
    padding: 50px 0;
    background-image: url(../img/line_vertical_pc.svg), url(../img/line_horizontal_pc.svg);
    background-position: center center, left top;
    background-size: 1.3px 280px, 1440px 3px;
  }
  .contentsLinksList .underlineHeding {
    margin-bottom: 1.6em;
  }
}
.contentsLinksList:nth-of-type(1) {
  background: url(../img/line_vertical_sp.svg) no-repeat center center/0.8px 61.2666666667vw;
}
@media screen and (min-width: 768px) {
  .contentsLinksList:nth-of-type(1) {
    background: url(../img/line_vertical_pc.svg) no-repeat center center/1.3px 280px;
  }
}

.contentsLinksItem {
  position: relative;
}
@media screen and (min-width: 768px) {
  .contentsLinksItem {
    display: flex;
    align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .contentsLinksText {
    margin-right: 70px;
  }
}

.contentsLinksImage {
  position: absolute;
  top: 9.7777777778vw;
}
@media screen and (min-width: 768px) {
  .contentsLinksImage {
    position: relative;
    top: inherit;
    max-width: 300px;
  }
}

/*
RECRUIT REQUIREMENTS
------------------------------ */
.centerHeding {
  margin-bottom: 6vw;
  font-size: 4vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .centerHeding {
    margin-bottom: 60px;
    font-size: 2.2rem;
  }
}

.requirements {
  position: relative;
  padding: 4vw 4vw 7vw;
  border: 1px solid #000;
}
.requirements:not(:last-of-type) {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .requirements {
    padding: 60px 60px 90px;
  }
  .requirements:not(:last-of-type) {
    margin-bottom: 50px;
  }
}

.requirements_items dt {
  padding: 0.2em 0.5em;
  font-weight: 400;
  background-color: rgba(230, 230, 230, 0.5);
}
.requirements_items dd {
  padding: 0.2em 0.5em 1em;
}
@media screen and (min-width: 768px) {
  .requirements_items {
    display: flex;
    flex-wrap: wrap;
  }
  .requirements_items dt {
    width: 8em;
    padding: 1em 0;
    background-color: #fff;
  }
  .requirements_items dd {
    position: relative;
    width: calc(100% - 8em);
    padding: 1em 0;
  }
  .requirements_items dd::after {
    position: absolute;
    bottom: 0;
    left: -8em;
    content: "";
    width: calc(100% + 8em);
    height: 1px;
    background-color: #e6e6e6;
  }
}

.requirements_closeItems {
  display: none;
}
.requirements_closeItems .requirements_items {
  border-bottom: 1px solid rgba(230, 230, 230, 0.5);
}
@media screen and (min-width: 768px) {
  .requirements_closeItems .requirements_items {
    border-bottom: none;
  }
}

.requirements_appryLead {
  margin: 8vw 0 -6vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .requirements_appryLead {
    margin: 50px 0 -30px;
  }
}

.buttonApply,
.buttonOutsideApply {
  position: relative;
  margin: 8vw auto;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .buttonApply,
.buttonOutsideApply {
    margin: 50px auto;
    transition: 0.2s ease-in;
  }
}

.buttonApply {
  background-image: url(../img/ico_contact.svg);
  background-position: right 2.3111111111vw top 50%;
  background-size: 5.0666666667vw 3.3777777778vw;
}
@media screen and (min-width: 768px) {
  .buttonApply {
    background-position: right 15px top 50%;
    background-size: 26px 17px;
  }
  .buttonApply:hover {
    background-image: url(../img/ico_contact_black.svg);
  }
}

.buttonOutsideApply {
  background-image: url(../img/ico_blank.svg);
  background-position: right 2.1333333333vw top 50%;
  background-size: 5.5111111111vw 2.8444444444vw;
}
@media screen and (min-width: 768px) {
  .buttonOutsideApply {
    background-position: right 12px top 50%;
    background-size: 31px 16px;
  }
  .buttonOutsideApply:hover {
    background-image: url(../img/ico_blank_white.svg);
  }
}

.buttonToggle {
  position: absolute;
  bottom: -1px;
  right: -1px;
  background-image: url(../img/arrow_btn_open.svg);
  background-repeat: no-repeat;
  background-position: right 2.3111111111vw top 50%;
  background-size: 6.9333333333vw 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .buttonToggle {
    cursor: pointer;
    background-position: right 15px top 50%;
    background-size: 31px 16px;
    transition: 0.2s ease-in;
  }
  .buttonToggle:hover {
    background-image: url(../img/arrow_btn_open_ov.svg);
  }
}
.buttonToggle.-close {
  background-image: url(../img/arrow_btn_close.svg);
}
@media screen and (min-width: 768px) {
  .buttonToggle.-close:hover {
    background-image: url(../img/arrow_btn_close_ov.svg);
  }
}

/* ==============================

PRIVACY

============================== */
@media screen and (min-width: 768px) {
  .privacy .main_body,
.not404 .main_body {
    padding-top: 32px;
  }
}

.privacyHeding {
  margin-bottom: 1em;
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .privacyHeding {
    font-size: 2.2rem;
  }
}

.privacySubHeding {
  margin-bottom: 0.25em;
}
.privacySubHeding.number {
  margin-bottom: 0.5em;
  padding-left: 0.2em;
}

.privacySubHeding + .pl1em {
  margin-bottom: 1em;
}

.privacy_block {
  margin-bottom: 7.1111111111vw;
}
@media screen and (min-width: 768px) {
  .privacy_block {
    margin-bottom: 80px;
  }
  .privacy_block:last-of-type {
    margin-bottom: 50px;
  }
}

.privacy_inBlock {
  margin: 1.7777777778vw 0;
}
@media screen and (min-width: 768px) {
  .privacy_inBlock {
    bottom: 20px 0;
  }
  .privacy_inBlock:last-of-type {
    margin: 10px 0;
  }
}

.privacy_contact {
  padding: 1.5em 2em;
  border: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .privacy_contact {
    margin-left: 2em;
    margin-right: 2em;
    padding: 2em;
    text-align: center;
  }
}
.privacy_contact:not(:last-of-type) {
  margin-bottom: 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .privacy_contact:not(:last-of-type) {
    margin-bottom: 30px;
  }
}

.privacy_contactHeding {
  margin-bottom: 1em;
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .privacy_contactHeding {
    font-size: 2.2rem;
  }
}

.privacy_contactAddress {
  margin-bottom: 1em;
}

.privacy_contactAddressName {
  font-size: 3.7333333vw;
}
@media screen and (min-width: 768px) {
  .privacy_contactAddressName {
    font-size: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .privacy_contactItems {
    display: flex;
    justify-content: center;
  }
}

.privacy_contactItem {
  display: inline-block;
  margin: 0.3em 0;
}
@media screen and (min-width: 768px) {
  .privacy_contactItem {
    margin: 0 0.8em;
  }
}

.privacy_contactItemLabel {
  display: inline-block;
  width: 5em;
  margin-right: 0.2em;
  padding: 0.2em 0.5em 0.3em;
  color: #fff;
  line-height: 1;
  text-align: center;
  background: #000;
}
@media screen and (min-width: 768px) {
  .privacy_contactItemLabel {
    width: auto;
  }
}

/* ==============================

404 NOT FOUND

============================== */
.not404_contents {
  padding: 0 5.3333333333vw 4vw;
}
@media screen and (min-width: 768px) {
  .not404_contents {
    padding: 0 0 60px;
  }
}

.not404_message {
  display: table;
  margin: 0 auto 6vw;
}
.not404_message p {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .not404_message {
    margin-bottom: 40px;
  }
  .not404_message p {
    text-align: center;
    margin-bottom: 0;
  }
}

.not404_links {
  display: flex;
  justify-content: center;
}

/* ==============================

NEWS / PROJECT Single Page

============================== */
.article_header {
  margin-bottom: 6vw;
  padding: 0 5.3333333333vw 6.9vw;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .article_header {
    margin-bottom: 40px;
    padding: 0 0 40px;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}

.article_headerInfo {
  margin-bottom: 2.6vw;
}
@media screen and (min-width: 768px) {
  .article_headerInfo {
    margin-bottom: 20px;
  }
}

.article_date {
  margin-right: 1em;
  font-size: 3.4666666vw;
}
@media screen and (min-width: 768px) {
  .article_date {
    margin-right: 2em;
    font-size: 1.7rem;
  }
}

.article_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 8em;
  height: 5.2vw;
  font-size: 2.8444444444vw;
  letter-spacing: normal;
  text-align: center;
  color: #fff;
  background: #000;
}
@media screen and (min-width: 768px) {
  .article_category {
    min-width: 128px;
    font-size: 1.4rem;
    height: 24px;
    padding-bottom: 0.05em;
  }
}

.article_title {
  font-size: 3.7333333vw;
}
@media screen and (min-width: 768px) {
  .article_title {
    width: calc(100% - 443px);
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 1541px) {
  .article_title {
    width: 992px;
  }
}

.article_body {
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .article_body {
    padding: 0;
  }
}

.article_footer {
  margin-top: 40px;
  padding: 40px 0 0;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 0/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .article_footer {
    margin-top: 80px;
    padding: 80px 0 0;
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 0/1440px 1.4px;
  }
}

.article_buttons .button {
  width: 100%;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .article_buttons {
    display: flex;
  }
  .article_buttons .button {
    width: auto;
    min-width: 240px;
    margin: 0 30px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .article_main .article_buttons .button, .styleMain .article_buttons .button {
    margin: 0 10px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1541px) {
  .article_main .article_buttons .button, .styleMain .article_buttons .button {
    margin: 0 30px;
  }
}
@media screen and (min-width: 768px) {
  .article_buttons > .button {
    justify-content: start;
  }
}

.article_share {
  display: flex;
  justify-content: space-between;
}
.article_share .button {
  width: 48%;
  background-image: none;
  margin-bottom: 4vw;
}
@media screen and (min-width: 768px) {
  .article_share {
    display: flex;
    margin-right: 20px;
    margin-bottom: 0;
  }
  .article_share .button {
    margin-bottom: 0;
    padding: 0 15px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .article_main .article_share, .styleMain .article_share {
    margin-right: 10px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1541px) {
  .article_main .article_share, .styleMain .article_share {
    margin-right: 20px;
  }
}

.button.share {
  padding: 0 5px;
}
@media screen and (min-width: 768px) {
  .button.share {
    display: flex;
    justify-content: center;
    padding: 0 15px;
  }
  .button.share svg {
    transition: 0.2s ease-in;
  }
  .button.share:hover svg {
    fill: #fff;
  }
}

.share_icon svg {
  width: auto;
  height: 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .share_icon svg {
    width: 24px;
    height: auto;
  }
}

.share_text {
  padding-left: 5px;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .share_text {
    padding-left: 10px;
  }
}

/*
PROJECT
------------------------------ */
.projectListMore {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .projectListMore {
    margin-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .article_contents {
    display: grid;
    gap: 44px;
    grid-template-columns: 828px auto;
  }
}
@media screen and (min-width: 1261px) {
  .article_contents {
    grid-template-columns: auto 399px;
  }
}
@media screen and (min-width: 1541px) {
  .article_contents {
    gap: 60px;
    grid-template-columns: 992px auto;
  }
}

.article_side {
  margin-top: 8.8888888889vw;
  padding: 40px 5.3333333333vw 0;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 0/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .article_side {
    margin-top: 0;
    padding: 0;
    background: none;
  }
}

.sideBox:not(:last-of-type) {
  margin-bottom: 40px;
  padding-bottom: 40px;
  background: url(../img/line_horizontal_sp.svg) no-repeat 0 100%/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .sideBox:not(:last-of-type) {
    background: url(../img/line_horizontal_pc.svg) no-repeat 0 100%/1440px 1.4px;
  }
}

.sideBox_heding {
  margin-bottom: 30px;
}

.recommendList_item:not(:last-of-type) {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .recommendList_item:not(:last-of-type) {
    margin-bottom: 40px;
  }
}

.recommend {
  display: grid;
  gap: 20px;
  grid-template-columns: 120px auto;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .recommend:hover {
    opacity: 0.7;
  }
  .recommend:hover .recommend_figure img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}

.recommend_figure {
  display: block;
  width: 120px;
  height: 120px;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  background: #e6e6e6;
}
.recommend_figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  transition: 1.2s;
}

.recommend_text {
  word-break: break-all;
}

.sideBox_categoryList {
  border-top: 1px solid #e6e6e6;
}
.sideBox_categoryList li {
  border-bottom: 1px solid #e6e6e6;
}
.sideBox_categoryList li a {
  position: relative;
  display: block;
  padding: 1em 7.7333333333vw 1em 0;
  line-height: 1;
  background-image: url(../img/arrow_right_black.svg);
  background-repeat: no-repeat;
  background-position: right 2.3111111111vw top 50%;
  background-size: 5.4222222222vw 1.5111111111vw;
}
@media screen and (min-width: 768px) {
  .sideBox_categoryList li a {
    padding-right: 45px;
    background-position: right 15px top 50%;
    background-size: 30px 7px;
  }
  .sideBox_categoryList li a::after {
    opacity: 0;
    position: absolute;
    top: 50%;
    right: 15px;
    content: "";
    width: 30px;
    height: 7px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: url(../img/arrow_right_black.svg) no-repeat 50% 50%/contain;
  }
  .sideBox_categoryList li a:hover {
    background: none;
  }
  .sideBox_categoryList li a:hover::after {
    -webkit-animation-name: arrowAnimationRight;
            animation-name: arrowAnimationRight;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}

.select_category {
  position: relative;
}
.select_category::before {
  position: absolute;
  top: 0;
  right: 10.6666666666vw;
  content: "";
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  pointer-events: none;
  border: solid #000;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
  .select_category {
    display: none;
  }
}

.select_categoryList {
  display: flex;
  align-items: center;
  width: calc(100% - 10.6666666666vw);
  height: 40px;
  margin: 0 auto 6vw;
  padding: 0 20px;
  letter-spacing: 0.1em;
  border: 1px solid #000;
  border-radius: 0;
}

/* ==============================

WordPress

============================== */
/* 共通 記事自由編集領域の設定 */
.article_body p,
.styleMain_inner p {
  margin-bottom: 1em;
}
.article_body figure img,
.styleMain_inner figure img {
  width: auto;
  max-width: 100%;
}
.article_body ul,
.styleMain_inner ul {
  margin-left: 1.5em;
}
.article_body p + ul,
.styleMain_inner p + ul {
  margin-top: -1em;
  margin-bottom: 1em;
}
.article_body li,
.styleMain_inner li {
  list-style: disc;
}
.article_body table, .article_body th, .article_body td,
.styleMain_inner table,
.styleMain_inner th,
.styleMain_inner td {
  border-width: 1px;
}
.article_body th, .article_body td,
.styleMain_inner th,
.styleMain_inner td {
  padding: 0.5em 1em;
}
.article_body a,
.styleMain_inner a {
  text-decoration: underline;
}
.article_body .pdf a,
.article_body a.pdf,
.styleMain_inner .pdf a,
.styleMain_inner a.pdf {
  position: relative;
  display: inline-block;
  min-width: 40vw;
  height: 7.2vw;
  padding: 0 15px 0 calc(3.2vw + 25px);
  line-height: 6.9333333333vw;
  text-decoration: none;
  border: 1px solid #000;
  background-image: url(../img/ico_pdf.svg);
  background-repeat: no-repeat;
  background-position: left 2.3111111111vw top 50%;
  background-size: 3.2vw 3.9111111111vw;
}
.article_body .border-box,
.styleMain_inner .border-box {
  display: table;
  margin: 1em 0;
  padding: 1.5em;
  border: 1px solid rgba(148, 148, 148, 0.5);
}
.article_body .center,
.styleMain_inner .center {
  display: table;
  margin-right: auto;
  margin-left: auto;
}
.article_body .right,
.styleMain_inner .right {
  display: table;
  margin-right: 0;
  margin-left: auto;
}
.article_body .pl1,
.styleMain_inner .pl1 {
  padding-left: 1em;
}
.article_body .pl2,
.styleMain_inner .pl2 {
  padding-left: 2em;
}
.article_body .pl_numdot,
.styleMain_inner .pl_numdot {
  padding-left: 2.25em;
}
.article_body hr,
.styleMain_inner hr {
  border-top: 0;
  border-color: rgba(148, 148, 148, 0.5);
  margin: 2em 0;
}
@media screen and (min-width: 768px) {
  .article_body a:hover,
.styleMain_inner a:hover {
    text-decoration: none;
  }
  .article_body .pdf a,
.article_body a.pdf,
.styleMain_inner .pdf a,
.styleMain_inner a.pdf {
    min-width: 200px;
    height: 40px;
    padding: 0 15px 1px 45px;
    line-height: 38px;
    background-position: left 15px top 50%;
    background-size: 18px 22px;
  }
  .article_body .pdf a:hover,
.article_body a.pdf:hover,
.styleMain_inner .pdf a:hover,
.styleMain_inner a.pdf:hover {
    color: #fff;
    background-color: #000;
    background-image: url(../img/ico_pdf_white.svg);
    background-size: 18px 22px;
  }
}

/* ニュース / プロジェクト 記事自由編集領域の設定 */
.article_body h2 {
  margin-bottom: 0.5em;
  font-size: 3.7333333vw;
}
@media screen and (min-width: 768px) {
  .article_body h2 {
    font-size: 2.2rem;
  }
}
.article_body h3 {
  font-size: 3.4666666vw;
}
@media screen and (min-width: 768px) {
  .article_body h3 {
    font-size: 2rem;
  }
}

/* 実例紹介 記事自由編集領域の設定 */
.styleMain_inner {
  padding: 0 3.5555555556vw;
}
.styleMain_inner h2 {
  display: table;
  margin: 0 auto 1em;
  padding-bottom: 0.3em;
  border-bottom: 3px solid #000;
  font-size: 4vw;
}
.styleMain_inner h2:not(:first-of-type) {
  padding-top: 1em;
}
.styleMain_inner h3 {
  font-size: 4.8vw;
}
.styleMain_inner h3 + p {
  margin-top: 1em;
}
.styleMain_inner h3 + .wp-block-columns {
  margin-top: 2em;
}
.styleMain_inner p {
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .styleMain_inner {
    padding: 0;
  }
  .styleMain_inner h2 {
    margin-left: 0;
    font-size: 1.8rem;
  }
  .styleMain_inner h3 {
    font-size: 2.2rem;
  }
}

.wp-block-image {
  margin-top: 2em;
  margin-bottom: 2em;
}
.wp-block-image .aligncenter > figcaption {
  text-align: center;
}

.wp-block-quote {
  margin-bottom: 1em;
  padding-left: 1em;
  border-left: 3px solid rgba(148, 148, 148, 0.5);
}

.wp-block-group__inner-container {
  margin-bottom: 1em;
  padding: 1em;
}
.wp-block-group__inner-container p:last-of-type {
  margin-bottom: 0;
}

.post-password-form input[type=password] {
  border: 1px solid #000;
}
.post-password-form input[type=submit] {
  padding: 0 1em;
  color: #fff;
  background-color: #000;
}

.has-extra-small-font-size {
  font-size: 2.6666666vw;
}
@media screen and (min-width: 768px) {
  .has-extra-small-font-size {
    font-size: 1.2rem;
  }
}

.has-small-font-size {
  font-size: 2.9333333vw;
}
@media screen and (min-width: 768px) {
  .has-small-font-size {
    font-size: 1.4rem;
  }
}

.has-large-font-size {
  font-size: 3.7333333vw;
}
@media screen and (min-width: 768px) {
  .has-large-font-size {
    font-size: 2rem;
  }
}

.has-extra-large-font-size {
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .has-extra-large-font-size {
    font-size: 2.2rem;
  }
}

.has-huge-font-size {
  font-size: 4.2666666vw;
}
@media screen and (min-width: 768px) {
  .has-huge-font-size {
    font-size: 2.6rem;
  }
}

.has-gigantic-font-size {
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .has-gigantic-font-size {
    font-size: 3rem;
  }
}

/* ==============================

WP PageNation

============================== */
.pagenationContainer {
  margin-bottom: 11.1111111111vw;
}
@media screen and (min-width: 768px) {
  .pagenationContainer {
    margin-bottom: 160px;
  }
}

.pagenation {
  position: relative;
  display: flex;
  justify-content: center;
  text-align: center;
  padding-bottom: 13vw;
}
@media screen and (min-width: 768px) {
  .pagenation {
    display: table;
    margin: 0 auto;
    padding: 0 240px;
  }
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 8vw;
  height: 8vw;
  margin: 0 1.6vw;
  padding-left: 0.1em;
  border: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .page-numbers {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 38px;
    margin: 0 10px;
  }
  .page-numbers:not(.dots):hover {
    color: #fff;
    background-color: #000;
  }
}
.page-numbers.dots {
  width: auto;
  margin: 0;
  border: none;
  -webkit-transform: translateY(-0.3em);
          transform: translateY(-0.3em);
}
.page-numbers.current {
  color: #fff;
  background: #000;
}
.page-numbers.prev, .page-numbers.next {
  position: absolute;
  bottom: 0;
  width: 42%;
  padding: 0 15px;
  background-repeat: no-repeat;
  background-size: 5.4222222222vw 1.5111111111vw;
}
@media screen and (min-width: 768px) {
  .page-numbers.prev, .page-numbers.next {
    bottom: 1px;
    width: 200px;
    background-size: 30px 7px;
  }
  .page-numbers.prev::after, .page-numbers.next::after {
    opacity: 0;
    position: absolute;
    top: 50%;
    content: "";
    width: 30px;
    height: 7px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .page-numbers.prev:hover, .page-numbers.next:hover {
    background-image: none;
  }
}
.page-numbers.prev {
  left: 3.5555555556vw;
  justify-content: flex-end;
  background-image: url(../img/arrow_left_black.svg);
  background-position: left 2.3111111111vw top 50%;
}
@media screen and (min-width: 768px) {
  .page-numbers.prev {
    left: 0;
    margin-left: 0;
    text-align: right;
    background-position: left 15px top 50%;
  }
  .page-numbers.prev::after {
    left: 15px;
    background: url(../img/arrow_right_black.svg) no-repeat 50% 50%/contain;
  }
  .page-numbers.prev:hover::after {
    background-image: url(../img/arrow_left_white.svg);
    -webkit-animation-name: arrowAnimationLeft;
            animation-name: arrowAnimationLeft;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}
.page-numbers.next {
  right: 3.5555555556vw;
  justify-content: flex-start;
  background-image: url(../img/arrow_right_black.svg);
  background-position: right 2.3111111111vw top 50%;
}
@media screen and (min-width: 768px) {
  .page-numbers.next {
    right: 0;
    margin-right: 0;
    text-align: left;
    background-position: right 15px top 50%;
  }
  .page-numbers.next::after {
    right: 15px;
    background: url(../img/arrow_right_black.svg) no-repeat 50% 50%/contain;
  }
  .page-numbers.next:hover::after {
    background-image: url(../img/arrow_right_white.svg);
    -webkit-animation-name: arrowAnimationRight;
            animation-name: arrowAnimationRight;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}

/* ==============================

PRODUCT

============================== */
/*
PRODUCT LEAD
------------------------------ */
.productLead {
  background-image: url(../img/product/lead_img_sp.webp);
}
@media screen and (min-width: 768px) {
  .productLead {
    padding-right: 210px;
    background-image: url(../img/product/lead_img_pc.webp);
  }
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .productLead {
    background-image: url(../img/product/lead_img_pc@2x.webp);
  }
}

/*
PRODUCT MAIN TABS
------------------------------ */
.productMainTabs {
  display: flex;
}

.productMainTab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(25% + 1px);
  height: 14.2222222222vw;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.productMainTab:not(:last-child) {
  margin-right: -1px;
}
.productMainTab img {
  width: min(17.7777777778vw, 140px);
}
@media screen and (min-width: 768px) {
  .productMainTab {
    height: 120px;
  }
}
.productMainTab.-select {
  border-bottom: 1px solid #fff;
  cursor: default;
  z-index: 2;
}
.productMainTab.-select.tabKiyoragi {
  border-color: #c2954d;
}
.productMainTab.-select.tabIttetsu {
  border-color: #6a89a0;
}
.productMainTab.-select.tabGantetsu {
  border-color: #9f3a16;
}
.productMainTab.-select.tabTesshin {
  border-color: #8d8d8e;
}
.productMainTab.-select::after {
  position: absolute;
  left: 0;
  bottom: -1px;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.productMainTab:hover.tabKiyoragi {
  background-color: rgba(194, 149, 77, 0.1);
}
.productMainTab:hover.tabIttetsu {
  background-color: rgba(106, 137, 160, 0.1);
}
.productMainTab:hover.tabGantetsu {
  background-color: rgba(159, 58, 22, 0.1);
}
.productMainTab:hover.tabTesshin {
  background-color: rgba(141, 141, 142, 0.1);
}
.productMainTab:hover.-select {
  background-color: #fff;
}

.bottomTabs {
  margin-top: -2px;
}
.bottomTabs .productMainTab {
  border-top: none;
  border-bottom: 1px solid #ccc;
}
.bottomTabs .productMainTab.-select {
  z-index: 2;
}
.bottomTabs .productMainTab.-select.tabKiyoragi {
  border-color: #c2954d;
}
.bottomTabs .productMainTab.-select.tabIttetsu {
  border-color: #6a89a0;
}
.bottomTabs .productMainTab.-select.tabGantetsu {
  border-color: #9f3a16;
}
.bottomTabs .productMainTab.-select.tabTesshin {
  border-color: #8d8d8e;
}
.bottomTabs .productMainTab.-select::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
}

/*
PRODUCT MAIN BLOCK
------------------------------ */
.productMainBlock {
  position: relative;
  display: none;
  padding: 6.2222222222vw 4.4444444444vw;
  border-width: 1px;
  border-style: solid;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .productMainBlock {
    padding: 50px;
  }
}
@media screen and (min-width: 1541px) {
  .productMainBlock {
    padding-right: 70px;
    padding-left: 70px;
  }
}
.productMainBlock#kiyoragi {
  border-color: #c2954d;
}
.productMainBlock#ittetsu {
  border-color: #6a89a0;
}
.productMainBlock#gantetsu {
  border-color: #9f3a16;
}
.productMainBlock#tesshin {
  border-color: #8d8d8e;
}
.productMainBlock.-show {
  display: block;
  -webkit-animation-name: productTabAnimation;
          animation-name: productTabAnimation;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes productTabAnimation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes productTabAnimation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*
PRODUCT HEAD（各プロダクト 共通部分）
------------------------------ */
.productHead {
  position: relative;
  display: grid;
  grid-template-columns: 43% 57%;
  grid-template-rows: auto auto auto;
  grid-template-areas: "productHead_image productHead_name" "productHead_text productHead_text" "productHead_menu productHead_menu";
  gap: 0;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .productHead {
    grid-template-columns: 246px 303px auto;
    grid-template-rows: auto auto;
    grid-template-areas: "productHead_image productHead_name productHead_text" "productHead_image productHead_menu productHead_menu";
    align-items: flex-end;
  }
}
@media screen and (min-width: 1261px) {
  .productHead {
    grid-template-columns: min(19.4805194805vw, 300px) min(24.025974026vw, 370px) auto;
  }
}

.productHead_image {
  grid-area: productHead_image;
  margin-bottom: 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .productHead_image {
    align-content: flex-end;
    margin-bottom: 0;
  }
}

.productHead_name {
  grid-area: productHead_name;
  display: flex;
  justify-content: center;
}
.productHead_name img {
  width: 35.5555555556vw;
}
@media screen and (min-width: 768px) {
  .productHead_name {
    margin-right: 70px;
    margin-left: 50px;
  }
  .productHead_name img {
    width: 250px;
  }
}

.productHead_text {
  grid-area: productHead_text;
}
.productHead_text .button {
  margin: 4.4444444444vw auto 7.1111111111vw;
}
@media screen and (min-width: 768px) {
  .productHead_text .button {
    position: absolute;
    margin: 0;
    right: 0;
    bottom: 20px;
    z-index: 2;
  }
}

.productHead_menu {
  grid-area: productHead_menu;
  position: relative;
}

/*
PRODUCT SUB TABS（各プロダクト内タブ）
------------------------------ */
.productSubTabs {
  display: flex;
  padding-right: 2.6666666667vw;
  padding-left: 2.6666666667vw;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
@media screen and (min-width: 768px) {
  .productSubTabs {
    margin-left: min(4.5454545455vw, 70px);
    padding-right: 230px;
    padding-left: 20px;
  }
}
#kiyoragi .productSubTabs {
  border-color: #c2954d;
}
#ittetsu .productSubTabs {
  border-color: #6a89a0;
}
#gantetsu .productSubTabs {
  border-color: #9f3a16;
}
#tesshin .productSubTabs {
  border-color: #8d8d8e;
}

.productSubTab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(33.33% + 1px);
  height: 8.8888888889vw;
  margin-bottom: -1px;
  border-width: 1px;
  border-style: solid;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .productSubTab {
    height: 60px;
  }
}
.productSubTab:not(:last-child) {
  margin-right: -1px;
}
#kiyoragi .productSubTab {
  border-color: #c2954d;
}
#ittetsu .productSubTab {
  border-color: #6a89a0;
}
#gantetsu .productSubTab {
  border-color: #9f3a16;
}
#tesshin .productSubTab {
  border-color: #8d8d8e;
}
.productSubTab.-select::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
}
#kiyoragi .productSubTab.-select {
  color: #c2954d;
}
#ittetsu .productSubTab.-select {
  color: #6a89a0;
}
#gantetsu .productSubTab.-select {
  color: #9f3a16;
}
#tesshin .productSubTab.-select {
  color: #8d8d8e;
}
#kiyoragi .productSubTab:hover {
  background-color: rgba(194, 149, 77, 0.1);
}
#ittetsu .productSubTab:hover {
  background-color: rgba(106, 137, 160, 0.1);
}
#gantetsu .productSubTab:hover {
  background-color: rgba(159, 58, 22, 0.1);
}
#tesshin .productSubTab:hover {
  background-color: rgba(141, 141, 142, 0.1);
}
#kiyoragi .productSubTab:hover.-select, #ittetsu .productSubTab:hover.-select, #gantetsu .productSubTab:hover.-select, #tesshin .productSubTab:hover.-select {
  background-color: #fff;
}

.productBody {
  padding: 7.1111111111vw 0;
}

.productSubBlock {
  display: none;
}
.productSubBlock.-show {
  display: block;
  -webkit-animation-name: productTabAnimation;
          animation-name: productTabAnimation;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

/*
PRODUCT PFORMANCE（プロダクト・性能）
------------------------------ */
.performanceList {
  display: grid;
  grid-template-rows: repeat(4, auto);
  gap: 40px 0;
}
@media screen and (min-width: 768px) {
  .performanceList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 70px 50px;
  }
}
@media screen and (min-width: 1261px) {
  .performanceList {
    gap: 70px 70px;
  }
}

.performance {
  text-align: center;
}
.performance p {
  text-align: left;
}

.performance_item {
  display: inline-flex;
  align-items: flex-end;
  margin: 0 auto 1em;
  padding-bottom: 10px;
  font-size: 5.8666666vw;
  line-height: 1.2;
  border-bottom-width: 3px;
  border-bottom-style: solid;
}
.performance_item::before {
  content: "";
  display: inline-block;
  width: 8.8888888889vw;
  height: 8.8888888889vw;
  margin-right: 10px;
  background-repeat: no-repeat;
  background-position: left 0 bottom 0;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .performance_item {
    padding-bottom: 15px;
    font-size: 3rem;
    border-bottom-width: 5px;
  }
  .performance_item::before {
    width: 50px;
    height: 50px;
    margin-right: 20px;
  }
}
.performance_item.-iconTaishin::before {
  background-image: url(../img/product/ico_taishin.svg);
}
.performance_item.-iconTaika::before {
  background-image: url(../img/product/ico_taika.svg);
}
.performance_item.-iconShaon::before {
  background-image: url(../img/product/ico_shaon.svg);
}
.performance_item.-iconTaikyu::before {
  background-image: url(../img/product/ico_taikyu.svg);
}
#kiyoragi .performance_item {
  border-color: #c2954d;
}
#ittetsu .performance_item {
  border-color: #6a89a0;
}
#gantetsu .performance_item {
  border-color: #9f3a16;
}
#tesshin .performance_item {
  border-color: #8d8d8e;
}

.performance_heding {
  margin: 0 0 0.5em;
  font-size: 4vw;
  letter-spacing: -0.01em;
}
.performance_heding span {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .performance_heding {
    font-size: 2.6rem;
    letter-spacing: 0;
  }
}

.performance_text {
  margin-bottom: 1.2em;
  letter-spacing: 0.01em;
}

/*
PRODUCT SPEC（プロダクト・設備・仕様）
------------------------------ */
.productSubBlock_lead {
  font-size: 3.7333333vw;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .productSubBlock_lead {
    font-size: 3rem;
    text-align: center;
  }
}

.productSpecList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.2222222222vw 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .productSpecList {
    grid-template-columns: repeat(4, calc(25% - 37px));
    gap: 50px;
    justify-content: space-between;
  }
}
.productSpecList.-payment {
  display: block;
  background-color: rgba(229, 232, 234, 0.3);
  padding: 5em 0;
  text-align: center;
}

.productSpec_image {
  margin-bottom: 1em;
}

.productSpec_heding {
  margin-bottom: 0.6em;
  font-size: 3.7333333vw;
  letter-spacing: 0;
}
.productSpec_heding span {
  display: inline-block;
}
.productSpec_heding .specOption {
  font-size: 2.6666666vw;
}
@media screen and (min-width: 768px) {
  .productSpec_heding {
    font-size: 2rem;
  }
  .productSpec_heding .specOption {
    font-size: 1.6rem;
  }
}

.productSpec_text {
  letter-spacing: -0.02em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .productSpec_text {
    letter-spacing: 0;
  }
}

/*
PRODUCT DESIGN（プロダクト・デザイン）
------------------------------ */
.productDesign {
  position: relative;
}
.productDesign:not(:last-of-type) {
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .productDesign {
    display: grid;
    grid-template-columns: 420px auto;
    grid-template-rows: auto auto auto 1fr;
    gap: 0px 0px;
    grid-template-areas: "productDesign_name productDesign_gallery" "productDesign_summary productDesign_gallery" "productDesign_point productDesign_gallery" "productDesign_info productDesign_gallery";
  }
  .productDesign:not(:last-of-type) {
    padding-bottom: 120px;
  }
}

.productDesign_name {
  margin-bottom: 1em;
  font-size: 4.5333333vw;
}
.kiyoragiBlock .productDesign_name {
  color: #c2954d;
}
.ittetsuBlock .productDesign_name {
  color: #6a89a0;
}
.gantetsuBlock .productDesign_name {
  color: #9f3a16;
}
.tesshinBlock .productDesign_name {
  color: #8d8d8e;
}
@media screen and (min-width: 768px) {
  .productDesign_name {
    grid-area: productDesign_name;
    margin-bottom: 0;
    font-size: 4rem;
    line-height: 1.3;
  }
}

.productDesign_summary {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .productDesign_summary {
    grid-area: productDesign_summary;
  }
}

.productDesign_point {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .productDesign_point {
    grid-area: productDesign_point;
  }
}

.productDesign_pointHeding {
  margin-bottom: 0.5em;
  padding: 0.1em 0.5em 0.2em;
  color: #fff;
  line-height: 1;
}
.kiyoragiBlock .productDesign_pointHeding {
  background-color: #c2954d;
}
.ittetsuBlock .productDesign_pointHeding {
  background-color: #6a89a0;
}
.gantetsuBlock .productDesign_pointHeding {
  background-color: #9f3a16;
}
.tesshinBlock .productDesign_pointHeding {
  background-color: #8d8d8e;
}

.productDesign_pointList li {
  text-indent: -1em;
  padding-left: 1em;
}
.productDesign_pointList li::before {
  content: "◆";
}
.kiyoragiBlock .productDesign_pointList li::before {
  color: #c2954d;
}
.ittetsuBlock .productDesign_pointList li::before {
  color: #6a89a0;
}
.gantetsuBlock .productDesign_pointList li::before {
  color: #9f3a16;
}
.tesshinBlock .productDesign_pointList li::before {
  color: #8d8d8e;
}

.productDesign_gallery {
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .productDesign_gallery {
    grid-area: productDesign_gallery;
    margin-left: 50px;
  }
}

.productDesignGallery_main {
  position: relative;
  width: 100%;
  padding-top: 66.25%;
  overflow: hidden;
  margin-bottom: 10px;
}
.productDesignGallery_main img {
  position: absolute;
  top: 0;
  left: 0;
}

.productDesignGallery_thumbnail {
  display: grid;
  grid-template-columns: repeat(auto-fill, calc(25% - 4px));
  gap: 6px 4px;
  justify-content: space-between;
}
.productDesignGallery_thumbnail li {
  position: relative;
}
.productDesignGallery_thumbnail li.-active::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  border-width: 3px;
  border-style: solid;
}
.kiyoragiBlock .productDesignGallery_thumbnail li.-active::after {
  border-color: #c2954d;
}
.ittetsuBlock .productDesignGallery_thumbnail li.-active::after {
  border-color: #6a89a0;
}
.gantetsuBlock .productDesignGallery_thumbnail li.-active::after {
  border-color: #9f3a16;
}
.tesshinBlock .productDesignGallery_thumbnail li.-active::after {
  border-color: #8d8d8e;
}
.productDesignGallery_thumbnail li img {
  aspect-ratio: 16/11;
}

@media screen and (min-width: 768px) {
  .productDesign_info {
    grid-area: productDesign_info;
  }
}

.productDesignInfo {
  --dtWidth: 4.8em;
  display: flex;
  gap: 0;
  align-items: center;
  padding: 0.8em 0;
  letter-spacing: -0.025em;
  border-top: 1px solid #cbcbcb;
}
.productDesignInfo:last-of-type {
  border-bottom: 1px solid #cbcbcb;
}
.productDesignInfo dt {
  width: var(--dtWidth);
  padding-right: 0.6em;
  font-weight: 400;
  text-align: justify;
  text-justify: inter-ideograph;
  -moz-text-align-last: justify;
       text-align-last: justify;
}
.productDesignInfo dd {
  position: relative;
  width: calc(100% - var(--dtWidth));
  padding-left: 1.3em;
}
.productDesignInfo dd::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 0;
  height: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-style: solid;
  border-width: 0.8vw 0 0.8vw 1.0666666667vw;
  border-color: transparent transparent transparent #000;
}
@media screen and (min-width: 768px) {
  .productDesignInfo dd::before {
    border-width: 6px 0 6px 10px;
  }
}

/* ==============================

STYLE

============================== */
/*
STYLE LEAD
------------------------------ */
.styleLead {
  background-image: url(../img/style/lead_img_sp.webp);
}
@media screen and (min-width: 768px) {
  .styleLead {
    padding-right: 70px;
    background-image: url(../img/style/lead_img_pc.webp);
  }
}
@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .styleLead {
    background-image: url(../img/style/lead_img_pc@2x.webp);
  }
}

.styleComingSoon {
  width: calc(100% + 7.1111111111vw);
  margin-left: -3.5555555556vw;
  padding: 4.9777777778vw 0;
  border: 3px solid #e5e5e5;
  font-size: 3.7333333vw;
  text-align: center;
}
.styleComingSoon p:not(:last-of-type) {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .styleComingSoon {
    width: 100%;
    margin-left: 0;
    padding: 50px 70px;
    font-size: 1.8rem;
  }
  .styleComingSoon p:not(:last-of-type) {
    margin-bottom: 0.5em;
  }
}

/*
STYLE SEARCH（実例紹介の検索エリア）
------------------------------ */
.styleSearchBlock {
  --pcPadingY: 40px;
  position: relative;
  margin-bottom: 3.5555555556vw;
  padding: 4.9777777778vw 3.5555555556vw;
  border: 3px solid #e5e5e5;
}
@media screen and (min-width: 768px) {
  .styleSearchBlock {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
    padding: 50px var(--pcPadingY);
  }
}
@media screen and (min-width: 1261px) {
  .styleSearchBlock {
    --pcPadingY: min(3.6vw, 70px);
    padding-left: var(--pcPadingY);
    padding-right: var(--pcPadingY);
  }
}
@media screen and (min-width: 1541px) {
  .styleSearchBlock {
    --pcPadingY: 70px;
    padding-left: var(--pcPadingY);
    padding-right: var(--pcPadingY);
  }
}

.styleSearchLead {
  text-align: center;
  letter-spacing: -0.01em;
}
@media screen and (min-width: 768px) {
  .styleSearchLead {
    padding-bottom: 55px;
    text-align: left;
  }
}

.styleSearchLead_Heding {
  margin-bottom: 0.5em;
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .styleSearchLead_Heding {
    font-size: 2.2rem;
  }
}

.styleSearchLead_text {
  margin-bottom: 1em;
  padding: 0 1.7777777778vw;
}
@media screen and (min-width: 768px) {
  .styleSearchLead_text {
    max-width: 250px;
    margin-bottom: 0;
    padding: 0;
  }
}

.styleForm_items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 0 1.7777777778vw;
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .styleForm_items {
    gap: 0 min(2.987012987vw, 46px);
    margin-bottom: 0;
  }
}

.styleForm_itemHeding {
  margin-bottom: 1.7777777778vw;
  padding-bottom: 0.6em;
  text-align: center;
  border-bottom: 4px solid #000;
}
@media screen and (min-width: 768px) {
  .styleForm_itemHeding {
    margin-bottom: 0.5em;
  }
}

.styleItem {
  position: relative;
  display: block;
}
.styleItem:hover {
  background-color: #ddf1fa;
}
.styleItem:not(:last-child) {
  margin-bottom: -1px;
}

.styleItem_input {
  position: absolute;
  left: 0;
  opacity: 0;
  cursor: pointer;
}
.styleItem_input:checked + .styleItem_label {
  background-color: #ddf1fa;
  border-color: #46b2e6;
}
.styleItem_input:checked + .styleItem_label::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background-color: #46b2e6;
  z-index: 2;
}

.styleItem_label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 10.6666666667vw;
  padding: 0 0.2em;
  text-align: center;
  line-height: 1;
  letter-spacing: -0.01em;
  border: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .styleItem_label {
    width: 250px;
    height: 40px;
  }
}
@media screen and (min-width: 1261px) {
  .styleItem_label {
    width: min(19.84vw, 300px);
    height: 40px;
  }
}

input[id^=item03] + label {
  justify-content: start;
  padding-left: 3.2vw;
}
input[id^=item03] + label::before {
  content: "";
  display: inline-block;
  width: 3.5555555556vw;
  height: 3.5555555556vw;
  margin-right: 0.5em;
  background-repeat: no-repeat;
  background-position: left 0 top 50%;
  background-size: contain;
}
input[id^=item03] + label span {
  display: inline-block;
  margin-left: 0.5em;
  font-size: 1.7777777778vw;
}
@media screen and (min-width: 768px) {
  input[id^=item03] + label {
    padding-left: 52px;
  }
  input[id^=item03] + label::before {
    width: 20px;
    height: 20px;
  }
  input[id^=item03] + label span {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1261px) {
  input[id^=item03] + label {
    padding-left: min(4.6vw, 80px);
  }
}

#item03-1 + label::before {
  background-image: url(../img/style/ico_kiyoragi.svg);
}

#item03-2 + label::before {
  background-image: url(../img/style/ico_ittetsu.svg);
}

#item03-3 + label::before {
  background-image: url(../img/style/ico_gantetsu.svg);
}

#item03-4 + label::before {
  background-image: url(../img/style/ico_tesshin.svg);
}

.buttonStyleSearch {
  justify-content: center;
  width: 49.7777777778vw;
  height: 8.8888888889vw;
  margin: 0 auto;
  padding: 0;
  background: none;
}
.buttonStyleSearch svg {
  margin-right: 0.5em;
  width: 3.5555555556vw;
  height: 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .buttonStyleSearch {
    position: absolute;
    left: var(--pcPadingY);
    bottom: 50px;
    width: 250px;
    height: 40px;
    margin: 0;
  }
  .buttonStyleSearch svg {
    width: 20px;
    height: 20px;
    transition: 0.2s;
  }
  .buttonStyleSearch:hover svg {
    fill: #fff;
  }
}
@media screen and (min-width: 1261px) {
  .buttonStyleSearch {
    left: var(--pcPadingY);
  }
}

/*
STYLE LIST
------------------------------ */
.styleList {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto;
  gap: 4vw;
  margin-bottom: 7.1111111111vw;
  min-height: 5em;
}
@media screen and (min-width: 768px) {
  .styleList {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.9220779221vw, 45px);
    margin-bottom: 80px;
  }
}

.styleList_item {
  position: relative;
  display: block;
  border: 1px solid #ccc;
}
.styleList_item.-itemHidden {
  opacity: 0;
  display: none;
}
@media screen and (min-width: 768px) {
  .styleList_item {
    transition: 0.2s ease-in;
  }
  .styleList_item:hover {
    background-color: rgba(229, 232, 234, 0.3);
  }
  .styleList_item:hover .style_figure img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}
.styleList_item.-noItem {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  height: 3.6em;
  margin: auto;
  padding: 1em 5.0666666667vw;
  border: none;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .styleList_item.-noItem {
    width: 600px;
  }
  .styleList_item.-noItem:hover {
    background-color: #fff;
  }
}

.style_link::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
}

.icoNew {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.icoNew::before {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 14.2222222222vw 14.2222222222vw 0;
  border-color: transparent #46b2e6 transparent transparent;
}
.icoNew span {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  display: inline-block;
  width: 14.2222222222vw;
  height: 14.2222222222vw;
  color: #fff;
  line-height: 1;
  text-align: center;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
  .icoNew::before {
    border-width: 0 100px 100px 0;
  }
  .icoNew span {
    width: 100px;
    height: 100px;
  }
}

.style_figure {
  position: relative;
  width: 100%;
  padding-top: 70%;
  overflow: hidden;
}
.style_figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 1.2s;
}

.style_text {
  padding: 3.9111111111vw 2.6666666667vw 2.5em;
}
@media screen and (min-width: 768px) {
  .style_text {
    padding: 30px 34px 3.2em;
  }
}

.style_item {
  display: block;
  padding-bottom: 3.5555555556vw;
  text-align: center;
}
.style_item img {
  width: 28.6222222222vw;
  aspect-ratio: 193/30;
}
@media screen and (min-width: 768px) {
  .style_item {
    padding-bottom: 20px;
    text-align: left;
  }
  .style_item img {
    width: 193px;
  }
}

.style_heding {
  letter-spacing: -0.15em;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .style_heding {
    letter-spacing: 0;
  }
}

.style_date {
  position: absolute;
  right: 2.6666666667vw;
  bottom: 1em;
  font-size: 2.6666666vw;
}
@media screen and (min-width: 768px) {
  .style_date {
    right: inherit;
    left: 34px;
    bottom: 1.2em;
    font-size: 1.4rem;
  }
}

.styleMore {
  margin: 0 auto;
  text-align: center;
}

.styleMore_button {
  display: inline-flex;
  justify-content: center;
  padding: 0;
  background: none;
}
.styleMore_button svg {
  margin-right: 0.5em;
  width: 3.5555555556vw;
  height: 3.5555555556vw;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .styleMore_button {
    width: 250px;
  }
  .styleMore_button svg {
    width: 20px;
    height: 20px;
  }
  .styleMore_button:hover svg {
    fill: #fff;
  }
}

.bottomLinks {
  margin-top: 40px;
  padding: 40px 5.3333333333vw 0;
  text-align: center;
  background: url(../img/line_horizontal_sp.svg) no-repeat 50% 0/94vw 0.2vw;
}
@media screen and (min-width: 768px) {
  .bottomLinks {
    margin-top: 80px;
    padding: 80px 0 0;
    background: url(../img/line_horizontal_pc.svg) no-repeat 50% 0/1440px 1.4px;
  }
}

.bottomLinks_items {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .bottomLinks_items {
    gap: 60px;
    justify-content: center;
    align-items: flex-end;
  }
}

.bottomLinks_item .button {
  justify-content: center;
  width: 42.5vw;
  margin: 0 auto 20px;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .bottomLinks_item .button {
    width: 280px;
    margin-bottom: 60px;
    padding: 0 10px;
  }
}

.bottomLinks_itemText {
  margin-bottom: 0.8em;
  font-size: 2.4vw;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .bottomLinks_itemText {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}

.bottomLinks_outside {
  margin-top: 3vw;
  border-top: 1px solid #e6e6e6;
  line-height: 1;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .bottomLinks_outside {
    margin-top: 0;
    border-top: none;
    grid-template-columns: repeat(3, 220px);
    justify-content: center;
  }
}

/* バナー版 */
/*
STYLE SINGLE
------------------------------ */
.styleArticle_head {
  padding: 0 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .styleArticle_head {
    padding: 0;
  }
}

.styleHeadMeta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .styleHeadMeta {
    align-items: flex-start;
  }
}

.styleHeadMeta_product {
  width: 28.6222222222vw;
}
@media screen and (min-width: 768px) {
  .styleHeadMeta_product {
    width: 322px;
  }
}

.styleHeadMeta_date {
  font-size: 2.6666666vw;
}
@media screen and (min-width: 768px) {
  .styleHeadMeta_date {
    font-size: 1.7rem;
  }
}

.styleArticle_headTitle {
  font-size: 4.8vw;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .styleArticle_headTitle {
    font-size: 2.4rem;
  }
}

.styleArticle_gallery {
  margin-bottom: 8vw;
}
@media screen and (min-width: 768px) {
  .styleArticle_gallery {
    margin-bottom: 80px;
  }
}

@media screen and (min-width: 768px) {
  .styleGgallery {
    display: flex;
    justify-content: space-between;
    gap: 0 20px;
  }
}

.styleGallery_main {
  margin-bottom: 1.7777777778vw;
}
@media screen and (min-width: 768px) {
  .styleGallery_main {
    min-width: 916px;
    width: min(76.3888888vw, 1100px);
    margin-bottom: 0;
  }
}

.styleGallery_thumbnail {
  position: relative;
  padding: 0 13.3333333333vw;
  background: url(../img/style/gallery_thumbnail_bg_arrow_sp.svg) no-repeat left 50% bottom 0/auto 100%;
}
.styleGallery_thumbnailItem {
  position: relative;
  margin: 0 0.8888888889vw;
}
@media screen and (min-width: 768px) {
  .styleGallery_thumbnail {
    min-width: 266px;
    width: 266px;
    padding: 0;
    background: url(../img/style/gallery_thumbnail_bg_arrow_pc.svg) no-repeat left 50% bottom 0/100%;
  }
  .styleGallery_thumbnailItem {
    margin: 0 0 20px;
  }
}
@media screen and (min-width: 1261px) {
  .styleGallery_thumbnail {
    width: min(22.2222222vw, 320px);
    background-position: left 50% bottom 0;
  }
}
@media screen and (min-width: 1541px) {
  .styleGallery_thumbnail {
    background-position: left 50% bottom 0;
  }
}

.styleGallery_mainItem img,
.styleGallery_thumbnailItem img {
  width: 100%;
  height: auto;
  aspect-ratio: 293/220;
  -o-object-fit: cover;
     object-fit: cover;
}

.styleGallery_thumbnail {
  /* Arrows */
  /* Current */
}
.styleGallery_thumbnail .slick-prev,
.styleGallery_thumbnail .slick-next {
  display: flex;
  justify-content: center;
  align-items: center;
  top: 50%;
  width: 8.8888888889vw;
  height: 100%;
  border: 1px solid #cbcbcb;
  background-color: #fff;
  box-shadow: 0px 0px 0px 4px rgb(255, 255, 255);
  opacity: 1;
}
.styleGallery_thumbnail .slick-prev::before,
.styleGallery_thumbnail .slick-next::before {
  width: 0;
  height: 0;
  border-style: solid;
  background: none;
}
@media screen and (min-width: 768px) {
  .styleGallery_thumbnail .slick-prev,
.styleGallery_thumbnail .slick-next {
    top: auto;
    bottom: -20px;
    width: calc(50% + 1px);
    height: 36px;
    box-shadow: none;
  }
  .styleGallery_thumbnail .slick-prev:focus,
.styleGallery_thumbnail .slick-next:focus {
    background-color: #fff;
  }
  .styleGallery_thumbnail .slick-prev:hover,
.styleGallery_thumbnail .slick-next:hover {
    background-color: #f7f7f7;
  }
}
@media screen and (min-width: 1261px) {
  .styleGallery_thumbnail .slick-prev,
.styleGallery_thumbnail .slick-next {
    height: min(2.8vw, 42px);
    bottom: -21px;
  }
}
.styleGallery_thumbnail .slick-prev::before {
  border-width: 1.3333333333vw 1.7777777778vw 1.3333333333vw 0;
  border-color: transparent #000 transparent transparent;
}
@media screen and (min-width: 768px) {
  .styleGallery_thumbnail .slick-prev {
    left: 0;
  }
  .styleGallery_thumbnail .slick-prev::before {
    border-width: 0 7px 10px 7px;
    border-color: transparent transparent #000 transparent;
  }
}
.styleGallery_thumbnail .slick-next::before {
  border-width: 1.3333333333vw 0 1.3333333333vw 1.7777777778vw;
  border-color: transparent transparent transparent #000;
}
@media screen and (min-width: 768px) {
  .styleGallery_thumbnail .slick-next {
    right: 0;
  }
  .styleGallery_thumbnail .slick-next::before {
    border-width: 10px 7px 0 7px;
    border-color: #000 transparent transparent transparent;
  }
}
.styleGallery_thumbnail .slick-current::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  border: 3px solid #46b1e5;
}
@media screen and (min-width: 768px) {
  .styleGallery_thumbnail .slick-current::after {
    border-width: 5px;
  }
}

.styleArticle_body {
  padding: 0 3.5555555556vw;
}
@media screen and (min-width: 768px) {
  .styleArticle_body {
    display: grid;
    grid-template-columns: 836px auto;
    grid-template-areas: "styleMain styleSide";
    gap: 44px;
    align-items: flex-start;
    padding: 0;
  }
}
@media screen and (min-width: 1261px) {
  .styleArticle_body {
    grid-template-columns: auto 320px;
  }
}
@media screen and (min-width: 1541px) {
  .styleArticle_body {
    gap: 60px;
  }
}

@media screen and (min-width: 768px) {
  .styleSide {
    grid-area: styleSide;
  }
}

.styleDataBlock {
  margin-bottom: 8vw;
  padding: 3.5555555556vw 4.4444444444vw;
  border: 3px solid #e4e4e4;
}
@media screen and (min-width: 768px) {
  .styleDataBlock {
    margin-bottom: 60px;
    padding: 40px 20px 30px;
    border-width: 5px;
  }
}

.styleDataBlock_heding {
  position: relative;
  padding-bottom: 0.5em;
  font-size: 4vw;
  text-align: center;
  border-bottom: 5px solid #000;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .styleDataBlock_heding {
    font-size: 1.6rem;
    border-bottom-width: 5px;
  }
}

.styleDataBlock_body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 3.5555555556vw;
  margin-top: -1px;
}
@media screen and (min-width: 768px) {
  .styleDataBlock_body {
    display: block;
  }
}

.styleData {
  --dtWidth: 5.8em;
  display: flex;
  gap: 0;
  align-items: center;
  padding: 1em 0;
  font-size: 2.6666666vw;
  letter-spacing: -0.025em;
  border-top: 1px solid #cbcbcb;
}
.styleData dt {
  width: var(--dtWidth);
  padding-right: 0.6em;
  font-weight: 400;
  text-align: justify;
  text-justify: inter-ideograph;
  -moz-text-align-last: justify;
       text-align-last: justify;
}
.styleData dd {
  position: relative;
  width: calc(100% - var(--dtWidth));
  padding-left: 1.3em;
}
.styleData dd::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 0;
  height: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-style: solid;
  border-width: 0.8vw 0 0.8vw 1.0666666667vw;
  border-color: transparent transparent transparent #000;
}
@media screen and (min-width: 768px) {
  .styleData {
    --dtWidth: 6.3em;
    padding: 0.6em 0;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
  .styleData dt {
    padding-right: 1em;
  }
  .styleData dd {
    padding-top: 0.1em;
  }
  .styleData dd::before {
    border-width: 6px 0 6px 8px;
  }
}

.sideLinks {
  display: none;
}
@media screen and (min-width: 768px) {
  .sideLinks {
    display: block;
    padding: 0 30px;
    text-align: center;
  }
}

.sideLinks_item .button {
  width: 100%;
  margin: 0 auto 20px;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .sideLinks_item .button {
    padding: 0 10px;
  }
}

.sideLinks_itemText {
  margin-bottom: 0.5em;
  font-size: 2.4vw;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .sideLinks_itemText {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}

@media screen and (min-width: 768px) {
  .styleMain {
    grid-area: styleMain;
  }
}

.styleArticle .article_footer {
  margin-top: 0;
  background: none;
}

/*
STYLE KANREN（関連する実例）
------------------------------ */
.relatedStyle {
  max-width: 1440px;
  margin: 40px auto 0;
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .relatedStyle {
    padding: 80px 0 0;
  }
}

.relatedStyle_heding {
  display: table;
  margin: 0 auto 1em;
  padding-bottom: 0.3em;
  border-bottom: 3px solid #000;
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .relatedStyle_heding {
    margin: 0 0 1em;
    font-size: 2.2rem;
  }
}

.styleTags {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  gap: 0 3.5555555556vw;
  margin: 0 0 1em;
  padding-top: 40px;
}
.styleTags.pcOnly {
  display: none;
}
@media screen and (min-width: 768px) {
  .styleTags.pcOnly {
    display: block;
    margin-bottom: 60px;
    padding: 0 30px;
  }
  .styleTags.spOnly {
    display: none;
  }
}

.styleTag {
  font-size: 2.6666666vw;
  border-bottom: 1px solid #cbcbcb;
  background: url(../img/ico_tag.svg) no-repeat left 0 top 50%/1.3333333333vw 2.1333333333vw;
}
.styleTag:nth-of-type(1), .styleTag:nth-of-type(2) {
  border-top: 1px solid #cbcbcb;
}
.styleTag a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0.4em 0 0.5em 1em;
}
@media screen and (min-width: 768px) {
  .styleTag {
    font-size: 1.4rem;
    line-height: 1.2;
    background-size: 10px 16px;
    transition: 0.2s ease-in;
  }
  .styleTag:nth-of-type(2) {
    border-top: none;
  }
  .styleTag a {
    padding-top: 0.6em;
    padding-bottom: 0.6em;
  }
  .styleTag:hover {
    background-color: rgba(230, 230, 230, 0.3);
  }
}

.styleTagIndexHeding {
  display: table;
  margin: 2em auto 1.5em;
  padding-bottom: 0.3em;
  border-bottom: 3px solid #000;
  font-size: 4.5333333vw;
}
@media screen and (min-width: 768px) {
  .styleTagIndexHeding {
    margin: 3em auto 2em;
    font-size: 2.2rem;
  }
}

.banner_image {
  width: 60%;
  margin: 0 auto;
  display: block;
  margin-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .banner_image {
    width: 80%;
    margin-bottom: 5.5rem;
  }
}

.office_group {
  margin-bottom: 1em;
}

.link_design {
  text-decoration: underline;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	プラグイン Contact Form 7 ラジオボタンを縦並びに変更
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.wpcf7-list-item {
  display: block !important;
  margin: 0 0 0 1em;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	プラグイン Speech Balloon 吹き出しの初期値をグレーに変更
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.liquid-speech-balloon-text {
  background-color: #f3f3f3;
  border: 1px solid #f3f3f3;
}

.liquid-speech-balloon-wrap:not(.liquid-speech-balloon-vertical) .liquid-speech-balloon-arrow {
  border-right: 10px solid #f3f3f3;
}

.liquid-speech-balloon-wrap.liquid-speech-balloon-right .liquid-speech-balloon-arrow {
  border-left: 10px solid #f3f3f3;
}

/* safari オーナーさまのカラム落ち防止 */
.liquid-speech-balloon-avatar::after {
  white-space: nowrap;
}

.footer_img {
  width: 50%;
  height: auto;
}

.header_img {
  width: 100%;
  height: auto;
}

.brand_link {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
  margin: 2em 1em 0 0;
}

/*# ESGレポート表示 */
.ESG_contents {
  display: flex;
  justify-content: center;
}

.ESG_display {
  margin-top: 3em;
  text-align: center;
  max-width: 350px;
}

.ESG_border {
  border: solid 1px #777777;
}

.ESG_text-link {
  padding-top: 1.5em;
}

.ESG_text-link-bk {
  padding-top: 2.2em;
}

.sample-table {
  border-collapse: collapse;
  border: 1px solid #000;
  line-height: 1.2;
}

.sample-th {
  border: 1px solid #000;
  font-weight: lighter;
  vertical-align: middle;
  padding: 15px;
}

.sample-th-top {
  border: 1px solid #000;
  font-weight: lighter;
  vertical-align: middle;
  text-align: center;
  padding: 15px;
}

.sample-td {
  border: 1px solid #000;
  vertical-align: middle;
  padding: 15px;
}

.sample-td-top {
  border: 1px solid #000;
  vertical-align: middle;
  text-align: center;
  padding: 15px;
}

.aboutLead {
  background-image: url(../img/about/lead_img_sp.jpg);
}
@media screen and (min-width: 768px) {
  .aboutLead {
    height: 400px;
    background-size: cover;
    background-image: url(../img/about/lead_img.jpg);
  }
}

.aboutLead_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  .aboutLead_inner {
    padding: 20px 0;
  }
}

.aboutLead_tagline {
  width: 76.53vw;
}
@media screen and (min-width: 768px) {
  .aboutLead_tagline {
    width: 442px;
  }
}

@media screen and (min-width: 768px) {
  .supportFlow_itemImage {
    padding-top: 52px;
  }
}

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

.supportFlow_itemNmber_sp {
  font-size: 4vw;
  padding-right: 0.2em;
}
@media screen and (min-width: 768px) {
  .supportFlow_itemNmber_sp {
    display: none;
  }
}

.company .main_title::after {
  height: 53.3333333333vw;
  background-image: url("/wp-content/themes/ard/assets/img/company/company_title_img_02_sp.jpg");
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .company .main_title::after {
    height: 400px;
    background-image: url("/wp-content/themes/ard/assets/img/company/company_title_img_02.jpg");
  }
}
.company .company_heading {
  margin: 3em 0 3.2vw;
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .company .company_heading {
    margin: 1.6em 0;
    font-size: 2.8rem;
  }
}
.company #csr .company_heading {
  margin: 0 0 3.2vw;
}
@media screen and (min-width: 768px) {
  .company #csr .company_heading {
    margin: 0 0 1.6em;
  }
}
.company .comanyHistory_button {
  display: flex;
  justify-content: center;
}
.company .comanyHistory_button .comanyHistory_button-link {
  width: 74.6666666667vw;
  height: auto;
  min-height: 56px;
  padding: 15px 10.6666666667vw 15px 4vw;
  border: 1px solid #000;
  aspect-ratio: 280/56;
  font-size: 4vw;
  line-height: 1.4;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .company .comanyHistory_button .comanyHistory_button-link {
    width: 385px;
    height: 80px;
    padding: 15px 55px 15px 40px;
    font-size: 1.8rem;
  }
}
.company .companyAccordion {
  margin-top: 15px;
}
.company .companyAccordion .companyAccordion_button {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 120px;
  padding: 5px clamp(25px, 6.6666666667vw, 50px) 5px 10px;
  border: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .company .companyAccordion .companyAccordion_button {
    min-width: 150px;
    padding: 9px 25px 9px 10px;
  }
}
.company .companyAccordion .companyAccordion_button::after {
  content: "";
  position: absolute;
  right: 10px;
  display: block;
  width: clamp(10px, 2.6666666667vw, 20px);
  height: clamp(10px, 2.6666666667vw, 20px);
  background-image: url("/wp-content/themes/ard/assets/img/ico_plus.svg");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .company .companyAccordion .companyAccordion_button::after {
    width: 10px;
    height: 10px;
  }
}
.company .companyAccordion .companyAccordion_button[aria-expanded=true]::after {
  height: clamp(1px, 0.2666666667vw, 2px);
  background-image: url("/wp-content/themes/ard/assets/img/ico_minus.svg");
}
.company .companyAccordion .companyAccordion_button > span {
  display: block;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .company .companyAccordion .companyAccordion_button > span {
    font-size: 1.3rem;
  }
}
.company .companyAccordion .companyAccordion_button.is-second {
  position: relative;
  top: 1.3em;
  right: clamp(-15px, -2.4vw, -9px);
  margin-top: -1.3em;
  margin-left: auto;
  min-width: 150px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .company .companyAccordion .companyAccordion_button.is-second {
    top: 30px;
    right: 0;
    margin-top: -30px;
  }
}
.company .companyAccordion .companyAccordion_contents {
  padding-top: 1em;
}
@media screen and (min-width: 768px) {
  .company .companyAccordion .companyAccordion_contents {
    padding-top: 30px;
  }
}
.company .companyAccordion .companyAccordion_contents .dotlineItem {
  display: block;
}
.company .companyAccordion .companyAccordion_contents .dotlineItem::after {
  content: none;
}
.company .companyCsr .companyCsr_col2 {
  display: flex;
  flex-direction: column;
  gap: 25px 100px;
}
@media screen and (min-width: 768px) {
  .company .companyCsr .companyCsr_col2 {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.company .companyCsr .ESG_display {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .company .companyCsr .ESG_display {
    flex-shrink: 0;
  }
}
.company .companyCsr .ESG_display img {
  max-width: 281px;
  margin: 0 auto;
}
.company .companyCsr .ESG_display .ESG_text-link .underlineLink::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: calc(100% - 30px);
  height: 1px;
  border-bottom: 1px solid;
  transition: 0.3s;
}
.company .companyCsr .ESG_display .ESG_text-link .underlineLink[target=_blank]::after {
  content: "";
  position: relative;
  top: 0.2em;
  display: inline-block;
  width: 5.0666666667vw;
  height: 3.3777777778vw;
  margin-left: 10px;
  border: none;
  background-image: url("/wp-content/themes/ard/assets/img/ico_blank.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .company .companyCsr .ESG_display .ESG_text-link .underlineLink[target=_blank]::after {
    top: 1px;
    width: 20px;
    height: 11px;
  }
}
@media screen and (min-width: 768px) {
  .company .companyCsr .ESG_display .ESG_text-link .underlineLink:hover::before {
    opacity: 0;
  }
  .company .companyCsr .ESG_display .ESG_text-link .underlineLink:hover::after {
    opacity: 1;
  }
}
.company .companyGovernance .companyGovernance_image {
  margin-top: 1.5em;
}
@media screen and (min-width: 768px) {
  .company .companyGovernance .companyGovernance_image {
    margin-top: 80px;
  }
}
.company .companyGovernance .companyGovernance_image + .companyGovernance_image {
  margin-top: 1.85em;
}
@media screen and (min-width: 768px) {
  .company .companyGovernance .companyGovernance_image + .companyGovernance_image {
    margin-top: 80px;
  }
}
.company .companyGovernance .companyGovernance_image .companyGovernance_image-title {
  font-size: 4vw;
  line-height: 1.4;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .company .companyGovernance .companyGovernance_image .companyGovernance_image-title {
    font-size: 1.4rem;
    margin-bottom: 22px;
  }
}

.company_history_main {
  margin-top: 10.6666666667vw;
  position: relative;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .company_history_main {
    margin-top: 80px;
    margin-bottom: 60px;
  }
}
.company_history_main::before {
  content: "";
  width: 1px;
  height: calc(100% - 9.3333333333vw);
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .company_history_main::before {
    height: 100%;
    width: 2px;
  }
}
.company_history_main::after {
  content: "";
  height: 8vw;
  display: block;
  background-image: linear-gradient(to bottom, black 1.3333333333vw, transparent 1.3333333333vw, transparent 1.3333333333vw);
  background-size: 100% 2.6666666667vw;
  background-repeat: repeat-y;
  width: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .company_history_main::after {
    height: 60px;
    bottom: -70px;
    background-image: linear-gradient(to bottom, black 10px, transparent 10px, transparent 10px);
    background-size: 100% 20px;
    width: 2px;
  }
}

.company_history_title {
  display: flex;
  gap: 6.6666666667vw;
}
@media screen and (min-width: 768px) {
  .company_history_title {
    gap: 160px;
  }
}
.company_history_title h2 {
  flex: 1;
  font-size: 3.4666666667vw;
  border: 1px solid #000;
  text-align: center;
  padding: 4px;
  font-weight: bold;
  margin-bottom: 4vw;
}
.company_history_title h2:first-child {
  background: #000;
  color: #fff;
}
.company_history_title h2:last-child {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .company_history_title h2 {
    font-size: 24px;
    margin-bottom: 21px;
  }
}

.company_history_era {
  position: relative;
}
.company_history_era::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #e6e6e6;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.company_history_era span {
  position: relative;
  font-size: 6.4vw;
  font-family: avenir;
  width: 21.3333333333vw;
  height: 10.6666666667vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .company_history_era span {
    font-size: 50px;
    width: 200px;
    height: 90px;
  }
}

.company_history_item_wrap {
  display: flex;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .company_history_item_wrap {
    gap: 200px;
  }
}

.company_history_item {
  flex: 1;
  padding: 2.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  .company_history_item {
    padding: 0;
  }
  .company_history_item:first-child {
    padding-right: 25px;
  }
  .company_history_item:nth-child(2) {
    padding-left: 25px;
  }
}
@media screen and (min-width: 768px) {
  .company_history_item dl > div {
    display: flex;
    flex-wrap: wrap;
  }
}
.company_history_item dl > div:nth-of-type(n+2) {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  .company_history_item dl > div:nth-of-type(n+2) {
    margin-top: 20px;
  }
}
.company_history_item dl dt {
  font-size: 3.2vw;
  font-weight: 500;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .company_history_item dl dt {
    font-size: 16px;
    width: 60px;
  }
}
.company_history_item dl dd {
  position: relative;
  font-size: 3.2vw;
  text-indent: -4vw;
  padding-left: 4vw;
}
.company_history_item dl dd.-bold {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .company_history_item dl dd {
    font-size: 16px;
    width: calc(100% - 60px);
    margin-left: auto;
    text-indent: -15px;
    padding-left: 15px;
  }
}
.company_history_item dl dd::before {
  content: "・";
  font-size: 16px;
  font-weight: bold;
}

.product .mainLead.productLead {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 53.3333333333vw;
  padding: 0 3.5555555556vw;
  background-image: url("/wp-content/themes/ard/assets/img/product/lead_img_02_sp.webp");
  background-size: cover;
  background-position: center left;
}
@media screen and (max-width: 767px) {
  .product .mainLead.productLead {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .product .mainLead.productLead {
    height: 400px;
    padding: 0 163px 0 0;
    background-image: url("/wp-content/themes/ard/assets/img/product/lead_img_02_pc.webp");
  }
}
.product .mainLead .productLead_inner {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .product .mainLead .productLead_inner {
    width: 46.6666666667vw;
  }
}
.product .mainLead .mainLeadHeding {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .product .mainLead .mainLeadHeding {
    line-height: 1.4;
  }
}
.product .mainLead .mainLeadHeding span:not([class]) {
  display: block;
}
@media screen and (max-width: 767px) {
  .product .mainLead .mainLeadHeding span:not([class]):last-child {
    margin-top: 10px;
  }
}
.product .mainLead .productLead_logo {
  display: block;
  width: 30.9333333333vw;
  height: auto;
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .product .mainLead .productLead_logo {
    width: 276px;
    margin-bottom: 40px;
  }
}
.product .productCopy {
  margin-bottom: 10.6666666667vw;
}
@media screen and (max-width: 767px) {
  .product .productCopy {
    padding: 0 3.5555555556vw;
  }
}
@media screen and (min-width: 768px) {
  .product .productCopy {
    margin-bottom: 60px;
  }
}
.product .performance .performance_item::before {
  content: none;
}
.product .productHead.-ver02 {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 {
    flex-direction: row;
    align-items: center;
    gap: 0 70px;
  }
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 .productHead_image {
    width: 100%;
    max-width: 515px;
  }
}
@media screen and (max-width: 767px) {
  .product .productHead.-ver02 .productHead_image {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    gap: 0 8vw;
  }
}
.product .productHead.-ver02 .productHead_image img {
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .product .productHead.-ver02 .productHead_image img {
    width: 35.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 .productHead_content {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 .productHead_name {
    justify-content: flex-start;
    margin-left: 9px;
    margin-right: 0;
  }
}
.product .productHead.-ver02 .productHead_name img {
  width: 30.9333333333vw;
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 .productHead_name img {
    width: 314px;
  }
}
@media screen and (max-width: 767px) {
  .product .productHead.-ver02 .productHead_name.pcOnly {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 .productHead_name.spOnly {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 .productHead_text {
    margin-top: 50px;
  }
}
.product .productHead.-ver02 .productHead_text .button {
  margin: 4.5333333333vw auto 4vw;
}
@media screen and (min-width: 768px) {
  .product .productHead.-ver02 .productHead_text .button {
    position: initial;
    margin: 40px 0 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .product .productBody {
    padding: 80px 0 30px;
  }
}

.style .mainLead.styleLead {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 53.3333333333vw;
  padding: 0 3.5555555556vw;
  background-image: url("/wp-content/themes/ard/assets/img/style/lead_img_02_sp.jpg");
  background-size: cover;
  background-position: center left;
}
@media screen and (max-width: 767px) {
  .style .mainLead.styleLead {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .style .mainLead.styleLead {
    height: 400px;
    padding: 0 124px 0 0;
    background-image: url("/wp-content/themes/ard/assets/img/style/lead_img_02_pc.jpg");
  }
}
.style .mainLead .styleLead_inner {
  padding-top: 0;
}
.style .mainLead .mainLeadHeding {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .style .mainLead .mainLeadHeding {
    line-height: 1.4;
  }
}
.style .mainLead .mainLeadHeding span:not([class]) {
  display: block;
}
@media screen and (max-width: 767px) {
  .style .mainLead .mainLeadHeding span:not([class]):last-child {
    margin-top: 10px;
  }
}
.style .styleTab_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto 2em;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .style .styleTab_list {
    margin: 0 0 50px;
  }
}
.style .styleTab_tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 10.6666666667vw;
  text-align: center;
  margin-right: -1px;
  border: 1px solid #ccc;
  border-bottom-color: #000;
}
.style .styleTab_tab:nth-of-type(3) .businessType_name, .style .styleTab_tab:nth-of-type(4) .businessType_name {
  letter-spacing: -0.1em;
}
.style .styleTab_tab.-tabActive {
  border: 1px solid #000;
  border-bottom-color: #fff;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .style .styleTab_tab {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 80px;
    text-align: center;
  }
  .style .styleTab_tab:nth-of-type(3) .styleTab_name, .style .styleTab_tab:nth-of-type(4) .styleTab_name {
    letter-spacing: -0.05em;
  }
  .style .styleTab_tab:hover {
    background-color: rgba(229, 232, 234, 0.3);
  }
  .style .styleTab_tab.-tabActive:hover {
    background-color: #fff;
  }
}
.style .styleTab_name {
  font-size: 2.6666666vw;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .style .styleTab_name {
    font-size: 2rem;
    line-height: 1;
  }
}

@-webkit-keyframes arrowAnimationDownS {
  0% {
    opacity: 1;
    top: 30%;
  }
  100% {
    opacity: 0;
    top: 80%;
  }
}
@keyframes arrowAnimationDownS {
  0% {
    opacity: 1;
    top: 30%;
  }
  100% {
    opacity: 0;
    top: 80%;
  }
}
.recruitLead {
  position: relative;
  margin-bottom: 0;
}
.recruitLead p {
  font-size: 8vw;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 4.5333333333vw;
  font-family: Avenir;
  font-weight: 500;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .recruitLead p {
    font-size: 60px;
    left: 110px;
  }
}

.recruitBanner {
  display: flex;
  flex-direction: column;
  margin-top: 10.6666666667vw;
  gap: 6.4vw;
}
@media screen and (min-width: 768px) {
  .recruitBanner {
    flex-direction: row;
    margin-top: 80px;
    gap: 60px;
  }
}
.recruitBanner .recruitBannerItem {
  position: relative;
  display: block;
}
@media screen and (min-width: 768px) {
  .recruitBanner .recruitBannerItem:nth-child(1):hover .button::after {
    background-image: url(../img/arrow_right_white.svg);
    -webkit-animation-name: arrowAnimationRightS;
            animation-name: arrowAnimationRightS;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}
.recruitBanner .recruitBannerItem:nth-child(2) .button_arrow {
  background-image: url(../img/arrow_down_black.svg);
  background-size: 2.1333333333vw 3.4666666667vw;
}
@media screen and (min-width: 768px) {
  .recruitBanner .recruitBannerItem:nth-child(2) .button_arrow {
    background-size: 8px 13px;
  }
}
.recruitBanner .recruitBannerItem:nth-child(2) .button_arrow::after {
  right: 2.1333333333vw;
  width: 2.1333333333vw;
  height: 3.4666666667vw;
  background-image: url(../img/arrow_down_white.svg);
  -webkit-animation-name: arrowAnimationDownS;
          animation-name: arrowAnimationDownS;
  background-position: 50% 50%;
  background-size: 2.1333333333vw auto;
}
@media screen and (min-width: 768px) {
  .recruitBanner .recruitBannerItem:nth-child(2) .button_arrow::after {
    right: 8px;
    width: 8px;
    height: 13px;
    background-size: 8px auto;
  }
}
@media screen and (min-width: 768px) {
  .recruitBanner .recruitBannerItem:nth-child(2):hover .button::after {
    background-image: url(../img/arrow_down_white.svg);
    -webkit-animation-name: arrowAnimationDownS;
            animation-name: arrowAnimationDownS;
    -webkit-animation-duration: 0.8s;
            animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
            animation-timing-function: cubic-bezier(0.41, 0.19, 0.36, 0.63);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }
}
@media screen and (min-width: 768px) {
  .recruitBanner .recruitBannerItem:hover .button {
    color: #fff;
    background-color: #000;
  }
}
.recruitBanner .contentsLinksText {
  position: absolute;
  top: 50%;
  left: 5.3333333333vw;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .recruitBanner .contentsLinksText {
    left: 60px;
  }
}
.recruitBanner .underlineHeding {
  font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .recruitBanner .underlineHeding {
    font-size: 22px;
  }
}
.recruitBanner .button.button_s {
  width: 32vw;
  height: 10.6666666667vw;
  font-size: 2.9333333333vw;
  line-height: 1.3;
}
.recruitBanner .button.button_s br {
  display: block;
}
@media screen and (min-width: 768px) {
  .recruitBanner .button.button_s {
    width: 205px;
    height: 30px;
    font-size: 13px;
  }
  .recruitBanner .button.button_s br {
    display: none;
  }
}

.recruitLinks {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10.6666666667vw;
  gap: 4vw;
}
@media screen and (min-width: 768px) {
  .recruitLinks {
    margin-top: 100px;
    gap: 30px;
  }
}
.recruitLinks .button {
  width: calc((100% - 4vw) / 2);
  height: 11.2vw;
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .recruitLinks .button {
    flex: 1;
    height: 60px;
    font-size: 16px;
  }
}
.recruitLinks .buttonOutsideApply {
  margin: 0;
}

.recruitMain {
  margin-top: 12vw;
  padding-top: 12vw;
  position: relative;
}
.recruitMain::before {
  content: "";
  width: calc(100% - 10.6666666667vw);
  height: 1px;
  background: #b0b0b0;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .recruitMain {
    margin-top: 100px;
    padding-top: 100px;
  }
  .recruitMain::before {
    width: 100%;
  }
}

.recruitHeading {
  font-size: 4.5333333333vw;
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .recruitHeading {
    font-size: 32px;
    margin-bottom: 60px;
  }
}

.recruitListItem:nth-child(n+2) {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .recruitListItem:nth-child(n+2) {
    margin-top: 12px;
  }
}
.recruitListItem.-isRecruiting {
  border: 1px solid #000;
}
.recruitListItem.-isRecruiting .recruitListTitle span::before {
  content: "現在募集中";
  background: #0039a0;
  color: #fff;
}
.recruitListItem.-recruitmentClosed {
  border: 1px solid #ededed;
}
.recruitListItem.-recruitmentClosed .recruitListTitle {
  pointer-events: none;
}
.recruitListItem.-recruitmentClosed .recruitListTitle span::before {
  content: "現在募集無";
  background: #ededed;
}

.recruitListTitle {
  padding: 0;
  position: relative;
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .recruitListTitle {
    padding: 40px 60px;
  }
}
.recruitListTitle span {
  padding: 7.4666666667vw 12vw 5.3333333333vw 4vw;
  font-size: 4.5333333333vw;
  display: block;
}
@media screen and (min-width: 768px) {
  .recruitListTitle span {
    padding: 0 25px 0 0;
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 22px;
  }
}
.recruitListTitle span::before {
  display: inline-block;
  font-size: 2.6666666667vw;
  width: 18.6666666667vw;
  height: 5.3333333333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -1px;
  left: -1px;
}
@media screen and (min-width: 768px) {
  .recruitListTitle span::before {
    font-size: 14px;
    width: 104px;
    height: 24px;
    position: initial;
    top: initial;
    left: initial;
  }
}
.recruitListTitle[aria-expanded]::before, .recruitListTitle[aria-expanded]::after {
  content: "";
  position: absolute;
  right: 4vw;
  top: 7.4666666667vw;
  width: 4vw;
  height: 4vw;
  transition: 0.3s;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .recruitListTitle[aria-expanded]::before, .recruitListTitle[aria-expanded]::after {
    right: 60px;
    top: 45px;
    width: 25px;
    height: 25px;
  }
}
.recruitListTitle[aria-expanded]::before {
  background-image: url(/wp-content/themes/ard/assets/img/ico_plus.svg);
}
.recruitListTitle[aria-expanded]::after {
  background-image: url(/wp-content/themes/ard/assets/img/ico_minus.svg);
  opacity: 0;
}
.recruitListTitle[aria-expanded=true]::before {
  opacity: 0;
}
.recruitListTitle[aria-expanded=true]::after {
  opacity: 1;
}

.recruitListContent {
  position: relative;
  padding: 0 4vw 15.2vw;
}
@media screen and (min-width: 768px) {
  .recruitListContent {
    padding: 0 60px 80px;
  }
}

.recruitListButtonClose {
  position: absolute;
  bottom: -1px;
  right: -1px;
  cursor: pointer;
}
.recruitListButtonClose::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4vw;
  width: 4vw;
  height: 1px;
  transition: 0.3s;
  z-index: 1;
  background: #000;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .recruitListButtonClose::after {
    right: 15px;
    width: 15px;
  }
  .recruitListButtonClose:hover::after {
    background: #fff;
  }
}

.recruitListContentTitle {
  font-weight: bold;
  font-size: 3.7333333333vw;
  margin-bottom: 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .recruitListContentTitle {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.recruitListContentTitle:nth-of-type(n + 2) {
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  .recruitListContentTitle:nth-of-type(n + 2) {
    margin-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  .recruitListContentList div {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #e6e6e6;
  }
  .recruitListContentList div:first-child {
    border-top: 1px solid #e6e6e6;
  }
}
.recruitListContentList dt,
.recruitListContentList dd {
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .recruitListContentList dt,
.recruitListContentList dd {
    font-size: 16px;
    padding: 16px 0;
  }
}
@media screen and (min-width: 768px) {
  .recruitListContentList dd {
    width: calc(100% - 150px);
  }
}
.recruitListContentList dt {
  background: #e6e6e6;
  padding: 0.8vw 1.6vw;
  margin: 3.2vw 0 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  .recruitListContentList dt {
    padding: 16px 0;
    background: none;
    margin: 0;
    width: 150px;
  }
}

.recruitEntryText {
  font-size: 4.2666666667vw;
  margin-top: 10.6666666667vw;
  text-align: center;
}
.recruitEntryText br {
  display: block;
}
@media screen and (min-width: 768px) {
  .recruitEntryText {
    font-size: 24px;
    margin-top: 100px;
  }
  .recruitEntryText br {
    display: none;
  }
}
.recruitEntryText + .recruitEntryButton {
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  .recruitEntryText + .recruitEntryButton {
    margin-top: 40px;
  }
}

.recruitEntryButton {
  width: 58.6666666667vw;
  height: 11.2vw;
  margin: 5.8666666667vw auto 0;
  justify-content: center;
  background-image: none;
  padding: 0 5.3333333333vw;
}
.recruitEntryButton::after {
  display: none;
}
@media screen and (min-width: 768px) {
  .recruitEntryButton {
    width: 380px;
    height: 80px;
    margin: 60px auto 0;
    padding: 0 20px;
  }
}

.recruit.contact .main_title::after {
  display: none;
}
.recruit.contact .contact_read {
  margin-top: 6vw;
  padding-left: 5.0666666667vw;
  padding-right: 5.0666666667vw;
}
@media screen and (min-width: 768px) {
  .recruit.contact .contact_read {
    margin-top: 40px;
  }
}
.recruit.contact p + .button.button_arrow {
  margin-top: 40px;
}
.recruit.contact [data-name=your-birthday] {
  position: relative;
}
.recruit.contact [data-name=your-birthday]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 7.2746666667vw;
  background: #e6e6e6;
}
@media screen and (min-width: 768px) {
  .recruit.contact [data-name=your-birthday]::before {
    height: 48px;
  }
}
.recruit.contact [data-name=your-birthday] input {
  padding: 0 0.8em;
  height: 100%;
  outline: none;
  height: 7.2746666667vw;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .recruit.contact [data-name=your-birthday] input {
    height: 48px;
  }
}
.recruit.contact [data-name=your-birthday] input + .wpcf7-not-valid-tip {
  width: 100%;
}
.recruit.contact [data-name=job-items] .wpcf7-list-item:nth-child(4), .recruit.contact [data-name=job-items] .wpcf7-list-item:nth-child(15) {
  display: none !important;
}

.businessDetail .leadImage {
  margin-top: 6.6666666667vw;
  position: relative;
}
.businessDetail .leadImage::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.57) 70%);
}
@media screen and (min-width: 768px) {
  .businessDetail .leadImage {
    margin-top: 50px;
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.55));
  }
}
.businessDetail .leadImage_text {
  font-size: 4.5333333333vw;
  color: #fff;
  position: absolute;
  right: 5.3333333333vw;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
  .businessDetail .leadImage_text {
    font-size: 3.2rem;
    right: 124px;
  }
}
.businessDetail .leadImage + .businessType {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .leadImage + .businessType {
    margin-top: 80px;
  }
}
.businessDetail .underlineHeding {
  text-align: left;
}
.businessDetail .underlineHeding .underline {
  display: inline-block;
}
.businessDetail .underlineHeding + .businessDetail_heding {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .underlineHeding + .businessDetail_heding {
    margin-top: 26px;
  }
}
.businessDetail .businessDetail_heding {
  margin-top: 12.8vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetail_heding {
    margin-top: 50px;
  }
}
.businessDetail .businessDetail_hedingMedium {
  font-size: 3.4666666667vw;
  margin-bottom: 5.3333333333vw;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetail_hedingMedium {
    font-size: 2rem;
    margin-bottom: 32px;
  }
}
.businessDetail .businessDetail_hedingSmall {
  font-size: 3.4666666667vw;
  margin-top: 3.7333333333vw;
  margin-bottom: 2.6666666667vw;
}
.businessDetail .businessDetail_hedingSmall:first-child {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetail_hedingSmall {
    font-size: 1.8rem;
    margin-top: 20px;
    margin-bottom: 16px;
  }
}
.businessDetail .businessDetail_hedingXSmall {
  font-size: 3.4666666667vw;
  margin-top: 2.6666666667vw;
  margin-bottom: 2.1333333333vw;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetail_hedingXSmall {
    font-size: 1.6rem;
    margin-top: 16px;
    margin-bottom: 10px;
  }
}
.businessDetail .businessDetail_imageHeading {
  font-size: 3.7333333333vw;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetail_imageHeading {
    font-size: 1.4rem;
    margin-bottom: 16px;
  }
}
.businessDetail .businessDetailCol2 {
  margin-top: 5.3333333333vw;
  display: flex;
  flex-direction: column;
  gap: 6.4vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailCol2 {
    margin-top: 30px;
    gap: 80px;
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailCol2_image {
    width: 690px;
  }
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailCol2_text {
    width: 670px;
  }
}
.businessDetail .businessDetailCol2 .slick-dotted.slick-slider {
  margin-bottom: 0;
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailCol2 .slick-dotted.slick-slider {
    padding-bottom: 80px;
  }
}
.businessDetail .businessDetailCol2 .slick-dots {
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
}
.businessDetail .siderWide {
  margin: 6.4vw auto 0;
}
@media screen and (min-width: 768px) {
  .businessDetail .siderWide {
    max-width: 1200px;
    margin: 60px auto 0;
  }
}
.businessDetail .siderWide .slick-dotted.slick-slider {
  margin-bottom: 0;
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .siderWide .slick-dotted.slick-slider {
    padding-bottom: 80px;
  }
}
.businessDetail .siderWide .slick-dots {
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
}
.businessDetail .businessDetailCol2Image {
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
  margin-top: 10.6666666667vw;
}
.businessDetail .businessDetailCol2Image > li {
  flex: 1;
}
.businessDetail .businessDetailCol2Image figcaption {
  font-size: 3.7333333333vw;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailCol2Image figcaption {
    font-size: 2rem;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailCol2Image {
    flex-direction: row;
    gap: 45px;
    margin-top: 60px;
  }
}
.businessDetail .businessDetailCol2Image + * {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailCol2Image + * {
    margin-top: 80px;
  }
}
.businessDetail .businessDetailImage {
  margin-top: 6.4vw;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailImage {
    margin-top: 60px;
  }
}
.businessDetail .businessDetailImage + * {
  margin-top: 12.8vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailImage + * {
    margin-top: 80px;
  }
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailImage.--middle {
    max-width: 1000px;
  }
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetailImage.--large {
    max-width: 1200px;
  }
}
.businessDetail .businessDetail_anchor {
  display: flex;
  border-left: 1px solid #000;
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetail_anchor {
    margin-top: 60px;
  }
}
.businessDetail .businessDetail_anchor > li {
  border-right: 1px solid #000;
  flex: 1;
}
.businessDetail .businessDetail_anchor > li a {
  width: 100%;
  min-height: 12vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/arrow_down_black.svg);
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: 2.1333333333vw auto;
  padding-bottom: 4.2666666667vw;
  font-weight: 500;
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  .businessDetail .businessDetail_anchor > li a {
    font-size: 1.8rem;
    min-height: 80px;
    background-size: 8px auto;
    padding-bottom: 16px;
    transition: 0.3s;
  }
  .businessDetail .businessDetail_anchor > li a:hover {
    background: #000;
    color: #fff;
    background-image: url(../img/arrow_down_white.svg);
    background-repeat: no-repeat;
    background-position: 50% 90%;
  }
}

.project .main_title::after {
  display: none;
}

.main_title {
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .main_title {
    margin: 60px 0 54px;
    padding: 0;
  }
}

.title::before {
  display: none;
}

.title_text {
  padding: 0;
  font-size: 7.4666666667vw;
}
@media screen and (min-width: 768px) {
  .title_text {
    font-size: 36px;
  }
}

.hedingRightButtons.opt-adjust {
  display: flex;
  justify-content: flex-end;
}
.hedingRightButtons.opt-adjust .button {
  width: calc((100% - 4vw) / 2);
  padding-right: 10.9333333333vw;
}
@media screen and (min-width: 768px) {
  .hedingRightButtons.opt-adjust .button {
    width: auto;
    padding-left: 28px;
    padding-right: 56px;
  }
}

.style_livli_lead {
  line-height: 1.3;
  font-weight: bold;
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .style_livli_lead {
    font-size: 20px;
  }
}

.style_livli_text {
  margin-top: 3.7333333333vw;
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .style_livli_text {
    margin-top: 20px;
    font-size: 16px;
  }
}

.styleList:not(:first-child) {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .styleList:not(:first-child) {
    margin-top: 60px;
  }
}

body.modal-open {
  overflow: hidden;
}

.modal {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100vw;
  background: rgba(0, 0, 0, 0.7);
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  z-index: 50000;
  overflow-y: scroll;
  opacity: 0;
}
.modal.is-active {
  opacity: 1;
  pointer-events: auto;
}

.modal__content {
  position: relative;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 6.9333333333vw 0;
}
@media screen and (min-width: 768px) {
  .modal__content {
    max-width: 980px;
    padding: 50px;
  }
}

.modal__close {
  position: absolute;
  top: 0;
  right: 1.6vw;
  width: 4.2666666667vw;
  height: 4.2666666667vw;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .modal__close {
    top: 0;
    right: 50px;
    width: 28px;
    height: 28px;
  }
}
.modal__close::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 4.2666666667vw;
  height: 4.2666666667vw;
  background: url(/wp-content/themes/ard/assets/img/style/ico_close.svg) no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 768px) {
  .modal__close::before {
    width: 28px;
    height: 28px;
    background-size: 100%;
  }
}

.style_photo-slider .slick-list {
  margin: 0 auto;
  width: 100%;
}

.style_photo-slider_item {
  width: 100%;
}

.style_photo-slider_image {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%;
}
.style_photo-slider_image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.style_photo-slider_nav {
  display: flex;
  justify-content: center;
}
.style_photo-slider_nav .slick-prev,
.style_photo-slider_nav .slick-next {
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 2.9333333333vw;
  height: 5.3333333333vw;
  -webkit-transform: translate(0);
          transform: translate(0);
}
@media screen and (min-width: 768px) {
  .style_photo-slider_nav .slick-prev,
.style_photo-slider_nav .slick-next {
    width: 15px;
    height: 27px;
  }
}
.style_photo-slider_nav .slick-prev::before,
.style_photo-slider_nav .slick-next::before {
  background-image: url(/wp-content/themes/ard/assets/img/style/ico_slider_arrow.svg);
  width: 100%;
  height: 100%;
}
.style_photo-slider_nav .slick-prev {
  left: 0;
}
.style_photo-slider_nav .slick-prev::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.style_photo-slider_nav .slick-next {
  right: 0;
}

.style_photo-slider_nav_inner {
  position: relative;
  padding: 0 10.9333333333vw;
}
@media screen and (min-width: 768px) {
  .style_photo-slider_nav_inner {
    padding: 0 55px;
  }
}
.style_photo-slider_nav_inner .slick-dots {
  position: static;
  display: flex;
  justify-content: center;
  right: 0;
  left: 0;
  bottom: -71px;
  margin: 0 auto;
  text-align: center;
}
.style_photo-slider_nav_inner .slick-dots li button {
  border-color: transparent;
}
.style_photo-slider_nav_inner .slick-dots li button::before {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  background-color: transparent;
  border: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .style_photo-slider_nav_inner .slick-dots li button::before {
    width: 20px;
    height: 20px;
  }
}
.style_photo-slider_nav_inner .slick-dots li button:hover::before {
  background-color: #fff;
}
.style_photo-slider_nav_inner .slick-dots li.slick-active button {
  border-color: #fff;
}
.style_photo-slider_nav_inner .slick-dots li.slick-active button::before {
  background-color: #fff;
}

.style_photo-link {
  display: block;
  position: relative;
}
.style_photo-link .style_figure::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  background-color: #fff;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .style_photo-link .style_figure::before {
    width: 40px;
    height: 40px;
  }
}
.style_photo-link .style_figure::after {
  content: "";
  display: block;
  position: absolute;
  right: 1.3333333333vw;
  bottom: 1.3333333333vw;
  width: 4vw;
  height: 4vw;
  background: url(/wp-content/themes/ard/assets/img/style/ico_search02.svg) no-repeat center;
  background-size: 100%;
  z-index: 11;
}
@media screen and (min-width: 768px) {
  .style_photo-link .style_figure::after {
    right: 8px;
    bottom: 8px;
    width: 23px;
    height: 23px;
  }
}

.style_name {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .style_name {
    font-size: 20px;
  }
}

.style_address {
  margin-top: 2.6666666667vw;
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .style_address {
    margin-top: 20px;
    font-size: 16px;
  }
}

.style_text.opt-narrow {
  padding-bottom: 4vw;
}
@media screen and (min-width: 768px) {
  .style_text.opt-narrow {
    padding-bottom: 30px;
  }
}

.property-management .underlineHeding {
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .property-management .underlineHeding {
    margin-bottom: 26px;
  }
}
.property-management .underlineHeding + .businessDetail_text {
  margin-top: 0;
}
.property-management .businessDetail_heding {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_heding {
    margin-top: 26px;
  }
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_text {
    margin-top: 80px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_fig {
    margin-top: 60px;
  }
}
.property-management .businessDetail_fig img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_fig.-fig01 img {
    max-width: 520px;
  }
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_fig.-fig02 img {
    max-width: 1000px;
  }
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_fig.-fig03 img {
    max-width: 992px;
  }
}
.property-management .businessDetail_boxWrapper {
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw 60px;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_boxWrapper {
    flex-direction: row;
  }
}
.property-management .businessDetail_boxWrapper .businessDetail_text {
  margin: 0;
}
.property-management .businessDetail_boxWrapper .businessDetail_heding {
  margin-top: 0;
}
.property-management .businessDetail_box {
  display: flex;
  flex-direction: column;
  border: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_box {
    width: calc(50% - 30px);
  }
}
.property-management .businessDetail_box .businessDetail_boxTitle {
  padding: 2.4vw 20px 1.8666666667vw;
  border-bottom: 1px solid #000;
  font-size: max(1.2rem, 3.4666666667vw);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_box .businessDetail_boxTitle {
    padding: 20px;
    font-size: 1.8rem;
  }
}
.property-management .businessDetail_box .businessDetail_boxTitle.-bg-black {
  background-color: #000;
  color: #fff;
}
.property-management .businessDetail_box .businessDetail_boxList {
  padding: 1.0666666667vw 5.3333333333vw 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_box .businessDetail_boxList {
    padding: 5px 30px;
  }
}
.property-management .businessDetail_box .businessDetail_boxList dt {
  flex-shrink: 0;
  width: max(100px, 26.6666666667vw);
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_box .businessDetail_boxList dt {
    width: 200px;
  }
}
.property-management .businessDetail_box .businessDetail_boxListItem {
  display: flex;
  gap: 0 8px;
  padding: 3.2vw 0;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_box .businessDetail_boxListItem {
    gap: 0;
    padding: 20px 0;
  }
}
.property-management .businessDetail_box .businessDetail_boxListItem:last-of-type {
  border-bottom: none;
}
.property-management .businessDetail_box .businessDetail_boxImg {
  padding: 4.2666666667vw 5.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .property-management .businessDetail_box .businessDetail_boxImg {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 25px 30px;
  }
}
.property-management .property-management_report {
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  .property-management .property-management_report {
    flex-direction: row;
    gap: 0 60px;
  }
  .property-management .property-management_report .businessDetail_fig {
    margin-top: 20px;
  }
}
.property-management .property-management_report .property-management_reportTitle {
  margin-bottom: 2.6666666667vw;
  font-size: max(1.2rem, 3.7333333333vw);
}
@media screen and (min-width: 768px) {
  .property-management .property-management_report .property-management_reportTitle {
    margin-bottom: 16px;
    font-size: 1.4rem;
  }
}
.property-management .property-management_support {
  display: flex;
  flex-direction: column;
  gap: 6.4vw 0;
}
@media screen and (min-width: 768px) {
  .property-management .property-management_support {
    flex-direction: row;
    justify-content: space-between;
    gap: 0 80px;
  }
  .property-management .property-management_support + .businessDetail_heding {
    margin-top: 46px;
  }
}
.property-management .property-management_support .property-management_supportSubTitle {
  display: inline-block;
  margin-bottom: 2.1333333333vw;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .property-management .property-management_support .property-management_supportSubTitle {
    margin-bottom: 10px;
  }
}
.property-management .property-management_support .property-management_supportSubTitle:not(:first-of-type) {
  margin-top: 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .property-management .property-management_support .property-management_supportSubTitle:not(:first-of-type) {
    margin-top: 20px;
  }
}
.property-management .property-management_support .property-management_supportList li {
  position: relative;
  padding-left: 3.2vw;
}
@media screen and (min-width: 768px) {
  .property-management .property-management_support .property-management_supportList li {
    padding-left: 16px;
  }
}
.property-management .property-management_support .property-management_supportList li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (min-width: 768px) {
  .property-management .property-management_support .property-management_supportImg {
    width: clamp(780px, 55.9523809524vw, 940px);
  }
}

.rebranding .businessDetail_heding {
  margin-top: 0;
}
.rebranding .businessDetail_text {
  margin-bottom: 12.8vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessDetail_text {
    margin-bottom: 60px;
  }
}
.rebranding .businessModel_rebranding01_textList_item:not(:first-child) {
  margin-top: 5.8666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding01_textList_item:not(:first-child) {
    margin-top: 30px;
  }
}
.rebranding .businessModel_rebranding01_textList_title {
  position: relative;
  padding-left: 8vw;
  line-height: 1.4;
  font-weight: 500;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding01_textList_title {
    padding-left: 40px;
    font-size: 18px;
  }
}
.rebranding .businessModel_rebranding01_textList_title > span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  background-color: #000;
  color: #fff;
  text-align: center;
  font-weight: normal;
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding01_textList_title > span {
    width: 25px;
    height: 25px;
    font-size: 16px;
  }
}
.rebranding .businessModel_rebranding01_textList_body {
  margin-top: 2.4vw;
  padding-left: 8vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding01_textList_body {
    margin-top: 15px;
    padding-left: 40px;
  }
}
.rebranding .businessModel_rebranding01_textList_body > p {
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding01_textList_body > p {
    font-size: 16px;
  }
}
.rebranding .businessModel_rebranding03 {
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding03 {
    margin-top: 60px;
  }
}
.rebranding .businessModel_rebranding03 .fig_note {
  margin-top: 3.7333333333vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding03 .fig_note {
    margin-top: 36px;
  }
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding03_fig-wrapper {
    display: flex;
    gap: 0 20px;
  }
}
.rebranding .businessModel_rebranding03_col + .businessModel_rebranding03_col {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding03_col + .businessModel_rebranding03_col {
    margin-top: 0;
  }
}
.rebranding .businessModel_rebranding03_title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 10.6666666667vw;
  border: 1px solid #000;
  background-color: #fff;
  font-family: avenir;
  text-align: center;
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding03_title {
    min-height: 48px;
    font-size: 20px;
  }
}
.rebranding .businessModel_rebranding03_title.opt-after {
  background-color: #000;
  color: #fff;
}
.rebranding .businessModel_rebranding03_fig {
  margin-top: 2.6666666667vw;
}
.rebranding .businessModel_rebranding03_fig02 {
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  .rebranding .businessModel_rebranding03_fig02 {
    margin-top: 40px;
  }
}
.rebranding .rebranding_point_fig {
  margin: 0 auto 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_fig {
    width: 545px;
    margin: 0 auto 20px;
  }
}
.rebranding .rebranding_point_concept {
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept {
    margin-top: 40px;
  }
  .rebranding .rebranding_point_concept > ol {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 45px;
  }
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept.opt-col04 > ol {
    gap: 20px 30px;
  }
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_item {
    width: calc(25% - 22.5px);
  }
}
.rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_itemInner {
  padding: 0 5.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_itemInner {
    padding: 0 25px 30px;
  }
}
.rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_number {
  width: 6.9333333333vw;
  height: 6.9333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_number {
    width: 30px;
    height: 30px;
  }
}
.rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_number > p > span:first-child {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_number > p > span:first-child {
    font-size: 17px;
  }
}
.rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_body {
  margin-top: 2.6666666667vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept.opt-col04 .rebranding_point_concept_body {
    margin-top: 15px;
  }
}
.rebranding .rebranding_point_concept_item + .rebranding_point_concept_item {
  margin-top: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_item + .rebranding_point_concept_item {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_item {
    width: calc(33.33% - 30px);
  }
}
.rebranding .rebranding_point_concept_itemInner {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 5.3333333333vw 5.3333333333vw;
  border: 1px solid #c9c9c9;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_itemInner {
    padding: 0 30px 30px;
  }
}
.rebranding .rebranding_point_concept_number {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: -1px;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  margin: 0 auto;
  background-color: #000;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_number {
    width: 60px;
    height: 60px;
  }
}
.rebranding .rebranding_point_concept_number > p {
  color: #fff;
  text-align: center;
  line-height: 1;
}
.rebranding .rebranding_point_concept_number > p > span {
  display: block;
}
.rebranding .rebranding_point_concept_number > p > span:first-child {
  font-size: 2.4vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_number > p > span:first-child {
    font-size: 11px;
  }
}
.rebranding .rebranding_point_concept_number > p > span:nth-child(2) {
  margin-top: 1.3333333333vw;
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_number > p > span:nth-child(2) {
    margin-top: 5px;
    font-size: 26px;
  }
}
.rebranding .rebranding_point_concept_title {
  margin-top: 3.7333333333vw;
  line-height: 1.3;
  text-align: center;
  font-weight: 500;
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_title {
    margin-top: 20px;
    font-size: 20px;
  }
}
.rebranding .rebranding_point_concept_body {
  margin-top: 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_concept_body {
    margin-top: 20px;
  }
}
.rebranding .rebranding_point_concept_body .weight-bold {
  font-weight: 500;
}
.rebranding .rebranding_point_result {
  position: relative;
  margin-top: 2.6666666667vw;
  padding-top: 7.4666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_result {
    margin-top: 20px;
    padding-top: 48px;
  }
}
.rebranding .rebranding_point_result::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 6.6666666667vw;
  height: 4.8vw;
  background: url(/wp-content/themes/ard/assets/img/business/rebranding_concept_arrow.svg) no-repeat center;
  background-size: 6.6666666667vw 4.8vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_result::before {
    width: 46px;
    height: 33px;
    background-size: 46px 33px;
  }
}
.rebranding .rebranding_point_result_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 22.6666666667vw;
  padding: 4.2666666667vw 5.3333333333vw;
  border: 1px solid #000;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_result_inner {
    min-height: 90px;
    padding: 20px 25px;
  }
}
.rebranding .rebranding_point_result_text01 {
  font-weight: 700;
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_result_text01 {
    font-size: 16px;
  }
}
.rebranding .rebranding_point_result_text01 > span {
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_result_text01 > span {
    font-size: 20px;
  }
}
.rebranding .rebranding_point_result_text02 {
  font-size: 3.2vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_point_result_text02 {
    font-size: 16px;
  }
}
.rebranding .rebranding_example_button {
  display: flex;
  justify-content: flex-end;
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example_button {
    margin-top: 40px;
  }
}
.rebranding .rebranding_example_button .button {
  width: auto;
  padding-right: 10.9333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example_button .button {
    padding-right: 56px;
  }
}
.rebranding .rebranding_example01 {
  margin-top: 12.8vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example01 {
    display: flex;
    flex-direction: row-reverse;
    margin-top: 70px;
  }
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example01_body {
    flex: 1;
  }
}
.rebranding .rebranding_example01_title {
  line-height: 1.4;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example01_title {
    font-size: 18px;
  }
}
.rebranding .rebranding_example01_text {
  margin-top: 2.6666666667vw;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example01_text {
    margin-top: 16px;
    font-size: 16px;
  }
}
.rebranding .rebranding_example01_fig {
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example01_fig {
    margin-top: 40px;
  }
}
.rebranding .rebranding_example01_mainFig {
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  .rebranding .rebranding_example01_mainFig {
    width: 38.89%;
    margin-top: 0;
    margin-right: 80px;
  }
}

.companyHealth_image {
	max-width: 800px;
}

.companyHealth_position {
  margin: 30px auto 0;
}

.companyHealth_image-title {
  font-size: 4vw;
  line-height: 1.4;
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .companyHealth_image-title {
    font-size: 1.4rem;
    margin-top: 80px;
  }
}

.privacy-link {
  text-decoration: underline;
}